@ark-ui/solid 3.1.0 → 3.2.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 (357) hide show
  1. package/dist/cjs/index.js +809 -206
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +748 -207
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/source/components/accordion/accordion-root-provider.jsx +17 -0
  6. package/dist/source/components/accordion/accordion-root.jsx +1 -1
  7. package/dist/source/components/accordion/accordion.js +1 -0
  8. package/dist/source/components/accordion/index.js +2 -0
  9. package/dist/source/components/avatar/avatar-fallback.jsx +1 -1
  10. package/dist/source/components/avatar/avatar-image.jsx +1 -1
  11. package/dist/source/components/avatar/avatar-root-provider.jsx +11 -0
  12. package/dist/source/components/avatar/avatar-root.jsx +1 -1
  13. package/dist/source/components/avatar/avatar.js +1 -0
  14. package/dist/source/components/avatar/index.js +2 -0
  15. package/dist/source/components/carousel/carousel-indicator-group.jsx +1 -1
  16. package/dist/source/components/carousel/carousel-item-group.jsx +1 -1
  17. package/dist/source/components/carousel/carousel-next-trigger.jsx +1 -1
  18. package/dist/source/components/carousel/carousel-prev-trigger.jsx +1 -1
  19. package/dist/source/components/carousel/carousel-root-provider.jsx +11 -0
  20. package/dist/source/components/carousel/carousel-root.jsx +1 -1
  21. package/dist/source/components/carousel/carousel-viewport.jsx +1 -1
  22. package/dist/source/components/carousel/carousel.js +1 -0
  23. package/dist/source/components/carousel/index.js +2 -0
  24. package/dist/source/components/checkbox/checkbox-control.jsx +1 -1
  25. package/dist/source/components/checkbox/checkbox-hidden-input.jsx +1 -1
  26. package/dist/source/components/checkbox/checkbox-indicator.jsx +1 -1
  27. package/dist/source/components/checkbox/checkbox-label.jsx +1 -1
  28. package/dist/source/components/checkbox/checkbox-root-provider.jsx +11 -0
  29. package/dist/source/components/checkbox/checkbox-root.jsx +1 -1
  30. package/dist/source/components/checkbox/checkbox.js +1 -0
  31. package/dist/source/components/checkbox/index.js +2 -0
  32. package/dist/source/components/clipboard/clipboard-control.jsx +1 -1
  33. package/dist/source/components/clipboard/clipboard-input.jsx +1 -1
  34. package/dist/source/components/clipboard/clipboard-label.jsx +1 -1
  35. package/dist/source/components/clipboard/clipboard-root-provider.jsx +11 -0
  36. package/dist/source/components/clipboard/clipboard-root.jsx +1 -1
  37. package/dist/source/components/clipboard/clipboard-trigger.jsx +1 -1
  38. package/dist/source/components/clipboard/clipboard.js +1 -0
  39. package/dist/source/components/clipboard/index.js +2 -0
  40. package/dist/source/components/collapsible/collapsible-content.jsx +1 -1
  41. package/dist/source/components/collapsible/collapsible-root-provider.jsx +13 -0
  42. package/dist/source/components/collapsible/collapsible-root.jsx +1 -1
  43. package/dist/source/components/collapsible/collapsible-trigger.jsx +1 -1
  44. package/dist/source/components/collapsible/collapsible.js +1 -0
  45. package/dist/source/components/collapsible/index.js +2 -0
  46. package/dist/source/components/color-picker/color-picker-content.jsx +1 -1
  47. package/dist/source/components/color-picker/color-picker-control.jsx +1 -1
  48. package/dist/source/components/color-picker/color-picker-eye-dropper-trigger.jsx +1 -1
  49. package/dist/source/components/color-picker/color-picker-format-select.jsx +1 -1
  50. package/dist/source/components/color-picker/color-picker-format-trigger.jsx +1 -1
  51. package/dist/source/components/color-picker/color-picker-hidden-input.jsx +1 -1
  52. package/dist/source/components/color-picker/color-picker-label.jsx +1 -1
  53. package/dist/source/components/color-picker/color-picker-positioner.jsx +1 -1
  54. package/dist/source/components/color-picker/color-picker-root-provider.jsx +16 -0
  55. package/dist/source/components/color-picker/color-picker-root.jsx +1 -1
  56. package/dist/source/components/color-picker/color-picker-swatch-group.jsx +1 -1
  57. package/dist/source/components/color-picker/color-picker-trigger.jsx +1 -1
  58. package/dist/source/components/color-picker/index.js +2 -0
  59. package/dist/source/components/combobox/combobox-clear-trigger.jsx +1 -1
  60. package/dist/source/components/combobox/combobox-content.jsx +1 -1
  61. package/dist/source/components/combobox/combobox-control.jsx +1 -1
  62. package/dist/source/components/combobox/combobox-input.jsx +1 -1
  63. package/dist/source/components/combobox/combobox-label.jsx +1 -1
  64. package/dist/source/components/combobox/combobox-positioner.jsx +1 -1
  65. package/dist/source/components/combobox/combobox-root-provider.jsx +16 -0
  66. package/dist/source/components/combobox/combobox-root.jsx +1 -1
  67. package/dist/source/components/combobox/combobox.js +1 -0
  68. package/dist/source/components/combobox/index.js +2 -0
  69. package/dist/source/components/date-picker/date-picker-clear-trigger.jsx +1 -1
  70. package/dist/source/components/date-picker/date-picker-content.jsx +1 -1
  71. package/dist/source/components/date-picker/date-picker-control.jsx +1 -1
  72. package/dist/source/components/date-picker/date-picker-label.jsx +1 -1
  73. package/dist/source/components/date-picker/date-picker-month-select.jsx +1 -1
  74. package/dist/source/components/date-picker/date-picker-positioner.jsx +1 -1
  75. package/dist/source/components/date-picker/date-picker-range-text.jsx +1 -1
  76. package/dist/source/components/date-picker/date-picker-root-provider.jsx +16 -0
  77. package/dist/source/components/date-picker/date-picker-root.jsx +1 -1
  78. package/dist/source/components/date-picker/date-picker-table-cell.jsx +12 -7
  79. package/dist/source/components/date-picker/date-picker-trigger.jsx +1 -1
  80. package/dist/source/components/date-picker/date-picker-year-select.jsx +1 -1
  81. package/dist/source/components/date-picker/date-picker.js +1 -0
  82. package/dist/source/components/date-picker/index.js +2 -0
  83. package/dist/source/components/dialog/dialog-backdrop.jsx +1 -1
  84. package/dist/source/components/dialog/dialog-close-trigger.jsx +1 -1
  85. package/dist/source/components/dialog/dialog-content.jsx +1 -1
  86. package/dist/source/components/dialog/dialog-description.jsx +1 -1
  87. package/dist/source/components/dialog/dialog-positioner.jsx +1 -1
  88. package/dist/source/components/dialog/dialog-root-provider.jsx +14 -0
  89. package/dist/source/components/dialog/dialog-title.jsx +1 -1
  90. package/dist/source/components/dialog/dialog-trigger.jsx +1 -1
  91. package/dist/source/components/dialog/dialog.js +1 -0
  92. package/dist/source/components/dialog/index.js +2 -0
  93. package/dist/source/components/editable/editable-area.jsx +1 -1
  94. package/dist/source/components/editable/editable-cancel-trigger.jsx +1 -1
  95. package/dist/source/components/editable/editable-control.jsx +1 -1
  96. package/dist/source/components/editable/editable-edit-trigger.jsx +1 -1
  97. package/dist/source/components/editable/editable-input.jsx +1 -1
  98. package/dist/source/components/editable/editable-label.jsx +1 -1
  99. package/dist/source/components/editable/editable-preview.jsx +1 -1
  100. package/dist/source/components/editable/editable-root-provider.jsx +11 -0
  101. package/dist/source/components/editable/editable-root.jsx +1 -1
  102. package/dist/source/components/editable/editable-submit-trigger.jsx +1 -1
  103. package/dist/source/components/editable/editable.js +1 -0
  104. package/dist/source/components/editable/index.js +2 -0
  105. package/dist/source/components/file-upload/file-upload-dropzone.jsx +1 -1
  106. package/dist/source/components/file-upload/file-upload-hidden-input.jsx +1 -1
  107. package/dist/source/components/file-upload/file-upload-item-group.jsx +1 -1
  108. package/dist/source/components/file-upload/file-upload-label.jsx +1 -1
  109. package/dist/source/components/file-upload/file-upload-root-provider.jsx +13 -0
  110. package/dist/source/components/file-upload/file-upload-root.jsx +1 -1
  111. package/dist/source/components/file-upload/file-upload-trigger.jsx +1 -1
  112. package/dist/source/components/file-upload/file-upload.js +1 -0
  113. package/dist/source/components/file-upload/index.js +3 -1
  114. package/dist/source/components/hover-card/hover-card-arrow-tip.jsx +1 -1
  115. package/dist/source/components/hover-card/hover-card-arrow.jsx +1 -1
  116. package/dist/source/components/hover-card/hover-card-content.jsx +1 -1
  117. package/dist/source/components/hover-card/hover-card-positioner.jsx +1 -1
  118. package/dist/source/components/hover-card/hover-card-root-provider.jsx +10 -0
  119. package/dist/source/components/hover-card/hover-card-trigger.jsx +1 -1
  120. package/dist/source/components/hover-card/hover-card.js +1 -0
  121. package/dist/source/components/hover-card/index.js +2 -0
  122. package/dist/source/components/menu/index.js +2 -0
  123. package/dist/source/components/menu/menu-arrow-tip.jsx +1 -1
  124. package/dist/source/components/menu/menu-arrow.jsx +1 -1
  125. package/dist/source/components/menu/menu-content.jsx +1 -1
  126. package/dist/source/components/menu/menu-context-trigger.jsx +1 -1
  127. package/dist/source/components/menu/menu-indicator.jsx +1 -1
  128. package/dist/source/components/menu/menu-positioner.jsx +1 -1
  129. package/dist/source/components/menu/menu-root-provider.jsx +26 -0
  130. package/dist/source/components/menu/menu-separator.jsx +1 -1
  131. package/dist/source/components/menu/menu-trigger.jsx +1 -1
  132. package/dist/source/components/menu/menu.js +1 -0
  133. package/dist/source/components/number-input/index.js +2 -0
  134. package/dist/source/components/number-input/number-input-control.jsx +1 -1
  135. package/dist/source/components/number-input/number-input-decrement-trigger.jsx +1 -1
  136. package/dist/source/components/number-input/number-input-increment-trigger.jsx +1 -1
  137. package/dist/source/components/number-input/number-input-input.jsx +1 -1
  138. package/dist/source/components/number-input/number-input-label.jsx +1 -1
  139. package/dist/source/components/number-input/number-input-root-provider.jsx +13 -0
  140. package/dist/source/components/number-input/number-input-root.jsx +1 -1
  141. package/dist/source/components/number-input/number-input-scrubber.jsx +1 -1
  142. package/dist/source/components/pagination/index.js +2 -0
  143. package/dist/source/components/pagination/pagination-next-trigger.jsx +1 -1
  144. package/dist/source/components/pagination/pagination-prev-trigger.jsx +1 -1
  145. package/dist/source/components/pagination/pagination-root-provider.jsx +13 -0
  146. package/dist/source/components/pagination/pagination-root.jsx +1 -1
  147. package/dist/source/components/pagination/pagination.js +1 -0
  148. package/dist/source/components/pin-input/index.js +3 -1
  149. package/dist/source/components/pin-input/pin-input-control.jsx +1 -1
  150. package/dist/source/components/pin-input/pin-input-hidden-input.jsx +1 -1
  151. package/dist/source/components/pin-input/pin-input-label.jsx +1 -1
  152. package/dist/source/components/pin-input/pin-input-root-provider.jsx +11 -0
  153. package/dist/source/components/pin-input/pin-input-root.jsx +1 -1
  154. package/dist/source/components/pin-input/pin-input.js +1 -0
  155. package/dist/source/components/popover/index.js +2 -0
  156. package/dist/source/components/popover/popover-anchor.jsx +1 -1
  157. package/dist/source/components/popover/popover-arrow-tip.jsx +1 -1
  158. package/dist/source/components/popover/popover-arrow.jsx +1 -1
  159. package/dist/source/components/popover/popover-close-trigger.jsx +1 -1
  160. package/dist/source/components/popover/popover-content.jsx +1 -1
  161. package/dist/source/components/popover/popover-description.jsx +1 -1
  162. package/dist/source/components/popover/popover-indicator.jsx +1 -1
  163. package/dist/source/components/popover/popover-positioner.jsx +1 -1
  164. package/dist/source/components/popover/popover-root-provider.jsx +10 -0
  165. package/dist/source/components/popover/popover-title.jsx +1 -1
  166. package/dist/source/components/popover/popover-trigger.jsx +1 -1
  167. package/dist/source/components/popover/popover.js +1 -0
  168. package/dist/source/components/progress/index.js +2 -0
  169. package/dist/source/components/progress/progress-circle-range.jsx +1 -1
  170. package/dist/source/components/progress/progress-circle-track.jsx +1 -1
  171. package/dist/source/components/progress/progress-circle.jsx +1 -1
  172. package/dist/source/components/progress/progress-label.jsx +1 -1
  173. package/dist/source/components/progress/progress-range.jsx +1 -1
  174. package/dist/source/components/progress/progress-root-provider.jsx +11 -0
  175. package/dist/source/components/progress/progress-root.jsx +1 -1
  176. package/dist/source/components/progress/progress-track.jsx +1 -1
  177. package/dist/source/components/progress/progress-value-text.jsx +1 -1
  178. package/dist/source/components/progress/progress.js +1 -0
  179. package/dist/source/components/radio-group/index.js +2 -0
  180. package/dist/source/components/radio-group/radio-group-indicator.jsx +1 -1
  181. package/dist/source/components/radio-group/radio-group-label.jsx +1 -1
  182. package/dist/source/components/radio-group/radio-group-root-provider.jsx +13 -0
  183. package/dist/source/components/radio-group/radio-group-root.jsx +1 -1
  184. package/dist/source/components/radio-group/radio-group.js +1 -0
  185. package/dist/source/components/rating-group/index.js +3 -1
  186. package/dist/source/components/rating-group/rating-group-control.jsx +1 -1
  187. package/dist/source/components/rating-group/rating-group-hidden-input.jsx +1 -1
  188. package/dist/source/components/rating-group/rating-group-label.jsx +1 -1
  189. package/dist/source/components/rating-group/rating-group-root-provider.jsx +13 -0
  190. package/dist/source/components/rating-group/rating-group-root.jsx +1 -1
  191. package/dist/source/components/segment-group/index.js +2 -0
  192. package/dist/source/components/segment-group/segment-group-indicator.jsx +1 -1
  193. package/dist/source/components/segment-group/segment-group-label.jsx +1 -1
  194. package/dist/source/components/segment-group/segment-group-root-provider.jsx +14 -0
  195. package/dist/source/components/segment-group/segment-group-root.jsx +1 -1
  196. package/dist/source/components/segment-group/segment-group.js +1 -1
  197. package/dist/source/components/select/index.js +2 -0
  198. package/dist/source/components/select/select-clear-trigger.jsx +1 -1
  199. package/dist/source/components/select/select-content.jsx +1 -1
  200. package/dist/source/components/select/select-control.jsx +1 -1
  201. package/dist/source/components/select/select-hidden-select.jsx +1 -1
  202. package/dist/source/components/select/select-indicator.jsx +1 -1
  203. package/dist/source/components/select/select-label.jsx +1 -1
  204. package/dist/source/components/select/select-positioner.jsx +1 -1
  205. package/dist/source/components/select/select-root-provider.jsx +18 -0
  206. package/dist/source/components/select/select-root.jsx +1 -1
  207. package/dist/source/components/select/select-trigger.jsx +1 -1
  208. package/dist/source/components/select/select.js +1 -0
  209. package/dist/source/components/slider/index.js +2 -0
  210. package/dist/source/components/slider/slider-control.jsx +1 -1
  211. package/dist/source/components/slider/slider-label.jsx +1 -1
  212. package/dist/source/components/slider/slider-marker-group.jsx +1 -1
  213. package/dist/source/components/slider/slider-range.jsx +1 -1
  214. package/dist/source/components/slider/slider-root-provider.jsx +11 -0
  215. package/dist/source/components/slider/slider-root.jsx +1 -1
  216. package/dist/source/components/slider/slider-track.jsx +1 -1
  217. package/dist/source/components/slider/slider-value-text.jsx +1 -1
  218. package/dist/source/components/slider/slider.js +2 -1
  219. package/dist/source/components/splitter/index.js +2 -0
  220. package/dist/source/components/splitter/splitter-root-provider.jsx +11 -0
  221. package/dist/source/components/splitter/splitter-root.jsx +1 -1
  222. package/dist/source/components/splitter/splitter.js +1 -0
  223. package/dist/source/components/switch/index.js +2 -0
  224. package/dist/source/components/switch/switch-control.jsx +1 -1
  225. package/dist/source/components/switch/switch-hidden-input.jsx +1 -1
  226. package/dist/source/components/switch/switch-label.jsx +1 -1
  227. package/dist/source/components/switch/switch-root-provider.jsx +11 -0
  228. package/dist/source/components/switch/switch-root.jsx +1 -1
  229. package/dist/source/components/switch/switch-thumb.jsx +1 -1
  230. package/dist/source/components/switch/switch.js +1 -0
  231. package/dist/source/components/tabs/index.js +2 -0
  232. package/dist/source/components/tabs/tab-indicator.jsx +1 -1
  233. package/dist/source/components/tabs/tab-list.jsx +1 -1
  234. package/dist/source/components/tabs/tabs-root-provider.jsx +15 -0
  235. package/dist/source/components/tabs/tabs-root.jsx +1 -1
  236. package/dist/source/components/tabs/tabs.js +1 -0
  237. package/dist/source/components/tags-input/index.js +3 -1
  238. package/dist/source/components/tags-input/tags-input-clear-trigger.jsx +1 -1
  239. package/dist/source/components/tags-input/tags-input-control.jsx +1 -1
  240. package/dist/source/components/tags-input/tags-input-hidden-input.jsx +1 -1
  241. package/dist/source/components/tags-input/tags-input-input.jsx +1 -1
  242. package/dist/source/components/tags-input/tags-input-label.jsx +1 -1
  243. package/dist/source/components/tags-input/tags-input-root-provider.jsx +11 -0
  244. package/dist/source/components/tags-input/tags-input-root.jsx +1 -1
  245. package/dist/source/components/tags-input/tags-input.js +1 -0
  246. package/dist/source/components/toast/toast-action-trigger.jsx +1 -1
  247. package/dist/source/components/toast/toast-close-trigger.jsx +1 -1
  248. package/dist/source/components/toast/toast-description.jsx +1 -1
  249. package/dist/source/components/toast/toast-root.jsx +3 -3
  250. package/dist/source/components/toast/toast-title.jsx +1 -1
  251. package/dist/source/components/toggle-group/index.js +2 -0
  252. package/dist/source/components/toggle-group/toggle-group-root-provider.jsx +13 -0
  253. package/dist/source/components/toggle-group/toggle-group-root.jsx +1 -1
  254. package/dist/source/components/tooltip/index.js +2 -0
  255. package/dist/source/components/tooltip/tooltip-arrow-tip.jsx +1 -1
  256. package/dist/source/components/tooltip/tooltip-arrow.jsx +1 -1
  257. package/dist/source/components/tooltip/tooltip-content.jsx +1 -1
  258. package/dist/source/components/tooltip/tooltip-positioner.jsx +1 -1
  259. package/dist/source/components/tooltip/tooltip-root-provider.jsx +10 -0
  260. package/dist/source/components/tooltip/tooltip-trigger.jsx +1 -1
  261. package/dist/source/components/tooltip/tooltip.js +1 -0
  262. package/dist/source/components/tree-view/index.js +2 -0
  263. package/dist/source/components/tree-view/tree-view-label.jsx +1 -1
  264. package/dist/source/components/tree-view/tree-view-root-provider.jsx +11 -0
  265. package/dist/source/components/tree-view/tree-view-root.jsx +1 -1
  266. package/dist/source/components/tree-view/tree-view-tree.jsx +1 -1
  267. package/dist/source/components/tree-view/tree-view.js +1 -0
  268. package/dist/types/components/accordion/accordion-root-provider.d.ts +10 -0
  269. package/dist/types/components/accordion/accordion.d.ts +1 -0
  270. package/dist/types/components/accordion/index.d.ts +2 -0
  271. package/dist/types/components/avatar/avatar-root-provider.d.ts +9 -0
  272. package/dist/types/components/avatar/avatar.d.ts +1 -0
  273. package/dist/types/components/avatar/index.d.ts +3 -1
  274. package/dist/types/components/carousel/carousel-root-provider.d.ts +9 -0
  275. package/dist/types/components/carousel/carousel.d.ts +1 -0
  276. package/dist/types/components/carousel/index.d.ts +3 -1
  277. package/dist/types/components/checkbox/checkbox-root-provider.d.ts +9 -0
  278. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  279. package/dist/types/components/checkbox/index.d.ts +2 -0
  280. package/dist/types/components/clipboard/clipboard-root-provider.d.ts +9 -0
  281. package/dist/types/components/clipboard/clipboard.d.ts +1 -0
  282. package/dist/types/components/clipboard/index.d.ts +3 -1
  283. package/dist/types/components/collapsible/collapsible-root-provider.d.ts +9 -0
  284. package/dist/types/components/collapsible/collapsible.d.ts +1 -0
  285. package/dist/types/components/collapsible/index.d.ts +3 -1
  286. package/dist/types/components/color-picker/color-picker-root-provider.d.ts +10 -0
  287. package/dist/types/components/color-picker/index.d.ts +2 -0
  288. package/dist/types/components/combobox/combobox-root-provider.d.ts +11 -0
  289. package/dist/types/components/combobox/combobox.d.ts +1 -0
  290. package/dist/types/components/combobox/index.d.ts +2 -0
  291. package/dist/types/components/date-picker/date-picker-root-provider.d.ts +10 -0
  292. package/dist/types/components/date-picker/date-picker.d.ts +1 -0
  293. package/dist/types/components/date-picker/index.d.ts +3 -1
  294. package/dist/types/components/dialog/dialog-root-provider.d.ts +11 -0
  295. package/dist/types/components/dialog/dialog.d.ts +1 -0
  296. package/dist/types/components/dialog/index.d.ts +3 -1
  297. package/dist/types/components/editable/editable-root-provider.d.ts +9 -0
  298. package/dist/types/components/editable/editable.d.ts +1 -0
  299. package/dist/types/components/editable/index.d.ts +3 -1
  300. package/dist/types/components/file-upload/file-upload-root-provider.d.ts +9 -0
  301. package/dist/types/components/file-upload/file-upload.d.ts +1 -0
  302. package/dist/types/components/file-upload/index.d.ts +4 -2
  303. package/dist/types/components/hover-card/hover-card-root-provider.d.ts +11 -0
  304. package/dist/types/components/hover-card/hover-card.d.ts +1 -0
  305. package/dist/types/components/hover-card/index.d.ts +3 -1
  306. package/dist/types/components/menu/index.d.ts +4 -2
  307. package/dist/types/components/menu/menu-root-provider.d.ts +11 -0
  308. package/dist/types/components/menu/menu.d.ts +1 -0
  309. package/dist/types/components/number-input/index.d.ts +3 -1
  310. package/dist/types/components/number-input/number-input-root-provider.d.ts +9 -0
  311. package/dist/types/components/pagination/index.d.ts +3 -1
  312. package/dist/types/components/pagination/pagination-root-provider.d.ts +9 -0
  313. package/dist/types/components/pagination/pagination.d.ts +2 -1
  314. package/dist/types/components/pin-input/index.d.ts +4 -2
  315. package/dist/types/components/pin-input/pin-input-root-provider.d.ts +9 -0
  316. package/dist/types/components/pin-input/pin-input.d.ts +1 -0
  317. package/dist/types/components/popover/index.d.ts +3 -1
  318. package/dist/types/components/popover/popover-root-provider.d.ts +11 -0
  319. package/dist/types/components/popover/popover.d.ts +1 -0
  320. package/dist/types/components/progress/index.d.ts +3 -1
  321. package/dist/types/components/progress/progress-root-provider.d.ts +9 -0
  322. package/dist/types/components/progress/progress.d.ts +1 -0
  323. package/dist/types/components/radio-group/index.d.ts +2 -0
  324. package/dist/types/components/radio-group/radio-group-root-provider.d.ts +9 -0
  325. package/dist/types/components/radio-group/radio-group.d.ts +1 -0
  326. package/dist/types/components/rating-group/index.d.ts +5 -3
  327. package/dist/types/components/rating-group/rating-group-root-provider.d.ts +9 -0
  328. package/dist/types/components/segment-group/index.d.ts +2 -0
  329. package/dist/types/components/segment-group/segment-group-root-provider.d.ts +9 -0
  330. package/dist/types/components/segment-group/segment-group.d.ts +1 -1
  331. package/dist/types/components/select/index.d.ts +2 -0
  332. package/dist/types/components/select/select-root-provider.d.ts +11 -0
  333. package/dist/types/components/select/select.d.ts +1 -0
  334. package/dist/types/components/slider/index.d.ts +2 -0
  335. package/dist/types/components/slider/slider-root-provider.d.ts +9 -0
  336. package/dist/types/components/slider/slider.d.ts +2 -1
  337. package/dist/types/components/splitter/index.d.ts +3 -1
  338. package/dist/types/components/splitter/splitter-root-provider.d.ts +9 -0
  339. package/dist/types/components/splitter/splitter.d.ts +1 -0
  340. package/dist/types/components/switch/index.d.ts +2 -0
  341. package/dist/types/components/switch/switch-root-provider.d.ts +9 -0
  342. package/dist/types/components/switch/switch.d.ts +1 -0
  343. package/dist/types/components/tabs/index.d.ts +3 -1
  344. package/dist/types/components/tabs/tabs-root-provider.d.ts +10 -0
  345. package/dist/types/components/tabs/tabs.d.ts +1 -0
  346. package/dist/types/components/tags-input/index.d.ts +5 -3
  347. package/dist/types/components/tags-input/tags-input-root-provider.d.ts +9 -0
  348. package/dist/types/components/tags-input/tags-input.d.ts +1 -0
  349. package/dist/types/components/toggle-group/index.d.ts +3 -1
  350. package/dist/types/components/toggle-group/toggle-group-root-provider.d.ts +9 -0
  351. package/dist/types/components/tooltip/index.d.ts +3 -1
  352. package/dist/types/components/tooltip/tooltip-root-provider.d.ts +11 -0
  353. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  354. package/dist/types/components/tree-view/index.d.ts +4 -2
  355. package/dist/types/components/tree-view/tree-view-root-provider.d.ts +9 -0
  356. package/dist/types/components/tree-view/tree-view.d.ts +1 -0
  357. package/package.json +42 -42
