@weeehaoooz/talos-ui 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +115 -18
- package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
- package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
- package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
- package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
- package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
- package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1320 -11
- package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs +119 -72
- package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui.mjs +22190 -15213
- package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
- package/package.json +20 -135
- package/styles/_breadcrumb.scss +16 -0
- package/styles/_button-group.scss +156 -7
- package/styles/_buttons.scss +156 -8
- package/styles/_dropdown.scss +438 -0
- package/styles/_form-controls.scss +13 -0
- package/styles/_progress-bar.scss +43 -0
- package/styles/_skeleton.scss +176 -0
- package/styles/_spinner.scss +58 -0
- package/styles/_variables.scss +37 -0
- package/styles/index.scss +6 -1
- package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
- package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
- package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
- package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
- package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
- package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
- package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
- package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
- package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
- package/types/weeehaoooz-talos-ui-nav.d.ts +36 -10
- package/types/weeehaoooz-talos-ui-nav.d.ts.map +1 -1
- package/types/weeehaoooz-talos-ui.d.ts +6949 -4137
- package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
- package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -93
- package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
- package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
- package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
- package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
- package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
- package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
- package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
- package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
- package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
- package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
- package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
- package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
- package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
- package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
- package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
- package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
- package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
- package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
- package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
- package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
- package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
- package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
- package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
- package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
- package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
- package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
- package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
- package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
- package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
- package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
- package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
- package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -59
- package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
- package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
- package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
- package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
- package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
- package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
- package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
- package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
- package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
- package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
- package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
- package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
- package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
- package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
- package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
- package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
- package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
- package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
- package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
- package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
- package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
- package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
- package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
- package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
- package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
- package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
- package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
- package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
- package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
- package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
- package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
- package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
- package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
- package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
- package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weeehaoooz-talos-ui-layout.mjs","sources":["../../../projects/talos-ui/layout/layout.service.ts","../../../projects/talos-ui/layout/side-panel/side-panel.component.ts","../../../projects/talos-ui/layout/side-panel/side-panel.component.html","../../../projects/talos-ui/layout/main-layout/main-layout.component.ts","../../../projects/talos-ui/layout/main-layout/main-layout.component.html","../../../projects/talos-ui/layout/card/card.directives.ts","../../../projects/talos-ui/layout/card/card.component.ts","../../../projects/talos-ui/layout/card/card.component.html","../../../projects/talos-ui/layout/card/card-header.component.ts","../../../projects/talos-ui/layout/card/card-header.component.html","../../../projects/talos-ui/layout/card/card-body.component.ts","../../../projects/talos-ui/layout/card/card-body.component.html","../../../projects/talos-ui/layout/card/card-footer.component.ts","../../../projects/talos-ui/layout/card/card-footer.component.html","../../../projects/talos-ui/layout/card/card.module.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.directives.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-body.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-body.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-group.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-group.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-header.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-header.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.module.ts","../../../projects/talos-ui/layout/weeehaoooz-talos-ui-layout.ts"],"sourcesContent":["import { Injectable, Type, computed, signal } from '@angular/core';\n\nexport interface RightPanelOptions {\n /** Title displayed in the panel header shell */\n title?: string;\n /** Custom width for the panel (e.g. '400px', '500px') */\n width?: string;\n /** Panel rendering mode: 'overlay' (floating over content) or 'inline' (pushes content) */\n mode?: 'overlay' | 'inline';\n /** Whether to blur and lock background interactions on main content area */\n blurBackdrop?: boolean;\n /** Whether clicking backdrop closes panel (defaults to true if blurBackdrop is enabled) */\n closeOnBackdropClick?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n // Reactive Signals for layout state\n readonly isLeftNavCollapsed = signal<boolean>(false);\n readonly isRightPanelOpen = signal<boolean>(false);\n readonly isMainContentExpanded = signal<boolean>(false);\n\n // Dynamic component injection signals\n readonly rightPanelComponent = signal<Type<unknown> | null>(null);\n readonly rightPanelInputs = signal<Record<string, unknown>>({});\n readonly rightPanelOptions = signal<RightPanelOptions>({});\n\n // Computed state for backdrop blur\n readonly shouldBlurMainContent = computed(() => {\n return (\n this.isRightPanelOpen() &&\n (this.rightPanelOptions().mode ?? 'overlay') === 'overlay' &&\n !!this.rightPanelOptions().blurBackdrop\n );\n });\n\n // Computed state for inline panel mode\n readonly isRightPanelInline = computed(() => {\n return this.isRightPanelOpen() && this.rightPanelOptions().mode === 'inline';\n });\n\n // Action methods\n toggleLeftNav(): void {\n this.isLeftNavCollapsed.update((state) => !state);\n }\n\n setLeftNavCollapsed(collapsed: boolean): void {\n this.isLeftNavCollapsed.set(collapsed);\n }\n\n toggleMainContentExpanded(): void {\n this.isMainContentExpanded.update((state) => !state);\n }\n\n setMainContentExpanded(expanded: boolean): void {\n this.isMainContentExpanded.set(expanded);\n }\n\n private closeTimeout: ReturnType<typeof setTimeout> | null = null;\n\n /**\n * Dynamically open the right side panel with a specified component and inputs.\n */\n openRightPanel<T>(\n component: Type<T>,\n inputs: Record<string, unknown> = {},\n options: RightPanelOptions = {}\n ): void {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n\n this.rightPanelComponent.set(component as Type<unknown>);\n this.rightPanelInputs.set(inputs);\n this.rightPanelOptions.set({\n mode: 'overlay',\n closeOnBackdropClick: true,\n ...options\n });\n this.isRightPanelOpen.set(true);\n }\n\n /**\n * Close the right side panel and clear injected component state after animation completes.\n */\n closeRightPanel(): void {\n this.isRightPanelOpen.set(false);\n\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n\n this.closeTimeout = setTimeout(() => {\n this.rightPanelComponent.set(null);\n this.rightPanelInputs.set({});\n this.rightPanelOptions.set({});\n this.closeTimeout = null;\n }, 300);\n }\n}\n","import { Component, Type, input, output } from '@angular/core';\nimport { NgComponentOutlet } from '@angular/common';\nimport { TalosButtonDirective } from '@weeehaoooz/talos-ui/button/button';\n\nimport { LucideX } from '@lucide/angular';\n\n@Component({\n selector: 'talos-side-panel',\n imports: [NgComponentOutlet, TalosButtonDirective, LucideX],\n templateUrl: './side-panel.component.html',\n styleUrl: './side-panel.component.scss',\n host: {\n 'role': 'complementary',\n 'class': 'side-panel-host',\n '[class.is-open]': 'isOpen()',\n '[class.is-overlay]': 'mode() === \"overlay\"',\n '[class.is-inline]': 'mode() === \"inline\"',\n '[style.--panel-width]': 'width()',\n '[attr.aria-label]': 'title() || \"Details Panel\"'\n }\n})\nexport class SidePanelComponent {\n /** Whether the panel is currently open and visible */\n readonly isOpen = input<boolean>(true);\n\n /** Panel title displayed in header */\n readonly title = input<string>('Details');\n\n /** Custom panel width (e.g. '380px', '500px', '100%') */\n readonly width = input<string>('380px');\n\n /** Panel mode: 'overlay' (floating) or 'inline' (push content) */\n readonly mode = input<'overlay' | 'inline'>('overlay');\n\n /** Dynamic component to instantiate via NgComponentOutlet */\n readonly component = input<Type<unknown> | null>(null);\n\n /** Inputs object to pass to the dynamically injected component */\n readonly componentInputs = input<Record<string, unknown>>({});\n\n /** Event emitted when the close button is clicked */\n readonly close = output<void>();\n\n onClose(): void {\n this.close.emit();\n }\n}\n","<div class=\"side-panel-inner\">\n <div class=\"side-panel-header\">\n <h3 class=\"side-panel-title\">\n {{ title() }}\n </h3>\n <button type=\"button\" talosButton variant=\"ghost\" size=\"sm\" [iconOnly]=\"true\" class=\"side-panel-close-btn\"\n (click)=\"onClose()\" aria-label=\"Close details panel\">\n <svg lucideX [size]=\"16\"></svg>\n </button>\n </div>\n <div class=\"side-panel-body\">\n @if (component()) {\n <ng-container *ngComponentOutlet=\"component()!; inputs: componentInputs()\" />\n }\n <ng-content />\n </div>\n</div>","import { Component, inject } from '@angular/core';\nimport { LayoutService } from '../layout.service';\nimport { SidePanelComponent } from '../side-panel/side-panel.component';\n\n@Component({\n selector: 'talos-main-layout',\n imports: [SidePanelComponent],\n templateUrl: './main-layout.component.html',\n styleUrl: './main-layout.component.scss',\n host: {\n 'class': 'talos-main-layout-host',\n '[class.left-nav-collapsed]': 'layoutService.isLeftNavCollapsed()',\n '[class.right-panel-open]': 'layoutService.isRightPanelOpen()',\n '[class.right-panel-inline]': 'layoutService.isRightPanelInline()',\n '[class.main-content-expanded]': 'layoutService.isMainContentExpanded()',\n '[class.blur-backdrop]': 'layoutService.shouldBlurMainContent()'\n }\n})\nexport class MainLayoutComponent {\n protected readonly layoutService = inject(LayoutService);\n\n onBackdropClick(): void {\n if (this.layoutService.rightPanelOptions().closeOnBackdropClick) {\n this.layoutService.closeRightPanel();\n }\n }\n}\n","<!-- Top Header Slot (Spanning 100% full width across top of viewport) -->\n<ng-content select=\"talos-top-nav, app-header, header, [top-nav], [header]\" />\n\n<div class=\"layout-body-wrapper\">\n <!-- Side Nav Slot (Accepts talos-side-nav, app-side-nav, or elements with [side-nav]) -->\n <ng-content select=\"talos-side-nav, app-side-nav, [side-nav]\" />\n\n <!-- Main Content Container Area -->\n <div class=\"main-content-wrapper\">\n <main class=\"main-content-container\" role=\"main\">\n <ng-content />\n </main>\n\n <!-- Optional Blur Backdrop Overlay -->\n @if (layoutService.shouldBlurMainContent()) {\n <div class=\"main-backdrop-overlay\" (click)=\"onBackdropClick()\" aria-hidden=\"true\"></div>\n }\n </div>\n\n <!-- Dynamic Right Side Panel Drawer Component -->\n <talos-side-panel [isOpen]=\"layoutService.isRightPanelOpen()\"\n [title]=\"layoutService.rightPanelOptions().title ?? 'Details'\"\n [width]=\"layoutService.rightPanelOptions().width ?? '380px'\"\n [mode]=\"layoutService.rightPanelOptions().mode ?? 'overlay'\" [component]=\"layoutService.rightPanelComponent()\"\n [componentInputs]=\"layoutService.rightPanelInputs()\" (close)=\"layoutService.closeRightPanel()\" />\n</div>","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'talos-card-title, [talosCardTitle]',\n host: {\n 'class': 'talos-card-title'\n }\n})\nexport class TalosCardTitleDirective { }\n\n@Directive({\n selector: 'talos-card-subtitle, [talosCardSubtitle]',\n host: {\n 'class': 'talos-card-subtitle'\n }\n})\nexport class TalosCardSubtitleDirective { }\n\n@Directive({\n selector: '[talosCardAvatar], [talosCardIcon]',\n host: {\n 'class': 'talos-card-avatar'\n }\n})\nexport class TalosCardAvatarDirective { }\n\n@Directive({\n selector: 'talos-card-actions, [talosCardActions]',\n host: {\n 'class': 'talos-card-actions'\n }\n})\nexport class TalosCardActionsDirective { }\n\n@Directive({\n selector: 'talos-card-media, [talosCardMedia]',\n host: {\n 'class': 'talos-card-media'\n }\n})\nexport class TalosCardMediaDirective { }\n","import {\n Component,\n computed,\n input,\n output\n} from '@angular/core';\nimport { TalosCardPadding, TalosCardVariant } from './card.types';\n\n@Component({\n selector: 'talos-card, [talosCard]',\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n host: {\n 'class': 'talos-card-host',\n '[class.talos-card-elevated]': 'variant() === \"elevated\"',\n '[class.talos-card-outlined]': 'variant() === \"outlined\"',\n '[class.talos-card-flat]': 'variant() === \"flat\"',\n '[class.talos-card-filled]': 'variant() === \"filled\"',\n '[class.talos-card-padding-none]': 'padding() === \"none\"',\n '[class.talos-card-padding-sm]': 'padding() === \"sm\"',\n '[class.talos-card-padding-md]': 'padding() === \"md\"',\n '[class.talos-card-padding-lg]': 'padding() === \"lg\"',\n '[class.is-hoverable]': 'hoverable()',\n '[class.is-clickable]': 'isClickable()',\n '[class.is-selected]': 'selected()',\n '[class.is-disabled]': 'disabled()',\n '[attr.role]': 'role()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.aria-disabled]': 'disabled() ? \"true\" : null',\n '[attr.aria-selected]': 'selected() ? \"true\" : null',\n '(click)': 'onClick($event)',\n '(keydown.enter)': 'onKeydown($event)',\n '(keydown.space)': 'onKeydown($event)'\n }\n})\nexport class TalosCardComponent {\n /** Visual style variant of the card */\n readonly variant = input<TalosCardVariant>('elevated');\n\n /** Inner padding size of the card container */\n readonly padding = input<TalosCardPadding>('md');\n\n /** Adds hover elevation lift and animated border glow */\n readonly hoverable = input<boolean>(false);\n\n /** Enables interactive pointer cursor, active state, and keyboard focus */\n readonly clickable = input<boolean>(false);\n\n /** Indicates if card is in an active selected state */\n readonly selected = input<boolean>(false);\n\n /** Disables interactions and reduces opacity */\n readonly disabled = input<boolean>(false);\n\n /** Emitted when the card is clicked or triggered via keyboard */\n readonly cardClick = output<MouseEvent | KeyboardEvent>();\n\n protected readonly isClickable = computed(() => this.clickable() && !this.disabled());\n\n protected readonly role = computed(() => {\n if (this.clickable()) {\n return 'button';\n }\n return undefined;\n });\n\n protected readonly tabIndex = computed(() => {\n if (this.disabled()) {\n return -1;\n }\n if (this.clickable()) {\n return 0;\n }\n return null;\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n if (this.clickable()) {\n this.cardClick.emit(event);\n }\n }\n\n protected onKeydown(event: Event): void {\n if (this.disabled() || !this.clickable()) {\n return;\n }\n const key = event instanceof KeyboardEvent ? event.key : '';\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this.cardClick.emit(event as KeyboardEvent);\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n input\n} from '@angular/core';\n\n@Component({\n selector: 'talos-card-header, [talosCardHeader]',\n templateUrl: './card-header.component.html',\n styleUrl: './card-header.component.scss',\n host: {\n 'class': 'talos-card-header-host',\n '[class.is-bordered]': 'bordered()'\n }\n})\nexport class TalosCardHeaderComponent {\n /** Optional title text displayed in the header */\n readonly title = input<string>('');\n\n /** Optional subtitle text displayed beneath the title */\n readonly subtitle = input<string>('');\n\n /** Adds a divider border beneath the header */\n readonly bordered = input<boolean>(false);\n}\n","<div class=\"talos-card-header-main\">\n <div class=\"talos-card-header-leading\">\n <ng-content select=\"[talosCardAvatar], [talosCardIcon], [avatar], [icon]\" />\n </div>\n\n @if (title() || subtitle()) {\n <div class=\"talos-card-header-titles\">\n @if (title()) {\n <h3 class=\"talos-card-title\">{{ title() }}</h3>\n }\n @if (subtitle()) {\n <p class=\"talos-card-subtitle\">{{ subtitle() }}</p>\n }\n </div>\n }\n\n <div class=\"talos-card-header-custom-titles\">\n <ng-content select=\"talos-card-title, [talosCardTitle], [title]\" />\n <ng-content select=\"talos-card-subtitle, [talosCardSubtitle], [subtitle]\" />\n </div>\n\n <div class=\"talos-card-header-content\">\n <ng-content />\n </div>\n</div>\n\n<div class=\"talos-card-header-actions\">\n <ng-content select=\"talos-card-actions, [talosCardActions], [actions]\" />\n</div>\n","import {\n Component,\n input\n} from '@angular/core';\nimport { TalosCardPadding } from './card.types';\n\n@Component({\n selector: 'talos-card-body, talos-card-content, [talosCardBody], [talosCardContent]',\n templateUrl: './card-body.component.html',\n styleUrl: './card-body.component.scss',\n host: {\n 'class': 'talos-card-body-host',\n '[class.talos-card-body-padding-none]': 'padding() === \"none\"',\n '[class.talos-card-body-padding-sm]': 'padding() === \"sm\"',\n '[class.talos-card-body-padding-md]': 'padding() === \"md\"',\n '[class.talos-card-body-padding-lg]': 'padding() === \"lg\"'\n }\n})\nexport class TalosCardBodyComponent {\n /** Optional override for body padding */\n readonly padding = input<TalosCardPadding | null>(null);\n}\n","<ng-content />\n","import {\n Component,\n input\n} from '@angular/core';\nimport { TalosCardFooterAlign } from './card.types';\n\n@Component({\n selector: 'talos-card-footer, [talosCardFooter]',\n templateUrl: './card-footer.component.html',\n styleUrl: './card-footer.component.scss',\n host: {\n 'class': 'talos-card-footer-host',\n '[class.is-bordered]': 'bordered()',\n '[class.align-start]': 'align() === \"start\"',\n '[class.align-center]': 'align() === \"center\"',\n '[class.align-end]': 'align() === \"end\"',\n '[class.align-between]': 'align() === \"between\"'\n }\n})\nexport class TalosCardFooterComponent {\n /** Adds a divider border above the footer */\n readonly bordered = input<boolean>(false);\n\n /** Horizontal alignment of elements within the footer */\n readonly align = input<TalosCardFooterAlign>('end');\n}\n","<ng-content />\n","import { NgModule } from '@angular/core';\nimport { TalosCardComponent } from './card.component';\nimport { TalosCardHeaderComponent } from './card-header.component';\nimport { TalosCardBodyComponent } from './card-body.component';\nimport { TalosCardFooterComponent } from './card-footer.component';\nimport {\n TalosCardActionsDirective,\n TalosCardAvatarDirective,\n TalosCardMediaDirective,\n TalosCardSubtitleDirective,\n TalosCardTitleDirective\n} from './card.directives';\n\nconst CARD_DECLARATIONS = [\n TalosCardComponent,\n TalosCardHeaderComponent,\n TalosCardBodyComponent,\n TalosCardFooterComponent,\n TalosCardTitleDirective,\n TalosCardSubtitleDirective,\n TalosCardAvatarDirective,\n TalosCardActionsDirective,\n TalosCardMediaDirective\n];\n\n@NgModule({\n imports: [...CARD_DECLARATIONS],\n exports: [...CARD_DECLARATIONS]\n})\nexport class TalosCardModule { }\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'talos-expansion-panel-title, [talosExpansionPanelTitle], [expansionPanelTitle]',\n host: {\n 'class': 'talos-expansion-panel-title'\n }\n})\nexport class TalosExpansionPanelTitleDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-description, [talosExpansionPanelDescription], [expansionPanelDescription]',\n host: {\n 'class': 'talos-expansion-panel-description'\n }\n})\nexport class TalosExpansionPanelDescriptionDirective { }\n\n@Directive({\n selector: '[talosExpansionPanelIcon], [talosExpansionPanelAvatar], [expansionPanelIcon]',\n host: {\n 'class': 'talos-expansion-panel-icon'\n }\n})\nexport class TalosExpansionPanelIconDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-actions, [talosExpansionPanelActions], [expansionPanelActions]',\n host: {\n 'class': 'talos-expansion-panel-actions'\n }\n})\nexport class TalosExpansionPanelActionsDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]',\n host: {\n 'class': 'talos-expansion-panel-custom-toggle'\n }\n})\nexport class TalosExpansionPanelToggleDirective { }\n\n@Directive({\n selector: 'ng-template[talosExpansionPanelContent], ng-template[expansionPanelContent]',\n})\nexport class TalosExpansionPanelContentDirective { }\n","import { Component, computed, forwardRef, inject, input } from '@angular/core';\nimport { TalosExpansionPanelPadding } from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-body, [talosExpansionPanelBody], talos-expansion-panel-content',\n templateUrl: './expansion-panel-body.component.html',\n styleUrl: './expansion-panel-body.component.scss',\n host: {\n 'class': 'talos-expansion-panel-body-host',\n '[class.padding-none]': 'effectivePadding() === \"none\"',\n '[class.padding-sm]': 'effectivePadding() === \"sm\"',\n '[class.padding-md]': 'effectivePadding() === \"md\"',\n '[class.padding-lg]': 'effectivePadding() === \"lg\"'\n }\n})\nexport class TalosExpansionPanelBodyComponent {\n protected readonly panel = inject(forwardRef(() => TalosExpansionPanelComponent), { optional: true });\n\n /** Padding size inside the expansion panel body */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n protected readonly effectivePadding = computed<TalosExpansionPanelPadding>(() => {\n if (this.padding() !== undefined) {\n return this.padding()!;\n }\n return this.panel ? this.panel.effectivePadding() : 'md';\n });\n}\n","<ng-content />\n","import {\n Component,\n effect,\n input\n} from '@angular/core';\nimport {\n TalosExpansionPanelPadding,\n TalosExpansionPanelVariant\n} from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-group, [talosExpansionPanelGroup], talos-accordion, [talosAccordion]',\n templateUrl: './expansion-panel-group.component.html',\n styleUrl: './expansion-panel-group.component.scss',\n host: {\n 'class': 'talos-expansion-panel-group-host',\n '[class.is-separated]': 'separated() || variant() === \"separated\"',\n '[class.is-joined]': '!separated() && variant() !== \"separated\"',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class TalosExpansionPanelGroupComponent {\n /** Whether multiple panels can be expanded simultaneously */\n readonly multi = input<boolean>(false);\n\n /** Unified visual variant for child panels */\n readonly variant = input<TalosExpansionPanelVariant | undefined>(undefined);\n\n /** Unified body padding for child panels */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n /** Whether the entire group of panels is disabled */\n readonly disabled = input<boolean>(false);\n\n /** Whether panels have separation spacing instead of contiguous borders */\n readonly separated = input<boolean>(false);\n\n private readonly panels = new Set<TalosExpansionPanelComponent>();\n\n constructor() {\n // When multi mode is toggled off, ensure only at most one panel remains open\n effect(() => {\n const isMulti = this.multi();\n if (!isMulti) {\n let hasOpenPanel = false;\n for (const panel of this.panels) {\n if (panel.expanded()) {\n if (hasOpenPanel) {\n panel.close();\n } else {\n hasOpenPanel = true;\n }\n }\n }\n }\n });\n }\n\n registerPanel(panel: TalosExpansionPanelComponent): void {\n this.panels.add(panel);\n if (!this.multi() && panel.expanded()) {\n for (const existing of this.panels) {\n if (existing !== panel && existing.expanded()) {\n existing.close();\n }\n }\n }\n }\n\n unregisterPanel(panel: TalosExpansionPanelComponent): void {\n this.panels.delete(panel);\n }\n\n onPanelExpanded(expandedPanel: TalosExpansionPanelComponent): void {\n if (!this.multi()) {\n for (const panel of this.panels) {\n if (panel !== expandedPanel && panel.expanded()) {\n panel.close();\n }\n }\n }\n }\n\n /** Expand all registered panels (only valid when multi-expand is enabled) */\n expandAll(): void {\n if (this.disabled() || !this.multi()) return;\n\n for (const panel of this.panels) {\n panel.open();\n }\n }\n\n /** Collapse all registered panels */\n collapseAll(): void {\n for (const panel of this.panels) {\n panel.close();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ContentChild,\n DestroyRef,\n computed,\n inject,\n input,\n model,\n output,\n forwardRef\n} from '@angular/core';\nimport {\n TalosExpansionPanelPadding,\n TalosExpansionPanelTogglePosition,\n TalosExpansionPanelVariant\n} from './expansion-panel.types';\nimport { TalosExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { TalosExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { TalosExpansionPanelGroupComponent } from './expansion-panel-group.component';\n\nlet uniqueIdCounter = 0;\n\n@Component({\n selector: 'talos-expansion-panel, [talosExpansionPanel]',\n imports: [TalosExpansionPanelHeaderComponent],\n templateUrl: './expansion-panel.component.html',\n styleUrl: './expansion-panel.component.scss',\n host: {\n 'class': 'talos-expansion-panel-host',\n '[class.talos-expansion-panel-elevated]': 'effectiveVariant() === \"elevated\"',\n '[class.talos-expansion-panel-outlined]': 'effectiveVariant() === \"outlined\"',\n '[class.talos-expansion-panel-filled]': 'effectiveVariant() === \"filled\"',\n '[class.talos-expansion-panel-flat]': 'effectiveVariant() === \"flat\"',\n '[class.talos-expansion-panel-separated]': 'effectiveVariant() === \"separated\"',\n '[class.is-expanded]': 'expanded()',\n '[class.is-disabled]': 'effectiveDisabled()',\n '[attr.id]': 'id',\n '[attr.aria-disabled]': 'effectiveDisabled() ? \"true\" : null'\n }\n})\nexport class TalosExpansionPanelComponent {\n protected readonly group = inject(forwardRef(() => TalosExpansionPanelGroupComponent), { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n readonly id = `talos-expansion-panel-${++uniqueIdCounter}`;\n readonly contentId = `${this.id}-content`;\n readonly headerId = `${this.id}-header`;\n\n /** Two-way bindable expanded state */\n readonly expanded = model<boolean>(false);\n\n /** Whether the panel is disabled */\n readonly disabled = input<boolean>(false);\n\n /** Visual variant of the panel */\n readonly variant = input<TalosExpansionPanelVariant | undefined>(undefined);\n\n /** Padding for the panel body */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n /** Whether to hide the expand toggle indicator */\n readonly hideToggle = input<boolean>(false);\n\n /** Toggle indicator position */\n readonly togglePosition = input<TalosExpansionPanelTogglePosition>('right');\n\n /** Quick declarative title */\n readonly title = input<string>('');\n\n /** Quick declarative subtitle/description */\n readonly description = input<string>('');\n\n /** Emitted when the panel opens */\n readonly opened = output<void>();\n\n /** Emitted when the panel closes */\n readonly closed = output<void>();\n\n @ContentChild(TalosExpansionPanelHeaderComponent)\n protected readonly customHeader?: TalosExpansionPanelHeaderComponent;\n\n @ContentChild(TalosExpansionPanelBodyComponent)\n protected readonly customBody?: TalosExpansionPanelBodyComponent;\n\n readonly effectiveVariant = computed<TalosExpansionPanelVariant>(() => {\n if (this.variant() !== undefined) {\n return this.variant()!;\n }\n if (this.group && this.group.variant() !== undefined) {\n return this.group.variant()!;\n }\n return 'outlined';\n });\n\n readonly effectivePadding = computed<TalosExpansionPanelPadding>(() => {\n if (this.padding() !== undefined) {\n return this.padding()!;\n }\n if (this.group && this.group.padding() !== undefined) {\n return this.group.padding()!;\n }\n return 'md';\n });\n\n readonly effectiveDisabled = computed<boolean>(() => {\n if (this.disabled()) {\n return true;\n }\n return this.group ? this.group.disabled() : false;\n });\n\n constructor() {\n if (this.group) {\n this.group.registerPanel(this);\n this.destroyRef.onDestroy(() => {\n this.group?.unregisterPanel(this);\n });\n }\n }\n\n open(): void {\n if (!this.effectiveDisabled() && !this.expanded()) {\n this.expanded.set(true);\n this.opened.emit();\n this.group?.onPanelExpanded(this);\n }\n }\n\n close(): void {\n if (!this.effectiveDisabled() && this.expanded()) {\n this.expanded.set(false);\n this.closed.emit();\n }\n }\n\n toggle(): void {\n if (this.effectiveDisabled()) {\n return;\n }\n if (this.expanded()) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","@if (!customHeader && (title() || description())) {\n <talos-expansion-panel-header [title]=\"title()\" [description]=\"description()\" />\n} @else {\n <ng-content select=\"talos-expansion-panel-header, [talosExpansionPanelHeader]\" />\n}\n\n<div\n class=\"talos-expansion-panel-collapse\"\n [class.is-expanded]=\"expanded()\"\n [attr.id]=\"contentId\"\n role=\"region\"\n [attr.aria-labelledby]=\"headerId\">\n <div class=\"talos-expansion-panel-collapse-inner\">\n @if (customBody) {\n <ng-content select=\"talos-expansion-panel-body, [talosExpansionPanelBody], talos-expansion-panel-content\" />\n } @else {\n <div\n class=\"talos-expansion-panel-default-body\"\n [class.padding-none]=\"effectivePadding() === 'none'\"\n [class.padding-sm]=\"effectivePadding() === 'sm'\"\n [class.padding-md]=\"effectivePadding() === 'md'\"\n [class.padding-lg]=\"effectivePadding() === 'lg'\">\n <ng-content />\n </div>\n }\n </div>\n</div>\n","import {\n Component,\n computed,\n inject,\n input,\n forwardRef\n} from '@angular/core';\nimport { LucideChevronDown } from '@lucide/angular';\nimport { TalosExpansionPanelTogglePosition } from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-header, [talosExpansionPanelHeader]',\n imports: [LucideChevronDown],\n templateUrl: './expansion-panel-header.component.html',\n styleUrl: './expansion-panel-header.component.scss',\n host: {\n 'class': 'talos-expansion-panel-header-host',\n '[class.is-expanded]': 'isExpanded()',\n '[class.is-disabled]': 'isDisabled()',\n '[class.toggle-position-left]': 'effectiveTogglePosition() === \"left\"',\n '[class.toggle-position-right]': 'effectiveTogglePosition() === \"right\"',\n 'role': 'button',\n '[attr.tabindex]': 'isDisabled() ? -1 : 0',\n '[attr.aria-expanded]': 'isExpanded()',\n '[attr.aria-disabled]': 'isDisabled() ? \"true\" : null',\n '(click)': 'onClick($event)',\n '(keydown.enter)': 'onKeydown($event)',\n '(keydown.space)': 'onKeydown($event)'\n }\n})\nexport class TalosExpansionPanelHeaderComponent {\n protected readonly LucideChevronDown = LucideChevronDown;\n protected readonly panel = inject(forwardRef(() => TalosExpansionPanelComponent), { optional: true });\n\n /** Optional direct title text */\n readonly title = input<string>('');\n\n /** Optional direct description/subtitle text */\n readonly description = input<string>('');\n\n /** Whether to hide the expansion toggle indicator */\n readonly hideToggle = input<boolean | undefined>(undefined);\n\n /** Toggle indicator position ('left' | 'right' | 'none') */\n readonly togglePosition = input<TalosExpansionPanelTogglePosition | undefined>(undefined);\n\n /** Whether the header is disabled */\n readonly disabled = input<boolean | undefined>(undefined);\n\n protected readonly isExpanded = computed(() => {\n return this.panel ? this.panel.expanded() : false;\n });\n\n protected readonly isDisabled = computed(() => {\n if (this.disabled() !== undefined) {\n return !!this.disabled();\n }\n return this.panel ? this.panel.disabled() : false;\n });\n\n protected readonly shouldHideToggle = computed(() => {\n if (this.hideToggle() !== undefined) {\n return !!this.hideToggle();\n }\n return this.panel ? this.panel.hideToggle() : false;\n });\n\n protected readonly effectiveTogglePosition = computed<TalosExpansionPanelTogglePosition>(() => {\n if (this.shouldHideToggle()) {\n return 'none';\n }\n if (this.togglePosition() !== undefined) {\n return this.togglePosition()!;\n }\n return this.panel ? this.panel.togglePosition() : 'right';\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.panel?.toggle();\n }\n\n protected onKeydown(event: Event): void {\n if (this.isDisabled()) {\n return;\n }\n event.preventDefault();\n this.panel?.toggle();\n }\n\n protected onActionsClick(event: MouseEvent): void {\n // Prevent clicking on action buttons or custom interactive controls from toggling the panel\n event.stopPropagation();\n }\n}\n","@if (effectiveTogglePosition() === 'left') {\n <div class=\"talos-expansion-panel-toggle-wrapper talos-expansion-panel-toggle-left\" [class.is-rotated]=\"isExpanded()\">\n <ng-content select=\"talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]\">\n <svg lucideChevronDown [size]=\"16\" class=\"talos-expansion-panel-chevron\" aria-hidden=\"true\"></svg>\n </ng-content>\n </div>\n}\n\n<div class=\"talos-expansion-panel-header-leading\">\n <ng-content select=\"[talosExpansionPanelIcon], [talosExpansionPanelAvatar], [expansionPanelIcon], [avatar], [icon]\" />\n</div>\n\n<div class=\"talos-expansion-panel-header-titles\">\n @if (title()) {\n <span class=\"talos-expansion-panel-title-text\">{{ title() }}</span>\n }\n <ng-content select=\"talos-expansion-panel-title, [talosExpansionPanelTitle], [expansionPanelTitle], [title]\" />\n\n @if (description()) {\n <span class=\"talos-expansion-panel-description-text\">{{ description() }}</span>\n }\n <ng-content select=\"talos-expansion-panel-description, [talosExpansionPanelDescription], [expansionPanelDescription], [description]\" />\n</div>\n\n<div class=\"talos-expansion-panel-header-custom-content\">\n <ng-content />\n</div>\n\n<div class=\"talos-expansion-panel-header-actions\" (click)=\"onActionsClick($event)\">\n <ng-content select=\"talos-expansion-panel-actions, [talosExpansionPanelActions], [expansionPanelActions], [actions]\" />\n</div>\n\n@if (effectiveTogglePosition() === 'right') {\n <div class=\"talos-expansion-panel-toggle-wrapper talos-expansion-panel-toggle-right\" [class.is-rotated]=\"isExpanded()\">\n <ng-content select=\"talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]\">\n <svg lucideChevronDown [size]=\"16\" class=\"talos-expansion-panel-chevron\" aria-hidden=\"true\"></svg>\n </ng-content>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\nimport { TalosExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { TalosExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { TalosExpansionPanelGroupComponent } from './expansion-panel-group.component';\nimport {\n TalosExpansionPanelActionsDirective,\n TalosExpansionPanelContentDirective,\n TalosExpansionPanelDescriptionDirective,\n TalosExpansionPanelIconDirective,\n TalosExpansionPanelTitleDirective,\n TalosExpansionPanelToggleDirective\n} from './expansion-panel.directives';\n\nconst EXPANSION_PANEL_DECLARATIONS = [\n TalosExpansionPanelComponent,\n TalosExpansionPanelHeaderComponent,\n TalosExpansionPanelBodyComponent,\n TalosExpansionPanelGroupComponent,\n TalosExpansionPanelTitleDirective,\n TalosExpansionPanelDescriptionDirective,\n TalosExpansionPanelIconDirective,\n TalosExpansionPanelActionsDirective,\n TalosExpansionPanelToggleDirective,\n TalosExpansionPanelContentDirective\n];\n\n@NgModule({\n imports: [...EXPANSION_PANEL_DECLARATIONS],\n exports: [...EXPANSION_PANEL_DECLARATIONS]\n})\nexport class TalosExpansionPanelModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAkBa,aAAa,CAAA;;IAEf,kBAAkB,GAAG,MAAM,CAAU,KAAK;2FAAC;IAC3C,gBAAgB,GAAG,MAAM,CAAU,KAAK;yFAAC;IACzC,qBAAqB,GAAG,MAAM,CAAU,KAAK;8FAAC;;IAG9C,mBAAmB,GAAG,MAAM,CAAuB,IAAI;4FAAC;IACxD,gBAAgB,GAAG,MAAM,CAA0B,EAAE;yFAAC;IACtD,iBAAiB,GAAG,MAAM,CAAoB,EAAE;0FAAC;;AAGjD,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AAC7C,QAAA,QACE,IAAI,CAAC,gBAAgB,EAAE;YACvB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,SAAS,MAAM,SAAS;YAC1D,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY;IAE3C,CAAC;8FAAC;;AAGO,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;AAC1C,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,KAAK,QAAQ;IAC9E,CAAC;2FAAC;;IAGF,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;IACnD;AAEA,IAAA,mBAAmB,CAAC,SAAkB,EAAA;AACpC,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;IACxC;IAEA,yBAAyB,GAAA;AACvB,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;IACtD;AAEA,IAAA,sBAAsB,CAAC,QAAiB,EAAA;AACtC,QAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1C;IAEQ,YAAY,GAAyC,IAAI;AAEjE;;AAEG;AACH,IAAA,cAAc,CACZ,SAAkB,EAClB,SAAkC,EAAE,EACpC,UAA6B,EAAE,EAAA;AAE/B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B;AAEA,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAA0B,CAAC;AACxD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACjC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;AACzB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,GAAG;AACJ,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;IACjC;AAEA;;AAEG;IACH,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACjC;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAK;AAClC,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B,CAAC,EAAE,GAAG,CAAC;IACT;uGAnFW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA;;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCIY,kBAAkB,CAAA;;IAEpB,MAAM,GAAG,KAAK,CAAU,IAAI;+EAAC;;IAG7B,KAAK,GAAG,KAAK,CAAS,SAAS;8EAAC;;IAGhC,KAAK,GAAG,KAAK,CAAS,OAAO;8EAAC;;IAG9B,IAAI,GAAG,KAAK,CAAuB,SAAS;6EAAC;;IAG7C,SAAS,GAAG,KAAK,CAAuB,IAAI;kFAAC;;IAG7C,eAAe,GAAG,KAAK,CAA0B,EAAE;wFAAC;;IAGpD,KAAK,GAAG,MAAM,EAAQ;IAE/B,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;uGAxBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,iqCCrB/B,ukBAgBM,EAAA,MAAA,EAAA,CAAA,gtDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRM,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sCAAA,EAAA,0BAAA,EAAA,2BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,sPAAE,OAAO,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA;;2FAa/C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;+BACE,kBAAkB,EAAA,OAAA,EACnB,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAA,IAAA,EAGrD;AACJ,wBAAA,MAAM,EAAE,eAAe;AACvB,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,oBAAoB,EAAE,sBAAsB;AAC5C,wBAAA,mBAAmB,EAAE,qBAAqB;AAC1C,wBAAA,uBAAuB,EAAE,SAAS;AAClC,wBAAA,mBAAmB,EAAE;AACtB,qBAAA,EAAA,QAAA,EAAA,ukBAAA,EAAA,MAAA,EAAA,CAAA,gtDAAA,CAAA,EAAA;;;MEDU,mBAAmB,CAAA;AACX,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAExD,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,EAAE;AAC/D,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;QACtC;IACF;uGAPW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,oCAAA,EAAA,wBAAA,EAAA,kCAAA,EAAA,0BAAA,EAAA,oCAAA,EAAA,6BAAA,EAAA,uCAAA,EAAA,qBAAA,EAAA,uCAAA,EAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBhC,guCAyBM,EAAA,MAAA,EAAA,CAAA,g/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnBM,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAYjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,OAAA,EACpB,CAAC,kBAAkB,CAAC,EAAA,IAAA,EAGvB;AACJ,wBAAA,OAAO,EAAE,wBAAwB;AACjC,wBAAA,4BAA4B,EAAE,oCAAoC;AAClE,wBAAA,0BAA0B,EAAE,kCAAkC;AAC9D,wBAAA,4BAA4B,EAAE,oCAAoC;AAClE,wBAAA,+BAA+B,EAAE,uCAAuC;AACxE,wBAAA,uBAAuB,EAAE;AAC1B,qBAAA,EAAA,QAAA,EAAA,guCAAA,EAAA,MAAA,EAAA,CAAA,g/CAAA,CAAA,EAAA;;;MERU,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,0BAA0B,CAAA;uGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0CAA0C;AACpD,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,yBAAyB,CAAA;uGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;;MCJY,kBAAkB,CAAA;;IAEpB,OAAO,GAAG,KAAK,CAAmB,UAAU;gFAAC;;IAG7C,OAAO,GAAG,KAAK,CAAmB,IAAI;gFAAC;;IAGvC,SAAS,GAAG,KAAK,CAAU,KAAK;kFAAC;;IAGjC,SAAS,GAAG,KAAK,CAAU,KAAK;kFAAC;;IAGjC,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,SAAS,GAAG,MAAM,EAA8B;AAEtC,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oFAAC;AAElE,IAAA,IAAI,GAAG,QAAQ,CAAC,MAAK;AACtC,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,YAAA,OAAO,QAAQ;QACjB;AACA,QAAA,OAAO,SAAS;IAClB,CAAC;6EAAC;AAEiB,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AAC1C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,OAAO,CAAC,CAAC;QACX;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,IAAI;IACb,CAAC;iFAAC;AAEQ,IAAA,OAAO,CAAC,KAAiB,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YACvB;QACF;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B;IACF;AAEU,IAAA,SAAS,CAAC,KAAY,EAAA;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACxC;QACF;AACA,QAAA,MAAM,GAAG,GAAG,KAAK,YAAY,aAAa,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE;QAC3D,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE;YAClC,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAsB,CAAC;QAC7C;IACF;uGA7DW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,kzDCnC/B,kBACA,EAAA,MAAA,EAAA,CAAA,+4EAAA,CAAA,EAAA,CAAA;;2FDkCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA3B9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,IAAA,EAG7B;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,6BAA6B,EAAE,0BAA0B;AACzD,wBAAA,6BAA6B,EAAE,0BAA0B;AACzD,wBAAA,yBAAyB,EAAE,sBAAsB;AACjD,wBAAA,2BAA2B,EAAE,wBAAwB;AACrD,wBAAA,iCAAiC,EAAE,sBAAsB;AACzD,wBAAA,+BAA+B,EAAE,oBAAoB;AACrD,wBAAA,+BAA+B,EAAE,oBAAoB;AACrD,wBAAA,+BAA+B,EAAE,oBAAoB;AACrD,wBAAA,sBAAsB,EAAE,aAAa;AACrC,wBAAA,sBAAsB,EAAE,eAAe;AACvC,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,iBAAiB,EAAE,YAAY;AAC/B,wBAAA,sBAAsB,EAAE,4BAA4B;AACpD,wBAAA,sBAAsB,EAAE,4BAA4B;AACpD,wBAAA,SAAS,EAAE,iBAAiB;AAC5B,wBAAA,iBAAiB,EAAE,mBAAmB;AACtC,wBAAA,iBAAiB,EAAE;AACpB,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+4EAAA,CAAA,EAAA;;;MEnBU,wBAAwB,CAAA;;IAE1B,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;;IAGzB,QAAQ,GAAG,KAAK,CAAS,EAAE;iFAAC;;IAG5B,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;uGAR9B,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,6kBCdrC,24BA6BA,EAAA,MAAA,EAAA,CAAA,kxCAAA,CAAA,EAAA,CAAA;;2FDfa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sCAAsC,EAAA,IAAA,EAG1C;AACJ,wBAAA,OAAO,EAAE,wBAAwB;AACjC,wBAAA,qBAAqB,EAAE;AACxB,qBAAA,EAAA,QAAA,EAAA,24BAAA,EAAA,MAAA,EAAA,CAAA,kxCAAA,CAAA,EAAA;;;MEMU,sBAAsB,CAAA;;IAExB,OAAO,GAAG,KAAK,CAA0B,IAAI;gFAAC;uGAF5C,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,okBClBnC,kBACA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA,CAAA;;2FDiBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0EAA0E,EAAA,IAAA,EAG9E;AACJ,wBAAA,OAAO,EAAE,sBAAsB;AAC/B,wBAAA,sCAAsC,EAAE,sBAAsB;AAC9D,wBAAA,oCAAoC,EAAE,oBAAoB;AAC1D,wBAAA,oCAAoC,EAAE,oBAAoB;AAC1D,wBAAA,oCAAoC,EAAE;AACvC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,2UAAA,CAAA,EAAA;;;MEGU,wBAAwB,CAAA;;IAE1B,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,KAAK,GAAG,KAAK,CAAuB,KAAK;8EAAC;uGALxC,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,soBCnBrC,kBACA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA,CAAA;;2FDkBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sCAAsC,EAAA,IAAA,EAG1C;AACJ,wBAAA,OAAO,EAAE,wBAAwB;AACjC,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,qBAAqB,EAAE,qBAAqB;AAC5C,wBAAA,sBAAsB,EAAE,sBAAsB;AAC9C,wBAAA,mBAAmB,EAAE,mBAAmB;AACxC,wBAAA,uBAAuB,EAAE;AAC1B,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA;;;AEJH,MAAM,iBAAiB,GAAG;IACxB,kBAAkB;IAClB,wBAAwB;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB;CACD;MAMY,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAf1B,kBAAkB;YAClB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,uBAAuB;YACvB,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;AACzB,YAAA,uBAAuB,aARvB,kBAAkB;YAClB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,uBAAuB;YACvB,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB,CAAA,EAAA,CAAA;wGAOZ,eAAe,EAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,iBAAiB,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,GAAG,iBAAiB;AAC/B,iBAAA;;;MCpBY,iCAAiC,CAAA;uGAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gFAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAN7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gFAAgF;AAC1F,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,uCAAuC,CAAA;uGAAvC,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kGAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBANnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kGAAkG;AAC5G,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,gCAAgC,CAAA;uGAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAN5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8EAA8E;AACxF,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,mCAAmC,CAAA;uGAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAN/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sFAAsF;AAChG,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MASY,kCAAkC,CAAA;uGAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mFAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mFAAmF;AAC7F,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;MAMY,mCAAmC,CAAA;uGAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6EAA6E;AACxF,iBAAA;;;MC5BY,gCAAgC,CAAA;AACxB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,4BAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;IAG5F,OAAO,GAAG,KAAK,CAAyC,SAAS;gFAAC;AAExD,IAAA,gBAAgB,GAAG,QAAQ,CAA6B,MAAK;AAC9E,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,OAAO,EAAG;QACxB;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,IAAI;IAC1D,CAAC;yFAAC;uGAXS,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,+jBChB7C,kBACA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA,CAAA;;2FDea,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAZ5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sFAAsF,EAAA,IAAA,EAG1F;AACJ,wBAAA,OAAO,EAAE,iCAAiC;AAC1C,wBAAA,sBAAsB,EAAE,+BAA+B;AACvD,wBAAA,oBAAoB,EAAE,6BAA6B;AACnD,wBAAA,oBAAoB,EAAE,6BAA6B;AACnD,wBAAA,oBAAoB,EAAE;AACvB,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA;;;MEQU,iCAAiC,CAAA;;IAEnC,KAAK,GAAG,KAAK,CAAU,KAAK;8EAAC;;IAG7B,OAAO,GAAG,KAAK,CAAyC,SAAS;gFAAC;;IAGlE,OAAO,GAAG,KAAK,CAAyC,SAAS;gFAAC;;IAGlE,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,SAAS,GAAG,KAAK,CAAU,KAAK;kFAAC;AAEzB,IAAA,MAAM,GAAG,IAAI,GAAG,EAAgC;AAEjE,IAAA,WAAA,GAAA;;QAEE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,YAAY,GAAG,KAAK;AACxB,gBAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AAC/B,oBAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE;wBACpB,IAAI,YAAY,EAAE;4BAChB,KAAK,CAAC,KAAK,EAAE;wBACf;6BAAO;4BACL,YAAY,GAAG,IAAI;wBACrB;oBACF;gBACF;YACF;AACF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,aAAa,CAAC,KAAmC,EAAA;AAC/C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE;AACrC,YAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE;oBAC7C,QAAQ,CAAC,KAAK,EAAE;gBAClB;YACF;QACF;IACF;AAEA,IAAA,eAAe,CAAC,KAAmC,EAAA;AACjD,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,eAAe,CAAC,aAA2C,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AACjB,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC/B,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE;oBAC/C,KAAK,CAAC,KAAK,EAAE;gBACf;YACF;QACF;IACF;;IAGA,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAAE;AAEtC,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,KAAK,CAAC,IAAI,EAAE;QACd;IACF;;IAGA,WAAW,GAAA;AACT,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,KAAK,CAAC,KAAK,EAAE;QACf;IACF;uGA5EW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,khCCtB9C,kBACA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA,CAAA;;2FDqBa,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAX7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4FAA4F,EAAA,IAAA,EAGhG;AACJ,wBAAA,OAAO,EAAE,kCAAkC;AAC3C,wBAAA,sBAAsB,EAAE,0CAA0C;AAClE,wBAAA,mBAAmB,EAAE,2CAA2C;AAChE,wBAAA,qBAAqB,EAAE;AACxB,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,64BAAA,CAAA,EAAA;;;AEAH,IAAI,eAAe,GAAG,CAAC;MAoBV,4BAA4B,CAAA;AACpB,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,iCAAiC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzF,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEvC,IAAA,EAAE,GAAG,CAAA,sBAAA,EAAyB,EAAE,eAAe,EAAE;AACjD,IAAA,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,UAAU;AAChC,IAAA,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,SAAS;;IAG9B,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;;IAGhC,OAAO,GAAG,KAAK,CAAyC,SAAS;gFAAC;;IAGlE,OAAO,GAAG,KAAK,CAAyC,SAAS;gFAAC;;IAGlE,UAAU,GAAG,KAAK,CAAU,KAAK;mFAAC;;IAGlC,cAAc,GAAG,KAAK,CAAoC,OAAO;uFAAC;;IAGlE,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;;IAGzB,WAAW,GAAG,KAAK,CAAS,EAAE;oFAAC;;IAG/B,MAAM,GAAG,MAAM,EAAQ;;IAGvB,MAAM,GAAG,MAAM,EAAQ;AAGb,IAAA,YAAY;AAGZ,IAAA,UAAU;AAEpB,IAAA,gBAAgB,GAAG,QAAQ,CAA6B,MAAK;AACpE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,OAAO,EAAG;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;AACpD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAG;QAC9B;AACA,QAAA,OAAO,UAAU;IACnB,CAAC;yFAAC;AAEO,IAAA,gBAAgB,GAAG,QAAQ,CAA6B,MAAK;AACpE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC,OAAO,EAAG;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE;AACpD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAG;QAC9B;AACA,QAAA,OAAO,IAAI;IACb,CAAC;yFAAC;AAEO,IAAA,iBAAiB,GAAG,QAAQ,CAAU,MAAK;AAClD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK;IACnD,CAAC;0FAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AAC9B,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;AAC7B,gBAAA,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;AACnC,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;QACnC;IACF;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AAChD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B;QACF;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,EAAE;QACd;aAAO;YACL,IAAI,CAAC,IAAI,EAAE;QACb;IACF;uGAxGW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,62DAsCzB,kCAAkC,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGlC,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjFhD,++BA2BA,2iFDHY,kCAAkC,EAAA,QAAA,EAAA,2DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAgBjC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAlBxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8CAA8C,EAAA,OAAA,EAC/C,CAAC,kCAAkC,CAAC,EAAA,IAAA,EAGvC;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACrC,wBAAA,wCAAwC,EAAE,mCAAmC;AAC7E,wBAAA,wCAAwC,EAAE,mCAAmC;AAC7E,wBAAA,sCAAsC,EAAE,iCAAiC;AACzE,wBAAA,oCAAoC,EAAE,+BAA+B;AACrE,wBAAA,yCAAyC,EAAE,oCAAoC;AAC/E,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,qBAAqB,EAAE,qBAAqB;AAC5C,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,sBAAsB,EAAE;AACzB,qBAAA,EAAA,QAAA,EAAA,++BAAA,EAAA,MAAA,EAAA,CAAA,m/EAAA,CAAA,EAAA;;sBAwCA,YAAY;uBAAC,kCAAkC;;sBAG/C,YAAY;uBAAC,gCAAgC;;;MElDnC,kCAAkC,CAAA;IAC1B,iBAAiB,GAAG,iBAAiB;AACrC,IAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,4BAA4B,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;IAG5F,KAAK,GAAG,KAAK,CAAS,EAAE;8EAAC;;IAGzB,WAAW,GAAG,KAAK,CAAS,EAAE;oFAAC;;IAG/B,UAAU,GAAG,KAAK,CAAsB,SAAS;mFAAC;;IAGlD,cAAc,GAAG,KAAK,CAAgD,SAAS;uFAAC;;IAGhF,QAAQ,GAAG,KAAK,CAAsB,SAAS;iFAAC;AAEtC,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK;IACnD,CAAC;mFAAC;AAEiB,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,EAAE;AACjC,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC1B;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK;IACnD,CAAC;mFAAC;AAEiB,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AAClD,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS,EAAE;AACnC,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;QAC5B;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK;IACrD,CAAC;yFAAC;AAEiB,IAAA,uBAAuB,GAAG,QAAQ,CAAoC,MAAK;AAC5F,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC3B,YAAA,OAAO,MAAM;QACf;AACA,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,SAAS,EAAE;AACvC,YAAA,OAAO,IAAI,CAAC,cAAc,EAAG;QAC/B;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,OAAO;IAC3D,CAAC;gGAAC;AAEQ,IAAA,OAAO,CAAC,KAAiB,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YACvB;QACF;AACA,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;IACtB;AAEU,IAAA,SAAS,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB;QACF;QACA,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;IACtB;AAEU,IAAA,cAAc,CAAC,KAAiB,EAAA;;QAExC,KAAK,CAAC,eAAe,EAAE;IACzB;uGAnEW,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2DAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,wCAAA,EAAA,6BAAA,EAAA,yCAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,gCAAA,EAAA,EAAA,cAAA,EAAA,mCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B/C,42DAuCA,EAAA,MAAA,EAAA,CAAA,mjGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1BY,iBAAiB,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA;;2FAkBhB,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBApB9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2DAA2D,EAAA,OAAA,EAC5D,CAAC,iBAAiB,CAAC,EAAA,IAAA,EAGtB;AACJ,wBAAA,OAAO,EAAE,mCAAmC;AAC5C,wBAAA,qBAAqB,EAAE,cAAc;AACrC,wBAAA,qBAAqB,EAAE,cAAc;AACrC,wBAAA,8BAA8B,EAAE,sCAAsC;AACtE,wBAAA,+BAA+B,EAAE,uCAAuC;AACxE,wBAAA,MAAM,EAAE,QAAQ;AAChB,wBAAA,iBAAiB,EAAE,uBAAuB;AAC1C,wBAAA,sBAAsB,EAAE,cAAc;AACtC,wBAAA,sBAAsB,EAAE,8BAA8B;AACtD,wBAAA,SAAS,EAAE,iBAAiB;AAC5B,wBAAA,iBAAiB,EAAE,mBAAmB;AACtC,wBAAA,iBAAiB,EAAE;AACpB,qBAAA,EAAA,QAAA,EAAA,42DAAA,EAAA,MAAA,EAAA,CAAA,mjGAAA,CAAA,EAAA;;;AEfH,MAAM,4BAA4B,GAAG;IACnC,4BAA4B;IAC5B,kCAAkC;IAClC,gCAAgC;IAChC,iCAAiC;IACjC,iCAAiC;IACjC,uCAAuC;IACvC,gCAAgC;IAChC,mCAAmC;IACnC,kCAAkC;IAClC;CACD;MAMY,yBAAyB,CAAA;uGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAhBpC,4BAA4B;YAC5B,kCAAkC;YAClC,gCAAgC;YAChC,iCAAiC;YACjC,iCAAiC;YACjC,uCAAuC;YACvC,gCAAgC;YAChC,mCAAmC;YACnC,kCAAkC;AAClC,YAAA,mCAAmC,aATnC,4BAA4B;YAC5B,kCAAkC;YAClC,gCAAgC;YAChC,iCAAiC;YACjC,iCAAiC;YACjC,uCAAuC;YACvC,gCAAgC;YAChC,mCAAmC;YACnC,kCAAkC;YAClC,mCAAmC,CAAA,EAAA,CAAA;AAOxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAhBpC,4BAA4B;YAC5B,kCAAkC,CAAA,EAAA,CAAA;;2FAevB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,4BAA4B,CAAC;AAC1C,oBAAA,OAAO,EAAE,CAAC,GAAG,4BAA4B;AAC1C,iBAAA;;;AC9BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"weeehaoooz-talos-ui-layout.mjs","sources":["../../../projects/talos-ui/layout/layout.service.ts","../../../projects/talos-ui/layout/side-panel/side-panel.component.ts","../../../projects/talos-ui/layout/side-panel/side-panel.component.html","../../../projects/talos-ui/layout/main-layout/main-layout.component.ts","../../../projects/talos-ui/layout/main-layout/main-layout.component.html","../../../projects/talos-ui/layout/card/card.directives.ts","../../../projects/talos-ui/layout/card/card.component.ts","../../../projects/talos-ui/layout/card/card.component.html","../../../projects/talos-ui/layout/card/card-header.component.ts","../../../projects/talos-ui/layout/card/card-header.component.html","../../../projects/talos-ui/layout/card/card-body.component.ts","../../../projects/talos-ui/layout/card/card-body.component.html","../../../projects/talos-ui/layout/card/card-footer.component.ts","../../../projects/talos-ui/layout/card/card-footer.component.html","../../../projects/talos-ui/layout/card/card.module.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.directives.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-body.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-body.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-group.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-group.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-header.component.ts","../../../projects/talos-ui/layout/expansion-panel/expansion-panel-header.component.html","../../../projects/talos-ui/layout/expansion-panel/expansion-panel.module.ts","../../../projects/talos-ui/layout/tabs/tabs.directives.ts","../../../projects/talos-ui/layout/tabs/tab.component.ts","../../../projects/talos-ui/layout/tabs/tab.component.html","../../../projects/talos-ui/layout/tabs/tabs.component.ts","../../../projects/talos-ui/layout/tabs/tabs.component.html","../../../projects/talos-ui/layout/tabs/tabs.module.ts","../../../projects/talos-ui/layout/stepper/step.component.ts","../../../projects/talos-ui/layout/stepper/step.component.html","../../../projects/talos-ui/layout/stepper/stepper.component.ts","../../../projects/talos-ui/layout/stepper/stepper.component.html","../../../projects/talos-ui/layout/stepper/stepper.directives.ts","../../../projects/talos-ui/layout/stepper/stepper.module.ts","../../../projects/talos-ui/layout/weeehaoooz-talos-ui-layout.ts"],"sourcesContent":["import { Injectable, Type, computed, signal } from '@angular/core';\n\nexport interface RightPanelOptions {\n /** Title displayed in the panel header shell */\n title?: string;\n /** Custom width for the panel (e.g. '400px', '500px') */\n width?: string;\n /** Panel rendering mode: 'overlay' (floating over content) or 'inline' (pushes content) */\n mode?: 'overlay' | 'inline';\n /** Whether to blur and lock background interactions on main content area */\n blurBackdrop?: boolean;\n /** Whether clicking backdrop closes panel (defaults to true if blurBackdrop is enabled) */\n closeOnBackdropClick?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n // Reactive Signals for layout state\n readonly isLeftNavCollapsed = signal<boolean>(false);\n readonly isRightPanelOpen = signal<boolean>(false);\n readonly isMainContentExpanded = signal<boolean>(false);\n\n // Dynamic component injection signals\n readonly rightPanelComponent = signal<Type<unknown> | null>(null);\n readonly rightPanelInputs = signal<Record<string, unknown>>({});\n readonly rightPanelOptions = signal<RightPanelOptions>({});\n\n // Computed state for backdrop blur\n readonly shouldBlurMainContent = computed(() => {\n return (\n this.isRightPanelOpen() &&\n (this.rightPanelOptions().mode ?? 'overlay') === 'overlay' &&\n !!this.rightPanelOptions().blurBackdrop\n );\n });\n\n // Computed state for inline panel mode\n readonly isRightPanelInline = computed(() => {\n return this.isRightPanelOpen() && this.rightPanelOptions().mode === 'inline';\n });\n\n // Action methods\n toggleLeftNav(): void {\n this.isLeftNavCollapsed.update((state) => !state);\n }\n\n setLeftNavCollapsed(collapsed: boolean): void {\n this.isLeftNavCollapsed.set(collapsed);\n }\n\n toggleMainContentExpanded(): void {\n this.isMainContentExpanded.update((state) => !state);\n }\n\n setMainContentExpanded(expanded: boolean): void {\n this.isMainContentExpanded.set(expanded);\n }\n\n private closeTimeout: ReturnType<typeof setTimeout> | null = null;\n\n /**\n * Dynamically open the right side panel with a specified component and inputs.\n */\n openRightPanel<T>(\n component: Type<T>,\n inputs: Record<string, unknown> = {},\n options: RightPanelOptions = {}\n ): void {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n this.closeTimeout = null;\n }\n\n this.rightPanelComponent.set(component as Type<unknown>);\n this.rightPanelInputs.set(inputs);\n this.rightPanelOptions.set({\n mode: 'overlay',\n closeOnBackdropClick: true,\n ...options\n });\n this.isRightPanelOpen.set(true);\n }\n\n /**\n * Close the right side panel and clear injected component state after animation completes.\n */\n closeRightPanel(): void {\n this.isRightPanelOpen.set(false);\n\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n\n this.closeTimeout = setTimeout(() => {\n this.rightPanelComponent.set(null);\n this.rightPanelInputs.set({});\n this.rightPanelOptions.set({});\n this.closeTimeout = null;\n }, 300);\n }\n}\n","import { Component, Type, input, output } from '@angular/core';\nimport { NgComponentOutlet } from '@angular/common';\nimport { TalosButtonDirective } from '@weeehaoooz/talos-ui/button';\n\nimport { LucideX } from '@lucide/angular';\n\n@Component({\n selector: 'talos-side-panel',\n imports: [NgComponentOutlet, TalosButtonDirective, LucideX],\n templateUrl: './side-panel.component.html',\n styleUrl: './side-panel.component.scss',\n host: {\n 'role': 'complementary',\n 'class': 'side-panel-host',\n '[class.is-open]': 'isOpen()',\n '[class.is-overlay]': 'mode() === \"overlay\"',\n '[class.is-inline]': 'mode() === \"inline\"',\n '[style.--panel-width]': 'width()',\n '[attr.aria-label]': 'title() || \"Details Panel\"'\n }\n})\nexport class SidePanelComponent {\n /** Whether the panel is currently open and visible */\n readonly isOpen = input<boolean>(true);\n\n /** Panel title displayed in header */\n readonly title = input<string>('Details');\n\n /** Custom panel width (e.g. '380px', '500px', '100%') */\n readonly width = input<string>('380px');\n\n /** Panel mode: 'overlay' (floating) or 'inline' (push content) */\n readonly mode = input<'overlay' | 'inline'>('overlay');\n\n /** Dynamic component to instantiate via NgComponentOutlet */\n readonly component = input<Type<unknown> | null>(null);\n\n /** Inputs object to pass to the dynamically injected component */\n readonly componentInputs = input<Record<string, unknown>>({});\n\n /** Event emitted when the close button is clicked */\n readonly close = output<void>();\n\n onClose(): void {\n this.close.emit();\n }\n}\n","<div class=\"side-panel-inner\">\n <div class=\"side-panel-header\">\n <h3 class=\"side-panel-title\">\n {{ title() }}\n </h3>\n <button type=\"button\" talosButton variant=\"ghost\" size=\"sm\" [iconOnly]=\"true\" class=\"side-panel-close-btn\"\n (click)=\"onClose()\" aria-label=\"Close details panel\">\n <svg lucideX [size]=\"16\"></svg>\n </button>\n </div>\n <div class=\"side-panel-body\">\n @if (component()) {\n <ng-container *ngComponentOutlet=\"component()!; inputs: componentInputs()\" />\n }\n <ng-content />\n </div>\n</div>","import { Component, inject } from '@angular/core';\nimport { LayoutService } from '../layout.service';\nimport { SidePanelComponent } from '../side-panel/side-panel.component';\n\n@Component({\n selector: 'talos-main-layout',\n imports: [SidePanelComponent],\n templateUrl: './main-layout.component.html',\n styleUrl: './main-layout.component.scss',\n host: {\n 'class': 'talos-main-layout-host',\n '[class.left-nav-collapsed]': 'layoutService.isLeftNavCollapsed()',\n '[class.right-panel-open]': 'layoutService.isRightPanelOpen()',\n '[class.right-panel-inline]': 'layoutService.isRightPanelInline()',\n '[class.main-content-expanded]': 'layoutService.isMainContentExpanded()',\n '[class.blur-backdrop]': 'layoutService.shouldBlurMainContent()'\n }\n})\nexport class MainLayoutComponent {\n protected readonly layoutService = inject(LayoutService);\n\n onBackdropClick(): void {\n if (this.layoutService.rightPanelOptions().closeOnBackdropClick) {\n this.layoutService.closeRightPanel();\n }\n }\n}\n","<!-- Top Header Slot (Spanning 100% full width across top of viewport) -->\n<ng-content select=\"talos-top-nav, app-header, header, [top-nav], [header]\" />\n\n<div class=\"layout-body-wrapper\">\n <!-- Side Nav Slot (Accepts talos-side-nav, app-side-nav, or elements with [side-nav]) -->\n <ng-content select=\"talos-side-nav, app-side-nav, [side-nav]\" />\n\n <!-- Mobile Sidebar Overlay Backdrop -->\n @if (!layoutService.isLeftNavCollapsed()) {\n <div class=\"mobile-sidebar-backdrop\" (click)=\"layoutService.setLeftNavCollapsed(true)\" aria-hidden=\"true\"></div>\n }\n\n <!-- Main Content Container Area -->\n <div class=\"main-content-wrapper\">\n <main class=\"main-content-container\" role=\"main\">\n <ng-content />\n </main>\n\n <!-- Optional Blur Backdrop Overlay -->\n @if (layoutService.shouldBlurMainContent()) {\n <div class=\"main-backdrop-overlay\" (click)=\"onBackdropClick()\" aria-hidden=\"true\"></div>\n }\n </div>\n\n <!-- Dynamic Right Side Panel Drawer Component -->\n <talos-side-panel [isOpen]=\"layoutService.isRightPanelOpen()\"\n [title]=\"layoutService.rightPanelOptions().title ?? 'Details'\"\n [width]=\"layoutService.rightPanelOptions().width ?? '380px'\"\n [mode]=\"layoutService.rightPanelOptions().mode ?? 'overlay'\" [component]=\"layoutService.rightPanelComponent()\"\n [componentInputs]=\"layoutService.rightPanelInputs()\" (close)=\"layoutService.closeRightPanel()\" />\n</div>","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'talos-card-title, [talosCardTitle]',\n host: {\n 'class': 'talos-card-title'\n }\n})\nexport class TalosCardTitleDirective { }\n\n@Directive({\n selector: 'talos-card-subtitle, [talosCardSubtitle]',\n host: {\n 'class': 'talos-card-subtitle'\n }\n})\nexport class TalosCardSubtitleDirective { }\n\n@Directive({\n selector: '[talosCardAvatar], [talosCardIcon]',\n host: {\n 'class': 'talos-card-avatar'\n }\n})\nexport class TalosCardAvatarDirective { }\n\n@Directive({\n selector: 'talos-card-actions, [talosCardActions]',\n host: {\n 'class': 'talos-card-actions'\n }\n})\nexport class TalosCardActionsDirective { }\n\n@Directive({\n selector: 'talos-card-media, [talosCardMedia]',\n host: {\n 'class': 'talos-card-media'\n }\n})\nexport class TalosCardMediaDirective { }\n","import {\n Component,\n computed,\n input,\n output\n} from '@angular/core';\nimport { TalosCardPadding, TalosCardVariant } from './card.types';\n\n@Component({\n selector: 'talos-card, [talosCard]',\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n host: {\n 'class': 'talos-card-host',\n '[class.talos-card-elevated]': 'variant() === \"elevated\"',\n '[class.talos-card-outlined]': 'variant() === \"outlined\"',\n '[class.talos-card-flat]': 'variant() === \"flat\"',\n '[class.talos-card-filled]': 'variant() === \"filled\"',\n '[class.talos-card-padding-none]': 'padding() === \"none\"',\n '[class.talos-card-padding-sm]': 'padding() === \"sm\"',\n '[class.talos-card-padding-md]': 'padding() === \"md\"',\n '[class.talos-card-padding-lg]': 'padding() === \"lg\"',\n '[class.is-hoverable]': 'hoverable()',\n '[class.is-clickable]': 'isClickable()',\n '[class.is-selected]': 'selected()',\n '[class.is-disabled]': 'disabled()',\n '[attr.role]': 'role()',\n '[attr.tabindex]': 'tabIndex()',\n '[attr.aria-disabled]': 'disabled() ? \"true\" : null',\n '[attr.aria-selected]': 'selected() ? \"true\" : null',\n '(click)': 'onClick($event)',\n '(keydown.enter)': 'onKeydown($event)',\n '(keydown.space)': 'onKeydown($event)'\n }\n})\nexport class TalosCardComponent {\n /** Visual style variant of the card */\n readonly variant = input<TalosCardVariant>('elevated');\n\n /** Inner padding size of the card container */\n readonly padding = input<TalosCardPadding>('md');\n\n /** Adds hover elevation lift and animated border glow */\n readonly hoverable = input<boolean>(false);\n\n /** Enables interactive pointer cursor, active state, and keyboard focus */\n readonly clickable = input<boolean>(false);\n\n /** Indicates if card is in an active selected state */\n readonly selected = input<boolean>(false);\n\n /** Disables interactions and reduces opacity */\n readonly disabled = input<boolean>(false);\n\n /** Emitted when the card is clicked or triggered via keyboard */\n readonly cardClick = output<MouseEvent | KeyboardEvent>();\n\n protected readonly isClickable = computed(() => this.clickable() && !this.disabled());\n\n protected readonly role = computed(() => {\n if (this.clickable()) {\n return 'button';\n }\n return undefined;\n });\n\n protected readonly tabIndex = computed(() => {\n if (this.disabled()) {\n return -1;\n }\n if (this.clickable()) {\n return 0;\n }\n return null;\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n if (this.clickable()) {\n this.cardClick.emit(event);\n }\n }\n\n protected onKeydown(event: Event): void {\n if (this.disabled() || !this.clickable()) {\n return;\n }\n const key = event instanceof KeyboardEvent ? event.key : '';\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n this.cardClick.emit(event as KeyboardEvent);\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n input\n} from '@angular/core';\n\n@Component({\n selector: 'talos-card-header, [talosCardHeader]',\n templateUrl: './card-header.component.html',\n styleUrl: './card-header.component.scss',\n host: {\n 'class': 'talos-card-header-host',\n '[class.is-bordered]': 'bordered()'\n }\n})\nexport class TalosCardHeaderComponent {\n /** Optional title text displayed in the header */\n readonly title = input<string>('');\n\n /** Optional subtitle text displayed beneath the title */\n readonly subtitle = input<string>('');\n\n /** Adds a divider border beneath the header */\n readonly bordered = input<boolean>(false);\n}\n","<div class=\"talos-card-header-main\">\n <div class=\"talos-card-header-leading\">\n <ng-content select=\"[talosCardAvatar], [talosCardIcon], [avatar], [icon]\" />\n </div>\n\n @if (title() || subtitle()) {\n <div class=\"talos-card-header-titles\">\n @if (title()) {\n <h3 class=\"talos-card-title\">{{ title() }}</h3>\n }\n @if (subtitle()) {\n <p class=\"talos-card-subtitle\">{{ subtitle() }}</p>\n }\n </div>\n }\n\n <div class=\"talos-card-header-custom-titles\">\n <ng-content select=\"talos-card-title, [talosCardTitle], [title]\" />\n <ng-content select=\"talos-card-subtitle, [talosCardSubtitle], [subtitle]\" />\n </div>\n\n <div class=\"talos-card-header-content\">\n <ng-content />\n </div>\n</div>\n\n<div class=\"talos-card-header-actions\">\n <ng-content select=\"talos-card-actions, [talosCardActions], [actions]\" />\n</div>\n","import {\n Component,\n input\n} from '@angular/core';\nimport { TalosCardPadding } from './card.types';\n\n@Component({\n selector: 'talos-card-body, talos-card-content, [talosCardBody], [talosCardContent]',\n templateUrl: './card-body.component.html',\n styleUrl: './card-body.component.scss',\n host: {\n 'class': 'talos-card-body-host',\n '[class.talos-card-body-padding-none]': 'padding() === \"none\"',\n '[class.talos-card-body-padding-sm]': 'padding() === \"sm\"',\n '[class.talos-card-body-padding-md]': 'padding() === \"md\"',\n '[class.talos-card-body-padding-lg]': 'padding() === \"lg\"'\n }\n})\nexport class TalosCardBodyComponent {\n /** Optional override for body padding */\n readonly padding = input<TalosCardPadding | null>(null);\n}\n","<ng-content />\n","import {\n Component,\n input\n} from '@angular/core';\nimport { TalosCardFooterAlign } from './card.types';\n\n@Component({\n selector: 'talos-card-footer, [talosCardFooter]',\n templateUrl: './card-footer.component.html',\n styleUrl: './card-footer.component.scss',\n host: {\n 'class': 'talos-card-footer-host',\n '[class.is-bordered]': 'bordered()',\n '[class.align-start]': 'align() === \"start\"',\n '[class.align-center]': 'align() === \"center\"',\n '[class.align-end]': 'align() === \"end\"',\n '[class.align-between]': 'align() === \"between\"'\n }\n})\nexport class TalosCardFooterComponent {\n /** Adds a divider border above the footer */\n readonly bordered = input<boolean>(false);\n\n /** Horizontal alignment of elements within the footer */\n readonly align = input<TalosCardFooterAlign>('end');\n}\n","<ng-content />\n","import { NgModule } from '@angular/core';\nimport { TalosCardComponent } from './card.component';\nimport { TalosCardHeaderComponent } from './card-header.component';\nimport { TalosCardBodyComponent } from './card-body.component';\nimport { TalosCardFooterComponent } from './card-footer.component';\nimport {\n TalosCardActionsDirective,\n TalosCardAvatarDirective,\n TalosCardMediaDirective,\n TalosCardSubtitleDirective,\n TalosCardTitleDirective\n} from './card.directives';\n\nconst CARD_DECLARATIONS = [\n TalosCardComponent,\n TalosCardHeaderComponent,\n TalosCardBodyComponent,\n TalosCardFooterComponent,\n TalosCardTitleDirective,\n TalosCardSubtitleDirective,\n TalosCardAvatarDirective,\n TalosCardActionsDirective,\n TalosCardMediaDirective\n];\n\n@NgModule({\n imports: [...CARD_DECLARATIONS],\n exports: [...CARD_DECLARATIONS]\n})\nexport class TalosCardModule { }\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'talos-expansion-panel-title, [talosExpansionPanelTitle], [expansionPanelTitle]',\n host: {\n 'class': 'talos-expansion-panel-title'\n }\n})\nexport class TalosExpansionPanelTitleDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-description, [talosExpansionPanelDescription], [expansionPanelDescription]',\n host: {\n 'class': 'talos-expansion-panel-description'\n }\n})\nexport class TalosExpansionPanelDescriptionDirective { }\n\n@Directive({\n selector: '[talosExpansionPanelIcon], [talosExpansionPanelAvatar], [expansionPanelIcon]',\n host: {\n 'class': 'talos-expansion-panel-icon'\n }\n})\nexport class TalosExpansionPanelIconDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-actions, [talosExpansionPanelActions], [expansionPanelActions]',\n host: {\n 'class': 'talos-expansion-panel-actions'\n }\n})\nexport class TalosExpansionPanelActionsDirective { }\n\n@Directive({\n selector: 'talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]',\n host: {\n 'class': 'talos-expansion-panel-custom-toggle'\n }\n})\nexport class TalosExpansionPanelToggleDirective { }\n\n@Directive({\n selector: 'ng-template[talosExpansionPanelContent], ng-template[expansionPanelContent]',\n})\nexport class TalosExpansionPanelContentDirective { }\n","import { Component, computed, forwardRef, inject, input } from '@angular/core';\nimport { TalosExpansionPanelPadding } from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-body, [talosExpansionPanelBody], talos-expansion-panel-content',\n templateUrl: './expansion-panel-body.component.html',\n styleUrl: './expansion-panel-body.component.scss',\n host: {\n 'class': 'talos-expansion-panel-body-host',\n '[class.padding-none]': 'effectivePadding() === \"none\"',\n '[class.padding-sm]': 'effectivePadding() === \"sm\"',\n '[class.padding-md]': 'effectivePadding() === \"md\"',\n '[class.padding-lg]': 'effectivePadding() === \"lg\"'\n }\n})\nexport class TalosExpansionPanelBodyComponent {\n protected readonly panel = inject(forwardRef(() => TalosExpansionPanelComponent), { optional: true });\n\n /** Padding size inside the expansion panel body */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n protected readonly effectivePadding = computed<TalosExpansionPanelPadding>(() => {\n if (this.padding() !== undefined) {\n return this.padding()!;\n }\n return this.panel ? this.panel.effectivePadding() : 'md';\n });\n}\n","<ng-content />\n","import {\n Component,\n effect,\n input\n} from '@angular/core';\nimport {\n TalosExpansionPanelPadding,\n TalosExpansionPanelVariant\n} from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-group, [talosExpansionPanelGroup], talos-accordion, [talosAccordion]',\n templateUrl: './expansion-panel-group.component.html',\n styleUrl: './expansion-panel-group.component.scss',\n host: {\n 'class': 'talos-expansion-panel-group-host',\n '[class.is-separated]': 'separated() || variant() === \"separated\"',\n '[class.is-joined]': '!separated() && variant() !== \"separated\"',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class TalosExpansionPanelGroupComponent {\n /** Whether multiple panels can be expanded simultaneously */\n readonly multi = input<boolean>(false);\n\n /** Unified visual variant for child panels */\n readonly variant = input<TalosExpansionPanelVariant | undefined>(undefined);\n\n /** Unified body padding for child panels */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n /** Whether the entire group of panels is disabled */\n readonly disabled = input<boolean>(false);\n\n /** Whether panels have separation spacing instead of contiguous borders */\n readonly separated = input<boolean>(false);\n\n private readonly panels = new Set<TalosExpansionPanelComponent>();\n\n constructor() {\n // When multi mode is toggled off, ensure only at most one panel remains open\n effect(() => {\n const isMulti = this.multi();\n if (!isMulti) {\n let hasOpenPanel = false;\n for (const panel of this.panels) {\n if (panel.expanded()) {\n if (hasOpenPanel) {\n panel.close();\n } else {\n hasOpenPanel = true;\n }\n }\n }\n }\n });\n }\n\n registerPanel(panel: TalosExpansionPanelComponent): void {\n this.panels.add(panel);\n if (!this.multi() && panel.expanded()) {\n for (const existing of this.panels) {\n if (existing !== panel && existing.expanded()) {\n existing.close();\n }\n }\n }\n }\n\n unregisterPanel(panel: TalosExpansionPanelComponent): void {\n this.panels.delete(panel);\n }\n\n onPanelExpanded(expandedPanel: TalosExpansionPanelComponent): void {\n if (!this.multi()) {\n for (const panel of this.panels) {\n if (panel !== expandedPanel && panel.expanded()) {\n panel.close();\n }\n }\n }\n }\n\n /** Expand all registered panels (only valid when multi-expand is enabled) */\n expandAll(): void {\n if (this.disabled() || !this.multi()) return;\n\n for (const panel of this.panels) {\n panel.open();\n }\n }\n\n /** Collapse all registered panels */\n collapseAll(): void {\n for (const panel of this.panels) {\n panel.close();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ContentChild,\n DestroyRef,\n computed,\n inject,\n input,\n model,\n output,\n forwardRef\n} from '@angular/core';\nimport {\n TalosExpansionPanelPadding,\n TalosExpansionPanelTogglePosition,\n TalosExpansionPanelVariant\n} from './expansion-panel.types';\nimport { TalosExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { TalosExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { TalosExpansionPanelGroupComponent } from './expansion-panel-group.component';\n\nlet uniqueIdCounter = 0;\n\n@Component({\n selector: 'talos-expansion-panel, [talosExpansionPanel]',\n imports: [TalosExpansionPanelHeaderComponent],\n templateUrl: './expansion-panel.component.html',\n styleUrl: './expansion-panel.component.scss',\n host: {\n 'class': 'talos-expansion-panel-host',\n '[class.talos-expansion-panel-elevated]': 'effectiveVariant() === \"elevated\"',\n '[class.talos-expansion-panel-outlined]': 'effectiveVariant() === \"outlined\"',\n '[class.talos-expansion-panel-filled]': 'effectiveVariant() === \"filled\"',\n '[class.talos-expansion-panel-flat]': 'effectiveVariant() === \"flat\"',\n '[class.talos-expansion-panel-separated]': 'effectiveVariant() === \"separated\"',\n '[class.is-expanded]': 'expanded()',\n '[class.is-disabled]': 'effectiveDisabled()',\n '[attr.id]': 'id',\n '[attr.aria-disabled]': 'effectiveDisabled() ? \"true\" : null'\n }\n})\nexport class TalosExpansionPanelComponent {\n protected readonly group = inject(forwardRef(() => TalosExpansionPanelGroupComponent), { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n\n readonly id = `talos-expansion-panel-${++uniqueIdCounter}`;\n readonly contentId = `${this.id}-content`;\n readonly headerId = `${this.id}-header`;\n\n /** Two-way bindable expanded state */\n readonly expanded = model<boolean>(false);\n\n /** Whether the panel is disabled */\n readonly disabled = input<boolean>(false);\n\n /** Visual variant of the panel */\n readonly variant = input<TalosExpansionPanelVariant | undefined>(undefined);\n\n /** Padding for the panel body */\n readonly padding = input<TalosExpansionPanelPadding | undefined>(undefined);\n\n /** Whether to hide the expand toggle indicator */\n readonly hideToggle = input<boolean>(false);\n\n /** Toggle indicator position */\n readonly togglePosition = input<TalosExpansionPanelTogglePosition>('right');\n\n /** Quick declarative title */\n readonly title = input<string>('');\n\n /** Quick declarative subtitle/description */\n readonly description = input<string>('');\n\n /** Emitted when the panel opens */\n readonly opened = output<void>();\n\n /** Emitted when the panel closes */\n readonly closed = output<void>();\n\n @ContentChild(TalosExpansionPanelHeaderComponent)\n protected readonly customHeader?: TalosExpansionPanelHeaderComponent;\n\n @ContentChild(TalosExpansionPanelBodyComponent)\n protected readonly customBody?: TalosExpansionPanelBodyComponent;\n\n readonly effectiveVariant = computed<TalosExpansionPanelVariant>(() => {\n if (this.variant() !== undefined) {\n return this.variant()!;\n }\n if (this.group && this.group.variant() !== undefined) {\n return this.group.variant()!;\n }\n return 'outlined';\n });\n\n readonly effectivePadding = computed<TalosExpansionPanelPadding>(() => {\n if (this.padding() !== undefined) {\n return this.padding()!;\n }\n if (this.group && this.group.padding() !== undefined) {\n return this.group.padding()!;\n }\n return 'md';\n });\n\n readonly effectiveDisabled = computed<boolean>(() => {\n if (this.disabled()) {\n return true;\n }\n return this.group ? this.group.disabled() : false;\n });\n\n constructor() {\n if (this.group) {\n this.group.registerPanel(this);\n this.destroyRef.onDestroy(() => {\n this.group?.unregisterPanel(this);\n });\n }\n }\n\n open(): void {\n if (!this.effectiveDisabled() && !this.expanded()) {\n this.expanded.set(true);\n this.opened.emit();\n this.group?.onPanelExpanded(this);\n }\n }\n\n close(): void {\n if (!this.effectiveDisabled() && this.expanded()) {\n this.expanded.set(false);\n this.closed.emit();\n }\n }\n\n toggle(): void {\n if (this.effectiveDisabled()) {\n return;\n }\n if (this.expanded()) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","@if (!customHeader && (title() || description())) {\n <talos-expansion-panel-header [title]=\"title()\" [description]=\"description()\" />\n} @else {\n <ng-content select=\"talos-expansion-panel-header, [talosExpansionPanelHeader]\" />\n}\n\n<div\n class=\"talos-expansion-panel-collapse\"\n [class.is-expanded]=\"expanded()\"\n [attr.id]=\"contentId\"\n role=\"region\"\n [attr.aria-labelledby]=\"headerId\">\n <div class=\"talos-expansion-panel-collapse-inner\">\n @if (customBody) {\n <ng-content select=\"talos-expansion-panel-body, [talosExpansionPanelBody], talos-expansion-panel-content\" />\n } @else {\n <div\n class=\"talos-expansion-panel-default-body\"\n [class.padding-none]=\"effectivePadding() === 'none'\"\n [class.padding-sm]=\"effectivePadding() === 'sm'\"\n [class.padding-md]=\"effectivePadding() === 'md'\"\n [class.padding-lg]=\"effectivePadding() === 'lg'\">\n <ng-content />\n </div>\n }\n </div>\n</div>\n","import {\n Component,\n computed,\n inject,\n input,\n forwardRef\n} from '@angular/core';\nimport { LucideChevronDown } from '@lucide/angular';\nimport { TalosExpansionPanelTogglePosition } from './expansion-panel.types';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\n\n@Component({\n selector: 'talos-expansion-panel-header, [talosExpansionPanelHeader]',\n imports: [LucideChevronDown],\n templateUrl: './expansion-panel-header.component.html',\n styleUrl: './expansion-panel-header.component.scss',\n host: {\n 'class': 'talos-expansion-panel-header-host',\n '[class.is-expanded]': 'isExpanded()',\n '[class.is-disabled]': 'isDisabled()',\n '[class.toggle-position-left]': 'effectiveTogglePosition() === \"left\"',\n '[class.toggle-position-right]': 'effectiveTogglePosition() === \"right\"',\n 'role': 'button',\n '[attr.tabindex]': 'isDisabled() ? -1 : 0',\n '[attr.aria-expanded]': 'isExpanded()',\n '[attr.aria-disabled]': 'isDisabled() ? \"true\" : null',\n '(click)': 'onClick($event)',\n '(keydown.enter)': 'onKeydown($event)',\n '(keydown.space)': 'onKeydown($event)'\n }\n})\nexport class TalosExpansionPanelHeaderComponent {\n protected readonly LucideChevronDown = LucideChevronDown;\n protected readonly panel = inject(forwardRef(() => TalosExpansionPanelComponent), { optional: true });\n\n /** Optional direct title text */\n readonly title = input<string>('');\n\n /** Optional direct description/subtitle text */\n readonly description = input<string>('');\n\n /** Whether to hide the expansion toggle indicator */\n readonly hideToggle = input<boolean | undefined>(undefined);\n\n /** Toggle indicator position ('left' | 'right' | 'none') */\n readonly togglePosition = input<TalosExpansionPanelTogglePosition | undefined>(undefined);\n\n /** Whether the header is disabled */\n readonly disabled = input<boolean | undefined>(undefined);\n\n protected readonly isExpanded = computed(() => {\n return this.panel ? this.panel.expanded() : false;\n });\n\n protected readonly isDisabled = computed(() => {\n if (this.disabled() !== undefined) {\n return !!this.disabled();\n }\n return this.panel ? this.panel.disabled() : false;\n });\n\n protected readonly shouldHideToggle = computed(() => {\n if (this.hideToggle() !== undefined) {\n return !!this.hideToggle();\n }\n return this.panel ? this.panel.hideToggle() : false;\n });\n\n protected readonly effectiveTogglePosition = computed<TalosExpansionPanelTogglePosition>(() => {\n if (this.shouldHideToggle()) {\n return 'none';\n }\n if (this.togglePosition() !== undefined) {\n return this.togglePosition()!;\n }\n return this.panel ? this.panel.togglePosition() : 'right';\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.isDisabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.panel?.toggle();\n }\n\n protected onKeydown(event: Event): void {\n if (this.isDisabled()) {\n return;\n }\n event.preventDefault();\n this.panel?.toggle();\n }\n\n protected onActionsClick(event: MouseEvent): void {\n // Prevent clicking on action buttons or custom interactive controls from toggling the panel\n event.stopPropagation();\n }\n}\n","@if (effectiveTogglePosition() === 'left') {\n <div class=\"talos-expansion-panel-toggle-wrapper talos-expansion-panel-toggle-left\" [class.is-rotated]=\"isExpanded()\">\n <ng-content select=\"talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]\">\n <svg lucideChevronDown [size]=\"16\" class=\"talos-expansion-panel-chevron\" aria-hidden=\"true\"></svg>\n </ng-content>\n </div>\n}\n\n<div class=\"talos-expansion-panel-header-leading\">\n <ng-content select=\"[talosExpansionPanelIcon], [talosExpansionPanelAvatar], [expansionPanelIcon], [avatar], [icon]\" />\n</div>\n\n<div class=\"talos-expansion-panel-header-titles\">\n @if (title()) {\n <span class=\"talos-expansion-panel-title-text\">{{ title() }}</span>\n }\n <ng-content select=\"talos-expansion-panel-title, [talosExpansionPanelTitle], [expansionPanelTitle], [title]\" />\n\n @if (description()) {\n <span class=\"talos-expansion-panel-description-text\">{{ description() }}</span>\n }\n <ng-content select=\"talos-expansion-panel-description, [talosExpansionPanelDescription], [expansionPanelDescription], [description]\" />\n</div>\n\n<div class=\"talos-expansion-panel-header-custom-content\">\n <ng-content />\n</div>\n\n<div class=\"talos-expansion-panel-header-actions\" (click)=\"onActionsClick($event)\">\n <ng-content select=\"talos-expansion-panel-actions, [talosExpansionPanelActions], [expansionPanelActions], [actions]\" />\n</div>\n\n@if (effectiveTogglePosition() === 'right') {\n <div class=\"talos-expansion-panel-toggle-wrapper talos-expansion-panel-toggle-right\" [class.is-rotated]=\"isExpanded()\">\n <ng-content select=\"talos-expansion-panel-toggle, [talosExpansionPanelToggle], [expansionPanelToggle]\">\n <svg lucideChevronDown [size]=\"16\" class=\"talos-expansion-panel-chevron\" aria-hidden=\"true\"></svg>\n </ng-content>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { TalosExpansionPanelComponent } from './expansion-panel.component';\nimport { TalosExpansionPanelHeaderComponent } from './expansion-panel-header.component';\nimport { TalosExpansionPanelBodyComponent } from './expansion-panel-body.component';\nimport { TalosExpansionPanelGroupComponent } from './expansion-panel-group.component';\nimport {\n TalosExpansionPanelActionsDirective,\n TalosExpansionPanelContentDirective,\n TalosExpansionPanelDescriptionDirective,\n TalosExpansionPanelIconDirective,\n TalosExpansionPanelTitleDirective,\n TalosExpansionPanelToggleDirective\n} from './expansion-panel.directives';\n\nconst EXPANSION_PANEL_DECLARATIONS = [\n TalosExpansionPanelComponent,\n TalosExpansionPanelHeaderComponent,\n TalosExpansionPanelBodyComponent,\n TalosExpansionPanelGroupComponent,\n TalosExpansionPanelTitleDirective,\n TalosExpansionPanelDescriptionDirective,\n TalosExpansionPanelIconDirective,\n TalosExpansionPanelActionsDirective,\n TalosExpansionPanelToggleDirective,\n TalosExpansionPanelContentDirective\n];\n\n@NgModule({\n imports: [...EXPANSION_PANEL_DECLARATIONS],\n exports: [...EXPANSION_PANEL_DECLARATIONS]\n})\nexport class TalosExpansionPanelModule { }\n","import { Directive, TemplateRef, inject } from '@angular/core';\n\n/**\n * Directive applied to an `<ng-template>` to provide a custom header label template for a tab.\n *\n * Usage:\n * ```html\n * <talos-tab>\n * <ng-template talosTabLabel>\n * <svg lucideBell [size]=\"14\"></svg>\n * <span>Notifications</span>\n * </ng-template>\n * Tab content...\n * </talos-tab>\n * ```\n */\n@Directive({\n selector: '[talosTabLabel], ng-template[talosTabLabel]'\n})\nexport class TalosTabLabelDirective {\n readonly templateRef = inject(TemplateRef<unknown>);\n}\n\n/**\n * Directive applied to an `<ng-template>` to delay rendering of the tab panel's content\n * until the tab is first activated / selected (lazy loading).\n *\n * Usage:\n * ```html\n * <talos-tab label=\"Heavy Data\">\n * <ng-template talosTabContent>\n * <heavy-data-grid />\n * </ng-template>\n * </talos-tab>\n * ```\n */\n@Directive({\n selector: '[talosTabContent], ng-template[talosTabContent]'\n})\nexport class TalosTabContentDirective {\n readonly templateRef = inject(TemplateRef<unknown>);\n}\n","import {\n Component,\n Type,\n computed,\n contentChild,\n input,\n signal\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n TalosTabContentDirective,\n TalosTabLabelDirective\n} from './tabs.directives';\n\nlet nextTabUniqueId = 0;\n\n/**\n * An individual tab panel element to be placed inside `<talos-tabs>`.\n */\n@Component({\n selector: 'talos-tab, [talosTab]',\n imports: [CommonModule],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n host: {\n 'class': 'talos-tab-panel',\n 'role': 'tabpanel',\n '[attr.id]': 'panelId()',\n '[attr.aria-labelledby]': 'headerId()',\n '[attr.tabindex]': 'active() ? 0 : -1',\n '[attr.aria-hidden]': '!active()',\n '[class.talos-tab-panel--active]': 'active()',\n '[hidden]': '!active()'\n }\n})\nexport class TalosTabComponent {\n private readonly defaultUniqueId = `talos-tab-${nextTabUniqueId++}`;\n\n /**\n * Header label text for this tab.\n */\n readonly label = input<string>('');\n\n /**\n * Unique identifier for this tab. If omitted, an auto-generated id is assigned.\n */\n readonly id = input<string | number>('');\n\n /**\n * Optional icon component to display before the label text.\n */\n readonly icon = input<Type<unknown> | null>(null);\n\n /**\n * Optional badge count or status text rendered alongside the tab label.\n */\n readonly badge = input<string | number | null>(null);\n\n /**\n * Whether this tab is disabled and cannot be activated.\n */\n readonly disabled = input<boolean>(false);\n\n /**\n * Whether this tab displays an inline close action button.\n */\n readonly closable = input<boolean>(false);\n\n /**\n * Accessible description for screen readers (aria-label).\n */\n readonly ariaLabel = input<string>('');\n\n /**\n * Custom label template projected with `*talosTabLabel`.\n */\n readonly customLabel = contentChild(TalosTabLabelDirective);\n\n /**\n * Lazy-loaded panel content projected with `*talosTabContent`.\n */\n readonly lazyContent = contentChild(TalosTabContentDirective);\n\n /**\n * Internal selection state controlled by parent `<talos-tabs>`.\n */\n readonly active = signal<boolean>(false);\n\n /**\n * Whether this tab has been active at least once (used for lazy-loading retention).\n */\n readonly hasBeenActive = signal<boolean>(false);\n\n /**\n * The effective unique key for this tab.\n */\n readonly key = computed<string | number>(() => {\n const customId = this.id();\n return customId !== '' && customId !== null && customId !== undefined\n ? customId\n : this.defaultUniqueId;\n });\n\n /**\n * The HTML element ID of the tab panel.\n */\n readonly panelId = computed<string>(() => `${this.key()}-panel`);\n\n /**\n * The HTML element ID of the tab header button.\n */\n readonly headerId = computed<string>(() => `${this.key()}-header`);\n\n /**\n * Sets active state and tracks lazy load retention.\n */\n setActive(isActive: boolean): void {\n this.active.set(isActive);\n if (isActive) {\n this.hasBeenActive.set(true);\n }\n }\n}\n","@if (lazyContent()) {\n @if (active() || hasBeenActive()) {\n <ng-container [ngTemplateOutlet]=\"lazyContent()!.templateRef\" />\n }\n} @else {\n <ng-content />\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n TemplateRef,\n Type,\n computed,\n contentChildren,\n effect,\n input,\n model,\n output,\n signal,\n viewChild,\n viewChildren\n} from '@angular/core';\nimport { CommonModule, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { LucidePlus, LucideX } from '@lucide/angular';\nimport {\n TalosTabChangeEvent,\n TalosTabCloseEvent,\n TalosTabItem,\n TalosTabsAlign,\n TalosTabsOrientation,\n TalosTabsSize,\n TalosTabsVariant\n} from './tabs.types';\nimport { TalosTabComponent } from './tab.component';\nimport { TalosTabLabelDirective } from './tabs.directives';\n\n/**\n * Normalized internal representation of a tab header.\n */\nexport interface NormalizedTabHeader {\n id: string | number;\n label: string;\n headerId: string;\n panelId: string;\n icon?: Type<unknown> | null;\n badge?: string | number | null;\n disabled: boolean;\n closable: boolean;\n customLabel?: TalosTabLabelDirective | null;\n labelTemplate?: TemplateRef<unknown> | null;\n source: TalosTabComponent | TalosTabItem;\n}\n\n@Component({\n selector: 'talos-tabs, [talosTabs]',\n imports: [\n CommonModule,\n NgTemplateOutlet,\n NgComponentOutlet,\n LucideX,\n LucidePlus\n ],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n host: {\n 'class': 'talos-tabs',\n '[class.talos-tabs--horizontal]': 'orientation() === \"horizontal\"',\n '[class.talos-tabs--vertical]': 'orientation() === \"vertical\"',\n '[class.talos-tabs--line]': 'variant() === \"line\"',\n '[class.talos-tabs--pills]': 'variant() === \"pills\"',\n '[class.talos-tabs--card]': 'variant() === \"card\"',\n '[class.talos-tabs--segmented]': 'variant() === \"segmented\"',\n '[class.talos-tabs--subtle]': 'variant() === \"subtle\"',\n '[class.talos-tabs--xs]': 'size() === \"xs\"',\n '[class.talos-tabs--sm]': 'size() === \"sm\"',\n '[class.talos-tabs--md]': 'size() === \"md\"',\n '[class.talos-tabs--lg]': 'size() === \"lg\"',\n '[class.talos-tabs--align-center]': 'align() === \"center\"',\n '[class.talos-tabs--align-end]': 'align() === \"end\"',\n '[class.talos-tabs--stretched]': 'stretched() || align() === \"stretch\"',\n '[class.talos-tabs--animated]': 'animated()'\n }\n})\nexport class TalosTabsComponent implements AfterViewInit {\n /**\n * The index of the currently active tab (two-way bindable via `[(selectedIndex)]`).\n */\n readonly selectedIndex = model<number>(0);\n\n /**\n * The unique ID of the currently active tab (two-way bindable via `[(activeId)]`).\n */\n readonly activeId = model<string | number | null>(null);\n\n /**\n * Visual styling variant of the tabs.\n * @default 'line'\n */\n readonly variant = input<TalosTabsVariant>('line');\n\n /**\n * Sizing scale of the tabs.\n * @default 'md'\n */\n readonly size = input<TalosTabsSize>('md');\n\n /**\n * Layout orientation of the tab headers and panels.\n * @default 'horizontal'\n */\n readonly orientation = input<TalosTabsOrientation>('horizontal');\n\n /**\n * Horizontal alignment of tab headers within the container.\n * @default 'start'\n */\n readonly align = input<TalosTabsAlign>('start');\n\n /**\n * Optional data-driven items array. When provided, renders data-driven tabs.\n */\n readonly items = input<TalosTabItem[] | null>(null);\n\n /**\n * Whether tabs show an inline close button by default.\n * @default false\n */\n readonly closable = input<boolean>(false);\n\n /**\n * Whether to display an add tab button in the header bar.\n * @default false\n */\n readonly addable = input<boolean>(false);\n\n /**\n * Whether to enable animated indicator transitions.\n * @default true\n */\n readonly animated = input<boolean>(true);\n\n /**\n * Whether tabs stretch equally to fill the full width of the container.\n * @default false\n */\n readonly stretched = input<boolean>(false);\n\n /**\n * Accessible description for the tablist landmark.\n * @default 'Tabs navigation'\n */\n readonly ariaLabel = input<string>('Tabs navigation');\n\n /**\n * Emitted when the selected tab changes.\n */\n readonly tabChange = output<TalosTabChangeEvent>();\n\n /**\n * Emitted when a tab's close button is clicked.\n */\n readonly tabClose = output<TalosTabCloseEvent>();\n\n /**\n * Emitted when the add tab button is clicked.\n */\n readonly tabAdd = output<void>();\n\n /**\n * Projected declarative child `<talos-tab>` instances.\n */\n readonly projectedTabs = contentChildren(TalosTabComponent);\n\n /**\n * DOM button elements for all rendered tab headers.\n */\n readonly tabButtons = viewChildren<ElementRef<HTMLButtonElement>>('tabButton');\n\n /**\n * Container element for the tab navigation bar.\n */\n readonly navContainer = viewChild<ElementRef<HTMLElement>>('navContainer');\n\n // Ink-bar measurement signals\n protected readonly indicatorLeft = signal<number>(0);\n protected readonly indicatorTop = signal<number>(0);\n protected readonly indicatorWidth = signal<number>(0);\n protected readonly indicatorHeight = signal<number>(0);\n protected readonly hasIndicator = signal<boolean>(false);\n\n /**\n * Normalized array of tab headers combining declarative children and data items.\n */\n readonly tabHeaders = computed<NormalizedTabHeader[]>(() => {\n const dataItems = this.items();\n if (dataItems && dataItems.length > 0) {\n return dataItems.map(item => ({\n id: item.id,\n label: item.label,\n headerId: this.getDataHeaderId(item),\n panelId: this.getDataPanelId(item),\n icon: item.icon ?? null,\n badge: item.badge ?? null,\n disabled: item.disabled ?? false,\n closable: item.closable ?? false,\n customLabel: null,\n labelTemplate: item.labelTemplate ?? null,\n source: item\n }));\n }\n\n const childTabs = this.projectedTabs();\n return childTabs.map(tab => ({\n id: tab.key(),\n label: tab.label(),\n headerId: tab.headerId(),\n panelId: tab.panelId(),\n icon: tab.icon(),\n badge: tab.badge(),\n disabled: tab.disabled(),\n closable: tab.closable(),\n customLabel: tab.customLabel() ?? null,\n labelTemplate: null,\n source: tab\n }));\n });\n\n constructor() {\n // Sync projected children active states whenever selectedIndex or children change\n effect(() => {\n const idx = this.selectedIndex();\n const childTabs = this.projectedTabs();\n childTabs.forEach((tab, i) => {\n tab.setActive(i === idx);\n });\n });\n\n // Sync activeId with selectedIndex\n effect(() => {\n const headers = this.tabHeaders();\n const currentActiveId = this.activeId();\n\n if (currentActiveId !== null && currentActiveId !== undefined) {\n const foundIdx = headers.findIndex(h => h.id === currentActiveId);\n if (foundIdx !== -1 && foundIdx !== this.selectedIndex()) {\n this.selectedIndex.set(foundIdx);\n }\n }\n });\n\n // Update indicator whenever selected index or buttons update\n effect(() => {\n this.selectedIndex();\n this.tabButtons();\n this.orientation();\n this.variant();\n this.updateIndicator();\n });\n }\n\n ngAfterViewInit(): void {\n this.updateIndicator();\n }\n\n /**\n * Activates the tab at the given index.\n */\n selectTab(index: number, header: NormalizedTabHeader): void {\n if (header.disabled || this.selectedIndex() === index) {\n return;\n }\n\n this.selectedIndex.set(index);\n this.activeId.set(header.id);\n this.tabChange.emit({\n index,\n id: header.id,\n tab: header.source\n });\n\n this.updateIndicator();\n }\n\n /**\n * Checks whether an individual tab is closable.\n */\n isClosable(header: NormalizedTabHeader): boolean {\n return header.closable || this.closable();\n }\n\n /**\n * Closes the tab at the specified index.\n */\n closeTab(event: Event, index: number, header: NormalizedTabHeader): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.tabClose.emit({\n index,\n id: header.id,\n tab: header.source\n });\n\n // If closing the currently selected tab, switch to adjacent non-disabled tab\n const headers = this.tabHeaders();\n if (this.selectedIndex() === index && headers.length > 1) {\n let nextIndex = index;\n if (nextIndex >= headers.length - 1) {\n nextIndex = headers.length - 2;\n }\n // Pick first non-disabled tab if possible\n for (let i = nextIndex; i >= 0; i--) {\n if (!headers[i].disabled && i !== index) {\n this.selectTab(i, headers[i]);\n break;\n }\n }\n }\n }\n\n /**\n * Triggers the tab add event.\n */\n addTab(): void {\n this.tabAdd.emit();\n }\n\n /**\n * Keyboard accessibility handler following WAI-ARIA Tab guidelines.\n */\n onKeydown(event: KeyboardEvent, currentIndex: number, currentHeader: NormalizedTabHeader): void {\n const headers = this.tabHeaders();\n const total = headers.length;\n if (total === 0) {\n return;\n }\n\n const isHorizontal = this.orientation() === 'horizontal';\n let targetIndex = -1;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n if ((isHorizontal && event.key === 'ArrowRight') || (!isHorizontal && event.key === 'ArrowDown')) {\n event.preventDefault();\n targetIndex = this.findNextAvailableTab(currentIndex, 1);\n }\n break;\n\n case 'ArrowLeft':\n case 'ArrowUp':\n if ((isHorizontal && event.key === 'ArrowLeft') || (!isHorizontal && event.key === 'ArrowUp')) {\n event.preventDefault();\n targetIndex = this.findNextAvailableTab(currentIndex, -1);\n }\n break;\n\n case 'Home':\n event.preventDefault();\n targetIndex = this.findNextAvailableTab(-1, 1);\n break;\n\n case 'End':\n event.preventDefault();\n targetIndex = this.findNextAvailableTab(total, -1);\n break;\n\n case 'Delete':\n if (this.isClosable(currentHeader)) {\n event.preventDefault();\n this.closeTab(event, currentIndex, currentHeader);\n }\n break;\n }\n\n if (targetIndex !== -1 && targetIndex !== currentIndex) {\n this.selectTab(targetIndex, headers[targetIndex]);\n this.focusTabButton(targetIndex);\n }\n }\n\n private findNextAvailableTab(startIndex: number, direction: 1 | -1): number {\n const headers = this.tabHeaders();\n const total = headers.length;\n if (total === 0) return -1;\n\n let idx = startIndex;\n for (let count = 0; count < total; count++) {\n idx = (idx + direction + total) % total;\n if (!headers[idx].disabled) {\n return idx;\n }\n }\n return -1;\n }\n\n private focusTabButton(index: number): void {\n const buttons = this.tabButtons();\n if (buttons && buttons[index]) {\n buttons[index].nativeElement.focus();\n }\n }\n\n /**\n * Recalculates indicator offset and size for smooth animations.\n */\n updateIndicator(): void {\n const buttons = this.tabButtons();\n const currentIdx = this.selectedIndex();\n\n if (!buttons || !buttons[currentIdx]) {\n this.hasIndicator.set(false);\n return;\n }\n\n const activeEl = buttons[currentIdx].nativeElement;\n if (!activeEl) {\n this.hasIndicator.set(false);\n return;\n }\n\n this.indicatorLeft.set(activeEl.offsetLeft);\n this.indicatorTop.set(activeEl.offsetTop);\n this.indicatorWidth.set(activeEl.offsetWidth);\n this.indicatorHeight.set(activeEl.offsetHeight);\n this.hasIndicator.set(true);\n }\n\n /**\n * Unique panel id generator for data items.\n */\n getDataPanelId(item: TalosTabItem): string {\n return `talos-tab-panel-${item.id}`;\n }\n\n /**\n * Unique header id generator for data items.\n */\n getDataHeaderId(item: TalosTabItem): string {\n return `talos-tab-header-${item.id}`;\n }\n}\n","<div\n class=\"talos-tabs__header\"\n role=\"tablist\"\n [attr.aria-orientation]=\"orientation()\"\n [attr.aria-label]=\"ariaLabel()\"\n>\n <div class=\"talos-tabs__nav\" #navContainer>\n @for (tab of tabHeaders(); track tab.id; let i = $index) {\n <button\n #tabButton\n type=\"button\"\n class=\"talos-tabs__tab\"\n role=\"tab\"\n [id]=\"tab.headerId\"\n [attr.aria-controls]=\"tab.panelId\"\n [attr.aria-selected]=\"selectedIndex() === i\"\n [attr.aria-disabled]=\"tab.disabled ? 'true' : null\"\n [attr.tabindex]=\"selectedIndex() === i ? 0 : -1\"\n [disabled]=\"tab.disabled\"\n [class.talos-tabs__tab--active]=\"selectedIndex() === i\"\n [class.talos-tabs__tab--disabled]=\"tab.disabled\"\n (click)=\"selectTab(i, tab)\"\n (keydown)=\"onKeydown($event, i, tab)\"\n >\n <!-- Icon -->\n @if (tab.icon) {\n <span class=\"talos-tabs__tab-icon\" aria-hidden=\"true\">\n <ng-container [ngComponentOutlet]=\"tab.icon\" />\n </span>\n }\n\n <!-- Custom Label Template or Text -->\n @if (tab.customLabel) {\n <span class=\"talos-tabs__tab-label\">\n <ng-container [ngTemplateOutlet]=\"tab.customLabel.templateRef\" />\n </span>\n } @else if (tab.labelTemplate) {\n <span class=\"talos-tabs__tab-label\">\n <ng-container [ngTemplateOutlet]=\"tab.labelTemplate\" />\n </span>\n } @else {\n <span class=\"talos-tabs__tab-label\">{{ tab.label }}</span>\n }\n\n <!-- Badge -->\n @if (tab.badge !== undefined && tab.badge !== null && tab.badge !== '') {\n <span class=\"talos-tabs__badge\" [class.talos-tabs__badge--active]=\"selectedIndex() === i\">\n {{ tab.badge }}\n </span>\n }\n\n <!-- Close Button -->\n @if (isClosable(tab)) {\n <span\n role=\"button\"\n class=\"talos-tabs__close\"\n tabindex=\"0\"\n [attr.aria-label]=\"'Close ' + tab.label + ' tab'\"\n (click)=\"closeTab($event, i, tab)\"\n (keydown.enter)=\"closeTab($event, i, tab)\"\n (keydown.space)=\"closeTab($event, i, tab)\"\n >\n <svg lucideX [size]=\"12\"></svg>\n </span>\n }\n </button>\n }\n\n <!-- Sliding Ink-Bar Indicator (for line and segmented variants) -->\n @if (hasIndicator()) {\n @if (variant() === 'line') {\n @if (orientation() === 'horizontal') {\n <div\n class=\"talos-tabs__indicator talos-tabs__indicator--line-h\"\n [style.left.px]=\"indicatorLeft()\"\n [style.width.px]=\"indicatorWidth()\"\n ></div>\n } @else {\n <div\n class=\"talos-tabs__indicator talos-tabs__indicator--line-v\"\n [style.top.px]=\"indicatorTop()\"\n [style.height.px]=\"indicatorHeight()\"\n ></div>\n }\n } @else if (variant() === 'segmented') {\n <div\n class=\"talos-tabs__indicator talos-tabs__indicator--segmented\"\n [style.left.px]=\"indicatorLeft()\"\n [style.top.px]=\"indicatorTop()\"\n [style.width.px]=\"indicatorWidth()\"\n [style.height.px]=\"indicatorHeight()\"\n ></div>\n }\n }\n\n <!-- Add Tab Button -->\n @if (addable()) {\n <button\n type=\"button\"\n class=\"talos-tabs__add\"\n aria-label=\"Add new tab\"\n (click)=\"addTab()\"\n >\n <svg lucidePlus [size]=\"14\"></svg>\n </button>\n }\n </div>\n</div>\n\n<!-- Tab Panels Container -->\n<div class=\"talos-tabs__content\">\n @if (items() && items()!.length > 0) {\n <!-- Data-driven Panels -->\n @for (item of items()!; track item.id; let i = $index) {\n <div\n class=\"talos-tab-panel\"\n role=\"tabpanel\"\n [id]=\"getDataPanelId(item)\"\n [attr.aria-labelledby]=\"getDataHeaderId(item)\"\n [hidden]=\"selectedIndex() !== i\"\n [class.talos-tab-panel--active]=\"selectedIndex() === i\"\n [attr.tabindex]=\"selectedIndex() === i ? 0 : -1\"\n >\n @if (selectedIndex() === i) {\n @if (item.template) {\n <ng-container [ngTemplateOutlet]=\"item.template\" />\n } @else if (item.content) {\n <div class=\"talos-tabs__data-content\">{{ item.content }}</div>\n }\n }\n </div>\n }\n } @else {\n <!-- Declarative Projected Panels (<talos-tab>) -->\n <ng-content />\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { TalosTabsComponent } from './tabs.component';\nimport { TalosTabComponent } from './tab.component';\nimport {\n TalosTabContentDirective,\n TalosTabLabelDirective\n} from './tabs.directives';\n\nconst TABS_DECLARATIONS = [\n TalosTabsComponent,\n TalosTabComponent,\n TalosTabLabelDirective,\n TalosTabContentDirective\n];\n\n@NgModule({\n imports: [...TABS_DECLARATIONS],\n exports: [...TABS_DECLARATIONS]\n})\nexport class TalosTabsModule {}\n","import {\n Component,\n TemplateRef,\n Type,\n computed,\n contentChild,\n input,\n signal,\n viewChild\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n TalosStepContentDirective,\n TalosStepIconDirective,\n TalosStepLabelDirective\n} from './stepper.directives';\nimport { TalosStepState } from './stepper.types';\n\nlet nextStepUniqueId = 0;\n\n/**\n * An individual step container component to be declared inside `<talos-stepper>`.\n */\n@Component({\n selector: 'talos-step, [talosStep]',\n imports: [CommonModule],\n templateUrl: './step.component.html',\n styleUrl: './step.component.scss',\n host: {\n 'class': 'talos-step-panel',\n 'role': 'tabpanel',\n '[attr.id]': 'panelId()',\n '[attr.aria-labelledby]': 'headerId()',\n '[attr.tabindex]': 'active() ? 0 : -1',\n '[attr.aria-hidden]': '!active()',\n '[class.talos-step-panel--active]': 'active()',\n '[hidden]': '!active()'\n }\n})\nexport class TalosStepComponent {\n private readonly defaultUniqueId = `talos-step-${nextStepUniqueId++}`;\n\n /**\n * Title text for the step header.\n */\n readonly label = input<string>('');\n\n /**\n * Optional secondary description or helper text.\n */\n readonly description = input<string>('');\n\n /**\n * Unique identifier for this step. If omitted, an auto-generated ID is assigned.\n */\n readonly id = input<string | number>('');\n\n /**\n * Optional icon component to display within the step indicator.\n */\n readonly icon = input<Type<unknown> | null>(null);\n\n /**\n * Whether this step is optional (displays an \"(Optional)\" subtitle indicator).\n */\n readonly optional = input<boolean>(false);\n\n /**\n * Whether this step is disabled and cannot be navigated to.\n */\n readonly disabled = input<boolean>(false);\n\n /**\n * Explicit completed flag. If undefined, completion is inferred automatically in sequential progression.\n */\n readonly completed = input<boolean | undefined>(undefined);\n\n /**\n * Whether this step is in an error state.\n */\n readonly hasError = input<boolean>(false);\n\n /**\n * Contextual error message to display when step validation fails.\n */\n readonly errorMessage = input<string>('');\n\n /**\n * Explicit semantic state override ('pending' | 'active' | 'completed' | 'error' | 'warning').\n */\n readonly state = input<TalosStepState | undefined>(undefined);\n\n /**\n * Accessible description for screen readers (aria-label).\n */\n readonly ariaLabel = input<string>('');\n\n /**\n * Custom label template projected with `*talosStepLabel`.\n */\n readonly customLabel = contentChild(TalosStepLabelDirective);\n\n /**\n * Custom icon template projected with `*talosStepIcon`.\n */\n readonly customIcon = contentChild(TalosStepIconDirective);\n\n /**\n * Lazy-loaded panel content projected with `*talosStepContent`.\n */\n readonly lazyContent = contentChild(TalosStepContentDirective);\n\n /**\n * Root template ref for declarative step projection.\n */\n readonly stepContentTemplate = viewChild<TemplateRef<unknown>>('stepTemplate');\n\n /**\n * Internal selection state controlled by the parent `<talos-stepper>`.\n */\n readonly active = signal<boolean>(false);\n\n /**\n * Whether this step has been active at least once (used for lazy-loading retention).\n */\n readonly hasBeenActive = signal<boolean>(false);\n\n /**\n * The effective unique key for this step.\n */\n readonly key = computed<string | number>(() => {\n const customId = this.id();\n return customId !== '' && customId !== null && customId !== undefined\n ? customId\n : this.defaultUniqueId;\n });\n\n /**\n * The HTML element ID of the step panel.\n */\n readonly panelId = computed<string>(() => `${this.key()}-panel`);\n\n /**\n * The HTML element ID of the step header button.\n */\n readonly headerId = computed<string>(() => `${this.key()}-header`);\n\n /**\n * Updates active state and marks the step as having been visited.\n */\n setActive(isActive: boolean): void {\n this.active.set(isActive);\n if (isActive) {\n this.hasBeenActive.set(true);\n }\n }\n}\n","@if (lazyContent(); as lazy) {\n @if (hasBeenActive()) {\n <ng-container *ngTemplateOutlet=\"lazy.templateRef\" />\n }\n} @else {\n <ng-content />\n}\n","import {\n Component,\n ElementRef,\n TemplateRef,\n Type,\n computed,\n contentChildren,\n effect,\n input,\n model,\n output,\n viewChildren\n} from '@angular/core';\nimport { CommonModule, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { LucideAlertTriangle, LucideCheck } from '@lucide/angular';\nimport {\n TalosStepChangeEvent,\n TalosStepItem,\n TalosStepState,\n TalosStepperFinishEvent,\n TalosStepperLabelPosition,\n TalosStepperOrientation,\n TalosStepperSize,\n TalosStepperVariant\n} from './stepper.types';\nimport { TalosStepComponent } from './step.component';\nimport {\n TalosStepContentDirective,\n TalosStepIconDirective,\n TalosStepLabelDirective\n} from './stepper.directives';\n\n/**\n * Internal normalized representation of a step header item.\n */\nexport interface NormalizedStepHeader {\n index: number;\n id: string | number;\n label: string;\n description?: string;\n headerId: string;\n panelId: string;\n icon?: Type<unknown> | null;\n optional: boolean;\n disabled: boolean;\n completed: boolean;\n hasError: boolean;\n errorMessage?: string;\n state: TalosStepState;\n ariaLabel?: string;\n customLabel?: TalosStepLabelDirective | null;\n labelTemplate?: TemplateRef<unknown> | null;\n customIcon?: TalosStepIconDirective | null;\n iconTemplate?: TemplateRef<unknown> | null;\n contentTemplate?: TemplateRef<unknown> | null;\n contentString?: string;\n source: TalosStepComponent | TalosStepItem;\n}\n\n@Component({\n selector: 'talos-stepper, [talosStepper]',\n imports: [\n CommonModule,\n NgTemplateOutlet,\n NgComponentOutlet,\n LucideCheck,\n LucideAlertTriangle\n ],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n host: {\n 'class': 'talos-stepper',\n '[class.talos-stepper--horizontal]': 'orientation() === \"horizontal\"',\n '[class.talos-stepper--vertical]': 'orientation() === \"vertical\"',\n '[class.talos-stepper--default]': 'variant() === \"default\" || variant() === \"circles\"',\n '[class.talos-stepper--circles]': 'variant() === \"default\" || variant() === \"circles\"',\n '[class.talos-stepper--progress]': 'variant() === \"progress\"',\n '[class.talos-stepper--cards]': 'variant() === \"cards\"',\n '[class.talos-stepper--sm]': 'size() === \"sm\"',\n '[class.talos-stepper--md]': 'size() === \"md\"',\n '[class.talos-stepper--lg]': 'size() === \"lg\"',\n '[class.talos-stepper--label-bottom]': 'orientation() === \"horizontal\" && labelPosition() === \"bottom\"',\n '[class.talos-stepper--label-end]': 'orientation() === \"vertical\" || labelPosition() === \"end\"',\n '[class.talos-stepper--linear]': 'linear()',\n '[class.talos-stepper--animated]': 'animated()'\n }\n})\nexport class TalosStepperComponent {\n /**\n * The index of the currently active step (two-way bindable via `[(selectedIndex)]`).\n */\n readonly selectedIndex = model<number>(0);\n\n /**\n * The unique ID of the currently active step (two-way bindable via `[(activeId)]`).\n */\n readonly activeId = model<string | number | null>(null);\n\n /**\n * Layout orientation of the stepper.\n * @default 'horizontal'\n */\n readonly orientation = input<TalosStepperOrientation>('horizontal');\n\n /**\n * Visual variant presentation style.\n * @default 'default'\n */\n readonly variant = input<TalosStepperVariant>('default');\n\n /**\n * Sizing scale of the step indicator buttons and labels.\n * @default 'md'\n */\n readonly size = input<TalosStepperSize>('md');\n\n /**\n * Label position relative to step indicator in horizontal mode.\n * @default 'end'\n */\n readonly labelPosition = input<TalosStepperLabelPosition>('end');\n\n /**\n * Whether strict linear step progression is enforced (disallows skipping uncompleted steps).\n * @default false\n */\n readonly linear = input<boolean>(false);\n\n /**\n * Whether steps can be clicked to navigate directly.\n * @default true\n */\n readonly clickable = input<boolean>(true);\n\n /**\n * Whether to animate panel transitions.\n * @default true\n */\n readonly animated = input<boolean>(true);\n\n /**\n * Data items for data-driven stepper configuration.\n */\n readonly steps = input<TalosStepItem[]>([]);\n\n /**\n * Emitted whenever the active step changes.\n */\n readonly stepChange = output<TalosStepChangeEvent>();\n\n /**\n * Emitted when reaching and finishing the final step.\n */\n readonly stepperFinished = output<TalosStepperFinishEvent>();\n\n /**\n * Projected child steps in declarative mode.\n */\n readonly childSteps = contentChildren(TalosStepComponent);\n\n /**\n * Header button elements for keyboard focus navigation.\n */\n readonly stepButtons = viewChildren<ElementRef<HTMLButtonElement>>('stepButton');\n\n /**\n * Unified normalized step items combining both declarative `<talos-step>` components and `steps()` input data.\n */\n readonly normalizedSteps = computed<NormalizedStepHeader[]>(() => {\n const dataItems = this.steps();\n const children = this.childSteps();\n const activeIdx = this.selectedIndex();\n\n if (dataItems && dataItems.length > 0) {\n return dataItems.map((item, index) => {\n const id = item.id !== undefined && item.id !== '' ? item.id : `talos-step-data-${index}`;\n const headerId = `talos-step-header-${id}`;\n const panelId = `talos-step-panel-${id}`;\n const isCompleted = item.completed ?? index < activeIdx;\n const hasErr = item.hasError ?? false;\n\n let state: TalosStepState;\n if (item.state) {\n state = item.state;\n } else if (hasErr) {\n state = 'error';\n } else if (index === activeIdx) {\n state = 'active';\n } else if (isCompleted) {\n state = 'completed';\n } else {\n state = 'pending';\n }\n\n return {\n index,\n id,\n label: item.label,\n description: item.description,\n headerId,\n panelId,\n icon: item.icon ?? null,\n optional: item.optional ?? false,\n disabled: item.disabled ?? false,\n completed: isCompleted,\n hasError: hasErr,\n errorMessage: item.errorMessage,\n state,\n ariaLabel: item.ariaLabel,\n customLabel: null,\n labelTemplate: item.labelTemplate ?? null,\n customIcon: null,\n iconTemplate: item.iconTemplate ?? null,\n contentTemplate: item.template ?? null,\n contentString: item.content,\n source: item\n };\n });\n }\n\n return children.map((step, index) => {\n const isCompleted = step.completed() ?? index < activeIdx;\n const hasErr = step.hasError();\n\n let state: TalosStepState;\n if (step.state()) {\n state = step.state()!;\n } else if (hasErr) {\n state = 'error';\n } else if (index === activeIdx) {\n state = 'active';\n } else if (isCompleted) {\n state = 'completed';\n } else {\n state = 'pending';\n }\n\n return {\n index,\n id: step.key(),\n label: step.label(),\n description: step.description(),\n headerId: step.headerId(),\n panelId: step.panelId(),\n icon: step.icon(),\n optional: step.optional(),\n disabled: step.disabled(),\n completed: isCompleted,\n hasError: hasErr,\n errorMessage: step.errorMessage(),\n state,\n ariaLabel: step.ariaLabel(),\n customLabel: step.customLabel(),\n labelTemplate: null,\n customIcon: step.customIcon(),\n iconTemplate: null,\n contentTemplate: null,\n contentString: undefined,\n source: step\n };\n });\n });\n\n /**\n * Total number of steps available.\n */\n readonly totalSteps = computed<number>(() => this.normalizedSteps().length);\n\n /**\n * Whether the stepper is currently at the first step.\n */\n readonly isFirst = computed<boolean>(() => this.selectedIndex() <= 0);\n\n /**\n * Whether the stepper is currently at the last step.\n */\n readonly isLast = computed<boolean>(() => {\n const total = this.totalSteps();\n return total > 0 && this.selectedIndex() >= total - 1;\n });\n\n /**\n * Progress percentage through the steps (0 to 100).\n */\n readonly progressPercent = computed<number>(() => {\n const total = this.totalSteps();\n if (total <= 1) return 100;\n const current = Math.min(Math.max(this.selectedIndex(), 0), total - 1);\n return Math.round((current / (total - 1)) * 100);\n });\n\n /**\n * Currently active normalized step item.\n */\n readonly currentStep = computed<NormalizedStepHeader | null>(() => {\n const steps = this.normalizedSteps();\n const idx = this.selectedIndex();\n return steps[idx] ?? null;\n });\n\n /**\n * Whether declarative children mode is active.\n */\n readonly isDeclarative = computed<boolean>(() => this.steps().length === 0);\n\n constructor() {\n // Keep child components synced with selected index and active ID\n effect(() => {\n const idx = this.selectedIndex();\n const steps = this.normalizedSteps();\n const children = this.childSteps();\n\n if (children.length > 0) {\n children.forEach((child, i) => {\n child.setActive(i === idx);\n });\n }\n\n if (steps[idx] && this.activeId() !== steps[idx].id) {\n this.activeId.set(steps[idx].id);\n }\n });\n\n // Synchronize selection if activeId is modified externally\n effect(() => {\n const targetId = this.activeId();\n if (targetId === null || targetId === undefined) return;\n const steps = this.normalizedSteps();\n const matchedIdx = steps.findIndex(s => s.id === targetId);\n if (matchedIdx !== -1 && matchedIdx !== this.selectedIndex()) {\n this.selectStep(matchedIdx, false);\n }\n });\n }\n\n /**\n * Selects a specific step index if allowed by validation and disabled rules.\n */\n selectStep(index: number, emitEvent: boolean = true): boolean {\n const steps = this.normalizedSteps();\n if (index < 0 || index >= steps.length) {\n return false;\n }\n\n const targetStep = steps[index];\n if (targetStep.disabled) {\n return false;\n }\n\n const currentIdx = this.selectedIndex();\n\n // Enforce linear progression when navigating forward\n if (this.linear() && index > currentIdx) {\n if (steps[currentIdx].hasError) {\n return false;\n }\n // If jumping ahead by more than 1 step, current step and intermediate steps must be completed\n if (index > currentIdx + 1) {\n for (let i = currentIdx; i < index; i++) {\n if (!steps[i].completed) {\n return false;\n }\n }\n }\n }\n\n const previousIdx = currentIdx;\n this.selectedIndex.set(index);\n this.activeId.set(targetStep.id);\n\n if (this.isDeclarative()) {\n this.childSteps().forEach((child, i) => {\n child.setActive(i === index);\n });\n }\n\n if (emitEvent) {\n this.stepChange.emit({\n index,\n previousIndex: previousIdx,\n id: targetStep.id,\n step: targetStep.source\n });\n }\n\n return true;\n }\n\n /**\n * Advances to the next step. If currently at the last step, emits `stepperFinished`.\n */\n next(): boolean {\n if (this.isLast()) {\n this.stepperFinished.emit({\n stepsCount: this.totalSteps(),\n completed: true\n });\n return false;\n }\n return this.selectStep(this.selectedIndex() + 1);\n }\n\n /**\n * Returns to the preceding step.\n */\n previous(): boolean {\n if (this.isFirst()) {\n return false;\n }\n return this.selectStep(this.selectedIndex() - 1);\n }\n\n /**\n * Jumps to a designated step index.\n */\n goTo(index: number): boolean {\n return this.selectStep(index);\n }\n\n /**\n * Resets the stepper back to step index 0.\n */\n reset(): boolean {\n return this.selectStep(0);\n }\n\n /**\n * Click handler for step header indicator buttons.\n */\n onStepHeaderClick(index: number): void {\n if (!this.clickable()) {\n return;\n }\n this.selectStep(index);\n }\n\n /**\n * Keyboard navigation across step header buttons.\n */\n onKeydown(event: KeyboardEvent, index: number): void {\n const isHorizontal = this.orientation() === 'horizontal';\n const nextKey = isHorizontal ? 'ArrowRight' : 'ArrowDown';\n const prevKey = isHorizontal ? 'ArrowLeft' : 'ArrowUp';\n const buttons = this.stepButtons();\n\n let targetIndex: number | null = null;\n\n switch (event.key) {\n case nextKey:\n targetIndex = this.findNextFocusableIndex(index, 1);\n break;\n case prevKey:\n targetIndex = this.findNextFocusableIndex(index, -1);\n break;\n case 'Home':\n targetIndex = this.findNextFocusableIndex(-1, 1);\n break;\n case 'End':\n targetIndex = this.findNextFocusableIndex(this.totalSteps(), -1);\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n this.onStepHeaderClick(index);\n return;\n default:\n return;\n }\n\n if (targetIndex !== null && targetIndex !== -1) {\n event.preventDefault();\n buttons[targetIndex]?.nativeElement?.focus();\n if (this.clickable()) {\n this.selectStep(targetIndex);\n }\n }\n }\n\n private findNextFocusableIndex(current: number, direction: 1 | -1): number {\n const steps = this.normalizedSteps();\n const total = steps.length;\n let idx = current + direction;\n\n while (idx >= 0 && idx < total) {\n if (!steps[idx].disabled) {\n if (!this.linear() || idx <= this.selectedIndex() + 1) {\n return idx;\n }\n }\n idx += direction;\n }\n\n return -1;\n }\n}\n","<nav class=\"talos-stepper__header\" aria-label=\"Progress\">\n @if (variant() === 'progress') {\n <!-- Compact Progress Bar Header -->\n <div class=\"talos-stepper__progress-header\">\n <div class=\"talos-stepper__progress-meta\">\n <span class=\"talos-stepper__progress-step-counter\">\n Step {{ selectedIndex() + 1 }} of {{ totalSteps() }}\n </span>\n @if (currentStep(); as curr) {\n <span class=\"talos-stepper__progress-current-title\">{{ curr.label }}</span>\n }\n <span class=\"talos-stepper__progress-percent\">{{ progressPercent() }}%</span>\n </div>\n <div class=\"talos-stepper__progress-track\" role=\"progressbar\" [attr.aria-valuenow]=\"progressPercent()\" aria-valuemin=\"0\" aria-valuemax=\"100\">\n <div class=\"talos-stepper__progress-fill\" [style.width.%]=\"progressPercent()\"></div>\n </div>\n </div>\n }\n\n <ol class=\"talos-stepper__list\" role=\"list\">\n @for (step of normalizedSteps(); track step.id; let idx = $index; let isLastStep = $last) {\n <li\n class=\"talos-stepper__item\"\n [class.talos-stepper__item--active]=\"idx === selectedIndex()\"\n [class.talos-stepper__item--completed]=\"step.state === 'completed'\"\n [class.talos-stepper__item--error]=\"step.state === 'error'\"\n [class.talos-stepper__item--warning]=\"step.state === 'warning'\"\n [class.talos-stepper__item--pending]=\"step.state === 'pending'\"\n [class.talos-stepper__item--disabled]=\"step.disabled\"\n [class.talos-stepper__item--last]=\"isLastStep\"\n >\n <button\n #stepButton\n type=\"button\"\n class=\"talos-stepper__step-btn\"\n [id]=\"step.headerId\"\n [attr.aria-controls]=\"step.panelId\"\n [attr.aria-selected]=\"idx === selectedIndex()\"\n [attr.aria-current]=\"idx === selectedIndex() ? 'step' : null\"\n [attr.aria-disabled]=\"step.disabled\"\n [attr.aria-label]=\"step.ariaLabel || (step.label + (step.optional ? ' (Optional)' : ''))\"\n [disabled]=\"step.disabled\"\n (click)=\"onStepHeaderClick(idx)\"\n (keydown)=\"onKeydown($event, idx)\"\n >\n <!-- Indicator Badge / Circle -->\n <span class=\"talos-stepper__indicator\" aria-hidden=\"true\">\n @if (step.customIcon; as customIcon) {\n <ng-container *ngTemplateOutlet=\"customIcon.templateRef\" />\n } @else if (step.iconTemplate; as iconTpl) {\n <ng-container *ngTemplateOutlet=\"iconTpl\" />\n } @else if (step.state === 'completed') {\n <svg lucideCheck class=\"talos-stepper__check-icon\" [size]=\"16\" [strokeWidth]=\"2.5\"></svg>\n } @else if (step.state === 'error') {\n <svg lucideAlertTriangle class=\"talos-stepper__error-icon\" [size]=\"15\" [strokeWidth]=\"2.5\"></svg>\n } @else if (step.icon; as iconComp) {\n <ng-container *ngComponentOutlet=\"iconComp\" />\n } @else {\n <span class=\"talos-stepper__step-number\">{{ idx + 1 }}</span>\n }\n </span>\n\n <!-- Step Label & Description Block -->\n <span class=\"talos-stepper__label-container\">\n <span class=\"talos-stepper__title-row\">\n <span class=\"talos-stepper__label\">\n @if (step.customLabel; as customLabel) {\n <ng-container *ngTemplateOutlet=\"customLabel.templateRef\" />\n } @else if (step.labelTemplate; as labelTpl) {\n <ng-container *ngTemplateOutlet=\"labelTpl\" />\n } @else {\n {{ step.label }}\n }\n </span>\n\n @if (step.optional) {\n <span class=\"talos-stepper__optional-tag\">Optional</span>\n }\n </span>\n\n @if (step.description) {\n <span class=\"talos-stepper__description\">{{ step.description }}</span>\n }\n\n @if (step.hasError && step.errorMessage) {\n <span class=\"talos-stepper__error-message\">{{ step.errorMessage }}</span>\n }\n </span>\n </button>\n\n <!-- Connecting line between steps (placed inside each non-last item) -->\n @if (!isLastStep) {\n <div\n class=\"talos-stepper__connector\"\n [class.talos-stepper__connector--active]=\"idx < selectedIndex()\"\n aria-hidden=\"true\"\n >\n <div class=\"talos-stepper__connector-line\"></div>\n </div>\n }\n </li>\n }\n </ol>\n</nav>\n\n<!-- Step Content Panels -->\n<div class=\"talos-stepper__content\">\n @if (isDeclarative()) {\n <ng-content />\n } @else {\n @for (step of normalizedSteps(); track step.id; let idx = $index) {\n @if (idx === selectedIndex()) {\n <div\n class=\"talos-step-panel talos-step-panel--active\"\n [id]=\"step.panelId\"\n [attr.aria-labelledby]=\"step.headerId\"\n role=\"tabpanel\"\n tabindex=\"0\"\n >\n @if (step.contentTemplate; as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else if (step.contentString; as text) {\n <div class=\"talos-stepper__data-content\">{{ text }}</div>\n }\n </div>\n }\n }\n }\n</div>\n","import {\n Directive,\n TemplateRef,\n forwardRef,\n inject,\n input\n} from '@angular/core';\nimport { TalosStepperComponent } from './stepper.component';\n\n/**\n * Directive applied to an `<ng-template>` to provide a custom header label template for a step.\n *\n * Usage:\n * ```html\n * <talos-step>\n * <ng-template talosStepLabel>\n * <svg lucideSettings [size]=\"14\"></svg>\n * <span>Custom Step Label</span>\n * </ng-template>\n * Step content...\n * </talos-step>\n * ```\n */\n@Directive({\n selector: '[talosStepLabel], ng-template[talosStepLabel]'\n})\nexport class TalosStepLabelDirective {\n readonly templateRef = inject(TemplateRef<unknown>);\n}\n\n/**\n * Directive applied to an `<ng-template>` to delay rendering of the step panel content\n * until the step is first navigated to (lazy loading).\n *\n * Usage:\n * ```html\n * <talos-step label=\"Billing Information\">\n * <ng-template talosStepContent>\n * <heavy-billing-form />\n * </ng-template>\n * </talos-step>\n * ```\n */\n@Directive({\n selector: '[talosStepContent], ng-template[talosStepContent]'\n})\nexport class TalosStepContentDirective {\n readonly templateRef = inject(TemplateRef<unknown>);\n}\n\n/**\n * Directive applied to an `<ng-template>` to provide a custom icon template\n * rendered inside the step circle or indicator badge.\n *\n * Usage:\n * ```html\n * <talos-step label=\"Payment\">\n * <ng-template talosStepIcon let-state=\"state\" let-index=\"index\">\n * <svg lucideCreditCard [size]=\"16\"></svg>\n * </ng-template>\n * Step content...\n * </talos-step>\n * ```\n */\n@Directive({\n selector: '[talosStepIcon], ng-template[talosStepIcon]'\n})\nexport class TalosStepIconDirective {\n readonly templateRef = inject(TemplateRef<unknown>);\n}\n\n/**\n * Button directive that advances the parent `<talos-stepper>` to the next step when clicked.\n *\n * Usage:\n * ```html\n * <button talosButton talosStepperNext>Continue</button>\n * ```\n */\n@Directive({\n selector: '[talosStepperNext], button[talosStepperNext]',\n host: {\n 'type': 'button',\n '(click)': 'onClick()'\n }\n})\nexport class TalosStepperNextDirective {\n private readonly stepper = inject(forwardRef(() => TalosStepperComponent), { optional: true });\n\n /**\n * Explicit stepper reference if the button resides outside the `<talos-stepper>` tree.\n */\n readonly talosStepperNext = input<TalosStepperComponent | null, TalosStepperComponent | string | null | undefined>(\n null,\n {\n transform: (val: TalosStepperComponent | string | null | undefined) =>\n typeof val === 'string' || val === null || val === undefined ? null : val\n }\n );\n\n protected onClick(): void {\n const target = this.talosStepperNext() ?? this.stepper;\n if (target) {\n target.next();\n }\n }\n}\n\n/**\n * Button directive that returns the parent `<talos-stepper>` to the previous step when clicked.\n *\n * Usage:\n * ```html\n * <button talosButton variant=\"secondary\" talosStepperPrevious>Back</button>\n * ```\n */\n@Directive({\n selector: '[talosStepperPrevious], button[talosStepperPrevious]',\n host: {\n 'type': 'button',\n '(click)': 'onClick()'\n }\n})\nexport class TalosStepperPreviousDirective {\n private readonly stepper = inject(forwardRef(() => TalosStepperComponent), { optional: true });\n\n /**\n * Explicit stepper reference if the button resides outside the `<talos-stepper>` tree.\n */\n readonly talosStepperPrevious = input<TalosStepperComponent | null, TalosStepperComponent | string | null | undefined>(\n null,\n {\n transform: (val: TalosStepperComponent | string | null | undefined) =>\n typeof val === 'string' || val === null || val === undefined ? null : val\n }\n );\n\n protected onClick(): void {\n const target = this.talosStepperPrevious() ?? this.stepper;\n if (target) {\n target.previous();\n }\n }\n}\n\n/**\n * Button directive that resets the parent `<talos-stepper>` back to step 0 when clicked.\n *\n * Usage:\n * ```html\n * <button talosButton variant=\"outline\" talosStepperReset>Reset Wizard</button>\n * ```\n */\n@Directive({\n selector: '[talosStepperReset], button[talosStepperReset]',\n host: {\n 'type': 'button',\n '(click)': 'onClick()'\n }\n})\nexport class TalosStepperResetDirective {\n private readonly stepper = inject(forwardRef(() => TalosStepperComponent), { optional: true });\n\n /**\n * Explicit stepper reference if the button resides outside the `<talos-stepper>` tree.\n */\n readonly talosStepperReset = input<TalosStepperComponent | null, TalosStepperComponent | string | null | undefined>(\n null,\n {\n transform: (val: TalosStepperComponent | string | null | undefined) =>\n typeof val === 'string' || val === null || val === undefined ? null : val\n }\n );\n\n protected onClick(): void {\n const target = this.talosStepperReset() ?? this.stepper;\n if (target) {\n target.reset();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TalosStepperComponent } from './stepper.component';\nimport { TalosStepComponent } from './step.component';\nimport {\n TalosStepContentDirective,\n TalosStepIconDirective,\n TalosStepLabelDirective,\n TalosStepperNextDirective,\n TalosStepperPreviousDirective,\n TalosStepperResetDirective\n} from './stepper.directives';\n\nconst STEPPER_DECLARATIONS = [\n TalosStepperComponent,\n TalosStepComponent,\n TalosStepLabelDirective,\n TalosStepContentDirective,\n TalosStepIconDirective,\n TalosStepperNextDirective,\n TalosStepperPreviousDirective,\n TalosStepperResetDirective\n];\n\n@NgModule({\n imports: [...STEPPER_DECLARATIONS],\n exports: [...STEPPER_DECLARATIONS]\n})\nexport class TalosStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|