@radix-ng/primitives 0.50.0 → 1.0.0-beta.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 (207) hide show
  1. package/collection/README.md +1 -0
  2. package/fesm2022/radix-ng-primitives-accordion.mjs +134 -66
  3. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +224 -132
  5. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  6. package/fesm2022/radix-ng-primitives-arrow.mjs +26 -10
  7. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +6 -6
  9. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-avatar.mjs +68 -75
  11. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-button.mjs +123 -0
  13. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
  14. package/fesm2022/radix-ng-primitives-calendar.mjs +104 -103
  15. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-checkbox.mjs +414 -80
  17. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collapsible.mjs +193 -92
  19. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-collection.mjs +72 -0
  21. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -0
  22. package/fesm2022/radix-ng-primitives-config.mjs +5 -5
  23. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-context-menu.mjs +143 -427
  25. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-core.mjs +757 -757
  27. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-cropper.mjs +55 -53
  29. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-date-field.mjs +93 -86
  31. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-dialog.mjs +658 -330
  33. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +98 -76
  35. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
  37. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  38. package/fesm2022/radix-ng-primitives-editable.mjs +20 -20
  39. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  41. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  42. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  43. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  44. package/fesm2022/radix-ng-primitives-focus-guards.mjs +3 -3
  45. package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-focus-scope.mjs +29 -14
  47. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  49. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  50. package/fesm2022/radix-ng-primitives-label.mjs +11 -11
  51. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-menu.mjs +1484 -353
  53. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  55. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  57. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  58. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1060 -1553
  59. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -366
  61. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-pagination.mjs +51 -51
  63. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-popover.mjs +980 -995
  65. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-popper.mjs +137 -82
  67. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-portal.mjs +40 -16
  69. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  71. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  73. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  74. package/fesm2022/radix-ng-primitives-progress.mjs +231 -92
  75. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  76. package/fesm2022/radix-ng-primitives-radio.mjs +211 -70
  77. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-roving-focus.mjs +127 -77
  79. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-select.mjs +791 -511
  81. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-separator.mjs +16 -45
  83. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-slider.mjs +976 -720
  85. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-stepper.mjs +69 -71
  87. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-switch.mjs +128 -124
  89. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-tabs.mjs +388 -115
  91. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-time-field.mjs +111 -117
  93. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-toggle-group.mjs +122 -248
  95. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-toggle.mjs +99 -62
  97. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-toolbar.mjs +307 -94
  99. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1079
  101. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +46 -87
  103. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives.mjs.map +1 -1
  105. package/meter/README.md +3 -0
  106. package/navigation-menu/README.md +2 -1
  107. package/package.json +85 -63
  108. package/portal/README.md +2 -0
  109. package/preview-card/README.md +3 -0
  110. package/schematics/collection.json +1 -0
  111. package/schematics/ng-add/index.d.ts +3 -2
  112. package/schematics/ng-add/index.js +62 -31
  113. package/schematics/ng-add/index.js.map +1 -1
  114. package/schematics/ng-add/package-config.d.ts +4 -2
  115. package/schematics/ng-add/package-config.js +10 -2
  116. package/schematics/ng-add/package-config.js.map +1 -1
  117. package/schematics/ng-add/schema.d.ts +3 -0
  118. package/schematics/ng-add/schema.js +3 -0
  119. package/schematics/ng-add/schema.js.map +1 -0
  120. package/schematics/ng-add/schema.json +14 -0
  121. package/select/README.md +2 -0
  122. package/{accordion/index.d.ts → types/radix-ng-primitives-accordion.d.ts} +102 -67
  123. package/types/radix-ng-primitives-alert-dialog.d.ts +114 -0
  124. package/{arrow/index.d.ts → types/radix-ng-primitives-arrow.d.ts} +1 -1
  125. package/{aspect-ratio/index.d.ts → types/radix-ng-primitives-aspect-ratio.d.ts} +1 -1
  126. package/{avatar/index.d.ts → types/radix-ng-primitives-avatar.d.ts} +7 -11
  127. package/types/radix-ng-primitives-button.d.ts +73 -0
  128. package/{calendar/index.d.ts → types/radix-ng-primitives-calendar.d.ts} +2 -3
  129. package/types/radix-ng-primitives-checkbox.d.ts +337 -0
  130. package/types/radix-ng-primitives-collapsible.d.ts +159 -0
  131. package/types/radix-ng-primitives-collection.d.ts +44 -0
  132. package/{config/index.d.ts → types/radix-ng-primitives-config.d.ts} +1 -1
  133. package/types/radix-ng-primitives-context-menu.d.ts +73 -0
  134. package/{core/index.d.ts → types/radix-ng-primitives-core.d.ts} +311 -236
  135. package/{cropper/index.d.ts → types/radix-ng-primitives-cropper.d.ts} +6 -5
  136. package/{date-field/index.d.ts → types/radix-ng-primitives-date-field.d.ts} +42 -27
  137. package/types/radix-ng-primitives-dialog.d.ts +323 -0
  138. package/{dismissable-layer/index.d.ts → types/radix-ng-primitives-dismissable-layer.d.ts} +15 -7
  139. package/types/radix-ng-primitives-drawer.d.ts +448 -0
  140. package/{editable/index.d.ts → types/radix-ng-primitives-editable.d.ts} +1 -1
  141. package/types/radix-ng-primitives-field.d.ts +373 -0
  142. package/types/radix-ng-primitives-fieldset.d.ts +48 -0
  143. package/{focus-scope/index.d.ts → types/radix-ng-primitives-focus-scope.d.ts} +13 -5
  144. package/types/radix-ng-primitives-input.d.ts +87 -0
  145. package/{label/index.d.ts → types/radix-ng-primitives-label.d.ts} +0 -1
  146. package/types/radix-ng-primitives-menu.d.ts +612 -0
  147. package/types/radix-ng-primitives-menubar.d.ts +66 -0
  148. package/types/radix-ng-primitives-meter.d.ts +193 -0
  149. package/types/radix-ng-primitives-navigation-menu.d.ts +488 -0
  150. package/types/radix-ng-primitives-number-field.d.ts +464 -0
  151. package/{pagination/index.d.ts → types/radix-ng-primitives-pagination.d.ts} +2 -2
  152. package/types/radix-ng-primitives-popover.d.ts +416 -0
  153. package/{popper/index.d.ts → types/radix-ng-primitives-popper.d.ts} +50 -9
  154. package/types/radix-ng-primitives-portal.d.ts +30 -0
  155. package/types/radix-ng-primitives-presence.d.ts +55 -0
  156. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  157. package/types/radix-ng-primitives-progress.d.ts +206 -0
  158. package/{radio/index.d.ts → types/radix-ng-primitives-radio.d.ts} +56 -26
  159. package/{roving-focus/index.d.ts → types/radix-ng-primitives-roving-focus.d.ts} +38 -27
  160. package/types/radix-ng-primitives-select.d.ts +512 -0
  161. package/types/radix-ng-primitives-separator.d.ts +38 -0
  162. package/types/radix-ng-primitives-slider.d.ts +377 -0
  163. package/{stepper/index.d.ts → types/radix-ng-primitives-stepper.d.ts} +21 -22
  164. package/types/radix-ng-primitives-switch.d.ts +121 -0
  165. package/types/radix-ng-primitives-tabs.d.ts +247 -0
  166. package/{time-field/index.d.ts → types/radix-ng-primitives-time-field.d.ts} +46 -31
  167. package/types/radix-ng-primitives-toggle-group.d.ts +116 -0
  168. package/types/radix-ng-primitives-toggle.d.ts +65 -0
  169. package/types/radix-ng-primitives-toolbar.d.ts +180 -0
  170. package/types/radix-ng-primitives-tooltip.d.ts +395 -0
  171. package/{visually-hidden/index.d.ts → types/radix-ng-primitives-visually-hidden.d.ts} +19 -19
  172. package/alert-dialog/index.d.ts +0 -57
  173. package/checkbox/index.d.ts +0 -164
  174. package/collapsible/index.d.ts +0 -85
  175. package/context-menu/index.d.ts +0 -129
  176. package/dialog/index.d.ts +0 -205
  177. package/dropdown-menu/README.md +0 -1
  178. package/dropdown-menu/index.d.ts +0 -171
  179. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -583
  180. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  181. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1246
  182. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  183. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -740
  184. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  185. package/hover-card/README.md +0 -3
  186. package/hover-card/index.d.ts +0 -472
  187. package/menu/index.d.ts +0 -139
  188. package/menubar/index.d.ts +0 -56
  189. package/navigation-menu/index.d.ts +0 -405
  190. package/number-field/index.d.ts +0 -203
  191. package/popover/index.d.ts +0 -403
  192. package/portal/index.d.ts +0 -22
  193. package/presence/index.d.ts +0 -103
  194. package/progress/index.d.ts +0 -79
  195. package/select/index.d.ts +0 -214
  196. package/separator/index.d.ts +0 -63
  197. package/slider/index.d.ts +0 -263
  198. package/switch/index.d.ts +0 -105
  199. package/tabs/index.d.ts +0 -112
  200. package/toggle/index.d.ts +0 -75
  201. package/toggle-group/index.d.ts +0 -194
  202. package/toolbar/index.d.ts +0 -55
  203. package/tooltip/index.d.ts +0 -433
  204. package/tooltip2/README.md +0 -3
  205. package/tooltip2/index.d.ts +0 -325
  206. /package/{focus-guards/index.d.ts → types/radix-ng-primitives-focus-guards.d.ts} +0 -0
  207. /package/{index.d.ts → types/radix-ng-primitives.d.ts} +0 -0
