@ark-ui/react 0.13.1 → 0.15.0-beta.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 (519) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/accordion/accordion-content.cjs +8 -8
  3. package/accordion/accordion-content.d.ts +7 -10
  4. package/accordion/accordion-content.mjs +8 -8
  5. package/accordion/accordion-context.d.ts +2 -9
  6. package/accordion/accordion-item-context.d.ts +3 -5
  7. package/accordion/accordion-item.d.ts +5 -8
  8. package/accordion/accordion-trigger.d.ts +6 -7
  9. package/accordion/accordion.cjs +3 -2
  10. package/accordion/accordion.d.ts +5 -11
  11. package/accordion/accordion.mjs +3 -2
  12. package/accordion/accordion.stories.d.ts +1 -1
  13. package/accordion/index.d.ts +13 -34
  14. package/accordion/use-accordion.d.ts +4 -9
  15. package/avatar/avatar-context.d.ts +2 -9
  16. package/avatar/avatar-fallback.d.ts +6 -7
  17. package/avatar/avatar-image.d.ts +6 -7
  18. package/avatar/avatar.d.ts +5 -9
  19. package/avatar/avatar.test.d.ts +1 -0
  20. package/avatar/index.d.ts +11 -22
  21. package/avatar/use-avatar.d.ts +4 -8
  22. package/carousel/carousel-context.d.ts +2 -9
  23. package/carousel/carousel-control.d.ts +6 -7
  24. package/carousel/carousel-indicator-group.d.ts +6 -7
  25. package/carousel/carousel-indicator.d.ts +5 -8
  26. package/carousel/carousel-next-slide-trigger.d.ts +6 -7
  27. package/carousel/carousel-prev-slide-trigger.d.ts +6 -7
  28. package/carousel/carousel-slide-group.d.ts +6 -7
  29. package/carousel/carousel-slide.d.ts +5 -8
  30. package/carousel/carousel-viewport.d.ts +6 -7
  31. package/carousel/carousel.d.ts +8 -11
  32. package/carousel/index.d.ts +25 -53
  33. package/carousel/use-carousel.d.ts +4 -8
  34. package/checkbox/checkbox-context.d.ts +2 -9
  35. package/checkbox/checkbox-control.cjs +3 -6
  36. package/checkbox/checkbox-control.d.ts +6 -7
  37. package/checkbox/checkbox-control.mjs +4 -7
  38. package/checkbox/checkbox-label.d.ts +6 -7
  39. package/checkbox/checkbox.cjs +7 -4
  40. package/checkbox/checkbox.d.ts +6 -10
  41. package/checkbox/checkbox.mjs +8 -5
  42. package/checkbox/checkbox.stories.d.ts +1 -1
  43. package/checkbox/index.d.ts +12 -29
  44. package/checkbox/use-checkbox.d.ts +5 -10
  45. package/color-picker/color-picker-area-gradient.d.ts +6 -7
  46. package/color-picker/color-picker-area-thumb.d.ts +6 -7
  47. package/color-picker/color-picker-area.d.ts +5 -8
  48. package/color-picker/color-picker-channel-input.d.ts +6 -7
  49. package/color-picker/color-picker-channel-slider-background.d.ts +6 -7
  50. package/color-picker/color-picker-channel-slider-thumb.d.ts +6 -7
  51. package/color-picker/color-picker-channel-slider-track.d.ts +5 -8
  52. package/color-picker/color-picker-content.d.ts +6 -7
  53. package/color-picker/color-picker-context.d.ts +2 -9
  54. package/color-picker/color-picker-eye-dropper-trigger.d.ts +6 -7
  55. package/color-picker/color-picker-swatch-background.d.ts +6 -7
  56. package/color-picker/color-picker-swatch-group.d.ts +6 -7
  57. package/color-picker/color-picker-swatch.d.ts +5 -8
  58. package/color-picker/index.d.ts +23 -52
  59. package/color-picker/use-color-picker.cjs +2 -7
  60. package/color-picker/use-color-picker.d.ts +4 -9
  61. package/color-picker/use-color-picker.mjs +3 -8
  62. package/combobox/combobox-clear-trigger.cjs +2 -2
  63. package/combobox/combobox-clear-trigger.d.ts +6 -7
  64. package/combobox/combobox-clear-trigger.mjs +2 -2
  65. package/combobox/combobox-content.cjs +8 -9
  66. package/combobox/combobox-content.d.ts +7 -10
  67. package/combobox/combobox-content.mjs +8 -9
  68. package/combobox/combobox-context.d.ts +4 -10
  69. package/combobox/combobox-control.cjs +2 -2
  70. package/combobox/combobox-control.d.ts +6 -7
  71. package/combobox/combobox-control.mjs +2 -2
  72. package/combobox/combobox-input.cjs +2 -2
  73. package/combobox/combobox-input.d.ts +6 -7
  74. package/combobox/combobox-input.mjs +2 -2
  75. package/combobox/combobox-item-context.cjs +15 -0
  76. package/combobox/combobox-item-context.d.ts +5 -0
  77. package/combobox/combobox-item-context.mjs +10 -0
  78. package/combobox/{combobox-option-group.cjs → combobox-item-group-label.cjs} +6 -6
  79. package/combobox/combobox-item-group-label.d.ts +7 -0
  80. package/combobox/{combobox-option-group.mjs → combobox-item-group-label.mjs} +6 -6
  81. package/combobox/{combobox-option-group-label.cjs → combobox-item-group.cjs} +6 -6
  82. package/combobox/combobox-item-group.d.ts +7 -0
  83. package/combobox/{combobox-option-group-label.mjs → combobox-item-group.mjs} +6 -6
  84. package/combobox/combobox-item-indicator.cjs +23 -0
  85. package/combobox/combobox-item-indicator.d.ts +7 -0
  86. package/combobox/combobox-item-indicator.mjs +19 -0
  87. package/combobox/combobox-item-text.cjs +21 -0
  88. package/combobox/combobox-item-text.d.ts +7 -0
  89. package/combobox/combobox-item-text.mjs +17 -0
  90. package/combobox/combobox-item.cjs +25 -0
  91. package/{select/select-option.d.ts → combobox/combobox-item.d.ts} +5 -5
  92. package/combobox/combobox-item.mjs +21 -0
  93. package/combobox/combobox-label.cjs +2 -2
  94. package/combobox/combobox-label.d.ts +6 -7
  95. package/combobox/combobox-label.mjs +2 -2
  96. package/combobox/combobox-positioner.cjs +2 -2
  97. package/combobox/combobox-positioner.d.ts +6 -7
  98. package/combobox/combobox-positioner.mjs +2 -2
  99. package/combobox/combobox-trigger.cjs +2 -2
  100. package/combobox/combobox-trigger.d.ts +6 -7
  101. package/combobox/combobox-trigger.mjs +2 -2
  102. package/combobox/combobox.cjs +20 -18
  103. package/combobox/combobox.d.ts +9 -13
  104. package/combobox/combobox.mjs +20 -18
  105. package/combobox/combobox.stories.d.ts +1 -0
  106. package/combobox/index.cjs +15 -9
  107. package/combobox/index.d.ts +35 -72
  108. package/combobox/index.mjs +11 -7
  109. package/combobox/use-combobox.cjs +24 -3
  110. package/combobox/use-combobox.d.ts +8 -9
  111. package/combobox/use-combobox.mjs +24 -3
  112. package/compose-refs.cjs +0 -1
  113. package/compose-refs.mjs +0 -1
  114. package/create-context.d.ts +3 -2
  115. package/date-picker/date-picker-clear-trigger.d.ts +6 -7
  116. package/date-picker/date-picker-column-header.d.ts +6 -7
  117. package/date-picker/date-picker-content.d.ts +6 -7
  118. package/date-picker/date-picker-context.d.ts +2 -9
  119. package/date-picker/date-picker-control.d.ts +6 -7
  120. package/date-picker/date-picker-day-cell-trigger.d.ts +6 -7
  121. package/date-picker/date-picker-day-cell.d.ts +5 -8
  122. package/date-picker/date-picker-grid.d.ts +5 -8
  123. package/date-picker/date-picker-input.d.ts +6 -7
  124. package/date-picker/date-picker-month-cell-trigger.d.ts +6 -7
  125. package/date-picker/date-picker-month-cell.d.ts +5 -8
  126. package/date-picker/date-picker-month-select.d.ts +6 -7
  127. package/date-picker/date-picker-next-trigger.d.ts +6 -7
  128. package/date-picker/date-picker-positioner.d.ts +6 -7
  129. package/date-picker/date-picker-prev-trigger.d.ts +5 -8
  130. package/date-picker/date-picker-row-group.d.ts +6 -7
  131. package/date-picker/date-picker-row-header.d.ts +6 -7
  132. package/date-picker/date-picker-row.d.ts +6 -7
  133. package/date-picker/date-picker-trigger.d.ts +6 -7
  134. package/date-picker/date-picker-view-trigger.d.ts +5 -8
  135. package/date-picker/date-picker-year-cell-trigger.d.ts +6 -7
  136. package/date-picker/date-picker-year-cell.d.ts +5 -8
  137. package/date-picker/date-picker-year-select.cjs +0 -1
  138. package/date-picker/date-picker-year-select.d.ts +6 -12
  139. package/date-picker/date-picker-year-select.mjs +1 -1
  140. package/date-picker/index.d.ts +56 -111
  141. package/date-picker/use-date-picker.d.ts +4 -8
  142. package/dialog/dialog-backdrop.cjs +14 -8
  143. package/dialog/dialog-backdrop.d.ts +7 -10
  144. package/dialog/dialog-backdrop.mjs +14 -8
  145. package/dialog/dialog-close-trigger.d.ts +6 -7
  146. package/dialog/dialog-container.d.ts +6 -7
  147. package/dialog/dialog-content.cjs +8 -9
  148. package/dialog/dialog-content.d.ts +7 -10
  149. package/dialog/dialog-content.mjs +8 -9
  150. package/dialog/dialog-context.d.ts +2 -9
  151. package/dialog/dialog-description.d.ts +6 -7
  152. package/dialog/dialog-title.d.ts +6 -7
  153. package/dialog/dialog-trigger.d.ts +6 -7
  154. package/dialog/index.d.ts +14 -32
  155. package/dialog/use-dialog.d.ts +4 -8
  156. package/editable/editable-area.d.ts +6 -7
  157. package/editable/editable-cancel-trigger.d.ts +6 -7
  158. package/editable/editable-context.d.ts +2 -9
  159. package/editable/editable-control.d.ts +6 -7
  160. package/editable/editable-edit-trigger.d.ts +6 -7
  161. package/editable/editable-input.d.ts +6 -7
  162. package/editable/editable-label.d.ts +6 -7
  163. package/editable/editable-preview.d.ts +6 -7
  164. package/editable/editable-submit-trigger.d.ts +6 -7
  165. package/editable/editable.d.ts +7 -14
  166. package/editable/index.d.ts +24 -57
  167. package/editable/use-editable.d.ts +4 -9
  168. package/factory.cjs +2 -2
  169. package/factory.d.ts +4 -1
  170. package/factory.mjs +1 -1
  171. package/hover-card/hover-card-arrow-tip.d.ts +6 -7
  172. package/hover-card/hover-card-arrow.d.ts +6 -7
  173. package/hover-card/hover-card-content.cjs +8 -9
  174. package/hover-card/hover-card-content.d.ts +7 -10
  175. package/hover-card/hover-card-content.mjs +8 -9
  176. package/hover-card/hover-card-context.d.ts +2 -9
  177. package/hover-card/hover-card-positioner.d.ts +6 -7
  178. package/hover-card/hover-card-trigger.d.ts +6 -7
  179. package/hover-card/hover-card.stories.d.ts +1 -1
  180. package/hover-card/index.d.ts +11 -23
  181. package/hover-card/use-hover-card.d.ts +4 -8
  182. package/index.cjs +36 -21
  183. package/index.d.ts +1 -0
  184. package/index.mjs +17 -8
  185. package/menu/index.d.ts +21 -54
  186. package/menu/menu-arrow-tip.d.ts +6 -7
  187. package/menu/menu-arrow.d.ts +6 -7
  188. package/menu/menu-content.cjs +11 -2
  189. package/menu/menu-content.d.ts +7 -8
  190. package/menu/menu-content.mjs +11 -2
  191. package/menu/menu-context-trigger.d.ts +6 -7
  192. package/menu/menu-context.d.ts +2 -3
  193. package/menu/menu-item-group-label.d.ts +5 -8
  194. package/menu/menu-item-group.d.ts +5 -8
  195. package/menu/menu-item.d.ts +6 -12
  196. package/menu/menu-option-item.d.ts +5 -10
  197. package/menu/menu-positioner.d.ts +6 -7
  198. package/menu/menu-separator.d.ts +6 -7
  199. package/menu/menu-trigger-item.d.ts +6 -7
  200. package/menu/menu-trigger.d.ts +6 -7
  201. package/menu/menu.d.ts +2 -1
  202. package/menu/menu.stories.d.ts +1 -1
  203. package/menu/use-menu.d.ts +3 -2
  204. package/number-input/index.d.ts +18 -41
  205. package/number-input/number-input-context.d.ts +2 -9
  206. package/number-input/number-input-control.d.ts +6 -7
  207. package/number-input/number-input-decrement-trigger.d.ts +6 -7
  208. package/number-input/number-input-field.d.ts +6 -7
  209. package/number-input/number-input-increment-trigger.d.ts +6 -7
  210. package/number-input/number-input-label.d.ts +6 -7
  211. package/number-input/number-input-scrubber.d.ts +6 -7
  212. package/number-input/number-input.d.ts +5 -11
  213. package/number-input/number-input.stories.d.ts +2 -0
  214. package/number-input/use-number-input.cjs +2 -7
  215. package/number-input/use-number-input.d.ts +4 -9
  216. package/number-input/use-number-input.mjs +3 -8
  217. package/package.json +61 -53
  218. package/pagination/index.d.ts +20 -49
  219. package/pagination/pagination-context.d.ts +2 -9
  220. package/pagination/pagination-ellipsis.d.ts +5 -8
  221. package/pagination/pagination-list-item.d.ts +6 -7
  222. package/pagination/pagination-list.d.ts +6 -7
  223. package/pagination/pagination-next-page-trigger.d.ts +6 -7
  224. package/pagination/pagination-page-trigger.d.ts +5 -8
  225. package/pagination/pagination-prev-page-trigger.d.ts +6 -7
  226. package/pagination/pagination.d.ts +6 -10
  227. package/pagination/use-pagination.d.ts +4 -9
  228. package/pin-input/index.d.ts +11 -30
  229. package/pin-input/pin-input-context.d.ts +2 -9
  230. package/pin-input/pin-input-control.cjs +3 -6
  231. package/pin-input/pin-input-control.d.ts +6 -7
  232. package/pin-input/pin-input-control.mjs +4 -7
  233. package/pin-input/pin-input-field.d.ts +5 -8
  234. package/pin-input/pin-input-label.d.ts +6 -7
  235. package/pin-input/pin-input.cjs +6 -3
  236. package/pin-input/pin-input.d.ts +5 -11
  237. package/pin-input/pin-input.mjs +7 -4
  238. package/pin-input/use-pin-input.d.ts +4 -9
  239. package/popover/index.d.ts +19 -39
  240. package/popover/popover-anchor.d.ts +6 -7
  241. package/popover/popover-arrow-tip.d.ts +6 -7
  242. package/popover/popover-arrow.d.ts +6 -7
  243. package/popover/popover-close-trigger.d.ts +6 -7
  244. package/popover/popover-content.cjs +8 -9
  245. package/popover/popover-content.d.ts +7 -10
  246. package/popover/popover-content.mjs +8 -9
  247. package/popover/popover-context.d.ts +2 -9
  248. package/popover/popover-description.d.ts +6 -7
  249. package/popover/popover-positioner.d.ts +6 -7
  250. package/popover/popover-title.d.ts +6 -7
  251. package/popover/popover-trigger.d.ts +6 -7
  252. package/popover/use-popover.d.ts +4 -8
  253. package/presence/presence.d.ts +2 -2
  254. package/presence/use-presence.d.ts +3 -2
  255. package/pressable/index.d.ts +4 -24
  256. package/pressable/pressable.d.ts +5 -15
  257. package/pressable/use-pressable.d.ts +4 -8
  258. package/radio-group/index.d.ts +15 -45
  259. package/radio-group/radio-context.d.ts +2 -12
  260. package/radio-group/radio-control.cjs +4 -7
  261. package/radio-group/radio-control.d.ts +6 -7
  262. package/radio-group/radio-control.mjs +5 -8
  263. package/radio-group/radio-group-context.d.ts +2 -9
  264. package/radio-group/radio-group-label.d.ts +6 -7
  265. package/radio-group/radio-group.cjs +0 -1
  266. package/radio-group/radio-group.d.ts +5 -11
  267. package/radio-group/radio-group.mjs +0 -1
  268. package/radio-group/radio-label.d.ts +6 -7
  269. package/radio-group/radio.cjs +12 -4
  270. package/radio-group/radio.d.ts +6 -18
  271. package/radio-group/radio.mjs +13 -5
  272. package/radio-group/use-radio-group.d.ts +4 -9
  273. package/range-slider/index.d.ts +23 -65
  274. package/range-slider/range-slider-context.d.ts +2 -9
  275. package/range-slider/range-slider-control.d.ts +6 -7
  276. package/range-slider/range-slider-label.d.ts +6 -7
  277. package/range-slider/range-slider-marker-group.d.ts +6 -7
  278. package/range-slider/range-slider-marker.d.ts +5 -8
  279. package/range-slider/range-slider-output.d.ts +4 -8
  280. package/range-slider/range-slider-range.d.ts +6 -7
  281. package/range-slider/range-slider-thumb.cjs +5 -5
  282. package/range-slider/range-slider-thumb.d.ts +5 -8
  283. package/range-slider/range-slider-thumb.mjs +5 -5
  284. package/range-slider/range-slider-track.d.ts +6 -7
  285. package/range-slider/range-slider.cjs +3 -0
  286. package/range-slider/range-slider.d.ts +4 -11
  287. package/range-slider/range-slider.mjs +3 -0
  288. package/range-slider/use-range-slider.cjs +3 -1
  289. package/range-slider/use-range-slider.d.ts +4 -9
  290. package/range-slider/use-range-slider.mjs +3 -1
  291. package/rating-group/index.d.ts +11 -34
  292. package/rating-group/rating-group-context.d.ts +2 -9
  293. package/rating-group/rating-group-control.cjs +4 -7
  294. package/rating-group/rating-group-control.d.ts +6 -10
  295. package/rating-group/rating-group-control.mjs +5 -8
  296. package/rating-group/rating-group-label.d.ts +6 -7
  297. package/rating-group/rating-group.cjs +6 -3
  298. package/rating-group/rating-group.d.ts +5 -11
  299. package/rating-group/rating-group.mjs +7 -4
  300. package/rating-group/rating-group.stories.d.ts +1 -1
  301. package/rating-group/rating.d.ts +4 -8
  302. package/rating-group/use-rating-group.d.ts +4 -9
  303. package/run-if-fn.d.ts +0 -1
  304. package/segment-group/index.d.ts +18 -50
  305. package/segment-group/segment-context.d.ts +2 -12
  306. package/segment-group/segment-control.cjs +4 -7
  307. package/segment-group/segment-control.d.ts +6 -7
  308. package/segment-group/segment-control.mjs +5 -8
  309. package/segment-group/segment-group-context.d.ts +2 -9
  310. package/segment-group/segment-group-indicator.d.ts +6 -7
  311. package/segment-group/segment-group-label.d.ts +6 -7
  312. package/segment-group/segment-group.cjs +0 -1
  313. package/segment-group/segment-group.d.ts +5 -11
  314. package/segment-group/segment-group.mjs +0 -1
  315. package/segment-group/segment-label.d.ts +6 -7
  316. package/segment-group/segment.cjs +12 -4
  317. package/segment-group/segment.d.ts +6 -18
  318. package/segment-group/segment.mjs +13 -5
  319. package/segment-group/use-segment-group.d.ts +4 -9
  320. package/select/index.cjs +30 -18
  321. package/select/index.d.ts +44 -46
  322. package/select/index.mjs +19 -9
  323. package/select/select-clear-trigger.cjs +21 -0
  324. package/select/select-clear-trigger.d.ts +7 -0
  325. package/select/select-clear-trigger.mjs +17 -0
  326. package/select/select-content.cjs +8 -9
  327. package/select/select-content.d.ts +7 -10
  328. package/select/select-content.mjs +8 -9
  329. package/select/select-context.d.ts +4 -10
  330. package/select/select-control.cjs +19 -0
  331. package/select/select-control.d.ts +7 -0
  332. package/select/select-control.mjs +15 -0
  333. package/select/select-item-context.cjs +15 -0
  334. package/select/select-item-context.d.ts +5 -0
  335. package/select/select-item-context.mjs +10 -0
  336. package/select/{select-option-group.cjs → select-item-group-label.cjs} +8 -6
  337. package/select/select-item-group-label.d.ts +7 -0
  338. package/select/{select-option-group.mjs → select-item-group-label.mjs} +8 -6
  339. package/select/select-item-group.cjs +21 -0
  340. package/select/select-item-group.d.ts +7 -0
  341. package/select/select-item-group.mjs +17 -0
  342. package/select/{select-option-group-label.cjs → select-item-indicator.cjs} +7 -6
  343. package/select/select-item-indicator.d.ts +7 -0
  344. package/select/select-item-indicator.mjs +19 -0
  345. package/select/select-item-text.cjs +21 -0
  346. package/select/select-item-text.d.ts +7 -0
  347. package/select/select-item-text.mjs +17 -0
  348. package/select/select-item.cjs +25 -0
  349. package/select/select-item.d.ts +11 -0
  350. package/select/select-item.mjs +21 -0
  351. package/select/select-label.cjs +2 -2
  352. package/select/select-label.d.ts +6 -7
  353. package/select/select-label.mjs +2 -2
  354. package/select/select-positioner.cjs +2 -2
  355. package/select/select-positioner.d.ts +6 -7
  356. package/select/select-positioner.mjs +2 -2
  357. package/select/select-trigger.cjs +2 -2
  358. package/select/select-trigger.d.ts +6 -7
  359. package/select/select-trigger.mjs +2 -2
  360. package/select/select-value.cjs +19 -0
  361. package/select/select-value.d.ts +7 -0
  362. package/select/select-value.mjs +15 -0
  363. package/select/select.anatomy.cjs +12 -0
  364. package/select/select.anatomy.d.ts +3 -1
  365. package/select/select.anatomy.mjs +7 -0
  366. package/select/select.cjs +43 -30
  367. package/select/select.d.ts +9 -6
  368. package/select/select.mjs +43 -30
  369. package/select/select.stories.d.ts +3 -0
  370. package/select/use-select.cjs +13 -3
  371. package/select/use-select.d.ts +8 -11
  372. package/select/use-select.mjs +13 -3
  373. package/slider/index.d.ts +22 -59
  374. package/slider/slider-context.d.ts +2 -9
  375. package/slider/slider-control.d.ts +6 -7
  376. package/slider/slider-label.d.ts +6 -7
  377. package/slider/slider-marker-group.d.ts +6 -7
  378. package/slider/slider-marker.d.ts +5 -8
  379. package/slider/slider-output.d.ts +5 -8
  380. package/slider/slider-range.d.ts +6 -7
  381. package/slider/slider-thumb.cjs +3 -6
  382. package/slider/slider-thumb.d.ts +6 -7
  383. package/slider/slider-thumb.mjs +4 -7
  384. package/slider/slider-track.d.ts +6 -7
  385. package/slider/slider.cjs +9 -4
  386. package/slider/slider.d.ts +4 -8
  387. package/slider/slider.mjs +10 -5
  388. package/slider/use-slider.cjs +2 -7
  389. package/slider/use-slider.d.ts +4 -9
  390. package/slider/use-slider.mjs +3 -8
  391. package/splitter/index.d.ts +12 -46
  392. package/splitter/splitter-context.d.ts +2 -9
  393. package/splitter/splitter-panel.d.ts +5 -8
  394. package/splitter/splitter-resize-trigger.d.ts +5 -8
  395. package/splitter/splitter.d.ts +4 -17
  396. package/splitter/splitter.stories.d.ts +1 -1
  397. package/splitter/use-splitter.d.ts +4 -9
  398. package/switch/index.cjs +0 -3
  399. package/switch/index.d.ts +16 -42
  400. package/switch/index.mjs +1 -3
  401. package/switch/switch-context.d.ts +2 -9
  402. package/switch/switch-control.cjs +2 -2
  403. package/switch/switch-control.d.ts +6 -7
  404. package/switch/switch-control.mjs +2 -2
  405. package/switch/switch-label.d.ts +6 -7
  406. package/switch/switch-thumb.d.ts +6 -7
  407. package/switch/switch.cjs +4 -2
  408. package/switch/switch.d.ts +6 -11
  409. package/switch/switch.mjs +5 -3
  410. package/switch/switch.stories.d.ts +1 -0
  411. package/switch/switch.test.d.ts +1 -0
  412. package/switch/use-switch.d.ts +5 -10
  413. package/tabs/index.d.ts +15 -35
  414. package/tabs/tab-content.d.ts +6 -7
  415. package/tabs/tab-indicator.d.ts +6 -7
  416. package/tabs/tab-list.d.ts +6 -7
  417. package/tabs/tab-trigger.d.ts +5 -8
  418. package/tabs/tabs-context.d.ts +2 -9
  419. package/tabs/tabs.cjs +0 -1
  420. package/tabs/tabs.d.ts +5 -11
  421. package/tabs/tabs.mjs +0 -1
  422. package/tabs/tabs.stories.d.ts +1 -1
  423. package/tabs/use-tabs.cjs +21 -2
  424. package/tabs/use-tabs.d.ts +6 -11
  425. package/tabs/use-tabs.mjs +3 -3
  426. package/tags-input/index.d.ts +19 -46
  427. package/tags-input/tag-delete-trigger.d.ts +5 -8
  428. package/tags-input/tag-input.d.ts +5 -8
  429. package/tags-input/tag.d.ts +5 -8
  430. package/tags-input/tags-input-clear-trigger.d.ts +6 -7
  431. package/tags-input/tags-input-context.d.ts +2 -9
  432. package/tags-input/tags-input-control.cjs +3 -6
  433. package/tags-input/tags-input-control.d.ts +6 -7
  434. package/tags-input/tags-input-control.mjs +4 -7
  435. package/tags-input/tags-input-field.d.ts +6 -7
  436. package/tags-input/tags-input-label.d.ts +6 -7
  437. package/tags-input/tags-input.cjs +8 -6
  438. package/tags-input/tags-input.d.ts +6 -10
  439. package/tags-input/tags-input.mjs +9 -7
  440. package/tags-input/use-tags-input.d.ts +4 -9
  441. package/toast/index.d.ts +14 -31
  442. package/toast/toast-close-trigger.d.ts +6 -7
  443. package/toast/toast-description.d.ts +6 -7
  444. package/toast/toast-group.d.ts +6 -10
  445. package/toast/toast-item-context.d.ts +2 -9
  446. package/toast/toast-provider.cjs +0 -1
  447. package/toast/toast-provider.d.ts +4 -60
  448. package/toast/toast-provider.mjs +1 -1
  449. package/toast/toast-title.d.ts +6 -7
  450. package/toast/toast.d.ts +5 -8
  451. package/toast/toast.stories.d.ts +1 -1
  452. package/toast/use-toast-item.d.ts +2 -7
  453. package/toggle-group/index.cjs +17 -0
  454. package/toggle-group/index.d.ts +19 -0
  455. package/toggle-group/index.mjs +11 -0
  456. package/toggle-group/toggle-group-context.cjs +15 -0
  457. package/toggle-group/toggle-group-context.d.ts +5 -0
  458. package/toggle-group/toggle-group-context.mjs +10 -0
  459. package/toggle-group/toggle-group.cjs +35 -0
  460. package/toggle-group/toggle-group.d.ts +7 -0
  461. package/toggle-group/toggle-group.mjs +31 -0
  462. package/toggle-group/toggle-group.stories.d.ts +9 -0
  463. package/toggle-group/toggle-group.test.d.ts +1 -0
  464. package/toggle-group/toggle.cjs +21 -0
  465. package/toggle-group/toggle.d.ts +11 -0
  466. package/toggle-group/toggle.mjs +17 -0
  467. package/toggle-group/use-toggle-group.cjs +49 -0
  468. package/toggle-group/use-toggle-group.d.ts +7 -0
  469. package/toggle-group/use-toggle-group.mjs +26 -0
  470. package/tooltip/index.d.ts +11 -23
  471. package/tooltip/tooltip-arrow-tip.d.ts +6 -7
  472. package/tooltip/tooltip-arrow.d.ts +6 -7
  473. package/tooltip/tooltip-content.cjs +5 -6
  474. package/tooltip/tooltip-content.d.ts +7 -10
  475. package/tooltip/tooltip-content.mjs +5 -6
  476. package/tooltip/tooltip-context.d.ts +2 -9
  477. package/tooltip/tooltip-positioner.d.ts +6 -7
  478. package/tooltip/tooltip-trigger.d.ts +6 -7
  479. package/tooltip/use-tooltip.d.ts +4 -8
  480. package/types.d.ts +1 -0
  481. package/use-event.cjs +23 -0
  482. package/use-event.d.ts +12 -0
  483. package/use-event.mjs +19 -0
  484. package/use-latest-ref.cjs +14 -0
  485. package/use-latest-ref.mjs +10 -0
  486. package/accordion/accordion-item-presence.cjs +0 -16
  487. package/accordion/accordion-item-presence.d.ts +0 -4
  488. package/accordion/accordion-item-presence.mjs +0 -12
  489. package/combobox/combobox-option-group-label.d.ts +0 -10
  490. package/combobox/combobox-option-group.d.ts +0 -10
  491. package/combobox/combobox-option.cjs +0 -27
  492. package/combobox/combobox-option.d.ts +0 -14
  493. package/combobox/combobox-option.mjs +0 -23
  494. package/combobox/combobox-presence.cjs +0 -16
  495. package/combobox/combobox-presence.d.ts +0 -4
  496. package/combobox/combobox-presence.mjs +0 -12
  497. package/dialog/dialog-presence.cjs +0 -16
  498. package/dialog/dialog-presence.d.ts +0 -4
  499. package/dialog/dialog-presence.mjs +0 -12
  500. package/hover-card/hover-card-presence.cjs +0 -16
  501. package/hover-card/hover-card-presence.d.ts +0 -4
  502. package/hover-card/hover-card-presence.mjs +0 -12
  503. package/popover/popover-presence.cjs +0 -16
  504. package/popover/popover-presence.d.ts +0 -4
  505. package/popover/popover-presence.mjs +0 -12
  506. package/select/select-option-group-label.d.ts +0 -13
  507. package/select/select-option-group-label.mjs +0 -18
  508. package/select/select-option-group.d.ts +0 -10
  509. package/select/select-option.cjs +0 -26
  510. package/select/select-option.mjs +0 -22
  511. package/select/select-presence.cjs +0 -16
  512. package/select/select-presence.d.ts +0 -4
  513. package/select/select-presence.mjs +0 -12
  514. package/switch/switch-input.cjs +0 -19
  515. package/switch/switch-input.d.ts +0 -8
  516. package/switch/switch-input.mjs +0 -15
  517. package/tooltip/tooltip-presence.cjs +0 -16
  518. package/tooltip/tooltip-presence.d.ts +0 -4
  519. package/tooltip/tooltip-presence.mjs +0 -12
