q2-tecton-elements 1.47.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +43 -7
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -4
  5. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  6. package/dist/cjs/q2-data-table.cjs.entry.js +8 -5
  7. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-dropdown-item.cjs.entry.js +13 -4
  9. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-editable-field.cjs.entry.js +36 -27
  11. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  12. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-option-list.cjs.entry.js +2 -3
  15. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-relative-time.cjs.entry.js +34 -17
  17. package/dist/cjs/q2-relative-time.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-select.cjs.entry.js +7 -2
  21. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  27. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +7 -4
  28. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  29. package/dist/collection/components/q2-data-table/q2-data-table.css +15 -1
  30. package/dist/collection/components/q2-data-table/q2-data-table.js +28 -8
  31. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  32. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +22 -5
  33. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  34. package/dist/collection/components/q2-editable-field/q2-editable-field.js +41 -29
  35. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  36. package/dist/collection/components/q2-input/q2-input.js +22 -19
  37. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  38. package/dist/collection/components/q2-option-list/q2-option-list.js +2 -3
  39. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  40. package/dist/collection/components/q2-popover/q2-popover.js +43 -7
  41. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  42. package/dist/collection/components/q2-relative-time/q2-relative-time.js +79 -25
  43. package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
  44. package/dist/collection/components/q2-section/q2-section.js +7 -4
  45. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  46. package/dist/collection/components/q2-select/q2-select.js +7 -2
  47. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  48. package/dist/collection/components/q2-stepper/q2-stepper.js +2 -2
  49. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  50. package/dist/collection/components/q2-tab-container/q2-tab-container.css +2 -1
  51. package/dist/components/q2-chart-donut.js +7 -4
  52. package/dist/components/q2-chart-donut.js.map +1 -1
  53. package/dist/components/q2-data-table.js +10 -6
  54. package/dist/components/q2-data-table.js.map +1 -1
  55. package/dist/components/q2-dropdown-item2.js +16 -6
  56. package/dist/components/q2-dropdown-item2.js.map +1 -1
  57. package/dist/components/q2-editable-field.js +37 -28
  58. package/dist/components/q2-editable-field.js.map +1 -1
  59. package/dist/components/q2-input2.js +3 -3
  60. package/dist/components/q2-input2.js.map +1 -1
  61. package/dist/components/q2-option-list2.js +2 -3
  62. package/dist/components/q2-option-list2.js.map +1 -1
  63. package/dist/components/q2-popover2.js +43 -7
  64. package/dist/components/q2-popover2.js.map +1 -1
  65. package/dist/components/q2-relative-time.js +37 -18
  66. package/dist/components/q2-relative-time.js.map +1 -1
  67. package/dist/components/q2-section.js +2 -2
  68. package/dist/components/q2-section.js.map +1 -1
  69. package/dist/components/q2-select2.js +7 -2
  70. package/dist/components/q2-select2.js.map +1 -1
  71. package/dist/components/q2-stepper.js +2 -2
  72. package/dist/components/q2-stepper.js.map +1 -1
  73. package/dist/components/q2-tab-container.js +1 -1
  74. package/dist/components/q2-tab-container.js.map +1 -1
  75. package/dist/esm/click-elsewhere_2.entry.js +43 -7
  76. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  77. package/dist/esm/loader.js +1 -1
  78. package/dist/esm/q2-chart-donut.entry.js +7 -4
  79. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  80. package/dist/esm/q2-data-table.entry.js +8 -5
  81. package/dist/esm/q2-data-table.entry.js.map +1 -1
  82. package/dist/esm/q2-dropdown-item.entry.js +14 -5
  83. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  84. package/dist/esm/q2-editable-field.entry.js +37 -28
  85. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  86. package/dist/esm/q2-input.entry.js +2 -2
  87. package/dist/esm/q2-input.entry.js.map +1 -1
  88. package/dist/esm/q2-option-list.entry.js +2 -3
  89. package/dist/esm/q2-option-list.entry.js.map +1 -1
  90. package/dist/esm/q2-relative-time.entry.js +34 -17
  91. package/dist/esm/q2-relative-time.entry.js.map +1 -1
  92. package/dist/esm/q2-section.entry.js +2 -2
  93. package/dist/esm/q2-section.entry.js.map +1 -1
  94. package/dist/esm/q2-select.entry.js +7 -2
  95. package/dist/esm/q2-select.entry.js.map +1 -1
  96. package/dist/esm/q2-stepper.entry.js +2 -2
  97. package/dist/esm/q2-stepper.entry.js.map +1 -1
  98. package/dist/esm/q2-tab-container.entry.js +1 -1
  99. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  100. package/dist/esm/q2-tecton-elements.js +1 -1
  101. package/dist/q2-tecton-elements/p-11982614.entry.js +2 -0
  102. package/dist/q2-tecton-elements/p-11982614.entry.js.map +1 -0
  103. package/dist/q2-tecton-elements/{p-e25194ce.entry.js → p-24719520.entry.js} +2 -2
  104. package/dist/q2-tecton-elements/p-24719520.entry.js.map +1 -0
  105. package/dist/q2-tecton-elements/p-30296b0e.entry.js +2 -0
  106. package/dist/q2-tecton-elements/p-30296b0e.entry.js.map +1 -0
  107. package/dist/q2-tecton-elements/{p-b849365e.entry.js → p-32b56406.entry.js} +2 -2
  108. package/dist/q2-tecton-elements/{p-b849365e.entry.js.map → p-32b56406.entry.js.map} +1 -1
  109. package/dist/q2-tecton-elements/p-43236cac.entry.js +2 -0
  110. package/dist/q2-tecton-elements/p-43236cac.entry.js.map +1 -0
  111. package/dist/q2-tecton-elements/{p-6f2de185.entry.js → p-4f7e6e79.entry.js} +2 -2
  112. package/dist/q2-tecton-elements/p-4f7e6e79.entry.js.map +1 -0
  113. package/dist/q2-tecton-elements/{p-a3d58a50.entry.js → p-56dd051a.entry.js} +2 -2
  114. package/dist/q2-tecton-elements/p-56dd051a.entry.js.map +1 -0
  115. package/dist/q2-tecton-elements/p-6986a60e.entry.js +2 -0
  116. package/dist/q2-tecton-elements/{p-6eac40be.entry.js.map → p-6986a60e.entry.js.map} +1 -1
  117. package/dist/q2-tecton-elements/{p-774975fa.entry.js → p-6fdda37e.entry.js} +2 -2
  118. package/dist/q2-tecton-elements/p-6fdda37e.entry.js.map +1 -0
  119. package/dist/q2-tecton-elements/p-75bb43b2.entry.js +2 -0
  120. package/dist/q2-tecton-elements/p-75bb43b2.entry.js.map +1 -0
  121. package/dist/q2-tecton-elements/p-9a71bd16.entry.js +2 -0
  122. package/dist/q2-tecton-elements/p-9a71bd16.entry.js.map +1 -0
  123. package/dist/q2-tecton-elements/{p-c9ee763d.entry.js → p-f4b28e89.entry.js} +2 -2
  124. package/dist/q2-tecton-elements/{p-c9ee763d.entry.js.map → p-f4b28e89.entry.js.map} +1 -1
  125. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  126. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  127. package/dist/test/elements/q2-chart-donut-test.e2e.js +9 -1
  128. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  129. package/dist/test/elements/q2-data-table-test.e2e.js +107 -11
  130. package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
  131. package/dist/test/elements/q2-dropdown-item-test.e2e.js +183 -104
  132. package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +1 -1
  133. package/dist/test/elements/q2-editable-field-test.e2e.js +436 -418
  134. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  135. package/dist/test/elements/q2-popover-test.spec.js +162 -31
  136. package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
  137. package/dist/test/elements/q2-relative-time-test.e2e.js +65 -40
  138. package/dist/test/elements/q2-relative-time-test.e2e.js.map +1 -1
  139. package/dist/test/elements/q2-select-test.e2e.js +53 -22
  140. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  141. package/dist/test/elements/q2-stepper-test.e2e.js +23 -0
  142. package/dist/test/elements/q2-stepper-test.e2e.js.map +1 -1
  143. package/dist/types/components/q2-input/q2-input.d.ts +15 -1
  144. package/dist/types/components/q2-popover/q2-popover.d.ts +2 -0
  145. package/dist/types/components/q2-relative-time/q2-relative-time.d.ts +25 -11
  146. package/dist/types/components/q2-section/q2-section.d.ts +10 -2
  147. package/dist/types/components.d.ts +53 -22
  148. package/dist/types/workspace/workspace/_Gitlab_tecton-production_master/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
  149. package/package.json +3 -3
  150. package/dist/q2-tecton-elements/p-0e27ea75.entry.js +0 -2
  151. package/dist/q2-tecton-elements/p-0e27ea75.entry.js.map +0 -1
  152. package/dist/q2-tecton-elements/p-45d70da2.entry.js +0 -2
  153. package/dist/q2-tecton-elements/p-45d70da2.entry.js.map +0 -1
  154. package/dist/q2-tecton-elements/p-52e277b8.entry.js +0 -2
  155. package/dist/q2-tecton-elements/p-52e277b8.entry.js.map +0 -1
  156. package/dist/q2-tecton-elements/p-6eac40be.entry.js +0 -2
  157. package/dist/q2-tecton-elements/p-6f2de185.entry.js.map +0 -1
  158. package/dist/q2-tecton-elements/p-774975fa.entry.js.map +0 -1
  159. package/dist/q2-tecton-elements/p-a3d58a50.entry.js.map +0 -1
  160. package/dist/q2-tecton-elements/p-e25194ce.entry.js.map +0 -1
  161. package/dist/q2-tecton-elements/p-f450db0b.entry.js +0 -2
  162. package/dist/q2-tecton-elements/p-f450db0b.entry.js.map +0 -1
  163. package/dist/q2-tecton-elements/p-fce6bc58.entry.js +0 -2
  164. package/dist/q2-tecton-elements/p-fce6bc58.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"q2-tab-container.entry.cjs.js","mappings":"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","names":["createGuid","loc","isEventFromElement","overrideFocus","h","Fragment","index"],"sources":["src/components/q2-tab-container/q2-tab-container.scss?tag=q2-tab-container&encapsulation=shadow","src/components/q2-tab-container/q2-tab-container.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n\nbutton {\n cursor: pointer;\n margin: 0;\n}\n\n.tab-container {\n position: relative;\n}\n\nul {\n --comp-container-padding: #{var-list(--tct-scale-1, --app-scale-1x, 5px)\n var-list(--tct-scale-1, --app-scale-1x, 5px) 0};\n padding: var-list(var-prefixer(tab-container-padding), --comp-container-padding);\n margin: var-list(var-prefixer(tab-container-margin), 0);\n display: flex;\n gap: var-list(var-prefixer(tab-gap), --tct-scale-1, --app-scale-1x, 5px);\n list-style: none;\n border-bottom: 1px solid\n var-list(\n var-prefixer(tab-container-border-color),\n --tct-gray-11,\n --t-gray-11,\n --tct-gray-l1,\n --app-gray-l1,\n #cccccc\n );\n overflow-x: auto;\n align-items: center;\n @include hidden-scrollbar();\n\n @media print {\n &.no-print {\n display: none;\n }\n }\n}\n\nli {\n flex: 0 0 auto;\n\n button {\n background: var-list(--tct-tab-inactive-background, var-prefixer(tab-inactive-bg-color), transparent);\n border-width: var-list(var-prefixer(tab-inactive-border-width), unquote('0 0 3px 0'));\n border-color: var-list(var-prefixer(tab-inactive-border-color), transparent);\n border-style: var-list(var-prefixer(tab-inactive-border-style), solid);\n border-radius: var-list(var-prefixer(tab-border-radius), 0);\n width: var-list(var-prefixer(tab-width), 100%);\n text-align: var-list(var-prefixer(tab-text-align), center);\n text-decoration: var-list(var-prefixer(tab-text-decoration), none);\n padding: var-list(var-prefixer(tab-padding), --tct-scale-2, --app-scale-2x, 10px);\n color: var-list(var-prefixer(tab-inactive-color), inherit);\n font-size: var-list(var-prefixer(tab-font-size), 17px);\n display: block;\n transition:\n color var-list(--tct-tween-2, --app-tween-2, unquote('0.4s ease')),\n border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n\n :host([type='section']) & {\n --comp-tab-section-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px)\n var-list(--tct-scale-1, --app-scale-1x, 5px)};\n font-size: var-list(--tct-tab-section-font-size, inherit);\n padding: var-list(var-prefixer(tab-section-padding), --comp-tab-section-padding);\n }\n\n &:hover {\n color: var-list(var-prefixer(tab-hover-color), var-prefixer(tab-active-color), #2e2e2e);\n background: var-list(--tct-tab-hover-background, var-prefixer(tab-hover-bg-color), inherit);\n width: var-list(var-prefixer(tab-hover-width), 100%);\n }\n\n &[aria-selected='true'] {\n color: var-list(var-prefixer(tab-active-color), #2e2e2e);\n border-color: var-list(var-prefixer(tab-active-border-color), currentcolor);\n border-style: var-list(var-prefixer(tab-active-border-style), solid);\n width: var-list(var-prefixer(tab-active-width), 100%);\n background: var-list(--tct-tab-active-background, var-prefixer(tab-active-bg-color), inherit);\n }\n\n :host([color='alt']) & {\n color: var-list(var-prefixer(tab-alt-inactive-color), inherit);\n\n &:hover,\n &[aria-selected='true'] {\n color: var-list(var-prefixer(tab-alt-active-color), inherit);\n }\n }\n\n @media screen and (max-width: 767px) {\n --comp-tab-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px)\n var-list(--tct-scale-1, --app-scale-1x, 5px)};\n font-size: inherit;\n padding: var-list(var-prefixer(tab-padding), --comp-tab-padding);\n }\n }\n}\n\n.tab-content {\n --comp-tab-content-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px) 0};\n padding: var-list(var-prefixer(tab-content-padding), --comp-tab-content-padding);\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.gradient-left,\n.gradient-right {\n z-index: 1;\n position: absolute;\n top: 0;\n height: 100%;\n width: 44px;\n}\n\n.gradient-left {\n background-image: linear-gradient(to left, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);\n left: 0;\n}\n\n.gradient-right {\n background-image: linear-gradient(to right, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);\n right: 0;\n}\n\n.btn-left,\n.btn-right {\n --tct-icon-size: 18px;\n --tct-btn-icon-hover-background: transparent;\n --tct-btn-icon-width: 22px;\n --tct-icon-stroke-primary: #{var-list(var-prefixer(stepper-scroll-arrow-color), --t-text, #4d4d4d)};\n\n position: absolute;\n top: calc(50% - 22px);\n z-index: 2;\n q2-icon {\n --tct-icon-stroke-width: 3;\n }\n}\n\n.btn-left {\n left: 0;\n}\n\n.btn-right {\n right: 0;\n}\n\n.tab-pane-badge {\n display: flex;\n justify-content: space-between;\n align-items: center;\n q2-badge {\n margin-left: 5px;\n margin-right: 5px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n Watch,\n h,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, loc, overrideFocus, isEventFromElement } from 'src/utils';\nimport { JSX } from '../../components';\nimport { Q2Badge } from '../q2-badge/q2-badge';\n\ntype TabPane = {\n label: string;\n value: string;\n badgeCount: number;\n badgeDescription: string;\n badgeTheme: Q2Badge['theme'];\n badgeStatus: Q2Badge['status'];\n};\n\n@Component({ tag: 'q2-tab-container', shadow: true, styleUrl: 'q2-tab-container.scss' })\nexport class Q2TabContainer implements ComponentInterface {\n /**\n * Controls which variables are used to color the tab controls.\n *\n * - `undefined` (default)\n * - Uses `--t-tab-active` and `--t-tab-inactive`.\n * - `alt`\n * - Uses `--t-tab-alt-active` and `--t-tab-alt-inactive`.\n * - The default fallback for these variables is `inherit`.\n */\n @Prop({ reflect: true }) color: 'alt' | undefined;\n\n /**\n * Used to establish a relationship between `q2-tab-container` and its associated tab panes.\n * @warning\n * The element can fail if this property is not set. Nested tab containers without the `name` property will not render correctly.\n */\n @Prop({ reflect: true }) name: string;\n\n /** Controls visibility of tab list in a print view. Tab content will still be visible even if `noPrint` is true. */\n @Prop({ reflect: true }) noPrint: boolean = false;\n\n /** Determines the font size of the tab controls. */\n @Prop({ reflect: true }) type: 'main' | 'section';\n\n /** Corresponds to the value of the selected tab pane. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected tab changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event() settled: EventEmitter<undefined>;\n\n guid: number = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n listElement: HTMLUListElement;\n mutationObserver: MutationObserver;\n resizeObserver: ResizeObserver;\n lastScrolled: number = new Date(null).getTime();\n @State() hasLeft: boolean = false;\n @State() hasRight: boolean = false;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n @State() tabs: TabPane[];\n\n resizeIframe() {\n return window.TectonElements?.resizeIframe?.();\n }\n\n get tabPanes() {\n const tabPanes = this.hostElement.querySelectorAll<HTMLQ2TabPaneElement | HTMLTectonTabPaneElement>(\n 'q2-tab-pane, tecton-tab-pane'\n );\n\n if (tabPanes.length === 0) {\n return [];\n }\n\n return Array.from(tabPanes).filter(pane => pane.name === this.name);\n }\n\n get selectedTabValue() {\n return this.value || this.tabPanes[0].value || '';\n }\n\n get tabList() {\n return this.hostElement.shadowRoot.querySelector('.tab-list');\n }\n\n ///////// Default Handler /////////\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('resize', { target: 'window' })\n onResize() {\n this.checkScrollState();\n }\n\n @Listen('focus')\n onFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const index = this.tabs.findIndex(el => el.value === this.selectedTabValue);\n this.moveFocus(index);\n }\n\n @Listen('badge')\n onBadge() {\n this.setTabs();\n }\n\n ///////// Lifecycle Hooks /////////\n componentWillLoad() {\n const observer = new MutationObserver(this.updateTabData);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.updateTabData();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.settled.emit();\n }\n\n componentDidLoad() {\n this.resizeObserver?.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n const index = this.tabs.findIndex(el => el.value === this.value);\n this.scheduledAfterRender.push(() => {\n const hasTabs = this.tabs.length > 0;\n if (!hasTabs) return;\n const tab = this.moveFocus(Math.max(index, 0));\n this.value = tab.dataset.value;\n tab.blur();\n });\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.mutationObserver.disconnect();\n this.resizeObserver = null;\n this.mutationObserver = null;\n }\n\n ///////// Observers /////////\n @Watch('value')\n valueObserver() {\n this.updateTabData();\n this.scheduledAfterRender.push(this.resizeIframe);\n const index = this.tabs.findIndex(el => el.value === this.value);\n if (index > -1) {\n this.scheduledAfterRender.push(() => this.moveFocus(index, false));\n }\n }\n\n @Watch('name')\n nameObserver() {\n this.updateTabData();\n }\n\n ///////// Actions /////////\n updateTabData = () => {\n this.updateTabPaneProps();\n this.setTabs();\n };\n\n updateTabPaneProps = () => {\n this.tabPanes.forEach((tab, index) => {\n tab.selected = tab.value === this.selectedTabValue;\n tab.guid = this.guid;\n tab.index = index;\n });\n };\n\n setTabs = () => {\n this.tabs = this.tabPanes.map(({ label, value, badgeCount, badgeDescription, badgeTheme, badgeStatus }) => ({\n label: (label && loc(label)) || '',\n value,\n badgeCount,\n badgeDescription,\n badgeTheme,\n badgeStatus,\n }));\n };\n\n onTabClick = (event: MouseEvent) => {\n const targetValue = ((event.target as HTMLButtonElement).closest('button[role=\"tab\"]') as HTMLButtonElement)\n .dataset.value;\n const isAlreadySelected = this.value === targetValue;\n if (isAlreadySelected) return;\n\n this.change.emit({\n value: targetValue,\n });\n };\n\n onTabKeyDown = (event: KeyboardEvent) => {\n const value = (event.target as HTMLElement).dataset.value;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'next');\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'prev');\n break;\n\n case 'Home':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'last');\n break;\n\n case 'Space':\n case 'Enter':\n event.preventDefault();\n this.change.emit({ value });\n break;\n }\n };\n\n moveToAdjacentTab = (value: string, direction: 'next' | 'prev' | 'first' | 'last') => {\n const index = this.tabs.map(({ value }) => value).indexOf(value);\n\n let newIndex;\n switch (direction) {\n case 'next':\n newIndex = Math.min(index + 1, this.tabs.length - 1);\n break;\n\n case 'prev':\n newIndex = Math.max(index - 1, 0);\n break;\n\n case 'first':\n newIndex = 0;\n break;\n\n case 'last':\n newIndex = this.tabs.length - 1;\n break;\n }\n\n if (index === newIndex) return;\n\n this.moveFocus(newIndex, false);\n };\n\n moveFocus = (index: number, preventScroll: boolean = true) => {\n const focusedValue = this.tabs[index].value;\n const focusedTab = this.listElement.querySelector<HTMLButtonElement>(`[data-value=\"${focusedValue}\"]`);\n focusedTab.focus({ preventScroll });\n\n const left = focusedTab.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n\n return focusedTab;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = scrollLeft > 0;\n this.showScrollRight = scrollWidth > Math.ceil(scrollLeft) + clientWidth;\n };\n\n onScrollBtnClick = (direction?: 'left' | 'right') => {\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n const halfWidth = Math.floor(clientWidth / 2);\n let scrollAmount: number = 0;\n if (direction === 'left') {\n scrollAmount = -Math.min(halfWidth, Math.abs(scrollLeft));\n } else {\n scrollAmount = Math.min(halfWidth, Math.abs(scrollWidth - scrollLeft - clientWidth));\n }\n this.listElement.scrollBy({ left: scrollAmount, behavior: 'smooth' });\n };\n\n onSlotChange = () => {\n this.checkScrollState();\n };\n\n ///////// View Methods /////////\n render() {\n return (\n <Fragment>\n <div class=\"tab-container\">\n {this.scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!this.showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!this.showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon\n type=\"chevron-left\"\n label=\"scroll left\"\n ></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon\n type=\"chevron-right\"\n label=\"scroll right\"\n ></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n class={this.noPrint ? 'no-print' : null}\n role=\"tablist\"\n >\n {this.tabs.map((tab, index) => this.generateTab(tab, index))}\n </ul>\n </div>\n <div class=\"tab-content\">\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n\n generateTab(tab: TabPane, index: number): JSX.IntrinsicElements {\n const { label, value } = tab;\n const isSelected = this.selectedTabValue === value;\n return (\n <li role=\"presentation\">\n <button\n id={`tab-${this.guid}-${index}`}\n data-value={value}\n test-id=\"tabLink\"\n tabIndex={isSelected ? 0 : -1}\n role=\"tab\"\n aria-selected={isSelected ? 'true' : 'false'}\n onClick={this.onTabClick}\n onKeyDown={this.onTabKeyDown}\n >\n {tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected)}\n </button>\n </li>\n );\n }\n\n generateTabWithBadge(tab: TabPane, isSelected: boolean): JSX.IntrinsicElements {\n let theme;\n if (!tab.badgeStatus && isSelected) theme = tab.badgeTheme || 'primary';\n let description;\n if (tab.badgeDescription) description = loc(tab.badgeDescription);\n else if (tab.badgeStatus) description = loc(`tecton.element.tab.pane.${tab.badgeStatus}`, [tab.badgeCount]);\n else description = loc('tecton.element.tab.pane.new');\n\n return (\n <div\n class=\"tab-pane-badge\"\n aria-label={`${tab.label}, ${tab.badgeCount} ${description}`}\n >\n {tab.label}\n <q2-badge\n value={tab.badgeCount}\n theme={theme}\n status={tab.badgeStatus}\n />\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-tab-container.entry.cjs.js","mappings":"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","names":["createGuid","loc","isEventFromElement","overrideFocus","h","Fragment","index"],"sources":["src/components/q2-tab-container/q2-tab-container.scss?tag=q2-tab-container&encapsulation=shadow","src/components/q2-tab-container/q2-tab-container.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n position: relative;\n}\n\nbutton {\n cursor: pointer;\n margin: 0;\n}\n\n.tab-container {\n position: relative;\n}\n\nul {\n --comp-container-padding: #{var-list(--tct-scale-1, --app-scale-1x, 5px)\n var-list(--tct-scale-1, --app-scale-1x, 5px) 0};\n padding: var-list(var-prefixer(tab-container-padding), --comp-container-padding);\n margin: var-list(var-prefixer(tab-container-margin), 0);\n display: flex;\n gap: var-list(var-prefixer(tab-gap), --tct-scale-1, --app-scale-1x, 5px);\n list-style: none;\n border-bottom: 1px solid\n var-list(\n var-prefixer(tab-container-border-color),\n --tct-gray-11,\n --t-gray-11,\n --tct-gray-l1,\n --app-gray-l1,\n #cccccc\n );\n overflow-x: auto;\n align-items: center;\n @include hidden-scrollbar();\n\n @media print {\n &.no-print {\n display: none;\n }\n }\n}\n\nli {\n flex: 0 0 auto;\n\n button {\n background: var-list(--tct-tab-inactive-background, var-prefixer(tab-inactive-bg-color), transparent);\n border-width: var-list(var-prefixer(tab-inactive-border-width), unquote('0 0 3px 0'));\n border-color: var-list(var-prefixer(tab-inactive-border-color), transparent);\n border-style: var-list(var-prefixer(tab-inactive-border-style), solid);\n border-radius: var-list(var-prefixer(tab-border-radius), 0);\n width: var-list(var-prefixer(tab-width), 100%);\n text-align: var-list(var-prefixer(tab-text-align), center);\n text-decoration: var-list(var-prefixer(tab-text-decoration), none);\n padding: var-list(var-prefixer(tab-padding), --tct-scale-2, --app-scale-2x, 10px);\n color: var-list(var-prefixer(tab-inactive-color), inherit);\n font-size: var-list(var-prefixer(tab-font-size), 17px);\n display: block;\n transition:\n color var-list(--tct-tween-2, --app-tween-2, unquote('0.4s ease')),\n border-color var-list(--tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n\n :host([type='section']) & {\n --comp-tab-section-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px)\n var-list(--tct-scale-1, --app-scale-1x, 5px)};\n font-size: var-list(--tct-tab-section-font-size, inherit);\n padding: var-list(var-prefixer(tab-section-padding), --comp-tab-section-padding);\n }\n\n &:hover {\n color: var-list(var-prefixer(tab-hover-color), var-prefixer(tab-active-color), #2e2e2e);\n background: var-list(--tct-tab-hover-background, var-prefixer(tab-hover-bg-color), inherit);\n width: var-list(var-prefixer(tab-hover-width), 100%);\n }\n\n &[aria-selected='true'] {\n color: var-list(var-prefixer(tab-active-color), #2e2e2e);\n border-color: var-list(var-prefixer(tab-active-border-color), currentcolor);\n border-style: var-list(var-prefixer(tab-active-border-style), solid);\n width: var-list(var-prefixer(tab-active-width), 100%);\n background: var-list(--tct-tab-active-background, var-prefixer(tab-active-bg-color), inherit);\n }\n\n :host([color='alt']) & {\n color: var-list(var-prefixer(tab-alt-inactive-color), inherit);\n\n &:hover,\n &[aria-selected='true'] {\n color: var-list(var-prefixer(tab-alt-active-color), inherit);\n }\n }\n\n @media screen and (max-width: 767px) {\n --comp-tab-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px)\n var-list(--tct-scale-1, --app-scale-1x, 5px)};\n font-size: inherit;\n padding: var-list(var-prefixer(tab-padding), --comp-tab-padding);\n }\n }\n}\n\n.tab-content {\n --comp-tab-content-padding: #{var-list(--tct-scale-2, --app-scale-2x, 10px) 0};\n padding: var-list(\n --tct-tab-container-content-padding,\n var-prefixer(tab-content-padding),\n --comp-tab-content-padding\n );\n background: var-list(--tct-tab-container-content-backgrond, none);\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.gradient-left,\n.gradient-right {\n z-index: 1;\n position: absolute;\n top: 0;\n height: 100%;\n width: 44px;\n}\n\n.gradient-left {\n background-image: linear-gradient(to left, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);\n left: 0;\n}\n\n.gradient-right {\n background-image: linear-gradient(to right, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);\n right: 0;\n}\n\n.btn-left,\n.btn-right {\n --tct-icon-size: 18px;\n --tct-btn-icon-hover-background: transparent;\n --tct-btn-icon-width: 22px;\n --tct-icon-stroke-primary: #{var-list(var-prefixer(stepper-scroll-arrow-color), --t-text, #4d4d4d)};\n\n position: absolute;\n top: calc(50% - 22px);\n z-index: 2;\n q2-icon {\n --tct-icon-stroke-width: 3;\n }\n}\n\n.btn-left {\n left: 0;\n}\n\n.btn-right {\n right: 0;\n}\n\n.tab-pane-badge {\n display: flex;\n justify-content: space-between;\n align-items: center;\n q2-badge {\n margin-left: 5px;\n margin-right: 5px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n Watch,\n h,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, loc, overrideFocus, isEventFromElement } from 'src/utils';\nimport { JSX } from '../../components';\nimport { Q2Badge } from '../q2-badge/q2-badge';\n\ntype TabPane = {\n label: string;\n value: string;\n badgeCount: number;\n badgeDescription: string;\n badgeTheme: Q2Badge['theme'];\n badgeStatus: Q2Badge['status'];\n};\n\n@Component({ tag: 'q2-tab-container', shadow: true, styleUrl: 'q2-tab-container.scss' })\nexport class Q2TabContainer implements ComponentInterface {\n /**\n * Controls which variables are used to color the tab controls.\n *\n * - `undefined` (default)\n * - Uses `--t-tab-active` and `--t-tab-inactive`.\n * - `alt`\n * - Uses `--t-tab-alt-active` and `--t-tab-alt-inactive`.\n * - The default fallback for these variables is `inherit`.\n */\n @Prop({ reflect: true }) color: 'alt' | undefined;\n\n /**\n * Used to establish a relationship between `q2-tab-container` and its associated tab panes.\n * @warning\n * The element can fail if this property is not set. Nested tab containers without the `name` property will not render correctly.\n */\n @Prop({ reflect: true }) name: string;\n\n /** Controls visibility of tab list in a print view. Tab content will still be visible even if `noPrint` is true. */\n @Prop({ reflect: true }) noPrint: boolean = false;\n\n /** Determines the font size of the tab controls. */\n @Prop({ reflect: true }) type: 'main' | 'section';\n\n /** Corresponds to the value of the selected tab pane. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected tab changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event() settled: EventEmitter<undefined>;\n\n guid: number = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n listElement: HTMLUListElement;\n mutationObserver: MutationObserver;\n resizeObserver: ResizeObserver;\n lastScrolled: number = new Date(null).getTime();\n @State() hasLeft: boolean = false;\n @State() hasRight: boolean = false;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n @State() tabs: TabPane[];\n\n resizeIframe() {\n return window.TectonElements?.resizeIframe?.();\n }\n\n get tabPanes() {\n const tabPanes = this.hostElement.querySelectorAll<HTMLQ2TabPaneElement | HTMLTectonTabPaneElement>(\n 'q2-tab-pane, tecton-tab-pane'\n );\n\n if (tabPanes.length === 0) {\n return [];\n }\n\n return Array.from(tabPanes).filter(pane => pane.name === this.name);\n }\n\n get selectedTabValue() {\n return this.value || this.tabPanes[0].value || '';\n }\n\n get tabList() {\n return this.hostElement.shadowRoot.querySelector('.tab-list');\n }\n\n ///////// Default Handler /////////\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('resize', { target: 'window' })\n onResize() {\n this.checkScrollState();\n }\n\n @Listen('focus')\n onFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const index = this.tabs.findIndex(el => el.value === this.selectedTabValue);\n this.moveFocus(index);\n }\n\n @Listen('badge')\n onBadge() {\n this.setTabs();\n }\n\n ///////// Lifecycle Hooks /////////\n componentWillLoad() {\n const observer = new MutationObserver(this.updateTabData);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.updateTabData();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.settled.emit();\n }\n\n componentDidLoad() {\n this.resizeObserver?.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n const index = this.tabs.findIndex(el => el.value === this.value);\n this.scheduledAfterRender.push(() => {\n const hasTabs = this.tabs.length > 0;\n if (!hasTabs) return;\n const tab = this.moveFocus(Math.max(index, 0));\n this.value = tab.dataset.value;\n tab.blur();\n });\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.mutationObserver.disconnect();\n this.resizeObserver = null;\n this.mutationObserver = null;\n }\n\n ///////// Observers /////////\n @Watch('value')\n valueObserver() {\n this.updateTabData();\n this.scheduledAfterRender.push(this.resizeIframe);\n const index = this.tabs.findIndex(el => el.value === this.value);\n if (index > -1) {\n this.scheduledAfterRender.push(() => this.moveFocus(index, false));\n }\n }\n\n @Watch('name')\n nameObserver() {\n this.updateTabData();\n }\n\n ///////// Actions /////////\n updateTabData = () => {\n this.updateTabPaneProps();\n this.setTabs();\n };\n\n updateTabPaneProps = () => {\n this.tabPanes.forEach((tab, index) => {\n tab.selected = tab.value === this.selectedTabValue;\n tab.guid = this.guid;\n tab.index = index;\n });\n };\n\n setTabs = () => {\n this.tabs = this.tabPanes.map(({ label, value, badgeCount, badgeDescription, badgeTheme, badgeStatus }) => ({\n label: (label && loc(label)) || '',\n value,\n badgeCount,\n badgeDescription,\n badgeTheme,\n badgeStatus,\n }));\n };\n\n onTabClick = (event: MouseEvent) => {\n const targetValue = ((event.target as HTMLButtonElement).closest('button[role=\"tab\"]') as HTMLButtonElement)\n .dataset.value;\n const isAlreadySelected = this.value === targetValue;\n if (isAlreadySelected) return;\n\n this.change.emit({\n value: targetValue,\n });\n };\n\n onTabKeyDown = (event: KeyboardEvent) => {\n const value = (event.target as HTMLElement).dataset.value;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'next');\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'prev');\n break;\n\n case 'Home':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'last');\n break;\n\n case 'Space':\n case 'Enter':\n event.preventDefault();\n this.change.emit({ value });\n break;\n }\n };\n\n moveToAdjacentTab = (value: string, direction: 'next' | 'prev' | 'first' | 'last') => {\n const index = this.tabs.map(({ value }) => value).indexOf(value);\n\n let newIndex;\n switch (direction) {\n case 'next':\n newIndex = Math.min(index + 1, this.tabs.length - 1);\n break;\n\n case 'prev':\n newIndex = Math.max(index - 1, 0);\n break;\n\n case 'first':\n newIndex = 0;\n break;\n\n case 'last':\n newIndex = this.tabs.length - 1;\n break;\n }\n\n if (index === newIndex) return;\n\n this.moveFocus(newIndex, false);\n };\n\n moveFocus = (index: number, preventScroll: boolean = true) => {\n const focusedValue = this.tabs[index].value;\n const focusedTab = this.listElement.querySelector<HTMLButtonElement>(`[data-value=\"${focusedValue}\"]`);\n focusedTab.focus({ preventScroll });\n\n const left = focusedTab.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n\n return focusedTab;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = scrollLeft > 0;\n this.showScrollRight = scrollWidth > Math.ceil(scrollLeft) + clientWidth;\n };\n\n onScrollBtnClick = (direction?: 'left' | 'right') => {\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n const halfWidth = Math.floor(clientWidth / 2);\n let scrollAmount: number = 0;\n if (direction === 'left') {\n scrollAmount = -Math.min(halfWidth, Math.abs(scrollLeft));\n } else {\n scrollAmount = Math.min(halfWidth, Math.abs(scrollWidth - scrollLeft - clientWidth));\n }\n this.listElement.scrollBy({ left: scrollAmount, behavior: 'smooth' });\n };\n\n onSlotChange = () => {\n this.checkScrollState();\n };\n\n ///////// View Methods /////////\n render() {\n return (\n <Fragment>\n <div class=\"tab-container\">\n {this.scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!this.showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!this.showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon\n type=\"chevron-left\"\n label=\"scroll left\"\n ></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon\n type=\"chevron-right\"\n label=\"scroll right\"\n ></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n class={this.noPrint ? 'no-print' : null}\n role=\"tablist\"\n >\n {this.tabs.map((tab, index) => this.generateTab(tab, index))}\n </ul>\n </div>\n <div class=\"tab-content\">\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n\n generateTab(tab: TabPane, index: number): JSX.IntrinsicElements {\n const { label, value } = tab;\n const isSelected = this.selectedTabValue === value;\n return (\n <li role=\"presentation\">\n <button\n id={`tab-${this.guid}-${index}`}\n data-value={value}\n test-id=\"tabLink\"\n tabIndex={isSelected ? 0 : -1}\n role=\"tab\"\n aria-selected={isSelected ? 'true' : 'false'}\n onClick={this.onTabClick}\n onKeyDown={this.onTabKeyDown}\n >\n {tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected)}\n </button>\n </li>\n );\n }\n\n generateTabWithBadge(tab: TabPane, isSelected: boolean): JSX.IntrinsicElements {\n let theme;\n if (!tab.badgeStatus && isSelected) theme = tab.badgeTheme || 'primary';\n let description;\n if (tab.badgeDescription) description = loc(tab.badgeDescription);\n else if (tab.badgeStatus) description = loc(`tecton.element.tab.pane.${tab.badgeStatus}`, [tab.badgeCount]);\n else description = loc('tecton.element.tab.pane.new');\n\n return (\n <div\n class=\"tab-pane-badge\"\n aria-label={`${tab.label}, ${tab.badgeCount} ${description}`}\n >\n {tab.label}\n <q2-badge\n value={tab.badgeCount}\n theme={theme}\n status={tab.badgeStatus}\n />\n </div>\n );\n }\n}\n"],"version":3}
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy(JSON.parse("[[\"q2-pagination.cjs\",[[1,\"q2-pagination\",{\"autoSize\":[1540,\"auto-size\"],\"total\":[514],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[2,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"alignment\":[1],\"isSmall\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar.cjs\",[[1,\"q2-calendar\",{\"assume\":[513],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMode\":[1025,\"popover-mode\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"popDirection\":[513,\"pop-direction\"],\"onsuccess\":[16],\"buttonLabel\":[513,\"button-label\"],\"ariaLabel\":[1537,\"aria-label\"],\"keyboardSelection\":[32],\"typedValue\":[32],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"openPopover\":[64],\"closePopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"success\",\"defaultSuccessHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"clear\",\"handleClear\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"popDirection\":[\"popDirectionHandler\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"typeable\":[\"typeableChanged\"],\"value\":[\"valueObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"validDates\":[\"validDatesObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"startDate\":[\"startDateObserver\"],\"endDate\":[\"endDateObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"]}]]],[\"q2-action-sheet.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"title\":[1],\"hideClose\":[4,\"hide-close\"],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMode\":[1025,\"popover-mode\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"alignment\":[513],\"popDirection\":[513,\"pop-direction\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"popDirection\":[\"popDirectionHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"name\":[\"nameHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"],\"additionalContext\":[\"additionalContextHandler\"]}]]],[\"q2-data-table.cjs\",[[1,\"q2-data-table\",{\"bordered\":[1540],\"clickable\":[1540],\"caption\":[1025],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"serializedHeaders\":[32],\"serializedRows\":[32],\"hasExpandableRows\":[32],\"hasDropdowns\":[32],\"allRowsSelected\":[32],\"someRowsSelected\":[32],\"hasRowData\":[32],\"checkSlotCount\":[32]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field.cjs\",[[1,\"q2-editable-field\",{\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"ariaLabel\":[1537,\"aria-label\"],\"formattedValue\":[32],\"clickEdit\":[64],\"clickCancel\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"]],{\"errors\":[\"errorsObserver\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"]}]]],[\"q2-pill.cjs\",[[1,\"q2-pill\",{\"active\":[1540],\"disabled\":[516],\"borderless\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"optionCount\":[32],\"selectedOptionElements\":[32]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"]],{\"value\":[\"valueChanged\"],\"selectedOptions\":[\"selectedOptionsChanged\"]}]]],[\"q2-tab-container.cjs\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[9,\"resize\",\"onResize\"],[0,\"focus\",\"onFocus\"],[0,\"badge\",\"onBadge\"]],{\"value\":[\"valueObserver\"],\"name\":[\"nameObserver\"]}]]],[\"q2-tag.cjs\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel.cjs\",[[4,\"q2-carousel\",{\"autoPlay\":[516,\"auto-play\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"framelessPanes\":[516,\"frameless-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"index\":[1538],\"ariaLabel\":[513,\"aria-label\"],\"universalCarouselOptions\":[32],\"fullWidthDisplayOptions\":[32],\"activePaneIndex\":[32],\"applyFocus\":[32],\"applyPaginationFocus\":[32],\"autoPlayInProgress\":[32],\"compactMode\":[32],\"carouselWrapperWidth\":[32],\"ariaLiveValue\":[32],\"currentPaneCount\":[32]},[[0,\"change\",\"onHostElementChange\"],[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"index\":[\"indexChanged\"],\"fullWidthPanes\":[\"revampCarousel\"],\"framelessPanes\":[\"revampCarousel\",\"framelessPanesChanged\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"]}]]],[\"q2-chart-donut.cjs\",[[1,\"q2-chart-donut\",{\"data\":[16],\"chartName\":[513,\"chart-name\"],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"isClickable\":[516,\"is-clickable\"],\"innerRadius\":[1025,\"inner-radius\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"selectById\":[64],\"selectByIndex\":[64],\"clearSelection\":[64],\"getChartOptions\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker.cjs\",[[1,\"q2-month-picker\",{\"year\":[1538],\"disabledMonths\":[16],\"today\":[1],\"selectedIndex\":[32],\"focusedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hideContent\":[32],\"hasYieldedHeader\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"expanded\":[\"expandedObserver\"],\"collapsible\":[\"collapsibleObserver\"]}]]],[\"q2-stepper.cjs\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"stepCount\":[1026,\"step-count\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card.cjs\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoTouch\":[32],\"isAutoSmall\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-checkbox-group.cjs\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"value\":[\"valueObserver\"],\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"]}]]],[\"q2-radio-group.cjs\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"tilelayout\":[1540],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"value\":[\"valueUpdated\"],\"name\":[\"nameUpdated\"],\"disabled\":[\"disabledUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"]}]]],[\"q2-stepper-vertical.cjs\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea.cjs\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hints\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"hasFocus\":[32],\"downParams\":[32],\"setValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"],[0,\"change\",\"onHostElementChange\"],[0,\"input\",\"onHostElementInput\"]],{\"value\":[\"valueObserver\"],\"rows\":[\"rowsObserver\"],\"cols\":[\"colsObserver\"],\"hints\":[\"hintsObserver\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-carousel-pane.cjs\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"siblingCount\":[2,\"sibling-count\"],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area.cjs\",[[1,\"q2-chart-area\",{\"data\":[16],\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"]}]]],[\"q2-chart-bar.cjs\",[[1,\"q2-chart-bar\",{\"data\":[16],\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"]}]]],[\"q2-currency.cjs\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"size\":[513],\"signDisplay\":[513,\"sign-display\"],\"slotSize\":[513,\"slot-size\"]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-item.cjs\",[[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-list.cjs\",[[1,\"q2-list\",{\"label\":[513],\"bordered\":[1540],\"renderTrigger\":[32]}]]],[\"q2-loading-element.cjs\",[[0,\"q2-loading-element\",{\"shape\":[513],\"width\":[513],\"height\":[513],\"borderRadius\":[513,\"border-radius\"]}]]],[\"q2-loc.cjs\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[513]}]]],[\"q2-radio.cjs\",[[1,\"q2-radio\",{\"checked\":[1540],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"readonly\":[516],\"value\":[513],\"tabIndex\":[2,\"tab-index\"],\"name\":[513],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time.cjs\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"date\":[513],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64]},null,{\"sync\":[\"syncUpdated\"],\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"]}]]],[\"q2-stepper-pane.cjs\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"status\":[\"statusChanged\"],\"isActive\":[\"isActiveChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"]}]]],[\"q2-tab-pane.cjs\",[[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"label\":[513],\"value\":[513],\"name\":[513],\"selected\":[516],\"index\":[2],\"guid\":[2]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}]]],[\"q2-tooltip.cjs\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[0,\"keyup\",\"keyUpHandler\"],[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"]]]]],[\"slot-component.cjs\",[[0,\"slot-component\",{\"slotSize\":[513,\"slot-size\"]}]]],[\"tecton-tab-pane.cjs\",[[1,\"tecton-tab-pane\",{\"value\":[513],\"label\":[513],\"name\":[513],\"selected\":[516],\"index\":[2],\"guid\":[2],\"provided\":[516],\"url\":[513],\"moduleId\":[513,\"module-id\"],\"minHeight\":[513,\"min-height\"],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeTheme\":[513,\"badge-theme\"],\"badgeStatus\":[513,\"badge-status\"],\"authPayload\":[16],\"showForm\":[4,\"show-form\"],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-badge.cjs\",[[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}]]],[\"q2-icon.cjs\",[[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select.cjs\",[[1,\"q2-select\",{\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"clearable\":[516],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"ariaLabel\":[1537,\"aria-label\"],\"open\":[32],\"showSelected\":[32],\"searchText\":[32],\"hasCustomDisplay\":[32],\"hasPopoverTop\":[32],\"hasPopoverBottom\":[32],\"inputFocused\":[32],\"statusMessage\":[32],\"prioritizeSearch\":[32],\"structuredSelectedOptions\":[32],\"openPopover\":[64],\"closePopover\":[64],\"setValue\":[64],\"searchOptions\":[64]},[[0,\"keydown\",\"keydownHandler\"],[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"input\",\"onHostElementInput\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"displayChanged\",\"handleSelectedDisplay\"]],{\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"]}]]],[\"q2-dropdown-item.cjs\",[[1,\"q2-dropdown-item\",{\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513],\"groupDisabled\":[516,\"group-disabled\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend.cjs\",[[1,\"q2-legend\",{\"data\":[16],\"hoveredItemId\":[513,\"hovered-item-id\"],\"format\":[513],\"selectedItemId\":[513,\"selected-item-id\"],\"selectedItemIndex\":[32],\"hoveredItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"role\":[513],\"disabled\":[516],\"display\":[1025],\"value\":[513],\"disabledGroup\":[516,\"disabled-group\"],\"selected\":[516],\"multiline\":[516],\"active\":[516],\"_multiSelectHidden\":[516,\"_multiselecthidden\"]}]]],[\"q2-btn_2.cjs\",[[1,\"q2-btn\",{\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaSelected\":[1,\"aria-selected\"],\"ariaPressed\":[1,\"aria-pressed\"],\"description\":[1],\"tabIndex\":[2,\"tab-index\"],\"active\":[516],\"badge\":[516],\"block\":[516],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"type\":[513],\"_role\":[513],\"size\":[513],\"color\":[1537],\"fab\":[516],\"ariaLabel\":[1537,\"aria-label\"],\"iconPosition\":[32]},[[2,\"click\",\"disable\"],[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513],\"ariaLabel\":[1537,\"aria-label\"]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-input.cjs\",[[1,\"q2-input\",{\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"_role\":[1025],\"_preventEntry\":[1028,\"_prevent-entry\"],\"value\":[1025],\"ariaOwns\":[1,\"aria-owns\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaLabel\":[1537,\"aria-label\"],\"pattern\":[1537],\"validity\":[1040],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkSlotCount\":[32],\"setValue\":[64],\"clearValue\":[64],\"checkValidity\":[64]},[[0,\"focus\",\"onHostElementFocus\"],[0,\"change\",\"onHostElementChange\"]],{\"clearable\":[\"manageClearableResizeObserver\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"value\":[\"valueObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"type\":[\"typeObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"hints\":[\"hintsObserver\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-option-list.cjs\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"setDefaultActiveElement\":[64],\"setActiveElement\":[64],\"handleExternalKeydown\":[64],\"getContents\":[64],\"getOptions\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"click\",\"handleClick\"]],{\"showSelected\":[\"showSelectedUpdated\"],\"selectedOptions\":[\"selectedOptionsUpdated\"]}]]],[\"click-elsewhere_2.cjs\",[[1,\"q2-popover\",{\"direction\":[513],\"align\":[513],\"open\":[1540],\"block\":[516],\"controlElement\":[16],\"mode\":[1],\"minHeight\":[2,\"min-height\"],\"currentDirection\":[32],\"show\":[32],\"toggle\":[64],\"scrollContainerTo\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"open\":[\"openChanged\"],\"minHeight\":[\"minHeightProvided\"]}],[0,\"click-elsewhere\"]]]]"), options);
22
+ return index.bootstrapLazy(JSON.parse("[[\"q2-pagination.cjs\",[[1,\"q2-pagination\",{\"autoSize\":[1540,\"auto-size\"],\"total\":[514],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[2,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"alignment\":[1],\"isSmall\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar.cjs\",[[1,\"q2-calendar\",{\"assume\":[513],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMode\":[1025,\"popover-mode\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"popDirection\":[513,\"pop-direction\"],\"onsuccess\":[16],\"buttonLabel\":[513,\"button-label\"],\"ariaLabel\":[1537,\"aria-label\"],\"keyboardSelection\":[32],\"typedValue\":[32],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"openPopover\":[64],\"closePopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"success\",\"defaultSuccessHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"clear\",\"handleClear\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"popDirection\":[\"popDirectionHandler\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"typeable\":[\"typeableChanged\"],\"value\":[\"valueObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"validDates\":[\"validDatesObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"startDate\":[\"startDateObserver\"],\"endDate\":[\"endDateObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"]}]]],[\"q2-action-sheet.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"title\":[1],\"hideClose\":[4,\"hide-close\"],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMode\":[1025,\"popover-mode\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"alignment\":[513],\"popDirection\":[513,\"pop-direction\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"popDirection\":[\"popDirectionHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"name\":[\"nameHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"],\"additionalContext\":[\"additionalContextHandler\"]}]]],[\"q2-data-table.cjs\",[[1,\"q2-data-table\",{\"bordered\":[1544],\"clickable\":[1540],\"caption\":[1025],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"striped\":[516],\"serializedHeaders\":[32],\"serializedRows\":[32],\"hasExpandableRows\":[32],\"hasDropdowns\":[32],\"allRowsSelected\":[32],\"someRowsSelected\":[32],\"hasRowData\":[32],\"checkSlotCount\":[32]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field.cjs\",[[1,\"q2-editable-field\",{\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"ariaLabel\":[1537,\"aria-label\"],\"formattedValue\":[32],\"clickEdit\":[64],\"clickCancel\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"]],{\"errors\":[\"errorsObserver\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"]}]]],[\"q2-pill.cjs\",[[1,\"q2-pill\",{\"active\":[1540],\"disabled\":[516],\"borderless\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"optionCount\":[32],\"selectedOptionElements\":[32]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"]],{\"value\":[\"valueChanged\"],\"selectedOptions\":[\"selectedOptionsChanged\"]}]]],[\"q2-tab-container.cjs\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[9,\"resize\",\"onResize\"],[0,\"focus\",\"onFocus\"],[0,\"badge\",\"onBadge\"]],{\"value\":[\"valueObserver\"],\"name\":[\"nameObserver\"]}]]],[\"q2-tag.cjs\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel.cjs\",[[4,\"q2-carousel\",{\"autoPlay\":[516,\"auto-play\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"framelessPanes\":[516,\"frameless-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"index\":[1538],\"ariaLabel\":[513,\"aria-label\"],\"universalCarouselOptions\":[32],\"fullWidthDisplayOptions\":[32],\"activePaneIndex\":[32],\"applyFocus\":[32],\"applyPaginationFocus\":[32],\"autoPlayInProgress\":[32],\"compactMode\":[32],\"carouselWrapperWidth\":[32],\"ariaLiveValue\":[32],\"currentPaneCount\":[32]},[[0,\"change\",\"onHostElementChange\"],[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"index\":[\"indexChanged\"],\"fullWidthPanes\":[\"revampCarousel\"],\"framelessPanes\":[\"revampCarousel\",\"framelessPanesChanged\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"]}]]],[\"q2-chart-donut.cjs\",[[1,\"q2-chart-donut\",{\"data\":[16],\"chartName\":[513,\"chart-name\"],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"isClickable\":[516,\"is-clickable\"],\"innerRadius\":[1025,\"inner-radius\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"selectById\":[64],\"selectByIndex\":[64],\"clearSelection\":[64],\"getChartOptions\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker.cjs\",[[1,\"q2-month-picker\",{\"year\":[1538],\"disabledMonths\":[16],\"today\":[1],\"selectedIndex\":[32],\"focusedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hideContent\":[32],\"hasYieldedHeader\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"expanded\":[\"expandedObserver\"],\"collapsible\":[\"collapsibleObserver\"]}]]],[\"q2-stepper.cjs\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"stepCount\":[1026,\"step-count\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card.cjs\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoTouch\":[32],\"isAutoSmall\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-checkbox-group.cjs\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"value\":[\"valueObserver\"],\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"]}]]],[\"q2-radio-group.cjs\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"tilelayout\":[1540],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"value\":[\"valueUpdated\"],\"name\":[\"nameUpdated\"],\"disabled\":[\"disabledUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"]}]]],[\"q2-stepper-vertical.cjs\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea.cjs\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hints\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"hasFocus\":[32],\"downParams\":[32],\"setValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"],[0,\"change\",\"onHostElementChange\"],[0,\"input\",\"onHostElementInput\"]],{\"value\":[\"valueObserver\"],\"rows\":[\"rowsObserver\"],\"cols\":[\"colsObserver\"],\"hints\":[\"hintsObserver\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-carousel-pane.cjs\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"siblingCount\":[2,\"sibling-count\"],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area.cjs\",[[1,\"q2-chart-area\",{\"data\":[16],\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"]}]]],[\"q2-chart-bar.cjs\",[[1,\"q2-chart-bar\",{\"data\":[16],\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"]}]]],[\"q2-currency.cjs\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"size\":[513],\"signDisplay\":[513,\"sign-display\"],\"slotSize\":[513,\"slot-size\"]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-item.cjs\",[[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-list.cjs\",[[1,\"q2-list\",{\"label\":[513],\"bordered\":[1540],\"renderTrigger\":[32]}]]],[\"q2-loading-element.cjs\",[[0,\"q2-loading-element\",{\"shape\":[513],\"width\":[513],\"height\":[513],\"borderRadius\":[513,\"border-radius\"]}]]],[\"q2-loc.cjs\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[513]}]]],[\"q2-radio.cjs\",[[1,\"q2-radio\",{\"checked\":[1540],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"readonly\":[516],\"value\":[513],\"tabIndex\":[2,\"tab-index\"],\"name\":[513],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time.cjs\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"date\":[513],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64],\"validDateProp\":[64],\"validBaseDateProp\":[64]},null,{\"sync\":[\"syncUpdated\"],\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"]}]]],[\"q2-stepper-pane.cjs\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"status\":[\"statusChanged\"],\"isActive\":[\"isActiveChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"]}]]],[\"q2-tab-pane.cjs\",[[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"label\":[513],\"value\":[513],\"name\":[513],\"selected\":[516],\"index\":[2],\"guid\":[2]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}]]],[\"q2-tooltip.cjs\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[0,\"keyup\",\"keyUpHandler\"],[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"]]]]],[\"slot-component.cjs\",[[0,\"slot-component\",{\"slotSize\":[513,\"slot-size\"]}]]],[\"tecton-tab-pane.cjs\",[[1,\"tecton-tab-pane\",{\"value\":[513],\"label\":[513],\"name\":[513],\"selected\":[516],\"index\":[2],\"guid\":[2],\"provided\":[516],\"url\":[513],\"moduleId\":[513,\"module-id\"],\"minHeight\":[513,\"min-height\"],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeTheme\":[513,\"badge-theme\"],\"badgeStatus\":[513,\"badge-status\"],\"authPayload\":[16],\"showForm\":[4,\"show-form\"],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-badge.cjs\",[[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}]]],[\"q2-icon.cjs\",[[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select.cjs\",[[1,\"q2-select\",{\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"clearable\":[516],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"ariaLabel\":[1537,\"aria-label\"],\"open\":[32],\"showSelected\":[32],\"searchText\":[32],\"hasCustomDisplay\":[32],\"hasPopoverTop\":[32],\"hasPopoverBottom\":[32],\"inputFocused\":[32],\"statusMessage\":[32],\"prioritizeSearch\":[32],\"structuredSelectedOptions\":[32],\"openPopover\":[64],\"closePopover\":[64],\"setValue\":[64],\"searchOptions\":[64]},[[0,\"keydown\",\"keydownHandler\"],[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"input\",\"onHostElementInput\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"displayChanged\",\"handleSelectedDisplay\"]],{\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"]}]]],[\"q2-dropdown-item.cjs\",[[1,\"q2-dropdown-item\",{\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513],\"groupDisabled\":[516,\"group-disabled\"],\"ariaLabel\":[1537,\"aria-label\"]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend.cjs\",[[1,\"q2-legend\",{\"data\":[16],\"hoveredItemId\":[513,\"hovered-item-id\"],\"format\":[513],\"selectedItemId\":[513,\"selected-item-id\"],\"selectedItemIndex\":[32],\"hoveredItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"role\":[513],\"disabled\":[516],\"display\":[1025],\"value\":[513],\"disabledGroup\":[516,\"disabled-group\"],\"selected\":[516],\"multiline\":[516],\"active\":[516],\"_multiSelectHidden\":[516,\"_multiselecthidden\"]}]]],[\"q2-btn_2.cjs\",[[1,\"q2-btn\",{\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaSelected\":[1,\"aria-selected\"],\"ariaPressed\":[1,\"aria-pressed\"],\"description\":[1],\"tabIndex\":[2,\"tab-index\"],\"active\":[516],\"badge\":[516],\"block\":[516],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"type\":[513],\"_role\":[513],\"size\":[513],\"color\":[1537],\"fab\":[516],\"ariaLabel\":[1537,\"aria-label\"],\"iconPosition\":[32]},[[2,\"click\",\"disable\"],[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513],\"ariaLabel\":[1537,\"aria-label\"]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-input.cjs\",[[1,\"q2-input\",{\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"_role\":[1025],\"_preventEntry\":[1028,\"_prevent-entry\"],\"value\":[1025],\"pattern\":[1537],\"ariaOwns\":[1,\"aria-owns\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaLabel\":[1537,\"aria-label\"],\"validity\":[1040],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkSlotCount\":[32],\"setValue\":[64],\"clearValue\":[64],\"checkValidity\":[64]},[[0,\"focus\",\"onHostElementFocus\"],[0,\"change\",\"onHostElementChange\"]],{\"clearable\":[\"manageClearableResizeObserver\"],\"ariaLabel\":[\"ariaLabelObserver\"],\"value\":[\"valueObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"type\":[\"typeObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"hints\":[\"hintsObserver\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-option-list.cjs\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"setDefaultActiveElement\":[64],\"setActiveElement\":[64],\"handleExternalKeydown\":[64],\"getContents\":[64],\"getOptions\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"click\",\"handleClick\"]],{\"showSelected\":[\"showSelectedUpdated\"],\"selectedOptions\":[\"selectedOptionsUpdated\"]}]]],[\"click-elsewhere_2.cjs\",[[1,\"q2-popover\",{\"direction\":[513],\"align\":[513],\"open\":[1540],\"block\":[516],\"controlElement\":[16],\"mode\":[1],\"minHeight\":[2,\"min-height\"],\"currentDirection\":[32],\"show\":[32],\"toggle\":[64],\"scrollContainerTo\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"open\":[\"openChanged\"],\"minHeight\":[\"minHeightProvided\"]}],[0,\"click-elsewhere\"]]]]"), options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -69,6 +69,7 @@ export class Q2ChartDonut {
69
69
  event.stopPropagation();
70
70
  };