@@ -0,0 +1,16 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { createSplitProps } from '../../utils/create-split-props';
3
+ import { ark } from '../factory';
4
+ import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
5
+ import { ComboboxProvider } from './use-combobox-context';
6
+ export const ComboboxRootProvider = (props) => {
7
+ const [presenceProps, comboboxProps] = splitPresenceProps(props);
8
+ const [{ value: combobox }, localProps] = createSplitProps()(comboboxProps, ['value']);
9
+ const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: combobox().open })));
10
+ const mergedProps = mergeProps(() => combobox().getRootProps(), localProps);
11
+ return (<ComboboxProvider value={combobox}>
12
+ <PresenceProvider value={apiPresence}>
13
+ <ark.div {...mergedProps}/>
14
+ </PresenceProvider>
15
+ </ComboboxProvider>);
16
+ };
@@ -52,7 +52,7 @@ export const ComboboxRoot = (props) => {
52
52
  ]);
53
53
  const api = useCombobox(useComboboxProps);
54
54
  const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().open })));
55
- const mergedProps = mergeProps(() => api().rootProps, localProps);
55
+ const mergedProps = mergeProps(() => api().getRootProps(), localProps);
56
56
  return (<ComboboxProvider value={api}>
57
57
  <PresenceProvider value={apiPresence}>
58
58
  <ark.div {...mergedProps}/>
@@ -12,4 +12,5 @@ export { ComboboxItemText as ItemText, } from './combobox-item-text';
12
12
  export { ComboboxLabel as Label } from './combobox-label';
13
13
  export { ComboboxPositioner as Positioner, } from './combobox-positioner';
14
14
  export { ComboboxRoot as Root } from './combobox-root';
15
+ export { ComboboxRootProvider as RootProvider, } from './combobox-root-provider';
15
16
  export { ComboboxTrigger as Trigger, } from './combobox-trigger';
@@ -12,7 +12,9 @@ export { ComboboxItemText } from './combobox-item-text';
12
12
  export { ComboboxLabel } from './combobox-label';
13
13
  export { ComboboxPositioner } from './combobox-positioner';
14
14
  export { ComboboxRoot } from './combobox-root';
15
+ export { ComboboxRootProvider } from './combobox-root-provider';
15
16
  export { ComboboxTrigger } from './combobox-trigger';
17
+ export { useCombobox } from './use-combobox';
16
18
  export { useComboboxContext } from './use-combobox-context';
17
19
  export { useComboboxItemContext } from './use-combobox-item-context';
18
20
  export * as Combobox from './combobox';
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerClearTrigger = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().clearTriggerProps, props);
6
+ const mergedProps = mergeProps(() => api().getClearTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -6,7 +6,7 @@ import { useDatePickerContext } from './use-date-picker-context';
6
6
  export const DatePickerContent = (props) => {
7
7
  const api = useDatePickerContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().contentProps, () => presenceApi().presenceProps, props);
9
+ const mergedProps = mergeProps(() => api().getContentProps(), () => presenceApi().presenceProps, props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerControl = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().controlProps, props);
6
+ const mergedProps = mergeProps(() => api().getControlProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerLabel = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().labelProps, props);
6
+ const mergedProps = mergeProps(() => api().getLabelProps(), props);
7
7
  return <ark.label {...mergedProps}/>;
8
8
  };