package/select/select.mjs CHANGED
@@ -1,40 +1,53 @@
1
1
  'use client';
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import 'react';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
4
5
  import { createSplitProps } from '../create-split-props.mjs';
6
+ import { ark } from '../factory.mjs';
5
7
  import { runIfFn } from '../run-if-fn.mjs';
6
8
  import { SelectProvider } from './select-context.mjs';
7
9
  import { useSelect } from './use-select.mjs';
8
10
 
9
- const Select = (props) => {
10
- const [useSelectProps, { children }] = createSplitProps()(props, [
11
- "closeOnSelect",
12
- "defaultValue",
13
- "dir",
14
- "disabled",
15
- "form",
16
- "getRootNode",
17
- "highlightedOption",
18
- "id",
19
- "ids",
20
- "invalid",
21
- "loop",
22
- "name",
23
- "onChange",
24
- "onClose",
25
- "onFocusOutside",
26
- "onHighlight",
27
- "onInteractOutside",
28
- "onOpen",
29
- "onPointerDownOutside",
30
- "positioning",
31
- "readOnly",
32
- "selectedOption",
33
- "selectOnTab"
34
- ]);
35
- const select = useSelect(useSelectProps);
36
- const view = runIfFn(children, select);
37
- return /* @__PURE__ */ jsx(SelectProvider, { value: select, children: view });
11
+ const SelectImpl = (props, ref) => {
12
+ const [useSelectProps, { children, ...localProps }] = createSplitProps()(
13
+ props,
14
+ [
15
+ "closeOnSelect",
16
+ "defaultValue",
17
+ "dir",
18
+ "disabled",
19
+ "form",
20
+ "getRootNode",
21
+ "highlightedValue",
22
+ "id",
23
+ "ids",
24
+ "invalid",
25
+ "isItemDisabled",
26
+ "items",
27
+ "itemToString",
28
+ "itemToValue",
29
+ "loop",
30
+ "multiple",
31
+ "name",
32
+ "onChange",
33
+ "onClose",
34
+ "onFocusOutside",
35
+ "onHighlight",
36
+ "onInteractOutside",
37
+ "onOpen",
38
+ "onPointerDownOutside",
39
+ "open",
40
+ "positioning",
41
+ "readOnly",
42
+ "selectOnBlur",
43
+ "value"
44
+ ]
45
+ );
46
+ const api = useSelect(useSelectProps);
47
+ const view = runIfFn(children, api);
48
+ const mergedProps = mergeProps(api.rootProps, localProps);
49
+ return /* @__PURE__ */ jsx(SelectProvider, { value: api, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }) });
38
50
  };
