From 9e286fee4367fe9cf27407fb14fb7e630cc249da Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Thu, 19 Nov 2015 17:13:55 +0200 Subject: [PATCH 1/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/source/components/_modals.less | 34 ++++++++++---------- lib/web/css/source/lib/_dropdowns.less | 4 +-- lib/web/css/source/lib/_grids.less | 14 ++++----- lib/web/css/source/lib/_icons.less | 15 ++++++--- lib/web/css/source/lib/_messages.less | 4 +-- lib/web/css/source/lib/_navigation.less | 8 ++--- lib/web/css/source/lib/_popups.less | 2 +- lib/web/css/source/lib/_tables.less | 4 +-- lib/web/css/source/lib/_typography.less | 26 ++++++++-------- lib/web/css/source/lib/_utilities.less | 36 ++++++++++++++-------- 10 files changed, 82 insertions(+), 65 deletions(-) diff --git a/lib/web/css/source/components/_modals.less b/lib/web/css/source/components/_modals.less index 756f6fd9caa73..c280d25c12f0b 100644 --- a/lib/web/css/source/components/_modals.less +++ b/lib/web/css/source/components/_modals.less @@ -56,16 +56,16 @@ } } .modal-inner-wrap { - background-color: @modal__background-color; - box-shadow: @modal__box-shadow; + .lib-css(background-color, @modal__background-color); + .lib-css(box-shadow, @modal__box-shadow); opacity: 1; pointer-events: auto; } } .lib-modal-slide() { - left: @modal-slide__first__indent-left; - z-index: @modal-slide__z-index; + .lib-css(left, @modal-slide__first__indent-left); + .lib-css(z-index, @modal-slide__z-index); &._show { .modal-inner-wrap { -webkit-transform: translateX(0); @@ -89,7 +89,7 @@ .lib-modal-popup() { left: 0; overflow-y: auto; - z-index: @modal-popup__z-index; + .lib-css(z-index, @modal-popup__z-index); &._show { .modal-inner-wrap { -webkit-transform: translateY(0); @@ -100,7 +100,7 @@ box-sizing: border-box; height: auto; left: 0; - margin: @modal-popup__indent-vertical auto; + .lib-css(margin, @modal-popup__indent-vertical auto); position: absolute; right: 0; -webkit-transform: translateY(-200%); @@ -111,7 +111,7 @@ transition-timing-function: ease; .lib-vendor-prefix-display(flex); .lib-vendor-prefix-flex-direction(column); - width: @modal-popup__width; + .lib-css(width, @modal-popup__width); } } @@ -129,7 +129,7 @@ body { .modals-overlay { &:extend(.abs-modal-overlay all); - z-index: @overlay__z-index; + .lib-css(z-index, @overlay__z-index); } .modal-slide, @@ -160,11 +160,11 @@ body { .modal-header, .modal-content, .modal-footer { - padding: 0 @modal-slide__padding @modal-slide__padding; + .lib-css(padding, 0 @modal-slide__padding @modal-slide__padding); } .modal-header { - padding-bottom: @modal-slide-header__padding-vertical; - padding-top: @modal-slide-header__padding-vertical; + .lib-css(padding-bottom, @modal-slide-header__padding-vertical); + .lib-css(padding-top, @modal-slide-header__padding-vertical); } } @@ -191,8 +191,8 @@ body { .modal-header, .modal-content, .modal-footer { - padding-left: @modal-popup__padding; - padding-right: @modal-popup__padding; + .lib-css(padding-left, @modal-popup__padding); + .lib-css(padding-right, @modal-popup__padding); } .modal-header, .modal-footer { @@ -200,13 +200,13 @@ body { .lib-vendor-prefix-flex-shrink(0); } .modal-header { - padding-bottom: @modal-popup__padding / 2.5; - padding-top: @modal-popup__padding; + .lib-css(padding-bottom, @modal-popup__padding / 2.5); + .lib-css(padding-top, @modal-popup__padding); } .modal-footer { margin-top: auto; - padding-bottom: @modal-popup__padding; - padding-top: @modal-popup__padding; + .lib-css(padding-bottom, @modal-popup__padding); + .lib-css(padding-top, @modal-popup__padding); } .modal-footer-actions { text-align: right; diff --git a/lib/web/css/source/lib/_dropdowns.less b/lib/web/css/source/lib/_dropdowns.less index b420eaabc342e..6dc880fbb9f19 100644 --- a/lib/web/css/source/lib/_dropdowns.less +++ b/lib/web/css/source/lib/_dropdowns.less @@ -577,12 +577,12 @@ } &:before { border: 6px solid; - border-color: transparent transparent @_dropdown-list-background transparent; + .lib-css(border-color, transparent transparent @_dropdown-list-background transparent); z-index: 99; } &:after { border: 7px solid; - border-color: transparent transparent @_dropdown-list-pointer-border transparent; + .lib-css(border-color, transparent transparent @_dropdown-list-pointer-border transparent); z-index: 98; } } diff --git a/lib/web/css/source/lib/_grids.less b/lib/web/css/source/lib/_grids.less index 8f6b2332588e1..45d8dff5832b0 100644 --- a/lib/web/css/source/lib/_grids.less +++ b/lib/web/css/source/lib/_grids.less @@ -173,7 +173,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); - padding-left: @calc-column-width; + .lib-css(padding-left, @calc-column-width); } .lib-post-pad( @@ -181,7 +181,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); - padding-right: @calc-column-width; + .lib-css(padding-right, @calc-column-width); } .lib-pre-push( @@ -189,7 +189,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); - margin-left: @calc-column-width; + .lib-css(margin-left, @calc-column-width); } .lib-post-push( @@ -197,7 +197,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)+@gutter-width) / @grid-width); - margin-right: @calc-column-width; + .lib-css(margin-right, @calc-column-width); } .lib-post-push-end( @@ -205,7 +205,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); - margin-right: @calc-column-width; + .lib-css(margin-right, @calc-column-width); } .lib-column-width( @@ -213,7 +213,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)-@gutter-width) / @grid-width); - width: @calc-column-width; + .lib-css(width, @calc-column-width); } .lib-column-gutter( @@ -228,5 +228,5 @@ @end-column: false ) when not (@end-column) { @calc-gutter-width: 100%*(@gutter-width/@grid-width); - margin-right: @calc-gutter-width; + .lib-css(margin-right, @calc-gutter-width); } diff --git a/lib/web/css/source/lib/_icons.less b/lib/web/css/source/lib/_icons.less index bbb43632541dc..dc1163bd27b79 100644 --- a/lib/web/css/source/lib/_icons.less +++ b/lib/web/css/source/lib/_icons.less @@ -287,15 +287,20 @@ @_icon-image-position-x, @_icon-image-position-y ) { + .lib-url-check(@_icon-image); + .lib-css(line-height, @_icon-image-height); .lib-css(margin, @_icon-image-margin); .lib-css(vertical-align, @_icon-image-vertical-align); - background: url(@_icon-image) no-repeat @_icon-image-position-x @_icon-image-position-y; + .lib-css(background-image, @lib-url-check-output); + background-position-x: @_icon-image-position-x; + background-position-y: @_icon-image-position-y; + background-repeat: no-repeat; content: ''; display: inline-block; ._lib-icon-image-size( - @_icon-image-width, - @_icon-image-height + @_icon-image-width, + @_icon-image-height ); } @@ -303,7 +308,7 @@ @_icon-image-position-x, @_icon-image-position-y ) { - background-position: @_icon-image-position-x @_icon-image-position-y; + .lib-css(background-position, @_icon-image-position-x @_icon-image-position-y); } ._lib-icon-image-size( @@ -319,7 +324,7 @@ @_icon-sprite-position-y, @_icon-sprite-grid ) { - background-position: -(@_icon-sprite-position-x*@_icon-sprite-grid) -(@_icon-sprite-position-y*@_icon-sprite-grid); + .lib-css(background-position, -(@_icon-sprite-position-x*@_icon-sprite-grid) -(@_icon-sprite-position-y*@_icon-sprite-grid)); } ._lib-icon-font( diff --git a/lib/web/css/source/lib/_messages.less b/lib/web/css/source/lib/_messages.less index d110d9f675052..3ed6d1cf03b81 100644 --- a/lib/web/css/source/lib/_messages.less +++ b/lib/web/css/source/lib/_messages.less @@ -226,13 +226,13 @@ and not (@_message-border-style = false) { ._lib-message-icon-lateral-border-radius( @_message-icon-position ) when (@_message-icon-position = left) and not (@message__border-radius = false) and not (@message__border-width = false) { - border-radius: (@message__border-radius - @message__border-width) 0 0 (@message__border-radius - @message__border-width); + .lib-css(border-radius, (@message__border-radius - @message__border-width) 0 0 (@message__border-radius - @message__border-width)); } ._lib-message-icon-lateral-border-radius( @_message-icon-position ) when (@_message-icon-position = right) and not (@message__border-radius = false) and not (@message__border-width = false) { - border-radius: 0 (@message__border-radius - @message__border-width) (@message__border-radius - @message__border-width) 0; + .lib-css(border-radius, 0 (@message__border-radius - @message__border-width) (@message__border-radius - @message__border-width) 0); } ._lib-message-icon-inner( diff --git a/lib/web/css/source/lib/_navigation.less b/lib/web/css/source/lib/_navigation.less index 39a740ef9e668..981a2606ebe14 100644 --- a/lib/web/css/source/lib/_navigation.less +++ b/lib/web/css/source/lib/_navigation.less @@ -103,7 +103,7 @@ } } > .level1 { - font-weight: @font-weight__semibold; + .lib-css(font-weight, @font-weight__semibold); } &.active, &.has-active { // ToDo UI: remove "has_active" here, when mobile navigation default open state is implemented @@ -115,7 +115,7 @@ .lib-css(color, @_nav-level0-item-color-active); .lib-css(text-decoration, @_nav-level0-item-text-decoration-active); span:not(.ui-menu-icon) { - margin-left: -@_submenu-item__active__border; + .lib-css(margin-left, -@_submenu-item__active__border); } } } @@ -143,7 +143,7 @@ transition: left .3s ease-out; > li { > a { - padding-left: @_nav__indent-side; + .lib-css(padding-left, @_nav__indent-side); } &:last-child { margin-bottom: 0; @@ -183,7 +183,7 @@ .level1 { &.active { > a { - padding-left: @_nav__indent-side - @_submenu-item__active__border; + .lib-css(padding-left, @_nav__indent-side - @_submenu-item__active__border); } } } diff --git a/lib/web/css/source/lib/_popups.less b/lib/web/css/source/lib/_popups.less index 17ec94c5cded4..9682003f429f7 100644 --- a/lib/web/css/source/lib/_popups.less +++ b/lib/web/css/source/lib/_popups.less @@ -168,7 +168,7 @@ right: 0; top: 0; &.active { - opacity: @_overlay-opacity; + .lib-css(opacity, @_overlay-opacity); filter: alpha(opacity=@_overlay-opacity-old); } } diff --git a/lib/web/css/source/lib/_tables.less b/lib/web/css/source/lib/_tables.less index 7bdc7bf7a5f27..4db8fde4e029d 100644 --- a/lib/web/css/source/lib/_tables.less +++ b/lib/web/css/source/lib/_tables.less @@ -400,7 +400,7 @@ @_table-responsive-cell-padding: @_table-responsive-cell-padding ); > tbody > tr > th { - background-color: @_table-th-background-color-responsive !important; + .lib-css(background-color, @_table-th-background-color-responsive ~'!important'); } } @@ -435,7 +435,7 @@ @_table-responsive-cell-padding: @_table-responsive-cell-padding ); > tbody > tr > th { - background-color: @_table-th-background-color-responsive !important; + .lib-css(background-color, @_table-th-background-color-responsive ~'!important'); } } diff --git a/lib/web/css/source/lib/_typography.less b/lib/web/css/source/lib/_typography.less index 7d64a4bbf1c1a..5fa0652d4297b 100644 --- a/lib/web/css/source/lib/_typography.less +++ b/lib/web/css/source/lib/_typography.less @@ -28,26 +28,26 @@ // Rem font size .lib-font-size(@sizeValue) when not (ispercentage(@sizeValue)) and not (@sizeValue = false) and (isunit(@sizeValue, @font-size-unit)) { - font-size: @sizeValue; + .lib-css(font-size, @sizeValue); } .lib-font-size(@sizeValue) when not (ispercentage(@sizeValue)) and not (@sizeValue = false) and (isunit(@sizeValue, em)) { - font-size: @sizeValue; + .lib-css(font-size, @sizeValue); } .lib-font-size(@sizeValue) when not (ispercentage(@sizeValue)) and not (@sizeValue = false) and not (isunit(@sizeValue, em)) and not (isunit(@sizeValue, @font-size-unit)) { .lib-font-size-value(@sizeValue); - font-size: @fontValue; + .lib-css(font-size, @fontValue); } // Rem line height .lib-line-height(@heightValue) when not (@heightValue = false) and not (ispercentage(@heightValue)) { .lib-font-size-value(@heightValue); - line-height: @fontValue; + .lib-css(line-height, @fontValue); } .lib-line-height(@heightValue) when (ispercentage(@heightValue)) and not (@heightValue = false) { - line-height: @heightValue; + .lib-css(line-height, @heightValue); } .lib-wrap-words() { @@ -153,11 +153,11 @@ ); & { .lib-font-size-value(@@_margin-top); - margin-top: @fontValue; + .lib-css(margin-top, @fontValue); } & { .lib-font-size-value(@@_margin-bottom); - margin-bottom: @fontValue; + .lib-css(margin-bottom, @fontValue); } } @@ -179,11 +179,11 @@ p { & { .lib-font-size-value(@p__margin-top); - margin-top: @fontValue; + .lib-css(margin-top, @fontValue); } & { .lib-font-size-value(@p__margin-bottom); - margin-bottom: @fontValue; + .lib-css(margin-bottom, @fontValue); } } @@ -300,21 +300,21 @@ ol { & { .lib-font-size-value(@list__margin-top); - margin-top: @fontValue; + .lib-css(margin-top, @fontValue); } & { .lib-font-size-value(@list__margin-bottom); - margin-bottom: @fontValue; + .lib-css(margin-bottom, @fontValue); } //.lib-typography(@list__font-size__base, @list__color__base); > li { & { .lib-font-size-value(@list-item__margin-top); - margin-top: @fontValue; + .lib-css(margin-top, @fontValue); } & { .lib-font-size-value(@list-item__margin-bottom); - margin-bottom: @fontValue; + .lib-css(margin-bottom, @fontValue); } } ul, diff --git a/lib/web/css/source/lib/_utilities.less b/lib/web/css/source/lib/_utilities.less index 108d608f2a816..9f4855403ec6c 100644 --- a/lib/web/css/source/lib/_utilities.less +++ b/lib/web/css/source/lib/_utilities.less @@ -333,6 +333,18 @@ @url: "@{baseDir}@{_module}/@{_path}"; } +// +// Url existing check +// --------------------------------------------- + +.lib-url-check(@_path) { + @lib-url-check-output: @_path; +} + +.lib-url-check(@_path) when not (@_path = false) { + @lib-url-check-output: url(@_path); +} + // // Arrow // --------------------------------------------- @@ -352,28 +364,28 @@ @_position, @_color ) when (@_position = left) { - border-right-color: @_color; + .lib-css(border-right-color, @_color); } ._lib-abbor_el( @_position, @_color ) when (@_position = right) { - border-left-color: @_color; + .lib-css(border-left-color, @_color); } ._lib-abbor_el( @_position, @_color ) when (@_position = up) { - border-bottom-color: @_color; + .lib-css(border-bottom-color, @_color); } ._lib-abbor_el( @_position, @_color ) when (@_position = down) { - border-top-color: @_color; + .lib-css(border-top-color, @_color); } // @@ -385,20 +397,20 @@ @_input-placeholder-font-weight: @form-element-input__font-weight ) { &::-webkit-input-placeholder { - color: @_input-placeholder-color; - font-weight: @_input-placeholder-font-weight; + .lib-css(color, @_input-placeholder-color); + .lib-css(font-weight, @_input-placeholder-font-weight); } &:-moz-placeholder { - color: @_input-placeholder-color; - font-weight: @_input-placeholder-font-weight; + .lib-css(color, @_input-placeholder-color); + .lib-css(font-weight, @_input-placeholder-font-weight); } &::-moz-placeholder { - color: @_input-placeholder-color; - font-weight: @_input-placeholder-font-weight; + .lib-css(color, @_input-placeholder-color); + .lib-css(font-weight, @_input-placeholder-font-weight); } &:-ms-input-placeholder { - color: @_input-placeholder-color; - font-weight: @_input-placeholder-font-weight; + .lib-css(color, @_input-placeholder-color); + .lib-css(font-weight, @_input-placeholder-font-weight); } } From 1ae5e6fe14d2c443271c49b7ffb27abc07350304 Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Thu, 19 Nov 2015 18:36:39 +0200 Subject: [PATCH 2/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/source/lib/_popups.less | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/web/css/source/lib/_popups.less b/lib/web/css/source/lib/_popups.less index 9682003f429f7..418c2ffd0743f 100644 --- a/lib/web/css/source/lib/_popups.less +++ b/lib/web/css/source/lib/_popups.less @@ -169,7 +169,10 @@ top: 0; &.active { .lib-css(opacity, @_overlay-opacity); - filter: alpha(opacity=@_overlay-opacity-old); + + & when not (@_overlay-opacity-old = false) { + filter: alpha(opacity=@_overlay-opacity-old); + } } } From 823fae2e699b072408c4669e74972e418f15a2d0 Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Fri, 20 Nov 2015 18:53:37 +0200 Subject: [PATCH 3/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/docs/source/_utilities.less | 57 ++++++++++++++++++++++ lib/web/css/source/components/_modals.less | 9 ++-- lib/web/css/source/lib/_dropdowns.less | 4 +- lib/web/css/source/lib/_grids.less | 15 ++++++ lib/web/css/source/lib/_icons.less | 10 ++-- 5 files changed, 84 insertions(+), 11 deletions(-) diff --git a/lib/web/css/docs/source/_utilities.less b/lib/web/css/docs/source/_utilities.less index 728ef711cedb0..23a091026f201 100644 --- a/lib/web/css/docs/source/_utilities.less +++ b/lib/web/css/docs/source/_utilities.less @@ -367,3 +367,60 @@ // // // + +// # .lib-url-check() +// +// The .lib-url-check() mixin wraps variable with "url( ... )" and return @lib-url-check-output variable. Can be used with .lib-css() mixin. +// + +.example-url-check { + @_icon-image: '/image/test.png'; // set image path variable + + .lib-url-check(@_icon-image); // "call" the mixin + + .lib-css(background-image, @lib-url-check-output); // will return url('/image/test.png') +} + +// +// If the variable is set to false, the .lib-url-check() will return false. +// +// ``` +//
+// Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.. +//
+// ``` +// + +.example-url-check { + @_icon-image: false; // set usage image path to false + + .lib-url-check(@_icon-image); // "call" the mixin + + .lib-css(background-image, @lib-url-check-output); // will return 'false' and outputs nothing +} + +// ``` +//
+// Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.. +//
+// ``` +// + +// # .lib-css() variables +// +//
+//    
+//        
+//            
+//            
+//            
+//            
+//        
+//        
+//            
+//            
+//            
+//            
+//        
+//    
Mixin variableAllowed valuesOutput variableComment
@_path'' | false | value@lib-url-check-outputPassed url to wrapp in 'url( ... )'. If the 'false' value passed mixin will return 'false'.
+//
diff --git a/lib/web/css/source/components/_modals.less b/lib/web/css/source/components/_modals.less index c280d25c12f0b..9c880e20c4e27 100644 --- a/lib/web/css/source/components/_modals.less +++ b/lib/web/css/source/components/_modals.less @@ -97,10 +97,13 @@ } } .modal-inner-wrap { + .lib-css(margin, @modal-popup__indent-vertical auto); + .lib-css(width, @modal-popup__width); + .lib-vendor-prefix-display(flex); + .lib-vendor-prefix-flex-direction(column); box-sizing: border-box; height: auto; left: 0; - .lib-css(margin, @modal-popup__indent-vertical auto); position: absolute; right: 0; -webkit-transform: translateY(-200%); @@ -109,9 +112,7 @@ -webkit-transition-property: -webkit-transform, visibility; transition-property: transform, visibility; transition-timing-function: ease; - .lib-vendor-prefix-display(flex); - .lib-vendor-prefix-flex-direction(column); - .lib-css(width, @modal-popup__width); + } } diff --git a/lib/web/css/source/lib/_dropdowns.less b/lib/web/css/source/lib/_dropdowns.less index 6dc880fbb9f19..b09a7a7198b13 100644 --- a/lib/web/css/source/lib/_dropdowns.less +++ b/lib/web/css/source/lib/_dropdowns.less @@ -576,13 +576,13 @@ width: 0; } &:before { - border: 6px solid; .lib-css(border-color, transparent transparent @_dropdown-list-background transparent); + border: 6px solid; z-index: 99; } &:after { - border: 7px solid; .lib-css(border-color, transparent transparent @_dropdown-list-pointer-border transparent); + border: 7px solid; z-index: 98; } } diff --git a/lib/web/css/source/lib/_grids.less b/lib/web/css/source/lib/_grids.less index 45d8dff5832b0..a04d9b2ab698c 100644 --- a/lib/web/css/source/lib/_grids.less +++ b/lib/web/css/source/lib/_grids.less @@ -43,6 +43,7 @@ @end-column: false ) when (isnumber(@span)) and (isnumber(@total-columns)) and not (isnumber(@end-column)) { @showgutter: false; + .lib-column(@showgutter); .lib-span(@span, @total-columns); } @@ -53,6 +54,7 @@ @end-column: false ) when (isnumber(@span)) and (isnumber(@total-columns)) and (@end-column = true) { @showgutter: false; + .lib-column(@showgutter); .lib-span( @span, @@ -66,6 +68,7 @@ @end-column ) when (isnumber(@span)) and not (isnumber(@end-column)) { @showgutter: false; + .lib-column(@showgutter); .lib-span(@span); } @@ -75,6 +78,7 @@ @end-column ) when (isnumber(@span)) and ( @end-column = true ) { @showgutter: false; + .lib-column(@showgutter); .lib-span(@span); .lib-end-column(); @@ -101,6 +105,7 @@ @end-column: false ) when (isnumber(@span)) and (isnumber(@total-columns)) { @showgutter: false; + .lib-inline-column(@showgutter); .lib-span( @span, @@ -114,6 +119,7 @@ @end-column: false ) when (isnumber(@span)) and (@end-column = true) { @showgutter: false; + .lib-inline-column(@showgutter); .lib-span( @span, @@ -127,6 +133,7 @@ @end-column ) when not (isnumber(@end-column)) { @showgutter: false; + .lib-inline-column(@showgutter); .lib-span(@span); } @@ -136,6 +143,7 @@ @end-column ) when (@end-column = true) { @showgutter: false; + .lib-inline-column(@showgutter); .lib-span(@span); .lib-inline-end-column(); @@ -173,6 +181,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); + .lib-css(padding-left, @calc-column-width); } @@ -181,6 +190,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); + .lib-css(padding-right, @calc-column-width); } @@ -189,6 +199,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); + .lib-css(margin-left, @calc-column-width); } @@ -197,6 +208,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)+@gutter-width) / @grid-width); + .lib-css(margin-right, @calc-column-width); } @@ -205,6 +217,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width); + .lib-css(margin-right, @calc-column-width); } @@ -213,6 +226,7 @@ @total-columns: @total-columns ) { @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)-@gutter-width) / @grid-width); + .lib-css(width, @calc-column-width); } @@ -228,5 +242,6 @@ @end-column: false ) when not (@end-column) { @calc-gutter-width: 100%*(@gutter-width/@grid-width); + .lib-css(margin-right, @calc-gutter-width); } diff --git a/lib/web/css/source/lib/_icons.less b/lib/web/css/source/lib/_icons.less index dc1163bd27b79..9324daddc84f6 100644 --- a/lib/web/css/source/lib/_icons.less +++ b/lib/web/css/source/lib/_icons.less @@ -289,19 +289,19 @@ ) { .lib-url-check(@_icon-image); + .lib-css(background-image, @lib-url-check-output); .lib-css(line-height, @_icon-image-height); .lib-css(margin, @_icon-image-margin); .lib-css(vertical-align, @_icon-image-vertical-align); - .lib-css(background-image, @lib-url-check-output); + ._lib-icon-image-size( + @_icon-image-width, + @_icon-image-height + ); background-position-x: @_icon-image-position-x; background-position-y: @_icon-image-position-y; background-repeat: no-repeat; content: ''; display: inline-block; - ._lib-icon-image-size( - @_icon-image-width, - @_icon-image-height - ); } ._lib-icon-image-position( From d8d1683504c3a2b79f8102fd0001201badefa7eb Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Mon, 23 Nov 2015 12:11:07 +0200 Subject: [PATCH 4/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/docs/actions-toolbar.html | 183 ++++---- lib/web/css/docs/breadcrumbs.html | 121 ++--- lib/web/css/docs/buttons.html | 306 +++++++------ lib/web/css/docs/components.html | 23 +- lib/web/css/docs/docs.css | 139 +++--- lib/web/css/docs/docs.html | 81 ++-- lib/web/css/docs/dropdowns.html | 193 ++++---- lib/web/css/docs/forms.html | 202 +++++---- lib/web/css/docs/icons.html | 575 ++++++++++++------------ lib/web/css/docs/index.html | 4 +- lib/web/css/docs/layout.html | 149 +++--- lib/web/css/docs/lib.html | 4 +- lib/web/css/docs/loaders.html | 36 +- lib/web/css/docs/messages.html | 126 +++--- lib/web/css/docs/pages.html | 139 +++--- lib/web/css/docs/popups.html | 171 +++---- lib/web/css/docs/rating.html | 155 ++++--- lib/web/css/docs/resets.html | 4 +- lib/web/css/docs/responsive.html | 66 +-- lib/web/css/docs/sections.html | 85 ++-- lib/web/css/docs/source/_utilities.less | 28 +- lib/web/css/docs/tables.html | 268 ++++++----- lib/web/css/docs/tooltips.html | 50 ++- lib/web/css/docs/typography.html | 171 ++++--- lib/web/css/docs/utilities.html | 269 +++++++---- lib/web/css/docs/variables.html | 4 +- 26 files changed, 1950 insertions(+), 1602 deletions(-) diff --git a/lib/web/css/docs/actions-toolbar.html b/lib/web/css/docs/actions-toolbar.html index 8c16af9577196..2b8feca4bed9f 100644 --- a/lib/web/css/docs/actions-toolbar.html +++ b/lib/web/css/docs/actions-toolbar.html @@ -1,12 +1,12 @@ - - + + actions-toolbar | Magento UI Library -

Actions toolbar

+

Actions toolbar

Actions toolbar is a set of actions on a page, form and so on that includes primary and/or secondary actions. To customize action toolbar .lib-actions-toolbar() mixin is used. To implement the Actions toolbar use the following markup

@@ -29,13 +29,15 @@ </button> </div> </div> -
.actions-toolbar {
-    .lib-actions-toolbar();
-}
-
-.example-actions-toolbar-1 {
-    .lib-actions-toolbar();
-}

Actions toolbar mixin variables

+

+.actions-toolbar {
+    .lib-actions-toolbar();
+}
+
+.example-actions-toolbar-1 {
+    .lib-actions-toolbar();
+}
+

Actions toolbar mixin variables

     
@@ -146,29 +148,31 @@
           <a class="action back" href="#"><span>Back</span></a>
       </div>
   </div>
-
.example-actions-toolbar-2 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: justify
-    );
-}
-
-.example-actions-toolbar-3 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: left
-    );
-}
-
-.example-actions-toolbar-4 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: right
-    );
-}
-
-.example-actions-toolbar-5 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: center
-    );
-}

