@aquera/nile-elements 0.0.60 → 0.0.62

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 (104) hide show
  1. package/README.md +8 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +2 -0
  4. package/dist/index.cjs.js +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.iife.js +88 -18
  7. package/dist/nile-badge/index.cjs.js +1 -1
  8. package/dist/nile-badge/index.esm.js +1 -1
  9. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  10. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  11. package/dist/nile-badge/nile-badge.esm.js +1 -1
  12. package/dist/nile-button/index.cjs.js +1 -1
  13. package/dist/nile-button/index.esm.js +1 -1
  14. package/dist/nile-button/nile-button.cjs.js +1 -1
  15. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  16. package/dist/nile-button/nile-button.esm.js +1 -1
  17. package/dist/nile-dialog/index.cjs.js +1 -1
  18. package/dist/nile-dialog/index.esm.js +1 -1
  19. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  20. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  21. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  22. package/dist/nile-icon/icons/svg/applications-2.cjs.js +2 -0
  23. package/dist/nile-icon/icons/svg/applications-2.cjs.js.map +1 -0
  24. package/dist/nile-icon/icons/svg/applications-2.esm.js +1 -0
  25. package/dist/nile-icon/icons/svg/apps.cjs.js +2 -0
  26. package/dist/nile-icon/icons/svg/apps.cjs.js.map +1 -0
  27. package/dist/nile-icon/icons/svg/apps.esm.js +1 -0
  28. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  29. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  30. package/dist/nile-icon/index.cjs.js +1 -1
  31. package/dist/nile-icon/index.cjs.js.map +1 -1
  32. package/dist/nile-icon/index.esm.js +1 -1
  33. package/dist/nile-icon-button/index.cjs.js +1 -1
  34. package/dist/nile-icon-button/index.esm.js +1 -1
  35. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  36. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  37. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  38. package/dist/nile-input/index.cjs.js +1 -1
  39. package/dist/nile-input/index.esm.js +1 -1
  40. package/dist/nile-input/nile-input.cjs.js +1 -1
  41. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  42. package/dist/nile-input/nile-input.esm.js +1 -1
  43. package/dist/nile-loader/nile-loader.cjs.js +1 -1
  44. package/dist/nile-loader/nile-loader.cjs.js.map +1 -1
  45. package/dist/nile-loader/nile-loader.css.cjs.js +1 -1
  46. package/dist/nile-loader/nile-loader.css.cjs.js.map +1 -1
  47. package/dist/nile-loader/nile-loader.css.esm.js +17 -3
  48. package/dist/nile-loader/nile-loader.esm.js +59 -3
  49. package/dist/nile-menu-item/index.cjs.js +1 -1
  50. package/dist/nile-menu-item/index.esm.js +1 -1
  51. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  52. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  53. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  54. package/dist/nile-option/index.cjs.js +1 -1
  55. package/dist/nile-option/index.esm.js +1 -1
  56. package/dist/nile-option/nile-option.cjs.js +1 -1
  57. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  58. package/dist/nile-option/nile-option.esm.js +1 -1
  59. package/dist/nile-select/index.cjs.js +1 -1
  60. package/dist/nile-select/index.esm.js +1 -1
  61. package/dist/nile-select/nile-select.cjs.js +1 -1
  62. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  63. package/dist/nile-select/nile-select.esm.js +1 -1
  64. package/dist/nile-tab/index.cjs.js +1 -1
  65. package/dist/nile-tab/index.esm.js +1 -1
  66. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  67. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  68. package/dist/nile-tab/nile-tab.esm.js +1 -1
  69. package/dist/nile-tab-group/index.cjs.js +1 -1
  70. package/dist/nile-tab-group/index.esm.js +1 -1
  71. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  72. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  73. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  74. package/dist/nile-tag/index.cjs.js +1 -1
  75. package/dist/nile-tag/index.esm.js +1 -1
  76. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  77. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  78. package/dist/nile-tag/nile-tag.esm.js +1 -1
  79. package/dist/nile-toast/index.cjs.js +1 -1
  80. package/dist/nile-toast/index.esm.js +1 -1
  81. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  82. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  83. package/dist/nile-toast/nile-toast.esm.js +1 -1
  84. package/dist/src/nile-icon/icons/svg/applications-2.d.ts +5 -0
  85. package/dist/src/nile-icon/icons/svg/applications-2.js +5 -0
  86. package/dist/src/nile-icon/icons/svg/applications-2.js.map +1 -0
  87. package/dist/src/nile-icon/icons/svg/apps.d.ts +5 -0
  88. package/dist/src/nile-icon/icons/svg/apps.js +5 -0
  89. package/dist/src/nile-icon/icons/svg/apps.js.map +1 -0
  90. package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
  91. package/dist/src/nile-icon/icons/svg/index.js +2 -0
  92. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  93. package/dist/src/nile-loader/nile-loader.css.js +15 -1
  94. package/dist/src/nile-loader/nile-loader.css.js.map +1 -1
  95. package/dist/src/nile-loader/nile-loader.d.ts +6 -2
  96. package/dist/src/nile-loader/nile-loader.js +82 -2
  97. package/dist/src/nile-loader/nile-loader.js.map +1 -1
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +1 -1
  100. package/src/nile-icon/icons/svg/applications-2.ts +5 -0
  101. package/src/nile-icon/icons/svg/apps.ts +5 -0
  102. package/src/nile-icon/icons/svg/index.ts +2 -0
  103. package/src/nile-loader/nile-loader.css.ts +15 -1
  104. package/src/nile-loader/nile-loader.ts +83 -5
