@radix-ng/primitives 0.8.1 → 0.9.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 (179) hide show
  1. package/accordion/index.d.ts +3 -3
  2. package/accordion/src/accordion-content.directive.d.ts +1 -1
  3. package/accordion/src/accordion-header.directive.d.ts +1 -1
  4. package/accordion/src/accordion-item.directive.d.ts +1 -1
  5. package/accordion/src/accordion-root.directive.d.ts +1 -1
  6. package/accordion/src/accordion-trigger.directive.d.ts +1 -1
  7. package/alert-dialog/index.d.ts +2 -2
  8. package/avatar/index.d.ts +2 -2
  9. package/avatar/src/avatar-fallback.directive.d.ts +3 -3
  10. package/avatar/src/avatar-image.directive.d.ts +6 -6
  11. package/avatar/src/avatar-root.directive.d.ts +4 -4
  12. package/checkbox/index.d.ts +2 -0
  13. package/checkbox/src/checkbox-button.directive.d.ts +8 -0
  14. package/checkbox/src/checkbox-indicator.directive.d.ts +1 -1
  15. package/checkbox/src/checkbox-input.directive.d.ts +9 -0
  16. package/checkbox/src/checkbox.directive.d.ts +7 -5
  17. package/collapsible/index.d.ts +1 -1
  18. package/collapsible/src/collapsible-content.directive.d.ts +1 -1
  19. package/collapsible/src/collapsible-root.directive.d.ts +1 -1
  20. package/collapsible/src/collapsible-trigger.directive.d.ts +1 -1
  21. package/dropdown-menu/index.d.ts +8 -3
  22. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +12 -2
  23. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +6 -0
  24. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +7 -0
  25. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +12 -0
  26. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +19 -0
  27. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +14 -0
  28. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +13 -4
  29. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +1 -1
  30. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +2 -2
  31. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +33 -2
  32. package/esm2022/accordion/index.mjs +4 -4
  33. package/esm2022/accordion/src/accordion-content.directive.mjs +7 -9
  34. package/esm2022/accordion/src/accordion-header.directive.mjs +5 -5
  35. package/esm2022/accordion/src/accordion-item.directive.mjs +17 -9
  36. package/esm2022/accordion/src/accordion-root.directive.mjs +5 -5
  37. package/esm2022/accordion/src/accordion-trigger.directive.mjs +5 -5
  38. package/esm2022/alert-dialog/index.mjs +3 -3
  39. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +4 -4
  40. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
  41. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +5 -4
  42. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
  43. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +4 -4
  44. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +6 -9
  45. package/esm2022/avatar/index.mjs +1 -1
  46. package/esm2022/avatar/src/avatar-fallback.directive.mjs +6 -6
  47. package/esm2022/avatar/src/avatar-image.directive.mjs +6 -6
  48. package/esm2022/avatar/src/avatar-root.directive.mjs +6 -6
  49. package/esm2022/checkbox/index.mjs +3 -1
  50. package/esm2022/checkbox/src/checkbox-button.directive.mjs +33 -0
  51. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +6 -5
  52. package/esm2022/checkbox/src/checkbox-input.directive.mjs +41 -0
  53. package/esm2022/checkbox/src/checkbox.directive.mjs +18 -22
  54. package/esm2022/checkbox/src/checkbox.token.mjs +1 -1
  55. package/esm2022/collapsible/index.mjs +2 -2
  56. package/esm2022/collapsible/src/collapsible-content.directive.mjs +13 -7
  57. package/esm2022/collapsible/src/collapsible-root.directive.mjs +5 -5
  58. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +5 -5
  59. package/esm2022/dropdown-menu/index.mjs +9 -4
  60. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +36 -10
  61. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +26 -0
  62. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +22 -0
  63. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +37 -0
  64. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +60 -0
  65. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +40 -0
  66. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +45 -13
  67. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +5 -5
  68. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +8 -8
  69. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +134 -12
  70. package/esm2022/label/index.mjs +2 -2
  71. package/esm2022/label/src/label.directive.mjs +54 -0
  72. package/esm2022/menu/index.mjs +7 -7
  73. package/esm2022/menu/src/menu-content.directive.mjs +3 -3
  74. package/esm2022/menu/src/menu-directive.mjs +3 -3
  75. package/esm2022/menu/src/menu-group.directive.mjs +3 -3
  76. package/esm2022/menu/src/menu-item.directive.mjs +8 -4
  77. package/esm2022/menu/src/menu-label.directive.mjs +3 -3
  78. package/esm2022/menu/src/menu-separator.directive.mjs +4 -4
  79. package/esm2022/menubar/index.mjs +7 -7
  80. package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
  81. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +4 -4
  82. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
  83. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +4 -4
  84. package/esm2022/menubar/src/menubar-item.directive.mjs +4 -4
  85. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
  86. package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
  87. package/esm2022/menubar/src/menubar-separator.directive.mjs +4 -4
  88. package/esm2022/menubar/src/menubar-trigger.directive.mjs +4 -4
  89. package/esm2022/progress/src/progress-indicator.directive.mjs +19 -9
  90. package/esm2022/progress/src/progress-root.directive.mjs +63 -7
  91. package/esm2022/radio/src/radio-indicator.directive.mjs +4 -4
  92. package/esm2022/radio/src/radio-item.directive.mjs +4 -8
  93. package/esm2022/radio/src/radio-root.directive.mjs +5 -9
  94. package/esm2022/separator/src/separator.directive.mjs +3 -3
  95. package/esm2022/switch/index.mjs +29 -3
  96. package/esm2022/switch/src/switch-input.directive.mjs +12 -10
  97. package/esm2022/switch/src/switch-root.directive.mjs +47 -23
  98. package/esm2022/switch/src/switch-thumb.directive.mjs +7 -7
  99. package/esm2022/tabs/index.mjs +7 -7
  100. package/esm2022/tabs/src/tabs-content.directive.mjs +7 -5
  101. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  102. package/esm2022/tabs/src/tabs-list.directive.mjs +5 -5
  103. package/esm2022/tabs/src/tabs-root.directive.mjs +5 -5
  104. package/esm2022/tabs/src/tabs-trigger.directive.mjs +5 -5
  105. package/esm2022/toggle/index.mjs +2 -2
  106. package/esm2022/toggle/src/toggle.directive.mjs +39 -0
  107. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +14 -13
  108. package/esm2022/toggle-group/src/toggle-group-button.token.mjs +1 -1
  109. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +18 -34
  110. package/esm2022/toggle-group/src/toggle-group.directive.mjs +5 -25
  111. package/esm2022/toggle-group/src/toggle-group.token.mjs +1 -1
  112. package/fesm2022/radix-ng-primitives-accordion.mjs +73 -67
  113. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  114. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +49 -51
  115. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  116. package/fesm2022/radix-ng-primitives-avatar.mjs +15 -15
  117. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  118. package/fesm2022/radix-ng-primitives-checkbox.mjs +91 -26
  119. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  120. package/fesm2022/radix-ng-primitives-collapsible.mjs +20 -14
  121. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  122. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +386 -42
  123. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  124. package/fesm2022/radix-ng-primitives-label.mjs +22 -16
  125. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  126. package/fesm2022/radix-ng-primitives-menu.mjs +26 -22
  127. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  128. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  129. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  130. package/fesm2022/radix-ng-primitives-progress.mjs +80 -14
  131. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  132. package/fesm2022/radix-ng-primitives-radio.mjs +10 -14
  133. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  134. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  135. package/fesm2022/radix-ng-primitives-switch.mjs +94 -46
  136. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  137. package/fesm2022/radix-ng-primitives-tabs.mjs +25 -23
  138. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  139. package/fesm2022/radix-ng-primitives-toggle-group.mjs +34 -65
  140. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  141. package/fesm2022/radix-ng-primitives-toggle.mjs +18 -28
  142. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  143. package/label/index.d.ts +1 -1
  144. package/label/src/label.directive.d.ts +23 -0
  145. package/menu/index.d.ts +2 -2
  146. package/menubar/index.d.ts +2 -2
  147. package/package.json +1 -7
  148. package/progress/src/progress-indicator.directive.d.ts +12 -2
  149. package/progress/src/progress-root.directive.d.ts +38 -4
  150. package/radio/src/radio-item.directive.d.ts +1 -2
  151. package/radio/src/radio-root.directive.d.ts +1 -2
  152. package/switch/index.d.ts +11 -2
  153. package/switch/src/switch-input.directive.d.ts +1 -1
  154. package/switch/src/switch-root.directive.d.ts +26 -9
  155. package/switch/src/switch-thumb.directive.d.ts +1 -1
  156. package/tabs/index.d.ts +2 -2
  157. package/tabs/src/tabs-content.directive.d.ts +1 -1
  158. package/tabs/src/tabs-list.directive.d.ts +1 -1
  159. package/tabs/src/tabs-root.directive.d.ts +1 -1
  160. package/tabs/src/tabs-trigger.directive.d.ts +1 -1
  161. package/toggle/index.d.ts +2 -2
  162. package/toggle/src/toggle.directive.d.ts +30 -0
  163. package/toggle-group/src/toggle-group-button.directive.d.ts +9 -6
  164. package/toggle-group/src/toggle-group-multi.directive.d.ts +18 -15
  165. package/toggle-group/src/toggle-group.directive.d.ts +3 -9
  166. package/esm2022/label/src/label-root.directive.mjs +0 -48
  167. package/esm2022/roving-focus/index.mjs +0 -3
  168. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  169. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -109
  170. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -86
  171. package/esm2022/toggle/src/toggle-root.directive.mjs +0 -49
  172. package/fesm2022/radix-ng-primitives-roving-focus.mjs +0 -198
  173. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +0 -1
  174. package/label/src/label-root.directive.d.ts +0 -13
  175. package/roving-focus/README.md +0 -1
  176. package/roving-focus/index.d.ts +0 -2
  177. package/roving-focus/src/roving-focus-group.directive.d.ts +0 -53
  178. package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
  179. package/toggle/src/toggle-root.directive.d.ts +0 -32
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Directive, EventEmitter, booleanAttribute, Input, Output, HostListener } from '@angular/core';
2
+ import { InjectionToken, inject, input, computed, Directive, EventEmitter, booleanAttribute, Input, Output } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
 
