@ark-ui/react 3.2.0 → 3.3.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 (172) hide show
  1. package/README.md +21 -17
  2. package/dist/components/checkbox/checkbox-group.cjs +27 -0
  3. package/dist/components/checkbox/checkbox-group.d.cts +8 -0
  4. package/dist/components/checkbox/checkbox-group.d.ts +8 -0
  5. package/dist/components/checkbox/checkbox-group.js +23 -0
  6. package/dist/components/checkbox/checkbox.cjs +2 -0
  7. package/dist/components/checkbox/checkbox.d.cts +1 -0
  8. package/dist/components/checkbox/checkbox.d.ts +1 -0
  9. package/dist/components/checkbox/checkbox.js +1 -0
  10. package/dist/components/checkbox/index.cjs +6 -0
  11. package/dist/components/checkbox/index.d.cts +3 -0
  12. package/dist/components/checkbox/index.d.ts +3 -0
  13. package/dist/components/checkbox/index.js +3 -0
  14. package/dist/components/checkbox/use-checkbox-group-context.cjs +16 -0
  15. package/dist/components/checkbox/use-checkbox-group-context.d.cts +6 -0
  16. package/dist/components/checkbox/use-checkbox-group-context.d.ts +6 -0
  17. package/dist/components/checkbox/use-checkbox-group-context.js +11 -0
  18. package/dist/components/checkbox/use-checkbox-group.cjs +60 -0
  19. package/dist/components/checkbox/use-checkbox-group.d.cts +41 -0
  20. package/dist/components/checkbox/use-checkbox-group.d.ts +41 -0
  21. package/dist/components/checkbox/use-checkbox-group.js +56 -0
  22. package/dist/components/checkbox/use-checkbox.cjs +6 -1
  23. package/dist/components/checkbox/use-checkbox.d.cts +1 -1
  24. package/dist/components/checkbox/use-checkbox.d.ts +1 -1
  25. package/dist/components/checkbox/use-checkbox.js +8 -3
  26. package/dist/components/combobox/combobox-list.cjs +19 -0
  27. package/dist/components/combobox/combobox-list.d.cts +6 -0
  28. package/dist/components/combobox/combobox-list.d.ts +6 -0
  29. package/dist/components/combobox/combobox-list.js +15 -0
  30. package/dist/components/combobox/combobox.cjs +2 -0
  31. package/dist/components/combobox/combobox.d.cts +1 -0
  32. package/dist/components/combobox/combobox.d.ts +1 -0
  33. package/dist/components/combobox/combobox.js +1 -0
  34. package/dist/components/combobox/index.cjs +2 -0
  35. package/dist/components/combobox/index.d.cts +1 -0
  36. package/dist/components/combobox/index.d.ts +1 -0
  37. package/dist/components/combobox/index.js +1 -0
  38. package/dist/components/hover-card/use-hover-card.cjs +1 -1
  39. package/dist/components/hover-card/use-hover-card.js +1 -1
  40. package/dist/components/index.cjs +50 -0
  41. package/dist/components/index.d.cts +2 -0
  42. package/dist/components/index.d.ts +2 -0
  43. package/dist/components/index.js +27 -0
  44. package/dist/components/menu/use-menu-item-group-context.d.cts +0 -1
  45. package/dist/components/menu/use-menu-item-group-context.d.ts +0 -1
  46. package/dist/components/popover/use-popover.cjs +1 -1
  47. package/dist/components/popover/use-popover.js +1 -1
  48. package/dist/components/presence/split-presence-props.cjs +1 -0
  49. package/dist/components/presence/split-presence-props.d.cts +1 -1
  50. package/dist/components/presence/split-presence-props.d.ts +1 -1
  51. package/dist/components/presence/split-presence-props.js +1 -0
  52. package/dist/components/qr-code/index.cjs +25 -0
  53. package/dist/components/qr-code/index.d.cts +10 -0
  54. package/dist/components/qr-code/index.d.ts +10 -0
  55. package/dist/components/qr-code/index.js +10 -0
  56. package/dist/components/qr-code/qr-code-context.cjs +10 -0
  57. package/dist/components/qr-code/qr-code-context.d.cts +7 -0
  58. package/dist/components/qr-code/qr-code-context.d.ts +7 -0
  59. package/dist/components/qr-code/qr-code-context.js +6 -0
  60. package/dist/components/qr-code/qr-code-frame.cjs +19 -0
  61. package/dist/components/qr-code/qr-code-frame.d.cts +6 -0
  62. package/dist/components/qr-code/qr-code-frame.d.ts +6 -0
  63. package/dist/components/qr-code/qr-code-frame.js +15 -0
  64. package/dist/components/qr-code/qr-code-overlay.cjs +19 -0
  65. package/dist/components/qr-code/qr-code-overlay.d.cts +6 -0
  66. package/dist/components/qr-code/qr-code-overlay.d.ts +6 -0
  67. package/dist/components/qr-code/qr-code-overlay.js +15 -0
  68. package/dist/components/qr-code/qr-code-pattern.cjs +19 -0
  69. package/dist/components/qr-code/qr-code-pattern.d.cts +6 -0
  70. package/dist/components/qr-code/qr-code-pattern.d.ts +6 -0
  71. package/dist/components/qr-code/qr-code-pattern.js +15 -0
  72. package/dist/components/qr-code/qr-code-root-provider.cjs +22 -0
  73. package/dist/components/qr-code/qr-code-root-provider.d.cts +11 -0
  74. package/dist/components/qr-code/qr-code-root-provider.d.ts +11 -0
  75. package/dist/components/qr-code/qr-code-root-provider.js +18 -0
  76. package/dist/components/qr-code/qr-code-root.cjs +27 -0
  77. package/dist/components/qr-code/qr-code-root.d.cts +8 -0
  78. package/dist/components/qr-code/qr-code-root.d.ts +8 -0
  79. package/dist/components/qr-code/qr-code-root.js +23 -0
  80. package/dist/components/qr-code/qr-code.cjs +19 -0
  81. package/dist/components/qr-code/qr-code.d.cts +7 -0
  82. package/dist/components/qr-code/qr-code.d.ts +7 -0
  83. package/dist/components/qr-code/qr-code.js +6 -0
  84. package/dist/components/qr-code/use-qr-code-context.cjs +15 -0
  85. package/dist/components/qr-code/use-qr-code-context.d.cts +6 -0
  86. package/dist/components/qr-code/use-qr-code-context.d.ts +6 -0
  87. package/dist/components/qr-code/use-qr-code-context.js +10 -0
  88. package/dist/components/qr-code/use-qr-code.cjs +44 -0
  89. package/dist/components/qr-code/use-qr-code.d.cts +8 -0
  90. package/dist/components/qr-code/use-qr-code.d.ts +8 -0
  91. package/dist/components/qr-code/use-qr-code.js +21 -0
  92. package/dist/components/select/index.cjs +2 -0
  93. package/dist/components/select/index.d.cts +1 -0
  94. package/dist/components/select/index.d.ts +1 -0
  95. package/dist/components/select/index.js +1 -0
  96. package/dist/components/select/select-list.cjs +19 -0
  97. package/dist/components/select/select-list.d.cts +6 -0
  98. package/dist/components/select/select-list.d.ts +6 -0
  99. package/dist/components/select/select-list.js +15 -0
  100. package/dist/components/select/select.cjs +2 -0
  101. package/dist/components/select/select.d.cts +1 -0
  102. package/dist/components/select/select.d.ts +1 -0
  103. package/dist/components/select/select.js +1 -0
  104. package/dist/components/signature-pad/index.cjs +29 -0
  105. package/dist/components/signature-pad/index.d.cts +12 -0
  106. package/dist/components/signature-pad/index.d.ts +12 -0
  107. package/dist/components/signature-pad/index.js +12 -0
  108. package/dist/components/signature-pad/signature-pad-clear-trigger.cjs +19 -0
  109. package/dist/components/signature-pad/signature-pad-clear-trigger.d.cts +6 -0
  110. package/dist/components/signature-pad/signature-pad-clear-trigger.d.ts +6 -0
  111. package/dist/components/signature-pad/signature-pad-clear-trigger.js +15 -0
  112. package/dist/components/signature-pad/signature-pad-context.cjs +10 -0
  113. package/dist/components/signature-pad/signature-pad-context.d.cts +7 -0
  114. package/dist/components/signature-pad/signature-pad-context.d.ts +7 -0
  115. package/dist/components/signature-pad/signature-pad-context.js +6 -0
  116. package/dist/components/signature-pad/signature-pad-control.cjs +21 -0
  117. package/dist/components/signature-pad/signature-pad-control.d.cts +6 -0
  118. package/dist/components/signature-pad/signature-pad-control.d.ts +6 -0
  119. package/dist/components/signature-pad/signature-pad-control.js +17 -0
  120. package/dist/components/signature-pad/signature-pad-guide.cjs +21 -0
  121. package/dist/components/signature-pad/signature-pad-guide.d.cts +6 -0
  122. package/dist/components/signature-pad/signature-pad-guide.d.ts +6 -0
  123. package/dist/components/signature-pad/signature-pad-guide.js +17 -0
  124. package/dist/components/signature-pad/signature-pad-label.cjs +21 -0
  125. package/dist/components/signature-pad/signature-pad-label.d.cts +6 -0
  126. package/dist/components/signature-pad/signature-pad-label.d.ts +6 -0
  127. package/dist/components/signature-pad/signature-pad-label.js +17 -0
  128. package/dist/components/signature-pad/signature-pad-root-provider.cjs +24 -0
  129. package/dist/components/signature-pad/signature-pad-root-provider.d.cts +11 -0
  130. package/dist/components/signature-pad/signature-pad-root-provider.d.ts +11 -0
  131. package/dist/components/signature-pad/signature-pad-root-provider.js +20 -0
  132. package/dist/components/signature-pad/signature-pad-root.cjs +31 -0
  133. package/dist/components/signature-pad/signature-pad-root.d.cts +8 -0
  134. package/dist/components/signature-pad/signature-pad-root.d.ts +8 -0
  135. package/dist/components/signature-pad/signature-pad-root.js +27 -0
  136. package/dist/components/signature-pad/signature-pad-segment.cjs +25 -0
  137. package/dist/components/signature-pad/signature-pad-segment.d.cts +6 -0
  138. package/dist/components/signature-pad/signature-pad-segment.d.ts +6 -0
  139. package/dist/components/signature-pad/signature-pad-segment.js +21 -0
  140. package/dist/components/signature-pad/signature-pad.cjs +23 -0
  141. package/dist/components/signature-pad/signature-pad.d.cts +9 -0
  142. package/dist/components/signature-pad/signature-pad.d.ts +9 -0
  143. package/dist/components/signature-pad/signature-pad.js +8 -0
  144. package/dist/components/signature-pad/use-signature-pad-context.cjs +17 -0
  145. package/dist/components/signature-pad/use-signature-pad-context.d.cts +6 -0
  146. package/dist/components/signature-pad/use-signature-pad-context.d.ts +6 -0
  147. package/dist/components/signature-pad/use-signature-pad-context.js +12 -0
  148. package/dist/components/signature-pad/use-signature-pad.cjs +51 -0
  149. package/dist/components/signature-pad/use-signature-pad.d.cts +9 -0
  150. package/dist/components/signature-pad/use-signature-pad.d.ts +9 -0
  151. package/dist/components/signature-pad/use-signature-pad.js +28 -0
  152. package/dist/components/tabs/tab-content.cjs +2 -1
  153. package/dist/components/tabs/tab-content.js +2 -1
  154. package/dist/components/tree-view/use-tree-view-depth-context.d.cts +0 -1
  155. package/dist/components/tree-view/use-tree-view-depth-context.d.ts +0 -1
  156. package/dist/components/tree-view/use-tree-view.cjs +2 -0
  157. package/dist/components/tree-view/use-tree-view.js +2 -0
  158. package/dist/index.cjs +50 -0
  159. package/dist/index.js +27 -0
  160. package/dist/providers/environment/use-environment-context.d.cts +0 -1
  161. package/dist/providers/environment/use-environment-context.d.ts +0 -1
  162. package/dist/utils/compose-refs.d.cts +0 -1
  163. package/dist/utils/compose-refs.d.ts +0 -1
  164. package/dist/utils/create-context.d.cts +0 -1
  165. package/dist/utils/create-context.d.ts +0 -1
  166. package/dist/utils/render-strategy.d.cts +0 -1
  167. package/dist/utils/render-strategy.d.ts +0 -1
  168. package/dist/utils/use-controllable-state.cjs +26 -0
  169. package/dist/utils/use-controllable-state.d.cts +1 -1
  170. package/dist/utils/use-controllable-state.d.ts +1 -1
  171. package/dist/utils/use-controllable-state.js +22 -0
  172. package/package.json +74 -49
