@radix-ng/primitives 0.51.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 (178) hide show
  1. package/fesm2022/radix-ng-primitives-accordion.mjs +105 -38
  2. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +221 -129
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +20 -4
  6. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-avatar.mjs +54 -61
  9. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-button.mjs +123 -0
  11. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
  12. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
  14. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
  16. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
  18. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-core.mjs +735 -744
  23. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-cropper.mjs +1 -0
  25. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-date-field.mjs +51 -45
  27. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
  29. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
  31. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
  33. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  34. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  35. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  36. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  37. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  38. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
  40. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  42. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  43. package/fesm2022/radix-ng-primitives-label.mjs +6 -6
  44. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-menu.mjs +1480 -344
  46. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  48. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  50. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  51. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
  52. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
  54. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
  57. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-popper.mjs +91 -41
  59. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
  61. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  63. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  65. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  66. package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
  67. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
  69. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
  71. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-select.mjs +791 -509
  73. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
  75. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  76. package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
  77. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
  79. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
  81. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-tabs.mjs +381 -108
  83. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
  85. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
  87. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
  89. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
  91. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1071
  93. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
  95. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  96. package/meter/README.md +3 -0
  97. package/navigation-menu/README.md +2 -1
  98. package/package.json +31 -18
  99. package/portal/README.md +2 -0
  100. package/preview-card/README.md +3 -0
  101. package/schematics/collection.json +1 -0
  102. package/schematics/ng-add/index.d.ts +3 -2
  103. package/schematics/ng-add/index.js +62 -31
  104. package/schematics/ng-add/index.js.map +1 -1
  105. package/schematics/ng-add/package-config.d.ts +4 -2
  106. package/schematics/ng-add/package-config.js +10 -2
  107. package/schematics/ng-add/package-config.js.map +1 -1
  108. package/schematics/ng-add/schema.d.ts +3 -0
  109. package/schematics/ng-add/schema.js +3 -0
  110. package/schematics/ng-add/schema.js.map +1 -0
  111. package/schematics/ng-add/schema.json +14 -0
  112. package/select/README.md +2 -0
  113. package/types/radix-ng-primitives-accordion.d.ts +48 -14
  114. package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
  115. package/types/radix-ng-primitives-arrow.d.ts +1 -1
  116. package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
  117. package/types/radix-ng-primitives-avatar.d.ts +7 -11
  118. package/types/radix-ng-primitives-button.d.ts +73 -0
  119. package/types/radix-ng-primitives-calendar.d.ts +1 -2
  120. package/types/radix-ng-primitives-checkbox.d.ts +201 -32
  121. package/types/radix-ng-primitives-collapsible.d.ts +112 -39
  122. package/types/radix-ng-primitives-collection.d.ts +38 -34
  123. package/types/radix-ng-primitives-config.d.ts +1 -1
  124. package/types/radix-ng-primitives-context-menu.d.ts +60 -116
  125. package/types/radix-ng-primitives-core.d.ts +307 -236
  126. package/types/radix-ng-primitives-cropper.d.ts +2 -2
  127. package/types/radix-ng-primitives-date-field.d.ts +38 -23
  128. package/types/radix-ng-primitives-dialog.d.ts +282 -165
  129. package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
  130. package/types/radix-ng-primitives-drawer.d.ts +448 -0
  131. package/types/radix-ng-primitives-editable.d.ts +1 -1
  132. package/types/radix-ng-primitives-field.d.ts +373 -0
  133. package/types/radix-ng-primitives-fieldset.d.ts +48 -0
  134. package/types/radix-ng-primitives-focus-scope.d.ts +13 -5
  135. package/types/radix-ng-primitives-input.d.ts +87 -0
  136. package/types/radix-ng-primitives-label.d.ts +0 -1
  137. package/types/radix-ng-primitives-menu.d.ts +572 -99
  138. package/types/radix-ng-primitives-menubar.d.ts +60 -50
  139. package/types/radix-ng-primitives-meter.d.ts +193 -0
  140. package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
  141. package/types/radix-ng-primitives-number-field.d.ts +405 -145
  142. package/types/radix-ng-primitives-pagination.d.ts +2 -2
  143. package/types/radix-ng-primitives-popover.d.ts +365 -351
  144. package/types/radix-ng-primitives-popper.d.ts +49 -9
  145. package/types/radix-ng-primitives-portal.d.ts +14 -6
  146. package/types/radix-ng-primitives-presence.d.ts +28 -76
  147. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  148. package/types/radix-ng-primitives-progress.d.ts +174 -48
  149. package/types/radix-ng-primitives-radio.d.ts +55 -25
  150. package/types/radix-ng-primitives-roving-focus.d.ts +30 -21
  151. package/types/radix-ng-primitives-select.d.ts +475 -177
  152. package/types/radix-ng-primitives-separator.d.ts +7 -32
  153. package/types/radix-ng-primitives-slider.d.ts +315 -201
  154. package/types/radix-ng-primitives-stepper.d.ts +5 -7
  155. package/types/radix-ng-primitives-switch.d.ts +86 -71
  156. package/types/radix-ng-primitives-tabs.d.ts +213 -79
  157. package/types/radix-ng-primitives-time-field.d.ts +42 -27
  158. package/types/radix-ng-primitives-toggle-group.d.ts +85 -164
  159. package/types/radix-ng-primitives-toggle.d.ts +43 -53
  160. package/types/radix-ng-primitives-toolbar.d.ts +163 -38
  161. package/types/radix-ng-primitives-tooltip.d.ts +347 -384
  162. package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
  163. package/dropdown-menu/README.md +0 -1
  164. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
  165. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  166. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
  167. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  168. package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
  169. package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
  170. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
  171. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  172. package/hover-card/README.md +0 -3
  173. package/select2/README.md +0 -3
  174. package/tooltip2/README.md +0 -3
  175. package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
  176. package/types/radix-ng-primitives-hover-card.d.ts +0 -471
  177. package/types/radix-ng-primitives-select2.d.ts +0 -511
  178. package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
