@ark-ui/svelte 5.14.1 → 5.16.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 (148) hide show
  1. package/dist/components/accordion/accordion-root.svelte +1 -4
  2. package/dist/components/anatomy.d.ts +1 -0
  3. package/dist/components/anatomy.js +1 -0
  4. package/dist/components/angle-slider/angle-slider-root.svelte +1 -3
  5. package/dist/components/bottom-sheet/bottom-sheet-content.svelte +4 -2
  6. package/dist/components/bottom-sheet/bottom-sheet-grabber-indicator.svelte +4 -2
  7. package/dist/components/carousel/carousel-autoplay-indicator.svelte +4 -2
  8. package/dist/components/checkbox/use-checkbox-group.svelte.js +9 -5
  9. package/dist/components/checkbox/use-checkbox.svelte.js +1 -1
  10. package/dist/components/color-picker/color-picker-area-background.svelte +4 -2
  11. package/dist/components/color-picker/color-picker-channel-input.svelte +1 -3
  12. package/dist/components/color-picker/color-picker-channel-slider-label.svelte +4 -2
  13. package/dist/components/color-picker/color-picker-channel-slider-thumb.svelte +4 -2
  14. package/dist/components/color-picker/color-picker-channel-slider-track.svelte +4 -2
  15. package/dist/components/color-picker/color-picker-channel-slider-value-text.svelte +4 -2
  16. package/dist/components/color-picker/color-picker-eye-dropper-trigger.svelte +4 -2
  17. package/dist/components/color-picker/color-picker-format-trigger.svelte +4 -2
  18. package/dist/components/color-picker/color-picker-root.svelte +1 -4
  19. package/dist/components/color-picker/color-picker-swatch-indicator.svelte +4 -2
  20. package/dist/components/color-picker/color-picker-swatch-trigger.svelte +5 -5
  21. package/dist/components/color-picker/color-picker-transparency-grid.svelte +5 -5
  22. package/dist/components/combobox/combobox-root-provider.svelte +5 -6
  23. package/dist/components/combobox/combobox-root.svelte +5 -6
  24. package/dist/components/date-picker/date-picker-preset-trigger.svelte +1 -3
  25. package/dist/components/date-picker/date-picker-root-provider.svelte +1 -3
  26. package/dist/components/date-picker/date-picker-root.svelte +5 -5
  27. package/dist/components/date-picker/date-picker-table-cell-trigger.svelte +4 -2
  28. package/dist/components/date-picker/date-picker-table-cell.svelte +1 -3
  29. package/dist/components/date-picker/date-picker-value-text.svelte +69 -0
  30. package/dist/components/date-picker/date-picker-value-text.svelte.d.ts +28 -0
  31. package/dist/components/date-picker/date-picker.anatomy.d.ts +1 -1
  32. package/dist/components/date-picker/date-picker.anatomy.js +1 -1
  33. package/dist/components/date-picker/date-picker.d.ts +1 -0
  34. package/dist/components/date-picker/date-picker.js +1 -0
  35. package/dist/components/date-picker/index.d.ts +1 -0
  36. package/dist/components/date-picker/index.js +1 -0
  37. package/dist/components/factory/factory.svelte +2 -0
  38. package/dist/components/fieldset/fieldset-error-text.svelte +3 -1
  39. package/dist/components/fieldset/use-fieldset.svelte.d.ts +5 -0
  40. package/dist/components/fieldset/use-fieldset.svelte.js +5 -0
  41. package/dist/components/file-upload/file-upload-item-delete-trigger.svelte +4 -2
  42. package/dist/components/file-upload/file-upload-item-preview-image.svelte +4 -2
  43. package/dist/components/file-upload/file-upload-root.svelte +1 -0
  44. package/dist/components/floating-panel/floating-panel-close-trigger.svelte +4 -2
  45. package/dist/components/floating-panel/floating-panel-resize-trigger.svelte +5 -5
  46. package/dist/components/floating-panel/floating-panel-root.svelte +1 -3
  47. package/dist/components/floating-panel/floating-panel-stage-trigger.svelte +5 -5
  48. package/dist/components/focus-trap/focus-trap.svelte +4 -5
  49. package/dist/components/image-cropper/image-cropper-root-provider.svelte +4 -8
  50. package/dist/components/image-cropper/image-cropper-root-provider.svelte.d.ts +3 -7
  51. package/dist/components/json-tree-view/json-tree-view-root-provider.svelte +13 -2
  52. package/dist/components/json-tree-view/json-tree-view-root.svelte +1 -2
  53. package/dist/components/json-tree-view/use-json-tree-view.svelte.d.ts +9 -3
  54. package/dist/components/json-tree-view/use-json-tree-view.svelte.js +13 -2
  55. package/dist/components/listbox/listbox-root-provider.svelte +5 -4
  56. package/dist/components/listbox/listbox-root.svelte +4 -2
  57. package/dist/components/marquee/marquee-root.svelte +1 -3
  58. package/dist/components/menu/menu-radio-item-group.svelte +1 -3
  59. package/dist/components/navigation-menu/index.d.ts +18 -0
  60. package/dist/components/navigation-menu/index.js +17 -0
  61. package/dist/components/navigation-menu/navigation-menu-arrow.svelte +19 -0
  62. package/dist/components/navigation-menu/navigation-menu-arrow.svelte.d.ts +8 -0
  63. package/dist/components/navigation-menu/navigation-menu-content.svelte +61 -0
  64. package/dist/components/navigation-menu/navigation-menu-content.svelte.d.ts +9 -0
  65. package/dist/components/navigation-menu/navigation-menu-context.svelte +18 -0
  66. package/dist/components/navigation-menu/navigation-menu-context.svelte.d.ts +8 -0
  67. package/dist/components/navigation-menu/navigation-menu-indicator.svelte +29 -0
  68. package/dist/components/navigation-menu/navigation-menu-indicator.svelte.d.ts +8 -0
  69. package/dist/components/navigation-menu/navigation-menu-item-indicator.svelte +25 -0
  70. package/dist/components/navigation-menu/navigation-menu-item-indicator.svelte.d.ts +8 -0
  71. package/dist/components/navigation-menu/navigation-menu-item.svelte +26 -0
  72. package/dist/components/navigation-menu/navigation-menu-item.svelte.d.ts +9 -0
  73. package/dist/components/navigation-menu/navigation-menu-link.svelte +32 -0
  74. package/dist/components/navigation-menu/navigation-menu-link.svelte.d.ts +9 -0
  75. package/dist/components/navigation-menu/navigation-menu-list.svelte +19 -0
  76. package/dist/components/navigation-menu/navigation-menu-list.svelte.d.ts +8 -0
  77. package/dist/components/navigation-menu/navigation-menu-root-provider.svelte +35 -0
  78. package/dist/components/navigation-menu/navigation-menu-root-provider.svelte.d.ts +13 -0
  79. package/dist/components/navigation-menu/navigation-menu-root.svelte +58 -0
  80. package/dist/components/navigation-menu/navigation-menu-root.svelte.d.ts +10 -0
  81. package/dist/components/navigation-menu/navigation-menu-trigger.svelte +34 -0
  82. package/dist/components/navigation-menu/navigation-menu-trigger.svelte.d.ts +9 -0
  83. package/dist/components/navigation-menu/navigation-menu-viewport-positioner.svelte +36 -0
  84. package/dist/components/navigation-menu/navigation-menu-viewport-positioner.svelte.d.ts +13 -0
  85. package/dist/components/navigation-menu/navigation-menu-viewport.svelte +34 -0
  86. package/dist/components/navigation-menu/navigation-menu-viewport.svelte.d.ts +8 -0
  87. package/dist/components/navigation-menu/navigation-menu.anatomy.d.ts +1 -0
  88. package/dist/components/navigation-menu/navigation-menu.anatomy.js +1 -0
  89. package/dist/components/navigation-menu/navigation-menu.d.ts +14 -0
  90. package/dist/components/navigation-menu/navigation-menu.js +13 -0
  91. package/dist/components/navigation-menu/use-navigation-menu-context.d.ts +4 -0
  92. package/dist/components/navigation-menu/use-navigation-menu-context.js +4 -0
  93. package/dist/components/navigation-menu/use-navigation-menu-item-props-context.d.ts +3 -0
  94. package/dist/components/navigation-menu/use-navigation-menu-item-props-context.js +5 -0
  95. package/dist/components/navigation-menu/use-navigation-menu-viewport-props-context.d.ts +3 -0
  96. package/dist/components/navigation-menu/use-navigation-menu-viewport-props-context.js +5 -0
  97. package/dist/components/navigation-menu/use-navigation-menu.svelte.d.ts +9 -0
  98. package/dist/components/navigation-menu/use-navigation-menu.svelte.js +20 -0
  99. package/dist/components/number-input/number-input-decrement-trigger.svelte +4 -2
  100. package/dist/components/number-input/number-input-increment-trigger.svelte +4 -2
  101. package/dist/components/number-input/split-number-input-props.svelte.d.ts +1 -1
  102. package/dist/components/number-input/split-number-input-props.svelte.js +1 -0
  103. package/dist/components/pagination/index.d.ts +2 -0
  104. package/dist/components/pagination/index.js +2 -0
  105. package/dist/components/pagination/pagination-first-trigger.svelte +18 -0
  106. package/dist/components/pagination/pagination-first-trigger.svelte.d.ts +8 -0
  107. package/dist/components/pagination/pagination-last-trigger.svelte +18 -0
  108. package/dist/components/pagination/pagination-last-trigger.svelte.d.ts +8 -0
  109. package/dist/components/pagination/pagination-root.svelte +1 -0
  110. package/dist/components/pagination/pagination.d.ts +2 -0
  111. package/dist/components/pagination/pagination.js +2 -0
  112. package/dist/components/password-input/password-input-root-provider.svelte +2 -2
  113. package/dist/components/password-input/password-input-root-provider.svelte.d.ts +2 -2
  114. package/dist/components/password-input/password-input-visibility-trigger.svelte +4 -2
  115. package/dist/components/pin-input/pin-input-root-provider.svelte +3 -2
  116. package/dist/components/pin-input/pin-input-root-provider.svelte.d.ts +2 -2
  117. package/dist/components/progress/progress-root.svelte +1 -3
  118. package/dist/components/qr-code/qr-code-download-trigger.svelte +1 -3
  119. package/dist/components/radio-group/radio-group-item-hidden-input.svelte +4 -2
  120. package/dist/components/radio-group/radio-group-root.svelte +2 -0
  121. package/dist/components/radio-group/use-radio-group.svelte.js +8 -0
  122. package/dist/components/segment-group/segment-group-item-hidden-input.svelte +4 -2
  123. package/dist/components/segment-group/split-segment-group-props.svelte.d.ts +1 -1
  124. package/dist/components/segment-group/split-segment-group-props.svelte.js +2 -0
  125. package/dist/components/select/select-item.svelte +5 -4
  126. package/dist/components/select/select-root-provider.svelte +5 -5
  127. package/dist/components/select/select-root.svelte +5 -6
  128. package/dist/components/signature-pad/signature-pad-clear-trigger.svelte +4 -2
  129. package/dist/components/slider/slider-root.svelte +1 -0
  130. package/dist/components/splitter/splitter-resize-trigger-indicator.svelte +4 -2
  131. package/dist/components/splitter/splitter-resize-trigger.svelte +1 -3
  132. package/dist/components/steps/steps-root.svelte +4 -1
  133. package/dist/components/tabs/tabs-root-provider.svelte +1 -4
  134. package/dist/components/tags-input/tags-input-item-delete-trigger.svelte +4 -2
  135. package/dist/components/tags-input/tags-input-root.svelte +1 -0
  136. package/dist/components/tooltip/tooltip-root.svelte +2 -1
  137. package/dist/components/tooltip/tooltip-root.svelte.d.ts +2 -1
  138. package/dist/components/tour/index.d.ts +3 -1
  139. package/dist/components/tour/index.js +2 -0
  140. package/dist/components/tour/tour-action-trigger.svelte +1 -3
  141. package/dist/components/tour/wait-for-event.d.ts +6 -0
  142. package/dist/components/tour/wait-for-event.js +19 -0
  143. package/dist/components/tree-view/tree-view-branch-indent-guide.svelte +4 -2
  144. package/dist/components/tree-view/tree-view-root-provider.svelte +5 -5
  145. package/dist/components/tree-view/tree-view-root.svelte +1 -4
  146. package/dist/components/tree-view/tree-view-split-props.d.ts +1 -1
  147. package/dist/components/tree-view/tree-view-split-props.js +1 -0
  148. package/package.json +75 -73
