@radix-ng/primitives 0.27.0 → 0.29.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 (59) hide show
  1. package/collapsible/src/collapsible-content.directive.d.ts +1 -1
  2. package/collapsible/src/collapsible-root.directive.d.ts +11 -11
  3. package/dialog/src/dialog-close.directive.d.ts +1 -1
  4. package/fesm2022/radix-ng-primitives-collapsible.mjs +20 -27
  5. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  6. package/fesm2022/radix-ng-primitives-dialog.mjs +2 -3
  7. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-presence.mjs +250 -0
  9. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -0
  10. package/fesm2022/radix-ng-primitives-separator.mjs +1 -1
  11. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-slider.mjs +101 -72
  13. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-toggle-group.mjs +137 -280
  15. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-toggle.mjs +15 -2
  17. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-toolbar.mjs +155 -0
  19. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -0
  20. package/hover-card/src/hover-card-root.directive.d.ts +4 -4
  21. package/package.json +17 -8
  22. package/popover/src/popover-root.directive.d.ts +4 -4
  23. package/presence/index.d.ts +4 -0
  24. package/presence/src/presence.d.ts +42 -0
  25. package/presence/src/transitions/transition.collapse.d.ts +15 -0
  26. package/presence/src/transitions/transition.toast.d.ts +3 -0
  27. package/presence/src/types.d.ts +15 -0
  28. package/presence/src/utils.d.ts +42 -0
  29. package/schematics/collection.json +11 -0
  30. package/schematics/ng-add/index.d.ts +7 -0
  31. package/schematics/ng-add/index.js +31 -0
  32. package/schematics/ng-add/index.js.map +1 -0
  33. package/schematics/ng-add/schema.d.ts +3 -0
  34. package/schematics/ng-add/schema.js +3 -0
  35. package/schematics/ng-add/schema.js.map +1 -0
  36. package/separator/src/separator.directive.d.ts +1 -1
  37. package/slider/src/slider-horizontal.component.d.ts +6 -7
  38. package/slider/src/slider-impl.directive.d.ts +6 -7
  39. package/slider/src/slider-root.component.d.ts +78 -4
  40. package/slider/src/slider-vertical.component.d.ts +6 -7
  41. package/toggle/src/toggle.directive.d.ts +14 -1
  42. package/toggle-group/index.d.ts +1 -1
  43. package/toggle-group/src/toggle-group-item.directive.d.ts +20 -28
  44. package/toggle-group/src/toggle-group-item.token.d.ts +1 -0
  45. package/toggle-group/src/toggle-group-without-focus.directive.d.ts +69 -0
  46. package/toggle-group/src/toggle-group.directive.d.ts +26 -43
  47. package/toggle-group/src/toggle-group.token.d.ts +8 -4
  48. package/toolbar/README.md +3 -0
  49. package/toolbar/index.d.ts +19 -0
  50. package/toolbar/src/toolbar-button.directive.d.ts +11 -0
  51. package/toolbar/src/toolbar-link.directive.d.ts +7 -0
  52. package/toolbar/src/toolbar-root.directive.d.ts +8 -0
  53. package/toolbar/src/toolbar-root.token.d.ts +5 -0
  54. package/toolbar/src/toolbar-separator.directive.d.ts +6 -0
  55. package/toolbar/src/toolbar-toggle-group.directive.d.ts +6 -0
  56. package/toolbar/src/toolbar-toggle-item.directive.d.ts +6 -0
  57. package/tooltip/src/tooltip-root.directive.d.ts +4 -4
  58. package/compodoc/documentation.json +0 -39701
  59. package/toggle-group/src/toggle-group-multiple.directive.d.ts +0 -99