@@ -15,7 +15,8 @@ const TabContent = forwardRef((props, ref) => {
15
15
  const renderStrategyProps = useRenderStrategyPropsContext();
16
16
  const presence = usePresence({
17
17
  ...renderStrategyProps,
18
- present: tabs.value === props.value
18
+ present: tabs.value === props.value,
19
+ immediate: true
19
20
  });
20
21
  const mergedProps = mergeProps(
21
22
  tabs.getContentProps(contentProps),
@@ -1,4 +1,3 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export type UseTreeViewDepthContext = number;
4
3
  export declare const TreeViewDepthProvider: Provider<number>, useTreeViewDepthContext: () => number;
@@ -1,4 +1,3 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export type UseTreeViewDepthContext = number;
4
3
  export declare const TreeViewDepthProvider: Provider<number>, useTreeViewDepthContext: () => number;
@@ -42,6 +42,8 @@ const useTreeView = (props = {}) => {
42
42
  };
43
43
  const context = {
44
44
  ...initialContext,
45
+ selectedValue: props.selectedValue,
46
+ expandedValue: props.expandedValue,
45
47
  onFocusChange: useEvent.useEvent(props.onFocusChange, { sync: true }),
46
48
  onExpandedChange: useEvent.useEvent(props.onExpandedChange),
47
49
  onSelectionChange: useEvent.useEvent(props.onSelectionChange)
@@ -19,6 +19,8 @@ const useTreeView = (props = {}) => {
19
19
  };
20
20
  const context = {
21
21
  ...initialContext,
22
+ selectedValue: props.selectedValue,
23
+ expandedValue: props.expandedValue,
22
24
  onFocusChange: useEvent(props.onFocusChange, { sync: true }),
23
25
  onExpandedChange: useEvent(props.onExpandedChange),
24
26
  onSelectionChange: useEvent(props.onSelectionChange)
package/dist/index.cjs CHANGED
@@ -38,6 +38,7 @@ const useCarouselContext = require('./components/carousel/use-carousel-context.c
38
38
  const carousel = require('./components/carousel/carousel.cjs');
39
39
  const checkboxContext = require('./components/checkbox/checkbox-context.cjs');
40
40
  const checkboxControl = require('./components/checkbox/checkbox-control.cjs');
41
+ const checkboxGroup = require('./components/checkbox/checkbox-group.cjs');
41
42
  const checkboxHiddenInput = require('./components/checkbox/checkbox-hidden-input.cjs');
42
43
  const checkboxIndicator = require('./components/checkbox/checkbox-indicator.cjs');
43
44
  const checkboxLabel = require('./components/checkbox/checkbox-label.cjs');
@@ -45,6 +46,8 @@ const checkboxRoot = require('./components/checkbox/checkbox-root.cjs');
45
46
  const checkboxRootProvider = require('./components/checkbox/checkbox-root-provider.cjs');
46
47
  const useCheckbox = require('./components/checkbox/use-checkbox.cjs');
47
48
  const useCheckboxContext = require('./components/checkbox/use-checkbox-context.cjs');
49
+ const useCheckboxGroup = require('./components/checkbox/use-checkbox-group.cjs');
50
+ const useCheckboxGroupContext = require('./components/checkbox/use-checkbox-group-context.cjs');
48
51
  const checkbox = require('./components/checkbox/checkbox.cjs');
49
52
  const clipboardContext = require('./components/clipboard/clipboard-context.cjs');
50
53
  const clipboardControl = require('./components/clipboard/clipboard-control.cjs');
@@ -106,6 +109,7 @@ const comboboxItemGroupLabel = require('./components/combobox/combobox-item-grou
106
109
  const comboboxItemIndicator = require('./components/combobox/combobox-item-indicator.cjs');
107
110
  const comboboxItemText = require('./components/combobox/combobox-item-text.cjs');
108
111
  const comboboxLabel = require('./components/combobox/combobox-label.cjs');
112
+ const comboboxList = require('./components/combobox/combobox-list.cjs');
109
113
  const comboboxPositioner = require('./components/combobox/combobox-positioner.cjs');
110
114
  const comboboxRoot = require('./components/combobox/combobox-root.cjs');
111
115
  const comboboxRootProvider = require('./components/combobox/combobox-root-provider.cjs');
@@ -294,6 +298,15 @@ const progressView = require('./components/progress/progress-view.cjs');
294
298
  const useProgress = require('./components/progress/use-progress.cjs');
295
299
  const useProgressContext = require('./components/progress/use-progress-context.cjs');
296
300
  const progress = require('./components/progress/progress.cjs');
301
+ const qrCodeContext = require('./components/qr-code/qr-code-context.cjs');
302
+ const qrCodeFrame = require('./components/qr-code/qr-code-frame.cjs');
303
+ const qrCodeOverlay = require('./components/qr-code/qr-code-overlay.cjs');
304
+ const qrCodePattern = require('./components/qr-code/qr-code-pattern.cjs');
305
+ const qrCodeRoot = require('./components/qr-code/qr-code-root.cjs');
306
+ const qrCodeRootProvider = require('./components/qr-code/qr-code-root-provider.cjs');
307
+ const useQrCode = require('./components/qr-code/use-qr-code.cjs');
308
+ const useQrCodeContext = require('./components/qr-code/use-qr-code-context.cjs');
309
+ const qrCode = require('./components/qr-code/qr-code.cjs');
297
310
  const radioGroupContext = require('./components/radio-group/radio-group-context.cjs');
298
311
  const radioGroupIndicator = require('./components/radio-group/radio-group-indicator.cjs');
299
312
  const radioGroupItem = require('./components/radio-group/radio-group-item.cjs');
@@ -347,6 +360,7 @@ const selectItemGroupLabel = require('./components/select/select-item-group-labe
347
360
  const selectItemIndicator = require('./components/select/select-item-indicator.cjs');
348
361
  const selectItemText = require('./components/select/select-item-text.cjs');
349
362
  const selectLabel = require('./components/select/select-label.cjs');
363
+ const selectList = require('./components/select/select-list.cjs');
350
364
  const selectPositioner = require('./components/select/select-positioner.cjs');
351
365
  const selectRoot = require('./components/select/select-root.cjs');
352
366
  const selectRootProvider = require('./components/select/select-root-provider.cjs');
@@ -356,6 +370,17 @@ const useSelect = require('./components/select/use-select.cjs');
356
370
  const useSelectContext = require('./components/select/use-select-context.cjs');
357
371
  const useSelectItemContext = require('./components/select/use-select-item-context.cjs');
358
372
  const select = require('./components/select/select.cjs');
373
+ const signaturePadClearTrigger = require('./components/signature-pad/signature-pad-clear-trigger.cjs');
374
+ const signaturePadContext = require('./components/signature-pad/signature-pad-context.cjs');
375
+ const signaturePadControl = require('./components/signature-pad/signature-pad-control.cjs');
376
+ const signaturePadGuide = require('./components/signature-pad/signature-pad-guide.cjs');
377
+ const signaturePadLabel = require('./components/signature-pad/signature-pad-label.cjs');
378
+ const signaturePadRoot = require('./components/signature-pad/signature-pad-root.cjs');
379
+ const signaturePadRootProvider = require('./components/signature-pad/signature-pad-root-provider.cjs');
380
+ const signaturePadSegment = require('./components/signature-pad/signature-pad-segment.cjs');
381
+ const useSignaturePad = require('./components/signature-pad/use-signature-pad.cjs');
382
+ const useSignaturePadContext = require('./components/signature-pad/use-signature-pad-context.cjs');
383
+ const signaturePad = require('./components/signature-pad/signature-pad.cjs');
359
384
  const sliderContext = require('./components/slider/slider-context.cjs');
360
385
  const sliderControl = require('./components/slider/slider-control.cjs');
361
386
  const sliderHiddenInput = require('./components/slider/slider-hidden-input.cjs');
@@ -507,6 +532,7 @@ exports.useCarouselContext = useCarouselContext.useCarouselContext;
507
532
  exports.Carousel = carousel;
508
533
  exports.CheckboxContext = checkboxContext.CheckboxContext;
509
534
  exports.CheckboxControl = checkboxControl.CheckboxControl;
535
+ exports.CheckboxGroup = checkboxGroup.CheckboxGroup;
510
536
  exports.CheckboxHiddenInput = checkboxHiddenInput.CheckboxHiddenInput;
511
537
  exports.CheckboxIndicator = checkboxIndicator.CheckboxIndicator;
512
538
  exports.CheckboxLabel = checkboxLabel.CheckboxLabel;
@@ -514,6 +540,8 @@ exports.CheckboxRoot = checkboxRoot.CheckboxRoot;
514
540
  exports.CheckboxRootProvider = checkboxRootProvider.CheckboxRootProvider;
515
541
  exports.useCheckbox = useCheckbox.useCheckbox;
516
542
  exports.useCheckboxContext = useCheckboxContext.useCheckboxContext;
543
+ exports.useCheckboxGroup = useCheckboxGroup.useCheckboxGroup;
544
+ exports.useCheckboxGroupContext = useCheckboxGroupContext.useCheckboxGroupContext;
517
545
  exports.Checkbox = checkbox;
518
546
  exports.ClipboardContext = clipboardContext.ClipboardContext;
519
547
  exports.ClipboardControl = clipboardControl.ClipboardControl;
@@ -575,6 +603,7 @@ exports.ComboboxItemGroupLabel = comboboxItemGroupLabel.ComboboxItemGroupLabel;
575
603
  exports.ComboboxItemIndicator = comboboxItemIndicator.ComboboxItemIndicator;
576
604
  exports.ComboboxItemText = comboboxItemText.ComboboxItemText;
577
605
  exports.ComboboxLabel = comboboxLabel.ComboboxLabel;
606
+ exports.ComboboxList = comboboxList.ComboboxList;
578
607
  exports.ComboboxPositioner = comboboxPositioner.ComboboxPositioner;
579
608
  exports.ComboboxRoot = comboboxRoot.ComboboxRoot;
580
609
  exports.ComboboxRootProvider = comboboxRootProvider.ComboboxRootProvider;
@@ -765,6 +794,15 @@ exports.ProgressView = progressView.ProgressView;
765
794
  exports.useProgress = useProgress.useProgress;
766
795
  exports.useProgressContext = useProgressContext.useProgressContext;
767
796
  exports.Progress = progress;
797
+ exports.QrCodeContext = qrCodeContext.QrCodeContext;
798
+ exports.QrCodeFrame = qrCodeFrame.QrCodeFrame;
799
+ exports.QrCodeOverlay = qrCodeOverlay.QrCodeOverlay;
800
+ exports.QrCodePattern = qrCodePattern.QrCodePattern;
801
+ exports.QrCodeRoot = qrCodeRoot.QrCodeRoot;
802
+ exports.QrCodeRootProvider = qrCodeRootProvider.QrCodeRootProvider;
803
+ exports.useQrCode = useQrCode.useQrCode;
804
+ exports.useQrCodeContext = useQrCodeContext.useQrCodeContext;
805
+ exports.QrCode = qrCode;
768
806
  exports.RadioGroupContext = radioGroupContext.RadioGroupContext;
769
807
  exports.RadioGroupIndicator = radioGroupIndicator.RadioGroupIndicator;
770
808
  exports.RadioGroupItem = radioGroupItem.RadioGroupItem;
@@ -818,6 +856,7 @@ exports.SelectItemGroupLabel = selectItemGroupLabel.SelectItemGroupLabel;
818
856
  exports.SelectItemIndicator = selectItemIndicator.SelectItemIndicator;
819
857
  exports.SelectItemText = selectItemText.SelectItemText;
820
858
  exports.SelectLabel = selectLabel.SelectLabel;
859
+ exports.SelectList = selectList.SelectList;
821
860
  exports.SelectPositioner = selectPositioner.SelectPositioner;
822
861
  exports.SelectRoot = selectRoot.SelectRoot;
823
862
  exports.SelectRootProvider = selectRootProvider.SelectRootProvider;
@@ -827,6 +866,17 @@ exports.useSelect = useSelect.useSelect;
827
866
  exports.useSelectContext = useSelectContext.useSelectContext;
828
867
  exports.useSelectItemContext = useSelectItemContext.useSelectItemContext;
829
868
  exports.Select = select;
869
+ exports.SignaturePadClearTrigger = signaturePadClearTrigger.SignaturePadClearTrigger;
870
+ exports.SignaturePadContext = signaturePadContext.SignaturePadContext;
871
+ exports.SignaturePadControl = signaturePadControl.SignaturePadControl;
872
+ exports.SignaturePadGuide = signaturePadGuide.SignaturePadGuide;
873
+ exports.SignaturePadLabel = signaturePadLabel.SignaturePadLabel;
874
+ exports.SignaturePadRoot = signaturePadRoot.SignaturePadRoot;
875
+ exports.SignaturePadRootProvider = signaturePadRootProvider.SignaturePadRootProvider;
876
+ exports.SignaturePadSegment = signaturePadSegment.SignaturePadSegment;
877
+ exports.useSignaturePad = useSignaturePad.useSignaturePad;
878
+ exports.useSignaturePadContext = useSignaturePadContext.useSignaturePadContext;
879
+ exports.SignaturePad = signaturePad;
830
880
  exports.SliderContext = sliderContext.SliderContext;
831
881
  exports.SliderControl = sliderControl.SliderControl;
832
882
  exports.SliderHiddenInput = sliderHiddenInput.SliderHiddenInput;
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ import * as carousel from './components/carousel/carousel.js';
37
37
  export { carousel as Carousel };
38
38
  export { CheckboxContext } from './components/checkbox/checkbox-context.js';
39
39
  export { CheckboxControl } from './components/checkbox/checkbox-control.js';
40
+ export { CheckboxGroup } from './components/checkbox/checkbox-group.js';
40
41
  export { CheckboxHiddenInput } from './components/checkbox/checkbox-hidden-input.js';
41
42
  export { CheckboxIndicator } from './components/checkbox/checkbox-indicator.js';
42
43
  export { CheckboxLabel } from './components/checkbox/checkbox-label.js';
@@ -44,6 +45,8 @@ export { CheckboxRoot } from './components/checkbox/checkbox-root.js';
44
45
  export { CheckboxRootProvider } from './components/checkbox/checkbox-root-provider.js';
45
46
  export { useCheckbox } from './components/checkbox/use-checkbox.js';
46
47
  export { useCheckboxContext } from './components/checkbox/use-checkbox-context.js';
48
+ export { useCheckboxGroup } from './components/checkbox/use-checkbox-group.js';
49
+ export { useCheckboxGroupContext } from './components/checkbox/use-checkbox-group-context.js';
47
50
  import * as checkbox from './components/checkbox/checkbox.js';
48
51
  export { checkbox as Checkbox };
49
52
  export { ClipboardContext } from './components/clipboard/clipboard-context.js';
@@ -109,6 +112,7 @@ export { ComboboxItemGroupLabel } from './components/combobox/combobox-item-grou
109
112
  export { ComboboxItemIndicator } from './components/combobox/combobox-item-indicator.js';
110
113
  export { ComboboxItemText } from './components/combobox/combobox-item-text.js';
111
114
  export { ComboboxLabel } from './components/combobox/combobox-label.js';
115
+ export { ComboboxList } from './components/combobox/combobox-list.js';
112
116
  export { ComboboxPositioner } from './components/combobox/combobox-positioner.js';
113
117
  export { ComboboxRoot } from './components/combobox/combobox-root.js';
114
118
  export { ComboboxRootProvider } from './components/combobox/combobox-root-provider.js';
@@ -310,6 +314,16 @@ export { useProgress } from './components/progress/use-progress.js';
310
314
  export { useProgressContext } from './components/progress/use-progress-context.js';
311
315
  import * as progress from './components/progress/progress.js';
312
316
  export { progress as Progress };
317
+ export { QrCodeContext } from './components/qr-code/qr-code-context.js';
318
+ export { QrCodeFrame } from './components/qr-code/qr-code-frame.js';
319
+ export { QrCodeOverlay } from './components/qr-code/qr-code-overlay.js';
320
+ export { QrCodePattern } from './components/qr-code/qr-code-pattern.js';
321
+ export { QrCodeRoot } from './components/qr-code/qr-code-root.js';
322
+ export { QrCodeRootProvider } from './components/qr-code/qr-code-root-provider.js';
323
+ export { useQrCode } from './components/qr-code/use-qr-code.js';
324
+ export { useQrCodeContext } from './components/qr-code/use-qr-code-context.js';
325
+ import * as qrCode from './components/qr-code/qr-code.js';
326
+ export { qrCode as QrCode };
313
327
  export { RadioGroupContext } from './components/radio-group/radio-group-context.js';
314
328
  export { RadioGroupIndicator } from './components/radio-group/radio-group-indicator.js';
315
329
  export { RadioGroupItem } from './components/radio-group/radio-group-item.js';
@@ -366,6 +380,7 @@ export { SelectItemGroupLabel } from './components/select/select-item-group-labe
366
380
  export { SelectItemIndicator } from './components/select/select-item-indicator.js';
367
381
  export { SelectItemText } from './components/select/select-item-text.js';
368
382
  export { SelectLabel } from './components/select/select-label.js';
383
+ export { SelectList } from './components/select/select-list.js';
369
384
  export { SelectPositioner } from './components/select/select-positioner.js';
370
385
  export { SelectRoot } from './components/select/select-root.js';
371
386
  export { SelectRootProvider } from './components/select/select-root-provider.js';
@@ -376,6 +391,18 @@ export { useSelectContext } from './components/select/use-select-context.js';
376
391
  export { useSelectItemContext } from './components/select/use-select-item-context.js';
377
392
  import * as select from './components/select/select.js';
378
393
  export { select as Select };
394
+ export { SignaturePadClearTrigger } from './components/signature-pad/signature-pad-clear-trigger.js';
395
+ export { SignaturePadContext } from './components/signature-pad/signature-pad-context.js';
396
+ export { SignaturePadControl } from './components/signature-pad/signature-pad-control.js';
397
+ export { SignaturePadGuide } from './components/signature-pad/signature-pad-guide.js';
398
+ export { SignaturePadLabel } from './components/signature-pad/signature-pad-label.js';
399
+ export { SignaturePadRoot } from './components/signature-pad/signature-pad-root.js';
400
+ export { SignaturePadRootProvider } from './components/signature-pad/signature-pad-root-provider.js';
401
+ export { SignaturePadSegment } from './components/signature-pad/signature-pad-segment.js';
402
+ export { useSignaturePad } from './components/signature-pad/use-signature-pad.js';
403
+ export { useSignaturePadContext } from './components/signature-pad/use-signature-pad-context.js';
404
+ import * as signaturePad from './components/signature-pad/signature-pad.js';
405
+ export { signaturePad as SignaturePad };
379
406
  export { SliderContext } from './components/slider/slider-context.js';
380
407
  export { SliderControl } from './components/slider/slider-control.js';
381
408
  export { SliderHiddenInput } from './components/slider/slider-hidden-input.js';
@@ -1,5 +1,4 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export type RootNode = ShadowRoot | Document | Node;
4
3
  export interface EnvironmentContext {
5
4
  /**
@@ -1,5 +1,4 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export type RootNode = ShadowRoot | Document | Node;
4
3
  export interface EnvironmentContext {
5
4
  /**
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type PossibleRef<T> = React.Ref<T> | undefined;
3
2
  export declare function composeRefs<T>(...refs: PossibleRef<T>[]): (node: T) => void;
4
3
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type PossibleRef<T> = React.Ref<T> | undefined;
3
2
  export declare function composeRefs<T>(...refs: PossibleRef<T>[]): (node: T) => void;
4
3
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface CreateContextOptions<T> {
3
2
  strict?: boolean;
4
3
  hookName?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface CreateContextOptions<T> {
3
2
  strict?: boolean;
4
3
  hookName?: string;
@@ -1,5 +1,4 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export interface RenderStrategyProps {
4
3
  /**
5
4
  * Whether to enable lazy mounting
@@ -1,5 +1,4 @@
1
1
  import { Provider } from 'react';
2
- /// <reference types="react" />
3
2
  export interface RenderStrategyProps {
4
3
  /**
5
4
  * Whether to enable lazy mounting
@@ -0,0 +1,26 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const react = require('react');
7
+
8
+ function useControllableState(props) {
9
+ const { value, onChange, defaultValue } = props;
10
+ const [uncontrolledValue, setUncontrolledValue] = react.useState(defaultValue);
11
+ const controlled = value !== void 0;
12
+ const currentValue = controlled ? value : uncontrolledValue;
13
+ const setValue = react.useCallback(
14
+ (value2) => {
15
+ if (controlled) {
16
+ return onChange?.(value2);
17
+ }
18
+ setUncontrolledValue(value2);
19
+ return onChange?.(value2);
20
+ },
21
+ [controlled, onChange]
22
+ );
23
+ return [currentValue, setValue];
24
+ }
25
+
26
+ exports.useControllableState = useControllableState;
@@ -1,6 +1,6 @@
1
1
  export interface UseControllableStateProps<T> {
2
2
  value?: T;
3
- onChange?: (value: T) => void;
4
3
  defaultValue?: T;
4
+ onChange?: (value: T) => void;
5
5
  }
6
6
  export declare function useControllableState<T>(props: UseControllableStateProps<T>): readonly [T, (value: T) => void | undefined];
@@ -1,6 +1,6 @@
1
1
  export interface UseControllableStateProps<T> {
2
2
  value?: T;
3
- onChange?: (value: T) => void;
4
3
  defaultValue?: T;
4
+ onChange?: (value: T) => void;
5
5
  }
6
6
  export declare function useControllableState<T>(props: UseControllableStateProps<T>): readonly [T, (value: T) => void | undefined];
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { useState, useCallback } from 'react';
3
+
4
+ function useControllableState(props) {
5
+ const { value, onChange, defaultValue } = props;
6
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
7
+ const controlled = value !== void 0;
8
+ const currentValue = controlled ? value : uncontrolledValue;
9
+ const setValue = useCallback(
10
+ (value2) => {
11
+ if (controlled) {
12
+ return onChange?.(value2);
13
+ }
14
+ setUncontrolledValue(value2);
15
+ return onChange?.(value2);
16
+ },
17
+ [controlled, onChange]
18
+ );
19
+ return [currentValue, setValue];
20
+ }
21
+
22
+ export { useControllableState };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ark-ui/react",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
5
5
  "keywords": [
6
6
  "accordion",
@@ -27,6 +27,7 @@
27
27
  "rating group",
28
28
  "segment group",
29
29
  "select",
30
+ "signature pad",
30
31
  "slider",
31
32
  "splitter",
32
33
  "switch",
@@ -319,6 +320,17 @@
319
320
  "default": "./dist/components/progress/index.cjs"
320
321
  }
321
322
  },
323
+ "./qr-code": {
324
+ "source": "./src/components/qr-code/index.ts",
325
+ "import": {
326
+ "types": "./dist/components/qr-code/index.d.ts",
327
+ "default": "./dist/components/qr-code/index.js"
328
+ },
329
+ "require": {
330
+ "types": "./dist/components/qr-code/index.d.cts",
331
+ "default": "./dist/components/qr-code/index.cjs"
332
+ }
333
+ },
322
334
  "./radio-group": {
323
335
  "source": "./src/components/radio-group/index.ts",
324
336
  "import": {
@@ -363,6 +375,17 @@
363
375
  "default": "./dist/components/select/index.cjs"
364
376
  }
365
377
  },
378
+ "./signature-pad": {
379
+ "source": "./src/components/signature-pad/index.ts",
380
+ "import": {
381
+ "types": "./dist/components/signature-pad/index.d.ts",
382
+ "default": "./dist/components/signature-pad/index.js"
383
+ },
384
+ "require": {
385
+ "types": "./dist/components/signature-pad/index.d.cts",
386
+ "default": "./dist/components/signature-pad/index.cjs"
387
+ }
388
+ },
366
389
  "./slider": {
367
390
  "source": "./src/components/slider/index.ts",
368
391
  "import": {
@@ -499,67 +522,68 @@
499
522
  },
500
523
  "sideEffects": false,
501
524
  "dependencies": {
502
- "@ark-ui/anatomy": "^3.2.0",
503
- "@zag-js/accordion": "0.54.0",
504
- "@zag-js/avatar": "0.54.0",
505
- "@zag-js/carousel": "0.54.0",
506
- "@zag-js/checkbox": "0.54.0",
507
- "@zag-js/clipboard": "0.54.0",
508
- "@zag-js/collapsible": "0.54.0",
509
- "@zag-js/color-picker": "0.54.0",
510
- "@zag-js/color-utils": "0.54.0",
511
- "@zag-js/combobox": "0.54.0",
512
- "@zag-js/core": "0.54.0",
513
- "@zag-js/date-picker": "0.54.0",
514
- "@zag-js/date-utils": "0.54.0",
515
- "@zag-js/dom-query": "0.54.0",
516
- "@zag-js/dialog": "0.54.0",
517
- "@zag-js/editable": "0.54.0",
518
- "@zag-js/file-upload": "0.54.0",
519
- "@zag-js/file-utils": "0.54.0",
520
- "@zag-js/hover-card": "0.54.0",
521
- "@zag-js/i18n-utils": "0.54.0",
522
- "@zag-js/menu": "0.54.0",
523
- "@zag-js/number-input": "0.54.0",
524
- "@zag-js/pagination": "0.54.0",
525
- "@zag-js/pin-input": "0.54.0",
526
- "@zag-js/popover": "0.54.0",
527
- "@zag-js/presence": "0.54.0",
528
- "@zag-js/progress": "0.54.0",
529
- "@zag-js/radio-group": "0.54.0",
530
- "@zag-js/rating-group": "0.54.0",
531
- "@zag-js/react": "0.54.0",
532
- "@zag-js/select": "0.54.0",
533
- "@zag-js/slider": "0.54.0",
534
- "@zag-js/splitter": "0.54.0",
535
- "@zag-js/switch": "0.54.0",
536
- "@zag-js/tabs": "0.54.0",
537
- "@zag-js/tags-input": "0.54.0",
538
- "@zag-js/toast": "0.54.0",
539
- "@zag-js/toggle-group": "0.54.0",
540
- "@zag-js/tooltip": "0.54.0",
541
- "@zag-js/tree-view": "0.54.0",
542
- "@zag-js/types": "0.54.0"
525
+ "@ark-ui/anatomy": "^3.3.1",
526
+ "@zag-js/accordion": "0.56.1",
527
+ "@zag-js/avatar": "0.56.1",
528
+ "@zag-js/carousel": "0.56.1",
529
+ "@zag-js/checkbox": "0.56.1",
530
+ "@zag-js/clipboard": "0.56.1",
531
+ "@zag-js/collapsible": "0.56.1",
532
+ "@zag-js/color-picker": "0.56.1",
533
+ "@zag-js/color-utils": "0.56.1",
534
+ "@zag-js/combobox": "0.56.1",
535
+ "@zag-js/core": "0.56.1",
536
+ "@zag-js/date-picker": "0.56.1",
537
+ "@zag-js/date-utils": "0.56.1",
538
+ "@zag-js/dom-query": "0.56.1",
539
+ "@zag-js/dialog": "0.56.1",
540
+ "@zag-js/editable": "0.56.1",
541
+ "@zag-js/file-upload": "0.56.1",
542
+ "@zag-js/file-utils": "0.56.1",
543
+ "@zag-js/hover-card": "0.56.1",
544
+ "@zag-js/i18n-utils": "0.56.1",
545
+ "@zag-js/menu": "0.56.1",
546
+ "@zag-js/number-input": "0.56.1",
547
+ "@zag-js/pagination": "0.56.1",
548
+ "@zag-js/pin-input": "0.56.1",
549
+ "@zag-js/popover": "0.56.1",
550
+ "@zag-js/presence": "0.56.1",
551
+ "@zag-js/progress": "0.56.1",
552
+ "@zag-js/qr-code": "0.56.1",
553
+ "@zag-js/radio-group": "0.56.1",
554
+ "@zag-js/rating-group": "0.56.1",
555
+ "@zag-js/react": "0.56.1",
556
+ "@zag-js/select": "0.56.1",
557
+ "@zag-js/signature-pad": "0.56.1",
558
+ "@zag-js/slider": "0.56.1",
559
+ "@zag-js/splitter": "0.56.1",
560
+ "@zag-js/switch": "0.56.1",
561
+ "@zag-js/tabs": "0.56.1",
562
+ "@zag-js/tags-input": "0.56.1",
563
+ "@zag-js/toast": "0.56.1",
564
+ "@zag-js/toggle-group": "0.56.1",
565
+ "@zag-js/tooltip": "0.56.1",
566
+ "@zag-js/tree-view": "0.56.1",
567
+ "@zag-js/types": "0.56.1"
543
568
  },
544
569
  "devDependencies": {
545
- "@biomejs/biome": "1.8.0",
570
+ "@biomejs/biome": "1.8.1",
546
571
  "@release-it/keep-a-changelog": "5.0.0",
547
572
  "@storybook/addon-a11y": "8.1.6",
548
573
  "@storybook/addon-essentials": "8.1.6",
549
574
  "@storybook/react-vite": "8.1.6",
550
575
  "@storybook/react": "8.1.6",
551
576
  "@testing-library/dom": "10.1.0",
552
- "@testing-library/jest-dom": "6.4.5",
577
+ "@testing-library/jest-dom": "6.4.6",
553
578
  "@testing-library/react": "16.0.0",
554
579
  "@testing-library/user-event": "14.5.2",
555
580
  "@types/jsdom": "21.1.7",
556
581
  "@types/react": "18.3.3",
557
582
  "@types/react-dom": "18.3.0",
558
- "@types/testing-library__jest-dom": "5.14.9",
559
- "@vitejs/plugin-react": "4.3.0",
583
+ "@vitejs/plugin-react": "4.3.1",
560
584
  "globby": "14.0.1",
561
585
  "jsdom": "24.1.0",
562
- "lucide-react": "0.383.0",
586
+ "lucide-react": "0.394.0",
563
587
  "react": "18.3.1",
564
588
  "react-dom": "18.3.1",
565
589
  "react-frame-component": "5.2.7",
@@ -568,9 +592,10 @@
568
592
  "resize-observer-polyfill": "1.5.1",
569
593
  "storybook": "8.1.6",
570
594
  "typescript": "5.4.5",
571
- "vite": "5.2.12",
595
+ "vite": "5.2.13",
572
596
  "vite-plugin-dts": "3.9.1",
573
- "vitest": "1.6.0"
597
+ "vitest": "1.6.0",
598
+ "vitest-axe": "1.0.0-pre.3"
574
599
  },
575
600
  "peerDependencies": {
576
601
  "react": ">=18.0.0",