51
+ const Select = forwardRef(SelectImpl);
39
52
 
40
53
  export { Select };
@@ -5,3 +5,6 @@ type SelectType = typeof Select;
5
5
  declare const meta: Meta<SelectType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Advanced: () => JSX.Element;
9
+ export declare const Controlled: () => JSX.Element;
10
+ export declare const Multiple: () => JSX.Element;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const react$1 = require('@zag-js/react');
7
7
  const select = require('@zag-js/select');
8
8
  const react = require('react');
9
+ const createSplitProps = require('../create-split-props.cjs');
9
10
  require('../environment/index.cjs');
10
11
  const environmentContext = require('../environment/environment-context.cjs');
11
12
 
@@ -29,16 +30,25 @@ function _interopNamespaceDefault(e) {
29
30
  const select__namespace = /*#__PURE__*/_interopNamespaceDefault(select);
30
31
 
31
32
  const useSelect = (props) => {
33
+ const [collectionOptions, rest] = createSplitProps.createSplitProps()(props, [
34
+ "isItemDisabled",
35
+ "itemToValue",
36
+ "itemToString",
37
+ "items"
38
+ ]);
39
+ const collection = select__namespace.collection(collectionOptions);
32
40
  const getRootNode = environmentContext.useEnvironmentContext();
33
41
  const initialContext = {
34
42
  id: react.useId(),
35
43
  getRootNode,
36
- ...props,
37
- selectedOption: props.defaultValue
44
+ collection,
45
+ ...rest,
46
+ value: props.defaultValue
38
47
  };
39
48
  const context = {
40
49
  ...initialContext,
41
- selectedOption: props.selectedOption
50
+ collection,
51
+ value: props.value
42
52
  };
43
53
  const [state, send] = react$1.useMachine(select__namespace.machine(initialContext), {
44
54
  context
@@ -1,12 +1,9 @@
1
- import { HTMLAttributes, CSSProperties } from 'react';
2
- /// <reference types="react" />
1
+ import { type PropTypes } from '@zag-js/react';
2
+ import type { CollectionOptions } from '@zag-js/select';
3
3
  import * as select from '@zag-js/select';
4
- import { type Optional } from '../types';
5
- export type UseSelectProps = Optional<select.Context, 'id'> & {
6
- defaultValue?: select.Context['selectedOption'];
7
- };
8
- export type UseSelectReturn = ReturnType<typeof useSelect>;
9
- export declare const useSelect: (props: UseSelectProps) => select.PublicApi<JSX.IntrinsicElements & {
10
- element: HTMLAttributes<HTMLElement>;
11
- style: CSSProperties;
12
- }>;
4
+ import { type CollectionItem, type Optional } from '../types';
5
+ export interface UseSelectProps<T extends CollectionItem> extends CollectionOptions<T>, Omit<Optional<select.Context<T>, 'id'>, 'collection'> {
6
+ defaultValue?: select.Context<T>['value'];
7
+ }
8
+ export type UseSelectReturn<T extends CollectionItem> = select.Api<PropTypes, T>;
9
+ export declare const useSelect: <T extends CollectionItem>(props: UseSelectProps<T>) => UseSelectReturn<T>;
@@ -2,20 +2,30 @@
2
2
  import { useMachine, normalizeProps } from '@zag-js/react';
3
3
  import * as select from '@zag-js/select';
4
4
  import { useId } from 'react';
5
+ import { createSplitProps } from '../create-split-props.mjs';
5
6
  import '../environment/index.mjs';
6
7
  import { useEnvironmentContext } from '../environment/environment-context.mjs';
7
8
 
8
9
  const useSelect = (props) => {
10
+ const [collectionOptions, rest] = createSplitProps()(props, [
11
+ "isItemDisabled",
12
+ "itemToValue",
13
+ "itemToString",
14
+ "items"
15
+ ]);
16
+ const collection = select.collection(collectionOptions);
9
17
  const getRootNode = useEnvironmentContext();
10
18
  const initialContext = {
11
19
  id: useId(),
12
20
  getRootNode,
13
- ...props,
14
- selectedOption: props.defaultValue
21
+ collection,
22
+ ...rest,
23
+ value: props.defaultValue
15
24
  };
16
25
  const context = {
17
26
  ...initialContext,
18
- selectedOption: props.selectedOption
27
+ collection,
28
+ value: props.value
19
29
  };
20
30
  const [state, send] = useMachine(select.machine(initialContext), {
21
31
  context
package/slider/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { PublicApi } from '@zag-js/slider';
2
- import { UseSliderProps } from './use-slider';
1
+ import { UseSliderProps, UseSliderReturn } from './use-slider';
2
+ import { HTMLArkProps } from '..';
3
3
  import { Assign } from '../types';
4
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, ReactNode, CSSProperties, RefAttributes, LabelHTMLAttributes, OutputHTMLAttributes } from 'react';
4
+ import { ForwardRefExoticComponent, ReactNode, RefAttributes, DetailedHTMLProps, HTMLAttributes, LabelHTMLAttributes } from 'react';
5
5
  /// <reference types="react" />
6
6
  import { type SliderProps } from './slider';
7
7
  import { useSliderContext } from './slider-context';
@@ -14,73 +14,36 @@ import { SliderRange, type SliderRangeProps } from './slider-range';
14
14
  import { SliderThumb, type SliderThumbProps } from './slider-thumb';
15
15
  import { SliderTrack, type SliderTrackProps } from './slider-track';
16
16
  import { sliderAnatomy } from './slider.anatomy';
17
- declare const Slider: ForwardRefExoticComponent<Omit<Assign<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
18
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
19
- } & {
20
- asChild?: boolean | undefined;
21
- }, "ref">, UseSliderProps>, "children"> & {
22
- children?: ReactNode | ((context: PublicApi<JSX.IntrinsicElements & {
23
- element: HTMLAttributes<HTMLElement>;
24
- style: CSSProperties;
25
- }>) => ReactNode);
17
+ declare const Slider: ForwardRefExoticComponent<Omit<Assign<HTMLArkProps<"div">, UseSliderProps>, "children"> & {
18
+ children?: ReactNode | ((context: UseSliderReturn) => ReactNode);
26
19
  } & RefAttributes<HTMLDivElement>> & {
27
- Root: ForwardRefExoticComponent<Omit<Assign<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
28
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
29
- } & {
30
- asChild?: boolean | undefined;
31
- }, "ref">, UseSliderProps>, "children"> & {
32
- children?: ReactNode | ((context: PublicApi<JSX.IntrinsicElements & {
33
- element: HTMLAttributes<HTMLElement>;
34
- style: CSSProperties;
35
- }>) => ReactNode);
20
+ Root: ForwardRefExoticComponent<Omit<Assign<HTMLArkProps<"div">, UseSliderProps>, "children"> & {
21
+ children?: ReactNode | ((context: UseSliderReturn) => ReactNode);
36
22
  } & RefAttributes<HTMLDivElement>>;
37
- Control: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
38
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
39
- } & {
40
- asChild?: boolean | undefined;
41
- }, "ref"> & RefAttributes<HTMLDivElement>>;
42
- Label: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
43
- ref?: ((instance: HTMLLabelElement | null) => void) | RefObject<HTMLLabelElement> | null | undefined;
44
- } & {
23
+ Control: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
45
24
  asChild?: boolean | undefined;
46
- }, "ref"> & RefAttributes<HTMLLabelElement>>;
47
- Marker: ForwardRefExoticComponent<Omit<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
48
- ref?: RefObject<HTMLSpanElement> | ((instance: HTMLSpanElement | null) => void) | null | undefined;
49
- } & {
25
+ } & RefAttributes<HTMLDivElement>>;
26
+ Label: ForwardRefExoticComponent<Omit<DetailedHTMLProps<LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
50
27
  asChild?: boolean | undefined;
51
- }, "ref">, "value"> & {
28
+ } & RefAttributes<HTMLLabelElement>>;
29
+ Marker: ForwardRefExoticComponent<Omit<HTMLArkProps<"span">, "value"> & {
52
30
  value: number;
53
31
  } & RefAttributes<HTMLSpanElement>>;
54
- MarkerGroup: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
55
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
56
- } & {
57
- asChild?: boolean | undefined;
58
- }, "ref"> & RefAttributes<HTMLDivElement>>;
59
- Output: ForwardRefExoticComponent<Omit<Omit<Omit<DetailedHTMLProps<OutputHTMLAttributes<HTMLOutputElement>, HTMLOutputElement>, "ref"> & {
60
- ref?: ((instance: HTMLOutputElement | null) => void) | RefObject<HTMLOutputElement> | null | undefined;
61
- } & {
32
+ MarkerGroup: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
62
33
  asChild?: boolean | undefined;
63
- }, "ref">, "children"> & {
64
- children?: ReactNode | ((context: PublicApi<JSX.IntrinsicElements & {
65
- element: HTMLAttributes<HTMLElement>;
66
- style: CSSProperties;
67
- }>) => ReactNode);
34
+ } & RefAttributes<HTMLDivElement>>;
35
+ Output: ForwardRefExoticComponent<Omit<HTMLArkProps<"output">, "children"> & {
36
+ children?: ReactNode | ((context: UseSliderReturn) => ReactNode);
68
37
  } & RefAttributes<HTMLOutputElement>>;
69
- Range: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
70
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
71
- } & {
38
+ Range: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
72
39
  asChild?: boolean | undefined;
73
- }, "ref"> & RefAttributes<HTMLDivElement>>;
74
- Thumb: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
75
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
76
- } & {
40
+ } & RefAttributes<HTMLDivElement>>;
41
+ Thumb: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
77
42
  asChild?: boolean | undefined;