@@ -7,7 +7,7 @@ export declare class RdxCollapsibleContentDirective {
7
7
  * Reference to CollapsibleContent host element
8
8
  * @ignore
9
9
  */
10
- elementRef: ElementRef<HTMLElement>;
10
+ readonly elementRef: ElementRef<HTMLElement>;
11
11
  getDisabled(): string | undefined;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxCollapsibleContentDirective, never>;
13
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<RdxCollapsibleContentDirective, "[rdxCollapsibleContent]", never, {}, {}, never, never, true, never>;
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare function injectCollapsible(): RdxCollapsibleRootDirective;
4
4
  export type RdxCollapsibleState = 'open' | 'closed';
@@ -8,20 +8,15 @@ export type RdxCollapsibleState = 'open' | 'closed';
8
8
  export declare class RdxCollapsibleRootDirective {
9
9
  /**
10
10
  * Reference to RdxCollapsibleContent directive
11
- * @private
12
11
  */
13
12
  private readonly contentDirective;
14
- /**
15
- * Stores collapsible state
16
- */
17
- private _open;
18
13
  /**
19
14
  * Determines whether a directive is available for interaction.
20
15
  * When true, prevents the user from interacting with the collapsible.
21
16
  *
22
17
  * @group Props
23
18
  */
24
- disabled: boolean;
19
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
25
20
  /**
26
21
  * The controlled open state of the collapsible.
27
22
  * Sets the state of the directive. `true` - expanded, `false` - collapsed
@@ -31,32 +26,37 @@ export declare class RdxCollapsibleRootDirective {
31
26
  */
32
27
  set open(value: boolean);
33
28
  get open(): boolean;
29
+ /**
30
+ * Stores collapsible state
31
+ */
32
+ private _open;
34
33
  /**
35
34
  * Emitted with new value when directive state changed.
36
35
  * Event handler called when the open state of the collapsible changes.
37
36
  *
38
37
  * @group Emits
39
38
  */
40
- onOpenChange: EventEmitter<boolean>;
39
+ readonly onOpenChange: import("@angular/core").OutputEmitterRef<boolean>;
41
40
  /**
42
41
  * Allows to change directive state
43
42
  * @param {boolean | undefined} value
43
+ * @ignore
44
44
  */
45
45
  setOpen(value?: boolean): void;
46
46
  /**
47
47
  * Returns directive state (open | closed)
48
+ * @ignore
48
49
  */
49
50
  getState(): RdxCollapsibleState;
50
51
  /**
51
52
  * Returns current directive state
53
+ * @ignore
52
54
  */
53
55
  isOpen(): boolean;
54
56
  /**
55
57
  * Controls visibility of content
56
- * @private
57
- * @ignore
58
58
  */
59
59
  private setPresence;
60
60
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxCollapsibleRootDirective, never>;
61
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxCollapsibleRootDirective, "[rdxCollapsibleRoot]", ["collapsibleRoot"], { "disabled": { "alias": "disabled"; "required": false; }; "open": { "alias": "open"; "required": false; }; }, { "onOpenChange": "onOpenChange"; }, ["contentDirective"], never, true, never>;
61
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxCollapsibleRootDirective, "[rdxCollapsibleRoot]", ["collapsibleRoot"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; }; }, { "onOpenChange": "onOpenChange"; }, ["contentDirective"], never, true, never>;
62
62
  }
@@ -3,5 +3,5 @@ export declare class RdxDialogCloseDirective {
3
3
  private readonly ref;
4
4
  protected onClick(): void;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxDialogCloseDirective, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogCloseDirective, "button[rdxDialogClose]", never, {}, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxDialogCloseDirective, "[rdxDialogClose]", never, {}, {}, never, never, true, never>;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, contentChild, EventEmitter, Directive, Input, Output, ElementRef } from '@angular/core';
2
+ import { InjectionToken, inject, contentChild, input, booleanAttribute, output, Directive, Input, ElementRef } from '@angular/core';
3
3
  import { asyncScheduler } from 'rxjs';
4
4
 
5
5
  const RdxCollapsibleContentToken = new InjectionToken('RdxCollapsibleContentToken');