@@ -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, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement } 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 } 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\tstatic 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() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\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 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 this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\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 this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\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 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 => el.active);\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) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\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.setActiveTab(tab, { scrollBehavior: 'smooth' });\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 = this.tabs.find(t => t.matches(':focus'));\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.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\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:\n true\n ? this.nav.scrollLeft + this.nav.clientWidth\n : this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft - this.nav.clientWidth\n : this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n\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\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) {\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 + 24,\n top: previous.top + current.clientHeight\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left}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 this.syncIndicator();\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 @watch('noScrollControls', { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n this.hasScrollControls = false;\n }\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\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 /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n render() {\n const isRtl = true;\n\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 })}\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.handleScrollToStart}\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\" class=\"tab-group__indicator\"></div>\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.handleScrollToEnd}\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\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"],"names":["NileTabGroup","m","constructor","this","tabs","panels","hasScrollControls","placement","activation","noScrollControls","centered","_this","_createClass","key","value","connectedCallback","whenAllDefined","Promise","allSettled","customElements","whenDefined","super","resizeObserver","ResizeObserver","repositionIndicator","updateScrollControls","mutationObserver","MutationObserver","mutations","some","includes","attributeName","setTimeout","setAriaLabels","syncTabsAndPanels","updateComplete","then","observe","attributes","childList","subtree","nav","IntersectionObserver","entries","observer","intersectionRatio","setActiveTab","getActiveTab","emitEvents","unobserve","target","tabGroup","disconnectedCallback","disconnect","getAllTabs","options","arguments","length","undefined","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","find","active","handleClick","event","tab","closest","scrollBehavior","handleKeyDown","preventDefault","activeEl","t","matches","index","indexOf","focus","preventScroll","scrollIntoView","handleScrollToStart","scroll","left","scrollLeft","clientWidth","behavior","handleScrollToEnd","_this3","_objectSpread","activeTab","previousTab","map","name","panel","syncIndicator","emit","forEach","setAttribute","getAttribute","currentTab","width","height","clientHeight","allTabs","offset","slice","reduce","previous","current","top","indicator","style","translate","concat","scrollWidth","display","show","render","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","_templateObject3","NileElement","styles","__decorate","query","prototype","state","property","attribute","type","Boolean","reflect","watch","waitUntilFirstUpdate","_export","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, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement } 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 } 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\tstatic 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() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\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 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 this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\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 this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\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 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 => el.active);\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) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\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.setActiveTab(tab, { scrollBehavior: 'smooth' });\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 = this.tabs.find(t => t.matches(':focus'));\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.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\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:\n true\n ? this.nav.scrollLeft + this.nav.clientWidth\n : this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:\n true\n ? this.nav.scrollLeft - this.nav.clientWidth\n : this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: NileTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n\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\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) {\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 + 24,\n top: previous.top + current.clientHeight\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left}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 this.syncIndicator();\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 @watch('noScrollControls', { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n this.hasScrollControls =\n ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n this.hasScrollControls = false;\n }\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\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 /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n render() {\n const isRtl = true;\n\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 })}\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.handleScrollToStart}\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\" class=\"tab-group__indicator\"></div>\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.handleScrollToEnd}\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\nexport default NileTabGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab-group': NileTabGroup;\n }\n}\n"],"names":["NileTabGroup","_l","_inherits","m","_super","_createSuper","this","tabs","panels","hasScrollControls","placement","activation","noScrollControls","centered","_this","_createClass","key","value","connectedCallback","_this2","whenAllDefined","Promise","allSettled","customElements","whenDefined","super","resizeObserver","ResizeObserver","repositionIndicator","updateScrollControls","mutationObserver","MutationObserver","mutations","some","includes","attributeName","setTimeout","setAriaLabels","syncTabsAndPanels","updateComplete","then","observe","attributes","childList","subtree","nav","IntersectionObserver","entries","observer","intersectionRatio","setActiveTab","getActiveTab","emitEvents","unobserve","target","tabGroup","disconnectedCallback","disconnect","getAllTabs","options","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","find","active","handleClick","event","tab","closest","scrollBehavior","handleKeyDown","preventDefault","activeEl","t","matches","index","indexOf","length","focus","preventScroll","scrollIntoView","handleScrollToStart","scroll","left","scrollLeft","clientWidth","behavior","handleScrollToEnd","activeTab","previousTab","map","name","panel","syncIndicator","emit","forEach","setAttribute","getAttribute","currentTab","width","height","clientHeight","allTabs","offset","slice","reduce","previous","current","top","indicator","style","translate","concat","scrollWidth","display","show","render","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","_templateObject3","NileElement","styles","__decorate","query","prototype","state","property","attribute","type","Boolean","reflect","watch","waitUntilFirstUpdate","_export","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as i}from"tslib";import{x as s}from"../index-cd2f9c12.esm.js";import{query as o,state as n,customElement as e}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 t}from"lit/directives/class-map.js";import{s as m}from"../internal/scroll.esm.js";import{w as r}from"../internal/watch.esm.js";import{N as l}from"../internal/nile-element.esm.js";import{n as p}from"../property-09139d3c.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"../nile-icon/index.esm.js";import"lit";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/actionworkflow.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/agents.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/anomaly.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/application.esm.js";import"../nile-icon/icons/svg/applications.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/approve.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.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/attributemap.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart-square-03.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/basic.esm.js";import"../nile-icon/icons/svg/bell-icon.esm.js";import"../nile-icon/icons/svg/bell.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.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/cancel.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/caution.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-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-down.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/close.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/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/componentblock.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/continuous.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/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/custom.esm.js";import"../nile-icon/icons/svg/dashboard.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-expression.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-persistent-variable.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/data-type-variable.esm.js";import"../nile-icon/icons/svg/database-1.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/default-1.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/deleteuser.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/document.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/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/downarrow.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/draglist.esm.js";import"../nile-icon/icons/svg/droparrow.esm.js";import"../nile-icon/icons/svg/dropdown.esm.js";import"../nile-icon/icons/svg/edit-1.esm.js";import"../nile-icon/icons/svg/edit-pencil.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/enabled.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/event.esm.js";import"../nile-icon/icons/svg/every.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-1.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.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-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-h.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-aquera.esm.js";import"../nile-icon/icons/svg/flowmap-block.esm.js";import"../nile-icon/icons/svg/flowmap-cancel.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-drag.esm.js";import"../nile-icon/icons/svg/flowmap-ellipsis.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-hand.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-redo.esm.js";import"../nile-icon/icons/svg/flowmap-section.esm.js";import"../nile-icon/icons/svg/flowmap-text.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/form.esm.js";import"../nile-icon/icons/svg/frequency.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/funnel.esm.js";import"../nile-icon/icons/svg/gateway.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.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/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.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-actions.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-functions.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/header-variable.esm.js";import"../nile-icon/icons/svg/help-1.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/if.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/image.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-icon1.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/info2.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/itemplaceholder.esm.js";import"../nile-icon/icons/svg/js.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-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/leftarrow.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/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/manageduser.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/mapupdate.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/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/multiple-user.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/next-down.esm.js";import"../nile-icon/icons/svg/next.esm.js";import"../nile-icon/icons/svg/no-anomaly.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/not.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/notscheduled.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/ou-analysis-icon.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.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/pen.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/personaldetails.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/placeholder-wf.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/plus-icon.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/prev-up.esm.js";import"../nile-icon/icons/svg/prev.esm.js";import"../nile-icon/icons/svg/preview.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/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.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/returnvalue.esm.js";import"../nile-icon/icons/svg/revocationcycle.esm.js";import"../nile-icon/icons/svg/revokation-cycle.esm.js";import"../nile-icon/icons/svg/rightarrow.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/rolemanager.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/save.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.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/selectuser.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/sendprompt.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/setting.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings-1.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/shape.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smalltick.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.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/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-1.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.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/themes.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/trash-01.esm.js";import"../nile-icon/icons/svg/trash-no-fill.esm.js";import"../nile-icon/icons/svg/trash.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-1.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/uparrow.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updateuser.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-03.esm.js";import"../nile-icon/icons/svg/user-analysis-icon.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user-inactive.esm.js";import"../nile-icon/icons/svg/user-selection.esm.js";import"../nile-icon/icons/svg/user-square.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-1.esm.js";import"../nile-icon/icons/svg/userremove-2.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-01.esm.js";import"../nile-icon/icons/svg/users-02.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-1.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new-1.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.esm.js";import"../nile-icon/icons/svg/while.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-orchestration.esm.js";import"../nile-icon/icons/svg/workflow-section.esm.js";import"../nile-icon/icons/svg/workflow-solid.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"lit/static-html.js";import"lit/directives/if-defined.js";import"../internal/offset.esm.js";let g=class extends l{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.activation="auto",this.noScrollControls=!1,this.centered=!1}connectedCallback(){const i=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator(),this.updateScrollControls()})),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.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(),this.setActiveTab(this.getActiveTab()??this.tabs[0],{emitEvents:!1}),s.unobserve(i[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}getAllTabs(i={includeDisabled:!0}){return[...this.shadowRoot.querySelector('slot[name="nav"]').assignedElements()].filter((s=>i.includeDisabled?"nile-tab"===s.tagName.toLowerCase():"nile-tab"===s.tagName.toLowerCase()&&!s.disabled))}getAllPanels(){return[...this.body.assignedElements()].filter((i=>"nile-tab-panel"===i.tagName.toLowerCase()))}getActiveTab(){return this.tabs.find((i=>i.active))}handleClick(i){const s=i.target.closest("nile-tab"),o=s?.closest("nile-tab-group");o===this&&null!==s&&this.setActiveTab(s,{scrollBehavior:"smooth"})}handleKeyDown(i){const s=i.target.closest("nile-tab"),o=s?.closest("nile-tab-group");if(o===this&&(["Enter"," "].includes(i.key)&&null!==s&&(this.setActiveTab(s,{scrollBehavior:"smooth"}),i.preventDefault()),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(i.key))){const s=this.tabs.find((i=>i.matches(":focus")));if("nile-tab"===s?.tagName.toLowerCase()){let o=this.tabs.indexOf(s);"Home"===i.key?o=0:"End"===i.key?o=this.tabs.length-1:["top","bottom"].includes(this.placement)&&"ArrowLeft"===i.key||["start","end"].includes(this.placement)&&"ArrowUp"===i.key?o--:(["top","bottom"].includes(this.placement)&&"ArrowRight"===i.key||["start","end"].includes(this.placement)&&"ArrowDown"===i.key)&&o++,o<0&&(o=this.tabs.length-1),o>this.tabs.length-1&&(o=0),this.tabs[o].focus({preventScroll:!0}),"auto"===this.activation&&this.setActiveTab(this.tabs[o],{scrollBehavior:"smooth"}),["top","bottom"].includes(this.placement)&&m(this.tabs[o],this.nav,"horizontal"),i.preventDefault()}}}handleScrollToStart(){this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})}handleScrollToEnd(){this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})}setActiveTab(i,s){if(s={emitEvents:!0,scrollBehavior:"auto",...s},i!==this.activeTab&&!i.disabled){const o=this.activeTab;this.activeTab=i,this.tabs.map((i=>i.active=i===this.activeTab)),this.panels.map((i=>i.active=i.name===this.activeTab?.panel)),this.syncIndicator(),["top","bottom"].includes(this.placement)&&m(this.activeTab,this.nav,"horizontal",s.scrollBehavior),s.emitEvents&&(o&&this.emit("nile-tab-hide",{value:o.panel}),this.emit("nile-tab-show",{value:this.activeTab.panel}))}}setAriaLabels(){this.tabs.forEach((i=>{const s=this.panels.find((s=>s.name===i.panel));s&&(i.setAttribute("aria-controls",s.getAttribute("id")),s.setAttribute("aria-labelledby",i.getAttribute("id")))}))}repositionIndicator(){const i=this.getActiveTab();if(!i)return;const s=i.clientWidth,o=i.clientHeight,n=this.getAllTabs(),e=n.slice(0,n.indexOf(i)).reduce(((i,s)=>({left:i.left+s.clientWidth+24,top:i.top+s.clientHeight})),{left:0,top:0});switch(this.placement){case"top":case"bottom":this.indicator.style.width=`${s}px`,this.indicator.style.height="auto",this.indicator.style.translate=`${e.left}px`;break;case"start":case"end":this.indicator.style.width="auto",this.indicator.style.height=`${o}px`,this.indicator.style.translate=`0 ${e.top}px`}}syncTabsAndPanels(){this.tabs=this.getAllTabs({includeDisabled:!1}),this.panels=this.getAllPanels(),this.syncIndicator(),this.tabs.forEach((i=>{i.centered=this.centered})),this.updateComplete.then((()=>this.updateScrollControls()))}updateScrollControls(){this.noScrollControls||(this.hasScrollControls=["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth),this.hasScrollControls=!1}syncIndicator(){this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}show(i){const s=this.tabs.find((s=>s.panel===i));s&&this.setActiveTab(s,{scrollBehavior:"smooth"})}render(){return s`
1
+ import{__decorate as i}from"tslib";import{x as s}from"../index-cd2f9c12.esm.js";import{query as o,state as n,customElement as e}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 t}from"lit/directives/class-map.js";import{s as m}from"../internal/scroll.esm.js";import{w as r}from"../internal/watch.esm.js";import{N as l}from"../internal/nile-element.esm.js";import{n as p}from"../property-09139d3c.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"../nile-icon/index.esm.js";import"lit";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/actionworkflow.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/agents.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/anomaly.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/application.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/applications.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/approve.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.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/attributemap.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart-square-03.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/basic.esm.js";import"../nile-icon/icons/svg/bell-icon.esm.js";import"../nile-icon/icons/svg/bell.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.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/cancel.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/caution.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-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-down.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/close.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/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/componentblock.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/continuous.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/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/custom.esm.js";import"../nile-icon/icons/svg/dashboard.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-expression.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-persistent-variable.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/data-type-variable.esm.js";import"../nile-icon/icons/svg/database-1.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/default-1.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/deleteuser.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/document.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/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/downarrow.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/draglist.esm.js";import"../nile-icon/icons/svg/droparrow.esm.js";import"../nile-icon/icons/svg/dropdown.esm.js";import"../nile-icon/icons/svg/edit-1.esm.js";import"../nile-icon/icons/svg/edit-pencil.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/enabled.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/event.esm.js";import"../nile-icon/icons/svg/every.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-1.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.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-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-h.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-aquera.esm.js";import"../nile-icon/icons/svg/flowmap-block.esm.js";import"../nile-icon/icons/svg/flowmap-cancel.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-drag.esm.js";import"../nile-icon/icons/svg/flowmap-ellipsis.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-hand.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-redo.esm.js";import"../nile-icon/icons/svg/flowmap-section.esm.js";import"../nile-icon/icons/svg/flowmap-text.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/form.esm.js";import"../nile-icon/icons/svg/frequency.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/funnel.esm.js";import"../nile-icon/icons/svg/gateway.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.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/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.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-actions.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-functions.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/header-variable.esm.js";import"../nile-icon/icons/svg/help-1.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/if.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/image.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-icon1.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/info2.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/itemplaceholder.esm.js";import"../nile-icon/icons/svg/js.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-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/leftarrow.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/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/manageduser.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/mapupdate.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/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/multiple-user.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/next-down.esm.js";import"../nile-icon/icons/svg/next.esm.js";import"../nile-icon/icons/svg/no-anomaly.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/not.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/notscheduled.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/ou-analysis-icon.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.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/pen.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/personaldetails.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/placeholder-wf.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/plus-icon.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/prev-up.esm.js";import"../nile-icon/icons/svg/prev.esm.js";import"../nile-icon/icons/svg/preview.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/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.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/returnvalue.esm.js";import"../nile-icon/icons/svg/revocationcycle.esm.js";import"../nile-icon/icons/svg/revokation-cycle.esm.js";import"../nile-icon/icons/svg/rightarrow.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/rolemanager.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/save.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.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/selectuser.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/sendprompt.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/setting.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings-1.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/shape.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smalltick.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.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/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-1.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.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/themes.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/trash-01.esm.js";import"../nile-icon/icons/svg/trash-no-fill.esm.js";import"../nile-icon/icons/svg/trash.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-1.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/uparrow.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updateuser.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-03.esm.js";import"../nile-icon/icons/svg/user-analysis-icon.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user-inactive.esm.js";import"../nile-icon/icons/svg/user-selection.esm.js";import"../nile-icon/icons/svg/user-square.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-1.esm.js";import"../nile-icon/icons/svg/userremove-2.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-01.esm.js";import"../nile-icon/icons/svg/users-02.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-1.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new-1.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.esm.js";import"../nile-icon/icons/svg/while.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-orchestration.esm.js";import"../nile-icon/icons/svg/workflow-section.esm.js";import"../nile-icon/icons/svg/workflow-solid.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"lit/static-html.js";import"lit/directives/if-defined.js";import"../internal/offset.esm.js";let g=class extends l{constructor(){super(...arguments),this.tabs=[],this.panels=[],this.hasScrollControls=!1,this.placement="top",this.activation="auto",this.noScrollControls=!1,this.centered=!1}connectedCallback(){const i=Promise.allSettled([customElements.whenDefined("nile-tab"),customElements.whenDefined("nile-tab-panel")]);super.connectedCallback(),this.resizeObserver=new ResizeObserver((()=>{this.repositionIndicator(),this.updateScrollControls()})),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.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(),this.setActiveTab(this.getActiveTab()??this.tabs[0],{emitEvents:!1}),s.unobserve(i[0].target))})).observe(this.tabGroup)}))}))}disconnectedCallback(){this.mutationObserver.disconnect(),this.resizeObserver.unobserve(this.nav)}getAllTabs(i={includeDisabled:!0}){return[...this.shadowRoot.querySelector('slot[name="nav"]').assignedElements()].filter((s=>i.includeDisabled?"nile-tab"===s.tagName.toLowerCase():"nile-tab"===s.tagName.toLowerCase()&&!s.disabled))}getAllPanels(){return[...this.body.assignedElements()].filter((i=>"nile-tab-panel"===i.tagName.toLowerCase()))}getActiveTab(){return this.tabs.find((i=>i.active))}handleClick(i){const s=i.target.closest("nile-tab"),o=s?.closest("nile-tab-group");o===this&&null!==s&&this.setActiveTab(s,{scrollBehavior:"smooth"})}handleKeyDown(i){const s=i.target.closest("nile-tab"),o=s?.closest("nile-tab-group");if(o===this&&(["Enter"," "].includes(i.key)&&null!==s&&(this.setActiveTab(s,{scrollBehavior:"smooth"}),i.preventDefault()),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(i.key))){const s=this.tabs.find((i=>i.matches(":focus")));if("nile-tab"===s?.tagName.toLowerCase()){let o=this.tabs.indexOf(s);"Home"===i.key?o=0:"End"===i.key?o=this.tabs.length-1:["top","bottom"].includes(this.placement)&&"ArrowLeft"===i.key||["start","end"].includes(this.placement)&&"ArrowUp"===i.key?o--:(["top","bottom"].includes(this.placement)&&"ArrowRight"===i.key||["start","end"].includes(this.placement)&&"ArrowDown"===i.key)&&o++,o<0&&(o=this.tabs.length-1),o>this.tabs.length-1&&(o=0),this.tabs[o].focus({preventScroll:!0}),"auto"===this.activation&&this.setActiveTab(this.tabs[o],{scrollBehavior:"smooth"}),["top","bottom"].includes(this.placement)&&m(this.tabs[o],this.nav,"horizontal"),i.preventDefault()}}}handleScrollToStart(){this.nav.scroll({left:this.nav.scrollLeft+this.nav.clientWidth,behavior:"smooth"})}handleScrollToEnd(){this.nav.scroll({left:this.nav.scrollLeft-this.nav.clientWidth,behavior:"smooth"})}setActiveTab(i,s){if(s={emitEvents:!0,scrollBehavior:"auto",...s},i!==this.activeTab&&!i.disabled){const o=this.activeTab;this.activeTab=i,this.tabs.map((i=>i.active=i===this.activeTab)),this.panels.map((i=>i.active=i.name===this.activeTab?.panel)),this.syncIndicator(),["top","bottom"].includes(this.placement)&&m(this.activeTab,this.nav,"horizontal",s.scrollBehavior),s.emitEvents&&(o&&this.emit("nile-tab-hide",{value:o.panel}),this.emit("nile-tab-show",{value:this.activeTab.panel}))}}setAriaLabels(){this.tabs.forEach((i=>{const s=this.panels.find((s=>s.name===i.panel));s&&(i.setAttribute("aria-controls",s.getAttribute("id")),s.setAttribute("aria-labelledby",i.getAttribute("id")))}))}repositionIndicator(){const i=this.getActiveTab();if(!i)return;const s=i.clientWidth,o=i.clientHeight,n=this.getAllTabs(),e=n.slice(0,n.indexOf(i)).reduce(((i,s)=>({left:i.left+s.clientWidth+24,top:i.top+s.clientHeight})),{left:0,top:0});switch(this.placement){case"top":case"bottom":this.indicator.style.width=`${s}px`,this.indicator.style.height="auto",this.indicator.style.translate=`${e.left}px`;break;case"start":case"end":this.indicator.style.width="auto",this.indicator.style.height=`${o}px`,this.indicator.style.translate=`0 ${e.top}px`}}syncTabsAndPanels(){this.tabs=this.getAllTabs({includeDisabled:!1}),this.panels=this.getAllPanels(),this.syncIndicator(),this.tabs.forEach((i=>{i.centered=this.centered})),this.updateComplete.then((()=>this.updateScrollControls()))}updateScrollControls(){this.noScrollControls||(this.hasScrollControls=["top","bottom"].includes(this.placement)&&this.nav.scrollWidth>this.nav.clientWidth),this.hasScrollControls=!1}syncIndicator(){this.getActiveTab()?(this.indicator.style.display="block",this.repositionIndicator()):this.indicator.style.display="none"}show(i){const s=this.tabs.find((s=>s.panel===i));s&&this.setActiveTab(s,{scrollBehavior:"smooth"})}render(){return s`
2
2
  <div
3
3
  part="base"
4
4
  class=${t({"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})}