mirror of
				https://github.com/mdbootstrap/mdb-ui-kit.git
				synced 2025-10-31 07:57:45 +03:00 
			
		
		
		
	wip prototype for mdb-collapse-inline with an mdb-btn-icon and a field i.e. search field. Need to add a js class to ease use/markup and add focusing behavior.
This commit is contained in:
		
							parent
							
								
									97aeda22aa
								
							
						
					
					
						commit
						ee7d22070f
					
				|  | @ -57,9 +57,9 @@ cdn: | ||||||
|   font_icons:     https://fonts.googleapis.com/icon?family=Material+Icons |   font_icons:     https://fonts.googleapis.com/icon?family=Material+Icons | ||||||
| 
 | 
 | ||||||
|   # VERSION is substituted in variables.rb and these are made available as site.data.cdn.* |   # VERSION is substituted in variables.rb and these are made available as site.data.cdn.* | ||||||
|   jquery:         https://ajax.googleapis.com/ajax/libs/jquery/VERSION/jquery.min.js |   jquery:         https://ajax.googleapis.com/ajax/libs/jquery/VERSION/jquery | ||||||
|   bootstrap:      https://cdn.rawgit.com/twbs/bootstrap/VERSION/dist/js/bootstrap.min.js |   bootstrap:      https://cdn.rawgit.com/twbs/bootstrap/VERSION/dist/js/bootstrap | ||||||
|   tether:         https://cdn.rawgit.com/HubSpot/tether/vVERSION/dist/js/tether.min.js |   tether:         https://cdn.rawgit.com/HubSpot/tether/vVERSION/dist/js/tether | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -16,14 +16,17 @@ | ||||||
|   </div> |   </div> | ||||||
| </footer> | </footer> | ||||||
| 
 | 
 | ||||||
| <script src="{{ site.data.cdn.jquery }}"></script> |  | ||||||
| <script src="{{ site.data.cdn.tether }}"></script> |  | ||||||
| <script src="{{ site.data.cdn.bootstrap }}"></script> |  | ||||||
| 
 | 
 | ||||||
| <script src="{{ site.baseurl }}/dist/js/docs-vendor.min.js"></script> | <script src="{{ site.baseurl }}/dist/js/docs-vendor.min.js"></script> | ||||||
| {% if site.data.minified %} | {% if site.data.minified %} | ||||||
|  |   <script src="{{ site.data.cdn.jquery }}.min.js"></script> | ||||||
|  |   <script src="{{ site.data.cdn.tether }}.min.js"></script> | ||||||
|  |   <script src="{{ site.data.cdn.bootstrap }}.min.js"></script> | ||||||
|   <script src="{{ site.baseurl }}/dist/js/docs.iife.min.js"></script> |   <script src="{{ site.baseurl }}/dist/js/docs.iife.min.js"></script> | ||||||
| {% else %} | {% else %} | ||||||
|  |   <script src="{{ site.data.cdn.jquery }}.js"></script> | ||||||
|  |   <script src="{{ site.data.cdn.tether }}.js"></script> | ||||||
|  |   <script src="{{ site.data.cdn.bootstrap }}.js"></script> | ||||||
|   <script src="{{ site.baseurl }}/dist/js/docs.iife.js"></script> |   <script src="{{ site.baseurl }}/dist/js/docs.iife.js"></script> | ||||||
| {% endif %} | {% endif %} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,6 +4,29 @@ title: Test | ||||||
| group: material-design | group: material-design | ||||||
| --- | --- | ||||||
| 
 | 
 | ||||||
