@ark-ui/react 3.2.1 → 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 (160) 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/hover-card/use-hover-card.cjs +1 -1
  27. package/dist/components/hover-card/use-hover-card.js +1 -1
  28. package/dist/components/index.cjs +48 -0
  29. package/dist/components/index.d.cts +2 -0
  30. package/dist/components/index.d.ts +2 -0
  31. package/dist/components/index.js +26 -0
  32. package/dist/components/menu/use-menu-item-group-context.d.cts +0 -1
  33. package/dist/components/menu/use-menu-item-group-context.d.ts +0 -1
  34. package/dist/components/popover/use-popover.cjs +1 -1
  35. package/dist/components/popover/use-popover.js +1 -1
  36. package/dist/components/presence/split-presence-props.cjs +1 -0
  37. package/dist/components/presence/split-presence-props.d.cts +1 -1
  38. package/dist/components/presence/split-presence-props.d.ts +1 -1
  39. package/dist/components/presence/split-presence-props.js +1 -0
  40. package/dist/components/qr-code/index.cjs +25 -0
  41. package/dist/components/qr-code/index.d.cts +10 -0
  42. package/dist/components/qr-code/index.d.ts +10 -0
  43. package/dist/components/qr-code/index.js +10 -0
  44. package/dist/components/qr-code/qr-code-context.cjs +10 -0
  45. package/dist/components/qr-code/qr-code-context.d.cts +7 -0
  46. package/dist/components/qr-code/qr-code-context.d.ts +7 -0
  47. package/dist/components/qr-code/qr-code-context.js +6 -0
  48. package/dist/components/qr-code/qr-code-frame.cjs +19 -0
  49. package/dist/components/qr-code/qr-code-frame.d.cts +6 -0
  50. package/dist/components/qr-code/qr-code-frame.d.ts +6 -0
  51. package/dist/components/qr-code/qr-code-frame.js +15 -0
  52. package/dist/components/qr-code/qr-code-overlay.cjs +19 -0
  53. package/dist/components/qr-code/qr-code-overlay.d.cts +6 -0
  54. package/dist/components/qr-code/qr-code-overlay.d.ts +6 -0
  55. package/dist/components/qr-code/qr-code-overlay.js +15 -0
  56. package/dist/components/qr-code/qr-code-pattern.cjs +19 -0
  57. package/dist/components/qr-code/qr-code-pattern.d.cts +6 -0
  58. package/dist/components/qr-code/qr-code-pattern.d.ts +6 -0
  59. package/dist/components/qr-code/qr-code-pattern.js +15 -0
  60. package/dist/components/qr-code/qr-code-root-provider.cjs +22 -0
  61. package/dist/components/qr-code/qr-code-root-provider.d.cts +11 -0
  62. package/dist/components/qr-code/qr-code-root-provider.d.ts +11 -0
  63. package/dist/components/qr-code/qr-code-root-provider.js +18 -0
  64. package/dist/components/qr-code/qr-code-root.cjs +27 -0
  65. package/dist/components/qr-code/qr-code-root.d.cts +8 -0
  66. package/dist/components/qr-code/qr-code-root.d.ts +8 -0
  67. package/dist/components/qr-code/qr-code-root.js +23 -0
  68. package/dist/components/qr-code/qr-code.cjs +19 -0
  69. package/dist/components/qr-code/qr-code.d.cts +7 -0
  70. package/dist/components/qr-code/qr-code.d.ts +7 -0
  71. package/dist/components/qr-code/qr-code.js +6 -0
  72. package/dist/components/qr-code/use-qr-code-context.cjs +15 -0
  73. package/dist/components/qr-code/use-qr-code-context.d.cts +6 -0
  74. package/dist/components/qr-code/use-qr-code-context.d.ts +6 -0
  75. package/dist/components/qr-code/use-qr-code-context.js +10 -0
  76. package/dist/components/qr-code/use-qr-code.cjs +44 -0
  77. package/dist/components/qr-code/use-qr-code.d.cts +8 -0
  78. package/dist/components/qr-code/use-qr-code.d.ts +8 -0
  79. package/dist/components/qr-code/use-qr-code.js +21 -0
  80. package/dist/components/select/index.cjs +2 -0
  81. package/dist/components/select/index.d.cts +1 -0
  82. package/dist/components/select/index.d.ts +1 -0
  83. package/dist/components/select/index.js +1 -0
  84. package/dist/components/select/select-list.cjs +19 -0
  85. package/dist/components/select/select-list.d.cts +6 -0
  86. package/dist/components/select/select-list.d.ts +6 -0
  87. package/dist/components/select/select-list.js +15 -0
  88. package/dist/components/select/select.cjs +2 -0
  89. package/dist/components/select/select.d.cts +1 -0
  90. package/dist/components/select/select.d.ts +1 -0
  91. package/dist/components/select/select.js +1 -0
  92. package/dist/components/signature-pad/index.cjs +29 -0
  93. package/dist/components/signature-pad/index.d.cts +12 -0
  94. package/dist/components/signature-pad/index.d.ts +12 -0
  95. package/dist/components/signature-pad/index.js +12 -0
  96. package/dist/components/signature-pad/signature-pad-clear-trigger.cjs +19 -0
  97. package/dist/components/signature-pad/signature-pad-clear-trigger.d.cts +6 -0
  98. package/dist/components/signature-pad/signature-pad-clear-trigger.d.ts +6 -0
  99. package/dist/components/signature-pad/signature-pad-clear-trigger.js +15 -0
  100. package/dist/components/signature-pad/signature-pad-context.cjs +10 -0
  101. package/dist/components/signature-pad/signature-pad-context.d.cts +7 -0
  102. package/dist/components/signature-pad/signature-pad-context.d.ts +7 -0
  103. package/dist/components/signature-pad/signature-pad-context.js +6 -0
  104. package/dist/components/signature-pad/signature-pad-control.cjs +21 -0
  105. package/dist/components/signature-pad/signature-pad-control.d.cts +6 -0
  106. package/dist/components/signature-pad/signature-pad-control.d.ts +6 -0
  107. package/dist/components/signature-pad/signature-pad-control.js +17 -0
  108. package/dist/components/signature-pad/signature-pad-guide.cjs +21 -0
  109. package/dist/components/signature-pad/signature-pad-guide.d.cts +6 -0
  110. package/dist/components/signature-pad/signature-pad-guide.d.ts +6 -0
  111. package/dist/components/signature-pad/signature-pad-guide.js +17 -0
  112. package/dist/components/signature-pad/signature-pad-label.cjs +21 -0
  113. package/dist/components/signature-pad/signature-pad-label.d.cts +6 -0
  114. package/dist/components/signature-pad/signature-pad-label.d.ts +6 -0
  115. package/dist/components/signature-pad/signature-pad-label.js +17 -0
  116. package/dist/components/signature-pad/signature-pad-root-provider.cjs +24 -0
  117. package/dist/components/signature-pad/signature-pad-root-provider.d.cts +11 -0
  118. package/dist/components/signature-pad/signature-pad-root-provider.d.ts +11 -0
  119. package/dist/components/signature-pad/signature-pad-root-provider.js +20 -0
  120. package/dist/components/signature-pad/signature-pad-root.cjs +31 -0
  121. package/dist/components/signature-pad/signature-pad-root.d.cts +8 -0
  122. package/dist/components/signature-pad/signature-pad-root.d.ts +8 -0
  123. package/dist/components/signature-pad/signature-pad-root.js +27 -0
  124. package/dist/components/signature-pad/signature-pad-segment.cjs +25 -0
  125. package/dist/components/signature-pad/signature-pad-segment.d.cts +6 -0
  126. package/dist/components/signature-pad/signature-pad-segment.d.ts +6 -0
  127. package/dist/components/signature-pad/signature-pad-segment.js +21 -0
  128. package/dist/components/signature-pad/signature-pad.cjs +23 -0
  129. package/dist/components/signature-pad/signature-pad.d.cts +9 -0
  130. package/dist/components/signature-pad/signature-pad.d.ts +9 -0
  131. package/dist/components/signature-pad/signature-pad.js +8 -0
  132. package/dist/components/signature-pad/use-signature-pad-context.cjs +17 -0
  133. package/dist/components/signature-pad/use-signature-pad-context.d.cts +6 -0
  134. package/dist/components/signature-pad/use-signature-pad-context.d.ts +6 -0
  135. package/dist/components/signature-pad/use-signature-pad-context.js +12 -0
  136. package/dist/components/signature-pad/use-signature-pad.cjs +51 -0
  137. package/dist/components/signature-pad/use-signature-pad.d.cts +9 -0
  138. package/dist/components/signature-pad/use-signature-pad.d.ts +9 -0
  139. package/dist/components/signature-pad/use-signature-pad.js +28 -0
  140. package/dist/components/tabs/tab-content.cjs +2 -1
  141. package/dist/components/tabs/tab-content.js +2 -1
  142. package/dist/components/tree-view/use-tree-view-depth-context.d.cts +0 -1
  143. package/dist/components/tree-view/use-tree-view-depth-context.d.ts +0 -1
  144. package/dist/components/tree-view/use-tree-view.cjs +2 -0
  145. package/dist/components/tree-view/use-tree-view.js +2 -0
  146. package/dist/index.cjs +48 -0
  147. package/dist/index.js +26 -0
  148. package/dist/providers/environment/use-environment-context.d.cts +0 -1
  149. package/dist/providers/environment/use-environment-context.d.ts +0 -1
  150. package/dist/utils/compose-refs.d.cts +0 -1
  151. package/dist/utils/compose-refs.d.ts +0 -1
  152. package/dist/utils/create-context.d.cts +0 -1
  153. package/dist/utils/create-context.d.ts +0 -1
  154. package/dist/utils/render-strategy.d.cts +0 -1
  155. package/dist/utils/render-strategy.d.ts +0 -1
  156. package/dist/utils/use-controllable-state.cjs +26 -0
  157. package/dist/utils/use-controllable-state.d.cts +1 -1
  158. package/dist/utils/use-controllable-state.d.ts +1 -1
  159. package/dist/utils/use-controllable-state.js +22 -0
  160. package/package.json +74 -49
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');
@@ -295,6 +298,15 @@ const progressView = require('./components/progress/progress-view.cjs');
295
298
  const useProgress = require('./components/progress/use-progress.cjs');
