@tailng-ui/primitives 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
- package/src/lib/feedback/empty/tng-empty.js +0 -5
- package/src/lib/feedback/empty/tng-empty.js.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
- package/src/lib/feedback/progress-bar/tng-progress-bar.js +0 -2
- package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +0 -1
- package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
- package/src/lib/feedback/skeleton/tng-skeleton.js +0 -1
- package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
- package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
- package/src/lib/feedback/toast/tng-toast.js +0 -2
- package/src/lib/feedback/toast/tng-toast.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js +0 -1
- package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
- package/src/lib/form/_shared/select/tng-select.parts.shared.js +0 -4
- package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js +0 -1
- package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +0 -2
- package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +0 -1
- package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js +0 -4
- package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
- package/src/lib/form/button-toggle/tng-button-toggle.js +0 -2
- package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
- package/src/lib/form/checkbox/tng-checkbox.js +0 -1
- package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
- package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
- package/src/lib/form/chips/tng-chips.js +0 -3
- package/src/lib/form/chips/tng-chips.js.map +1 -1
- package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
- package/src/lib/form/combobox/tng-combobox.js +0 -1
- package/src/lib/form/combobox/tng-combobox.js.map +1 -1
- package/src/lib/form/input/tng-input.d.ts.map +1 -1
- package/src/lib/form/input/tng-input.js +0 -4
- package/src/lib/form/input/tng-input.js.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
- package/src/lib/form/input-otp/tng-input-otp.js +0 -1
- package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
- package/src/lib/form/label/tng-label.d.ts.map +1 -1
- package/src/lib/form/label/tng-label.js +0 -1
- package/src/lib/form/label/tng-label.js.map +1 -1
- package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/listbox.directive.js +0 -1
- package/src/lib/form/listbox/listbox.directive.js.map +1 -1
- package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
- package/src/lib/form/listbox/option.directive.js +0 -1
- package/src/lib/form/listbox/option.directive.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +0 -2
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +0 -1
- package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.js +0 -1
- package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
- package/src/lib/form/multi-select/tng-multi-select.listbox.js +0 -2
- package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
- package/src/lib/form/multiselect/tng-multiselect.js +0 -1
- package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
- package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
- package/src/lib/form/radio/tng-radio.js +0 -1
- package/src/lib/form/radio/tng-radio.js.map +1 -1
- package/src/lib/form/select/tng-select.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.js +0 -1
- package/src/lib/form/select/tng-select.js.map +1 -1
- package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
- package/src/lib/form/select/tng-select.listbox.js +0 -2
- package/src/lib/form/select/tng-select.listbox.js.map +1 -1
- package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
- package/src/lib/form/slider/tng-slider.js +0 -1
- package/src/lib/form/slider/tng-slider.js.map +1 -1
- package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
- package/src/lib/form/switch/tng-switch.js +0 -1
- package/src/lib/form/switch/tng-switch.js.map +1 -1
- package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
- package/src/lib/form/textarea/tng-textarea.js +0 -1
- package/src/lib/form/textarea/tng-textarea.js.map +1 -1
- package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
- package/src/lib/form/toggle/tng-toggle.js +0 -1
- package/src/lib/form/toggle/tng-toggle.js.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
- package/src/lib/form/toggle-group/tng-toggle-group.js +0 -1
- package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
- package/src/lib/layout/accordion/tng-accordion.js +0 -4
- package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +0 -1
- package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
- package/src/lib/layout/card/tng-card.d.ts.map +1 -1
- package/src/lib/layout/card/tng-card.js +0 -10
- package/src/lib/layout/card/tng-card.js.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
- package/src/lib/layout/collapsible/tng-collapsible.js +0 -3
- package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
- package/src/lib/layout/drawer/tng-drawer.js +0 -6
- package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
- package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
- package/src/lib/layout/grid/tng-grid.js +0 -1
- package/src/lib/layout/grid/tng-grid.js.map +1 -1
- package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
- package/src/lib/layout/separator/tng-separator.js +0 -1
- package/src/lib/layout/separator/tng-separator.js.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
- package/src/lib/layout/stepper/tng-stepper.js +0 -1
- package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-group.js +0 -1
- package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-indicator.js +0 -1
- package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree-item.js +0 -1
- package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
- package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
- package/src/lib/layout/tree/tng-tree.js +0 -1
- package/src/lib/layout/tree/tng-tree.js.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +0 -5
- package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
- package/src/lib/navigation/context-menu/tng-context-menu.js +0 -2
- package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +0 -1
- package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
- package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
- package/src/lib/navigation/menu/tng-menu.js +0 -6
- package/src/lib/navigation/menu/tng-menu.js.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
- package/src/lib/navigation/menubar/tng-menubar.js +0 -2
- package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +0 -1
- package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
- package/src/lib/navigation/tabs/tng-tabs.js +0 -6
- package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
- package/src/lib/navigation/toolbar/tng-toolbar.js +0 -1
- package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
- package/src/lib/overlay/dialog/tng-dialog.js +0 -9
- package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
- package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
- package/src/lib/overlay/popover/tng-popover.js +0 -4
- package/src/lib/overlay/popover/tng-popover.js.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
- package/src/lib/overlay/tooltip/tng-tooltip.js +0 -3
- package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
- package/src/lib/utility/avatar/tng-avatar.js +0 -3
- package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
- package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
- package/src/lib/utility/badge/tng-badge.js +0 -1
- package/src/lib/utility/badge/tng-badge.js.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
- package/src/lib/utility/code-block/tng-code-block.js +0 -5
- package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
- package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
- package/src/lib/utility/copy/tng-copy.js +0 -1
- package/src/lib/utility/copy/tng-copy.js.map +1 -1
- package/src/lib/utility/press/tng-press.d.ts.map +1 -1
- package/src/lib/utility/press/tng-press.js +0 -1
- package/src/lib/utility/press/tng-press.js.map +1 -1
- package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
- package/src/lib/utility/tag/tng-tag.js +0 -3
- package/src/lib/utility/tag/tng-tag.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-dialog.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/dialog/tng-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n createModalIsolationManager,\n createOverlayScrollLockManager,\n resolveFirstFocusableElement,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type {\n TngModalIsolationDocument,\n TngModalIsolationElement,\n TngOverlayDismissReason,\n TngScrollLockDocument,\n} from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\nconst createDialogPanelId = createTngIdFactory('tng-dialog-panel');\nconst createDialogTitleId = createTngIdFactory('tng-dialog-title');\nconst createDialogDescriptionId = createTngIdFactory('tng-dialog-description');\nconst createDialogFocusableId = createTngIdFactory('tng-dialog-focusable');\n\nexport type TngDialogAutoFocus = 'dialog' | 'first-focusable' | 'none';\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toModalIsolationDocument(documentRef: unknown): TngModalIsolationDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngModalIsolationDocument;\n}\n\nfunction toModalIsolationElement(elementRef: unknown): TngModalIsolationElement | null {\n if (!(elementRef instanceof HTMLElement)) {\n return null;\n }\n\n return elementRef as unknown as TngModalIsolationElement;\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngDialogCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return 'programmatic';\n}\n\nconst dialogGlobalDocument = typeof document === 'undefined' ? null : document;\nconst dialogModalIsolation = createModalIsolationManager({\n documentRef: toModalIsolationDocument(dialogGlobalDocument),\n});\nconst dialogFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolveTngDialogActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nexport function resolveTngDialogFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolveTngDialogMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveTngDialogFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveTngDialogFocusableElements(markedInitial)[0] ?? null;\n}\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFirstFocusableElement(container);\n}\n\nfunction isDialogCloseReason(value: string): value is TngDialogCloseReason {\n return value === 'backdrop' || value === 'close-button' || value === 'escape' || value === 'programmatic';\n}\n\n@Directive({\n selector: '[tngDialog]',\n exportAs: 'tngDialog',\n standalone: true,\n})\nexport class TngDialog implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly dismissible = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnBackdropClick = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngDialogAutoFocus, TngDialogAutoFocus | string>('first-focusable', {\n transform: (value: TngDialogAutoFocus | string): TngDialogAutoFocus => {\n return value === 'none' || value === 'dialog' || value === 'first-focusable'\n ? value\n : 'first-focusable';\n },\n });\n public readonly trapFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly lockScroll = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedby = input<string | null>(null);\n public readonly size = input<TngDialogSize>('md');\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngDialogCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly documentRef = dialogGlobalDocument;\n private readonly injector = inject(Injector);\n private readonly instanceId = createDialogId();\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private registeredTitleId: string | null = null;\n private registeredDescriptionId: string | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.size();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activateDialog();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n this.unregisterFocusLayer();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openDialog(): void {\n if (this.disabled()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closeDialog(reason: TngDialogCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public toggleDialog(force?: boolean): void {\n if (force !== undefined) {\n if (force) {\n this.openDialog();\n return;\n }\n\n this.closeDialog('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.closeDialog('programmatic');\n return;\n }\n\n this.openDialog();\n }\n\n public requestClose(reason: TngDialogCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public registerTitle(id: string): void {\n this.registeredTitleId = id;\n }\n\n public unregisterTitle(id: string): void {\n if (this.registeredTitleId === id) {\n this.registeredTitleId = null;\n }\n }\n\n public registerDescription(id: string): void {\n this.registeredDescriptionId = id;\n }\n\n public unregisterDescription(id: string): void {\n if (this.registeredDescriptionId === id) {\n this.registeredDescriptionId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolveAriaLabelledby(): string | null {\n const explicit = this.ariaLabelledby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredTitleId;\n }\n\n public resolveAriaDescribedby(): string | null {\n const explicit = this.ariaDescribedby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredDescriptionId;\n }\n\n public onBackdropPointerDown(event: PointerEvent): void {\n if (!this.shouldCloseFromBackdrop()) {\n return;\n }\n\n if (!(event.currentTarget instanceof HTMLElement)) {\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n event.preventDefault();\n this.requestClose('backdrop');\n }\n\n public trapTabNavigation(event: unknown): void {\n if (!this.trapFocus()) {\n return;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || keyboardEvent.key !== 'Tab') {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (!dialogFocusHandoff.isTrapActive(this.instanceId)) {\n return;\n }\n\n const focusableMemberIds = this.resolveFocusableMemberIds(panel);\n const firstMemberId = focusableMemberIds[0];\n if (firstMemberId === undefined) {\n return;\n }\n const lastMemberId = focusableMemberIds[focusableMemberIds.length - 1] ?? firstMemberId;\n\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const activeElementId = activeElement === null ? null : this.ensureElementId(activeElement);\n\n let candidateId: string | null = null;\n if (activeElement === null || !panel.contains(activeElement)) {\n candidateId = keyboardEvent.shiftKey ? lastMemberId : firstMemberId;\n } else if (activeElementId === firstMemberId && keyboardEvent.shiftKey) {\n candidateId = lastMemberId;\n } else if (activeElementId === lastMemberId && !keyboardEvent.shiftKey) {\n candidateId = firstMemberId;\n } else {\n if (activeElementId !== null) {\n dialogFocusHandoff.recordFocus(this.instanceId, activeElementId);\n }\n\n return;\n }\n\n const resolvedId = dialogFocusHandoff.resolveFocusCandidate(this.instanceId, candidateId);\n if (resolvedId === null) {\n return;\n }\n\n const nextFocusTarget = this.resolveElementById(resolvedId);\n if (nextFocusTarget === null) {\n return;\n }\n\n keyboardEvent.preventDefault();\n nextFocusTarget.focus();\n dialogFocusHandoff.recordFocus(this.instanceId, resolvedId);\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null || !panel.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n dialogFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n\n if (this.lockScroll()) {\n this.scrollLock.acquire(this.instanceId);\n }\n\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.activateModalIsolation();\n\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n\n if (this.lockScroll()) {\n this.scrollLock.release(this.instanceId);\n }\n\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n this.deactivateModalIsolation();\n }\n\n private focusInitialElement(): void {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'none') {\n return;\n }\n\n if (this.autoFocus() === 'dialog') {\n panel.focus();\n return;\n }\n\n const markedInitial = resolveTngDialogMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (nextOpen && this.disabled()) {\n return;\n }\n\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromBackdrop(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnBackdropClick();\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnEscape();\n }\n\n private activateModalIsolation(): void {\n const hostElement = toModalIsolationElement(this.hostRef.nativeElement);\n if (hostElement === null) {\n return;\n }\n\n dialogModalIsolation.activate(this.instanceId, hostElement);\n }\n\n private deactivateModalIsolation(): void {\n dialogModalIsolation.deactivate(this.instanceId);\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: false,\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromBackdrop()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n dialogFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = dialogFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId);\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: this.trapFocus(),\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolveTngDialogFocusableElements(panel);\n if (focusableElements.length === 0) {\n return [];\n }\n\n return focusableElements.map((element) => this.ensureElementId(element));\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createDialogFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngDialogPanel]',\n exportAs: 'tngDialogPanel',\n standalone: true,\n})\nexport class TngDialogPanel implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.dialog.size();\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'dialog';\n\n @HostBinding('attr.tabindex')\n protected readonly tabindexAttr = '-1';\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return this.dialog.resolveAriaDescribedby();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n const label = this.dialog.ariaLabel()?.trim() ?? '';\n return label.length > 0 ? label : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByAttr(): string | null {\n return this.dialog.resolveAriaLabelledby();\n }\n\n @HostBinding('attr.aria-modal')\n protected get ariaModalAttr(): 'true' | null {\n return this.dialog.isOpen() ? 'true' : null;\n }\n\n public ngOnInit(): void {\n this.dialog.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Tab') {\n this.dialog.trapTabNavigation(event);\n }\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: unknown): void {\n this.dialog.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngDialogBackdrop]',\n exportAs: 'tngDialogBackdrop',\n standalone: true,\n})\nexport class TngDialogBackdrop {\n private readonly dialog = inject(TngDialog);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-backdrop';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n this.dialog.onBackdropPointerDown(event);\n }\n}\n\n@Directive({\n selector: '[tngDialogTrigger]',\n exportAs: 'tngDialogTrigger',\n standalone: true,\n})\nexport class TngDialogTrigger {\n private readonly parentDialog = inject(TngDialog, { optional: true });\n\n public readonly dialogFor = input<TngDialog | null>(null, {\n alias: 'tngDialogTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected readonly ariaHasPopupAttr = 'dialog';\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolveDialog()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolveDialog()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolveDialog()?.disabled() ? '' : null;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolveDialog()?.openDialog();\n }\n\n private resolveDialog(): TngDialog | null {\n return this.dialogFor() ?? this.parentDialog;\n }\n}\n\n@Directive({\n selector: '[tngDialogTitle]',\n exportAs: 'tngDialogTitle',\n standalone: true,\n})\nexport class TngDialogTitle implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogTitleId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-title';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerTitle(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterTitle(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogDescription]',\n exportAs: 'tngDialogDescription',\n standalone: true,\n})\nexport class TngDialogDescription implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogDescriptionId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-description';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerDescription(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterDescription(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogContent]',\n exportAs: 'tngDialogContent',\n standalone: true,\n})\nexport class TngDialogContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-content';\n}\n\n@Directive({\n selector: '[tngDialogActions]',\n exportAs: 'tngDialogActions',\n standalone: true,\n})\nexport class TngDialogActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-actions';\n}\n\n@Directive({\n selector: '[tngDialogClose]',\n exportAs: 'tngDialogClose',\n standalone: true,\n})\nexport class TngDialogClose {\n private readonly dialog = inject(TngDialog);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngDialogClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.dialog.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngDialogCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'close-button';\n }\n\n return isDialogCloseReason(raw) ? raw : 'close-button';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tng-dialog.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/dialog/tng-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n createModalIsolationManager,\n createOverlayScrollLockManager,\n resolveFirstFocusableElement,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type {\n TngModalIsolationDocument,\n TngModalIsolationElement,\n TngOverlayDismissReason,\n TngScrollLockDocument,\n} from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\nconst createDialogPanelId = createTngIdFactory('tng-dialog-panel');\nconst createDialogTitleId = createTngIdFactory('tng-dialog-title');\nconst createDialogDescriptionId = createTngIdFactory('tng-dialog-description');\nconst createDialogFocusableId = createTngIdFactory('tng-dialog-focusable');\n\nexport type TngDialogAutoFocus = 'dialog' | 'first-focusable' | 'none';\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toModalIsolationDocument(documentRef: unknown): TngModalIsolationDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngModalIsolationDocument;\n}\n\nfunction toModalIsolationElement(elementRef: unknown): TngModalIsolationElement | null {\n if (!(elementRef instanceof HTMLElement)) {\n return null;\n }\n\n return elementRef as unknown as TngModalIsolationElement;\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngDialogCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return 'programmatic';\n}\n\nconst dialogGlobalDocument = typeof document === 'undefined' ? null : document;\nconst dialogModalIsolation = createModalIsolationManager({\n documentRef: toModalIsolationDocument(dialogGlobalDocument),\n});\nconst dialogFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolveTngDialogActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nexport function resolveTngDialogFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolveTngDialogMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveTngDialogFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveTngDialogFocusableElements(markedInitial)[0] ?? null;\n}\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFirstFocusableElement(container);\n}\n\nfunction isDialogCloseReason(value: string): value is TngDialogCloseReason {\n return value === 'backdrop' || value === 'close-button' || value === 'escape' || value === 'programmatic';\n}\n\n@Directive({\n selector: '[tngDialog]',\n exportAs: 'tngDialog',\n})\nexport class TngDialog implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly dismissible = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnBackdropClick = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngDialogAutoFocus, TngDialogAutoFocus | string>('first-focusable', {\n transform: (value: TngDialogAutoFocus | string): TngDialogAutoFocus => {\n return value === 'none' || value === 'dialog' || value === 'first-focusable'\n ? value\n : 'first-focusable';\n },\n });\n public readonly trapFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly lockScroll = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedby = input<string | null>(null);\n public readonly size = input<TngDialogSize>('md');\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngDialogCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly documentRef = dialogGlobalDocument;\n private readonly injector = inject(Injector);\n private readonly instanceId = createDialogId();\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private registeredTitleId: string | null = null;\n private registeredDescriptionId: string | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.size();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activateDialog();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n this.unregisterFocusLayer();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openDialog(): void {\n if (this.disabled()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closeDialog(reason: TngDialogCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public toggleDialog(force?: boolean): void {\n if (force !== undefined) {\n if (force) {\n this.openDialog();\n return;\n }\n\n this.closeDialog('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.closeDialog('programmatic');\n return;\n }\n\n this.openDialog();\n }\n\n public requestClose(reason: TngDialogCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public registerTitle(id: string): void {\n this.registeredTitleId = id;\n }\n\n public unregisterTitle(id: string): void {\n if (this.registeredTitleId === id) {\n this.registeredTitleId = null;\n }\n }\n\n public registerDescription(id: string): void {\n this.registeredDescriptionId = id;\n }\n\n public unregisterDescription(id: string): void {\n if (this.registeredDescriptionId === id) {\n this.registeredDescriptionId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolveAriaLabelledby(): string | null {\n const explicit = this.ariaLabelledby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredTitleId;\n }\n\n public resolveAriaDescribedby(): string | null {\n const explicit = this.ariaDescribedby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredDescriptionId;\n }\n\n public onBackdropPointerDown(event: PointerEvent): void {\n if (!this.shouldCloseFromBackdrop()) {\n return;\n }\n\n if (!(event.currentTarget instanceof HTMLElement)) {\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n event.preventDefault();\n this.requestClose('backdrop');\n }\n\n public trapTabNavigation(event: unknown): void {\n if (!this.trapFocus()) {\n return;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || keyboardEvent.key !== 'Tab') {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (!dialogFocusHandoff.isTrapActive(this.instanceId)) {\n return;\n }\n\n const focusableMemberIds = this.resolveFocusableMemberIds(panel);\n const firstMemberId = focusableMemberIds[0];\n if (firstMemberId === undefined) {\n return;\n }\n const lastMemberId = focusableMemberIds[focusableMemberIds.length - 1] ?? firstMemberId;\n\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const activeElementId = activeElement === null ? null : this.ensureElementId(activeElement);\n\n let candidateId: string | null = null;\n if (activeElement === null || !panel.contains(activeElement)) {\n candidateId = keyboardEvent.shiftKey ? lastMemberId : firstMemberId;\n } else if (activeElementId === firstMemberId && keyboardEvent.shiftKey) {\n candidateId = lastMemberId;\n } else if (activeElementId === lastMemberId && !keyboardEvent.shiftKey) {\n candidateId = firstMemberId;\n } else {\n if (activeElementId !== null) {\n dialogFocusHandoff.recordFocus(this.instanceId, activeElementId);\n }\n\n return;\n }\n\n const resolvedId = dialogFocusHandoff.resolveFocusCandidate(this.instanceId, candidateId);\n if (resolvedId === null) {\n return;\n }\n\n const nextFocusTarget = this.resolveElementById(resolvedId);\n if (nextFocusTarget === null) {\n return;\n }\n\n keyboardEvent.preventDefault();\n nextFocusTarget.focus();\n dialogFocusHandoff.recordFocus(this.instanceId, resolvedId);\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null || !panel.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n dialogFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n\n if (this.lockScroll()) {\n this.scrollLock.acquire(this.instanceId);\n }\n\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.activateModalIsolation();\n\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n\n if (this.lockScroll()) {\n this.scrollLock.release(this.instanceId);\n }\n\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n this.deactivateModalIsolation();\n }\n\n private focusInitialElement(): void {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'none') {\n return;\n }\n\n if (this.autoFocus() === 'dialog') {\n panel.focus();\n return;\n }\n\n const markedInitial = resolveTngDialogMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (nextOpen && this.disabled()) {\n return;\n }\n\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromBackdrop(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnBackdropClick();\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnEscape();\n }\n\n private activateModalIsolation(): void {\n const hostElement = toModalIsolationElement(this.hostRef.nativeElement);\n if (hostElement === null) {\n return;\n }\n\n dialogModalIsolation.activate(this.instanceId, hostElement);\n }\n\n private deactivateModalIsolation(): void {\n dialogModalIsolation.deactivate(this.instanceId);\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: false,\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromBackdrop()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n dialogFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = dialogFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId);\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: this.trapFocus(),\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolveTngDialogFocusableElements(panel);\n if (focusableElements.length === 0) {\n return [];\n }\n\n return focusableElements.map((element) => this.ensureElementId(element));\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createDialogFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngDialogPanel]',\n exportAs: 'tngDialogPanel',\n})\nexport class TngDialogPanel implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.dialog.size();\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'dialog';\n\n @HostBinding('attr.tabindex')\n protected readonly tabindexAttr = '-1';\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return this.dialog.resolveAriaDescribedby();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n const label = this.dialog.ariaLabel()?.trim() ?? '';\n return label.length > 0 ? label : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByAttr(): string | null {\n return this.dialog.resolveAriaLabelledby();\n }\n\n @HostBinding('attr.aria-modal')\n protected get ariaModalAttr(): 'true' | null {\n return this.dialog.isOpen() ? 'true' : null;\n }\n\n public ngOnInit(): void {\n this.dialog.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Tab') {\n this.dialog.trapTabNavigation(event);\n }\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: unknown): void {\n this.dialog.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngDialogBackdrop]',\n exportAs: 'tngDialogBackdrop',\n})\nexport class TngDialogBackdrop {\n private readonly dialog = inject(TngDialog);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-backdrop';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n this.dialog.onBackdropPointerDown(event);\n }\n}\n\n@Directive({\n selector: '[tngDialogTrigger]',\n exportAs: 'tngDialogTrigger',\n})\nexport class TngDialogTrigger {\n private readonly parentDialog = inject(TngDialog, { optional: true });\n\n public readonly dialogFor = input<TngDialog | null>(null, {\n alias: 'tngDialogTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected readonly ariaHasPopupAttr = 'dialog';\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolveDialog()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolveDialog()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolveDialog()?.disabled() ? '' : null;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolveDialog()?.openDialog();\n }\n\n private resolveDialog(): TngDialog | null {\n return this.dialogFor() ?? this.parentDialog;\n }\n}\n\n@Directive({\n selector: '[tngDialogTitle]',\n exportAs: 'tngDialogTitle',\n})\nexport class TngDialogTitle implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogTitleId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-title';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerTitle(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterTitle(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogDescription]',\n exportAs: 'tngDialogDescription',\n})\nexport class TngDialogDescription implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogDescriptionId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-description';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerDescription(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterDescription(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogContent]',\n exportAs: 'tngDialogContent',\n})\nexport class TngDialogContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-content';\n}\n\n@Directive({\n selector: '[tngDialogActions]',\n exportAs: 'tngDialogActions',\n})\nexport class TngDialogActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-actions';\n}\n\n@Directive({\n selector: '[tngDialogClose]',\n exportAs: 'tngDialogClose',\n})\nexport class TngDialogClose {\n private readonly dialog = inject(TngDialog);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngDialogClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.dialog.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngDialogCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'close-button';\n }\n\n return isDialogCloseReason(raw) ? raw : 'close-button';\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-popover.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,MAAM,EAAC,MAAM,eAAe,CAAC;;AA2B/B,KAAK,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACpF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9F,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,CAAC;AA6BrG,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAOpF;AAED,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,WAAW,EAAE,CAE1F;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAezF;AAED,
|
|
1
|
+
{"version":3,"file":"tng-popover.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"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"}
|
|
@@ -385,7 +385,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
385
385
|
args: [{
|
|
386
386
|
selector: '[tngPopover]',
|
|
387
387
|
exportAs: 'tngPopover',
|
|
388
|
-
standalone: true,
|
|
389
388
|
}]
|
|
390
389
|
}], propDecorators: { openInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], closeOnOutsidePointer: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsidePointer", required: false }] }], restoreFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocus", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], panelRole: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelRole", required: false }] }], ariaHasPopup: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaHasPopup", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], closed: [{ type: i0.Output, args: ["closed"] }], dataSlot: [{
|
|
391
390
|
type: HostBinding,
|
|
@@ -449,7 +448,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
449
448
|
args: [{
|
|
450
449
|
selector: '[tngPopoverTrigger]',
|
|
451
450
|
exportAs: 'tngPopoverTrigger',
|
|
452
|
-
standalone: true,
|
|
453
451
|
}]
|
|
454
452
|
}], propDecorators: { popoverFor: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngPopoverTrigger", required: false }] }], ariaHasPopupAttr: [{
|
|
455
453
|
type: HostBinding,
|
|
@@ -526,7 +524,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
526
524
|
args: [{
|
|
527
525
|
selector: '[tngPopoverPanel], [tngPopoverContent]',
|
|
528
526
|
exportAs: 'tngPopoverPanel',
|
|
529
|
-
standalone: true,
|
|
530
527
|
}]
|
|
531
528
|
}], propDecorators: { dataSlot: [{
|
|
532
529
|
type: HostBinding,
|
|
@@ -584,7 +581,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
584
581
|
args: [{
|
|
585
582
|
selector: '[tngPopoverClose]',
|
|
586
583
|
exportAs: 'tngPopoverClose',
|
|
587
|
-
standalone: true,
|
|
588
584
|
}]
|
|
589
585
|
}], propDecorators: { closeReason: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngPopoverClose", required: false }] }], dataSlot: [{
|
|
590
586
|
type: HostBinding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-popover.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n OnDestroy,\n OnInit} from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type { TngOverlayDismissReason } from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createPopoverId = createTngIdFactory('tng-popover');\nconst createPopoverPanelId = createTngIdFactory('tng-popover-panel');\nconst createPopoverFocusableId = createTngIdFactory('tng-popover-focusable');\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nexport type TngPopoverAutoFocus = 'first-focusable' | 'none' | 'panel';\nexport type TngPopoverSide = 'bottom' | 'left' | 'right' | 'top';\nexport type TngPopoverAlign = 'center' | 'end' | 'start';\nexport type TngPopoverPanelRole = 'dialog' | 'listbox' | 'menu' | 'none' | 'region';\nexport type TngPopoverAriaHasPopup = 'dialog' | 'grid' | 'listbox' | 'menu' | 'tree' | 'true';\nexport type TngPopoverCloseReason = 'escape' | 'outside-pointer' | 'programmatic' | 'trigger-toggle';\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction isPopoverCloseReason(value: string): value is TngPopoverCloseReason {\n return value === 'escape' || value === 'outside-pointer' || value === 'programmatic' || value === 'trigger-toggle';\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngPopoverCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'outside-pointer';\n }\n\n return 'programmatic';\n}\n\nconst popoverGlobalDocument = typeof document === 'undefined' ? null : document;\nconst popoverFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolvePopoverActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const active = documentRef.activeElement;\n return active instanceof HTMLElement ? active : null;\n}\n\nexport function resolvePopoverFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolvePopoverMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-popover-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolvePopoverFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolvePopoverFocusableElements(markedInitial)[0] ?? null;\n}\n\n@Directive({\n selector: '[tngPopover]',\n exportAs: 'tngPopover',\n standalone: true,\n})\nexport class TngPopover implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnOutsidePointer = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngPopoverAutoFocus, string | TngPopoverAutoFocus>('first-focusable', {\n transform: (value: string | TngPopoverAutoFocus): TngPopoverAutoFocus => {\n return value === 'none' || value === 'panel' || value === 'first-focusable' ? value : 'first-focusable';\n },\n });\n public readonly side = input<TngPopoverSide, string | TngPopoverSide>('bottom', {\n transform: (value: string | TngPopoverSide): TngPopoverSide => {\n return value === 'top' || value === 'right' || value === 'bottom' || value === 'left' ? value : 'bottom';\n },\n });\n public readonly align = input<TngPopoverAlign, string | TngPopoverAlign>('start', {\n transform: (value: string | TngPopoverAlign): TngPopoverAlign => {\n return value === 'start' || value === 'center' || value === 'end' ? value : 'start';\n },\n });\n public readonly panelRole = input<TngPopoverPanelRole, string | TngPopoverPanelRole>('dialog', {\n transform: (value: string | TngPopoverPanelRole): TngPopoverPanelRole => {\n return value === 'dialog' || value === 'menu' || value === 'listbox' || value === 'region' || value === 'none'\n ? value\n : 'dialog';\n },\n });\n public readonly ariaHasPopup = input<TngPopoverAriaHasPopup, string | TngPopoverAriaHasPopup>('dialog', {\n transform: (value: string | TngPopoverAriaHasPopup): TngPopoverAriaHasPopup => {\n return value === 'dialog'\n || value === 'menu'\n || value === 'listbox'\n || value === 'tree'\n || value === 'grid'\n || value === 'true'\n ? value\n : 'dialog';\n },\n });\n public readonly ariaLabel = input<string | null>(null);\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngPopoverCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly injector = inject(Injector);\n private readonly documentRef = popoverGlobalDocument;\n private readonly instanceId = createPopoverId();\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activatePopover();\n return;\n }\n\n this.deactivatePopover();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private triggerElement: HTMLElement | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngPopoverSide {\n return this.side();\n }\n\n @HostBinding('attr.data-align')\n protected get dataAlignAttr(): TngPopoverAlign {\n return this.align();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activatePopover();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivatePopover();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openPopover(): void {\n if (this.disabled() || this.isOpen()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closePopover(reason: TngPopoverCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public togglePopover(force?: boolean): void {\n if (force === true) {\n this.openPopover();\n return;\n }\n\n if (force === false) {\n this.closePopover('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.requestClose('trigger-toggle');\n return;\n }\n\n this.openPopover();\n }\n\n public requestClose(reason: TngPopoverCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerTrigger(trigger: HTMLElement): void {\n this.triggerElement = trigger;\n }\n\n public unregisterTrigger(trigger: HTMLElement): void {\n if (this.triggerElement === trigger) {\n this.triggerElement = null;\n }\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolvePanelRole(): Exclude<TngPopoverPanelRole, 'none'> | null {\n const role = this.panelRole();\n return role === 'none' ? null : role;\n }\n\n private activatePopover(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.focusInitialElement();\n }\n\n private deactivatePopover(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n }\n\n private focusInitialElement(): void {\n if (this.autoFocus() === 'none') {\n return;\n }\n\n afterNextRender(\n (): void => {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'panel') {\n this.focusElement(panel);\n return;\n }\n\n const focusTarget = resolvePopoverMarkedInitialElement(panel) ?? resolvePopoverFocusableElements(panel)[0] ?? panel;\n this.focusElement(focusTarget);\n },\n { injector: this.injector },\n );\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (!panel?.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n popoverFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private setOpenState(next: boolean): void {\n if (this.isOpen() === next) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(next);\n }\n\n this.openChange.emit(next);\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.closeOnEscape();\n }\n\n private shouldCloseFromOutsidePointer(): boolean {\n return this.isOpen() && this.closeOnOutsidePointer();\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolvePopoverActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n popoverFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = popoverFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId) ?? this.triggerElement;\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n popoverFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: false,\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n popoverFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: this.shouldCloseFromOutsidePointer(),\n id: this.instanceId,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromOutsidePointer()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private focusElement(target: HTMLElement): void {\n const targetId = this.ensureElementId(target);\n const resolvedTargetId = popoverFocusHandoff.resolveFocusCandidate(this.instanceId, targetId);\n if (resolvedTargetId === null) {\n return;\n }\n\n const resolvedTarget = this.resolveElementById(resolvedTargetId);\n if (resolvedTarget === null) {\n return;\n }\n\n resolvedTarget.focus();\n popoverFocusHandoff.recordFocus(this.instanceId, resolvedTargetId);\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolvePopoverFocusableElements(panel);\n const memberIds: string[] = [];\n const seenIds = new Set<string>();\n\n const registerMember = (element: HTMLElement): void => {\n const id = this.ensureElementId(element);\n if (seenIds.has(id)) {\n return;\n }\n\n seenIds.add(id);\n memberIds.push(id);\n };\n\n registerMember(panel);\n for (const element of focusableElements) {\n registerMember(element);\n }\n\n return memberIds;\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createPopoverFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngPopoverTrigger]',\n exportAs: 'tngPopoverTrigger',\n standalone: true,\n})\nexport class TngPopoverTrigger implements OnDestroy, OnInit {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly parentPopover = inject(TngPopover, { optional: true });\n\n public readonly popoverFor = input<TngPopover | null>(null, {\n alias: 'tngPopoverTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected get ariaHasPopupAttr(): TngPopoverAriaHasPopup {\n return this.resolvePopover()?.ariaHasPopup() ?? 'dialog';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolvePopover()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolvePopover()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolvePopover()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolvePopover()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolvePopover()?.disabled() ? '' : null;\n }\n\n public ngOnInit(): void {\n this.resolvePopover()?.registerTrigger(this.hostRef.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.resolvePopover()?.unregisterTrigger(this.hostRef.nativeElement);\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolvePopover()?.togglePopover();\n }\n\n private resolvePopover(): TngPopover | null {\n return this.popoverFor() ?? this.parentPopover;\n }\n}\n\n@Directive({\n selector: '[tngPopoverPanel], [tngPopoverContent]',\n exportAs: 'tngPopoverPanel',\n standalone: true,\n})\nexport class TngPopoverPanel implements OnDestroy, OnInit {\n private readonly popover = inject(TngPopover);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly generatedId = createPopoverPanelId();\n private resolvedId = '';\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.popover.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.popover.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngPopoverSide {\n return this.popover.side();\n }\n\n @HostBinding('attr.data-align')\n protected get dataAlignAttr(): TngPopoverAlign {\n return this.popover.align();\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.popover.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected get roleAttr(): Exclude<TngPopoverPanelRole, 'none'> | null {\n return this.popover.resolvePanelRole();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return this.popover.ariaLabel();\n }\n\n @HostBinding('attr.tabindex')\n protected readonly tabIndexAttr = '-1';\n\n public ngOnInit(): void {\n const hostId = this.hostRef.nativeElement.id.trim();\n this.resolvedId = hostId.length > 0 ? hostId : this.generatedId;\n this.popover.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.popover.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: EventTarget | null): void {\n this.popover.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngPopoverClose]',\n exportAs: 'tngPopoverClose',\n standalone: true,\n})\nexport class TngPopoverClose {\n private readonly popover = inject(TngPopover);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngPopoverClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.popover.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngPopoverCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'programmatic';\n }\n\n return isPopoverCloseReason(raw) ? raw : 'programmatic';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tng-popover.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n OnDestroy,\n OnInit} from '@angular/core';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type { TngOverlayDismissReason } from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createPopoverId = createTngIdFactory('tng-popover');\nconst createPopoverPanelId = createTngIdFactory('tng-popover-panel');\nconst createPopoverFocusableId = createTngIdFactory('tng-popover-focusable');\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nexport type TngPopoverAutoFocus = 'first-focusable' | 'none' | 'panel';\nexport type TngPopoverSide = 'bottom' | 'left' | 'right' | 'top';\nexport type TngPopoverAlign = 'center' | 'end' | 'start';\nexport type TngPopoverPanelRole = 'dialog' | 'listbox' | 'menu' | 'none' | 'region';\nexport type TngPopoverAriaHasPopup = 'dialog' | 'grid' | 'listbox' | 'menu' | 'tree' | 'true';\nexport type TngPopoverCloseReason = 'escape' | 'outside-pointer' | 'programmatic' | 'trigger-toggle';\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction isPopoverCloseReason(value: string): value is TngPopoverCloseReason {\n return value === 'escape' || value === 'outside-pointer' || value === 'programmatic' || value === 'trigger-toggle';\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngPopoverCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'outside-pointer';\n }\n\n return 'programmatic';\n}\n\nconst popoverGlobalDocument = typeof document === 'undefined' ? null : document;\nconst popoverFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolvePopoverActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const active = documentRef.activeElement;\n return active instanceof HTMLElement ? active : null;\n}\n\nexport function resolvePopoverFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolvePopoverMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-popover-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolvePopoverFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolvePopoverFocusableElements(markedInitial)[0] ?? null;\n}\n\n@Directive({\n selector: '[tngPopover]',\n exportAs: 'tngPopover',\n})\nexport class TngPopover implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnOutsidePointer = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngPopoverAutoFocus, string | TngPopoverAutoFocus>('first-focusable', {\n transform: (value: string | TngPopoverAutoFocus): TngPopoverAutoFocus => {\n return value === 'none' || value === 'panel' || value === 'first-focusable' ? value : 'first-focusable';\n },\n });\n public readonly side = input<TngPopoverSide, string | TngPopoverSide>('bottom', {\n transform: (value: string | TngPopoverSide): TngPopoverSide => {\n return value === 'top' || value === 'right' || value === 'bottom' || value === 'left' ? value : 'bottom';\n },\n });\n public readonly align = input<TngPopoverAlign, string | TngPopoverAlign>('start', {\n transform: (value: string | TngPopoverAlign): TngPopoverAlign => {\n return value === 'start' || value === 'center' || value === 'end' ? value : 'start';\n },\n });\n public readonly panelRole = input<TngPopoverPanelRole, string | TngPopoverPanelRole>('dialog', {\n transform: (value: string | TngPopoverPanelRole): TngPopoverPanelRole => {\n return value === 'dialog' || value === 'menu' || value === 'listbox' || value === 'region' || value === 'none'\n ? value\n : 'dialog';\n },\n });\n public readonly ariaHasPopup = input<TngPopoverAriaHasPopup, string | TngPopoverAriaHasPopup>('dialog', {\n transform: (value: string | TngPopoverAriaHasPopup): TngPopoverAriaHasPopup => {\n return value === 'dialog'\n || value === 'menu'\n || value === 'listbox'\n || value === 'tree'\n || value === 'grid'\n || value === 'true'\n ? value\n : 'dialog';\n },\n });\n public readonly ariaLabel = input<string | null>(null);\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngPopoverCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly injector = inject(Injector);\n private readonly documentRef = popoverGlobalDocument;\n private readonly instanceId = createPopoverId();\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activatePopover();\n return;\n }\n\n this.deactivatePopover();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private triggerElement: HTMLElement | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngPopoverSide {\n return this.side();\n }\n\n @HostBinding('attr.data-align')\n protected get dataAlignAttr(): TngPopoverAlign {\n return this.align();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activatePopover();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivatePopover();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openPopover(): void {\n if (this.disabled() || this.isOpen()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closePopover(reason: TngPopoverCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public togglePopover(force?: boolean): void {\n if (force === true) {\n this.openPopover();\n return;\n }\n\n if (force === false) {\n this.closePopover('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.requestClose('trigger-toggle');\n return;\n }\n\n this.openPopover();\n }\n\n public requestClose(reason: TngPopoverCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerTrigger(trigger: HTMLElement): void {\n this.triggerElement = trigger;\n }\n\n public unregisterTrigger(trigger: HTMLElement): void {\n if (this.triggerElement === trigger) {\n this.triggerElement = null;\n }\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolvePanelRole(): Exclude<TngPopoverPanelRole, 'none'> | null {\n const role = this.panelRole();\n return role === 'none' ? null : role;\n }\n\n private activatePopover(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.focusInitialElement();\n }\n\n private deactivatePopover(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n }\n\n private focusInitialElement(): void {\n if (this.autoFocus() === 'none') {\n return;\n }\n\n afterNextRender(\n (): void => {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'panel') {\n this.focusElement(panel);\n return;\n }\n\n const focusTarget = resolvePopoverMarkedInitialElement(panel) ?? resolvePopoverFocusableElements(panel)[0] ?? panel;\n this.focusElement(focusTarget);\n },\n { injector: this.injector },\n );\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (!panel?.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n popoverFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private setOpenState(next: boolean): void {\n if (this.isOpen() === next) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(next);\n }\n\n this.openChange.emit(next);\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.closeOnEscape();\n }\n\n private shouldCloseFromOutsidePointer(): boolean {\n return this.isOpen() && this.closeOnOutsidePointer();\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolvePopoverActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n popoverFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = popoverFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId) ?? this.triggerElement;\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n popoverFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: false,\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n popoverFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: this.shouldCloseFromOutsidePointer(),\n id: this.instanceId,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromOutsidePointer()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private focusElement(target: HTMLElement): void {\n const targetId = this.ensureElementId(target);\n const resolvedTargetId = popoverFocusHandoff.resolveFocusCandidate(this.instanceId, targetId);\n if (resolvedTargetId === null) {\n return;\n }\n\n const resolvedTarget = this.resolveElementById(resolvedTargetId);\n if (resolvedTarget === null) {\n return;\n }\n\n resolvedTarget.focus();\n popoverFocusHandoff.recordFocus(this.instanceId, resolvedTargetId);\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolvePopoverFocusableElements(panel);\n const memberIds: string[] = [];\n const seenIds = new Set<string>();\n\n const registerMember = (element: HTMLElement): void => {\n const id = this.ensureElementId(element);\n if (seenIds.has(id)) {\n return;\n }\n\n seenIds.add(id);\n memberIds.push(id);\n };\n\n registerMember(panel);\n for (const element of focusableElements) {\n registerMember(element);\n }\n\n return memberIds;\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createPopoverFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngPopoverTrigger]',\n exportAs: 'tngPopoverTrigger',\n})\nexport class TngPopoverTrigger implements OnDestroy, OnInit {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly parentPopover = inject(TngPopover, { optional: true });\n\n public readonly popoverFor = input<TngPopover | null>(null, {\n alias: 'tngPopoverTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected get ariaHasPopupAttr(): TngPopoverAriaHasPopup {\n return this.resolvePopover()?.ariaHasPopup() ?? 'dialog';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolvePopover()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolvePopover()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolvePopover()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolvePopover()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolvePopover()?.disabled() ? '' : null;\n }\n\n public ngOnInit(): void {\n this.resolvePopover()?.registerTrigger(this.hostRef.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.resolvePopover()?.unregisterTrigger(this.hostRef.nativeElement);\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolvePopover()?.togglePopover();\n }\n\n private resolvePopover(): TngPopover | null {\n return this.popoverFor() ?? this.parentPopover;\n }\n}\n\n@Directive({\n selector: '[tngPopoverPanel], [tngPopoverContent]',\n exportAs: 'tngPopoverPanel',\n})\nexport class TngPopoverPanel implements OnDestroy, OnInit {\n private readonly popover = inject(TngPopover);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly generatedId = createPopoverPanelId();\n private resolvedId = '';\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.popover.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.popover.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngPopoverSide {\n return this.popover.side();\n }\n\n @HostBinding('attr.data-align')\n protected get dataAlignAttr(): TngPopoverAlign {\n return this.popover.align();\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.popover.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected get roleAttr(): Exclude<TngPopoverPanelRole, 'none'> | null {\n return this.popover.resolvePanelRole();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n return this.popover.ariaLabel();\n }\n\n @HostBinding('attr.tabindex')\n protected readonly tabIndexAttr = '-1';\n\n public ngOnInit(): void {\n const hostId = this.hostRef.nativeElement.id.trim();\n this.resolvedId = hostId.length > 0 ? hostId : this.generatedId;\n this.popover.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.popover.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: EventTarget | null): void {\n this.popover.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngPopoverClose]',\n exportAs: 'tngPopoverClose',\n})\nexport class TngPopoverClose {\n private readonly popover = inject(TngPopover);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngPopoverClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'popover-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.popover.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngPopoverCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'programmatic';\n }\n\n return isPopoverCloseReason(raw) ? raw : 'programmatic';\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tng-tooltip.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,MAAM,EAOP,MAAM,eAAe,CAAC;;AAWvB,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE,KAAK,oBAAoB,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAQhE,KAAK,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GACjE,QAAQ,CAAC;IAAE,cAAc,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAC;AA4B3C,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAE3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,GAAG,IAAI,CAEhE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,
|
|
1
|
+
{"version":3,"file":"tng-tooltip.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"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"}
|
|
@@ -370,7 +370,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
370
370
|
args: [{
|
|
371
371
|
selector: '[tngTooltip]',
|
|
372
372
|
exportAs: 'tngTooltip',
|
|
373
|
-
standalone: true,
|
|
374
373
|
}]
|
|
375
374
|
}], propDecorators: { closeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDelay", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], openDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "openDelay", required: false }] }], openInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], dataSlot: [{
|
|
376
375
|
type: HostBinding,
|
|
@@ -439,7 +438,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
439
438
|
args: [{
|
|
440
439
|
selector: '[tngTooltipTrigger]',
|
|
441
440
|
exportAs: 'tngTooltipTrigger',
|
|
442
|
-
standalone: true,
|
|
443
441
|
}]
|
|
444
442
|
}], propDecorators: { describedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "describedBy", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ariaDescribedByAttr: [{
|
|
445
443
|
type: HostBinding,
|
|
@@ -534,7 +532,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
534
532
|
args: [{
|
|
535
533
|
selector: '[tngTooltipContent]',
|
|
536
534
|
exportAs: 'tngTooltipContent',
|
|
537
|
-
standalone: true,
|
|
538
535
|
}]
|
|
539
536
|
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], dataSideAttr: [{
|
|
540
537
|
type: HostBinding,
|