@aquera/nile-elements 0.0.82 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/demo/filenames.txt +1 -1
- package/demo/index.css +117 -0
- package/demo/index.html +33 -242
- package/demo/index.js +72 -0
- package/demo/variables.css +4 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +192 -52
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.esm.js +5 -5
- package/dist/nile-calendar/nile-calendar.esm.js +4 -20
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +4 -2
- package/dist/nile-detail/index.cjs.js +2 -0
- package/dist/nile-detail/index.cjs.js.map +1 -0
- package/dist/nile-detail/index.esm.js +1 -0
- package/dist/nile-detail/nile-detail.cjs.js +2 -0
- package/dist/nile-detail/nile-detail.cjs.js.map +1 -0
- package/dist/nile-detail/nile-detail.css.cjs.js +2 -0
- package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -0
- package/dist/nile-detail/nile-detail.css.esm.js +93 -0
- package/dist/nile-detail/nile-detail.esm.js +34 -0
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +1 -1
- package/dist/nile-divider/index.cjs.js +2 -0
- package/dist/nile-divider/index.cjs.js.map +1 -0
- package/dist/nile-divider/index.esm.js +1 -0
- package/dist/nile-divider/nile-divider.cjs.js +2 -0
- package/dist/nile-divider/nile-divider.cjs.js.map +1 -0
- package/dist/nile-divider/nile-divider.css.cjs.js +2 -0
- package/dist/nile-divider/nile-divider.css.cjs.js.map +1 -0
- package/dist/nile-divider/nile-divider.css.esm.js +28 -0
- package/dist/nile-divider/nile-divider.esm.js +3 -0
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-icon/icons/svg/headphones-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/headphones-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/headphones-01.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/keyboard-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/keyboard-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/keyboard-01.esm.js +1 -0
- package/dist/nile-icon/icons/svg/mouse.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/mouse.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/mouse.esm.js +1 -0
- package/dist/nile-icon/icons/svg/printer.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/printer.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/printer.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
- package/dist/nile-menu/nile-menu.esm.js +5 -4
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.css.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +18 -21
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +2 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +2 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +3 -3
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.js +3 -26
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.js +3 -0
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-detail/index.d.ts +1 -0
- package/dist/src/nile-detail/index.js +2 -0
- package/dist/src/nile-detail/index.js.map +1 -0
- package/dist/src/nile-detail/nile-detail.css.d.ts +12 -0
- package/dist/src/nile-detail/nile-detail.css.js +105 -0
- package/dist/src/nile-detail/nile-detail.css.js.map +1 -0
- package/dist/src/nile-detail/nile-detail.d.ts +70 -0
- package/dist/src/nile-detail/nile-detail.js +225 -0
- package/dist/src/nile-detail/nile-detail.js.map +1 -0
- package/dist/src/nile-divider/index.d.ts +1 -0
- package/dist/src/nile-divider/index.js +2 -0
- package/dist/src/nile-divider/index.js.map +1 -0
- package/dist/src/nile-divider/nile-divider.css.d.ts +12 -0
- package/dist/src/nile-divider/nile-divider.css.js +40 -0
- package/dist/src/nile-divider/nile-divider.css.js.map +1 -0
- package/dist/src/nile-divider/nile-divider.d.ts +34 -0
- package/dist/src/nile-divider/nile-divider.js +55 -0
- package/dist/src/nile-divider/nile-divider.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +4 -0
- package/dist/src/nile-icon/icons/svg/index.js +4 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/keyboard-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/keyboard-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/keyboard-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/mouse.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/mouse.js +5 -0
- package/dist/src/nile-icon/icons/svg/mouse.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/printer.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/printer.js +5 -0
- package/dist/src/nile-icon/icons/svg/printer.js.map +1 -0
- package/dist/src/nile-menu/nile-menu.js +3 -2
- package/dist/src/nile-menu/nile-menu.js.map +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.css.js +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.js +21 -20
- package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
- package/dist/src/nile-tab-group/nile-tab-group.js +18 -17
- package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +2 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js +2 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/index.ts +2 -0
- package/src/nile-calendar/nile-calendar.css.ts +3 -3
- package/src/nile-calendar/nile-calendar.ts +3 -25
- package/src/nile-date-picker/nile-date-picker.ts +4 -1
- package/src/nile-detail/index.ts +1 -0
- package/src/nile-detail/nile-detail.css.ts +107 -0
- package/src/nile-detail/nile-detail.ts +236 -0
- package/src/nile-divider/index.ts +1 -0
- package/src/nile-divider/nile-divider.css.ts +42 -0
- package/src/nile-divider/nile-divider.ts +56 -0
- package/src/nile-icon/icons/svg/headphones-01.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +4 -0
- package/src/nile-icon/icons/svg/keyboard-01.ts +5 -0
- package/src/nile-icon/icons/svg/mouse.ts +5 -0
- package/src/nile-icon/icons/svg/printer.ts +5 -0
- package/src/nile-menu/nile-menu.ts +3 -2
- package/src/nile-menu-item/nile-menu-item.css.ts +1 -1
- package/src/nile-menu-item/nile-menu-item.ts +22 -21
- package/src/nile-tab-group/nile-tab-group.ts +3 -3
- package/src/nile-table-cell-item/nile-table-cell-item.css.ts +2 -1
- package/src/nile-table-header-item/nile-table-header-item.css.ts +2 -1
@@ -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 static styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true,attribute:'no-track'}) noTrack = false;\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n 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 + 12,\n top: previous.top + current.clientHeight + 12\n }),\n { left: 0, top: 0 }\n );\n\n if(this.indicator)\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width - 5}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left + 2}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n 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 && this.indicator) {\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 'hide__track':this.noTrack\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.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\n part=\"active-tab-indicator\"\n class=${classMap({\n 'tab-group__indicator': !this.noTrack,\n })}\n ></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","m","constructor","this","tabs","panels","hasScrollControls","placement","noTrack","activation","noScrollControls","centered","_this","_inherits","_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","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","hide__track","_templateObject2","_templateObject3","NileElement","styles","__decorate","query","prototype","state","property","type","Boolean","reflect","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"mgnDAgDaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,mCAOGC,EAAAA,KAAAA,CAAIC,KAAc,EAClBD,CAAAA,KAAAA,CAAME,MAAmB,CAAA,EAAA,CAOhBF,KAAAA,CAAiBG,iBAAG,CAAA,CAAA,CAAA,CAGzBH,KAAAA,CAASI,SAAAA,CAAuC,MAIIJ,KAAAA,CAAOK,OAAAA,CAAAA,CAAG,CAM9DL,CAAAA,KAAAA,CAAUM,WAAsB,MAGkBN,CAAAA,KAAAA,CAAgBO,gBAAG,CAAA,CAAA,CAAA,CAGrCP,KAAAA,CAAQQ,QAAG,CAAA,CAAA,CAgXxD,QAAAC,KAAA,EA9WCC,SAAA,CAAAZ,CAAA,CAAAD,EAAA,SAAAc,YAAA,CAAAb,CAAA,GAAAc,GAAA,qBAAAC,KAAA,UAAAC,kBAAA,kBACE,GAAMC,CAAAA,CAAAA,CAAiBC,OAAQC,CAAAA,UAAAA,CAAW,CACxCC,cAAeC,CAAAA,WAAAA,CAAY,UAC3BD,CAAAA,CAAAA,cAAAA,CAAeC,YAAY,gBAG7BC,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,SAAAA,4BAAAA,IAAAA,OAEApB,IAAAA,CAAKqB,eAAiB,GAAIC,CAAAA,cAAAA,CAAe,UACvCtB,CAAAA,MAAAA,CAAKuB,sBACLvB,MAAKwB,CAAAA,oBAAAA,CAAAA,CAAsB,EAG7BxB,CAAAA,CAAAA,IAAAA,CAAKyB,iBAAmB,GAAIC,CAAAA,gBAAAA,CAAiBC,SAAAA,CAEvCA,CAAAA,CAAAA,CAAAA,CAAUC,KAAK9B,SAAAA,CAAM,QAAA,CAAA,CAAC,iBAAmB,CAAA,eAAA,CAAA,CAAiB+B,SAAS/B,CAAEgC,CAAAA,aAAAA,CAAAA,EAAAA,CAAAA,EACvEC,UAAW,CAAA,iBAAM/B,CAAAA,OAAKgC,aAIpBL,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAUC,IAAK9B,CAAAA,SAAAA,CAAAA,QAAyB,aAApBA,CAAEgC,CAAAA,aAAAA,EAAAA,CAAAA,EACxB9B,MAAKiC,CAAAA,iBAAAA,CAAAA,CACN,IAIHjC,IAAKkC,CAAAA,cAAAA,CAAeC,KAAK,UACvBnC,CAAAA,MAAAA,CAAKiC,oBACLjC,MAAKyB,CAAAA,gBAAAA,CAAiBW,OAAQpC,CAAAA,MAAAA,CAAM,CAAEqC,UAAY,CAAA,CAAA,CAAA,CAAMC,SAAW,CAAA,CAAA,CAAA,CAAMC,SAAS,CAClFvC,CAAAA,CAAAA,CAAAA,MAAAA,CAAKqB,cAAee,CAAAA,OAAAA,CAAQpC,OAAKwC,GAGjCzB,CAAAA,CAAAA,CAAAA,CAAeoB,IAAK,CAAA,UAAA,CAEW,GAAIM,CAAAA,oBAAqB,CAAA,SAACC,CAASC,CAAAA,CAAAA,CAAAA,KAAAA,mBAAAA,CACxDD,EAAQ,CAAGE,CAAAA,CAAAA,iBAAAA,CAAoB,CACjC5C,GAAAA,MAAAA,CAAKgC,gBACPhC,MAAK6C,CAAAA,YAAAA,EAAAA,mBAAAA,CAAa7C,MAAK8C,CAAAA,YAAAA,CAAAA,CAAAA,UAAAA,mBAAAA,UAAAA,mBAAAA,CAAkB9C,OAAKC,IAAK,CAAA,CAAA,CAAA,CAAI,CAAE8C,UAAAA,CAAAA,CAAY,IACnEJ,CAASK,CAAAA,SAAAA,CAAUN,CAAQ,CAAA,CAAA,CAAA,CAAGO,QAC/B,EAEgBb,CAAAA,CAAAA,OAAAA,CAAQpC,MAAKkD,CAAAA,QAAAA,CAAS,GAC3C,EAEL,CAAA,EAED,GAAAtC,GAAA,wBAAAC,KAAA,UAAAsC,qBAAA,CAAAA,CACEnD,KAAKyB,gBAAiB2B,CAAAA,UAAAA,CAAAA,CAAAA,CACtBpD,IAAKqB,CAAAA,cAAAA,CAAe2B,UAAUhD,IAAKwC,CAAAA,GAAAA,CACpC,EAEO,GAAA5B,GAAA,cAAAC,KAAA,UAAAwC,WAAA,CAAsE,IAA3DC,CAAAA,CAAwC,CAAAC,SAAA,CAAAC,MAAA,IAAAD,SAAA,MAAAE,SAAA,CAAAF,SAAA,IAAA,CAAEG,eAAiB,CAAA,CAAA,CAAA,CAAA,CAG5E,MAAO,CAAAC,kBAAA,CAFM3D,IAAAA,CAAK4D,UAAYC,CAAAA,aAAAA,CAA+B,oBAE5CC,gBAAkCC,CAAAA,CAAAA,EAAAA,MAAAA,CAAOC,SAAAA,CACjDV,QAAAA,CAAAA,CAAAA,CAAQI,gBACkB,UAA7BM,GAAAA,CAAAA,CAAGC,OAAQC,CAAAA,WAAAA,CAAAA,CAAAA,CACkB,aAA7BF,CAAGC,CAAAA,OAAAA,CAAQC,WAAiCF,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAGG,WAEtD,EAEO,GAAAvD,GAAA,gBAAAC,KAAA,UAAAuD,aAAA,CACN,CAAA,MAAO,CAAAT,kBAAA,CAAI3D,IAAKqE,CAAAA,IAAAA,CAAKP,gBAAoBC,CAAAA,CAAAA,EAAAA,MAAAA,CAAOC,SAAAA,SAAmC,gBAA7BA,GAAAA,CAAAA,CAAGC,OAAQC,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,CAClE,EAEO,GAAAtD,GAAA,gBAAAC,KAAA,UAAAiC,aAAA,CAAAA,CACN,MAAO9C,KAAAA,CAAKC,KAAKqE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,CAAGO,CAAAA,MAAAA,EAAAA,CAChC,EAEO,GAAA3D,GAAA,eAAAC,KAAA,UAAA2D,YAAYC,CAClB,CAAA,CAAA,GACMC,CAAAA,EADSD,CAAMxB,CAAAA,MAAAA,CACF0B,OAAQ,CAAA,UAAA,CAAA,CACrBzB,EAAWwB,CAAKC,SAALD,CAAKC,iBAALD,CAAKC,CAAAA,OAAAA,CAAQ,gBAG1BzB,CAAAA,CAAAA,CAAAA,GAAalD,MAIL,IAAR0E,GAAAA,CAAAA,EACF1E,IAAK6C,CAAAA,YAAAA,CAAa6B,EAAK,CAAEE,cAAAA,CAAgB,QAE5C,CAAA,CAAA,EAEO,GAAAhE,GAAA,iBAAAC,KAAA,UAAAgE,cAAcJ,CAAAA,CAAAA,CACpB,GACMC,CAAAA,CAAAA,CADSD,EAAMxB,MACF0B,CAAAA,OAAAA,CAAQ,UACrBzB,CAAAA,CAAAA,CAAAA,CAAWwB,UAAAA,kBAAAA,EAAKC,OAAQ,CAAA,gBAAA,CAAA,CAG9B,GAAIzB,CAAAA,GAAalD,OAKb,CAAC,OAAA,CAAS,KAAK6B,QAAS4C,CAAAA,CAAAA,CAAM7D,MACpB,IAAR8D,GAAAA,CAAAA,GACF1E,IAAK6C,CAAAA,YAAAA,CAAa6B,EAAK,CAAEE,cAAAA,CAAgB,QACzCH,CAAAA,CAAAA,CAAAA,CAAAA,CAAMK,kBAKN,CAAC,WAAA,CAAa,YAAc,CAAA,SAAA,CAAW,YAAa,MAAQ,CAAA,KAAA,CAAA,CAAOjD,QAAS4C,CAAAA,CAAAA,CAAM7D,MAAM,CAC1F,GAAMmE,CAAAA,EAAW/E,CAAAA,IAAAA,CAAKC,KAAKqE,IAAKU,CAAAA,SAAAA,CAAAA,QAAKA,CAAAA,CAAEC,CAAAA,OAAAA,CAAQ,aAG/C,GAAwC,UAAA,IAApCF,EAAUd,SAAVc,EAAUd,iBAAVc,EAAUd,CAAAA,OAAAA,CAAQC,eAA8B,CAClD,GAAIgB,CAAAA,EAAQlF,CAAAA,IAAAA,CAAKC,KAAKkF,OAAQJ,CAAAA,EAAAA,CAAAA,CAEZ,MAAdN,GAAAA,CAAAA,CAAM7D,IACRsE,EAAQ,CAAA,CAAA,CACe,KAAdT,GAAAA,CAAAA,CAAM7D,IACfsE,EAAQlF,CAAAA,IAAAA,CAAKC,IAAKuD,CAAAA,MAAAA,CAAS,EAE1B,CAAC,KAAA,CAAO,QAAU3B,CAAAA,CAAAA,QAAAA,CAAS7B,KAAKI,SAAuB,CAAA,EAAA,WAAA,GAATqE,CAAM7D,CAAAA,GAAAA,EACpD,CAAC,OAAS,CAAA,KAAA,CAAA,CAAOiB,QAAS7B,CAAAA,IAAAA,CAAKI,YAA4B,SAAdqE,GAAAA,CAAAA,CAAM7D,GAEpDsE,CAAAA,EAAAA,EAAAA,CAAAA,CAEC,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUrD,QAAS7B,CAAAA,IAAAA,CAAKI,YAAuB,YAATqE,GAAAA,CAAAA,CAAM7D,GACpD,EAAA,CAAC,QAAS,KAAOiB,CAAAA,CAAAA,QAAAA,CAAS7B,IAAKI,CAAAA,SAAAA,CAAAA,EAA4B,cAAdqE,CAAM7D,CAAAA,GAAAA,GAEpDsE,EAGEA,EAAAA,CAAAA,EAAAA,CAAQ,IACVA,EAAQlF,CAAAA,IAAAA,CAAKC,IAAKuD,CAAAA,MAAAA,CAAS,GAGzB0B,EAAQlF,CAAAA,IAAAA,CAAKC,IAAKuD,CAAAA,MAAAA,CAAS,IAC7B0B,EAAQ,CAAA,CAAA,CAAA,CAGVlF,IAAKC,CAAAA,IAAAA,CAAKiF,IAAOE,KAAM,CAAA,CAAEC,aAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAEhB,SAApBrF,IAAKM,CAAAA,UAAAA,EACPN,IAAK6C,CAAAA,YAAAA,CAAa7C,KAAKC,IAAKiF,CAAAA,EAAAA,CAAAA,CAAQ,CAAEN,cAAAA,CAAgB,WAGpD,CAAC,KAAA,CAAO,QAAU/C,CAAAA,CAAAA,QAAAA,CAAS7B,KAAKI,SAClCkF,CAAAA,EAAAA,CAAAA,CAAetF,IAAKC,CAAAA,IAAAA,CAAKiF,IAAQlF,IAAKwC,CAAAA,GAAAA,CAAK,YAG7CiC,CAAAA,CAAAA,CAAAA,CAAMK,gBACP,EACF,CACF,CAEO,GAAAlE,GAAA,uBAAAC,KAAA,UAAA0E,oBAAA,EACNvF,IAAKwC,CAAAA,GAAAA,CAAIgD,MAAO,CAAA,CACdC,KAEIzF,IAAKwC,CAAAA,GAAAA,CAAIkD,UAAa1F,CAAAA,IAAAA,CAAKwC,IAAImD,WAEnCC,CAAAA,QAAAA,CAAU,UAEb,EAEO,GAAAhF,GAAA,qBAAAC,KAAA,UAAAgF,kBAAA,EACN7F,IAAKwC,CAAAA,GAAAA,CAAIgD,MAAO,CAAA,CACdC,KAEIzF,IAAKwC,CAAAA,GAAAA,CAAIkD,UAAa1F,CAAAA,IAAAA,CAAKwC,IAAImD,WAEnCC,CAAAA,QAAAA,CAAU,QAEb,CAAA,CAAA,EAEO,GAAAhF,GAAA,gBAAAC,KAAA,UAAAgC,aAAa6B,CAAAA,CAAcpB,CAQjC,CAAA,KAAAwC,MAAA,MAAA,GANAxC,iBACEP,UAAAA,CAAAA,CAAY,CACZ6B,CAAAA,cAAAA,CAAgB,QACbtB,CAGDoB,CAAAA,CAAAA,CAAAA,GAAQ1E,IAAK+F,CAAAA,SAAAA,EAAAA,CAAcrB,EAAIP,QAAU,CAAA,CAE3C,GAAM6B,CAAAA,GAAAA,CAAchG,KAAK+F,SACzB/F,CAAAA,IAAAA,CAAK+F,SAAYrB,CAAAA,CAAAA,CAIjB1E,KAAKC,IAAKgG,CAAAA,GAAAA,CAAIjC,SAAAA,CAAOA,QAAAA,CAAAA,CAAAA,CAAGO,OAASP,CAAOhE,GAAAA,MAAAA,CAAK+F,SAC7C/F,EAAAA,CAAAA,CAAAA,IAAAA,CAAKE,OAAO+F,GAAIjC,CAAAA,SAAAA,CAAAA,MAAAA,gBAAAA,OAAOA,CAAAA,CAAGO,CAAAA,MAAAA,CAASP,EAAGkC,IAASlG,KAAAA,gBAAAA,CAAAA,MAAAA,CAAK+F,SAAWI,UAAAA,gBAAAA,iBAAhBnG,gBAAAA,CAAgBmG,KAAAA,GAAAA,CAAAA,CAC/DnG,KAAKoG,aAED,CAAA,CAAA,CAAA,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUvE,SAAS7B,IAAKI,CAAAA,SAAAA,CAAAA,EAClCkF,CAAetF,CAAAA,IAAAA,CAAK+F,UAAW/F,IAAKwC,CAAAA,GAAAA,CAAK,YAAcc,CAAAA,CAAAA,CAAQsB,gBAI7DtB,CAAQP,CAAAA,UAAAA,GACNiD,GACFhG,EAAAA,IAAAA,CAAKqG,KAAK,eAAiB,CAAA,CAAExF,KAAOmF,CAAAA,GAAAA,CAAYG,QAGlDnG,IAAKqG,CAAAA,IAAAA,CAAK,eAAiB,CAAA,CAAExF,MAAOb,IAAK+F,CAAAA,SAAAA,CAAUI,KAEtD,CAAA,CAAA,CAAA,EACF,CAEO,GAAAvF,GAAA,iBAAAC,KAAA,UAAAmB,cAAA,CAAAA,KAAAA,MAAAA,MAENhC,IAAKC,CAAAA,IAAAA,CAAKqG,QAAQ5B,SAAAA,CAChB,CAAA,CAAA,GAAMyB,CAAAA,CAAQnG,CAAAA,MAAAA,CAAKE,OAAOoE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,CAAGkC,CAAAA,IAAAA,GAASxB,EAAIyB,KACjDA,EAAAA,CAAAA,CAAAA,CAAAA,GACFzB,CAAI6B,CAAAA,YAAAA,CAAa,gBAAiBJ,CAAMK,CAAAA,YAAAA,CAAa,IACrDL,CAAAA,CAAAA,CAAAA,CAAAA,CAAMI,aAAa,iBAAmB7B,CAAAA,CAAAA,CAAI8B,YAAa,CAAA,IAAA,CAAA,CAAA,CACxD,GAEJ,EAEO,GAAA5F,GAAA,uBAAAC,KAAA,UAAAU,oBAAA,CACN,CAAA,GAAMkF,CAAAA,EAAazG,IAAK8C,CAAAA,YAAAA,CAAAA,CAAAA,CAExB,GAAK2D,CAAAA,CAAAA,CACH,OAGF,GAAMC,CAAAA,CAAAA,CAAQD,CAAWd,CAAAA,WAAAA,CACnBgB,EAASF,CAAWG,CAAAA,YAAAA,CAKpBC,CAAU7G,CAAAA,IAAAA,CAAKqD,aAEfyD,CADgBD,CAAAA,CAAAA,CAAQE,KAAM,CAAA,CAAA,CAAGF,EAAQ1B,OAAQsB,CAAAA,CAAAA,CAAAA,CAAAA,CAC1BO,MAC3B,CAAA,SAACC,EAAUC,CAAa,QAAA,CACtBzB,KAAMwB,CAASxB,CAAAA,IAAAA,CAAOyB,EAAQvB,WAAc,CAAA,EAAA,CAC5CwB,GAAKF,CAAAA,CAAAA,CAASE,IAAMD,CAAQN,CAAAA,YAAAA,CAAe,EAE7C,CAAA,EAAA,CAAA,CAAEnB,KAAM,CAAG0B,CAAAA,GAAAA,CAAK,CAGlB,CAAA,CAAA,CAAA,GAAGnH,KAAKoH,SACR,CAAA,OAAQpH,IAAKI,CAAAA,SAAAA,EACX,IAAK,KACL,CAAA,IAAK,QACHJ,CAAAA,IAAAA,CAAKoH,UAAUC,KAAMX,CAAAA,KAAAA,CAAWA,CAAQ,CAAA,CAAA,CAAX,KAC7B1G,IAAKoH,CAAAA,SAAAA,CAAUC,KAAMV,CAAAA,MAAAA,CAAS,OAC9B3G,IAAKoH,CAAAA,SAAAA,CAAUC,KAAMC,CAAAA,SAAAA,IAAAA,MAAAA,CAAeR,CAAOrB,CAAAA,IAAAA,CAAO,CAClD,MAAA,CAAA,MAEF,IAAK,OACL,CAAA,IAAK,KACHzF,CAAAA,IAAAA,CAAKoH,UAAUC,KAAMX,CAAAA,KAAAA,CAAQ,MAC7B1G,CAAAA,IAAAA,CAAKoH,UAAUC,KAAMV,CAAAA,MAAAA,IAAAA,MAAAA,CAAYA,CAAAA,MAAAA,CACjC3G,KAAKoH,SAAUC,CAAAA,KAAAA,CAAMC,SAAY,MAAAC,MAAA,CAAKT,EAAOK,GAGlD,MAAA,EAAA,CAGO,GAAAvG,GAAA,qBAAAC,KAAA,UAAAoB,kBAAA,CAAAA,KAAAA,MAAAA,MACNjC,KAAKC,IAAOD,CAAAA,IAAAA,CAAKqD,UAAW,CAAA,CAAEK,iBAAiB,CAC/C1D,CAAAA,CAAAA,CAAAA,IAAAA,CAAKE,OAASF,IAAKoE,CAAAA,YAAAA,CAAAA,CAAAA,CACnBpE,KAAKoG,aAELpG,CAAAA,CAAAA,CAAAA,IAAAA,CAAKC,IAAKqG,CAAAA,OAAAA,CAAS5B,SAAAA,GACjBA,CAAIlE,CAAAA,QAAAA,CAAWR,MAAKQ,CAAAA,QAAQ,IAI9BR,IAAKkC,CAAAA,cAAAA,CAAeC,IAAK,CAAA,iBAAMnC,CAAAA,OAAKwB,oBACrC,CAAA,CAAA,EAAA,CAAA,EAGD,GAAAZ,GAAA,wBAAAC,KAAA,UAAAW,qBAAA,CAAAA,CACMxB,KAAKO,gBAGPP,GAAAA,IAAAA,CAAKG,iBACH,CAAA,CAAC,MAAO,QAAU0B,CAAAA,CAAAA,QAAAA,CAAS7B,IAAKI,CAAAA,SAAAA,CAAAA,EAAcJ,KAAKwC,GAAIgF,CAAAA,WAAAA,CAAcxH,IAAKwC,CAAAA,GAAAA,CAAImD,aAHhF3F,IAAKG,CAAAA,iBAAAA,CAAAA,CAAoB,CAM5B,EAGD,GAAAS,GAAA,iBAAAC,KAAA,UAAAuF,cAAA,CACcpG,CAAAA,IAAAA,CAAK8C,YAEN9C,CAAAA,CAAAA,EAAAA,IAAAA,CAAKoH,WACdpH,IAAKoH,CAAAA,SAAAA,CAAUC,KAAMI,CAAAA,OAAAA,CAAU,QAC/BzH,IAAKuB,CAAAA,mBAAAA,CAAAA,CAAAA,EAELvB,IAAKoH,CAAAA,SAAAA,CAAUC,MAAMI,OAAU,CAAA,MAElC,EAGD,GAAA7G,GAAA,QAAAC,KAAA,UAAA6G,KAAKvB,CACH,CAAA,CAAA,GAAMzB,CAAAA,CAAM1E,CAAAA,IAAAA,CAAKC,KAAKqE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,CAAGmC,CAAAA,KAAAA,GAAUA,KAE1CzB,CACF1E,EAAAA,IAAAA,CAAK6C,YAAa6B,CAAAA,CAAAA,CAAK,CAAEE,cAAgB,CAAA,QAAA,CAAA,CAE5C,EAED,GAAAhE,GAAA,UAAAC,KAAA,UAAA8G,OAAA,CAAAA,CAGE,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,mpBAGCC,CAAS,CAAA,CACf,WAAa,CAAA,CAAA,CAAA,CACb,gBAAqC,CAAA,KAAA,GAAnB/H,KAAKI,SACvB,CAAA,mBAAA,CAAwC,QAAnBJ,GAAAA,IAAAA,CAAKI,SAC1B,CAAA,kBAAA,CAAuC,UAAnBJ,IAAKI,CAAAA,SAAAA,CACzB,gBAAqC,CAAA,KAAA,GAAnBJ,IAAKI,CAAAA,SAAAA,CACvB,gBAAkB,CAAA,CAAA,CAAA,CAClB,gCAAkCJ,CAAAA,IAAAA,CAAKG,iBACvC6H,CAAAA,WAAAA,CAAchI,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAEZL,IAAKwE,CAAAA,WAAAA,CACHxE,IAAK6E,CAAAA,aAAAA,CAGZ7E,IAAAA,CAAKG,kBACHyH,CAAI,CAAAK,gBAAA,GAAAA,gBAAA,CAAAH,sBAAA,scAQS9H,IAAKuF,CAAAA,mBAAAA,EAGlB,EAAA,CAMUwC,CAAS,CAAA,CACf,wBAAyB/H,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAGFL,IAAKiC,CAAAA,iBAAAA,CAIvCjC,IAAAA,CAAKG,kBACHyH,CAAI,CAAAM,gBAAA,GAAAA,gBAAA,CAAAJ,sBAAA,+bAQS9H,IAAK6F,CAAAA,iBAAAA,EAGlB,EAAA,CAGkD7F,IAAKiC,CAAAA,iBAAAA,EAGlE,CA/YMrC,MAFyBuI,IAEzBvI,CAAAA,CAAMwI,MAAmBA,CAAAA,CAAAA,CAQXC,CAAA,CAAA,CAApBC,CAAM,CAAA,YAAA,CAAA,CAAA,CAAoC1I,CAAA2I,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAChBF,CAAA,CAAA,CAA1BC,CAAM,CAAA,kBAAA,CAAA,CAAA,CAA0C1I,CAAA2I,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CACvBF,CAAA,CAAA,CAAzBC,CAAM,CAAA,iBAAA,CAAA,CAAA,CAAoC1I,CAAA2I,CAAAA,SAAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CACXF,CAAA,CAAA,CAA/BC,EAAM,uBAAgD1I,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,WAAA,CAAA,IAAA,EAE9CF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAA0C5I,CAAA2I,CAAAA,SAAAA,CAAA,mBAAA,CAAA,IAAA,EAAA,CAAA,CAG/BF,CAAA,CAAA,CAAXI,CAAiE7I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,WAAA,CAAA,IAAA,EAIFF,CAAAA,CAAAA,CAAAA,CAAA,CAA/DI,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAKC,CAAAA,SAAAA,CAAU,UAA6BjJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,UAAA,SAAA,CAAA,IAAA,EAAA,CAAA,CAMpEF,CAAA,CAAA,CAAXI,CAAkD7I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,YAAA,CAAA,IAAA,EAGWF,CAAAA,CAAAA,CAAAA,CAAA,CAA7DI,CAAAA,CAAS,CAAEI,SAAAA,CAAW,oBAAsBH,CAAAA,IAAAA,CAAMC,OAAoC/I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,kBAAA,CAAA,IAAA,EAG3CF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAyBhJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,UAAA,CAAA,IAAA,EAgR7DF,CAAAA,CAAAA,CAAAA,CAAA,CADCS,CAAAA,CAAM,kBAAoB,CAAA,CAAEC,oBAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CASlDnJ,CAAA2I,CAAAA,SAAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,CAGDF,CAAA,CAAA,CADCS,CAAM,CAAA,WAAA,CAAa,CAAEC,oBAAAA,CAAAA,CAAsB,CAU3CnJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA2I,SAAA,CAAA,eAAA,CAAA,IAtUU3I,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAYyI,CAAA,CAAA,CADxBW,CAAc,CAAA,gBAAA,CAAA,CAAA,CACFpJ"}
|
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 static styles: CSSResultGroup = styles;\n\n private activeTab?: NileTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: NileTab[] = [];\n private panels: NileTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() private hasScrollControls = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'bottom' | 'start' | 'end' = 'top';\n\n\n /** Track for showing Indicators and Background. */\n @property({ type: Boolean, reflect: true,attribute:'no-track'}) noTrack = false;\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Controls whether tabs are centered and have equal width */\n @property({ type: Boolean, reflect: true }) centered = false;\n\n 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 || !this.indicator) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = false;\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth + 12,\n top: previous.top + current.clientHeight + 12\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.indicator.style.width = `${width - 5}px`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `${offset.left + 2}px`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `${height}px`;\n this.indicator.style.translate = `0 ${offset.top}px`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n 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 if(!this.indicator) return;\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n\n /** 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 'hide__track':this.noTrack\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <nile-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name='arrowright'\n library=\"system\"\n label=\"scrollToStart\"\n @click=${this.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\n part=\"active-tab-indicator\"\n class=${classMap({\n 'tab-group__indicator': !this.noTrack,\n })}\n ></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","this","tabs","panels","hasScrollControls","placement","noTrack","activation","noScrollControls","centered","_this","_inherits","_l","_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","activeTab","previousTab","map","name","panel","syncIndicator","emit","forEach","setAttribute","getAttribute","currentTab","indicator","width","height","clientHeight","allTabs","offset","slice","reduce","previous","current","top","style","translate","concat","scrollWidth","display","show","render","html","_templateObject","_taggedTemplateLiteral","classMap","hide__track","_templateObject2","_templateObject3","NileElement","styles","__decorate","query","prototype","state","property","type","Boolean","reflect","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"y1nDAgDaA,4BAAN,SAAAC,EAAA,uEAOGC,KAAAA,CAAIC,IAAAA,CAAc,EAClBD,CAAAA,KAAAA,CAAME,OAAmB,EAOhBF,CAAAA,KAAAA,CAAiBG,iBAAG,CAAA,CAAA,CAAA,CAGzBH,KAAAA,CAASI,SAAuC,CAAA,KAAA,CAIIJ,KAAAA,CAAOK,OAAAA,CAAAA,CAAG,EAM9DL,KAAAA,CAAUM,UAAAA,CAAsB,MAGkBN,CAAAA,KAAAA,CAAgBO,kBAAG,CAGrCP,CAAAA,KAAAA,CAAQQ,QAAG,CAAA,CAAA,CAgXxD,QAAAC,KAAA,EA9WCC,SAAA,CAAAX,CAAA,CAAAY,EAAA,SAAAC,YAAA,CAAAb,CAAA,GAAAc,GAAA,qBAAAC,KAAA,UAAAC,kBAAA,CAAAA,KAAAA,MAAAA,MACE,GAAMC,CAAAA,CAAAA,CAAiBC,QAAQC,UAAW,CAAA,CACxCC,cAAeC,CAAAA,WAAAA,CAAY,YAC3BD,cAAeC,CAAAA,WAAAA,CAAY,gBAG7BC,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,SAAAA,4BAAAA,IAAAA,OAEArB,IAAKsB,CAAAA,cAAAA,CAAiB,GAAIC,CAAAA,cAAAA,CAAe,WACvCvB,MAAKwB,CAAAA,mBAAAA,CAAAA,CAAAA,CACLxB,MAAKyB,CAAAA,oBAAAA,CAAAA,CAAsB,IAG7BzB,IAAK0B,CAAAA,gBAAAA,CAAmB,GAAIC,CAAAA,gBAAAA,CAAiBC,SAAAA,GAEvCA,CAAUC,CAAAA,IAAAA,CAAK9B,SAAAA,CAAM,QAAA,CAAA,CAAC,kBAAmB,eAAiB+B,CAAAA,CAAAA,QAAAA,CAAS/B,CAAEgC,CAAAA,aAAAA,CAAAA,EAAAA,CAAAA,EACvEC,WAAW,iBAAMhC,CAAAA,MAAAA,CAAKiC,aAIpBL,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAUC,KAAK9B,SAAAA,CAAyB,QAAA,UAAA,GAApBA,CAAEgC,CAAAA,aAAAA,EAAAA,CAAAA,EACxB/B,OAAKkC,iBACN,CAAA,CAAA,EAAA,CAAA,CAIHlC,KAAKmC,cAAeC,CAAAA,IAAAA,CAAK,WACvBpC,MAAKkC,CAAAA,iBAAAA,CAAAA,CAAAA,CACLlC,MAAK0B,CAAAA,gBAAAA,CAAiBW,QAAQrC,MAAM,CAAA,CAAEsC,UAAY,CAAA,CAAA,CAAA,CAAMC,WAAW,CAAMC,CAAAA,OAAAA,CAAAA,CAAS,CAClFxC,CAAAA,CAAAA,CAAAA,MAAAA,CAAKsB,eAAee,OAAQrC,CAAAA,MAAAA,CAAKyC,GAGjCzB,CAAAA,CAAAA,CAAAA,CAAeoB,KAAK,UAEW,CAAA,GAAIM,CAAAA,oBAAqB,CAAA,SAACC,EAASC,CACxDD,CAAAA,KAAAA,mBAAAA,CAAAA,CAAAA,CAAQ,CAAGE,CAAAA,CAAAA,iBAAAA,CAAoB,IACjC7C,MAAKiC,CAAAA,aAAAA,CAAAA,CAAAA,CACPjC,MAAK8C,CAAAA,YAAAA,EAAAA,mBAAAA,CAAa9C,OAAK+C,YAAkB/C,CAAAA,CAAAA,UAAAA,mBAAAA,UAAAA,mBAAAA,CAAAA,MAAAA,CAAKC,IAAK,CAAA,CAAA,CAAA,CAAI,CAAE+C,UAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CACnEJ,CAASK,CAAAA,SAAAA,CAAUN,EAAQ,CAAGO,CAAAA,CAAAA,MAAAA,CAAAA,CAC/B,EAEgBb,CAAAA,CAAAA,OAAAA,CAAQrC,OAAKmD,QAAS,CAAA,EAAA,CAC3C,EAEL,CAAA,EAED,GAAAtC,GAAA,wBAAAC,KAAA,UAAAsC,qBAAA,CACEpD,CAAAA,IAAAA,CAAK0B,gBAAiB2B,CAAAA,UAAAA,CAAAA,CAAAA,CACtBrD,KAAKsB,cAAe2B,CAAAA,SAAAA,CAAUjD,IAAKyC,CAAAA,GAAAA,CACpC,EAEO,GAAA5B,GAAA,cAAAC,KAAA,UAAAwC,WAAA,CAGN,IAHiBC,CAAAA,CAAwC,CAAAC,SAAA,CAAAC,MAAA,IAAAD,SAAA,MAAAE,SAAA,CAAAF,SAAA,IAAA,CAAEG,iBAAiB,CAG5E,CAAA,CAAA,MAAO,CAAAC,kBAAA,CAFM5D,IAAAA,CAAK6D,WAAYC,aAA+B,CAAA,kBAAA,CAAA,CAE5CC,oBAAkCC,MAAOC,CAAAA,SAAAA,CAAAA,QACjDV,CAAAA,EAAQI,eACkB,CAAA,UAAA,GAA7BM,CAAGC,CAAAA,OAAAA,CAAQC,cACkB,UAA7BF,GAAAA,CAAAA,CAAGC,OAAQC,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,CAAiCF,EAAGG,QAEtD,EAAA,CAAA,EAEO,GAAAvD,GAAA,gBAAAC,KAAA,UAAAuD,aAAA,CAAAA,CACN,MAAO,CAAAT,kBAAA,CAAI5D,IAAAA,CAAKsE,IAAKP,CAAAA,gBAAAA,CAAAA,CAAAA,EAAoBC,OAAOC,SAAAA,CAAmC,QAAA,gBAAA,GAA7BA,CAAGC,CAAAA,OAAAA,CAAQC,gBAClE,EAEO,GAAAtD,GAAA,gBAAAC,KAAA,UAAAiC,aAAA,CACN,CAAA,MAAO/C,MAAKC,IAAKsE,CAAAA,IAAAA,CAAKN,SAAAA,CAAMA,QAAAA,CAAAA,CAAAA,CAAGO,SAChC,EAEO,GAAA3D,GAAA,eAAAC,KAAA,UAAA2D,YAAYC,CAAAA,CAAAA,CAClB,GACMC,CAAAA,CADSD,CAAAA,CAAAA,CAAMxB,MACF0B,CAAAA,OAAAA,CAAQ,YACrBzB,CAAWwB,CAAAA,CAAAA,SAAAA,CAAAA,iBAAAA,CAAAA,CAAKC,OAAQ,CAAA,gBAAA,CAAA,CAG1BzB,IAAanD,IAIL,EAAA,IAAA,GAAR2E,CACF3E,EAAAA,IAAAA,CAAK8C,aAAa6B,CAAK,CAAA,CAAEE,cAAgB,CAAA,QAAA,CAAA,CAE5C,EAEO,GAAAhE,GAAA,iBAAAC,KAAA,UAAAgE,cAAcJ,CACpB,CAAA,CAAA,GACMC,CAAAA,EADSD,CAAMxB,CAAAA,MAAAA,CACF0B,OAAQ,CAAA,UAAA,CAAA,CACrBzB,EAAWwB,CAAKC,SAALD,CAAKC,iBAALD,CAAKC,CAAAA,OAAAA,CAAQ,gBAG9B,CAAA,CAAA,GAAIzB,IAAanD,IAKb,GAAA,CAAC,QAAS,GAAK8B,CAAAA,CAAAA,QAAAA,CAAS4C,EAAM7D,GACpB,CAAA,EAAA,IAAA,GAAR8D,CACF3E,GAAAA,IAAAA,CAAK8C,aAAa6B,CAAK,CAAA,CAAEE,cAAgB,CAAA,QAAA,CAAA,CAAA,CACzCH,EAAMK,cAKN,CAAA,CAAA,CAAA,CAAA,CAAC,WAAa,CAAA,YAAA,CAAc,UAAW,WAAa,CAAA,MAAA,CAAQ,KAAOjD,CAAAA,CAAAA,QAAAA,CAAS4C,EAAM7D,GAAM,CAAA,CAAA,CAAA,CAC1F,GAAMmE,CAAAA,EAAAA,CAAWhF,KAAKC,IAAKsE,CAAAA,IAAAA,CAAKU,SAAAA,CAAKA,QAAAA,CAAAA,CAAAA,CAAEC,QAAQ,QAG/C,CAAA,EAAA,CAAA,CAAA,GAAwC,UAApCF,IAAAA,EAAAA,SAAAA,EAAAA,iBAAAA,EAAAA,CAAUd,QAAQC,WAA8B,CAAA,CAAA,EAAA,CAClD,GAAIgB,CAAAA,EAAAA,CAAQnF,KAAKC,IAAKmF,CAAAA,OAAAA,CAAQJ,EAEZ,CAAA,CAAA,MAAA,GAAdN,EAAM7D,GACRsE,CAAAA,EAAAA,CAAQ,CACe,CAAA,KAAA,GAAdT,EAAM7D,GACfsE,CAAAA,EAAAA,CAAQnF,IAAKC,CAAAA,IAAAA,CAAKwD,OAAS,CAE1B,CAAA,CAAC,KAAO,CAAA,QAAA,CAAA,CAAU3B,SAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAAuB,WAATsE,GAAAA,CAAAA,CAAM7D,KACpD,CAAC,OAAA,CAAS,KAAOiB,CAAAA,CAAAA,QAAAA,CAAS9B,KAAKI,SAA4B,CAAA,EAAA,SAAA,GAAdsE,CAAM7D,CAAAA,GAAAA,CAEpDsE,MAEC,CAAC,KAAA,CAAO,UAAUrD,QAAS9B,CAAAA,IAAAA,CAAKI,YAAuB,YAATsE,GAAAA,CAAAA,CAAM7D,GACpD,EAAA,CAAC,QAAS,KAAOiB,CAAAA,CAAAA,QAAAA,CAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAA4B,cAAdsE,CAAM7D,CAAAA,GAAAA,GAEpDsE,EAGEA,EAAAA,CAAAA,EAAAA,CAAQ,IACVA,EAAQnF,CAAAA,IAAAA,CAAKC,IAAKwD,CAAAA,MAAAA,CAAS,GAGzB0B,EAAQnF,CAAAA,IAAAA,CAAKC,IAAKwD,CAAAA,MAAAA,CAAS,IAC7B0B,EAAQ,CAAA,CAAA,CAAA,CAGVnF,IAAKC,CAAAA,IAAAA,CAAKkF,IAAOE,KAAM,CAAA,CAAEC,aAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAEhB,SAApBtF,IAAKM,CAAAA,UAAAA,EACPN,IAAK8C,CAAAA,YAAAA,CAAa9C,KAAKC,IAAKkF,CAAAA,EAAAA,CAAAA,CAAQ,CAAEN,cAAAA,CAAgB,WAGpD,CAAC,KAAA,CAAO,QAAU/C,CAAAA,CAAAA,QAAAA,CAAS9B,KAAKI,SAClCmF,CAAAA,EAAAA,CAAAA,CAAevF,IAAKC,CAAAA,IAAAA,CAAKkF,IAAQnF,IAAKyC,CAAAA,GAAAA,CAAK,YAG7CiC,CAAAA,CAAAA,CAAAA,CAAMK,gBACP,EACF,CACF,CAEO,GAAAlE,GAAA,uBAAAC,KAAA,UAAA0E,oBAAA,EACNxF,IAAKyC,CAAAA,GAAAA,CAAIgD,MAAO,CAAA,CACdC,KAEI1F,IAAKyC,CAAAA,GAAAA,CAAIkD,UAAa3F,CAAAA,IAAAA,CAAKyC,IAAImD,WAEnCC,CAAAA,QAAAA,CAAU,UAEb,EAEO,GAAAhF,GAAA,qBAAAC,KAAA,UAAAgF,kBAAA,EACN9F,IAAKyC,CAAAA,GAAAA,CAAIgD,MAAO,CAAA,CACdC,KAEI1F,IAAKyC,CAAAA,GAAAA,CAAIkD,UAAa3F,CAAAA,IAAAA,CAAKyC,IAAImD,WAEnCC,CAAAA,QAAAA,CAAU,QAEb,CAAA,CAAA,EAEO,GAAAhF,GAAA,gBAAAC,KAAA,UAAAgC,aAAa6B,CAAAA,CAAcpB,CAQjC,CAAA,KAAAwC,MAAA,MAAA,GANAxC,iBACEP,UAAAA,CAAAA,CAAY,CACZ6B,CAAAA,cAAAA,CAAgB,QACbtB,CAGDoB,CAAAA,CAAAA,CAAAA,GAAQ3E,IAAKgG,CAAAA,SAAAA,EAAAA,CAAcrB,EAAIP,QAAU,CAAA,CAE3C,GAAM6B,CAAAA,GAAAA,CAAcjG,KAAKgG,SACzBhG,CAAAA,IAAAA,CAAKgG,SAAYrB,CAAAA,CAAAA,CAIjB3E,KAAKC,IAAKiG,CAAAA,GAAAA,CAAIjC,SAAAA,CAAOA,QAAAA,CAAAA,CAAAA,CAAGO,OAASP,CAAOjE,GAAAA,MAAAA,CAAKgG,SAC7ChG,EAAAA,CAAAA,CAAAA,IAAAA,CAAKE,OAAOgG,GAAIjC,CAAAA,SAAAA,CAAAA,MAAAA,gBAAAA,OAAOA,CAAAA,CAAGO,CAAAA,MAAAA,CAASP,EAAGkC,IAASnG,KAAAA,gBAAAA,CAAAA,MAAAA,CAAKgG,SAAWI,UAAAA,gBAAAA,iBAAhBpG,gBAAAA,CAAgBoG,KAAAA,GAAAA,CAAAA,CAC/DpG,KAAKqG,aAED,CAAA,CAAA,CAAA,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUvE,SAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAClCmF,CAAevF,CAAAA,IAAAA,CAAKgG,UAAWhG,IAAKyC,CAAAA,GAAAA,CAAK,YAAcc,CAAAA,CAAAA,CAAQsB,gBAI7DtB,CAAQP,CAAAA,UAAAA,GACNiD,KACFjG,IAAKsG,CAAAA,IAAAA,CAAK,gBAAiB,CAAExF,KAAAA,CAAOmF,GAAYG,CAAAA,KAAAA,CAAAA,CAAAA,CAGlDpG,KAAKsG,IAAK,CAAA,eAAA,CAAiB,CAAExF,KAAAA,CAAOd,KAAKgG,SAAUI,CAAAA,KAAAA,CAAAA,CAAAA,CAEtD,EACF,CAEO,GAAAvF,GAAA,iBAAAC,KAAA,UAAAmB,cAAA,CAENjC,KAAAA,MAAAA,MAAAA,IAAAA,CAAKC,IAAKsG,CAAAA,OAAAA,CAAQ5B,SAAAA,GAChB,GAAMyB,CAAAA,CAAAA,CAAQpG,MAAKE,CAAAA,MAAAA,CAAOqE,KAAKN,SAAAA,CAAMA,QAAAA,CAAAA,CAAAA,CAAGkC,IAASxB,GAAAA,CAAAA,CAAIyB,SACjDA,CACFzB,GAAAA,CAAAA,CAAI6B,YAAa,CAAA,eAAA,CAAiBJ,EAAMK,YAAa,CAAA,IAAA,CAAA,CAAA,CACrDL,CAAMI,CAAAA,YAAAA,CAAa,kBAAmB7B,CAAI8B,CAAAA,YAAAA,CAAa,IACxD,CAAA,CAAA,CAAA,EAAA,CAEJ,EAEO,GAAA5F,GAAA,uBAAAC,KAAA,UAAAU,oBAAA,CAAAA,CACN,GAAMkF,CAAAA,CAAAA,CAAa1G,KAAK+C,YAExB,CAAA,CAAA,CAAA,GAAA,CAAK2D,CAAe1G,EAAAA,CAAAA,IAAAA,CAAK2G,UACvB,OAGF,GAAMC,CAAAA,CAAQF,CAAAA,CAAAA,CAAWd,YACnBiB,CAASH,CAAAA,CAAAA,CAAWI,YAKpBC,CAAAA,CAAAA,CAAU/G,KAAKsD,UAEf0D,CAAAA,CAAAA,CAAAA,CAAAA,CADgBD,CAAQE,CAAAA,KAAAA,CAAM,EAAGF,CAAQ3B,CAAAA,OAAAA,CAAQsB,CAC1BQ,CAAAA,CAAAA,CAAAA,MAAAA,CAC3B,SAACC,CAAUC,CAAAA,CAAAA,QAAa,CACtB1B,IAAMyB,CAAAA,CAAAA,CAASzB,KAAO0B,CAAQxB,CAAAA,WAAAA,CAAc,EAC5CyB,CAAAA,GAAAA,CAAKF,EAASE,GAAMD,CAAAA,CAAAA,CAAQN,YAAe,CAAA,EAAA,CAAA,EAAA,CAE7C,CAAEpB,IAAM,CAAA,CAAA,CAAG2B,GAAK,CAAA,CAAA,CAAA,CAAA,CAGlB,OAAQrH,IAAKI,CAAAA,SAAAA,EACX,IAAK,KAAA,CACL,IAAK,QACHJ,CAAAA,IAAAA,CAAK2G,SAAUW,CAAAA,KAAAA,CAAMV,MAAWA,CAAQ,CAAA,CAAA,CAAX,IAC7B5G,CAAAA,IAAAA,CAAK2G,UAAUW,KAAMT,CAAAA,MAAAA,CAAS,MAC9B7G,CAAAA,IAAAA,CAAK2G,UAAUW,KAAMC,CAAAA,SAAAA,IAAAA,MAAAA,CAAeP,CAAAA,CAAOtB,KAAO,CAClD,MAAA,CAAA,MAEF,IAAK,OAAA,CACL,IAAK,KACH1F,CAAAA,IAAAA,CAAK2G,SAAUW,CAAAA,KAAAA,CAAMV,MAAQ,MAC7B5G,CAAAA,IAAAA,CAAK2G,SAAUW,CAAAA,KAAAA,CAAMT,iBAAYA,CAAAA,MAAAA,CACjC7G,IAAK2G,CAAAA,SAAAA,CAAUW,MAAMC,SAAY,MAAAC,MAAA,CAAKR,CAAOK,CAAAA,GAAAA,MAAAA,EAGlD,CAGO,GAAAxG,GAAA,qBAAAC,KAAA,UAAAoB,kBAAA,CAAAA,KAAAA,MAAAA,MACNlC,IAAKC,CAAAA,IAAAA,CAAOD,KAAKsD,UAAW,CAAA,CAAEK,eAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/C3D,KAAKE,MAASF,CAAAA,IAAAA,CAAKqE,eACnBrE,IAAKqG,CAAAA,aAAAA,CAAAA,CAAAA,CAELrG,KAAKC,IAAKsG,CAAAA,OAAAA,CAAS5B,SAAAA,CACjBA,CAAAA,CAAAA,CAAAA,CAAInE,SAAWR,MAAKQ,CAAAA,QAAQ,EAI9BR,CAAAA,CAAAA,IAAAA,CAAKmC,eAAeC,IAAK,CAAA,iBAAMpC,CAAAA,MAAKyB,CAAAA,oBAAAA,CAAAA,CAAAA,EAAAA,CACrC,EAGD,GAAAZ,GAAA,wBAAAC,KAAA,UAAAW,qBAAA,CAAAA,CACMzB,IAAKO,CAAAA,gBAAAA,GAGPP,KAAKG,iBACH,CAAA,CAAC,KAAO,CAAA,QAAA,CAAA,CAAU2B,SAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAAcJ,IAAKyC,CAAAA,GAAAA,CAAIgF,YAAczH,IAAKyC,CAAAA,GAAAA,CAAImD,WAHhF5F,CAAAA,CAAAA,IAAAA,CAAKG,mBAAoB,CAM5B,EAGD,GAAAU,GAAA,iBAAAC,KAAA,UAAAuF,cAAA,CAAAA,CACE,IAAIrG,IAAK2G,CAAAA,SAAAA,CAAW,OACR3G,IAAAA,CAAK+C,gBAGf/C,IAAK2G,CAAAA,SAAAA,CAAUW,KAAMI,CAAAA,OAAAA,CAAU,QAC/B1H,IAAKwB,CAAAA,mBAAAA,CAAAA,CAAAA,EAELxB,IAAK2G,CAAAA,SAAAA,CAAUW,MAAMI,OAAU,CAAA,MAElC,EAGD,GAAA7G,GAAA,QAAAC,KAAA,UAAA6G,KAAKvB,CACH,CAAA,CAAA,GAAMzB,CAAAA,CAAM3E,CAAAA,IAAAA,CAAKC,KAAKsE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,CAAGmC,CAAAA,KAAAA,GAAUA,KAE1CzB,CACF3E,EAAAA,IAAAA,CAAK8C,YAAa6B,CAAAA,CAAAA,CAAK,CAAEE,cAAgB,CAAA,QAAA,CAAA,CAE5C,EAED,GAAAhE,GAAA,UAAAC,KAAA,UAAA8G,OAAA,CAAAA,CAGE,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,mpBAGCC,CAAS,CAAA,CACf,WAAa,CAAA,CAAA,CAAA,CACb,gBAAqC,CAAA,KAAA,GAAnBhI,KAAKI,SACvB,CAAA,mBAAA,CAAwC,QAAnBJ,GAAAA,IAAAA,CAAKI,SAC1B,CAAA,kBAAA,CAAuC,UAAnBJ,IAAKI,CAAAA,SAAAA,CACzB,gBAAqC,CAAA,KAAA,GAAnBJ,IAAKI,CAAAA,SAAAA,CACvB,gBAAkB,CAAA,CAAA,CAAA,CAClB,gCAAkCJ,CAAAA,IAAAA,CAAKG,iBACvC8H,CAAAA,WAAAA,CAAcjI,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAEZL,IAAKyE,CAAAA,WAAAA,CACHzE,IAAK8E,CAAAA,aAAAA,CAGZ9E,IAAAA,CAAKG,kBACH0H,CAAI,CAAAK,gBAAA,GAAAA,gBAAA,CAAAH,sBAAA,scAQS/H,IAAKwF,CAAAA,mBAAAA,EAGlB,EAAA,CAMUwC,CAAS,CAAA,CACf,wBAAyBhI,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAGFL,IAAKkC,CAAAA,iBAAAA,CAIvClC,IAAAA,CAAKG,kBACH0H,CAAI,CAAAM,gBAAA,GAAAA,gBAAA,CAAAJ,sBAAA,+bAQS/H,IAAK8F,CAAAA,iBAAAA,EAGlB,EAAA,CAGkD9F,IAAKkC,CAAAA,iBAAAA,EAGlE,CA/YMpC,MAFyBsI,CAAAA,GAEzBtI,CAAAA,CAAMuI,MAAmBA,CAAAA,CAAAA,CAQXC,CAAA,CAAA,CAApBC,CAAM,CAAA,YAAA,CAAA,CAAA,CAAoCzI,CAAA0I,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAChBF,CAAA,CAAA,CAA1BC,CAAM,CAAA,kBAAA,CAAA,CAAA,CAA0CzI,CAAA0I,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CACvBF,CAAA,CAAA,CAAzBC,CAAM,CAAA,iBAAA,CAAA,CAAA,CAAoCzI,CAAA0I,CAAAA,SAAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CACXF,CAAA,CAAA,CAA/BC,EAAM,uBAAgDzI,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,WAAA,CAAA,IAAA,EAE9CF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAA0C3I,CAAA0I,CAAAA,SAAAA,CAAA,mBAAA,CAAA,IAAA,EAAA,CAAA,CAG/BF,CAAA,CAAA,CAAXI,CAAiE5I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,WAAA,CAAA,IAAA,EAIFF,CAAAA,CAAAA,CAAAA,CAAA,CAA/DI,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAKC,CAAAA,SAAAA,CAAU,UAA6BhJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,UAAA,SAAA,CAAA,IAAA,EAAA,CAAA,CAMpEF,CAAA,CAAA,CAAXI,CAAkD5I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,YAAA,CAAA,IAAA,EAGWF,CAAAA,CAAAA,CAAAA,CAAA,CAA7DI,CAAAA,CAAS,CAAEI,SAAAA,CAAW,oBAAsBH,CAAAA,IAAAA,CAAMC,OAAoC9I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,kBAAA,CAAA,IAAA,EAG3CF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAyB/I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,UAAA,CAAA,IAAA,EA+Q7DF,CAAAA,CAAAA,CAAAA,CAAA,CADCS,CAAAA,CAAM,kBAAoB,CAAA,CAAEC,oBAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CASlDlJ,CAAA0I,CAAAA,SAAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,CAGDF,CAAA,CAAA,CADCS,CAAM,CAAA,WAAA,CAAa,CAAEC,oBAAAA,CAAAA,CAAsB,CAW3ClJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0I,SAAA,CAAA,eAAA,CAAA,IAtUU1I,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAYwI,CAAA,CAAA,CADxBW,CAAc,CAAA,gBAAA,CAAA,CAAA,CACFnJ"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import{__decorate as i}from"tslib";import{x as s}from"../index-0a3007c5.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/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/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/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/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-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart-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/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar-01.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-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/check.esm.js";import"../nile-icon/icons/svg/chevron-down.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-selector-vertical.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/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-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/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-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-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/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.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/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/dots-vertical.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-01.esm.js";import"../nile-icon/icons/svg/download-02.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-01.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-03.esm.js";import"../nile-icon/icons/svg/expand-06.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-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow-01.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-01.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-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide.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-circle.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-circle.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/intersection.esm.js";import"../nile-icon/icons/svg/itemplaceholder.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/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/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/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/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/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/nightingale-chart.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-circle.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/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh-cw-03.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/right-join.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/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-lg.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/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendprompt.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.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/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/stop-circle.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-03.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/union.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-01.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-circle.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-01.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"../nile-icon/icons/svg/x-circle.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.noTrack=!1,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+12,top:i.top+s.clientHeight+12})),{left:0,top:0});if(this.indicator)switch(this.placement){case"top":case"bottom":this.indicator.style.width=s-5+"px",this.indicator.style.height="auto",this.indicator.style.translate=`${e.left+2}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?(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-0a3007c5.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/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/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/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/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-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart-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/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar-01.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-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/check.esm.js";import"../nile-icon/icons/svg/chevron-down.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-selector-vertical.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/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-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/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-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-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/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.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/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/dots-vertical.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-01.esm.js";import"../nile-icon/icons/svg/download-02.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-01.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-03.esm.js";import"../nile-icon/icons/svg/expand-06.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-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow-01.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-01.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-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide.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/headphones-01.esm.js";import"../nile-icon/icons/svg/help-1.esm.js";import"../nile-icon/icons/svg/help-circle.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-circle.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/intersection.esm.js";import"../nile-icon/icons/svg/itemplaceholder.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/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/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/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/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/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/nightingale-chart.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-circle.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/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh-cw-03.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/right-join.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/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-lg.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/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendprompt.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.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/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/stop-circle.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-03.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/union.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-01.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-circle.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-01.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"../nile-icon/icons/svg/x-circle.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.noTrack=!1,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||!this.indicator)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+12,top:i.top+s.clientHeight+12})),{left:0,top:0});switch(this.placement){case"top":case"bottom":this.indicator.style.width=s-5+"px",this.indicator.style.height="auto",this.indicator.style.translate=`${e.left+2}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(){if(!this.indicator)return;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,hide__track:this.noTrack})}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
System.register(["../index-c7ad3b47.cjs.js"],function(_export,_context){"use strict";var i,_templateObject,e;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){i=_index001CjsJs.i;}],execute:function execute(){_export("s",e=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n display: table-cell;\n vertical-align: middle;\n --min--height: 52px;\n --max--cell-width: auto;\n max-width: var(--max--cell-width);\n padding: 16px 24px;\n min-height: var(--min--height);\n }\n\n .column {\n height: 100%;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-type-scale-6);\n letter-spacing: 0.2px;\n }\n"]))));}};});
|
1
|
+
System.register(["../index-c7ad3b47.cjs.js"],function(_export,_context){"use strict";var i,_templateObject,e;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){i=_index001CjsJs.i;}],execute:function execute(){_export("s",e=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n display: table-cell;\n vertical-align: middle;\n --min--height: 52px;\n --max--cell-width: auto;\n max-width: var(--max--cell-width);\n padding: 16px 24px;\n min-height: var(--min--height);\n }\n\n .column {\n height: 100%;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n /* line-height: var(--nile-type-scale-6); */\n line-height: normal;\n letter-spacing: 0.2px;\n }\n"]))));}};});
|
2
2
|
//# sourceMappingURL=nile-table-cell-item.css.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-table-cell-item.css.cjs.js","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.css.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 { css } from 'lit-element';\n\n/**\n * TableCellItem CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n display: table-cell;\n vertical-align: middle;\n --min--height: 52px;\n --max--cell-width: auto;\n max-width: var(--max--cell-width);\n padding: 16px 24px;\n min-height: var(--min--height);\n }\n\n .column {\n height: 100%;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-type-scale-6);\n letter-spacing: 0.2px;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"wXAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
1
|
+
{"version":3,"file":"nile-table-cell-item.css.cjs.js","sources":["../../../src/nile-table-cell-item/nile-table-cell-item.css.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 { css } from 'lit-element';\n\n/**\n * TableCellItem CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n display: table-cell;\n vertical-align: middle;\n --min--height: 52px;\n --max--cell-width: auto;\n max-width: var(--max--cell-width);\n padding: 16px 24px;\n min-height: var(--min--height);\n }\n\n .column {\n height: 100%;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-size: var(--nile-type-scale-3);\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n /* line-height: var(--nile-type-scale-6); */\n line-height: normal;\n letter-spacing: 0.2px;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"wXAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
@@ -17,7 +17,8 @@ import{i as e}from"../index-0a3007c5.esm.js";const i=e`
|
|
17
17
|
font-size: var(--nile-type-scale-3);
|
18
18
|
font-style: normal;
|
19
19
|
font-weight: var(--nile-font-weight-regular);
|
20
|
-
line-height: var(--nile-type-scale-6);
|
20
|
+
/* line-height: var(--nile-type-scale-6); */
|
21
|
+
line-height: normal;
|
21
22
|
letter-spacing: 0.2px;
|
22
23
|
}
|
23
24
|
`;export{i as s};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
System.register(["../index-c7ad3b47.cjs.js"],function(_export,_context){"use strict";var i,_templateObject,e;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){i=_index001CjsJs.i;}],execute:function execute(){_export("s",e=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n line-height: var(--nile-type-scale-5);\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n"]))));}};});
|
1
|
+
System.register(["../index-c7ad3b47.cjs.js"],function(_export,_context){"use strict";var i,_templateObject,e;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){i=_index001CjsJs.i;}],execute:function execute(){_export("s",e=i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n /* line-height: var(--nile-type-scale-5); */\n line-height: normal;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n"]))));}};});
|
2
2
|
//# sourceMappingURL=nile-table-header-item.css.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-table-header-item.css.cjs.js","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.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 { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n line-height: var(--nile-type-scale-5);\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"wXAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
1
|
+
{"version":3,"file":"nile-table-header-item.css.cjs.js","sources":["../../../src/nile-table-header-item/nile-table-header-item.css.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 { css } from 'lit-element';\n\n/**\n * TableHeaderItem CSS\n */\nexport const styles = css`\n :host {\n display: table-cell;\n box-sizing: border-box;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-3xl);\n min-height: 44px;\n height: 44px;\n }\n\n .headers {\n display: flex;\n align-items: center;\n height: auto;\n width: 100%;\n gap: 8px;\n color: var(--nile-colors-gray-light-mode-600);\n font-family: var(--nile-font-family-serif);\n font-feature-settings: 'clig' off, 'liga' off;\n font-size: var(--nile-type-scale-2);\n font-weight: 500;\n font-style: normal;\n /* line-height: var(--nile-type-scale-5); */\n line-height: normal;\n }\n\n nile-icon {\n cursor: pointer;\n }\n\n .sorting__icons {\n display: flex;\n flex-direction: column;\n align-items: centre;\n }\n\n .sorting__icons nile-icon:hover {\n opacity: 0.4;\n }\n\n .hover__arrow {\n opacity: 0;\n }\n\n .headers:hover .hover__arrow {\n opacity: 0.3;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"wXAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
@@ -19,7 +19,8 @@ import{i}from"../index-0a3007c5.esm.js";const e=i`
|
|
19
19
|
font-size: var(--nile-type-scale-2);
|
20
20
|
font-weight: 500;
|
21
21
|
font-style: normal;
|
22
|
-
line-height: var(--nile-type-scale-5);
|
22
|
+
/* line-height: var(--nile-type-scale-5); */
|
23
|
+
line-height: normal;
|
23
24
|
}
|
24
25
|
|
25
26
|
nile-icon {
|