@radix-ng/primitives 1.0.0-beta.0 → 1.0.0-beta.2

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 (117) hide show
  1. package/fesm2022/radix-ng-primitives-accordion.mjs +2 -2
  2. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-calendar.mjs +109 -84
  4. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-checkbox.mjs +2 -2
  6. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-collapsible.mjs +1 -1
  8. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  9. package/fesm2022/radix-ng-primitives-combobox.mjs +1923 -0
  10. package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -0
  11. package/fesm2022/radix-ng-primitives-context-menu.mjs +1 -1
  12. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-core.mjs +591 -470
  14. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-cropper.mjs +287 -308
  16. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-date-field.mjs +66 -15
  18. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-dialog.mjs +1 -1
  20. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  21. package/fesm2022/radix-ng-primitives-drawer.mjs +7 -106
  22. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-editable.mjs +305 -24
  24. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-field.mjs +86 -6
  26. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-fieldset.mjs +1 -1
  28. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
  29. package/fesm2022/radix-ng-primitives-focus-scope.mjs +1 -1
  30. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  31. package/fesm2022/radix-ng-primitives-form.mjs +207 -0
  32. package/fesm2022/radix-ng-primitives-form.mjs.map +1 -0
  33. package/fesm2022/radix-ng-primitives-input.mjs +85 -4
  34. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
  35. package/fesm2022/radix-ng-primitives-menu.mjs +413 -5
  36. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  37. package/fesm2022/radix-ng-primitives-menubar.mjs +1 -1
  38. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  39. package/fesm2022/radix-ng-primitives-meter.mjs +1 -1
  40. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1 -1
  42. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  43. package/fesm2022/radix-ng-primitives-number-field.mjs +2 -2
  44. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-popover.mjs +1 -1
  46. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-popper.mjs +22 -5
  48. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-preview-card.mjs +1 -1
  51. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-progress.mjs +1 -1
  53. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-roving-focus.mjs +1 -1
  55. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-scroll-area.mjs +923 -0
  57. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -0
  58. package/fesm2022/radix-ng-primitives-select.mjs +421 -224
  59. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-slider.mjs +1 -1
  61. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  63. package/fesm2022/radix-ng-primitives-switch.mjs +3 -2
  64. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  65. package/fesm2022/radix-ng-primitives-tabs.mjs +12 -3
  66. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  67. package/fesm2022/radix-ng-primitives-time-field.mjs +27 -3
  68. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  69. package/fesm2022/radix-ng-primitives-toast.mjs +839 -0
  70. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -0
  71. package/fesm2022/radix-ng-primitives-toggle-group.mjs +1 -1
  72. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  73. package/fesm2022/radix-ng-primitives-toolbar.mjs +2 -2
  74. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  75. package/fesm2022/radix-ng-primitives-tooltip.mjs +11 -3
  76. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  77. package/package.json +18 -2
  78. package/schematics/ng-add/index.js +57 -0
  79. package/schematics/ng-add/index.js.map +1 -1
  80. package/schematics/ng-add/schema.d.ts +1 -0
  81. package/schematics/ng-add/schema.json +6 -0
  82. package/types/radix-ng-primitives-accordion.d.ts +3 -2
  83. package/types/radix-ng-primitives-calendar.d.ts +38 -18
  84. package/types/radix-ng-primitives-checkbox.d.ts +5 -5
  85. package/types/radix-ng-primitives-collapsible.d.ts +2 -1
  86. package/types/radix-ng-primitives-combobox.d.ts +1265 -0
  87. package/types/radix-ng-primitives-context-menu.d.ts +3 -2
  88. package/types/radix-ng-primitives-core.d.ts +187 -56
  89. package/types/radix-ng-primitives-cropper.d.ts +89 -56
  90. package/types/radix-ng-primitives-date-field.d.ts +11 -5
  91. package/types/radix-ng-primitives-dialog.d.ts +2 -1
  92. package/types/radix-ng-primitives-drawer.d.ts +5 -27
  93. package/types/radix-ng-primitives-editable.d.ts +90 -13
  94. package/types/radix-ng-primitives-field.d.ts +74 -4
  95. package/types/radix-ng-primitives-fieldset.d.ts +3 -2
  96. package/types/radix-ng-primitives-focus-scope.d.ts +2 -1
  97. package/types/radix-ng-primitives-form.d.ts +124 -0
  98. package/types/radix-ng-primitives-input.d.ts +75 -5
  99. package/types/radix-ng-primitives-menu.d.ts +16 -4
  100. package/types/radix-ng-primitives-menubar.d.ts +2 -1
  101. package/types/radix-ng-primitives-meter.d.ts +3 -2
  102. package/types/radix-ng-primitives-navigation-menu.d.ts +1 -1
  103. package/types/radix-ng-primitives-number-field.d.ts +6 -6
  104. package/types/radix-ng-primitives-popover.d.ts +2 -1
  105. package/types/radix-ng-primitives-popper.d.ts +19 -2
  106. package/types/radix-ng-primitives-preview-card.d.ts +1 -1
  107. package/types/radix-ng-primitives-progress.d.ts +3 -2
  108. package/types/radix-ng-primitives-roving-focus.d.ts +4 -3
  109. package/types/radix-ng-primitives-scroll-area.d.ts +253 -0
  110. package/types/radix-ng-primitives-select.d.ts +296 -136
  111. package/types/radix-ng-primitives-slider.d.ts +1 -1
  112. package/types/radix-ng-primitives-switch.d.ts +1 -1
  113. package/types/radix-ng-primitives-tabs.d.ts +1 -1
  114. package/types/radix-ng-primitives-toast.d.ts +378 -0
  115. package/types/radix-ng-primitives-toggle-group.d.ts +2 -1
  116. package/types/radix-ng-primitives-toolbar.d.ts +3 -2
  117. package/types/radix-ng-primitives-tooltip.d.ts +3 -2