@@ -3,10 +3,7 @@
3
3
  import type { UseAccordionProps } from './use-accordion.svelte'
4
4
 
5
5
  export interface AccordionRootBaseProps
6
- extends UseAccordionProps,
7
- RenderStrategyProps,
8
- PolymorphicProps<'div'>,
9
- RefAttribute {}
6
+ extends UseAccordionProps, RenderStrategyProps, PolymorphicProps<'div'>, RefAttribute {}
10
7
  export interface AccordionRootProps extends Assign<HTMLProps<'div'>, AccordionRootBaseProps> {}
11
8
  </script>
12
9
 
@@ -21,6 +21,7 @@ export { imageCropperAnatomy } from './image-cropper/image-cropper.anatomy';
21
21
  export { listboxAnatomy } from './listbox/listbox.anatomy';
22
22
  export { marqueeAnatomy } from './marquee/marquee.anatomy';
23
23
  export { menuAnatomy } from './menu/menu.anatomy';
24
+ export { navigationMenuAnatomy } from './navigation-menu/navigation-menu.anatomy';
24
25
  export { numberInputAnatomy } from './number-input/number-input.anatomy';
25
26
  export { paginationAnatomy } from './pagination/pagination.anatomy';
26
27
  export { passwordInputAnatomy } from './password-input/password-input.anatomy';