71
71
  this.onLegendClick = event => {
72
+ event.stopPropagation();
72
73
  if (event.detail) {
73
74
  const dataIndex = this.getDataIndexForId(event.detail.id);
74
75
  this.selectedId = event.detail.id;
@@ -238,9 +239,10 @@ export class Q2ChartDonut {
238
239
  setLegendData() {
239
240
  const chartColors = this.chart.getOption().series[0].color;
240
241
  this.legendData = this.data.map((item, index) => {
241
- if (!item.color)
242
- item.color = chartColors[index];
243
- return item;
242
+ const newItem = Object.assign({}, item);
243
+ if (!newItem.color)
244
+ newItem.color = chartColors[index];
245
+ return newItem;
244
246
  });
245
247
  }
246
248
  // Edit with caution. Echarts does not interpret events the same on mobile.
@@ -329,6 +331,7 @@ export class Q2ChartDonut {
329
331
  dataUpdated() {
330
332
  this.colors = this.getColors();
331
333
  this.updateChart(this.chart);
334
+ this.setLegendData();
332
335
  }
333
336
  innerRadiusUpdated() {
334
337
  const { innerRadius, outerRadius } = this;
@@ -448,7 +451,7 @@ export class Q2ChartDonut {
448
451
  } })), !!name && h("div", { class: "name" }, name), !!value && h("div", { class: "value" }, displayValue))));
