@tailng-ui/primitives 0.1.0 → 0.12.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 (166) hide show
  1. package/README.md +97 -11
  2. package/package.json +9 -3
  3. package/src/index.d.ts +5 -0
  4. package/src/index.d.ts.map +1 -1
  5. package/src/index.js +5 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  8. package/src/lib/feedback/empty/tng-empty.js +5 -0
  9. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  10. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  11. package/src/lib/feedback/progress-bar/tng-progress-bar.js +4 -1
  12. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  13. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  14. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +3 -1
  15. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  16. package/src/lib/feedback/skeleton/tng-skeleton.d.ts +1 -0
  17. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  18. package/src/lib/feedback/skeleton/tng-skeleton.js +5 -0
  19. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  20. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  21. package/src/lib/feedback/toast/tng-toast.js +2 -0
  22. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  23. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  24. package/src/lib/form/checkbox/tng-checkbox.js +1 -0
  25. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  26. package/src/lib/form/chips/tng-chips.d.ts +53 -1
  27. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  28. package/src/lib/form/chips/tng-chips.js +284 -1
  29. package/src/lib/form/chips/tng-chips.js.map +1 -1
  30. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  31. package/src/lib/form/combobox/tng-combobox.js +1 -0
  32. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  33. package/src/lib/form/input-otp/tng-input-otp.d.ts +22 -0
  34. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  35. package/src/lib/form/input-otp/tng-input-otp.js +106 -1
  36. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  37. package/src/lib/form/label/tng-label.d.ts +2 -0
  38. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  39. package/src/lib/form/label/tng-label.js +10 -0
  40. package/src/lib/form/label/tng-label.js.map +1 -1
  41. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +1 -0
  42. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  43. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +26 -0
  44. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  45. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  46. package/src/lib/form/multiselect/tng-multiselect.js +1 -0
  47. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  48. package/src/lib/form/radio/tng-radio.d.ts +26 -0
  49. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  50. package/src/lib/form/radio/tng-radio.js +130 -1
  51. package/src/lib/form/radio/tng-radio.js.map +1 -1
  52. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  53. package/src/lib/form/slider/tng-slider.js +1 -0
  54. package/src/lib/form/slider/tng-slider.js.map +1 -1
  55. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  56. package/src/lib/form/switch/tng-switch.js +1 -0
  57. package/src/lib/form/switch/tng-switch.js.map +1 -1
  58. package/src/lib/form/textarea/tng-textarea.d.ts +6 -14
  59. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  60. package/src/lib/form/textarea/tng-textarea.js +42 -85
  61. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  62. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  63. package/src/lib/form/toggle/tng-toggle.js +1 -0
  64. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  65. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  66. package/src/lib/form/toggle-group/tng-toggle-group.js +1 -0
  67. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  68. package/src/lib/layout/accordion/tng-accordion.d.ts +9 -0
  69. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  70. package/src/lib/layout/accordion/tng-accordion.js +113 -0
  71. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  72. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  73. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +1 -0
  74. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  75. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  76. package/src/lib/layout/card/tng-card.js +10 -0
  77. package/src/lib/layout/card/tng-card.js.map +1 -1
  78. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  79. package/src/lib/layout/collapsible/tng-collapsible.js +3 -0
  80. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  81. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  82. package/src/lib/layout/grid/tng-grid.js +1 -0
  83. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  84. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  85. package/src/lib/layout/separator/tng-separator.js +1 -0
  86. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  87. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  88. package/src/lib/layout/stepper/tng-stepper.js +1 -0
  89. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  90. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts +20 -0
  91. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -0
  92. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +106 -0
  93. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -0
  94. package/src/lib/layout/tree/index.d.ts +5 -0
  95. package/src/lib/layout/tree/index.d.ts.map +1 -0
  96. package/src/lib/layout/tree/index.js +5 -0
  97. package/src/lib/layout/tree/index.js.map +1 -0
  98. package/src/lib/layout/tree/tng-tree-group.d.ts +10 -0
  99. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -0
  100. package/src/lib/layout/tree/tng-tree-group.js +29 -0
  101. package/src/lib/layout/tree/tng-tree-group.js.map +1 -0
  102. package/src/lib/layout/tree/tng-tree-indicator.d.ts +8 -0
  103. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -0
  104. package/src/lib/layout/tree/tng-tree-indicator.js +36 -0
  105. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -0
  106. package/src/lib/layout/tree/tng-tree-item.d.ts +36 -0
  107. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -0
  108. package/src/lib/layout/tree/tng-tree-item.js +139 -0
  109. package/src/lib/layout/tree/tng-tree-item.js.map +1 -0
  110. package/src/lib/layout/tree/tng-tree.d.ts +64 -1
  111. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  112. package/src/lib/layout/tree/tng-tree.js +536 -1
  113. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  114. package/src/lib/layout/tree/tng-tree.transforms.d.ts +10 -0
  115. package/src/lib/layout/tree/tng-tree.transforms.d.ts.map +1 -0
  116. package/src/lib/layout/tree/tng-tree.transforms.js +46 -0
  117. package/src/lib/layout/tree/tng-tree.transforms.js.map +1 -0
  118. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  119. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +5 -0
  120. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  121. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  122. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +1 -0
  123. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  124. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  125. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +1 -0
  126. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  127. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  128. package/src/lib/navigation/toolbar/tng-toolbar.js +1 -0
  129. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  130. package/src/lib/overlay/dialog/tng-dialog.d.ts +158 -0
  131. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -0
  132. package/src/lib/overlay/dialog/tng-dialog.js +854 -0
  133. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -0
  134. package/src/lib/overlay/popover/tng-popover.d.ts +121 -0
  135. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -0
  136. package/src/lib/overlay/popover/tng-popover.js +614 -0
  137. package/src/lib/overlay/popover/tng-popover.js.map +1 -0
  138. package/src/lib/overlay/tng-overlay-runtime.d.ts +11 -0
  139. package/src/lib/overlay/tng-overlay-runtime.d.ts.map +1 -0
  140. package/src/lib/overlay/tng-overlay-runtime.js +6 -0
  141. package/src/lib/overlay/tng-overlay-runtime.js.map +1 -0
  142. package/src/lib/overlay/tooltip/tng-tooltip.d.ts +92 -3
  143. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  144. package/src/lib/overlay/tooltip/tng-tooltip.js +477 -3
  145. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  146. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  147. package/src/lib/utility/avatar/tng-avatar.js +3 -0
  148. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  149. package/src/lib/utility/badge/tng-badge.d.ts +6 -0
  150. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  151. package/src/lib/utility/badge/tng-badge.js +66 -0
  152. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  153. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  154. package/src/lib/utility/code-block/tng-code-block.js +5 -0
  155. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  156. package/src/lib/utility/copy/tng-copy.d.ts +21 -10
  157. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  158. package/src/lib/utility/copy/tng-copy.js +118 -88
  159. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  160. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  161. package/src/lib/utility/press/tng-press.js +1 -0
  162. package/src/lib/utility/press/tng-press.js.map +1 -1
  163. package/src/lib/utility/tag/tng-tag.d.ts +37 -0
  164. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  165. package/src/lib/utility/tag/tng-tag.js +198 -1
  166. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tng-accordion.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/accordion/tng-accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\n\nexport type TngAccordionType = 'single' | 'multiple';\nexport type TngAccordionValue = string | number;\nexport type TngAccordionTriggerSource = 'pointer' | 'keyboard' | 'programmatic';\n\nexport type TngAccordionExpandedChangeEvent = Readonly<{\n value: TngAccordionValue;\n expanded: boolean;\n previousValues: readonly TngAccordionValue[];\n values: readonly TngAccordionValue[];\n trigger: TngAccordionTriggerSource;\n}>;\n\ntype TngAccordionNavigationAction = 'next' | 'prev' | 'first' | 'last';\n\nconst createAccordionItemValue = createTngIdFactory('tng-accordion-item');\nconst createAccordionTriggerId = createTngIdFactory('tng-accordion-trigger');\nconst createAccordionPanelId = createTngIdFactory('tng-accordion-panel');\n\nlet nextAccordionItemRegistrationOrder = 0;\n\nfunction normalizeBooleanInput(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === '' || normalized === 'true') {\n return true;\n }\n\n if (normalized === 'false') {\n return false;\n }\n }\n\n return false;\n}\n\nfunction normalizeAccordionType(value: unknown): TngAccordionType {\n return value === 'multiple' ? 'multiple' : 'single';\n}\n\nfunction normalizeAccordionValue(value: unknown): TngAccordionValue {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return String(value);\n}\n\nfunction normalizeOptionalAccordionValue(value: unknown): TngAccordionValue | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction normalizeAccordionValueInput(\n value: unknown,\n): TngAccordionValue | readonly TngAccordionValue[] | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((entry) => normalizeAccordionValue(entry));\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction compareAccordionItemsByDomPosition(a: TngAccordionItem, b: TngAccordionItem): number {\n const aElement = a.getHostElement();\n const bElement = b.getHostElement();\n\n if (aElement === bElement) {\n return a.getRegistrationOrder() - b.getRegistrationOrder();\n }\n\n const relativePosition = aElement.compareDocumentPosition(bElement);\n if (relativePosition & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1;\n }\n\n if (relativePosition & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1;\n }\n\n return a.getRegistrationOrder() - b.getRegistrationOrder();\n}\n\nfunction toSet(values: readonly TngAccordionValue[]): Set<TngAccordionValue> {\n return new Set(values);\n}\n\nfunction setsEqual(a: ReadonlySet<TngAccordionValue>, b: ReadonlySet<TngAccordionValue>): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n for (const value of a) {\n if (!b.has(value)) {\n return false;\n }\n }\n\n return true;\n}\n\n@Directive({\n selector: '[tngAccordion]',\n exportAs: 'tngAccordion',\n standalone: true,\n})\nexport class TngAccordion {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly items = new Set<TngAccordionItem>();\n private uncontrolledValues = new Set<TngAccordionValue>();\n private focusedValue: TngAccordionValue | null = null;\n private initialized = false;\n private lastType: TngAccordionType = 'single';\n private defaultValuesSnapshot: readonly TngAccordionValue[] = [];\n private hasUserInteraction = false;\n\n readonly type = input<TngAccordionType, unknown>('single', {\n transform: normalizeAccordionType,\n });\n readonly value = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly defaultValue = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly collapsible = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly loop = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly lazy = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly keepAlive = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n\n readonly valueChange = output<TngAccordionValue | readonly TngAccordionValue[] | null>();\n readonly valuesChange = output<readonly TngAccordionValue[]>();\n readonly expandedChange = output<TngAccordionExpandedChangeEvent>();\n readonly openStart = output<TngAccordionValue>();\n readonly opened = output<TngAccordionValue>();\n readonly closeStart = output<TngAccordionValue>();\n readonly closed = output<TngAccordionValue>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion' as const;\n\n @HostBinding('attr.data-type')\n protected get dataType(): TngAccordionType {\n return this.type();\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngDoCheck(): void {\n this.syncStateFromInputs('check');\n }\n\n ngOnDestroy(): void {\n this.items.clear();\n }\n\n registerItem(item: TngAccordionItem): void {\n this.items.add(item);\n this.syncStateFromInputs('registration');\n }\n\n unregisterItem(item: TngAccordionItem): void {\n const wasExpanded = this.getEffectiveValueSet().has(item.getValue());\n const removedValue = item.getValue();\n this.items.delete(item);\n\n if (wasExpanded && !this.isControlled()) {\n const next = new Set(this.uncontrolledValues);\n next.delete(removedValue);\n this.uncontrolledValues = next;\n }\n\n if (this.focusedValue !== null && this.focusedValue === removedValue) {\n this.focusedValue = null;\n }\n\n this.syncStateFromInputs('check');\n }\n\n notifyItemMutated(): void {\n this.syncStateFromInputs('check');\n }\n\n isItemExpanded(item: TngAccordionItem): boolean {\n return this.getEffectiveValueSet().has(item.getValue());\n }\n\n isItemDisabled(item: TngAccordionItem): boolean {\n return this.disabled() || item.disabled();\n }\n\n getTriggerTabIndex(item: TngAccordionItem): string {\n if (this.isItemDisabled(item)) {\n return '-1';\n }\n\n const focusableItem = this.resolveCurrentFocusableItem();\n if (focusableItem === null) {\n return '-1';\n }\n\n return focusableItem === item ? '0' : '-1';\n }\n\n onTriggerFocused(item: TngAccordionItem): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n this.focusedValue = item.getValue();\n }\n\n onTriggerClicked(item: TngAccordionItem): void {\n this.requestToggle(item, 'pointer');\n }\n\n onTriggerKeydown(item: TngAccordionItem, event: KeyboardEvent): void {\n if (this.isItemDisabled(item) || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.preventDefault();\n this.requestToggle(item, 'keyboard');\n return;\n }\n\n const action = this.resolveNavigationAction(event.key);\n if (action === null) {\n return;\n }\n\n if (this.moveFocus(item, action)) {\n event.preventDefault();\n }\n }\n\n isPanelMounted(item: TngAccordionItem): boolean {\n if (this.isItemExpanded(item)) {\n item.markExpandedOnce();\n return true;\n }\n\n if (!this.keepAlive()) {\n return false;\n }\n\n if (!this.lazy()) {\n return true;\n }\n\n return item.hasExpandedOnce();\n }\n\n open(value: TngAccordionValue): void {\n this.requestSetExpanded(value, true, 'programmatic');\n }\n\n close(value: TngAccordionValue): void {\n this.requestSetExpanded(value, false, 'programmatic');\n }\n\n toggle(value: TngAccordionValue): void {\n const expanded = this.getEffectiveValueSet().has(value);\n this.requestSetExpanded(value, !expanded, 'programmatic');\n }\n\n getExpandedValues(): readonly TngAccordionValue[] {\n const effectiveSet = this.getEffectiveValueSet();\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => effectiveSet.has(value));\n }\n\n private requestSetExpanded(value: TngAccordionValue, nextExpanded: boolean, trigger: TngAccordionTriggerSource): void {\n const item = this.getOrderedItems().find((candidate) => candidate.getValue() === value) ?? null;\n if (item === null) {\n return;\n }\n\n if (this.isItemExpanded(item) === nextExpanded) {\n return;\n }\n\n this.requestToggle(item, trigger, nextExpanded);\n }\n\n private requestToggle(\n item: TngAccordionItem,\n trigger: TngAccordionTriggerSource,\n forcedExpanded?: boolean,\n ): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n const previous = this.getEffectiveValueSet();\n const next = new Set(previous);\n const itemValue = item.getValue();\n const currentlyExpanded = previous.has(itemValue);\n const shouldExpand = forcedExpanded ?? !currentlyExpanded;\n\n if (this.type() === 'single') {\n if (!shouldExpand && !this.collapsible()) {\n return;\n }\n\n next.clear();\n if (shouldExpand) {\n next.add(itemValue);\n }\n } else {\n if (shouldExpand) {\n next.add(itemValue);\n } else {\n next.delete(itemValue);\n }\n }\n\n if (setsEqual(previous, next)) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = next;\n }\n\n this.hasUserInteraction = true;\n this.focusedValue = itemValue;\n const previousValues = this.mapSetToOrderedValues(previous);\n const nextValues = this.mapSetToOrderedValues(next);\n const expanded = next.has(itemValue);\n this.emitSelectionOutputs(itemValue, expanded, previousValues, nextValues, trigger);\n this.syncStateFromInputs('check');\n }\n\n private emitSelectionOutputs(\n value: TngAccordionValue,\n expanded: boolean,\n previousValues: readonly TngAccordionValue[],\n values: readonly TngAccordionValue[],\n trigger: TngAccordionTriggerSource,\n ): void {\n if (expanded) {\n this.openStart.emit(value);\n } else {\n this.closeStart.emit(value);\n }\n\n if (this.type() === 'single') {\n const nextSingle = values[0] ?? null;\n this.valueChange.emit(nextSingle);\n } else {\n this.valueChange.emit(values);\n this.valuesChange.emit(values);\n }\n\n this.expandedChange.emit({\n value,\n expanded,\n previousValues,\n values,\n trigger,\n });\n\n if (expanded) {\n this.opened.emit(value);\n } else {\n this.closed.emit(value);\n }\n }\n\n private resolveNavigationAction(key: string): TngAccordionNavigationAction | null {\n if (key === 'ArrowDown') {\n return 'next';\n }\n\n if (key === 'ArrowUp') {\n return 'prev';\n }\n\n if (key === 'Home') {\n return 'first';\n }\n\n if (key === 'End') {\n return 'last';\n }\n\n return null;\n }\n\n private moveFocus(item: TngAccordionItem, action: TngAccordionNavigationAction): boolean {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return false;\n }\n\n const currentIndex = enabledItems.indexOf(item);\n if (currentIndex < 0) {\n return false;\n }\n\n let nextIndex = currentIndex;\n if (action === 'first') {\n nextIndex = 0;\n } else if (action === 'last') {\n nextIndex = enabledItems.length - 1;\n } else if (action === 'next') {\n if (currentIndex + 1 < enabledItems.length) {\n nextIndex = currentIndex + 1;\n } else if (this.loop()) {\n nextIndex = 0;\n } else {\n return false;\n }\n } else if (action === 'prev') {\n if (currentIndex - 1 >= 0) {\n nextIndex = currentIndex - 1;\n } else if (this.loop()) {\n nextIndex = enabledItems.length - 1;\n } else {\n return false;\n }\n }\n\n const target = enabledItems[nextIndex] ?? null;\n if (target === null || target === item) {\n return false;\n }\n\n target.focusTrigger();\n this.focusedValue = target.getValue();\n return true;\n }\n\n private syncStateFromInputs(source: 'check' | 'registration'): void {\n if (!this.initialized) {\n this.initialized = this.initializeUncontrolledState(source);\n if (!this.initialized) {\n return;\n }\n }\n\n const nextType = this.type();\n if (nextType !== this.lastType) {\n this.lastType = nextType;\n if (!this.isControlled() && nextType === 'single' && this.uncontrolledValues.size > 1) {\n const first = this.mapSetToOrderedValues(this.uncontrolledValues)[0];\n this.uncontrolledValues = first === undefined ? new Set() : new Set([first]);\n }\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = this.normalizeSetForCurrentItems(this.uncontrolledValues);\n\n if (!this.hasUserInteraction && this.defaultValuesSnapshot.length > 0) {\n const normalizedDefaultValues = this.normalizeSetForCurrentItems(toSet(this.defaultValuesSnapshot));\n if (!setsEqual(this.uncontrolledValues, normalizedDefaultValues)) {\n this.uncontrolledValues = normalizedDefaultValues;\n }\n }\n }\n\n this.ensureSingleModeNonCollapsibleSelection();\n this.ensureFocusedValueStillValid();\n }\n\n private initializeUncontrolledState(source: 'check' | 'registration'): boolean {\n if (this.isControlled()) {\n this.uncontrolledValues = new Set();\n return true;\n }\n\n if (this.items.size === 0) {\n this.uncontrolledValues = new Set();\n return false;\n }\n\n const defaultInput = this.defaultValue();\n const initialValues = this.normalizeValueInputToArray(defaultInput);\n this.defaultValuesSnapshot = initialValues;\n this.uncontrolledValues = this.normalizeSetForCurrentItems(toSet(initialValues));\n\n if (initialValues.length === 0) {\n return this.items.size > 0 || source === 'check';\n }\n\n const requiredValuesCount = new Set(initialValues).size;\n if (this.uncontrolledValues.size >= requiredValuesCount) {\n return true;\n }\n\n return source === 'check';\n }\n\n private ensureSingleModeNonCollapsibleSelection(): void {\n if (this.type() !== 'single' || this.collapsible()) {\n return;\n }\n\n const effectiveValues = this.getEffectiveValueSet();\n if (effectiveValues.size > 0) {\n return;\n }\n\n const firstEnabled = this.getEnabledItems()[0];\n if (firstEnabled === undefined) {\n return;\n }\n\n if (this.isControlled()) {\n return;\n }\n\n this.uncontrolledValues = new Set([firstEnabled.getValue()]);\n }\n\n private ensureFocusedValueStillValid(): void {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n this.focusedValue = null;\n return;\n }\n\n if (this.focusedValue !== null && enabledItems.some((item) => item.getValue() === this.focusedValue)) {\n return;\n }\n\n const expandedSet = this.getEffectiveValueSet();\n const expandedItem =\n enabledItems.find((item) => expandedSet.has(item.getValue())) ??\n null;\n this.focusedValue = expandedItem?.getValue() ?? enabledItems[0]?.getValue() ?? null;\n }\n\n private isControlled(): boolean {\n return this.value() !== undefined;\n }\n\n private getEffectiveValueSet(): ReadonlySet<TngAccordionValue> {\n if (!this.isControlled()) {\n return this.uncontrolledValues;\n }\n\n const controlledValues = toSet(this.normalizeValueInputToArray(this.value()));\n return this.normalizeSetForCurrentItems(controlledValues);\n }\n\n private normalizeSetForCurrentItems(values: ReadonlySet<TngAccordionValue>): Set<TngAccordionValue> {\n const availableValues = new Set(this.getOrderedItems().map((item) => item.getValue()));\n const normalized = new Set<TngAccordionValue>();\n\n for (const value of values) {\n if (availableValues.has(value)) {\n normalized.add(value);\n }\n }\n\n if (this.type() === 'single') {\n const first = this.mapSetToOrderedValues(normalized)[0];\n return first === undefined ? new Set() : new Set([first]);\n }\n\n return normalized;\n }\n\n private normalizeValueInputToArray(\n value: TngAccordionValue | readonly TngAccordionValue[] | null | undefined,\n ): readonly TngAccordionValue[] {\n if (value === undefined || value === null) {\n return [];\n }\n\n if (Array.isArray(value)) {\n return [...value];\n }\n\n return [value as TngAccordionValue];\n }\n\n private mapSetToOrderedValues(values: ReadonlySet<TngAccordionValue>): readonly TngAccordionValue[] {\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => values.has(value));\n }\n\n private getOrderedItems(): readonly TngAccordionItem[] {\n return Array.from(this.items).sort(compareAccordionItemsByDomPosition);\n }\n\n private getEnabledItems(): readonly TngAccordionItem[] {\n return this.getOrderedItems().filter((item) => !this.isItemDisabled(item));\n }\n\n private resolveCurrentFocusableItem(): TngAccordionItem | null {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return null;\n }\n\n if (this.focusedValue !== null) {\n const focusedItem = enabledItems.find((item) => item.getValue() === this.focusedValue) ?? null;\n if (focusedItem !== null) {\n return focusedItem;\n }\n }\n\n const expandedValues = this.getEffectiveValueSet();\n const expandedItem = enabledItems.find((item) => expandedValues.has(item.getValue())) ?? null;\n if (expandedItem !== null) {\n return expandedItem;\n }\n\n return enabledItems[0] ?? null;\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n}\n\n@Directive({\n selector: '[tngAccordionItem]',\n exportAs: 'tngAccordionItem',\n standalone: true,\n})\nexport class TngAccordionItem {\n private readonly root = inject(TngAccordion, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackValue = createAccordionItemValue();\n private readonly registrationOrder = nextAccordionItemRegistrationOrder++;\n private trigger: TngAccordionTrigger | null = null;\n private panel: TngAccordionPanel | null = null;\n private expandedOnce = false;\n\n readonly value = input<TngAccordionValue | undefined, unknown>(undefined, {\n transform: normalizeOptionalAccordionValue,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-item' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.root?.isItemExpanded(this) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.root?.registerItem(this);\n }\n\n ngDoCheck(): void {\n this.root?.notifyItemMutated();\n }\n\n ngOnDestroy(): void {\n this.root?.unregisterItem(this);\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n getRegistrationOrder(): number {\n return this.registrationOrder;\n }\n\n getValue(): TngAccordionValue {\n return this.value() ?? this.fallbackValue;\n }\n\n getAccordion(): TngAccordion | null {\n return this.root ?? null;\n }\n\n registerTrigger(trigger: TngAccordionTrigger): void {\n this.trigger = trigger;\n }\n\n unregisterTrigger(trigger: TngAccordionTrigger): void {\n if (this.trigger === trigger) {\n this.trigger = null;\n }\n }\n\n registerPanel(panel: TngAccordionPanel): void {\n this.panel = panel;\n }\n\n unregisterPanel(panel: TngAccordionPanel): void {\n if (this.panel === panel) {\n this.panel = null;\n }\n }\n\n focusTrigger(): void {\n this.trigger?.focusSelf();\n }\n\n getTriggerId(): string | null {\n return this.trigger?.getTriggerId() ?? null;\n }\n\n getPanelId(): string | null {\n return this.panel?.getPanelId() ?? null;\n }\n\n markExpandedOnce(): void {\n this.expandedOnce = true;\n }\n\n hasExpandedOnce(): boolean {\n return this.expandedOnce;\n }\n}\n\n@Directive({\n selector: '[tngAccordionTrigger]',\n exportAs: 'tngAccordionTrigger',\n standalone: true,\n})\nexport class TngAccordionTrigger {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackTriggerId =\n this.hostRef.nativeElement.getAttribute('id') ?? createAccordionTriggerId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-trigger' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolveTriggerId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'button' as const;\n\n @HostBinding('attr.type')\n protected get typeAttr(): 'button' | null {\n return this.hostRef.nativeElement instanceof HTMLButtonElement ? 'button' : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndexAttr(): string {\n if (this.item === null) {\n return this.hostRef.nativeElement.getAttribute('tabindex') ?? '0';\n }\n\n const root = this.item.getAccordion();\n return root?.getTriggerTabIndex(this.item) ?? '0';\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n return this.item?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n if (this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n if (!(this.hostRef.nativeElement instanceof HTMLButtonElement) || this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? '' : null;\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerTrigger(this);\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterTrigger(this);\n }\n\n getTriggerId(): string {\n return this.resolveTriggerId();\n }\n\n focusSelf(): void {\n this.hostRef.nativeElement.focus();\n }\n\n private resolveTriggerId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackTriggerId;\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerFocused(this.item);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n if (this.item === null) {\n return;\n }\n\n const accordion = this.item.getAccordion();\n if (accordion?.isItemDisabled(this.item)) {\n event.preventDefault();\n return;\n }\n\n accordion?.onTriggerClicked(this.item);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerKeydown(this.item, event);\n }\n}\n\n@Directive({\n selector: '[tngAccordionPanel]',\n exportAs: 'tngAccordionPanel',\n standalone: true,\n})\nexport class TngAccordionPanel {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackPanelId = this.hostRef.nativeElement.getAttribute('id') ?? createAccordionPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-panel' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvePanelId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'region' as const;\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledBy(): string | null {\n return this.item?.getTriggerId() ?? null;\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n if (this.item === null) {\n return '';\n }\n\n const accordion = this.item.getAccordion();\n if (accordion === null) {\n return '';\n }\n\n const isVisible = accordion.isItemExpanded(this.item) && accordion.isPanelMounted(this.item);\n return isVisible ? null : '';\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-mounted')\n protected get dataMounted(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isPanelMounted(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerPanel(this);\n }\n\n ngDoCheck(): void {\n if (this.item?.getAccordion()?.isItemExpanded(this.item)) {\n this.item.markExpandedOnce();\n }\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterPanel(this);\n }\n\n getPanelId(): string {\n return this.resolvePanelId();\n }\n\n private resolvePanelId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackPanelId;\n }\n}\n"]}
1
+ {"version":3,"file":"tng-accordion.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/accordion/tng-accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\n\nexport type TngAccordionType = 'single' | 'multiple';\nexport type TngAccordionValue = string | number;\nexport type TngAccordionTriggerSource = 'pointer' | 'keyboard' | 'programmatic';\n\nexport type TngAccordionExpandedChangeEvent = Readonly<{\n value: TngAccordionValue;\n expanded: boolean;\n previousValues: readonly TngAccordionValue[];\n values: readonly TngAccordionValue[];\n trigger: TngAccordionTriggerSource;\n}>;\n\ntype TngAccordionNavigationAction = 'next' | 'prev' | 'first' | 'last';\n\nconst createAccordionItemValue = createTngIdFactory('tng-accordion-item');\nconst createAccordionTriggerId = createTngIdFactory('tng-accordion-trigger');\nconst createAccordionPanelId = createTngIdFactory('tng-accordion-panel');\n\nlet nextAccordionItemRegistrationOrder = 0;\n\nfunction normalizeBooleanInput(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === '' || normalized === 'true') {\n return true;\n }\n\n if (normalized === 'false') {\n return false;\n }\n }\n\n return false;\n}\n\nfunction normalizeAccordionType(value: unknown): TngAccordionType {\n return value === 'multiple' ? 'multiple' : 'single';\n}\n\nfunction normalizeAccordionValue(value: unknown): TngAccordionValue {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return String(value);\n}\n\nfunction normalizeOptionalAccordionValue(value: unknown): TngAccordionValue | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction normalizeAccordionValueInput(\n value: unknown,\n): TngAccordionValue | readonly TngAccordionValue[] | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((entry) => normalizeAccordionValue(entry));\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction compareAccordionItemsByDomPosition(a: TngAccordionItem, b: TngAccordionItem): number {\n const aElement = a.getHostElement();\n const bElement = b.getHostElement();\n\n if (aElement === bElement) {\n return a.getRegistrationOrder() - b.getRegistrationOrder();\n }\n\n const relativePosition = aElement.compareDocumentPosition(bElement);\n if (relativePosition & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1;\n }\n\n if (relativePosition & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1;\n }\n\n return a.getRegistrationOrder() - b.getRegistrationOrder();\n}\n\nfunction toSet(values: readonly TngAccordionValue[]): Set<TngAccordionValue> {\n return new Set(values);\n}\n\nfunction setsEqual(a: ReadonlySet<TngAccordionValue>, b: ReadonlySet<TngAccordionValue>): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n for (const value of a) {\n if (!b.has(value)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction compareElementsByDomPosition(a: HTMLElement, b: HTMLElement): number {\n if (a === b) {\n return 0;\n }\n\n const relativePosition = a.compareDocumentPosition(b);\n if (relativePosition & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1;\n }\n\n if (relativePosition & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1;\n }\n\n return 0;\n}\n\n@Directive({\n selector: '[tngAccordion]',\n exportAs: 'tngAccordion',\n standalone: true,\n})\nexport class TngAccordion {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly items = new Set<TngAccordionItem>();\n private uncontrolledValues = new Set<TngAccordionValue>();\n private focusedValue: TngAccordionValue | null = null;\n private initialized = false;\n private lastType: TngAccordionType = 'single';\n private defaultValuesSnapshot: readonly TngAccordionValue[] = [];\n private hasUserInteraction = false;\n\n readonly type = input<TngAccordionType, unknown>('single', {\n transform: normalizeAccordionType,\n });\n readonly value = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly defaultValue = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly collapsible = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly loop = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly lazy = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly keepAlive = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n\n readonly valueChange = output<TngAccordionValue | readonly TngAccordionValue[] | null>();\n readonly valuesChange = output<readonly TngAccordionValue[]>();\n readonly expandedChange = output<TngAccordionExpandedChangeEvent>();\n readonly openStart = output<TngAccordionValue>();\n readonly opened = output<TngAccordionValue>();\n readonly closeStart = output<TngAccordionValue>();\n readonly closed = output<TngAccordionValue>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion' as const;\n\n @HostBinding('attr.data-type')\n protected get dataType(): TngAccordionType {\n return this.type();\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngDoCheck(): void {\n this.syncStateFromInputs('check');\n }\n\n @HostListener('keydown', ['$event'])\n protected onHostKeydown(event: KeyboardEvent): void {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n const eventTarget = event.target;\n if (!(eventTarget instanceof HTMLElement)) {\n return;\n }\n\n if (!this.getHostElement().contains(eventTarget)) {\n return;\n }\n\n if (this.onTabWithinAccordion(eventTarget, event.shiftKey)) {\n event.preventDefault();\n }\n }\n\n ngOnDestroy(): void {\n this.items.clear();\n }\n\n registerItem(item: TngAccordionItem): void {\n this.items.add(item);\n this.syncStateFromInputs('registration');\n }\n\n unregisterItem(item: TngAccordionItem): void {\n const wasExpanded = this.getEffectiveValueSet().has(item.getValue());\n const removedValue = item.getValue();\n this.items.delete(item);\n\n if (wasExpanded && !this.isControlled()) {\n const next = new Set(this.uncontrolledValues);\n next.delete(removedValue);\n this.uncontrolledValues = next;\n }\n\n if (this.focusedValue !== null && this.focusedValue === removedValue) {\n this.focusedValue = null;\n }\n\n this.syncStateFromInputs('check');\n }\n\n notifyItemMutated(): void {\n this.syncStateFromInputs('check');\n }\n\n isItemExpanded(item: TngAccordionItem): boolean {\n return this.getEffectiveValueSet().has(item.getValue());\n }\n\n isItemDisabled(item: TngAccordionItem): boolean {\n return this.disabled() || item.disabled();\n }\n\n getTriggerTabIndex(item: TngAccordionItem): string {\n if (this.isItemDisabled(item)) {\n return '-1';\n }\n\n const focusableItem = this.resolveCurrentFocusableItem();\n if (focusableItem === null) {\n return '-1';\n }\n\n return focusableItem === item ? '0' : '-1';\n }\n\n onTriggerFocused(item: TngAccordionItem): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n this.focusedValue = item.getValue();\n }\n\n onTriggerClicked(item: TngAccordionItem): void {\n this.requestToggle(item, 'pointer');\n }\n\n onTriggerKeydown(item: TngAccordionItem, event: KeyboardEvent): void {\n if (this.isItemDisabled(item) || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.preventDefault();\n this.requestToggle(item, 'keyboard');\n return;\n }\n\n const action = this.resolveNavigationAction(event.key);\n if (action === null) {\n return;\n }\n\n if (this.moveFocus(item, action)) {\n event.preventDefault();\n }\n }\n\n onTabWithinAccordion(source: HTMLElement, shiftKey: boolean): boolean {\n if (!this.shouldHandleCustomTabNavigation()) {\n return false;\n }\n\n const sequence = this.getCustomTabSequence();\n if (sequence.length === 0) {\n return false;\n }\n\n const currentIndex = this.findSequenceIndex(sequence, source);\n if (currentIndex < 0) {\n return false;\n }\n\n const nextIndex = shiftKey ? currentIndex - 1 : currentIndex + 1;\n const target = sequence[nextIndex] ?? null;\n if (target === null) {\n return false;\n }\n\n target.focus();\n return true;\n }\n\n isPanelMounted(item: TngAccordionItem): boolean {\n if (this.isItemExpanded(item)) {\n item.markExpandedOnce();\n return true;\n }\n\n if (!this.keepAlive()) {\n return false;\n }\n\n if (!this.lazy()) {\n return true;\n }\n\n return item.hasExpandedOnce();\n }\n\n open(value: TngAccordionValue): void {\n this.requestSetExpanded(value, true, 'programmatic');\n }\n\n close(value: TngAccordionValue): void {\n this.requestSetExpanded(value, false, 'programmatic');\n }\n\n toggle(value: TngAccordionValue): void {\n const expanded = this.getEffectiveValueSet().has(value);\n this.requestSetExpanded(value, !expanded, 'programmatic');\n }\n\n getExpandedValues(): readonly TngAccordionValue[] {\n const effectiveSet = this.getEffectiveValueSet();\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => effectiveSet.has(value));\n }\n\n private requestSetExpanded(value: TngAccordionValue, nextExpanded: boolean, trigger: TngAccordionTriggerSource): void {\n const item = this.getOrderedItems().find((candidate) => candidate.getValue() === value) ?? null;\n if (item === null) {\n return;\n }\n\n if (this.isItemExpanded(item) === nextExpanded) {\n return;\n }\n\n this.requestToggle(item, trigger, nextExpanded);\n }\n\n private requestToggle(\n item: TngAccordionItem,\n trigger: TngAccordionTriggerSource,\n forcedExpanded?: boolean,\n ): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n const previous = this.getEffectiveValueSet();\n const next = new Set(previous);\n const itemValue = item.getValue();\n const currentlyExpanded = previous.has(itemValue);\n const shouldExpand = forcedExpanded ?? !currentlyExpanded;\n\n if (this.type() === 'single') {\n if (!shouldExpand && !this.collapsible()) {\n return;\n }\n\n next.clear();\n if (shouldExpand) {\n next.add(itemValue);\n }\n } else {\n if (shouldExpand) {\n next.add(itemValue);\n } else {\n next.delete(itemValue);\n }\n }\n\n if (setsEqual(previous, next)) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = next;\n }\n\n this.hasUserInteraction = true;\n this.focusedValue = itemValue;\n const previousValues = this.mapSetToOrderedValues(previous);\n const nextValues = this.mapSetToOrderedValues(next);\n const expanded = next.has(itemValue);\n this.emitSelectionOutputs(itemValue, expanded, previousValues, nextValues, trigger);\n this.syncStateFromInputs('check');\n }\n\n private emitSelectionOutputs(\n value: TngAccordionValue,\n expanded: boolean,\n previousValues: readonly TngAccordionValue[],\n values: readonly TngAccordionValue[],\n trigger: TngAccordionTriggerSource,\n ): void {\n if (expanded) {\n this.openStart.emit(value);\n } else {\n this.closeStart.emit(value);\n }\n\n if (this.type() === 'single') {\n const nextSingle = values[0] ?? null;\n this.valueChange.emit(nextSingle);\n } else {\n this.valueChange.emit(values);\n this.valuesChange.emit(values);\n }\n\n this.expandedChange.emit({\n value,\n expanded,\n previousValues,\n values,\n trigger,\n });\n\n if (expanded) {\n this.opened.emit(value);\n } else {\n this.closed.emit(value);\n }\n }\n\n private resolveNavigationAction(key: string): TngAccordionNavigationAction | null {\n if (key === 'ArrowDown') {\n return 'next';\n }\n\n if (key === 'ArrowUp') {\n return 'prev';\n }\n\n if (key === 'Home') {\n return 'first';\n }\n\n if (key === 'End') {\n return 'last';\n }\n\n return null;\n }\n\n private moveFocus(item: TngAccordionItem, action: TngAccordionNavigationAction): boolean {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return false;\n }\n\n const currentIndex = enabledItems.indexOf(item);\n if (currentIndex < 0) {\n return false;\n }\n\n let nextIndex = currentIndex;\n if (action === 'first') {\n nextIndex = 0;\n } else if (action === 'last') {\n nextIndex = enabledItems.length - 1;\n } else if (action === 'next') {\n if (currentIndex + 1 < enabledItems.length) {\n nextIndex = currentIndex + 1;\n } else if (this.loop()) {\n nextIndex = 0;\n } else {\n return false;\n }\n } else if (action === 'prev') {\n if (currentIndex - 1 >= 0) {\n nextIndex = currentIndex - 1;\n } else if (this.loop()) {\n nextIndex = enabledItems.length - 1;\n } else {\n return false;\n }\n }\n\n const target = enabledItems[nextIndex] ?? null;\n if (target === null || target === item) {\n return false;\n }\n\n target.focusTrigger();\n this.focusedValue = target.getValue();\n return true;\n }\n\n private syncStateFromInputs(source: 'check' | 'registration'): void {\n if (!this.initialized) {\n this.initialized = this.initializeUncontrolledState(source);\n if (!this.initialized) {\n return;\n }\n }\n\n const nextType = this.type();\n if (nextType !== this.lastType) {\n this.lastType = nextType;\n if (!this.isControlled() && nextType === 'single' && this.uncontrolledValues.size > 1) {\n const first = this.mapSetToOrderedValues(this.uncontrolledValues)[0];\n this.uncontrolledValues = first === undefined ? new Set() : new Set([first]);\n }\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = this.normalizeSetForCurrentItems(this.uncontrolledValues);\n\n if (!this.hasUserInteraction && this.defaultValuesSnapshot.length > 0) {\n const normalizedDefaultValues = this.normalizeSetForCurrentItems(toSet(this.defaultValuesSnapshot));\n if (!setsEqual(this.uncontrolledValues, normalizedDefaultValues)) {\n this.uncontrolledValues = normalizedDefaultValues;\n }\n }\n }\n\n this.ensureSingleModeNonCollapsibleSelection();\n this.ensureFocusedValueStillValid();\n }\n\n private initializeUncontrolledState(source: 'check' | 'registration'): boolean {\n if (this.isControlled()) {\n this.uncontrolledValues = new Set();\n return true;\n }\n\n if (this.items.size === 0) {\n this.uncontrolledValues = new Set();\n return false;\n }\n\n const defaultInput = this.defaultValue();\n const initialValues = this.normalizeValueInputToArray(defaultInput);\n this.defaultValuesSnapshot = initialValues;\n this.uncontrolledValues = this.normalizeSetForCurrentItems(toSet(initialValues));\n\n if (initialValues.length === 0) {\n return this.items.size > 0 || source === 'check';\n }\n\n const requiredValuesCount = new Set(initialValues).size;\n if (this.uncontrolledValues.size >= requiredValuesCount) {\n return true;\n }\n\n return source === 'check';\n }\n\n private ensureSingleModeNonCollapsibleSelection(): void {\n if (this.type() !== 'single' || this.collapsible()) {\n return;\n }\n\n const effectiveValues = this.getEffectiveValueSet();\n if (effectiveValues.size > 0) {\n return;\n }\n\n const firstEnabled = this.getEnabledItems()[0];\n if (firstEnabled === undefined) {\n return;\n }\n\n if (this.isControlled()) {\n return;\n }\n\n this.uncontrolledValues = new Set([firstEnabled.getValue()]);\n }\n\n private ensureFocusedValueStillValid(): void {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n this.focusedValue = null;\n return;\n }\n\n if (this.focusedValue !== null && enabledItems.some((item) => item.getValue() === this.focusedValue)) {\n return;\n }\n\n const expandedSet = this.getEffectiveValueSet();\n const expandedItem =\n enabledItems.find((item) => expandedSet.has(item.getValue())) ??\n null;\n this.focusedValue = expandedItem?.getValue() ?? enabledItems[0]?.getValue() ?? null;\n }\n\n private isControlled(): boolean {\n return this.value() !== undefined;\n }\n\n private getEffectiveValueSet(): ReadonlySet<TngAccordionValue> {\n if (!this.isControlled()) {\n return this.uncontrolledValues;\n }\n\n const controlledValues = toSet(this.normalizeValueInputToArray(this.value()));\n return this.normalizeSetForCurrentItems(controlledValues);\n }\n\n private normalizeSetForCurrentItems(values: ReadonlySet<TngAccordionValue>): Set<TngAccordionValue> {\n const availableValues = new Set(this.getOrderedItems().map((item) => item.getValue()));\n const normalized = new Set<TngAccordionValue>();\n\n for (const value of values) {\n if (availableValues.has(value)) {\n normalized.add(value);\n }\n }\n\n if (this.type() === 'single') {\n const first = this.mapSetToOrderedValues(normalized)[0];\n return first === undefined ? new Set() : new Set([first]);\n }\n\n return normalized;\n }\n\n private normalizeValueInputToArray(\n value: TngAccordionValue | readonly TngAccordionValue[] | null | undefined,\n ): readonly TngAccordionValue[] {\n if (value === undefined || value === null) {\n return [];\n }\n\n if (Array.isArray(value)) {\n return [...value];\n }\n\n return [value as TngAccordionValue];\n }\n\n private mapSetToOrderedValues(values: ReadonlySet<TngAccordionValue>): readonly TngAccordionValue[] {\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => values.has(value));\n }\n\n private getOrderedItems(): readonly TngAccordionItem[] {\n return Array.from(this.items).sort(compareAccordionItemsByDomPosition);\n }\n\n private getEnabledItems(): readonly TngAccordionItem[] {\n return this.getOrderedItems().filter((item) => !this.isItemDisabled(item));\n }\n\n private shouldHandleCustomTabNavigation(): boolean {\n return this.getEnabledItems().some((item) => {\n const triggerElement = item.getTriggerElement();\n return triggerElement !== null && !(triggerElement instanceof HTMLButtonElement);\n });\n }\n\n private getCustomTabSequence(): readonly HTMLElement[] {\n const host = this.getHostElement();\n const sequence = new Set<HTMLElement>();\n\n for (const item of this.getEnabledItems()) {\n const triggerElement = item.getTriggerElement();\n if (triggerElement === null || this.isInHiddenSubtree(triggerElement)) {\n continue;\n }\n sequence.add(triggerElement);\n }\n\n const candidates = host.querySelectorAll<HTMLElement>(\n 'a[href],area[href],button,input,select,textarea,[tabindex],[contenteditable=\"true\"]',\n );\n\n for (let index = 0; index < candidates.length; index += 1) {\n const candidate = candidates.item(index);\n if (candidate === null) {\n continue;\n }\n\n if (!host.contains(candidate) || this.isInHiddenSubtree(candidate) || !this.isNaturallyTabbable(candidate)) {\n continue;\n }\n sequence.add(candidate);\n }\n\n return Array.from(sequence).sort(compareElementsByDomPosition);\n }\n\n private findSequenceIndex(sequence: readonly HTMLElement[], source: HTMLElement): number {\n const directIndex = sequence.indexOf(source);\n if (directIndex >= 0) {\n return directIndex;\n }\n\n return sequence.findIndex((candidate) => candidate.contains(source));\n }\n\n private isInHiddenSubtree(element: HTMLElement): boolean {\n return element.closest('[hidden]') !== null;\n }\n\n private isNaturallyTabbable(element: HTMLElement): boolean {\n if (element.hasAttribute('disabled')) {\n return false;\n }\n\n const tabIndexAttr = element.getAttribute('tabindex');\n if (tabIndexAttr !== null) {\n const parsed = Number(tabIndexAttr);\n return Number.isFinite(parsed) && parsed >= 0;\n }\n\n if (element instanceof HTMLAnchorElement || element instanceof HTMLAreaElement) {\n return element.hasAttribute('href');\n }\n\n return (\n element instanceof HTMLButtonElement ||\n element instanceof HTMLInputElement ||\n element instanceof HTMLSelectElement ||\n element instanceof HTMLTextAreaElement\n );\n }\n\n private resolveCurrentFocusableItem(): TngAccordionItem | null {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return null;\n }\n\n if (this.focusedValue !== null) {\n const focusedItem = enabledItems.find((item) => item.getValue() === this.focusedValue) ?? null;\n if (focusedItem !== null) {\n return focusedItem;\n }\n }\n\n const expandedValues = this.getEffectiveValueSet();\n const expandedItem = enabledItems.find((item) => expandedValues.has(item.getValue())) ?? null;\n if (expandedItem !== null) {\n return expandedItem;\n }\n\n return enabledItems[0] ?? null;\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n}\n\n@Directive({\n selector: '[tngAccordionItem]',\n exportAs: 'tngAccordionItem',\n standalone: true,\n})\nexport class TngAccordionItem {\n private readonly root = inject(TngAccordion, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackValue = createAccordionItemValue();\n private readonly registrationOrder = nextAccordionItemRegistrationOrder++;\n private trigger: TngAccordionTrigger | null = null;\n private panel: TngAccordionPanel | null = null;\n private expandedOnce = false;\n\n readonly value = input<TngAccordionValue | undefined, unknown>(undefined, {\n transform: normalizeOptionalAccordionValue,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-item' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.root?.isItemExpanded(this) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.root?.registerItem(this);\n }\n\n ngDoCheck(): void {\n this.root?.notifyItemMutated();\n }\n\n ngOnDestroy(): void {\n this.root?.unregisterItem(this);\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n getRegistrationOrder(): number {\n return this.registrationOrder;\n }\n\n getValue(): TngAccordionValue {\n return this.value() ?? this.fallbackValue;\n }\n\n getAccordion(): TngAccordion | null {\n return this.root ?? null;\n }\n\n registerTrigger(trigger: TngAccordionTrigger): void {\n this.trigger = trigger;\n }\n\n unregisterTrigger(trigger: TngAccordionTrigger): void {\n if (this.trigger === trigger) {\n this.trigger = null;\n }\n }\n\n registerPanel(panel: TngAccordionPanel): void {\n this.panel = panel;\n }\n\n unregisterPanel(panel: TngAccordionPanel): void {\n if (this.panel === panel) {\n this.panel = null;\n }\n }\n\n focusTrigger(): void {\n this.trigger?.focusSelf();\n }\n\n getTriggerId(): string | null {\n return this.trigger?.getTriggerId() ?? null;\n }\n\n getTriggerElement(): HTMLElement | null {\n return this.trigger?.getHostElement() ?? null;\n }\n\n getPanelId(): string | null {\n return this.panel?.getPanelId() ?? null;\n }\n\n markExpandedOnce(): void {\n this.expandedOnce = true;\n }\n\n hasExpandedOnce(): boolean {\n return this.expandedOnce;\n }\n}\n\n@Directive({\n selector: '[tngAccordionTrigger]',\n exportAs: 'tngAccordionTrigger',\n standalone: true,\n})\nexport class TngAccordionTrigger {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackTriggerId =\n this.hostRef.nativeElement.getAttribute('id') ?? createAccordionTriggerId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-trigger' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolveTriggerId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'button' as const;\n\n @HostBinding('attr.type')\n protected get typeAttr(): 'button' | null {\n return this.hostRef.nativeElement instanceof HTMLButtonElement ? 'button' : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndexAttr(): string {\n if (this.item === null) {\n return this.hostRef.nativeElement.getAttribute('tabindex') ?? '0';\n }\n\n const root = this.item.getAccordion();\n return root?.getTriggerTabIndex(this.item) ?? '0';\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n return this.item?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n if (this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n if (!(this.hostRef.nativeElement instanceof HTMLButtonElement) || this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? '' : null;\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerTrigger(this);\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterTrigger(this);\n }\n\n getTriggerId(): string {\n return this.resolveTriggerId();\n }\n\n focusSelf(): void {\n this.hostRef.nativeElement.focus();\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n private resolveTriggerId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackTriggerId;\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerFocused(this.item);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n if (this.item === null) {\n return;\n }\n\n const accordion = this.item.getAccordion();\n if (accordion?.isItemDisabled(this.item)) {\n event.preventDefault();\n return;\n }\n\n accordion?.onTriggerClicked(this.item);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerKeydown(this.item, event);\n }\n}\n\n@Directive({\n selector: '[tngAccordionPanel]',\n exportAs: 'tngAccordionPanel',\n standalone: true,\n})\nexport class TngAccordionPanel {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackPanelId = this.hostRef.nativeElement.getAttribute('id') ?? createAccordionPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-panel' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvePanelId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'region' as const;\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledBy(): string | null {\n return this.item?.getTriggerId() ?? null;\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n if (this.item === null) {\n return '';\n }\n\n const accordion = this.item.getAccordion();\n if (accordion === null) {\n return '';\n }\n\n const isVisible = accordion.isItemExpanded(this.item) && accordion.isPanelMounted(this.item);\n return isVisible ? null : '';\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-mounted')\n protected get dataMounted(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isPanelMounted(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerPanel(this);\n }\n\n ngDoCheck(): void {\n if (this.item?.getAccordion()?.isItemExpanded(this.item)) {\n this.item.markExpandedOnce();\n }\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterPanel(this);\n }\n\n getPanelId(): string {\n return this.resolvePanelId();\n }\n\n private resolvePanelId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackPanelId;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":"AAEA,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD"}
1
+ {"version":3,"file":"tng-bottom-sheet.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":"AAEA,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD"}
@@ -10,6 +10,7 @@ TngBottomSheet = __decorate([
10
10
  Directive({
11
11
  selector: '[tngBottomSheet]',
12
12
  exportAs: 'tngBottomSheet',
13
+ standalone: true,
13
14
  })
14
15
  ], TngBottomSheet);
15
16
  export { TngBottomSheet };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-bottom-sheet.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBottomSheet]',\n exportAs: 'tngBottomSheet',\n})\nexport class TngBottomSheet {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'bottom-sheet' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-bottom-sheet.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAL1B,SAAS,CAAC;QACT,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBottomSheet]',\n exportAs: 'tngBottomSheet',\n standalone: true,\n})\nexport class TngBottomSheet {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'bottom-sheet' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;CAC3D;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;CACpD"}
1
+ {"version":3,"file":"tng-card.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAEA,qBAKa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAKa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;CAC3D;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAKa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;CACpD"}
@@ -10,6 +10,7 @@ TngCard = __decorate([
10
10
  Directive({
11
11
  selector: '[tngCard]',
12
12
  exportAs: 'tngCard',
13
+ standalone: true,
13
14
  })
14
15
  ], TngCard);
15
16
  export { TngCard };
@@ -23,6 +24,7 @@ TngCardHeader = __decorate([
23
24
  Directive({
24
25
  selector: '[tngCardHeader]',
25
26
  exportAs: 'tngCardHeader',
27
+ standalone: true,
26
28
  })
27
29
  ], TngCardHeader);
28
30
  export { TngCardHeader };
@@ -36,6 +38,7 @@ TngCardTitle = __decorate([
36
38
  Directive({
37
39
  selector: '[tngCardTitle]',
38
40
  exportAs: 'tngCardTitle',
41
+ standalone: true,
39
42
  })
40
43
  ], TngCardTitle);
41
44
  export { TngCardTitle };
@@ -49,6 +52,7 @@ TngCardDescription = __decorate([
49
52
  Directive({
50
53
  selector: '[tngCardDescription]',
51
54
  exportAs: 'tngCardDescription',
55
+ standalone: true,
52
56
  })
53
57
  ], TngCardDescription);
54
58
  export { TngCardDescription };
@@ -62,6 +66,7 @@ TngCardContent = __decorate([
62
66
  Directive({
63
67
  selector: '[tngCardContent]',
64
68
  exportAs: 'tngCardContent',
69
+ standalone: true,
65
70
  })
66
71
  ], TngCardContent);
67
72
  export { TngCardContent };
@@ -75,6 +80,7 @@ TngCardFooter = __decorate([
75
80
  Directive({
76
81
  selector: '[tngCardFooter]',
77
82
  exportAs: 'tngCardFooter',
83
+ standalone: true,
78
84
  })
79
85
  ], TngCardFooter);
80
86
  export { TngCardFooter };
@@ -88,6 +94,7 @@ TngCardMedia = __decorate([
88
94
  Directive({
89
95
  selector: '[tngCardMedia]',
90
96
  exportAs: 'tngCardMedia',
97
+ standalone: true,
91
98
  })
92
99
  ], TngCardMedia);
93
100
  export { TngCardMedia };
@@ -101,6 +108,7 @@ TngCardActions = __decorate([
101
108
  Directive({
102
109
  selector: '[tngCardActions]',
103
110
  exportAs: 'tngCardActions',
111
+ standalone: true,
104
112
  })
105
113
  ], TngCardActions);
106
114
  export { TngCardActions };
@@ -114,6 +122,7 @@ TngCardDivider = __decorate([
114
122
  Directive({
115
123
  selector: '[tngCardDivider]',
116
124
  exportAs: 'tngCardDivider',
125
+ standalone: true,
117
126
  })
118
127
  ], TngCardDivider);
119
128
  export { TngCardDivider };
@@ -127,6 +136,7 @@ TngCardLink = __decorate([
127
136
  Directive({
128
137
  selector: '[tngCardLink]',
129
138
  exportAs: 'tngCardLink',
139
+ standalone: true,
130
140
  })
131
141
  ], TngCardLink);
132
142
  export { TngCardLink };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCard]',\n exportAs: 'tngCard',\n})\nexport class TngCard {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card' as const;\n}\n\n@Directive({\n selector: '[tngCardHeader]',\n exportAs: 'tngCardHeader',\n})\nexport class TngCardHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-header' as const;\n}\n\n@Directive({\n selector: '[tngCardTitle]',\n exportAs: 'tngCardTitle',\n})\nexport class TngCardTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-title' as const;\n}\n\n@Directive({\n selector: '[tngCardDescription]',\n exportAs: 'tngCardDescription',\n})\nexport class TngCardDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-description' as const;\n}\n\n@Directive({\n selector: '[tngCardContent]',\n exportAs: 'tngCardContent',\n})\nexport class TngCardContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-content' as const;\n}\n\n@Directive({\n selector: '[tngCardFooter]',\n exportAs: 'tngCardFooter',\n})\nexport class TngCardFooter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-footer' as const;\n}\n\n@Directive({\n selector: '[tngCardMedia]',\n exportAs: 'tngCardMedia',\n})\nexport class TngCardMedia {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-media' as const;\n}\n\n@Directive({\n selector: '[tngCardActions]',\n exportAs: 'tngCardActions',\n})\nexport class TngCardActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-actions' as const;\n}\n\n@Directive({\n selector: '[tngCardDivider]',\n exportAs: 'tngCardDivider',\n})\nexport class TngCardDivider {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-divider' as const;\n}\n\n@Directive({\n selector: '[tngCardLink]',\n exportAs: 'tngCardLink',\n})\nexport class TngCardLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-link' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCard]',\n exportAs: 'tngCard',\n standalone: true,\n})\nexport class TngCard {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card' as const;\n}\n\n@Directive({\n selector: '[tngCardHeader]',\n exportAs: 'tngCardHeader',\n standalone: true,\n})\nexport class TngCardHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-header' as const;\n}\n\n@Directive({\n selector: '[tngCardTitle]',\n exportAs: 'tngCardTitle',\n standalone: true,\n})\nexport class TngCardTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-title' as const;\n}\n\n@Directive({\n selector: '[tngCardDescription]',\n exportAs: 'tngCardDescription',\n standalone: true,\n})\nexport class TngCardDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-description' as const;\n}\n\n@Directive({\n selector: '[tngCardContent]',\n exportAs: 'tngCardContent',\n standalone: true,\n})\nexport class TngCardContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-content' as const;\n}\n\n@Directive({\n selector: '[tngCardFooter]',\n exportAs: 'tngCardFooter',\n standalone: true,\n})\nexport class TngCardFooter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-footer' as const;\n}\n\n@Directive({\n selector: '[tngCardMedia]',\n exportAs: 'tngCardMedia',\n standalone: true,\n})\nexport class TngCardMedia {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-media' as const;\n}\n\n@Directive({\n selector: '[tngCardActions]',\n exportAs: 'tngCardActions',\n standalone: true,\n})\nexport class TngCardActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-actions' as const;\n}\n\n@Directive({\n selector: '[tngCardDivider]',\n exportAs: 'tngCardDivider',\n standalone: true,\n})\nexport class TngCardDivider {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-divider' as const;\n}\n\n@Directive({\n selector: '[tngCardLink]',\n exportAs: 'tngCardLink',\n standalone: true,\n})\nexport class TngCardLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-link' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"AAEA,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEjF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAE/E;AAED,qBAIa,cAAc;IACzB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAGrD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;CACF;AAED,qBAIa,qBAAqB;IAChC,SAAgB,SAAS,8CAAqB;IAC9C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAG9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD;AAED,qBAIa,qBAAqB;IAChC,SAAgB,IAAI,8EAEjB;IAGH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;CACF"}