@@ -3,7 +3,7 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerMonthSelect = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().monthSelectProps, props);
6
+ const mergedProps = mergeProps(() => api().getMonthSelectProps(), props);
7
7
  return (<ark.select {...mergedProps}>
8
8
  {api()
9
9
  .getMonths()
@@ -6,7 +6,7 @@ import { useDatePickerContext } from './use-date-picker-context';
6
6
  export const DatePickerPositioner = (props) => {
7
7
  const api = useDatePickerContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().positionerProps, props);
9
+ const mergedProps = mergeProps(() => api().getPositionerProps(), props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerRangeText = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().rangeTextProps, props);
6
+ const mergedProps = mergeProps(() => api().getRangeTextProps(), props);
7
7
  return <ark.div {...mergedProps}>{api().visibleRangeText.start}</ark.div>;
8
8
  };
@@ -0,0 +1,16 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { createSplitProps } from '../../utils/create-split-props';
3
+ import { ark } from '../factory';
4
+ import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
5
+ import { DatePickerProvider } from './use-date-picker-context';
6
+ export const DatePickerRootProvider = (props) => {
7
+ const [presenceProps, datePickerProps] = splitPresenceProps(props);
8
+ const [{ value: datePicker }, localProps] = createSplitProps()(datePickerProps, ['value']);
9
+ const presence = usePresence(mergeProps(presenceProps, () => ({ present: datePicker().open })));
10
+ const mergedProps = mergeProps(() => datePicker().getRootProps(), localProps);
11
+ return (<DatePickerProvider value={datePicker}>
12
+ <PresenceProvider value={presence}>
13
+ <ark.div {...mergedProps}/>
14
+ </PresenceProvider>
15
+ </DatePickerProvider>);
16
+ };
@@ -40,7 +40,7 @@ export const DatePickerRoot = (props) => {
40
40
  ]);