78
- }, "ref"> & RefAttributes<HTMLDivElement>>;
79
- Track: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
80
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
81
- } & {
43
+ } & RefAttributes<HTMLDivElement>>;
44
+ Track: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
82
45
  asChild?: boolean | undefined;
83
- }, "ref"> & RefAttributes<HTMLDivElement>>;
46
+ } & RefAttributes<HTMLDivElement>>;
84
47
  };
85
48
  export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderOutput, SliderRange, SliderThumb, SliderTrack, sliderAnatomy, useSliderContext, };
86
49
  export type { SliderControlProps, SliderLabelProps, SliderMarkerGroupProps, SliderMarkerProps, SliderOutputProps, SliderProps, SliderRangeProps, SliderThumbProps, SliderTrackProps, };
@@ -1,12 +1,5 @@
1
- import { PublicApi } from '@zag-js/slider';
2
- import { Provider, HTMLAttributes, CSSProperties } from 'react';
1
+ import { Provider } from 'react';
3
2
  /// <reference types="react" />
4
3
  import { type UseSliderReturn } from './use-slider';
5
4
  export type SliderContext = UseSliderReturn;
6
- export declare const SliderProvider: Provider<PublicApi<JSX.IntrinsicElements & {
7
- element: HTMLAttributes<HTMLElement>;
8
- style: CSSProperties;
9
- }>>, useSliderContext: () => PublicApi<JSX.IntrinsicElements & {
10
- element: HTMLAttributes<HTMLElement>;
11
- style: CSSProperties;
12
- }>;
5
+ export declare const SliderProvider: Provider<UseSliderReturn>, useSliderContext: () => UseSliderReturn;
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderControlProps = ComponentPropsWithoutRef<typeof ark.div>;
4
- export declare const SliderControl: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderControlProps = HTMLArkProps<'div'>;
5
+ export declare const SliderControl: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ } & RefAttributes<HTMLDivElement>>;
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, LabelHTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderLabelProps = ComponentPropsWithoutRef<typeof ark.label>;
4
- export declare const SliderLabel: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
5
- ref?: ((instance: HTMLLabelElement | null) => void) | RefObject<HTMLLabelElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, LabelHTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderLabelProps = HTMLArkProps<'label'>;
5
+ export declare const SliderLabel: ForwardRefExoticComponent<Omit<DetailedHTMLProps<LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLLabelElement>>;
7
+ } & RefAttributes<HTMLLabelElement>>;
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderMarkerGroupProps = ComponentPropsWithoutRef<typeof ark.div>;
4
- export declare const SliderMarkerGroup: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderMarkerGroupProps = HTMLArkProps<'div'>;
5
+ export declare const SliderMarkerGroup: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ } & RefAttributes<HTMLDivElement>>;
@@ -1,13 +1,10 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
3
4
  import type { Assign } from '../types';