5
5
  const RdxCheckboxToken = new InjectionToken('RdxCheckboxToken');
@@ -7,30 +7,99 @@ function injectCheckbox() {
7
7
  return inject(RdxCheckboxToken);
8
8
  }
9
9
 
10
+ class RdxCheckboxButtonDirective {
11
+ constructor() {
12
+ this.checkbox = injectCheckbox();
13
+ this.id = input(null);
14
+ this.elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxCheckboxButtonDirective, isStandalone: true, selector: "button[CheckboxButton]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "checkbox", "tabindex": "-1" }, properties: { "checked": "checkbox.checked", "disabled": "checkbox.disabled", "required": "checkbox.required", "attr.id": "elementId()", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.aria-required": "checkbox.required ? \"\" : null", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxButtonDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ standalone: true,
23
+ selector: 'button[CheckboxButton]',
24
+ host: {
25
+ type: 'button',
26
+ role: 'checkbox',
27
+ tabindex: '-1',
28
+ '[checked]': 'checkbox.checked',
29
+ '[disabled]': 'checkbox.disabled',
30
+ '[required]': 'checkbox.required',
31
+ '[attr.id]': 'elementId()',
32
+ '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
33
+ '[attr.aria-required]': 'checkbox.required ? "" : null',
34
+ '[attr.data-state]': 'checkbox.state',
35
+ '[attr.data-disabled]': 'checkbox.disabled ? "" : null'
36
+ }
37
+ }]
38
+ }] });
39
+
10
40
  class RdxCheckboxIndicatorDirective {
11
41
  constructor() {
12
42
  this.checkbox = injectCheckbox();
13
43
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[rdxCheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxCheckboxIndicatorDirective, isStandalone: true, selector: "[CheckboxIndicator]", host: { properties: { "style.pointer-events": "\"none\"", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null" } }, ngImport: i0 }); }
16
46
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
18
48
  type: Directive,
19
49
  args: [{
20
- selector: '[rdxCheckboxIndicator]',
50
+ selector: '[CheckboxIndicator]',
21
51
  standalone: true,
22
52
  host: {
23
53
  '[style.pointer-events]': '"none"',
54
+ '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
24
55
  '[attr.data-state]': 'checkbox.state',
25
56
  '[attr.data-disabled]': 'checkbox.disabled ? "" : null'
26
57
  }
27
58
  }]
28
59
  }] });
29
60
 
61
+ class RdxCheckboxInputDirective {
62
+ constructor() {
63
+ this.checkbox = injectCheckbox();
64
+ this.id = input();
65
+ this.elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));
66
+ this.value = computed(() => {
67
+ const state = this.checkbox.state;
68
+ if (state === 'indeterminate') {
69
+ return '';
70
+ }
71
+ return state ? 'on' : 'off';
72
+ });
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: RdxCheckboxInputDirective, isStandalone: true, selector: "input[CheckboxInput]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "checked": "checkbox.checked", "disabled": "checkbox.disabled", "required": "checkbox.required", "attr.id": "elementId()", "attr.aria-hidden": "true", "attr.aria-checked": "checkbox.indeterminate ? \"mixed\" : checkbox.checked", "attr.aria-required": "checkbox.required ? \"\" : null", "attr.data-state": "checkbox.state", "attr.data-disabled": "checkbox.disabled ? \"\" : null", "attr.value": "value()" } }, ngImport: i0 }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxInputDirective, decorators: [{
78
+ type: Directive,
79
+ args: [{
80
+ standalone: true,
81
+ selector: 'input[CheckboxInput]',
82
+ host: {
83
+ type: 'checkbox',
84
+ tabindex: '-1',
85
+ '[checked]': 'checkbox.checked',
86
+ '[disabled]': 'checkbox.disabled',
87
+ '[required]': 'checkbox.required',
88
+ '[attr.id]': 'elementId()',
89
+ '[attr.aria-hidden]': 'true',
90
+ '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
91
+ '[attr.aria-required]': 'checkbox.required ? "" : null',
92
+ '[attr.data-state]': 'checkbox.state',
93
+ '[attr.data-disabled]': 'checkbox.disabled ? "" : null',
94
+ '[attr.value]': 'value()'
95
+ }
96
+ }]
97
+ }] });
98
+
30
99
  class RdxCheckboxDirective {
31
100
  constructor() {
32
101
  /**
33
- * Defines whether the checkbox is checked.
102
+ * The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.
34
103
  */
35
104
  this.checked = false;
36
105
  /**
@@ -41,6 +110,7 @@ class RdxCheckboxDirective {
41
110
  * Defines whether the checkbox is disabled.
42
111
  */
43
112
  this.disabled = false;
113
+ this.required = false;
44
114
  /**
45
115
  * Event emitted when the checkbox checked state changes.
46
116
  */
@@ -59,13 +129,13 @@ class RdxCheckboxDirective {
59
129
  }
60
130
  return this.checked ? 'checked' : 'unchecked';
61
131
  }
62
- onKeydown(event) {
132
+ onKeyDown(event) {
63
133
  // According to WAI ARIA, Checkboxes don't activate on enter keypress
64
134
  if (event.key === 'Enter') {
65
135
  event.preventDefault();
66
136
  }
67
137
  }
68
- onClick() {
138
+ onClick($event) {
69
139
  if (this.disabled) {
70
140
  return;
71
141
  }
@@ -76,6 +146,7 @@ class RdxCheckboxDirective {
76
146
  this.indeterminate = false;
77
147
  this.indeterminateChange.emit(this.indeterminate);
78
148
  }
149
+ $event.preventDefault();
79
150
  }
80
151
  onBlur() {
81
152
  this.onTouched?.();
@@ -120,28 +191,28 @@ class RdxCheckboxDirective {
120
191
  setDisabledState(isDisabled) {
121
192
  this.disabled = isDisabled;
122
193
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", type: RdxCheckboxDirective, isStandalone: true, selector: "button[rdxCheckbox]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { attributes: { "type": "button", "role": "checkbox" }, listeners: { "keydown": "onKeydown($event)", "click": "onClick()", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.aria-checked": "indeterminate ? \"mixed\" : checked", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
195
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.1.2", type: RdxCheckboxDirective, isStandalone: true, selector: "[CheckboxRoot]", inputs: { checked: ["checked", "checked", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute] }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)", "blur": "onBlur()" }, properties: { "disabled": "disabled", "attr.data-disabled": "disabled ? \"\" : null", "attr.data-state": "state" } }, providers: [
125
196
  { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
126
197
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
127
198
  ], usesOnChanges: true, ngImport: i0 }); }
128
199
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxDirective, decorators: [{
130
201
  type: Directive,
131
202
  args: [{
132
- selector: 'button[rdxCheckbox]',
203
+ selector: '[CheckboxRoot]',
133
204
  standalone: true,
134
205
  providers: [
135
206
  { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
136
207
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
137
208
  ],
138
209
  host: {
139
- type: 'button',
140
- role: 'checkbox',
141
210
  '[disabled]': 'disabled',
142
- '[attr.aria-checked]': 'indeterminate ? "mixed" : checked',
143
211
  '[attr.data-disabled]': 'disabled ? "" : null',
144
- '[attr.data-state]': 'state'
212
+ '[attr.data-state]': 'state',
213
+ '(keydown)': 'onKeyDown($event)',
214
+ '(click)': 'onClick($event)',
215
+ '(blur)': 'onBlur()'
145
216
  }
146
217
  }]
147
218
  }], propDecorators: { checked: [{
@@ -153,24 +224,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
153
224
  }], disabled: [{
154
225
  type: Input,
155
226
  args: [{ transform: booleanAttribute }]
227
+ }], required: [{
228
+ type: Input,
229
+ args: [{ transform: booleanAttribute }]
156
230
  }], checkedChange: [{
157
231
  type: Output
158
232
  }], indeterminateChange: [{
159
233
  type: Output
160
- }], onKeydown: [{
161
- type: HostListener,
162
- args: ['keydown', ['$event']]
163
- }], onClick: [{
164
- type: HostListener,
165
- args: ['click']
166
- }], onBlur: [{
167
- type: HostListener,
168
- args: ['blur']
169
234
  }] } });
170
235
 
171
236
  /**
172
237
  * Generated bundle index. Do not edit.
173
238
  */
174
239
 
175
- export { RdxCheckboxDirective, RdxCheckboxIndicatorDirective, RdxCheckboxToken, injectCheckbox };
240
+ export { RdxCheckboxButtonDirective, RdxCheckboxDirective, RdxCheckboxIndicatorDirective, RdxCheckboxInputDirective, RdxCheckboxToken, injectCheckbox };
176
241
  //# sourceMappingURL=radix-ng-primitives-checkbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-checkbox.mjs","sources":["../../../packages/primitives/checkbox/src/checkbox.token.ts","../../../packages/primitives/checkbox/src/checkbox-indicator.directive.ts","../../../packages/primitives/checkbox/src/checkbox.directive.ts","../../../packages/primitives/checkbox/radix-ng-primitives-checkbox.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { RdxCheckboxDirective } from './checkbox.directive';\n\nexport const RdxCheckboxToken = new InjectionToken<RdxCheckboxDirective>('RdxCheckboxToken');\n\nexport function injectCheckbox(): RdxCheckboxDirective {\n return inject(RdxCheckboxToken);\n}\n","import { Directive } from '@angular/core';\n\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n selector: '[rdxCheckboxIndicator]',\n standalone: true,\n host: {\n '[style.pointer-events]': '\"none\"',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxIndicatorDirective {\n protected readonly checkbox = injectCheckbox();\n}\n","import {\n booleanAttribute,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { RdxCheckboxToken } from './checkbox.token';\n\nexport type CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n@Directive({\n selector: 'button[rdxCheckbox]',\n standalone: true,\n providers: [\n { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }\n ],\n host: {\n type: 'button',\n role: 'checkbox',\n '[disabled]': 'disabled',\n '[attr.aria-checked]': 'indeterminate ? \"mixed\" : checked',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'state'\n }\n})\nexport class RdxCheckboxDirective implements ControlValueAccessor, OnChanges {\n /**\n * Defines whether the checkbox is checked.\n */\n @Input({ transform: booleanAttribute }) checked = false;\n\n /**\n * Defines whether the checkbox is indeterminate.\n */\n @Input({ transform: booleanAttribute }) indeterminate = false;\n\n /**\n * Defines whether the checkbox is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n /**\n * Event emitted when the checkbox checked state changes.\n */\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n /**\n * Event emitted when the indeterminate state changes.\n */\n @Output() readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Determine the state\n */\n get state(): CheckboxState {\n if (this.indeterminate) {\n return 'indeterminate';\n }\n return this.checked ? 'checked' : 'unchecked';\n }\n\n /**\n * Store the callback function that should be called when the checkbox checked state changes.\n * @internal\n */\n private onChange?: (checked: boolean) => void;\n\n /**\n * Store the callback function that should be called when the checkbox is blurred.\n * @internal\n */\n private onTouched?: () => void;\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent): void {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.disabled) {\n return;\n }\n\n this.checked = this.indeterminate ? true : !this.checked;\n this.checkedChange.emit(this.checked);\n this.onChange?.(this.checked);\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.indeterminateChange.emit(this.indeterminate);\n }\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onTouched?.();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['checked'] && !changes['checked'].isFirstChange()) {\n this.checkedChange.emit(this.checked);\n }\n if (changes['indeterminate'] && !changes['indeterminate'].isFirstChange()) {\n this.indeterminateChange.emit(this.indeterminate);\n }\n }\n\n /**\n * Sets the checked state of the checkbox.\n * @param checked The checked state of the checkbox.\n * @internal\n */\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox checked state changes.\n * @param fn The callback function.\n * @internal\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox is blurred.\n * @param fn The callback function.\n * @internal\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the checkbox.\n * @param isDisabled The disabled state of the checkbox.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\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-checkbox.mjs","sources":["../../../packages/primitives/checkbox/src/checkbox.token.ts","../../../packages/primitives/checkbox/src/checkbox-button.directive.ts","../../../packages/primitives/checkbox/src/checkbox-indicator.directive.ts","../../../packages/primitives/checkbox/src/checkbox-input.directive.ts","../../../packages/primitives/checkbox/src/checkbox.directive.ts","../../../packages/primitives/checkbox/radix-ng-primitives-checkbox.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { RdxCheckboxDirective } from './checkbox.directive';\n\nexport const RdxCheckboxToken = new InjectionToken<RdxCheckboxDirective>('RdxCheckboxToken');\n\nexport function injectCheckbox(): RdxCheckboxDirective {\n return inject(RdxCheckboxToken);\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'button[CheckboxButton]',\n host: {\n type: 'button',\n role: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxButtonDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string | null>(null);\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n}\n","import { Directive } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n selector: '[CheckboxIndicator]',\n standalone: true,\n host: {\n '[style.pointer-events]': '\"none\"',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null'\n }\n})\nexport class RdxCheckboxIndicatorDirective {\n protected readonly checkbox = injectCheckbox();\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { injectCheckbox } from './checkbox.token';\n\n@Directive({\n standalone: true,\n selector: 'input[CheckboxInput]',\n host: {\n type: 'checkbox',\n tabindex: '-1',\n '[checked]': 'checkbox.checked',\n '[disabled]': 'checkbox.disabled',\n '[required]': 'checkbox.required',\n '[attr.id]': 'elementId()',\n '[attr.aria-hidden]': 'true',\n '[attr.aria-checked]': 'checkbox.indeterminate ? \"mixed\" : checkbox.checked',\n '[attr.aria-required]': 'checkbox.required ? \"\" : null',\n '[attr.data-state]': 'checkbox.state',\n '[attr.data-disabled]': 'checkbox.disabled ? \"\" : null',\n '[attr.value]': 'value()'\n }\n})\nexport class RdxCheckboxInputDirective {\n protected readonly checkbox = injectCheckbox();\n\n readonly id = input<string>();\n protected readonly elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));\n\n protected readonly value = computed(() => {\n const state = this.checkbox.state;\n if (state === 'indeterminate') {\n return '';\n }\n\n return state ? 'on' : 'off';\n });\n}\n","import { booleanAttribute, Directive, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RdxCheckboxToken } from './checkbox.token';\n\nexport type CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n@Directive({\n selector: '[CheckboxRoot]',\n standalone: true,\n providers: [\n { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },\n { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }\n ],\n host: {\n '[disabled]': 'disabled',\n '[attr.data-disabled]': 'disabled ? \"\" : null',\n '[attr.data-state]': 'state',\n\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class RdxCheckboxDirective implements ControlValueAccessor, OnChanges {\n /**\n * The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.\n */\n @Input({ transform: booleanAttribute }) checked = false;\n\n /**\n * Defines whether the checkbox is indeterminate.\n */\n @Input({ transform: booleanAttribute }) indeterminate = false;\n\n /**\n * Defines whether the checkbox is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled = false;\n\n @Input({ transform: booleanAttribute }) required = false;\n\n /**\n * Event emitted when the checkbox checked state changes.\n */\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n /**\n * Event emitted when the indeterminate state changes.\n */\n @Output() readonly indeterminateChange = new EventEmitter<boolean>();\n\n /**\n * Determine the state\n */\n get state(): CheckboxState {\n if (this.indeterminate) {\n return 'indeterminate';\n }\n return this.checked ? 'checked' : 'unchecked';\n }\n\n /**\n * Store the callback function that should be called when the checkbox checked state changes.\n * @internal\n */\n private onChange?: (checked: boolean) => void;\n\n /**\n * Store the callback function that should be called when the checkbox is blurred.\n * @internal\n */\n private onTouched?: () => void;\n\n protected onKeyDown(event: KeyboardEvent): void {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n protected onClick($event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n this.checked = this.indeterminate ? true : !this.checked;\n this.checkedChange.emit(this.checked);\n this.onChange?.(this.checked);\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.indeterminateChange.emit(this.indeterminate);\n }\n\n $event.preventDefault();\n }\n\n protected onBlur(): void {\n this.onTouched?.();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['checked'] && !changes['checked'].isFirstChange()) {\n this.checkedChange.emit(this.checked);\n }\n if (changes['indeterminate'] && !changes['indeterminate'].isFirstChange()) {\n this.indeterminateChange.emit(this.indeterminate);\n }\n }\n\n /**\n * Sets the checked state of the checkbox.\n * @param checked The checked state of the checkbox.\n * @internal\n */\n writeValue(checked: boolean): void {\n this.checked = checked;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox checked state changes.\n * @param fn The callback function.\n * @internal\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that should be called when the checkbox is blurred.\n * @param fn The callback function.\n * @internal\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the checkbox.\n * @param isDisabled The disabled state of the checkbox.\n * @internal\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,18 +10,24 @@ class RdxCollapsibleContentDirective {
10
10
  */
11
11
  this.elementRef = inject(ElementRef);
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCollapsibleContentDirective, isStandalone: true, selector: "[CollapsibleContent]", providers: [
15
- { provide: RdxCollapsibleContentToken, useExisting: RdxCollapsibleContentDirective }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: RdxCollapsibleContentDirective, isStandalone: true, selector: "[rdxCollapsibleContent]", providers: [
15
+ {
16
+ provide: RdxCollapsibleContentToken,
17
+ useExisting: RdxCollapsibleContentDirective
18
+ }
16
19
  ], ngImport: i0 }); }
17
20
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleContentDirective, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleContentDirective, decorators: [{
19
22
  type: Directive,
20
23
  args: [{
21
- selector: '[CollapsibleContent]',
24
+ selector: '[rdxCollapsibleContent]',
22
25
  standalone: true,
23
26
  providers: [
24
- { provide: RdxCollapsibleContentToken, useExisting: RdxCollapsibleContentDirective }
27
+ {
28
+ provide: RdxCollapsibleContentToken,
29
+ useExisting: RdxCollapsibleContentDirective
30
+ }
25
31
  ]
26
32
  }]
27
33
  }] });