1
+ {"version":3,"file":"tng-collapsible.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"AAEA,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEjF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAE/E;AAED,qBAKa,cAAc;IACzB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAGrD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;CACF;AAED,qBAKa,qBAAqB;IAChC,SAAgB,SAAS,8CAAqB;IAC9C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAG9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD;AAED,qBAKa,qBAAqB;IAChC,SAAgB,IAAI,8EAEjB;IAGH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;CACF"}
@@ -34,6 +34,7 @@ TngCollapsible = __decorate([
34
34
  Directive({
35
35
  selector: '[tngCollapsible]',
36
36
  exportAs: 'tngCollapsible',
37
+ standalone: true,
37
38
  })
38
39
  ], TngCollapsible);
39
40
  export { TngCollapsible };
@@ -89,6 +90,7 @@ TngCollapsibleTrigger = __decorate([
89
90
  Directive({
90
91
  selector: 'button[tngCollapsibleTrigger]',
91
92
  exportAs: 'tngCollapsibleTrigger',
93
+ standalone: true,
92
94
  })
93
95
  ], TngCollapsibleTrigger);
94
96
  export { TngCollapsibleTrigger };
@@ -117,6 +119,7 @@ TngCollapsibleContent = __decorate([
117
119
  Directive({
118
120
  selector: '[tngCollapsibleContent]',
119
121
  exportAs: 'tngCollapsibleContent',
122
+ standalone: true,
120
123
  })
121
124
  ], TngCollapsibleContent);
122
125
  export { TngCollapsibleContent };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-collapsible.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngCollapsibleAriaExpanded(open: boolean): 'false' | 'true' {\n return open ? 'true' : 'false';\n}\n\nexport function resolveTngCollapsibleDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\n@Directive({\n selector: '[tngCollapsible]',\n exportAs: 'tngCollapsible',\n})\nexport class TngCollapsible {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n}\n\n@Directive({\n selector: 'button[tngCollapsibleTrigger]',\n exportAs: 'tngCollapsibleTrigger',\n})\nexport class TngCollapsibleTrigger {\n public readonly contentId = input<string>('');\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n const id = this.contentId().trim();\n return id.length > 0 ? id : null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return resolveTngCollapsibleAriaExpanded(this.open());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible-trigger' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n}\n\n@Directive({\n selector: '[tngCollapsibleContent]',\n exportAs: 'tngCollapsibleContent',\n})\nexport class TngCollapsibleContent {\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible-content' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.open() ? null : '';\n }\n}\n"]}