4
- export type SliderMarkerProps = Assign<ComponentPropsWithoutRef<typeof ark.span>, {
5
+ export type SliderMarkerProps = Assign<HTMLArkProps<'span'>, {
5
6
  value: number;
6
7
  }>;
7
- export declare const SliderMarker: ForwardRefExoticComponent<Omit<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
8
- ref?: RefObject<HTMLSpanElement> | ((instance: HTMLSpanElement | null) => void) | null | undefined;
9
- } & {
10
- asChild?: boolean | undefined;
11
- }, "ref">, "value"> & {
8
+ export declare const SliderMarker: ForwardRefExoticComponent<Omit<HTMLArkProps<"span">, "value"> & {
12
9
  value: number;
13
10
  } & RefAttributes<HTMLSpanElement>>;
@@ -1,14 +1,11 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, OutputHTMLAttributes, RefObject, ReactNode, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
1
+ import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
3
4
  import type { Assign } from '../types';
4
5
  import { type SliderContext } from './slider-context';
5
- export type SliderOutputProps = Assign<ComponentPropsWithoutRef<typeof ark.output>, {
6
+ export type SliderOutputProps = Assign<HTMLArkProps<'output'>, {
6
7
  children?: ((context: SliderContext) => React.ReactNode) | React.ReactNode;
7
8
  }>;
8
- export declare const SliderOutput: ForwardRefExoticComponent<Omit<Omit<Omit<DetailedHTMLProps<OutputHTMLAttributes<HTMLOutputElement>, HTMLOutputElement>, "ref"> & {
9
- ref?: ((instance: HTMLOutputElement | null) => void) | RefObject<HTMLOutputElement> | null | undefined;
10
- } & {
11
- asChild?: boolean | undefined;
12
- }, "ref">, "children"> & {
9
+ export declare const SliderOutput: ForwardRefExoticComponent<Omit<HTMLArkProps<"output">, "children"> & {
13
10
  children?: ReactNode | ((context: SliderContext) => React.ReactNode);
14
11
  } & RefAttributes<HTMLOutputElement>>;
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderRangeProps = ComponentPropsWithoutRef<typeof ark.div>;
4
- export declare const SliderRange: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderRangeProps = HTMLArkProps<'div'>;
5
+ export declare const SliderRange: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ } & RefAttributes<HTMLDivElement>>;
@@ -10,12 +10,9 @@ const factory = require('../factory.cjs');
10
10
  const sliderContext = require('./slider-context.cjs');
11
11
 
12
12
  const SliderThumb = react.forwardRef((props, ref) => {
13
- const { thumbProps, hiddenInputProps } = sliderContext.useSliderContext();
14
- const mergedProps = react$1.mergeProps(thumbProps, props);
15
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
16
- /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: props.children }),
17
- /* @__PURE__ */ jsxRuntime.jsx("input", { ...hiddenInputProps })
18
- ] });
13
+ const api = sliderContext.useSliderContext();
14
+ const mergedProps = react$1.mergeProps(api.thumbProps, props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
16
  });