@@ -1,263 +1,377 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, OnDestroy } from '@angular/core';
3
- import { NumberInput, BooleanInput } from '@angular/cdk/coercion';
2
+ import { Signal } from '@angular/core';
3
+ import * as i1 from '@radix-ng/primitives/core';
4
+ import { RdxControlValueAccessor, NumberInput, BooleanInput } from '@radix-ng/primitives/core';
5
+ export { clamp } from '@radix-ng/primitives/core';
6
+ import * as _radix_ng_primitives_slider from '@radix-ng/primitives/slider';
4
7
 
5
- interface OrientationContext {
6
- startEdge: string;
7
- endEdge: string;
8
- direction: number;
9
- size: string;
8
+ type SliderOrientation = 'horizontal' | 'vertical';
9
+ type ThumbCollisionBehavior = 'push' | 'swap' | 'none';
10
+ /** Ascending comparator. */
11
+ declare function asc(a: number, b: number): number;
12
+ /** Maps a value within `[min, max]` to a 0–100 percentage. */
13
+ declare function valueToPercent(value: number, min: number, max: number): number;
14
+ /** Replaces the item at `index` then re-sorts the array ascending. */
15
+ declare function replaceArrayItemAtIndex(array: readonly number[], index: number, newValue: number): number[];
16
+ /** The center point of an element in client coordinates. */
17
+ declare function getMidpoint(element: Element): {
18
+ x: number;
19
+ y: number;
20
+ };
21
+ /** Converts an array of values into clamped 0–100 percentages. */
22
+ declare function valueArrayToPercentages(values: readonly number[], min: number, max: number): number[];
23
+ /** Number of decimal places in `num`, handling exponential notation for tiny values. */
24
+ declare function getDecimalPrecision(num: number): number;
25
+ /** Snaps `value` to the nearest step, using `min` as the origin of the step grid. */
26
+ declare function roundValueToStep(value: number, step: number, min: number): number;
27
+ /**
28
+ * Resolves the value(s) for the keyboard / hidden-input path: clamps to the
29
+ * bounds, and for range sliders also clamps to neighbouring thumbs and re-sorts.
30
+ * Returns a `number` for single sliders and a sorted `number[]` for range sliders.
31
+ */
32
+ declare function getSliderValue(valueInput: number, index: number, min: number, max: number, range: boolean, values: readonly number[]): number | number[];
33
+ /** Returns `false` if any adjacent pair of values is closer than the minimum distance. */
34
+ declare function validateMinimumDistance(values: number | number[], step: number, minStepsBetweenValues: number): boolean;
35
+ /** Keyboard step helper: increments/decrements `thumbValue` and clamps to bounds. */
36
+ declare function getNewValue(thumbValue: number, increment: number, direction: 1 | -1, min: number, max: number): number;
37
+ interface GetPushedThumbValuesParams {
38
+ values: readonly number[];
39
+ index: number;
40
+ nextValue: number;
41
+ min: number;
42
+ max: number;
43
+ step: number;
44
+ minStepsBetweenValues: number;
45
+ initialValues?: readonly number[];
46
+ }
47
+ /**
48
+ * The "push" collision algorithm: moves the pressed thumb and pushes its
49
+ * neighbours only as far as needed, letting them spring back toward their
50
+ * initial positions as the pressed thumb retreats.
51
+ */
52
+ declare function getPushedThumbValues(params: GetPushedThumbValuesParams): number[];
53
+ interface ResolveThumbCollisionParams {
54
+ behavior: ThumbCollisionBehavior;
55
+ values: readonly number[];
56
+ currentValues?: readonly number[];
57
+ initialValues?: readonly number[] | null;
58
+ pressedIndex: number;
59
+ nextValue: number;
60
+ min: number;
61
+ max: number;
62
+ step: number;
63
+ minStepsBetweenValues: number;
10
64
  }
11
- declare class RdxSliderOrientationContextService {
12
- private contextSignal;
13
- get context(): OrientationContext;
14
- updateContext(context: Partial<OrientationContext>): void;
15
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderOrientationContextService, never>;
16
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<RdxSliderOrientationContextService>;
65
+ interface ResolveThumbCollisionResult {
66
+ value: number | number[];
67
+ thumbIndex: number;
68
+ didSwap: boolean;
17
69
  }
70
+ /** Dispatches the pressed thumb's new value through the configured collision behavior. */
71
+ declare function resolveThumbCollision(params: ResolveThumbCollisionParams): ResolveThumbCollisionResult;
72
+ /**
73
+ * Border + padding on the leading/trailing edge of the control along the active
74
+ * axis. Uses physical longhands (`left`/`right`/`top`/`bottom`) rather than
75
+ * logical ones (`inline-start`/…) because `getComputedStyle` resolves the
76
+ * physical properties in every browser, whereas logical longhands return an
77
+ * empty string in some engines.
78
+ */
79
+ declare function getControlOffset(styles: CSSStyleDeclaration | null, vertical: boolean, rtl: boolean): {
80
+ start: number;
81
+ end: number;
82
+ };
83
+ /** Formats a number with a cached `Intl.NumberFormat` instance. */
84
+ declare function formatNumber(value: number | null | undefined, locale: string | undefined, options: Intl.NumberFormatOptions | undefined): string;
85
+ /** Default `aria-valuetext` for a two-thumb range, or a formatted value when `format` is set. */
86
+ declare function getDefaultAriaValueText(values: readonly number[], index: number, format: Intl.NumberFormatOptions | undefined, locale: string | undefined): string | undefined;
87
+ declare const ARROW_KEYS: string[];
88
+ declare const COMPOSITE_KEYS: Set<string>;
89
+ declare const ALL_KEYS: Set<string>;
90
+ declare function areValuesEqual(a: number | number[], b: number | number[]): boolean;
18
91
 
92
+ type SliderValue = number | number[];
93
+ /** Minimal shape a thumb registers with the root, used for hit-testing and focus. */
94
+ interface RdxSliderThumbRef {
95
+ /** The thumb wrapper element. */
96
+ readonly element: HTMLElement;
97
+ /** The nested `input[type=range]`, registered once it is initialised. */
98
+ inputElement: HTMLInputElement | null;
99
+ /** Whether this thumb is disabled (own state OR root disabled). */
100
+ readonly disabled: Signal<boolean>;
101
+ }
19
102
  /**
20
- * @group Components
103
+ * Groups all parts of the slider and owns its state, value-change logic and
104
+ * thumb registration. A single directive drives both orientations — there are no
105
+ * separate horizontal/vertical components.
106
+ *
107
+ * @see https://base-ui.com/react/components/slider
21
108
  */
22
- declare class RdxSliderRootComponent implements OnInit {
109
+ declare class RdxSliderRoot {
23
110
  /** @ignore */
24
- readonly orientationContext: RdxSliderOrientationContextService;
111
+ protected readonly cva: RdxControlValueAccessor<SliderValue>;
112
+ readonly id: _angular_core.InputSignal<string>;
25
113
  /**
26
- * The minimum value for the range.
27
- *
28
- * @group Props
29
- * @defaultValue 0
114
+ * The minimum value of the slider.
115
+ * @default 0
30
116
  */
31
117
  readonly min: _angular_core.InputSignalWithTransform<number, NumberInput>;
32
118
  /**
33
- * The maximum value for the range.
34
- *
35
- * @group Props
36
- * @defaultValue 100
119
+ * The maximum value of the slider.
120
+ * @default 100
37
121
  */
38
122
  readonly max: _angular_core.InputSignalWithTransform<number, NumberInput>;
39
123
  /**
40
- * The stepping interval.
41
- *
42
- * @group Props
43
- * @defaultValue 1
124
+ * The granularity with which the value can change through user interaction.
125
+ * @default 1
44
126
  */
45
127
  readonly step: _angular_core.InputSignalWithTransform<number, NumberInput>;
46
128
  /**
47
- * The minimum permitted steps between multiple thumbs.
48
- *
49
- * @group Props
50
- * @defaultValue 0
129
+ * The granularity with which the value changes on Page Up / Page Down keys and Shift + Arrow keys.
130
+ * @default 10
51
131
  */
52
- readonly minStepsBetweenThumbs: _angular_core.InputSignalWithTransform<number, NumberInput>;
132
+ readonly largeStep: _angular_core.InputSignalWithTransform<number, NumberInput>;
53
133
  /**
54
- * The orientation of the slider.
55
- *
56
- * @group Props
57
- * @defaultValue 'horizontal'
58
- */
59
- readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
60
- /**
61
- * When true, prevents the user from interacting with the slider.
62
- *
63
- * @group Props
64
- * @defaultValue false
134
+ * The minimum number of steps that must separate two thumbs in a range slider.
135
+ * @default 0
65
136
  */
66
- readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
137
+ readonly minStepsBetweenValues: _angular_core.InputSignalWithTransform<number, NumberInput>;
67
138
  /**
68
- * Whether the slider is visually inverted.
69
- *
70
- * @group Props
71
- * @defaultValue false
139
+ * The orientation of the slider.
140
+ * @default 'horizontal'
72
141
  */
73
- readonly inverted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
142
+ readonly orientation: _angular_core.InputSignal<SliderOrientation>;
74
143
  /**
75
- * The reading direction of the combobox when applicable.
76
- *
77
- * @group Props
78
- * @defaultValue 'ltr'
144
+ * The reading direction. Mirrors the horizontal axis when set to `'rtl'`.
145
+ * @default 'ltr'
79
146
  */
80
147
  readonly dir: _angular_core.InputSignal<"ltr" | "rtl">;
81
- className: string;
82
- /**
83
- * Style class of the component.
84
- *
85
- * @group Props
86
- */
87
- readonly styleClass: _angular_core.InputSignal<string | undefined>;
88
- /**
89
- * The controlled value of the slider.
90
- *
91
- * @group Props
92
- */
93
- readonly modelValue: _angular_core.ModelSignal<number[]>;
94
148
  /**
95
- * Event handler called when the slider value changes.
96
- *
97
- * @group Emits
149
+ * How thumbs behave when they meet in a range slider.
150
+ * @default 'push'
98
151
  */
99
- readonly valueChange: _angular_core.OutputEmitterRef<number[]>;
152
+ readonly thumbCollisionBehavior: _angular_core.InputSignal<ThumbCollisionBehavior>;
153
+ /** Options forwarded to `Intl.NumberFormat` when displaying and announcing values. */
154
+ readonly format: _angular_core.InputSignal<Intl.NumberFormatOptions | undefined>;
155
+ /** Locale used for value formatting. */
156
+ readonly locale: _angular_core.InputSignal<string | undefined>;
157
+ /** Name of the hidden inputs rendered by each thumb, for form submission. */
158
+ readonly name: _angular_core.InputSignal<string | undefined>;
159
+ /** Id of the form the slider belongs to. */
160
+ readonly form: _angular_core.InputSignal<string | undefined>;
100
161
  /**
101
- * Event handler called when the value changes at the end of an interaction.
102
- *
103
- * Useful when you only need to capture a final value e.g. to update a backend service.
104
- *
105
- * @group Emits
162
+ * When `true`, the user cannot interact with the slider.
163
+ * @default false
106
164
  */
107
- readonly valueCommit: _angular_core.OutputEmitterRef<number[]>;
165
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
166
+ /** The uncontrolled value of the slider when it is initially rendered. */
167
+ readonly defaultValue: _angular_core.InputSignal<SliderValue | undefined>;
168
+ /** The controlled value of the slider. Use with `(onValueChange)` or two-way `[(value)]`. */
169
+ readonly value: _angular_core.ModelSignal<SliderValue | undefined>;
170
+ readonly ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
171
+ /** Emitted when the value changes (during interaction). */
172
+ readonly onValueChange: _angular_core.OutputEmitterRef<SliderValue>;
173
+ /** Emitted when interaction ends, with the final value — useful for committing to a backend. */
174
+ readonly onValueCommitted: _angular_core.OutputEmitterRef<SliderValue>;
108
175
  /** @ignore */
109
- readonly valueIndexToChange: _angular_core.ModelSignal<number>;
176
+ readonly controlRef: _angular_core.WritableSignal<HTMLElement | null>;
177
+ /** @ignore Active thumb index (-1 when none). */
178
+ readonly active: _angular_core.WritableSignal<number>;
179
+ /** @ignore Last thumb index that was focused/used, drives z-index stacking. */
180
+ readonly lastUsedThumbIndex: _angular_core.WritableSignal<number>;
181
+ /** @ignore Whether a pointer drag is in progress. */
182
+ readonly dragging: _angular_core.WritableSignal<boolean>;
183
+ /** @ignore Pointer-drag scratch state (not reactive). */
184
+ pressedThumbIndex: number;
110
185
  /** @ignore */
111
- readonly valuesBeforeSlideStart: _angular_core.ModelSignal<number[]>;
186
+ pressedThumbCenterOffset: number | null;
112
187
  /** @ignore */
113
- readonly isSlidingFromLeft: _angular_core.Signal<boolean>;
188
+ pressedInput: HTMLInputElement | null;
189
+ /** @ignore Snapshot of values at drag start, the baseline for push/swap. */
190
+ pressedValues: number[] | null;
114
191
  /** @ignore */
115
- readonly isSlidingFromBottom: _angular_core.Signal<boolean>;
192
+ lastChangeReason: string;
116
193
  /** @ignore */
117
- thumbElements: HTMLElement[];
194
+ readonly isDisabled: Signal<boolean>;
195
+ /** @ignore The current value source (controlled value, else default, else min). */
196
+ private readonly currentRaw;
197
+ /** Whether the slider has multiple thumbs (the value is an array). */
198
+ readonly range: Signal<boolean>;
199
+ /** The clamped values rendered to the user, sorted ascending for range sliders. */
200
+ readonly values: Signal<number[]>;
201
+ private readonly thumbs;
202
+ /** Registered thumbs in DOM order. */
203
+ readonly thumbList: Signal<RdxSliderThumbRef[]>;
118
204
  /** @ignore */
119
- ngOnInit(): void;
205
+ registerThumb(thumb: RdxSliderThumbRef): void;
120
206
  /** @ignore */
121
- onPointerDown(): void;
207
+ unregisterThumb(thumb: RdxSliderThumbRef): void;
122
208
  /** @ignore */
123
- handleSlideStart(value: number): void;
209
+ thumbIndexOf(thumb: RdxSliderThumbRef): number;
124
210
  /** @ignore */
125
- handleSlideMove(value: number): void;
211
+ setActive(index: number): void;
126
212
  /** @ignore */
127
- handleSlideEnd(): void;
213
+ focusThumb(index: number): void;
128
214
  /** @ignore */
129
- handleStepKeyDown(event: {
130
- event: KeyboardEvent;
131
- direction: number;
132
- }): void;
215
+ formatValue(value: number): string;
216
+ /** @ignore Output value matching the original value shape (number vs array). */
217
+ private outputValue;
218
+ /**
219
+ * @ignore
220
+ * Applies a new full set of values, preserving the single/range value shape.
221
+ * Returns `false` when the value did not change.
222
+ */
223
+ setValue(nextValues: number[], reason: string): boolean;
224
+ /** @ignore Keyboard / native input path: clamps to neighbours, commits immediately. */
225
+ handleInputChange(valueInput: number, index: number, reason?: string): void;
226
+ /** @ignore Emits the committed value at the end of a pointer drag. */
227
+ commitValue(): void;
133
228
  /** @ignore */
134
- updateValues(value: number, atIndex: number, commit?: boolean): void;
135
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderRootComponent, never>;
136
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderRootComponent, "rdx-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "minStepsBetweenThumbs": { "alias": "minStepsBetweenThumbs"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; "valueIndexToChange": { "alias": "valueIndexToChange"; "required": false; "isSignal": true; }; "valuesBeforeSlideStart": { "alias": "valuesBeforeSlideStart"; "required": false; "isSignal": true; }; }, { "modelValue": "modelValueChange"; "valueChange": "valueChange"; "valueCommit": "valueCommit"; "valueIndexToChange": "valueIndexToChangeChange"; "valuesBeforeSlideStart": "valuesBeforeSlideStartChange"; }, never, ["*"], true, never>;
229
+ markAsTouched(): void;
230
+ /** @ignore */
231
+ setDragging(dragging: boolean): void;
232
+ /** @ignore */
233
+ resetPressedThumb(): void;
234
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderRoot, never>;
235
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderRoot, "div[rdxSliderRoot]", ["rdxSliderRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "largeStep": { "alias": "largeStep"; "required": false; "isSignal": true; }; "minStepsBetweenValues": { "alias": "minStepsBetweenValues"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "thumbCollisionBehavior": { "alias": "thumbCollisionBehavior"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; "onValueCommitted": "onValueCommitted"; }, never, never, true, [{ directive: typeof i1.RdxControlValueAccessor; inputs: { "value": "value"; "disabled": "disabled"; }; outputs: {}; }]>;
137
236
  }
138
237
 
139
- declare class RdxSliderTrackComponent {
140
- protected readonly rootContext: RdxSliderRootComponent;
141
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderTrackComponent, never>;
142
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderTrackComponent, "rdx-slider-track", never, {}, {}, never, ["*"], true, never>;
238
+ /**
239
+ * The interactive area of the slider. Handles pointer presses and drags on the
240
+ * track, mapping pointer position to a value and moving the closest thumb.
241
+ *
242
+ * @see https://base-ui.com/react/components/slider
243
+ */
244
+ declare class RdxSliderControl {
245
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
246
+ private readonly elementRef;
247
+ private readonly document;
248
+ private styles;
249
+ private moveCount;
250
+ private currentInteractionValue;
251
+ private readonly onMove;
252
+ private readonly onUp;
253
+ private readonly onCancel;
254
+ constructor();
255
+ protected onPointerDown(event: PointerEvent): void;
256
+ private handleMove;
257
+ private handleUp;
258
+ private stopListening;
259
+ private startPressing;
260
+ private setValueFromPointer;
261
+ /** Projects a pointer position onto the track and resolves it to a value (+ collision). */
262
+ private getFingerState;
263
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderControl, never>;
264
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderControl, "div[rdxSliderControl]", ["rdxSliderControl"], {}, {}, never, never, true, never>;
143
265
  }
144
266
 
145
- declare class RdxSliderRangeComponent {
146
- protected readonly rootContext: RdxSliderRootComponent;
147
- percentages: _angular_core.Signal<number[]>;
148
- offsetStart: _angular_core.Signal<number>;
149
- offsetEnd: _angular_core.Signal<number>;
150
- rangeStyles: _angular_core.Signal<{
151
- [x: string]: string;
152
- }>;
153
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderRangeComponent, never>;
154
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderRangeComponent, "rdx-slider-range", never, {}, {}, never, ["*"], true, never>;
267
+ /**
268
+ * The track of the slider — the positioning context for the indicator and thumbs.
269
+ *
270
+ * @see https://base-ui.com/react/components/slider
271
+ */
272
+ declare class RdxSliderTrack {
273
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
274
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderTrack, never>;
275
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderTrack, "div[rdxSliderTrack]", ["rdxSliderTrack"], {}, {}, never, never, true, never>;
155
276
  }
156
277
 
157
- declare class RdxSliderThumbImplDirective implements OnInit, OnDestroy {
158
- protected readonly rootContext: RdxSliderRootComponent;
159
- private readonly elementRef;
160
- private readonly platformId;
161
- private resizeObserver;
162
- isMounted: _angular_core.WritableSignal<boolean>;
163
- thumbIndex: _angular_core.Signal<number | null>;
164
- value: _angular_core.Signal<number | undefined>;
165
- percent: _angular_core.Signal<number>;
166
- transform: _angular_core.Signal<string>;
167
- orientationSize: _angular_core.WritableSignal<number>;
168
- thumbInBoundsOffset: _angular_core.Signal<number>;
169
- combinedStyles: _angular_core.Signal<{
170
- [x: string]: string | undefined;
171
- position: string;
172
- transform: string;
173
- display: string | undefined;
174
- }>;
175
- onFocus(): void;
176
- ngOnInit(): void;
177
- ngOnDestroy(): void;
178
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderThumbImplDirective, never>;
179
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderThumbImplDirective, "[rdxSliderThumbImpl]", never, {}, {}, never, never, true, never>;
278
+ /**
279
+ * Visualises the portion of the track between the slider's minimum (or the first
280
+ * thumb in a range) and the active value.
281
+ *
282
+ * @see https://base-ui.com/react/components/slider
283
+ */
284
+ declare class RdxSliderIndicator {
285
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
286
+ protected readonly indicatorStyle: _angular_core.Signal<Record<string, string | number>>;
287
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderIndicator, never>;
288
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderIndicator, "div[rdxSliderIndicator]", ["rdxSliderIndicator"], {}, {}, never, never, true, never>;
180
289
  }
181
290
 
182
- declare class RdxSliderThumbComponent {
183
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderThumbComponent, never>;
184
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderThumbComponent, "rdx-slider-thumb", never, {}, {}, never, ["*"], true, [{ directive: typeof RdxSliderThumbImplDirective; inputs: {}; outputs: {}; }]>;
291
+ /**
292
+ * A draggable handle. Render one per value; place an `input[rdxSliderThumbInput]`
293
+ * inside it for keyboard, accessibility and form submission.
294
+ *
295
+ * @see https://base-ui.com/react/components/slider
296
+ */
297
+ declare class RdxSliderThumb implements RdxSliderThumbRef {
298
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
299
+ readonly element: HTMLElement;
300
+ /** The nested range input, set by `[rdxSliderThumbInput]`. */
301
+ inputElement: HTMLInputElement | null;
302
+ /** Explicit index for this thumb (required for SSR range sliders). */
303
+ readonly indexInput: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
304
+ /** Disables this individual thumb. */
305
+ readonly thumbDisabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
306
+ /** The position of this thumb among its siblings. */
307
+ readonly index: _angular_core.Signal<number>;
308
+ /** Whether this thumb is disabled (own state OR root disabled). */
309
+ readonly disabled: _angular_core.Signal<boolean>;
310
+ /** The value represented by this thumb. */
311
+ readonly value: _angular_core.Signal<number | undefined>;
312
+ private readonly percent;
313
+ protected readonly thumbStyle: _angular_core.Signal<Record<string, string | number>>;
314
+ constructor();
315
+ protected onPointerDown(event: PointerEvent): void;
316
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderThumb, never>;
317
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderThumb, "div[rdxSliderThumb]", ["rdxSliderThumb"], { "indexInput": { "alias": "index"; "required": false; "isSignal": true; }; "thumbDisabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
185
318
  }
186
319
 
187
- declare class RdxSliderHorizontalComponent {
188
- private readonly rootContext;
189
- dir: 'ltr' | 'rtl';
190
- readonly inverted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
191
- min: number;
192
- max: number;
193
- className: string;
194
- readonly slideStart: _angular_core.OutputEmitterRef<number>;
195
- readonly slideMove: _angular_core.OutputEmitterRef<number>;
196
- readonly slideEnd: _angular_core.OutputEmitterRef<void>;
197
- readonly stepKeyDown: _angular_core.OutputEmitterRef<{
198
- event: KeyboardEvent;
199
- direction: number;
200
- }>;
201
- readonly endKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
202
- readonly homeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
203
- private readonly sliderElement;
204
- private readonly rect;
205
- onSlideStart(event: PointerEvent): void;
206
- onSlideMove(event: PointerEvent): void;
207
- onSlideEnd(): void;
208
- onStepKeyDown(event: KeyboardEvent): void;
209
- private getValueFromPointer;
210
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderHorizontalComponent, never>;
211
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderHorizontalComponent, "rdx-slider-horizontal", never, { "dir": { "alias": "dir"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, { "slideStart": "slideStart"; "slideMove": "slideMove"; "slideEnd": "slideEnd"; "stepKeyDown": "stepKeyDown"; "endKeyDown": "endKeyDown"; "homeKeyDown": "homeKeyDown"; }, never, ["*"], true, never>;
320
+ /**
321
+ * The native `input[type=range]` nested inside a thumb. It is visually hidden but
322
+ * remains the focusable element that drives keyboard interaction, accessibility
323
+ * and form submission.
324
+ *
325
+ * @see https://base-ui.com/react/components/slider
326
+ */
327
+ declare class RdxSliderThumbInput {
328
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
329
+ protected readonly thumb: RdxSliderThumb;
330
+ private readonly element;
331
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
332
+ readonly ariaValueTextInput: _angular_core.InputSignal<string | undefined>;
333
+ protected readonly writingMode: _angular_core.Signal<"vertical-rl" | "vertical-lr" | undefined>;
334
+ protected readonly ariaLabelledBy: _angular_core.Signal<string | undefined>;
335
+ protected readonly valueText: _angular_core.Signal<string | undefined>;
336
+ constructor();
337
+ protected onChange(event: Event): void;
338
+ protected onFocus(): void;
339
+ protected onBlur(): void;
340
+ protected onKeyDown(event: KeyboardEvent): void;
341
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderThumbInput, never>;
342
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderThumbInput, "input[rdxSliderThumbInput]", ["rdxSliderThumbInput"], { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaValueTextInput": { "alias": "aria-valuetext"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
212
343
  }
213
344
 
214
- declare class RdxSliderImplDirective {
215
- protected readonly rootContext: RdxSliderRootComponent;
216
- readonly slideStart: _angular_core.OutputEmitterRef<PointerEvent>;
217
- readonly slideMove: _angular_core.OutputEmitterRef<PointerEvent>;
218
- readonly slideEnd: _angular_core.OutputEmitterRef<PointerEvent>;
219
- readonly homeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
220
- readonly endKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
221
- readonly stepKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
222
- onKeyDown(event: Event): void;
223
- onPointerDown(event: Event): void;
224
- onPointerMove(event: Event): void;
225
- onPointerUp(event: Event): void;
226
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderImplDirective, never>;
227
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderImplDirective, "[rdxSliderImpl]", never, {}, { "slideStart": "slideStart"; "slideMove": "slideMove"; "slideEnd": "slideEnd"; "homeKeyDown": "homeKeyDown"; "endKeyDown": "endKeyDown"; "stepKeyDown": "stepKeyDown"; }, never, never, true, never>;
345
+ /**
346
+ * Displays the slider's current value(s) as formatted text. Renders into an
347
+ * `output` element; the displayed value honours the root `format` and `locale`.
348
+ *
349
+ * @see https://base-ui.com/react/components/slider
350
+ */
351
+ declare class RdxSliderValue {
352
+ protected readonly root: _radix_ng_primitives_slider.RdxSliderRoot;
353
+ /** The separator placed between values of a range slider. */
354
+ readonly separator: _angular_core.InputSignal<string>;
355
+ protected readonly display: _angular_core.Signal<string>;
356
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderValue, never>;
357
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSliderValue, "output[rdxSliderValue]", ["rdxSliderValue"], { "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
228
358
  }
229
359
 
230
- declare class RdxSliderVerticalComponent {
231
- private readonly rootContext;
232
- dir: 'ltr' | 'rtl';
233
- readonly inverted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
234
- min: number;
235
- max: number;
236
- className: string;
237
- readonly slideStart: _angular_core.OutputEmitterRef<number>;
238
- readonly slideMove: _angular_core.OutputEmitterRef<number>;
239
- readonly slideEnd: _angular_core.OutputEmitterRef<void>;
240
- readonly stepKeyDown: _angular_core.OutputEmitterRef<{
241
- event: KeyboardEvent;
242
- direction: number;
243
- }>;
244
- readonly endKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
245
- readonly homeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
246
- private readonly sliderElement;
247
- private readonly rect;
248
- onSlideStart(event: PointerEvent): void;
249
- onSlideMove(event: PointerEvent): void;
250
- onSlideEnd(): void;
251
- onStepKeyDown(event: KeyboardEvent): void;
252
- private getValueFromPointer;
253
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderVerticalComponent, never>;
254
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RdxSliderVerticalComponent, "rdx-slider-vertical", never, { "dir": { "alias": "dir"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "className": { "alias": "className"; "required": false; }; }, { "slideStart": "slideStart"; "slideMove": "slideMove"; "slideEnd": "slideEnd"; "stepKeyDown": "stepKeyDown"; "endKeyDown": "endKeyDown"; "homeKeyDown": "homeKeyDown"; }, never, ["*"], true, never>;
255
- }
360
+ /**
361
+ * The Slider context exposes the root directive instance to every child part.
362
+ * The root owns all state, value-change logic and thumb registration; parts read
363
+ * signals and call methods off it.
364
+ *
365
+ * @see https://base-ui.com/react/components/slider
366
+ */
367
+ declare const injectSliderRootContext: (optional?: boolean) => RdxSliderRoot | null;
368
+ declare const provideSliderRootContext: (useFactory: () => RdxSliderRoot) => _angular_core.Provider;
256
369
 
257
370
  declare class RdxSliderModule {
258
371
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSliderModule, never>;
259
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxSliderModule, never, [typeof RdxSliderRootComponent, typeof RdxSliderTrackComponent, typeof RdxSliderRangeComponent, typeof RdxSliderThumbComponent], [typeof RdxSliderRootComponent, typeof RdxSliderTrackComponent, typeof RdxSliderRangeComponent, typeof RdxSliderThumbComponent]>;
372
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxSliderModule, never, [typeof RdxSliderRoot, typeof RdxSliderControl, typeof RdxSliderTrack, typeof RdxSliderIndicator, typeof RdxSliderThumb, typeof RdxSliderThumbInput, typeof RdxSliderValue], [typeof RdxSliderRoot, typeof RdxSliderControl, typeof RdxSliderTrack, typeof RdxSliderIndicator, typeof RdxSliderThumb, typeof RdxSliderThumbInput, typeof RdxSliderValue]>;
260
373
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxSliderModule>;
261
374
  }
262
375
 
263
- export { RdxSliderHorizontalComponent, RdxSliderImplDirective, RdxSliderModule, RdxSliderRangeComponent, RdxSliderRootComponent, RdxSliderThumbComponent, RdxSliderThumbImplDirective, RdxSliderTrackComponent, RdxSliderVerticalComponent };
376
+ export { ALL_KEYS, ARROW_KEYS, COMPOSITE_KEYS, RdxSliderControl, RdxSliderIndicator, RdxSliderModule, RdxSliderRoot, RdxSliderThumb, RdxSliderThumbInput, RdxSliderTrack, RdxSliderValue, areValuesEqual, asc, formatNumber, getControlOffset, getDecimalPrecision, getDefaultAriaValueText, getMidpoint, getNewValue, getPushedThumbValues, getSliderValue, injectSliderRootContext, provideSliderRootContext, replaceArrayItemAtIndex, resolveThumbCollision, roundValueToStep, validateMinimumDistance, valueArrayToPercentages, valueToPercent };
377
+ export type { RdxSliderThumbRef, ResolveThumbCollisionParams, ResolveThumbCollisionResult, SliderOrientation, SliderValue, ThumbCollisionBehavior };
@@ -1,9 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InputSignalWithTransform, Signal, ModelSignal, InputSignal, WritableSignal, InjectionToken, OnInit, OnDestroy } from '@angular/core';
3
- import { NumberInput, BooleanInput } from '@angular/cdk/coercion';
2
+ import { InputSignalWithTransform, Signal, ModelSignal, InputSignal, WritableSignal, InjectionToken } from '@angular/core';
3
+ import { NumberInput, BooleanInput, Direction } from '@radix-ng/primitives/core';
4
4
  import * as _radix_ng_primitives_stepper from '@radix-ng/primitives/stepper';
5
5
  import * as i1 from '@radix-ng/primitives/separator';
6
- import { Direction } from '@angular/cdk/bidi';
7
6
 
8
7
  type StepperState = 'completed' | 'active' | 'inactive';
9
8
 
@@ -34,7 +33,7 @@ declare class RdxStepperSeparatorDirective {
34
33
  private readonly rdxSeparator;
35
34
  constructor();
36
35
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxStepperSeparatorDirective, never>;
37
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxStepperSeparatorDirective, "[rdxStepperSeparator]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxSeparatorRootDirective; inputs: { "orientation": "orientation"; "decorative": "decorative"; }; outputs: {}; }]>;
36
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxStepperSeparatorDirective, "[rdxStepperSeparator]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxSeparatorRootDirective; inputs: { "orientation": "orientation"; }; outputs: {}; }]>;
38
37
  }
39
38
 
40
39
  declare class RdxStepperItemDirective implements StepperItemContext {
@@ -101,13 +100,12 @@ declare class RdxStepperRootDirective implements StepperRootContext {
101
100
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxStepperRootDirective, "[rdxStepperRoot]", ["rdxStepperRoot"], { "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, never>;
102
101
  }
103
102
 
104
- declare class RdxStepperTriggerDirective implements OnInit, OnDestroy {
103
+ declare class RdxStepperTriggerDirective {
105
104
  protected readonly rootContext: _radix_ng_primitives_stepper.StepperRootContext;
106
105
  protected readonly itemContext: StepperItemContext;
107
106
  private readonly elementRef;
108
107
  readonly stepperItems: _angular_core.Signal<HTMLElement[]>;
109
- ngOnInit(): void;
110
- ngOnDestroy(): void;
108
+ constructor();
111
109
  handleMouseDown(event: Event): void;
112
110
  handleKeyDown(event: Event): void;
113
111
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxStepperTriggerDirective, never>;