1
+ {"version":3,"file":"tng-collapsible.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngCollapsibleAriaExpanded(open: boolean): 'false' | 'true' {\n return open ? 'true' : 'false';\n}\n\nexport function resolveTngCollapsibleDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\n@Directive({\n selector: '[tngCollapsible]',\n exportAs: 'tngCollapsible',\n standalone: true,\n})\nexport class TngCollapsible {\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n}\n\n@Directive({\n selector: 'button[tngCollapsibleTrigger]',\n exportAs: 'tngCollapsibleTrigger',\n standalone: true,\n})\nexport class TngCollapsibleTrigger {\n public readonly contentId = input<string>('');\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n const id = this.contentId().trim();\n return id.length > 0 ? id : null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return resolveTngCollapsibleAriaExpanded(this.open());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible-trigger' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n}\n\n@Directive({\n selector: '[tngCollapsibleContent]',\n exportAs: 'tngCollapsibleContent',\n standalone: true,\n})\nexport class TngCollapsibleContent {\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible-content' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.open() ? null : '';\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-grid.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C"}
1
+ {"version":3,"file":"tng-grid.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":"AAEA,qBAKa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C"}
@@ -10,6 +10,7 @@ TngGrid = __decorate([
10
10
  Directive({
11
11
  selector: '[tngGrid]',
12
12
  exportAs: 'tngGrid',
13
+ standalone: true,
13
14
  })
14
15
  ], TngGrid);