@@ -21,6 +21,7 @@ export { imageCropperAnatomy } from './image-cropper/image-cropper.anatomy';
21
21
  export { listboxAnatomy } from './listbox/listbox.anatomy';
22
22
  export { marqueeAnatomy } from './marquee/marquee.anatomy';
23
23
  export { menuAnatomy } from './menu/menu.anatomy';
24
+ export { navigationMenuAnatomy } from './navigation-menu/navigation-menu.anatomy';
24
25
  export { numberInputAnatomy } from './number-input/number-input.anatomy';
25
26
  export { paginationAnatomy } from './pagination/pagination.anatomy';
26
27
  export { passwordInputAnatomy } from './password-input/password-input.anatomy';
@@ -3,9 +3,7 @@
3
3
  import type { UseAngleSliderProps } from './use-angle-slider.svelte'
4
4
 
5
5
  export interface AngleSliderRootBaseProps
6
- extends Optional<UseAngleSliderProps, 'id'>,
7
- PolymorphicProps<'div'>,
8
- RefAttribute {}
6
+ extends Optional<UseAngleSliderProps, 'id'>, PolymorphicProps<'div'>, RefAttribute {}
9
7
  export interface AngleSliderRootProps extends Assign<HTMLProps<'div'>, AngleSliderRootBaseProps> {}
10
8
  </script>
11
9
 
@@ -5,8 +5,10 @@
5
5
  export interface BottomSheetContentBaseProps extends PolymorphicProps<'div'>, ContentProps, RefAttribute {
6
6
  ref?: Element | null
7
7
  }
