@aquera/nile-elements 0.0.96 → 0.0.97
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 +5 -0
- package/demo/filenames.txt +1 -1
- package/demo/variables.css +5 -0
- package/demo/variables_v2.css +3 -0
- package/dist/{angular-ts-a95c67aa.cjs.js → angular-ts-8eef275b.cjs.js} +2 -2
- package/dist/{angular-ts-a95c67aa.cjs.js.map → angular-ts-8eef275b.cjs.js.map} +1 -1
- package/dist/{asciidoc-b8046ce8.esm.js → asciidoc-45b24fbf.esm.js} +1 -1
- package/dist/{asciidoc-c0ae04c3.cjs.js → asciidoc-d9a554a9.cjs.js} +2 -2
- package/dist/{asciidoc-c0ae04c3.cjs.js.map → asciidoc-d9a554a9.cjs.js.map} +1 -1
- package/dist/coq-112048d4.cjs.js +2 -0
- package/dist/coq-112048d4.cjs.js.map +1 -0
- package/dist/coq-2b59f292.esm.js +1 -0
- package/dist/{edge-f122fee4.cjs.js → edge-117795ef.cjs.js} +2 -2
- package/dist/{edge-f122fee4.cjs.js.map → edge-117795ef.cjs.js.map} +1 -1
- package/dist/{fortran-fixed-form-48ce1631.cjs.js → fortran-fixed-form-04eb2c2b.cjs.js} +2 -2
- package/dist/{fortran-fixed-form-48ce1631.cjs.js.map → fortran-fixed-form-04eb2c2b.cjs.js.map} +1 -1
- package/dist/{fsharp-9f65d045.cjs.js → fsharp-b73adc59.cjs.js} +2 -2
- package/dist/{fsharp-9f65d045.cjs.js.map → fsharp-b73adc59.cjs.js.map} +1 -1
- package/dist/{gdresource-f69c4269.cjs.js → gdresource-165d80c9.cjs.js} +2 -2
- package/dist/{gdresource-f69c4269.cjs.js.map → gdresource-165d80c9.cjs.js.map} +1 -1
- package/dist/github-dark-high-contrast-7b0d7429.cjs.js +2 -0
- package/dist/github-dark-high-contrast-7b0d7429.cjs.js.map +1 -0
- package/dist/github-dark-high-contrast-bf87cfb0.esm.js +1 -0
- package/dist/github-light-high-contrast-3683d923.esm.js +1 -0
- package/dist/github-light-high-contrast-caee8ed6.cjs.js +2 -0
- package/dist/github-light-high-contrast-caee8ed6.cjs.js.map +1 -0
- package/dist/gleam-69ca4750.cjs.js +2 -0
- package/dist/gleam-69ca4750.cjs.js.map +1 -0
- package/dist/gleam-79f887fd.esm.js +1 -0
- package/dist/{haml-a62722ee.cjs.js → haml-bdfaf5bf.cjs.js} +2 -2
- package/dist/{haml-a62722ee.cjs.js.map → haml-bdfaf5bf.cjs.js.map} +1 -1
- package/dist/{http-243ce707.cjs.js → http-bdc26351.cjs.js} +2 -2
- package/dist/{http-243ce707.cjs.js.map → http-bdc26351.cjs.js.map} +1 -1
- package/dist/{hxml-36e954b2.cjs.js → hxml-ec409b05.cjs.js} +2 -2
- package/dist/{hxml-36e954b2.cjs.js.map → hxml-ec409b05.cjs.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/{latex-1732805a.cjs.js → latex-13abd118.cjs.js} +2 -2
- package/dist/{latex-1732805a.cjs.js.map → latex-13abd118.cjs.js.map} +1 -1
- package/dist/{mdc-a3ab9285.cjs.js → mdc-31e30669.cjs.js} +2 -2
- package/dist/{mdc-a3ab9285.cjs.js.map → mdc-31e30669.cjs.js.map} +1 -1
- 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/index.cjs.js +1 -1
- package/dist/nile-calendar/index.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 +0 -5
- package/dist/nile-calendar/nile-calendar.esm.js +51 -53
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -1
- 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.css.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.css.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.css.esm.js +6 -2
- package/dist/nile-date-picker/nile-date-picker.esm.js +6 -6
- 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-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 +7 -7
- package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
- package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
- package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
- package/dist/nile-icon/icons/svg/compare.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/compare.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/compare.esm.js +1 -0
- package/dist/nile-icon/icons/svg/dock-to-right.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/dock-to-right.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/dock-to-right.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/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-inline-edit/index.cjs.js +2 -0
- package/dist/nile-inline-edit/index.cjs.js.map +1 -0
- package/dist/nile-inline-edit/index.esm.js +1 -0
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js +2 -0
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -0
- package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js +2 -0
- package/dist/nile-inline-edit/nile-inline-edit.css.cjs.js.map +1 -0
- package/dist/nile-inline-edit/nile-inline-edit.css.esm.js +42 -0
- package/dist/nile-inline-edit/nile-inline-edit.esm.js +6 -0
- 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-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.esm.js +1 -1
- 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-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/{nim-df5f9efe.cjs.js → nim-175a1e94.cjs.js} +2 -2
- package/dist/{nim-df5f9efe.cjs.js.map → nim-175a1e94.cjs.js.map} +1 -1
- package/dist/{proto-11466e41.esm.js → proto-7cb7fd99.esm.js} +1 -1
- package/dist/{proto-bdf8f839.cjs.js → proto-c0d38a59.cjs.js} +2 -2
- package/dist/{proto-bdf8f839.cjs.js.map → proto-c0d38a59.cjs.js.map} +1 -1
- package/dist/{rst-64e995dc.cjs.js → rst-939eae95.cjs.js} +2 -2
- package/dist/{rst-64e995dc.cjs.js.map → rst-939eae95.cjs.js.map} +1 -1
- package/dist/{shaderlab-8f7349ac.cjs.js → shaderlab-f1b8150d.cjs.js} +2 -2
- package/dist/{shaderlab-8f7349ac.cjs.js.map → shaderlab-f1b8150d.cjs.js.map} +1 -1
- package/dist/{sparql-cd3386f5.cjs.js → sparql-fa708d4c.cjs.js} +2 -2
- package/dist/{sparql-cd3386f5.cjs.js.map → sparql-fa708d4c.cjs.js.map} +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +0 -5
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +94 -56
- package/dist/src/nile-calendar/nile-calendar.js +465 -490
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.js +2 -2
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.css.js +4 -0
- package/dist/src/nile-date-picker/nile-date-picker.css.js.map +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.js +7 -6
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/compare.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/compare.js +5 -0
- package/dist/src/nile-icon/icons/svg/compare.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/dock-to-right.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/dock-to-right.js +5 -0
- package/dist/src/nile-icon/icons/svg/dock-to-right.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
- package/dist/src/nile-icon/icons/svg/index.js +2 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-inline-edit/index.d.ts +1 -0
- package/dist/src/nile-inline-edit/index.js +2 -0
- package/dist/src/nile-inline-edit/index.js.map +1 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.css.d.ts +12 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.css.js +54 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.css.js.map +1 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +41 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.js +76 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -0
- package/dist/{svelte-eaee6dea.cjs.js → svelte-1c9200e6.cjs.js} +2 -2
- package/dist/{svelte-eaee6dea.cjs.js.map → svelte-1c9200e6.cjs.js.map} +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{twig-ef3a2f8e.cjs.js → twig-e82a0f10.cjs.js} +2 -2
- package/dist/{twig-ef3a2f8e.cjs.js.map → twig-e82a0f10.cjs.js.map} +1 -1
- package/dist/{typespec-2408a2c5.esm.js → typespec-5b65452b.esm.js} +1 -1
- package/dist/{typespec-df7168c5.cjs.js → typespec-5f9c7522.cjs.js} +2 -2
- package/dist/{typespec-df7168c5.cjs.js.map → typespec-5f9c7522.cjs.js.map} +1 -1
- package/dist/vitesse-black-02f9013c.esm.js +1 -0
- package/dist/vitesse-black-c8b0af08.cjs.js +2 -0
- package/dist/vitesse-black-c8b0af08.cjs.js.map +1 -0
- package/dist/vitesse-dark-362560d8.esm.js +1 -0
- package/dist/vitesse-dark-4d62a96c.cjs.js +2 -0
- package/dist/vitesse-dark-4d62a96c.cjs.js.map +1 -0
- package/dist/vitesse-light-64c34e5b.esm.js +1 -0
- package/dist/vitesse-light-c347b81b.cjs.js +2 -0
- package/dist/vitesse-light-c347b81b.cjs.js.map +1 -0
- package/dist/{vue-711d75a4.esm.js → vue-8a11ba51.esm.js} +1 -1
- package/dist/{vue-d4c63178.cjs.js → vue-ec02ac11.cjs.js} +2 -2
- package/dist/{vue-d4c63178.cjs.js.map → vue-ec02ac11.cjs.js.map} +1 -1
- package/dist/{vue-html-b805e078.esm.js → vue-html-223d6d0d.esm.js} +1 -1
- package/dist/{vue-html-13711be2.cjs.js → vue-html-39fa1a8f.cjs.js} +2 -2
- package/dist/{vue-html-13711be2.cjs.js.map → vue-html-39fa1a8f.cjs.js.map} +1 -1
- package/dist/{wikitext-724303c6.esm.js → wikitext-194e2520.esm.js} +1 -1
- package/dist/{wikitext-d4ad7e43.cjs.js → wikitext-f8506da8.cjs.js} +2 -2
- package/dist/{wikitext-d4ad7e43.cjs.js.map → wikitext-f8506da8.cjs.js.map} +1 -1
- package/package.json +4 -3
- package/src/index.ts +2 -0
- package/src/nile-calendar/nile-calendar.css.ts +0 -5
- package/src/nile-calendar/nile-calendar.ts +481 -557
- package/src/nile-chip/nile-chip.ts +2 -2
- package/src/nile-date-picker/nile-date-picker.css.ts +4 -0
- package/src/nile-date-picker/nile-date-picker.ts +7 -7
- package/src/nile-icon/icons/svg/compare.ts +5 -0
- package/src/nile-icon/icons/svg/dock-to-right.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +2 -0
- package/src/nile-inline-edit/index.ts +1 -0
- package/src/nile-inline-edit/nile-inline-edit.css.ts +56 -0
- package/src/nile-inline-edit/nile-inline-edit.ts +80 -0
- package/dist/gleam-13d71b99.cjs.js +0 -2
- package/dist/gleam-13d71b99.cjs.js.map +0 -1
- package/dist/gleam-780849b8.esm.js +0 -1
- package/dist/vitesse-black-36f4f5ae.esm.js +0 -1
- package/dist/vitesse-black-8f7b8bf9.cjs.js +0 -2
- package/dist/vitesse-black-8f7b8bf9.cjs.js.map +0 -1
- package/dist/vitesse-dark-877d0b03.cjs.js +0 -2
- package/dist/vitesse-dark-877d0b03.cjs.js.map +0 -1
- package/dist/vitesse-dark-b177c06b.esm.js +0 -1
- package/dist/vitesse-light-1305bc40.esm.js +0 -1
- package/dist/vitesse-light-3f1d75bb.cjs.js +0 -2
- package/dist/vitesse-light-3f1d75bb.cjs.js.map +0 -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 || !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","_l","m","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","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","find","active","handleClick","event","tab","closest","scrollBehavior","handleKeyDown","preventDefault","activeEl","t","matches","index","indexOf","length","focus","preventScroll","scrollIntoView","handleScrollToStart","scroll","left","scrollLeft","clientWidth","behavior","handleScrollToEnd","_this3","_objectSpread","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":"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"}
|
1
|
+
{"version":3,"file":"nile-tab-group.cjs.js","sources":["../../../src/nile-tab-group/nile-tab-group.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport {styles} from './nile-tab-group.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../internal/scroll';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileTab from '../nile-tab/nile-tab';\nimport type NileTabPanel from '../nile-tab-panel/nile-tab-panel';\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab-group\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<nile-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<nile-tab>` elements.\n *\n * @event {{ name: String }} nile-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} nile-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<nile-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n *\n */\n@customElement('nile-tab-group')\nexport class NileTabGroup extends NileElement {\n\n 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","includeDisabled","_toConsumableArray","shadowRoot","querySelector","assignedElements","filter","el","tagName","toLowerCase","disabled","getAllPanels","body","find","active","handleClick","event","tab","closest","scrollBehavior","handleKeyDown","preventDefault","activeEl","t","matches","index","indexOf","length","focus","preventScroll","scrollIntoView","handleScrollToStart","scroll","left","scrollLeft","clientWidth","behavior","handleScrollToEnd","activeTab","previousTab","map","name","panel","syncIndicator","emit","forEach","setAttribute","getAttribute","currentTab","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":"4/pDAgDaA,CAAAA,uBAAAA,EAAAA,EAAN,SAAAC,EAAA,qEAOGC,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,CAAAX,CAAA,CAAAY,EAAA,SAAAC,YAAA,CAAAb,CAAA,GAAAc,GAAA,qBAAAC,KAAA,UAAAC,kBAAA,kBACE,GAAMC,CAAAA,CAAAA,CAAiBC,QAAQC,UAAW,CAAA,CACxCC,eAAeC,WAAY,CAAA,UAAA,CAAA,CAC3BD,cAAeC,CAAAA,WAAAA,CAAY,oBAG7BC,IAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,SAAAA,4BAAAA,IAAAA,OAEArB,IAAKsB,CAAAA,cAAAA,CAAiB,GAAIC,CAAAA,cAAe,CAAA,UAAA,CACvCvB,MAAKwB,CAAAA,mBAAAA,CAAAA,CAAAA,CACLxB,OAAKyB,oBAAsB,CAAA,CAAA,EAAA,CAAA,CAG7BzB,IAAK0B,CAAAA,gBAAAA,CAAmB,GAAIC,CAAAA,gBAAiBC,CAAAA,SAAAA,CAAAA,CAAAA,CAEvCA,CAAUC,CAAAA,IAAAA,CAAK9B,SAAAA,UAAM,CAAC,iBAAA,CAAmB,eAAiB+B,CAAAA,CAAAA,QAAAA,CAAS/B,EAAEgC,aACvEC,CAAAA,EAAAA,CAAAA,EAAAA,UAAAA,CAAW,iBAAMhC,CAAAA,MAAAA,CAAKiC,mBAIpBL,CAAUC,CAAAA,IAAAA,CAAK9B,SAAAA,SAAyB,UAApBA,GAAAA,CAAAA,CAAEgC,kBACxB/B,MAAKkC,CAAAA,iBAAAA,CAAAA,CACN,EAIHlC,CAAAA,CAAAA,IAAAA,CAAKmC,eAAeC,IAAK,CAAA,UAAA,CACvBpC,MAAKkC,CAAAA,iBAAAA,CAAAA,CAAAA,CACLlC,OAAK0B,gBAAiBW,CAAAA,OAAAA,CAAQrC,MAAM,CAAA,CAAEsC,YAAY,CAAMC,CAAAA,SAAAA,CAAAA,CAAW,CAAMC,CAAAA,OAAAA,CAAAA,CAAS,IAClFxC,MAAKsB,CAAAA,cAAAA,CAAee,OAAQrC,CAAAA,MAAAA,CAAKyC,KAGjCzB,CAAeoB,CAAAA,IAAAA,CAAK,UAEW,CAAA,GAAIM,CAAAA,qBAAqB,SAACC,CAAAA,CAASC,CACxDD,CAAAA,KAAAA,mBAAAA,CAAAA,CAAAA,CAAQ,GAAGE,iBAAoB,CAAA,CAAA,GACjC7C,MAAKiC,CAAAA,aAAAA,CAAAA,CAAAA,CACPjC,OAAK8C,YAAa9C,EAAAA,mBAAAA,CAAAA,MAAAA,CAAK+C,YAAkB/C,CAAAA,CAAAA,UAAAA,mBAAAA,UAAAA,mBAAAA,CAAAA,MAAAA,CAAKC,KAAK,CAAI,CAAA,CAAA,CAAE+C,UAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CACnEJ,EAASK,SAAUN,CAAAA,CAAAA,CAAQ,CAAGO,CAAAA,CAAAA,MAAAA,CAAAA,CAC/B,IAEgBb,OAAQrC,CAAAA,MAAAA,CAAKmD,QAAS,CAAA,EAAA,CAC3C,GAEL,EAED,GAAAtC,GAAA,wBAAAC,KAAA,UAAAsC,qBAAA,CACEpD,CAAAA,IAAAA,CAAK0B,iBAAiB2B,UACtBrD,CAAAA,CAAAA,CAAAA,IAAAA,CAAKsB,cAAe2B,CAAAA,SAAAA,CAAUjD,KAAKyC,GACpC,CAAA,EAEO,GAAA5B,GAAA,cAAAC,KAAA,UAAAwC,WAAA,KAAWC,CAAAA,4DAAwC,CAAEC,eAAAA,CAAAA,CAAiB,GAG5E,MAAO,CAAAC,kBAAA,CAFMzD,KAAK0D,UAAYC,CAAAA,aAAAA,CAA+B,kBAE5CC,CAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,EAAkCC,OAAOC,SAAAA,CACjDP,QAAAA,CAAAA,CAAAA,CAAQC,eACkB,CAAA,UAAA,GAA7BM,EAAGC,OAAQC,CAAAA,WAAAA,CAAAA,CAAAA,CACkB,UAA7BF,GAAAA,CAAAA,CAAGC,QAAQC,WAAiCF,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAGG,QAEtD,EAAA,CAAA,EAEO,GAAApD,GAAA,gBAAAC,KAAA,UAAAoD,aAAA,CACN,CAAA,MAAO,CAAAT,kBAAA,CAAIzD,IAAAA,CAAKmE,KAAKP,gBAAoBC,CAAAA,CAAAA,EAAAA,MAAAA,CAAOC,SAAAA,CAAmC,QAAA,gBAAA,GAA7BA,EAAGC,OAAQC,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,CAClE,EAEO,GAAAnD,GAAA,gBAAAC,KAAA,UAAAiC,aAAA,EACN,MAAO/C,KAAAA,CAAKC,KAAKmE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,EAAGO,MAChC,EAAA,CAAA,EAEO,GAAAxD,GAAA,eAAAC,KAAA,UAAAwD,YAAYC,GAClB,GACMC,CAAAA,CAAAA,CADSD,CAAMrB,CAAAA,MAAAA,CACFuB,QAAQ,UACrBtB,CAAAA,CAAAA,CAAAA,CAAWqB,CAAKC,SAALD,CAAKC,iBAALD,CAAKC,CAAAA,OAAAA,CAAQ,kBAG1BtB,CAAanD,GAAAA,IAAAA,EAIL,IAARwE,GAAAA,CAAAA,EACFxE,KAAK8C,YAAa0B,CAAAA,CAAAA,CAAK,CAAEE,cAAAA,CAAgB,UAE5C,EAEO,GAAA7D,GAAA,iBAAAC,KAAA,UAAA6D,cAAcJ,CAAAA,CAAAA,CACpB,GACMC,CAAAA,CADSD,CAAAA,CAAAA,CAAMrB,MACFuB,CAAAA,OAAAA,CAAQ,YACrBtB,CAAWqB,CAAAA,CAAAA,SAAAA,CAAAA,iBAAAA,CAAAA,CAAKC,QAAQ,gBAG9B,CAAA,CAAA,GAAItB,IAAanD,IAKb,GAAA,CAAC,OAAS,CAAA,GAAA,CAAA,CAAK8B,SAASyC,CAAM1D,CAAAA,GAAAA,CAAAA,EACpB,IAAR2D,GAAAA,CAAAA,GACFxE,KAAK8C,YAAa0B,CAAAA,CAAAA,CAAK,CAAEE,cAAAA,CAAgB,WACzCH,CAAMK,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAKN,CAAC,WAAA,CAAa,aAAc,SAAW,CAAA,WAAA,CAAa,MAAQ,CAAA,KAAA,CAAA,CAAO9C,SAASyC,CAAM1D,CAAAA,GAAAA,CAAAA,CAAAA,CAAM,CAC1F,GAAMgE,CAAAA,GAAW7E,IAAKC,CAAAA,IAAAA,CAAKmE,IAAKU,CAAAA,SAAAA,CAAAA,QAAKA,CAAAA,EAAEC,OAAQ,CAAA,QAAA,CAAA,EAAA,CAAA,CAG/C,GAAwC,UAApCF,IAAAA,EAAAA,SAAAA,EAAAA,iBAAAA,EAAAA,CAAUd,QAAQC,WAA8B,CAAA,CAAA,EAAA,CAClD,GAAIgB,CAAAA,EAAAA,CAAQhF,KAAKC,IAAKgF,CAAAA,OAAAA,CAAQJ,EAEZ,CAAA,CAAA,MAAA,GAAdN,EAAM1D,GACRmE,CAAAA,EAAAA,CAAQ,CACe,CAAA,KAAA,GAAdT,EAAM1D,GACfmE,CAAAA,EAAAA,CAAQhF,IAAKC,CAAAA,IAAAA,CAAKiF,OAAS,CAE1B,CAAA,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUpD,SAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAAuB,WAATmE,GAAAA,CAAAA,CAAM1D,KACpD,CAAC,OAAA,CAAS,KAAOiB,CAAAA,CAAAA,QAAAA,CAAS9B,KAAKI,SAA4B,CAAA,EAAA,SAAA,GAAdmE,EAAM1D,GAEpDmE,CAAAA,EAAAA,EAAAA,CAAAA,CAEC,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUlD,QAAS9B,CAAAA,IAAAA,CAAKI,YAAuB,YAATmE,GAAAA,CAAAA,CAAM1D,GACpD,EAAA,CAAC,QAAS,KAAOiB,CAAAA,CAAAA,QAAAA,CAAS9B,IAAKI,CAAAA,SAAAA,CAAAA,EAA4B,cAAdmE,CAAM1D,CAAAA,GAAAA,GAEpDmE,EAGEA,EAAAA,CAAAA,EAAAA,CAAQ,IACVA,EAAQhF,CAAAA,IAAAA,CAAKC,IAAKiF,CAAAA,MAAAA,CAAS,GAGzBF,EAAQhF,CAAAA,IAAAA,CAAKC,IAAKiF,CAAAA,MAAAA,CAAS,IAC7BF,EAAQ,CAAA,CAAA,CAAA,CAGVhF,IAAKC,CAAAA,IAAAA,CAAK+E,IAAOG,KAAM,CAAA,CAAEC,eAAe,CAEhB,CAAA,CAAA,CAAA,MAAA,GAApBpF,KAAKM,UACPN,EAAAA,IAAAA,CAAK8C,YAAa9C,CAAAA,IAAAA,CAAKC,KAAK+E,EAAQ,CAAA,CAAA,CAAEN,cAAgB,CAAA,QAAA,CAAA,CAAA,CAGpD,CAAC,KAAO,CAAA,QAAA,CAAA,CAAU5C,QAAS9B,CAAAA,IAAAA,CAAKI,YAClCiF,CAAerF,CAAAA,IAAAA,CAAKC,IAAK+E,CAAAA,EAAAA,CAAAA,CAAQhF,KAAKyC,GAAK,CAAA,YAAA,CAAA,CAG7C8B,CAAMK,CAAAA,cAAAA,CAAAA,CACP,EACF,CACF,CAEO,GAAA/D,GAAA,uBAAAC,KAAA,UAAAwE,oBAAA,CAAAA,CACNtF,KAAKyC,GAAI8C,CAAAA,MAAAA,CAAO,CACdC,IAAAA,CAEIxF,KAAKyC,GAAIgD,CAAAA,UAAAA,CAAazF,KAAKyC,GAAIiD,CAAAA,WAAAA,CAEnCC,SAAU,QAEb,CAAA,CAAA,EAEO,GAAA9E,GAAA,qBAAAC,KAAA,UAAA8E,kBAAA,CAAAA,CACN5F,KAAKyC,GAAI8C,CAAAA,MAAAA,CAAO,CACdC,IAAAA,CAEIxF,KAAKyC,GAAIgD,CAAAA,UAAAA,CAAazF,IAAKyC,CAAAA,GAAAA,CAAIiD,YAEnCC,QAAU,CAAA,QAAA,CAAA,CAEb,EAEO,GAAA9E,GAAA,gBAAAC,KAAA,UAAAgC,aAAa0B,CAAcjB,CAAAA,CAAAA,CAAAA,KAAAA,MAAAA,MAQjC,GANAA,CAAAA,CAAAA,aAAAA,EACEP,UAAY,CAAA,CAAA,CAAA,CACZ0B,cAAgB,CAAA,MAAA,EACbnB,GAGDiB,CAAQxE,GAAAA,IAAAA,CAAK6F,SAAcrB,EAAAA,CAAAA,CAAAA,CAAIP,SAAU,CAE3C,GAAM6B,CAAAA,IAAc9F,IAAK6F,CAAAA,SAAAA,CACzB7F,KAAK6F,SAAYrB,CAAAA,CAAAA,CAIjBxE,IAAKC,CAAAA,IAAAA,CAAK8F,IAAIjC,SAAAA,CAAOA,QAAAA,CAAAA,CAAAA,CAAGO,MAASP,CAAAA,CAAAA,GAAO9D,OAAK6F,SAC7C7F,EAAAA,CAAAA,CAAAA,IAAAA,CAAKE,MAAO6F,CAAAA,GAAAA,CAAIjC,SAAAA,8BAAOA,CAAAA,CAAGO,CAAAA,MAAAA,CAASP,CAAGkC,CAAAA,IAAAA,KAAAA,gBAAAA,CAAShG,OAAK6F,SAAWI,UAAAA,gBAAAA,iBAAhBjG,gBAAAA,CAAgBiG,KAAAA,GAAAA,CAAAA,CAC/DjG,IAAKkG,CAAAA,aAAAA,CAAAA,CAAAA,CAED,CAAC,KAAO,CAAA,QAAA,CAAA,CAAUpE,QAAS9B,CAAAA,IAAAA,CAAKI,YAClCiF,CAAerF,CAAAA,IAAAA,CAAK6F,SAAW7F,CAAAA,IAAAA,CAAKyC,IAAK,YAAcc,CAAAA,CAAAA,CAAQmB,gBAI7DnB,CAAQP,CAAAA,UAAAA,GACN8C,KACF9F,IAAKmG,CAAAA,IAAAA,CAAK,eAAiB,CAAA,CAAErF,MAAOgF,GAAYG,CAAAA,KAAAA,CAAAA,CAAAA,CAGlDjG,IAAKmG,CAAAA,IAAAA,CAAK,gBAAiB,CAAErF,KAAAA,CAAOd,IAAK6F,CAAAA,SAAAA,CAAUI,QAEtD,EACF,CAEO,GAAApF,GAAA,iBAAAC,KAAA,UAAAmB,cAAA,CAAAA,KAAAA,MAAAA,MAENjC,KAAKC,IAAKmG,CAAAA,OAAAA,CAAQ5B,SAAAA,CAChB,CAAA,CAAA,GAAMyB,CAAAA,EAAQjG,MAAKE,CAAAA,MAAAA,CAAOkE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,EAAGkC,IAASxB,GAAAA,CAAAA,CAAIyB,KACjDA,EAAAA,CAAAA,CAAAA,CAAAA,GACFzB,EAAI6B,YAAa,CAAA,eAAA,CAAiBJ,EAAMK,YAAa,CAAA,IAAA,CAAA,CAAA,CACrDL,EAAMI,YAAa,CAAA,iBAAA,CAAmB7B,CAAI8B,CAAAA,YAAAA,CAAa,OACxD,EAEJ,CAAA,EAEO,GAAAzF,GAAA,uBAAAC,KAAA,UAAAU,oBAAA,CAAAA,CACN,GAAM+E,CAAAA,CAAavG,CAAAA,IAAAA,CAAK+C,YAExB,CAAA,CAAA,CAAA,GAAA,CAAKwD,IAAevG,IAAKwG,CAAAA,SAAAA,CACvB,OAGF,GAAMC,CAAAA,EAAQF,CAAWb,CAAAA,WAAAA,CACnBgB,CAASH,CAAAA,CAAAA,CAAWI,aAKpBC,CAAU5G,CAAAA,IAAAA,CAAKsD,UAEfuD,CAAAA,CAAAA,CAAAA,CAAAA,CADgBD,EAAQE,KAAM,CAAA,CAAA,CAAGF,CAAQ3B,CAAAA,OAAAA,CAAQsB,IAC1BQ,MAC3B,CAAA,SAACC,EAAUC,CAAa,QAAA,CACtBzB,KAAMwB,CAASxB,CAAAA,IAAAA,CAAOyB,CAAQvB,CAAAA,WAAAA,CAAc,GAC5CwB,GAAKF,CAAAA,CAAAA,CAASE,GAAMD,CAAAA,CAAAA,CAAQN,aAAe,EAE7C,CAAA,EAAA,CAAA,CAAEnB,IAAM,CAAA,CAAA,CAAG0B,IAAK,CAGlB,CAAA,CAAA,CAAA,OAAQlH,IAAKI,CAAAA,SAAAA,EACX,IAAK,KACL,CAAA,IAAK,QACHJ,CAAAA,IAAAA,CAAKwG,UAAUW,KAAMV,CAAAA,KAAAA,CAAWA,CAAQ,CAAA,CAAA,CAAX,KAC7BzG,IAAKwG,CAAAA,SAAAA,CAAUW,KAAMT,CAAAA,MAAAA,CAAS,OAC9B1G,IAAKwG,CAAAA,SAAAA,CAAUW,MAAMC,SAAY,IAAAC,MAAA,CAAGR,EAAOrB,IAAO,CAAA,CAAA,MAAA,CAClD,MAEF,IAAK,QACL,IAAK,KAAA,CACHxF,IAAKwG,CAAAA,SAAAA,CAAUW,MAAMV,KAAQ,CAAA,MAAA,CAC7BzG,IAAKwG,CAAAA,SAAAA,CAAUW,MAAMT,MAAS,IAAAW,MAAA,CAAGX,CACjC1G,MAAAA,CAAAA,IAAAA,CAAKwG,UAAUW,KAAMC,CAAAA,SAAAA,MAAAA,MAAAA,CAAiBP,CAAAA,CAAOK,WAGlD,CAGO,GAAArG,GAAA,qBAAAC,KAAA,UAAAoB,kBAAA,CACNlC,KAAAA,MAAAA,MAAAA,IAAAA,CAAKC,KAAOD,IAAKsD,CAAAA,UAAAA,CAAW,CAAEE,eAAAA,CAAAA,CAAiB,IAC/CxD,IAAKE,CAAAA,MAAAA,CAASF,KAAKkE,YACnBlE,CAAAA,CAAAA,CAAAA,IAAAA,CAAKkG,gBAELlG,IAAKC,CAAAA,IAAAA,CAAKmG,OAAS5B,CAAAA,SAAAA,CAAAA,CAAAA,CACjBA,EAAIhE,QAAWR,CAAAA,MAAAA,CAAKQ,QAAQ,EAAA,CAAA,CAI9BR,KAAKmC,cAAeC,CAAAA,IAAAA,CAAK,iBAAMpC,CAAAA,MAAAA,CAAKyB,yBACrC,EAGD,GAAAZ,GAAA,wBAAAC,KAAA,UAAAW,qBAAA,CACMzB,CAAAA,IAAAA,CAAKO,mBAGPP,IAAKG,CAAAA,iBAAAA,CACH,CAAC,KAAA,CAAO,UAAU2B,QAAS9B,CAAAA,IAAAA,CAAKI,SAAcJ,CAAAA,EAAAA,IAAAA,CAAKyC,IAAI6E,WAActH,CAAAA,IAAAA,CAAKyC,GAAIiD,CAAAA,WAAAA,CAAAA,CAHhF1F,KAAKG,iBAAoB,CAAA,CAAA,CAM5B,EAGD,GAAAU,GAAA,iBAAAC,KAAA,UAAAoF,cAAA,CAAAA,CACE,IAAIlG,IAAKwG,CAAAA,SAAAA,CAAW,OACRxG,IAAAA,CAAK+C,gBAGf/C,IAAKwG,CAAAA,SAAAA,CAAUW,KAAMI,CAAAA,OAAAA,CAAU,QAC/BvH,IAAKwB,CAAAA,mBAAAA,CAAAA,CAAAA,EAELxB,IAAKwG,CAAAA,SAAAA,CAAUW,MAAMI,OAAU,CAAA,MAElC,EAGD,GAAA1G,GAAA,QAAAC,KAAA,UAAA0G,KAAKvB,CACH,CAAA,CAAA,GAAMzB,CAAAA,CAAMxE,CAAAA,IAAAA,CAAKC,KAAKmE,IAAKN,CAAAA,SAAAA,CAAAA,QAAMA,CAAAA,CAAGmC,CAAAA,KAAAA,GAAUA,KAE1CzB,CACFxE,EAAAA,IAAAA,CAAK8C,YAAa0B,CAAAA,CAAAA,CAAK,CAAEE,cAAgB,CAAA,QAAA,CAAA,CAE5C,EAED,GAAA7D,GAAA,UAAAC,KAAA,UAAA2G,OAAA,CAAAA,CAGE,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,mpBAGCC,CAAS,CAAA,CACf,WAAa,CAAA,CAAA,CAAA,CACb,gBAAqC,CAAA,KAAA,GAAnB7H,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,iBACvC2H,CAAAA,WAAAA,CAAc9H,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAEZL,IAAKsE,CAAAA,WAAAA,CACHtE,IAAK2E,CAAAA,aAAAA,CAGZ3E,IAAAA,CAAKG,kBACHuH,CAAI,CAAAK,gBAAA,GAAAA,gBAAA,CAAAH,sBAAA,scAQS5H,IAAKsF,CAAAA,mBAAAA,EAGlB,EAAA,CAMUuC,CAAS,CAAA,CACf,wBAAyB7H,IAAKK,CAAAA,OAAAA,CAAAA,CAAAA,CAGFL,IAAKkC,CAAAA,iBAAAA,CAIvClC,IAAAA,CAAKG,kBACHuH,CAAI,CAAAM,gBAAA,GAAAA,gBAAA,CAAAJ,sBAAA,+bAQS5H,IAAK4F,CAAAA,iBAAAA,EAGlB,EAAA,CAGkD5F,IAAKkC,CAAAA,iBAAAA,EAGlE,CA/YMpC,MAFyBmI,CAAAA,GAEzBnI,CAAAA,CAAMoI,MAAmBA,CAAAA,CAAAA,CAQXC,CAAA,CAAA,CAApBC,CAAM,CAAA,YAAA,CAAA,CAAA,CAAoCtI,CAAAuI,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAChBF,CAAA,CAAA,CAA1BC,CAAM,CAAA,kBAAA,CAAA,CAAA,CAA0CtI,CAAAuI,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CACvBF,CAAA,CAAA,CAAzBC,CAAM,CAAA,iBAAA,CAAA,CAAA,CAAoCtI,CAAAuI,CAAAA,SAAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CACXF,CAAA,CAAA,CAA/BC,EAAM,uBAAgDtI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,SAAA,CAAA,WAAA,CAAA,IAAA,EAE9CF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAA0CxI,CAAAuI,CAAAA,SAAAA,CAAA,mBAAA,CAAA,IAAA,EAAA,CAAA,CAG/BF,CAAA,CAAA,CAAXI,CAAiEzI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,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,UAA6B7I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,UAAA,SAAA,CAAA,IAAA,EAAA,CAAA,CAMpEF,CAAA,CAAA,CAAXI,CAAkDzI,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,SAAA,CAAA,YAAA,CAAA,IAAA,EAGWF,CAAAA,CAAAA,CAAAA,CAAA,CAA7DI,CAAAA,CAAS,CAAEI,SAAAA,CAAW,oBAAsBH,CAAAA,IAAAA,CAAMC,OAAoC3I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,SAAA,CAAA,kBAAA,CAAA,IAAA,EAG3CF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEC,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAyB5I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,SAAA,CAAA,UAAA,CAAA,IAAA,EA+Q7DF,CAAAA,CAAAA,CAAAA,CAAA,CADCS,CAAAA,CAAM,kBAAoB,CAAA,CAAEC,oBAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CASlD/I,CAAAuI,CAAAA,SAAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,CAGDF,CAAA,CAAA,CADCS,CAAM,CAAA,WAAA,CAAa,CAAEC,oBAAAA,CAAAA,CAAsB,CAW3C/I,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAuI,SAAA,CAAA,eAAA,CAAA,IAtUUvI,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAYqI,CAAA,CAAA,CADxBW,CAAc,CAAA,gBAAA,CAAA,CAAA,CACFhJ"}
|
@@ -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-02.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-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/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/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/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/inner-union.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/left-union.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/palette.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-02.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/right-union.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-02.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/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-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/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-02.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`
|
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-02.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/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/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/dock-to-right.esm.js";import"../nile-icon/icons/svg/document.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/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/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/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/inner-union.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/left-union.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/palette.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-02.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/right-union.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-02.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/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-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/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-02.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})}
|