449
452
  }
450
453
  render() {
451
- return (h("click-elsewhere", { key: '1700d18c30cb0da1da745fa5434efe01b3aa842a', onChange: this.onClickElsewhere }, h("figure", { key: 'aa57add1e248244c9d32f4aaa860cccfea408859' }, h("div", { key: 'c30cf1183ea3542428262317587fca983e33f429', class: "container" }, h("div", { key: 'b91edcfa1cc2842723875f3bb254024b6d755da0', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description' : undefined, class: "chart-container", role: "img", "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined }), this.renderCenterBlock()), this.showLegend && (h("figcaption", { key: 'd06dc65b1460dc205b8f051c9ed9c52b8a176189' }, h("q2-legend", { key: 'a854b6452fb91f7bc8cee0091c473937bcd7e665', class: "legend", data: this.legendData, format: this.format, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
454
+ return (h("click-elsewhere", { key: '90996ed9349102c692239d46f08bb3d429a0ee05', onChange: this.onClickElsewhere }, h("figure", { key: 'a41baa8d48497d7ce330e0133bdffa01c0b7977f' }, h("div", { key: '1858aa966d6d46089226f988d077268228352de8', class: "container" }, h("div", { key: 'ef990082c127b145d9e54cb0ed0644c23bc2101d', ref: el => (this.chartContainer = el), "aria-describedby": !this.isClickable ? 'center-card-description' : undefined, class: "chart-container", role: "img", "test-id": "chartContainer", onClick: this.onContainerClick, tabIndex: !this.isClickable ? 0 : undefined, onKeyDown: !this.isClickable ? this.onButtonKeyDown : undefined }), this.renderCenterBlock()), this.showLegend && (h("figcaption", { key: '7713de14eac9ad9ad0b89e0398247aa7335a9532' }, h("q2-legend", { key: '76f0364735a9c6fef7de7aaf991b2d429b92d737', class: "legend", data: this.legendData, format: this.format, hoveredItemId: this.legendHoveredId, onClick: this.onLegendClick, onMouseleave: this.onLegendMouseleave, onMouseenter: this.onLegendMouseenter, selectedItemId: this.selectedId }))))));
452
455
  }
453
456
  static get is() { return "q2-chart-donut"; }
454
457
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"q2-chart-donut.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-donut/q2-chart-donut.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport { EChartsCoreOption } from 'echarts/types/dist/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, isMobile, loc, overrideFocus } from 'src/utils';\nimport { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n@Component({ tag: 'q2-chart-donut', shadow: true, styleUrl: 'q2-chart-donut.scss' })\nexport class Q2ChartDonut implements ComponentInterface {\n /** An array of objects that contain the data to be displayed. */\n @Prop() data: IDonutChartData[] = [];\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true }) chartName: string;\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true }) format: 'currency' | 'default';\n\n /** The amount which the slice will scale when hovered. */\n @Prop() hoverScaleSize: number = 5;\n\n /**\n * Determine whether the data in the center renders inside a button element.\n *\n * @info\n * This also enables extra keyboard controls when the button is focused.\n */\n @Prop({ reflect: true }) isClickable: boolean;\n\n /**\n * The inner radius of the chart slices which is represeted by a percentage of the radius.\n *\n * @warning\n * If you update this property to be greater than or equal to the `outerRadius`,\n * we automatically set it to be 15% less than the current `outerRadius` to prevent display issues.\n */\n @Prop({ mutable: true }) innerRadius: string = '70%';\n\n /** The minimum size of the chart slizes which is represented as a percentage of the circumferences. */\n @Prop() minSliceSize: string = '2.5%';\n\n /**\n * The outer radius of the chart slices which is represented by a percentage of the radius.\n *\n * @warning\n * If you update this property to be less than or equal to the `innerRadius`,\n * we automatically set it to be 15% greater than the current `innerRadius` to prevent display issues.\n */\n @Prop({ mutable: true }) outerRadius: string = '85%';\n\n /** The id of the data point that is currently selected in the chart. You may set this to pre-select a data point on render, or force a selection change. */\n @Prop({ mutable: true }) selectedId: string;\n\n /** The amount which the slice will separate from the chart when selected. */\n @Prop() selectedOffset: number = 10;\n\n /**\n * Determines whether the legend is displayed.\n *\n * @info\n * The legend is a list of the data points in the chart and their colors.\n */\n @Prop({ reflect: true }) showLegend: boolean = false;\n\n /** The icon that displays by default when no slices are selected. */\n @Prop({ reflect: true }) summaryIcon: string;\n\n /**\n * The name that displays by default when no slices are selected.\n * @localizable\n */\n @Prop({ reflect: true }) summaryName: string;\n\n isInChangeEvent: boolean;\n chartContainer: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n btnElement: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n resizeObserver: ResizeObserver;\n colors: string[];\n chart: echarts.ECharts;\n defaultRecord = { id: null, value: null, name: null };\n\n @State() hoveredId: string;\n @State() legendData: IDonutChartData[];\n\n @Element() hostElement: HTMLElement;\n\n /// Events ///\n /**\n * Emitted when a slice is selected.\n */\n @Event() change: EventEmitter<IDonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n */\n @Event() click: EventEmitter<IDonutChartData>;\n\n /// LifeCycle Hooks ///\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.setLegendData();\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n /// Getters ///\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n get isMobile(): boolean {\n return isMobile();\n }\n\n get legendHoveredId() {\n return this.hoveredId === this.selectedId ? null : this.hoveredId;\n }\n\n /// Helpers ///\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getColors() {\n const defaultColors = [\n '--comp-color-1',\n '--comp-color-2',\n '--comp-color-3',\n '--comp-color-4',\n '--comp-color-5',\n '--comp-color-6',\n '--comp-color-7',\n '--comp-color-8',\n '--comp-color-9',\n '--comp-color-10',\n '--comp-color-11',\n '--comp-color-12',\n ];\n\n return this.data.reduce((acc, cur) => {\n let color = defaultColors.shift();\n if (cur.color) color = cur.color;\n\n acc.push(this.getCSSProperty(color) || color);\n return acc;\n }, []);\n }\n\n getMinSliceSizeAsAngle() {\n return (parseFloat(this.minSliceSize) / 100) * 360;\n }\n\n getDataIndexForId(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n setLegendData() {\n const chartColors = this.chart.getOption().series[0].color;\n this.legendData = this.data.map((item, index) => {\n if (!item.color) item.color = chartColors[index];\n\n return item;\n });\n }\n\n // Edit with caution. Echarts does not interpret events the same on mobile.\n setupChartEvents(chart: echarts.ECharts) {\n if (!this.isMobile) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n }\n chart.on('click', params => {\n params.event.stop();\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n this.change.emit(data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n chart.on('finished', () => {\n const canvas = chart.getDom().querySelector('canvas');\n if (canvas?.hasAttribute('aria-hidden') ?? false) return;\n canvas.setAttribute('aria-hidden', 'true');\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n itemStyle: {\n borderWidth: 5,\n borderColor: this.getCSSProperty('--comp-background-color'),\n },\n emphasis: {\n disabled: this.isMobile,\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n minAngle: this.getMinSliceSizeAsAngle(),\n data: this.data,\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n /// Watchers ///\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n this.colors = this.getColors();\n this.updateChart(this.chart);\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n // Function to detect and set a data range (category) as selected\n // Logic for when legends are present, and can set selectedId when ledgend category is clicked\n // Also can be used by dev to preset\n @Watch('selectedId')\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n /// Listeners ///\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n /// Methods ///\n /**\n * Selects a slice by its provided `id` in the provided `data`.\n */\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Selects a slice by its index in the provided `data`.\n */\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Clears any selected slice.\n */\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /**\n * Returns the chart instance for e2e testing.\n *\n * @testOnly\n */\n @Method()\n async getChartOptions(): Promise<EChartsCoreOption> {\n return this.chart.getOption();\n }\n\n /// Event Handlers ///\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onButtonKeyDown = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n case ' ':\n event.preventDefault();\n break;\n\n default:\n return;\n }\n };\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n this.click.emit(data);\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n onLegendClick = event => {\n if (event.detail) {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.selectedId = event.detail.id;\n this.chart.dispatchAction({\n type: 'select',\n seriesIndex: 0,\n dataIndex,\n });\n } else {\n const dataIndex = this.getDataIndexForId(this.selectedId);\n this.hoveredId = this.selectedId;\n this.selectedId = null;\n this.chart.dispatchAction({\n type: 'unselect',\n seriesIndex: 0,\n dataIndex,\n });\n }\n };\n\n onLegendMouseleave = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = this.selectedId;\n this.chart.dispatchAction({\n type: 'downplay',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n onLegendMouseenter = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = event.detail.id;\n this.chart.dispatchAction({\n type: 'highlight',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n /// DOM ///\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyDown: this.onButtonKeyDown,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-describedby': 'center-card-description',\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius} - 10%)` }}\n >\n <div\n id=\"center-card-description\"\n class=\"sr\"\n >\n {loc('tecton.element.chartDonut.button.description')}\n </div>\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {!!icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {!!name && <div class=\"name\">{name}</div>}\n {!!value && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <figure>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n aria-describedby={!this.isClickable ? 'center-card-description' : undefined}\n class=\"chart-container\"\n role=\"img\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n tabIndex={!this.isClickable ? 0 : undefined}\n onKeyDown={!this.isClickable ? this.onButtonKeyDown : undefined}\n ></div>\n {this.renderCenterBlock()}\n </div>\n {this.showLegend && (\n <figcaption>\n <q2-legend\n class=\"legend\"\n data={this.legendData}\n format={this.format}\n hoveredItemId={this.legendHoveredId}\n onClick={this.onLegendClick}\n onMouseleave={this.onLegendMouseleave}\n onMouseenter={this.onLegendMouseenter}\n selectedItemId={this.selectedId}\n />\n </figcaption>\n )}\n </figure>\n </click-elsewhere>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"q2-chart-donut.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-donut/q2-chart-donut.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport { EChartsCoreOption } from 'echarts/types/dist/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, isMobile, loc, overrideFocus } from 'src/utils';\nimport { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n@Component({ tag: 'q2-chart-donut', shadow: true, styleUrl: 'q2-chart-donut.scss' })\nexport class Q2ChartDonut implements ComponentInterface {\n /** An array of objects that contain the data to be displayed. */\n @Prop() data: IDonutChartData[] = [];\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true }) chartName: string;\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true }) format: 'currency' | 'default';\n\n /** The amount which the slice will scale when hovered. */\n @Prop() hoverScaleSize: number = 5;\n\n /**\n * Determine whether the data in the center renders inside a button element.\n *\n * @info\n * This also enables extra keyboard controls when the button is focused.\n */\n @Prop({ reflect: true }) isClickable: boolean;\n\n /**\n * The inner radius of the chart slices which is represeted by a percentage of the radius.\n *\n * @warning\n * If you update this property to be greater than or equal to the `outerRadius`,\n * we automatically set it to be 15% less than the current `outerRadius` to prevent display issues.\n */\n @Prop({ mutable: true }) innerRadius: string = '70%';\n\n /** The minimum size of the chart slizes which is represented as a percentage of the circumferences. */\n @Prop() minSliceSize: string = '2.5%';\n\n /**\n * The outer radius of the chart slices which is represented by a percentage of the radius.\n *\n * @warning\n * If you update this property to be less than or equal to the `innerRadius`,\n * we automatically set it to be 15% greater than the current `innerRadius` to prevent display issues.\n */\n @Prop({ mutable: true }) outerRadius: string = '85%';\n\n /** The id of the data point that is currently selected in the chart. You may set this to pre-select a data point on render, or force a selection change. */\n @Prop({ mutable: true }) selectedId: string;\n\n /** The amount which the slice will separate from the chart when selected. */\n @Prop() selectedOffset: number = 10;\n\n /**\n * Determines whether the legend is displayed.\n *\n * @info\n * The legend is a list of the data points in the chart and their colors.\n */\n @Prop({ reflect: true }) showLegend: boolean = false;\n\n /** The icon that displays by default when no slices are selected. */\n @Prop({ reflect: true }) summaryIcon: string;\n\n /**\n * The name that displays by default when no slices are selected.\n * @localizable\n */\n @Prop({ reflect: true }) summaryName: string;\n\n isInChangeEvent: boolean;\n chartContainer: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n btnElement: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n resizeObserver: ResizeObserver;\n colors: string[];\n chart: echarts.ECharts;\n defaultRecord = { id: null, value: null, name: null };\n\n @State() hoveredId: string;\n @State() legendData: IDonutChartData[];\n\n @Element() hostElement: HTMLElement;\n\n /// Events ///\n /**\n * Emitted when a slice is selected.\n */\n @Event() change: EventEmitter<IDonutChartData>;\n\n /**\n * Emitted when the center button is clicked.\n *\n * Requires the `isClickable` prop to be set to `true`.\n */\n @Event() click: EventEmitter<IDonutChartData>;\n\n /// LifeCycle Hooks ///\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.setLegendData();\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n /// Getters ///\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n get isMobile(): boolean {\n return isMobile();\n }\n\n get legendHoveredId() {\n return this.hoveredId === this.selectedId ? null : this.hoveredId;\n }\n\n /// Helpers ///\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getColors() {\n const defaultColors = [\n '--comp-color-1',\n '--comp-color-2',\n '--comp-color-3',\n '--comp-color-4',\n '--comp-color-5',\n '--comp-color-6',\n '--comp-color-7',\n '--comp-color-8',\n '--comp-color-9',\n '--comp-color-10',\n '--comp-color-11',\n '--comp-color-12',\n ];\n\n return this.data.reduce((acc, cur) => {\n let color = defaultColors.shift();\n if (cur.color) color = cur.color;\n\n acc.push(this.getCSSProperty(color) || color);\n return acc;\n }, []);\n }\n\n getMinSliceSizeAsAngle() {\n return (parseFloat(this.minSliceSize) / 100) * 360;\n }\n\n getDataIndexForId(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n setLegendData() {\n const chartColors = this.chart.getOption().series[0].color;\n this.legendData = this.data.map((item, index) => {\n const newItem = { ...item };\n if (!newItem.color) newItem.color = chartColors[index];\n\n return newItem;\n });\n }\n\n // Edit with caution. Echarts does not interpret events the same on mobile.\n setupChartEvents(chart: echarts.ECharts) {\n if (!this.isMobile) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n }\n chart.on('click', params => {\n params.event.stop();\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n this.change.emit(data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n chart.on('finished', () => {\n const canvas = chart.getDom().querySelector('canvas');\n if (canvas?.hasAttribute('aria-hidden') ?? false) return;\n canvas.setAttribute('aria-hidden', 'true');\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n itemStyle: {\n borderWidth: 5,\n borderColor: this.getCSSProperty('--comp-background-color'),\n },\n emphasis: {\n disabled: this.isMobile,\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n minAngle: this.getMinSliceSizeAsAngle(),\n data: this.data,\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n /// Watchers ///\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n this.colors = this.getColors();\n this.updateChart(this.chart);\n this.setLegendData();\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n // Function to detect and set a data range (category) as selected\n // Logic for when legends are present, and can set selectedId when ledgend category is clicked\n // Also can be used by dev to preset\n @Watch('selectedId')\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to be fired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n /// Listeners ///\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n /// Methods ///\n /**\n * Selects a slice by its provided `id` in the provided `data`.\n */\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Selects a slice by its index in the provided `data`.\n */\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n /**\n * Clears any selected slice.\n */\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /**\n * Returns the chart instance for e2e testing.\n *\n * @testOnly\n */\n @Method()\n async getChartOptions(): Promise<EChartsCoreOption> {\n return this.chart.getOption();\n }\n\n /// Event Handlers ///\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onButtonKeyDown = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n case ' ':\n event.preventDefault();\n break;\n\n default:\n return;\n }\n };\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n this.click.emit(data);\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n onLegendClick = event => {\n event.stopPropagation();\n if (event.detail) {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.selectedId = event.detail.id;\n this.chart.dispatchAction({\n type: 'select',\n seriesIndex: 0,\n dataIndex,\n });\n } else {\n const dataIndex = this.getDataIndexForId(this.selectedId);\n this.hoveredId = this.selectedId;\n this.selectedId = null;\n this.chart.dispatchAction({\n type: 'unselect',\n seriesIndex: 0,\n dataIndex,\n });\n }\n };\n\n onLegendMouseleave = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = this.selectedId;\n this.chart.dispatchAction({\n type: 'downplay',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n onLegendMouseenter = event => {\n const dataIndex = this.getDataIndexForId(event.detail.id);\n this.hoveredId = event.detail.id;\n this.chart.dispatchAction({\n type: 'highlight',\n seriesIndex: 0,\n dataIndex,\n });\n };\n\n /// DOM ///\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyDown: this.onButtonKeyDown,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-describedby': 'center-card-description',\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius} - 10%)` }}\n >\n <div\n id=\"center-card-description\"\n class=\"sr\"\n >\n {loc('tecton.element.chartDonut.button.description')}\n </div>\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {!!icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {!!name && <div class=\"name\">{name}</div>}\n {!!value && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <figure>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n aria-describedby={!this.isClickable ? 'center-card-description' : undefined}\n class=\"chart-container\"\n role=\"img\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n tabIndex={!this.isClickable ? 0 : undefined}\n onKeyDown={!this.isClickable ? this.onButtonKeyDown : undefined}\n ></div>\n {this.renderCenterBlock()}\n </div>\n {this.showLegend && (\n <figcaption>\n <q2-legend\n class=\"legend\"\n data={this.legendData}\n format={this.format}\n hoveredItemId={this.legendHoveredId}\n onClick={this.onLegendClick}\n onMouseleave={this.onLegendMouseleave}\n onMouseenter={this.onLegendMouseenter}\n selectedItemId={this.selectedId}\n />\n </figcaption>\n )}\n </figure>\n </click-elsewhere>\n );\n }\n}\n"]}
@@ -130,6 +130,14 @@ col.expandable-row-control-column {
130
130
  col.dropdown-column {
131
131
  width: var(--comp-dropdown-column-width);
132
132
  }
133
+ :host(:is([bordered=vertical], [bordered=grid])) col {
134
+ border-width: var(--tct-data-table-column-border-width, 0 1px 0 0);
135
+ border-style: var(--tct-data-table-column-border-style, solid);
136
+ border-color: var(--tct-data-table-column-border-color, var(--t-gray-9, #999999));
137
+ }
138
+ :host(:is([bordered=vertical], [bordered=grid])) col:last-child {
139
+ border: none;
140
+ }
133
141
 
134
142
  td,
135
143
  th {
@@ -183,6 +191,12 @@ tr.expandable:focus, tr.clickable:focus {
183
191
  outline: none;
184
192
  box-shadow: none;
185
193
  }
194
+ tr.striped:nth-child(even) {
195
+ background: var(--tct-data-table-row-even-background, var(--t-gray-14, #f2f2f2));
196
+ }
197
+ tr.striped:nth-child(odd) {
198
+ background: var(--tct-data-table-row-odd-background, transparent);
199
+ }
186
200
  tr.expandable:hover {
187
201
  background: var(--tct-data-table-expandable-row-hover-background, var(--tct-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)));
188
202
  }
@@ -198,7 +212,7 @@ tr.expanded {
198
212
  tr.expanded .toggle-expandable-row {
199
213
  transform: rotate(180deg);
200
214
  }
201
- :host([bordered]:not([bordered=false])) tbody tr {
215
+ :host(:is([bordered], [bordered=horizontal], [bordered=grid]):not([bordered=vertical], [bordered=false])) tbody tr {
202
216
  border-width: var(--tct-data-table-row-border-width, var(--tct-table-row-border-width, 0 0 1px 0));
203
217
  border-style: var(--tct-data-table-row-border-style, var(--tct-table-row-border-style, solid));
204
218
  border-color: var(--tct-data-table-row-border-color, var(--tct-table-row-border-color, var(--t-gray-9, #999999)));