@aquera/nile-elements 0.1.67-beta-1.6 → 0.1.67-beta-1.7

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 (185) hide show
  1. package/demo/index.html +11 -5
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +81 -12
  5. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  6. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  7. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  8. package/dist/nile-badge/index.cjs.js +1 -1
  9. package/dist/nile-badge/index.esm.js +1 -1
  10. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  11. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  12. package/dist/nile-badge/nile-badge.esm.js +1 -1
  13. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  14. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  15. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  16. package/dist/nile-button/index.cjs.js +1 -1
  17. package/dist/nile-button/index.esm.js +1 -1
  18. package/dist/nile-button/nile-button.cjs.js +1 -1
  19. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  20. package/dist/nile-button/nile-button.esm.js +1 -1
  21. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  22. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  23. package/dist/nile-button/nile-button.test.esm.js +1 -1
  24. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  26. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  27. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  29. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  30. package/dist/nile-dialog/index.cjs.js +1 -1
  31. package/dist/nile-dialog/index.esm.js +1 -1
  32. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  33. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  34. package/dist/nile-dialog/nile-dialog.esm.js +2 -2
  35. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  36. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  37. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  38. package/dist/nile-drawer/index.cjs.js +1 -1
  39. package/dist/nile-drawer/index.esm.js +1 -1
  40. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  41. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  42. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  43. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  44. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  45. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  46. package/dist/nile-icon/icons/svg/format_clear.cjs.js +2 -0
  47. package/dist/nile-icon/icons/svg/format_clear.cjs.js.map +1 -0
  48. package/dist/nile-icon/icons/svg/format_clear.esm.js +1 -0
  49. package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js +2 -0
  50. package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js.map +1 -0
  51. package/dist/nile-icon/icons/svg/format_list_bulleted.esm.js +1 -0
  52. package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js +2 -0
  53. package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js.map +1 -0
  54. package/dist/nile-icon/icons/svg/format_list_numbered.esm.js +1 -0
  55. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  56. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  57. package/dist/nile-icon/index.cjs.js +1 -1
  58. package/dist/nile-icon/index.cjs.js.map +1 -1
  59. package/dist/nile-icon/index.esm.js +2 -2
  60. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  61. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  62. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  63. package/dist/nile-icon-button/index.cjs.js +1 -1
  64. package/dist/nile-icon-button/index.esm.js +1 -1
  65. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  66. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  67. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  68. package/dist/nile-input/index.cjs.js +1 -1
  69. package/dist/nile-input/index.esm.js +1 -1
  70. package/dist/nile-input/nile-input.cjs.js +1 -1
  71. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  72. package/dist/nile-input/nile-input.esm.js +1 -1
  73. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  74. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  75. package/dist/nile-input/nile-input.test.esm.js +1 -1
  76. package/dist/nile-menu-item/index.cjs.js +1 -1
  77. package/dist/nile-menu-item/index.esm.js +1 -1
  78. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  79. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  80. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  81. package/dist/nile-option/index.cjs.js +1 -1
  82. package/dist/nile-option/index.esm.js +1 -1
  83. package/dist/nile-option/nile-option.cjs.js +1 -1
  84. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  85. package/dist/nile-option/nile-option.esm.js +1 -1
  86. package/dist/nile-rich-text-editor/index.cjs.js +1 -1
  87. package/dist/nile-rich-text-editor/index.esm.js +1 -1
  88. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
  89. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
  90. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  91. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  92. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +3 -5
  93. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
  94. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +1 -1
  95. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -1
  96. package/dist/nile-rich-text-editor/nile-rte-color.esm.js +54 -1
  97. package/dist/nile-rich-text-editor/nile-rte-link.cjs.js +2 -0
  98. package/dist/nile-rich-text-editor/nile-rte-link.cjs.js.map +1 -0
  99. package/dist/nile-rich-text-editor/nile-rte-link.esm.js +19 -0
  100. package/dist/nile-rich-text-editor/utils.cjs.js +1 -1
  101. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -1
  102. package/dist/nile-rich-text-editor/utils.esm.js +1 -1
  103. package/dist/nile-select/index.cjs.js +1 -1
  104. package/dist/nile-select/index.esm.js +1 -1
  105. package/dist/nile-select/nile-select.cjs.js +1 -1
  106. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  107. package/dist/nile-select/nile-select.esm.js +1 -1
  108. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  109. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  110. package/dist/nile-select/nile-select.test.esm.js +1 -1
  111. package/dist/nile-tab/index.cjs.js +1 -1
  112. package/dist/nile-tab/index.esm.js +1 -1
  113. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  114. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  115. package/dist/nile-tab/nile-tab.esm.js +1 -1
  116. package/dist/nile-tab-group/index.cjs.js +1 -1
  117. package/dist/nile-tab-group/index.esm.js +1 -1
  118. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  119. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  120. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  121. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  122. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  123. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  124. package/dist/nile-tag/index.cjs.js +1 -1
  125. package/dist/nile-tag/index.esm.js +1 -1
  126. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  127. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  128. package/dist/nile-tag/nile-tag.esm.js +1 -1
  129. package/dist/nile-toast/index.cjs.js +1 -1
  130. package/dist/nile-toast/index.esm.js +1 -1
  131. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  132. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  133. package/dist/nile-toast/nile-toast.esm.js +1 -1
  134. package/dist/nile-tree/index.cjs.js +1 -1
  135. package/dist/nile-tree/index.esm.js +1 -1
  136. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  137. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  138. package/dist/nile-tree/nile-tree.esm.js +1 -1
  139. package/dist/nile-tree-item/index.cjs.js +1 -1
  140. package/dist/nile-tree-item/index.esm.js +1 -1
  141. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  142. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  143. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  144. package/dist/nile-virtual-select/index.cjs.js +1 -1
  145. package/dist/nile-virtual-select/index.esm.js +1 -1
  146. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  147. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  148. package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
  149. package/dist/src/nile-icon/icons/svg/format_clear.d.ts +5 -0
  150. package/dist/src/nile-icon/icons/svg/format_clear.js +5 -0
  151. package/dist/src/nile-icon/icons/svg/format_clear.js.map +1 -0
  152. package/dist/src/nile-icon/icons/svg/format_list_bulleted.d.ts +5 -0
  153. package/dist/src/nile-icon/icons/svg/format_list_bulleted.js +5 -0
  154. package/dist/src/nile-icon/icons/svg/format_list_bulleted.js.map +1 -0
  155. package/dist/src/nile-icon/icons/svg/format_list_numbered.d.ts +5 -0
  156. package/dist/src/nile-icon/icons/svg/format_list_numbered.js +5 -0
  157. package/dist/src/nile-icon/icons/svg/format_list_numbered.js.map +1 -0
  158. package/dist/src/nile-icon/icons/svg/index.d.ts +3 -0
  159. package/dist/src/nile-icon/icons/svg/index.js +3 -0
  160. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  161. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +3 -5
  162. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  163. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +1 -0
  164. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +18 -78
  165. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
  166. package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +11 -3
  167. package/dist/src/nile-rich-text-editor/nile-rte-color.js +171 -6
  168. package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -1
  169. package/dist/src/nile-rich-text-editor/nile-rte-link.d.ts +19 -0
  170. package/dist/src/nile-rich-text-editor/nile-rte-link.js +172 -0
  171. package/dist/src/nile-rich-text-editor/nile-rte-link.js.map +1 -0
  172. package/dist/src/nile-rich-text-editor/sanatize.d.ts +1 -0
  173. package/dist/src/nile-rich-text-editor/sanatize.js +40 -0
  174. package/dist/src/nile-rich-text-editor/sanatize.js.map +1 -0
  175. package/dist/tsconfig.tsbuildinfo +1 -1
  176. package/package.json +1 -1
  177. package/src/nile-icon/icons/svg/format_clear.ts +5 -0
  178. package/src/nile-icon/icons/svg/format_list_bulleted.ts +5 -0
  179. package/src/nile-icon/icons/svg/format_list_numbered.ts +5 -0
  180. package/src/nile-icon/icons/svg/index.ts +3 -0
  181. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +3 -5
  182. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +26 -80
  183. package/src/nile-rich-text-editor/nile-rte-color.ts +182 -6
  184. package/src/nile-rich-text-editor/nile-rte-link.ts +161 -0
  185. package/vscode-html-custom-data.json +33 -3
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab-group.cjs.js","sources":["../../../src/nile-tab-group/nile-tab-group.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult, nothing} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-tab-group.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport type NileTab from '../nile-tab/nile-tab';\nimport type NileTabPanel from '../nile-tab-panel/nile-tab-panel';\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-tab>` elements.\n *\n * @event {{ name: String }} nile-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} nile-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n *\n */\n@customElement('nile-tab-group')\nexport class NileTabGroup extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n /** The placement of the tabs. */\n @property({ reflect: true, attribute: 'value', type: String }) activeTabProp: string = '';\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true, attribute:'no-track'}) noTrack = false;\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n @state() activeTabName: string = '';\n\n connectedCallback() {\n const whenAllDefined = Promise.allSettled([\n customElements.whenDefined('nile-tab'),\n customElements.whenDefined('nile-tab-panel')\n ]);\n\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.repositionIndicator();\n // this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n });\n\n // After the first update...\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n if(this.activeTabProp) this.activeTabName=this.activeTabProp;\n else this.activeTabName=this.getActiveTab().panel;\n this.syncIndicator();\n\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n // Wait for tabs and tab panels to be registered\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n \n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n this.addEventListener('nile-toggle-change', this.handleToggleFromTab);\n }\n\n protected updated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n if(_changedProperties.has('activeTabName')){\n const tab=this.getActiveTab()\n if(!tab) return;\n this.setActiveTab(tab, {scrollBehavior: 'smooth' });\n }\n if(_changedProperties.has('activeTabProp')){\n this.activeTabName=this.activeTabProp;\n }\n }\n\n // @watch('noScrollControls', { waitUntilFirstUpdate: true })\n // updateScrollControls() {\n // this.setScrollControls()\n // }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n if(!this.indicator) return;\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n \n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'tab-group': true,\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--start': this.placement === 'start',\n 'tab-group--end': this.placement === 'end',\n 'tab-group--rtl': true,\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n 'hide__track':this.noTrack\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.handleScrollToEnd}\n ></nile-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator-path\" class=\"tab-group__indicator__path\"></div>\n <div\n part=\"active-tab-indicator\"\n class=${classMap({\n 'tab-group__indicator': !this.noTrack,\n })}\n ></div>\n\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name='arrowleft'\n library=\"system\"\n label=\"scrollToEnd\"\n @click=${this.handleScrollToStart}\n ></nile-icon-button>\n `\n : ''}\n </div>\n\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as NileTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'nile-tab'\n : el.tagName.toLowerCase() === 'nile-tab' && !el.disabled;\n });\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === 'nile-tab-panel') as [NileTabPanel];\n }\n\n private getActiveTab() {\n return this.tabs.find(el => this.activeTabName?el.panel==this.activeTabName:el.active) ?? this.tabs[0];\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null && !tab.disabled) {\n this.activeTabName=tab.panel\n }\n }\n\n setScrollControls(){\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls = ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n this.hasScrollControls = false;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab !== null) {\n this.activeTabName=tab.panel\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = tab;\n const isRtl = false;\n\n if (activeEl?.tagName.toLowerCase() === 'nile-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.length - 1;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowRight' : 'ArrowLeft')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n index--;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.activeTabName=this.tabs[index].panel\n }\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left:-this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit('nile-tab-hide', { value: previousTab.panel });\n }\n\n this.emit('nile-tab-show', { value: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id')!);\n panel.setAttribute('aria-labelledby', tab.getAttribute('id')!);\n }\n });\n }\n\n private repositionIndicator() {\n const currentTab = this.getActiveTab();\n\n if (!currentTab || !this.indicator) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = false;\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth + 12,\n top: previous.top + current.clientHeight + 12\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width - 5}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left + 2}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n\n this.tabs.forEach((tab:any) => {\n tab.centered = this.centered;\n });\n\n // After updating, show or hide scroll controls as needed\n // this.updateComplete.then(() => this.updateScrollControls());\n }\n \n private handleToggleFromTab(e:CustomEvent){\n e.stopPropagation();\n this.activeTabName=e.detail.value;\n }\n\n}\n\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"],"names":["NileTabGroup","m","this","tabs","panels","hasScrollControls","placement","activeTabProp","noTrack","activation","noScrollControls","centered","activeTabName","_this","_inherits","_p","_createClass","key","value","connectedCallback","whenAllDefined","Promise","allSettled","customElements","whenDefined","super","resizeObserver","ResizeObserver","repositionIndicator","mutationObserver","MutationObserver","mutations","some","includes","attributeName","setTimeout","setAriaLabels","syncTabsAndPanels","updateComplete","then","getActiveTab","panel","syncIndicator","observe","attributes","childList","subtree","nav","IntersectionObserver","entries","observer","intersectionRatio","unobserve","target","tabGroup","disconnectedCallback","disconnect","firstUpdated","_changedProperties","addEventListener","handleToggleFromTab","updated","has","tab","setActiveTab","scrollBehavior","indicator","style","display","render","html","_templateObject","_taggedTemplateLiteral","classMap","hide__track","handleClick","handleKeyDown","_templateObject2","handleScrollToEnd","_templateObject3","handleScrollToStart","getAllTabs","options","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","_this$tabs$find","_this3","find","active","event","closest","setScrollControls","scrollWidth","clientWidth","preventDefault","activeEl","index","indexOf","length","focus","preventScroll","scrollIntoView","scroll","left","behavior","emitEvents","activeTab","previousTab","map","name","emit","forEach","setAttribute","getAttribute","currentTab","width","height","clientHeight","allTabs","offset","slice","reduce","previous","current","top","translate","e","stopPropagation","detail","NileElement","styles","__decorate","query","prototype","state","property","reflect","attribute","type","String","Boolean","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-tab-group.cjs.js","sources":["../../../src/nile-tab-group/nile-tab-group.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult, nothing} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-tab-group.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\nimport type NileTab from '../nile-tab/nile-tab';\nimport type NileTabPanel from '../nile-tab-panel/nile-tab-panel';\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-tab>` elements.\n *\n * @event {{ name: String }} nile-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} nile-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n *\n */\n@customElement('nile-tab-group')\nexport class NileTabGroup extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n /** The placement of the tabs. */\n @property({ reflect: true, attribute: 'value', type: String }) activeTabProp: string = '';\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true, attribute:'no-track'}) noTrack = false;\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n @state() activeTabName: string = '';\n\n connectedCallback() {\n const whenAllDefined = Promise.allSettled([\n customElements.whenDefined('nile-tab'),\n customElements.whenDefined('nile-tab-panel')\n ]);\n\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.repositionIndicator();\n // this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n });\n\n // After the first update...\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n if(this.activeTabProp) this.activeTabName=this.activeTabProp;\n else this.activeTabName=this.getActiveTab().panel;\n this.syncIndicator();\n\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n // Wait for tabs and tab panels to be registered\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n \n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n this.addEventListener('nile-toggle-change', this.handleToggleFromTab);\n }\n\n protected updated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n if(_changedProperties.has('activeTabName')){\n const tab=this.getActiveTab()\n if(!tab) return;\n this.setActiveTab(tab, {scrollBehavior: 'smooth' });\n }\n if(_changedProperties.has('activeTabProp')){\n this.activeTabName=this.activeTabProp;\n }\n }\n\n // @watch('noScrollControls', { waitUntilFirstUpdate: true })\n // updateScrollControls() {\n // this.setScrollControls()\n // }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n if(!this.indicator) return;\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n \n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'tab-group': true,\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--start': this.placement === 'start',\n 'tab-group--end': this.placement === 'end',\n 'tab-group--rtl': true,\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n 'hide__track':this.noTrack\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.handleScrollToEnd}\n ></nile-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator-path\" class=\"tab-group__indicator__path\"></div>\n <div\n part=\"active-tab-indicator\"\n class=${classMap({\n 'tab-group__indicator': !this.noTrack,\n })}\n ></div>\n\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name='arrowleft'\n library=\"system\"\n label=\"scrollToEnd\"\n @click=${this.handleScrollToStart}\n ></nile-icon-button>\n `\n : ''}\n </div>\n\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as NileTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'nile-tab'\n : el.tagName.toLowerCase() === 'nile-tab' && !el.disabled;\n });\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === 'nile-tab-panel') as [NileTabPanel];\n }\n\n private getActiveTab() {\n return this.tabs.find(el => this.activeTabName?el.panel==this.activeTabName:el.active) ?? this.tabs[0];\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null && !tab.disabled) {\n this.activeTabName=tab.panel\n }\n }\n\n setScrollControls(){\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls = ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n this.hasScrollControls = false;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('nile-tab');\n const tabGroup = tab?.closest('nile-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab !== null) {\n this.activeTabName=tab.panel\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = tab;\n const isRtl = false;\n\n if (activeEl?.tagName.toLowerCase() === 'nile-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.length - 1;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowRight' : 'ArrowLeft')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n index--;\n } else if (\n (['top', 'bottom'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.activeTabName=this.tabs[index].panel\n }\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left:-this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:this.nav.scrollWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit('nile-tab-hide', { value: previousTab.panel });\n }\n\n this.emit('nile-tab-show', { value: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id')!);\n panel.setAttribute('aria-labelledby', tab.getAttribute('id')!);\n }\n });\n }\n\n private repositionIndicator() {\n const currentTab = this.getActiveTab();\n\n if (!currentTab || !this.indicator) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = false;\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth + 12,\n top: previous.top + current.clientHeight + 12\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width - 5}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left + 2}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n\n this.tabs.forEach((tab:any) => {\n tab.centered = this.centered;\n });\n\n // After updating, show or hide scroll controls as needed\n // this.updateComplete.then(() => this.updateScrollControls());\n }\n \n private handleToggleFromTab(e:CustomEvent){\n e.stopPropagation();\n this.activeTabName=e.detail.value;\n }\n\n}\n\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"],"names":["NileTabGroup","_p","m","constructor","this","tabs","panels","hasScrollControls","placement","activeTabProp","noTrack","activation","noScrollControls","centered","activeTabName","_this","_inherits","_createClass","key","value","connectedCallback","whenAllDefined","Promise","allSettled","customElements","whenDefined","super","resizeObserver","ResizeObserver","repositionIndicator","mutationObserver","MutationObserver","mutations","some","includes","attributeName","setTimeout","setAriaLabels","syncTabsAndPanels","updateComplete","then","getActiveTab","panel","syncIndicator","observe","attributes","childList","subtree","nav","IntersectionObserver","entries","observer","intersectionRatio","unobserve","target","tabGroup","disconnectedCallback","disconnect","firstUpdated","_changedProperties","addEventListener","handleToggleFromTab","updated","has","tab","setActiveTab","scrollBehavior","indicator","style","display","render","html","_templateObject","_taggedTemplateLiteral","classMap","hide__track","handleClick","handleKeyDown","_templateObject2","handleScrollToEnd","_templateObject3","handleScrollToStart","getAllTabs","options","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","_this$tabs$find","_this3","find","active","event","closest","setScrollControls","scrollWidth","clientWidth","preventDefault","activeEl","index","indexOf","length","focus","preventScroll","scrollIntoView","scroll","left","behavior","emitEvents","activeTab","previousTab","map","name","emit","forEach","setAttribute","getAttribute","currentTab","width","height","clientHeight","allTabs","offset","slice","reduce","previous","current","top","translate","e","stopPropagation","detail","NileElement","styles","__decorate","query","prototype","state","property","reflect","attribute","type","String","Boolean","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,state as n,property as e,customElement as t}from"lit/decorators.js";import{s as c}from"./nile-tab-group.css.esm.js";import"../nile-icon-button/nile-icon-button.esm.js";import{classMap as m}from"lit/directives/class-map.js";import{s as r}from"../internal/scroll.esm.js";import{w as l}from"../internal/watch.esm.js";import{N as p}from"../internal/nile-element.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"../nile-icon/index.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/format_align_justify.esm.js";import"../nile-icon/icons/svg/format_align_left.esm.js";import"../nile-icon/icons/svg/format_align_middle.esm.js";import"../nile-icon/icons/svg/format_align_right.esm.js";import"../nile-icon/icons/svg/format_bold.esm.js";import"../nile-icon/icons/svg/format_italic.esm.js";import"../nile-icon/icons/svg/format_underline.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/image_2.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/link_2.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"lit/static-html.js";import"lit/directives/if-defined.js";import"../internal/offset.esm.js";let g=class extends p{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.activeTabProp="",this.noTrack=!1,this.activation="auto",this.noScrollControls=!1,this.centered=!1,this.activeTabName=""}connectedCallback(){const i=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator()})),this.mutationObserver=new MutationObserver((i=>{i.some((i=>!["aria-labelledby","aria-controls"].includes(i.attributeName)))&&setTimeout((()=>this.setAriaLabels())),i.some((i=>"disabled"===i.attributeName))&&this.syncTabsAndPanels()})),this.updateComplete.then((()=>{this.syncTabsAndPanels(),this.activeTabProp?this.activeTabName=this.activeTabProp:this.activeTabName=this.getActiveTab().panel,this.syncIndicator(),this.mutationObserver.observe(this,{attributes:!0,childList:!0,subtree:!0}),this.resizeObserver.observe(this.nav),i.then((()=>{new IntersectionObserver(((i,s)=>{i[0].intersectionRatio>0&&(this.setAriaLabels(),s.unobserve(i[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}firstUpdated(i){this.addEventListener("nile-toggle-change",this.handleToggleFromTab)}updated(i){if(i.has("activeTabName")){const i=this.getActiveTab();if(!i)return;this.setActiveTab(i,{scrollBehavior:"smooth"})}i.has("activeTabProp")&&(this.activeTabName=this.activeTabProp)}syncIndicator(){if(!this.indicator)return;this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}render(){return s`
1
+ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as o,state as n,property as e,customElement as t}from"lit/decorators.js";import{s as c}from"./nile-tab-group.css.esm.js";import"../nile-icon-button/nile-icon-button.esm.js";import{classMap as m}from"lit/directives/class-map.js";import{s as r}from"../internal/scroll.esm.js";import{w as l}from"../internal/watch.esm.js";import{N as p}from"../internal/nile-element.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"../nile-icon/index.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/format_align_justify.esm.js";import"../nile-icon/icons/svg/format_align_left.esm.js";import"../nile-icon/icons/svg/format_align_middle.esm.js";import"../nile-icon/icons/svg/format_align_right.esm.js";import"../nile-icon/icons/svg/format_bold.esm.js";import"../nile-icon/icons/svg/format_clear.esm.js";import"../nile-icon/icons/svg/format_italic.esm.js";import"../nile-icon/icons/svg/format_list_bulleted.esm.js";import"../nile-icon/icons/svg/format_list_numbered.esm.js";import"../nile-icon/icons/svg/format_underline.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/image_2.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/link_2.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"lit/static-html.js";import"lit/directives/if-defined.js";import"../internal/offset.esm.js";let g=class extends p{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.activeTabProp="",this.noTrack=!1,this.activation="auto",this.noScrollControls=!1,this.centered=!1,this.activeTabName=""}connectedCallback(){const i=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator()})),this.mutationObserver=new MutationObserver((i=>{i.some((i=>!["aria-labelledby","aria-controls"].includes(i.attributeName)))&&setTimeout((()=>this.setAriaLabels())),i.some((i=>"disabled"===i.attributeName))&&this.syncTabsAndPanels()})),this.updateComplete.then((()=>{this.syncTabsAndPanels(),this.activeTabProp?this.activeTabName=this.activeTabProp:this.activeTabName=this.getActiveTab().panel,this.syncIndicator(),this.mutationObserver.observe(this,{attributes:!0,childList:!0,subtree:!0}),this.resizeObserver.observe(this.nav),i.then((()=>{new IntersectionObserver(((i,s)=>{i[0].intersectionRatio>0&&(this.setAriaLabels(),s.unobserve(i[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}firstUpdated(i){this.addEventListener("nile-toggle-change",this.handleToggleFromTab)}updated(i){if(i.has("activeTabName")){const i=this.getActiveTab();if(!i)return;this.setActiveTab(i,{scrollBehavior:"smooth"})}i.has("activeTabProp")&&(this.activeTabName=this.activeTabProp)}syncIndicator(){if(!this.indicator)return;this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}render(){return s`
2
2
  <div
3
3
  part="base"
4
4
  class=${m({"tab-group":!0,"tab-group--top":"top"===this.placement,"tab-group--bottom":"bottom"===this.placement,"tab-group--start":"start"===this.placement,"tab-group--end":"end"===this.placement,"tab-group--rtl":!0,"tab-group--has-scroll-controls":this.hasScrollControls,hide__track:this.noTrack})}