@@ -1,149 +1,362 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, booleanAttribute, signal, effect, Directive, InjectionToken, NgModule } from '@angular/core';
2
+ import { inject, input, booleanAttribute, computed, effect, Directive, ElementRef, PLATFORM_ID, DestroyRef, NgModule } from '@angular/core';
3
3
  import * as i1 from '@radix-ng/primitives/roving-focus';
4
4
  import { RdxRovingFocusItemDirective, RdxRovingFocusGroupDirective } from '@radix-ng/primitives/roving-focus';
5
+ import { createContext } from '@radix-ng/primitives/core';
6
+ import { isPlatformBrowser } from '@angular/common';
5
7
  import * as i1$1 from '@radix-ng/primitives/separator';
6
8
  import { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';
7
- import * as i1$2 from '@radix-ng/primitives/toggle-group';
8
- import { RdxToggleGroupWithoutFocusDirective, RdxToggleGroupItemDirective } from '@radix-ng/primitives/toggle-group';
9
9
 
10
- class RdxToolbarButtonDirective {
10
+ const [injectToolbarRootContext, provideToolbarRootContext] = createContext('RdxToolbarRootContext');
11
+ const [injectToolbarGroupContext, provideToolbarGroupContext] = createContext('RdxToolbarGroupContext');
12
+
13
+ /**
14
+ * A button within a toolbar.
15
+ *
16
+ * @see https://base-ui.com/react/components/toolbar
17
+ */
18
+ class RdxToolbarButton {
11
19
  constructor() {
12
- this.rdxRovingFocusItemDirective = inject(RdxRovingFocusItemDirective);
13
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
14
- this.isDisabled = signal(this.disabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
15
- this.#disableChanges = effect(() => {
16
- this.rdxRovingFocusItemDirective.setFocusable(!this.isDisabled());
17
- }, ...(ngDevMode ? [{ debugName: "#disableChanges" }] : []));
20
+ this.rootContext = injectToolbarRootContext();
21
+ this.groupContext = injectToolbarGroupContext(true);
22
+ this.rovingItem = inject(RdxRovingFocusItemDirective);
23
+ /**
24
+ * Whether the button is disabled.
25
+ *
26
+ * @default false
27
+ */
28
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
29
+ /**
30
+ * Whether the button stays focusable while disabled (so it remains discoverable for keyboard
31
+ * and screen-reader users).
32
+ *
33
+ * @default true
34
+ */
35
+ this.focusableWhenDisabled = input(true, { ...(ngDevMode ? { debugName: "focusableWhenDisabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
36
+ /**
37
+ * Whether the host is a native `<button>`. When `false`, adds `role="button"`.
38
+ *
39
+ * @default true
40
+ */
41
+ this.nativeButton = input(true, { ...(ngDevMode ? { debugName: "nativeButton" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
42
+ /** @ignore Effective disabled state, combining the button, group and toolbar. */
43
+ this.isDisabled = computed(() => this.disabled() || (this.groupContext?.disabled() ?? false) || this.rootContext.disabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
44
+ // A disabled-but-focusable item stays in the roving sequence; otherwise it is removed.
45
+ effect(() => this.rovingItem.setFocusable(!this.isDisabled() || this.focusableWhenDisabled()));
18
46
  }
19
- #disableChanges;
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: RdxToolbarButtonDirective, isStandalone: true, selector: "[rdxToolbarButton]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective, inputs: ["focusable", "focusable"] }], ngImport: i0 }); }
47
+ /** @ignore */
48
+ onClick(event) {
49
+ if (this.isDisabled()) {
50
+ event.preventDefault();
51
+ event.stopImmediatePropagation();
52
+ }
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxToolbarButton, isStandalone: true, selector: "[rdxToolbarButton]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, focusableWhenDisabled: { classPropertyName: "focusableWhenDisabled", publicName: "focusableWhenDisabled", isSignal: true, isRequired: false, transformFunction: null }, nativeButton: { classPropertyName: "nativeButton", publicName: "nativeButton", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.type": "nativeButton() ? \"button\" : undefined", "attr.role": "nativeButton() ? undefined : \"button\"", "attr.data-orientation": "rootContext.orientation()", "attr.data-disabled": "isDisabled() ? \"\" : undefined", "attr.data-focusable": "focusableWhenDisabled() ? \"\" : undefined", "attr.aria-disabled": "isDisabled() ? \"true\" : undefined", "attr.disabled": "isDisabled() && !focusableWhenDisabled() ? \"\" : undefined" } }, exportAs: ["rdxToolbarButton"], hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective }], ngImport: i0 }); }
22
56
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarButtonDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarButton, decorators: [{
24
58
  type: Directive,
25
59
  args: [{
26
60
  selector: '[rdxToolbarButton]',
27
- hostDirectives: [{ directive: RdxRovingFocusItemDirective, inputs: ['focusable'] }]
61
+ exportAs: 'rdxToolbarButton',
62
+ hostDirectives: [RdxRovingFocusItemDirective],
63
+ host: {
64
+ '[attr.type]': 'nativeButton() ? "button" : undefined',
65
+ '[attr.role]': 'nativeButton() ? undefined : "button"',
66
+ '[attr.data-orientation]': 'rootContext.orientation()',
67
+ '[attr.data-disabled]': 'isDisabled() ? "" : undefined',
68
+ '[attr.data-focusable]': 'focusableWhenDisabled() ? "" : undefined',
69
+ '[attr.aria-disabled]': 'isDisabled() ? "true" : undefined',
70
+ '[attr.disabled]': 'isDisabled() && !focusableWhenDisabled() ? "" : undefined',
71
+ '(click)': 'onClick($event)'
72
+ }
28
73
  }]
29
- }] });
74
+ }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], focusableWhenDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusableWhenDisabled", required: false }] }], nativeButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "nativeButton", required: false }] }] } });
30
75
 
31
- class RdxToolbarLinkDirective {
32
- onKeyDown($event) {
33
- if ($event.key === ' ')
34
- $event.currentTarget?.click();
76
+ const groupContext = () => {
77
+ const group = inject(RdxToolbarGroup);
78
+ return { disabled: group.isDisabled };
79
+ };
80
+ /**
81
+ * Groups several toolbar items together. Disabling the group disables all of its items.
82
+ *
83
+ * @see https://base-ui.com/react/components/toolbar
84
+ */
85
+ class RdxToolbarGroup {
86
+ constructor() {
87
+ this.rootContext = injectToolbarRootContext();
88
+ /**
89
+ * Whether the group is disabled.
90
+ *
91
+ * @default false
92
+ */
93
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
94
+ /** @ignore Effective disabled state, combining the group and the toolbar. */
95
+ this.isDisabled = computed(() => this.disabled() || this.rootContext.disabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
35
96
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: RdxToolbarLinkDirective, isStandalone: true, selector: "[rdxToolbarLink]", host: { listeners: { "keydown": "onKeyDown($event)" } }, hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective, inputs: ["focusable", "focusable"] }], ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxToolbarGroup, isStandalone: true, selector: "[rdxToolbarGroup]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "attr.data-orientation": "rootContext.orientation()", "attr.data-disabled": "isDisabled() ? \"\" : undefined" } }, providers: [provideToolbarGroupContext(groupContext)], exportAs: ["rdxToolbarGroup"], ngImport: i0 }); }
38
99
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarLinkDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarGroup, decorators: [{
40
101
  type: Directive,
41
102
  args: [{
42
- selector: '[rdxToolbarLink]',
43
- hostDirectives: [{ directive: RdxRovingFocusItemDirective, inputs: ['focusable'] }],
103
+ selector: '[rdxToolbarGroup]',
104
+ exportAs: 'rdxToolbarGroup',
105
+ providers: [provideToolbarGroupContext(groupContext)],
44
106
  host: {
45
- '(keydown)': 'onKeyDown($event)'
107
+ role: 'group',
108
+ '[attr.data-orientation]': 'rootContext.orientation()',
109
+ '[attr.data-disabled]': 'isDisabled() ? "" : undefined'
46
110
  }
47
111
  }]
48
- }] });
49
-
50
- const RDX_TOOLBAR_ROOT_TOKEN = new InjectionToken('RdxToolbarRootDirective');
51
- function injectRootContext() {
52
- return inject(RDX_TOOLBAR_ROOT_TOKEN);
53
- }
54
- function provideRootContext() {
55
- return {
56
- provide: RDX_TOOLBAR_ROOT_TOKEN,
57
- useExisting: RdxToolbarRootDirective
58
- };
59
- }
112
+ }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
60
113
 
