@coreui/coreui 5.5.0 → 5.6.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.
Files changed (116) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -3
  3. package/dist/css/coreui-grid.css +2 -2
  4. package/dist/css/coreui-grid.css.map +1 -1
  5. package/dist/css/coreui-grid.min.css +2 -2
  6. package/dist/css/coreui-grid.min.css.map +1 -1
  7. package/dist/css/coreui-grid.rtl.css +2 -2
  8. package/dist/css/coreui-grid.rtl.css.map +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css +2 -2
  10. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  11. package/dist/css/coreui-reboot.css +11 -2
  12. package/dist/css/coreui-reboot.css.map +1 -1
  13. package/dist/css/coreui-reboot.min.css +3 -3
  14. package/dist/css/coreui-reboot.min.css.map +1 -1
  15. package/dist/css/coreui-reboot.rtl.css +11 -2
  16. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  17. package/dist/css/coreui-reboot.rtl.min.css +3 -3
  18. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  19. package/dist/css/coreui-utilities.css +11 -2
  20. package/dist/css/coreui-utilities.css.map +1 -1
  21. package/dist/css/coreui-utilities.min.css +3 -3
  22. package/dist/css/coreui-utilities.min.css.map +1 -1
  23. package/dist/css/coreui-utilities.rtl.css +11 -2
  24. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  25. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  26. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  27. package/dist/css/coreui.css +337 -2
  28. package/dist/css/coreui.css.map +1 -1
  29. package/dist/css/coreui.min.css +3 -3
  30. package/dist/css/coreui.min.css.map +1 -1
  31. package/dist/css/coreui.rtl.css +332 -2
  32. package/dist/css/coreui.rtl.css.map +1 -1
  33. package/dist/css/coreui.rtl.min.css +3 -3
  34. package/dist/css/coreui.rtl.min.css.map +1 -1
  35. package/dist/css/themes/bootstrap/bootstrap.css +337 -2
  36. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  37. package/dist/css/themes/bootstrap/bootstrap.min.css +3 -3
  38. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css +332 -2
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +3 -3
  42. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  43. package/dist/js/bootstrap.bundle.js +874 -60
  44. package/dist/js/bootstrap.bundle.js.map +1 -1
  45. package/dist/js/bootstrap.bundle.min.js +3 -3
  46. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  47. package/dist/js/bootstrap.esm.js +873 -53
  48. package/dist/js/bootstrap.esm.js.map +1 -1
  49. package/dist/js/bootstrap.esm.min.js +3 -3
  50. package/dist/js/bootstrap.esm.min.js.map +1 -1
  51. package/dist/js/bootstrap.js +874 -52
  52. package/dist/js/bootstrap.js.map +1 -1
  53. package/dist/js/bootstrap.min.js +3 -3
  54. package/dist/js/bootstrap.min.js.map +1 -1
  55. package/dist/js/coreui.bundle.js +874 -60
  56. package/dist/js/coreui.bundle.js.map +1 -1
  57. package/dist/js/coreui.bundle.min.js +3 -3
  58. package/dist/js/coreui.bundle.min.js.map +1 -1
  59. package/dist/js/coreui.esm.js +873 -53
  60. package/dist/js/coreui.esm.js.map +1 -1
  61. package/dist/js/coreui.esm.min.js +3 -3
  62. package/dist/js/coreui.esm.min.js.map +1 -1
  63. package/dist/js/coreui.js +874 -52
  64. package/dist/js/coreui.js.map +1 -1
  65. package/dist/js/coreui.min.js +3 -3
  66. package/dist/js/coreui.min.js.map +1 -1
  67. package/js/dist/alert.js +2 -2
  68. package/js/dist/base-component.js +3 -3
  69. package/js/dist/base-component.js.map +1 -1
  70. package/js/dist/button.js +2 -2
  71. package/js/dist/carousel.js +2 -2
  72. package/js/dist/chip-input.js +528 -0
  73. package/js/dist/chip-input.js.map +1 -0
  74. package/js/dist/chip.js +322 -0
  75. package/js/dist/chip.js.map +1 -0
  76. package/js/dist/collapse.js +2 -2
  77. package/js/dist/dom/data.js +2 -2
  78. package/js/dist/dom/event-handler.js +2 -2
  79. package/js/dist/dom/manipulator.js +2 -2
  80. package/js/dist/dom/selector-engine.js +2 -2
  81. package/js/dist/dropdown.js +2 -2
  82. package/js/dist/modal.js +2 -2
  83. package/js/dist/navigation.js +2 -2
  84. package/js/dist/offcanvas.js +2 -2
  85. package/js/dist/popover.js +2 -2
  86. package/js/dist/scrollspy.js +2 -2
  87. package/js/dist/sidebar.js +2 -2
  88. package/js/dist/tab.js +2 -2
  89. package/js/dist/toast.js +2 -2
  90. package/js/dist/tooltip.js +2 -2
  91. package/js/dist/util/backdrop.js +2 -2
  92. package/js/dist/util/component-functions.js +2 -2
  93. package/js/dist/util/config.js +2 -2
  94. package/js/dist/util/focustrap.js +2 -2
  95. package/js/dist/util/index.js +2 -2
  96. package/js/dist/util/sanitizer.js +2 -2
  97. package/js/dist/util/scrollbar.js +2 -2
  98. package/js/dist/util/swipe.js +2 -2
  99. package/js/dist/util/template-factory.js +2 -2
  100. package/js/index.esm.js +2 -0
  101. package/js/index.umd.js +4 -0
  102. package/js/src/base-component.js +1 -1
  103. package/js/src/chip-input.js +595 -0
  104. package/js/src/chip.js +365 -0
  105. package/package.json +20 -20
  106. package/scss/_banner.scss +2 -2
  107. package/scss/_chip.import.scss +1 -0
  108. package/scss/_chip.scss +261 -0
  109. package/scss/_forms.scss +1 -0
  110. package/scss/_maps.scss +14 -0
  111. package/scss/_root.scss +5 -0
  112. package/scss/coreui.scss +1 -0
  113. package/scss/forms/_chip-input.import.scss +1 -0
  114. package/scss/forms/_chip-input.scss +109 -0
  115. package/scss/mixins/_chip.scss +14 -0
  116. package/scss/mixins/_focus-ring.scss +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip-input.js","sources":["../src/chip-input.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n *\n * This component is a highly modified version of the Bootstrap's chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Chip from './chip.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getUID } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chip-input'\nconst DATA_KEY = 'coreui.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-coreui-chip-input]'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_ACTIVE = `${SELECTOR_CHIP}.active`\nconst SELECTOR_CHIP_INPUT_LABEL = '.chip-input-label'\nconst SELECTOR_CHIP_REMOVE = '.chip-remove'\nconst SELECTOR_FOCUSABLE_ITEMS = '.chip:not(.disabled)'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_CHIP_INPUT_FIELD = 'chip-input-field'\n\nconst DEFAULT_REMOVE_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n chipClassName: null,\n createOnBlur: true,\n disabled: false,\n id: null,\n maxChips: null,\n name: null,\n placeholder: '',\n readonly: false,\n removable: true,\n removeIcon: DEFAULT_REMOVE_ICON,\n selectable: false,\n separator: ','\n}\n\nconst DefaultType = {\n chipClassName: '(string|function|null)',\n createOnBlur: 'boolean',\n disabled: 'boolean',\n maxChips: '(number|null)',\n id: '(string|null)',\n name: '(string|null)',\n placeholder: 'string',\n readonly: 'boolean',\n removable: 'boolean',\n removeIcon: 'string',\n selectable: 'boolean',\n separator: '(string|null)'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._uniqueId = this._config.id ?? getUID(`${this.constructor.NAME}`)\n this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)\n this._readonly = this._config.readonly\n\n this._chips = []\n this._input = SelectorEngine.findOne('input', this._element)\n this._hiddenInput = null\n\n if (this._input) {\n this._setInputSize()\n } else {\n this._createInput()\n }\n\n this._applyInteractionState()\n this._initializeExistingChips()\n this._createHiddenInput()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n add(value) {\n if (this._disabled || this._readonly) {\n return null\n }\n\n const trimmedValue = String(value).trim()\n\n if (!trimmedValue) {\n return null\n }\n\n // Chips are unique by value\n if (this._chips.includes(trimmedValue)) {\n return null\n }\n\n // Check max chips limit\n if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n return null\n }\n\n const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n value: trimmedValue,\n relatedTarget: this._input\n })\n\n if (addEvent.defaultPrevented) {\n return null\n }\n\n const chip = this._createChip(trimmedValue)\n this._element.insertBefore(chip, this._input)\n this._chips.push(trimmedValue)\n\n const values = this.getValues()\n this._hiddenInput.value = values.join(',')\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values\n })\n\n return chip\n }\n\n remove(chipOrValue) {\n if (this._disabled || this._readonly) {\n return false\n }\n\n let chip\n let value\n\n if (typeof chipOrValue === 'string') {\n value = chipOrValue\n chip = this._findChipByValue(value)\n } else {\n chip = chipOrValue\n value = this._getChipValue(chip)\n }\n\n if (!chip || !value) {\n return false\n }\n\n const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n value,\n chip,\n relatedTarget: this._input\n })\n\n if (removeEvent.defaultPrevented) {\n return false\n }\n\n const chipInstance = Chip.getInstance(chip)\n if (chipInstance) {\n chipInstance.remove()\n } else {\n chip.remove()\n this._handleChipRemoved(chip, value)\n }\n\n return !chip.isConnected\n }\n\n removeSelected() {\n const chipsToRemove = this._getSelectedChipElements()\n for (const chip of chipsToRemove) {\n this.remove(chip)\n }\n\n this._input?.focus()\n }\n\n getValues() {\n return [...this._chips]\n }\n\n getSelectedValues() {\n return this._getSelectedChipElements().map(chip => this._getChipValue(chip))\n }\n\n clear() {\n const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of chips) {\n this.remove(chip)\n }\n }\n\n clearSelection() {\n for (const chip of this._getSelectedChipElements()) {\n Chip.getInstance(chip)?.deselect()\n }\n\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: []\n })\n }\n\n selectChip(chip) {\n const chipElements = this._getChipElements()\n\n if (!chipElements.includes(chip)) {\n return\n }\n\n const chipInstance = Chip.getInstance(chip)\n if (!chipInstance) {\n return\n }\n\n chipInstance.select()\n }\n\n focus() {\n this._input?.focus()\n }\n\n // Private\n _emitSelectionChange() {\n EventHandler.trigger(this._element, EVENT_SELECT, {\n selected: this.getSelectedValues()\n })\n }\n\n _getChipElements() {\n return SelectorEngine.find(SELECTOR_CHIP, this._element)\n }\n\n _getSelectedChipElements() {\n return SelectorEngine.find(SELECTOR_CHIP_ACTIVE, this._element)\n }\n\n _createInput() {\n const input = document.createElement('input')\n const label = SelectorEngine.findOne(SELECTOR_CHIP_INPUT_LABEL, this._element)\n const labelFor = label?.getAttribute('for')\n const generatedInputId = labelFor || getUID(`${this.constructor.NAME}-input`)\n\n input.type = 'text'\n input.className = CLASS_NAME_CHIP_INPUT_FIELD\n input.id = generatedInputId\n if (this._config.placeholder) {\n input.placeholder = this._config.placeholder\n }\n\n if (label && !labelFor) {\n label.setAttribute('for', generatedInputId)\n }\n\n this._input = input\n this._setInputSize()\n this._element.append(input)\n }\n\n _createHiddenInput() {\n const hiddenInput = document.createElement('input')\n hiddenInput.type = 'hidden'\n hiddenInput.id = this._uniqueId\n hiddenInput.name = this._config.name || this._uniqueId\n\n this._element.append(hiddenInput)\n this._hiddenInput = hiddenInput\n this._hiddenInput.value = this.getValues().join(',')\n }\n\n _createChip(value) {\n const chip = document.createElement('span')\n chip.className = CLASS_NAME_CHIP\n chip.dataset.coreuiChipValue = value\n chip.append(document.createTextNode(value))\n this._applyChipClassName(chip, value)\n\n this._setupChip(chip)\n\n return chip\n }\n\n _createChipFromInput() {\n if (this._disabled || this._readonly) {\n return\n }\n\n const value = this._input.value.trim()\n if (value) {\n this.add(value)\n this._input.value = ''\n this._setInputSize()\n }\n }\n\n _findChipByValue(value) {\n const chips = this._getChipElements()\n return chips.find(chip => this._getChipValue(chip) === value)\n }\n\n _getChipValue(chip) {\n if (chip.dataset.coreuiChipValue) {\n return chip.dataset.coreuiChipValue\n }\n\n const clone = chip.cloneNode(true)\n const remove = SelectorEngine.findOne(SELECTOR_CHIP_REMOVE, clone)\n if (remove) {\n remove.remove()\n }\n\n return clone.textContent?.trim() || ''\n }\n\n _initializeExistingChips() {\n const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n for (const chip of existingChips) {\n const value = this._getChipValue(chip)\n if (value) {\n this._chips.push(value)\n this._applyChipClassName(chip, value)\n this._setupChip(chip)\n }\n }\n }\n\n _applyChipClassName(chip, value) {\n const className = this._resolveChipClassName(value)\n if (!className) {\n return\n }\n\n chip.classList.add(...className.split(/\\s+/).filter(Boolean))\n }\n\n _resolveChipClassName(value) {\n const { chipClassName } = this._config\n if (!chipClassName) {\n return ''\n }\n\n if (typeof chipClassName === 'function') {\n const resolvedClassName = chipClassName(value)\n return typeof resolvedClassName === 'string' ? resolvedClassName : ''\n }\n\n return typeof chipClassName === 'string' ? chipClassName : ''\n }\n\n _setupChip(chip) {\n Chip.getOrCreateInstance(chip, {\n ariaRemoveLabel: `Remove ${this._getChipValue(chip)}`,\n disabled: this._disabled,\n removable: this._config.removable && !this._readonly && !this._disabled,\n removeIcon: this._config.removeIcon,\n selectable: this._config.selectable\n })\n\n const removeButton = SelectorEngine.findOne(SELECTOR_CHIP_REMOVE, chip)\n if (removeButton) {\n removeButton.disabled = this._disabled || this._readonly\n }\n }\n\n _applyInteractionState() {\n this._element.classList.toggle(CLASS_NAME_DISABLED, this._disabled)\n this._input.disabled = this._disabled\n this._input.readOnly = !this._disabled && this._readonly\n this._element.setAttribute('aria-disabled', this._disabled ? 'true' : 'false')\n this._element.setAttribute('aria-readonly', this._readonly ? 'true' : 'false')\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, 'keydown', event => {\n if (event.target === this._input) {\n return\n }\n\n if (event.key.length === 1) {\n // eslint-disable-next-line no-console\n console.log(event.key.length)\n this._input.focus()\n }\n })\n EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n EventHandler.on(this._input, 'input', event => this._handleInput(event))\n EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n if (this._config.createOnBlur) {\n EventHandler.on(this._input, 'blur', event => {\n // Don't create chip if clicking on a chip\n if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n this._createChipFromInput()\n }\n })\n }\n\n EventHandler.on(this._element, 'selected.coreui.chip', SELECTOR_CHIP, () => {\n this._emitSelectionChange()\n })\n\n EventHandler.on(this._element, 'deselected.coreui.chip', SELECTOR_CHIP, () => {\n this._emitSelectionChange()\n })\n\n EventHandler.on(this._element, 'remove.coreui.chip', SELECTOR_CHIP, event => {\n if (this._disabled || this._readonly) {\n event.preventDefault()\n }\n })\n\n EventHandler.on(this._element, 'removed.coreui.chip', SELECTOR_CHIP, event => {\n const chip = event.target.closest(SELECTOR_CHIP)\n if (chip) {\n this._handleChipRemoved(chip)\n const focusableChips = SelectorEngine.find(SELECTOR_FOCUSABLE_ITEMS, this._element)\n\n if (focusableChips.length > 0) {\n this._input?.focus()\n }\n\n this._emitSelectionChange()\n }\n })\n\n // Focus input when clicking container background\n EventHandler.on(this._element, 'click', event => {\n if (event.target === this._element) {\n this._input?.focus()\n }\n })\n }\n\n _handleInputKeydown(event) {\n const { key } = event\n\n switch (key) {\n case 'Enter': {\n event.preventDefault()\n this._createChipFromInput()\n break\n }\n\n case 'Backspace':\n case 'Delete': {\n if (this._input.value === '') {\n event.preventDefault()\n const chips = this._getChipElements()\n\n if (chips.length > 0) {\n const lastChip = chips.at(-1)\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'ArrowLeft': {\n if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n event.preventDefault()\n const chips = this._getChipElements()\n\n if (chips.length > 0) {\n const lastChip = chips.at(-1)\n lastChip.focus()\n }\n }\n\n break\n }\n\n case 'Escape': {\n this._input.value = ''\n this._input.blur()\n break\n }\n\n // No default\n }\n }\n\n _handleChipRemoved(chip, value = null) {\n const chipValue = value || this._getChipValue(chip)\n const valueIndex = this._chips.indexOf(chipValue)\n if (valueIndex !== -1) {\n this._chips.splice(valueIndex, 1)\n }\n\n const values = this.getValues()\n this._hiddenInput.value = values.join(',')\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n values\n })\n }\n\n _handleInput(event) {\n if (this._disabled || this._readonly) {\n return\n }\n\n const { value } = event.target\n const { separator } = this._config\n\n if (separator && value.includes(separator)) {\n const parts = value.split(separator)\n for (const part of parts.slice(0, -1)) {\n this.add(part.trim())\n }\n\n this._input.value = parts.at(-1)\n }\n\n this._setInputSize()\n EventHandler.trigger(this._element, EVENT_INPUT, {\n value: this._input.value,\n relatedTarget: this._input\n })\n }\n\n _handlePaste(event) {\n if (this._disabled || this._readonly) {\n return\n }\n\n const { separator } = this._config\n if (!separator) {\n return\n }\n\n const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n if (pastedData.includes(separator)) {\n event.preventDefault()\n\n const parts = pastedData.split(separator)\n for (const part of parts) {\n this.add(part.trim())\n }\n }\n }\n\n _setInputSize() {\n if (!this._input) {\n return\n }\n\n this._input.size = Math.max(this._input.placeholder.length, this._input.value.length) || 1\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n ChipInput.getOrCreateInstance(element)\n }\n})\n\nexport default ChipInput\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_ADD","EVENT_REMOVE","EVENT_CHANGE","EVENT_SELECT","EVENT_INPUT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_ACTIVE","SELECTOR_CHIP_INPUT_LABEL","SELECTOR_CHIP_REMOVE","SELECTOR_FOCUSABLE_ITEMS","CLASS_NAME_CHIP","CLASS_NAME_DISABLED","CLASS_NAME_CHIP_INPUT_FIELD","DEFAULT_REMOVE_ICON","Default","chipClassName","createOnBlur","disabled","id","maxChips","name","placeholder","readonly","removable","removeIcon","selectable","separator","DefaultType","ChipInput","BaseComponent","constructor","element","config","_this$_config$id","_uniqueId","_config","getUID","_disabled","_element","classList","contains","_readonly","_chips","_input","SelectorEngine","findOne","_hiddenInput","_setInputSize","_createInput","_applyInteractionState","_initializeExistingChips","_createHiddenInput","_addEventListeners","add","value","trimmedValue","String","trim","includes","length","addEvent","EventHandler","trigger","relatedTarget","defaultPrevented","chip","_createChip","insertBefore","push","values","getValues","join","remove","chipOrValue","_findChipByValue","_getChipValue","removeEvent","chipInstance","Chip","getInstance","_handleChipRemoved","isConnected","removeSelected","_this$_input","chipsToRemove","_getSelectedChipElements","focus","getSelectedValues","map","clear","chips","find","clearSelection","_Chip$getInstance","deselect","selected","selectChip","chipElements","_getChipElements","select","_this$_input2","_emitSelectionChange","input","document","createElement","label","labelFor","getAttribute","generatedInputId","type","className","setAttribute","append","hiddenInput","dataset","coreuiChipValue","createTextNode","_applyChipClassName","_setupChip","_createChipFromInput","_clone$textContent","clone","cloneNode","textContent","existingChips","_resolveChipClassName","split","filter","Boolean","resolvedClassName","getOrCreateInstance","ariaRemoveLabel","removeButton","toggle","readOnly","on","event","target","key","console","log","_handleInputKeydown","_handleInput","_handlePaste","_event$relatedTarget","closest","preventDefault","focusableChips","_this$_input3","_this$_input4","lastChip","at","selectionStart","selectionEnd","blur","chipValue","valueIndex","indexOf","splice","parts","part","slice","pastedData","clipboardData","window","getData","size","Math","max"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;EAQA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,YAAY;EACzB,MAAMC,QAAQ,GAAG,mBAAmB;EACpC,MAAMC,SAAS,GAAG,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAE;EAChC,MAAME,YAAY,GAAG,WAAW;EAEhC,MAAMC,SAAS,GAAG,CAAA,GAAA,EAAMF,SAAS,CAAA,CAAE;EACnC,MAAMG,YAAY,GAAG,CAAA,MAAA,EAASH,SAAS,CAAA,CAAE;EACzC,MAAMI,YAAY,GAAG,CAAA,MAAA,EAASJ,SAAS,CAAA,CAAE;EACzC,MAAMK,YAAY,GAAG,CAAA,MAAA,EAASL,SAAS,CAAA,CAAE;EACzC,MAAMM,WAAW,GAAG,CAAA,KAAA,EAAQN,SAAS,CAAA,CAAE;EAEvC,MAAMO,wBAAwB,GAAG,0BAA0B;EAC3D,MAAMC,aAAa,GAAG,OAAO;EAC7B,MAAMC,oBAAoB,GAAG,CAAA,EAAGD,aAAa,CAAA,OAAA,CAAS;EACtD,MAAME,yBAAyB,GAAG,mBAAmB;EACrD,MAAMC,oBAAoB,GAAG,cAAc;EAC3C,MAAMC,wBAAwB,GAAG,sBAAsB;EAEvD,MAAMC,eAAe,GAAG,MAAM;EAC9B,MAAMC,mBAAmB,GAAG,UAAU;EACtC,MAAMC,2BAA2B,GAAG,kBAAkB;EAEtD,MAAMC,mBAAmB,GAAG,+OAA+O;EAE3Q,MAAMC,OAAO,GAAG;EACdC,EAAAA,aAAa,EAAE,IAAI;EACnBC,EAAAA,YAAY,EAAE,IAAI;EAClBC,EAAAA,QAAQ,EAAE,KAAK;EACfC,EAAAA,EAAE,EAAE,IAAI;EACRC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,IAAI,EAAE,IAAI;EACVC,EAAAA,WAAW,EAAE,EAAE;EACfC,EAAAA,QAAQ,EAAE,KAAK;EACfC,EAAAA,SAAS,EAAE,IAAI;EACfC,EAAAA,UAAU,EAAEX,mBAAmB;EAC/BY,EAAAA,UAAU,EAAE,KAAK;EACjBC,EAAAA,SAAS,EAAE;EACb,CAAC;EAED,MAAMC,WAAW,GAAG;EAClBZ,EAAAA,aAAa,EAAE,wBAAwB;EACvCC,EAAAA,YAAY,EAAE,SAAS;EACvBC,EAAAA,QAAQ,EAAE,SAAS;EACnBE,EAAAA,QAAQ,EAAE,eAAe;EACzBD,EAAAA,EAAE,EAAE,eAAe;EACnBE,EAAAA,IAAI,EAAE,eAAe;EACrBC,EAAAA,WAAW,EAAE,QAAQ;EACrBC,EAAAA,QAAQ,EAAE,SAAS;EACnBC,EAAAA,SAAS,EAAE,SAAS;EACpBC,EAAAA,UAAU,EAAE,QAAQ;EACpBC,EAAAA,UAAU,EAAE,SAAS;EACrBC,EAAAA,SAAS,EAAE;EACb,CAAC;;EAED;EACA;EACA;;EAEA,MAAME,SAAS,SAASC,aAAa,CAAC;EACpCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAAA,IAAA,IAAAC,gBAAA;EAC3B,IAAA,KAAK,CAACF,OAAO,EAAEC,MAAM,CAAC;MAEtB,IAAI,CAACE,SAAS,GAAA,CAAAD,gBAAA,GAAG,IAAI,CAACE,OAAO,CAACjB,EAAE,KAAA,IAAA,GAAAe,gBAAA,GAAIG,eAAM,CAAC,CAAA,EAAG,IAAI,CAACN,WAAW,CAACnC,IAAI,CAAA,CAAE,CAAC;EACtE,IAAA,IAAI,CAAC0C,SAAS,GAAG,IAAI,CAACF,OAAO,CAAClB,QAAQ,IAAI,IAAI,CAACqB,QAAQ,CAACC,SAAS,CAACC,QAAQ,CAAC7B,mBAAmB,CAAC;EAC/F,IAAA,IAAI,CAAC8B,SAAS,GAAG,IAAI,CAACN,OAAO,CAACb,QAAQ;MAEtC,IAAI,CAACoB,MAAM,GAAG,EAAE;EAChB,IAAA,IAAI,CAACC,MAAM,GAAGC,cAAc,CAACC,OAAO,CAAC,OAAO,EAAE,IAAI,CAACP,QAAQ,CAAC;MAC5D,IAAI,CAACQ,YAAY,GAAG,IAAI;MAExB,IAAI,IAAI,CAACH,MAAM,EAAE;QACf,IAAI,CAACI,aAAa,EAAE;EACtB,IAAA,CAAC,MAAM;QACL,IAAI,CAACC,YAAY,EAAE;EACrB,IAAA;MAEA,IAAI,CAACC,sBAAsB,EAAE;MAC7B,IAAI,CAACC,wBAAwB,EAAE;MAC/B,IAAI,CAACC,kBAAkB,EAAE;MACzB,IAAI,CAACC,kBAAkB,EAAE;EAC3B,EAAA;;EAEA;IACA,WAAWtC,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWa,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB,EAAA;IAEA,WAAWhC,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb,EAAA;;EAEA;IACA0D,GAAGA,CAACC,KAAK,EAAE;EACT,IAAA,IAAI,IAAI,CAACjB,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;EACpC,MAAA,OAAO,IAAI;EACb,IAAA;MAEA,MAAMc,YAAY,GAAGC,MAAM,CAACF,KAAK,CAAC,CAACG,IAAI,EAAE;MAEzC,IAAI,CAACF,YAAY,EAAE;EACjB,MAAA,OAAO,IAAI;EACb,IAAA;;EAEA;MACA,IAAI,IAAI,CAACb,MAAM,CAACgB,QAAQ,CAACH,YAAY,CAAC,EAAE;EACtC,MAAA,OAAO,IAAI;EACb,IAAA;;EAEA;EACA,IAAA,IAAI,IAAI,CAACpB,OAAO,CAAChB,QAAQ,KAAK,IAAI,IAAI,IAAI,CAACuB,MAAM,CAACiB,MAAM,IAAI,IAAI,CAACxB,OAAO,CAAChB,QAAQ,EAAE;EACjF,MAAA,OAAO,IAAI;EACb,IAAA;MAEA,MAAMyC,QAAQ,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAEvC,SAAS,EAAE;EAC9DuD,MAAAA,KAAK,EAAEC,YAAY;QACnBQ,aAAa,EAAE,IAAI,CAACpB;EACtB,KAAC,CAAC;MAEF,IAAIiB,QAAQ,CAACI,gBAAgB,EAAE;EAC7B,MAAA,OAAO,IAAI;EACb,IAAA;EAEA,IAAA,MAAMC,IAAI,GAAG,IAAI,CAACC,WAAW,CAACX,YAAY,CAAC;MAC3C,IAAI,CAACjB,QAAQ,CAAC6B,YAAY,CAACF,IAAI,EAAE,IAAI,CAACtB,MAAM,CAAC;EAC7C,IAAA,IAAI,CAACD,MAAM,CAAC0B,IAAI,CAACb,YAAY,CAAC;EAE9B,IAAA,MAAMc,MAAM,GAAG,IAAI,CAACC,SAAS,EAAE;MAC/B,IAAI,CAACxB,YAAY,CAACQ,KAAK,GAAGe,MAAM,CAACE,IAAI,CAAC,GAAG,CAAC;MAE1CV,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAErC,YAAY,EAAE;EAChDoE,MAAAA;EACF,KAAC,CAAC;EAEF,IAAA,OAAOJ,IAAI;EACb,EAAA;IAEAO,MAAMA,CAACC,WAAW,EAAE;EAClB,IAAA,IAAI,IAAI,CAACpC,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;EACpC,MAAA,OAAO,KAAK;EACd,IAAA;EAEA,IAAA,IAAIwB,IAAI;EACR,IAAA,IAAIX,KAAK;EAET,IAAA,IAAI,OAAOmB,WAAW,KAAK,QAAQ,EAAE;EACnCnB,MAAAA,KAAK,GAAGmB,WAAW;EACnBR,MAAAA,IAAI,GAAG,IAAI,CAACS,gBAAgB,CAACpB,KAAK,CAAC;EACrC,IAAA,CAAC,MAAM;EACLW,MAAAA,IAAI,GAAGQ,WAAW;EAClBnB,MAAAA,KAAK,GAAG,IAAI,CAACqB,aAAa,CAACV,IAAI,CAAC;EAClC,IAAA;EAEA,IAAA,IAAI,CAACA,IAAI,IAAI,CAACX,KAAK,EAAE;EACnB,MAAA,OAAO,KAAK;EACd,IAAA;MAEA,MAAMsB,WAAW,GAAGf,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAEtC,YAAY,EAAE;QACpEsD,KAAK;QACLW,IAAI;QACJF,aAAa,EAAE,IAAI,CAACpB;EACtB,KAAC,CAAC;MAEF,IAAIiC,WAAW,CAACZ,gBAAgB,EAAE;EAChC,MAAA,OAAO,KAAK;EACd,IAAA;EAEA,IAAA,MAAMa,YAAY,GAAGC,IAAI,CAACC,WAAW,CAACd,IAAI,CAAC;EAC3C,IAAA,IAAIY,YAAY,EAAE;QAChBA,YAAY,CAACL,MAAM,EAAE;EACvB,IAAA,CAAC,MAAM;QACLP,IAAI,CAACO,MAAM,EAAE;EACb,MAAA,IAAI,CAACQ,kBAAkB,CAACf,IAAI,EAAEX,KAAK,CAAC;EACtC,IAAA;MAEA,OAAO,CAACW,IAAI,CAACgB,WAAW;EAC1B,EAAA;EAEAC,EAAAA,cAAcA,GAAG;EAAA,IAAA,IAAAC,YAAA;EACf,IAAA,MAAMC,aAAa,GAAG,IAAI,CAACC,wBAAwB,EAAE;EACrD,IAAA,KAAK,MAAMpB,IAAI,IAAImB,aAAa,EAAE;EAChC,MAAA,IAAI,CAACZ,MAAM,CAACP,IAAI,CAAC;EACnB,IAAA;MAEA,CAAAkB,YAAA,OAAI,CAACxC,MAAM,aAAXwC,YAAA,CAAaG,KAAK,EAAE;EACtB,EAAA;EAEAhB,EAAAA,SAASA,GAAG;EACV,IAAA,OAAO,CAAC,GAAG,IAAI,CAAC5B,MAAM,CAAC;EACzB,EAAA;EAEA6C,EAAAA,iBAAiBA,GAAG;EAClB,IAAA,OAAO,IAAI,CAACF,wBAAwB,EAAE,CAACG,GAAG,CAACvB,IAAI,IAAI,IAAI,CAACU,aAAa,CAACV,IAAI,CAAC,CAAC;EAC9E,EAAA;EAEAwB,EAAAA,KAAKA,GAAG;MACN,MAAMC,KAAK,GAAG9C,cAAc,CAAC+C,IAAI,CAACtF,aAAa,EAAE,IAAI,CAACiC,QAAQ,CAAC;EAC/D,IAAA,KAAK,MAAM2B,IAAI,IAAIyB,KAAK,EAAE;EACxB,MAAA,IAAI,CAAClB,MAAM,CAACP,IAAI,CAAC;EACnB,IAAA;EACF,EAAA;EAEA2B,EAAAA,cAAcA,GAAG;MACf,KAAK,MAAM3B,IAAI,IAAI,IAAI,CAACoB,wBAAwB,EAAE,EAAE;EAAA,MAAA,IAAAQ,iBAAA;EAClD,MAAA,CAAAA,iBAAA,GAAAf,IAAI,CAACC,WAAW,CAACd,IAAI,CAAC,KAAA,IAAA,IAAtB4B,iBAAA,CAAwBC,QAAQ,EAAE;EACpC,IAAA;MAEAjC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAEpC,YAAY,EAAE;EAChD6F,MAAAA,QAAQ,EAAE;EACZ,KAAC,CAAC;EACJ,EAAA;IAEAC,UAAUA,CAAC/B,IAAI,EAAE;EACf,IAAA,MAAMgC,YAAY,GAAG,IAAI,CAACC,gBAAgB,EAAE;EAE5C,IAAA,IAAI,CAACD,YAAY,CAACvC,QAAQ,CAACO,IAAI,CAAC,EAAE;EAChC,MAAA;EACF,IAAA;EAEA,IAAA,MAAMY,YAAY,GAAGC,IAAI,CAACC,WAAW,CAACd,IAAI,CAAC;MAC3C,IAAI,CAACY,YAAY,EAAE;EACjB,MAAA;EACF,IAAA;MAEAA,YAAY,CAACsB,MAAM,EAAE;EACvB,EAAA;EAEAb,EAAAA,KAAKA,GAAG;EAAA,IAAA,IAAAc,aAAA;MACN,CAAAA,aAAA,OAAI,CAACzD,MAAM,aAAXyD,aAAA,CAAad,KAAK,EAAE;EACtB,EAAA;;EAEA;EACAe,EAAAA,oBAAoBA,GAAG;MACrBxC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAEpC,YAAY,EAAE;EAChD6F,MAAAA,QAAQ,EAAE,IAAI,CAACR,iBAAiB;EAClC,KAAC,CAAC;EACJ,EAAA;EAEAW,EAAAA,gBAAgBA,GAAG;MACjB,OAAOtD,cAAc,CAAC+C,IAAI,CAACtF,aAAa,EAAE,IAAI,CAACiC,QAAQ,CAAC;EAC1D,EAAA;EAEA+C,EAAAA,wBAAwBA,GAAG;MACzB,OAAOzC,cAAc,CAAC+C,IAAI,CAACrF,oBAAoB,EAAE,IAAI,CAACgC,QAAQ,CAAC;EACjE,EAAA;EAEAU,EAAAA,YAAYA,GAAG;EACb,IAAA,MAAMsD,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;MAC7C,MAAMC,KAAK,GAAG7D,cAAc,CAACC,OAAO,CAACtC,yBAAyB,EAAE,IAAI,CAAC+B,QAAQ,CAAC;MAC9E,MAAMoE,QAAQ,GAAGD,KAAK,IAAA,IAAA,GAAA,MAAA,GAALA,KAAK,CAAEE,YAAY,CAAC,KAAK,CAAC;EAC3C,IAAA,MAAMC,gBAAgB,GAAGF,QAAQ,IAAItE,eAAM,CAAC,CAAA,EAAG,IAAI,CAACN,WAAW,CAACnC,IAAI,QAAQ,CAAC;MAE7E2G,KAAK,CAACO,IAAI,GAAG,MAAM;MACnBP,KAAK,CAACQ,SAAS,GAAGlG,2BAA2B;MAC7C0F,KAAK,CAACpF,EAAE,GAAG0F,gBAAgB;EAC3B,IAAA,IAAI,IAAI,CAACzE,OAAO,CAACd,WAAW,EAAE;EAC5BiF,MAAAA,KAAK,CAACjF,WAAW,GAAG,IAAI,CAACc,OAAO,CAACd,WAAW;EAC9C,IAAA;EAEA,IAAA,IAAIoF,KAAK,IAAI,CAACC,QAAQ,EAAE;EACtBD,MAAAA,KAAK,CAACM,YAAY,CAAC,KAAK,EAAEH,gBAAgB,CAAC;EAC7C,IAAA;MAEA,IAAI,CAACjE,MAAM,GAAG2D,KAAK;MACnB,IAAI,CAACvD,aAAa,EAAE;EACpB,IAAA,IAAI,CAACT,QAAQ,CAAC0E,MAAM,CAACV,KAAK,CAAC;EAC7B,EAAA;EAEAnD,EAAAA,kBAAkBA,GAAG;EACnB,IAAA,MAAM8D,WAAW,GAAGV,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;MACnDS,WAAW,CAACJ,IAAI,GAAG,QAAQ;EAC3BI,IAAAA,WAAW,CAAC/F,EAAE,GAAG,IAAI,CAACgB,SAAS;MAC/B+E,WAAW,CAAC7F,IAAI,GAAG,IAAI,CAACe,OAAO,CAACf,IAAI,IAAI,IAAI,CAACc,SAAS;EAEtD,IAAA,IAAI,CAACI,QAAQ,CAAC0E,MAAM,CAACC,WAAW,CAAC;MACjC,IAAI,CAACnE,YAAY,GAAGmE,WAAW;EAC/B,IAAA,IAAI,CAACnE,YAAY,CAACQ,KAAK,GAAG,IAAI,CAACgB,SAAS,EAAE,CAACC,IAAI,CAAC,GAAG,CAAC;EACtD,EAAA;IAEAL,WAAWA,CAACZ,KAAK,EAAE;EACjB,IAAA,MAAMW,IAAI,GAAGsC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;MAC3CvC,IAAI,CAAC6C,SAAS,GAAGpG,eAAe;EAChCuD,IAAAA,IAAI,CAACiD,OAAO,CAACC,eAAe,GAAG7D,KAAK;MACpCW,IAAI,CAAC+C,MAAM,CAACT,QAAQ,CAACa,cAAc,CAAC9D,KAAK,CAAC,CAAC;EAC3C,IAAA,IAAI,CAAC+D,mBAAmB,CAACpD,IAAI,EAAEX,KAAK,CAAC;EAErC,IAAA,IAAI,CAACgE,UAAU,CAACrD,IAAI,CAAC;EAErB,IAAA,OAAOA,IAAI;EACb,EAAA;EAEAsD,EAAAA,oBAAoBA,GAAG;EACrB,IAAA,IAAI,IAAI,CAAClF,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;EACpC,MAAA;EACF,IAAA;MAEA,MAAMa,KAAK,GAAG,IAAI,CAACX,MAAM,CAACW,KAAK,CAACG,IAAI,EAAE;EACtC,IAAA,IAAIH,KAAK,EAAE;EACT,MAAA,IAAI,CAACD,GAAG,CAACC,KAAK,CAAC;EACf,MAAA,IAAI,CAACX,MAAM,CAACW,KAAK,GAAG,EAAE;QACtB,IAAI,CAACP,aAAa,EAAE;EACtB,IAAA;EACF,EAAA;IAEA2B,gBAAgBA,CAACpB,KAAK,EAAE;EACtB,IAAA,MAAMoC,KAAK,GAAG,IAAI,CAACQ,gBAAgB,EAAE;EACrC,IAAA,OAAOR,KAAK,CAACC,IAAI,CAAC1B,IAAI,IAAI,IAAI,CAACU,aAAa,CAACV,IAAI,CAAC,KAAKX,KAAK,CAAC;EAC/D,EAAA;IAEAqB,aAAaA,CAACV,IAAI,EAAE;EAAA,IAAA,IAAAuD,kBAAA;EAClB,IAAA,IAAIvD,IAAI,CAACiD,OAAO,CAACC,eAAe,EAAE;EAChC,MAAA,OAAOlD,IAAI,CAACiD,OAAO,CAACC,eAAe;EACrC,IAAA;EAEA,IAAA,MAAMM,KAAK,GAAGxD,IAAI,CAACyD,SAAS,CAAC,IAAI,CAAC;MAClC,MAAMlD,MAAM,GAAG5B,cAAc,CAACC,OAAO,CAACrC,oBAAoB,EAAEiH,KAAK,CAAC;EAClE,IAAA,IAAIjD,MAAM,EAAE;QACVA,MAAM,CAACA,MAAM,EAAE;EACjB,IAAA;EAEA,IAAA,OAAO,CAAA,CAAAgD,kBAAA,GAAAC,KAAK,CAACE,WAAW,KAAA,IAAA,GAAA,MAAA,GAAjBH,kBAAA,CAAmB/D,IAAI,EAAE,KAAI,EAAE;EACxC,EAAA;EAEAP,EAAAA,wBAAwBA,GAAG;MACzB,MAAM0E,aAAa,GAAGhF,cAAc,CAAC+C,IAAI,CAACtF,aAAa,EAAE,IAAI,CAACiC,QAAQ,CAAC;EACvE,IAAA,KAAK,MAAM2B,IAAI,IAAI2D,aAAa,EAAE;EAChC,MAAA,MAAMtE,KAAK,GAAG,IAAI,CAACqB,aAAa,CAACV,IAAI,CAAC;EACtC,MAAA,IAAIX,KAAK,EAAE;EACT,QAAA,IAAI,CAACZ,MAAM,CAAC0B,IAAI,CAACd,KAAK,CAAC;EACvB,QAAA,IAAI,CAAC+D,mBAAmB,CAACpD,IAAI,EAAEX,KAAK,CAAC;EACrC,QAAA,IAAI,CAACgE,UAAU,CAACrD,IAAI,CAAC;EACvB,MAAA;EACF,IAAA;EACF,EAAA;EAEAoD,EAAAA,mBAAmBA,CAACpD,IAAI,EAAEX,KAAK,EAAE;EAC/B,IAAA,MAAMwD,SAAS,GAAG,IAAI,CAACe,qBAAqB,CAACvE,KAAK,CAAC;MACnD,IAAI,CAACwD,SAAS,EAAE;EACd,MAAA;EACF,IAAA;EAEA7C,IAAAA,IAAI,CAAC1B,SAAS,CAACc,GAAG,CAAC,GAAGyD,SAAS,CAACgB,KAAK,CAAC,KAAK,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAAC;EAC/D,EAAA;IAEAH,qBAAqBA,CAACvE,KAAK,EAAE;MAC3B,MAAM;EAAEvC,MAAAA;OAAe,GAAG,IAAI,CAACoB,OAAO;MACtC,IAAI,CAACpB,aAAa,EAAE;EAClB,MAAA,OAAO,EAAE;EACX,IAAA;EAEA,IAAA,IAAI,OAAOA,aAAa,KAAK,UAAU,EAAE;EACvC,MAAA,MAAMkH,iBAAiB,GAAGlH,aAAa,CAACuC,KAAK,CAAC;EAC9C,MAAA,OAAO,OAAO2E,iBAAiB,KAAK,QAAQ,GAAGA,iBAAiB,GAAG,EAAE;EACvE,IAAA;EAEA,IAAA,OAAO,OAAOlH,aAAa,KAAK,QAAQ,GAAGA,aAAa,GAAG,EAAE;EAC/D,EAAA;IAEAuG,UAAUA,CAACrD,IAAI,EAAE;EACfa,IAAAA,IAAI,CAACoD,mBAAmB,CAACjE,IAAI,EAAE;QAC7BkE,eAAe,EAAE,UAAU,IAAI,CAACxD,aAAa,CAACV,IAAI,CAAC,CAAA,CAAE;QACrDhD,QAAQ,EAAE,IAAI,CAACoB,SAAS;EACxBd,MAAAA,SAAS,EAAE,IAAI,CAACY,OAAO,CAACZ,SAAS,IAAI,CAAC,IAAI,CAACkB,SAAS,IAAI,CAAC,IAAI,CAACJ,SAAS;EACvEb,MAAAA,UAAU,EAAE,IAAI,CAACW,OAAO,CAACX,UAAU;EACnCC,MAAAA,UAAU,EAAE,IAAI,CAACU,OAAO,CAACV;EAC3B,KAAC,CAAC;MAEF,MAAM2G,YAAY,GAAGxF,cAAc,CAACC,OAAO,CAACrC,oBAAoB,EAAEyD,IAAI,CAAC;EACvE,IAAA,IAAImE,YAAY,EAAE;QAChBA,YAAY,CAACnH,QAAQ,GAAG,IAAI,CAACoB,SAAS,IAAI,IAAI,CAACI,SAAS;EAC1D,IAAA;EACF,EAAA;EAEAQ,EAAAA,sBAAsBA,GAAG;EACvB,IAAA,IAAI,CAACX,QAAQ,CAACC,SAAS,CAAC8F,MAAM,CAAC1H,mBAAmB,EAAE,IAAI,CAAC0B,SAAS,CAAC;EACnE,IAAA,IAAI,CAACM,MAAM,CAAC1B,QAAQ,GAAG,IAAI,CAACoB,SAAS;EACrC,IAAA,IAAI,CAACM,MAAM,CAAC2F,QAAQ,GAAG,CAAC,IAAI,CAACjG,SAAS,IAAI,IAAI,CAACI,SAAS;EACxD,IAAA,IAAI,CAACH,QAAQ,CAACyE,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC1E,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;EAC9E,IAAA,IAAI,CAACC,QAAQ,CAACyE,YAAY,CAAC,eAAe,EAAE,IAAI,CAACtE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;EAChF,EAAA;EAEAW,EAAAA,kBAAkBA,GAAG;MACnBS,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,SAAS,EAAEkG,KAAK,IAAI;EACjD,MAAA,IAAIA,KAAK,CAACC,MAAM,KAAK,IAAI,CAAC9F,MAAM,EAAE;EAChC,QAAA;EACF,MAAA;EAEA,MAAA,IAAI6F,KAAK,CAACE,GAAG,CAAC/E,MAAM,KAAK,CAAC,EAAE;EAC1B;UACAgF,OAAO,CAACC,GAAG,CAACJ,KAAK,CAACE,GAAG,CAAC/E,MAAM,CAAC;EAC7B,QAAA,IAAI,CAAChB,MAAM,CAAC2C,KAAK,EAAE;EACrB,MAAA;EACF,IAAA,CAAC,CAAC;EACFzB,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAAC5F,MAAM,EAAE,SAAS,EAAE6F,KAAK,IAAI,IAAI,CAACK,mBAAmB,CAACL,KAAK,CAAC,CAAC;EACjF3E,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAAC5F,MAAM,EAAE,OAAO,EAAE6F,KAAK,IAAI,IAAI,CAACM,YAAY,CAACN,KAAK,CAAC,CAAC;EACxE3E,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAAC5F,MAAM,EAAE,OAAO,EAAE6F,KAAK,IAAI,IAAI,CAACO,YAAY,CAACP,KAAK,CAAC,CAAC;EACxE3E,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAAC5F,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAACiD,cAAc,EAAE,CAAC;EAElE,IAAA,IAAI,IAAI,CAACzD,OAAO,CAACnB,YAAY,EAAE;QAC7B6C,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAAC5F,MAAM,EAAE,MAAM,EAAE6F,KAAK,IAAI;EAAA,QAAA,IAAAQ,oBAAA;EAC5C;EACA,QAAA,IAAI,EAAA,CAAAA,oBAAA,GAACR,KAAK,CAACzE,aAAa,KAAA,IAAA,IAAnBiF,oBAAA,CAAqBC,OAAO,CAAC5I,aAAa,CAAC,CAAA,EAAE;YAChD,IAAI,CAACkH,oBAAoB,EAAE;EAC7B,QAAA;EACF,MAAA,CAAC,CAAC;EACJ,IAAA;MAEA1D,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,sBAAsB,EAAEjC,aAAa,EAAE,MAAM;QAC1E,IAAI,CAACgG,oBAAoB,EAAE;EAC7B,IAAA,CAAC,CAAC;MAEFxC,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,wBAAwB,EAAEjC,aAAa,EAAE,MAAM;QAC5E,IAAI,CAACgG,oBAAoB,EAAE;EAC7B,IAAA,CAAC,CAAC;EAEFxC,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,oBAAoB,EAAEjC,aAAa,EAAEmI,KAAK,IAAI;EAC3E,MAAA,IAAI,IAAI,CAACnG,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;UACpC+F,KAAK,CAACU,cAAc,EAAE;EACxB,MAAA;EACF,IAAA,CAAC,CAAC;EAEFrF,IAAAA,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,qBAAqB,EAAEjC,aAAa,EAAEmI,KAAK,IAAI;QAC5E,MAAMvE,IAAI,GAAGuE,KAAK,CAACC,MAAM,CAACQ,OAAO,CAAC5I,aAAa,CAAC;EAChD,MAAA,IAAI4D,IAAI,EAAE;EACR,QAAA,IAAI,CAACe,kBAAkB,CAACf,IAAI,CAAC;UAC7B,MAAMkF,cAAc,GAAGvG,cAAc,CAAC+C,IAAI,CAAClF,wBAAwB,EAAE,IAAI,CAAC6B,QAAQ,CAAC;EAEnF,QAAA,IAAI6G,cAAc,CAACxF,MAAM,GAAG,CAAC,EAAE;EAAA,UAAA,IAAAyF,aAAA;YAC7B,CAAAA,aAAA,OAAI,CAACzG,MAAM,aAAXyG,aAAA,CAAa9D,KAAK,EAAE;EACtB,QAAA;UAEA,IAAI,CAACe,oBAAoB,EAAE;EAC7B,MAAA;EACF,IAAA,CAAC,CAAC;;EAEF;MACAxC,YAAY,CAAC0E,EAAE,CAAC,IAAI,CAACjG,QAAQ,EAAE,OAAO,EAAEkG,KAAK,IAAI;EAC/C,MAAA,IAAIA,KAAK,CAACC,MAAM,KAAK,IAAI,CAACnG,QAAQ,EAAE;EAAA,QAAA,IAAA+G,aAAA;UAClC,CAAAA,aAAA,OAAI,CAAC1G,MAAM,aAAX0G,aAAA,CAAa/D,KAAK,EAAE;EACtB,MAAA;EACF,IAAA,CAAC,CAAC;EACJ,EAAA;IAEAuD,mBAAmBA,CAACL,KAAK,EAAE;MACzB,MAAM;EAAEE,MAAAA;EAAI,KAAC,GAAGF,KAAK;EAErB,IAAA,QAAQE,GAAG;EACT,MAAA,KAAK,OAAO;EAAE,QAAA;YACZF,KAAK,CAACU,cAAc,EAAE;YACtB,IAAI,CAAC3B,oBAAoB,EAAE;EAC3B,UAAA;EACF,QAAA;EAEA,MAAA,KAAK,WAAW;EAChB,MAAA,KAAK,QAAQ;EAAE,QAAA;EACb,UAAA,IAAI,IAAI,CAAC5E,MAAM,CAACW,KAAK,KAAK,EAAE,EAAE;cAC5BkF,KAAK,CAACU,cAAc,EAAE;EACtB,YAAA,MAAMxD,KAAK,GAAG,IAAI,CAACQ,gBAAgB,EAAE;EAErC,YAAA,IAAIR,KAAK,CAAC/B,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM2F,QAAQ,GAAG5D,KAAK,CAAC6D,EAAE,CAAC,EAAE,CAAC;gBAC7BD,QAAQ,CAAChE,KAAK,EAAE;EAClB,YAAA;EACF,UAAA;EAEA,UAAA;EACF,QAAA;EAEA,MAAA,KAAK,WAAW;EAAE,QAAA;EAChB,UAAA,IAAI,IAAI,CAAC3C,MAAM,CAAC6G,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC7G,MAAM,CAAC8G,YAAY,KAAK,CAAC,EAAE;cACtEjB,KAAK,CAACU,cAAc,EAAE;EACtB,YAAA,MAAMxD,KAAK,GAAG,IAAI,CAACQ,gBAAgB,EAAE;EAErC,YAAA,IAAIR,KAAK,CAAC/B,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM2F,QAAQ,GAAG5D,KAAK,CAAC6D,EAAE,CAAC,EAAE,CAAC;gBAC7BD,QAAQ,CAAChE,KAAK,EAAE;EAClB,YAAA;EACF,UAAA;EAEA,UAAA;EACF,QAAA;EAEA,MAAA,KAAK,QAAQ;EAAE,QAAA;EACb,UAAA,IAAI,CAAC3C,MAAM,CAACW,KAAK,GAAG,EAAE;EACtB,UAAA,IAAI,CAACX,MAAM,CAAC+G,IAAI,EAAE;EAClB,UAAA;EACF,QAAA;;EAEA;EACF;EACF,EAAA;EAEA1E,EAAAA,kBAAkBA,CAACf,IAAI,EAAEX,KAAK,GAAG,IAAI,EAAE;MACrC,MAAMqG,SAAS,GAAGrG,KAAK,IAAI,IAAI,CAACqB,aAAa,CAACV,IAAI,CAAC;MACnD,MAAM2F,UAAU,GAAG,IAAI,CAAClH,MAAM,CAACmH,OAAO,CAACF,SAAS,CAAC;EACjD,IAAA,IAAIC,UAAU,KAAK,EAAE,EAAE;QACrB,IAAI,CAAClH,MAAM,CAACoH,MAAM,CAACF,UAAU,EAAE,CAAC,CAAC;EACnC,IAAA;EAEA,IAAA,MAAMvF,MAAM,GAAG,IAAI,CAACC,SAAS,EAAE;MAC/B,IAAI,CAACxB,YAAY,CAACQ,KAAK,GAAGe,MAAM,CAACE,IAAI,CAAC,GAAG,CAAC;MAE1CV,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAErC,YAAY,EAAE;EAChDoE,MAAAA;EACF,KAAC,CAAC;EACJ,EAAA;IAEAyE,YAAYA,CAACN,KAAK,EAAE;EAClB,IAAA,IAAI,IAAI,CAACnG,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;EACpC,MAAA;EACF,IAAA;MAEA,MAAM;EAAEa,MAAAA;OAAO,GAAGkF,KAAK,CAACC,MAAM;MAC9B,MAAM;EAAE/G,MAAAA;OAAW,GAAG,IAAI,CAACS,OAAO;MAElC,IAAIT,SAAS,IAAI4B,KAAK,CAACI,QAAQ,CAAChC,SAAS,CAAC,EAAE;EAC1C,MAAA,MAAMqI,KAAK,GAAGzG,KAAK,CAACwE,KAAK,CAACpG,SAAS,CAAC;EACpC,MAAA,KAAK,MAAMsI,IAAI,IAAID,KAAK,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;UACrC,IAAI,CAAC5G,GAAG,CAAC2G,IAAI,CAACvG,IAAI,EAAE,CAAC;EACvB,MAAA;QAEA,IAAI,CAACd,MAAM,CAACW,KAAK,GAAGyG,KAAK,CAACR,EAAE,CAAC,EAAE,CAAC;EAClC,IAAA;MAEA,IAAI,CAACxG,aAAa,EAAE;MACpBc,YAAY,CAACC,OAAO,CAAC,IAAI,CAACxB,QAAQ,EAAEnC,WAAW,EAAE;EAC/CmD,MAAAA,KAAK,EAAE,IAAI,CAACX,MAAM,CAACW,KAAK;QACxBS,aAAa,EAAE,IAAI,CAACpB;EACtB,KAAC,CAAC;EACJ,EAAA;IAEAoG,YAAYA,CAACP,KAAK,EAAE;EAClB,IAAA,IAAI,IAAI,CAACnG,SAAS,IAAI,IAAI,CAACI,SAAS,EAAE;EACpC,MAAA;EACF,IAAA;MAEA,MAAM;EAAEf,MAAAA;OAAW,GAAG,IAAI,CAACS,OAAO;MAClC,IAAI,CAACT,SAAS,EAAE;EACd,MAAA;EACF,IAAA;EAEA,IAAA,MAAMwI,UAAU,GAAG,CAAC1B,KAAK,CAAC2B,aAAa,IAAIC,MAAM,CAACD,aAAa,EAAEE,OAAO,CAAC,MAAM,CAAC;EAChF,IAAA,IAAIH,UAAU,CAACxG,QAAQ,CAAChC,SAAS,CAAC,EAAE;QAClC8G,KAAK,CAACU,cAAc,EAAE;EAEtB,MAAA,MAAMa,KAAK,GAAGG,UAAU,CAACpC,KAAK,CAACpG,SAAS,CAAC;EACzC,MAAA,KAAK,MAAMsI,IAAI,IAAID,KAAK,EAAE;UACxB,IAAI,CAAC1G,GAAG,CAAC2G,IAAI,CAACvG,IAAI,EAAE,CAAC;EACvB,MAAA;EACF,IAAA;EACF,EAAA;EAEAV,EAAAA,aAAaA,GAAG;EACd,IAAA,IAAI,CAAC,IAAI,CAACJ,MAAM,EAAE;EAChB,MAAA;EACF,IAAA;MAEA,IAAI,CAACA,MAAM,CAAC2H,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,CAAC7H,MAAM,CAACtB,WAAW,CAACsC,MAAM,EAAE,IAAI,CAAChB,MAAM,CAACW,KAAK,CAACK,MAAM,CAAC,IAAI,CAAC;EAC5F,EAAA;EACF;;EAEA;EACA;EACA;;EAEAE,YAAY,CAAC0E,EAAE,CAAChC,QAAQ,EAAE,CAAA,gBAAA,EAAmB1G,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE,EAAE,MAAM;IAC7E,KAAK,MAAMiC,OAAO,IAAIa,cAAc,CAAC+C,IAAI,CAACvF,wBAAwB,CAAC,EAAE;EACnEwB,IAAAA,SAAS,CAACsG,mBAAmB,CAACnG,OAAO,CAAC;EACxC,EAAA;EACF,CAAC,CAAC;;;;;;;;"}