@@ -114,13 +120,13 @@ class RdxCollapsibleRootDirective {
114
120
  });
115
121
  }
116
122
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.0.4", type: RdxCollapsibleRootDirective, isStandalone: true, selector: "[CollapsibleRoot]", inputs: { disabled: "disabled", open: "open" }, outputs: { openChange: "openChange" }, host: { properties: { "attr.data-state": "getState()" } }, providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }], queries: [{ propertyName: "contentDirective", first: true, predicate: RdxCollapsibleContentToken, descendants: true, isSignal: true }], exportAs: ["collapsibleRoot"], ngImport: i0 }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
124
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.2", type: RdxCollapsibleRootDirective, isStandalone: true, selector: "[rdxCollapsibleRoot]", inputs: { disabled: "disabled", open: "open" }, outputs: { openChange: "openChange" }, host: { properties: { "attr.data-state": "getState()" } }, providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }], queries: [{ propertyName: "contentDirective", first: true, predicate: RdxCollapsibleContentToken, descendants: true, isSignal: true }], exportAs: ["collapsibleRoot"], ngImport: i0 }); }
119
125
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleRootDirective, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleRootDirective, decorators: [{
121
127
  type: Directive,
122
128
  args: [{
123
- selector: '[CollapsibleRoot]',
129
+ selector: '[rdxCollapsibleRoot]',
124
130
  standalone: true,
125
131
  exportAs: 'collapsibleRoot',
126
132
  providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }],
@@ -165,13 +171,13 @@ class RdxCollapsibleTriggerDirective {
165
171
  getDisabled() {
166
172
  return this.collapsible.disabled ? 'disabled' : undefined;
167
173
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
169
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: RdxCollapsibleTriggerDirective, isStandalone: true, selector: "[CollapsibleTrigger]", host: { listeners: { "click": "onOpenToggle()" }, properties: { "attr.data-state": "getState()", "attr.aria-expanded": "getState() === \"open\" ? \"true\" : \"false\"", "disabled": "getDisabled()" } }, ngImport: i0 }); }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
175
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", 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 }); }
170
176
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCollapsibleTriggerDirective, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCollapsibleTriggerDirective, decorators: [{
172
178
  type: Directive,
173
179
  args: [{
174
- selector: '[CollapsibleTrigger]',
180
+ selector: '[rdxCollapsibleTrigger]',
175
181
  standalone: true,
176
182
  host: {
177
183
  '(click)': 'onOpenToggle()',
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-collapsible.mjs","sources":["../../../packages/primitives/collapsible/src/collapsible-content.directive.ts","../../../packages/primitives/collapsible/src/collapsible-root.directive.ts","../../../packages/primitives/collapsible/src/collapsible-trigger.directive.ts","../../../packages/primitives/collapsible/radix-ng-primitives-collapsible.ts"],"sourcesContent":["import { Directive, ElementRef, inject, InjectionToken } from '@angular/core';\n\nexport const RdxCollapsibleContentToken = new InjectionToken<RdxCollapsibleContentDirective>(\n 'RdxCollapsibleContentToken'\n);\n\n@Directive({\n selector: '[CollapsibleContent]',\n standalone: true,\n providers: [\n { provide: RdxCollapsibleContentToken, useExisting: RdxCollapsibleContentDirective }\n ]\n})\nexport class RdxCollapsibleContentDirective {\n /**\n * Reference to CollapsibleContent host element\n */\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n","import {\n contentChild,\n Directive,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n Output\n} from '@angular/core';\nimport { asyncScheduler } from 'rxjs';\n\nimport { RdxCollapsibleContentToken } from './collapsible-content.directive';\n\nconst RdxCollapsibleToken = new InjectionToken<RdxCollapsibleRootDirective>('RdxCollapsibleToken');\n\nexport function injectCollapsible(): RdxCollapsibleRootDirective {\n return inject(RdxCollapsibleRootDirective);\n}\n\nexport type RdxCollapsibleState = 'open' | 'closed';\n\n@Directive({\n selector: '[CollapsibleRoot]',\n standalone: true,\n exportAs: 'collapsibleRoot',\n providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }],\n host: {\n '[attr.data-state]': 'getState()'\n }\n})\nexport class RdxCollapsibleRootDirective {\n /**\n * Reference to RdxCollapsibleContent directive\n * @private\n * @ignore\n */\n private readonly contentDirective = contentChild.required(RdxCollapsibleContentToken);\n\n /**\n * Stores collapsible state\n * @private\n * @ignore\n */\n private _open = false;\n\n /**\n * Determines whether a directive is available for interaction\n */\n @Input() disabled = false;\n\n /**\n * Sets the state of the directive. `true` - expanded, `false` - collapsed\n * @param {boolean} value\n */\n @Input() set open(value: boolean) {\n if (value !== this._open) {\n this.openChange.emit(value);\n }\n\n this._open = value;\n this.setPresence();\n }\n\n /**\n * Emitted with new value when directive state changed\n */\n @Output() openChange = 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(\n 'data-state',\n this.getState()\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 } from '@angular/core';\n\nimport { injectCollapsible, RdxCollapsibleState } from './collapsible-root.directive';\n\n@Directive({\n selector: '[CollapsibleTrigger]',\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.directive.ts","../../../packages/primitives/collapsible/src/collapsible-root.directive.ts","../../../packages/primitives/collapsible/src/collapsible-trigger.directive.ts","../../../packages/primitives/collapsible/radix-ng-primitives-collapsible.ts"],"sourcesContent":["import { Directive, ElementRef, inject, InjectionToken } from '@angular/core';\n\nexport const RdxCollapsibleContentToken = new InjectionToken<RdxCollapsibleContentDirective>(\n 'RdxCollapsibleContentToken'\n);\n\n@Directive({\n selector: '[rdxCollapsibleContent]',\n standalone: true,\n providers: [\n {\n provide: RdxCollapsibleContentToken,\n useExisting: RdxCollapsibleContentDirective\n }\n ]\n})\nexport class RdxCollapsibleContentDirective {\n /**\n * Reference to CollapsibleContent host element\n */\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n}\n","import { contentChild, Directive, EventEmitter, inject, InjectionToken, Input, Output } from '@angular/core';\nimport { asyncScheduler } from 'rxjs';\nimport { RdxCollapsibleContentToken } from './collapsible-content.directive';\n\nconst RdxCollapsibleToken = new InjectionToken<RdxCollapsibleRootDirective>('RdxCollapsibleToken');\n\nexport function injectCollapsible(): RdxCollapsibleRootDirective {\n return inject(RdxCollapsibleRootDirective);\n}\n\nexport type RdxCollapsibleState = 'open' | 'closed';\n\n@Directive({\n selector: '[rdxCollapsibleRoot]',\n standalone: true,\n exportAs: 'collapsibleRoot',\n providers: [{ provide: RdxCollapsibleToken, useExisting: RdxCollapsibleRootDirective }],\n host: {\n '[attr.data-state]': 'getState()'\n }\n})\nexport class RdxCollapsibleRootDirective {\n /**\n * Reference to RdxCollapsibleContent directive\n * @private\n * @ignore\n */\n private readonly contentDirective = contentChild.required(RdxCollapsibleContentToken);\n\n /**\n * Stores collapsible state\n * @private\n * @ignore\n */\n private _open = false;\n\n /**\n * Determines whether a directive is available for interaction\n */\n @Input() disabled = false;\n\n /**\n * Sets the state of the directive. `true` - expanded, `false` - collapsed\n * @param {boolean} value\n */\n @Input() set open(value: boolean) {\n if (value !== this._open) {\n this.openChange.emit(value);\n }\n\n this._open = value;\n this.setPresence();\n }\n\n /**\n * Emitted with new value when directive state changed\n */\n @Output() openChange = 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 } 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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"}