61
- class RdxToolbarRootDirective {
114
+ /**
115
+ * A native input within a toolbar. Participates in the toolbar's roving focus while keeping native
116
+ * text-editing: the arrow keys move the caret within the text and only move focus to the
117
+ * neighbouring toolbar item once the caret is at the corresponding edge (Base UI "composite" input).
118
+ *
119
+ * @see https://base-ui.com/react/components/toolbar
120
+ */
121
+ class RdxToolbarInput {
62
122
  constructor() {
63
- this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
64
- this.dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : []));
123
+ this.rootContext = injectToolbarRootContext();
124
+ this.groupContext = injectToolbarGroupContext(true);
125
+ this.rovingItem = inject(RdxRovingFocusItemDirective);
126
+ this.elementRef = inject(ElementRef);
127
+ this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
128
+ /** The initial value of the uncontrolled input. */
129
+ this.defaultValue = input(...(ngDevMode ? [undefined, { debugName: "defaultValue" }] : /* istanbul ignore next */ []));
130
+ /**
131
+ * Whether the input is disabled.
132
+ *
133
+ * @default false
134
+ */
135
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
136
+ /**
137
+ * Whether the input stays focusable while disabled.
138
+ *
139
+ * @default true
140
+ */
141
+ this.focusableWhenDisabled = input(true, { ...(ngDevMode ? { debugName: "focusableWhenDisabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
142
+ /** @ignore */
143
+ this.isDisabled = computed(() => this.disabled() || (this.groupContext?.disabled() ?? false) || this.rootContext.disabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
144
+ this.appliedDefault = false;
145
+ effect(() => this.rovingItem.setFocusable(!this.isDisabled() || this.focusableWhenDisabled()));
146
+ effect(() => {
147
+ const value = this.defaultValue();
148
+ if (!this.appliedDefault && value !== undefined) {
149
+ this.appliedDefault = true;
150
+ this.elementRef.nativeElement.value = value;
151
+ }
152
+ });
153
+ if (this.isBrowser) {
154
+ // Registered in the constructor — i.e. before the roving item's host `(keydown)` listener
155
+ // — so it runs first and can keep arrow keys for caret movement (via
156
+ // `stopImmediatePropagation`) unless the caret is at the edge, where the event is allowed
157
+ // to reach the roving group and move focus.
158
+ const element = this.elementRef.nativeElement;
159
+ const handler = (event) => this.handleCaretKeydown(event);
160
+ element.addEventListener('keydown', handler, { capture: true });
161
+ inject(DestroyRef).onDestroy(() => element.removeEventListener('keydown', handler, { capture: true }));
162
+ }
163
+ }
164
+ handleCaretKeydown(event) {
165
+ if (event.defaultPrevented || event.metaKey || event.ctrlKey || event.altKey) {
166
+ return;
167
+ }
168
+ const horizontal = this.rootContext.orientation() === 'horizontal';
169
+ const previousKey = horizontal ? 'ArrowLeft' : 'ArrowUp';
170
+ const nextKey = horizontal ? 'ArrowRight' : 'ArrowDown';
171
+ const key = event.key;
172
+ if (key !== previousKey && key !== nextKey && key !== 'Home' && key !== 'End') {
173
+ return;
174
+ }
175
+ // Home/End always move the caret within the text.
176
+ if (key === 'Home' || key === 'End') {
177
+ event.stopImmediatePropagation();
178
+ return;
179
+ }
180
+ const element = this.elementRef.nativeElement;
181
+ let start;
182
+ let end;
183
+ try {
184
+ start = element.selectionStart;
185
+ end = element.selectionEnd;
186
+ }
187
+ catch {
188
+ // Inputs such as `type="number"` don't expose a selection — let the toolbar navigate.
189
+ return;
190
+ }
191
+ if (start === null || end === null) {
192
+ return;
193
+ }
194
+ const length = element.value.length;
195
+ const atStart = start === 0 && end === 0;
196
+ const atEnd = start === length && end === length;
197
+ // Keep the key for caret movement unless the caret is already at the edge we're moving toward.
198
+ if ((key === previousKey && !atStart) || (key === nextKey && !atEnd)) {
199
+ event.stopImmediatePropagation();
200
+ }
65
201
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: RdxToolbarRootDirective, isStandalone: true, selector: "[rdxToolbarRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "toolbar" }, properties: { "attr.aria-orientation": "orientation()" } }, providers: [provideRootContext()], hostDirectives: [{ directive: i1.RdxRovingFocusGroupDirective, inputs: ["dir", "dir", "orientation", "orientation", "loop", "loop"] }], ngImport: i0 }); }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
203
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxToolbarInput, isStandalone: true, selector: "input[rdxToolbarInput]", inputs: { defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, focusableWhenDisabled: { classPropertyName: "focusableWhenDisabled", publicName: "focusableWhenDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-orientation": "rootContext.orientation()", "attr.data-disabled": "isDisabled() ? \"\" : undefined", "attr.data-focusable": "focusableWhenDisabled() ? \"\" : undefined", "attr.aria-disabled": "isDisabled() ? \"true\" : undefined", "disabled": "isDisabled() && !focusableWhenDisabled()" } }, exportAs: ["rdxToolbarInput"], hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective }], ngImport: i0 }); }
68
204
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarRootDirective, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarInput, decorators: [{
70
206
  type: Directive,
71
207
  args: [{
72
- selector: '[rdxToolbarRoot]',
73
- hostDirectives: [{ directive: RdxRovingFocusGroupDirective, inputs: ['dir', 'orientation', 'loop'] }],
74
- providers: [provideRootContext()],
208
+ selector: 'input[rdxToolbarInput]',
209
+ exportAs: 'rdxToolbarInput',
210
+ hostDirectives: [RdxRovingFocusItemDirective],
75
211
  host: {
76
- role: 'toolbar',
77
- '[attr.aria-orientation]': 'orientation()'
212
+ '[attr.data-orientation]': 'rootContext.orientation()',
213
+ '[attr.data-disabled]': 'isDisabled() ? "" : undefined',
214
+ '[attr.data-focusable]': 'focusableWhenDisabled() ? "" : undefined',
215
+ '[attr.aria-disabled]': 'isDisabled() ? "true" : undefined',
216
+ '[disabled]': 'isDisabled() && !focusableWhenDisabled()'
78
217
  }
79
218
  }]
80
- }] });
219
+ }], ctorParameters: () => [], propDecorators: { defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], focusableWhenDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusableWhenDisabled", required: false }] }] } });
81
220
 