41
41
  const api = useDatePicker(useDatePickerProps);
42
42
  const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().open })));
43
- const mergedProps = mergeProps(() => api().rootProps, localProps);
43
+ const mergedProps = mergeProps(() => api().getRootProps(), localProps);
44
44
  return (<DatePickerProvider value={api}>
45
45
  <PresenceProvider value={apiPresence}>
46
46
  <ark.div {...mergedProps}/>
@@ -1,4 +1,5 @@
1
1
  import { mergeProps } from '@zag-js/solid';
2
+ import { createMemo } from 'solid-js';
2
3
  import { createSplitProps } from '../../utils/create-split-props';
3
4
  import { ark } from '../factory';
4
5
  import { useDatePickerContext } from './use-date-picker-context';
@@ -13,13 +14,17 @@ export const DatePickerTableCell = (props) => {
13
14
  ]);
14
15
  const api = useDatePickerContext();
15
16
  const viewProps = useDatePickerViewContext();
16
- const tableCellProps = {
17
- day: api().getDayTableCellProps,
18
- month: api().getMonthTableCellProps,
19
- year: api().getYearTableCellProps,
20
- // @ts-expect-error use filter guard
21
- }[viewProps.view](cellProps);
22
- const mergedProps = mergeProps(() => tableCellProps, localProps);
17
+ const tableCellProps = createMemo(() => {
18
+ const viewMap = {
19
+ day: api().getDayTableCellProps,
20
+ month: api().getMonthTableCellProps,
21
+ year: api().getYearTableCellProps,
22
+ };
23
+ const viewFn = viewMap[viewProps.view];
24
+ // @ts-expect-error
25
+ return viewFn(cellProps);
26
+ });
27
+ const mergedProps = mergeProps(tableCellProps, localProps);
23
28
  return (<DatePickerTableCellProvider value={cellProps}>
24
29
  <ark.td {...mergedProps}/>
25
30
  </DatePickerTableCellProvider>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerTrigger = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().triggerProps, props);