@@ -15,27 +15,26 @@ class RdxCollapsibleRootDirective {
15
15
  constructor() {
16
16
  /**
17
17
  * Reference to RdxCollapsibleContent directive
18
- * @private
19
18
  */
20
19
  this.contentDirective = contentChild.required(RdxCollapsibleContentToken);
21
- /**
22
- * Stores collapsible state
23
- */
24
- this._open = false;
25
20
  /**
26
21
  * Determines whether a directive is available for interaction.
27
22
  * When true, prevents the user from interacting with the collapsible.
28
23
  *
29
24
  * @group Props
30
25
  */
31
- this.disabled = false;
26
+ this.disabled = input(false, { transform: booleanAttribute });
27
+ /**
28
+ * Stores collapsible state
29
+ */
30
+ this._open = false;
32
31
  /**
33
32
  * Emitted with new value when directive state changed.
34
33
  * Event handler called when the open state of the collapsible changes.
35
34
  *
36
35
  * @group Emits
37
36
  */
38
- this.onOpenChange = new EventEmitter();
37
+ this.onOpenChange = output();
39
38
  }
40
39
  /**
41
40
  * The controlled open state of the collapsible.
@@ -57,9 +56,10 @@ class RdxCollapsibleRootDirective {
57
56
  /**
58
57
  * Allows to change directive state
59
58
  * @param {boolean | undefined} value
59
+ * @ignore
60
60
  */
61
61
  setOpen(value) {
62
- if (this.disabled) {
62
+ if (this.disabled()) {
63
63
  return;
64
64
  }
65
65
  if (value === undefined) {
@@ -72,26 +72,25 @@ class RdxCollapsibleRootDirective {
72
72
  }
73
73
  /**
74
74
  * Returns directive state (open | closed)
75
+ * @ignore
75
76
  */
76
77
  getState() {
77
78
  return this.open ? 'open' : 'closed';
78
79
  }
79
80
  /**
80
81
  * Returns current directive state
82
+ * @ignore
81
83
  */
82
84
  isOpen() {
83
85
  return this.open;
84
86
  }
85
87
  /**
86
88
  * Controls visibility of content
87
- * @private
88
- * @ignore
89
89
  */
90
90
  setPresence() {
91
91
  if (!this.contentDirective) {
92
92
  return;
93
93
  }
94
- this.contentDirective().elementRef.nativeElement.setAttribute('data-state', this.getState());
95
94
  if (this.isOpen()) {
96
95
  this.contentDirective().elementRef.nativeElement.removeAttribute('hidden');
97
96
  }
@@ -105,26 +104,21 @@ class RdxCollapsibleRootDirective {
105
104
  }
106
105
  }
107
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCollapsibleRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
108
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.5", type: RdxCollapsibleRootDirective, isStandalone: true, selector: "[rdxCollapsibleRoot]", inputs: { disabled: "disabled", open: "open" }, outputs: { onOpenChange: "onOpenChange" }, host: { properties: { "attr.data-state": "getState()", "attr.data-disabled": "disabled ? \"\" : undefined" } }, providers: [{ provide: RdxCollapsibleRootToken, useExisting: RdxCollapsibleRootDirective }], queries: [{ propertyName: "contentDirective", first: true, predicate: RdxCollapsibleContentToken, descendants: true, isSignal: true }], exportAs: ["collapsibleRoot"], ngImport: i0 }); }
107
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.5", type: RdxCollapsibleRootDirective, isStandalone: true, selector: "[rdxCollapsibleRoot]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpenChange: "onOpenChange" }, host: { properties: { "attr.data-state": "getState()", "attr.data-disabled": "disabled() ? \"\" : undefined" } }, providers: [{ provide: RdxCollapsibleRootToken, useExisting: RdxCollapsibleRootDirective }], queries: [{ propertyName: "contentDirective", first: true, predicate: RdxCollapsibleContentToken, descendants: true, isSignal: true }], exportAs: ["collapsibleRoot"], ngImport: i0 }); }
109
108
  }