82
- class RdxToolbarSeparatorDirective {
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
84
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: RdxToolbarSeparatorDirective, isStandalone: true, selector: "[rdxToolbarSeparator]", hostDirectives: [{ directive: i1$1.RdxSeparatorRootDirective, inputs: ["orientation", "orientation", "decorative", "decorative"] }], ngImport: i0 }); }
221
+ /**
222
+ * A link within a toolbar.
223
+ *
224
+ * @see https://base-ui.com/react/components/toolbar
225
+ */
226
+ class RdxToolbarLink {
227
+ constructor() {
228
+ this.rootContext = injectToolbarRootContext();
229
+ }
230
+ /** @ignore Space activates a link, matching native button behavior in a toolbar. */
231
+ onKeyDown(event) {
232
+ if (event.key === ' ') {
233
+ event.preventDefault();
234
+ event.currentTarget?.click();
235
+ }
236
+ }
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarLink, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
238
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: RdxToolbarLink, isStandalone: true, selector: "[rdxToolbarLink]", host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-orientation": "rootContext.orientation()" } }, exportAs: ["rdxToolbarLink"], hostDirectives: [{ directive: i1.RdxRovingFocusItemDirective }], ngImport: i0 }); }
85
239
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarSeparatorDirective, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarLink, decorators: [{
87
241
  type: Directive,
88
242
  args: [{
89
- selector: '[rdxToolbarSeparator]',
90
- hostDirectives: [{ directive: RdxSeparatorRootDirective, inputs: ['orientation', 'decorative'] }]
243
+ selector: '[rdxToolbarLink]',
244
+ exportAs: 'rdxToolbarLink',
245
+ hostDirectives: [RdxRovingFocusItemDirective],
246
+ host: {
247
+ '[attr.data-orientation]': 'rootContext.orientation()',
248
+ '(keydown)': 'onKeyDown($event)'
249
+ }
91
250
  }]
92
251
  }] });
