@tailng-ui/primitives 0.13.0 → 0.14.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.
- package/package.json +2 -2
- package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
- package/src/lib/feedback/empty/tng-empty.js +0 -5
- package/src/lib/feedback/empty/tng-empty.js.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.js +0 -2
- package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +0 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.js +0 -1
- package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
- package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
- package/src/lib/feedback/toast/tng-toast.js +0 -2
- package/src/lib/feedback/toast/tng-toast.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js +0 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.js +0 -4
- package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js +0 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +0 -2
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +0 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js +0 -4
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.js +0 -2
- package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.js +0 -1
- package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
- package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
- package/src/lib/form/chips/tng-chips.js +0 -3
- package/src/lib/form/chips/tng-chips.js.map +1 -1
- package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
- package/src/lib/form/combobox/tng-combobox.js +0 -1
- package/src/lib/form/combobox/tng-combobox.js.map +1 -1
- package/src/lib/form/input/tng-input.d.ts.map +1 -1
- package/src/lib/form/input/tng-input.js +0 -4
- package/src/lib/form/input/tng-input.js.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.js +0 -1
- package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
- package/src/lib/form/label/tng-label.d.ts.map +1 -1
- package/src/lib/form/label/tng-label.js +0 -1
- package/src/lib/form/label/tng-label.js.map +1 -1
- package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/listbox.directive.js +0 -1
- package/src/lib/form/listbox/listbox.directive.js.map +1 -1
- package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/option.directive.js +0 -1
- package/src/lib/form/listbox/option.directive.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +0 -2
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.js +0 -1
- package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.js +0 -2
- package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.js +0 -1
- package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
- package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
- package/src/lib/form/radio/tng-radio.js +0 -1
- package/src/lib/form/radio/tng-radio.js.map +1 -1
- package/src/lib/form/select/tng-select.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.js +0 -1
- package/src/lib/form/select/tng-select.js.map +1 -1
- package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.listbox.js +0 -2
- package/src/lib/form/select/tng-select.listbox.js.map +1 -1
- package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
- package/src/lib/form/slider/tng-slider.js +0 -1
- package/src/lib/form/slider/tng-slider.js.map +1 -1
- package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
- package/src/lib/form/switch/tng-switch.js +0 -1
- package/src/lib/form/switch/tng-switch.js.map +1 -1
- package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
- package/src/lib/form/textarea/tng-textarea.js +0 -1
- package/src/lib/form/textarea/tng-textarea.js.map +1 -1
- package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
- package/src/lib/form/toggle/tng-toggle.js +0 -1
- package/src/lib/form/toggle/tng-toggle.js.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.js +0 -1
- package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.js +0 -4
- package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +0 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
- package/src/lib/layout/card/tng-card.d.ts.map +1 -1
- package/src/lib/layout/card/tng-card.js +0 -10
- package/src/lib/layout/card/tng-card.js.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.js +0 -3
- package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.js +0 -6
- package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
- package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
- package/src/lib/layout/grid/tng-grid.js +0 -1
- package/src/lib/layout/grid/tng-grid.js.map +1 -1
- package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
- package/src/lib/layout/separator/tng-separator.js +0 -1
- package/src/lib/layout/separator/tng-separator.js.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.js +0 -1
- package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.js +0 -1
- package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.js +0 -1
- package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.js +0 -1
- package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
- package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree.js +0 -1
- package/src/lib/layout/tree/tng-tree.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +0 -5
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.js +0 -2
- package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +0 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
- package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
- package/src/lib/navigation/menu/tng-menu.js +0 -6
- package/src/lib/navigation/menu/tng-menu.js.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.js +0 -2
- package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +0 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.js +0 -6
- package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.js +0 -1
- package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.js +0 -9
- package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
- package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
- package/src/lib/overlay/popover/tng-popover.js +0 -4
- package/src/lib/overlay/popover/tng-popover.js.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.js +0 -3
- package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.js +0 -3
- package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
- package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
- package/src/lib/utility/badge/tng-badge.js +0 -1
- package/src/lib/utility/badge/tng-badge.js.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.js +0 -5
- package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
- package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
- package/src/lib/utility/copy/tng-copy.js +0 -1
- package/src/lib/utility/copy/tng-copy.js.map +1 -1
- package/src/lib/utility/press/tng-press.d.ts.map +1 -1
- package/src/lib/utility/press/tng-press.js +0 -1
- package/src/lib/utility/press/tng-press.js.map +1 -1
- package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
- package/src/lib/utility/tag/tng-tag.js +0 -3
- 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\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
|
+
{"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})\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})\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})\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})\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,
|
|
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;yCAF3C,cAAc;2CAAd,cAAc;CAG1B"}
|
|
@@ -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;;
|
|
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;;AAMvD,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB","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 +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,
|
|
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;yCAFnC,OAAO;2CAAP,OAAO;CAGnB;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;yCAF1C,aAAa;2CAAb,aAAa;CAGzB;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;yCAF/C,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;yCAF3C,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;yCAF1C,aAAa;2CAAb,aAAa;CAGzB;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;yCAF3C,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;yCAF3C,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAIa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;yCAFxC,WAAW;2CAAX,WAAW;CAGvB"}
|
|
@@ -10,7 +10,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
10
10
|
args: [{
|
|
11
11
|
selector: '[tngCard]',
|
|
12
12
|
exportAs: 'tngCard',
|
|
13
|
-
standalone: true,
|
|
14
13
|
}]
|
|
15
14
|
}], propDecorators: { dataSlot: [{
|
|
16
15
|
type: HostBinding,
|
|
@@ -26,7 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
26
25
|
args: [{
|
|
27
26
|
selector: '[tngCardHeader]',
|
|
28
27
|
exportAs: 'tngCardHeader',
|
|
29
|
-
standalone: true,
|
|
30
28
|
}]
|
|
31
29
|
}], propDecorators: { dataSlot: [{
|
|
32
30
|
type: HostBinding,
|
|
@@ -42,7 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
42
40
|
args: [{
|
|
43
41
|
selector: '[tngCardTitle]',
|
|
44
42
|
exportAs: 'tngCardTitle',
|
|
45
|
-
standalone: true,
|
|
46
43
|
}]
|
|
47
44
|
}], propDecorators: { dataSlot: [{
|
|
48
45
|
type: HostBinding,
|
|
@@ -58,7 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
58
55
|
args: [{
|
|
59
56
|
selector: '[tngCardDescription]',
|
|
60
57
|
exportAs: 'tngCardDescription',
|
|
61
|
-
standalone: true,
|
|
62
58
|
}]
|
|
63
59
|
}], propDecorators: { dataSlot: [{
|
|
64
60
|
type: HostBinding,
|
|
@@ -74,7 +70,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
74
70
|
args: [{
|
|
75
71
|
selector: '[tngCardContent]',
|
|
76
72
|
exportAs: 'tngCardContent',
|
|
77
|
-
standalone: true,
|
|
78
73
|
}]
|
|
79
74
|
}], propDecorators: { dataSlot: [{
|
|
80
75
|
type: HostBinding,
|
|
@@ -90,7 +85,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
90
85
|
args: [{
|
|
91
86
|
selector: '[tngCardFooter]',
|
|
92
87
|
exportAs: 'tngCardFooter',
|
|
93
|
-
standalone: true,
|
|
94
88
|
}]
|
|
95
89
|
}], propDecorators: { dataSlot: [{
|
|
96
90
|
type: HostBinding,
|
|
@@ -106,7 +100,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
106
100
|
args: [{
|
|
107
101
|
selector: '[tngCardMedia]',
|
|
108
102
|
exportAs: 'tngCardMedia',
|
|
109
|
-
standalone: true,
|
|
110
103
|
}]
|
|
111
104
|
}], propDecorators: { dataSlot: [{
|
|
112
105
|
type: HostBinding,
|
|
@@ -122,7 +115,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
122
115
|
args: [{
|
|
123
116
|
selector: '[tngCardActions]',
|
|
124
117
|
exportAs: 'tngCardActions',
|
|
125
|
-
standalone: true,
|
|
126
118
|
}]
|
|
127
119
|
}], propDecorators: { dataSlot: [{
|
|
128
120
|
type: HostBinding,
|
|
@@ -138,7 +130,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
138
130
|
args: [{
|
|
139
131
|
selector: '[tngCardDivider]',
|
|
140
132
|
exportAs: 'tngCardDivider',
|
|
141
|
-
standalone: true,
|
|
142
133
|
}]
|
|
143
134
|
}], propDecorators: { dataSlot: [{
|
|
144
135
|
type: HostBinding,
|
|
@@ -154,7 +145,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
154
145
|
args: [{
|
|
155
146
|
selector: '[tngCardLink]',
|
|
156
147
|
exportAs: 'tngCardLink',
|
|
157
|
-
standalone: true,
|
|
158
148
|
}]
|
|
159
149
|
}], propDecorators: { dataSlot: [{
|
|
160
150
|
type: HostBinding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;
|
|
1
|
+
{"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;uGAFnC,OAAO;2FAAP,OAAO;;2FAAP,OAAO;kBAJnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,SAAS;iBACpB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;uGAF1C,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAJzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;iBAC1B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,kBAA2B,CAAC;uGAF/C,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAJ9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;iBAC/B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;uGAF1C,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAJzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,eAAe;iBAC1B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,WAAW;IAEH,QAAQ,GAAG,WAAoB,CAAC;uGAFxC,WAAW;2FAAX,WAAW;;2FAAX,WAAW;kBAJvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,aAAa;iBACxB;;sBAEE,WAAW;uBAAC,gBAAgB","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 +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,
|
|
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;yCAnBU,cAAc;2CAAd,cAAc;CAoB1B;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;yCAvCrC,qBAAqB;2CAArB,qBAAqB;CAwCjC;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;yCAhBU,qBAAqB;2CAArB,qBAAqB;CAiBjC"}
|
|
@@ -24,7 +24,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[tngCollapsible]',
|
|
26
26
|
exportAs: 'tngCollapsible',
|
|
27
|
-
standalone: true,
|
|
28
27
|
}]
|
|
29
28
|
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], dataDisabledAttr: [{
|
|
30
29
|
type: HostBinding,
|
|
@@ -66,7 +65,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
66
65
|
args: [{
|
|
67
66
|
selector: 'button[tngCollapsibleTrigger]',
|
|
68
67
|
exportAs: 'tngCollapsibleTrigger',
|
|
69
|
-
standalone: true,
|
|
70
68
|
}]
|
|
71
69
|
}], propDecorators: { contentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentId", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ariaControlsAttr: [{
|
|
72
70
|
type: HostBinding,
|
|
@@ -107,7 +105,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
107
105
|
args: [{
|
|
108
106
|
selector: '[tngCollapsibleContent]',
|
|
109
107
|
exportAs: 'tngCollapsibleContent',
|
|
110
|
-
standalone: true,
|
|
111
108
|
}]
|
|
112
109
|
}], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], dataSlot: [{
|
|
113
110
|
type: HostBinding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-collapsible.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAEhF,MAAM,UAAU,iCAAiC,CAAC,IAAa;IAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAC1D,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClC,CAAC;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/drawer/tng-drawer.ts"],"names":[],"mappings":";AA0BA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;AACjF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC;AACvE,KAAK,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAK9C,
|
|
1
|
+
{"version":3,"file":"tng-drawer.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/drawer/tng-drawer.ts"],"names":[],"mappings":";AA0BA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,QAAQ,CAAC;AACjF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC;AACvE,KAAK,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAK9C,qBAIa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CACkD;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAe/B;IAEH,QAAQ,CAAC,WAAW,8GAGlB;IACF,QAAQ,CAAC,iBAAiB,iGAEvB;IACH,QAAQ,CAAC,OAAO,iGAEb;IACH,QAAQ,CAAC,UAAU,8GAGjB;IACF,QAAQ,CAAC,GAAG,kGAET;IAGH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;IAG1D,QAAQ,CAAC,EAAE,SAAmB;IAG9B,SAAS,KAAK,gBAAgB,IAAI,MAAM,CAEvC;IAGD,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,aAAa,IAAI,KAAK,GAAG,KAAK,CAE3C;IAED,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAInB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKvC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKzC,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAKhD,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAKlD,cAAc,IAAI,WAAW;IAI7B,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO;IAQ5C,gBAAgB,IAAI,KAAK,GAAG,KAAK;IAcjC,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,qBAAqB;IAI/D,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAchD,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAS5C,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAc5C,oBAAoB,IAAI,IAAI;IAI5B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,kBAAkB;yCA7Lf,kBAAkB;2CAAlB,kBAAkB;CAoN9B;AAED,qBAIa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8D;IACxF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqE;IAChG,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,2BAA2B,CAAgD;IACnF,OAAO,CAAC,yBAAyB,CAAgD;IACjF,OAAO,CAAC,qBAAqB,CAAiD;IAC9E,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAuB;IAEzC,QAAQ,CAAC,WAAW,6GAGjB;IACH,QAAQ,CAAC,aAAa,iGAEnB;IACH,QAAQ,CAAC,IAAI,6FAEV;IACH,QAAQ,CAAC,QAAQ,iGAEd;IACH,QAAQ,CAAC,QAAQ,iGAEd;IACH,QAAQ,CAAC,QAAQ,8GAGf;IACF,QAAQ,CAAC,wBAAwB,6GAM/B;IACF,QAAQ,CAAC,aAAa,iGAEnB;IACH,QAAQ,CAAC,YAAY,iGAElB;IACH,QAAQ,CAAC,SAAS,kGAGhB;IACF,QAAQ,CAAC,SAAS,8GAGhB;IACF,QAAQ,CAAC,YAAY,8GAGnB;IACF,QAAQ,CAAC,oBAAoB,6GAM3B;IACF,QAAQ,CAAC,UAAU,iGAEhB;IACH,QAAQ,CAAC,IAAI,6FAEV;IACH,QAAQ,CAAC,eAAe,iGAErB;IACH,QAAQ,CAAC,WAAW,+FAEjB;IACH,QAAQ,CAAC,cAAc,+FAEpB;IACH,QAAQ,CAAC,YAAY,iGAElB;IACH,QAAQ,CAAC,YAAY,oDAAqB;IAC1C,QAAQ,CAAC,eAAe,iDAAkB;IAC1C,QAAQ,CAAC,eAAe,iDAAkB;IAC1C,QAAQ,CAAC,SAAS,iDAAkB;IACpC,QAAQ,CAAC,UAAU,iDAAkB;IACrC,QAAQ,CAAC,aAAa,iDAAkB;IACxC,QAAQ,CAAC,cAAc,8DAA+B;IAEtD,QAAQ,IAAI,IAAI;IAgBhB,eAAe,IAAI,IAAI;IAMvB,SAAS,IAAI,IAAI;IAUjB,WAAW,IAAI,IAAI;IAcnB,MAAM,IAAI,OAAO;IAIjB,2BAA2B,IAAI,OAAO;IAKtC,kBAAkB,IAAI,OAAO;IAQ7B,sBAAsB,IAAI,OAAO;IASjC,gBAAgB,IAAI,MAAM;IAoB1B,kBAAkB,IAAI,IAAI;IAI1B,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIvD,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAU7B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS7C,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAYtD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAUtD,SAAS,CAAC,eAAe,IAAI,IAAI;IA0BjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAGhD,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAmB;IAGxC,SAAS,KAAK,QAAQ,IAAI,aAAa,CAEtC;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAGD,SAAS,KAAK,QAAQ,IAAI,aAAa,CAEtC;IAGD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,QAAQ,CAE3C;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,OAAO,CAEzC;IAGD,SAAS,KAAK,YAAY,IAAI,iBAAiB,CAE9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,qBAAqB,CAE3D;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,OAAO,CAE7C;IAGD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAE1C;IAGD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAE7C;IAGD,SAAS,KAAK,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAElD;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;IAGD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,IAAI,CAMvC;IAGD,SAAS,KAAK,aAAa,IAAI,OAAO,GAAG,IAAI,CAE5C;IAGD,SAAS,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAMtC;IAGD,SAAS,KAAK,WAAW,IAAI,MAAM,GAAG,IAAI,CAMzC;IAGD,SAAS,KAAK,SAAS,IAAI,MAAM,GAAG,IAAI,CAMvC;IAGD,SAAS,KAAK,UAAU,IAAI,MAAM,GAAG,IAAI,CAMxC;IAED,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,sBAAsB;yCAz0BnB,SAAS;2CAAT,SAAS;CA01BrB;AAED,qBAIa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8D;IAExF,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAKnB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,gBAAgB,CAAU;IAGxD,SAAS,KAAK,eAAe,IAAI,MAAM,GAAG,IAAI,CAE7C;IAGD,SAAS,KAAK,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAElD;IAED,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAS3D,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;yCAlCvB,gBAAgB;2CAAhB,gBAAgB;CAuD5B;AAED,qBAUa,mBAAoB,SAAQ,kBAAkB;yCAA9C,mBAAmB;2CAAnB,mBAAmB;CAA8B;AAE9D,qBAUa,UAAW,SAAQ,SAAS;yCAA5B,UAAU;2CAAV,UAAU;CAAqB;AAE5C,qBAUa,iBAAkB,SAAQ,gBAAgB;yCAA1C,iBAAiB;2CAAjB,iBAAiB;CAA4B"}
|
|
@@ -175,7 +175,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
175
175
|
args: [{
|
|
176
176
|
selector: '[tngDrawerContainer]',
|
|
177
177
|
exportAs: 'tngDrawerContainer',
|
|
178
|
-
standalone: true,
|
|
179
178
|
}]
|
|
180
179
|
}], propDecorators: { hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], closeOthersOnOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOthersOnOpen", required: false }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], lockScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "lockScroll", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], dataSlot: [{
|
|
181
180
|
type: HostBinding,
|
|
@@ -826,7 +825,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
826
825
|
args: [{
|
|
827
826
|
selector: '[tngDrawer]',
|
|
828
827
|
exportAs: 'tngDrawer',
|
|
829
|
-
standalone: true,
|
|
830
828
|
}]
|
|
831
829
|
}], propDecorators: { openedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }], defaultOpened: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpened", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], closeOnOutsideClickInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsideClick", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], restoreFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocus", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], trapFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "trapFocus", required: false }] }], inertContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "inertContent", required: false }] }], allowBodyScrollInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowBodyScroll", required: false }] }], closeOnTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnTab", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], fixedInViewport: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedInViewport", required: false }] }], fixedTopGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedTopGap", required: false }] }], fixedBottomGap: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixedBottomGap", required: false }] }], swipeToClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "swipeToClose", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }], tngDrawerOpened: [{ type: i0.Output, args: ["tngDrawerOpened"] }], tngDrawerClosed: [{ type: i0.Output, args: ["tngDrawerClosed"] }], openStart: [{ type: i0.Output, args: ["openStart"] }], closeStart: [{ type: i0.Output, args: ["closeStart"] }], backdropClick: [{ type: i0.Output, args: ["backdropClick"] }], positionChange: [{ type: i0.Output, args: ["positionChange"] }], onTransitionEnd: [{
|
|
832
830
|
type: HostListener,
|
|
@@ -955,7 +953,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
955
953
|
args: [{
|
|
956
954
|
selector: '[tngDrawerContent]',
|
|
957
955
|
exportAs: 'tngDrawerContent',
|
|
958
|
-
standalone: true,
|
|
959
956
|
}]
|
|
960
957
|
}], propDecorators: { dataSlot: [{
|
|
961
958
|
type: HostBinding,
|
|
@@ -981,7 +978,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
981
978
|
args: [{
|
|
982
979
|
selector: '[tngSidenavContainer]',
|
|
983
980
|
exportAs: 'tngSidenavContainer',
|
|
984
|
-
standalone: true,
|
|
985
981
|
providers: [
|
|
986
982
|
{
|
|
987
983
|
provide: TngDrawerContainer,
|
|
@@ -1004,7 +1000,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
1004
1000
|
args: [{
|
|
1005
1001
|
selector: '[tngSidenav]',
|
|
1006
1002
|
exportAs: 'tngSidenav',
|
|
1007
|
-
standalone: true,
|
|
1008
1003
|
providers: [
|
|
1009
1004
|
{
|
|
1010
1005
|
provide: TngDrawer,
|
|
@@ -1027,7 +1022,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
1027
1022
|
args: [{
|
|
1028
1023
|
selector: '[tngSidenavContent]',
|
|
1029
1024
|
exportAs: 'tngSidenavContent',
|
|
1030
|
-
standalone: true,
|
|
1031
1025
|
providers: [
|
|
1032
1026
|
{
|
|
1033
1027
|
provide: TngDrawerContent,
|