110
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCollapsibleRootDirective, decorators: [{
111
110
  type: Directive,
112
111
  args: [{
113
112
  selector: '[rdxCollapsibleRoot]',
114
- standalone: true,
115
113
  exportAs: 'collapsibleRoot',
116
114
  providers: [{ provide: RdxCollapsibleRootToken, useExisting: RdxCollapsibleRootDirective }],
117
115
  host: {
118
116
  '[attr.data-state]': 'getState()',
119
- '[attr.data-disabled]': 'disabled ? "" : undefined'
117
+ '[attr.data-disabled]': 'disabled() ? "" : undefined'
120
118
  }
121
119
  }]
122
- }], propDecorators: { disabled: [{
123
- type: Input
124
- }], open: [{
120
+ }], propDecorators: { open: [{
125
121
  type: Input
126
- }], onOpenChange: [{
127
- type: Output
128
122
  }] } });
129
123
 
130
124
  class RdxCollapsibleContentDirective {
@@ -137,7 +131,7 @@ class RdxCollapsibleContentDirective {
137
131
  this.elementRef = inject(ElementRef);
138
132
  }
139
133
  getDisabled() {
140
- return this.collapsible.disabled ? 'disabled' : undefined;
134
+ return this.collapsible.disabled() ? 'disabled' : undefined;
141
135
  }
142
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCollapsibleContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
137
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxCollapsibleContentDirective, isStandalone: true, selector: "[rdxCollapsibleContent]", host: { properties: { "attr.data-state": "collapsible.getState()", "attr.data-disabled": "getDisabled()" } }, providers: [
@@ -151,7 +145,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
151
145
  type: Directive,
152
146
  args: [{
153
147
  selector: '[rdxCollapsibleContent]',
154
- standalone: true,
155
148
  providers: [
156
149
  {
157
150
  provide: RdxCollapsibleContentToken,
@@ -192,21 +185,21 @@ class RdxCollapsibleTriggerDirective {
192
185
  * @ignore
193
186
  */
194
187
  getDisabled() {
195
- return this.collapsible.disabled ? 'disabled' : undefined;
188
+ return this.collapsible.disabled() ? 'disabled' : undefined;
196
189
  }
197
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCollapsibleTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
198
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxCollapsibleTriggerDirective, isStandalone: true, selector: "[rdxCollapsibleTrigger]", host: { listeners: { "click": "onOpenToggle()" }, properties: { "attr.data-state": "getState()", "attr.aria-expanded": "getState() === \"open\" ? \"true\" : \"false\"", "disabled": "getDisabled()" } }, ngImport: i0 }); }
191
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxCollapsibleTriggerDirective, isStandalone: true, selector: "[rdxCollapsibleTrigger]", host: { listeners: { "click": "onOpenToggle()" }, properties: { "attr.data-state": "getState()", "attr.data-disabled": "getDisabled()", "attr.aria-expanded": "getState() === \"open\" ? \"true\" : \"false\"", "disabled": "getDisabled()" } }, ngImport: i0 }); }
199
192
  }