93
252
 
94
- // TODO: set rovingFocus - false
95
- class RdxToolbarToggleGroupDirective {
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarToggleGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: RdxToolbarToggleGroupDirective, isStandalone: true, selector: "[rdxToolbarToggleGroup]", hostDirectives: [{ directive: i1$2.RdxToggleGroupWithoutFocusDirective, inputs: ["value", "value", "type", "type", "disabled", "disabled"] }], ngImport: i0 }); }
253
+ const rootContext = () => {
254
+ const root = inject(RdxToolbarRoot);
255
+ return {
256
+ orientation: root.orientation,
257
+ disabled: root.disabled
258
+ };
259
+ };
260
+ /**
261
+ * A container for grouping a set of controls, such as buttons, toggle groups or menus.
262
+ * Owns roving keyboard focus over its items.
263
+ *
264
+ * @see https://base-ui.com/react/components/toolbar
265
+ */
266
+ class RdxToolbarRoot {
267
+ constructor() {
268
+ /**
269
+ * The orientation of the toolbar.
270
+ *
271
+ * @default 'horizontal'
272
+ */
273
+ this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
274
+ /** Text direction for arrow-key navigation. */
275
+ this.dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : /* istanbul ignore next */ []));
276
+ /**
277
+ * Whether keyboard navigation should loop from the last item back to the first.
278
+ *
279
+ * @default true
280
+ */
281
+ this.loopFocus = input(true, { ...(ngDevMode ? { debugName: "loopFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
282
+ /**
283
+ * Whether the whole toolbar is disabled.
284
+ *
285
+ * @default false
286
+ */
287
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
288
+ this.rovingFocusGroup = inject(RdxRovingFocusGroupDirective, { self: true });
289
+ effect(() => {
290
+ this.rovingFocusGroup.setOrientation(this.orientation());
291
+ this.rovingFocusGroup.setDir(this.dir());
292
+ this.rovingFocusGroup.setLoop(this.loopFocus());
293
+ });
294
+ }
295
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
296
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: RdxToolbarRoot, isStandalone: true, selector: "[rdxToolbarRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, loopFocus: { classPropertyName: "loopFocus", publicName: "loopFocus", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "toolbar" }, properties: { "attr.aria-orientation": "orientation()", "attr.data-orientation": "orientation()", "attr.data-disabled": "disabled() ? \"\" : undefined" } }, providers: [provideToolbarRootContext(rootContext)], exportAs: ["rdxToolbarRoot"], hostDirectives: [{ directive: i1.RdxRovingFocusGroupDirective }], ngImport: i0 }); }
98
297
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarToggleGroupDirective, decorators: [{
298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarRoot, decorators: [{
100
299
  type: Directive,
101
300
  args: [{
102
- selector: '[rdxToolbarToggleGroup]',
103
- hostDirectives: [{ directive: RdxToggleGroupWithoutFocusDirective, inputs: ['value', 'type', 'disabled'] }]
301
+ selector: '[rdxToolbarRoot]',
302
+ exportAs: 'rdxToolbarRoot',
303
+ hostDirectives: [RdxRovingFocusGroupDirective],
304
+ providers: [provideToolbarRootContext(rootContext)],
305
+ host: {
306
+ role: 'toolbar',
307
+ '[attr.aria-orientation]': 'orientation()',
308
+ '[attr.data-orientation]': 'orientation()',
309
+ '[attr.data-disabled]': 'disabled() ? "" : undefined'
310
+ }
104
311
  }]
105
- }] });
312
+ }], ctorParameters: () => [], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], loopFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "loopFocus", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
106
313
 
