@coreui/coreui 4.1.4 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/README.md +64 -11
- package/dist/css/bootstrap-reboot.css +488 -0
- package/dist/css/bootstrap-reboot.css.map +1 -0
- package/dist/css/bootstrap-reboot.min.css +8 -0
- package/dist/css/bootstrap-reboot.min.css.map +1 -0
- package/dist/css/coreui-grid.css +23 -949
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +3 -3
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +25 -951
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +5 -5
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +35 -42
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +3 -3
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +36 -44
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +5 -5
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +279 -951
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +3 -3
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +275 -953
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +5 -5
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +2203 -2295
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +3 -3
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +2190 -2289
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +5 -5
- package/dist/css/coreui.rtl.min.css.map +1 -1
- package/dist/js/coreui.bundle.js +2101 -1908
- package/dist/js/coreui.bundle.js.map +1 -1
- package/dist/js/coreui.bundle.min.js +2 -2
- package/dist/js/coreui.bundle.min.js.map +1 -1
- package/dist/js/coreui.esm.js +2098 -1909
- package/dist/js/coreui.esm.js.map +1 -1
- package/dist/js/coreui.esm.min.js +2 -2
- package/dist/js/coreui.esm.min.js.map +1 -1
- package/dist/js/coreui.js +2099 -1910
- package/dist/js/coreui.js.map +1 -1
- package/dist/js/coreui.min.js +2 -2
- package/dist/js/coreui.min.js.map +1 -1
- package/js/dist/alert.js +10 -148
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +36 -122
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +9 -76
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +212 -507
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +64 -251
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +2 -4
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +82 -133
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +22 -26
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +16 -81
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +99 -338
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +106 -774
- package/js/dist/modal.js.map +1 -1
- package/js/dist/navigation.js +309 -0
- package/js/dist/navigation.js.map +1 -0
- package/js/dist/offcanvas.js +88 -680
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +35 -120
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +178 -264
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/sidebar.js +347 -0
- package/js/dist/sidebar.js.map +1 -0
- package/js/dist/tab.js +226 -216
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +27 -216
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +271 -618
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +166 -0
- package/js/dist/util/backdrop.js.map +1 -0
- package/js/dist/util/component-functions.js +47 -0
- package/js/dist/util/component-functions.js.map +1 -0
- package/js/dist/util/config.js +80 -0
- package/js/dist/util/config.js.map +1 -0
- package/js/dist/util/focustrap.js +130 -0
- package/js/dist/util/focustrap.js.map +1 -0
- package/js/dist/util/index.js +354 -0
- package/js/dist/util/index.js.map +1 -0
- package/js/dist/util/sanitizer.js +126 -0
- package/js/dist/util/sanitizer.js.map +1 -0
- package/js/dist/util/scrollbar.js +139 -0
- package/js/dist/util/scrollbar.js.map +1 -0
- package/js/dist/util/swipe.js +156 -0
- package/js/dist/util/swipe.js.map +1 -0
- package/js/dist/util/template-factory.js +178 -0
- package/js/dist/util/template-factory.js.map +1 -0
- package/js/src/alert.js +3 -15
- package/js/src/base-component.js +28 -18
- package/js/src/button.js +3 -15
- package/js/src/carousel.js +203 -320
- package/js/src/collapse.js +61 -94
- package/js/src/dom/data.js +1 -3
- package/js/src/dom/event-handler.js +74 -107
- package/js/src/dom/manipulator.js +22 -31
- package/js/src/dom/selector-engine.js +10 -19
- package/js/src/dropdown.js +84 -138
- package/js/src/modal.js +94 -158
- package/js/src/navigation.js +12 -13
- package/js/src/offcanvas.js +71 -60
- package/js/src/popover.js +31 -62
- package/js/src/scrollspy.js +166 -171
- package/js/src/sidebar.js +5 -8
- package/js/src/tab.js +201 -110
- package/js/src/toast.js +19 -41
- package/js/src/tooltip.js +264 -374
- package/js/src/util/backdrop.js +55 -36
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +66 -0
- package/js/src/util/focustrap.js +38 -28
- package/js/src/util/index.js +41 -57
- package/js/src/util/sanitizer.js +9 -17
- package/js/src/util/scrollbar.js +47 -30
- package/js/src/util/swipe.js +146 -0
- package/js/src/util/template-factory.js +160 -0
- package/package.json +40 -40
- package/scss/_accordion.scss +53 -25
- package/scss/_alert.scss +29 -9
- package/scss/_badge.scss +15 -6
- package/scss/_breadcrumb.scss +23 -11
- package/scss/_button-group.scss +3 -0
- package/scss/_buttons.scss +71 -50
- package/scss/_callout.scss +18 -6
- package/scss/_card.scss +55 -37
- package/scss/_carousel.scss +6 -6
- package/scss/_close.scss +4 -4
- package/scss/_containers.scss +1 -1
- package/scss/_dropdown.scss +86 -64
- package/scss/_footer.scss +15 -5
- package/scss/_functions.scss +11 -24
- package/scss/_grid.scss +3 -3
- package/scss/_header.scss +59 -34
- package/scss/_helpers.scss +1 -0
- package/scss/_images.scss +3 -3
- package/scss/_list-group.scss +47 -29
- package/scss/_maps.scss +54 -0
- package/scss/_modal.scss +70 -43
- package/scss/_nav.scss +53 -20
- package/scss/_navbar.scss +84 -94
- package/scss/_offcanvas.scss +120 -60
- package/scss/_pagination.scss +66 -21
- package/scss/_popover.scss +90 -52
- package/scss/_progress.scss +20 -9
- package/scss/_reboot.scss +31 -58
- package/scss/_root.scss +41 -21
- package/scss/_spinners.scss +37 -21
- package/scss/_subheader.scss +9 -9
- package/scss/_tables.scss +34 -36
- package/scss/_toasts.scss +35 -19
- package/scss/_tooltip.scss +61 -56
- package/scss/_utilities.scss +42 -27
- package/scss/_variables.scss +169 -148
- package/scss/bootstrap-reboot.scss +14 -0
- package/scss/coreui-grid.rtl.scss +2 -2
- package/scss/coreui-grid.scss +3 -2
- package/scss/coreui-reboot.rtl.scss +2 -2
- package/scss/coreui-reboot.scss +2 -2
- package/scss/coreui-utilities.rtl.scss +2 -2
- package/scss/coreui-utilities.scss +3 -2
- package/scss/coreui.rtl.scss +2 -2
- package/scss/coreui.scss +3 -2
- package/scss/forms/_floating-labels.scss +14 -3
- package/scss/forms/_form-check.scss +42 -19
- package/scss/forms/_form-control.scss +25 -50
- package/scss/forms/_form-range.scss +8 -8
- package/scss/forms/_form-select.scss +8 -8
- package/scss/forms/_form-text.scss +1 -1
- package/scss/forms/_input-group.scss +3 -3
- package/scss/forms/_labels.scss +2 -2
- package/scss/helpers/_color-bg.scss +10 -0
- package/scss/helpers/_colored-links.scss +2 -2
- package/scss/helpers/_position.scss +7 -1
- package/scss/helpers/_ratio.scss +2 -2
- package/scss/helpers/_vr.scss +1 -0
- package/scss/mixins/_alert.scss +10 -10
- package/scss/mixins/_breakpoints.scss +8 -8
- package/scss/mixins/_buttons.scss +45 -47
- package/scss/mixins/_container.scss +4 -2
- package/scss/mixins/_css-vars.scss +47 -47
- package/scss/mixins/_forms.scss +10 -2
- package/scss/mixins/_gradients.scss +1 -1
- package/scss/mixins/_grid.scss +11 -11
- package/scss/mixins/_list-group.scss +7 -9
- package/scss/mixins/_pagination.scss +4 -25
- package/scss/mixins/_table-variants.scss +20 -12
- package/scss/mixins/_utilities.scss +8 -3
- package/scss/sidebar/_sidebar-narrow.scss +10 -10
- package/scss/sidebar/_sidebar-nav.scss +33 -32
- package/scss/sidebar/_sidebar.scss +110 -56
package/js/dist/collapse.js
CHANGED
|
@@ -1,181 +1,23 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI collapse.js v4.
|
|
2
|
+
* CoreUI collapse.js v4.2.0 (https://coreui.io)
|
|
3
3
|
* Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* Licensed under MIT (https://coreui.io)
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
7
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['./
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.
|
|
10
|
-
})(this, (function (
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util/index'), require('./dom/event-handler'), require('./dom/selector-engine'), require('./base-component')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./util/index', './dom/event-handler', './dom/selector-engine', './base-component'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent));
|
|
10
|
+
})(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';
|
|
11
11
|
|
|
12
12
|
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
13
|
|
|
14
|
-
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
14
|
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
-
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
17
15
|
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
16
|
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* --------------------------------------------------------------------------
|
|
22
|
-
* CoreUI (v4.
|
|
23
|
-
* Licensed under MIT (https://coreui.io/license)
|
|
24
|
-
*
|
|
25
|
-
* This component is a modified version of the Bootstrap's util/index.js
|
|
26
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
27
|
-
* --------------------------------------------------------------------------
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
const toType = object => {
|
|
31
|
-
if (object === null || object === undefined) {
|
|
32
|
-
return `${object}`;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getSelector = element => {
|
|
39
|
-
let selector = element.getAttribute('data-coreui-target');
|
|
40
|
-
|
|
41
|
-
if (!selector || selector === '#') {
|
|
42
|
-
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
|
|
43
|
-
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
|
|
44
|
-
// `document.querySelector` will rightfully complain it is invalid.
|
|
45
|
-
// See https://github.com/twbs/bootstrap/issues/32273
|
|
46
|
-
|
|
47
|
-
if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
|
|
48
|
-
return null;
|
|
49
|
-
} // Just in case some CMS puts out a full URL with the anchor appended
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
|
|
53
|
-
hrefAttr = `#${hrefAttr.split('#')[1]}`;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return selector;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const getSelectorFromElement = element => {
|
|
63
|
-
const selector = getSelector(element);
|
|
64
|
-
|
|
65
|
-
if (selector) {
|
|
66
|
-
return document.querySelector(selector) ? selector : null;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return null;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const getElementFromSelector = element => {
|
|
73
|
-
const selector = getSelector(element);
|
|
74
|
-
return selector ? document.querySelector(selector) : null;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const isElement = obj => {
|
|
78
|
-
if (!obj || typeof obj !== 'object') {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (typeof obj.jquery !== 'undefined') {
|
|
83
|
-
obj = obj[0];
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return typeof obj.nodeType !== 'undefined';
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const getElement = obj => {
|
|
90
|
-
if (isElement(obj)) {
|
|
91
|
-
// it's a jQuery object or a node element
|
|
92
|
-
return obj.jquery ? obj[0] : obj;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (typeof obj === 'string' && obj.length > 0) {
|
|
96
|
-
return document.querySelector(obj);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return null;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
const typeCheckConfig = (componentName, config, configTypes) => {
|
|
103
|
-
Object.keys(configTypes).forEach(property => {
|
|
104
|
-
const expectedTypes = configTypes[property];
|
|
105
|
-
const value = config[property];
|
|
106
|
-
const valueType = value && isElement(value) ? 'element' : toType(value);
|
|
107
|
-
|
|
108
|
-
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
109
|
-
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Trick to restart an element's animation
|
|
115
|
-
*
|
|
116
|
-
* @param {HTMLElement} element
|
|
117
|
-
* @return void
|
|
118
|
-
*
|
|
119
|
-
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
|
120
|
-
*/
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const reflow = element => {
|
|
124
|
-
// eslint-disable-next-line no-unused-expressions
|
|
125
|
-
element.offsetHeight;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
const getjQuery = () => {
|
|
129
|
-
const {
|
|
130
|
-
jQuery
|
|
131
|
-
} = window;
|
|
132
|
-
|
|
133
|
-
if (jQuery && !document.body.hasAttribute('data-coreui-no-jquery')) {
|
|
134
|
-
return jQuery;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return null;
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
const DOMContentLoadedCallbacks = [];
|
|
141
|
-
|
|
142
|
-
const onDOMContentLoaded = callback => {
|
|
143
|
-
if (document.readyState === 'loading') {
|
|
144
|
-
// add listener on the first call when the document is in loading state
|
|
145
|
-
if (!DOMContentLoadedCallbacks.length) {
|
|
146
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
147
|
-
DOMContentLoadedCallbacks.forEach(callback => callback());
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
DOMContentLoadedCallbacks.push(callback);
|
|
152
|
-
} else {
|
|
153
|
-
callback();
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
const defineJQueryPlugin = plugin => {
|
|
158
|
-
onDOMContentLoaded(() => {
|
|
159
|
-
const $ = getjQuery();
|
|
160
|
-
/* istanbul ignore if */
|
|
161
|
-
|
|
162
|
-
if ($) {
|
|
163
|
-
const name = plugin.NAME;
|
|
164
|
-
const JQUERY_NO_CONFLICT = $.fn[name];
|
|
165
|
-
$.fn[name] = plugin.jQueryInterface;
|
|
166
|
-
$.fn[name].Constructor = plugin;
|
|
167
|
-
|
|
168
|
-
$.fn[name].noConflict = () => {
|
|
169
|
-
$.fn[name] = JQUERY_NO_CONFLICT;
|
|
170
|
-
return plugin.jQueryInterface;
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* --------------------------------------------------------------------------
|
|
178
|
-
* CoreUI (v4.1.4): collapse.js
|
|
20
|
+
* CoreUI (v4.2.0): collapse.js
|
|
179
21
|
* Licensed under MIT (https://coreui.io/license)
|
|
180
22
|
*
|
|
181
23
|
* This component is a modified version of the Bootstrap's collapse.js
|
|
@@ -183,23 +25,13 @@
|
|
|
183
25
|
* --------------------------------------------------------------------------
|
|
184
26
|
*/
|
|
185
27
|
/**
|
|
186
|
-
* ------------------------------------------------------------------------
|
|
187
28
|
* Constants
|
|
188
|
-
* ------------------------------------------------------------------------
|
|
189
29
|
*/
|
|
190
30
|
|
|
191
31
|
const NAME = 'collapse';
|
|
192
32
|
const DATA_KEY = 'coreui.collapse';
|
|
193
33
|
const EVENT_KEY = `.${DATA_KEY}`;
|
|
194
34
|
const DATA_API_KEY = '.data-api';
|
|
195
|
-
const Default = {
|
|
196
|
-
toggle: true,
|
|
197
|
-
parent: null
|
|
198
|
-
};
|
|
199
|
-
const DefaultType = {
|
|
200
|
-
toggle: 'boolean',
|
|
201
|
-
parent: '(null|element)'
|
|
202
|
-
};
|
|
203
35
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
|
204
36
|
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
|
205
37
|
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
|
@@ -215,28 +47,30 @@
|
|
|
215
47
|
const HEIGHT = 'height';
|
|
216
48
|
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
|
217
49
|
const SELECTOR_DATA_TOGGLE = '[data-coreui-toggle="collapse"]';
|
|
50
|
+
const Default = {
|
|
51
|
+
parent: null,
|
|
52
|
+
toggle: true
|
|
53
|
+
};
|
|
54
|
+
const DefaultType = {
|
|
55
|
+
parent: '(null|element)',
|
|
56
|
+
toggle: 'boolean'
|
|
57
|
+
};
|
|
218
58
|
/**
|
|
219
|
-
*
|
|
220
|
-
* Class Definition
|
|
221
|
-
* ------------------------------------------------------------------------
|
|
59
|
+
* Class definition
|
|
222
60
|
*/
|
|
223
61
|
|
|
224
62
|
class Collapse extends BaseComponent__default.default {
|
|
225
63
|
constructor(element, config) {
|
|
226
|
-
super(element);
|
|
64
|
+
super(element, config);
|
|
227
65
|
this._isTransitioning = false;
|
|
228
|
-
this._config = this._getConfig(config);
|
|
229
66
|
this._triggerArray = [];
|
|
230
67
|
const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);
|
|
231
68
|
|
|
232
|
-
for (
|
|
233
|
-
const
|
|
234
|
-
const
|
|
235
|
-
const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element);
|
|
69
|
+
for (const elem of toggleList) {
|
|
70
|
+
const selector = index.getSelectorFromElement(elem);
|
|
71
|
+
const filterElement = SelectorEngine__default.default.find(selector).filter(foundElement => foundElement === this._element);
|
|
236
72
|
|
|
237
73
|
if (selector !== null && filterElement.length) {
|
|
238
|
-
this._selector = selector;
|
|
239
|
-
|
|
240
74
|
this._triggerArray.push(elem);
|
|
241
75
|
}
|
|
242
76
|
}
|
|
@@ -257,6 +91,10 @@
|
|
|
257
91
|
return Default;
|
|
258
92
|
}
|
|
259
93
|
|
|
94
|
+
static get DefaultType() {
|
|
95
|
+
return DefaultType;
|
|
96
|
+
}
|
|
97
|
+
|
|
260
98
|
static get NAME() {
|
|
261
99
|
return NAME;
|
|
262
100
|
} // Public
|
|
@@ -275,23 +113,16 @@
|
|
|
275
113
|
return;
|
|
276
114
|
}
|
|
277
115
|
|
|
278
|
-
let
|
|
279
|
-
let activesData;
|
|
116
|
+
let activeChildren = []; // find active children
|
|
280
117
|
|
|
281
118
|
if (this._config.parent) {
|
|
282
|
-
|
|
283
|
-
|
|
119
|
+
activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
|
|
120
|
+
toggle: false
|
|
121
|
+
}));
|
|
284
122
|
}
|
|
285
123
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
if (actives.length) {
|
|
289
|
-
const tempActiveData = actives.find(elem => container !== elem);
|
|
290
|
-
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
|
|
291
|
-
|
|
292
|
-
if (activesData && activesData._isTransitioning) {
|
|
293
|
-
return;
|
|
294
|
-
}
|
|
124
|
+
if (activeChildren.length && activeChildren[0]._isTransitioning) {
|
|
125
|
+
return;
|
|
295
126
|
}
|
|
296
127
|
|
|
297
128
|
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);
|
|
@@ -300,17 +131,9 @@
|
|
|
300
131
|
return;
|
|
301
132
|
}
|
|
302
133
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
toggle: false
|
|
307
|
-
}).hide();
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
if (!activesData) {
|
|
311
|
-
Data__default.default.set(elemActive, DATA_KEY, null);
|
|
312
|
-
}
|
|
313
|
-
});
|
|
134
|
+
for (const activeInstance of activeChildren) {
|
|
135
|
+
activeInstance.hide();
|
|
136
|
+
}
|
|
314
137
|
|
|
315
138
|
const dimension = this._getDimension();
|
|
316
139
|
|
|
@@ -357,19 +180,16 @@
|
|
|
357
180
|
const dimension = this._getDimension();
|
|
358
181
|
|
|
359
182
|
this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
|
|
360
|
-
reflow(this._element);
|
|
183
|
+
index.reflow(this._element);
|
|
361
184
|
|
|
362
185
|
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
363
186
|
|
|
364
187
|
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
365
188
|
|
|
366
|
-
const
|
|
367
|
-
|
|
368
|
-
for (let i = 0; i < triggerArrayLength; i++) {
|
|
369
|
-
const trigger = this._triggerArray[i];
|
|
370
|
-
const elem = getElementFromSelector(trigger);
|
|
189
|
+
for (const trigger of this._triggerArray) {
|
|
190
|
+
const element = index.getElementFromSelector(trigger);
|
|
371
191
|
|
|
372
|
-
if (
|
|
192
|
+
if (element && !this._isShown(element)) {
|
|
373
193
|
this._addAriaAndCollapsedClass([trigger], false);
|
|
374
194
|
}
|
|
375
195
|
}
|
|
@@ -396,15 +216,10 @@
|
|
|
396
216
|
} // Private
|
|
397
217
|
|
|
398
218
|
|
|
399
|
-
|
|
400
|
-
config = { ...Default,
|
|
401
|
-
...Manipulator__default.default.getDataAttributes(this._element),
|
|
402
|
-
...config
|
|
403
|
-
};
|
|
219
|
+
_configAfterMerge(config) {
|
|
404
220
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
|
405
221
|
|
|
406
|
-
config.parent = getElement(config.parent);
|
|
407
|
-
typeCheckConfig(NAME, config, DefaultType);
|
|
222
|
+
config.parent = index.getElement(config.parent);
|
|
408
223
|
return config;
|
|
409
224
|
}
|
|
410
225
|
|
|
@@ -417,14 +232,21 @@
|
|
|
417
232
|
return;
|
|
418
233
|
}
|
|
419
234
|
|
|
420
|
-
const children =
|
|
421
|
-
|
|
422
|
-
|
|
235
|
+
const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);
|
|
236
|
+
|
|
237
|
+
for (const element of children) {
|
|
238
|
+
const selected = index.getElementFromSelector(element);
|
|
423
239
|
|
|
424
240
|
if (selected) {
|
|
425
241
|
this._addAriaAndCollapsedClass([element], this._isShown(selected));
|
|
426
242
|
}
|
|
427
|
-
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
_getFirstLevelChildren(selector) {
|
|
247
|
+
const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth
|
|
248
|
+
|
|
249
|
+
return SelectorEngine__default.default.find(selector, this._config.parent).filter(element => !children.includes(element));
|
|
428
250
|
}
|
|
429
251
|
|
|
430
252
|
_addAriaAndCollapsedClass(triggerArray, isOpen) {
|
|
@@ -432,26 +254,21 @@
|
|
|
432
254
|
return;
|
|
433
255
|
}
|
|
434
256
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
elem.classList.add(CLASS_NAME_COLLAPSED);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
elem.setAttribute('aria-expanded', isOpen);
|
|
443
|
-
});
|
|
257
|
+
for (const element of triggerArray) {
|
|
258
|
+
element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
|
|
259
|
+
element.setAttribute('aria-expanded', isOpen);
|
|
260
|
+
}
|
|
444
261
|
} // Static
|
|
445
262
|
|
|
446
263
|
|
|
447
264
|
static jQueryInterface(config) {
|
|
448
|
-
|
|
449
|
-
const _config = {};
|
|
265
|
+
const _config = {};
|
|
450
266
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
267
|
+
if (typeof config === 'string' && /show|hide/.test(config)) {
|
|
268
|
+
_config.toggle = false;
|
|
269
|
+
}
|
|
454
270
|
|
|
271
|
+
return this.each(function () {
|
|
455
272
|
const data = Collapse.getOrCreateInstance(this, _config);
|
|
456
273
|
|
|
457
274
|
if (typeof config === 'string') {
|
|
@@ -466,9 +283,7 @@
|
|
|
466
283
|
|
|
467
284
|
}
|
|
468
285
|
/**
|
|
469
|
-
*
|
|
470
|
-
* Data Api implementation
|
|
471
|
-
* ------------------------------------------------------------------------
|
|
286
|
+
* Data API implementation
|
|
472
287
|
*/
|
|
473
288
|
|
|
474
289
|
|
|
@@ -478,22 +293,20 @@
|
|
|
478
293
|
event.preventDefault();
|
|
479
294
|
}
|
|
480
295
|
|
|
481
|
-
const selector = getSelectorFromElement(this);
|
|
296
|
+
const selector = index.getSelectorFromElement(this);
|
|
482
297
|
const selectorElements = SelectorEngine__default.default.find(selector);
|
|
483
|
-
|
|
298
|
+
|
|
299
|
+
for (const element of selectorElements) {
|
|
484
300
|
Collapse.getOrCreateInstance(element, {
|
|
485
301
|
toggle: false
|
|
486
302
|
}).toggle();
|
|
487
|
-
}
|
|
303
|
+
}
|
|
488
304
|
});
|
|
489
305
|
/**
|
|
490
|
-
* ------------------------------------------------------------------------
|
|
491
306
|
* jQuery
|
|
492
|
-
* ------------------------------------------------------------------------
|
|
493
|
-
* add .Collapse to jQuery only if jQuery is present
|
|
494
307
|
*/
|
|
495
308
|
|
|
496
|
-
defineJQueryPlugin(Collapse);
|
|
309
|
+
index.defineJQueryPlugin(Collapse);
|
|
497
310
|
|
|
498
311
|
return Collapse;
|
|
499
312
|
|
package/js/dist/collapse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.4): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-coreui-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-coreui-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.1.4): collapse.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'coreui.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let actives = []\n let activesData\n\n if (this._config.parent) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives.length) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !this._isShown(elem)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n })\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n"],"names":["toType","object","undefined","Object","prototype","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","isElement","obj","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","reflow","offsetHeight","getjQuery","jQuery","window","body","hasAttribute","DOMContentLoadedCallbacks","onDOMContentLoaded","callback","readyState","addEventListener","push","defineJQueryPlugin","plugin","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","BaseComponent","constructor","_isTransitioning","_config","_getConfig","_triggerArray","toggleList","SelectorEngine","find","i","len","elem","filterElement","filter","foundElem","_element","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","actives","activesData","children","container","findOne","tempActiveData","getInstance","startEvent","EventHandler","trigger","defaultPrevented","elemActive","getOrCreateInstance","Data","set","dimension","_getDimension","classList","remove","add","style","complete","capitalizedDimension","slice","scrollSize","_queueCallback","getBoundingClientRect","triggerArrayLength","contains","Manipulator","getDataAttributes","Boolean","selected","triggerArray","isOpen","setAttribute","each","data","on","event","target","tagName","delegateTarget","preventDefault","selectorElements"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.0): collapse.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getSelectorFromElement,\n reflow\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'coreui.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Default","parent","toggle","DefaultType","Collapse","BaseComponent","constructor","element","config","_isTransitioning","_triggerArray","toggleList","SelectorEngine","find","elem","selector","getSelectorFromElement","filterElement","filter","foundElement","_element","length","push","_initializeChildren","_config","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","map","getOrCreateInstance","startEvent","EventHandler","trigger","defaultPrevented","activeInstance","dimension","_getDimension","classList","remove","add","style","complete","capitalizedDimension","toUpperCase","slice","scrollSize","_queueCallback","getBoundingClientRect","reflow","getElementFromSelector","contains","_configAfterMerge","Boolean","getElement","children","selected","includes","triggerArray","isOpen","setAttribute","jQueryInterface","test","each","data","TypeError","on","document","event","target","tagName","delegateTarget","preventDefault","selectorElements","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/dom/data.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI data.js v4.
|
|
2
|
+
* CoreUI data.js v4.2.0 (https://coreui.io)
|
|
3
3
|
* Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* Licensed under MIT (https://coreui.io)
|
|
5
5
|
*/
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* --------------------------------------------------------------------------
|
|
14
|
-
* CoreUI (v4.
|
|
14
|
+
* CoreUI (v4.2.0): dom/data.js
|
|
15
15
|
* Licensed under MIT (https://coreui.io/license)
|
|
16
16
|
*
|
|
17
17
|
* This component is a modified version of the Bootstrap's dom/data.js
|
|
@@ -20,9 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* ------------------------------------------------------------------------
|
|
24
23
|
* Constants
|
|
25
|
-
* ------------------------------------------------------------------------
|
|
26
24
|
*/
|
|
27
25
|
const elementMap = new Map();
|
|
28
26
|
const data = {
|
package/js/dist/dom/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.0): dom/data.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB,CAAA;AAEA,eAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB,CAAA,CAAA;EACD,KAAA;;MAED,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,CAAA,4EAAA,EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,CAA+B,CAAA,CAA/B,CAAkC,CAA/H,CAAA,CAAA,CAAA,CAAA;EACA,MAAA,OAAA;EACD,KAAA;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB,CAAA,CAAA;KAhBW;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,IAAA,IAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;QAC3B,OAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,CAAA,IAAoC,IAA3C,CAAA;EACD,KAAA;;EAED,IAAA,OAAO,IAAP,CAAA;KAxBW;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B,MAAA,OAAA;EACD,KAAA;;EAED,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAAA;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,IAAA,IAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;QAC1BT,UAAU,CAACgB,MAAX,CAAkBb,OAAlB,CAAA,CAAA;EACD,KAAA;EACF,GAAA;;EAxCY,CAAf;;;;;;;;"}
|