200
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCollapsibleTriggerDirective, decorators: [{
201
194
  type: Directive,
202
195
  args: [{
203
196
  selector: '[rdxCollapsibleTrigger]',
204
- standalone: true,
205
197
  host: {
206
- '(click)': 'onOpenToggle()',
207
198
  '[attr.data-state]': 'getState()',
199
+ '[attr.data-disabled]': 'getDisabled()',
208
200
  '[attr.aria-expanded]': 'getState() === "open" ? "true" : "false"',
209
- '[disabled]': 'getDisabled()'
201
+ '[disabled]': 'getDisabled()',
202
+ '(click)': 'onOpenToggle()'
210
203
  }
211
204
  }]
212
205
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-collapsible.mjs","sources":["../../../packages/primitives/collapsible/src/collapsible-content.token.ts","../../../packages/primitives/collapsible/src/collapsible-root.directive.ts","../../../packages/primitives/collapsible/src/collapsible-content.directive.ts","../../../packages/primitives/collapsible/src/collapsible-trigger.directive.ts","../../../packages/primitives/collapsible/radix-ng-primitives-collapsible.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RdxCollapsibleContentDirective } from './collapsible-content.directive';\n\nexport const RdxCollapsibleContentToken = new InjectionToken<RdxCollapsibleContentDirective>(\n 'RdxCollapsibleContentToken'\n);\n","import { contentChild, Directive, EventEmitter, inject, InjectionToken, Input, Output } from '@angular/core';\nimport { asyncScheduler } from 'rxjs';\nimport { RdxCollapsibleContentToken } from './collapsible-content.token';\n\nconst RdxCollapsibleRootToken = new InjectionToken<RdxCollapsibleRootDirective>('RdxCollapsibleRootToken');\n\nexport function injectCollapsible(): RdxCollapsibleRootDirective {\n return inject(RdxCollapsibleRootDirective);\n}\n\nexport type RdxCollapsibleState = 'open' | 'closed';\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxCollapsibleRoot]',\n standalone: true,\n exportAs: 'collapsibleRoot',\n providers: [{ provide: RdxCollapsibleRootToken, useExisting: RdxCollapsibleRootDirective }],\n host: {\n '[attr.data-state]': 'getState()',\n '[attr.data-disabled]': 'disabled ? \"\" : undefined'\n }\n})\nexport class RdxCollapsibleRootDirective {\n /**\n * Reference to RdxCollapsibleContent directive\n * @private\n */\n private readonly contentDirective = contentChild.required(RdxCollapsibleContentToken);\n\n /**\n * Stores collapsible state\n */\n private _open = false;\n\n /**\n * Determines whether a directive is available for interaction.\n * When true, prevents the user from interacting with the collapsible.\n *\n * @group Props\n */\n @Input() disabled = false;\n\n /**\n * The controlled open state of the collapsible.\n * Sets the state of the directive. `true` - expanded, `false` - collapsed\n *\n * @group Props\n * @defaultValue false\n */\n @Input() set open(value: boolean) {\n if (value !== this._open) {\n this.onOpenChange.emit(value);\n }\n\n this._open = value;\n this.setPresence();\n }\n\n get open(): boolean {\n return this._open;\n }\n\n /**\n * Emitted with new value when directive state changed.\n * Event handler called when the open state of the collapsible changes.\n *\n * @group Emits\n */\n @Output() onOpenChange = new EventEmitter<boolean>();\n\n /**\n * Allows to change directive state\n * @param {boolean | undefined} value\n */\n setOpen(value?: boolean) {\n if (this.disabled) {\n return;\n }\n\n if (value === undefined) {\n this.open = !this.open;\n } else {\n this.open = value;\n }\n\n this.setPresence();\n }\n\n /**\n * Returns directive state (open | closed)\n */\n getState(): RdxCollapsibleState {\n return this.open ? 'open' : 'closed';\n }\n\n /**\n * Returns current directive state\n */\n isOpen(): boolean {\n return this.open;\n }\n\n /**\n * Controls visibility of content\n * @private\n * @ignore\n */\n private setPresence(): void {\n if (!this.contentDirective) {\n return;\n }\n\n this.contentDirective().elementRef.nativeElement.setAttribute('data-state', this.getState());\n\n if (this.isOpen()) {\n this.contentDirective().elementRef.nativeElement.removeAttribute('hidden');\n } else {\n asyncScheduler.schedule(() => {\n const animations = this.contentDirective().elementRef.nativeElement.getAnimations();\n\n if (animations === undefined || animations.length === 0) {\n this.contentDirective().elementRef.nativeElement.setAttribute('hidden', '');\n }\n });\n }\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { RdxCollapsibleContentToken } from './collapsible-content.token';\nimport { RdxCollapsibleRootDirective } from './collapsible-root.directive';\n\n@Directive({\n selector: '[rdxCollapsibleContent]',\n standalone: true,\n providers: [\n {\n provide: RdxCollapsibleContentToken,\n useExisting: RdxCollapsibleContentDirective\n }\n ],\n host: {\n '[attr.data-state]': 'collapsible.getState()',\n '[attr.data-disabled]': 'getDisabled()'\n }\n})\nexport class RdxCollapsibleContentDirective {\n protected readonly collapsible = inject(RdxCollapsibleRootDirective);\n\n /**\n * Reference to CollapsibleContent host element\n * @ignore\n */\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n getDisabled(): string | undefined {\n return this.collapsible.disabled ? 'disabled' : undefined;\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectCollapsible, RdxCollapsibleState } from './collapsible-root.directive';\n\n@Directive({\n selector: '[rdxCollapsibleTrigger]',\n standalone: true,\n host: {\n '(click)': 'onOpenToggle()',\n '[attr.data-state]': 'getState()',\n '[attr.aria-expanded]': 'getState() === \"open\" ? \"true\" : \"false\"',\n '[disabled]': 'getDisabled()'\n }\n})\nexport class RdxCollapsibleTriggerDirective {\n /**\n * Reference to CollapsibleRoot\n * @private\n * @ignore\n */\n private readonly collapsible = injectCollapsible();\n\n /**\n * Called on trigger clicked\n */\n onOpenToggle(): void {\n this.collapsible.setOpen();\n }\n\n /**\n * Returns current directive state (open | closed)\n * @ignore\n */\n getState(): RdxCollapsibleState {\n return this.collapsible.getState();\n }\n\n /**\n * Returns current trigger state\n * @ignore\n */\n getDisabled(): string | undefined {\n return this.collapsible.disabled ? 'disabled' : undefined;\n }\n}\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-collapsible.mjs","sources":["../../../packages/primitives/collapsible/src/collapsible-content.token.ts","../../../packages/primitives/collapsible/src/collapsible-root.directive.ts","../../../packages/primitives/collapsible/src/collapsible-content.directive.ts","../../../packages/primitives/collapsible/src/collapsible-trigger.directive.ts","../../../packages/primitives/collapsible/radix-ng-primitives-collapsible.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RdxCollapsibleContentDirective } from './collapsible-content.directive';\n\nexport const RdxCollapsibleContentToken = new InjectionToken<RdxCollapsibleContentDirective>(\n 'RdxCollapsibleContentToken'\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, contentChild, Directive, inject, InjectionToken, input, Input, output } from '@angular/core';\nimport { asyncScheduler } from 'rxjs';\nimport { RdxCollapsibleContentToken } from './collapsible-content.token';\n\nconst RdxCollapsibleRootToken = new InjectionToken<RdxCollapsibleRootDirective>('RdxCollapsibleRootToken');\n\nexport function injectCollapsible(): RdxCollapsibleRootDirective {\n return inject(RdxCollapsibleRootDirective);\n}\n\nexport type RdxCollapsibleState = 'open' | 'closed';\n\n/**\n * @group Components\n */\n@Directive({\n selector: '[rdxCollapsibleRoot]',\n exportAs: 'collapsibleRoot',\n providers: [{ provide: RdxCollapsibleRootToken, useExisting: RdxCollapsibleRootDirective }],\n host: {\n '[attr.data-state]': 'getState()',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined'\n }\n})\nexport class RdxCollapsibleRootDirective {\n /**\n * Reference to RdxCollapsibleContent directive\n */\n private readonly contentDirective = contentChild.required(RdxCollapsibleContentToken);\n\n /**\n * Determines whether a directive is available for interaction.\n * When true, prevents the user from interacting with the collapsible.\n *\n * @group Props\n */\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * The controlled open state of the collapsible.\n * Sets the state of the directive. `true` - expanded, `false` - collapsed\n *\n * @group Props\n * @defaultValue false\n */\n @Input() set open(value: boolean) {\n if (value !== this._open) {\n this.onOpenChange.emit(value);\n }\n\n this._open = value;\n this.setPresence();\n }\n\n get open(): boolean {\n return this._open;\n }\n\n /**\n * Stores collapsible state\n */\n private _open = false;\n\n /**\n * Emitted with new value when directive state changed.\n * Event handler called when the open state of the collapsible changes.\n *\n * @group Emits\n */\n readonly onOpenChange = output<boolean>();\n\n /**\n * Allows to change directive state\n * @param {boolean | undefined} value\n * @ignore\n */\n setOpen(value?: boolean) {\n if (this.disabled()) {\n return;\n }\n\n if (value === undefined) {\n this.open = !this.open;\n } else {\n this.open = value;\n }\n\n this.setPresence();\n }\n\n /**\n * Returns directive state (open | closed)\n * @ignore\n */\n getState(): RdxCollapsibleState {\n return this.open ? 'open' : 'closed';\n }\n\n /**\n * Returns current directive state\n * @ignore\n */\n isOpen(): boolean {\n return this.open;\n }\n\n /**\n * Controls visibility of content\n */\n private setPresence(): void {\n if (!this.contentDirective) {\n return;\n }\n\n if (this.isOpen()) {\n this.contentDirective().elementRef.nativeElement.removeAttribute('hidden');\n } else {\n asyncScheduler.schedule(() => {\n const animations = this.contentDirective().elementRef.nativeElement.getAnimations();\n\n if (animations === undefined || animations.length === 0) {\n this.contentDirective().elementRef.nativeElement.setAttribute('hidden', '');\n }\n });\n }\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { RdxCollapsibleContentToken } from './collapsible-content.token';\nimport { RdxCollapsibleRootDirective } from './collapsible-root.directive';\n\n@Directive({\n selector: '[rdxCollapsibleContent]',\n providers: [\n {\n provide: RdxCollapsibleContentToken,\n useExisting: RdxCollapsibleContentDirective\n }\n ],\n host: {\n '[attr.data-state]': 'collapsible.getState()',\n '[attr.data-disabled]': 'getDisabled()'\n }\n})\nexport class RdxCollapsibleContentDirective {\n protected readonly collapsible = inject(RdxCollapsibleRootDirective);\n\n /**\n * Reference to CollapsibleContent host element\n * @ignore\n */\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n getDisabled(): string | undefined {\n return this.collapsible.disabled() ? 'disabled' : undefined;\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectCollapsible, RdxCollapsibleState } from './collapsible-root.directive';\n\n@Directive({\n selector: '[rdxCollapsibleTrigger]',\n host: {\n '[attr.data-state]': 'getState()',\n '[attr.data-disabled]': 'getDisabled()',\n '[attr.aria-expanded]': 'getState() === \"open\" ? \"true\" : \"false\"',\n '[disabled]': 'getDisabled()',\n\n '(click)': 'onOpenToggle()'\n }\n})\nexport class RdxCollapsibleTriggerDirective {\n /**\n * Reference to CollapsibleRoot\n * @private\n * @ignore\n */\n private readonly collapsible = injectCollapsible();\n\n /**\n * Called on trigger clicked\n */\n onOpenToggle(): void {\n this.collapsible.setOpen();\n }\n\n /**\n * Returns current directive state (open | closed)\n * @ignore\n */\n getState(): RdxCollapsibleState {\n return this.collapsible.getState();\n }\n\n /**\n * Returns current trigger state\n * @ignore\n */\n getDisabled(): string | undefined {\n return this.collapsible.disabled() ? 'disabled' : undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -57,15 +57,14 @@ class RdxDialogCloseDirective {
57
57
  this.ref.close();
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxDialogCloseDirective, isStandalone: true, selector: "button[rdxDialogClose]", host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" } }, ngImport: i0 }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxDialogCloseDirective, isStandalone: true, selector: "[rdxDialogClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxDialogCloseDirective, decorators: [{
63
63
  type: Directive,
64
64
  args: [{
65
- selector: 'button[rdxDialogClose]',
65
+ selector: '[rdxDialogClose]',
66
66
  standalone: true,
67
67
  host: {
68
- type: 'button',
69
68
  '(click)': 'onClick()'
70
69
  }
71
70
  }]
@@ -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) {\n return;\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: 'button[rdxDialogClose]',\n standalone: true,\n host: {\n type: 'button',\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\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: '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 merge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n .pipe(\n filter(() => config.canCloseWithBackdrop ?? true),\n switchMap(() => {\n const canClose = (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 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 { 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) {\n return;\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\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: '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 merge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n .pipe(\n filter(() => config.canCloseWithBackdrop ?? true),\n switchMap(() => {\n const canClose = (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 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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"}