mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2024-11-25 11:04:09 +03:00
release: 6.2.0
This commit is contained in:
parent
d4120a54b3
commit
e5a3fad625
|
@ -1,5 +1,5 @@
|
|||
MDB5
|
||||
Version: FREE 6.1.0
|
||||
Version: FREE 6.2.0
|
||||
|
||||
Documentation:
|
||||
https://mdbootstrap.com/docs/standard/
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
css/mdb.min.css
vendored
2
css/mdb.min.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/*!
|
||||
* MDB5
|
||||
* Version: FREE 6.1.0
|
||||
* Version: FREE 6.2.0
|
||||
*
|
||||
*
|
||||
* Copyright: Material Design for Bootstrap
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
js/mdb.min.js
vendored
4
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",
|
||||
"version": "6.1.0",
|
||||
"version": "6.2.0",
|
||||
"main": "js/mdb.min.js",
|
||||
"homepage": "https://mdbootstrap.com/docs/standard/",
|
||||
"repository": "https://github.com/mdbootstrap/mdb-ui-kit.git",
|
||||
|
|
115
src/js/free/collapse.js
Normal file
115
src/js/free/collapse.js
Normal file
|
@ -0,0 +1,115 @@
|
|||
import { getjQuery, onDOMContentLoaded } from '../mdb/util/index';
|
||||
import EventHandler from '../mdb/dom/event-handler';
|
||||
import SelectorEngine from '../mdb/dom/selector-engine';
|
||||
import BSCollapse from '../bootstrap/mdb-prefix/collapse';
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Constants
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
const NAME = 'collapse';
|
||||
const DATA_KEY = `mdb.${NAME}`;
|
||||
const EVENT_KEY = `.${DATA_KEY}`;
|
||||
|
||||
const EVENT_SHOW_BS = 'show.bs.collapse';
|
||||
const EVENT_SHOWN_BS = 'shown.bs.collapse';
|
||||
const EVENT_HIDE_BS = 'hide.bs.collapse';
|
||||
const EVENT_HIDDEN_BS = 'hidden.bs.collapse';
|
||||
|
||||
const EVENT_SHOW = `show${EVENT_KEY}`;
|
||||
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
||||
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
||||
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
|
||||
|
||||
const SELECTOR_DATA_TOGGLE = '[data-mdb-toggle="collapse"]';
|
||||
|
||||
class Collapse extends BSCollapse {
|
||||
constructor(element, data = {}) {
|
||||
super(element, data);
|
||||
|
||||
this._init();
|
||||
}
|
||||
|
||||
dispose() {
|
||||
EventHandler.off(this._element, EVENT_SHOW_BS);
|
||||
EventHandler.off(this._element, EVENT_SHOWN_BS);
|
||||
EventHandler.off(this._element, EVENT_HIDE_BS);
|
||||
EventHandler.off(this._element, EVENT_HIDDEN_BS);
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
// Getters
|
||||
static get NAME() {
|
||||
return NAME;
|
||||
}
|
||||
|
||||
// Private
|
||||
_init() {
|
||||
this._bindShowEvent();
|
||||
this._bindShownEvent();
|
||||
this._bindHideEvent();
|
||||
this._bindHiddenEvent();
|
||||
}
|
||||
|
||||
_bindShowEvent() {
|
||||
EventHandler.on(this._element, EVENT_SHOW_BS, () => {
|
||||
EventHandler.trigger(this._element, EVENT_SHOW);
|
||||
});
|
||||
}
|
||||
|
||||
_bindShownEvent() {
|
||||
EventHandler.on(this._element, EVENT_SHOWN_BS, () => {
|
||||
EventHandler.trigger(this._element, EVENT_SHOWN);
|
||||
});
|
||||
}
|
||||
|
||||
_bindHideEvent() {
|
||||
EventHandler.on(this._element, EVENT_HIDE_BS, () => {
|
||||
EventHandler.trigger(this._element, EVENT_HIDE);
|
||||
});
|
||||
}
|
||||
|
||||
_bindHiddenEvent() {
|
||||
EventHandler.on(this._element, EVENT_HIDDEN_BS, () => {
|
||||
EventHandler.trigger(this._element, EVENT_HIDDEN);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Data Api implementation - auto initialization
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
SelectorEngine.find(SELECTOR_DATA_TOGGLE).forEach((el) => {
|
||||
let instance = Collapse.getInstance(el);
|
||||
if (!instance) {
|
||||
instance = new Collapse(el, { toggle: false });
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* jQuery
|
||||
* ------------------------------------------------------------------------
|
||||
* add .rating to jQuery only if jQuery is present
|
||||
*/
|
||||
onDOMContentLoaded(() => {
|
||||
const $ = getjQuery();
|
||||
|
||||
if ($) {
|
||||
const JQUERY_NO_CONFLICT = $.fn[NAME];
|
||||
$.fn[NAME] = Collapse.jQueryInterface;
|
||||
$.fn[NAME].Constructor = Collapse;
|
||||
$.fn[NAME].noConflict = () => {
|
||||
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
||||
return Collapse.jQueryInterface;
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
export default Collapse;
|
|
@ -18,6 +18,7 @@ const CLASSNAME_ACTIVE = 'thumb-active';
|
|||
const CLASSNAME_THUMB_VALUE = 'thumb-value';
|
||||
|
||||
const SELECTOR_THUMB_VALUE = `.${CLASSNAME_THUMB_VALUE}`;
|
||||
const SELECTOR_THUMB = `.${CLASSNAME_THUMB}`;
|
||||
const SELECTOR_WRAPPER = `.${CLASSNAME_WRAPPER}`;
|
||||
|
||||
/**
|
||||
|
@ -30,6 +31,7 @@ class Range {
|
|||
constructor(element) {
|
||||
this._element = element;
|
||||
this._initiated = false;
|
||||
this._thumb = null;
|
||||
|
||||
if (this._element) {
|
||||
Data.setData(element, DATA_KEY, this);
|
||||
|
@ -52,8 +54,7 @@ class Range {
|
|||
return;
|
||||
}
|
||||
this._addThumb();
|
||||
this._updateValue();
|
||||
this._thumbPositionUpdate();
|
||||
this._thumbUpdate();
|
||||
this._handleEvents();
|
||||
this._initiated = true;
|
||||
}
|
||||
|
@ -62,6 +63,7 @@ class Range {
|
|||
this._disposeEvents();
|
||||
Data.removeData(this._element, DATA_KEY);
|
||||
this._element = null;
|
||||
this._thumb = null;
|
||||
}
|
||||
|
||||
// Private
|
||||
|
@ -70,12 +72,7 @@ class Range {
|
|||
Manipulator.addClass(RANGE_THUMB, CLASSNAME_THUMB);
|
||||
RANGE_THUMB.innerHTML = '<span class="thumb-value"></span>';
|
||||
this._element.append(RANGE_THUMB);
|
||||
}
|
||||
|
||||
_updateValue() {
|
||||
const thumbValue = SelectorEngine.findOne(SELECTOR_THUMB_VALUE, this._element);
|
||||
thumbValue.textContent = this.rangeInput.value;
|
||||
this.rangeInput.oninput = () => (thumbValue.textContent = this.rangeInput.value);
|
||||
this._thumb = SelectorEngine.findOne(SELECTOR_THUMB, this._element);
|
||||
}
|
||||
|
||||
_handleEvents() {
|
||||
|
@ -83,7 +80,7 @@ class Range {
|
|||
EventHandler.on(this.rangeInput, 'mouseup', () => this._hideThumb());
|
||||
EventHandler.on(this.rangeInput, 'touchstart', () => this._showThumb());
|
||||
EventHandler.on(this.rangeInput, 'touchend', () => this._hideThumb());
|
||||
EventHandler.on(this.rangeInput, 'input', () => this._thumbPositionUpdate());
|
||||
EventHandler.on(this.rangeInput, 'input', () => this._thumbUpdate());
|
||||
}
|
||||
|
||||
_disposeEvents() {
|
||||
|
@ -91,26 +88,26 @@ class Range {
|
|||
EventHandler.off(this.rangeInput, 'mouseup', this._hideThumb);
|
||||
EventHandler.off(this.rangeInput, 'touchstart', this._showThumb);
|
||||
EventHandler.off(this.rangeInput, 'touchend', this._hideThumb);
|
||||
EventHandler.off(this.rangeInput, 'input', this._thumbPositionUpdate);
|
||||
EventHandler.off(this.rangeInput, 'input', this._thumbUpdate);
|
||||
}
|
||||
|
||||
_showThumb() {
|
||||
Manipulator.addClass(this._element.lastElementChild, CLASSNAME_ACTIVE);
|
||||
Manipulator.addClass(this._thumb, CLASSNAME_ACTIVE);
|
||||
}
|
||||
|
||||
_hideThumb() {
|
||||
Manipulator.removeClass(this._element.lastElementChild, CLASSNAME_ACTIVE);
|
||||
Manipulator.removeClass(this._thumb, CLASSNAME_ACTIVE);
|
||||
}
|
||||
|
||||
_thumbPositionUpdate() {
|
||||
_thumbUpdate() {
|
||||
const rangeInput = this.rangeInput;
|
||||
const inputValue = rangeInput.value;
|
||||
const minValue = rangeInput.min ? rangeInput.min : 0;
|
||||
const maxValue = rangeInput.max ? rangeInput.max : 100;
|
||||
const thumb = this._element.lastElementChild;
|
||||
const thumbValue = SelectorEngine.findOne(SELECTOR_THUMB_VALUE, this._thumb);
|
||||
thumbValue.textContent = inputValue;
|
||||
const newValue = Number(((inputValue - minValue) * 100) / (maxValue - minValue));
|
||||
thumb.firstElementChild.textContent = inputValue;
|
||||
Manipulator.style(thumb, { left: `calc(${newValue}% + (${8 - newValue * 0.15}px))` });
|
||||
Manipulator.style(this._thumb, { left: `calc(${newValue}% + (${8 - newValue * 0.15}px))` });
|
||||
}
|
||||
// Static
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// BOOTSTRAP CORE COMPONENTS
|
||||
import Button from './free/button';
|
||||
import Collapse from './bootstrap/mdb-prefix/collapse';
|
||||
import Offcanvas from './bootstrap/mdb-prefix/offcanvas';
|
||||
import Alert from './free/alert';
|
||||
import Carousel from './free/carousel';
|
||||
|
@ -13,6 +12,7 @@ import Toast from './free/toast';
|
|||
|
||||
// MDB FREE COMPONENTS
|
||||
import Input from './free/input';
|
||||
import Collapse from './free/collapse';
|
||||
import Dropdown from './free/dropdown';
|
||||
import Ripple from './free/ripple';
|
||||
import Range from './free/range';
|
||||
|
|
Loading…
Reference in New Issue
Block a user