@@ -0,0 +1,322 @@
1
+ /*!
2
+ * CoreUI chip.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/index.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Chip = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Index));
10
+ })(this, (function (BaseComponent, EventHandler, SelectorEngine, index_js) { 'use strict';
11
+
12
+ /**
13
+ * --------------------------------------------------------------------------
14
+ * CoreUI chip.js
15
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
16
+ * --------------------------------------------------------------------------
17
+ */
18
+
19
+
20
+ /**
21
+ * Constants
22
+ */
23
+
24
+ const NAME = 'chip';
25
+ const DATA_KEY = 'coreui.chip';
26
+ const EVENT_KEY = `.${DATA_KEY}`;
27
+ const DATA_API_KEY = '.data-api';
28
+ const EVENT_REMOVE = `remove${EVENT_KEY}`;
29
+ const EVENT_REMOVED = `removed${EVENT_KEY}`;
30
+ const EVENT_SELECT = `select${EVENT_KEY}`;
31
+ const EVENT_SELECTED = `selected${EVENT_KEY}`;
32
+ const EVENT_DESELECT = `deselect${EVENT_KEY}`;
33
+ const EVENT_DESELECTED = `deselected${EVENT_KEY}`;
34
+ const SELECTOR_CHIP_REMOVE = '.chip-remove';
35
+ const SELECTOR_DATA_CHIP = '[data-coreui-chip]';
36
+ const SELECTOR_FOCUSABLE_ITEMS = '.chip:not(.disabled)';
37
+ const CLASS_NAME_CHIP_CLICKABLE = 'chip-clickable';
38
+ const CLASS_NAME_CHIP_REMOVE = 'chip-remove';
39
+ const CLASS_NAME_ACTIVE = 'active';
40
+ const CLASS_NAME_DISABLED = 'disabled';
41
+ const DEFAULT_REMOVE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>';
42
+ const Default = {
43
+ ariaRemoveLabel: 'Remove',
44
+ disabled: false,
45
+ removable: false,
46
+ removeIcon: DEFAULT_REMOVE_ICON,
47
+ selectable: false,
48
+ selected: false
49
+ };
50
+ const DefaultType = {
51
+ ariaRemoveLabel: 'string',
52
+ disabled: 'boolean',
53
+ removable: 'boolean',
54
+ removeIcon: 'string',
55
+ selectable: 'boolean',
56
+ selected: 'boolean'
57
+ };
58
+
59
+ /**
60
+ * Class definition
61
+ */
62
+
63
+ class Chip extends BaseComponent {
64
+ constructor(element, config) {
65
+ super(element, config);
66
+ this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED);
67
+ this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE);
68
+ this._ensureRemoveButton();
69
+ this._applyState();
70
+ if (this._config.selectable || this._config.removable) {
71
+ this._makeFocusable();
72
+ }
73
+ this._addEventListeners();
74
+ }
75
+
76
+ // Getters
77
+ static get Default() {
78
+ return Default;
79
+ }
80
+ static get DefaultType() {
81
+ return DefaultType;
82
+ }
83
+ static get NAME() {
84
+ return NAME;
85
+ }
86
+
87
+ // Public
88
+ remove() {
89
+ const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE);
90
+ if (removeEvent.defaultPrevented) {
91
+ return;
92
+ }
93
+ this._destroyElement();
94
+ }
95
+ toggle() {
96
+ if (!this._config.selectable) {
97
+ return;
98
+ }
99
+ if (this._selected) {
100
+ this.deselect();
101
+ return;
102
+ }
103
+ this.select();
104
+ }
105
+ select() {
106
+ if (!this._config.selectable) {
107
+ return;
108
+ }
109
+ if (this._selected) {
110
+ return;
111
+ }
112
+ const selectEvent = EventHandler.trigger(this._element, EVENT_SELECT);
113
+ if (selectEvent.defaultPrevented) {
114
+ return;
115
+ }
116
+ this._selected = true;
117
+ this._applyState();
118
+ EventHandler.trigger(this._element, EVENT_SELECTED);
119
+ }
120
+ deselect() {
121
+ if (!this._config.selectable) {
122
+ return;
123
+ }
124
+ if (!this._selected) {
125
+ return;
126
+ }
127
+ const deselectEvent = EventHandler.trigger(this._element, EVENT_DESELECT);
128
+ if (deselectEvent.defaultPrevented) {
129
+ return;
130
+ }
131
+ this._selected = false;
132
+ this._applyState();
133
+ EventHandler.trigger(this._element, EVENT_DESELECTED);
134
+ }
135
+
136
+ // Private
137
+ _addEventListeners() {
138
+ EventHandler.on(this._element, 'keydown', event => this._handleKeydown(event));
139
+ EventHandler.on(this._element, 'click', event => {
140
+ if (this._disabled) {
141
+ return;
142
+ }
143
+ if (event.target.closest(SELECTOR_CHIP_REMOVE)) {
144
+ return;
145
+ }
146
+ this.toggle();
147
+ });
148
+ EventHandler.on(this._element, 'click', SELECTOR_CHIP_REMOVE, event => {
149
+ event.stopPropagation();
150
+ this.remove();
151
+ });
152
+ }
153
+ _applyState() {
154
+ if (!this._disabled && (this._config.clickable || this._config.selectable)) {
155
+ this._element.classList.add(CLASS_NAME_CHIP_CLICKABLE);
156
+ }
157
+ if (this._disabled) {
158
+ this._element.classList.add(CLASS_NAME_DISABLED);
159
+ this._element.setAttribute('aria-disabled', 'true');
160
+ } else {
161
+ this._element.classList.remove(CLASS_NAME_DISABLED);
162
+ if (this._element.getAttribute('aria-disabled') === 'true') {
163
+ this._element.setAttribute('aria-disabled', 'false');
164
+ }
165
+ }
166
+ if (this._config.selectable) {
167
+ this._element.classList.toggle(CLASS_NAME_ACTIVE, this._selected);
168
+ this._element.setAttribute('aria-selected', this._selected ? 'true' : 'false');
169
+ } else {
170
+ this._element.classList.remove(CLASS_NAME_ACTIVE);
171
+ if (this._element.getAttribute('aria-selected') === 'true') {
172
+ this._element.setAttribute('aria-selected', 'false');
173
+ }
174
+ }
175
+ }
176
+ _createRemoveButton() {
177
+ const button = document.createElement('button');
178
+ button.type = 'button';
179
+ button.className = CLASS_NAME_CHIP_REMOVE;
180
+ button.setAttribute('aria-label', this._config.ariaRemoveLabel);
181
+ button.setAttribute('tabindex', '-1'); // Not in tab order, chips handle keyboard
182
+ button.innerHTML = this._config.removeIcon;
183
+ return button;
184
+ }
185
+ _ensureRemoveButton() {
186
+ if (!this._config.removable) {
187
+ return;
188
+ }
189
+ if (SelectorEngine.findOne(SELECTOR_CHIP_REMOVE, this._element)) {
190
+ return;
191
+ }
192
+ this._element.append(this._createRemoveButton());
193
+ }
194
+ _makeFocusable() {
195
+ if (this._element.hasAttribute('tabindex') || this._disabled) {
196
+ return;
197
+ }
198
+ this._element.setAttribute('tabindex', '0');
199
+ }
200
+ _handleKeydown(event) {
201
+ const {
202
+ key
203
+ } = event;
204
+ if (this._disabled) {
205
+ return;
206
+ }
207
+ switch (key) {
208
+ case 'Enter':
209
+ case ' ':
210
+ case 'Spacebar':
211
+ {
212
+ if (!this._config.selectable) {
213
+ return;
214
+ }
215
+ event.preventDefault();
216
+ this.toggle();
217
+ break;
218
+ }
219
+ case 'Backspace':
220
+ case 'Delete':
221
+ {
222
+ if (this._config.removable) {
223
+ event.preventDefault();
224
+ const sibling = this._getFocusableSibling(false) || this._getFocusableSibling(true);
225
+ sibling == null || sibling.focus();
226
+ this.remove();
227
+ }
228
+ break;
229
+ }
230
+ case 'ArrowLeft':
231
+ {
232
+ event.preventDefault();
233
+ const chip = this._getFocusableSibling(false);
234
+ chip == null || chip.focus();
235
+ break;
236
+ }
237
+ case 'ArrowRight':
238
+ {
239
+ event.preventDefault();
240
+ const chip = this._getFocusableSibling(true);
241
+ chip == null || chip.focus();
242
+ break;
243
+ }
244
+ case 'Home':
245
+ {
246
+ event.preventDefault();
247
+ this._navigateToEdge(0);
248
+ break;
249
+ }
250
+ case 'End':
251
+ {
252
+ event.preventDefault();
253
+ this._navigateToEdge(-1);
254
+ break;
255
+ }
256
+
257
+ // No default
258
+ }
259
+ }
260
+ _getFocusableSibling(shouldGetNext) {
261
+ const chips = SelectorEngine.find(SELECTOR_FOCUSABLE_ITEMS, this._element.parentElement);
262
+ const sibling = index_js.getNextActiveElement(chips, this._element, shouldGetNext, !chips.includes(this._element));
263
+ return sibling === this._element ? null : sibling;
264
+ }
265
+ _navigateToEdge(targetIndex) {
266
+ const chips = SelectorEngine.find(SELECTOR_FOCUSABLE_ITEMS, this._element.parentElement);
267
+ if (chips.length === 0) {
268
+ return;
269
+ }
270
+ const targetChip = chips.at(targetIndex);
271
+ targetChip == null || targetChip.focus();
272
+ }
273
+ _destroyElement() {
274
+ EventHandler.trigger(this._element, EVENT_REMOVED);
275
+ this._element.remove();
276
+ this.dispose();
277
+ }
278
+
279
+ // Static
280
+ static chipInterface(element, config) {
281
+ const data = Chip.getOrCreateInstance(element, config);
282
+ if (typeof config === 'string') {
283
+ if (typeof data[config] === 'undefined') {
284
+ throw new TypeError(`No method named "${config}"`);
285
+ }
286
+ data[config]();
287
+ }
288
+ }
289
+ static jQueryInterface(config) {
290
+ return this.each(function () {
291
+ const data = Chip.getOrCreateInstance(this);
292
+ if (typeof config !== 'string') {
293
+ return;
294
+ }
295
+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
296
+ throw new TypeError(`No method named "${config}"`);
297
+ }
298
+ data[config](this);
299
+ });
300
+ }
301
+ }
302
+
303
+ /**
304
+ * Data API implementation
305
+ */
306
+
307
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {
308
+ for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP)) {
309
+ Chip.chipInterface(element);
310
+ }
311
+ });
312
+
313
+ /**
314
+ * jQuery
315
+ */
316
+
317
+ index_js.defineJQueryPlugin(Chip);
318
+
319
+ return Chip;
320
+
321
+ }));
322
+ //# sourceMappingURL=chip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.js","sources":["../src/chip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI chip.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getNextActiveElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chip'\nconst DATA_KEY = 'coreui.chip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_REMOVED = `removed${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\nconst EVENT_SELECTED = `selected${EVENT_KEY}`\nconst EVENT_DESELECT = `deselect${EVENT_KEY}`\nconst EVENT_DESELECTED = `deselected${EVENT_KEY}`\n\nconst SELECTOR_CHIP_REMOVE = '.chip-remove'\nconst SELECTOR_DATA_CHIP = '[data-coreui-chip]'\nconst SELECTOR_FOCUSABLE_ITEMS = '.chip:not(.disabled)'\n\nconst CLASS_NAME_CHIP_CLICKABLE = 'chip-clickable'\nconst CLASS_NAME_CHIP_REMOVE = 'chip-remove'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\n\nconst DEFAULT_REMOVE_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n ariaRemoveLabel: 'Remove',\n disabled: false,\n removable: false,\n removeIcon: DEFAULT_REMOVE_ICON,\n selectable: false,\n selected: false\n}\n\nconst DefaultType = {\n ariaRemoveLabel: 'string',\n disabled: 'boolean',\n removable: 'boolean',\n removeIcon: 'string',\n selectable: 'boolean',\n selected: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Chip extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)\n this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE)\n\n this._ensureRemoveButton()\n this._applyState()\n\n if (this._config.selectable || this._config.removable) {\n this._makeFocusable()\n }\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n remove() {\n const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE)\n\n if (removeEvent.defaultPrevented) {\n return\n }\n\n this._destroyElement()\n }\n\n toggle() {\n if (!this._config.selectable) {\n return\n }\n\n if (this._selected) {\n this.deselect()\n return\n }\n\n this.select()\n }\n\n select() {\n if (!this._config.selectable) {\n return\n }\n\n if (this._selected) {\n return\n }\n\n const selectEvent = EventHandler.trigger(this._element, EVENT_SELECT)\n if (selectEvent.defaultPrevented) {\n return\n }\n\n this._selected = true\n this._applyState()\n\n EventHandler.trigger(this._element, EVENT_SELECTED)\n }\n\n deselect() {\n if (!this._config.selectable) {\n return\n }\n\n if (!this._selected) {\n return\n }\n\n const deselectEvent = EventHandler.trigger(this._element, EVENT_DESELECT)\n if (deselectEvent.defaultPrevented) {\n return\n }\n\n this._selected = false\n this._applyState()\n\n EventHandler.trigger(this._element, EVENT_DESELECTED)\n }\n\n // Private\n _addEventListeners() {\n EventHandler.on(this._element, 'keydown', event => this._handleKeydown(event))\n\n EventHandler.on(this._element, 'click', event => {\n if (this._disabled) {\n return\n }\n\n if (event.target.closest(SELECTOR_CHIP_REMOVE)) {\n return\n }\n\n this.toggle()\n })\n\n EventHandler.on(this._element, 'click', SELECTOR_CHIP_REMOVE, event => {\n event.stopPropagation()\n this.remove()\n })\n }\n\n _applyState() {\n if (!this._disabled && (this._config.clickable || this._config.selectable)) {\n this._element.classList.add(CLASS_NAME_CHIP_CLICKABLE)\n }\n\n if (this._disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n this._element.setAttribute('aria-disabled', 'true')\n } else {\n this._element.classList.remove(CLASS_NAME_DISABLED)\n if (this._element.getAttribute('aria-disabled') === 'true') {\n this._element.setAttribute('aria-disabled', 'false')\n }\n }\n\n if (this._config.selectable) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE, this._selected)\n this._element.setAttribute('aria-selected', this._selected ? 'true' : 'false')\n } else {\n this._element.classList.remove(CLASS_NAME_ACTIVE)\n if (this._element.getAttribute('aria-selected') === 'true') {\n this._element.setAttribute('aria-selected', 'false')\n }\n }\n }\n\n _createRemoveButton() {\n const button = document.createElement('button')\n button.type = 'button'\n button.className = CLASS_NAME_CHIP_REMOVE\n button.setAttribute('aria-label', this._config.ariaRemoveLabel)\n button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n button.innerHTML = this._config.removeIcon\n return button\n }\n\n _ensureRemoveButton() {\n if (!this._config.removable) {\n return\n }\n\n if (SelectorEngine.findOne(SELECTOR_CHIP_REMOVE, this._element)) {\n return\n }\n\n this._element.append(this._createRemoveButton())\n }\n\n _makeFocusable() {\n if (this._element.hasAttribute('tabindex') || this._disabled) {\n return\n }\n\n this._element.setAttribute('tabindex', '0')\n }\n\n _handleKeydown(event) {\n const { key } = event\n if (this._disabled) {\n return\n }\n\n switch (key) {\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n if (!this._config.selectable) {\n return\n }\n\n event.preventDefault()\n this.toggle()\n break\n }\n\n case 'Backspace':\n case 'Delete': {\n if (this._config.removable) {\n event.preventDefault()\n const sibling = this._getFocusableSibling(false) || this._getFocusableSibling(true)\n sibling?.focus()\n this.remove()\n }\n\n break\n }\n\n case 'ArrowLeft': {\n event.preventDefault()\n const chip = this._getFocusableSibling(false)\n chip?.focus()\n\n break\n }\n\n case 'ArrowRight': {\n event.preventDefault()\n const chip = this._getFocusableSibling(true)\n chip?.focus()\n\n break\n }\n\n case 'Home': {\n event.preventDefault()\n this._navigateToEdge(0)\n break\n }\n\n case 'End': {\n event.preventDefault()\n this._navigateToEdge(-1)\n break\n }\n\n // No default\n }\n }\n\n _getFocusableSibling(shouldGetNext) {\n const chips = SelectorEngine.find(SELECTOR_FOCUSABLE_ITEMS, this._element.parentElement)\n const sibling = getNextActiveElement(chips, this._element, shouldGetNext, !chips.includes(this._element))\n return sibling === this._element ? null : sibling\n }\n\n _navigateToEdge(targetIndex) {\n const chips = SelectorEngine.find(SELECTOR_FOCUSABLE_ITEMS, this._element.parentElement)\n if (chips.length === 0) {\n return\n }\n\n const targetChip = chips.at(targetIndex)\n targetChip?.focus()\n }\n\n _destroyElement() {\n EventHandler.trigger(this._element, EVENT_REMOVED)\n this._element.remove()\n this.dispose()\n }\n\n // Static\n static chipInterface(element, config) {\n const data = Chip.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Chip.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP)) {\n Chip.chipInterface(element)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Chip)\n\nexport default Chip\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_REMOVE","EVENT_REMOVED","EVENT_SELECT","EVENT_SELECTED","EVENT_DESELECT","EVENT_DESELECTED","SELECTOR_CHIP_REMOVE","SELECTOR_DATA_CHIP","SELECTOR_FOCUSABLE_ITEMS","CLASS_NAME_CHIP_CLICKABLE","CLASS_NAME_CHIP_REMOVE","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","DEFAULT_REMOVE_ICON","Default","ariaRemoveLabel","disabled","removable","removeIcon","selectable","selected","DefaultType","Chip","BaseComponent","constructor","element","config","_disabled","_config","_element","classList","contains","_selected","_ensureRemoveButton","_applyState","_makeFocusable","_addEventListeners","remove","removeEvent","EventHandler","trigger","defaultPrevented","_destroyElement","toggle","deselect","select","selectEvent","deselectEvent","on","event","_handleKeydown","target","closest","stopPropagation","clickable","add","setAttribute","getAttribute","_createRemoveButton","button","document","createElement","type","className","innerHTML","SelectorEngine","findOne","append","hasAttribute","key","preventDefault","sibling","_getFocusableSibling","focus","chip","_navigateToEdge","shouldGetNext","chips","find","parentElement","getNextActiveElement","includes","targetIndex","length","targetChip","at","dispose","chipInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","undefined","startsWith","defineJQueryPlugin"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI collapse.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI collapse.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI data.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI data.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI event-handler.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI event-handler.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI manipulator.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI manipulator.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI selector-engine.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI selector-engine.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI dropdown.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI dropdown.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
package/js/dist/modal.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI modal.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI modal.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI navigation.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI navigation.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI offcanvas.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI offcanvas.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI popover.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI popover.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI scrollspy.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI scrollspy.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI sidebar.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI sidebar.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
package/js/dist/tab.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI tab.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI tab.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
package/js/dist/toast.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI toast.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI toast.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI tooltip.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI tooltip.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI backdrop.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI backdrop.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI component-functions.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI component-functions.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * CoreUI config.js v5.5.0 (https://coreui.io)
3
- * Copyright 2025 The CoreUI Team (https://github.com/orgs/coreui/people)
2
+ * CoreUI config.js v5.6.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {