@coreui/coreui 4.2.3 → 4.2.5
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/README.md +1 -1
- package/dist/css/coreui-grid.css +8 -1
- package/dist/css/coreui-grid.css.map +1 -1
- package/dist/css/coreui-grid.min.css +2 -2
- package/dist/css/coreui-grid.min.css.map +1 -1
- package/dist/css/coreui-grid.rtl.css +9 -2
- package/dist/css/coreui-grid.rtl.css.map +1 -1
- package/dist/css/coreui-grid.rtl.min.css +3 -3
- package/dist/css/coreui-grid.rtl.min.css.map +1 -1
- package/dist/css/coreui-reboot.css +8 -1
- package/dist/css/coreui-reboot.css.map +1 -1
- package/dist/css/coreui-reboot.min.css +2 -2
- package/dist/css/coreui-reboot.min.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.css +9 -2
- package/dist/css/coreui-reboot.rtl.css.map +1 -1
- package/dist/css/coreui-reboot.rtl.min.css +3 -3
- package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
- package/dist/css/coreui-utilities.css +8 -1
- package/dist/css/coreui-utilities.css.map +1 -1
- package/dist/css/coreui-utilities.min.css +2 -2
- package/dist/css/coreui-utilities.min.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.css +9 -2
- package/dist/css/coreui-utilities.rtl.css.map +1 -1
- package/dist/css/coreui-utilities.rtl.min.css +3 -3
- package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
- package/dist/css/coreui.css +9 -1
- package/dist/css/coreui.css.map +1 -1
- package/dist/css/coreui.min.css +2 -2
- package/dist/css/coreui.min.css.map +1 -1
- package/dist/css/coreui.rtl.css +10 -2
- package/dist/css/coreui.rtl.css.map +1 -1
- package/dist/css/coreui.rtl.min.css +3 -3
- package/dist/css/coreui.rtl.min.css.map +1 -1
- package/dist/js/coreui.bundle.js +31 -31
- 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 +30 -30
- 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 +33 -34
- 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 +5 -10
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +8 -14
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +4 -9
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +23 -31
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +16 -22
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dom/data.js +2 -2
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +2 -2
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +2 -2
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +2 -2
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +22 -29
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +23 -32
- package/js/dist/modal.js.map +1 -1
- package/js/dist/navigation.js +10 -18
- package/js/dist/navigation.js.map +1 -1
- package/js/dist/offcanvas.js +22 -31
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +5 -9
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy.js +14 -20
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/sidebar.js +18 -26
- package/js/dist/sidebar.js.map +1 -1
- package/js/dist/tab.js +17 -23
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +11 -16
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +19 -26
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +5 -10
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +5 -10
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +4 -8
- package/js/dist/util/config.js.map +1 -1
- package/js/dist/util/focustrap.js +8 -14
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +3 -3
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +3 -3
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +6 -11
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +9 -14
- package/js/dist/util/swipe.js.map +1 -1
- package/js/dist/util/template-factory.js +4 -9
- package/js/dist/util/template-factory.js.map +1 -1
- package/js/src/alert.js +1 -1
- package/js/src/base-component.js +2 -2
- package/js/src/button.js +1 -1
- package/js/src/carousel.js +1 -1
- package/js/src/collapse.js +1 -1
- package/js/src/dom/data.js +1 -1
- package/js/src/dom/event-handler.js +1 -1
- package/js/src/dom/manipulator.js +1 -1
- package/js/src/dom/selector-engine.js +1 -1
- package/js/src/dropdown.js +1 -1
- package/js/src/modal.js +1 -1
- package/js/src/navigation.js +1 -1
- package/js/src/offcanvas.js +1 -1
- package/js/src/popover.js +1 -1
- package/js/src/scrollspy.js +1 -1
- package/js/src/sidebar.js +1 -1
- package/js/src/tab.js +1 -1
- package/js/src/toast.js +1 -1
- package/js/src/tooltip.js +1 -1
- package/js/src/util/backdrop.js +1 -1
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +1 -1
- package/js/src/util/focustrap.js +1 -1
- package/js/src/util/index.js +1 -1
- package/js/src/util/sanitizer.js +1 -1
- package/js/src/util/scrollbar.js +1 -1
- package/js/src/util/swipe.js +1 -1
- package/js/src/util/template-factory.js +1 -1
- package/package.json +25 -25
- package/scss/_navbar.scss +1 -1
- package/scss/_root.scss +6 -0
- package/scss/_variables.scss +5 -5
- package/scss/coreui-grid.rtl.scss +1 -1
- package/scss/coreui-grid.scss +1 -1
- package/scss/coreui-reboot.rtl.scss +1 -1
- package/scss/coreui-reboot.scss +1 -1
- package/scss/coreui-utilities.rtl.scss +1 -1
- package/scss/coreui-utilities.scss +1 -1
- package/scss/coreui.rtl.scss +1 -1
- package/scss/coreui.scss +1 -1
- package/scss/sidebar/_sidebar-nav.scss +1 -0
package/js/dist/navigation.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI navigation.js v4.2.
|
|
2
|
+
* CoreUI navigation.js v4.2.5 (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
|
*/
|
|
@@ -9,17 +9,9 @@
|
|
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Navigation = factory(global.Index, global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.BaseComponent));
|
|
10
10
|
})(this, (function (index_js, Data, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';
|
|
11
11
|
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
-
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
17
|
-
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
19
|
-
|
|
20
12
|
/**
|
|
21
13
|
* --------------------------------------------------------------------------
|
|
22
|
-
* CoreUI (v4.2.
|
|
14
|
+
* CoreUI (v4.2.5): navigation.js
|
|
23
15
|
* Licensed under MIT (https://coreui.io/license)
|
|
24
16
|
* --------------------------------------------------------------------------
|
|
25
17
|
*/
|
|
@@ -60,13 +52,13 @@
|
|
|
60
52
|
* ------------------------------------------------------------------------
|
|
61
53
|
*/
|
|
62
54
|
|
|
63
|
-
class Navigation extends
|
|
55
|
+
class Navigation extends BaseComponent {
|
|
64
56
|
constructor(element, config) {
|
|
65
57
|
super(element);
|
|
66
58
|
this._config = this._getConfig(config);
|
|
67
59
|
this._setActiveLink();
|
|
68
60
|
this._addEventListeners();
|
|
69
|
-
|
|
61
|
+
Data.set(element, DATA_KEY, this);
|
|
70
62
|
}
|
|
71
63
|
// Getters
|
|
72
64
|
|
|
@@ -88,7 +80,7 @@
|
|
|
88
80
|
_getConfig(config) {
|
|
89
81
|
config = {
|
|
90
82
|
...Default,
|
|
91
|
-
...
|
|
83
|
+
...Manipulator.getDataAttributes(this._element),
|
|
92
84
|
...(typeof config === 'object' ? config : {})
|
|
93
85
|
};
|
|
94
86
|
return config;
|
|
@@ -209,14 +201,14 @@
|
|
|
209
201
|
// Close other groups
|
|
210
202
|
if (this._config.groupsAutoCollapse === true) {
|
|
211
203
|
for (const element of this._getSiblings(toggler.parentNode, filter)) {
|
|
212
|
-
this._slideUp(
|
|
204
|
+
this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {
|
|
213
205
|
element.classList.remove(CLASS_NAME_SHOW);
|
|
214
206
|
element.setAttribute('aria-expanded', false);
|
|
215
207
|
});
|
|
216
208
|
}
|
|
217
209
|
}
|
|
218
210
|
if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {
|
|
219
|
-
this._slideUp(
|
|
211
|
+
this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {
|
|
220
212
|
toggler.parentNode.classList.remove(CLASS_NAME_SHOW);
|
|
221
213
|
toggler.parentNode.setAttribute('aria-expanded', false);
|
|
222
214
|
});
|
|
@@ -224,10 +216,10 @@
|
|
|
224
216
|
}
|
|
225
217
|
toggler.parentNode.classList.add(CLASS_NAME_SHOW);
|
|
226
218
|
toggler.parentNode.setAttribute('aria-expanded', true);
|
|
227
|
-
this._slideDown(
|
|
219
|
+
this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode));
|
|
228
220
|
}
|
|
229
221
|
_addEventListeners() {
|
|
230
|
-
|
|
222
|
+
EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {
|
|
231
223
|
event.preventDefault();
|
|
232
224
|
this._toggleGroupItems(event, this);
|
|
233
225
|
});
|
|
@@ -256,7 +248,7 @@
|
|
|
256
248
|
* Data Api implementation
|
|
257
249
|
* ------------------------------------------------------------------------
|
|
258
250
|
*/
|
|
259
|
-
|
|
251
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
260
252
|
for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {
|
|
261
253
|
Navigation.navigationInterface(element);
|
|
262
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sources":["../src/navigation.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.3): navigation.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n\n return config\n }\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && element.href.startsWith(currentUrl)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, 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 static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","activeLinksExact","groupsAutoCollapse","DefaultType","CLASS_NAME_ACTIVE","CLASS_NAME_SHOW","CLASS_NAME_NAV_GROUP","CLASS_NAME_NAV_GROUP_TOGGLE","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_NAV_GROUP","SELECTOR_NAV_GROUP_ITEMS","SELECTOR_NAV_GROUP_TOGGLE","SELECTOR_NAV_LINK","SELECTOR_DATA_NAVIGATION","Navigation","BaseComponent","constructor","element","config","_config","_getConfig","_setActiveLink","_addEventListeners","Data","set","Manipulator","getDataAttributes","_element","Array","from","querySelectorAll","classList","contains","currentUrl","String","window","location","urlHasParams","urlHasQueryString","urlHasHash","test","split","href","add","_getParents","forEach","setAttribute","startsWith","selector","parents","document","parentNode","matches","push","_getAllSiblings","filter","siblings","firstChild","nodeType","nextSibling","_getChildren","n","skipMe","children","_getSiblings","_slideDown","style","height","clientHeight","setTimeout","_queueCallback","_slideUp","callback","_toggleGroupItems","event","toggler","target","closest","Boolean","SelectorEngine","findOne","remove","EventHandler","on","preventDefault","navigationInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","defineJQueryPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigation.js","sources":["../src/navigation.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.5): navigation.js\n * Licensed under MIT (https://coreui.io/license)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport BaseComponent from './base-component.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n\n return config\n }\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && element.href.startsWith(currentUrl)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, 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 static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","activeLinksExact","groupsAutoCollapse","DefaultType","CLASS_NAME_ACTIVE","CLASS_NAME_SHOW","CLASS_NAME_NAV_GROUP","CLASS_NAME_NAV_GROUP_TOGGLE","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_NAV_GROUP","SELECTOR_NAV_GROUP_ITEMS","SELECTOR_NAV_GROUP_TOGGLE","SELECTOR_NAV_LINK","SELECTOR_DATA_NAVIGATION","Navigation","BaseComponent","constructor","element","config","_config","_getConfig","_setActiveLink","_addEventListeners","Data","set","Manipulator","getDataAttributes","_element","Array","from","querySelectorAll","classList","contains","currentUrl","String","window","location","urlHasParams","urlHasQueryString","urlHasHash","test","split","href","add","_getParents","forEach","setAttribute","startsWith","selector","parents","document","parentNode","matches","push","_getAllSiblings","filter","siblings","firstChild","nodeType","nextSibling","_getChildren","n","skipMe","children","_getSiblings","_slideDown","style","height","clientHeight","setTimeout","_queueCallback","_slideUp","callback","_toggleGroupItems","event","toggler","target","closest","Boolean","SelectorEngine","findOne","remove","EventHandler","on","preventDefault","navigationInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/offcanvas.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI offcanvas.js v4.2.
|
|
2
|
+
* CoreUI offcanvas.js v4.2.5 (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
|
*/
|
|
@@ -9,18 +9,9 @@
|
|
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Offcanvas = factory(global.Index, global.Scrollbar, global.EventHandler, global.BaseComponent, global.SelectorEngine, global.Backdrop, global.Focustrap, global.ComponentFunctions));
|
|
10
10
|
})(this, (function (index_js, ScrollBarHelper, EventHandler, BaseComponent, SelectorEngine, Backdrop, FocusTrap, componentFunctions_js) { 'use strict';
|
|
11
11
|
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const ScrollBarHelper__default = /*#__PURE__*/_interopDefaultLegacy(ScrollBarHelper);
|
|
15
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
17
|
-
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
|
-
const Backdrop__default = /*#__PURE__*/_interopDefaultLegacy(Backdrop);
|
|
19
|
-
const FocusTrap__default = /*#__PURE__*/_interopDefaultLegacy(FocusTrap);
|
|
20
|
-
|
|
21
12
|
/**
|
|
22
13
|
* --------------------------------------------------------------------------
|
|
23
|
-
* CoreUI (v4.2.
|
|
14
|
+
* CoreUI (v4.2.5): dropdown.js
|
|
24
15
|
* Licensed under MIT (https://coreui.io/license)
|
|
25
16
|
*
|
|
26
17
|
* This component is a modified version of the Bootstrap's offcanvas.js
|
|
@@ -67,7 +58,7 @@
|
|
|
67
58
|
* Class definition
|
|
68
59
|
*/
|
|
69
60
|
|
|
70
|
-
class Offcanvas extends
|
|
61
|
+
class Offcanvas extends BaseComponent {
|
|
71
62
|
constructor(element, config) {
|
|
72
63
|
super(element, config);
|
|
73
64
|
this._isShown = false;
|
|
@@ -95,7 +86,7 @@
|
|
|
95
86
|
if (this._isShown) {
|
|
96
87
|
return;
|
|
97
88
|
}
|
|
98
|
-
const showEvent =
|
|
89
|
+
const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
|
|
99
90
|
relatedTarget
|
|
100
91
|
});
|
|
101
92
|
if (showEvent.defaultPrevented) {
|
|
@@ -104,7 +95,7 @@
|
|
|
104
95
|
this._isShown = true;
|
|
105
96
|
this._backdrop.show();
|
|
106
97
|
if (!this._config.scroll) {
|
|
107
|
-
new
|
|
98
|
+
new ScrollBarHelper().hide();
|
|
108
99
|
}
|
|
109
100
|
this._element.setAttribute('aria-modal', true);
|
|
110
101
|
this._element.setAttribute('role', 'dialog');
|
|
@@ -115,7 +106,7 @@
|
|
|
115
106
|
}
|
|
116
107
|
this._element.classList.add(CLASS_NAME_SHOW);
|
|
117
108
|
this._element.classList.remove(CLASS_NAME_SHOWING);
|
|
118
|
-
|
|
109
|
+
EventHandler.trigger(this._element, EVENT_SHOWN, {
|
|
119
110
|
relatedTarget
|
|
120
111
|
});
|
|
121
112
|
};
|
|
@@ -125,7 +116,7 @@
|
|
|
125
116
|
if (!this._isShown) {
|
|
126
117
|
return;
|
|
127
118
|
}
|
|
128
|
-
const hideEvent =
|
|
119
|
+
const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
|
|
129
120
|
if (hideEvent.defaultPrevented) {
|
|
130
121
|
return;
|
|
131
122
|
}
|
|
@@ -139,9 +130,9 @@
|
|
|
139
130
|
this._element.removeAttribute('aria-modal');
|
|
140
131
|
this._element.removeAttribute('role');
|
|
141
132
|
if (!this._config.scroll) {
|
|
142
|
-
new
|
|
133
|
+
new ScrollBarHelper().reset();
|
|
143
134
|
}
|
|
144
|
-
|
|
135
|
+
EventHandler.trigger(this._element, EVENT_HIDDEN);
|
|
145
136
|
};
|
|
146
137
|
this._queueCallback(completeCallback, this._element, true);
|
|
147
138
|
}
|
|
@@ -155,7 +146,7 @@
|
|
|
155
146
|
_initializeBackDrop() {
|
|
156
147
|
const clickCallback = () => {
|
|
157
148
|
if (this._config.backdrop === 'static') {
|
|
158
|
-
|
|
149
|
+
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
|
|
159
150
|
return;
|
|
160
151
|
}
|
|
161
152
|
this.hide();
|
|
@@ -163,7 +154,7 @@
|
|
|
163
154
|
|
|
164
155
|
// 'static' option will be translated to true, and booleans will keep their value
|
|
165
156
|
const isVisible = Boolean(this._config.backdrop);
|
|
166
|
-
return new
|
|
157
|
+
return new Backdrop({
|
|
167
158
|
className: CLASS_NAME_BACKDROP,
|
|
168
159
|
isVisible,
|
|
169
160
|
isAnimated: true,
|
|
@@ -172,17 +163,17 @@
|
|
|
172
163
|
});
|
|
173
164
|
}
|
|
174
165
|
_initializeFocusTrap() {
|
|
175
|
-
return new
|
|
166
|
+
return new FocusTrap({
|
|
176
167
|
trapElement: this._element
|
|
177
168
|
});
|
|
178
169
|
}
|
|
179
170
|
_addEventListeners() {
|
|
180
|
-
|
|
171
|
+
EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
|
|
181
172
|
if (event.key !== ESCAPE_KEY) {
|
|
182
173
|
return;
|
|
183
174
|
}
|
|
184
175
|
if (!this._config.keyboard) {
|
|
185
|
-
|
|
176
|
+
EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
|
|
186
177
|
return;
|
|
187
178
|
}
|
|
188
179
|
this.hide();
|
|
@@ -208,15 +199,15 @@
|
|
|
208
199
|
* Data API implementation
|
|
209
200
|
*/
|
|
210
201
|
|
|
211
|
-
|
|
212
|
-
const target =
|
|
202
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
203
|
+
const target = SelectorEngine.getElementFromSelector(this);
|
|
213
204
|
if (['A', 'AREA'].includes(this.tagName)) {
|
|
214
205
|
event.preventDefault();
|
|
215
206
|
}
|
|
216
207
|
if (index_js.isDisabled(this)) {
|
|
217
208
|
return;
|
|
218
209
|
}
|
|
219
|
-
|
|
210
|
+
EventHandler.one(target, EVENT_HIDDEN, () => {
|
|
220
211
|
// focus on trigger when it is closed
|
|
221
212
|
if (index_js.isVisible(this)) {
|
|
222
213
|
this.focus();
|
|
@@ -224,20 +215,20 @@
|
|
|
224
215
|
});
|
|
225
216
|
|
|
226
217
|
// avoid conflict when clicking a toggler of an offcanvas, while another is open
|
|
227
|
-
const alreadyOpen =
|
|
218
|
+
const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
|
|
228
219
|
if (alreadyOpen && alreadyOpen !== target) {
|
|
229
220
|
Offcanvas.getInstance(alreadyOpen).hide();
|
|
230
221
|
}
|
|
231
222
|
const data = Offcanvas.getOrCreateInstance(target);
|
|
232
223
|
data.toggle(this);
|
|
233
224
|
});
|
|
234
|
-
|
|
235
|
-
for (const selector of
|
|
225
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
226
|
+
for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
|
|
236
227
|
Offcanvas.getOrCreateInstance(selector).show();
|
|
237
228
|
}
|
|
238
229
|
});
|
|
239
|
-
|
|
240
|
-
for (const element of
|
|
230
|
+
EventHandler.on(window, EVENT_RESIZE, () => {
|
|
231
|
+
for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
|
|
241
232
|
if (getComputedStyle(element).position !== 'fixed') {
|
|
242
233
|
Offcanvas.getOrCreateInstance(element).hide();
|
|
243
234
|
}
|
package/js/dist/offcanvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offcanvas.js","sources":["../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.3): dropdown.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\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(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_RESIZE","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","scroll","DefaultType","Offcanvas","BaseComponent","constructor","element","config","_isShown","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_config","ScrollBarHelper","setAttribute","classList","add","completeCallBack","activate","remove","_queueCallback","hideEvent","deactivate","blur","completeCallback","removeAttribute","reset","dispose","clickCallback","isVisible","Boolean","Backdrop","className","isAnimated","rootElement","parentNode","FocusTrap","trapElement","on","event","key","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","document","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","isDisabled","one","focus","alreadyOpen","findOne","getInstance","window","selector","find","getComputedStyle","position","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"offcanvas.js","sources":["../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.5): dropdown.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\nimport EventHandler from './dom/event-handler.js'\nimport BaseComponent from './base-component.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport FocusTrap from './util/focustrap.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\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(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","ESCAPE_KEY","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_RESIZE","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","scroll","DefaultType","Offcanvas","BaseComponent","constructor","element","config","_isShown","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_config","ScrollBarHelper","setAttribute","classList","add","completeCallBack","activate","remove","_queueCallback","hideEvent","deactivate","blur","completeCallback","removeAttribute","reset","dispose","clickCallback","isVisible","Boolean","Backdrop","className","isAnimated","rootElement","parentNode","FocusTrap","trapElement","on","event","key","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","document","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","isDisabled","one","focus","alreadyOpen","findOne","getInstance","window","selector","find","getComputedStyle","position","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/popover.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI popover.js v4.2.
|
|
2
|
+
* CoreUI popover.js v4.2.5 (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
|
*/
|
|
@@ -9,13 +9,9 @@
|
|
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Index, global.Tooltip));
|
|
10
10
|
})(this, (function (index_js, Tooltip) { 'use strict';
|
|
11
11
|
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
15
|
-
|
|
16
12
|
/**
|
|
17
13
|
* --------------------------------------------------------------------------
|
|
18
|
-
* CoreUI (v4.2.
|
|
14
|
+
* CoreUI (v4.2.5): popover.js
|
|
19
15
|
* Licensed under MIT (https://coreui.io/license)
|
|
20
16
|
*
|
|
21
17
|
* This component is a modified version of the Bootstrap's popover.js
|
|
@@ -31,7 +27,7 @@
|
|
|
31
27
|
const SELECTOR_TITLE = '.popover-header';
|
|
32
28
|
const SELECTOR_CONTENT = '.popover-body';
|
|
33
29
|
const Default = {
|
|
34
|
-
...
|
|
30
|
+
...Tooltip.Default,
|
|
35
31
|
content: '',
|
|
36
32
|
offset: [0, 8],
|
|
37
33
|
placement: 'right',
|
|
@@ -39,7 +35,7 @@
|
|
|
39
35
|
trigger: 'click'
|
|
40
36
|
};
|
|
41
37
|
const DefaultType = {
|
|
42
|
-
...
|
|
38
|
+
...Tooltip.DefaultType,
|
|
43
39
|
content: '(null|string|element|function)'
|
|
44
40
|
};
|
|
45
41
|
|
|
@@ -47,7 +43,7 @@
|
|
|
47
43
|
* Class definition
|
|
48
44
|
*/
|
|
49
45
|
|
|
50
|
-
class Popover extends
|
|
46
|
+
class Popover extends Tooltip {
|
|
51
47
|
// Getters
|
|
52
48
|
static get Default() {
|
|
53
49
|
return Default;
|
package/js/dist/popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.
|
|
1
|
+
{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.5): popover.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index.js'\nimport Tooltip from './tooltip.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div>' +\n '</div>',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\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 // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\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 * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n"],"names":["NAME","SELECTOR_TITLE","SELECTOR_CONTENT","Default","Tooltip","content","offset","placement","template","trigger","DefaultType","Popover","_isWithContent","_getTitle","_getContent","_getContentForTemplate","_resolvePossibleFunction","_config","jQueryInterface","config","each","data","getOrCreateInstance","TypeError","defineJQueryPlugin"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAKA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,SAAS,CAAA;EAEtB,MAAMC,cAAc,GAAG,iBAAiB,CAAA;EACxC,MAAMC,gBAAgB,GAAG,eAAe,CAAA;EAExC,MAAMC,OAAO,GAAG;IACd,GAAGC,OAAO,CAACD,OAAO;EAClBE,EAAAA,OAAO,EAAE,EAAE;EACXC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,SAAS,EAAE,OAAO;IAClBC,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;EACVC,EAAAA,OAAO,EAAE,OAAA;EACX,CAAC,CAAA;EAED,MAAMC,WAAW,GAAG;IAClB,GAAGN,OAAO,CAACM,WAAW;EACtBL,EAAAA,OAAO,EAAE,gCAAA;EACX,CAAC,CAAA;;EAED;EACA;EACA;;EAEA,MAAMM,OAAO,SAASP,OAAO,CAAC;EAC5B;EACA,EAAA,WAAWD,OAAO,GAAG;EACnB,IAAA,OAAOA,OAAO,CAAA;EAChB,GAAA;EAEA,EAAA,WAAWO,WAAW,GAAG;EACvB,IAAA,OAAOA,WAAW,CAAA;EACpB,GAAA;EAEA,EAAA,WAAWV,IAAI,GAAG;EAChB,IAAA,OAAOA,IAAI,CAAA;EACb,GAAA;;EAEA;EACAY,EAAAA,cAAc,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE,CAAA;EAC/C,GAAA;;EAEA;EACAC,EAAAA,sBAAsB,GAAG;MACvB,OAAO;EACL,MAAA,CAACd,cAAc,GAAG,IAAI,CAACY,SAAS,EAAE;EAClC,MAAA,CAACX,gBAAgB,GAAG,IAAI,CAACY,WAAW,EAAA;OACrC,CAAA;EACH,GAAA;EAEAA,EAAAA,WAAW,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC,CAAA;EAC5D,GAAA;;EAEA;IACA,OAAOa,eAAe,CAACC,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGV,OAAO,CAACW,mBAAmB,CAAC,IAAI,EAAEH,MAAM,CAAC,CAAA;EAEtD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA,OAAA;EACF,OAAA;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAE,CAAmBJ,iBAAAA,EAAAA,MAAO,GAAE,CAAC,CAAA;EACpD,OAAA;QAEAE,IAAI,CAACF,MAAM,CAAC,EAAE,CAAA;EAChB,KAAC,CAAC,CAAA;EACJ,GAAA;EACF,CAAA;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"}
|
package/js/dist/scrollspy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI scrollspy.js v4.2.
|
|
2
|
+
* CoreUI scrollspy.js v4.2.5 (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
|
*/
|
|
@@ -9,15 +9,9 @@
|
|
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Scrollspy = factory(global.index, global.EventHandler, global.SelectorEngine, global.BaseComponent));
|
|
10
10
|
})(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';
|
|
11
11
|
|
|
12
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
13
|
-
|
|
14
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
15
|
-
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
16
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
17
|
-
|
|
18
12
|
/**
|
|
19
13
|
* --------------------------------------------------------------------------
|
|
20
|
-
* CoreUI (v4.2.
|
|
14
|
+
* CoreUI (v4.2.5): scrollspy.js
|
|
21
15
|
* Licensed under MIT (https://coreui.io/license)
|
|
22
16
|
*
|
|
23
17
|
* This component is a modified version of the Bootstrap's scrollspy.js
|
|
@@ -68,7 +62,7 @@
|
|
|
68
62
|
* Class definition
|
|
69
63
|
*/
|
|
70
64
|
|
|
71
|
-
class ScrollSpy extends
|
|
65
|
+
class ScrollSpy extends BaseComponent {
|
|
72
66
|
constructor(element, config) {
|
|
73
67
|
super(element, config);
|
|
74
68
|
|
|
@@ -132,8 +126,8 @@
|
|
|
132
126
|
}
|
|
133
127
|
|
|
134
128
|
// unregister any previous listeners
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
EventHandler.off(this._config.target, EVENT_CLICK);
|
|
130
|
+
EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
|
|
137
131
|
const observableSection = this._observableSections.get(event.target.hash);
|
|
138
132
|
if (observableSection) {
|
|
139
133
|
event.preventDefault();
|
|
@@ -197,13 +191,13 @@
|
|
|
197
191
|
_initializeTargetsAndObservables() {
|
|
198
192
|
this._targetLinks = new Map();
|
|
199
193
|
this._observableSections = new Map();
|
|
200
|
-
const targetLinks =
|
|
194
|
+
const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);
|
|
201
195
|
for (const anchor of targetLinks) {
|
|
202
196
|
// ensure that the anchor has an id and is not disabled
|
|
203
197
|
if (!anchor.hash || index.isDisabled(anchor)) {
|
|
204
198
|
continue;
|
|
205
199
|
}
|
|
206
|
-
const observableSection =
|
|
200
|
+
const observableSection = SelectorEngine.findOne(anchor.hash, this._element);
|
|
207
201
|
|
|
208
202
|
// ensure that the observableSection exists & is visible
|
|
209
203
|
if (index.isVisible(observableSection)) {
|
|
@@ -220,27 +214,27 @@
|
|
|
220
214
|
this._activeTarget = target;
|
|
221
215
|
target.classList.add(CLASS_NAME_ACTIVE);
|
|
222
216
|
this._activateParents(target);
|
|
223
|
-
|
|
217
|
+
EventHandler.trigger(this._element, EVENT_ACTIVATE, {
|
|
224
218
|
relatedTarget: target
|
|
225
219
|
});
|
|
226
220
|
}
|
|
227
221
|
_activateParents(target) {
|
|
228
222
|
// Activate dropdown parents
|
|
229
223
|
if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
230
|
-
|
|
224
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
|
231
225
|
return;
|
|
232
226
|
}
|
|
233
|
-
for (const listGroup of
|
|
227
|
+
for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
|
|
234
228
|
// Set triggered links parents as active
|
|
235
229
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
236
|
-
for (const item of
|
|
230
|
+
for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
|
|
237
231
|
item.classList.add(CLASS_NAME_ACTIVE);
|
|
238
232
|
}
|
|
239
233
|
}
|
|
240
234
|
}
|
|
241
235
|
_clearActiveClass(parent) {
|
|
242
236
|
parent.classList.remove(CLASS_NAME_ACTIVE);
|
|
243
|
-
const activeNodes =
|
|
237
|
+
const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent);
|
|
244
238
|
for (const node of activeNodes) {
|
|
245
239
|
node.classList.remove(CLASS_NAME_ACTIVE);
|
|
246
240
|
}
|
|
@@ -265,8 +259,8 @@
|
|
|
265
259
|
* Data API implementation
|
|
266
260
|
*/
|
|
267
261
|
|
|
268
|
-
|
|
269
|
-
for (const spy of
|
|
262
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
|
263
|
+
for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
|
|
270
264
|
ScrollSpy.getOrCreateInstance(spy);
|
|
271
265
|
}
|
|
272
266
|
});
|