6
+ const mergedProps = mergeProps(() => api().getTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -3,7 +3,7 @@ import { ark } from '../factory';
3
3
  import { useDatePickerContext } from './use-date-picker-context';
4
4
  export const DatePickerYearSelect = (props) => {
5
5
  const api = useDatePickerContext();
6
- const mergedProps = mergeProps(() => api().yearSelectProps, props);
6
+ const mergedProps = mergeProps(() => api().getYearSelectProps(), props);
7
7
  return (<ark.select {...mergedProps}>
8
8
  {getYearsRange({ from: 1_000, to: 4_000 }).map((year) => (<option value={year}>{year}</option>))}
9
9
  </ark.select>);
@@ -11,6 +11,7 @@ export { DatePickerPresetTrigger as PresetTrigger, } from './date-picker-preset-
11
11
  export { DatePickerPrevTrigger as PrevTrigger, } from './date-picker-prev-trigger';
12
12
  export { DatePickerRangeText as RangeText, } from './date-picker-range-text';
13
13
  export { DatePickerRoot as Root } from './date-picker-root';
14
+ export { DatePickerRootProvider as RootProvider, } from './date-picker-root-provider';
14
15
  export { DatePickerTable as Table, } from './date-picker-table';
15
16
  export { DatePickerTableBody as TableBody, } from './date-picker-table-body';
16
17
  export { DatePickerTableCell as TableCell, } from './date-picker-table-cell';
@@ -11,6 +11,7 @@ export { DatePickerPresetTrigger, } from './date-picker-preset-trigger';
11
11
  export { DatePickerPrevTrigger } from './date-picker-prev-trigger';
12
12
  export { DatePickerRangeText } from './date-picker-range-text';
13
13
  export { DatePickerRoot } from './date-picker-root';
14
+ export { DatePickerRootProvider, } from './date-picker-root-provider';
14
15
  export { DatePickerTable } from './date-picker-table';
15
16
  export { DatePickerTableBody } from './date-picker-table-body';
16
17
  export { DatePickerTableCell } from './date-picker-table-cell';
@@ -23,5 +24,6 @@ export { DatePickerView } from './date-picker-view';
23
24
  export { DatePickerViewControl } from './date-picker-view-control';
24
25
  export { DatePickerViewTrigger } from './date-picker-view-trigger';
25
26
  export { DatePickerYearSelect } from './date-picker-year-select';
27
+ export { useDatePicker } from './use-date-picker';
26
28
  export { useDatePickerContext } from './use-date-picker-context';
27
29
  export * as DatePicker from './date-picker';
@@ -8,7 +8,7 @@ export const DialogBackdrop = (props) => {
8
8
  const api = useDialogContext();
9
9
  const renderStrategyProps = useRenderStrategyContext();
10
10
  const presenceApi = usePresence(mergeProps(renderStrategyProps, () => ({ present: api().open })));
11
- const mergedProps = mergeProps(() => api().backdropProps, () => presenceApi().presenceProps, props);
11
+ const mergedProps = mergeProps(() => api().getBackdropProps(), () => presenceApi().presenceProps, props);
12
12
  return (<Show when={!presenceApi().unmounted}>
13
13
  <ark.div {...mergedProps}/>
14
14
  </Show>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDialogContext } from './use-dialog-context';
4
4
  export const DialogCloseTrigger = (props) => {
5
5
  const dialog = useDialogContext();
6
- const mergedProps = mergeProps(() => dialog().closeTriggerProps, props);
6
+ const mergedProps = mergeProps(() => dialog().getCloseTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -6,7 +6,7 @@ import { useDialogContext } from './use-dialog-context';
6
6
  export const DialogContent = (props) => {
7
7
  const api = useDialogContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().contentProps, () => presenceApi().presenceProps, props);
9
+ const mergedProps = mergeProps(() => api().getContentProps(), () => presenceApi().presenceProps, props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDialogContext } from './use-dialog-context';
4
4
  export const DialogDescription = (props) => {
5
5
  const dialog = useDialogContext();
6
- const mergedProps = mergeProps(() => dialog().descriptionProps, props);
6
+ const mergedProps = mergeProps(() => dialog().getDescriptionProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -6,7 +6,7 @@ import { useDialogContext } from './use-dialog-context';
6
6
  export const DialogPositioner = (props) => {
7
7
  const api = useDialogContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().positionerProps, props);
9
+ const mergedProps = mergeProps(() => api().getPositionerProps(), props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -0,0 +1,14 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { RenderStrategyProvider, splitRenderStrategyProps } from '../../utils/render-strategy';
3
+ import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
4
+ import { DialogProvider } from './use-dialog-context';
5
+ export const DialogRootProvider = (props) => {
6
+ const [presenceProps, localProps] = splitPresenceProps(props);
7
+ const [renderStrategyProps] = splitRenderStrategyProps(presenceProps);
8
+ const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: localProps.value().open })));
9
+ return (<DialogProvider value={localProps.value}>
10
+ <RenderStrategyProvider value={renderStrategyProps}>
11
+ <PresenceProvider value={apiPresence}>{localProps.children}</PresenceProvider>
12
+ </RenderStrategyProvider>
13
+ </DialogProvider>);
14
+ };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useDialogContext } from './use-dialog-context';
4
4
  export const DialogTitle = (props) => {
5
5
  const dialog = useDialogContext();
6
- const mergedProps = mergeProps(() => dialog().titleProps, props);
6
+ const mergedProps = mergeProps(() => dialog().getTitleProps(), props);
7
7
  return <ark.h2 {...mergedProps}/>;
8
8
  };
@@ -5,6 +5,6 @@ import { useDialogContext } from './use-dialog-context';
5
5
  export const DialogTrigger = (props) => {
6
6
  const api = useDialogContext();
7
7
  const presenceApi = usePresenceContext();
8
- const mergedProps = mergeProps(() => api().triggerProps, () => ({ 'aria-controls': presenceApi().unmounted && null }), props);
8
+ const mergedProps = mergeProps(() => api().getTriggerProps(), () => ({ 'aria-controls': presenceApi().unmounted && null }), props);
9
9
  return <ark.button {...mergedProps}/>;
10
10
  };
@@ -5,5 +5,6 @@ export { DialogContext as Context } from './dialog-context';
5
5
  export { DialogDescription as Description, } from './dialog-description';
6
6
  export { DialogPositioner as Positioner, } from './dialog-positioner';
7
7
  export { DialogRoot as Root } from './dialog-root';
8
+ export { DialogRootProvider as RootProvider, } from './dialog-root-provider';
8
9
  export { DialogTitle as Title } from './dialog-title';
9
10
  export { DialogTrigger as Trigger } from './dialog-trigger';
@@ -5,7 +5,9 @@ export { DialogContext } from './dialog-context';
5
5
  export { DialogDescription } from './dialog-description';
6
6
  export { DialogPositioner } from './dialog-positioner';
7
7
  export { DialogRoot } from './dialog-root';
8
+ export { DialogRootProvider } from './dialog-root-provider';
8
9
  export { DialogTitle } from './dialog-title';
9
10
  export { DialogTrigger } from './dialog-trigger';
11
+ export { useDialog } from './use-dialog';
10
12
  export { useDialogContext } from './use-dialog-context';
11
13
  export * as Dialog from './dialog';
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableArea = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().areaProps, props);
6
+ const mergedProps = mergeProps(() => api().getAreaProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableCancelTrigger = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().cancelTriggerProps, props);
6
+ const mergedProps = mergeProps(() => api().getCancelTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableControl = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().controlProps, props);
6
+ const mergedProps = mergeProps(() => api().getControlProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableEditTrigger = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().editTriggerProps, props);
6
+ const mergedProps = mergeProps(() => api().getEditTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableInput = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().inputProps, props);
6
+ const mergedProps = mergeProps(() => api().getInputProps(), props);
7
7
  return <ark.input {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableLabel = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().labelProps, props);
6
+ const mergedProps = mergeProps(() => api().getLabelProps(), props);
7
7
  return <ark.label {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditablePreview = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().previewProps, props);
6
+ const mergedProps = mergeProps(() => api().getPreviewProps(), props);
7
7
  return <ark.span {...mergedProps}/>;
8
8
  };
@@ -0,0 +1,11 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { createSplitProps } from '../../utils/create-split-props';
3
+ import { ark } from '../factory';
4
+ import { EditableProvider } from './use-editable-context';
5
+ export const EditableRootProvider = (props) => {
6
+ const [{ value: editable }, localProps] = createSplitProps()(props, ['value']);
7
+ const mergedProps = mergeProps(() => editable().getRootProps(), localProps);
8
+ return (<EditableProvider value={editable}>
9
+ <ark.div {...mergedProps}/>
10
+ </EditableProvider>);
11
+ };
@@ -32,7 +32,7 @@ export const EditableRoot = (props) => {
32
32
  'value',
33
33
  ]);
