mirror of
				https://github.com/mdbootstrap/mdb-ui-kit.git
				synced 2025-10-31 07:57:45 +03:00 
			
		
		
		
	1.0.0-alpha2
This commit is contained in:
		
							parent
							
								
									ac9044887d
								
							
						
					
					
						commit
						df888936a2
					
				|  | @ -10,7 +10,7 @@ | ||||||
| 
 | 
 | ||||||
| **[>> Demo](https://mdbootstrap.com/docs/standard/#demo)** | **[>> Demo](https://mdbootstrap.com/docs/standard/#demo)** | ||||||
| 
 | 
 | ||||||
| <a href="https://npmcharts.com/compare/mdbootstrap?minimal=true"> <img src="https://img.shields.io/npm/dm/mdbootstrap.svg" alt="Downloads"></a><a href="https://github.com/mdbootstrap/bootstrap-material-design/blob/master/License.pdf"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a> <a href="https://cdnjs.com/libraries/mdbootstrap"> <img src="https://img.shields.io/cdnjs/v/mdbootstrap.svg" alt="cdnjs"></a> <a href="https://badge.fury.io/js/mdbootstrap"><img src="https://badge.fury.io/js/mdbootstrap.svg" alt="npm"></a> <a href="https://twitter.com/intent/tweet/?text=Thanks+@mdbootstrap+for+creating+amazing+and+free+Material+Design+for+Bootstrap+4+UI+KIT%20https://mdbootstrap.com/docs/jquery/&hashtags=javascript,code,webdesign,bootstrap"> <img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social"></a> | <a href="https://npmcharts.com/compare/mdbootstrap?minimal=true"> <img src="https://img.shields.io/npm/dm/mdbootstrap.svg" alt="Downloads"></a><a href="https://github.com/mdbootstrap/bootstrap-material-design/blob/master/License.pdf"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a> <a href="https://twitter.com/intent/tweet/?text=Thanks+@mdbootstrap+for+creating+amazing+and+free+Material+Design+for+Bootstrap+4+UI+KIT%20https://mdbootstrap.com/docs/jquery/&hashtags=javascript,code,webdesign,bootstrap"> <img src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social"></a> | ||||||
| ___ | ___ | ||||||
| 
 | 
 | ||||||
| <table> | <table> | ||||||
|  | @ -92,6 +92,4 @@ ___ | ||||||
| 
 | 
 | ||||||
| <a href="https://mdbootstrap.com/docs/standard/" alt="Bootstrap 5" rel="dofollow"><img src="https://mdbootstrap.com/img/Marketing/campaigns/demo-loaders1.gif"></a> | <a href="https://mdbootstrap.com/docs/standard/" alt="Bootstrap 5" rel="dofollow"><img src="https://mdbootstrap.com/img/Marketing/campaigns/demo-loaders1.gif"></a> | ||||||
| 
 | 
 | ||||||
| <a href="https://mdbootstrap.com/docs/standard/" alt="Bootstrap 5" rel="dofollow"><img src="https://mdbootstrap.com/img/Marketing/campaigns/demo-loaders2.gif"></a> |  | ||||||
| 
 |  | ||||||
| <a href="https://mdbootstrap.com/docs/standard/" alt="Bootstrap 5" rel="dofollow"><img src="https://mdbootstrap.com/img/Marketing/campaigns/demo-mdb5.jpg"></a> | <a href="https://mdbootstrap.com/docs/standard/" alt="Bootstrap 5" rel="dofollow"><img src="https://mdbootstrap.com/img/Marketing/campaigns/demo-mdb5.jpg"></a> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| MDB5 | MDB5 | ||||||
| Version: FREE 1.0.0-alpha1 | Version: FREE 1.0.0-alpha2 | ||||||
| 
 | 
 | ||||||
| Documentation: | Documentation: | ||||||
| https://mdbootstrap.com/docs/standard/ | https://mdbootstrap.com/docs/standard/ | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								css/mdb.min.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								css/mdb.min.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										18
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								index.html
									
									
									
									
									
								
							|  | @ -21,13 +21,17 @@ | ||||||
|   </head> |   </head> | ||||||
|   <body> |   <body> | ||||||
|     <!-- Start your project here--> |     <!-- Start your project here--> | ||||||
|     <div style="height: 100vh; text-align: center; margin-top: 150px;"> |     <div class="container"> | ||||||
|       <img |       <div class="d-flex justify-content-center align-items-center" style="height: 100vh;"> | ||||||
|         src="https://mdbootstrap.com/img/logo/mdb-transparent-250px.png" |         <div class="text-center"> | ||||||
|         style="width: 250px; height: 90px;" |           <img | ||||||
|       /> |             src="https://mdbootstrap.com/img/logo/mdb-transparent-250px.png" | ||||||
|       <h5>Thank you for using our product. We're glad you're with us.</h5> |             style="width: 250px; height: 90px;" | ||||||
|       <p>MDB Team</p> |           /> | ||||||
|  |           <h5 class="pt-3">Thank you for using our product. We're glad you're with us.</h5> | ||||||
|  |           <p class="pb-5">MDB Team</p> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|     </div> |     </div> | ||||||
|     <!-- End your project here--> |     <!-- End your project here--> | ||||||
|   </body> |   </body> | ||||||
|  |  | ||||||
							
								
								
									
										6
									
								
								js/mdb.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								js/mdb.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
|   "name": "mdb-ui-kit", |   "name": "mdb-ui-kit", | ||||||
|   "version": "1.0.0-alpha1", |   "version": "1.0.0-alpha2", | ||||||
|   "main": "js/mdb.min.js", |   "main": "js/mdb.min.js", | ||||||
|   "repository": "https://github.com/mdbootstrap/mdb-ui-kit.git", |   "repository": "https://github.com/mdbootstrap/mdb-ui-kit.git", | ||||||
|   "author": "MDBootstrap", |   "author": "MDBootstrap", | ||||||
|  |  | ||||||
|  | @ -16,11 +16,13 @@ const SELECTOR_EXPAND = '[data-toggle="animation"]'; | ||||||
| 
 | 
 | ||||||
| const DefaultType = { | const DefaultType = { | ||||||
|   animation: 'string', |   animation: 'string', | ||||||
|  |   start: 'string', | ||||||
|  |   showOnLoad: 'boolean', | ||||||
|   onStart: '(null|function)', |   onStart: '(null|function)', | ||||||
|   onEnd: '(null|function)', |   onEnd: '(null|function)', | ||||||
|   onHide: '(null|function)', |   onHide: '(null|function)', | ||||||
|   onShow: '(null|function)', |   onShow: '(null|function)', | ||||||
|   animateonscroll: '(boolean|string)', |   animateOnScroll: '(string)', | ||||||
|   windowHeight: 'number', |   windowHeight: 'number', | ||||||
|   offset: '(number|string)', |   offset: '(number|string)', | ||||||
|   delay: '(number|string)', |   delay: '(number|string)', | ||||||
|  | @ -28,15 +30,18 @@ const DefaultType = { | ||||||
|   reverse: 'boolean', |   reverse: 'boolean', | ||||||
|   interval: '(number|string)', |   interval: '(number|string)', | ||||||
|   repeat: '(number|boolean)', |   repeat: '(number|boolean)', | ||||||
|  |   reset: 'boolean', | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const Default = { | const Default = { | ||||||
|   animation: 'fade', |   animation: 'fade', | ||||||
|  |   start: 'onClick', | ||||||
|  |   showOnLoad: true, | ||||||
|   onStart: null, |   onStart: null, | ||||||
|   onEnd: null, |   onEnd: null, | ||||||
|   onHide: null, |   onHide: null, | ||||||
|   onShow: null, |   onShow: null, | ||||||
|   animateonscroll: false, |   animateOnScroll: 'once', | ||||||
|   windowHeight: 0, |   windowHeight: 0, | ||||||
|   offset: 0, |   offset: 0, | ||||||
|   delay: 0, |   delay: 0, | ||||||
|  | @ -44,6 +49,7 @@ const Default = { | ||||||
|   reverse: false, |   reverse: false, | ||||||
|   interval: 0, |   interval: 0, | ||||||
|   repeat: false, |   repeat: false, | ||||||
|  |   reset: false, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -82,10 +88,22 @@ class Animate { | ||||||
| 
 | 
 | ||||||
|   // Private
 |   // Private
 | ||||||
|   _init() { |   _init() { | ||||||
|     if (this._options.animateonscroll) { |     switch (this._options.start) { | ||||||
|       this._bindScrollEvents(); |       case 'onHover': | ||||||
|     } else { |         this._bindHoverEvents(); | ||||||
|       this._bindClickEvents(); |         break; | ||||||
|  |       case 'onLoad': | ||||||
|  |         this._startAnimation(); | ||||||
|  |         break; | ||||||
|  |       case 'onScroll': | ||||||
|  |         this._bindScrollEvents(); | ||||||
|  |         break; | ||||||
|  |       default: | ||||||
|  |         this._bindClickEvents(); | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     this._bindTriggerOnEndCallback(); | ||||||
|  |     if (this._options.reset) { | ||||||
|       this._bindResetAnimationAfterFinish(); |       this._bindResetAnimationAfterFinish(); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | @ -128,7 +146,7 @@ class Animate { | ||||||
|         this._hideAnimateElement(); |         this._hideAnimateElement(); | ||||||
|         break; |         break; | ||||||
|       case shouldBeVisible && !isElementVisible && this._repeatAnimateOnScroll: |       case shouldBeVisible && !isElementVisible && this._repeatAnimateOnScroll: | ||||||
|         if (this._options.animateonscroll !== 'repeat') { |         if (this._options.animateOnScroll !== 'repeat') { | ||||||
|           this._repeatAnimateOnScroll = false; |           this._repeatAnimateOnScroll = false; | ||||||
|         } |         } | ||||||
|         this._callback(this._options.onShow); |         this._callback(this._options.onShow); | ||||||
|  | @ -146,12 +164,12 @@ class Animate { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _addAnimatedClass() { |   _addAnimatedClass() { | ||||||
|     Manipulator.addClass(this._animateElement, 'animated'); |     Manipulator.addClass(this._animateElement, 'animation'); | ||||||
|     Manipulator.addClass(this._animateElement, this._options.animation); |     Manipulator.addClass(this._animateElement, this._options.animation); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _clearAnimationClass() { |   _clearAnimationClass() { | ||||||
|     this._animateElement.classList.remove(this._options.animation, 'animated'); |     this._animateElement.classList.remove(this._options.animation, 'animation'); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _startAnimation() { |   _startAnimation() { | ||||||
|  | @ -207,7 +225,6 @@ class Animate { | ||||||
| 
 | 
 | ||||||
|   _setAnimationInterval() { |   _setAnimationInterval() { | ||||||
|     EventHandler.on(this._animateElement, 'animationend', () => { |     EventHandler.on(this._animateElement, 'animationend', () => { | ||||||
|       this._callback(this._options.onEnd); |  | ||||||
|       this._clearAnimationClass(); |       this._clearAnimationClass(); | ||||||
|       setTimeout(() => { |       setTimeout(() => { | ||||||
|         this._addAnimatedClass(); |         this._addAnimatedClass(); | ||||||
|  | @ -225,17 +242,23 @@ class Animate { | ||||||
| 
 | 
 | ||||||
|   _bindResetAnimationAfterFinish() { |   _bindResetAnimationAfterFinish() { | ||||||
|     EventHandler.on(this._animateElement, 'animationend', () => { |     EventHandler.on(this._animateElement, 'animationend', () => { | ||||||
|       this._callback(this._options.onEnd); |  | ||||||
|       this._clearAnimationClass(); |       this._clearAnimationClass(); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   _bindTriggerOnEndCallback() { | ||||||
|  |     EventHandler.on(this._animateElement, 'animationend', () => { | ||||||
|  |       this._callback(this._options.onEnd); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   _bindScrollEvents() { |   _bindScrollEvents() { | ||||||
|     const scrollPositionOnPageLoad = window.scrollY; |     if (!this._options.showOnLoad) { | ||||||
|  |       this._animateOnScroll(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     EventHandler.on(window, 'scroll', () => { |     EventHandler.on(window, 'scroll', () => { | ||||||
|       if (scrollPositionOnPageLoad !== window.scrollY) { |       this._animateOnScroll(); | ||||||
|         this._animateOnScroll(); |  | ||||||
|       } |  | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -245,6 +268,18 @@ class Animate { | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   _bindHoverEvents() { | ||||||
|  |     EventHandler.one(this._element, 'mouseenter', () => { | ||||||
|  |       this._startAnimation(); | ||||||
|  |     }); | ||||||
|  |     EventHandler.one(this._animateElement, 'animationend', () => { | ||||||
|  |       // wait after bind hoverEvents to prevent animation looping
 | ||||||
|  |       setTimeout(() => { | ||||||
|  |         this._bindHoverEvents(); | ||||||
|  |       }, 100); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   _callback(fn) { |   _callback(fn) { | ||||||
|     if (fn instanceof Function) { |     if (fn instanceof Function) { | ||||||
|       fn(); |       fn(); | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ const NAME = 'input'; | ||||||
| const DATA_KEY = 'mdb.input'; | const DATA_KEY = 'mdb.input'; | ||||||
| const CLASSNAME_WRAPPER = 'form-outline'; | const CLASSNAME_WRAPPER = 'form-outline'; | ||||||
| const OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`; | const OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`; | ||||||
|  | const OUTLINE_TEXTAREA = `.${CLASSNAME_WRAPPER} textarea`; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * ------------------------------------------------------------------------ |  * ------------------------------------------------------------------------ | ||||||
|  | @ -24,8 +25,12 @@ const OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`; | ||||||
| class Input { | class Input { | ||||||
|   constructor(element) { |   constructor(element) { | ||||||
|     this._element = element; |     this._element = element; | ||||||
|  |     this._label = null; | ||||||
|     this._labelWidth = 0; |     this._labelWidth = 0; | ||||||
|  |     this._labelMarginLeft = 0; | ||||||
|  |     this._notchLeading = null; | ||||||
|     this._notchMiddle = null; |     this._notchMiddle = null; | ||||||
|  |     this._notchTrailing = null; | ||||||
| 
 | 
 | ||||||
|     if (this._element) { |     if (this._element) { | ||||||
|       Data.setData(element, DATA_KEY, this); |       Data.setData(element, DATA_KEY, this); | ||||||
|  | @ -39,9 +44,9 @@ class Input { | ||||||
| 
 | 
 | ||||||
|   // Public
 |   // Public
 | ||||||
|   init() { |   init() { | ||||||
|     this._calculateLabelWidth(); |     this._getLabelData(); | ||||||
|     this._applyDivs(); |     this._applyDivs(); | ||||||
|     this._applyNotchWidth(); |     this._applyNotch(); | ||||||
|     this._applyActiveClass(); |     this._applyActiveClass(); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -51,40 +56,67 @@ class Input { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // Private
 |   // Private
 | ||||||
|   _calculateLabelWidth() { |   _getLabelData() { | ||||||
|     const label = SelectorEngine.findOne('label.form-label', this._element); |     this._label = SelectorEngine.findOne('label', this._element); | ||||||
|     this._labelWidth = label.clientWidth * 0.8 + 8; |     if (this._label === null) return; | ||||||
|  |     this._getLabelWidth(); | ||||||
|  | 
 | ||||||
|  |     if (!this._element.classList.contains('input-group')) return; | ||||||
|  |     this._getLabelPositionInInputGroup(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   _getLabelWidth() { | ||||||
|  |     this._labelWidth = this._label.clientWidth * 0.8 + 8; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   _getLabelPositionInInputGroup() { | ||||||
|  |     const input = | ||||||
|  |       SelectorEngine.findOne('input', this._element) || | ||||||
|  |       SelectorEngine.findOne('textarea', this._element); | ||||||
|  |     const prefix = SelectorEngine.prev(input, '.input-group-text')[0]; | ||||||
|  |     if (prefix === undefined) return; | ||||||
|  |     this._labelMarginLeft = prefix.offsetWidth - 1; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _applyDivs() { |   _applyDivs() { | ||||||
|     const notchWrapper = element('div'); |     const notchWrapper = element('div'); | ||||||
|     Manipulator.addClass(notchWrapper, 'form-notch'); |     Manipulator.addClass(notchWrapper, 'form-notch'); | ||||||
|     const notchLeading = element('div'); |     this._notchLeading = element('div'); | ||||||
|     Manipulator.addClass(notchLeading, 'form-notch-leading'); |     Manipulator.addClass(this._notchLeading, 'form-notch-leading'); | ||||||
|     this._notchMiddle = element('div'); |     this._notchMiddle = element('div'); | ||||||
|     Manipulator.addClass(this._notchMiddle, 'form-notch-middle'); |     Manipulator.addClass(this._notchMiddle, 'form-notch-middle'); | ||||||
|     const notchTrailing = element('div'); |     this._notchTrailing = element('div'); | ||||||
|     Manipulator.addClass(notchTrailing, 'form-notch-trailing'); |     Manipulator.addClass(this._notchTrailing, 'form-notch-trailing'); | ||||||
| 
 | 
 | ||||||
|     notchWrapper.append(notchLeading); |     notchWrapper.append(this._notchLeading); | ||||||
|     notchWrapper.append(this._notchMiddle); |     notchWrapper.append(this._notchMiddle); | ||||||
|     notchWrapper.append(notchTrailing); |     notchWrapper.append(this._notchTrailing); | ||||||
|     this._element.append(notchWrapper); |     this._element.append(notchWrapper); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _applyNotchWidth() { |   _applyNotch() { | ||||||
|     this._notchMiddle.style.width = `${this._labelWidth}px`; |     this._notchMiddle.style.width = `${this._labelWidth}px`; | ||||||
|  |     this._notchLeading.style.width = `${this._labelMarginLeft + 9}px`; | ||||||
|  | 
 | ||||||
|  |     if (this._label === null) return; | ||||||
|  |     this._label.style.marginLeft = `${this._labelMarginLeft}px`; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _applyActiveClass(event) { |   _applyActiveClass(event) { | ||||||
|     const input = event ? event.target : SelectorEngine.findOne('input', this._element); |     const input = event | ||||||
|  |       ? event.target | ||||||
|  |       : SelectorEngine.findOne('input', this._element) || | ||||||
|  |         SelectorEngine.findOne('textarea', this._element); | ||||||
|     if (input.value !== '') { |     if (input.value !== '') { | ||||||
|       Manipulator.addClass(input, 'active'); |       Manipulator.addClass(input, 'active'); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _removeActiveClass(event) { |   _removeActiveClass(event) { | ||||||
|     const input = event ? event.target : SelectorEngine.findOne('input', this._element); |     const input = event | ||||||
|  |       ? event.target | ||||||
|  |       : SelectorEngine.findOne('input', this._element) || | ||||||
|  |         SelectorEngine.findOne('textarea', this._element); | ||||||
|     if (input.value === '') { |     if (input.value === '') { | ||||||
|       input.classList.remove('active'); |       input.classList.remove('active'); | ||||||
|     } |     } | ||||||
|  | @ -101,15 +133,23 @@ class Input { | ||||||
|       instance._removeActiveClass(event); |       instance._removeActiveClass(event); | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   static getInstance(element) { | ||||||
|  |     return Data.getData(element, DATA_KEY); | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| EventHandler.on(document, 'focus', OUTLINE_INPUT, Input.applyActiveClass(new Input())); | EventHandler.on(document, 'focus', OUTLINE_INPUT, Input.applyActiveClass(new Input())); | ||||||
| EventHandler.on(document, 'input', OUTLINE_INPUT, Input.applyActiveClass(new Input())); | EventHandler.on(document, 'input', OUTLINE_INPUT, Input.applyActiveClass(new Input())); | ||||||
| EventHandler.on(document, 'blur', OUTLINE_INPUT, Input.removeActiveClass(new Input())); | EventHandler.on(document, 'blur', OUTLINE_INPUT, Input.removeActiveClass(new Input())); | ||||||
| 
 | 
 | ||||||
|  | EventHandler.on(document, 'focus', OUTLINE_TEXTAREA, Input.applyActiveClass(new Input())); | ||||||
|  | EventHandler.on(document, 'input', OUTLINE_TEXTAREA, Input.applyActiveClass(new Input())); | ||||||
|  | EventHandler.on(document, 'blur', OUTLINE_TEXTAREA, Input.removeActiveClass(new Input())); | ||||||
|  | 
 | ||||||
| // auto-init
 | // auto-init
 | ||||||
| SelectorEngine.find(`.${CLASSNAME_WRAPPER}`).forEach((input) => { | SelectorEngine.find(`.${CLASSNAME_WRAPPER}`).forEach((element) => { | ||||||
|   new Input(input).init(); |   new Input(element).init(); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| export default Input; | export default Input; | ||||||
|  |  | ||||||
|  | @ -36,19 +36,19 @@ const BOOTSTRAP_COLORS = [ | ||||||
| const TRANSITION_BREAK_OPACITY = 0.5; | const TRANSITION_BREAK_OPACITY = 0.5; | ||||||
| 
 | 
 | ||||||
| const Default = { | const Default = { | ||||||
|   centered: false, |   rippleCentered: false, | ||||||
|   color: '', |   rippleColor: '', | ||||||
|   duration: '500ms', |   rippleDuration: '500ms', | ||||||
|   radius: 0, |   rippleRadius: 0, | ||||||
|   unbound: false, |   rippleUnbound: false, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const DefaultType = { | const DefaultType = { | ||||||
|   centered: 'boolean', |   rippleCentered: 'boolean', | ||||||
|   color: 'string', |   rippleColor: 'string', | ||||||
|   duration: 'string', |   rippleDuration: 'string', | ||||||
|   radius: 'number', |   rippleRadius: 'number', | ||||||
|   unbound: 'boolean', |   rippleUnbound: 'boolean', | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | @ -83,9 +83,9 @@ class Ripple { | ||||||
| 
 | 
 | ||||||
|   dispose() { |   dispose() { | ||||||
|     Data.removeData(this._element, DATA_KEY); |     Data.removeData(this._element, DATA_KEY); | ||||||
|  |     EventHandler.off(this._element, 'click', ''); | ||||||
|     this._element = null; |     this._element = null; | ||||||
|     this._options = null; |     this._options = null; | ||||||
|     EventHandler.off(this._element, 'click', ''); |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // Private
 |   // Private
 | ||||||
|  | @ -109,18 +109,20 @@ class Ripple { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _createRipple(event) { |   _createRipple(event) { | ||||||
|     const { offsetX, offsetY } = event; |     const { layerX, layerY } = event; | ||||||
|  |     const offsetX = layerX; | ||||||
|  |     const offsetY = layerY; | ||||||
|     const height = this._element.offsetHeight; |     const height = this._element.offsetHeight; | ||||||
|     const width = this._element.offsetWidth; |     const width = this._element.offsetWidth; | ||||||
|     const duration = this._durationToMsNumber(this._options.duration); |     const duration = this._durationToMsNumber(this._options.rippleDuration); | ||||||
|     const diameterOptions = { |     const diameterOptions = { | ||||||
|       offsetX: this._options.centered ? height / 2 : offsetX, |       offsetX: this._options.rippleCentered ? height / 2 : offsetX, | ||||||
|       offsetY: this._options.centered ? width / 2 : offsetY, |       offsetY: this._options.rippleCentered ? width / 2 : offsetY, | ||||||
|       height, |       height, | ||||||
|       width, |       width, | ||||||
|     }; |     }; | ||||||
|     const diameter = this._getDiameter(diameterOptions); |     const diameter = this._getDiameter(diameterOptions); | ||||||
|     const radiusValue = this._options.radius || diameter / 2; |     const radiusValue = this._options.rippleRadius || diameter / 2; | ||||||
| 
 | 
 | ||||||
|     const opacity = { |     const opacity = { | ||||||
|       delay: duration * TRANSITION_BREAK_OPACITY, |       delay: duration * TRANSITION_BREAK_OPACITY, | ||||||
|  | @ -128,10 +130,14 @@ class Ripple { | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     const styles = { |     const styles = { | ||||||
|       left: this._options.centered ? `${width / 2 - radiusValue}px` : `${offsetX - radiusValue}px`, |       left: this._options.rippleCentered | ||||||
|       top: this._options.centered ? `${height / 2 - radiusValue}px` : `${offsetY - radiusValue}px`, |         ? `${width / 2 - radiusValue}px` | ||||||
|       height: `${this._options.radius * 2 || diameter}px`, |         : `${offsetX - radiusValue}px`, | ||||||
|       width: `${this._options.radius * 2 || diameter}px`, |       top: this._options.rippleCentered | ||||||
|  |         ? `${height / 2 - radiusValue}px` | ||||||
|  |         : `${offsetY - radiusValue}px`, | ||||||
|  |       height: `${this._options.rippleRadius * 2 || diameter}px`, | ||||||
|  |       width: `${this._options.rippleRadius * 2 || diameter}px`, | ||||||
|       transitionDelay: `0s, ${opacity.delay}ms`, |       transitionDelay: `0s, ${opacity.delay}ms`, | ||||||
|       transitionDuration: `${duration}ms, ${opacity.duration}ms`, |       transitionDuration: `${duration}ms, ${opacity.duration}ms`, | ||||||
|     }; |     }; | ||||||
|  | @ -139,13 +145,13 @@ class Ripple { | ||||||
|     const rippleHTML = element('div'); |     const rippleHTML = element('div'); | ||||||
| 
 | 
 | ||||||
|     this._createHTMLRipple({ wrapper: this._element, ripple: rippleHTML, styles }); |     this._createHTMLRipple({ wrapper: this._element, ripple: rippleHTML, styles }); | ||||||
|     this._removeHTMLRipple({ wrapper: this._element, ripple: rippleHTML, duration }); |     this._removeHTMLRipple({ ripple: rippleHTML, duration }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _createHTMLRipple({ wrapper, ripple, styles }) { |   _createHTMLRipple({ wrapper, ripple, styles }) { | ||||||
|     Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property])); |     Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property])); | ||||||
|     ripple.classList.add(CLASSNAME_RIPPLE_WAVE); |     ripple.classList.add(CLASSNAME_RIPPLE_WAVE); | ||||||
|     if (this._options.color !== '') { |     if (this._options.rippleColor !== '') { | ||||||
|       this._removeOldColorClasses(wrapper); |       this._removeOldColorClasses(wrapper); | ||||||
|       this._addColor(ripple, wrapper); |       this._addColor(ripple, wrapper); | ||||||
|     } |     } | ||||||
|  | @ -154,9 +160,11 @@ class Ripple { | ||||||
|     this._appendRipple(ripple, wrapper); |     this._appendRipple(ripple, wrapper); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _removeHTMLRipple({ wrapper, ripple, duration }) { |   _removeHTMLRipple({ ripple, duration }) { | ||||||
|     setTimeout(() => { |     setTimeout(() => { | ||||||
|       wrapper.removeChild(ripple); |       if (ripple) { | ||||||
|  |         ripple.remove(); | ||||||
|  |       } | ||||||
|     }, duration); |     }, duration); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -213,7 +221,7 @@ class Ripple { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _appendRipple(target, parent) { |   _appendRipple(target, parent) { | ||||||
|     const FIX_ADD_RIPPLE_EFFECT = 50; // We need delay for active animations
 |     const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations
 | ||||||
|     parent.appendChild(target); |     parent.appendChild(target); | ||||||
|     setTimeout(() => { |     setTimeout(() => { | ||||||
|       Manipulator.addClass(target, 'active'); |       Manipulator.addClass(target, 'active'); | ||||||
|  | @ -221,7 +229,7 @@ class Ripple { | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   _toggleUnbound(target) { |   _toggleUnbound(target) { | ||||||
|     if (this._options.unbound === true) { |     if (this._options.rippleUnbound === true) { | ||||||
|       Manipulator.addClass(target, CLASSNAME_UNBOUND); |       Manipulator.addClass(target, CLASSNAME_UNBOUND); | ||||||
|     } else { |     } else { | ||||||
|       target.classList.remove(CLASSNAME_UNBOUND); |       target.classList.remove(CLASSNAME_UNBOUND); | ||||||
|  | @ -230,13 +238,16 @@ class Ripple { | ||||||
| 
 | 
 | ||||||
|   _addColor(target, parent) { |   _addColor(target, parent) { | ||||||
|     const IS_BOOTSTRAP_COLOR = BOOTSTRAP_COLORS.find( |     const IS_BOOTSTRAP_COLOR = BOOTSTRAP_COLORS.find( | ||||||
|       (color) => color === this._options.color.toLowerCase() |       (color) => color === this._options.rippleColor.toLowerCase() | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|     if (IS_BOOTSTRAP_COLOR) { |     if (IS_BOOTSTRAP_COLOR) { | ||||||
|       Manipulator.addClass(parent, `${CLASSNAME_RIPPLE}-${this._options.color.toLowerCase()}`); |       Manipulator.addClass( | ||||||
|  |         parent, | ||||||
|  |         `${CLASSNAME_RIPPLE}-${this._options.rippleColor.toLowerCase()}` | ||||||
|  |       ); | ||||||
|     } else { |     } else { | ||||||
|       const rgbValue = this._colorToRGB(this._options.color).join(','); |       const rgbValue = this._colorToRGB(this._options.rippleColor).join(','); | ||||||
|       const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`); |       const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`); | ||||||
|       target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`; |       target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`; | ||||||
|     } |     } | ||||||
|  |  | ||||||
							
								
								
									
										38
									
								
								src/js/mdb/util/keycodes.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/js/mdb/util/keycodes.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,38 @@ | ||||||
|  | export const LEFT_ARROW = 37; | ||||||
|  | export const UP_ARROW = 38; | ||||||
|  | export const RIGHT_ARROW = 39; | ||||||
|  | export const DOWN_ARROW = 40; | ||||||
|  | export const HOME = 36; | ||||||
|  | export const END = 35; | ||||||
|  | export const PAGE_UP = 33; | ||||||
|  | export const PAGE_DOWN = 34; | ||||||
|  | export const ENTER = 13; | ||||||
|  | export const SPACE = 32; | ||||||
|  | export const ESCAPE = 27; | ||||||
|  | export const TAB = 9; | ||||||
|  | export const A = 65; | ||||||
|  | export const B = 66; | ||||||
|  | export const C = 67; | ||||||
|  | export const D = 68; | ||||||
|  | export const E = 69; | ||||||
|  | export const F = 70; | ||||||
|  | export const G = 71; | ||||||
|  | export const H = 72; | ||||||
|  | export const I = 73; | ||||||
|  | export const J = 74; | ||||||
|  | export const K = 75; | ||||||
|  | export const L = 76; | ||||||
|  | export const M = 77; | ||||||
|  | export const N = 78; | ||||||
|  | export const O = 79; | ||||||
|  | export const P = 80; | ||||||
|  | export const Q = 81; | ||||||
|  | export const R = 82; | ||||||
|  | export const S = 83; | ||||||
|  | export const T = 84; | ||||||
|  | export const U = 85; | ||||||
|  | export const V = 86; | ||||||
|  | export const W = 87; | ||||||
|  | export const X = 88; | ||||||
|  | export const Y = 89; | ||||||
|  | export const Z = 90; | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| // animations | // animations | ||||||
| 
 | 
 | ||||||
| @keyframes dropIn { | @keyframes drop-in { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: scale(0); |     transform: scale(0); | ||||||
|  | @ -11,13 +11,13 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropIn { | .drop-in { | ||||||
|   transform-origin: top center; |   transform-origin: top center; | ||||||
|   animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); |   animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); | ||||||
|   animation-name: dropIn; |   animation-name: drop-in; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes dropOut { | @keyframes drop-out { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|     transform: scale(1); |     transform: scale(1); | ||||||
|  | @ -28,13 +28,13 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .dropOut { | .drop-out { | ||||||
|   transform-origin: top center; |   transform-origin: top center; | ||||||
|   animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); |   animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); | ||||||
|   animation-name: dropOut; |   animation-name: drop-out; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyIn { | @keyframes fly-in { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: scale3d(0.3, 0.3, 0.3); |     transform: scale3d(0.3, 0.3, 0.3); | ||||||
|  | @ -58,12 +58,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyIn { | .fly-in { | ||||||
|   animation-name: flyIn; |   animation-name: fly-in; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyInUp { | @keyframes fly-in-up { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(0, 1500px, 0); |     transform: translate3d(0, 1500px, 0); | ||||||
|  | @ -83,12 +83,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyInUp { | .fly-in-up { | ||||||
|   animation-name: flyInUp; |   animation-name: fly-in-up; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyInDown { | @keyframes fly-in-down { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(0, -1500px, 0); |     transform: translate3d(0, -1500px, 0); | ||||||
|  | @ -108,12 +108,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyInDown { | .fly-in-down { | ||||||
|   animation-name: flyInDown; |   animation-name: fly-in-down; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyInLeft { | @keyframes fly-in-left { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(1500px, 0, 0); |     transform: translate3d(1500px, 0, 0); | ||||||
|  | @ -133,12 +133,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyInLeft { | .fly-in-left { | ||||||
|   animation-name: flyInLeft; |   animation-name: fly-in-left; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyInRight { | @keyframes fly-in-right { | ||||||
|   0% { |   0% { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(-1500px, 0, 0); |     transform: translate3d(-1500px, 0, 0); | ||||||
|  | @ -158,12 +158,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyInRight { | .fly-in-right { | ||||||
|   animation-name: flyInRight; |   animation-name: fly-in-right; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyOut { | @keyframes fly-out { | ||||||
|   20% { |   20% { | ||||||
|     transform: scale3d(0.9, 0.9, 0.9); |     transform: scale3d(0.9, 0.9, 0.9); | ||||||
|   } |   } | ||||||
|  | @ -178,12 +178,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyOut { | .fly-out { | ||||||
|   animation-name: flyOut; |   animation-name: fly-out; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyOutUp { | @keyframes fly-out-up { | ||||||
|   20% { |   20% { | ||||||
|     transform: translate3d(0, 10px, 0); |     transform: translate3d(0, 10px, 0); | ||||||
|   } |   } | ||||||
|  | @ -198,12 +198,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyOutUp { | .fly-out-up { | ||||||
|   animation-name: flyOutUp; |   animation-name: fly-out-up; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyOutDown { | @keyframes fly-out-down { | ||||||
|   20% { |   20% { | ||||||
|     transform: translate3d(0, -10px, 0); |     transform: translate3d(0, -10px, 0); | ||||||
|   } |   } | ||||||
|  | @ -218,12 +218,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyOutDown { | .fly-out-down { | ||||||
|   animation-name: flyOutDown; |   animation-name: fly-out-down; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyOutLeft { | @keyframes fly-out-left { | ||||||
|   20% { |   20% { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|     transform: translate3d(-20px, 0, 0); |     transform: translate3d(-20px, 0, 0); | ||||||
|  | @ -234,12 +234,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyOutLeft { | .fly-out-left { | ||||||
|   animation-name: flyOutLeft; |   animation-name: fly-out-left; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes flyOutRight { | @keyframes fly-out-right { | ||||||
|   20% { |   20% { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|     transform: translate3d(20px, 0, 0); |     transform: translate3d(20px, 0, 0); | ||||||
|  | @ -250,12 +250,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .flyOutRight { | .fly-out-right { | ||||||
|   animation-name: flyOutRight; |   animation-name: fly-out-right; | ||||||
|   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); |   transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes browseIn { | @keyframes browse-in { | ||||||
|   0% { |   0% { | ||||||
|     transform: scale(0.8) translateZ(0px); |     transform: scale(0.8) translateZ(0px); | ||||||
|     z-index: -1; |     z-index: -1; | ||||||
|  | @ -276,11 +276,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .browseIn { | .browse-in { | ||||||
|   animation-name: browseIn; |   animation-name: browse-in; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes browseOutLeft { | @keyframes browse-out-left { | ||||||
|   0% { |   0% { | ||||||
|     z-index: 999; |     z-index: 999; | ||||||
|     transform: translateX(0%) rotateY(0deg) rotateX(0deg); |     transform: translateX(0%) rotateY(0deg) rotateX(0deg); | ||||||
|  | @ -299,12 +299,12 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .browseOut, | .browse-out, | ||||||
| .browseOutLeft { | .browse-out-left { | ||||||
|   animation-name: browseOutLeft; |   animation-name: browse-out-left; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes browseOutRight { | @keyframes browse-out-right { | ||||||
|   0% { |   0% { | ||||||
|     z-index: 999; |     z-index: 999; | ||||||
|     transform: translateX(0%) rotateY(0deg) rotateX(0deg); |     transform: translateX(0%) rotateY(0deg) rotateX(0deg); | ||||||
|  | @ -323,8 +323,8 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .browseOutRight { | .browse-out-right { | ||||||
|   animation-name: browseOutRight; |   animation-name: browse-out-right; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes jiggle { | @keyframes jiggle { | ||||||
|  |  | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
| // animations | // animations | ||||||
| 
 | 
 | ||||||
| .animated { | .animation { | ||||||
|   animation-duration: 1s; |   animation-duration: 1s; | ||||||
|   animation-fill-mode: both; |   animation-fill-mode: both; | ||||||
|  |   padding: auto; | ||||||
|   &.infinite { |   &.infinite { | ||||||
|     animation-iteration-count: infinite; |     animation-iteration-count: infinite; | ||||||
|   } |   } | ||||||
|  | @ -36,13 +37,13 @@ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media (prefers-reduced-motion) { | @media (prefers-reduced-motion) { | ||||||
|   .animated { |   .animation { | ||||||
|     transition: none !important; |     transition: none !important; | ||||||
|     animation: unset !important; |     animation: unset !important; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeIn { | @keyframes fade-in { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|   } |   } | ||||||
|  | @ -52,11 +53,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeIn { | .fade-in { | ||||||
|   animation-name: fadeIn; |   animation-name: fade-in; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeInDown { | @keyframes fade-in-down { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(0, -100%, 0); |     transform: translate3d(0, -100%, 0); | ||||||
|  | @ -68,11 +69,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeInDown { | .fade-in-down { | ||||||
|   animation-name: fadeInDown; |   animation-name: fade-in-down; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeInLeft { | @keyframes fade-in-left { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(-100%, 0, 0); |     transform: translate3d(-100%, 0, 0); | ||||||
|  | @ -84,11 +85,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeInLeft { | .fade-in-left { | ||||||
|   animation-name: fadeInLeft; |   animation-name: fade-in-left; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeInRight { | @keyframes fade-in-right { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(100%, 0, 0); |     transform: translate3d(100%, 0, 0); | ||||||
|  | @ -100,11 +101,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeInRight { | .fade-in-right { | ||||||
|   animation-name: fadeInRight; |   animation-name: fade-in-right; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeInUp { | @keyframes fade-in-up { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: translate3d(0, 100%, 0); |     transform: translate3d(0, 100%, 0); | ||||||
|  | @ -116,11 +117,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeInUp { | .fade-in-up { | ||||||
|   animation-name: fadeInUp; |   animation-name: fade-in-up; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeOut { | @keyframes fade-out { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -130,11 +131,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeOut { | .fade-out { | ||||||
|   animation-name: fadeOut; |   animation-name: fade-out; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeOutDown { | @keyframes fade-out-down { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -145,11 +146,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeOutDown { | .fade-out-down { | ||||||
|   animation-name: fadeOutDown; |   animation-name: fade-out-down; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeOutLeft { | @keyframes fade-out-left { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -160,11 +161,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeOutLeft { | .fade-out-left { | ||||||
|   animation-name: fadeOutLeft; |   animation-name: fade-out-left; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeOutRight { | @keyframes fade-out-right { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -175,11 +176,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeOutRight { | .fade-out-right { | ||||||
|   animation-name: fadeOutRight; |   animation-name: fade-out-right; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes fadeOutUp { | @keyframes fade-out-up { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -190,11 +191,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .fadeOutUp { | .fade-out-up { | ||||||
|   animation-name: fadeOutUp; |   animation-name: fade-out-up; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideInDown { | @keyframes slide-in-down { | ||||||
|   from { |   from { | ||||||
|     visibility: visible; |     visibility: visible; | ||||||
|     transform: translate3d(0, -100%, 0); |     transform: translate3d(0, -100%, 0); | ||||||
|  | @ -205,11 +206,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideInDown { | .slide-in-down { | ||||||
|   animation-name: slideInDown; |   animation-name: slide-in-down; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideInLeft { | @keyframes slide-in-left { | ||||||
|   from { |   from { | ||||||
|     visibility: visible; |     visibility: visible; | ||||||
|     transform: translate3d(-100%, 0, 0); |     transform: translate3d(-100%, 0, 0); | ||||||
|  | @ -220,11 +221,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideInLeft { | .slide-in-left { | ||||||
|   animation-name: slideInLeft; |   animation-name: slide-in-left; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideInRight { | @keyframes slide-in-right { | ||||||
|   from { |   from { | ||||||
|     visibility: visible; |     visibility: visible; | ||||||
|     transform: translate3d(100%, 0, 0); |     transform: translate3d(100%, 0, 0); | ||||||
|  | @ -235,11 +236,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideInRight { | .slide-in-right { | ||||||
|   animation-name: slideInRight; |   animation-name: slide-in-right; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideInUp { | @keyframes slide-in-up { | ||||||
|   from { |   from { | ||||||
|     visibility: visible; |     visibility: visible; | ||||||
|     transform: translate3d(0, 100%, 0); |     transform: translate3d(0, 100%, 0); | ||||||
|  | @ -250,11 +251,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideInUp { | .slide-in-up { | ||||||
|   animation-name: slideInUp; |   animation-name: slide-in-up; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideOutDown { | @keyframes slide-out-down { | ||||||
|   from { |   from { | ||||||
|     transform: translate3d(0, 0, 0); |     transform: translate3d(0, 0, 0); | ||||||
|   } |   } | ||||||
|  | @ -265,11 +266,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideOutDown { | .slide-out-down { | ||||||
|   animation-name: slideOutDown; |   animation-name: slide-out-down; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideOutLeft { | @keyframes slide-out-left { | ||||||
|   from { |   from { | ||||||
|     transform: translate3d(0, 0, 0); |     transform: translate3d(0, 0, 0); | ||||||
|   } |   } | ||||||
|  | @ -280,11 +281,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideOutLeft { | .slide-out-left { | ||||||
|   animation-name: slideOutLeft; |   animation-name: slide-out-left; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideOutRight { | @keyframes slide-out-right { | ||||||
|   from { |   from { | ||||||
|     transform: translate3d(0, 0, 0); |     transform: translate3d(0, 0, 0); | ||||||
|   } |   } | ||||||
|  | @ -295,11 +296,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideOutRight { | .slide-out-right { | ||||||
|   animation-name: slideOutRight; |   animation-name: slide-out-right; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes slideOutUp { | @keyframes slide-out-up { | ||||||
|   from { |   from { | ||||||
|     transform: translate3d(0, 0, 0); |     transform: translate3d(0, 0, 0); | ||||||
|   } |   } | ||||||
|  | @ -310,11 +311,67 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .slideOutUp { | .slide-out-up { | ||||||
|   animation-name: slideOutUp; |   animation-name: slide-out-up; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes zoomIn { | @keyframes slide-down { | ||||||
|  |   from { | ||||||
|  |     transform: translate3d(0, 0, 0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   to { | ||||||
|  |     transform: translate3d(0, 100%, 0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .slide-down { | ||||||
|  |   animation-name: slide-down; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes slide-left { | ||||||
|  |   from { | ||||||
|  |     transform: translate3d(0, 0, 0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   to { | ||||||
|  |     transform: translate3d(-100%, 0, 0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .slide-left { | ||||||
|  |   animation-name: slide-left; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes slide-right { | ||||||
|  |   from { | ||||||
|  |     transform: translate3d(0, 0, 0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   to { | ||||||
|  |     transform: translate3d(100%, 0, 0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .slide-right { | ||||||
|  |   animation-name: slide-right; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes slide-up { | ||||||
|  |   from { | ||||||
|  |     transform: translate3d(0, 0, 0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   to { | ||||||
|  |     transform: translate3d(0, -100%, 0); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .slide-up { | ||||||
|  |   animation-name: slide-up; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes zoom-in { | ||||||
|   from { |   from { | ||||||
|     opacity: 0; |     opacity: 0; | ||||||
|     transform: scale3d(0.3, 0.3, 0.3); |     transform: scale3d(0.3, 0.3, 0.3); | ||||||
|  | @ -325,11 +382,11 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .zoomIn { | .zoom-in { | ||||||
|   animation-name: zoomIn; |   animation-name: zoom-in; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes zoomOut { | @keyframes zoom-out { | ||||||
|   from { |   from { | ||||||
|     opacity: 1; |     opacity: 1; | ||||||
|   } |   } | ||||||
|  | @ -344,8 +401,8 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .zoomOut { | .zoom-out { | ||||||
|   animation-name: zoomOut; |   animation-name: zoom-out; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @keyframes tada { | @keyframes tada { | ||||||
|  |  | ||||||
|  | @ -1,12 +1,12 @@ | ||||||
| // Badge | // Badge | ||||||
| .badge-dot { | .badge-dot { | ||||||
|   position: absolute; |   position: absolute; | ||||||
|   border-radius: 4.5px; |   border-radius: $badge-dot-border-radius; | ||||||
|   height: 9px; |   height: $badge-dot-height; | ||||||
|   min-width: 0; |   min-width: 0; | ||||||
|   padding: 0; |   padding: 0; | ||||||
|   width: 9px; |   width: $badge-dot-width; | ||||||
|   margin-left: -3px; |   margin-left: $badge-dot-ml; | ||||||
|   &:empty { |   &:empty { | ||||||
|     display: inline-block; |     display: inline-block; | ||||||
|   } |   } | ||||||
|  | @ -14,6 +14,6 @@ | ||||||
| 
 | 
 | ||||||
| .badge-notification { | .badge-notification { | ||||||
|   position: absolute; |   position: absolute; | ||||||
|   margin-top: -5px; |   margin-top: $badge-notification-mt; | ||||||
|   margin-left: -5px; |   margin-left: $badge-notification-ml; | ||||||
| } | } | ||||||
							
								
								
									
										24
									
								
								src/scss/free/_breadcrumb.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/scss/free/_breadcrumb.scss
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | // Breadcrumb | ||||||
|  | 
 | ||||||
|  | .navbar { | ||||||
|  |   .breadcrumb { | ||||||
|  |     background-color: transparent; | ||||||
|  |     margin-bottom: 0; | ||||||
|  | 
 | ||||||
|  |     .breadcrumb-item { | ||||||
|  |       a { | ||||||
|  |         color: rgba(0, 0, 0, 0.55); | ||||||
|  |         transition: color 0.15s ease-in-out; | ||||||
|  |         &:hover, | ||||||
|  |         &:focus { | ||||||
|  |           color: rgba(0, 0, 0, 0.7); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       + .breadcrumb-item { | ||||||
|  |         &:before { | ||||||
|  |           color: rgba(0, 0, 0, 0.55); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -2,9 +2,8 @@ | ||||||
| 
 | 
 | ||||||
| .btn-group { | .btn-group { | ||||||
|   box-shadow: $btn-box-shadow; |   box-shadow: $btn-box-shadow; | ||||||
|   border-radius: calc(0.25rem - 1px); |   border-radius: $btn-group-border-radius; | ||||||
|   transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, |   transition: $btn-group-transition; | ||||||
|     border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; |  | ||||||
| 
 | 
 | ||||||
|   &:hover { |   &:hover { | ||||||
|     box-shadow: $btn-hover-box-shadow; |     box-shadow: $btn-hover-box-shadow; | ||||||
|  |  | ||||||
|  | @ -2,17 +2,17 @@ | ||||||
| 
 | 
 | ||||||
| .btn { | .btn { | ||||||
|   font-family: $btn-font-family; |   font-family: $btn-font-family; | ||||||
|   line-height: 1.5; |   line-height: $btn-line-height; | ||||||
|   text-transform: uppercase; |   text-transform: uppercase; | ||||||
|   vertical-align: bottom; |   vertical-align: bottom; | ||||||
|   padding-top: 10px; |   padding-top: $btn-padding-top; | ||||||
|   padding-bottom: 8px; |   padding-bottom: $btn-padding-bottom; | ||||||
|   border: 0; |   border: 0; | ||||||
|   box-shadow: $btn-box-shadow; |   box-shadow: $btn-box-shadow; | ||||||
|   font-size: 12px; |   font-size: $btn-font-size; | ||||||
|   padding-left: 24px; |   padding-left: $btn-padding-left; | ||||||
|   padding-right: 24px; |   padding-right: $btn-padding-right; | ||||||
|   font-weight: 500; |   font-weight: $btn-font-weight; | ||||||
| 
 | 
 | ||||||
|   &:hover { |   &:hover { | ||||||
|     box-shadow: $btn-hover-box-shadow; |     box-shadow: $btn-hover-box-shadow; | ||||||
|  | @ -43,13 +43,13 @@ | ||||||
| // Buttons outline | // Buttons outline | ||||||
| 
 | 
 | ||||||
| [class*='btn-outline-'] { | [class*='btn-outline-'] { | ||||||
|   border-width: 2px; |   border-width: $btn-border-width; | ||||||
|   border-style: solid; |   border-style: solid; | ||||||
|   box-shadow: none; |   box-shadow: none; | ||||||
|   padding-top: 8px; |   padding-top: $btn-outline-padding-top; | ||||||
|   padding-bottom: 6px; |   padding-bottom: $btn-outline-padding-bottom; | ||||||
|   padding-left: 22px; |   padding-left: $btn-outline-padding-left; | ||||||
|   padding-right: 22px; |   padding-right: $btn-outline-padding-right; | ||||||
| 
 | 
 | ||||||
|   &:hover { |   &:hover { | ||||||
|     box-shadow: none; |     box-shadow: none; | ||||||
|  | @ -78,17 +78,17 @@ | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &.btn-sm { |   &.btn-sm { | ||||||
|     padding-top: 4px; |     padding-top: $btn-outline-padding-top-sm; | ||||||
|     padding-bottom: 3px; |     padding-bottom: $btn-outline-padding-bottom-sm; | ||||||
|     padding-right: 14px; |     padding-right: $btn-outline-padding-right-sm; | ||||||
|     padding-left: 14px; |     padding-left: $btn-outline-padding-left-sm; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &.btn-lg { |   &.btn-lg { | ||||||
|     padding-top: 10px; |     padding-top: $btn-outline-padding-top-lg; | ||||||
|     padding-bottom: 9px; |     padding-bottom: $btn-outline-padding-bottom-lg; | ||||||
|     padding-right: 25px; |     padding-right: $btn-outline-padding-right-lg; | ||||||
|     padding-left: 25px; |     padding-left: $btn-outline-padding-left-lg; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -112,23 +112,22 @@ | ||||||
| 
 | 
 | ||||||
| .btn-lg { | .btn-lg { | ||||||
|   // @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); |   // @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); | ||||||
| 
 |   line-height: $btn-line-height-lg; | ||||||
|   line-height: 1.6; |   font-size: $btn-font-size-lg; | ||||||
|   padding-top: 12px; |   padding-top: $btn-padding-top-lg; | ||||||
|   padding-bottom: 11px; |   padding-bottom: $btn-padding-bottom-lg; | ||||||
|   font-size: 14px; |   padding-right: $btn-padding-right-lg; | ||||||
|   padding-left: 27px; |   padding-left: $btn-padding-left-lg; | ||||||
|   padding-right: 27px; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .btn-sm { | .btn-sm { | ||||||
|   // @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); |   // @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); | ||||||
|   line-height: 1.5; |   line-height: $btn-line-height-sm; | ||||||
|   font-size: 12px; |   font-size: $btn-font-size-sm; | ||||||
|   padding-top: 6px; |   padding-top: $btn-padding-top-sm; | ||||||
|   padding-bottom: 5px; |   padding-bottom: $btn-padding-bottom-sm; | ||||||
|   padding-right: 16px; |   padding-right: $btn-padding-right-sm; | ||||||
|   padding-left: 16px; |   padding-left: $btn-padding-left-sm; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Link buttons | // Link buttons | ||||||
|  | @ -142,24 +141,24 @@ | ||||||
|   &:hover { |   &:hover { | ||||||
|     box-shadow: none; |     box-shadow: none; | ||||||
|     text-decoration: none; |     text-decoration: none; | ||||||
|     background-color: #f5f5f5; |     background-color: $btn-link-bgc; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &:focus, |   &:focus, | ||||||
|   &.focus { |   &.focus { | ||||||
|     box-shadow: none; |     box-shadow: none; | ||||||
|     text-decoration: none; |     text-decoration: none; | ||||||
|     background-color: #f5f5f5; |     background-color: $btn-link-bgc; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &:active, |   &:active, | ||||||
|   &.active { |   &.active { | ||||||
|     box-shadow: none; |     box-shadow: none; | ||||||
|     background-color: #f5f5f5; |     background-color: $btn-link-bgc; | ||||||
| 
 | 
 | ||||||
|     &:focus { |     &:focus { | ||||||
|       box-shadow: none; |       box-shadow: none; | ||||||
|       background-color: #f5f5f5; |       background-color: $btn-link-bgc; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -171,5 +170,40 @@ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .btn-rounded { | .btn-rounded { | ||||||
|   border-radius: 10rem; |   border-radius: $btn-rounded-border-radius; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .btn-floating { | ||||||
|  |   border-radius: 50%; | ||||||
|  |   padding: 0; | ||||||
|  |   width: 36px; | ||||||
|  |   height: 36px; | ||||||
|  | 
 | ||||||
|  |   .fas, | ||||||
|  |   .far, | ||||||
|  |   .fab { | ||||||
|  |     line-height: 36px; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &.btn-sm { | ||||||
|  |     width: 29px; | ||||||
|  |     height: 29px; | ||||||
|  | 
 | ||||||
|  |     .fas, | ||||||
|  |     .far, | ||||||
|  |     .fab { | ||||||
|  |       line-height: 29px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &.btn-lg { | ||||||
|  |     width: 45px; | ||||||
|  |     height: 45px; | ||||||
|  | 
 | ||||||
|  |     .fas, | ||||||
|  |     .far, | ||||||
|  |     .fab { | ||||||
|  |       line-height: 45px; | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								src/scss/free/_footer.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/scss/free/_footer.scss
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | ||||||
|  | // Footer | ||||||
|  | 
 | ||||||
|  | .footer { | ||||||
|  |   bottom: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .footer-copyright { | ||||||
|  |   background-color: rgba($black, 0.2); | ||||||
|  | } | ||||||
							
								
								
									
										53
									
								
								src/scss/free/_images.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								src/scss/free/_images.scss
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | ||||||
|  | // | ||||||
|  | // Images | ||||||
|  | // | ||||||
|  | 
 | ||||||
|  | .bg-image { | ||||||
|  |   position: relative; | ||||||
|  |   overflow: hidden; | ||||||
|  |   background-repeat: no-repeat; | ||||||
|  |   background-size: cover; | ||||||
|  |   background-position: center center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .mask { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   right: 0; | ||||||
|  |   bottom: 0; | ||||||
|  |   left: 0; | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100%; | ||||||
|  |   overflow: hidden; | ||||||
|  |   background-attachment: fixed; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .overlay { | ||||||
|  |   opacity: 0; | ||||||
|  |   transition: all 0.3s ease-in-out; | ||||||
|  |   &:hover { | ||||||
|  |     opacity: 1; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .zoom { | ||||||
|  |   img, | ||||||
|  |   video { | ||||||
|  |     transition: all 0.3s linear; | ||||||
|  |   } | ||||||
|  |   &:hover { | ||||||
|  |     img, | ||||||
|  |     video { | ||||||
|  |       transform: scale(1.1); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .hoverable { | ||||||
|  |   box-shadow: none; | ||||||
|  |   transition: all 0.3s ease-in-out; | ||||||
|  |   &:hover { | ||||||
|  |     box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); | ||||||
|  |     transition: all 0.3s ease-in-out; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | @ -1,5 +1,68 @@ | ||||||
| // Modal | // Modal | ||||||
| .modal-content { | .modal-content { | ||||||
|   border: 0; |   border: 0; | ||||||
|   box-shadow: $box-shadow-1; |   box-shadow: $box-shadow-3; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .modal { | ||||||
|  |   .modal-dialog { | ||||||
|  |     width: 100%; | ||||||
|  |     @media (min-width: 768px) { | ||||||
|  |       &.modal-top { | ||||||
|  |         top: 0; | ||||||
|  |       } | ||||||
|  |       &.modal-left { | ||||||
|  |         left: 0; | ||||||
|  |       } | ||||||
|  |       &.modal-right { | ||||||
|  |         right: 0; | ||||||
|  |       } | ||||||
|  |       &.modal-bottom { | ||||||
|  |         bottom: 0; | ||||||
|  |       } | ||||||
|  |       &.modal-top-left { | ||||||
|  |         top: 10px; | ||||||
|  |         left: 10px; | ||||||
|  |       } | ||||||
|  |       &.modal-top-right { | ||||||
|  |         top: 10px; | ||||||
|  |         right: 10px; | ||||||
|  |       } | ||||||
|  |       &.modal-bottom-left { | ||||||
|  |         bottom: 10px; | ||||||
|  |         left: 10px; | ||||||
|  |       } | ||||||
|  |       &.modal-bottom-right { | ||||||
|  |         right: 10px; | ||||||
|  |         bottom: 10px; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   &.fade { | ||||||
|  |     &.top:not(.show) .modal-dialog { | ||||||
|  |       transform: translate3d(0, -25%, 0); | ||||||
|  |     } | ||||||
|  |     &.right:not(.show) .modal-dialog { | ||||||
|  |       transform: translate3d(25%, 0, 0); | ||||||
|  |     } | ||||||
|  |     &.bottom:not(.show) .modal-dialog { | ||||||
|  |       transform: translate3d(0, 25%, 0); | ||||||
|  |     } | ||||||
|  |     &.left:not(.show) .modal-dialog { | ||||||
|  |       transform: translate3d(-25%, 0, 0); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   @media (min-width: 992px) { | ||||||
|  |     .modal-side { | ||||||
|  |       position: absolute; | ||||||
|  |       right: 10px; | ||||||
|  |       bottom: 10px; | ||||||
|  |       margin: 0; | ||||||
|  |     } | ||||||
|  |     .modal-frame { | ||||||
|  |       position: absolute; | ||||||
|  |       max-width: 100%; | ||||||
|  |       margin: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
| } | } | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| // Navbar | // Navbar | ||||||
| 
 | 
 | ||||||
| .navbar { | .navbar { | ||||||
|   // box-shadow: $box-shadow-2; |  | ||||||
|   box-shadow: $box-shadow-3; |   box-shadow: $box-shadow-3; | ||||||
|  |   padding-top: 0.5625rem; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .navbar-toggler { | .navbar-toggler { | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
|   position: relative; |   position: relative; | ||||||
|   overflow: hidden; |   overflow: hidden; | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|  |   vertical-align: bottom; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .ripple-surface-unbound { | .ripple-surface-unbound { | ||||||
|  |  | ||||||
|  | @ -5,7 +5,7 @@ | ||||||
| // Grays | // Grays | ||||||
| 
 | 
 | ||||||
| $white: #fff; | $white: #fff; | ||||||
| $gray-50: #eff0f4; | $gray-50: #fbfbfb; | ||||||
| $gray-100: #f5f5f5; | $gray-100: #f5f5f5; | ||||||
| $gray-200: #eeeeee; | $gray-200: #eeeeee; | ||||||
| $gray-300: #e0e0e0; | $gray-300: #e0e0e0; | ||||||
|  | @ -289,7 +289,7 @@ $success: #00b74a; | ||||||
| $info: #39c0ed; | $info: #39c0ed; | ||||||
| $warning: #ffa900; | $warning: #ffa900; | ||||||
| $danger: #f93154; | $danger: #f93154; | ||||||
| $light: $gray-100; | $light: $gray-50; | ||||||
| $dark: $gray-900; | $dark: $gray-900; | ||||||
| 
 | 
 | ||||||
| $theme-colors: ( | $theme-colors: ( | ||||||
|  | @ -301,6 +301,8 @@ $theme-colors: ( | ||||||
|   'danger': $danger, |   'danger': $danger, | ||||||
|   'light': $light, |   'light': $light, | ||||||
|   'dark': $dark, |   'dark': $dark, | ||||||
|  |   'white': $white, | ||||||
|  |   'black': $black, | ||||||
| ); | ); | ||||||
| 
 | 
 | ||||||
| $note: () !default; | $note: () !default; | ||||||
|  | @ -342,13 +344,6 @@ $body-color: $gray-800; | ||||||
| 
 | 
 | ||||||
| // Components | // Components | ||||||
| 
 | 
 | ||||||
| // $box-shadow-0: none; |  | ||||||
| // $box-shadow-1: 0 2px 5px 0 rgba(0, 0, 0, 0.05), 0 2px 10px 0 rgba(0, 0, 0, 0.05); |  | ||||||
| // $box-shadow-2: 0 4px 10px 0 rgba(0, 0, 0, 0.05), 0 4px 20px 0 rgba(0, 0, 0, 0.05); |  | ||||||
| // $box-shadow-3: 0 6px 15px 2px rgba(0, 0, 0, 0.05), 0 6px 30px 2px rgba(0, 0, 0, 0.05); |  | ||||||
| // $box-shadow-4: 0 8px 20px 4px rgba(0, 0, 0, 0.05), 0 8px 40px 4px rgba(0, 0, 0, 0.05); |  | ||||||
| // $box-shadow-5: 0 10px 25px 6px rgba(0, 0, 0, 0.05), 0 10px 50px 6px rgba(0, 0, 0, 0.05); |  | ||||||
| 
 |  | ||||||
| $box-shadow-0: none; | $box-shadow-0: none; | ||||||
| $box-shadow-1: 0 2px 10px 0 rgba(0, 0, 0, 0.05); | $box-shadow-1: 0 2px 10px 0 rgba(0, 0, 0, 0.05); | ||||||
| $box-shadow-2: 0 5px 15px 0 rgba(0, 0, 0, 0.05); | $box-shadow-2: 0 5px 15px 0 rgba(0, 0, 0, 0.05); | ||||||
|  | @ -356,11 +351,11 @@ $box-shadow-3: 0 10px 20px 0 rgba(0, 0, 0, 0.05); | ||||||
| $box-shadow-4: 0 15px 30px 0 rgba(0, 0, 0, 0.05); | $box-shadow-4: 0 15px 30px 0 rgba(0, 0, 0, 0.05); | ||||||
| $box-shadow-5: 0 20px 40px 0 rgba(0, 0, 0, 0.05); | $box-shadow-5: 0 20px 40px 0 rgba(0, 0, 0, 0.05); | ||||||
| 
 | 
 | ||||||
| $box-shadow-1-strong: 0 2px 5px 0 rgba(0, 0, 0, 0.25), 0 2px 10px 0 rgba(0, 0, 0, 0.25); | $box-shadow-1-strong: 0px 2px 5px 0px rgba(0, 0, 0, 0.25), 0px 3px 10px 0px rgba(0, 0, 0, 0.2); | ||||||
| $box-shadow-2-strong: 0 4px 10px 0 rgba(0, 0, 0, 0.25), 0 4px 20px 0 rgba(0, 0, 0, 0.25); | $box-shadow-2-strong: 0px 4px 8px 0px rgba(0, 0, 0, 0.25), 0px 5px 15px 2px rgba(0, 0, 0, 0.2); | ||||||
| $box-shadow-3-strong: 0 6px 15px 2px rgba(0, 0, 0, 0.25), 0 6px 30px 2px rgba(0, 0, 0, 0.25); | $box-shadow-3-strong: 0px 6px 11px 0px rgba(0, 0, 0, 0.25), 0px 7px 20px 3px rgba(0, 0, 0, 0.2); | ||||||
| $box-shadow-4-strong: 0 8px 20px 4px rgba(0, 0, 0, 0.25), 0 8px 40px 4px rgba(0, 0, 0, 0.25); | $box-shadow-4-strong: 0px 6px 14px 0px rgba(0, 0, 0, 0.25), 0px 10px 30px 4px rgba(0, 0, 0, 0.2); | ||||||
| $box-shadow-5-strong: 0 10px 25px 6px rgba(0, 0, 0, 0.25), 0 10px 50px 6px rgba(0, 0, 0, 0.25); | $box-shadow-5-strong: 0px 6px 20px 0px rgba(0, 0, 0, 0.25), 0px 12px 40px 5px rgba(0, 0, 0, 0.2); | ||||||
| 
 | 
 | ||||||
| $shadows-light: ( | $shadows-light: ( | ||||||
|   '0': $box-shadow-0, |   '0': $box-shadow-0, | ||||||
|  | @ -386,12 +381,64 @@ $font-family-base: var(--mdb-font-roboto); | ||||||
| 
 | 
 | ||||||
| $line-height-base: 1.6; | $line-height-base: 1.6; | ||||||
| 
 | 
 | ||||||
|  | // Badge | ||||||
|  | 
 | ||||||
|  | $badge-dot-border-radius: 4.5px; | ||||||
|  | $badge-dot-height: 9px; | ||||||
|  | $badge-dot-width: 9px; | ||||||
|  | $badge-dot-ml: -3px; | ||||||
|  | $badge-notification-mt: -5px; | ||||||
|  | $badge-notification-ml: -5px; | ||||||
|  | 
 | ||||||
| // Buttons | // Buttons | ||||||
| 
 | 
 | ||||||
| $btn-line-height: 1.6; | $btn-line-height: 1.5; | ||||||
|  | $btn-padding-top: 10px; | ||||||
|  | $btn-padding-bottom: 8px; | ||||||
|  | $btn-font-size: 12px; | ||||||
|  | $btn-padding-left: 24px; | ||||||
|  | $btn-padding-right: 24px; | ||||||
|  | $btn-font-weight: 500; | ||||||
| $btn-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2), 0 2px 10px 0 rgba(0, 0, 0, 0.1); | $btn-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2), 0 2px 10px 0 rgba(0, 0, 0, 0.1); | ||||||
| $btn-hover-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.1); | $btn-hover-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.1); | ||||||
| $btn-focus-box-shadow: $btn-hover-box-shadow; | $btn-focus-box-shadow: $btn-hover-box-shadow; | ||||||
| $btn-active-box-shadow: $btn-hover-box-shadow; | $btn-active-box-shadow: $btn-hover-box-shadow; | ||||||
|  | $btn-border-width: 2px; | ||||||
| 
 | 
 | ||||||
| $btn-padding-top: 0.4375rem; | $btn-outline-padding-top: 8px; | ||||||
|  | $btn-outline-padding-bottom: 6px; | ||||||
|  | $btn-outline-padding-left: 22px; | ||||||
|  | $btn-outline-padding-right: 22px; | ||||||
|  | 
 | ||||||
|  | $btn-outline-padding-top-sm: 4px; | ||||||
|  | $btn-outline-padding-bottom-sm: 3px; | ||||||
|  | $btn-outline-padding-right-sm: 14px; | ||||||
|  | $btn-outline-padding-left-sm: 14px; | ||||||
|  | 
 | ||||||
|  | $btn-outline-padding-top-lg: 10px; | ||||||
|  | $btn-outline-padding-bottom-lg: 9px; | ||||||
|  | $btn-outline-padding-right-lg: 25px; | ||||||
|  | $btn-outline-padding-left-lg: 25px; | ||||||
|  | 
 | ||||||
|  | $btn-line-height-lg: 1.6; | ||||||
|  | $btn-font-size-lg: 14px; | ||||||
|  | $btn-padding-top-lg: 12px; | ||||||
|  | $btn-padding-bottom-lg: 11px; | ||||||
|  | $btn-padding-right-lg: 27px; | ||||||
|  | $btn-padding-left-lg: 27px; | ||||||
|  | 
 | ||||||
|  | $btn-line-height-sm: $btn-line-height; | ||||||
|  | $btn-font-size-sm: 12px; | ||||||
|  | $btn-padding-top-sm: 6px; | ||||||
|  | $btn-padding-bottom-sm: 5px; | ||||||
|  | $btn-padding-right-sm: 16px; | ||||||
|  | $btn-padding-left-sm: 16px; | ||||||
|  | 
 | ||||||
|  | $btn-link-bgc: #f5f5f5; | ||||||
|  | $btn-rounded-border-radius: 10rem; | ||||||
|  | 
 | ||||||
|  | // Button group | ||||||
|  | 
 | ||||||
|  | $btn-group-border-radius: calc(0.25rem - 1px); | ||||||
|  | $btn-group-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, | ||||||
|  |   border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; | ||||||
|  |  | ||||||
|  | @ -1,16 +1,103 @@ | ||||||
| // | // | ||||||
| // Check/radio | // Material styles for check / radio / switch | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
|  | .form-check { | ||||||
|  |   .form-check-input { | ||||||
|  |     margin-left: 1.79rem * -1; | ||||||
|  | 
 | ||||||
|  |     &[type='radio'] { | ||||||
|  |       margin-left: 1.85rem * -1; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .form-check-input { | .form-check-input { | ||||||
|   border: solid 2px; |   width: 18px; | ||||||
|   border-color: rgba(0, 0, 0, 0.6); |   height: 18px; | ||||||
|  |   background-color: #fff; | ||||||
|  |   border: 2px solid rgb(117, 117, 117); | ||||||
|  | 
 | ||||||
|  |   &:before { | ||||||
|  |     content: ''; | ||||||
|  |     position: absolute; | ||||||
|  |     z-index: -1; | ||||||
|  |     box-shadow: 0px 0px 0px 13px transparent; | ||||||
|  |     border-radius: 50%; | ||||||
|  |     width: 14px; | ||||||
|  |     height: 14px; | ||||||
|  |     background-color: transparent; | ||||||
|  |     opacity: 0; | ||||||
|  |     pointer-events: none; | ||||||
|  |     transform: scale(0); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:hover { | ||||||
|  |     cursor: pointer; | ||||||
|  | 
 | ||||||
|  |     &:before { | ||||||
|  |       opacity: 0.04; | ||||||
|  |       box-shadow: 0px 0px 0px 13px rgba(0, 0, 0, 0.6); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:focus { | ||||||
|  |     box-shadow: none; | ||||||
|  |     border-color: rgb(117, 117, 117); | ||||||
|  |     transition: border-color 0.2s; | ||||||
|  | 
 | ||||||
|  |     &:before { | ||||||
|  |       opacity: 0.12; | ||||||
|  |       box-shadow: 0px 0px 0px 13px rgba(0, 0, 0, 0.6); | ||||||
|  |       transform: scale(1); | ||||||
|  |       transition: box-shadow 0.2s, transform 0.2s; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   &:checked { | ||||||
|  |     border-color: $primary; | ||||||
|  | 
 | ||||||
|  |     &:before { | ||||||
|  |       opacity: 0.16; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     &:after { | ||||||
|  |       content: ''; | ||||||
|  |       position: absolute; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     &:focus { | ||||||
|  |       border-color: $primary; | ||||||
|  | 
 | ||||||
|  |       &:before { | ||||||
|  |         box-shadow: 0px 0px 0px 13px $primary; | ||||||
|  |         transform: scale(1); | ||||||
|  |         transition: box-shadow 0.2s, transform 0.2s; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|   &[type='checkbox'] { |   &[type='checkbox'] { | ||||||
|     border-radius: 2px; |     border-radius: 2px; | ||||||
| 
 | 
 | ||||||
|     &:checked { |     &:checked { | ||||||
|  |       background-image: none; | ||||||
|       background-color: $primary; |       background-color: $primary; | ||||||
|  | 
 | ||||||
|  |       &:after { | ||||||
|  |         display: block; | ||||||
|  |         transform: rotate(45deg); | ||||||
|  |         border-width: 2px; | ||||||
|  |         border-color: #fff; | ||||||
|  |         width: 6px; | ||||||
|  |         height: 13px; | ||||||
|  |         border-style: solid; | ||||||
|  |         border-top: 0; | ||||||
|  |         border-left: 0; | ||||||
|  |         margin-left: 4px; | ||||||
|  |         margin-top: -1px; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|       &:focus { |       &:focus { | ||||||
|         background-color: $primary; |         background-color: $primary; | ||||||
|       } |       } | ||||||
|  | @ -18,54 +105,19 @@ | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   &[type='radio'] { |   &[type='radio'] { | ||||||
|  |     border-radius: 50%; | ||||||
|  |     width: 20px; | ||||||
|  |     height: 20px; | ||||||
|  | 
 | ||||||
|  |     &:before { | ||||||
|  |       box-shadow: 1px 1px 0px 13px rgba(0, 0, 0, 0.6); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     &:checked { |     &:checked { | ||||||
|  |       background-image: none; | ||||||
|       background-color: #fff; |       background-color: #fff; | ||||||
|       &:focus { |  | ||||||
|         background-color: #fff; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|   &:hover { |       &:after { | ||||||
|     cursor: pointer; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &:focus { |  | ||||||
|     border-color: rgba(0, 0, 0, 0.6); |  | ||||||
|     box-shadow: none; |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   &:checked { |  | ||||||
|     &:focus { |  | ||||||
|       border-color: $primary; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &[type='checkbox'] { |  | ||||||
|       background-image: none; |  | ||||||
| 
 |  | ||||||
|       &:before { |  | ||||||
|         content: ''; |  | ||||||
|         transform: rotate(45deg); |  | ||||||
|         position: absolute; |  | ||||||
|         margin-left: 5px; |  | ||||||
|         width: 6px; |  | ||||||
|         height: 13px; |  | ||||||
|         border-width: 2px; |  | ||||||
|         border-style: solid; |  | ||||||
|         border-top: 0; |  | ||||||
|         border-left: 0; |  | ||||||
|         border-color: #fff; |  | ||||||
|         z-index: 10000; |  | ||||||
|         transition: border-color 0.2s, background-color 0.2s; |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     &[type='radio'] { |  | ||||||
|       background-image: none; |  | ||||||
| 
 |  | ||||||
|       &:before { |  | ||||||
|         content: ''; |  | ||||||
|         position: absolute; |  | ||||||
|         border-radius: 50%; |         border-radius: 50%; | ||||||
|         width: 10px; |         width: 10px; | ||||||
|         height: 10px; |         height: 10px; | ||||||
|  | @ -75,6 +127,14 @@ | ||||||
|         margin-left: 3px; |         margin-left: 3px; | ||||||
|         transition: border-color; |         transition: border-color; | ||||||
|       } |       } | ||||||
|  | 
 | ||||||
|  |       &:focus { | ||||||
|  |         background-color: #fff; | ||||||
|  | 
 | ||||||
|  |         &:before { | ||||||
|  |           box-shadow: 1px 1px 0px 13px $primary; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | @ -86,6 +146,7 @@ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .form-switch { | .form-switch { | ||||||
|  |   padding-left: 1.85rem; | ||||||
|   .form-check-input { |   .form-check-input { | ||||||
|     background-image: none; |     background-image: none; | ||||||
|     border-width: 0px; |     border-width: 0px; | ||||||
|  | @ -93,8 +154,10 @@ | ||||||
|     width: 36px; |     width: 36px; | ||||||
|     height: 14px; |     height: 14px; | ||||||
|     background-color: rgba(0, 0, 0, 0.38); |     background-color: rgba(0, 0, 0, 0.38); | ||||||
|  |     margin-top: 0.35rem; | ||||||
|  |     margin-right: 0.7rem; | ||||||
| 
 | 
 | ||||||
|     &:before { |     &:after { | ||||||
|       content: ''; |       content: ''; | ||||||
|       position: absolute; |       position: absolute; | ||||||
|       border: none; |       border: none; | ||||||
|  | @ -111,6 +174,12 @@ | ||||||
| 
 | 
 | ||||||
|     &:focus { |     &:focus { | ||||||
|       background-image: none; |       background-image: none; | ||||||
|  | 
 | ||||||
|  |       &:before { | ||||||
|  |         box-shadow: 3px -1px 0px 13px rgba(0, 0, 0, 0.6); | ||||||
|  |         transform: scale(1); | ||||||
|  |         transition: box-shadow 0.2s, transform 0.2s; | ||||||
|  |       } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     &:checked { |     &:checked { | ||||||
|  | @ -118,12 +187,19 @@ | ||||||
| 
 | 
 | ||||||
|       &:focus { |       &:focus { | ||||||
|         background-image: none; |         background-image: none; | ||||||
|  | 
 | ||||||
|  |         &:before { | ||||||
|  |           margin-left: 17px; | ||||||
|  |           box-shadow: 3px -1px 0px 13px $primary; | ||||||
|  |           transform: scale(1); | ||||||
|  |           transition: box-shadow 0.2s, transform 0.2s; | ||||||
|  |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       &[type='checkbox'] { |       &[type='checkbox'] { | ||||||
|         background-image: none; |         background-image: none; | ||||||
| 
 | 
 | ||||||
|         &:before { |         &:after { | ||||||
|           content: ''; |           content: ''; | ||||||
|           position: absolute; |           position: absolute; | ||||||
|           border: none; |           border: none; | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -1,11 +1,3 @@ | ||||||
| // | // | ||||||
| // Form text | // Form text | ||||||
| // | // | ||||||
| 
 |  | ||||||
| .form-text { |  | ||||||
|   margin-top: $form-text-margin-top; |  | ||||||
|   @include font-size($form-text-font-size); |  | ||||||
|   font-style: $form-text-font-style; |  | ||||||
|   font-weight: $form-text-font-weight; |  | ||||||
|   color: $form-text-color; |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -7,8 +7,10 @@ | ||||||
|     min-height: calc(1.5em + 0.33rem + 2px); |     min-height: calc(1.5em + 0.33rem + 2px); | ||||||
|     padding-top: 0.27rem; |     padding-top: 0.27rem; | ||||||
|     padding-bottom: 0.27rem; |     padding-bottom: 0.27rem; | ||||||
|  |     transition: all 0.2s linear; | ||||||
| 
 | 
 | ||||||
|     &:focus { |     &:focus { | ||||||
|  |       transition: all 0.2s linear; | ||||||
|       border-color: $primary; |       border-color: $primary; | ||||||
|       outline: 0; |       outline: 0; | ||||||
|       box-shadow: inset 0 0 0 1px $primary; |       box-shadow: inset 0 0 0 1px $primary; | ||||||
|  | @ -54,5 +56,9 @@ | ||||||
|     .input-group-text { |     .input-group-text { | ||||||
|       border-left: 0; |       border-left: 0; | ||||||
|     } |     } | ||||||
|  |     input + .input-group-text { | ||||||
|  |       border: 0; | ||||||
|  |       border-left: 1px solid #bdbdbd; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -65,24 +65,19 @@ | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .was-validated | .was-validated .form-check-input.is-valid:checked[type='checkbox']:before { | ||||||
|   .form-check |   border-color: #fff; | ||||||
|   .form-check-input[type='checkbox']:valid:checked | } | ||||||
|   + .form-check-label:before, | .was-validated .form-check-input.is-valid:checked[type='checkbox'] { | ||||||
| .was-validated |  | ||||||
|   .form-check |  | ||||||
|   .form-check-input[type='checkbox'].is-valid:checked |  | ||||||
|   + .form-check-label:before { |  | ||||||
|   background-color: $success; |   background-color: $success; | ||||||
|   border-color: $success; |   border-color: $success; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .was-validated .form-check .form-check-input[type='checkbox']:invalid + .form-check-label:before, | .was-validated .form-check-input.is-invalid:checked[type='checkbox']:before { | ||||||
| .was-validated |   border-color: #fff; | ||||||
|   .form-check | } | ||||||
|   .form-check-input[type='checkbox'].is-invalid | .was-validated .form-check-input.is-invalid:checked[type='checkbox'] { | ||||||
|   + .form-check-label:before { |   background-color: $danger; | ||||||
|   background-color: $white; |  | ||||||
|   border-color: $danger; |   border-color: $danger; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -93,12 +88,38 @@ | ||||||
|   margin-bottom: 1rem; |   margin-bottom: 1rem; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .was-validated .form-check-input:valid:checked, | .was-validated .form-check-input:invalid:focus, | ||||||
| .form-check-input.is-valid:checked { | .form-check-input.is-invalid:focus { | ||||||
|   background-color: $success; |   box-shadow: none; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .was-validated .form-check-input:invalid, | .was-validated .form-check-input:valid:focus, | ||||||
| .form-check-input.is-invalid { | .form-check-input.valid:focus { | ||||||
|   background-color: $danger; |   box-shadow: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .was-validated .form-check-input:valid:checked:focus:before { | ||||||
|  |   box-shadow: 0px 0px 0px 13px $success; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .was-validated .form-check-input:invalid:checked:focus:before { | ||||||
|  |   box-shadow: 0px 0px 0px 13px $danger; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .was-validated .form-check-input[type='checkbox']:checked:valid:focus, | ||||||
|  | .form-check-input[type='checkbox'].valid:checked:focus { | ||||||
|  |   background-color: $success; | ||||||
|  |   border-color: $success; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .was-validated .input-group .form-control:invalid, | ||||||
|  | .was-validated .input-group .form-control.is-invalid, | ||||||
|  | .was-validated .input-group .form-control:valid, | ||||||
|  | .was-validated .input-group .form-control.is-valid { | ||||||
|  |   margin-bottom: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .was-validated .input-group .valid-feedback, | ||||||
|  | .was-validated .input-group .invalid-feedback { | ||||||
|  |   margin-top: 2.5rem; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -58,10 +58,10 @@ | ||||||
| @import './free/colors'; | @import './free/colors'; | ||||||
| @import './free/shadows'; | @import './free/shadows'; | ||||||
| @import './free/flag'; | @import './free/flag'; | ||||||
|  | @import './free/images'; | ||||||
| 
 | 
 | ||||||
| // MDB FORMS | // MDB FORMS | ||||||
| @import './free/forms/form-control'; | @import './free/forms/form-control'; | ||||||
| @import './free/forms/form-outline'; |  | ||||||
| @import './free/forms/form-select'; | @import './free/forms/form-select'; | ||||||
| @import './free/forms/form-check'; | @import './free/forms/form-check'; | ||||||
| @import './free/forms/form-file'; | @import './free/forms/form-file'; | ||||||
|  | @ -76,6 +76,7 @@ | ||||||
| @import './free/nav'; | @import './free/nav'; | ||||||
| @import './free/navbar'; | @import './free/navbar'; | ||||||
| @import './free/card'; | @import './free/card'; | ||||||
|  | @import './free/breadcrumb'; | ||||||
| @import './free/pagination'; | @import './free/pagination'; | ||||||
| @import './free/badge'; | @import './free/badge'; | ||||||
| @import './free/alert'; | @import './free/alert'; | ||||||
|  | @ -87,3 +88,4 @@ | ||||||
| @import './free/scrollspy'; | @import './free/scrollspy'; | ||||||
| @import './free/animate'; | @import './free/animate'; | ||||||
| @import './free/ripple'; | @import './free/ripple'; | ||||||
|  | @import './free/footer'; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user