Reverse primary and secondary blocks

+

+.example-actions-toolbar-2 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: justify
+    );
+}
+
+.example-actions-toolbar-3 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: left
+    );
+}
+
+.example-actions-toolbar-4 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: right
+    );
+}
+
+.example-actions-toolbar-5 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: center
+    );
+}
+

Reverse primary and secondary blocks

@_actions-toolbar-actions-reverse variable controls reversing of primary and secondary blocks.

If it is set to false, the order of blocks in action toolbar is default.

If it is set to true, the order of blocks in action toolbar is reversed.

@@ -203,26 +207,28 @@ <a class="action back" href="#"><span>Back</span></a> </div> </div> -
.example-actions-toolbar-6 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: justify,
-        @_actions-toolbar-actions-reverse: true
-    );
-}
-
-.example-actions-toolbar-7 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: left,
-        @_actions-toolbar-actions-reverse: true
-    );
-}
-
-.example-actions-toolbar-8 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: right,
-        @_actions-toolbar-actions-reverse: true
-    );
-}

Actions toolbar indents customizations

+

+.example-actions-toolbar-6 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: justify,
+        @_actions-toolbar-actions-reverse: true
+    );
+}
+
+.example-actions-toolbar-7 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: left,
+        @_actions-toolbar-actions-reverse: true
+    );
+}
+
+.example-actions-toolbar-8 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: right,
+        @_actions-toolbar-actions-reverse: true
+    );
+}
+

Actions toolbar indents customizations

@_actions-toolbar-margin variable controls margins of the actions toolbar wrapper.

@_actions-toolbar-padding variable controls paddings of the actions toolbar wrapper.

-
.example-actions-toolbar-9 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-margin: 10px,
-        @_actions-toolbar-padding: 10px
-    );
-}
-
-.example-actions-toolbar-10 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: left,
-        @_actions-toolbar-primary-actions-margin: 0 50px 0 0
-    );
-}
-
-.example-actions-toolbar-11 {
-    .lib-actions-toolbar(
-        @_actions-toolbar-actions-position: left,
-        @_actions-toolbar-secondary-actions-margin: 0 50px 0 0
-    );
-}

Responsive actions toolbar

+

+.example-actions-toolbar-9 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-margin: 10px,
+        @_actions-toolbar-padding: 10px
+    );
+}
+
+.example-actions-toolbar-10 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: left,
+        @_actions-toolbar-primary-actions-margin: 0 50px 0 0
+    );
+}
+
+.example-actions-toolbar-11 {
+    .lib-actions-toolbar(
+        @_actions-toolbar-actions-position: left,
+        @_actions-toolbar-secondary-actions-margin: 0 50px 0 0
+    );
+}
+

Responsive actions toolbar

To set up responsive action toolbar, all floats of its elements should be cleared. To do this .lib-actions-toolbar-clear-floats() mixin is used.

-
.example-actions-toolbar-12 {
-    .lib-actions-toolbar();
-}
-
-@media only screen and (max-width: @screen__m) {
-    .example-actions-toolbar-12 {
-       .lib-actions-toolbar-clear-floats();
-    }
-}
+

+.example-actions-toolbar-12 {
+    .lib-actions-toolbar();
+}
+
+@media only screen and (max-width: @screen__m) {
+    .example-actions-toolbar-12 {
+       .lib-actions-toolbar-clear-floats();
+    }
+}
diff --git a/lib/web/css/docs/breadcrumbs.html b/lib/web/css/docs/breadcrumbs.html index a249790cc0f01..fcf2752f24381 100644 --- a/lib/web/css/docs/breadcrumbs.html +++ b/lib/web/css/docs/breadcrumbs.html @@ -1,12 +1,12 @@ - - + + breadcrumbs | Magento UI Library -
@@ -380,26 +382,28 @@ </li> </ul> </div> -
.example-breadcrumbs-2 {
-    .lib-breadcrumbs(
-        @_breadcrumbs-separator-symbol: '',
-        @_breadcrumbs-display: inline-block,
-        @_breadcrumbs-padding: 3px 5px,
-        @_breadcrumbs-link-border: 1px solid #ccc,
-        @_breadcrumbs-link-gradient: true,
-        @_breadcrumbs-link-gradient-direction: vertical,
-        @_breadcrumbs-link-gradient-color-start: #f4f4f4,
-        @_breadcrumbs-link-gradient-color-end: #ccc,
-        @_breadcrumbs-link-gradient-color-start-hover: #ccc,
-        @_breadcrumbs-link-gradient-color-end-hover: #f4f4f4,
-        @_breadcrumbs-link-text-decoration-hover: none,
-        @_breadcrumbs-current-color: #1979c3,
-        @_breadcrumbs-current-gradient: true,
-        @_breadcrumbs-current-gradient-color-start: #f7b32e,
-        @_breadcrumbs-current-gradient-color-end: #ff5501,
-        @_breadcrumbs-current-border: 1px solid #d04b0a
-    );
-}
+

