bootstrap-italia 2.11.2 → 2.12.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/dist/css/bootstrap-italia.min.css +1 -1
- package/dist/css/bootstrap-italia.min.css.map +1 -1
- package/dist/js/bootstrap-italia.bundle.min.js +17 -510
- package/dist/js/bootstrap-italia.min.js +3 -234
- package/dist/plugins/accept-overlay.js.map +1 -1
- package/dist/plugins/accordion.js.map +1 -1
- package/dist/plugins/backToTop.js.map +1 -1
- package/dist/plugins/carousel-bi.js.map +1 -1
- package/dist/plugins/cookiebar.js.map +1 -1
- package/dist/plugins/dimmer.js.map +1 -1
- package/dist/plugins/fonts-loader.js.map +1 -1
- package/dist/plugins/form-validate.js.map +1 -1
- package/dist/plugins/forward.js.map +1 -1
- package/dist/plugins/header-sticky.js +0 -1
- package/dist/plugins/header-sticky.js.map +1 -1
- package/dist/plugins/history-back.js.map +1 -1
- package/dist/plugins/init.js.map +1 -1
- package/dist/plugins/input-label.js.map +1 -1
- package/dist/plugins/input-number.js.map +1 -1
- package/dist/plugins/input-password.js.map +1 -1
- package/dist/plugins/input-search-autocomplete.js +1 -0
- package/dist/plugins/input-search-autocomplete.js.map +1 -1
- package/dist/plugins/input.js.map +1 -1
- package/dist/plugins/list.js.map +1 -1
- package/dist/plugins/masonry.js.map +1 -1
- package/dist/plugins/navbar-collapsible.js.map +1 -1
- package/dist/plugins/navscroll.js.map +1 -1
- package/dist/plugins/notification.js.map +1 -1
- package/dist/plugins/progress-donut.js.map +1 -1
- package/dist/plugins/select-autocomplete.js.map +1 -1
- package/dist/plugins/sticky.js.map +1 -1
- package/dist/plugins/tab.js.map +1 -1
- package/dist/plugins/track-focus.js.map +1 -1
- package/dist/plugins/transfer.js.map +1 -1
- package/dist/plugins/upload-dragdrop.js.map +1 -1
- package/dist/plugins/util/cookies.js.map +1 -1
- package/dist/plugins/util/device.js.map +1 -1
- package/dist/plugins/util/dom.js.map +1 -1
- package/dist/plugins/util/observer.js +2 -2
- package/dist/plugins/util/observer.js.map +1 -1
- package/dist/plugins/util/on-document-scroll.js.map +1 -1
- package/dist/plugins/util/pageScroll.js.map +1 -1
- package/dist/plugins/util/tween.js.map +1 -1
- package/dist/plugins/util/youtube-video.js.map +1 -1
- package/dist/plugins/videoplayer.js.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +24 -22
- package/src/js/plugins/header-sticky.js +0 -1
- package/src/js/plugins/util/observer.js +2 -2
- package/src/js/version.js +2 -2
- package/src/scss/_variables.scss +3 -4
- package/src/scss/custom/_back-to-top.scss +10 -2
- package/src/scss/custom/_badge.scss +5 -1
- package/src/scss/custom/_buttons.scss +2 -20
- package/src/scss/custom/_card.scss +15 -5
- package/src/scss/custom/_carousel.scss +6 -0
- package/src/scss/custom/_chips.scss +6 -9
- package/src/scss/custom/_form-datepicker.scss +0 -1
- package/src/scss/custom/_form-input-file.scss +0 -1
- package/src/scss/custom/_form-input-upload.scss +4 -10
- package/src/scss/custom/_form-toggles.scss +4 -1
- package/src/scss/custom/_forms.scss +24 -14
- package/src/scss/custom/_navscroll.scss +6 -2
- package/src/scss/custom/_version.scss +1 -1
- package/src/scss/custom/mixins/_buttons.scss +11 -42
- package/src/scss/utilities/colors_vars.scss +1 -0
- package/src/scss/utilities/focus.scss +76 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-donut.js","sources":["../../src/js/plugins/progress-donut.js"],"sourcesContent":["import ProgressBar from 'progressbar.js'\nimport BaseComponent from 'bootstrap/js/src/base-component.js'\n\n//import EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nconst NAME = 'progressdonut'\n//const DATA_KEY = 'bs.progressdonut'\n//const EVENT_KEY = `.${DATA_KEY}`\n//const DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nconst Default = {\n color: '#5C6F82',\n trailColor: '#D9DADB',\n // This has to be the same size as the maximum width to\n // prevent clipping\n strokeWidth: 24,\n trailWidth: 12,\n easing: 'easeInOut',\n duration: 1400,\n text: {\n autoStyleContainer: false,\n },\n animate: true,\n value: 0,\n //from: { color: '#aaa', width: 1 },\n //to: { color: '#333', width: 4 },\n}\n\nclass ProgressDonut extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._bar = null\n\n this._init()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n set(progess) {\n if (this._config.animate) {\n this._bar.animate(progess)\n } else {\n this._bar.set(progess)\n }\n }\n\n dispose() {\n this._bar.destroy()\n\n super.dispose()\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...{ step: this._getStepCallback() },\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n //config.value = parseFloat(config.value)\n return config\n }\n\n _getStepCallback() {\n return (state, circle) => {\n //circle.path.setAttribute('stroke', state.color)\n //circle.path.setAttribute('stroke-width', state.width)\n\n const value = Math.round(circle.value() * 100)\n circle.setText(value + '%')\n /*if (value === 0) {\n circle.setText('')\n } else {\n circle.setText(value)\n }*/\n }\n }\n\n _init() {\n this._bar = new ProgressBar.Circle(this._element, this._config)\n\n if (this._config.value > 0) {\n this.set(this._config.value)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nSelectorEngine.find(SELECTOR_DONUT).forEach((donut) => {\n ProgressDonut.getOrCreateInstance(donut)\n})\n\nexport default ProgressDonut\n"],"names":[],"mappings":";;;;;AAOA,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"progress-donut.js","sources":["../../src/js/plugins/progress-donut.js"],"sourcesContent":["import ProgressBar from 'progressbar.js'\nimport BaseComponent from 'bootstrap/js/src/base-component.js'\n\n//import EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nconst NAME = 'progressdonut'\n//const DATA_KEY = 'bs.progressdonut'\n//const EVENT_KEY = `.${DATA_KEY}`\n//const DATA_API_KEY = '.data-api'\n\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nconst Default = {\n color: '#5C6F82',\n trailColor: '#D9DADB',\n // This has to be the same size as the maximum width to\n // prevent clipping\n strokeWidth: 24,\n trailWidth: 12,\n easing: 'easeInOut',\n duration: 1400,\n text: {\n autoStyleContainer: false,\n },\n animate: true,\n value: 0,\n //from: { color: '#aaa', width: 1 },\n //to: { color: '#333', width: 4 },\n}\n\nclass ProgressDonut extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._bar = null\n\n this._init()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n set(progess) {\n if (this._config.animate) {\n this._bar.animate(progess)\n } else {\n this._bar.set(progess)\n }\n }\n\n dispose() {\n this._bar.destroy()\n\n super.dispose()\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...{ step: this._getStepCallback() },\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n //config.value = parseFloat(config.value)\n return config\n }\n\n _getStepCallback() {\n return (state, circle) => {\n //circle.path.setAttribute('stroke', state.color)\n //circle.path.setAttribute('stroke-width', state.width)\n\n const value = Math.round(circle.value() * 100)\n circle.setText(value + '%')\n /*if (value === 0) {\n circle.setText('')\n } else {\n circle.setText(value)\n }*/\n }\n }\n\n _init() {\n this._bar = new ProgressBar.Circle(this._element, this._config)\n\n if (this._config.value > 0) {\n this.set(this._config.value)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nSelectorEngine.find(SELECTOR_DONUT).forEach((donut) => {\n ProgressDonut.getOrCreateInstance(donut)\n})\n\nexport default ProgressDonut\n"],"names":[],"mappings":";;;;;AAOA,MAAM,IAAI,GAAG;AACb;AACA;AACA;;AAEA,MAAM,cAAc,GAAG;;AAEvB,MAAM,OAAO,GAAG;AAChB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,UAAU,EAAE,SAAS;AACvB;AACA;AACA,EAAE,WAAW,EAAE,EAAE;AACjB,EAAE,UAAU,EAAE,EAAE;AAChB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,IAAI,EAAE;AACR,IAAI,kBAAkB,EAAE,KAAK;AAC7B,GAAG;AACH,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE,CAAC;AACV;AACA;AACA;;AAEA,MAAM,aAAa,SAAS,aAAa,CAAC;AAC1C,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;AAC/B,IAAI,KAAK,CAAC,OAAO;;AAEjB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;AACzC,IAAI,IAAI,CAAC,IAAI,GAAG;;AAEhB,IAAI,IAAI,CAAC,KAAK;AACd;;AAEA;;AAEA,EAAE,WAAW,IAAI,GAAG;AACpB,IAAI,OAAO;AACX;;AAEA;AACA,EAAE,GAAG,CAAC,OAAO,EAAE;AACf,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;AAC/B,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO;AAC3B;AACA;;AAEA,EAAE,OAAO,GAAG;AACZ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;;AAErB,IAAI,KAAK,CAAC,OAAO;AACjB;;AAEA;AACA,EAAE,UAAU,CAAC,MAAM,EAAE;AACrB,IAAI,MAAM,GAAG;AACb,MAAM,GAAG,OAAO;AAChB,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC1C,MAAM,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;AACrD,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AACnD;AACA;AACA,IAAI,OAAO;AACX;;AAEA,EAAE,gBAAgB,GAAG;AACrB,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK;AAC9B;AACA;;AAEA,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG;AACnD,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO;;AAElE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;AAChC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACvD,EAAE,aAAa,CAAC,mBAAmB,CAAC,KAAK;AACzC,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-autocomplete.js","sources":["../../src/js/plugins/select-autocomplete.js"],"sourcesContent":["import accessibleAutocomplete from 'accessible-autocomplete'\n\nimport BaseComponent from 'bootstrap/js/src/base-component.js'\n\nconst NAME = 'selectautocomplete'\n\nfunction onClassChange(element, callback) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n callback(mutation.target)\n }\n })\n })\n observer.observe(element, { attributes: true })\n return observer.disconnect\n}\n\nclass SelectAutocomplete extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._hasFormControl = element.classList.contains('form-control')\n this.element_original_id = this._element.id\n this._config = config\n if (!this._config.tAssistiveHint)\n this._config.tAssistiveHint = () =>\n 'Quando i risultati del completamento automatico sono disponibili, usa le frecce su e giù per rivedere e Invio per selezionare. Utenti di dispositivi touch, esplora tramite tocco o con gesti di scorrimento'\n if (!this._config.tNoResults) this._config.tNoResults = () => 'Nessun risultato trovato'\n if (!this._config.tStatusQueryTooShort)\n this._config.tStatusQueryTooShort = (minQueryLength) => `Digita ${minQueryLength} o più caratteri per mostrare le opzioni di ricerca`\n if (!this._config.tStatusNoResults) this._config.tStatusNoResults = () => 'Nessun risultato di ricerca'\n if (!this._config.tStatusSelectedOption)\n this._config.tStatusSelectedOption = (selectedOption, length, index) => `${selectedOption} ${index + 1} di ${length} è sottolineato`\n if (!this._config.tStatusResults)\n this._config.tStatusResults = (length, contentSelectedOption) => {\n const words = {\n result: length === 1 ? 'risultato' : 'risultati',\n is: length === 1 ? 'è' : 'sono',\n available: length === 1 ? 'disponibile' : 'disponibili',\n }\n\n return `${length} ${words.result} ${words.is} ${words.available}. ${contentSelectedOption}`\n }\n this._enhance()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Private\n _enhance() {\n accessibleAutocomplete.enhanceSelectElement(Object.assign({}, { selectElement: this._element }, this._config))\n setTimeout(() => {\n if (this._hasFormControl) {\n if (typeof document === 'undefined') {\n return\n }\n const inputField = document.getElementById(this.element_original_id)\n inputField.classList.add('form-control')\n onClassChange(inputField, (node) => {\n if (!node.classList.contains('form-control')) {\n node.classList.add('form-control')\n }\n })\n }\n }, 100)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nexport default SelectAutocomplete\n"],"names":[],"mappings":";;;AAIA,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"select-autocomplete.js","sources":["../../src/js/plugins/select-autocomplete.js"],"sourcesContent":["import accessibleAutocomplete from 'accessible-autocomplete'\n\nimport BaseComponent from 'bootstrap/js/src/base-component.js'\n\nconst NAME = 'selectautocomplete'\n\nfunction onClassChange(element, callback) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n callback(mutation.target)\n }\n })\n })\n observer.observe(element, { attributes: true })\n return observer.disconnect\n}\n\nclass SelectAutocomplete extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._hasFormControl = element.classList.contains('form-control')\n this.element_original_id = this._element.id\n this._config = config\n if (!this._config.tAssistiveHint)\n this._config.tAssistiveHint = () =>\n 'Quando i risultati del completamento automatico sono disponibili, usa le frecce su e giù per rivedere e Invio per selezionare. Utenti di dispositivi touch, esplora tramite tocco o con gesti di scorrimento'\n if (!this._config.tNoResults) this._config.tNoResults = () => 'Nessun risultato trovato'\n if (!this._config.tStatusQueryTooShort)\n this._config.tStatusQueryTooShort = (minQueryLength) => `Digita ${minQueryLength} o più caratteri per mostrare le opzioni di ricerca`\n if (!this._config.tStatusNoResults) this._config.tStatusNoResults = () => 'Nessun risultato di ricerca'\n if (!this._config.tStatusSelectedOption)\n this._config.tStatusSelectedOption = (selectedOption, length, index) => `${selectedOption} ${index + 1} di ${length} è sottolineato`\n if (!this._config.tStatusResults)\n this._config.tStatusResults = (length, contentSelectedOption) => {\n const words = {\n result: length === 1 ? 'risultato' : 'risultati',\n is: length === 1 ? 'è' : 'sono',\n available: length === 1 ? 'disponibile' : 'disponibili',\n }\n\n return `${length} ${words.result} ${words.is} ${words.available}. ${contentSelectedOption}`\n }\n this._enhance()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Private\n _enhance() {\n accessibleAutocomplete.enhanceSelectElement(Object.assign({}, { selectElement: this._element }, this._config))\n setTimeout(() => {\n if (this._hasFormControl) {\n if (typeof document === 'undefined') {\n return\n }\n const inputField = document.getElementById(this.element_original_id)\n inputField.classList.add('form-control')\n onClassChange(inputField, (node) => {\n if (!node.classList.contains('form-control')) {\n node.classList.add('form-control')\n }\n })\n }\n }, 100)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nexport default SelectAutocomplete\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.js","sources":["../../src/js/plugins/sticky.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport {\n //defineJQueryPlugin,\n //getElementFromSelector,\n //isVisible,\n //reflow,\n //typeCheckConfig,\n getSelectorFromElement, //in base al bs-target\n} from 'bootstrap/js/src/util'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nimport { isScreenMobile } from './util/device'\nimport onDocumentScroll from './util/on-document-scroll'\n\nconst NAME = 'sticky'\nconst DATA_KEY = 'bs.sticky'\nconst EVENT_KEY = `.${DATA_KEY}`\n//const DATA_API_KEY = '.data-api'\n\n//const EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_STICKY_ON = `on${EVENT_KEY}`\nconst EVENT_STICKY_OFF = `off${EVENT_KEY}`\n\nconst CLASS_NAME_WRAPPER = 'bs-it-sticky-wrapper'\nconst CLASS_NAME_STICKY = 'bs-is-sticky'\nconst CLASS_NAME_FIXED = 'bs-is-fixed'\n\nconst DATA_TARGET_MOBILE = 'data-bs-target-mobile'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"sticky\"]'\n\nconst Default = {\n positionType: 'sticky', //fixed\n stickyClassName: '',\n stackable: false,\n paddingTop: 0,\n}\n\nclass Sticky extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n\n this._isSticky = false\n this._wrapper = null\n\n this._stickyTarget = SelectorEngine.findOne(getSelectorFromElement(this._element), this._element) || this._element\n this._stickyTargetMobile = SelectorEngine.findOne(this._element.getAttribute(DATA_TARGET_MOBILE), this._element) || this._stickyTarget //needed?\n this._stickyLimit = 0\n this._stickyLimitMobile = 0\n this._setLimit()\n\n this._scrollCb = null\n\n this._isMobile = isScreenMobile()\n\n this._prevTop = 0\n\n this._onScroll()\n this._bindEvents()\n }\n\n dispose() {\n EventHandler.off(window, EVENT_RESIZE)\n this._scrollCb.dispose()\n\n super.dispose()\n }\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n return config\n }\n\n _bindEvents() {\n EventHandler.on(window, EVENT_RESIZE, () => this._onResize())\n //EventHandler.on(window, EVENT_SCROLL, () => this._onScroll())\n this._scrollCb = onDocumentScroll(() => this._onScroll())\n }\n\n _onResize() {\n this._isMobile = isScreenMobile()\n this._setLimit()\n }\n\n _onScroll() {\n this._checkSticky()\n }\n\n _setLimit() {\n this._stickyLimit = this._cumulativeOffset(this._stickyTarget).top\n this._stickyLimitMobile = this._cumulativeOffset(this._stickyTargetMobile).top\n }\n\n _getLimit() {\n let newLimit = this._isMobile ? this._stickyLimitMobile : this._stickyLimit\n if (this._config.stackable) {\n this._getStickySimblings().forEach((sticky, idx) => {\n const data = sticky.getBoundingClientRect()\n newLimit -= data.height + (idx === 0 ? parseFloat(sticky.style.top) : 0)\n })\n }\n return newLimit > 0 ? newLimit : 0\n }\n\n /**\n * get the absolute position of an element\n * @param {*} element - the target element\n * @returns {Object} - absolute position top and left of the element\n */\n _cumulativeOffset(element) {\n let top = 0\n let left = 0\n do {\n top += element.offsetTop || 0\n left += element.offsetLeft || 0\n element = element.offsetParent\n } while (element)\n\n return {\n top: top,\n left: left,\n }\n }\n\n _isTypeSticky() {\n return this._config.positionType === 'sticky'\n }\n\n _checkSticky() {\n if (!this._isSticky) {\n //the target position can change dinamically\n this._setLimit()\n }\n const limit = this._getLimit()\n if (typeof window !== 'undefined' && window.pageYOffset > limit) {\n this._setSticky()\n } else {\n this._unsetSticky()\n }\n }\n _setSticky() {\n if (!this._isSticky) {\n this._isSticky = true\n let cssClass = CLASS_NAME_STICKY\n if (!this._isTypeSticky()) {\n cssClass = CLASS_NAME_FIXED\n this._wrapper = this._createWrapper()\n }\n this._element.classList.add(cssClass)\n if (this._config.stickyClassName) {\n this._element.classList.add(this._config.stickyClassName)\n }\n this._prevTop = this._element.style.top\n this._element.style.top = this._getPositionTop() + 'px'\n EventHandler.trigger(this._element, EVENT_STICKY_ON)\n }\n }\n _unsetSticky() {\n if (this._isSticky) {\n let cssClass = CLASS_NAME_STICKY\n if (!this._isTypeSticky()) {\n cssClass = CLASS_NAME_FIXED\n this._destroyWrapper()\n }\n this._element.classList.remove(cssClass)\n if (this._config.stickyClassName) {\n this._element.classList.remove(this._config.stickyClassName)\n }\n this._element.style.top = this._prevTop\n this._isSticky = false\n EventHandler.trigger(this._element, EVENT_STICKY_OFF)\n }\n }\n\n _createWrapper() {\n if (typeof document === 'undefined') {\n return\n }\n const wrapper = document.createElement('div')\n wrapper.classList.add(CLASS_NAME_WRAPPER)\n wrapper.style.width = '100%' //this._element.getBoundingClientRect().width + 'px'\n wrapper.style.height = this._element.getBoundingClientRect().height + 'px'\n wrapper.style.overflow = 'hidden'\n // insert wrapper before el in the DOM tree\n this._element.parentNode.insertBefore(wrapper, this._element)\n // move el into wrapper\n wrapper.appendChild(this._element)\n return wrapper\n }\n _destroyWrapper() {\n if (this._wrapper) {\n this._wrapper.parentNode.insertBefore(this._element, this._wrapper)\n this._wrapper.remove()\n }\n }\n\n _getStickySimblings() {\n const stickies = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n return stickies.filter((sticky) => {\n const instance = Sticky.getInstance(sticky)\n if (instance && instance._isSticky && sticky !== this._element) {\n return true\n }\n return false\n })\n }\n\n /**\n * returns the top position of the element considering the config and the other sticky elements\n */\n _getPositionTop() {\n let newTop = 0\n if (this._config.stackable) {\n this._getStickySimblings().forEach((sticky, idx) => {\n const data = sticky.getBoundingClientRect()\n newTop += data.height + (idx === 0 ? parseFloat(sticky.style.top) : 0)\n })\n return newTop\n } else {\n return newTop + this._config.paddingTop\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nonDocumentScroll(() => {\n const stickies = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n stickies.map((sticky) => {\n Sticky.getOrCreateInstance(sticky)\n })\n})\n\nexport default Sticky\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sticky.js","sources":["../../src/js/plugins/sticky.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport {\n //defineJQueryPlugin,\n //getElementFromSelector,\n //isVisible,\n //reflow,\n //typeCheckConfig,\n getSelectorFromElement, //in base al bs-target\n} from 'bootstrap/js/src/util'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nimport { isScreenMobile } from './util/device'\nimport onDocumentScroll from './util/on-document-scroll'\n\nconst NAME = 'sticky'\nconst DATA_KEY = 'bs.sticky'\nconst EVENT_KEY = `.${DATA_KEY}`\n//const DATA_API_KEY = '.data-api'\n\n//const EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_STICKY_ON = `on${EVENT_KEY}`\nconst EVENT_STICKY_OFF = `off${EVENT_KEY}`\n\nconst CLASS_NAME_WRAPPER = 'bs-it-sticky-wrapper'\nconst CLASS_NAME_STICKY = 'bs-is-sticky'\nconst CLASS_NAME_FIXED = 'bs-is-fixed'\n\nconst DATA_TARGET_MOBILE = 'data-bs-target-mobile'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"sticky\"]'\n\nconst Default = {\n positionType: 'sticky', //fixed\n stickyClassName: '',\n stackable: false,\n paddingTop: 0,\n}\n\nclass Sticky extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n\n this._isSticky = false\n this._wrapper = null\n\n this._stickyTarget = SelectorEngine.findOne(getSelectorFromElement(this._element), this._element) || this._element\n this._stickyTargetMobile = SelectorEngine.findOne(this._element.getAttribute(DATA_TARGET_MOBILE), this._element) || this._stickyTarget //needed?\n this._stickyLimit = 0\n this._stickyLimitMobile = 0\n this._setLimit()\n\n this._scrollCb = null\n\n this._isMobile = isScreenMobile()\n\n this._prevTop = 0\n\n this._onScroll()\n this._bindEvents()\n }\n\n dispose() {\n EventHandler.off(window, EVENT_RESIZE)\n this._scrollCb.dispose()\n\n super.dispose()\n }\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n return config\n }\n\n _bindEvents() {\n EventHandler.on(window, EVENT_RESIZE, () => this._onResize())\n //EventHandler.on(window, EVENT_SCROLL, () => this._onScroll())\n this._scrollCb = onDocumentScroll(() => this._onScroll())\n }\n\n _onResize() {\n this._isMobile = isScreenMobile()\n this._setLimit()\n }\n\n _onScroll() {\n this._checkSticky()\n }\n\n _setLimit() {\n this._stickyLimit = this._cumulativeOffset(this._stickyTarget).top\n this._stickyLimitMobile = this._cumulativeOffset(this._stickyTargetMobile).top\n }\n\n _getLimit() {\n let newLimit = this._isMobile ? this._stickyLimitMobile : this._stickyLimit\n if (this._config.stackable) {\n this._getStickySimblings().forEach((sticky, idx) => {\n const data = sticky.getBoundingClientRect()\n newLimit -= data.height + (idx === 0 ? parseFloat(sticky.style.top) : 0)\n })\n }\n return newLimit > 0 ? newLimit : 0\n }\n\n /**\n * get the absolute position of an element\n * @param {*} element - the target element\n * @returns {Object} - absolute position top and left of the element\n */\n _cumulativeOffset(element) {\n let top = 0\n let left = 0\n do {\n top += element.offsetTop || 0\n left += element.offsetLeft || 0\n element = element.offsetParent\n } while (element)\n\n return {\n top: top,\n left: left,\n }\n }\n\n _isTypeSticky() {\n return this._config.positionType === 'sticky'\n }\n\n _checkSticky() {\n if (!this._isSticky) {\n //the target position can change dinamically\n this._setLimit()\n }\n const limit = this._getLimit()\n if (typeof window !== 'undefined' && window.pageYOffset > limit) {\n this._setSticky()\n } else {\n this._unsetSticky()\n }\n }\n _setSticky() {\n if (!this._isSticky) {\n this._isSticky = true\n let cssClass = CLASS_NAME_STICKY\n if (!this._isTypeSticky()) {\n cssClass = CLASS_NAME_FIXED\n this._wrapper = this._createWrapper()\n }\n this._element.classList.add(cssClass)\n if (this._config.stickyClassName) {\n this._element.classList.add(this._config.stickyClassName)\n }\n this._prevTop = this._element.style.top\n this._element.style.top = this._getPositionTop() + 'px'\n EventHandler.trigger(this._element, EVENT_STICKY_ON)\n }\n }\n _unsetSticky() {\n if (this._isSticky) {\n let cssClass = CLASS_NAME_STICKY\n if (!this._isTypeSticky()) {\n cssClass = CLASS_NAME_FIXED\n this._destroyWrapper()\n }\n this._element.classList.remove(cssClass)\n if (this._config.stickyClassName) {\n this._element.classList.remove(this._config.stickyClassName)\n }\n this._element.style.top = this._prevTop\n this._isSticky = false\n EventHandler.trigger(this._element, EVENT_STICKY_OFF)\n }\n }\n\n _createWrapper() {\n if (typeof document === 'undefined') {\n return\n }\n const wrapper = document.createElement('div')\n wrapper.classList.add(CLASS_NAME_WRAPPER)\n wrapper.style.width = '100%' //this._element.getBoundingClientRect().width + 'px'\n wrapper.style.height = this._element.getBoundingClientRect().height + 'px'\n wrapper.style.overflow = 'hidden'\n // insert wrapper before el in the DOM tree\n this._element.parentNode.insertBefore(wrapper, this._element)\n // move el into wrapper\n wrapper.appendChild(this._element)\n return wrapper\n }\n _destroyWrapper() {\n if (this._wrapper) {\n this._wrapper.parentNode.insertBefore(this._element, this._wrapper)\n this._wrapper.remove()\n }\n }\n\n _getStickySimblings() {\n const stickies = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n return stickies.filter((sticky) => {\n const instance = Sticky.getInstance(sticky)\n if (instance && instance._isSticky && sticky !== this._element) {\n return true\n }\n return false\n })\n }\n\n /**\n * returns the top position of the element considering the config and the other sticky elements\n */\n _getPositionTop() {\n let newTop = 0\n if (this._config.stackable) {\n this._getStickySimblings().forEach((sticky, idx) => {\n const data = sticky.getBoundingClientRect()\n newTop += data.height + (idx === 0 ? parseFloat(sticky.style.top) : 0)\n })\n return newTop\n } else {\n return newTop + this._config.paddingTop\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nonDocumentScroll(() => {\n const stickies = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n stickies.map((sticky) => {\n Sticky.getOrCreateInstance(sticky)\n })\n})\n\nexport default Sticky\n"],"names":[],"mappings":"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"}
|
package/dist/plugins/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../src/js/plugins/tab.js"],"sourcesContent":["import { default as BSTab } from 'bootstrap/js/src/tab'\nimport { defineJQueryPlugin, getNextActiveElement, isDisabled } from 'bootstrap/js/src/util/index.js'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler.js'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine.js'\n\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ENTER_KEY = 'Enter'\nconst SPACE_BAR_KEY = ' '\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // todo:v6: could be only `tab`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\nclass Tab extends BSTab {\n constructor(element) {\n super(element)\n }\n\n _keydown(event) {\n if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, ENTER_KEY, SPACE_BAR_KEY].includes(event.key)) {\n return\n }\n\n event.stopPropagation() // stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n event.preventDefault()\n\n if (event.key === ENTER_KEY || event.key === SPACE_BAR_KEY) {\n Tab.getOrCreateInstance(event.target).show()\n return\n }\n\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n const nextActiveElement = getNextActiveElement(\n this._getChildren().filter((element) => !isDisabled(element)),\n event.target,\n isNext,\n true\n )\n if (nextActiveElement) {\n nextActiveElement.focus({ preventScroll: true })\n }\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const t = Tab.getOrCreateInstance(this)\n t.dispose()\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n const t = Tab.getOrCreateInstance(element)\n t.dispose()\n Tab.getOrCreateInstance(element)\n }\n})\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n"],"names":[],"mappings":";;;;;AAKA,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../src/js/plugins/tab.js"],"sourcesContent":["import { default as BSTab } from 'bootstrap/js/src/tab'\nimport { defineJQueryPlugin, getNextActiveElement, isDisabled } from 'bootstrap/js/src/util/index.js'\nimport EventHandler from 'bootstrap/js/src/dom/event-handler.js'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine.js'\n\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ENTER_KEY = 'Enter'\nconst SPACE_BAR_KEY = ' '\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // todo:v6: could be only `tab`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\nclass Tab extends BSTab {\n constructor(element) {\n super(element)\n }\n\n _keydown(event) {\n if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, ENTER_KEY, SPACE_BAR_KEY].includes(event.key)) {\n return\n }\n\n event.stopPropagation() // stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n event.preventDefault()\n\n if (event.key === ENTER_KEY || event.key === SPACE_BAR_KEY) {\n Tab.getOrCreateInstance(event.target).show()\n return\n }\n\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n const nextActiveElement = getNextActiveElement(\n this._getChildren().filter((element) => !isDisabled(element)),\n event.target,\n isNext,\n true\n )\n if (nextActiveElement) {\n nextActiveElement.focus({ preventScroll: true })\n }\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const t = Tab.getOrCreateInstance(this)\n t.dispose()\n Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n const t = Tab.getOrCreateInstance(element)\n t.dispose()\n Tab.getOrCreateInstance(element)\n }\n})\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tab)\n\nexport default Tab\n"],"names":[],"mappings":";;;;;AAKA,MAAM,QAAQ,GAAG;AACjB,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;;AAE/B,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;;AAE7C,MAAM,cAAc,GAAG;AACvB,MAAM,eAAe,GAAG;AACxB,MAAM,YAAY,GAAG;AACrB,MAAM,cAAc,GAAG;AACvB,MAAM,SAAS,GAAG;AAClB,MAAM,aAAa,GAAG;;AAEtB,MAAM,iBAAiB,GAAG;;AAE1B,MAAM,oBAAoB,GAAG,2EAA0E;;AAEvG,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,uBAAuB;;AAE5K,MAAM,GAAG,SAAS,KAAK,CAAC;AACxB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO;AACjB;;AAEA,EAAE,QAAQ,CAAC,KAAK,EAAE;AAClB,IAAI,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACxH,MAAM;AACN;;AAEA,IAAI,KAAK,CAAC,eAAe,GAAE;AAC3B,IAAI,KAAK,CAAC,cAAc;;AAExB,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,EAAE;AAChE,MAAM,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI;AAChD,MAAM;AACN;;AAEA,IAAI,MAAM,MAAM,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;AACvE,IAAI,MAAM,iBAAiB,GAAG,oBAAoB;AAClD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnE,MAAM,KAAK,CAAC,MAAM;AAClB,MAAM,MAAM;AACZ,MAAM;AACN;AACA,IAAI,IAAI,iBAAiB,EAAE;AAC3B,MAAM,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;AACrD;AACA;AACA;;AAEA,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,KAAK,EAAE;AACvF,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,IAAI,KAAK,CAAC,cAAc;AACxB;;AAEA,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;AACxB,IAAI;AACJ;;AAEA,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,IAAI;AACxC,EAAE,CAAC,CAAC,OAAO;AACX,EAAE,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI;AACpC,CAAC;;AAED;AACA;AACA;AACA,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM;AACnD,EAAE,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE;AAC1E,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,OAAO;AAC7C,IAAI,CAAC,CAAC,OAAO;AACb,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO;AACnC;AACA,CAAC;AACD;AACA;AACA;;AAEA,kBAAkB,CAAC,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-focus.js","sources":["../../src/js/plugins/track-focus.js"],"sourcesContent":["const DATA_MOUSE_FOCUS = 'data-focus-mouse'\nconst CLASS_NAME_MOUSE_FOCUS = 'focus--mouse'\n\nclass TrackFocus {\n constructor() {\n this._usingMouse = false\n\n this._bindEvents()\n }\n\n // Public\n\n // Private\n _bindEvents() {\n if (typeof document === 'undefined') {\n return\n }\n const events = ['keydown', 'mousedown']\n events.forEach((evtName) => {\n document.addEventListener(evtName, (evt) => {\n this._usingMouse = evt.type === 'mousedown'\n })\n })\n document.addEventListener('focusin', (evt) => {\n if (this._usingMouse) {\n if (evt.target) {\n evt.target.classList.add(CLASS_NAME_MOUSE_FOCUS)\n evt.target.setAttribute(DATA_MOUSE_FOCUS, true)\n }\n }\n })\n document.addEventListener('focusout', (evt) => {\n if (evt.target) {\n evt.target.classList.remove(CLASS_NAME_MOUSE_FOCUS)\n evt.target.setAttribute(DATA_MOUSE_FOCUS, false)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nnew TrackFocus()\n\nexport default TrackFocus\n"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"track-focus.js","sources":["../../src/js/plugins/track-focus.js"],"sourcesContent":["const DATA_MOUSE_FOCUS = 'data-focus-mouse'\nconst CLASS_NAME_MOUSE_FOCUS = 'focus--mouse'\n\nclass TrackFocus {\n constructor() {\n this._usingMouse = false\n\n this._bindEvents()\n }\n\n // Public\n\n // Private\n _bindEvents() {\n if (typeof document === 'undefined') {\n return\n }\n const events = ['keydown', 'mousedown']\n events.forEach((evtName) => {\n document.addEventListener(evtName, (evt) => {\n this._usingMouse = evt.type === 'mousedown'\n })\n })\n document.addEventListener('focusin', (evt) => {\n if (this._usingMouse) {\n if (evt.target) {\n evt.target.classList.add(CLASS_NAME_MOUSE_FOCUS)\n evt.target.setAttribute(DATA_MOUSE_FOCUS, true)\n }\n }\n })\n document.addEventListener('focusout', (evt) => {\n if (evt.target) {\n evt.target.classList.remove(CLASS_NAME_MOUSE_FOCUS)\n evt.target.setAttribute(DATA_MOUSE_FOCUS, false)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nnew TrackFocus()\n\nexport default TrackFocus\n"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;AACzB,MAAM,sBAAsB,GAAG;;AAE/B,MAAM,UAAU,CAAC;AACjB,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,WAAW,GAAG;;AAEvB,IAAI,IAAI,CAAC,WAAW;AACpB;;AAEA;;AAEA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACzC,MAAM;AACN;AACA,IAAI,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,WAAW;AAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAChC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AAClD,QAAQ,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,KAAK;AACxC,OAAO;AACP,KAAK;AACL,IAAI,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,GAAG,KAAK;AAClD,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;AAC5B,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE;AACxB,UAAU,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB;AACzD,UAAU,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI;AACxD;AACA;AACA,KAAK;AACL,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK;AACnD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE;AACtB,QAAQ,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,sBAAsB;AAC1D,QAAQ,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK;AACvD;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,UAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sources":["../../src/js/plugins/transfer.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\n/*import {\n //defineJQueryPlugin,\n //getElementFromSelector,\n //isVisible,\n //reflow,\n //typeCheckConfig,\n getSelectorFromElement, //in base al bs-target\n} from 'bootstrap/js/src/util'*/\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n//import Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nconst NAME = 'transfer'\nconst DATA_KEY = 'bs.transfer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n//const EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SOURCE = 'source'\nconst CLASS_NAME_SEMICHECKED = 'semi-checked'\n\nconst SELECTOR_BLOCK = '[data-bs-transfer]' //'.it-transfer-block'\nconst SELECTOR_BTN_TRANS = 'a.transfer'\nconst SELECTOR_BTN_TRANS_BACK = 'a.backtransfer'\nconst SELECTOR_BTN_RESET = 'a.reset'\nconst SELECTOR_HEAD = '.transfer-header'\nconst SELECTOR_HEAD_INPUT = '.transfer-header input'\nconst SELECTOR_HEAD_LABEL = '.transfer-header span.num'\nconst SELECTOR_LIST_INPUT = '.transfer-group input'\nconst SELECTOR_TRANS_WRAPPER = '.it-transfer-wrapper'\nconst SELECTOR_TRANS_GROUP = '.transfer-group'\nconst SELECTOR_SOURCE = `${SELECTOR_TRANS_WRAPPER}.source`\nconst SELECTOR_TARGET = `${SELECTOR_TRANS_WRAPPER}.target`\nconst SELECTOR_FORM_CHECK = '.form-check'\n\nclass Transfer extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._addBtnElement = SelectorEngine.findOne(SELECTOR_BTN_TRANS, this._element)\n this._invBtnElement = SelectorEngine.findOne(SELECTOR_BTN_TRANS_BACK, this._element)\n this._resetBtnElement = SelectorEngine.findOne(SELECTOR_BTN_RESET, this._element)\n this._listDefault = {\n source: SelectorEngine.find(SELECTOR_SOURCE + ' ' + SELECTOR_TRANS_GROUP + ' ' + SELECTOR_FORM_CHECK, this._element),\n target: SelectorEngine.find(SELECTOR_TARGET + ' ' + SELECTOR_TRANS_GROUP + ' ' + SELECTOR_FORM_CHECK, this._element),\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n // Private\n\n _bindEvents() {\n SelectorEngine.find(SELECTOR_HEAD_INPUT, this._element).forEach((input) => {\n EventHandler.on(input, EVENT_CLICK, () => {\n this._checkListHeader(input.closest(SELECTOR_TRANS_WRAPPER))\n })\n })\n SelectorEngine.find(SELECTOR_LIST_INPUT, this._element).forEach((input) => {\n EventHandler.on(input, EVENT_CLICK, () => {\n this._checkList(input.closest(SELECTOR_TRANS_WRAPPER))\n })\n })\n\n EventHandler.on(this._addBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n // disattivo il pulsante corrente\n this._disableElement(this._addBtnElement)\n this._addItems()\n })\n EventHandler.on(this._invBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n // disattivo il pulsante corrente\n this._disableElement(this._invBtnElement)\n this._addItems(true)\n })\n\n EventHandler.on(this._resetBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n\n this._disableElement(this._addBtnElement)\n this._disableElement(this._invBtnElement)\n this._disableElement(this._resetBtnElement)\n\n this._resetAll()\n })\n }\n\n _disableElement(element) {\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.setAttribute('disabled', 'disabled')\n element.setAttribute('aria-disabled', 'true')\n }\n\n _enableElement(element) {\n element.classList.add(CLASS_NAME_ACTIVE)\n element.removeAttribute('disabled')\n element.removeAttribute('aria-disabled')\n }\n\n _getScopeData(scope) {\n return {\n scope,\n list: SelectorEngine.find(SELECTOR_LIST_INPUT, scope),\n listChecked: SelectorEngine.find(SELECTOR_LIST_INPUT + ':checked', scope),\n head: SelectorEngine.findOne(SELECTOR_HEAD, scope),\n inputHead: SelectorEngine.findOne(SELECTOR_HEAD_INPUT, scope),\n labelNumHead: SelectorEngine.findOne(SELECTOR_HEAD_LABEL, scope),\n group: SelectorEngine.findOne(SELECTOR_TRANS_GROUP, scope),\n }\n }\n\n _checkList(scopeElControl) {\n const scopeData = this._getScopeData(scopeElControl)\n\n if (scopeData.listChecked.length == 0) {\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = true\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._disableElement(this._addBtnElement)\n } else {\n this._disableElement(this._invBtnElement)\n }\n } else {\n if (scopeData.listChecked.length == scopeData.list.length) {\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = true\n } else {\n scopeData.inputHead.classList.add(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = false\n }\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._enableElement(this._addBtnElement)\n } else {\n this._enableElement(this._invBtnElement)\n }\n }\n }\n\n _checkListHeader(scopeElControl) {\n const scopeData = this._getScopeData(scopeElControl)\n\n if (scopeData.listChecked.length > 0) {\n scopeData.list.forEach((item) => {\n item.checked = false\n })\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = false\n\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._disableElement(this._addBtnElement)\n } else {\n this._disableElement(this._invBtnElement)\n }\n } else {\n scopeData.list.forEach((item) => {\n item.checked = true\n })\n // controllo quale pulsante centrale attivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._enableElement(this._addBtnElement)\n } else {\n this._enableElement(this._invBtnElement)\n }\n }\n }\n\n _addItems(inverse) {\n const sourceData = this._getScopeData(SelectorEngine.findOne(inverse ? SELECTOR_TARGET : SELECTOR_SOURCE, this._element))\n const targetData = this._getScopeData(SelectorEngine.findOne(inverse ? SELECTOR_SOURCE : SELECTOR_TARGET, this._element))\n\n const sourceItems = sourceData.listChecked //sourceControl.find('.transfer-group input:checked')\n //const sourceItemsBlock = SelectorEngine.findOne('.form-check', sourceData.head) //sourceData.head('.form-check')\n const sourceHeadInput = sourceData.inputHead //sourceControl.find('.transfer-header input')\n const sourceHeadLabel = sourceData.labelNumHead //sourceControl.find('.transfer-header span.num')\n const sourceItemsQty = sourceItems.length\n const sourceTotalQty = sourceData.list.length\n\n const targetDiv = targetData.group\n const targetQty = targetData.list.length + sourceItemsQty\n const targetHeadLabel = targetData.labelNumHead\n const targetHeadInput = targetData.inputHead\n\n // ciclo di aggiunta\n sourceItems.forEach((item) => {\n const wrapper = item.closest(SELECTOR_FORM_CHECK)\n wrapper.remove()\n targetDiv.appendChild(wrapper)\n item.checked = false\n })\n\n // update label\n const totalSource = sourceTotalQty - sourceItemsQty\n const totalTarget = targetQty\n\n sourceHeadLabel.innerText = totalSource\n targetHeadLabel.innerText = totalTarget\n\n // disattivazione header input se non ci sono più elementi\n if (totalSource == 0) {\n sourceHeadInput.setAttribute('disabled', true)\n }\n if (totalTarget > 0) {\n targetHeadInput.removeAttribute('disabled')\n }\n\n // ripristino stato iniziale input header\n sourceHeadInput.classList.remove(CLASS_NAME_SEMICHECKED)\n sourceHeadInput.checked = false\n\n // attivo il pulsante di reset\n this._enableElement(this._resetBtnElement)\n }\n\n _resetAll() {\n const blocks = {\n source: this._getScopeData(SelectorEngine.findOne(SELECTOR_SOURCE, this._element)),\n target: this._getScopeData(SelectorEngine.findOne(SELECTOR_TARGET, this._element)),\n }\n\n Object.keys(blocks).forEach((key) => {\n blocks[key].list.forEach((item) => item.closest(SELECTOR_FORM_CHECK).remove())\n })\n\n Object.keys(blocks).forEach((key) => {\n this._listDefault[key].forEach((item) => {\n item.checked = false\n blocks[key].group.appendChild(item)\n })\n blocks[key].labelNumHead.innerText = this._listDefault[key].length\n\n blocks[key].inputHead.removeAttribute('disabled')\n blocks[key].inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n blocks[key].inputHead.checked = false\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_BLOCK).forEach((block) => {\n Transfer.getOrCreateInstance(block)\n})*/\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_BLOCK + ' .form-check label', function () {\n Transfer.getOrCreateInstance(this.closest(SELECTOR_BLOCK))\n})\nEventHandler.on(document, EVENT_KEYUP_DATA_API, SELECTOR_BLOCK + ' .form-check label', function () {\n Transfer.getOrCreateInstance(this.closest(SELECTOR_BLOCK))\n})\n\nexport default Transfer\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transfer.js","sources":["../../src/js/plugins/transfer.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\n/*import {\n //defineJQueryPlugin,\n //getElementFromSelector,\n //isVisible,\n //reflow,\n //typeCheckConfig,\n getSelectorFromElement, //in base al bs-target\n} from 'bootstrap/js/src/util'*/\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n//import Manipulator from 'bootstrap/js/src/dom/manipulator'\n\nconst NAME = 'transfer'\nconst DATA_KEY = 'bs.transfer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n//const EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SOURCE = 'source'\nconst CLASS_NAME_SEMICHECKED = 'semi-checked'\n\nconst SELECTOR_BLOCK = '[data-bs-transfer]' //'.it-transfer-block'\nconst SELECTOR_BTN_TRANS = 'a.transfer'\nconst SELECTOR_BTN_TRANS_BACK = 'a.backtransfer'\nconst SELECTOR_BTN_RESET = 'a.reset'\nconst SELECTOR_HEAD = '.transfer-header'\nconst SELECTOR_HEAD_INPUT = '.transfer-header input'\nconst SELECTOR_HEAD_LABEL = '.transfer-header span.num'\nconst SELECTOR_LIST_INPUT = '.transfer-group input'\nconst SELECTOR_TRANS_WRAPPER = '.it-transfer-wrapper'\nconst SELECTOR_TRANS_GROUP = '.transfer-group'\nconst SELECTOR_SOURCE = `${SELECTOR_TRANS_WRAPPER}.source`\nconst SELECTOR_TARGET = `${SELECTOR_TRANS_WRAPPER}.target`\nconst SELECTOR_FORM_CHECK = '.form-check'\n\nclass Transfer extends BaseComponent {\n constructor(element) {\n super(element)\n\n this._addBtnElement = SelectorEngine.findOne(SELECTOR_BTN_TRANS, this._element)\n this._invBtnElement = SelectorEngine.findOne(SELECTOR_BTN_TRANS_BACK, this._element)\n this._resetBtnElement = SelectorEngine.findOne(SELECTOR_BTN_RESET, this._element)\n this._listDefault = {\n source: SelectorEngine.find(SELECTOR_SOURCE + ' ' + SELECTOR_TRANS_GROUP + ' ' + SELECTOR_FORM_CHECK, this._element),\n target: SelectorEngine.find(SELECTOR_TARGET + ' ' + SELECTOR_TRANS_GROUP + ' ' + SELECTOR_FORM_CHECK, this._element),\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n // Private\n\n _bindEvents() {\n SelectorEngine.find(SELECTOR_HEAD_INPUT, this._element).forEach((input) => {\n EventHandler.on(input, EVENT_CLICK, () => {\n this._checkListHeader(input.closest(SELECTOR_TRANS_WRAPPER))\n })\n })\n SelectorEngine.find(SELECTOR_LIST_INPUT, this._element).forEach((input) => {\n EventHandler.on(input, EVENT_CLICK, () => {\n this._checkList(input.closest(SELECTOR_TRANS_WRAPPER))\n })\n })\n\n EventHandler.on(this._addBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n // disattivo il pulsante corrente\n this._disableElement(this._addBtnElement)\n this._addItems()\n })\n EventHandler.on(this._invBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n // disattivo il pulsante corrente\n this._disableElement(this._invBtnElement)\n this._addItems(true)\n })\n\n EventHandler.on(this._resetBtnElement, EVENT_CLICK, (evt) => {\n evt.preventDefault()\n\n this._disableElement(this._addBtnElement)\n this._disableElement(this._invBtnElement)\n this._disableElement(this._resetBtnElement)\n\n this._resetAll()\n })\n }\n\n _disableElement(element) {\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.setAttribute('disabled', 'disabled')\n element.setAttribute('aria-disabled', 'true')\n }\n\n _enableElement(element) {\n element.classList.add(CLASS_NAME_ACTIVE)\n element.removeAttribute('disabled')\n element.removeAttribute('aria-disabled')\n }\n\n _getScopeData(scope) {\n return {\n scope,\n list: SelectorEngine.find(SELECTOR_LIST_INPUT, scope),\n listChecked: SelectorEngine.find(SELECTOR_LIST_INPUT + ':checked', scope),\n head: SelectorEngine.findOne(SELECTOR_HEAD, scope),\n inputHead: SelectorEngine.findOne(SELECTOR_HEAD_INPUT, scope),\n labelNumHead: SelectorEngine.findOne(SELECTOR_HEAD_LABEL, scope),\n group: SelectorEngine.findOne(SELECTOR_TRANS_GROUP, scope),\n }\n }\n\n _checkList(scopeElControl) {\n const scopeData = this._getScopeData(scopeElControl)\n\n if (scopeData.listChecked.length == 0) {\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = true\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._disableElement(this._addBtnElement)\n } else {\n this._disableElement(this._invBtnElement)\n }\n } else {\n if (scopeData.listChecked.length == scopeData.list.length) {\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = true\n } else {\n scopeData.inputHead.classList.add(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = false\n }\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._enableElement(this._addBtnElement)\n } else {\n this._enableElement(this._invBtnElement)\n }\n }\n }\n\n _checkListHeader(scopeElControl) {\n const scopeData = this._getScopeData(scopeElControl)\n\n if (scopeData.listChecked.length > 0) {\n scopeData.list.forEach((item) => {\n item.checked = false\n })\n scopeData.inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n scopeData.inputHead.checked = false\n\n // controllo quale pulsante centrale disattivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._disableElement(this._addBtnElement)\n } else {\n this._disableElement(this._invBtnElement)\n }\n } else {\n scopeData.list.forEach((item) => {\n item.checked = true\n })\n // controllo quale pulsante centrale attivare\n if (scopeElControl.classList.contains(CLASS_NAME_SOURCE)) {\n this._enableElement(this._addBtnElement)\n } else {\n this._enableElement(this._invBtnElement)\n }\n }\n }\n\n _addItems(inverse) {\n const sourceData = this._getScopeData(SelectorEngine.findOne(inverse ? SELECTOR_TARGET : SELECTOR_SOURCE, this._element))\n const targetData = this._getScopeData(SelectorEngine.findOne(inverse ? SELECTOR_SOURCE : SELECTOR_TARGET, this._element))\n\n const sourceItems = sourceData.listChecked //sourceControl.find('.transfer-group input:checked')\n //const sourceItemsBlock = SelectorEngine.findOne('.form-check', sourceData.head) //sourceData.head('.form-check')\n const sourceHeadInput = sourceData.inputHead //sourceControl.find('.transfer-header input')\n const sourceHeadLabel = sourceData.labelNumHead //sourceControl.find('.transfer-header span.num')\n const sourceItemsQty = sourceItems.length\n const sourceTotalQty = sourceData.list.length\n\n const targetDiv = targetData.group\n const targetQty = targetData.list.length + sourceItemsQty\n const targetHeadLabel = targetData.labelNumHead\n const targetHeadInput = targetData.inputHead\n\n // ciclo di aggiunta\n sourceItems.forEach((item) => {\n const wrapper = item.closest(SELECTOR_FORM_CHECK)\n wrapper.remove()\n targetDiv.appendChild(wrapper)\n item.checked = false\n })\n\n // update label\n const totalSource = sourceTotalQty - sourceItemsQty\n const totalTarget = targetQty\n\n sourceHeadLabel.innerText = totalSource\n targetHeadLabel.innerText = totalTarget\n\n // disattivazione header input se non ci sono più elementi\n if (totalSource == 0) {\n sourceHeadInput.setAttribute('disabled', true)\n }\n if (totalTarget > 0) {\n targetHeadInput.removeAttribute('disabled')\n }\n\n // ripristino stato iniziale input header\n sourceHeadInput.classList.remove(CLASS_NAME_SEMICHECKED)\n sourceHeadInput.checked = false\n\n // attivo il pulsante di reset\n this._enableElement(this._resetBtnElement)\n }\n\n _resetAll() {\n const blocks = {\n source: this._getScopeData(SelectorEngine.findOne(SELECTOR_SOURCE, this._element)),\n target: this._getScopeData(SelectorEngine.findOne(SELECTOR_TARGET, this._element)),\n }\n\n Object.keys(blocks).forEach((key) => {\n blocks[key].list.forEach((item) => item.closest(SELECTOR_FORM_CHECK).remove())\n })\n\n Object.keys(blocks).forEach((key) => {\n this._listDefault[key].forEach((item) => {\n item.checked = false\n blocks[key].group.appendChild(item)\n })\n blocks[key].labelNumHead.innerText = this._listDefault[key].length\n\n blocks[key].inputHead.removeAttribute('disabled')\n blocks[key].inputHead.classList.remove(CLASS_NAME_SEMICHECKED)\n blocks[key].inputHead.checked = false\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_BLOCK).forEach((block) => {\n Transfer.getOrCreateInstance(block)\n})*/\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_BLOCK + ' .form-check label', function () {\n Transfer.getOrCreateInstance(this.closest(SELECTOR_BLOCK))\n})\nEventHandler.on(document, EVENT_KEYUP_DATA_API, SELECTOR_BLOCK + ' .form-check label', function () {\n Transfer.getOrCreateInstance(this.closest(SELECTOR_BLOCK))\n})\n\nexport default Transfer\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-dragdrop.js","sources":["../../src/js/plugins/upload-dragdrop.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n\nimport ProgressDonut from './progress-donut'\n\nconst NAME = 'upload'\nconst DATA_KEY = 'bs.upload'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_DRAG = `drag`\nconst EVENT_DRAG_START = `dragstart`\nconst EVENT_DRAG_END = `dragend`\nconst EVENT_DRAG_OVER = `dragover`\nconst EVENT_DRAG_ENTER = `dragenter`\nconst EVENT_DRAG_LEAVE = `dragleave`\nconst EVENT_DROP = `drop`\n\nconst CLASS_NAME_SUCCESS = 'success'\nconst CLASS_NAME_DRAGOVER = 'dragover'\nconst CLASS_NAME_LOADING = 'loading'\n\nconst SELECTOR_FORM = '[data-bs-upload-dragdrop]'\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nclass UploadDragDrop extends BaseComponent {\n constructor(element) {\n super(element)\n\n const donutElement = SelectorEngine.findOne(SELECTOR_DONUT, this._element)\n if (donutElement) {\n this._donut = ProgressDonut.getOrCreateInstance(donutElement)\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n progress(value) {\n this._donut.set(value)\n }\n\n start() {\n this.reset()\n this._element.classList.add(CLASS_NAME_LOADING)\n }\n\n success() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.add(CLASS_NAME_SUCCESS)\n }\n\n reset() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.remove(CLASS_NAME_SUCCESS)\n this._donut.set(0)\n }\n\n dispose() {\n this._donut.dispose()\n\n super.dispose()\n }\n\n // Private\n _bindEvents() {\n EventHandler.on(this._element, EVENT_DRAG, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_START, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_END, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_OVER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_ENTER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DROP, (evt) => this._preventEvent(evt))\n\n EventHandler.on(this._element, EVENT_DRAG_OVER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_ENTER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DRAG_END, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DROP, () => this._dropOut())\n\n EventHandler.on(this._element, EVENT_DROP, () => this._drop())\n }\n _preventEvent(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n }\n\n _dropIn() {\n if (!this._isSuccess()) {\n this._element.classList.add(CLASS_NAME_DRAGOVER)\n }\n }\n _dropOut() {\n if (!this._isSuccess()) {\n this._element.classList.remove(CLASS_NAME_DRAGOVER)\n }\n }\n _drop() {\n if (!this._isSuccess()) {\n this.start()\n }\n }\n\n _isSuccess() {\n return this._element.classList.contains(CLASS_NAME_SUCCESS)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_FORM).forEach((form) => {\n UploadDragDrop.getOrCreateInstance(form)\n})*/\n\nconst createInput = (element) => {\n let found = element.matches && element.matches(SELECTOR_FORM) ? element : element.closest ? element.closest(SELECTOR_FORM) : null\n if (found) {\n UploadDragDrop.getOrCreateInstance(found)\n }\n return null\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('dragenter', function (evt) {\n createInput(evt.target)\n })\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM + ' label', function () {\n createInput(this)\n })\n}\n\nexport default UploadDragDrop\n"],"names":[],"mappings":";;;;;AAOA,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"upload-dragdrop.js","sources":["../../src/js/plugins/upload-dragdrop.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n\nimport ProgressDonut from './progress-donut'\n\nconst NAME = 'upload'\nconst DATA_KEY = 'bs.upload'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_DRAG = `drag`\nconst EVENT_DRAG_START = `dragstart`\nconst EVENT_DRAG_END = `dragend`\nconst EVENT_DRAG_OVER = `dragover`\nconst EVENT_DRAG_ENTER = `dragenter`\nconst EVENT_DRAG_LEAVE = `dragleave`\nconst EVENT_DROP = `drop`\n\nconst CLASS_NAME_SUCCESS = 'success'\nconst CLASS_NAME_DRAGOVER = 'dragover'\nconst CLASS_NAME_LOADING = 'loading'\n\nconst SELECTOR_FORM = '[data-bs-upload-dragdrop]'\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nclass UploadDragDrop extends BaseComponent {\n constructor(element) {\n super(element)\n\n const donutElement = SelectorEngine.findOne(SELECTOR_DONUT, this._element)\n if (donutElement) {\n this._donut = ProgressDonut.getOrCreateInstance(donutElement)\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n progress(value) {\n this._donut.set(value)\n }\n\n start() {\n this.reset()\n this._element.classList.add(CLASS_NAME_LOADING)\n }\n\n success() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.add(CLASS_NAME_SUCCESS)\n }\n\n reset() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.remove(CLASS_NAME_SUCCESS)\n this._donut.set(0)\n }\n\n dispose() {\n this._donut.dispose()\n\n super.dispose()\n }\n\n // Private\n _bindEvents() {\n EventHandler.on(this._element, EVENT_DRAG, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_START, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_END, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_OVER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_ENTER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DROP, (evt) => this._preventEvent(evt))\n\n EventHandler.on(this._element, EVENT_DRAG_OVER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_ENTER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DRAG_END, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DROP, () => this._dropOut())\n\n EventHandler.on(this._element, EVENT_DROP, () => this._drop())\n }\n _preventEvent(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n }\n\n _dropIn() {\n if (!this._isSuccess()) {\n this._element.classList.add(CLASS_NAME_DRAGOVER)\n }\n }\n _dropOut() {\n if (!this._isSuccess()) {\n this._element.classList.remove(CLASS_NAME_DRAGOVER)\n }\n }\n _drop() {\n if (!this._isSuccess()) {\n this.start()\n }\n }\n\n _isSuccess() {\n return this._element.classList.contains(CLASS_NAME_SUCCESS)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_FORM).forEach((form) => {\n UploadDragDrop.getOrCreateInstance(form)\n})*/\n\nconst createInput = (element) => {\n let found = element.matches && element.matches(SELECTOR_FORM) ? element : element.closest ? element.closest(SELECTOR_FORM) : null\n if (found) {\n UploadDragDrop.getOrCreateInstance(found)\n }\n return null\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('dragenter', function (evt) {\n createInput(evt.target)\n })\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM + ' label', function () {\n createInput(this)\n })\n}\n\nexport default UploadDragDrop\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sources":["../../../src/js/plugins/util/cookies.js"],"sourcesContent":["const preferencesMap = { ck3: {} }\n\n/*\n Possible choices:\n false => Accept once\n true => Accept always\n*/\nconst rememberChoice = (service, remember) => {\n preferencesMap.ck3[service] = remember\n localStorage.setItem('bs-ck3', JSON.stringify(preferencesMap.ck3))\n}\n\nconst isChoiceRemembered = (service) => {\n preferencesMap.ck3 = JSON.parse(localStorage.getItem('bs-ck3') || '{}')\n return preferencesMap.ck3[service] || false\n}\n\nconst clearAllRememberedChoices = () => {\n localStorage.removeItem('bs-ck3')\n}\n\nconst cookies = {\n rememberChoice,\n isChoiceRemembered,\n clearAllRememberedChoices,\n}\n\nexport { cookies }\n"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"cookies.js","sources":["../../../src/js/plugins/util/cookies.js"],"sourcesContent":["const preferencesMap = { ck3: {} }\n\n/*\n Possible choices:\n false => Accept once\n true => Accept always\n*/\nconst rememberChoice = (service, remember) => {\n preferencesMap.ck3[service] = remember\n localStorage.setItem('bs-ck3', JSON.stringify(preferencesMap.ck3))\n}\n\nconst isChoiceRemembered = (service) => {\n preferencesMap.ck3 = JSON.parse(localStorage.getItem('bs-ck3') || '{}')\n return preferencesMap.ck3[service] || false\n}\n\nconst clearAllRememberedChoices = () => {\n localStorage.removeItem('bs-ck3')\n}\n\nconst cookies = {\n rememberChoice,\n isChoiceRemembered,\n clearAllRememberedChoices,\n}\n\nexport { cookies }\n"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAC9C,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG;AAChC,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC;AACnE;;AAEA,MAAM,kBAAkB,GAAG,CAAC,OAAO,KAAK;AACxC,EAAE,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI;AACxE,EAAE,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AACxC;;AAEA,MAAM,yBAAyB,GAAG,MAAM;AACxC,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ;AAClC;;AAEK,MAAC,OAAO,GAAG;AAChB,EAAE,cAAc;AAChB,EAAE,kBAAkB;AACpB,EAAE,yBAAyB;AAC3B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sources":["../../../src/js/plugins/util/device.js"],"sourcesContent":["const MEDIA_MOBILE = '(max-width: 991px)'\n/*const MEDIA_TABLET = ''\nconst MEDIA_PHONE = ''\nconst MEDIA_DESKTOP = ''*/\n\nconst isScreenMobile = () => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(MEDIA_MOBILE).matches\n }\n}\n\nexport { isScreenMobile }\n"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"device.js","sources":["../../../src/js/plugins/util/device.js"],"sourcesContent":["const MEDIA_MOBILE = '(max-width: 991px)'\n/*const MEDIA_TABLET = ''\nconst MEDIA_PHONE = ''\nconst MEDIA_DESKTOP = ''*/\n\nconst isScreenMobile = () => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(MEDIA_MOBILE).matches\n }\n}\n\nexport { isScreenMobile }\n"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG;AACrB;AACA;AACA;;AAEK,MAAC,cAAc,GAAG,MAAM;AAC7B,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACrC,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC3C;AACA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sources":["../../../src/js/plugins/util/dom.js"],"sourcesContent":["/**\n * get the element index in a array of elements\n * @param {Object} target - the target element to find\n * @param {array} list - the elements list\n * @returns {int} the element index\n */\nexport const getElementIndex = (target, list) => {\n let foundIdx = null\n list.forEach((element, idx) => {\n if (element === target) {\n foundIdx = idx\n }\n })\n return foundIdx\n}\n\n/**\n * set focus on a simbling\n * @param {*} currentElement - the current focused element\n * @param {*} simblings - list of simblings\n * @param {Object} config - isDirectionTop, isLimit, loop\n */\nexport const focusSimbling = (currentElement, simblings, config) => {\n config = {\n isDirectionTop: false,\n isLimit: false,\n loop: false,\n ...(typeof config === 'object' ? config : {}),\n }\n const currIdx = getElementIndex(currentElement, simblings)\n\n let found = null\n if (config.isLimit && config.isDirectionTop && currIdx > 0) {\n //get first element\n found = simblings[0]\n } else if (config.isLimit && currIdx < simblings.length - 1) {\n //get last element\n found = simblings[simblings.length - 1]\n } else if (config.isDirectionTop) {\n //get prev element\n if (!config.loop && currIdx === 0) {\n return\n }\n found = simblings[currIdx === 0 ? simblings.length - 1 : currIdx - 1]\n } else {\n //get next element\n if (!config.loop && currIdx === simblings.length - 1) {\n return\n }\n found = simblings[currIdx === simblings.length - 1 ? 0 : currIdx + 1]\n }\n\n if (found) {\n found.focus()\n }\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK;AACjD,EAAE,IAAI,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"dom.js","sources":["../../../src/js/plugins/util/dom.js"],"sourcesContent":["/**\n * get the element index in a array of elements\n * @param {Object} target - the target element to find\n * @param {array} list - the elements list\n * @returns {int} the element index\n */\nexport const getElementIndex = (target, list) => {\n let foundIdx = null\n list.forEach((element, idx) => {\n if (element === target) {\n foundIdx = idx\n }\n })\n return foundIdx\n}\n\n/**\n * set focus on a simbling\n * @param {*} currentElement - the current focused element\n * @param {*} simblings - list of simblings\n * @param {Object} config - isDirectionTop, isLimit, loop\n */\nexport const focusSimbling = (currentElement, simblings, config) => {\n config = {\n isDirectionTop: false,\n isLimit: false,\n loop: false,\n ...(typeof config === 'object' ? config : {}),\n }\n const currIdx = getElementIndex(currentElement, simblings)\n\n let found = null\n if (config.isLimit && config.isDirectionTop && currIdx > 0) {\n //get first element\n found = simblings[0]\n } else if (config.isLimit && currIdx < simblings.length - 1) {\n //get last element\n found = simblings[simblings.length - 1]\n } else if (config.isDirectionTop) {\n //get prev element\n if (!config.loop && currIdx === 0) {\n return\n }\n found = simblings[currIdx === 0 ? simblings.length - 1 : currIdx - 1]\n } else {\n //get next element\n if (!config.loop && currIdx === simblings.length - 1) {\n return\n }\n found = simblings[currIdx === simblings.length - 1 ? 0 : currIdx + 1]\n }\n\n if (found) {\n found.focus()\n }\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK;AACjD,EAAE,IAAI,QAAQ,GAAG;AACjB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK;AACjC,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE;AAC5B,MAAM,QAAQ,GAAG;AACjB;AACA,GAAG;AACH,EAAE,OAAO;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,aAAa,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK;AACpE,EAAE,MAAM,GAAG;AACX,IAAI,cAAc,EAAE,KAAK;AACzB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AACjD;AACA,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,EAAE,SAAS;;AAE3D,EAAE,IAAI,KAAK,GAAG;AACd,EAAE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,EAAE;AAC9D;AACA,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC;AACvB,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/D;AACA,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AAC1C,GAAG,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE;AACpC;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE;AACvC,MAAM;AACN;AACA,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC;AACxE,GAAG,MAAM;AACT;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1D,MAAM;AACN;AACA,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC;AACxE;;AAEA,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,CAAC,KAAK;AACf;AACA;;;;"}
|
|
@@ -98,8 +98,8 @@ class ContentObserver {
|
|
|
98
98
|
actionRemove && typeof this.contentRemovedCallback === 'function'
|
|
99
99
|
? this.contentRemovedCallback
|
|
100
100
|
: typeof this.contentAddedCallback === 'function'
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
? this.contentAddedCallback
|
|
102
|
+
: null;
|
|
103
103
|
if (foundNodes && callback) {
|
|
104
104
|
foundNodes.forEach((node) => callback(node));
|
|
105
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer.js","sources":["../../../src/js/plugins/util/observer.js"],"sourcesContent":["/**\n * Mutation CSS Class Observer Object\n */\n//https://stackoverflow.com/a/53914092\n\nclass CssClassObserver {\n constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback, ignoreToggle) {\n this.targetNode = targetNode\n this.classToWatch = classToWatch\n this.classAddedCallback = classAddedCallback\n this.classRemovedCallback = classRemovedCallback\n this.observer = null\n this.lastClassState = targetNode.classList.contains(this.classToWatch)\n this.ignoreToggle = !!ignoreToggle\n\n this.init()\n }\n\n init() {\n this.observer = new MutationObserver((mutationsList) => this.mutationCallback(mutationsList))\n this.observe()\n }\n\n observe() {\n this.observer.observe(this.targetNode, { attributes: true })\n }\n\n disconnect() {\n this.observer.disconnect()\n }\n\n mutationCallback(mutationsList) {\n for (let mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n let currentClassState = mutation.target.classList.contains(this.classToWatch)\n if (this.ignoreToggle || this.lastClassState !== currentClassState) {\n this.lastClassState = currentClassState\n if (currentClassState) {\n if (typeof this.classAddedCallback === 'function') {\n this.classAddedCallback()\n }\n } else if (typeof this.classRemovedCallback === 'function') {\n this.classRemovedCallback()\n }\n }\n }\n }\n }\n}\n\n/**\n * Mutation Content Class Observer Object\n */\n\nclass ContentObserver {\n constructor(targetNode, contentSelector, contentAddedCallback, contentRemovedCallback) {\n this.targetNode = targetNode\n this.contentSelector = contentSelector\n this.contentAddedCallback = contentAddedCallback\n this.contentRemovedCallback = contentRemovedCallback\n this.observer = null\n\n this.init()\n }\n\n //public\n\n init() {\n this.observer = new MutationObserver((mutationsList) => this.mutationCallback(mutationsList))\n this.observe()\n }\n\n observe() {\n this.observer.observe(this.targetNode, { childList: true, subtree: true })\n }\n\n disconnect() {\n this.observer.disconnect()\n }\n\n mutationCallback(mutationsList) {\n for (let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n mutation.addedNodes.forEach((node) => {\n this._callbackExec(node)\n })\n mutation.removedNodes.forEach((node) => {\n this._callbackExec(node, true)\n })\n }\n }\n }\n\n //private\n _callbackExec(node, actionRemove) {\n const foundNodes = node.matches && node.matches(this.contentSelector) ? [node] : node.querySelectorAll ? node.querySelectorAll(this.contentSelector) : null\n const callback =\n actionRemove && typeof this.contentRemovedCallback === 'function'\n ? this.contentRemovedCallback\n : typeof this.contentAddedCallback === 'function'\n
|
|
1
|
+
{"version":3,"file":"observer.js","sources":["../../../src/js/plugins/util/observer.js"],"sourcesContent":["/**\n * Mutation CSS Class Observer Object\n */\n//https://stackoverflow.com/a/53914092\n\nclass CssClassObserver {\n constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback, ignoreToggle) {\n this.targetNode = targetNode\n this.classToWatch = classToWatch\n this.classAddedCallback = classAddedCallback\n this.classRemovedCallback = classRemovedCallback\n this.observer = null\n this.lastClassState = targetNode.classList.contains(this.classToWatch)\n this.ignoreToggle = !!ignoreToggle\n\n this.init()\n }\n\n init() {\n this.observer = new MutationObserver((mutationsList) => this.mutationCallback(mutationsList))\n this.observe()\n }\n\n observe() {\n this.observer.observe(this.targetNode, { attributes: true })\n }\n\n disconnect() {\n this.observer.disconnect()\n }\n\n mutationCallback(mutationsList) {\n for (let mutation of mutationsList) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n let currentClassState = mutation.target.classList.contains(this.classToWatch)\n if (this.ignoreToggle || this.lastClassState !== currentClassState) {\n this.lastClassState = currentClassState\n if (currentClassState) {\n if (typeof this.classAddedCallback === 'function') {\n this.classAddedCallback()\n }\n } else if (typeof this.classRemovedCallback === 'function') {\n this.classRemovedCallback()\n }\n }\n }\n }\n }\n}\n\n/**\n * Mutation Content Class Observer Object\n */\n\nclass ContentObserver {\n constructor(targetNode, contentSelector, contentAddedCallback, contentRemovedCallback) {\n this.targetNode = targetNode\n this.contentSelector = contentSelector\n this.contentAddedCallback = contentAddedCallback\n this.contentRemovedCallback = contentRemovedCallback\n this.observer = null\n\n this.init()\n }\n\n //public\n\n init() {\n this.observer = new MutationObserver((mutationsList) => this.mutationCallback(mutationsList))\n this.observe()\n }\n\n observe() {\n this.observer.observe(this.targetNode, { childList: true, subtree: true })\n }\n\n disconnect() {\n this.observer.disconnect()\n }\n\n mutationCallback(mutationsList) {\n for (let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n mutation.addedNodes.forEach((node) => {\n this._callbackExec(node)\n })\n mutation.removedNodes.forEach((node) => {\n this._callbackExec(node, true)\n })\n }\n }\n }\n\n //private\n _callbackExec(node, actionRemove) {\n const foundNodes = node.matches && node.matches(this.contentSelector) ? [node] : node.querySelectorAll ? node.querySelectorAll(this.contentSelector) : null\n const callback =\n actionRemove && typeof this.contentRemovedCallback === 'function'\n ? this.contentRemovedCallback\n : typeof this.contentAddedCallback === 'function'\n ? this.contentAddedCallback\n : null\n if (foundNodes && callback) {\n foundNodes.forEach((node) => callback(node))\n }\n }\n}\n\nexport { CssClassObserver, ContentObserver }\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-document-scroll.js","sources":["../../../src/js/plugins/util/on-document-scroll.js"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nlet ticking = false\nlet callbacks = []\n\nclass ScrollCallback {\n constructor(id, callback) {\n this.id = id\n this._callback = callback\n }\n\n //Public\n dispose() {\n removeCallBack(this.id)\n }\n\n //Private\n _execute(data) {\n this._callback(data)\n }\n}\n\nconst removeCallBack = (id) => {\n callbacks = callbacks.filter((cb) => cb.id !== id)\n}\n\nconst onDocumentScroll = (callback) => {\n if (typeof document === 'undefined') {\n return\n }\n if (!callbacks.length) {\n document.addEventListener('scroll', (evt) => {\n if (!ticking) {\n window.requestAnimationFrame(() => {\n callbacks.forEach((cbObj) => cbObj.cb._execute(evt))\n ticking = false\n })\n ticking = true\n }\n })\n }\n\n if (typeof callback === 'function') {\n const newCb = new ScrollCallback(uuidv4(), callback)\n callbacks.push({\n id: newCb.id,\n cb: newCb,\n })\n return newCb\n }\n\n console.error('[onDocumentScroll] the provided data has to be of type function')\n return null\n}\n\nexport default onDocumentScroll\n"],"names":["uuidv4"],"mappings":";;AAEA,IAAI,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"on-document-scroll.js","sources":["../../../src/js/plugins/util/on-document-scroll.js"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nlet ticking = false\nlet callbacks = []\n\nclass ScrollCallback {\n constructor(id, callback) {\n this.id = id\n this._callback = callback\n }\n\n //Public\n dispose() {\n removeCallBack(this.id)\n }\n\n //Private\n _execute(data) {\n this._callback(data)\n }\n}\n\nconst removeCallBack = (id) => {\n callbacks = callbacks.filter((cb) => cb.id !== id)\n}\n\nconst onDocumentScroll = (callback) => {\n if (typeof document === 'undefined') {\n return\n }\n if (!callbacks.length) {\n document.addEventListener('scroll', (evt) => {\n if (!ticking) {\n window.requestAnimationFrame(() => {\n callbacks.forEach((cbObj) => cbObj.cb._execute(evt))\n ticking = false\n })\n ticking = true\n }\n })\n }\n\n if (typeof callback === 'function') {\n const newCb = new ScrollCallback(uuidv4(), callback)\n callbacks.push({\n id: newCb.id,\n cb: newCb,\n })\n return newCb\n }\n\n console.error('[onDocumentScroll] the provided data has to be of type function')\n return null\n}\n\nexport default onDocumentScroll\n"],"names":["uuidv4"],"mappings":";;AAEA,IAAI,OAAO,GAAG;AACd,IAAI,SAAS,GAAG;;AAEhB,MAAM,cAAc,CAAC;AACrB,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC5B,IAAI,IAAI,CAAC,EAAE,GAAG;AACd,IAAI,IAAI,CAAC,SAAS,GAAG;AACrB;;AAEA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC1B;;AAEA;AACA,EAAE,QAAQ,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI;AACvB;AACA;;AAEA,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK;AAC/B,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;AACnD;;AAEK,MAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AACvC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI;AACJ;AACA,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACzB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK;AACjD,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,CAAC,qBAAqB,CAAC,MAAM;AAC3C,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC7D,UAAU,OAAO,GAAG;AACpB,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB;AACA,KAAK;AACL;;AAEA,EAAE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,IAAI,cAAc,CAACA,EAAM,EAAE,EAAE,QAAQ;AACvD,IAAI,SAAS,CAAC,IAAI,CAAC;AACnB,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE;AAClB,MAAM,EAAE,EAAE,KAAK;AACf,KAAK;AACL,IAAI,OAAO;AACX;;AAEA,EAAE,OAAO,CAAC,KAAK,CAAC,iEAAiE;AACjF,EAAE,OAAO;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageScroll.js","sources":["../../../src/js/plugins/util/pageScroll.js"],"sourcesContent":["/**\n * Prevents page scroll\n */\n\nconst CLASS_SCROLL_DISABLED = 'pagescroll-scroll-disabled'\n\nlet disabled = false\nlet currentScrollPos = typeof document === 'undefined' ? 0 : document.scrollingElement.scrollTop\nconst htmlContainer = typeof document === 'undefined' ? null : document.querySelector('html')\n\nexport function disablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = true\n currentScrollPos = document.scrollingElement.scrollTop\n htmlContainer.classList.add(CLASS_SCROLL_DISABLED)\n}\n\nexport function enablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = false\n htmlContainer.classList.remove(CLASS_SCROLL_DISABLED)\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('scroll', () => {\n if (disabled) {\n document.scrollingElement.scrollTop = currentScrollPos\n }\n })\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA
|
|
1
|
+
{"version":3,"file":"pageScroll.js","sources":["../../../src/js/plugins/util/pageScroll.js"],"sourcesContent":["/**\n * Prevents page scroll\n */\n\nconst CLASS_SCROLL_DISABLED = 'pagescroll-scroll-disabled'\n\nlet disabled = false\nlet currentScrollPos = typeof document === 'undefined' ? 0 : document.scrollingElement.scrollTop\nconst htmlContainer = typeof document === 'undefined' ? null : document.querySelector('html')\n\nexport function disablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = true\n currentScrollPos = document.scrollingElement.scrollTop\n htmlContainer.classList.add(CLASS_SCROLL_DISABLED)\n}\n\nexport function enablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = false\n htmlContainer.classList.remove(CLASS_SCROLL_DISABLED)\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('scroll', () => {\n if (disabled) {\n document.scrollingElement.scrollTop = currentScrollPos\n }\n })\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;;AAEA,MAAM,qBAAqB,GAAG;;AAE9B,IAAI,QAAQ,GAAG;AACf,IAAI,gBAAgB,GAAG,OAAO,QAAQ,KAAK,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AACvF,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM;;AAErF,SAAS,iBAAiB,GAAG;AACpC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI;AACJ;AACA,EAAE,QAAQ,GAAG;AACb,EAAE,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;AAC/C,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB;AACnD;;AAEO,SAAS,gBAAgB,GAAG;AACnC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI;AACJ;AACA,EAAE,QAAQ,GAAG;AACb,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB;AACtD;;AAEA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACrC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;AAC5C,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,GAAG;AAC5C;AACA,GAAG;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tween.js","sources":["../../../src/js/plugins/util/tween.js"],"sourcesContent":["import anime from 'animejs/lib/anime.es.js'\n\nconst AnimeDefault = {\n duration: 800,\n easing: 'easeInOutSine',\n}\n\n/**\n *\n * @param {number} scrollTop\n * @param {Object} config - duration, easing, complete, update, ...\n */\nexport const documentScrollTo = (scrollTop, config) => {\n if (typeof document === 'undefined') {\n return\n }\n const onComplete = (typeof config === 'object' ? config : {}).complete\n const scrollElement = window.document.scrollingElement || window.document.body || window.document.documentElement\n const prevScrollBehavior = scrollElement.style.scrollBehavior\n\n config = {\n scrollTop: scrollTop || 0,\n ...AnimeDefault,\n ...(typeof config === 'object' ? config : {}),\n }\n\n scrollElement.style.scrollBehavior = 'auto'\n\n config.complete = (anim) => {\n scrollElement.style.scrollBehavior = prevScrollBehavior\n if (typeof onComplete === 'function') {\n onComplete(anim)\n }\n }\n\n anime({\n targets: scrollElement,\n ...config,\n })\n}\n"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,eAAe;AACzB
|
|
1
|
+
{"version":3,"file":"tween.js","sources":["../../../src/js/plugins/util/tween.js"],"sourcesContent":["import anime from 'animejs/lib/anime.es.js'\n\nconst AnimeDefault = {\n duration: 800,\n easing: 'easeInOutSine',\n}\n\n/**\n *\n * @param {number} scrollTop\n * @param {Object} config - duration, easing, complete, update, ...\n */\nexport const documentScrollTo = (scrollTop, config) => {\n if (typeof document === 'undefined') {\n return\n }\n const onComplete = (typeof config === 'object' ? config : {}).complete\n const scrollElement = window.document.scrollingElement || window.document.body || window.document.documentElement\n const prevScrollBehavior = scrollElement.style.scrollBehavior\n\n config = {\n scrollTop: scrollTop || 0,\n ...AnimeDefault,\n ...(typeof config === 'object' ? config : {}),\n }\n\n scrollElement.style.scrollBehavior = 'auto'\n\n config.complete = (anim) => {\n scrollElement.style.scrollBehavior = prevScrollBehavior\n if (typeof onComplete === 'function') {\n onComplete(anim)\n }\n }\n\n anime({\n targets: scrollElement,\n ...config,\n })\n}\n"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,eAAe;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK;AACvD,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI;AACJ;AACA,EAAE,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,EAAE;AAChE,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpG,EAAE,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC;;AAEjD,EAAE,MAAM,GAAG;AACX,IAAI,SAAS,EAAE,SAAS,IAAI,CAAC;AAC7B,IAAI,GAAG,YAAY;AACnB,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AACjD;;AAEA,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG;;AAEvC,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG;AACzC,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,MAAM,UAAU,CAAC,IAAI;AACrB;AACA;;AAEA,EAAE,KAAK,CAAC;AACR,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,GAAG,MAAM;AACb,GAAG;AACH;;;;"}
|