20
17
  SliderThumb.displayName = "SliderThumb";
21
18
 
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderThumbProps = ComponentPropsWithoutRef<typeof ark.div>;
4
- export declare const SliderThumb: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderThumbProps = HTMLArkProps<'div'>;
5
+ export declare const SliderThumb: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ } & RefAttributes<HTMLDivElement>>;
@@ -1,17 +1,14 @@
1
1
  'use client';
2
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.mjs';
6
6
  import { useSliderContext } from './slider-context.mjs';
7
7
 
8
8
  const SliderThumb = forwardRef((props, ref) => {
9
- const { thumbProps, hiddenInputProps } = useSliderContext();
10
- const mergedProps = mergeProps(thumbProps, props);
11
- return /* @__PURE__ */ jsxs(Fragment, { children: [
12
- /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: props.children }),
13
- /* @__PURE__ */ jsx("input", { ...hiddenInputProps })
14
- ] });
9
+ const api = useSliderContext();
10
+ const mergedProps = mergeProps(api.thumbProps, props);
11
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
12
  });
16
13
  SliderThumb.displayName = "SliderThumb";
17
14
 
@@ -1,8 +1,7 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef } from 'react';
2
- import { ark } from '../factory';
3
- export type SliderTrackProps = ComponentPropsWithoutRef<typeof ark.div>;
4
- export declare const SliderTrack: ForwardRefExoticComponent<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
5
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
6
- } & {
1
+ import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export type SliderTrackProps = HTMLArkProps<'div'>;
5
+ export declare const SliderTrack: ForwardRefExoticComponent<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
6
  asChild?: boolean | undefined;
8
- }, "ref"> & RefAttributes<HTMLDivElement>>;
7
+ } & RefAttributes<HTMLDivElement>>;
package/slider/slider.cjs CHANGED
@@ -38,12 +38,17 @@ const Slider = react.forwardRef((props, ref) => {
38
38
  "readOnly",
39
39
  "step",
40
40
  "thumbAlignment",
41
+ "thumbAlignment",
42
+ "thumbSize",
41
43
  "value"
42
44
  ]);
