@tailng-ui/primitives 0.1.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/package.json +9 -3
  2. package/src/index.d.ts +5 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.js +2 -1
  8. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  9. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  10. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +2 -1
  11. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  12. package/src/lib/feedback/skeleton/tng-skeleton.d.ts +1 -0
  13. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  14. package/src/lib/feedback/skeleton/tng-skeleton.js +4 -0
  15. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  16. package/src/lib/form/chips/tng-chips.d.ts +53 -1
  17. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  18. package/src/lib/form/chips/tng-chips.js +281 -1
  19. package/src/lib/form/chips/tng-chips.js.map +1 -1
  20. package/src/lib/form/input-otp/tng-input-otp.d.ts +22 -0
  21. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  22. package/src/lib/form/input-otp/tng-input-otp.js +105 -1
  23. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  24. package/src/lib/form/label/tng-label.d.ts +2 -0
  25. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  26. package/src/lib/form/label/tng-label.js +9 -0
  27. package/src/lib/form/label/tng-label.js.map +1 -1
  28. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +1 -0
  29. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  30. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +26 -0
  31. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  32. package/src/lib/form/radio/tng-radio.d.ts +26 -0
  33. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  34. package/src/lib/form/radio/tng-radio.js +129 -1
  35. package/src/lib/form/radio/tng-radio.js.map +1 -1
  36. package/src/lib/form/textarea/tng-textarea.d.ts +6 -14
  37. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  38. package/src/lib/form/textarea/tng-textarea.js +42 -85
  39. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  40. package/src/lib/layout/accordion/tng-accordion.d.ts +9 -0
  41. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  42. package/src/lib/layout/accordion/tng-accordion.js +113 -0
  43. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  44. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts +20 -0
  45. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -0
  46. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +106 -0
  47. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -0
  48. package/src/lib/layout/tree/index.d.ts +5 -0
  49. package/src/lib/layout/tree/index.d.ts.map +1 -0
  50. package/src/lib/layout/tree/index.js +5 -0
  51. package/src/lib/layout/tree/index.js.map +1 -0
  52. package/src/lib/layout/tree/tng-tree-group.d.ts +10 -0
  53. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -0
  54. package/src/lib/layout/tree/tng-tree-group.js +29 -0
  55. package/src/lib/layout/tree/tng-tree-group.js.map +1 -0
  56. package/src/lib/layout/tree/tng-tree-indicator.d.ts +8 -0
  57. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -0
  58. package/src/lib/layout/tree/tng-tree-indicator.js +36 -0
  59. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -0
  60. package/src/lib/layout/tree/tng-tree-item.d.ts +36 -0
  61. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -0
  62. package/src/lib/layout/tree/tng-tree-item.js +139 -0
  63. package/src/lib/layout/tree/tng-tree-item.js.map +1 -0
  64. package/src/lib/layout/tree/tng-tree.d.ts +64 -1
  65. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  66. package/src/lib/layout/tree/tng-tree.js +536 -1
  67. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  68. package/src/lib/layout/tree/tng-tree.transforms.d.ts +10 -0
  69. package/src/lib/layout/tree/tng-tree.transforms.d.ts.map +1 -0
  70. package/src/lib/layout/tree/tng-tree.transforms.js +46 -0
  71. package/src/lib/layout/tree/tng-tree.transforms.js.map +1 -0
  72. package/src/lib/overlay/dialog/tng-dialog.d.ts +158 -0
  73. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -0
  74. package/src/lib/overlay/dialog/tng-dialog.js +854 -0
  75. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -0
  76. package/src/lib/overlay/popover/tng-popover.d.ts +121 -0
  77. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -0
  78. package/src/lib/overlay/popover/tng-popover.js +614 -0
  79. package/src/lib/overlay/popover/tng-popover.js.map +1 -0
  80. package/src/lib/overlay/tng-overlay-runtime.d.ts +11 -0
  81. package/src/lib/overlay/tng-overlay-runtime.d.ts.map +1 -0
  82. package/src/lib/overlay/tng-overlay-runtime.js +6 -0
  83. package/src/lib/overlay/tng-overlay-runtime.js.map +1 -0
  84. package/src/lib/overlay/tooltip/tng-tooltip.d.ts +92 -3
  85. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  86. package/src/lib/overlay/tooltip/tng-tooltip.js +474 -3
  87. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  88. package/src/lib/utility/badge/tng-badge.d.ts +6 -0
  89. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  90. package/src/lib/utility/badge/tng-badge.js +65 -0
  91. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  92. package/src/lib/utility/copy/tng-copy.d.ts +21 -10
  93. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  94. package/src/lib/utility/copy/tng-copy.js +117 -88
  95. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  96. package/src/lib/utility/tag/tng-tag.d.ts +37 -0
  97. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  98. package/src/lib/utility/tag/tng-tag.js +195 -1
  99. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -0,0 +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"]}