@@ -1,11 +1,12 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit, WritableSignal, InputSignal, ModelSignal, Signal } from '@angular/core';
2
+ import { Signal, InputSignal, ModelSignal } from '@angular/core';
3
3
  import { DateValue } from '@internationalized/date';
4
4
  import { DateMatcher, Formatter, BooleanInput, Month } from '@radix-ng/primitives/core';
5
5
 
6
- declare class RdxCalendarCellTriggerDirective implements AfterViewInit {
6
+ declare class RdxCalendarCellTriggerDirective {
7
7
  private readonly rootContext;
8
8
  private readonly elementRef;
9
+ constructor();
9
10
  /**
10
11
  * The date value provided to the cell trigger
11
12
  */
@@ -35,10 +36,13 @@ declare class RdxCalendarCellTriggerDirective implements AfterViewInit {
35
36
  * @ignore
36
37
  */
37
38
  currentElement: HTMLElement;
38
- ngAfterViewInit(): void;
39
39
  protected onClick(): void;
40
+ /** Select the date unless the cell is disabled/unavailable or the calendar is readonly. */
41
+ private select;
40
42
  protected onArrowKey(event: Event): void;
41
43
  private shiftFocus;
44
+ /** Focus the cell at `index`, skipping over a disabled cell in the same direction. */
45
+ private focusCell;
42
46
  /**
43
47
  * @ignore
44
48
  */
@@ -59,17 +63,20 @@ interface CalendarRootContextToken {
59
63
  nextPage?: (nextPageFunc?: (date: DateValue) => DateValue) => void;
60
64
  prevPage?: (nextPageFunc?: (date: DateValue) => DateValue) => void;
61
65
  isNextButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
62
- isPrevButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
63
- headingValue: WritableSignal<string>;
66
+ isPrevButtonDisabled: (prevPageFunc?: (date: DateValue) => DateValue) => boolean;
67
+ headingValue: Signal<string>;
64
68
  dir: InputSignal<'ltr' | 'rtl'>;
65
- readonly: boolean;
69
+ readonly: Signal<boolean>;
66
70
  numberOfMonths: InputSignal<number>;
67
71
  placeholder: ModelSignal<DateValue>;
68
- pagedNavigation: boolean;
69
- disabled: InputSignal<boolean>;
70
- isDateSelected?: DateMatcher;
71
- isDateDisabled?: DateMatcher;
72
- isDateUnavailable: DateMatcher;
72
+ pagedNavigation: Signal<boolean>;
73
+ disabled: Signal<boolean>;
74
+ /** Resolved matcher: whether the given date is currently selected. */
75
+ isDateSelected: DateMatcher;
76
+ /** Resolved matcher: disabled = root `disabled` OR `isDateDisabled` input OR outside min/max. */
77
+ dateDisabled: DateMatcher;
78
+ /** Resolved matcher: unavailable = `isDateUnavailable` input. */
79
+ dateUnavailable: DateMatcher;
73
80
  formatter: Formatter;
74
81
  onDateChange: (date: DateValue) => void;
75
82
  currentElement: HTMLElement;
@@ -134,7 +141,7 @@ declare class RdxCalendarPrevDirective {
134
141
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCalendarPrevDirective, "button[rdxCalendarPrev]", ["rdxCalendarPrev"], { "prevPage": { "alias": "prevPage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
135
142
  }
136
143
 
137
- declare class RdxCalendarRootDirective implements AfterViewInit {
144
+ declare class RdxCalendarRootDirective {
138
145
  private readonly elementRef;
139
146
  /**
140
147
  * The controlled checked state of the calendar
@@ -145,7 +152,7 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
145
152
  */
146
153
  readonly defaultPlaceholder: _angular_core.ModelSignal<DateValue | undefined>;
147
154
  readonly locale: _angular_core.InputSignal<string>;
148
- readonly defaultDate: DateValue;
155
+ readonly defaultDate: _angular_core.Signal<DateValue>;
149
156
  /**
150
157
  * The placeholder date, which is used to determine what month to display when no date is selected.
151
158
  * This updates as the user navigates the calendar and can be used to programmatically control the calendar view
@@ -223,11 +230,11 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
223
230
  /**
224
231
  * @ignore
225
232
  */
226
- readonly headingValue: _angular_core.WritableSignal<string>;
233
+ readonly headingValue: _angular_core.Signal<string>;
227
234
  /**
228
235
  * @ignore
229
236
  */
230
- readonly fullCalendarLabel: _angular_core.WritableSignal<string>;
237
+ readonly fullCalendarLabel: _angular_core.Signal<string>;
231
238
  /**
232
239
  * @ignore
233
240
  */
@@ -245,13 +252,27 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
245
252
  */
246
253
  isPrevButtonDisabled: (nextPageFunc?: (date: DateValue) => DateValue) => boolean;
247
254
  /**
255
+ * Resolved matchers from the composable, exposed to child parts via context.
248
256
  * @ignore
249
257
  */
250
- isDateSelected: DateMatcher;
258
+ dateDisabled: DateMatcher;
259
+ /**
260
+ * @ignore
261
+ */
262
+ dateUnavailable: DateMatcher;
263
+ /**
264
+ * Selection + validity state, recomputed when the value or the matchers change.
265
+ * @ignore
266
+ */
267
+ private readonly _state;
268
+ /**
269
+ * @ignore
270
+ */
271
+ readonly isDateSelected: DateMatcher;
251
272
  /**
252
273
  * @ignore
253
274
  */
254
- isInvalid: boolean;
275
+ readonly isInvalid: _angular_core.Signal<boolean>;
255
276
  /**
256
277
  * @ignore
257
278
  */
@@ -266,7 +287,6 @@ declare class RdxCalendarRootDirective implements AfterViewInit {
266
287
  currentElement: HTMLElement;
267
288
  private readonly calendar;
268
289
  constructor();
269
- ngAfterViewInit(): void;
270
290
  /**
271
291
  * @ignore
272
292
  */
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import { Signal } from '@angular/core';
3
3
  import * as i1 from '@radix-ng/primitives/presence';
4
4
  import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
5
- import * as i1$1 from '@radix-ng/primitives/core';
5
+ import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
6
6
  import { BooleanInput, RdxFormCheckboxControl } from '@radix-ng/primitives/core';
7
7
  import { ControlValueAccessor } from '@angular/forms';
8
8
 
@@ -54,7 +54,7 @@ declare const rootContext: () => {
54
54
  toggle(): void;
55
55
  };
56
56
  type CheckboxRootContext = ReturnType<typeof rootContext>;
57
- declare const injectCheckboxRootContext: (optional?: boolean) => {
57
+ declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext<{
58
58
  checked: _angular_core.Signal<boolean>;
59
59
  indeterminate: _angular_core.Signal<boolean>;
60
60
  disabled: _angular_core.Signal<boolean>;
@@ -66,7 +66,7 @@ declare const injectCheckboxRootContext: (optional?: boolean) => {
66
66
  readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
67
67
  state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
68
68
  toggle(): void;
69
- } | null;
69
+ }>;
70
70
  declare const provideCheckboxRootContext: (useFactory: () => {
71
71
  checked: _angular_core.Signal<boolean>;
72
72
  indeterminate: _angular_core.Signal<boolean>;
@@ -176,7 +176,7 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
176
176
  constructor();
177
177
  toggle(): void;
178
178
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxRootDirective, never>;
179
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxRootDirective, "[rdxCheckboxRoot]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "submitValue": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "parent": { "alias": "parent"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "indeterminate": "indeterminateChange"; "onCheckedChange": "onCheckedChange"; }, never, never, true, [{ directive: typeof i1$1.RdxControlValueAccessor; inputs: { "value": "checked"; "disabled": "disabled"; }; outputs: {}; }]>;
179
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxRootDirective, "[rdxCheckboxRoot]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "submitValue": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "parent": { "alias": "parent"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "indeterminate": "indeterminateChange"; "onCheckedChange": "onCheckedChange"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxControlValueAccessor; inputs: { "value": "checked"; "disabled": "disabled"; }; outputs: {}; }]>;
180
180
  }
181
181
 
182
182
  /**
@@ -249,7 +249,7 @@ interface RdxCheckboxGroupContext {
249
249
  /** Register a child's control element id so the parent can reference it via `aria-controls`. */
250
250
  registerControl: (name: string, id: string) => () => void;
251
251
  }
252
- declare const injectCheckboxGroupContext: (optional?: boolean) => RdxCheckboxGroupContext | null;
252
+ declare const injectCheckboxGroupContext: _radix_ng_primitives_core.InjectContext<RdxCheckboxGroupContext>;
253
253
  declare const provideCheckboxGroupContext: (useFactory: () => RdxCheckboxGroupContext) => _angular_core.Provider;
254
254
  /**
255
255
  * Groups a set of checkboxes that share a single array value (the names of the checked boxes).
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, ModelSignal, WritableSignal } from '@angular/core';
3
3
  import * as _radix_ng_primitives_collapsible from '@radix-ng/primitives/collapsible';
4
+ import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
4
5
  import { BooleanInput, RdxTransitionStatus } from '@radix-ng/primitives/core';
5
6
  import * as i1 from '@radix-ng/primitives/presence';
6
7
 
@@ -68,7 +69,7 @@ interface CollapsibleRootContext {
68
69
  /** Registers the panel element whose transition duration gates the close completion. */
69
70
  registerTransitionElement: (element: HTMLElement) => () => void;
70
71
  }
71
- declare const injectCollapsibleRootContext: (optional?: boolean) => CollapsibleRootContext | null;
72
+ declare const injectCollapsibleRootContext: _radix_ng_primitives_core.InjectContext<CollapsibleRootContext>;
72
73
  declare const provideCollapsibleRootContext: (useFactory: () => CollapsibleRootContext) => _angular_core.Provider;
73
74
  /**
74
75
  * Groups all parts of the collapsible.