@radix-ng/primitives 0.8.2 → 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 (175) 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 +1 -1
  13. package/collapsible/index.d.ts +1 -1
  14. package/collapsible/src/collapsible-content.directive.d.ts +1 -1
  15. package/collapsible/src/collapsible-root.directive.d.ts +1 -1
  16. package/collapsible/src/collapsible-trigger.directive.d.ts +1 -1
  17. package/dropdown-menu/index.d.ts +8 -3
  18. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +12 -2
  19. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +6 -0
  20. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +7 -0
  21. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +12 -0
  22. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +19 -0
  23. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +14 -0
  24. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +13 -4
  25. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +1 -1
  26. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +2 -2
  27. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +31 -1
  28. package/esm2022/accordion/index.mjs +4 -4
  29. package/esm2022/accordion/src/accordion-content.directive.mjs +7 -9
  30. package/esm2022/accordion/src/accordion-header.directive.mjs +5 -5
  31. package/esm2022/accordion/src/accordion-item.directive.mjs +17 -9
  32. package/esm2022/accordion/src/accordion-root.directive.mjs +5 -5
  33. package/esm2022/accordion/src/accordion-trigger.directive.mjs +5 -5
  34. package/esm2022/alert-dialog/index.mjs +3 -3
  35. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +4 -4
  36. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
  37. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +5 -4
  38. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
  39. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +4 -4
  40. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +6 -9
  41. package/esm2022/avatar/index.mjs +1 -1
  42. package/esm2022/avatar/src/avatar-fallback.directive.mjs +6 -6
  43. package/esm2022/avatar/src/avatar-image.directive.mjs +6 -6
  44. package/esm2022/avatar/src/avatar-root.directive.mjs +6 -6
  45. package/esm2022/checkbox/index.mjs +2 -2
  46. package/esm2022/checkbox/src/checkbox-button.directive.mjs +5 -5
  47. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +4 -4
  48. package/esm2022/checkbox/src/checkbox-input.directive.mjs +5 -5
  49. package/esm2022/checkbox/src/checkbox.directive.mjs +4 -4
  50. package/esm2022/checkbox/src/checkbox.token.mjs +1 -1
  51. package/esm2022/collapsible/index.mjs +2 -2
  52. package/esm2022/collapsible/src/collapsible-content.directive.mjs +13 -7
  53. package/esm2022/collapsible/src/collapsible-root.directive.mjs +5 -5
  54. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +5 -5
  55. package/esm2022/dropdown-menu/index.mjs +9 -4
  56. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +36 -10
  57. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +26 -0
  58. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +22 -0
  59. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +37 -0
  60. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +60 -0
  61. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +40 -0
  62. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +45 -16
  63. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +5 -5
  64. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +8 -8
  65. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +128 -12
  66. package/esm2022/label/index.mjs +2 -2
  67. package/esm2022/label/src/label.directive.mjs +54 -0
  68. package/esm2022/menu/index.mjs +7 -7
  69. package/esm2022/menu/src/menu-content.directive.mjs +3 -3
  70. package/esm2022/menu/src/menu-directive.mjs +3 -3
  71. package/esm2022/menu/src/menu-group.directive.mjs +3 -3
  72. package/esm2022/menu/src/menu-item.directive.mjs +8 -4
  73. package/esm2022/menu/src/menu-label.directive.mjs +3 -3
  74. package/esm2022/menu/src/menu-separator.directive.mjs +4 -4
  75. package/esm2022/menubar/index.mjs +7 -7
  76. package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
  77. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +4 -4
  78. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
  79. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +4 -4
  80. package/esm2022/menubar/src/menubar-item.directive.mjs +4 -4
  81. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
  82. package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
  83. package/esm2022/menubar/src/menubar-separator.directive.mjs +4 -4
  84. package/esm2022/menubar/src/menubar-trigger.directive.mjs +4 -4
  85. package/esm2022/progress/src/progress-indicator.directive.mjs +19 -9
  86. package/esm2022/progress/src/progress-root.directive.mjs +63 -7
  87. package/esm2022/radio/src/radio-indicator.directive.mjs +4 -4
  88. package/esm2022/radio/src/radio-item.directive.mjs +4 -8
  89. package/esm2022/radio/src/radio-root.directive.mjs +5 -9
  90. package/esm2022/separator/src/separator.directive.mjs +3 -3
  91. package/esm2022/switch/index.mjs +29 -4
  92. package/esm2022/switch/src/switch-input.directive.mjs +6 -6
  93. package/esm2022/switch/src/switch-root.directive.mjs +7 -7
  94. package/esm2022/switch/src/switch-thumb.directive.mjs +6 -6
  95. package/esm2022/tabs/index.mjs +7 -7
  96. package/esm2022/tabs/src/tabs-content.directive.mjs +5 -5
  97. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  98. package/esm2022/tabs/src/tabs-list.directive.mjs +5 -5
  99. package/esm2022/tabs/src/tabs-root.directive.mjs +5 -5
  100. package/esm2022/tabs/src/tabs-trigger.directive.mjs +5 -5
  101. package/esm2022/toggle/index.mjs +2 -2
  102. package/esm2022/toggle/src/toggle.directive.mjs +39 -0
  103. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +6 -14
  104. package/esm2022/toggle-group/src/toggle-group-button.token.mjs +1 -1
  105. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +6 -32
  106. package/esm2022/toggle-group/src/toggle-group.directive.mjs +5 -25
  107. package/esm2022/toggle-group/src/toggle-group.token.mjs +1 -1
  108. package/fesm2022/radix-ng-primitives-accordion.mjs +73 -67
  109. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  110. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +49 -51
  111. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  112. package/fesm2022/radix-ng-primitives-avatar.mjs +15 -15
  113. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  114. package/fesm2022/radix-ng-primitives-checkbox.mjs +43 -43
  115. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  116. package/fesm2022/radix-ng-primitives-collapsible.mjs +20 -14
  117. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  118. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +381 -46
  119. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  120. package/fesm2022/radix-ng-primitives-label.mjs +17 -10
  121. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  122. package/fesm2022/radix-ng-primitives-menu.mjs +26 -22
  123. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  124. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  125. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  126. package/fesm2022/radix-ng-primitives-progress.mjs +80 -14
  127. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  128. package/fesm2022/radix-ng-primitives-radio.mjs +10 -14
  129. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  130. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  131. package/fesm2022/radix-ng-primitives-switch.mjs +53 -31
  132. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  133. package/fesm2022/radix-ng-primitives-tabs.mjs +23 -23
  134. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  135. package/fesm2022/radix-ng-primitives-toggle-group.mjs +14 -64
  136. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  137. package/fesm2022/radix-ng-primitives-toggle.mjs +18 -28
  138. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  139. package/label/index.d.ts +1 -1
  140. package/label/src/label.directive.d.ts +23 -0
  141. package/menu/index.d.ts +2 -2
  142. package/menubar/index.d.ts +2 -2
  143. package/package.json +1 -7
  144. package/progress/src/progress-indicator.directive.d.ts +12 -2
  145. package/progress/src/progress-root.directive.d.ts +38 -4
  146. package/radio/src/radio-item.directive.d.ts +1 -2
  147. package/radio/src/radio-root.directive.d.ts +1 -2
  148. package/switch/index.d.ts +11 -3
  149. package/switch/src/switch-input.directive.d.ts +1 -1
  150. package/switch/src/switch-root.directive.d.ts +1 -1
  151. package/switch/src/switch-thumb.directive.d.ts +1 -1
  152. package/tabs/index.d.ts +2 -2
  153. package/tabs/src/tabs-content.directive.d.ts +1 -1
  154. package/tabs/src/tabs-list.directive.d.ts +1 -1
  155. package/tabs/src/tabs-root.directive.d.ts +1 -1
  156. package/tabs/src/tabs-trigger.directive.d.ts +1 -1
  157. package/toggle/index.d.ts +2 -2
  158. package/toggle/src/toggle.directive.d.ts +30 -0
  159. package/toggle-group/src/toggle-group-button.directive.d.ts +1 -7
  160. package/toggle-group/src/toggle-group-multi.directive.d.ts +3 -13
  161. package/toggle-group/src/toggle-group.directive.d.ts +3 -9
  162. package/esm2022/label/src/label-root.directive.mjs +0 -47
  163. package/esm2022/roving-focus/index.mjs +0 -3
  164. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  165. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -109
  166. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -86
  167. package/esm2022/toggle/src/toggle-root.directive.mjs +0 -49
  168. package/fesm2022/radix-ng-primitives-roving-focus.mjs +0 -198
  169. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +0 -1
  170. package/label/src/label-root.directive.d.ts +0 -14
  171. package/roving-focus/README.md +0 -1
  172. package/roving-focus/index.d.ts +0 -2
  173. package/roving-focus/src/roving-focus-group.directive.d.ts +0 -53
  174. package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
  175. package/toggle/src/toggle-root.directive.d.ts +0 -32