15
16
  export { TngGrid };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-grid.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;CAC/C,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;yCACgB;AAFnC,OAAO;IAJnB,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,SAAS;KACpB,CAAC;GACW,OAAO,CAGnB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngGrid]',\n exportAs: 'tngGrid',\n})\nexport class TngGrid {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'grid' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-grid.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;CAC/C,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;yCACgB;AAFnC,OAAO;IALnB,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,OAAO,CAGnB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngGrid]',\n exportAs: 'tngGrid',\n standalone: true,\n})\nexport class TngGrid {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'grid' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-separator.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhE,qBAIa,YAAY;IACvB,SAAgB,UAAU,8EAEvB;IACH,SAAgB,WAAW,+DAAgD;IAG3E,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAE5C;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,GAAG,IAAI,CAMlE;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,CAE3D;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,KAAK,QAAQ,IAAI,WAAW,GAAG,IAAI,CAE3C;CACF"}
1
+ {"version":3,"file":"tng-separator.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhE,qBAKa,YAAY;IACvB,SAAgB,UAAU,8EAEvB;IACH,SAAgB,WAAW,+DAAgD;IAG3E,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAE5C;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,GAAG,IAAI,CAMlE;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,CAE3D;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,KAAK,QAAQ,IAAI,WAAW,GAAG,IAAI,CAE3C;CACF"}
@@ -41,6 +41,7 @@ TngSeparator = __decorate([
41
41
  Directive({
42
42
  selector: '[tngSeparator]',
43
43
  exportAs: 'tngSeparator',
44
+ standalone: true,
44
45
  })
45
46
  ], TngSeparator);
46
47
  export { TngSeparator };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-separator.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQzE,IAAM,YAAY,GAAlB,MAAM,YAAY;IACP,UAAU,GAAG,KAAK,CAA4B,IAAI,EAAE;QAClE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC,CAAC;IAG3E,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAGD,IAAc,mBAAmB;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGkB,QAAQ,GAAG,WAAoB,CAAC;IAGnD,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAChD,CAAC;CACF,CAAA;AAzBC;IADC,WAAW,CAAC,kBAAkB,CAAC;kDAG/B;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAOpC;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAGpC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACqB;AAGnD;IADC,WAAW,CAAC,WAAW,CAAC;4CAGxB;AA/BU,YAAY;IAJxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAC;GACW,YAAY,CAgCxB","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nexport type TngSeparatorOrientation = 'horizontal' | 'vertical';\n\n@Directive({\n selector: '[tngSeparator]',\n exportAs: 'tngSeparator',\n})\nexport class TngSeparator {\n public readonly decorative = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly orientation = input<TngSeparatorOrientation>('horizontal');\n\n @HostBinding('attr.aria-hidden')\n protected get ariaHiddenAttr(): 'true' | null {\n return this.decorative() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-orientation')\n protected get ariaOrientationAttr(): TngSeparatorOrientation | null {\n if (this.decorative()) {\n return null;\n }\n\n return this.orientation();\n }\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientationAttr(): TngSeparatorOrientation {\n return this.orientation();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'separator' as const;\n\n @HostBinding('attr.role')\n protected get roleAttr(): 'separator' | null {\n return this.decorative() ? null : 'separator';\n }\n}\n"]}
1
+ {"version":3,"file":"tng-separator.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AASzE,IAAM,YAAY,GAAlB,MAAM,YAAY;IACP,UAAU,GAAG,KAAK,CAA4B,IAAI,EAAE;QAClE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC,CAAC;IAG3E,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAGD,IAAc,mBAAmB;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGkB,QAAQ,GAAG,WAAoB,CAAC;IAGnD,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAChD,CAAC;CACF,CAAA;AAzBC;IADC,WAAW,CAAC,kBAAkB,CAAC;kDAG/B;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAOpC;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAGpC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACqB;AAGnD;IADC,WAAW,CAAC,WAAW,CAAC;4CAGxB;AA/BU,YAAY;IALxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,YAAY,CAgCxB","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nexport type TngSeparatorOrientation = 'horizontal' | 'vertical';\n\n@Directive({\n selector: '[tngSeparator]',\n exportAs: 'tngSeparator',\n standalone: true,\n})\nexport class TngSeparator {\n public readonly decorative = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly orientation = input<TngSeparatorOrientation>('horizontal');\n\n @HostBinding('attr.aria-hidden')\n protected get ariaHiddenAttr(): 'true' | null {\n return this.decorative() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-orientation')\n protected get ariaOrientationAttr(): TngSeparatorOrientation | null {\n if (this.decorative()) {\n return null;\n }\n\n return this.orientation();\n }\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientationAttr(): TngSeparatorOrientation {\n return this.orientation();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'separator' as const;\n\n @HostBinding('attr.role')\n protected get roleAttr(): 'separator' | null {\n return this.decorative() ? null : 'separator';\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-stepper.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":"AAEA,qBAIa,UAAU;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;CAClD"}
1
+ {"version":3,"file":"tng-stepper.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":"AAEA,qBAKa,UAAU;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;CAClD"}
@@ -10,6 +10,7 @@ TngStepper = __decorate([
10
10
  Directive({
11
11
  selector: '[tngStepper]',
12
12
  exportAs: 'tngStepper',
13
+ standalone: true,
13
14
  })
14
15
  ], TngStepper);
15
16
  export { TngStepper };
@@ -1 +1 @@
1
- {"version":3,"file":"tng-stepper.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEF,QAAQ,GAAG,SAAkB,CAAC;CAClD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;4CACmB;AAFtC,UAAU;IAJtB,SAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,YAAY;KACvB,CAAC;GACW,UAAU,CAGtB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngStepper]',\n exportAs: 'tngStepper',\n})\nexport class TngStepper {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'stepper' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-stepper.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOhD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEF,QAAQ,GAAG,SAAkB,CAAC;CAClD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;4CACmB;AAFtC,UAAU;IALtB,SAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,IAAI;KACjB,CAAC;GACW,UAAU,CAGtB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngStepper]',\n exportAs: 'tngStepper',\n standalone: true,\n})\nexport class TngStepper {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'stepper' as const;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { type ComponentFixture } from '@angular/core/testing';
2
+ import { type TngTreeOrientation, type TngTreeSelectionMode, type TngTreeValue } from '../index';
3
+ export declare class TngTreeHarnessComponent {
4
+ readonly valueChanges: Array<TngTreeValue | readonly TngTreeValue[] | null>;
5
+ defaultValue: TngTreeValue | readonly TngTreeValue[] | null | undefined;
6
+ orientation: TngTreeOrientation;
7
+ rootExpanded: boolean;
8
+ selectionMode: TngTreeSelectionMode;
9
+ value: TngTreeValue | readonly TngTreeValue[] | null | undefined;
10
+ onValueChange(value: TngTreeValue | readonly TngTreeValue[] | null): void;
11
+ resetValueChanges(): void;
12
+ }
13
+ type TreeHarnessInitialState = Partial<Pick<TngTreeHarnessComponent, 'defaultValue' | 'orientation' | 'rootExpanded' | 'selectionMode' | 'value'>>;
14
+ export declare function createTreeHarnessFixture(initialState?: TreeHarnessInitialState): ComponentFixture<TngTreeHarnessComponent>;
15
+ export declare function getTreeHost(fixture: ComponentFixture<TngTreeHarnessComponent>): HTMLElement;
16
+ export declare function getItem(fixture: ComponentFixture<TngTreeHarnessComponent>, id: string): HTMLElement;
17
+ export declare function clickElement(element: HTMLElement): MouseEvent;
18
+ export declare function dispatchKeydown(target: HTMLElement, key: string, options?: Pick<KeyboardEventInit, 'shiftKey' | 'ctrlKey' | 'metaKey' | 'altKey'>): KeyboardEvent;
19
+ export {};
20
+ //# sourceMappingURL=tng-tree.test-harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-tree.test-harness.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/__tests__/tng-tree.test-harness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,kBAAkB,EAAwD,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvJ,qBA8Ca,uBAAuB;IAClC,SAAgB,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC,CAAM;IACjF,YAAY,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,CAAa;IACpF,WAAW,EAAE,kBAAkB,CAAc;IAC7C,YAAY,UAAS;IACrB,aAAa,EAAE,oBAAoB,CAAU;IAC7C,KAAK,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,CAAa;IAE7E,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,YAAY,EAAE,GAAG,IAAI,GAAG,IAAI;IAIzE,iBAAiB,IAAI,IAAI;CAGjC;AAED,KAAK,uBAAuB,GAAG,OAAO,CACpC,IAAI,CACF,uBAAuB,EACvB,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,GAAG,OAAO,CAC5E,CACF,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,YAAY,GAAE,uBAA4B,GACzC,gBAAgB,CAAC,uBAAuB,CAAC,CAQ3C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,GAAG,WAAW,CAM3F;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,EAClD,EAAE,EAAE,MAAM,GACT,WAAW,CAMb;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAI7D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,GACnF,aAAa,CASf"}