@@ -0,0 +1,121 @@
1
+ import type { OnDestroy, OnInit } from '@angular/core';
2
+ type OptionalBooleanInput = boolean | null | string | undefined;
3
+ export type TngPopoverAutoFocus = 'first-focusable' | 'none' | 'panel';
4
+ export type TngPopoverSide = 'bottom' | 'left' | 'right' | 'top';
5
+ export type TngPopoverAlign = 'center' | 'end' | 'start';
6
+ export type TngPopoverPanelRole = 'dialog' | 'listbox' | 'menu' | 'none' | 'region';
7
+ export type TngPopoverAriaHasPopup = 'dialog' | 'grid' | 'listbox' | 'menu' | 'tree' | 'true';
8
+ export type TngPopoverCloseReason = 'escape' | 'outside-pointer' | 'programmatic' | 'trigger-toggle';
9
+ export declare function resolvePopoverActiveElement(documentRef: unknown): HTMLElement | null;
10
+ export declare function resolvePopoverFocusableElements(container: unknown): readonly HTMLElement[];
11
+ export declare function resolvePopoverMarkedInitialElement(container: unknown): HTMLElement | null;
12
+ export declare class TngPopover implements OnDestroy, OnInit {
13
+ readonly openInput: import("@angular/core").InputSignalWithTransform<boolean | undefined, OptionalBooleanInput>;
14
+ readonly defaultOpen: import("@angular/core").InputSignalWithTransform<boolean, OptionalBooleanInput>;
15
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, OptionalBooleanInput>;
16
+ readonly closeOnEscape: import("@angular/core").InputSignalWithTransform<boolean, OptionalBooleanInput>;
17
+ readonly closeOnOutsidePointer: import("@angular/core").InputSignalWithTransform<boolean, OptionalBooleanInput>;
18
+ readonly restoreFocus: import("@angular/core").InputSignalWithTransform<boolean, OptionalBooleanInput>;
19
+ readonly autoFocus: import("@angular/core").InputSignalWithTransform<TngPopoverAutoFocus, string>;
20
+ readonly side: import("@angular/core").InputSignalWithTransform<TngPopoverSide, string>;
21
+ readonly align: import("@angular/core").InputSignalWithTransform<TngPopoverAlign, string>;
22
+ readonly panelRole: import("@angular/core").InputSignalWithTransform<TngPopoverPanelRole, string>;
23
+ readonly ariaHasPopup: import("@angular/core").InputSignalWithTransform<TngPopoverAriaHasPopup, string>;
24
+ readonly ariaLabel: import("@angular/core").InputSignal<string | null>;
25
+ readonly openChange: import("@angular/core").OutputEmitterRef<boolean>;
26
+ readonly closed: import("@angular/core").OutputEmitterRef<TngPopoverCloseReason>;
27
+ private readonly hostRef;
28
+ private readonly injector;
29
+ private readonly documentRef;
30
+ private readonly instanceId;
31
+ private readonly uncontrolledOpen;
32
+ private readonly openStateEffect;
33
+ private initialized;
34
+ private isActive;
35
+ private isFocusLayerRegistered;
36
+ private isOverlayLayerRegistered;
37
+ private panelElement;
38
+ private panelElementId;
39
+ private triggerElement;
40
+ protected readonly dataSlot = "popover";
41
+ protected get dataOpenAttr(): 'false' | 'true';
42
+ protected get dataStateAttr(): 'closed' | 'open';
43
+ protected get dataDisabledAttr(): '' | null;
44
+ protected get dataSideAttr(): TngPopoverSide;
45
+ protected get dataAlignAttr(): TngPopoverAlign;
46
+ ngOnInit(): void;
47
+ ngOnDestroy(): void;
48
+ isOpen(): boolean;
49
+ openPopover(): void;
50
+ closePopover(reason?: TngPopoverCloseReason): void;
51
+ togglePopover(force?: boolean): void;
52
+ requestClose(reason: TngPopoverCloseReason): void;
53
+ registerTrigger(trigger: HTMLElement): void;
54
+ unregisterTrigger(trigger: HTMLElement): void;
55
+ registerPanel(panel: HTMLElement, id: string): void;
56
+ unregisterPanel(panel: HTMLElement): void;
57
+ getPanelId(): string | null;
58
+ resolvePanelRole(): Exclude<TngPopoverPanelRole, 'none'> | null;
59
+ private activatePopover;
60
+ private deactivatePopover;
61
+ private focusInitialElement;
62
+ recordFocusedElement(target: unknown): void;
63
+ private setOpenState;
64
+ private isControlled;
65
+ private shouldCloseFromEscape;
66
+ private shouldCloseFromOutsidePointer;
67
+ private activateFocusLayer;
68
+ private deactivateFocusLayer;
69
+ private registerFocusLayer;
70
+ private unregisterFocusLayer;
71
+ private registerOverlayLayer;
72
+ private unregisterOverlayLayer;
73
+ private focusElement;
74
+ private resolveFocusableMemberIds;
75
+ private ensureElementId;
76
+ private resolveElementById;
77
+ }
78
+ export declare class TngPopoverTrigger implements OnDestroy, OnInit {
79
+ private readonly hostRef;
80
+ private readonly parentPopover;
81
+ readonly popoverFor: import("@angular/core").InputSignal<TngPopover | null>;
82
+ protected get ariaHasPopupAttr(): TngPopoverAriaHasPopup;
83
+ protected get ariaControlsAttr(): string | null;
84
+ protected get ariaExpandedAttr(): 'false' | 'true';
85
+ protected readonly dataSlot = "popover-trigger";
86
+ protected get dataOpenAttr(): 'false' | 'true';
87
+ protected get dataStateAttr(): 'closed' | 'open';
88
+ protected get dataDisabledAttr(): '' | null;
89
+ ngOnInit(): void;
90
+ ngOnDestroy(): void;
91
+ protected onClick(): void;
92
+ private resolvePopover;
93
+ }
94
+ export declare class TngPopoverPanel implements OnDestroy, OnInit {
95
+ private readonly popover;
96
+ private readonly hostRef;
97
+ private readonly generatedId;
98
+ private resolvedId;
99
+ protected readonly dataSlot = "popover-panel";
100
+ protected get dataOpenAttr(): 'false' | 'true';
101
+ protected get dataStateAttr(): 'closed' | 'open';
102
+ protected get dataSideAttr(): TngPopoverSide;
103
+ protected get dataAlignAttr(): TngPopoverAlign;
104
+ protected get hiddenAttr(): '' | null;
105
+ protected get idAttr(): string;
106
+ protected get roleAttr(): Exclude<TngPopoverPanelRole, 'none'> | null;
107
+ protected get ariaLabelAttr(): string | null;
108
+ protected readonly tabIndexAttr = "-1";
109
+ ngOnInit(): void;
110
+ ngOnDestroy(): void;
111
+ protected onFocusIn(target: EventTarget | null): void;
112
+ }
113
+ export declare class TngPopoverClose {
114
+ private readonly popover;
115
+ readonly closeReason: import("@angular/core").InputSignal<string | null>;
116
+ protected readonly dataSlot = "popover-close";
117
+ protected onClick(): void;
118
+ private resolveCloseReason;
119
+ }
120
+ export {};
121
+ //# sourceMappingURL=tng-popover.d.ts.map
@@ -0,0 +1 @@
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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"}