107
- class RdxToolbarToggleItemDirective {
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarToggleItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: RdxToolbarToggleItemDirective, isStandalone: true, selector: "[rdxToolbarToggleItem]", hostDirectives: [{ directive: i1$2.RdxToggleGroupItemDirective, inputs: ["value", "value", "disabled", "disabled"] }], ngImport: i0 }); }
314
+ /**
315
+ * A separator between toolbar items or groups.
316
+ *
317
+ * @see https://base-ui.com/react/components/toolbar
318
+ */
319
+ class RdxToolbarSeparator {
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
321
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: RdxToolbarSeparator, isStandalone: true, selector: "[rdxToolbarSeparator]", exportAs: ["rdxToolbarSeparator"], hostDirectives: [{ directive: i1$1.RdxSeparatorRootDirective, inputs: ["orientation", "orientation"] }], ngImport: i0 }); }
110
322
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarToggleItemDirective, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarSeparator, decorators: [{
112
324
  type: Directive,
113
325
  args: [{
114
- selector: '[rdxToolbarToggleItem]',
115
- hostDirectives: [{ directive: RdxToggleGroupItemDirective, inputs: ['value', 'disabled'] }]
326
+ selector: '[rdxToolbarSeparator]',
327
+ exportAs: 'rdxToolbarSeparator',
328
+ hostDirectives: [{ directive: RdxSeparatorRootDirective, inputs: ['orientation'] }]
116
329
  }]
117
330
  }] });
