@radix-ng/primitives 0.34.0 → 0.36.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 (61) hide show
  1. package/calendar/src/calendar-root.directive.d.ts +3 -3
  2. package/core/index.d.ts +3 -0
  3. package/core/src/accessor/provide-value-accessor.d.ts +1 -1
  4. package/core/src/clamp.d.ts +38 -0
  5. package/core/src/date-time/index.d.ts +3 -0
  6. package/core/src/date-time/parser.d.ts +37 -0
  7. package/core/src/date-time/parts.d.ts +12 -0
  8. package/core/src/date-time/segment.d.ts +4 -0
  9. package/core/src/date-time/types.d.ts +18 -1
  10. package/core/src/date-time/useDateField.d.ts +141 -0
  11. package/core/src/date-time/utils.d.ts +3 -0
  12. package/core/src/getActiveElement.d.ts +1 -0
  13. package/core/src/provide-token.d.ts +22 -0
  14. package/date-field/README.md +1 -0
  15. package/date-field/index.d.ts +11 -0
  16. package/date-field/src/date-field-context.token.d.ts +18 -0
  17. package/date-field/src/date-field-input.directive.d.ts +53 -0
  18. package/date-field/src/date-field-root.directive.d.ts +126 -0
  19. package/dialog/src/dialog-ref.d.ts +3 -0
  20. package/dialog/src/dialog.config.d.ts +1 -0
  21. package/fesm2022/radix-ng-primitives-calendar.mjs +6 -15
  22. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-checkbox.mjs +3 -4
  24. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-core.mjs +1097 -8
  26. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-date-field.mjs +334 -0
  28. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -0
  29. package/fesm2022/radix-ng-primitives-dialog.mjs +54 -4
  30. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  31. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +0 -2
  32. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  33. package/fesm2022/radix-ng-primitives-number-field.mjs +502 -0
  34. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -0
  35. package/fesm2022/radix-ng-primitives-progress.mjs +3 -3
  36. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  37. package/fesm2022/radix-ng-primitives-radio.mjs +7 -7
  38. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  39. package/fesm2022/radix-ng-primitives-switch.mjs +7 -15
  40. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-tabs.mjs +3 -6
  42. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  43. package/fesm2022/radix-ng-primitives-toggle-group.mjs +8 -10
  44. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-toggle.mjs +5 -12
  46. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  47. package/hover-card/src/hover-card-root.directive.d.ts +4 -4
  48. package/number-field/README.md +1 -0
  49. package/number-field/index.d.ts +17 -0
  50. package/number-field/src/number-field-context.token.d.ts +24 -0
  51. package/number-field/src/number-field-decrement.directive.d.ts +23 -0
  52. package/number-field/src/number-field-increment.directive.d.ts +23 -0
  53. package/number-field/src/number-field-input.directive.d.ts +22 -0
  54. package/number-field/src/number-field-root.directive.d.ts +86 -0
  55. package/number-field/src/types.d.ts +1 -0
  56. package/number-field/src/utils.d.ts +18 -0
  57. package/package.json +9 -1
  58. package/popover/src/popover-root.directive.d.ts +4 -4
  59. package/switch/src/switch-root.directive.d.ts +0 -1
  60. package/toggle/src/toggle.directive.d.ts +0 -1
  61. package/tooltip/src/tooltip-root.directive.d.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-dialog.mjs","sources":["../../../packages/primitives/dialog/src/dialog-ref.ts","../../../packages/primitives/dialog/src/dialog-close.directive.ts","../../../packages/primitives/dialog/src/dialog.config.ts","../../../packages/primitives/dialog/src/dialog-content.directive.ts","../../../packages/primitives/dialog/src/dialog-description.directive.ts","../../../packages/primitives/dialog/src/dialog-dismiss.directive.ts","../../../packages/primitives/dialog/src/dialog-title.directive.ts","../../../packages/primitives/dialog/src/dialog.service.ts","../../../packages/primitives/dialog/src/dialog.providers.ts","../../../packages/primitives/dialog/src/dialog-trigger.directive.ts","../../../packages/primitives/dialog/src/dialog.injectors.ts","../../../packages/primitives/dialog/index.ts","../../../packages/primitives/dialog/radix-ng-primitives-dialog.ts"],"sourcesContent":["import { DialogRef } from '@angular/cdk/dialog';\nimport { filter, isObservable, map, Observable, of, take } from 'rxjs';\nimport { RdxDialogConfig, RdxDialogResult } from './dialog.config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n return v === DISMISSED_VALUE;\n}\n\n/**\n * Represents a reference to an open dialog.\n * Provides methods and observables to interact with and monitor the dialog's state.\n * @template C - The type of the dialog's content component\n */\nexport class RdxDialogRef<C = unknown> {\n closed$: Observable<RdxDialogResult<C> | undefined> = this.cdkRef.closed.pipe(\n map((res): RdxDialogResult<C> | undefined => (isDismissed(res) ? undefined : res))\n );\n\n dismissed$: Observable<void> = this.cdkRef.closed.pipe(\n filter((res) => res === DISMISSED_VALUE),\n map((): void => undefined)\n );\n\n result$: Observable<RdxDialogResult<C>> = this.cdkRef.closed.pipe(\n filter((res): res is RdxDialogResult<C> => !isDismissed(res))\n );\n\n /**\n * @param cdkRef - Reference to the underlying CDK dialog\n * @param config - Configuration options for the dialog\n */\n constructor(\n public readonly cdkRef: DialogRef<RdxDialogResult<C> | typeof DISMISSED_VALUE, C>,\n public readonly config: RdxDialogConfig<C>\n ) {}\n\n get instance(): C | null {\n return this.cdkRef.componentInstance;\n }\n\n /**\n * Attempts to dismiss the dialog\n * Checks the canClose condition before dismissing\n */\n dismiss(): void {\n if (!this.instance || this.config.isAlert) {\n return;\n }\n\n const canClose = this.config.canClose?.(this.instance) ?? true;\n const canClose$ = isObservable(canClose) ? canClose : of(canClose);\n canClose$.pipe(take(1)).subscribe((close) => {\n if (close) {\n this.cdkRef.close(DISMISSED_VALUE);\n }\n });\n }\n\n close(result: RdxDialogResult<C>): void {\n this.cdkRef.close(result);\n }\n}\n\n/**\n * Represents a simplified interface for dialog interaction\n * Typically used by dialog content components\n * @template R - The type of the result when closing the dialog\n */\nexport type RdxDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { Directive, inject } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\n\n@Directive({\n selector: '[rdxDialogClose]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogCloseDirective {\n private readonly ref = inject<RdxDialogRef>(RdxDialogRef);\n\n protected onClick(): void {\n this.ref.close();\n }\n}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('rdxDialogData');\nconst ɵdialogResult = Symbol.for('rdxDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type RdxDialogData<T> = {\n [K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type RdxDialogResult<C> =\n DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ntype RdxDialogMode = 'default' | 'sheet' | 'sheet-bottom' | 'sheet-top' | 'sheet-left' | 'sheet-right';\n\ntype RdxBaseDialogConfig<C> = {\n content: ComponentType<C> | TemplateRef<C>;\n\n data: RdxDialogData<C>;\n\n modal?: boolean;\n\n ariaLabel?: string;\n\n autoFocus?: AutoFocusTarget | 'first-input' | string;\n\n canClose?: (comp: C) => boolean | Observable<boolean>;\n\n canCloseWithBackdrop?: boolean;\n\n cdkConfigOverride?: Partial<DialogConfig<C>>;\n\n mode?: RdxDialogMode;\n\n backdropClass?: string | string[];\n\n panelClasses?: string[];\n\n isAlert?: boolean;\n};\n\nexport type RdxDialogConfig<T> =\n RdxDialogData<T> extends never\n ? Omit<RdxBaseDialogConfig<T>, 'data'>\n : RdxBaseDialogConfig<T> & { data: Required<RdxDialogData<T>> };\n\nexport type RdxDialogState = 'open' | 'closed';\n\nexport function getState(open: boolean): RdxDialogState {\n return open ? 'open' : 'closed';\n}\n","import { computed, DestroyRef, Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RdxDialogRef } from './dialog-ref';\nimport { getState, RdxDialogResult } from './dialog.config';\n\n@Directive({\n selector: '[rdxDialogContent]',\n standalone: true,\n host: {\n role: 'dialog',\n '[attr.aria-describedby]': '\"true\"',\n '[attr.aria-labelledby]': '\"true\"',\n '[attr.data-state]': 'state()'\n }\n})\nexport class RdxDialogContentDirective<C = unknown> {\n private readonly dialogRef = inject<RdxDialogRef<C>>(RdxDialogRef);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly isOpen = signal(true);\n\n readonly state = computed(() => getState(this.isOpen()));\n\n constructor() {\n this.dialogRef.closed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n /**\n * Closes the dialog with a specified result.\n *\n * @param result The result to be passed back when closing the dialog\n */\n close(result: RdxDialogResult<C>): void {\n this.dialogRef.close(result);\n }\n\n /**\n * Dismisses the dialog without a result.\n */\n dismiss(): void {\n this.dialogRef.dismiss();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxDialogDescription]',\n standalone: true\n})\nexport class RdxDialogDescriptionDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\n\n@Directive({\n selector: 'button[rdxDialogDismiss]',\n standalone: true,\n host: {\n type: 'button',\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogDismissDirective {\n private readonly ref = inject<RdxDialogRef>(RdxDialogRef);\n\n protected onClick(): void {\n this.ref.dismiss();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxDialogTitle]',\n standalone: true\n})\nexport class RdxDialogTitleDirective {}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { filter, isObservable, merge, of, switchMap, take, takeUntil } from 'rxjs';\nimport { DISMISSED_VALUE, RdxDialogRef } from './dialog-ref';\nimport type { RdxDialogConfig, RdxDialogResult } from './dialog.config';\n\n/**\n * Modality control: When `isModal` is set to `true`, the dialog will:\n *\n * - Have a backdrop that blocks interaction with the rest of the page\n * - Disable closing by clicking outside or pressing Escape\n * - Set `aria-modal=\"true\"` for screen readers\n * - Automatically focus the first tabbable element in the dialog\n * - Restore focus to the element that opened the dialog when it's closed\n *\n *\n * When `isModal` is `false`, the dialog will:\n *\n * - Not have a backdrop, allowing interaction with the rest of the page\n * - Allow closing by clicking outside or pressing Escape\n * - Not set `aria-modal` attribute\n * - Not automatically manage focus\n */\n@Injectable()\nexport class RdxDialogService {\n #cdkDialog = inject(Dialog);\n #injector = inject(Injector);\n\n open<C>(config: RdxDialogConfig<C>): RdxDialogRef<C> {\n let dialogRef: RdxDialogRef<C>;\n let modeClasses: string[] = [];\n\n switch (config.mode) {\n case 'sheet':\n modeClasses = ['mod-sheet', 'mod-right'];\n break;\n case 'sheet-right':\n modeClasses = ['mod-sheet', 'mod-right'];\n break;\n case 'sheet-bottom':\n modeClasses = ['mod-sheet', 'mod-bottom'];\n break;\n case 'sheet-left':\n modeClasses = ['mod-sheet', 'mod-left'];\n break;\n case 'sheet-top':\n modeClasses = ['mod-sheet', 'mod-top'];\n break;\n }\n\n const cdkRef = this.#cdkDialog.open<RdxDialogResult<C> | typeof DISMISSED_VALUE, unknown, C>(config.content, {\n ariaModal: config.modal ?? true,\n hasBackdrop: config.modal ?? true,\n data: 'data' in config ? config.data : null,\n restoreFocus: true,\n role: config.isAlert ? 'alertdialog' : 'dialog',\n disableClose: true,\n closeOnDestroy: true,\n injector: this.#injector,\n backdropClass: config.backdropClass ? config.backdropClass : 'cdk-overlay-dark-backdrop',\n panelClass: ['dialog', ...modeClasses, ...(config.panelClasses || [])],\n autoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n ariaLabel: config.ariaLabel,\n templateContext: () => ({ dialogRef: dialogRef }),\n providers: (ref) => {\n dialogRef = new RdxDialogRef(ref, config);\n return [\n {\n provide: RdxDialogRef,\n useValue: dialogRef\n }\n ];\n },\n // @FIXME\n ...(config.cdkConfigOverride || ({} as any))\n });\n\n if (cdkRef.componentRef) {\n cdkRef.componentRef.injector\n .get(Renderer2)\n .setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n }\n\n if (!config.isAlert) {\n merge(\n cdkRef.backdropClick,\n cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented))\n )\n .pipe(\n filter(() => config.canCloseWithBackdrop ?? true),\n switchMap(() => {\n const canClose =\n (cdkRef.componentInstance && config.canClose?.(cdkRef.componentInstance)) ?? true;\n const canClose$ = isObservable(canClose) ? canClose : of(canClose);\n return canClose$.pipe(take(1));\n }),\n\n takeUntil(dialogRef!.closed$)\n )\n .subscribe((canClose) => {\n if (canClose) {\n cdkRef.close(DISMISSED_VALUE);\n }\n });\n }\n\n return dialogRef!;\n }\n}\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { RdxDialogService } from './dialog.service';\n\n/**\n * Configures the RdxDialog module by providing necessary dependencies.\n *\n * This function sets up the environment providers required for the RdxDialog to function,\n * specifically importing the Angular CDK's DialogModule.\n *\n * @returns {EnvironmentProviders} An EnvironmentProviders instance containing the DialogModule.\n */\nexport function provideRdxDialogConfig(): EnvironmentProviders {\n return makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\n/**\n * Provides the RdxDialogService for dependency injection.\n *\n * This function is used to make the RdxDialogService available for injection\n * in components, directives, or other services that require dialog functionality.\n *\n * @returns {Provider} A provider for the RdxDialogService.\n */\nexport function provideRdxDialog(): Provider {\n return RdxDialogService;\n}\n","import { computed, Directive, inject, Input, input, signal, TemplateRef } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\nimport { getState, RdxDialogConfig, RdxDialogState } from './dialog.config';\nimport { provideRdxDialog } from './dialog.providers';\nimport { RdxDialogService } from './dialog.service';\n\nlet nextId = 0;\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxDialogTrigger]',\n standalone: true,\n providers: [provideRdxDialog()],\n host: {\n type: 'button',\n '[attr.id]': 'id()',\n '[attr.aria-haspopup]': '\"dialog\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'dialogId()',\n '[attr.data-state]': 'state()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogTriggerDirective {\n private readonly dialogService = inject(RdxDialogService);\n\n /**\n * @group Props\n */\n readonly id = input(`rdx-dialog-trigger-${nextId++}`);\n readonly dialogId = computed(() => `rdx-dialog-${this.id()}`);\n\n /**\n * @group Props\n */\n @Input({ required: true, alias: 'rdxDialogTrigger' }) dialog: TemplateRef<void>;\n\n /**\n * @group Props\n */\n @Input({ alias: 'rdxDialogConfig' }) dialogConfig: RdxDialogConfig<unknown>;\n\n readonly isOpen = signal(false);\n readonly state = computed<RdxDialogState>(() => getState(this.isOpen()));\n\n private currentDialogRef: RdxDialogRef | null = null;\n\n protected onClick() {\n this.currentDialogRef = this.dialogService.open({\n ...this.dialogConfig,\n content: this.dialog\n });\n\n this.isOpen.set(true);\n\n this.currentDialogRef.closed$.subscribe(() => {\n this.isOpen.set(false);\n this.currentDialogRef = null;\n });\n }\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { RdxDialogRef, RdxDialogSelfRef } from './dialog-ref';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog.config';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n return inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): RdxDialogSelfRef<R> & ɵDialogResultFlag<R> {\n return inject<RdxDialogSelfRef<R>>(RdxDialogRef) as RdxDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","import { NgModule } from '@angular/core';\nimport { RdxDialogCloseDirective } from './src/dialog-close.directive';\nimport { RdxDialogContentDirective } from './src/dialog-content.directive';\nimport { RdxDialogDescriptionDirective } from './src/dialog-description.directive';\nimport { RdxDialogDismissDirective } from './src/dialog-dismiss.directive';\nimport { RdxDialogTitleDirective } from './src/dialog-title.directive';\nimport { RdxDialogTriggerDirective } from './src/dialog-trigger.directive';\n\nexport * from './src/dialog-close.directive';\nexport * from './src/dialog-content.directive';\nexport * from './src/dialog-description.directive';\nexport * from './src/dialog-dismiss.directive';\nexport * from './src/dialog-ref';\nexport * from './src/dialog-title.directive';\nexport * from './src/dialog-trigger.directive';\nexport * from './src/dialog.config';\nexport * from './src/dialog.injectors';\nexport * from './src/dialog.providers';\nexport * from './src/dialog.service';\n\nconst _imports = [\n RdxDialogTriggerDirective,\n RdxDialogContentDirective,\n RdxDialogTitleDirective,\n RdxDialogCloseDirective,\n RdxDialogDescriptionDirective,\n RdxDialogDismissDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-dialog.mjs","sources":["../../../packages/primitives/dialog/src/dialog-ref.ts","../../../packages/primitives/dialog/src/dialog-close.directive.ts","../../../packages/primitives/dialog/src/dialog.config.ts","../../../packages/primitives/dialog/src/dialog-content.directive.ts","../../../packages/primitives/dialog/src/dialog-description.directive.ts","../../../packages/primitives/dialog/src/dialog-dismiss.directive.ts","../../../packages/primitives/dialog/src/dialog-title.directive.ts","../../../packages/primitives/dialog/src/dialog.service.ts","../../../packages/primitives/dialog/src/dialog.providers.ts","../../../packages/primitives/dialog/src/dialog-trigger.directive.ts","../../../packages/primitives/dialog/src/dialog.injectors.ts","../../../packages/primitives/dialog/index.ts","../../../packages/primitives/dialog/radix-ng-primitives-dialog.ts"],"sourcesContent":["import { DialogRef } from '@angular/cdk/dialog';\nimport { computed, signal } from '@angular/core';\nimport { filter, isObservable, map, Observable, of, take } from 'rxjs';\nimport { RdxDialogConfig, RdxDialogResult } from './dialog.config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n return v === DISMISSED_VALUE;\n}\n\n/**\n * Represents a reference to an open dialog.\n * Provides methods and observables to interact with and monitor the dialog's state.\n * @template C - The type of the dialog's content component\n */\nexport class RdxDialogRef<C = unknown> {\n private _previousTimeout: ReturnType<typeof setTimeout> | undefined;\n\n // state tracking\n private readonly _openSignal = signal(true);\n public readonly state = computed(() => (this._openSignal() ? 'open' : 'closed'));\n\n closed$: Observable<RdxDialogResult<C> | undefined> = this.cdkRef.closed.pipe(\n map((res): RdxDialogResult<C> | undefined => (isDismissed(res) ? undefined : res))\n );\n\n dismissed$: Observable<void> = this.cdkRef.closed.pipe(\n filter((res) => res === DISMISSED_VALUE),\n map((): void => undefined)\n );\n\n result$: Observable<RdxDialogResult<C>> = this.cdkRef.closed.pipe(\n filter((res): res is RdxDialogResult<C> => !isDismissed(res))\n );\n\n /**\n * @param cdkRef - Reference to the underlying CDK dialog\n * @param config - Configuration options for the dialog\n */\n constructor(\n public readonly cdkRef: DialogRef<RdxDialogResult<C> | typeof DISMISSED_VALUE, C>,\n public readonly config: RdxDialogConfig<C>\n ) {}\n\n get instance(): C | null {\n return this.cdkRef.componentInstance;\n }\n\n /**\n * Attempts to dismiss the dialog\n * Checks the canClose condition before dismissing\n */\n dismiss(): void {\n if (!this.instance || this.config.isAlert) {\n return;\n }\n\n const canClose = this.config.canClose?.(this.instance) ?? true;\n const canClose$ = isObservable(canClose) ? canClose : of(canClose);\n canClose$.pipe(take(1)).subscribe((close) => {\n if (close) {\n this.cdkRef.close(DISMISSED_VALUE);\n }\n });\n }\n\n close(result: RdxDialogResult<C>): void {\n // check if dialog is already in closing state to prevent double-closing\n if (this.state() === 'closed') {\n return;\n }\n\n this._openSignal.set(false);\n\n if (this._previousTimeout) {\n clearTimeout(this._previousTimeout);\n }\n\n const closeDelay = this.config.closeDelay ?? 100; // Default to 100ms if not specified\n\n // Actual closing happens after delay\n this._previousTimeout = setTimeout(() => {\n this.cdkRef.close(result ?? DISMISSED_VALUE);\n }, closeDelay);\n }\n}\n\n/**\n * Represents a simplified interface for dialog interaction\n * Typically used by dialog content components\n * @template R - The type of the result when closing the dialog\n */\nexport type RdxDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { Directive, inject } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\n\n@Directive({\n selector: '[rdxDialogClose]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogCloseDirective {\n private readonly ref = inject<RdxDialogRef>(RdxDialogRef);\n\n protected onClick(): void {\n this.ref.close();\n }\n}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('rdxDialogData');\nconst ɵdialogResult = Symbol.for('rdxDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type RdxDialogData<T> = {\n [K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type RdxDialogResult<C> =\n DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ntype RdxDialogMode = 'default' | 'sheet' | 'sheet-bottom' | 'sheet-top' | 'sheet-left' | 'sheet-right';\n\ntype RdxBaseDialogConfig<C> = {\n content: ComponentType<C> | TemplateRef<C>;\n\n data: RdxDialogData<C>;\n\n modal?: boolean;\n\n ariaLabel?: string;\n\n autoFocus?: AutoFocusTarget | 'first-input' | string;\n\n canClose?: (comp: C) => boolean | Observable<boolean>;\n\n canCloseWithBackdrop?: boolean;\n\n closeDelay?: number;\n\n cdkConfigOverride?: Partial<DialogConfig<C>>;\n\n mode?: RdxDialogMode;\n\n backdropClass?: string | string[];\n\n panelClasses?: string[];\n\n isAlert?: boolean;\n};\n\nexport type RdxDialogConfig<T> =\n RdxDialogData<T> extends never\n ? Omit<RdxBaseDialogConfig<T>, 'data'>\n : RdxBaseDialogConfig<T> & { data: Required<RdxDialogData<T>> };\n\nexport type RdxDialogState = 'open' | 'closed';\n\nexport function getState(open: boolean): RdxDialogState {\n return open ? 'open' : 'closed';\n}\n","import { computed, DestroyRef, Directive, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RdxDialogRef } from './dialog-ref';\nimport { getState, RdxDialogResult } from './dialog.config';\n\n@Directive({\n selector: '[rdxDialogContent]',\n standalone: true,\n host: {\n role: 'dialog',\n '[attr.aria-describedby]': '\"true\"',\n '[attr.aria-labelledby]': '\"true\"',\n '[attr.data-state]': 'state()'\n }\n})\nexport class RdxDialogContentDirective<C = unknown> {\n private readonly dialogRef = inject<RdxDialogRef<C>>(RdxDialogRef);\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly isOpen = signal(true);\n\n readonly state = computed(() => getState(this.isOpen()));\n\n constructor() {\n this.dialogRef.closed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this.isOpen.set(false);\n });\n }\n\n /**\n * Closes the dialog with a specified result.\n *\n * @param result The result to be passed back when closing the dialog\n */\n close(result: RdxDialogResult<C>): void {\n this.dialogRef.close(result);\n }\n\n /**\n * Dismisses the dialog without a result.\n */\n dismiss(): void {\n this.dialogRef.dismiss();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxDialogDescription]',\n standalone: true\n})\nexport class RdxDialogDescriptionDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\n\n@Directive({\n selector: 'button[rdxDialogDismiss]',\n standalone: true,\n host: {\n type: 'button',\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogDismissDirective {\n private readonly ref = inject<RdxDialogRef>(RdxDialogRef);\n\n protected onClick(): void {\n this.ref.dismiss();\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxDialogTitle]',\n standalone: true\n})\nexport class RdxDialogTitleDirective {}\n","import { Dialog } from '@angular/cdk/dialog';\nimport {\n effect,\n inject,\n Injectable,\n Injector,\n Renderer2,\n RendererFactory2,\n runInInjectionContext\n} from '@angular/core';\nimport { filter, isObservable, merge, of, switchMap, take, takeUntil } from 'rxjs';\nimport { DISMISSED_VALUE, RdxDialogRef } from './dialog-ref';\nimport type { RdxDialogConfig, RdxDialogResult } from './dialog.config';\n\n/**\n * Modality control: When `isModal` is set to `true`, the dialog will:\n *\n * - Have a backdrop that blocks interaction with the rest of the page\n * - Disable closing by clicking outside or pressing Escape\n * - Set `aria-modal=\"true\"` for screen readers\n * - Automatically focus the first tabbable element in the dialog\n * - Restore focus to the element that opened the dialog when it's closed\n *\n *\n * When `isModal` is `false`, the dialog will:\n *\n * - Not have a backdrop, allowing interaction with the rest of the page\n * - Allow closing by clicking outside or pressing Escape\n * - Not set `aria-modal` attribute\n * - Not automatically manage focus\n */\n@Injectable()\nexport class RdxDialogService {\n #cdkDialog = inject(Dialog);\n #injector = inject(Injector);\n #rendererFactory = inject(RendererFactory2);\n #renderer = this.#rendererFactory.createRenderer(null, null);\n\n open<C>(config: RdxDialogConfig<C>): RdxDialogRef<C> {\n let dialogRef: RdxDialogRef<C>;\n let modeClasses: string[] = [];\n\n switch (config.mode) {\n case 'sheet':\n modeClasses = ['mod-sheet', 'mod-right'];\n break;\n case 'sheet-right':\n modeClasses = ['mod-sheet', 'mod-right'];\n break;\n case 'sheet-bottom':\n modeClasses = ['mod-sheet', 'mod-bottom'];\n break;\n case 'sheet-left':\n modeClasses = ['mod-sheet', 'mod-left'];\n break;\n case 'sheet-top':\n modeClasses = ['mod-sheet', 'mod-top'];\n break;\n }\n\n // Create a new configuration with default closeDelay if not provided\n const extendedConfig: RdxDialogConfig<C> = {\n ...config,\n closeDelay: config.closeDelay ?? 0\n };\n\n const cdkRef = this.#cdkDialog.open<RdxDialogResult<C> | typeof DISMISSED_VALUE, unknown, C>(config.content, {\n ariaModal: config.modal ?? true,\n hasBackdrop: config.modal ?? true,\n data: 'data' in config ? config.data : null,\n restoreFocus: true,\n role: config.isAlert ? 'alertdialog' : 'dialog',\n disableClose: true,\n closeOnDestroy: true,\n injector: this.#injector,\n backdropClass: config.backdropClass ? config.backdropClass : 'cdk-overlay-dark-backdrop',\n panelClass: ['dialog', ...modeClasses, ...(config.panelClasses || [])],\n autoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n ariaLabel: config.ariaLabel,\n templateContext: () => ({ dialogRef: dialogRef }),\n providers: (ref) => {\n // Create dialog ref with state tracking\n dialogRef = new RdxDialogRef(ref, extendedConfig);\n\n // Get overlay and backdrop references\n const overlay = ref.overlayRef.overlayElement;\n const backdrop = ref.overlayRef.backdropElement;\n\n // Set up effect to track and update state attributes\n runInInjectionContext(this.#injector, () => {\n effect(() => {\n const currentState = dialogRef.state();\n\n if (overlay) {\n this.#renderer.setAttribute(overlay, 'data-state', currentState);\n }\n\n if (backdrop) {\n this.#renderer.setAttribute(backdrop, 'data-state', currentState);\n }\n\n // For sheet dialogs, add data-side attribute\n if (config.mode?.startsWith('sheet-')) {\n const side = config.mode.substring(6);\n if (overlay) {\n this.#renderer.setAttribute(overlay, 'data-side', side);\n }\n if (backdrop) {\n this.#renderer.setAttribute(backdrop, 'data-side', side);\n }\n }\n });\n });\n\n return [\n {\n provide: RdxDialogRef,\n useValue: dialogRef\n }\n ];\n },\n // @FIXME\n ...(config.cdkConfigOverride || ({} as any))\n });\n\n if (cdkRef.componentRef) {\n cdkRef.componentRef.injector\n .get(Renderer2)\n .setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n }\n\n if (!config.isAlert) {\n merge(\n cdkRef.backdropClick,\n cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented))\n )\n .pipe(\n filter(() => config.canCloseWithBackdrop ?? true),\n switchMap(() => {\n const canClose =\n (cdkRef.componentInstance && config.canClose?.(cdkRef.componentInstance)) ?? true;\n const canClose$ = isObservable(canClose) ? canClose : of(canClose);\n return canClose$.pipe(take(1));\n }),\n\n takeUntil(dialogRef!.closed$)\n )\n .subscribe((canClose) => {\n if (canClose) {\n // rather than `cdkRef.close()`, closing the `dialogRef` directly\n // ensures that the `state` is represented correctly\n dialogRef!.close(undefined as unknown as RdxDialogResult<C>);\n }\n });\n }\n\n return dialogRef!;\n }\n}\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { RdxDialogService } from './dialog.service';\n\n/**\n * Configures the RdxDialog module by providing necessary dependencies.\n *\n * This function sets up the environment providers required for the RdxDialog to function,\n * specifically importing the Angular CDK's DialogModule.\n *\n * @returns {EnvironmentProviders} An EnvironmentProviders instance containing the DialogModule.\n */\nexport function provideRdxDialogConfig(): EnvironmentProviders {\n return makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\n/**\n * Provides the RdxDialogService for dependency injection.\n *\n * This function is used to make the RdxDialogService available for injection\n * in components, directives, or other services that require dialog functionality.\n *\n * @returns {Provider} A provider for the RdxDialogService.\n */\nexport function provideRdxDialog(): Provider {\n return RdxDialogService;\n}\n","import { computed, Directive, inject, Input, input, signal, TemplateRef } from '@angular/core';\nimport { RdxDialogRef } from './dialog-ref';\nimport { getState, RdxDialogConfig, RdxDialogState } from './dialog.config';\nimport { provideRdxDialog } from './dialog.providers';\nimport { RdxDialogService } from './dialog.service';\n\nlet nextId = 0;\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxDialogTrigger]',\n standalone: true,\n providers: [provideRdxDialog()],\n host: {\n type: 'button',\n '[attr.id]': 'id()',\n '[attr.aria-haspopup]': '\"dialog\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'dialogId()',\n '[attr.data-state]': 'state()',\n '(click)': 'onClick()'\n }\n})\nexport class RdxDialogTriggerDirective {\n private readonly dialogService = inject(RdxDialogService);\n\n /**\n * @group Props\n */\n readonly id = input(`rdx-dialog-trigger-${nextId++}`);\n readonly dialogId = computed(() => `rdx-dialog-${this.id()}`);\n\n /**\n * @group Props\n */\n @Input({ required: true, alias: 'rdxDialogTrigger' }) dialog: TemplateRef<void>;\n\n /**\n * @group Props\n */\n @Input({ alias: 'rdxDialogConfig' }) dialogConfig: RdxDialogConfig<unknown>;\n\n readonly isOpen = signal(false);\n readonly state = computed<RdxDialogState>(() => getState(this.isOpen()));\n\n private currentDialogRef: RdxDialogRef | null = null;\n\n protected onClick() {\n this.currentDialogRef = this.dialogService.open({\n ...this.dialogConfig,\n content: this.dialog\n });\n\n this.isOpen.set(true);\n\n this.currentDialogRef.closed$.subscribe(() => {\n this.isOpen.set(false);\n this.currentDialogRef = null;\n });\n }\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { RdxDialogRef, RdxDialogSelfRef } from './dialog-ref';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog.config';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n return inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): RdxDialogSelfRef<R> & ɵDialogResultFlag<R> {\n return inject<RdxDialogSelfRef<R>>(RdxDialogRef) as RdxDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","import { NgModule } from '@angular/core';\nimport { RdxDialogCloseDirective } from './src/dialog-close.directive';\nimport { RdxDialogContentDirective } from './src/dialog-content.directive';\nimport { RdxDialogDescriptionDirective } from './src/dialog-description.directive';\nimport { RdxDialogDismissDirective } from './src/dialog-dismiss.directive';\nimport { RdxDialogTitleDirective } from './src/dialog-title.directive';\nimport { RdxDialogTriggerDirective } from './src/dialog-trigger.directive';\n\nexport * from './src/dialog-close.directive';\nexport * from './src/dialog-content.directive';\nexport * from './src/dialog-description.directive';\nexport * from './src/dialog-dismiss.directive';\nexport * from './src/dialog-ref';\nexport * from './src/dialog-title.directive';\nexport * from './src/dialog-trigger.directive';\nexport * from './src/dialog.config';\nexport * from './src/dialog.injectors';\nexport * from './src/dialog.providers';\nexport * from './src/dialog.service';\n\nconst _imports = [\n RdxDialogTriggerDirective,\n RdxDialogContentDirective,\n RdxDialogTitleDirective,\n RdxDialogCloseDirective,\n RdxDialogDescriptionDirective,\n RdxDialogDismissDirective\n];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1215,8 +1215,6 @@ class RdxNavigationMenuTriggerDirective extends RdxNavigationMenuFocusableOption
1215
1215
  !isRootNavigationMenu(this.context)) {
1216
1216
  return;
1217
1217
  }
1218
- // trigger enter logic (handles delays) and mark that this move initiated an open attempt
1219
- this.context.onTriggerEnter?.(this.item.value());
1220
1218
  this.hasPointerMoveOpened = true;
1221
1219
  }
1222
1220
  onPointerLeave(event) {