296
299
  const useProgressContext = require('./components/progress/use-progress-context.cjs');
297
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');
298
310
  const radioGroupContext = require('./components/radio-group/radio-group-context.cjs');
299
311
  const radioGroupIndicator = require('./components/radio-group/radio-group-indicator.cjs');
300
312
  const radioGroupItem = require('./components/radio-group/radio-group-item.cjs');
@@ -348,6 +360,7 @@ const selectItemGroupLabel = require('./components/select/select-item-group-labe
348
360
  const selectItemIndicator = require('./components/select/select-item-indicator.cjs');
349
361
  const selectItemText = require('./components/select/select-item-text.cjs');
350
362
  const selectLabel = require('./components/select/select-label.cjs');
363
+ const selectList = require('./components/select/select-list.cjs');
351
364
  const selectPositioner = require('./components/select/select-positioner.cjs');
352
365
  const selectRoot = require('./components/select/select-root.cjs');
353
366
  const selectRootProvider = require('./components/select/select-root-provider.cjs');
@@ -357,6 +370,17 @@ const useSelect = require('./components/select/use-select.cjs');
357
370
  const useSelectContext = require('./components/select/use-select-context.cjs');
358
371
  const useSelectItemContext = require('./components/select/use-select-item-context.cjs');
359
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');
360
384
  const sliderContext = require('./components/slider/slider-context.cjs');
361
385
  const sliderControl = require('./components/slider/slider-control.cjs');
362
386
  const sliderHiddenInput = require('./components/slider/slider-hidden-input.cjs');
@@ -508,6 +532,7 @@ exports.useCarouselContext = useCarouselContext.useCarouselContext;
508
532
  exports.Carousel = carousel;
509
533
  exports.CheckboxContext = checkboxContext.CheckboxContext;
510
534
  exports.CheckboxControl = checkboxControl.CheckboxControl;
535
+ exports.CheckboxGroup = checkboxGroup.CheckboxGroup;
511
536
  exports.CheckboxHiddenInput = checkboxHiddenInput.CheckboxHiddenInput;
512
537
  exports.CheckboxIndicator = checkboxIndicator.CheckboxIndicator;
513
538
  exports.CheckboxLabel = checkboxLabel.CheckboxLabel;
@@ -515,6 +540,8 @@ exports.CheckboxRoot = checkboxRoot.CheckboxRoot;
515
540
  exports.CheckboxRootProvider = checkboxRootProvider.CheckboxRootProvider;
516
541
  exports.useCheckbox = useCheckbox.useCheckbox;
517
542
  exports.useCheckboxContext = useCheckboxContext.useCheckboxContext;
543
+ exports.useCheckboxGroup = useCheckboxGroup.useCheckboxGroup;
544
+ exports.useCheckboxGroupContext = useCheckboxGroupContext.useCheckboxGroupContext;
518
545
  exports.Checkbox = checkbox;
519
546
  exports.ClipboardContext = clipboardContext.ClipboardContext;
520
547
  exports.ClipboardControl = clipboardControl.ClipboardControl;
@@ -767,6 +794,15 @@ exports.ProgressView = progressView.ProgressView;
767
794
  exports.useProgress = useProgress.useProgress;
768
795
  exports.useProgressContext = useProgressContext.useProgressContext;
769
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;
770
806
  exports.RadioGroupContext = radioGroupContext.RadioGroupContext;
771
807
  exports.RadioGroupIndicator = radioGroupIndicator.RadioGroupIndicator;
772
808
  exports.RadioGroupItem = radioGroupItem.RadioGroupItem;
@@ -820,6 +856,7 @@ exports.SelectItemGroupLabel = selectItemGroupLabel.SelectItemGroupLabel;
820
856
  exports.SelectItemIndicator = selectItemIndicator.SelectItemIndicator;
821
857
  exports.SelectItemText = selectItemText.SelectItemText;
822
858
  exports.SelectLabel = selectLabel.SelectLabel;
859
+ exports.SelectList = selectList.SelectList;
823
860
  exports.SelectPositioner = selectPositioner.SelectPositioner;
824
861
  exports.SelectRoot = selectRoot.SelectRoot;
825
862
  exports.SelectRootProvider = selectRootProvider.SelectRootProvider;
@@ -829,6 +866,17 @@ exports.useSelect = useSelect.useSelect;
829
866
  exports.useSelectContext = useSelectContext.useSelectContext;
830
867
  exports.useSelectItemContext = useSelectItemContext.useSelectItemContext;
831
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;
832
880
  exports.SliderContext = sliderContext.SliderContext;
833
881
  exports.SliderControl = sliderControl.SliderControl;
834
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';
@@ -311,6 +314,16 @@ export { useProgress } from './components/progress/use-progress.js';
311
314
  export { useProgressContext } from './components/progress/use-progress-context.js';
312
315
  import * as progress from './components/progress/progress.js';
313
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 };
314
327
  export { RadioGroupContext } from './components/radio-group/radio-group-context.js';
315
328
  export { RadioGroupIndicator } from './components/radio-group/radio-group-indicator.js';
316
329
  export { RadioGroupItem } from './components/radio-group/radio-group-item.js';
@@ -367,6 +380,7 @@ export { SelectItemGroupLabel } from './components/select/select-item-group-labe
367
380
  export { SelectItemIndicator } from './components/select/select-item-indicator.js';
368
381
  export { SelectItemText } from './components/select/select-item-text.js';
369
382
  export { SelectLabel } from './components/select/select-label.js';
383
+ export { SelectList } from './components/select/select-list.js';
370
384
  export { SelectPositioner } from './components/select/select-positioner.js';
371
385
  export { SelectRoot } from './components/select/select-root.js';
372
386
  export { SelectRootProvider } from './components/select/select-root-provider.js';
@@ -377,6 +391,18 @@ export { useSelectContext } from './components/select/use-select-context.js';
377
391
  export { useSelectItemContext } from './components/select/use-select-item-context.js';
378
392
  import * as select from './components/select/select.js';
379
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 };
380
406
  export { SliderContext } from './components/slider/slider-context.js';
381
407
  export { SliderControl } from './components/slider/slider-control.js';
382
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.1",
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.390.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",