34
34
  const api = useEditable(useEditableProps);
35
- const mergedProps = mergeProps(() => api().rootProps, localProps);
35
+ const mergedProps = mergeProps(() => api().getRootProps(), localProps);
36
36
  return (<EditableProvider value={api}>
37
37
  <ark.div {...mergedProps}/>
38
38
  </EditableProvider>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useEditableContext } from './use-editable-context';
4
4
  export const EditableSubmitTrigger = (props) => {
5
5
  const api = useEditableContext();
6
- const mergedProps = mergeProps(() => api().submitTriggerProps, props);
6
+ const mergedProps = mergeProps(() => api().getSubmitTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -7,4 +7,5 @@ export { EditableInput as Input } from './editable-input';
7
7
  export { EditableLabel as Label } from './editable-label';
8
8
  export { EditablePreview as Preview, } from './editable-preview';
9
9
  export { EditableRoot as Root } from './editable-root';
10
+ export { EditableRootProvider as RootProvider, } from './editable-root-provider';
10
11
  export { EditableSubmitTrigger as SubmitTrigger, } from './editable-submit-trigger';
@@ -7,6 +7,8 @@ export { EditableInput } from './editable-input';
7
7
  export { EditableLabel } from './editable-label';
8
8
  export { EditablePreview } from './editable-preview';
9
9
  export { EditableRoot } from './editable-root';
10
+ export { EditableRootProvider } from './editable-root-provider';
10
11
  export { EditableSubmitTrigger } from './editable-submit-trigger';
12
+ export { useEditable } from './use-editable';
11
13
  export { useEditableContext } from './use-editable-context';
12
14
  export * as Editable from './editable';
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useFileUploadContext } from './use-file-upload-context';
4
4
  export const FileUploadDropzone = (props) => {
5
5
  const fileUpload = useFileUploadContext();
6
- const mergedProps = mergeProps(() => fileUpload().dropzoneProps, props);
6
+ const mergedProps = mergeProps(() => fileUpload().getDropzoneProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useFileUploadContext } from './use-file-upload-context';
4
4
  export const FileUploadHiddenInput = (props) => {
5
5
  const fileUpload = useFileUploadContext();
6
- const mergedProps = mergeProps(() => fileUpload().hiddenInputProps, props);
6
+ const mergedProps = mergeProps(() => fileUpload().getHiddenInputProps(), props);
7
7
  return <ark.input {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useFileUploadContext } from './use-file-upload-context';
4
4
  export const FileUploadItemGroup = (props) => {
5
5
  const fileUpload = useFileUploadContext();
6
- const mergedProps = mergeProps(() => fileUpload().itemGroupProps, props);
6
+ const mergedProps = mergeProps(() => fileUpload().getItemGroupProps(), props);
7
7
  return <ark.ul {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useFileUploadContext } from './use-file-upload-context';
4
4
  export const FileUploadLabel = (props) => {
5
5
  const fileUpload = useFileUploadContext();
6
- const mergedProps = mergeProps(() => fileUpload().labelProps, props);
6
+ const mergedProps = mergeProps(() => fileUpload().getLabelProps(), props);
7
7
  return <ark.label {...mergedProps}/>;
8
8
  };
@@ -0,0 +1,13 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { createSplitProps } from '../../utils/create-split-props';
3
+ import { ark } from '../factory';
4
+ import { FileUploadProvider } from './use-file-upload-context';
5
+ export const FileUploadRootProvider = (props) => {
6
+ const [{ value: fileUpload }, localProps] = createSplitProps()(props, [
7
+ 'value',
8
+ ]);
9
+ const mergedProps = mergeProps(() => fileUpload().getRootProps(), localProps);
10
+ return (<FileUploadProvider value={fileUpload}>
11
+ <ark.div {...mergedProps}/>
12
+ </FileUploadProvider>);
13
+ };
@@ -24,7 +24,7 @@ export const FileUploadRoot = (props) => {
24
24
  'validate',
25
25
  ]);
26
26
  const fileUpload = useFileUpload(fileUploadProps);
27
- const mergedProps = mergeProps(() => fileUpload().rootProps, localProps);
27
+ const mergedProps = mergeProps(() => fileUpload().getRootProps(), localProps);
28
28
  return (<FileUploadProvider value={fileUpload}>
29
29
  <ark.div {...mergedProps}/>
30
30
  </FileUploadProvider>);
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useFileUploadContext } from './use-file-upload-context';
4
4
  export const FileUploadTrigger = (props) => {
5
5
  const fileUpload = useFileUploadContext();
6
- const mergedProps = mergeProps(() => fileUpload().triggerProps, props);
6
+ const mergedProps = mergeProps(() => fileUpload().getTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -9,5 +9,6 @@ export { FileUploadItemPreviewImage as ItemPreviewImage, } from './file-upload-i
9
9
  export { FileUploadItemSizeText as ItemSizeText, } from './file-upload-item-size-text';
10
10
  export { FileUploadLabel as Label, } from './file-upload-label';
11
11
  export { FileUploadRoot as Root } from './file-upload-root';
12
+ export { FileUploadRootProvider as RootProvider, } from './file-upload-root-provider';
12
13
  export { FileUploadTrigger as Trigger, } from './file-upload-trigger';
13
14
  export { FileUploadHiddenInput as HiddenInput, } from './file-upload-hidden-input';
@@ -1,5 +1,6 @@
1
1
  export { FileUploadContext } from './file-upload-context';
2
2
  export { FileUploadDropzone } from './file-upload-dropzone';
3
+ export { FileUploadHiddenInput } from './file-upload-hidden-input';
3
4
  export { FileUploadItem } from './file-upload-item';
4
5
  export { FileUploadItemDeleteTrigger, } from './file-upload-item-delete-trigger';
5
6
  export { FileUploadItemGroup } from './file-upload-item-group';
@@ -9,7 +10,8 @@ export { FileUploadItemPreviewImage, } from './file-upload-item-preview-image';
9
10
  export { FileUploadItemSizeText, } from './file-upload-item-size-text';
10
11
  export { FileUploadLabel } from './file-upload-label';
11
12
  export { FileUploadRoot } from './file-upload-root';
13
+ export { FileUploadRootProvider, } from './file-upload-root-provider';
12
14
  export { FileUploadTrigger } from './file-upload-trigger';
13
- export { FileUploadHiddenInput } from './file-upload-hidden-input';
15
+ export { useFileUpload } from './use-file-upload';
14
16
  export { useFileUploadContext } from './use-file-upload-context';
15
17
  export * as FileUpload from './file-upload';
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useHoverCardContext } from './use-hover-card-context';
4
4
  export const HoverCardArrowTip = (props) => {
5
5
  const hoverCard = useHoverCardContext();
6
- const mergedProps = mergeProps(() => hoverCard().arrowTipProps, props);
6
+ const mergedProps = mergeProps(() => hoverCard().getArrowTipProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useHoverCardContext } from './use-hover-card-context';
4
4
  export const HoverCardArrow = (props) => {
5
5
  const hoverCard = useHoverCardContext();
6
- const mergedProps = mergeProps(() => hoverCard().arrowProps, props);
6
+ const mergedProps = mergeProps(() => hoverCard().getArrowProps(), props);
7
7
  return <ark.div {...mergedProps}/>;
8
8
  };
@@ -6,7 +6,7 @@ import { useHoverCardContext } from './use-hover-card-context';
6
6
  export const HoverCardContent = (props) => {
7
7
  const api = useHoverCardContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().contentProps, () => presenceApi().presenceProps, props);
9
+ const mergedProps = mergeProps(() => api().getContentProps(), () => presenceApi().presenceProps, props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -6,7 +6,7 @@ import { useHoverCardContext } from './use-hover-card-context';
6
6
  export const HoverCardPositioner = (props) => {
7
7
  const api = useHoverCardContext();
8
8
  const presenceApi = usePresenceContext();
9
- const mergedProps = mergeProps(() => api().positionerProps, props);
9
+ const mergedProps = mergeProps(() => api().getPositionerProps(), props);
10
10
  return (<Show when={!presenceApi().unmounted}>
11
11
  <ark.div {...mergedProps}/>
12
12
  </Show>);
@@ -0,0 +1,10 @@
1
+ import { mergeProps } from '@zag-js/solid';
2
+ import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
3
+ import { HoverCardProvider } from './use-hover-card-context';
4
+ export const HoverCardRootProvider = (props) => {
5
+ const [presenceProps, { value: hoverCard, children }] = splitPresenceProps(props);
6
+ const presence = usePresence(mergeProps(presenceProps, () => ({ present: hoverCard().open })));
7
+ return (<HoverCardProvider value={hoverCard}>
8
+ <PresenceProvider value={presence}>{children}</PresenceProvider>
9
+ </HoverCardProvider>);
10
+ };
@@ -3,6 +3,6 @@ import { ark } from '../factory';
3
3
  import { useHoverCardContext } from './use-hover-card-context';
4
4
  export const HoverCardTrigger = (props) => {
5
5
  const hoverCard = useHoverCardContext();
6
- const mergedProps = mergeProps(() => hoverCard().triggerProps, props);
6
+ const mergedProps = mergeProps(() => hoverCard().getTriggerProps(), props);
7
7
  return <ark.button {...mergedProps}/>;
8
8
  };
@@ -4,4 +4,5 @@ export { HoverCardContent as Content, } from './hover-card-content';
4
4
  export { HoverCardContext as Context, } from './hover-card-context';
5
5
  export { HoverCardPositioner as Positioner, } from './hover-card-positioner';
6
6
  export { HoverCardRoot as Root } from './hover-card-root';
7
+ export { HoverCardRootProvider as RootProvider, } from './hover-card-root-provider';
7
8
  export { HoverCardTrigger as Trigger, } from './hover-card-trigger';