@openeuropa/bcl-bootstrap 0.28.1 → 1.0.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/bootstrap-icons.svg +1 -1
- package/icons/0-circle-fill.svg +4 -0
- package/icons/0-circle.svg +4 -0
- package/icons/0-square-fill.svg +4 -0
- package/icons/0-square.svg +4 -0
- package/icons/1-circle-fill.svg +1 -1
- package/icons/amd.svg +3 -0
- package/icons/arrow-bar-left.svg +1 -1
- package/icons/arrow-bar-right.svg +1 -1
- package/icons/arrows-collapse.svg +1 -1
- package/icons/arrows-expand.svg +1 -1
- package/icons/building-add.svg +5 -0
- package/icons/building-check.svg +5 -0
- package/icons/building-dash.svg +5 -0
- package/icons/building-down.svg +5 -0
- package/icons/building-exclamation.svg +4 -0
- package/icons/building-fill-add.svg +4 -0
- package/icons/building-fill-check.svg +4 -0
- package/icons/building-fill-dash.svg +4 -0
- package/icons/building-fill-down.svg +4 -0
- package/icons/building-fill-exclamation.svg +4 -0
- package/icons/building-fill-gear.svg +4 -0
- package/icons/building-fill-lock.svg +4 -0
- package/icons/building-fill-slash.svg +4 -0
- package/icons/building-fill-up.svg +4 -0
- package/icons/building-fill-x.svg +4 -0
- package/icons/building-fill.svg +3 -0
- package/icons/building-gear.svg +4 -0
- package/icons/building-lock.svg +4 -0
- package/icons/building-slash.svg +5 -0
- package/icons/building-up.svg +5 -0
- package/icons/building-x.svg +4 -0
- package/icons/building.svg +2 -2
- package/icons/buildings-fill.svg +3 -0
- package/icons/buildings.svg +4 -0
- package/icons/bus-front-fill.svg +3 -0
- package/icons/bus-front.svg +4 -0
- package/icons/capsule-pill.svg +1 -1
- package/icons/capsule.svg +1 -1
- package/icons/car-front-fill.svg +1 -1
- package/icons/car-front.svg +1 -1
- package/icons/database-add.svg +4 -0
- package/icons/database-check.svg +4 -0
- package/icons/database-dash.svg +4 -0
- package/icons/database-down.svg +4 -0
- package/icons/database-exclamation.svg +4 -0
- package/icons/database-fill-add.svg +4 -0
- package/icons/database-fill-check.svg +4 -0
- package/icons/database-fill-dash.svg +4 -0
- package/icons/database-fill-down.svg +4 -0
- package/icons/database-fill-exclamation.svg +5 -0
- package/icons/database-fill-gear.svg +4 -0
- package/icons/database-fill-lock.svg +5 -0
- package/icons/database-fill-slash.svg +4 -0
- package/icons/database-fill-up.svg +4 -0
- package/icons/database-fill-x.svg +5 -0
- package/icons/database-fill.svg +6 -0
- package/icons/database-gear.svg +4 -0
- package/icons/database-lock.svg +4 -0
- package/icons/database-slash.svg +4 -0
- package/icons/database-up.svg +4 -0
- package/icons/database-x.svg +4 -0
- package/icons/database.svg +3 -0
- package/icons/envelope-at-fill.svg +4 -0
- package/icons/envelope-at.svg +4 -0
- package/icons/ev-front-fill.svg +3 -0
- package/icons/ev-front.svg +4 -0
- package/icons/globe-americas.svg +3 -0
- package/icons/globe-asia-australia.svg +4 -0
- package/icons/globe-central-south-asia.svg +3 -0
- package/icons/globe-europe-africa.svg +3 -0
- package/icons/heart-pulse-fill.svg +2 -1
- package/icons/heart-pulse.svg +2 -1
- package/icons/heartbreak-fill.svg +1 -1
- package/icons/heartbreak.svg +1 -1
- package/icons/house-add-fill.svg +5 -0
- package/icons/house-add.svg +4 -0
- package/icons/house-check-fill.svg +5 -0
- package/icons/house-check.svg +4 -0
- package/icons/house-dash-fill.svg +5 -0
- package/icons/house-dash.svg +4 -0
- package/icons/house-door-fill.svg +1 -1
- package/icons/house-door.svg +1 -1
- package/icons/house-down-fill.svg +5 -0
- package/icons/house-down.svg +4 -0
- package/icons/house-exclamation-fill.svg +5 -0
- package/icons/house-exclamation.svg +4 -0
- package/icons/house-fill.svg +2 -2
- package/icons/house-gear-fill.svg +5 -0
- package/icons/house-gear.svg +4 -0
- package/icons/house-lock-fill.svg +5 -0
- package/icons/house-lock.svg +4 -0
- package/icons/house-slash-fill.svg +5 -0
- package/icons/house-slash.svg +4 -0
- package/icons/house-up-fill.svg +5 -0
- package/icons/house-up.svg +4 -0
- package/icons/house-x-fill.svg +5 -0
- package/icons/house-x.svg +4 -0
- package/icons/house.svg +1 -2
- package/icons/houses-fill.svg +4 -0
- package/icons/houses.svg +3 -0
- package/icons/lungs-fill.svg +1 -1
- package/icons/nvidia.svg +3 -0
- package/icons/people-fill.svg +1 -3
- package/icons/people.svg +1 -1
- package/icons/person-add.svg +4 -0
- package/icons/person-check.svg +2 -2
- package/icons/person-dash.svg +2 -2
- package/icons/person-down.svg +4 -0
- package/icons/person-exclamation.svg +4 -0
- package/icons/person-fill-add.svg +4 -0
- package/icons/person-fill-check.svg +4 -0
- package/icons/person-fill-dash.svg +4 -0
- package/icons/person-fill-down.svg +4 -0
- package/icons/person-fill-exclamation.svg +4 -0
- package/icons/person-fill-gear.svg +3 -0
- package/icons/person-fill-lock.svg +3 -0
- package/icons/person-fill-slash.svg +3 -0
- package/icons/person-fill-up.svg +4 -0
- package/icons/person-fill-x.svg +4 -0
- package/icons/person-fill.svg +1 -1
- package/icons/person-gear.svg +3 -0
- package/icons/person-lock.svg +3 -0
- package/icons/person-slash.svg +3 -0
- package/icons/person-up.svg +4 -0
- package/icons/person-vcard-fill.svg +3 -0
- package/icons/person-vcard.svg +4 -0
- package/icons/person-x.svg +2 -2
- package/icons/person.svg +1 -1
- package/icons/prescription.svg +2 -2
- package/icons/prescription2.svg +1 -1
- package/icons/regex.svg +3 -0
- package/icons/rocket-fill.svg +4 -0
- package/icons/rocket-takeoff-fill.svg +4 -0
- package/icons/rocket-takeoff.svg +5 -0
- package/icons/rocket.svg +5 -0
- package/icons/scooter.svg +3 -0
- package/icons/sign-dead-end-fill.svg +4 -0
- package/icons/sign-dead-end.svg +4 -0
- package/icons/sign-do-not-enter-fill.svg +4 -0
- package/icons/sign-do-not-enter.svg +4 -0
- package/icons/sign-intersection-fill.svg +3 -0
- package/icons/sign-intersection-side-fill.svg +3 -0
- package/icons/sign-intersection-side.svg +4 -0
- package/icons/sign-intersection-t-fill.svg +3 -0
- package/icons/sign-intersection-t.svg +4 -0
- package/icons/sign-intersection-y-fill.svg +3 -0
- package/icons/sign-intersection-y.svg +4 -0
- package/icons/sign-intersection.svg +4 -0
- package/icons/sign-merge-left-fill.svg +3 -0
- package/icons/sign-merge-left.svg +4 -0
- package/icons/sign-merge-right-fill.svg +3 -0
- package/icons/sign-merge-right.svg +4 -0
- package/icons/sign-no-left-turn-fill.svg +4 -0
- package/icons/sign-no-left-turn.svg +3 -0
- package/icons/sign-no-parking-fill.svg +4 -0
- package/icons/sign-no-parking.svg +3 -0
- package/icons/sign-no-right-turn-fill.svg +4 -0
- package/icons/sign-no-right-turn.svg +3 -0
- package/icons/sign-railroad-fill.svg +5 -0
- package/icons/sign-railroad.svg +4 -0
- package/icons/sign-stop-fill.svg +1 -1
- package/icons/sign-stop-lights-fill.svg +1 -1
- package/icons/sign-turn-left-fill.svg +1 -1
- package/icons/sign-turn-right-fill.svg +1 -1
- package/icons/sign-turn-slight-left-fill.svg +1 -1
- package/icons/sign-turn-slight-right-fill.svg +1 -1
- package/icons/sign-yield-fill.svg +1 -1
- package/icons/sina-weibo.svg +4 -0
- package/icons/stripe.svg +3 -0
- package/icons/subscript.svg +3 -0
- package/icons/superscript.svg +3 -0
- package/icons/taxi-front-fill.svg +3 -0
- package/icons/taxi-front.svg +4 -0
- package/icons/tencent-qq.svg +4 -0
- package/icons/text-wrap.svg +3 -0
- package/icons/train-freight-front-fill.svg +1 -1
- package/icons/train-freight-front.svg +1 -1
- package/icons/train-front-fill.svg +1 -1
- package/icons/train-front.svg +1 -1
- package/icons/train-lightrail-front-fill.svg +1 -1
- package/icons/train-lightrail-front.svg +1 -1
- package/icons/trello.svg +3 -0
- package/icons/truck-front-fill.svg +1 -1
- package/icons/truck-front.svg +2 -3
- package/icons/virus.svg +1 -1
- package/icons/virus2.svg +1 -1
- package/icons/wikipedia.svg +3 -0
- package/js/dist/alert.js +14 -25
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +13 -30
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +11 -15
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +36 -120
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +27 -88
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dependency/manipulator.js +72 -0
- package/js/dist/dependency/manipulator.js.map +1 -0
- package/js/dist/dom/data.js +6 -10
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +7 -52
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +2 -15
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +2 -16
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +52 -124
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +40 -119
- package/js/dist/modal.js.map +1 -1
- package/js/dist/offcanvas.js +36 -89
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +15 -22
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy-legacy.js +216 -0
- package/js/dist/scrollspy-legacy.js.map +1 -0
- package/js/dist/scrollspy.js +42 -80
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/tab.js +40 -98
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +30 -69
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +74 -196
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +13 -40
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +5 -11
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +6 -18
- package/js/dist/util/config.js.map +1 -1
- package/js/dist/util/focustrap.js +16 -33
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +28 -75
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +7 -17
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +16 -43
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +18 -40
- package/js/dist/util/swipe.js.map +1 -1
- package/js/dist/util/template-factory.js +13 -41
- 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/dependency/manipulator.js +80 -0
- 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 +10 -3
- package/js/src/modal.js +3 -3
- package/js/src/offcanvas.js +1 -1
- package/js/src/popover.js +1 -1
- package/js/src/scrollspy-legacy.js +294 -0
- package/js/src/scrollspy.js +1 -1
- package/js/src/tab.js +2 -4
- package/js/src/toast.js +9 -4
- package/js/src/tooltip.js +27 -48
- 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/legacy/dependency/manipulator.js +80 -0
- package/legacy/scrollspy-legacy.js +294 -0
- package/package.json +6 -6
- package/scss/_buttons.scss +8 -2
- package/scss/_carousel.scss +0 -3
- package/scss/_functions.scss +1 -1
- package/scss/_toasts.scss +2 -0
- package/scss/_variables.scss +1 -1
- package/scss/bootstrap-utilities.scss +3 -0
- package/scss/mixins/_banner.scss +1 -1
- package/scss/mixins/_table-variants.scss +2 -2
package/js/dist/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport Swipe from './util/swipe'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\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 next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\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_SLIDE, function (event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default","interval","keyboard","pause","ride","touch","wrap","DefaultType","Carousel","BaseComponent","constructor","element","config","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","SelectorEngine","findOne","_element","_addEventListeners","_config","cycle","next","_slide","nextWhenVisible","document","hidden","isVisible","prev","triggerTransitionEnd","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","EventHandler","one","to","index","items","_getItems","length","activeIndex","_getItemIndex","_getActive","order","dispose","_configAfterMerge","defaultInterval","on","event","_keydown","Swipe","isSupported","_addTouchEventListeners","img","find","preventDefault","endCallBack","clearTimeout","setTimeout","swipeConfig","leftCallback","_directionToOrder","rightCallback","endCallback","test","target","tagName","direction","key","indexOf","_setActiveIndicatorElement","activeIndicator","classList","remove","removeAttribute","newActiveIndicator","add","setAttribute","elementInterval","Number","parseInt","getAttribute","activeElement","isNext","nextElement","getNextActiveElement","nextElementIndex","triggerEvent","eventName","trigger","relatedTarget","_orderToDirection","from","slideEvent","defaultPrevented","isCycling","Boolean","directionalClassName","orderClassName","reflow","completeCallBack","_queueCallback","_isAnimated","contains","clearInterval","isRTL","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","getElementFromSelector","carousel","slideIndex","Manipulator","getDataAttribute","window","carousels","defineJQueryPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport Swipe from './util/swipe'\nimport BaseComponent from './base-component'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\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 next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\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_SLIDE, function (event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default","interval","keyboard","pause","ride","touch","wrap","DefaultType","Carousel","BaseComponent","constructor","element","config","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","SelectorEngine","findOne","_element","_addEventListeners","_config","cycle","next","_slide","nextWhenVisible","document","hidden","isVisible","prev","triggerTransitionEnd","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","EventHandler","one","to","index","items","_getItems","length","activeIndex","_getItemIndex","_getActive","order","dispose","_configAfterMerge","defaultInterval","on","event","_keydown","Swipe","isSupported","_addTouchEventListeners","img","find","preventDefault","endCallBack","clearTimeout","setTimeout","swipeConfig","leftCallback","_directionToOrder","rightCallback","endCallback","test","target","tagName","direction","key","indexOf","_setActiveIndicatorElement","activeIndicator","classList","remove","removeAttribute","newActiveIndicator","add","setAttribute","elementInterval","Number","parseInt","getAttribute","activeElement","isNext","nextElement","getNextActiveElement","nextElementIndex","triggerEvent","eventName","trigger","relatedTarget","_orderToDirection","from","slideEvent","defaultPrevented","isCycling","Boolean","directionalClassName","orderClassName","reflow","completeCallBack","_queueCallback","_isAnimated","contains","clearInterval","isRTL","jQueryInterface","each","data","getOrCreateInstance","undefined","startsWith","TypeError","getElementFromSelector","carousel","slideIndex","Manipulator","getDataAttribute","window","carousels","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/collapse.js
CHANGED
|
@@ -4,18 +4,13 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Index, global.EventHandler, global.SelectorEngine, global.BaseComponent));
|
|
5
5
|
})(this, (function (index, EventHandler, SelectorEngine, BaseComponent) { 'use strict';
|
|
6
6
|
|
|
7
|
-
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
|
8
|
-
|
|
9
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
10
|
-
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
11
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
12
|
-
|
|
13
7
|
/**
|
|
14
8
|
* --------------------------------------------------------------------------
|
|
15
|
-
* Bootstrap (v5.2.
|
|
9
|
+
* Bootstrap (v5.2.3): collapse.js
|
|
16
10
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
17
11
|
* --------------------------------------------------------------------------
|
|
18
12
|
*/
|
|
13
|
+
|
|
19
14
|
/**
|
|
20
15
|
* Constants
|
|
21
16
|
*/
|
|
@@ -47,51 +42,45 @@
|
|
|
47
42
|
parent: '(null|element)',
|
|
48
43
|
toggle: 'boolean'
|
|
49
44
|
};
|
|
45
|
+
|
|
50
46
|
/**
|
|
51
47
|
* Class definition
|
|
52
48
|
*/
|
|
53
49
|
|
|
54
|
-
class Collapse extends
|
|
50
|
+
class Collapse extends BaseComponent {
|
|
55
51
|
constructor(element, config) {
|
|
56
52
|
super(element, config);
|
|
57
53
|
this._isTransitioning = false;
|
|
58
54
|
this._triggerArray = [];
|
|
59
|
-
const toggleList =
|
|
60
|
-
|
|
55
|
+
const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);
|
|
61
56
|
for (const elem of toggleList) {
|
|
62
57
|
const selector = index.getSelectorFromElement(elem);
|
|
63
|
-
const filterElement =
|
|
64
|
-
|
|
58
|
+
const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
|
|
65
59
|
if (selector !== null && filterElement.length) {
|
|
66
60
|
this._triggerArray.push(elem);
|
|
67
61
|
}
|
|
68
62
|
}
|
|
69
|
-
|
|
70
63
|
this._initializeChildren();
|
|
71
|
-
|
|
72
64
|
if (!this._config.parent) {
|
|
73
65
|
this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());
|
|
74
66
|
}
|
|
75
|
-
|
|
76
67
|
if (this._config.toggle) {
|
|
77
68
|
this.toggle();
|
|
78
69
|
}
|
|
79
|
-
}
|
|
80
|
-
|
|
70
|
+
}
|
|
81
71
|
|
|
72
|
+
// Getters
|
|
82
73
|
static get Default() {
|
|
83
74
|
return Default;
|
|
84
75
|
}
|
|
85
|
-
|
|
86
76
|
static get DefaultType() {
|
|
87
77
|
return DefaultType;
|
|
88
78
|
}
|
|
89
|
-
|
|
90
79
|
static get NAME() {
|
|
91
80
|
return NAME;
|
|
92
|
-
}
|
|
93
|
-
|
|
81
|
+
}
|
|
94
82
|
|
|
83
|
+
// Public
|
|
95
84
|
toggle() {
|
|
96
85
|
if (this._isShown()) {
|
|
97
86
|
this.hide();
|
|
@@ -99,201 +88,151 @@
|
|
|
99
88
|
this.show();
|
|
100
89
|
}
|
|
101
90
|
}
|
|
102
|
-
|
|
103
91
|
show() {
|
|
104
92
|
if (this._isTransitioning || this._isShown()) {
|
|
105
93
|
return;
|
|
106
94
|
}
|
|
95
|
+
let activeChildren = [];
|
|
107
96
|
|
|
108
|
-
|
|
109
|
-
|
|
97
|
+
// find active children
|
|
110
98
|
if (this._config.parent) {
|
|
111
99
|
activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
|
|
112
100
|
toggle: false
|
|
113
101
|
}));
|
|
114
102
|
}
|
|
115
|
-
|
|
116
103
|
if (activeChildren.length && activeChildren[0]._isTransitioning) {
|
|
117
104
|
return;
|
|
118
105
|
}
|
|
119
|
-
|
|
120
|
-
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);
|
|
121
|
-
|
|
106
|
+
const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);
|
|
122
107
|
if (startEvent.defaultPrevented) {
|
|
123
108
|
return;
|
|
124
109
|
}
|
|
125
|
-
|
|
126
110
|
for (const activeInstance of activeChildren) {
|
|
127
111
|
activeInstance.hide();
|
|
128
112
|
}
|
|
129
|
-
|
|
130
113
|
const dimension = this._getDimension();
|
|
131
|
-
|
|
132
114
|
this._element.classList.remove(CLASS_NAME_COLLAPSE);
|
|
133
|
-
|
|
134
115
|
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
135
|
-
|
|
136
116
|
this._element.style[dimension] = 0;
|
|
137
|
-
|
|
138
117
|
this._addAriaAndCollapsedClass(this._triggerArray, true);
|
|
139
|
-
|
|
140
118
|
this._isTransitioning = true;
|
|
141
|
-
|
|
142
119
|
const complete = () => {
|
|
143
120
|
this._isTransitioning = false;
|
|
144
|
-
|
|
145
121
|
this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
146
|
-
|
|
147
122
|
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
148
|
-
|
|
149
123
|
this._element.style[dimension] = '';
|
|
150
|
-
|
|
124
|
+
EventHandler.trigger(this._element, EVENT_SHOWN);
|
|
151
125
|
};
|
|
152
|
-
|
|
153
126
|
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
|
154
127
|
const scrollSize = `scroll${capitalizedDimension}`;
|
|
155
|
-
|
|
156
128
|
this._queueCallback(complete, this._element, true);
|
|
157
|
-
|
|
158
129
|
this._element.style[dimension] = `${this._element[scrollSize]}px`;
|
|
159
130
|
}
|
|
160
|
-
|
|
161
131
|
hide() {
|
|
162
132
|
if (this._isTransitioning || !this._isShown()) {
|
|
163
133
|
return;
|
|
164
134
|
}
|
|
165
|
-
|
|
166
|
-
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE);
|
|
167
|
-
|
|
135
|
+
const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);
|
|
168
136
|
if (startEvent.defaultPrevented) {
|
|
169
137
|
return;
|
|
170
138
|
}
|
|
171
|
-
|
|
172
139
|
const dimension = this._getDimension();
|
|
173
|
-
|
|
174
140
|
this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
|
|
175
141
|
index.reflow(this._element);
|
|
176
|
-
|
|
177
142
|
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
178
|
-
|
|
179
143
|
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
180
|
-
|
|
181
144
|
for (const trigger of this._triggerArray) {
|
|
182
145
|
const element = index.getElementFromSelector(trigger);
|
|
183
|
-
|
|
184
146
|
if (element && !this._isShown(element)) {
|
|
185
147
|
this._addAriaAndCollapsedClass([trigger], false);
|
|
186
148
|
}
|
|
187
149
|
}
|
|
188
|
-
|
|
189
150
|
this._isTransitioning = true;
|
|
190
|
-
|
|
191
151
|
const complete = () => {
|
|
192
152
|
this._isTransitioning = false;
|
|
193
|
-
|
|
194
153
|
this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
195
|
-
|
|
196
154
|
this._element.classList.add(CLASS_NAME_COLLAPSE);
|
|
197
|
-
|
|
198
|
-
EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);
|
|
155
|
+
EventHandler.trigger(this._element, EVENT_HIDDEN);
|
|
199
156
|
};
|
|
200
|
-
|
|
201
157
|
this._element.style[dimension] = '';
|
|
202
|
-
|
|
203
158
|
this._queueCallback(complete, this._element, true);
|
|
204
159
|
}
|
|
205
|
-
|
|
206
160
|
_isShown(element = this._element) {
|
|
207
161
|
return element.classList.contains(CLASS_NAME_SHOW);
|
|
208
|
-
}
|
|
209
|
-
|
|
162
|
+
}
|
|
210
163
|
|
|
164
|
+
// Private
|
|
211
165
|
_configAfterMerge(config) {
|
|
212
166
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
|
213
|
-
|
|
214
167
|
config.parent = index.getElement(config.parent);
|
|
215
168
|
return config;
|
|
216
169
|
}
|
|
217
|
-
|
|
218
170
|
_getDimension() {
|
|
219
171
|
return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;
|
|
220
172
|
}
|
|
221
|
-
|
|
222
173
|
_initializeChildren() {
|
|
223
174
|
if (!this._config.parent) {
|
|
224
175
|
return;
|
|
225
176
|
}
|
|
226
|
-
|
|
227
177
|
const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE);
|
|
228
|
-
|
|
229
178
|
for (const element of children) {
|
|
230
179
|
const selected = index.getElementFromSelector(element);
|
|
231
|
-
|
|
232
180
|
if (selected) {
|
|
233
181
|
this._addAriaAndCollapsedClass([element], this._isShown(selected));
|
|
234
182
|
}
|
|
235
183
|
}
|
|
236
184
|
}
|
|
237
|
-
|
|
238
185
|
_getFirstLevelChildren(selector) {
|
|
239
|
-
const children =
|
|
240
|
-
|
|
241
|
-
return
|
|
186
|
+
const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
|
|
187
|
+
// remove children if greater depth
|
|
188
|
+
return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));
|
|
242
189
|
}
|
|
243
|
-
|
|
244
190
|
_addAriaAndCollapsedClass(triggerArray, isOpen) {
|
|
245
191
|
if (!triggerArray.length) {
|
|
246
192
|
return;
|
|
247
193
|
}
|
|
248
|
-
|
|
249
194
|
for (const element of triggerArray) {
|
|
250
195
|
element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
|
|
251
196
|
element.setAttribute('aria-expanded', isOpen);
|
|
252
197
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
198
|
+
}
|
|
255
199
|
|
|
200
|
+
// Static
|
|
256
201
|
static jQueryInterface(config) {
|
|
257
202
|
const _config = {};
|
|
258
|
-
|
|
259
203
|
if (typeof config === 'string' && /show|hide/.test(config)) {
|
|
260
204
|
_config.toggle = false;
|
|
261
205
|
}
|
|
262
|
-
|
|
263
206
|
return this.each(function () {
|
|
264
207
|
const data = Collapse.getOrCreateInstance(this, _config);
|
|
265
|
-
|
|
266
208
|
if (typeof config === 'string') {
|
|
267
209
|
if (typeof data[config] === 'undefined') {
|
|
268
210
|
throw new TypeError(`No method named "${config}"`);
|
|
269
211
|
}
|
|
270
|
-
|
|
271
212
|
data[config]();
|
|
272
213
|
}
|
|
273
214
|
});
|
|
274
215
|
}
|
|
275
|
-
|
|
276
216
|
}
|
|
217
|
+
|
|
277
218
|
/**
|
|
278
219
|
* Data API implementation
|
|
279
220
|
*/
|
|
280
221
|
|
|
281
|
-
|
|
282
|
-
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
222
|
+
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
283
223
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
|
284
224
|
if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
|
|
285
225
|
event.preventDefault();
|
|
286
226
|
}
|
|
287
|
-
|
|
288
227
|
const selector = index.getSelectorFromElement(this);
|
|
289
|
-
const selectorElements =
|
|
290
|
-
|
|
228
|
+
const selectorElements = SelectorEngine.find(selector);
|
|
291
229
|
for (const element of selectorElements) {
|
|
292
230
|
Collapse.getOrCreateInstance(element, {
|
|
293
231
|
toggle: false
|
|
294
232
|
}).toggle();
|
|
295
233
|
}
|
|
296
234
|
});
|
|
235
|
+
|
|
297
236
|
/**
|
|
298
237
|
* jQuery
|
|
299
238
|
*/
|
package/js/dist/collapse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.1): 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 = 'bs.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-bs-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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"}
|
|
1
|
+
{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): 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 = 'bs.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-bs-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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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Manipulator = factory());
|
|
5
|
+
})(this, (function () { 'use strict';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
* Bootstrap (v5.1.3): dom/manipulator.js
|
|
10
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
11
|
+
* --------------------------------------------------------------------------
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function normalizeData(val) {
|
|
15
|
+
if (val === 'true') {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (val === 'false') {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (val === Number(val).toString()) {
|
|
22
|
+
return Number(val);
|
|
23
|
+
}
|
|
24
|
+
if (val === '' || val === 'null') {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return val;
|
|
28
|
+
}
|
|
29
|
+
function normalizeDataKey(key) {
|
|
30
|
+
return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
|
|
31
|
+
}
|
|
32
|
+
const Manipulator = {
|
|
33
|
+
setDataAttribute(element, key, value) {
|
|
34
|
+
element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
|
|
35
|
+
},
|
|
36
|
+
removeDataAttribute(element, key) {
|
|
37
|
+
element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
|
|
38
|
+
},
|
|
39
|
+
getDataAttributes(element) {
|
|
40
|
+
if (!element) {
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
const attributes = {};
|
|
44
|
+
Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
|
|
45
|
+
let pureKey = key.replace(/^bs/, '');
|
|
46
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
|
|
47
|
+
attributes[pureKey] = normalizeData(element.dataset[key]);
|
|
48
|
+
});
|
|
49
|
+
return attributes;
|
|
50
|
+
},
|
|
51
|
+
getDataAttribute(element, key) {
|
|
52
|
+
return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
|
|
53
|
+
},
|
|
54
|
+
offset(element) {
|
|
55
|
+
const rect = element.getBoundingClientRect();
|
|
56
|
+
return {
|
|
57
|
+
top: rect.top + window.pageYOffset,
|
|
58
|
+
left: rect.left + window.pageXOffset
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
position(element) {
|
|
62
|
+
return {
|
|
63
|
+
top: element.offsetTop,
|
|
64
|
+
left: element.offsetLeft
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
return Manipulator;
|
|
70
|
+
|
|
71
|
+
}));
|
|
72
|
+
//# sourceMappingURL=manipulator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manipulator.js","sources":["../../src/dependency/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n function normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","val","Number","toString","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","value","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","Object","keys","dataset","filter","startsWith","forEach","pureKey","charAt","slice","length","getDataAttribute","getAttribute","offset","rect","getBoundingClientRect","top","window","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft"],"mappings":"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"}
|