118
331
 
119
- const _imports = [
120
- RdxToolbarRootDirective,
121
- RdxToolbarButtonDirective,
122
- RdxToolbarLinkDirective,
123
- RdxToolbarToggleGroupDirective,
124
- RdxToolbarToggleItemDirective,
125
- RdxToolbarSeparatorDirective
332
+ const toolbarImports = [
333
+ RdxToolbarRoot,
334
+ RdxToolbarButton,
335
+ RdxToolbarLink,
336
+ RdxToolbarInput,
337
+ RdxToolbarGroup,
338
+ RdxToolbarSeparator
126
339
  ];
127
340
  class RdxToolbarModule {
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
129
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarModule, imports: [RdxToolbarRootDirective,
130
- RdxToolbarButtonDirective,
131
- RdxToolbarLinkDirective,
132
- RdxToolbarToggleGroupDirective,
133
- RdxToolbarToggleItemDirective,
134
- RdxToolbarSeparatorDirective], exports: [RdxToolbarRootDirective,
135
- RdxToolbarButtonDirective,
136
- RdxToolbarLinkDirective,
137
- RdxToolbarToggleGroupDirective,
138
- RdxToolbarToggleItemDirective,
139
- RdxToolbarSeparatorDirective] }); }
140
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarModule }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
342
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarModule, imports: [RdxToolbarRoot,
343
+ RdxToolbarButton,
344
+ RdxToolbarLink,
345
+ RdxToolbarInput,
346
+ RdxToolbarGroup,
347
+ RdxToolbarSeparator], exports: [RdxToolbarRoot,
348
+ RdxToolbarButton,
349
+ RdxToolbarLink,
350
+ RdxToolbarInput,
351
+ RdxToolbarGroup,
352
+ RdxToolbarSeparator] }); }
353
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarModule }); }
141
354
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxToolbarModule, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RdxToolbarModule, decorators: [{
143
356
  type: NgModule,
144
357
  args: [{
145
- imports: [..._imports],
146
- exports: [..._imports]
358
+ imports: [...toolbarImports],
359
+ exports: [...toolbarImports]
147
360
  }]
148
361
  }] });
149
362
 
@@ -151,5 +364,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
151
364
  * Generated bundle index. Do not edit.
152
365
  */
153
366
 
154
- export { RDX_TOOLBAR_ROOT_TOKEN, RdxToolbarButtonDirective, RdxToolbarLinkDirective, RdxToolbarModule, RdxToolbarRootDirective, RdxToolbarSeparatorDirective, RdxToolbarToggleGroupDirective, RdxToolbarToggleItemDirective, injectRootContext, provideRootContext };
367
+ export { RdxToolbarButton, RdxToolbarGroup, RdxToolbarInput, RdxToolbarLink, RdxToolbarModule, RdxToolbarRoot, RdxToolbarSeparator, injectToolbarGroupContext, injectToolbarRootContext, provideToolbarGroupContext, provideToolbarRootContext, toolbarImports };
155
368
  //# sourceMappingURL=radix-ng-primitives-toolbar.mjs.map