+.example-breadcrumbs-3 {
+    .lib-breadcrumbs(
+        @_breadcrumbs-separator-symbol: '',
+        @_breadcrumbs-display: inline-block,
+        @_breadcrumbs-padding: 3px 5px,
+        @_breadcrumbs-current-background: #e7e7e7,
+        @_breadcrumbs-current-color: #333,
+        @_breadcrumbs-link-text-decoration-hover: none,
+        @_breadcrumbs-link-background: #f4f4f4,
+        @_breadcrumbs-link-background-hover: #ccc
+    );
+    .item a {
+        position: relative;
+        margin: 0 11px 0 0;
+        &:after {
+            .lib-arrow(right, 12px, #f4f4f4);
+            content: "";
+            position: absolute;
+            display: block;
+            top: 0;
+            right: -23px;
+        }
+        &:hover:after {
+            border-color: transparent transparent transparent #ccc;
+        }
+    }
+}
diff --git a/lib/web/css/docs/buttons.html b/lib/web/css/docs/buttons.html index 92bcd02dff921..1dd5bd6bf1ef8 100644 --- a/lib/web/css/docs/buttons.html +++ b/lib/web/css/docs/buttons.html @@ -1,12 +1,12 @@ - - + + buttons | Magento UI Library -

Default button

+

Default button

Default style for buttons is set by the .lib-button() mixin. The mixin is called in .lib-magento-reset() or it can be called directly.

Default button large

-
button {
-    .lib-button(@_button-margin: 3px);
-    border-radius: 3px;
-    &:active,
-    &:focus {
-        box-shadow: inset 0 2px 1px rgba(0,0,0,.12);
-    }
-}
-
-.example-button-1 {
-    &.example-button-2 {
-        .lib-button-l();
-    }
-    &.example-button-3 {
-        .lib-button-s();
-        border-radius: 0;
-        color: #000;
-        &:hover,
-        &.active {
-            color: #000;
-        }
-    }
-}

Button variables

+

+button {
+    .lib-button(@_button-margin: 3px);
+    border-radius: 3px;
+    &:active,
+    &:focus {
+        box-shadow: inset 0 2px 1px rgba(0,0,0,.12);
+    }
+}
+
+.example-button-1 {
+    &.example-button-2 {
+        .lib-button-l();
+    }
+    &.example-button-3 {
+        .lib-button-s();
+        border-radius: 0;
+        color: #000;
+        &:hover,
+        &.active {
+            color: #000;
+        }
+    }
+}
+

Button variables

     
@@ -317,15 +319,17 @@

Default button large

<button class="example-button-10 :active" type="button"> <span>Add to cart</span> </button> -
.example-button-10 {
-    .lib-button(
-        @_button-margin: 3px,
-        @_button-icon-use: true,
-        @_button-font-content: @icon-cart,
-        @_button-icon-font-text-hide: true
-    );
-    .lib-button-reset();
-}

Button with an icon on the left or right side of the text

+

+.example-button-10 {
+    .lib-button(
+        @_button-margin: 3px,
+        @_button-icon-use: true,
+        @_button-font-content: @icon-cart,
+        @_button-icon-font-text-hide: true
+    );
+    .lib-button-reset();
+}
+

Button with an icon on the left or right side of the text

@_button-icon-font-position variable is used to set up the icon postiton

Use before to set up button icon position on the left:

  @_button-icon-font-position: before
@@ -354,23 +358,25 @@

Default button large

<button class="example-button-12 disabled" type="button" title="Add to cart"> <span>Disabled</span> </button> -
.example-button-11 {
-    .lib-button(
-        @_button-margin: 3px,
-        @_button-icon-use: true,
-        @_button-font-content: @icon-cart,
-        @_button-icon-font-position: before
-    );
-}
-
-.example-button-12 {
-    .lib-button(
-        @_button-margin: 3px,
-        @_button-icon-use: true,
-        @_button-font-content: @icon-cart,
-        @_button-icon-font-position: after
-   );
-}

Button with fixed width

+

+.example-button-11 {
+    .lib-button(
+        @_button-margin: 3px,
+        @_button-icon-use: true,
+        @_button-font-content: @icon-cart,
+        @_button-icon-font-position: before
+    );
+}
+
+.example-button-12 {
+    .lib-button(
+        @_button-margin: 3px,
+        @_button-icon-use: true,
+        @_button-font-content: @icon-cart,
+        @_button-icon-font-position: after
+   );
+}
+

Button with fixed width

To get a fixed width button, you need to set:

  @_button-width: 100px
-
.example-button-13 {
-    .lib-button(@_button-width: 100px, @_button-margin: 3px);
-}

Primary button

+

+.example-button-13 {
+    .lib-button(@_button-width: 100px, @_button-margin: 3px);
+}
+

Primary button

The .lib-button-primary() mixin is used to create a primary button. By default it uses Primary button variables from _variables.less file.

Primary button big

-
.example-button-4 {
-    .lib-button-primary(
-        @_button-margin: 3px
-    );
-    &:active {
-        box-shadow: inset 0 3px 1px rgba(0,0,0,.29);
-    }
-    &.example-button-5 {
-        .lib-button-l(@_button-l-padding: 7px 35px);
-    }
-    &.example-button-6 {
-        .lib-button-s();
-        color: #fff;
-        &:hover,
-        &.active {
-            color: #fff;
-        }
-    }
-}

Primary button variables

+

+.example-button-4 {
+    .lib-button-primary(
+        @_button-margin: 3px
+    );
+    &:active {
+        box-shadow: inset 0 3px 1px rgba(0,0,0,.29);
+    }
+    &.example-button-5 {
+        .lib-button-l(@_button-l-padding: 7px 35px);
+    }
+    &.example-button-6 {
+        .lib-button-s();
+        color: #fff;
+        &:hover,
+        &.active {
+            color: #fff;
+        }
+    }
+}
+

Primary button variables

In the variables list primary buttons are configured with @button-primary prefix. So for example to configure primary button background you should use @_button-background variable of the mixin or @button-primarybackground of the global variables list.

     
@@ -567,49 +577,53 @@

Primary button big

-

Button with gradient background

+

Button with gradient background

The .lib-button() mixin can get its values from _variables.less file or directly

-
.example-button-7 {
-    .lib-button(
-        @_button-margin: 3px,
-        @_button-padding: @button__padding,
-        @_button-gradient-color-start: #1979c3,
-        @_button-gradient-color-end: #006bb4,
-        @_button-color: #fff,
-        @_button-gradient-color-start-hover: #006bb4,
-        @_button-gradient-color-end-hover: #1979c3,
-        @_button-color-hover: #fff,
-        @_button-gradient-color-start-active: #006bb4,
-        @_button-gradient-color-end-active: #006bb4,
-        @_button-color-active: #fff,
-        @_button-gradient: true,
-        @_button-gradient-direction: vertical,
-        @_button-border: @button-primary__border,
-        @_button-border-hover: @button-primary__hover__border,
-        @_button-border-active: @button-primary__active__border
-    );
-    border-radius: 3px;
-    &:active {
-        box-shadow: inset 0 3px 1px rgba(0,0,0,.29);
-    }
-}

Button reset

+

+.example-button-9 {
+    .lib-link-as-button();
+    .lib-button();
+    margin: 3px;
+    border-radius: 3px;
+    font-weight: bold;
+    &:active {
+        box-shadow: inset 0 3px 1px rgba(0,0,0,.29);
+    }
+}
+

Button reset

The .lib-button-reset() mixin is used to fully reset button styles.

-
.example-button-14 {
-    .lib-button-reset();
-}

Button revert secondary color

+

+.example-button-14 {
+    .lib-button-reset();
+}
+

Button revert secondary color

The .lib-button-revert-secondary-color() mixin is used to revert button styles (primary for example) to secondary color styles. Also can be passed any color, background and border if needed.

-
.example-button-15 {
-    .lib-button-primary();
-    .lib-button-revert-secondary-color();
-}

Button revert secondary color variables

+

+.example-button-15 {
+    .lib-button-primary();
+    .lib-button-revert-secondary-color();
+}
+

Button revert secondary color variables

     
@@ -742,22 +762,24 @@ 

Primary button big

-

Button revert secondary size

+

Button revert secondary size

The .lib-button-revert-secondary-size() mixin is used to revert button sizes to secondary button sizes. Also can be passed font-size, line-height and padding if needed.

-
.example-button-17 {
-    .lib-button-l();
-    .lib-button-revert-secondary-size();
-}
-.example-button-18 {
-    .lib-button-revert-secondary-size(
-        @_button-font-size: 10px,
-        @_button-line-height: 12px,
-        @_button-padding: 4px 10px
-    );
-}

Button revert secondary size variables

+

+.example-button-17 {
+    .lib-button-l();
+    .lib-button-revert-secondary-size();
+}
+.example-button-18 {
+    .lib-button-revert-secondary-size(
+        @_button-font-size: 10px,
+        @_button-line-height: 12px,
+        @_button-padding: 4px 10px
+    );
+}
+

Button revert secondary size variables

     
@@ -786,4 +808,4 @@ 

Primary button big

-
+
diff --git a/lib/web/css/docs/components.html b/lib/web/css/docs/components.html index d15bee6c7f43d..c4ba2b40ed9d3 100644 --- a/lib/web/css/docs/components.html +++ b/lib/web/css/docs/components.html @@ -1,12 +1,12 @@ - - + + components | Magento UI Library -

Components

+

Components

Components are complete ready-for-use parts both for Storefront or Admin area. They are not mixins, but classes. To use them, include this file with @import.

  @import 'components/_component.less';
@@ -70,7 +70,10 @@

Modal Slide

-
@import '../../source/components/_modals.less';

Components Variables

+

+@import '../../source/components/_modals.less';
+
+

Components Variables

     
@@ -147,4 +150,4 @@ 

Modal Slide

-
+
diff --git a/lib/web/css/docs/docs.css b/lib/web/css/docs/docs.css index fdfec900eb7db..0b15c82a4d574 100644 --- a/lib/web/css/docs/docs.css +++ b/lib/web/css/docs/docs.css @@ -1206,7 +1206,6 @@ body._has-modal { bottom: 0; left: 0; min-width: 0; - pointer-events: none; position: fixed; right: 0; top: 0; @@ -1289,10 +1288,17 @@ body._has-modal { transform: translateY(0); } .modal-popup .modal-inner-wrap { + margin: 5rem auto; + width: 75%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; box-sizing: border-box; height: auto; left: 0; - margin: 5rem auto; position: absolute; right: 0; -webkit-transform: translateY(-200%); @@ -1301,13 +1307,6 @@ body._has-modal { -webkit-transition-property: -webkit-transform, visibility; transition-property: transform, visibility; transition-timing-function: ease; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - width: 75%; } .modal-popup._inner-scroll { overflow-y: visible; @@ -1473,13 +1472,13 @@ body._has-modal { width: 0; } .example-dropdown-1 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-1 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-1 ul.dropdown:before { @@ -1592,13 +1591,13 @@ body._has-modal { width: 0; } .example-dropdown-2 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-2 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-2 ul.dropdown:before { @@ -1711,13 +1710,13 @@ body._has-modal { width: 0; } .example-dropdown-3 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-3 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-3 ul.dropdown:before { @@ -1962,13 +1961,13 @@ body._has-modal { width: 0; } .example-dropdown-6 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-6 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-6 ul.dropdown:before { @@ -2109,13 +2108,13 @@ body._has-modal { width: 0; } .split.example-dropdown-7 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .split.example-dropdown-7 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .split.example-dropdown-7 ul.dropdown:before { @@ -2265,13 +2264,13 @@ body._has-modal { width: 0; } .example-dropdown-8 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-8 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-8 ul.dropdown:before { @@ -2427,13 +2426,13 @@ body._has-modal { width: 0; } .example-dropdown-9 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-9 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-9 ul.dropdown:before { @@ -2589,13 +2588,13 @@ body._has-modal { width: 0; } .example-dropdown-10 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-10 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-10 ul.dropdown:before { @@ -2745,13 +2744,13 @@ body._has-modal { width: 0; } .example-dropdown-11 ul.dropdown:before { - border: 6px solid; border-color: transparent transparent #ffffff transparent; + border: 6px solid; z-index: 99; } .example-dropdown-11 ul.dropdown:after { - border: 7px solid; border-color: transparent transparent #bbbbbb transparent; + border: 7px solid; z-index: 98; } .example-dropdown-11 ul.dropdown:before { @@ -3420,25 +3419,31 @@ select { display: inline-block; } .example-icon-1:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-2 { display: inline-block; } .example-icon-2:after { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat -26px 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: -26px; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-3 { display: inline-block; @@ -3454,13 +3459,16 @@ select { width: 1px; } .example-icon-3:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat -156px -52px; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: -156px; + background-position-y: -52px; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-4 { display: inline-block; @@ -3530,25 +3538,31 @@ select { display: inline-block; } .example-icon-7:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-8 { display: inline-block; } .example-icon-8:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-8:before { background-position: -182px 0; @@ -3557,13 +3571,16 @@ select { display: inline-block; } .example-icon-9:after { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-9:after { background-position: -52px -26px; @@ -3572,13 +3589,16 @@ select { display: inline-block; } .example-icon-10:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-10:before { background-position: -104px 0px; @@ -3587,13 +3607,16 @@ select { display: inline-block; } .example-icon-11:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .example-icon-11:before { height: 30px; @@ -3686,13 +3709,16 @@ select { display: inline-block; } .icons-image-list li > span:before { + background-image: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png'); line-height: 26px; vertical-align: middle; - background: url('/pub/static/frontend/Magento/blank/en_US/images/blank-theme-icons.png') no-repeat 0 0; - content: ''; - display: inline-block; height: 26px; width: 26px; + background-position-x: 0; + background-position-y: 0; + background-repeat: no-repeat; + content: ''; + display: inline-block; } .icons-image-list li .icon-search:before { background-position: 0px 0px; @@ -8870,8 +8896,11 @@ cite { background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ccccff 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(255, 255, 255, 0)', endColorstr='#ccccff', GradientType=1); } +.example-url-check { + background: #eeeeee url('/images/test.png') no-repeat 0 0; +} body { padding: 15px; background-image: none; } -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL19yZXNwb25zaXZlLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3Jlc3BvbnNpdmUubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL191dGlsaXRpZXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fYWN0aW9ucy10b29sYmFyLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYWN0aW9ucy10b29sYmFyLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2JyZWFkY3J1bWJzLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYnJlYWRjcnVtYnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL190eXBvZ3JhcGh5Lmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9faWNvbnMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9faWNvbnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19idXR0b25zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYnV0dG9ucy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9jb21wb25lbnRzL19tb2RhbHMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fZHJvcGRvd25zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fZHJvcGRvd25zLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2Zvcm1zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fZm9ybXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fbG9hZGVycy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX2xvYWRlcnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL3ZhcmlhYmxlcy9fbG9hZGVycy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19tZXNzYWdlcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX21lc3NhZ2VzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2xheW91dC5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX2xheW91dC5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX2dyaWRzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3BhZ2VzLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fcGFnZXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fcG9wdXBzLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fcG9wdXBzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3JhdGluZy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3JhdGluZy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19zZWN0aW9ucy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3NlY3Rpb25zLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3RhYmxlcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3RhYmxlcy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL190b29sdGlwcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3Rvb2x0aXBzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3R5cG9ncmFwaHkubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fdXRpbGl0aWVzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvZG9jcy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlDSSx3QkFKcUQ7RUN0QnJEO0lBQ0ksZ0JBQUE7O0VBRUoseUJB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 */ \ No newline at end of file +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL19yZXNwb25zaXZlLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3Jlc3BvbnNpdmUubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL191dGlsaXRpZXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fYWN0aW9ucy10b29sYmFyLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYWN0aW9ucy10b29sYmFyLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2JyZWFkY3J1bWJzLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYnJlYWRjcnVtYnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL190eXBvZ3JhcGh5Lmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9faWNvbnMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9faWNvbnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19idXR0b25zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fYnV0dG9ucy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9jb21wb25lbnRzL19tb2RhbHMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fZHJvcGRvd25zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fZHJvcGRvd25zLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2Zvcm1zLmxlc3MiLCIvbGliL3dlYi9jc3Mvc291cmNlL2xpYi9fZm9ybXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fbG9hZGVycy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX2xvYWRlcnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL3ZhcmlhYmxlcy9fbG9hZGVycy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19tZXNzYWdlcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX21lc3NhZ2VzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX2xheW91dC5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX2xheW91dC5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19wYWdlcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3BhZ2VzLmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3BvcHVwcy5sZXNzIiwiL2xpYi93ZWIvY3NzL3NvdXJjZS9saWIvX3BvcHVwcy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL19yYXRpbmcubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL19yYXRpbmcubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fc2VjdGlvbnMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL19zZWN0aW9ucy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL190YWJsZXMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL190YWJsZXMubGVzcyIsIi9saWIvd2ViL2Nzcy9kb2NzL3NvdXJjZS9fdG9vbHRpcHMubGVzcyIsIi9saWIvd2ViL2Nzcy9zb3VyY2UvbGliL190b29sdGlwcy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL190eXBvZ3JhcGh5Lmxlc3MiLCIvbGliL3dlYi9jc3MvZG9jcy9zb3VyY2UvX3V0aWxpdGllcy5sZXNzIiwiL2xpYi93ZWIvY3NzL2RvY3Mvc291cmNlL2RvY3MubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q0ksd0JBSnFEO0VDdEJyRDtJQUNJLGdCQUFBOztFQUVKLHlCQUF5QjtJQUNyQixTQUFTLGdCQUFUO0lBQ0EsaUJBQUE7OztBRDBD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LCtCQUFBOztBTTVFQSxpQkN3ZEEsR0E4QkksbUJEdGZIO0VONEVELCtCQUFBOztBTTVFQSxpQkN3ZEEsR0FpQ0ksaUJEemZIO0VONEVELCtCQUFBOztBTTVFQSxpQkN3ZEEsR0FvQ0ksbUJENWZIO0VONEVELCtCQUFBOztBTTVFQSxpQkN3ZEEsR0F1Q0ksb0JEL2ZIO0VONEVELCtCQUFBOztBTTVFQSxpQkN3ZEEsR0EwQ0ksb0JEbGdCSDtFTjRFRCw4QkFBQTs7QU01RUEsaUJDd2RBLEdBNkNJLG1CRHJnQkg7RU40RUQsZ0NBQUE7O0FNNUVBLGlCQ3dkQSxHQWdESSxxQkR4Z0JIO0VONEVELGdDQUFBOztBTTVFQSxpQkN3ZEEsR0FtREksb0JEM2dCSDtFTjRFRCxnQ0FBQTs7QU01RUEsaUJDd2RBLEdBc0RJLGFEOWdCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBeURJLGVEamhCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBNERJLGFEcGhCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBK0RJLFdEdmhCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBa0VJLFdEMWhCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBcUVJLFdEN2hCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBd0VJLGVEaGlCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBMkVJLFdEbmlCSDtFTjRFRCxpQ0FBQTs7QU01RUEsaUJDd2RBLEdBOEVJLGdCRHRpQkg7RU40RUQsOEJBQUE7O0FNNUVBLGlCQ3dkQSxHQWlGSSxlRHppQkg7RU40RUQsZ0NBQUE7O0FNNUVBLGlCQ3dkQSxHQW9GSSxjRDVpQkg7RU40RUQsZ0NBQUE7O0FNNUVBLGlCQ3dkQSxHQXVGSSx3QkQvaUJIO0VONEVELGdDQUFBOztBTTVFQSxpQkN3ZEEsR0EwRkksZURsakJIO0VONEVELGlDQUFBOztBTTVFQSxpQkN3ZEEsR0E2RkksY0RyakJIO0VONEVELGlDQUFBOztBTTVFQSxpQkN3ZEEsR0FnR0ksWUR4akJIO0VO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 */ \ No newline at end of file diff --git a/lib/web/css/docs/docs.html b/lib/web/css/docs/docs.html index 699d27e8c9ee6..b21ba59bf9069 100644 --- a/lib/web/css/docs/docs.html +++ b/lib/web/css/docs/docs.html @@ -1,43 +1,44 @@ - - + + docs | Magento UI Library -

Documentation

+

Documentation

This file was created for documentation generation. It contains includes of all documentation files.

@import 'navigation.less';

-
@import '../../source/lib/_lib.less'; // Library files
-@import '../../source/_theme.less'; // Theme overrides
-@import '../../source/lib/_responsive.less'; // Media queries collector
-
-@baseDir: '/pub/static/frontend/Magento/blank/en_US/';
-
-@import '_actions-toolbar.less';
-@import '_breadcrumbs.less';
-@import '_buttons.less';
-@import '_components.less';
-@import '_dropdowns.less';
-@import '_forms.less';
-@import '_icons.less';
-@import '_loaders.less';
-@import '_messages.less';
-@import '_layout.less';
-@import '_pages.less';
-@import '_popups.less';
-@import '_rating.less';
-@import '_resets.less';
-@import '_responsive.less';
-@import '_sections.less';
-@import '_tables.less';
-@import '_tooltips.less';
-@import '_typography.less';
-@import '_utilities.less';
-@import '_variables.less';
-
-body {
-    padding: 15px;
-    background-image: none;
-}
+

+@import '../../source/lib/_lib.less'; // Library files
+@import '../../source/_theme.less'; // Theme overrides
+@import '../../source/lib/_responsive.less'; // Media queries collector
+
+@baseDir: '/pub/static/frontend/Magento/blank/en_US/';
+
+@import '_actions-toolbar.less';
+@import '_breadcrumbs.less';
+@import '_buttons.less';
+@import '_components.less';
+@import '_dropdowns.less';
+@import '_forms.less';
+@import '_icons.less';
+@import '_loaders.less';
+@import '_messages.less';
+@import '_layout.less';
+@import '_pages.less';
+@import '_popups.less';
+@import '_rating.less';
+@import '_resets.less';
+@import '_responsive.less';
+@import '_sections.less';
+@import '_tables.less';
+@import '_tooltips.less';
+@import '_typography.less';
+@import '_utilities.less';
+@import '_variables.less';
+
+body {
+    padding: 15px;
+    background-image: none;
+}
diff --git a/lib/web/css/docs/dropdowns.html b/lib/web/css/docs/dropdowns.html index 72bfe55c87c51..4816ca0d16edc 100644 --- a/lib/web/css/docs/dropdowns.html +++ b/lib/web/css/docs/dropdowns.html @@ -1,12 +1,12 @@ - - + + dropdowns | Magento UI Library -
diff --git a/lib/web/css/docs/forms.html b/lib/web/css/docs/forms.html index f71cd277339b8..e14e789f76b6f 100644 --- a/lib/web/css/docs/forms.html +++ b/lib/web/css/docs/forms.html @@ -1,12 +1,12 @@ - - + + forms | Magento UI Library -

Forms mixins

+

Forms mixins

Magento UI library provides a set of mixins for forms elements customization. You can customize your forms globally by configuring global variables, or you can customize every form separately using appropriate mixin.

Note: in variables lists allowable values are in "[]" brackets. If there are no allowable values provided, for this variable you can use: '' | false | value.

Global forms elements customization

@@ -195,27 +195,29 @@

Simple form with "require </div> </fieldset> </form> -

.example-form-1 {
-    .example-form-1-fieldset {
-        .lib-form-fieldset();
-        .lib-form-hasrequired(bottom);
-        > .field {
-            .lib-form-field();
-        }
-    }
-}
-
-.example-form-2 {
-    .example-form-2-fieldset {
-        .lib-form-fieldset();
-        > .field {
-            .lib-form-field(
-                    @_type: block,
-                    @_column: true
-                );
-        }
-    }
-}

Fieldset and legend customization variables

+

+.example-form-1 {
+    .example-form-1-fieldset {
+        .lib-form-fieldset();
+        .lib-form-hasrequired(bottom);
+        > .field {
+            .lib-form-field();
+        }
+    }
+}
+
+.example-form-2 {
+    .example-form-2-fieldset {
+        .lib-form-fieldset();
+        > .field {
+            .lib-form-field(
+                    @_type: block,
+                    @_column: true
+                );
+        }
+    }
+}
+

Fieldset and legend customization variables

The .lib-form-fieldset() mixin variables

     
@@ -675,32 +677,35 @@ 

Simple form with "require <select><option>type = select</option><option>option</option></select> <select multiple="multiple"><option>type = select multiple</option><option>option</option></select> <textarea placeholder="placeholder, type = textarea" ></textarea> -
input[type="text"],
-input[type="password"],
-input[type="url"],
-input[type="tel"],
-input[type="search"],
-input[type="number"],
-input[type="datetime"],
-input[type="email"] {
-    .lib-form-element-input(@_type: input-text);
-    margin-bottom: 20px;
-}
-
-select {
-    .lib-form-element-input(@_type: select);
-    margin-bottom: 20px;
-}
-
-select[multiple="multiple"] {
-    .lib-css(height, auto);
-    margin-bottom: 20px;
-}
-
-textarea {
-    .lib-form-element-input(@_type: textarea);
-    .lib-form-element-textarea-resize();
-}

Form element inputs customization variables

+

+
+input[type="text"],
+input[type="password"],
+input[type="url"],
+input[type="tel"],
+input[type="search"],
+input[type="number"],
+input[type="datetime"],
+input[type="email"] {
+    .lib-form-element-input(@_type: input-text);
+    margin-bottom: 20px;
+}
+
+select {
+    .lib-form-element-input(@_type: select);
+    margin-bottom: 20px;
+}
+
+select[multiple="multiple"] {
+    .lib-css(height, auto);
+    margin-bottom: 20px;
+}
+
+textarea {
+    .lib-form-element-input(@_type: textarea);
+    .lib-form-element-textarea-resize();
+}
+

Form element inputs customization variables

     

@@ -885,17 +890,19 @@

Simple form with "require

-

Form element choice

+

Form element choice

The .lib-form-element-choise() mixin is used to customize checkboxes and radio buttons.

-
input[type="checkbox"] {
-    .lib-form-element-choice(@_type: input-checkbox);
-}
-
-input[type="radio"] {
-    .lib-form-element-choice(@_type: input-radio);
-}

Form element choice variables

+

+input[type="checkbox"] {
+    .lib-form-element-choice(@_type: input-checkbox);
+}
+
+input[type="radio"] {
+    .lib-form-element-choice(@_type: input-radio);
+}
+

Form element choice variables

     
@@ -930,7 +937,7 @@ 

Simple form with "require

-

Custom color

+

Custom color

The .lib-form-element-color() mixin is used to set form elements background and color.

  @_border-color: ''
   @_background: ''
@@ -946,33 +953,37 @@ 

Simple form with "require <input type="text" class="text text-example-1" placeholder="placeholder, type = text, disabled" disabled="disabled" /><br /><br /> <select class="select-example-1"><option>type = select</option><option>option</option></select><br /><br /> <textarea class="textarea-example-1" placeholder="placeholder, type = textarea"></textarea> -

input.text-example-1,
-select.select-example-1,
-textarea.textarea-example-1 {
-    .lib-form-element-color(
-        @_background: #fdf0d5,
-        @_border-color: #fc0,
-        @_color: #b30000,
-        @_focus-color: #060,
-        @_focus-border-color: #cff,
-        @_disabled-color: #fcc
-    );
-}
-
-input.text-example-1,
-textarea.textarea-example-1 {
-    .lib-form-element-color(
-        @_placeholder-color: #ccc
-    );
-}

Input number - input-text view

+

+input.text-example-1,
+select.select-example-1,
+textarea.textarea-example-1 {
+    .lib-form-element-color(
+        @_background: #fdf0d5,
+        @_border-color: #fc0,
+        @_color: #b30000,
+        @_focus-color: #060,
+        @_focus-border-color: #cff,
+        @_disabled-color: #fcc
+    );
+}
+
+input.text-example-1,
+textarea.textarea-example-1 {
+    .lib-form-element-color(
+        @_placeholder-color: #ccc
+    );
+}
+

Input number - input-text view

-
.number-example {
-    .lib-form-element-number-reset();
-}

Input search - input-text view

+
.number-example {
+    .lib-form-element-number-reset();
+}
+

Input search - input-text view

-
.search-example {
-    .lib-form-element-search-reset();
-}

Form validation

+
.search-example {
+    .lib-form-element-search-reset();
+}
+

Form validation

The .lib-form-validation-note() mixin is used to customize form validation error messages.

-
input,
-textarea,
-select {
-    .lib-form-validation-note();
-}

Form validation variables

+
input,
+textarea,
+select {
+    .lib-form-validation-note();
+}
+

Form validation variables

     
@@ -1133,4 +1145,4 @@ 

Simple form with "require

-
+
diff --git a/lib/web/css/docs/icons.html b/lib/web/css/docs/icons.html index d255557c78b09..164403fe503f2 100644 --- a/lib/web/css/docs/icons.html +++ b/lib/web/css/docs/icons.html @@ -1,12 +1,12 @@ - - + + icons | Magento UI Library -

Icons

+

Icons

Icons can be represented by using the fonts, images, or sprites.

An icon can be added to any HTML tag. For this purpose you need to use additional <span> tag within your tag. This additional tag serves for displaying an icon without visible text, thus following the accessibility requirements. Then you need to apply appropriate icon mixin for this tag's class. Icon can be added both before and after element's text. Also, icon can be displayed instead of element's text (in this case the text is hidden).

There are two ways to insert icon: first you can use sprite or image, second you can use an icon font. Magento UI library provides mixins for both of them.

@@ -21,55 +21,59 @@ <a href="#" class="example-icon-5"><span>font icon after the text</span></a> <br> <a href="#" class="example-icon-6" title="font icon instead of the text"><span>icon instead of the text</span></a> -
.example-icon-1 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-}
-
-.example-icon-2 {
-    .lib-icon-image(
-        @_icon-image: '@{baseDir}images/blank-theme-icons.png',
-        @_icon-image-position-x: -26px,
-        @_icon-image-position-y: 0,
-        @_icon-image-position: after
-   );
-}
-
-.example-icon-3 {
-    .lib-icon-image(
-        @_icon-image: '@{baseDir}images/blank-theme-icons.png',
-        @_icon-image-position-x: -156px,
-        @_icon-image-position-y: -52px,
-        @_icon-image-text-hide: true
-   );
-}
-
-.example-icon-4 {
-    .lib-icon-font(
-        @_icon-font-content: @icon-settings,
-        @_icon-font-size: 24px
-   );
-}
-
-.example-icon-5 {
-    .lib-icon-font(
-        @_icon-font-content: @icon-star,
-        @_icon-font-size: 24px,
-        @_icon-font-position: after
-   );
-}
-
-.example-icon-6 {
-    .lib-icon-font(
-        @_icon-font-content: @icon-flag,
-        @_icon-font-size: 24px,
-        @_icon-font-text-hide: true
-   );
-}

Icon with image or sprite

+

+.example-icon-1 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+}
+
+.example-icon-2 {
+    .lib-icon-image(
+        @_icon-image: '@{baseDir}images/blank-theme-icons.png',
+        @_icon-image-position-x: -26px,
+        @_icon-image-position-y: 0,
+        @_icon-image-position: after
+   );
+}
+
+.example-icon-3 {
+    .lib-icon-image(
+        @_icon-image: '@{baseDir}images/blank-theme-icons.png',
+        @_icon-image-position-x: -156px,
+        @_icon-image-position-y: -52px,
+        @_icon-image-text-hide: true
+   );
+}
+
+.example-icon-4 {
+    .lib-icon-font(
+        @_icon-font-content: @icon-settings,
+        @_icon-font-size: 24px
+   );
+}
+
+.example-icon-5 {
+    .lib-icon-font(
+        @_icon-font-content: @icon-star,
+        @_icon-font-size: 24px,
+        @_icon-font-position: after
+   );
+}
+
+.example-icon-6 {
+    .lib-icon-font(
+        @_icon-font-content: @icon-flag,
+        @_icon-font-size: 24px,
+        @_icon-font-text-hide: true
+   );
+}
+

Icon with image or sprite

the .lib-icon-image() mixin is used to create icons using single image or sprite. It has one mandatory parameter - @_icon-image. This parameter accepts the path to an image or sprite.

-
.example-icon-7 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-}

Icon with image or sprite variables

+

+.example-icon-7 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+}
+

Icon with image or sprite variables

     
@@ -134,26 +138,28 @@
       
-

Icon position for an icon with image or sprite

+

Icon position for an icon with image or sprite

To change the position for icons with image the .lib-icon-image-position() mixin is used. By managing its @_icon-image-position-x and @_icon-image-position-y variables you can move the image on element's background. The @_icon-image-position variable is used to define the position of icon (before or after the element).

-
.example-icon-8 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-    .lib-icon-image-position(
-        @_icon-image-position-x: -182px
-   );
-}
-
-.example-icon-9 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png', @_icon-image-position: after);
-    .lib-icon-image-position(
-        @_icon-image-position-x: -52px,
-        @_icon-image-position-y: -26px,
-        @_icon-image-position: after
-   );
-}

Position for icon with image or sprite mixin variables

+

+.example-icon-8 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+    .lib-icon-image-position(
+        @_icon-image-position-x: -182px
+   );
+}
+
+.example-icon-9 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png', @_icon-image-position: after);
+    .lib-icon-image-position(
+        @_icon-image-position-x: -52px,
+        @_icon-image-position-y: -26px,
+        @_icon-image-position: after
+   );
+}
+

Position for icon with image or sprite mixin variables

     
@@ -182,13 +188,15 @@
       
-

Icon sprite position (with grid)

+

Icon sprite position (with grid)

Mixin .lib-icon-sprite-position() is used to manage the position of sprite background image. It assumes the use of a single sprite image with individual images placed on a regular grid.

-
.example-icon-10 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-    .lib-icon-sprite-position(4, 0);
-}

Icon sprite position variables

+

+.example-icon-10 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+    .lib-icon-sprite-position(4, 0);
+}
+

Icon sprite position variables

     
@@ -223,16 +231,18 @@
       
-

Image/sprite icon size

+

Image/sprite icon size

Mixin .lib-icon-image-size() is used to change the image/sprite icon size

-
.example-icon-11 {
-    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-    .lib-icon-image-size(30px, 30px);
-    &:before {
-        background-color: #f1f1f1;
-    }
-}

Image/sprite icon size variables

+

+.example-icon-11 {
+    .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+    .lib-icon-image-size(30px, 30px);
+    &:before {
+        background-color: #f1f1f1;
+    }
+}
+

Image/sprite icon size variables

     
@@ -264,12 +274,14 @@
 

Font icon

The .lib-icon-font() mixin is used to create icons using font icons. It has one mandatory parameter - @_icon-font-content. This parameter accepts the font icon code.

-
.example-icon-12 {
-    .lib-icon-font(
-        @icon-calendar,
-        @_icon-font-size: 28px
-   );
-}

Font icon variables

+

+.example-icon-12 {
+    .lib-icon-font(
+        @icon-calendar,
+        @_icon-font-size: 28px
+   );
+}
+

Font icon variables

     
@@ -352,15 +364,17 @@
-

Change the size of font icon

+

Change the size of font icon

The .lib-icon-font-size() mixin is used to change size of the font icon which is already defined. The mixin generates only new font size and line height without any other options. @_icon-font-position variable is used to define the position of icon (before or after the element) which we want to set font size of.

-
.example-icon-13 {
-    .lib-icon-font(@icon-calendar);
-    .lib-icon-font-size(
-        @_icon-font-size: 26px
-   );
-}

Change the size of font icon variables

+

+.example-icon-13 {
+    .lib-icon-font(@icon-calendar);
+    .lib-icon-font-size(
+        @_icon-font-size: 26px
+   );
+}
+

Change the size of font icon variables

     
@@ -392,13 +406,15 @@
 

Hide icon text

The .lib-icon-text-hide() mixin can be used separately to hide text of an element that has an icon text. This mixin accepts no variables.

-
.example-icon-14 {
-    .lib-icon-font(
-        @icon-envelope,
-        @_icon-font-size: 26px
-   );
-    .lib-icon-text-hide();
-}

Sprite and font icons for Blank theme

+

+.example-icon-14 {
+    .lib-icon-font(
+        @icon-envelope,
+        @_icon-font-size: 26px
+   );
+    .lib-icon-text-hide();
+}
+

Sprite and font icons for Blank theme

You can use the icons designed to our Blank theme, which are also available in two variants: sprite and font

Icons using sprite

-
.icons-image-list {
-    list-style: none;
-    padding: 0;
-    li {
-        float: left;
-        width: 33%;
-        > span {
-            .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
-        }
-        .icon-search {
-            .lib-icon-sprite-position(0, 0);
-        }
-        .icon-cart {
-            .lib-icon-sprite-position(1, 0);
-        }
-        .icon-arrow-down {
-            .lib-icon-sprite-position(2, 0);
-        }
-        .icon-arrow-up {
-            .lib-icon-sprite-position(3, 0);
-        }
-        .icon-grid {
-            .lib-icon-sprite-position(4, 0);
-        }
-        .icon-list {
-            .lib-icon-sprite-position(5, 0);
-        }
-        .icon-remove {
-            .lib-icon-sprite-position(6, 0);
-        }
-        .icon-star {
-            .lib-icon-sprite-position(7, 0);
-        }
-        .icon-pointer-down {
-            .lib-icon-sprite-position(8, 0);
-        }
-        .icon-pointer-up {
-            .lib-icon-sprite-position(9, 0);
-        }
-        .icon-pointer-left {
-            .lib-icon-sprite-position(10, 0);
-        }
-        .icon-pointer-right {
-            .lib-icon-sprite-position(11, 0);
-        }
-        .icon-compare-empty {
-            .lib-icon-sprite-position(0, 1);
-        }
-        .icon-compare-full {
-            .lib-icon-sprite-position(1, 1);
-        }
-        .icon-wishlist-empty {
-            .lib-icon-sprite-position(2, 1);
-        }
-        .icon-wishlist-full {
-            .lib-icon-sprite-position(3, 1);
-        }
-        .icon-update {
-            .lib-icon-sprite-position(4, 1);
-        }
-        .icon-collapse {
-            .lib-icon-sprite-position(5, 1);
-        }
-        .icon-expand {
-            .lib-icon-sprite-position(6, 1);
-        }
-        .icon-menu {
-            .lib-icon-sprite-position(7, 1);
-        }
-        .icon-prev {
-            .lib-icon-sprite-position(8, 1);
-        }
-        .icon-next {
-            .lib-icon-sprite-position(9, 1);
-        }
-        .icon-settings {
-            .lib-icon-sprite-position(10, 1);
-        }
-        .icon-info {
-            .lib-icon-sprite-position(11, 1);
-        }
-        .icon-checkmark {
-            .lib-icon-sprite-position(0, 2);
-        }
-        .icon-calendar {
-            .lib-icon-sprite-position(1, 2);
-        }
-        .icon-comment {
-            .lib-icon-sprite-position(2, 2);
-        }
-        .icon-comment-reflected {
-            .lib-icon-sprite-position(3, 2);
-        }
-        .icon-envelope {
-            .lib-icon-sprite-position(4, 2);
-        }
-        .icon-warning {
-            .lib-icon-sprite-position(5, 2);
-        }
-        .icon-trash {
-            .lib-icon-sprite-position(6, 2);
-        }
-        .icon-flag {
-            .lib-icon-sprite-position(7, 2);
-        }
-        .icon-location {
-            .lib-icon-sprite-position(8, 2);
-        }
-        .icon-up {
-            .lib-icon-sprite-position(9, 2);
-        }
-        .icon-down {
-            .lib-icon-sprite-position(10, 2);
-        }
-    }
-}
-
-@icon-wishlist-full: '\e600';
-@icon-wishlist-empty: '\e601';
-@icon-warning: '\e602';
-@icon-update: '\e603';
-@icon-trash: '\e604';
-@icon-star: '\e605';
-@icon-settings: '\e606';
-@icon-pointer-down: '\e607';
-@icon-next: '\e608';
-@icon-menu: '\e609';
-@icon-location: '\e60a';
-@icon-list: '\e60b';
-@icon-info: '\e60c';
-@icon-grid: '\e60d';
-@icon-comment-reflected: '\e60e';
-@icon-collapse: '\e60f';
-@icon-checkmark: '\e610';
-@icon-cart: '\e611';
-@icon-calendar: '\e612';
-@icon-arrow-up: '\e613';
-@icon-arrow-down: '\e614';
-@icon-search: '\e615';
-@icon-remove: '\e616';
-@icon-prev: '\e617';
-@icon-pointer-up: '\e618';
-@icon-pointer-right: '\e619';
-@icon-pointer-left: '\e61a';
-@icon-flag: '\e61b';
-@icon-expand: '\e61c';
-@icon-envelope: '\e61d';
-@icon-compare-full: '\e61e';
-@icon-compare-empty: '\e61f';
-@icon-comment: '\e620';
-@icon-up: '\e621';
-@icon-down: '\e622';
-@icon-arrow-up-thin: '\e623';
-@icon-arrow-right-thin: '\e624';
-@icon-arrow-left-thin: '\e625';
-@icon-arrow-down-thin: '\e626';
-
-.icons-font-list {
-    list-style: none;
-    padding: 0;
-    li {
-        float: left;
-        width: 25%;
-        margin-bottom: 35px;
-        text-align: center;
-        > span {
-            .lib-icon-font('', @_icon-font-size: 34px);
-            &:before {
-                content: attr(data-icon);
-                margin: 0 auto;
-                display: block;
-            }
-        }
-    }
-}
+

+.icons-image-list {
+    list-style: none;
+    padding: 0;
+    li {
+        float: left;
+        width: 33%;
+        > span {
+            .lib-icon-image(@_icon-image: '@{baseDir}images/blank-theme-icons.png');
+        }
+        .icon-search {
+            .lib-icon-sprite-position(0, 0);
+        }
+        .icon-cart {
+            .lib-icon-sprite-position(1, 0);
+        }
+        .icon-arrow-down {
+            .lib-icon-sprite-position(2, 0);
+        }
+        .icon-arrow-up {
+            .lib-icon-sprite-position(3, 0);
+        }
+        .icon-grid {
+            .lib-icon-sprite-position(4, 0);
+        }
+        .icon-list {
+            .lib-icon-sprite-position(5, 0);
+        }
+        .icon-remove {
+            .lib-icon-sprite-position(6, 0);
+        }
+        .icon-star {
+            .lib-icon-sprite-position(7, 0);
+        }
+        .icon-pointer-down {
+            .lib-icon-sprite-position(8, 0);
+        }
+        .icon-pointer-up {
+            .lib-icon-sprite-position(9, 0);
+        }
+        .icon-pointer-left {
+            .lib-icon-sprite-position(10, 0);
+        }
+        .icon-pointer-right {
+            .lib-icon-sprite-position(11, 0);
+        }
+        .icon-compare-empty {
+            .lib-icon-sprite-position(0, 1);
+        }
+        .icon-compare-full {
+            .lib-icon-sprite-position(1, 1);
+        }
+        .icon-wishlist-empty {
+            .lib-icon-sprite-position(2, 1);
+        }
+        .icon-wishlist-full {
+            .lib-icon-sprite-position(3, 1);
+        }
+        .icon-update {
+            .lib-icon-sprite-position(4, 1);
+        }
+        .icon-collapse {
+            .lib-icon-sprite-position(5, 1);
+        }
+        .icon-expand {
+            .lib-icon-sprite-position(6, 1);
+        }
+        .icon-menu {
+            .lib-icon-sprite-position(7, 1);
+        }
+        .icon-prev {
+            .lib-icon-sprite-position(8, 1);
+        }
+        .icon-next {
+            .lib-icon-sprite-position(9, 1);
+        }
+        .icon-settings {
+            .lib-icon-sprite-position(10, 1);
+        }
+        .icon-info {
+            .lib-icon-sprite-position(11, 1);
+        }
+        .icon-checkmark {
+            .lib-icon-sprite-position(0, 2);
+        }
+        .icon-calendar {
+            .lib-icon-sprite-position(1, 2);
+        }
+        .icon-comment {
+            .lib-icon-sprite-position(2, 2);
+        }
+        .icon-comment-reflected {
+            .lib-icon-sprite-position(3, 2);
+        }
+        .icon-envelope {
+            .lib-icon-sprite-position(4, 2);
+        }
+        .icon-warning {
+            .lib-icon-sprite-position(5, 2);
+        }
+        .icon-trash {
+            .lib-icon-sprite-position(6, 2);
+        }
+        .icon-flag {
+            .lib-icon-sprite-position(7, 2);
+        }
+        .icon-location {
+            .lib-icon-sprite-position(8, 2);
+        }
+        .icon-up {
+            .lib-icon-sprite-position(9, 2);
+        }
+        .icon-down {
+            .lib-icon-sprite-position(10, 2);
+        }
+    }
+}
+
+@icon-wishlist-full: '\e600';
+@icon-wishlist-empty: '\e601';
+@icon-warning: '\e602';
+@icon-update: '\e603';
+@icon-trash: '\e604';
+@icon-star: '\e605';
+@icon-settings: '\e606';
+@icon-pointer-down: '\e607';
+@icon-next: '\e608';
+@icon-menu: '\e609';
+@icon-location: '\e60a';
+@icon-list: '\e60b';
+@icon-info: '\e60c';
+@icon-grid: '\e60d';
+@icon-comment-reflected: '\e60e';
+@icon-collapse: '\e60f';
+@icon-checkmark: '\e610';
+@icon-cart: '\e611';
+@icon-calendar: '\e612';
+@icon-arrow-up: '\e613';
+@icon-arrow-down: '\e614';
+@icon-search: '\e615';
+@icon-remove: '\e616';
+@icon-prev: '\e617';
+@icon-pointer-up: '\e618';
+@icon-pointer-right: '\e619';
+@icon-pointer-left: '\e61a';
+@icon-flag: '\e61b';
+@icon-expand: '\e61c';
+@icon-envelope: '\e61d';
+@icon-compare-full: '\e61e';
+@icon-compare-empty: '\e61f';
+@icon-comment: '\e620';
+@icon-up: '\e621';
+@icon-down: '\e622';
+@icon-arrow-up-thin: '\e623';
+@icon-arrow-right-thin: '\e624';
+@icon-arrow-left-thin: '\e625';
+@icon-arrow-down-thin: '\e626';
+
+.icons-font-list {
+    list-style: none;
+    padding: 0;
+    li {
+        float: left;
+        width: 25%;
+        margin-bottom: 35px;
+        text-align: center;
+        > span {
+            .lib-icon-font('', @_icon-font-size: 34px);
+            &:before {
+                content: attr(data-icon);
+                margin: 0 auto;
+                display: block;
+            }
+        }
+    }
+}
diff --git a/lib/web/css/docs/index.html b/lib/web/css/docs/index.html index 117fb32d20022..1c6cc9a6c6e19 100644 --- a/lib/web/css/docs/index.html +++ b/lib/web/css/docs/index.html @@ -6,7 +6,7 @@ --> Magento UI Library -

Magento UI library

+

Magento UI library

The Magento UI library is a flexible modular Magento frontend library that is designed to assist Magento theme developers. It employs a set of mixins for base elements to ease frontend theme development and customization. The Magento UI library offers the following characteristics for those who develop or customize Magento themes. It is:

  • Built on LESS preprocessor
  • @@ -608,4 +608,4 @@

    Location

    Extends that used in more than one theme should be saved in lib lib/source/_abstract.less (will be renamed to _extend.less)

    Naming

    Extend class names should have prefix .abs- (from abstract)

    -
+
diff --git a/lib/web/css/docs/layout.html b/lib/web/css/docs/layout.html index 115e7f0b4f489..241dba1ebfd22 100644 --- a/lib/web/css/docs/layout.html +++ b/lib/web/css/docs/layout.html @@ -1,28 +1,30 @@ - - + + layout | Magento UI Library -

Layout

+

Layout

Magento UI library provides mixins for flexible page layout customization. For simple quick layout customization global layout variables are used.

-
header.header {
-    background-color: rgba(255, 0, 0, .2);
-}
-.column.main {
-    background-color: rgba(255, 255, 0, .2);
-}
-.column.left {
-    background-color: rgba(0, 255, 255, .2);
-}
-.column.right {
-    background-color: rgba(0, 0, 255, .2);
-}
-footer.footer {
-    background-color: rgba(0, 0, 0, .2);
-}

Layout global variables

+

+header.header {
+    background-color: rgba(255, 0, 0, .2);
+}
+.column.main {
+    background-color: rgba(255, 255, 0, .2);
+}
+.column.left {
+    background-color: rgba(0, 255, 255, .2);
+}
+.column.right {
+    background-color: rgba(0, 0, 255, .2);
+}
+footer.footer {
+    background-color: rgba(0, 0, 0, .2);
+}
+

Layout global variables

     
@@ -162,7 +164,7 @@
-

Page layouts

+

Page layouts

Default properties for page columns are generated using alias mixins:

#lib-layout-columns - sets columns container

#lib-layout-columns > .main() - alias for main column

@@ -211,27 +213,29 @@

Three columns page layout

</section> <footer class="footer">Footer</footer> </div> -
.columns {
-    #lib-layout-columns();
-    > .column {
-        &:extend(.add-box-sizing all);
-        .lib-css(padding-bottom, @indent__xl);
-    }
-}
-
-@media (min-width: 600px) {
-    .column.main {
-        #lib-layout-columns > .main();
-    }
-
-    .column.left {
-        #lib-layout-columns > .left();
-    }
-
-    .column.right {
-        #lib-layout-columns > .right();
-    }
-}

Layout column

+

+.columns {
+    #lib-layout-columns();
+    > .column {
+        &:extend(.add-box-sizing all);
+        .lib-css(padding-bottom, @indent__xl);
+    }
+}
+
+@media (min-width: 600px) {
+    .column.main {
+        #lib-layout-columns > .main();
+    }
+
+    .column.left {
+        #lib-layout-columns > .left();
+    }
+
+    .column.right {
+        #lib-layout-columns > .right();
+    }
+}
+

Layout column

The .layout-column() mixin is used to setup page columns. It configures number, position and width of columns

3 columns layout example:

-
.layout-example-3 {
-    .column.main {
-        .lib-layout-column(3, 2, 60%);
-    }
-    .column.left {
-        .lib-layout-column(3, 1, 20%);
-    }
-    .column.right {
-        .lib-layout-column(3, 3, 20%);
-    }
-}
-
-.layout-example-3-1 {
-    .column.main {
-        .lib-layout-column(3, 1, 60%);
-    }
-    .column.left {
-        .lib-layout-column(3, 2, 20%);
-    }
-    .column.right {
-        .lib-layout-column(3, 3, 20%);
-    }
-}

Layout column variables

+

+.layout-example-3 {
+    .column.main {
+        .lib-layout-column(3, 2, 60%);
+    }
+    .column.left {
+        .lib-layout-column(3, 1, 20%);
+    }
+    .column.right {
+        .lib-layout-column(3, 3, 20%);
+    }
+}
+
+.layout-example-3-1 {
+    .column.main {
+        .lib-layout-column(3, 1, 60%);
+    }
+    .column.left {
+        .lib-layout-column(3, 2, 20%);
+    }
+    .column.right {
+        .lib-layout-column(3, 3, 20%);
+    }
+}
+

Layout column variables

     
@@ -309,9 +315,10 @@ 

Three columns page layout

-

Layout width

+

+

Layout width

The .lib-layout-width() mixin is used to set default page width of the element the mixin is applyed to. It can be used to set width for the whole page wrapper or for the page elements individualy like header, footer, and so on.

-

Layout width variables

+

Layout width variables

     
@@ -340,4 +347,4 @@ 

Three columns page layout

-
+
diff --git a/lib/web/css/docs/lib.html b/lib/web/css/docs/lib.html index 8ae04f1102769..e9fee40e79445 100644 --- a/lib/web/css/docs/lib.html +++ b/lib/web/css/docs/lib.html @@ -6,8 +6,8 @@ --> lib | Magento UI Library -

Including Magento UI library to your theme

+

Including Magento UI library to your theme

The _lib.less file contains the includes of all Magento UI library files. To use Magento UI library in your theme add the following directive to the theme’s styles.less:

  @import 'source/lib/_lib';

The lib.less file is designed to avoid manual adding of each Magento UI library file import instruction to your theme.

-
+
diff --git a/lib/web/css/docs/loaders.html b/lib/web/css/docs/loaders.html index 81a014e3aeaae..28f5874515198 100644 --- a/lib/web/css/docs/loaders.html +++ b/lib/web/css/docs/loaders.html @@ -1,12 +1,12 @@ - - + + loaders | Magento UI Library -

Loaders

+

Loaders

A page loader is an animation a visitor sees while the page or an element is loaded. During this time a page is blocked with overlay.

Default loader markup

@@ -21,9 +21,11 @@
   </div>
   <button type="button" onclick="document.getElementById('example1').style='display: block;';document.getElementById('example1').parentNode.setAttribute('aria-busy','true');" style="z-index:99999; position: relative;"><span>Show</span></button>
   <button type="button" onclick="document.getElementById('example1').style='display: none;';document.getElementById('example1').parentNode.setAttribute('aria-busy','false');" style="z-index:99999; position: relative;"><span>Hide</span></button>
-
.loader {
-    .lib-loader();
-}

Default loader variables

+

+.loader {
+    .lib-loader();
+}
+

Default loader variables

     
@@ -130,16 +132,18 @@
       
-

Loading

+

Loading

Loading is an animation a visitor sees while a certain block is loaded. In this case only this block is locked by an overlay, not the whole page.

-
.loading {
-    .lib-loading();
-}

Loading default variables

+

+.loading {
+    .lib-loading();
+}
+

Loading default variables

     
@@ -162,4 +166,4 @@
       
-
+
diff --git a/lib/web/css/docs/messages.html b/lib/web/css/docs/messages.html index 65b14f46f9dd8..85a9b6150f082 100644 --- a/lib/web/css/docs/messages.html +++ b/lib/web/css/docs/messages.html @@ -1,12 +1,12 @@ - - + + messages | Magento UI Library -

Messages

+

Messages

Magento UI library provides mixins for styling messages. There are 4 types of messages:

  info
   warning
@@ -21,54 +21,66 @@
           Lorem ipsum dolor sit <a href="#">amet</a>, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
       </div>
   </div>
-
.example-message-info {
-    .lib-message(info);
-}

Warning message

+

+.example-message-info {
+    .lib-message(info);
+}
+

Warning message

This is a warning message. To apply appropriate style you need to specify warning type to the .warning() mixin.

-
.example-message-warning {
-    .lib-message(warning);
-}

Error message

+

+.example-message-warning {
+    .lib-message(warning);
+}
+

Error message

This is an error message. To apply appropriate style you need to specify error type to the .warning() mixin.

-
.example-message-error {
-    .lib-message(error);
-}

Success message

+

+.example-message-error {
+    .lib-message(error);
+}
+

Success message

This is a success message. To apply appropriate style you need to specify success type to the .warning() mixin.

-
.example-message-success {
-    .lib-message(success);
-}

Notice message

+

+.example-message-success {
+    .lib-message(success);
+}
+

Notice message

This is a notice message. To apply appropriate style you need to specify notice type to the .warning() mixin.

-
.example-message-notice {
-    .lib-message(notice);
-}

Message with inner icon

+

+.example-message-notice {
+    .lib-message(notice);
+}
+

Message with inner icon

To add an inner icon use .lib-message-icon-inner mixin. To apply the .message-icon-inner mixin, you need to specify the type of a message that you want to apply styles to.

-
.example-message-1 {
-    .lib-message-icon-inner(notice);
-}

Message with lateral icon

+

+.example-message-1 {
+    .lib-message-icon-inner(notice);
+}
+

Message with lateral icon

To add a lateral icon to a message, you need to use the .lib-message-icon-lateral mixin. This mixin is configured by the following variables:

  @_message-type: error; // info | warning | error | success | notice
   @_message-position: right; // left | right
@@ -81,13 +93,15 @@ Lorem ipsum dolor sit <a href="#">amet</a>, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. </div> </div> -
.example-message-2 {
-    .lib-message-icon-lateral(error, right);
-}
-
-.example-message-3 {
-    .lib-message-icon-lateral(success, left);
-}

Custom message style

+

+.example-message-2 {
+    .lib-message-icon-lateral(error, right);
+}
+
+.example-message-3 {
+    .lib-message-icon-lateral(success, left);
+}
+

Custom message style

You can specify your own message type, for example “custom”. To use message mixin for this new type you need to add new variables to _variables.less:

    @message__<b>custom</b>-color: #000;
     @message__<b>custom</b>-background: #fc0;
@@ -110,27 +124,29 @@
           Lorem ipsum dolor sit <a href="#">amet</a>, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
       </div>
   </div>
-
@message-custom__color: #000;
-@message-custom__background: #fc0;
-@message-custom__border-color: orange;
-
-@message-custom-link__color: blue;
-@message-custom-link__color-hover: darken(@message-custom-link__color, 20%);
-@message-custom-link__color-active: darken(@message-custom-link__color, 30%);
-
-@message-custom-icon: @icon-settings;
-@message-custom-icon__color-lateral: #000;
-@message-custom-icon__background: #green;
-@message-custom-icon__top: 15px;
-@message-custom-icon__right: false;
-@message-custom-icon__bottom: false;
-@message-custom-icon__left: 0;
-
-.example-message-4 {
-    .lib-message-icon-lateral(custom, left);
-    border-width: 4px;
-    border-radius: 10px;
-}

Messages global variables

+

+@message-custom__color: #000;
+@message-custom__background: #fc0;
+@message-custom__border-color: orange;
+
+@message-custom-link__color: blue;
+@message-custom-link__color-hover: darken(@message-custom-link__color, 20%);
+@message-custom-link__color-active: darken(@message-custom-link__color, 30%);
+
+@message-custom-icon: @icon-settings;
+@message-custom-icon__color-lateral: #000;
+@message-custom-icon__background: #green;
+@message-custom-icon__top: 15px;
+@message-custom-icon__right: false;
+@message-custom-icon__bottom: false;
+@message-custom-icon__left: 0;
+
+.example-message-4 {
+    .lib-message-icon-lateral(custom, left);
+    border-width: 4px;
+    border-radius: 10px;
+}
+

Messages global variables

     
@@ -711,4 +727,4 @@
         
-
+
diff --git a/lib/web/css/docs/pages.html b/lib/web/css/docs/pages.html index 45938fcd9ae57..6666d226b68a8 100644 --- a/lib/web/css/docs/pages.html +++ b/lib/web/css/docs/pages.html @@ -1,12 +1,12 @@ - - + + pages | Magento UI Library -

Pagination HTML markup

+

Pagination HTML markup

Pagination is used to display numbers of pages in case content exceeds page limits. The markup corresponds to accesibility demands.

Required HTML markup:

-
.pages {
-    .lib-pager();
-}

Pagination variables

+

+.pages {
+    .lib-pager();
+}
+

Pagination variables

     
@@ -543,7 +545,7 @@
         
-

Pagination without label, with solid background

+

+.example-pages-2 {
+    .lib-pager(
+        @_pager-label-display: inline-block,
+        @_pager-icon-use: false
+    );
+}
+

Pagination without label, with solid background

Pagination without label, with solid background and icons on previous/next links

Hide pager label:

  @_pager-label-display: none
@@ -729,25 +735,26 @@ </li> </ul> </div> -
.example-pages-3 {
-    .lib-pager(
-        @_pager-label-display: none,
-        @_pager-color: #fff,
-        @_pager-background: @link__color,
-        @_pager-color-visited: #fff,
-        @_pager-background-visited: @link__visited__color,
-        @_pager-color-hover: #fff,
-        @_pager-background-hover: @link__hover__color,
-        @_pager-color-active: #fff,
-        @_pager-background-active: @link__active__color,
-        @_pager-current-color: #fff,
-        @_pager-current-background: @link__visited__color,
-        @_pager-action-background: @link__color,
-        @_pager-action-background-visited: @link__visited__color,
-        @_pager-action-background-hover: @link__hover__color,
-        @_pager-action-background-active: @link__active__color,
-        @_pager-action-color: #fff,
-        @_pager-action-color-hover: #fff,
-        @_pager-action-color-active: #fff
-    );
-}
+

+.example-pages-3 {
+    .lib-pager(
+        @_pager-label-display: none,
+        @_pager-color: #fff,
+        @_pager-background: @link__color,
+        @_pager-color-visited: #fff,
+        @_pager-background-visited: @link__visited__color,
+        @_pager-color-hover: #fff,
+        @_pager-background-hover: @link__hover__color,
+        @_pager-color-active: #fff,
+        @_pager-background-active: @link__active__color,
+        @_pager-current-color: #fff,
+        @_pager-current-background: @link__visited__color,
+        @_pager-action-background: @link__color,
+        @_pager-action-background-visited: @link__visited__color,
+        @_pager-action-background-hover: @link__hover__color,
+        @_pager-action-background-active: @link__active__color,
+        @_pager-action-color: #fff,
+        @_pager-action-color-hover: #fff,
+        @_pager-action-color-active: #fff
+    );
+}
diff --git a/lib/web/css/docs/popups.html b/lib/web/css/docs/popups.html index bdd32a8591c68..cacbc4b3bf4a4 100644 --- a/lib/web/css/docs/popups.html +++ b/lib/web/css/docs/popups.html @@ -1,12 +1,12 @@ - - + + popups | Magento UI Library -

Popups

+

Popups

To implement the popup, use the following markup. It corresponds accessibility requirements. To set Popup styles use the .lib-popup() mixin.

The .lib-window-overlay() mixin controls the styles of overlay background.

Simple popup

@@ -49,17 +49,19 @@

Simple popup

</div> </div> </div> -
.window.popup.popup-example {
-    .lib-popup();
-}
-
-.window.popup.popup-example-1 {
-    .lib-popup();
-}
-
-.window.overlay {
-    .lib-window-overlay();
-}

Rating with vote

+

Rating with vote

To implement rating with vote, use the .lib-rating-vote() mixin.

-
.example-ratings-1 {
-    .lib-rating-vote();
-}

Rating with vote icons number customization

+

+.example-ratings-1 {
+    .lib-rating-vote();
+}
+

Rating with vote icons number customization

To change number of icons, add desired number of rating icons (input + label) to the markup. Then set this number to the @_icon-count mixin variable.

-
.example-ratings-2 {
-    .lib-rating-vote(
-        @_icon-count: 8
-    );
-}

Rating with vote icons colors customization

+

+.example-ratings-2 {
+    .lib-rating-vote(
+        @_icon-count: 8
+    );
+}
+

Rating with vote icons colors customization

These variables control default and active icon colors:

  @_icon-color: value,
   @_icon-color-active: value
@@ -160,12 +164,14 @@ <span>5 stars</span> </label> </div> -
.example-ratings-3 {
-    .lib-rating-vote(
-        @_icon-color: #aff5e3,
-        @_icon-color-active: #0a6767
-    );
-}

Rating with vote icons symbol customization

+

+.example-ratings-3 {
+    .lib-rating-vote(
+        @_icon-color: #aff5e3,
+        @_icon-color-active: #0a6767
+    );
+}
+

Rating with vote icons symbol customization

To set custom icon symbol, use the @_icon-content variable

-
.example-ratings-4 {
-    .lib-rating-vote(
-        @_icon-content: @icon-wishlist-full
-    );
-}

Accessible rating with vote

+

+.example-ratings-4 {
+    .lib-rating-vote(
+        @_icon-content: @icon-wishlist-full
+    );
+}
+

Accessible rating with vote

The following markup corresponds to accesibility demands

-
.exapmle-ratings-5 {
-    .control.rating.vote {
-        .lib-rating-vote();
-    }
-}

Rating summary

+

+.exapmle-ratings-5 {
+    .control.rating.vote {
+        .lib-rating-vote();
+    }
+}
+

Rating summary

To implement rating summary, use the following markup

-
.example-rating-summary-1 {
-    .lib-rating-summary();
-}

Rating summary icons number customization

+

+.example-rating-summary-1 {
+    .lib-rating-summary();
+}
+

Rating summary icons number customization

To set up number of icons, use the variable:

  @_icon-count: number
-
.example-rating-summary-2 {
-    .lib-rating-summary(
-        @_icon-count: 8
-    );
-}

Rating summary icons color customization

+

+.example-rating-summary-2 {
+    .lib-rating-summary(
+        @_icon-count: 8
+    );
+}
+

Rating summary icons color customization

To set up the icons default and selected color, use variables:

  @_icon-color: value
   @_icon-color-active: value
@@ -260,12 +274,14 @@ <span style="width:40%"><span>40</span></span> </div> </div> -
.example-rating-summary-3 {
-    .lib-rating-summary(
-        @_icon-color: #aff5e3,
-        @_icon-color-active: #0a6767
-    );
-}

Rating summary icons symbol customization

+

+.example-rating-summary-3 {
+    .lib-rating-summary(
+        @_icon-color: #aff5e3,
+        @_icon-color-active: #0a6767
+    );
+}
+

Rating summary icons symbol customization

To set up the icons symbol use variable:

  @_icon-content: icon_code
-
.example-rating-summary-4 {
-    .lib-rating-summary(
-        @_icon-content: @icon-wishlist-full
-    );
-}

Rating summary hide label

+

+.example-rating-summary-4 {
+    .lib-rating-summary(
+        @_icon-content: @icon-wishlist-full
+    );
+}
+

Rating summary hide label

To hide the rating summary label set:

  @_label-hide: true
-
.example-rating-summary-5 {
-    .lib-rating-summary(
-        @_label-hide: true
-    );
-}

Rating summary multiple ratings

+

+.example-rating-summary-5 {
+    .lib-rating-summary(
+        @_label-hide: true
+    );
+}
+

Rating summary multiple ratings

-
.example-rating-summary-6 {
-    .rating-summary {
-        .lib-rating-summary();
-    }
-}

Rating hide label mixin

+

+.example-rating-summary-6 {
+    .rating-summary {
+        .lib-rating-summary();
+    }
+}
+

Rating hide label mixin

The .lib-rating-summary-label-hide() mixin is used to hide rating label in summary rating.

-
.example-rating-summary-7 {
-    .lib-rating-summary();
-    .lib-rating-summary-label-hide();
-}
+

+.example-rating-summary-7 {
+    .lib-rating-summary();
+    .lib-rating-summary-label-hide();
+}
diff --git a/lib/web/css/docs/resets.html b/lib/web/css/docs/resets.html index 5943ccfb32914..b0883c4553359 100644 --- a/lib/web/css/docs/resets.html +++ b/lib/web/css/docs/resets.html @@ -6,7 +6,7 @@ --> resets | Magento UI Library -

Resets

+

Resets

CSS reset is a technique that makes selected elements display in the same way in different browsers by default.

In Magento UI library there are 5 pre-defined resets that can be called by appropriate mixin..

Magento reset

@@ -30,4 +30,4 @@

Html5doctor Reset Stylesheet v1.6.1 To get html5doctor reset in your theme, use mixin:

  .lib-html5doctor-reset();

 

-

+
diff --git a/lib/web/css/docs/responsive.html b/lib/web/css/docs/responsive.html index f6d5bcda98e9f..584647192dccd 100644 --- a/lib/web/css/docs/responsive.html +++ b/lib/web/css/docs/responsive.html @@ -1,40 +1,42 @@ - - + + responsive | Magento UI Library -

Responsive

+

Responsive

Magento UI library provides a strong approach for working with media queries. It`s based on recursive call of .media-width() mixin defined anywhere in project but invoked in one place in lib/web/css/source/lib/_responsive.less. That's why in the resulting styles.css we have every media query only once with all the rules there, not a multiple calls for the same query.

To see the media queries work resize window to understand which breakpoint is applied.

-
.example-responsive-block {
-    padding: 10px;
-}
-
-.media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) {
-    .example-responsive-block {
-        background: #ffc;
-    }
-    .example-responsive-block:before {
-        content: 'Mobile styles ';
-        font-weight: bold;
-    }
-}
-
-.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
-    .example-responsive-block {
-        background: #ccf;
-    }
-    .example-responsive-block:before {
-        content: 'Desktop styles ';
-        font-weight: bold;
-    }
-}

Responsive mixins usage

+

+.example-responsive-block {
+    padding: 10px;
+}
+
+.media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) {
+    .example-responsive-block {
+        background: #ffc;
+    }
+    .example-responsive-block:before {
+        content: 'Mobile styles ';
+        font-weight: bold;
+    }
+}
+
+.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
+    .example-responsive-block {
+        background: #ccf;
+    }
+    .example-responsive-block:before {
+        content: 'Desktop styles ';
+        font-weight: bold;
+    }
+}
+

Responsive mixins usage

For grouping style rules in certain media queries .media-width() mixin used.

 .media-width(<@extremum>, <@break>);

@extremum: max|min - sets whether to use min-width or max-width in media query condition
@@ -80,4 +82,4 @@

Gathering

@screen__l: 1024px; @screen__xl: 1440px;

 

-
+
diff --git a/lib/web/css/docs/sections.html b/lib/web/css/docs/sections.html index 2bc3b310ee7b4..29ea4d2ae1534 100644 --- a/lib/web/css/docs/sections.html +++ b/lib/web/css/docs/sections.html @@ -1,12 +1,12 @@ - - + + sections | Magento UI Library -

Tabs and accordions

+

Tabs and accordions

To set up tabs and accordions Magento UI library provides 2 types of mixins: .lib-data-tabsbase() and .lib-data-accordionbase(). These mixins reset markup elements default styles and add minimal required css setup to make these elements work properly.

Tabs

The .lib-data-tabs() mixin is used to setup tabs parameters.

@@ -32,9 +32,11 @@ <p>It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p> </dd> </dl> -
.example-sections-1 {
-    .lib-data-tabs();
-}

Tabs mixin variables

+

+.example-sections-1 {
+    .lib-data-tabs();
+}
+

Tabs mixin variables

     
@@ -244,11 +246,13 @@
         <p>It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
     </dd>
   </dl>
-
.example-sections-2 {
-    .lib-data-tabs(
-        @_tab-content-border-top-status: true
-    );
-}

Accordion

+

+.example-sections-2 {
+    .lib-data-tabs(
+        @_tab-content-border-top-status: true
+    );
+}
+

Accordion

The .lib-data-accordion() mixin is used to setup accordion parameters. Accordion has the same markup as tabs.

-
.example-sections-3 {
-    .lib-data-accordion();
-}

Accordion mixin variables

+

+.example-sections-3 {
+    .lib-data-accordion();
+}
+

Accordion mixin variables

     
@@ -470,7 +476,7 @@
-

Responsive tabs

+

Responsive tabs

Since tabs and accordion have same markup, they can transform one into other by means of CSS and JavaScript. This can be used for responsive web design. For instance, for mobile version there is an accordion, for desctop version it is transformed to tabs. To implement this approach, use the .lib-data-accordion() mixin for mobile version, and the .lib-data-tabs() mixin for desctop version.

-
@media only screen and (max-width: 99999px) {
-    .example-sections-4 {
-        .lib-data-tabs();
-    }
-}
-
-@media only screen and (max-width: @screen__m) {
-    .example-sections-4 {
-        .lib-data-accordion();
-    }
-}

Tabs Base

+

+@media only screen and (max-width: 99999px) {
+    .example-sections-4 {
+        .lib-data-tabs();
+    }
+}
+
+@media only screen and (max-width: @screen__m) {
+    .example-sections-4 {
+        .lib-data-accordion();
+    }
+}
+

Tabs Base

The .lib-data-tabs__base() mixin sets basic tabs styles.

-
.example-sections-5 {
-    .lib-data-tabs__base();
-}

Accordion Base

+

+.example-sections-5 {
+    .lib-data-tabs__base();
+}
+

Accordion Base

The .lib-data-accordion__base() mixin sets basic accordion styles. Data accordion uses the same markup as data tabs.

-
.example-sections-6 {
-    .lib-data-accordion__base();
-}
+

+.example-sections-6 {
+    .lib-data-accordion__base();
+}
diff --git a/lib/web/css/docs/source/_utilities.less b/lib/web/css/docs/source/_utilities.less index 23a091026f201..191c3638a803b 100644 --- a/lib/web/css/docs/source/_utilities.less +++ b/lib/web/css/docs/source/_utilities.less @@ -370,15 +370,18 @@ // # .lib-url-check() // -// The .lib-url-check() mixin wraps variable with "url( ... )" and return @lib-url-check-output variable. Can be used with .lib-css() mixin. +// The .lib-url-check() mixin wraps passed value with 'url( ... )' and returns @lib-url-check-output variable. Can be used with .lib-css() mixin. // .example-url-check { - @_icon-image: '/image/test.png'; // set image path variable + // set image path variable + @_icon-image: '/images/test.png'; - .lib-url-check(@_icon-image); // "call" the mixin + // "call" the mixin + .lib-url-check(@_icon-image); - .lib-css(background-image, @lib-url-check-output); // will return url('/image/test.png') + // will return url('/images/test.png') + .lib-css(background, #eee @lib-url-check-output no-repeat 0 0); } // @@ -386,27 +389,30 @@ // // ``` //
-// Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.. +// Block with background. //
// ``` // .example-url-check { - @_icon-image: false; // set usage image path to false + // set usage image path to false + @_icon-image: false; - .lib-url-check(@_icon-image); // "call" the mixin + // "call" the mixin + .lib-url-check(@_icon-image); - .lib-css(background-image, @lib-url-check-output); // will return 'false' and outputs nothing + // will return 'false' and outputs nothing + .lib-css(background, #eee @lib-url-check-output no-repeat 0 0); } // ``` //
-// Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.. +// Block with no background. //
// ``` // -// # .lib-css() variables +// # .lib-url-check() variables // //
 //    
@@ -420,7 +426,7 @@
 //            
 //            
 //            
-//            
+//            
 //        
 //    
@_path'' | false | value@lib-url-check-outputPassed url to wrapp in 'url( ... )'. If the 'false' value passed mixin will return 'false'.Passed url to wrap in 'url( ... )'. If the 'false' value passed mixin will return 'false'.
//
diff --git a/lib/web/css/docs/tables.html b/lib/web/css/docs/tables.html index f55bdfdb9ff9f..98004fd7bce8b 100644 --- a/lib/web/css/docs/tables.html +++ b/lib/web/css/docs/tables.html @@ -1,12 +1,12 @@ - - + + tables | Magento UI Library -

Tables

+

Tables

Table cells padding, width and bottom margin customization options.

-
.example-table-1 {
-    .lib-table();
-}

Table mixin variables

+

+.example-table-1 {
+    .lib-table();
+}
+

Table mixin variables

     
@@ -108,7 +110,7 @@
         
-

Table typography

+

Table typography

The .lib-table-typography() mixin provides table typography customization options.

-
.example-table-2 {
-    .lib-table-typography();
-}

Table typography mixin variables

+

+.example-table-2 {
+    .lib-table-typography();
+}
+

Table typography mixin variables

     
@@ -258,7 +262,7 @@
         
-

Table caption

+

Table caption

The .lib-table-caption() mixin is used to customize table caption.

-
.example-table-3 {
-    .lib-table();
-    .lib-table-caption(@_table-caption-color: #f00);
-}

Table caption mixin variables

+

+.example-table-3 {
+    .lib-table();
+    .lib-table-caption(@_table-caption-color: #f00);
+}
+

Table caption mixin variables

     
@@ -397,7 +403,7 @@
         
-

Table cells resize

+

Table cells resize

The .lib-table-resize() mixin provides table header cells and table cells paddings reset.

-
.example-table-4 {
-    .lib-table();
-    .lib-table-resize(
-        @_td-padding-top: 15px,
-        @_td-padding-right: 25px,
-        @_td-padding-bottom: 5px,
-        @_td-padding-left: 0,
-        @_th-padding-top: 15px,
-        @_th-padding-right: 25px,
-        @_th-padding-bottom: 10px,
-        @_th-padding-left: 0
-    );
-}

Table cells resize variables

+

+.example-table-4 {
+    .lib-table();
+    .lib-table-resize(
+        @_td-padding-top: 15px,
+        @_td-padding-right: 25px,
+        @_td-padding-bottom: 5px,
+        @_td-padding-left: 0,
+        @_th-padding-top: 15px,
+        @_th-padding-right: 25px,
+        @_th-padding-bottom: 10px,
+        @_th-padding-left: 0
+    );
+}
+

Table cells resize variables

     
@@ -533,7 +541,7 @@
         
-

Table background customization

+

Table background customization

The .lib-table-background-color() mixin provides table cells background customization options.

-
.example-table-5 {
-    .lib-table();
-    .lib-table-background-color(
-        @_table-background-color: #fff,
-        @_table-head-background-color: #ccf,
-        @_table-foot-background-color: #cff,
-        @_table-td-background-color: #fcc,
-        @_table-body-th-background-color: #ffc
-    );
-}

Table background mixin variables

+

+.example-table-5 {
+    .lib-table();
+    .lib-table-background-color(
+        @_table-background-color: #fff,
+        @_table-head-background-color: #ccf,
+        @_table-foot-background-color: #cff,
+        @_table-td-background-color: #fcc,
+        @_table-body-th-background-color: #ffc
+    );
+}
+

Table background mixin variables

     
@@ -648,7 +658,7 @@
         
-

Table borders customization

+

Table borders customization

The .lib-table-bordered() mixin provides table borders customization options. To setup table borders use the following allowed values for the @_type variable:

  normal - all borders are set up
   horizontal - table head and table cells have only horizontal borders
@@ -718,10 +728,12 @@
             </tr>
         </tbody>
     </table>
-
.example-table-6 {
-    .lib-table();
-    .lib-table-bordered();
-}

Table borders mixin variables

+

+.example-table-6 {
+    .lib-table();
+    .lib-table-bordered();
+}
+

Table borders mixin variables

     
@@ -756,7 +768,7 @@
         
-

Table with horizontal borders

+

Table with horizontal borders

To set only horizontal borders for a table use:

  .lib-table-bordered(@_table_type: horizontal)
-
.example-table-7 {
-    .lib-table();
-    .lib-table-bordered(
-        @_table_type: horizontal
-    );
-}

Table with vertical borders

+

+.example-table-7 {
+    .lib-table();
+    .lib-table-bordered(
+        @_table_type: horizontal
+    );
+}
+

Table with vertical borders

To set only horizontal borders for a table use:

  .lib-table-bordered(@_table_type: vertical)
-
.example-table-8 {
-    .lib-table();
-    .lib-table-bordered(
-        @_table_type: vertical
-    );
-}

Table with light borders

+

+.example-table-8 {
+    .lib-table();
+    .lib-table-bordered(
+        @_table_type: vertical
+    );
+}
+

Table with light borders

To set bottom borders only for a table caption use:

  .lib-table-bordered(@_table_type: light)
-
.example-table-9 {
-    .lib-table();
-    .lib-table-bordered(
-        @_table_type: light
-    );
-}

Table without borders

+

+.example-table-9 {
+    .lib-table();
+    .lib-table-bordered(
+        @_table_type: light
+    );
+}
+

Table without borders

To clear all table borders use:

  .lib-table-bordered(@_table_type: clear)
-
.example-table-10 {
-    .lib-table();
-    .lib-table-bordered(
-        @_table_type: clear
-    );
-}

Striped table

+

+.example-table-10 {
+    .lib-table();
+    .lib-table-bordered(
+        @_table_type: clear
+    );
+}
+

Striped table

The .lib-table-striped() mixin sets color backgrounds to table rows.

-
.example-table-11 {
-    .lib-table();
-    .lib-table-striped(
-        @_stripped-background-color: #ffc,
-        @_stripped-color: #000,
-        @_stripped-direction: horizontal,
-        @_stripped-highlight: even
-    );
-}

Striped table mixin variables

+

+.example-table-11 {
+    .lib-table();
+    .lib-table-striped(
+        @_stripped-background-color: #ffc,
+        @_stripped-color: #000,
+        @_stripped-direction: horizontal,
+        @_stripped-highlight: even
+    );
+}
+

Striped table mixin variables

     
@@ -1153,7 +1175,7 @@
         
-

Table with rows hover

+

Table with rows hover

The .lib-table-hover() mixin sets color backgrounds to hovered table rows.

-
.example-table-12 {
-    .lib-table();
-    .lib-table-hover();
-}

Table with rows hover mixin variables

+

+.example-table-12 {
+    .lib-table();
+    .lib-table-hover();
+}
+

Table with rows hover mixin variables

     
@@ -1244,7 +1268,7 @@
         
-

Responsive table technics #1

+

Responsive table technics #1

Magento UI library employs two responsive tables technics which are applyed by calling an appropriate mixin.

The .lib-table-overflow() mixin adds a horizontal scrollbar for a table. This mixin accepts no variables.

-
.example-table-13 {
-    .lib-table();
-    .lib-table-bordered();
-    .lib-table-striped();
-    .lib-table-hover();
-}
-
-@media only screen and (max-width: @screen__m) {
-    .example-table-14 {
-        .lib-table-overflow();
-    }
-}

Responsive table technics #2

+

+.example-table-13 {
+    .lib-table();
+    .lib-table-bordered();
+    .lib-table-striped();
+    .lib-table-hover();
+}
+
+@media only screen and (max-width: @screen__m) {
+    .example-table-14 {
+        .lib-table-overflow();
+    }
+}
+

Responsive table technics #2

The .lib-table-responsive() mixin rearranges table cells for mobile version.

-
.example-table-15 {
-    .lib-table();
-    .lib-table-bordered();
-    .lib-table-striped();
-    .lib-table-hover();
-}
-
-@media only screen and (max-width: @screen__m) {
-    .example-table-15 {
-        .lib-table-responsive(
-            @_table-background-color-responsive: #cff,
-            @_table-th-background-color-responsive: #ffc,
-            @_reset-table-striped: true,
-            @_reset-table-hover: true
-        );
-    }
-}

Responsive table technics #2 mixin variables

+

+.example-table-15 {
+    .lib-table();
+    .lib-table-bordered();
+    .lib-table-striped();
+    .lib-table-hover();
+}
+
+@media only screen and (max-width: @screen__m) {
+    .example-table-15 {
+        .lib-table-responsive(
+            @_table-background-color-responsive: #cff,
+            @_table-th-background-color-responsive: #ffc,
+            @_reset-table-striped: true,
+            @_reset-table-hover: true
+        );
+    }
+}
+

Responsive table technics #2 mixin variables

     
@@ -1446,4 +1474,4 @@
         
-
+
diff --git a/lib/web/css/docs/tooltips.html b/lib/web/css/docs/tooltips.html index 1ef8c71707035..d8fcc4ca53a0c 100644 --- a/lib/web/css/docs/tooltips.html +++ b/lib/web/css/docs/tooltips.html @@ -1,33 +1,35 @@ - - + + tooltips | Magento UI Library -

Tooltips

+

Tooltips

Magento UI library provides 4 tooltip types:

  top
   bottom
   left
   right
-
.example-tooltip-bottom {
-    .lib-tooltip(bottom);
-}
-
-.example-tooltip-left {
-    .lib-tooltip(left);
-}
-
-.example-tooltip-right {
-    .lib-tooltip(right);
-}
-
-.example-tooltip-top {
-    .lib-tooltip(top);
-}

Tooltips variables

+

+.example-tooltip-bottom {
+    .lib-tooltip(bottom);
+}
+
+.example-tooltip-left {
+    .lib-tooltip(left);
+}
+
+.example-tooltip-right {
+    .lib-tooltip(right);
+}
+
+.example-tooltip-top {
+    .lib-tooltip(top);
+}
+

Tooltips variables

     
@@ -164,4 +166,4 @@
         
-
+
diff --git a/lib/web/css/docs/typography.html b/lib/web/css/docs/typography.html index 66b06296bcfaf..613311e497a6a 100644 --- a/lib/web/css/docs/typography.html +++ b/lib/web/css/docs/typography.html @@ -1,12 +1,12 @@ - - + + typography | Magento UI Library -

Typogrphy

+

Typogrphy

Magento UI library provides mixins for typography styling. To configure typography, global variables from _variables.less file are used.

To apply all Magento UI library typography, use the .lib-typography-all() mixin. It accumulates all typography mixins and sets all typography for the theme. This mixin is included in the .lib-magento-reset() mixin. So, if you use this reset, you don't have to call basic typography separately. Also, you don't have to apply this mixin to any class, just call it globally.

Additionally, Magento UI library provides number of mixins to customize typography parameters separately.

@@ -56,7 +56,9 @@ <h5>Header Level 5</h5> <dl><dt>Definition list</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd><dt>Lorem ipsum dolor sit amet</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd></dl> <h6>Header Level 6</h6> -
.lib-typography-all();

Typography variables

+

+.lib-typography-all();
+

Typography variables

     
@@ -859,7 +861,7 @@
         
-

Font-size mixin

+

Font-size mixin

The .lib-font-size() mixin calculates font-size in rem with fallback in px

Less code:

  .example-typography-1 {
@@ -871,9 +873,11 @@
       font-size: 2.5rem;
   }
-
.example {
-    .lib-font-size(25);
-}

Line-height mixin

+

+.example {
+    .lib-font-size(25);
+}
+

Line-height mixin

The .lib-line-height() mixin calculates line-height in rem with fallback in px

Less code:

  .example-line-height {
@@ -885,18 +889,22 @@
       line-height: 3rem;
   }
-
.example-line-height {
-    .lib-line-height(30);
-}

Word breaking mixin

+

+.example-line-height {
+    .lib-line-height(30);
+}
+

Word breaking mixin

The .lib-wrap-words() mixin specifies word breaking rules. Background and block width are added to display this example.

-
.example-word-wrap {
-    .lib-wrap-words();
-    background: #ccc;
-    width: 120px;
-}

Font face mixin

+

+.example-word-wrap {
+    .lib-wrap-words();
+    background: #ccc;
+    width: 120px;
+}
+

Font face mixin

The .lib-font-face() mixin is used to set up custom font.

    .lib-font-face(
         @family-name,
@@ -917,23 +925,27 @@
         }
     }

 

-

Text overflow mixin

+

Text overflow mixin

The .lib-text-overflow() mixin is used to add ellipsis ("...") when a text overflows the containing element. Background and block width are added to display this example.

-
.example-text-overflow {
-    .lib-text-overflow();
-    background: #ccc;
-    width: 120px;
-}

Text hide

+

+.example-text-overflow {
+    .lib-text-overflow();
+    background: #ccc;
+    width: 120px;
+}
+

Text hide

The .lib-text-hide() mixin hides a text of the element the mixin is applyed to.

-
.example-text-hide {
-    .lib-text-hide();
-}

Hyphens

+

+.example-text-hide {
+    .lib-text-hide();
+}
+

Hyphens

The .lib-hyphens() mixin sets hyphens CSS property with browser prefixes. It accepts the @mode variable with following accessible values:

  none
   manual
@@ -945,20 +957,24 @@
   <p class="example-hyphens-none"  style="width:50px;" lang="en">
       An extremely long English word
   </p>
-
.example-hyphens {
-    .lib-hyphens();
-}
-
-.example-hyphens-none {
-    .lib-hyphens(none);
-}

Font style and color

+

+.example-hyphens {
+    .lib-hyphens();
+}
+
+.example-hyphens-none {
+    .lib-hyphens(none);
+}
+

Font style and color

The .lib-typography() mixin is used to set font style and font color of the element.

-
.example-typography {
-    .lib-typography(30, #fc0, @font-family__monospace, 500, 1.2, italic);
-}

Font style mixin variables

+

+.example-typography {
+    .lib-typography(30, #fc0, @font-family__monospace, 500, 1.2, italic);
+}
+

Font style mixin variables

     
@@ -1005,7 +1021,7 @@
         
-

Reset list styles

+

Reset list styles

The .lib-list-reset-styles() mixin resets browser default list style and sets its margins and paddings.

Default list style:

-
.example-list-reset-styles {
-    .lib-list-reset-styles();
-}

Reset list styles variables

+

+.example-list-reset-styles {
+    .lib-list-reset-styles();
+}
+

Reset list styles variables

     
@@ -1043,7 +1061,7 @@
         
-

Inline-block list item styling

+

Inline-block list item styling

The .lib-list-inline() mixin resets browser default list style and sets its list items display property to display: inline-block.

Default list style:

-
.example-list-inline {
-    .lib-list-inline();
-}

Heading styling mixin

+

Heading styling mixin

The .lib-heading() mixin is used to set heading styles to an element. To use this mixin, set the type of heading that you want to inherit styles from. The mixin uses global heading variables.

-
.example-heading {
-    .lib-heading(h1);
-}
-.example-heading-2 {
-    .lib-heading(h2);
-}

Base typography mixins

+

+.example-heading {
+    .lib-heading(h1);
+}
+.example-heading-2 {
+    .lib-heading(h2);
+}
+

Base typography mixins

Magento UI library offers mixins to styles elements sets.

The .lib-typography__base() mixin applyes basic styles from _variables.less to the following elements:

  html
@@ -1156,7 +1180,9 @@
 
-
.lib-typography__base();

Headings typography mixin

+

+.lib-typography__base();
+

Headings typography mixin

The .lib-typography-headings() mixin is used to style all H1-H6 headings. This mixin uses settings from global variables list.

-
.lib-typography-headings();

Typography lists mixin

+

+.lib-typography-links();
+

Typography lists mixin

The .lib-typography-lists() mixin is used to apply styles to all ordered, unordered, and definition lists. This mixin uses settings from global variables list.

-
.lib-typography-lists();

Typography code elements mixin

+

+.lib-typography-lists();
+

Typography code elements mixin

.lib-typography-code() mixin is used to apply styles to the following code elements:

  code
   kbd
@@ -1208,10 +1240,13 @@
     height: 80px;
   } </code></pre>
   <p>Vestibulum tortor quam, feugiat <kbd>Keyboard input</kbd> vitae, ultricies eget, tempor sit amet, ante.</p>
-
.lib-typography-code();

Typography blockquote

+

+.lib-typography-code();
+

Typography blockquote

The .lib-typography-blockquote() mixin is used to apply styles to blockquote elements. This mixin uses settings from global variables list.

-
.lib-typography-blockquote();
+

+.lib-typography-blockquote();
diff --git a/lib/web/css/docs/utilities.html b/lib/web/css/docs/utilities.html index a7b98aa062c90..b300887caca4a 100644 --- a/lib/web/css/docs/utilities.html +++ b/lib/web/css/docs/utilities.html @@ -1,12 +1,12 @@ - - + + utilities | Magento UI Library -

Utilities

+

Utilities

_utilities.less is a reuseable collection of basic Less mixins.

.lib-clearfix()

The .lib-clearfix() mixin is a modern solution for healing container`s height which have floated elements. Also its applying prevents top-margins from collapsing.

@@ -27,21 +27,25 @@ Float right </div> </div> -
.example-clearfix-container-1 {
-    border: 1px solid #f00;
-}
-
-.example-clearfix-container-2 {
-    .lib-clearfix();
-    border: 1px solid #0f0;
-}
-
-.example-clearfix-item.left {
-    float: left;
-}
-.example-clearfix-item.right {
-    float: right;
-}

.lib-visibility-hidden()

+

+.example-clearfix-container-1 {
+    border: 1px solid #f00;
+}
+
+.example-clearfix-container-2 {
+    .lib-clearfix();
+    border: 1px solid #0f0;
+}
+
+.example-clearfix-item.left {
+    float: left;
+}
+.example-clearfix-item.right {
+    float: right;
+}
+
+
+

.lib-visibility-hidden()

The .lib-visibility-hidden()() mixin changes element`s visibility to hidden and height to 0.

This is a block with applied .lib-visibility-hidden() mixin.

-
.example-visibility-hidden {
-    .lib-visibility-hidden();
-}

.lib-visually-hidden()

+

+.example-visibility-hidden {
+    .lib-visibility-hidden();
+}
+
+
+

.lib-visually-hidden()

The .lib-visually-hidden() mixin safely hides the element for accessibility reasons.

This is a block with applied .lib-visually-hidden() mixin.

-
.example-visually-hidden-1 {
-    .lib-visually-hidden();
-}

.lib-visually-hidden-reset()

+

+.example-visually-hidden-1 {
+    .lib-visually-hidden();
+}
+
+
+

.lib-visually-hidden-reset()

The .lib-visually-hidden-reset() mixin resets hidden visibility and makes element again visible.

This is a block with applied .lib-visually-hidden-reset() mixin after .lib-visually-hidden() applying.

-
.example-visually-hidden-2 {
-    background: #fdf0d5;
-    padding: 5px;
-    .lib-visually-hidden();
-}
-
-.example-visually-hidden-2 {
-    .lib-visually-hidden-reset();
-}

.lib-css()

+

+.example-visually-hidden-2 {
+    background: #fdf0d5;
+    padding: 5px;
+    .lib-visually-hidden();
+}
+
+.example-visually-hidden-2 {
+    .lib-visually-hidden-reset();
+}
+
+
+

.lib-css()

The .lib-css() mixin is used to set any css property if there is a value passed to it by a variable. Also .lib-css() can add -ms-, -webkit- and -moz- prefixes if needed.

If the variable is set to false, the .lib-css() mixin will add nothing to the code.

-
.example-css-container {
-    .lib-css(padding, @indent__base);
-    .lib-css(background, @secondary__color);
-}
-
-
-.example-css-container-2 {
-    .lib-css(background, false);
-}

.lib-css() variables

+

+.example-css-container {
+    .lib-css(padding, @indent__base);
+    .lib-css(background, @secondary__color);
+}
+
+
+.example-css-container-2 {
+    .lib-css(background, false);
+}
+
+

.lib-css() variables

     
@@ -122,18 +141,21 @@
         
-

.lib-rotate()

+

.lib-rotate()

The .lib-rotate() mixin is a wrapper for css3 transform property with rotate value.

-
.example-rotate {
-    background: #f00;
-    position: absolute;
-    height: 20px;
-    width: 40px;
-    .lib-rotate(
-        @_rotation: 45deg;
-    );
-}

.lib-rotate() variables

+

+.example-rotate {
+    background: #f00;
+    position: absolute;
+    height: 20px;
+    width: 40px;
+    .lib-rotate(
+        @_rotation: 45deg;
+    );
+}
+
+

.lib-rotate() variables

     
@@ -150,12 +172,15 @@
         
-

.lib-input-placeholder()

+

.lib-input-placeholder()

The .lib-input-placeholder() mixin is used to change placeholder font-color and font-weight.

-
.example-placeholder {
-    .lib-input-placeholder(#808080, bold);
-}

.lib-input-placeholder() variables

+

+.example-placeholder {
+    .lib-input-placeholder(#808080, bold);
+}
+
+

.lib-input-placeholder() variables

     
@@ -178,7 +203,7 @@
         
-

.lib-background-gradient()

+

.lib-background-gradient()

The .lib-background-gradient() mixin is used for applying custom css3 gradient.

-
.example-background-gradient-1 {
-    .lib-background-gradient(
-        @_background-gradient: true,
-        @_background-gradient-direction: vertical,
-        @_background-gradient-color-start: #cff,
-        @_background-gradient-color-end: #ccf
-    );
-}
-
-.example-background-gradient-2 {
-    .lib-background-gradient(
-        @_background-gradient: true,
-        @_background-gradient-direction: horizontal,
-        @_background-gradient-color-start: #cff,
-        @_background-gradient-color-end: #ccf
-    );
-}
-
-.example-background-gradient-3-wrapper {
-    background: #ffc;
-    padding: 10px;
-}
-
-.example-background-gradient-3 {
-    .lib-background-gradient(
-        @_background-gradient: true,
-        @_background-gradient-direction: horizontal,
-        @_background-gradient-color-start: rgba(255,255,255,0),
-        @_background-gradient-color-end: #ccf,
-        @_background-gradient-color-position: false
-    );
-}

.lib-background-gradient() variables

+

+.example-background-gradient-1 {
+    .lib-background-gradient(
+        @_background-gradient: true,
+        @_background-gradient-direction: vertical,
+        @_background-gradient-color-start: #cff,
+        @_background-gradient-color-end: #ccf
+    );
+}
+
+.example-background-gradient-2 {
+    .lib-background-gradient(
+        @_background-gradient: true,
+        @_background-gradient-direction: horizontal,
+        @_background-gradient-color-start: #cff,
+        @_background-gradient-color-end: #ccf
+    );
+}
+
+.example-background-gradient-3-wrapper {
+    background: #ffc;
+    padding: 10px;
+}
+
+.example-background-gradient-3 {
+    .lib-background-gradient(
+        @_background-gradient: true,
+        @_background-gradient-direction: horizontal,
+        @_background-gradient-color-start: rgba(255,255,255,0),
+        @_background-gradient-color-end: #ccf,
+        @_background-gradient-color-position: false
+    );
+}
+
+
+
+

.lib-background-gradient() variables

     
@@ -261,4 +291,53 @@
         
-
+

.lib-url-check()

+

The .lib-url-check() mixin wraps passed value with 'url( ... )' and returns @lib-url-check-output variable. Can be used with .lib-css() mixin.

+

If the variable is set to false, the .lib-url-check() will return false.

+ +

+.example-url-check {
+    //  set image path variable
+    @_icon-image: '/images/test.png';
+
+    //  "call" the mixin
+    .lib-url-check(@_icon-image);
+
+    //  will return url('/images/test.png')
+    .lib-css(background, #eee @lib-url-check-output no-repeat 0 0);
+}
+
+
+.example-url-check {
+    //  set usage image path to false
+    @_icon-image: false;
+
+    //  "call" the mixin
+    .lib-url-check(@_icon-image);
+
+    //  will return 'false' and outputs nothing
+    .lib-css(background, #eee @lib-url-check-output no-repeat 0 0);
+}
+
+

.lib-url-check() variables

+
+    
+        
+            
+            
+            
+            
+        
+        
+            
+            
+            
+            
+        
+    
Mixin variableAllowed valuesOutput variableComment
@_path'' | false | value@lib-url-check-outputPassed url to wrap in 'url( ... )'. If the 'false' value passed mixin will return 'false'.
+
+
diff --git a/lib/web/css/docs/variables.html b/lib/web/css/docs/variables.html index 13d060ab0987f..4f62f014d57e1 100644 --- a/lib/web/css/docs/variables.html +++ b/lib/web/css/docs/variables.html @@ -6,7 +6,7 @@ --> variables | Magento UI Library -

List of Global Variables

+

List of Global Variables

Typography

The .lib-typography-all() mixin variables

@@ -6062,4 +6062,4 @@ 

Cross Components variables

-
+
From 50ac5484c2e7965c2c96f8881c97a93204ee9a98 Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Mon, 23 Nov 2015 15:28:04 +0200 Subject: [PATCH 5/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/source/lib/_icons.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web/css/source/lib/_icons.less b/lib/web/css/source/lib/_icons.less index 9324daddc84f6..aa8b8fa8cde13 100644 --- a/lib/web/css/source/lib/_icons.less +++ b/lib/web/css/source/lib/_icons.less @@ -289,7 +289,7 @@ ) { .lib-url-check(@_icon-image); - .lib-css(background-image, @lib-url-check-output); + .lib-css(background-image, @lib-url-check-output); // @lib-url-check-output is a returned variable of .lib-url-check() mixin .lib-css(line-height, @_icon-image-height); .lib-css(margin, @_icon-image-margin); .lib-css(vertical-align, @_icon-image-vertical-align); From 29079bfe7c56c483d00e6e4849217adde71ae7d9 Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Mon, 23 Nov 2015 17:34:09 +0200 Subject: [PATCH 6/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/docs/source/_utilities.less | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/web/css/docs/source/_utilities.less b/lib/web/css/docs/source/_utilities.less index 191c3638a803b..ede07981650d9 100644 --- a/lib/web/css/docs/source/_utilities.less +++ b/lib/web/css/docs/source/_utilities.less @@ -374,13 +374,13 @@ // .example-url-check { - // set image path variable + // Set image path variable @_icon-image: '/images/test.png'; - // "call" the mixin + // "Call" the mixin .lib-url-check(@_icon-image); - // will return url('/images/test.png') + // Will return url('/images/test.png') .lib-css(background, #eee @lib-url-check-output no-repeat 0 0); } @@ -395,13 +395,13 @@ // .example-url-check { - // set usage image path to false + // Set usage image path to false @_icon-image: false; - // "call" the mixin + // "Call" the mixin .lib-url-check(@_icon-image); - // will return 'false' and outputs nothing + // Will return 'false' and outputs nothing .lib-css(background, #eee @lib-url-check-output no-repeat 0 0); } From 48d0cbd7ce2014ef840e81114f741e1500f6160d Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Tue, 24 Nov 2015 13:35:47 +0200 Subject: [PATCH 7/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/source/lib/_icons.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/web/css/source/lib/_icons.less b/lib/web/css/source/lib/_icons.less index 8a00a2b6d007e..1f7653994414f 100644 --- a/lib/web/css/source/lib/_icons.less +++ b/lib/web/css/source/lib/_icons.less @@ -297,6 +297,8 @@ .lib-url-check(@_icon-image); .lib-css(background-image, @lib-url-check-output); // @lib-url-check-output is a returned variable of .lib-url-check() mixin + .lib-css(background-position-x, @_icon-image-position-x); + .lib-css(background-position-y, @_icon-image-position-y); .lib-css(line-height, @_icon-image-height); .lib-css(margin, @_icon-image-margin); .lib-css(vertical-align, @_icon-image-vertical-align); @@ -304,8 +306,6 @@ @_icon-image-width, @_icon-image-height ); - background-position-x: @_icon-image-position-x; - background-position-y: @_icon-image-position-y; background-repeat: no-repeat; content: ''; display: inline-block; From 5f06a65b7a458138f64813705ba1f47d2d9febc1 Mon Sep 17 00:00:00 2001 From: Olga Lytvynenko Date: Thu, 26 Nov 2015 19:45:14 +0200 Subject: [PATCH 8/9] MAGETWO-44595: Inconsistent use of Framework utilities --- lib/web/css/docs/actions-toolbar.html | 2 +- lib/web/css/docs/breadcrumbs.html | 2 +- lib/web/css/docs/buttons.html | 2 +- lib/web/css/docs/components.html | 2 +- lib/web/css/docs/docs.css | 76 +++++++++++++------------- lib/web/css/docs/docs.html | 2 +- lib/web/css/docs/dropdowns.html | 2 +- lib/web/css/docs/forms.html | 2 +- lib/web/css/docs/icons.html | 2 +- lib/web/css/docs/layout.html | 2 +- lib/web/css/docs/lib.html | 2 +- lib/web/css/docs/loaders.html | 2 +- lib/web/css/docs/messages.html | 2 +- lib/web/css/docs/pages.html | 2 +- lib/web/css/docs/popups.html | 2 +- lib/web/css/docs/rating.html | 2 +- lib/web/css/docs/resets.html | 2 +- lib/web/css/docs/responsive.html | 2 +- lib/web/css/docs/sections.html | 2 +- lib/web/css/docs/tables.html | 2 +- lib/web/css/docs/tooltips.html | 2 +- lib/web/css/docs/typography.html | 2 +- lib/web/css/docs/utilities.html | 14 ++--- lib/web/css/docs/variables.html | 2 +- lib/web/css/source/lib/_dropdowns.less | 4 +- 25 files changed, 69 insertions(+), 69 deletions(-) diff --git a/lib/web/css/docs/actions-toolbar.html b/lib/web/css/docs/actions-toolbar.html index 2b8feca4bed9f..27d6e860f017e 100644 --- a/lib/web/css/docs/actions-toolbar.html +++ b/lib/web/css/docs/actions-toolbar.html @@ -6,7 +6,7 @@ --> actions-toolbar | Magento UI Library -

Actions toolbar

+

Actions toolbar

Actions toolbar is a set of actions on a page, form and so on that includes primary and/or secondary actions. To customize action toolbar .lib-actions-toolbar() mixin is used. To implement the Actions toolbar use the following markup

diff --git a/lib/web/css/docs/breadcrumbs.html b/lib/web/css/docs/breadcrumbs.html index fcf2752f24381..46f4e57dd6859 100644 --- a/lib/web/css/docs/breadcrumbs.html +++ b/lib/web/css/docs/breadcrumbs.html @@ -6,7 +6,7 @@ --> breadcrumbs | Magento UI Library -