@@ -7,91 +7,91 @@ function injectCheckbox() {
7
7
  return inject(RdxCheckboxToken);
8
8
  }
9
9
 
10
- class RdxCheckboxInputDirective {
10
+ class RdxCheckboxButtonDirective {
11
11
  constructor() {
12
12
  this.checkbox = injectCheckbox();
13
- this.id = input();
14
- this.elementId = computed(() => this.id() ? this.id() : `rdx-checkbox-${this.id()}`);
15
- this.value = computed(() => {
16
- const state = this.checkbox.state;
17
- if (state === 'indeterminate') {
18
- return '';
19
- }
20
- return state ? 'on' : 'off';
21
- });
13
+ this.id = input(null);
14
+ this.elementId = computed(() => (this.id() ? this.id() : `rdx-checkbox-${this.id()}`));
22
15
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", 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 }); }
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 }); }
25
18
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxInputDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxButtonDirective, decorators: [{
27
20
  type: Directive,
28
21
  args: [{
29
22
  standalone: true,
30
- selector: 'input[CheckboxInput]',
23
+ selector: 'button[CheckboxButton]',
31
24
  host: {
32
- type: 'checkbox',
25
+ type: 'button',
26
+ role: 'checkbox',
33
27
  tabindex: '-1',
34
28
  '[checked]': 'checkbox.checked',
35
29
  '[disabled]': 'checkbox.disabled',
36
30
  '[required]': 'checkbox.required',
37
31
  '[attr.id]': 'elementId()',
38
- '[attr.aria-hidden]': 'true',
39
32
  '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
40
33
  '[attr.aria-required]': 'checkbox.required ? "" : null',
41
34
  '[attr.data-state]': 'checkbox.state',
42
- '[attr.data-disabled]': 'checkbox.disabled ? "" : null',
43
- '[attr.value]': 'value()'
35
+ '[attr.data-disabled]': 'checkbox.disabled ? "" : null'
44
36
  }
45
37
  }]
46
38
  }] });