43
- const slider = useSlider.useSlider(useSliderProps);
44
- const mergedProps = react$1.mergeProps(slider.rootProps, divProps);
45
- const view = runIfFn.runIfFn(children, slider);
46
- return /* @__PURE__ */ jsxRuntime.jsx(sliderContext.SliderProvider, { value: slider, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view }) });
45
+ const api = useSlider.useSlider(useSliderProps);
46
+ const mergedProps = react$1.mergeProps(api.rootProps, divProps);
47
+ const view = runIfFn.runIfFn(children, api);
48
+ return /* @__PURE__ */ jsxRuntime.jsxs(sliderContext.SliderProvider, { value: api, children: [
49
+ /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view }),
50
+ /* @__PURE__ */ jsxRuntime.jsx("input", { ...api.hiddenInputProps })
51
+ ] });
47
52
  });
48
53
  Slider.displayName = "Slider";
49
54
 
@@ -1,15 +1,11 @@
1
- import { ForwardRefExoticComponent, DetailedHTMLProps, HTMLAttributes, RefObject, RefAttributes, type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
- import { ark } from '../factory';
1
+ import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react';
2
+ import { type HTMLArkProps } from '../factory';
3
3
  import { type Assign } from '../types';
4
4
  import { type SliderContext } from './slider-context';
5
5
  import { type UseSliderProps } from './use-slider';
6
- export type SliderProps = Assign<Assign<ComponentPropsWithoutRef<typeof ark.div>, UseSliderProps>, {
6
+ export type SliderProps = Assign<Assign<HTMLArkProps<'div'>, UseSliderProps>, {
7
7
  children?: ((context: SliderContext) => ReactNode) | ReactNode;
8
8
  }>;
9
- export declare const Slider: ForwardRefExoticComponent<Omit<Assign<Omit<Omit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
10
- ref?: ((instance: HTMLDivElement | null) => void) | RefObject<HTMLDivElement> | null | undefined;
11
- } & {
12
- asChild?: boolean | undefined;
13
- }, "ref">, UseSliderProps>, "children"> & {
9
+ export declare const Slider: ForwardRefExoticComponent<Omit<Assign<HTMLArkProps<"div">, UseSliderProps>, "children"> & {
14
10
  children?: ReactNode | ((context: SliderContext) => ReactNode);
15
11
  } & RefAttributes<HTMLDivElement>>;
package/slider/slider.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx } from 'react/jsx-runtime';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { createSplitProps } from '../create-split-props.mjs';
@@ -34,12 +34,17 @@ const Slider = forwardRef((props, ref) => {
34
34
  "readOnly",
35
35
  "step",
36
36
  "thumbAlignment",
37
+ "thumbAlignment",
38
+ "thumbSize",
37
39
  "value"
38
40
  ]);
39
- const slider = useSlider(useSliderProps);
40
- const mergedProps = mergeProps(slider.rootProps, divProps);
41
- const view = runIfFn(children, slider);
42
- return /* @__PURE__ */ jsx(SliderProvider, { value: slider, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }) });
41
+ const api = useSlider(useSliderProps);
42
+ const mergedProps = mergeProps(api.rootProps, divProps);
43
+ const view = runIfFn(children, api);
44
+ return /* @__PURE__ */ jsxs(SliderProvider, { value: api, children: [
45
+ /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }),
46
+ /* @__PURE__ */ jsx("input", { ...api.hiddenInputProps })
47
+ ] });
43
48
  });