8
- export interface BottomSheetContentProps
9
- extends Assign<Omit<HTMLProps<'div'>, 'draggable'>, BottomSheetContentBaseProps> {}
8
+ export interface BottomSheetContentProps extends Assign<
9
+ Omit<HTMLProps<'div'>, 'draggable'>,
10
+ BottomSheetContentBaseProps
11
+ > {}
10
12
  </script>
11
13
 
12
14
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface BottomSheetGrabberIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
- export interface BottomSheetGrabberIndicatorProps
6
- extends Assign<HTMLProps<'div'>, BottomSheetGrabberIndicatorBaseProps> {}
5
+ export interface BottomSheetGrabberIndicatorProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ BottomSheetGrabberIndicatorBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -8,8 +8,10 @@
8
8
  */
9
9
  fallback?: Snippet
10
10
  }
11
- export interface CarouselAutoplayIndicatorProps
12
- extends Assign<HTMLProps<'span'>, CarouselAutoplayIndicatorBaseProps> {
11
+ export interface CarouselAutoplayIndicatorProps extends Assign<
12
+ HTMLProps<'span'>,
13
+ CarouselAutoplayIndicatorBaseProps
14
+ > {
13
15
  children?: Snippet
14
16
  }
15
17
  </script>
@@ -1,10 +1,14 @@
1
1
  import { runIfFn } from '@zag-js/utils';
2
2
  import { untrack } from 'svelte';
3
+ import { useFieldsetContext } from '../fieldset';
3
4
  export const useCheckboxGroup = (props = {}) => {
5
+ const fieldset = useFieldsetContext();
4
6
  const resolvedProps = $derived(runIfFn(props) || {});
5
7
  let valueState = $state(untrack(() => resolvedProps.defaultValue) ?? []);
6
8
  const value = $derived(resolvedProps.value !== undefined ? resolvedProps.value : valueState);
7
- const interactive = $derived(!(resolvedProps.disabled || resolvedProps.readOnly));
9
+ const disabled = $derived(resolvedProps.disabled ?? fieldset?.()?.disabled);
10
+ const invalid = $derived(resolvedProps.invalid ?? fieldset?.()?.invalid);
11
+ const interactive = $derived(!(disabled || resolvedProps.readOnly));
8
12
  const setValue = (newValue) => {
9
13
  if (resolvedProps.value === undefined) {
10
14
  valueState = newValue;
@@ -38,18 +42,18 @@ export const useCheckboxGroup = (props = {}) => {
38
42
  }
39
43
  },
40
44
  name: resolvedProps.name,
41
- disabled: !!resolvedProps.disabled,
45
+ disabled: !!disabled,
42
46
  readOnly: !!resolvedProps.readOnly,
43
- invalid: !!resolvedProps.invalid,
47
+ invalid: !!invalid,
44
48
  };
45
49
  };
46
50
  const api = $derived({
47
51
  isChecked,
48
52
  value,
49
53
  name: resolvedProps.name,
50
- disabled: !!resolvedProps.disabled,
54
+ disabled: !!disabled,
51
55
  readOnly: !!resolvedProps.readOnly,
52
- invalid: !!resolvedProps.invalid,
56
+ invalid: !!invalid,
53
57
  setValue,
54
58
  addValue,
55
59
  toggleValue,
@@ -12,7 +12,7 @@ export const useCheckbox = (props = {}) => {
12
12
  const field = useFieldContext();
13
13
  const machineProps = $derived.by(() => {
14
14
  const resolvedProps = runIfFn(props);
15
- const localProps = mergeProps(resolvedProps, checkboxGroup?.()?.getItemProps({ value: resolvedProps.value }) ?? {});
15
+ const localProps = mergeProps(checkboxGroup?.()?.getItemProps({ value: resolvedProps.value }) ?? {}, resolvedProps);
16
16
  return {
17
17
  ids: {
18
18
  label: field?.()?.ids.label,
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerAreaBackgroundBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
- export interface ColorPickerAreaBackgroundProps
6
- extends Assign<HTMLProps<'div'>, ColorPickerAreaBackgroundBaseProps> {}
5
+ export interface ColorPickerAreaBackgroundProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ ColorPickerAreaBackgroundBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -3,9 +3,7 @@
3
3
  import type { ChannelInputProps } from '@zag-js/color-picker'
4
4
 
5
5
  export interface ColorPickerChannelInputBaseProps
6
- extends ChannelInputProps,
7
- PolymorphicProps<'input'>,
8
- RefAttribute {}
6
+ extends ChannelInputProps, PolymorphicProps<'input'>, RefAttribute {}
9
7
  export interface ColorPickerChannelInputProps extends Assign<HTMLProps<'input'>, ColorPickerChannelInputBaseProps> {}
10
8
  </script>
11
9
 
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerChannelSliderLabelBaseProps extends PolymorphicProps<'label'>, RefAttribute {}
5
- export interface ColorPickerChannelSliderLabelProps
6
- extends Assign<HTMLProps<'label'>, ColorPickerChannelSliderLabelBaseProps> {}
5
+ export interface ColorPickerChannelSliderLabelProps extends Assign<
6
+ HTMLProps<'label'>,
7
+ ColorPickerChannelSliderLabelBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerChannelSliderThumbBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
- export interface ColorPickerChannelSliderThumbProps
6
- extends Assign<HTMLProps<'div'>, ColorPickerChannelSliderThumbBaseProps> {}
5
+ export interface ColorPickerChannelSliderThumbProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ ColorPickerChannelSliderThumbBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerChannelSliderTrackBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
- export interface ColorPickerChannelSliderTrackProps
6
- extends Assign<HTMLProps<'div'>, ColorPickerChannelSliderTrackBaseProps> {}
5
+ export interface ColorPickerChannelSliderTrackProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ ColorPickerChannelSliderTrackBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerChannelSliderValueTextBaseProps extends PolymorphicProps<'span'>, RefAttribute {}
5
- export interface ColorPickerChannelSliderValueTextProps
6
- extends Assign<HTMLProps<'span'>, ColorPickerChannelSliderValueTextBaseProps> {}
5
+ export interface ColorPickerChannelSliderValueTextProps extends Assign<
6
+ HTMLProps<'span'>,
7
+ ColorPickerChannelSliderValueTextBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerEyeDropperTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
- export interface ColorPickerEyeDropperTriggerProps
6
- extends Assign<HTMLProps<'button'>, ColorPickerEyeDropperTriggerBaseProps> {}
5
+ export interface ColorPickerEyeDropperTriggerProps extends Assign<
6
+ HTMLProps<'button'>,
7
+ ColorPickerEyeDropperTriggerBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerFormatTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
- export interface ColorPickerFormatTriggerProps
6
- extends Assign<HTMLProps<'button'>, ColorPickerFormatTriggerBaseProps> {}
5
+ export interface ColorPickerFormatTriggerProps extends Assign<
6
+ HTMLProps<'button'>,
7
+ ColorPickerFormatTriggerBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -4,10 +4,7 @@
4
4
  import type { UseColorPickerProps } from './use-color-picker.svelte'
5
5
 
6
6
  export interface ColorPickerRootBaseProps
7
- extends UseColorPickerProps,
8
- UsePresenceProps,
9
- PolymorphicProps<'div'>,
10
- RefAttribute {}
7
+ extends UseColorPickerProps, UsePresenceProps, PolymorphicProps<'div'>, RefAttribute {}
11
8
  export interface ColorPickerRootProps extends Assign<HTMLProps<'div'>, ColorPickerRootBaseProps> {}
12
9
  </script>
13
10
 
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerSwatchIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
- export interface ColorPickerSwatchIndicatorProps
6
- extends Assign<HTMLProps<'div'>, ColorPickerSwatchIndicatorBaseProps> {}
5
+ export interface ColorPickerSwatchIndicatorProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ ColorPickerSwatchIndicatorBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -3,11 +3,11 @@
3
3
  import type { SwatchTriggerProps } from '@zag-js/color-picker'
4
4
 
5
5
  export interface ColorPickerSwatchTriggerBaseProps
6
- extends SwatchTriggerProps,
7
- PolymorphicProps<'button'>,
8
- RefAttribute {}
9
- export interface ColorPickerSwatchTriggerProps
10
- extends Assign<HTMLProps<'button'>, ColorPickerSwatchTriggerBaseProps> {}
6
+ extends SwatchTriggerProps, PolymorphicProps<'button'>, RefAttribute {}
7
+ export interface ColorPickerSwatchTriggerProps extends Assign<
8
+ HTMLProps<'button'>,
9
+ ColorPickerSwatchTriggerBaseProps
10
+ > {}
11
11
  </script>
12
12
 
13
13
  <script lang="ts">
@@ -2,11 +2,11 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface ColorPickerTransparencyGridBaseProps
5
- extends TransparencyGridProps,
6
- PolymorphicProps<'div'>,
7
- RefAttribute {}
8
- export interface ColorPickerTransparencyGridProps
9
- extends Assign<HTMLProps<'div'>, ColorPickerTransparencyGridBaseProps> {}
5
+ extends TransparencyGridProps, PolymorphicProps<'div'>, RefAttribute {}
6
+ export interface ColorPickerTransparencyGridProps extends Assign<
7
+ HTMLProps<'div'>,
8
+ ColorPickerTransparencyGridBaseProps
9
+ > {}
10
10
  </script>
11
11
 
12
12
  <script lang="ts">
@@ -10,14 +10,13 @@
10
10
  }
11
11
 
12
12
  export interface ComboboxRootProviderBaseProps<T extends CollectionItem>
13
- extends RootProviderProps<T>,
14
- UsePresenceProps,
15
- PolymorphicProps<'div'>,
16
- RefAttribute {
13
+ extends RootProviderProps<T>, UsePresenceProps, PolymorphicProps<'div'>, RefAttribute {
17
14
  children?: Snippet
18
15
  }
19
- export interface ComboboxRootProviderProps<T extends CollectionItem>
20
- extends Assign<HTMLProps<'div'>, ComboboxRootProviderBaseProps<T>> {}
16
+ export interface ComboboxRootProviderProps<T extends CollectionItem> extends Assign<
17
+ HTMLProps<'div'>,
18
+ ComboboxRootProviderBaseProps<T>
19
+ > {}
21
20
 
22
21
  export type ComboboxRootProviderComponent<P = {}> = <T extends CollectionItem>(
23
22
  props: Assign<ComboboxRootProviderProps<T>, P>,
@@ -6,13 +6,12 @@
6
6
  import type { UseComboboxProps } from './use-combobox.svelte'
7
7
 
8
8
  export interface ComboboxRootBaseProps<T extends CollectionItem>
9
- extends UseComboboxProps<T>,
10
- UsePresenceProps,
11
- PolymorphicProps<'div'>,
12
- RefAttribute {}
9
+ extends UseComboboxProps<T>, UsePresenceProps, PolymorphicProps<'div'>, RefAttribute {}
13
10
 
14
- export interface ComboboxRootProps<T extends CollectionItem>
15
- extends Assign<HTMLProps<'div'>, ComboboxRootBaseProps<T>> {}
11
+ export interface ComboboxRootProps<T extends CollectionItem> extends Assign<
12
+ HTMLProps<'div'>,
13
+ ComboboxRootBaseProps<T>
14
+ > {}
16
15
 
17
16
  export type ComboboxRootComponentProps<T extends CollectionItem = CollectionItem, P = {}> = Assign<
18
17
  ComboboxRootProps<T>,
@@ -3,9 +3,7 @@
3
3
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types.js'
4
4
 
5
5
  export interface DatePickerPresetTriggerBaseProps
6
- extends PresetTriggerProps,
7
- PolymorphicProps<'button'>,
8
- RefAttribute {}
6
+ extends PresetTriggerProps, PolymorphicProps<'button'>, RefAttribute {}
9
7
  export interface DatePickerPresetTriggerProps extends Assign<HTMLProps<'button'>, DatePickerPresetTriggerBaseProps> {}
10
8
  </script>
11
9
 
@@ -8,9 +8,7 @@
8
8
  }
9
9
 
10
10
  export interface DatePickerRootProviderBaseProps
11
- extends RootProviderProps,
12
- UsePresenceProps,
13
- PolymorphicProps<'div'> {}
11
+ extends RootProviderProps, UsePresenceProps, PolymorphicProps<'div'> {}
14
12
  export interface DatePickerRootProviderProps extends Assign<HTMLProps<'div'>, DatePickerRootProviderBaseProps> {}
15
13
  </script>
16
14
 
@@ -4,10 +4,7 @@
4
4
  import type { UsePresenceProps } from '../presence/index.js'
5
5
 
6
6
  export interface DatePickerRootBaseProps
7
- extends UseDatePickerProps,
8
- UsePresenceProps,
9
- PolymorphicProps<'div'>,
10
- RefAttribute {}
7
+ extends UseDatePickerProps, UsePresenceProps, PolymorphicProps<'div'>, RefAttribute {}
11
8
  export interface DatePickerRootProps extends Assign<HTMLProps<'div'>, DatePickerRootBaseProps> {}
12
9
  </script>
13
10
 
@@ -43,6 +40,8 @@
43
40
  'format',
44
41
  'id',
45
42
  'ids',
43
+ 'inline',
44
+ 'invalid',
46
45
  'isDateUnavailable',
47
46
  'locale',
48
47
  'max',
@@ -55,19 +54,20 @@
55
54
  'onOpenChange',
56
55
  'onValueChange',
57
56
  'onViewChange',
57
+ 'onVisibleRangeChange',
58
58
  'open',
59
59
  'outsideDaySelectable',
60
60
  'parse',
61
61
  'placeholder',
62
62
  'positioning',
63
63
  'readOnly',
64
+ 'required',
64
65
  'selectionMode',
65
66
  'startOfWeek',
66
67
  'timeZone',
67
68
  'translations',
68
69
  'value',
69
70
  'view',
70
- 'inline',
71
71
  ]),
72
72
  )
73
73
 
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types.js'
3
3
 
4
4
  export interface DatePickerTableCellTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
- export interface DatePickerTableCellTriggerProps
6
- extends Assign<HTMLProps<'button'>, DatePickerTableCellTriggerBaseProps> {}
5
+ export interface DatePickerTableCellTriggerProps extends Assign<
6
+ HTMLProps<'button'>,
7
+ DatePickerTableCellTriggerBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -3,9 +3,7 @@
3
3
  import type { UseDatePickerTableCellPropsContext } from './use-date-picker-table-cell-props-context.js'
4
4
 
5
5
  export interface DatePickerTableCellBaseProps
6
- extends ReturnType<UseDatePickerTableCellPropsContext>,
7
- PolymorphicProps<'td'>,
8
- RefAttribute {}
6
+ extends ReturnType<UseDatePickerTableCellPropsContext>, PolymorphicProps<'td'>, RefAttribute {}
9
7
  export interface DatePickerTableCellProps extends Assign<HTMLProps<'td'>, DatePickerTableCellBaseProps> {}
10
8
  </script>
11
9
 
@@ -0,0 +1,69 @@
1
+ <script module lang="ts">
2
+ import type { DateValue } from '@zag-js/date-picker'
3
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types.js'
4
+
5
+ export interface DatePickerValueTextRenderProps {
6
+ value: DateValue
7
+ index: number
8
+ valueAsString: string
9
+ remove: () => void
10
+ }
11
+
12
+ export interface DatePickerValueTextBaseProps extends PolymorphicProps<'span'>, RefAttribute {
13
+ /**
14
+ * Text to display when no date is selected.
15
+ */
16
+ placeholder?: string | undefined
17
+ /**
18
+ * The separator to use between multiple date values when using default rendering.
19
+ * @default ", "
20
+ */
21
+ separator?: string | undefined
22
+ }
23
+
24
+ export interface DatePickerValueTextProps extends Assign<HTMLProps<'span'>, DatePickerValueTextBaseProps> {}
25
+ </script>
26
+
27
+ <script lang="ts">
28
+ import type { Snippet } from 'svelte'
29
+ import { Ark } from '../factory/index.js'
30
+ import { datePickerAnatomy } from './date-picker.anatomy.js'
31
+ import { useDatePickerContext } from './use-date-picker-context.js'
32
+
33
+ let {
34
+ ref = $bindable(null),
35
+ placeholder,
36
+ separator = ', ',
37
+ children,
38
+ ...props
39
+ }: DatePickerValueTextProps & { children?: Snippet<[DatePickerValueTextRenderProps]> } = $props()
40
+
41
+ const datePicker = useDatePickerContext()
42
+
43
+ const hasValue = $derived(datePicker().value.length > 0)
44
+
45
+ const displayValue = $derived(hasValue ? datePicker().valueAsString.join(separator) : placeholder)
46
+
47
+ const getRenderProps = (value: DateValue, index: number): DatePickerValueTextRenderProps => ({
48
+ value,
49
+ index,
50
+ valueAsString: datePicker().valueAsString[index],
51
+ remove: () => {
52
+ datePicker().setValue(datePicker().value.filter((_, i) => i !== index))
53
+ },
54
+ })
55
+ </script>
56
+
57
+ {#if children}
58
+ {#if hasValue}
59
+ {#each datePicker().value as value, index (index)}
60
+ {@render children(getRenderProps(value, index))}
61
+ {/each}
62
+ {:else}
63
+ {placeholder}
64
+ {/if}
65
+ {:else}
66
+ <Ark as="span" bind:ref {...datePickerAnatomy.build().valueText.attrs} {...props}>
67
+ {displayValue}
68
+ </Ark>
69
+ {/if}
@@ -0,0 +1,28 @@
1
+ import type { DateValue } from '@zag-js/date-picker';
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types.js';
3
+ export interface DatePickerValueTextRenderProps {
4
+ value: DateValue;
5
+ index: number;
6
+ valueAsString: string;
7
+ remove: () => void;
8
+ }
9
+ export interface DatePickerValueTextBaseProps extends PolymorphicProps<'span'>, RefAttribute {
10
+ /**
11
+ * Text to display when no date is selected.
12
+ */
13
+ placeholder?: string | undefined;
14
+ /**
15
+ * The separator to use between multiple date values when using default rendering.
16
+ * @default ", "
17
+ */
18
+ separator?: string | undefined;
19
+ }
20
+ export interface DatePickerValueTextProps extends Assign<HTMLProps<'span'>, DatePickerValueTextBaseProps> {
21
+ }
22
+ import type { Snippet } from 'svelte';
23
+ type $$ComponentProps = DatePickerValueTextProps & {
24
+ children?: Snippet<[DatePickerValueTextRenderProps]>;
25
+ };
26
+ declare const DatePickerValueText: import("svelte").Component<$$ComponentProps, {}, "ref">;
27
+ type DatePickerValueText = ReturnType<typeof DatePickerValueText>;
28
+ export default DatePickerValueText;
@@ -1 +1 @@
1
- export declare const datePickerAnatomy: import("@zag-js/anatomy").AnatomyInstance<"input" | "label" | "table" | "view" | "root" | "content" | "trigger" | "control" | "nextTrigger" | "prevTrigger" | "positioner" | "clearTrigger" | "tableHeader" | "tableBody" | "tableRow" | "viewTrigger" | "monthSelect" | "yearSelect" | "presetTrigger" | "rangeText" | "tableCell" | "tableCellTrigger" | "tableHead" | "viewControl">;
1
+ export declare const datePickerAnatomy: import("@zag-js/anatomy").AnatomyInstance<"input" | "label" | "table" | "view" | "root" | "content" | "trigger" | "control" | "valueText" | "nextTrigger" | "prevTrigger" | "positioner" | "clearTrigger" | "monthSelect" | "presetTrigger" | "rangeText" | "tableBody" | "tableCell" | "tableCellTrigger" | "tableHead" | "tableHeader" | "tableRow" | "viewControl" | "viewTrigger" | "yearSelect">;
@@ -1,2 +1,2 @@
1
1
  import { anatomy } from '@zag-js/date-picker';
2
- export const datePickerAnatomy = anatomy.extendWith('view');
2
+ export const datePickerAnatomy = anatomy.extendWith('view', 'valueText');
@@ -10,6 +10,7 @@ export { default as Positioner, type DatePickerPositionerBaseProps as Positioner
10
10
  export { default as PresetTrigger, type DatePickerPresetTriggerBaseProps as PresetTriggerBaseProps, type DatePickerPresetTriggerProps as PresetTriggerProps, } from './date-picker-preset-trigger.svelte';
11
11
  export { default as PrevTrigger, type DatePickerPrevTriggerBaseProps as PrevTriggerBaseProps, type DatePickerPrevTriggerProps as PrevTriggerProps, } from './date-picker-prev-trigger.svelte';
12
12
  export { default as RangeText, type DatePickerRangeTextBaseProps as RangeTextBaseProps, type DatePickerRangeTextProps as RangeTextProps, } from './date-picker-range-text.svelte';
13
+ export { default as ValueText, type DatePickerValueTextBaseProps as ValueTextBaseProps, type DatePickerValueTextProps as ValueTextProps, type DatePickerValueTextRenderProps as ValueTextRenderProps, } from './date-picker-value-text.svelte';
13
14
  export { default as Root, type DatePickerRootBaseProps as RootBaseProps, type DatePickerRootProps as RootProps, } from './date-picker-root.svelte';
14
15
  export { default as RootProvider, type DatePickerRootProviderBaseProps as RootProviderBaseProps, type DatePickerRootProviderProps as RootProviderProps, } from './date-picker-root-provider.svelte';
15
16
  export { default as Table, type DatePickerTableBaseProps as TableBaseProps, type DatePickerTableProps as TableProps, } from './date-picker-table.svelte';
@@ -10,6 +10,7 @@ export { default as Positioner, } from './date-picker-positioner.svelte';
10
10
  export { default as PresetTrigger, } from './date-picker-preset-trigger.svelte';
11
11
  export { default as PrevTrigger, } from './date-picker-prev-trigger.svelte';
12
12
  export { default as RangeText, } from './date-picker-range-text.svelte';
13
+ export { default as ValueText, } from './date-picker-value-text.svelte';
13
14
  export { default as Root, } from './date-picker-root.svelte';
14
15
  export { default as RootProvider, } from './date-picker-root-provider.svelte';
15
16
  export { default as Table, } from './date-picker-table.svelte';
@@ -12,6 +12,7 @@ export { default as DatePickerPositioner, type DatePickerPositionerBaseProps, ty
12
12
  export { default as DatePickerPresetTrigger, type DatePickerPresetTriggerBaseProps, type DatePickerPresetTriggerProps, } from './date-picker-preset-trigger.svelte';
13
13
  export { default as DatePickerPrevTrigger, type DatePickerPrevTriggerBaseProps, type DatePickerPrevTriggerProps, } from './date-picker-prev-trigger.svelte';
14
14
  export { default as DatePickerRangeText, type DatePickerRangeTextBaseProps, type DatePickerRangeTextProps, } from './date-picker-range-text.svelte';
15
+ export { default as DatePickerValueText, type DatePickerValueTextBaseProps, type DatePickerValueTextProps, type DatePickerValueTextRenderProps, } from './date-picker-value-text.svelte';
15
16
  export { default as DatePickerRoot, type DatePickerRootBaseProps, type DatePickerRootProps, } from './date-picker-root.svelte';
16
17
  export { default as DatePickerRootProvider, type DatePickerRootProviderBaseProps, type DatePickerRootProviderProps, } from './date-picker-root-provider.svelte';
17
18
  export { default as DatePickerTable, type DatePickerTableBaseProps, type DatePickerTableProps, } from './date-picker-table.svelte';
@@ -11,6 +11,7 @@ export { default as DatePickerPositioner, } from './date-picker-positioner.svelt
11
11
  export { default as DatePickerPresetTrigger, } from './date-picker-preset-trigger.svelte';
12
12
  export { default as DatePickerPrevTrigger, } from './date-picker-prev-trigger.svelte';
13
13
  export { default as DatePickerRangeText, } from './date-picker-range-text.svelte';
14
+ export { default as DatePickerValueText, } from './date-picker-value-text.svelte';
14
15
  export { default as DatePickerRoot, } from './date-picker-root.svelte';
15
16
  export { default as DatePickerRootProvider, } from './date-picker-root-provider.svelte';
16
17
  export { default as DatePickerTable, } from './date-picker-table.svelte';
@@ -28,6 +28,8 @@
28
28
  <Svg {as} {...rest} bind:ref />
29
29
  {:else if isVoidHTMLTag(as)}
30
30
  <svelte:element this={as} {...rest} bind:this={ref} />
31
+ {:else if as === 'textarea'}
32
+ <textarea {...rest} bind:this={ref}></textarea>
31
33
  {:else}
32
34
  <svelte:element this={as} {...rest} bind:this={ref}>
33
35
  {@render children?.()}
@@ -15,4 +15,6 @@
15
15
  const mergedProps = $derived(mergeProps(fieldset?.().getErrorTextProps(), props))
16
16
  </script>
17
17
 
18
- <Ark as="span" bind:ref {...mergedProps} />
18
+ {#if fieldset?.().invalid}
19
+ <Ark as="span" bind:ref {...mergedProps} />
20
+ {/if}
@@ -17,6 +17,11 @@ export interface UseFieldsetProps {
17
17
  export type UseFieldsetReturn = ReturnType<typeof useFieldset>;
18
18
  export declare const useFieldset: (inProps?: MaybeFunction<UseFieldsetProps>) => () => {
19
19
  setRootRef: (el: Element | null) => void;
20
+ ids: {
21
+ legend: string;
22
+ errorText: string;
23
+ helperText: string;
24
+ };
20
25
  disabled: boolean;
21
26
  invalid: boolean;
22
27
  getRootProps: () => HTMLProps<"fieldset">;