|  | ## Collapse method for mdb-btn-icon and field | ||||||
| {% example html %} | {% example html %} | ||||||
| <button type="button" class="btn btn-primary">Primary</button> | <div class="mdb-form-group mdb-collapse-inline pull-xs-right"> | ||||||
|  |   <button class="btn mdb-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field"> | ||||||
|  |     <i class="material-icons">search</i> | ||||||
|  |   </button>   | ||||||
|  |   <span id="search-field" class="collapse width"> | ||||||
|  |     <input class="form-control" type="text" id="search" placeholder="Enter your query..."> | ||||||
|  |   </span> | ||||||
|  | </div> | ||||||
|  | {% endexample %} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ## With label-placeholder | ||||||
|  | Perhaps this isn't worth doing, considering the context.  we need to override the top calc to determine where this goes, or perhaps we should switch to a bottom calc for everything? | ||||||
|  | {% example html %} | ||||||
|  | <div class="mdb-form-group mdb-collapse-inline pull-xs-right"> | ||||||
|  |   <button class="btn mdb-btn-icon" for="search" data-toggle="collapse" data-target="#search-field2" aria-expanded="false" aria-controls="search-field2"> | ||||||
|  |     <i class="material-icons">search</i> | ||||||
|  |   </button>   | ||||||
|  |   <span id="search-field2" class="collapse width"> | ||||||
|  |     <label class="mdb-label-placeholder" for="search2">Enter your query...</label> | ||||||
|  |     <input class="form-control" type="text" id="search2"> | ||||||
|  |   </span> | ||||||
|  | </div> | ||||||
| {% endexample %} | {% endexample %} | ||||||
|  |  | ||||||
|  | @ -133,6 +133,35 @@ form { | ||||||
|     display: none; |     display: none; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   // Optional class to make the text field inline collapsible/expandable (collapsed by default) | ||||||
|  |   //    This uses the BS collapse js to make the width expand. | ||||||
|  |   //    `width` class must also be on the element FIXME: do this with JS, it is a marker class and should be implicit because after all, we are an mdb-collapse-inline | ||||||
|  |   //    FIXME: js needs to do the focus on shown.bs.collapse event http://v4-alpha.getbootstrap.com/components/collapse/#events | ||||||
|  |   &.mdb-collapse-inline { | ||||||
|  |     padding: 0; // get rid of any padding as this is a width transition | ||||||
|  | 
 | ||||||
|  |     // Expandable Holder. | ||||||
|  |     .collapse { | ||||||
|  |       &.in { | ||||||
|  |         // This is an unfortunate hack. Animating between widths in percent (%) | ||||||
|  |         // in many browsers (Chrome, Firefox) only animates the inner visual style | ||||||
|  |         // of the input - the outer bounding box still 'jumps'. | ||||||
|  |         // Thus assume a sensible maximum, and animate to/from that value. | ||||||
|  |         max-width: 600px; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .collapsing, | ||||||
|  |     .width:not(.collapse), // collapsing is removed and momentarily only width is present | ||||||
|  |     .collapse.in { | ||||||
|  |       display: inline-block; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .collapsing { | ||||||
|  |       @include material-animation-default(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   // default floating size/location with an mdb-form-group |   // default floating size/location with an mdb-form-group | ||||||
|   @include mdb-form-size-variant($font-size-base, $mdb-label-top-margin-base, $input-padding-y, $mdb-form-line-height, "mdb-form-group default"); |   @include mdb-form-size-variant($font-size-base, $mdb-label-top-margin-base, $input-padding-y, $mdb-form-line-height, "mdb-form-group default"); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,5 @@ | ||||||
| @import "mixins/utilities"; | @import "mixins/utilities"; | ||||||
|  | @import "mixins/animations"; | ||||||
| @import "mixins/shadows"; | @import "mixins/shadows"; | ||||||
| @import "mixins/variations"; | @import "mixins/variations"; | ||||||
| @import "mixins/forms"; | @import "mixins/forms"; | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
|  | // FIXME: re-examine organization of variables, files, ordering etc.  While the ordering works, we need to be sure this is more comprehensible. | ||||||
| @import "variables/colors"; | @import "variables/colors"; | ||||||
| 
 | 
 | ||||||
| // redefine ? TODO: do we need this mdb variant?  This is used as $body-color | // redefine ? TODO: do we need this mdb variant?  This is used as $body-color | ||||||
|  | @ -31,12 +32,14 @@ $mdb-label-color-inner-focus: $gray !default; // e.g. radio label or text-muted | ||||||
| @import "variables/bootstrap/type"; | @import "variables/bootstrap/type"; | ||||||
| @import "variables/bootstrap/modals"; | @import "variables/bootstrap/modals"; | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| // import their vars after customization for use below | // import their vars after customization for use below | ||||||
| $enable-flex: true; | $enable-flex: true; | ||||||
| @import "../bower_components/bootstrap/scss/variables"; | @import "../bower_components/bootstrap/scss/variables"; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | // | ||||||
|  | @import "variables/drawer"; | ||||||
|  | 
 | ||||||
| $mdb-label-color-focus: $brand-primary !default; | $mdb-label-color-focus: $brand-primary !default; | ||||||
| //--- | //--- | ||||||
| // verified in use with refactoring to v4 | // verified in use with refactoring to v4 | ||||||
|  | @ -65,6 +68,10 @@ $mdb-mdb-label-static-size-ratio: 75 / 100 !default; | ||||||
| $mdb-help-size-ratio: 75 / 100 !default; | $mdb-help-size-ratio: 75 / 100 !default; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | // expandable | ||||||
|  | $input-text-button-size: 32px !default; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| // sizing | // sizing | ||||||
| $mdb-form-line-height: 1 !default; // set as 1x font-size so that padding is easier calculated to match the spec. | $mdb-form-line-height: 1 !default; // set as 1x font-size so that padding is easier calculated to match the spec. | ||||||
| $mdb-label-top-margin-base: 1rem !default; | $mdb-label-top-margin-base: 1rem !default; | ||||||
|  | @ -117,10 +124,15 @@ $mdb-radio-color-on: $brand-primary !default; | ||||||
| $mdb-radio-color-disabled: $gray-light; // light theme spec: Disabled: #000000, Opacity  26% | $mdb-radio-color-disabled: $gray-light; // light theme spec: Disabled: #000000, Opacity  26% | ||||||
| $mdb-radio-color-disabled-inverse:  rgba($white, 0.30); // dark theme spec: Disabled: #FFFFFF, Opacity  30% | $mdb-radio-color-disabled-inverse:  rgba($white, 0.30); // dark theme spec: Disabled: #FFFFFF, Opacity  30% | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| // Shadows | // Shadows | ||||||
| $mdb-shadow-key-umbra-opacity: 0.2 !default; | $mdb-shadow-key-umbra-opacity: 0.2 !default; | ||||||
| $mdb-shadow-key-penumbra-opacity: 0.14 !default; | $mdb-shadow-key-penumbra-opacity: 0.14 !default; | ||||||
| $mdb-shadow-ambient-shadow-opacity: 0.12 !default; | $mdb-shadow-ambient-shadow-opacity: 0.12 !default; | ||||||
| 
 | 
 | ||||||
|  | // Animations | ||||||
|  | $mdb-animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default; | ||||||
|  | $mdb-animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default; | ||||||
|  | $mdb-animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default; | ||||||
|  | $mdb-animation-curve-default: $mdb-animation-curve-fast-out-slow-in !default; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								scss/mixins/_animations.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								scss/mixins/_animations.scss
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | ||||||
|  | // Animations (from mdl http://www.getmdl.io/) | ||||||
|  | 
 | ||||||
|  | @mixin material-animation-fast-out-slow-in($duration:0.2s) { | ||||||
|  |   transition-duration: $duration; | ||||||
|  |   transition-timing-function: $mdb-animation-curve-fast-out-slow-in; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @mixin material-animation-linear-out-slow-in($duration:0.2s) { | ||||||
|  |   transition-duration: $duration; | ||||||
|  |   transition-timing-function: $mdb-animation-curve-linear-out-slow-in; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @mixin material-animation-fast-out-linear-in($duration:0.2s) { | ||||||
|  |   transition-duration: $duration; | ||||||
|  |   transition-timing-function: $mdb-animation-curve-fast-out-linear-in; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @mixin material-animation-default($duration:0.2s) { | ||||||
|  |   transition-duration: $duration; | ||||||
|  |   transition-timing-function: $mdb-animation-curve-default; | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user