44
49
  Slider.displayName = "Slider";
45
50
 
@@ -6,8 +6,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const react$1 = require('@zag-js/react');
7
7
  const slider = require('@zag-js/slider');
8
8
  const react = require('react');
9
- const reactDom = require('react-dom');
10
9
  require('../environment/index.cjs');
10
+ const useEvent = require('../use-event.cjs');
11
11
  const environmentContext = require('../environment/environment-context.cjs');
12
12
 
13
13
  function _interopNamespaceDefault(e) {
@@ -37,15 +37,10 @@ const useSlider = (props) => {
37
37
  ...props,
38
38
  value: props.defaultValue ?? props.value
39
39
  };
40
- const onChange = props.onChange;
41
- const onChangeWithFlushSync = react.useCallback(
42
- (e) => reactDom.flushSync(() => onChange?.(e)),
43
- [onChange]
44
- );
45
40
  const context = {
46
41
  ...initialContext,
47
42
  value: props.value,
48
- onChange: onChangeWithFlushSync
43
+ onChange: useEvent.useEvent(props.onChange, { sync: true })
49
44
  };
50
45
  const [state, send] = react$1.useMachine(slider__namespace.machine(initialContext), { context });
51
46
  return slider__namespace.connect(state, send, react$1.normalizeProps);
@@ -1,12 +1,7 @@
1
- import { HTMLAttributes, CSSProperties } from 'react';
2
- /// <reference types="react" />
3
1
  import * as slider from '@zag-js/slider';
4
2
  import { type Optional } from '../types';
5
- export type UseSliderProps = Optional<slider.Context, 'id'> & {
3
+ export interface UseSliderProps extends Optional<slider.Context, 'id'> {
6
4
  defaultValue?: slider.Context['value'];
7
- };
8
- export type UseSliderReturn = ReturnType<typeof useSlider>;
9
- export declare const useSlider: (props: UseSliderProps) => slider.PublicApi<JSX.IntrinsicElements & {
10
- element: HTMLAttributes<HTMLElement>;
11
- style: CSSProperties;
12
- }>;
5
+ }
6
+ export type UseSliderReturn = slider.Api;
7
+ export declare const useSlider: (props: UseSliderProps) => UseSliderReturn;