@radix-ng/primitives 1.1.0 → 1.1.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 (31) hide show
  1. package/fesm2022/radix-ng-primitives-autocomplete.mjs +66 -7
  2. package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-checkbox.mjs +147 -125
  4. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-combobox.mjs +171 -37
  6. package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-core.mjs +173 -5
  8. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  9. package/fesm2022/radix-ng-primitives-number-field.mjs +38 -7
  10. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  11. package/fesm2022/radix-ng-primitives-radio.mjs +49 -2
  12. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-select.mjs +35 -3
  14. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-slider.mjs +17 -2
  16. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-switch.mjs +60 -7
  18. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-toggle-group.mjs +25 -3
  20. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  21. package/package.json +1 -1
  22. package/types/radix-ng-primitives-autocomplete.d.ts +10 -1
  23. package/types/radix-ng-primitives-checkbox.d.ts +56 -43
  24. package/types/radix-ng-primitives-combobox.d.ts +46 -2
  25. package/types/radix-ng-primitives-core.d.ts +62 -4
  26. package/types/radix-ng-primitives-number-field.d.ts +12 -5
  27. package/types/radix-ng-primitives-radio.d.ts +6 -1
  28. package/types/radix-ng-primitives-select.d.ts +8 -1
  29. package/types/radix-ng-primitives-slider.d.ts +2 -1
  30. package/types/radix-ng-primitives-switch.d.ts +19 -3
  31. package/types/radix-ng-primitives-toggle-group.d.ts +5 -1
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, DestroyRef, Directive, computed, input, numberAttribute, booleanAttribute, model, output, signal, effect, afterNextRender, afterRenderEffect, untracked, NgModule } from '@angular/core';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import * as i2 from '@radix-ng/primitives/core';
5
- import { createContext, clamp, RdxFormUiControlBase, injectControlValueAccessor, injectDocument, injectId, createCancelableChangeEventDetails, provideFormUiState, RdxFormUiStateHost, RdxControlValueAccessor } from '@radix-ng/primitives/core';
5
+ import { createContext, clamp, RdxFormUiControlBase, injectControlValueAccessor, injectDocument, injectId, useNativeFormControl, createCancelableChangeEventDetails, provideFormUiState, RdxFormUiStateHost, RdxControlValueAccessor } from '@radix-ng/primitives/core';
6
6
  export { clamp } from '@radix-ng/primitives/core';
7
7
  import * as i1 from '@radix-ng/primitives/composite';
8
8
  import { RdxCompositeList, RdxCompositeListItem } from '@radix-ng/primitives/composite';
@@ -787,7 +787,7 @@ class RdxSliderRoot extends RdxFormUiControlBase {
787
787
  /** Locale used for value formatting. */
788
788
  this.locale = input(/* @ts-ignore */
789
789
  ...(ngDevMode ? [undefined, { debugName: "locale" }] : /* istanbul ignore next */ []));
790
- /** Name of the hidden inputs rendered by each thumb, for form submission. */
790
+ /** Name of the native range input rendered by each thumb, for form submission. */
791
791
  this.name = input(/* @ts-ignore */
792
792
  ...(ngDevMode ? [undefined, { debugName: "name" }] : /* istanbul ignore next */ []));
793
793
  /** Id of the form the slider belongs to. */
@@ -837,6 +837,21 @@ class RdxSliderRoot extends RdxFormUiControlBase {
837
837
  /** @ignore */
838
838
  this.isDisabled = computed(() => !!this.cva.disabled(), /* @ts-ignore */
839
839
  ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
840
+ // Range thumbs already are native inputs and therefore serialize themselves. The shared layer
841
+ // owns only reset here, so the root model follows a native `<form>.reset()` as well.
842
+ this.nativeFormControl = useNativeFormControl({
843
+ name: this.name,
844
+ form: this.form,
845
+ disabled: this.isDisabled,
846
+ defaultValue: () => this.cva.value() ?? this.defaultValue() ?? this.min(),
847
+ onReset: (value) => {
848
+ this.value.set(value);
849
+ if (!this.resetNgControl(value)) {
850
+ this.cva.setValue(value);
851
+ }
852
+ this.formUi.resetInteractionState?.();
853
+ }
854
+ });
840
855
  /** @ignore */
841
856
  this.inset = computed(() => this.thumbAlignment() !== 'center', /* @ts-ignore */
842
857
  ...(ngDevMode ? [{ debugName: "inset" }] : /* istanbul ignore next */ []));