47
39
 
48
- class RdxCheckboxButtonDirective {
40
+ class RdxCheckboxIndicatorDirective {
49
41
  constructor() {
50
42
  this.checkbox = injectCheckbox();
51
- this.id = input(null);
52
- this.elementId = computed(() => this.id() ? this.id() : `rdx-checkbox-${this.id()}`);
53
43
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.4", 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 }); }
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 }); }
56
46
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxButtonDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
58
48
  type: Directive,
59
49
  args: [{
50
+ selector: '[CheckboxIndicator]',
60
51
  standalone: true,
61
- selector: 'button[CheckboxButton]',
62
52
  host: {
63
- type: 'button',
64
- role: 'checkbox',
65
- tabindex: '-1',
66
- '[checked]': 'checkbox.checked',
67
- '[disabled]': 'checkbox.disabled',
68
- '[required]': 'checkbox.required',
69
- '[attr.id]': 'elementId()',
53
+ '[style.pointer-events]': '"none"',
70
54
  '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
71
- '[attr.aria-required]': 'checkbox.required ? "" : null',
72
55
  '[attr.data-state]': 'checkbox.state',
73
56
  '[attr.data-disabled]': 'checkbox.disabled ? "" : null'
74
57
  }
75
58
  }]
76
59
  }] });
77
60
 
78
- class RdxCheckboxIndicatorDirective {
61
+ class RdxCheckboxInputDirective {
79
62
  constructor() {
80
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
+ });
81
73
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", 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 }); }
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 }); }
84
76
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxIndicatorDirective, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: RdxCheckboxInputDirective, decorators: [{
86
78
  type: Directive,
87
79
  args: [{
88
- selector: '[CheckboxIndicator]',
89
80
  standalone: true,
81
+ selector: 'input[CheckboxInput]',
90
82
  host: {
91
- '[style.pointer-events]': '"none"',
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',
92
90
  '[attr.aria-checked]': 'checkbox.indeterminate ? "mixed" : checkbox.checked',
91
+ '[attr.aria-required]': 'checkbox.required ? "" : null',
93
92
  '[attr.data-state]': 'checkbox.state',
94
- '[attr.data-disabled]': 'checkbox.disabled ? "" : null'
93
+ '[attr.data-disabled]': 'checkbox.disabled ? "" : null',
94
+ '[attr.value]': 'value()'
95
95
  }
96
96
  }]
97
97
  }] });
@@ -191,13 +191,13 @@ class RdxCheckboxDirective {
191
191
  setDisabledState(isDisabled) {
192
192
  this.disabled = isDisabled;
193
193
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: RdxCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
195
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.4", 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: [
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: [
196
196
  { provide: RdxCheckboxToken, useExisting: RdxCheckboxDirective },
197
197
  { provide: NG_VALUE_ACCESSOR, useExisting: RdxCheckboxDirective, multi: true }
198
198
  ], usesOnChanges: true, ngImport: i0 }); }
199
199
  }
200
- 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: [{
201
201
  type: Directive,
202
202
  args: [{
203
203
  selector: '[CheckboxRoot]',
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-checkbox.mjs","sources":["../../../packages/primitives/checkbox/src/checkbox.token.ts","../../../packages/primitives/checkbox/src/checkbox-input.directive.ts","../../../packages/primitives/checkbox/src/checkbox-button.directive.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 { computed, Directive, input } from '@angular/core';\n\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(() =>\n this.id() ? this.id() : `rdx-checkbox-${this.id()}`\n );\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 { computed, Directive, input } from '@angular/core';\n\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(() =>\n this.id() ? this.id() : `rdx-checkbox-${this.id()}`\n );\n}\n","import { Directive } from '@angular/core';\n\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 {\n booleanAttribute,\n Directive,\n EventEmitter,\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: '[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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"}
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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"}