@ark-ui/solid 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/README.md +100 -0
  2. package/dist/accordion/accordion-content.cjs +5 -5
  3. package/dist/accordion/accordion-content.mjs +6 -6
  4. package/dist/accordion/accordion-context.cjs +2 -2
  5. package/dist/accordion/accordion-context.mjs +2 -2
  6. package/dist/accordion/accordion-item.cjs +10 -6
  7. package/dist/accordion/accordion-item.d.ts +1 -1
  8. package/dist/accordion/accordion-item.mjs +12 -8
  9. package/dist/accordion/accordion-trigger.cjs +7 -14
  10. package/dist/accordion/accordion-trigger.d.ts +4 -5
  11. package/dist/accordion/accordion-trigger.mjs +7 -14
  12. package/dist/accordion/accordion.cjs +6 -4
  13. package/dist/accordion/accordion.d.ts +1 -1
  14. package/dist/accordion/accordion.mjs +7 -5
  15. package/dist/carousel/carousel-context.cjs +13 -0
  16. package/dist/carousel/carousel-context.d.ts +62 -0
  17. package/dist/carousel/carousel-context.mjs +8 -0
  18. package/dist/carousel/carousel-control.cjs +10 -0
  19. package/dist/carousel/carousel-control.d.ts +4 -0
  20. package/dist/carousel/carousel-control.mjs +6 -0
  21. package/dist/carousel/carousel-next-slide-trigger.cjs +16 -0
  22. package/dist/carousel/carousel-next-slide-trigger.d.ts +4 -0
  23. package/dist/carousel/carousel-next-slide-trigger.mjs +12 -0
  24. package/dist/carousel/carousel-prev-slide-trigger.cjs +16 -0
  25. package/dist/carousel/carousel-prev-slide-trigger.d.ts +4 -0
  26. package/dist/carousel/carousel-prev-slide-trigger.mjs +12 -0
  27. package/dist/carousel/carousel-slide-group.cjs +16 -0
  28. package/dist/carousel/carousel-slide-group.d.ts +4 -0
  29. package/dist/carousel/carousel-slide-group.mjs +12 -0
  30. package/dist/carousel/carousel-slide.cjs +18 -0
  31. package/dist/carousel/carousel-slide.d.ts +6 -0
  32. package/dist/carousel/carousel-slide.mjs +14 -0
  33. package/dist/carousel/carousel-viewport.cjs +16 -0
  34. package/dist/carousel/carousel-viewport.d.ts +4 -0
  35. package/dist/carousel/carousel-viewport.mjs +12 -0
  36. package/dist/carousel/carousel.anatomy.cjs +10 -0
  37. package/dist/carousel/carousel.anatomy.d.ts +3 -0
  38. package/dist/carousel/carousel.anatomy.mjs +6 -0
  39. package/dist/carousel/carousel.cjs +24 -0
  40. package/dist/carousel/carousel.d.ts +6 -0
  41. package/dist/carousel/carousel.mjs +20 -0
  42. package/dist/carousel/index.d.ts +8 -0
  43. package/dist/carousel/use-carousel.cjs +36 -0
  44. package/dist/carousel/use-carousel.d.ts +35 -0
  45. package/dist/carousel/use-carousel.mjs +13 -0
  46. package/dist/checkbox/checkbox-context.cjs +2 -2
  47. package/dist/checkbox/checkbox-context.mjs +2 -2
  48. package/dist/checkbox/checkbox-control.cjs +3 -1
  49. package/dist/checkbox/checkbox-control.mjs +4 -2
  50. package/dist/checkbox/checkbox-input.cjs +3 -1
  51. package/dist/checkbox/checkbox-input.mjs +4 -2
  52. package/dist/checkbox/checkbox-label.cjs +3 -1
  53. package/dist/checkbox/checkbox-label.mjs +4 -2
  54. package/dist/checkbox/checkbox.cjs +10 -13
  55. package/dist/checkbox/checkbox.d.ts +3 -5
  56. package/dist/checkbox/checkbox.mjs +12 -15
  57. package/dist/combobox/combobox-content.cjs +3 -1
  58. package/dist/combobox/combobox-content.mjs +4 -2
  59. package/dist/combobox/combobox-control.cjs +3 -1
  60. package/dist/combobox/combobox-control.mjs +4 -2
  61. package/dist/combobox/combobox-input.cjs +3 -1
  62. package/dist/combobox/combobox-input.mjs +4 -2
  63. package/dist/combobox/combobox-label.cjs +3 -1
  64. package/dist/combobox/combobox-label.mjs +4 -2
  65. package/dist/combobox/combobox-option.cjs +5 -6
  66. package/dist/combobox/combobox-option.d.ts +1 -1
  67. package/dist/combobox/combobox-option.mjs +8 -9
  68. package/dist/combobox/combobox-positioner.cjs +3 -1
  69. package/dist/combobox/combobox-positioner.mjs +4 -2
  70. package/dist/combobox/combobox-trigger.cjs +4 -11
  71. package/dist/combobox/combobox-trigger.d.ts +4 -5
  72. package/dist/combobox/combobox-trigger.mjs +5 -12
  73. package/dist/combobox/combobox.cjs +9 -12
  74. package/dist/combobox/combobox.d.ts +3 -5
  75. package/dist/combobox/combobox.mjs +11 -14
  76. package/dist/create-split-props.d.ts +3 -1
  77. package/dist/dialog/dialog-backdrop.cjs +3 -1
  78. package/dist/dialog/dialog-backdrop.mjs +4 -2
  79. package/dist/dialog/dialog-close-trigger.cjs +4 -11
  80. package/dist/dialog/dialog-close-trigger.d.ts +4 -5
  81. package/dist/dialog/dialog-close-trigger.mjs +5 -12
  82. package/dist/dialog/dialog-container.cjs +3 -1
  83. package/dist/dialog/dialog-container.mjs +4 -2
  84. package/dist/dialog/dialog-content.cjs +3 -1
  85. package/dist/dialog/dialog-content.mjs +4 -2
  86. package/dist/dialog/dialog-description.cjs +3 -1
  87. package/dist/dialog/dialog-description.mjs +4 -2
  88. package/dist/dialog/dialog-title.cjs +3 -1
  89. package/dist/dialog/dialog-title.mjs +4 -2
  90. package/dist/dialog/dialog-trigger.cjs +4 -11
  91. package/dist/dialog/dialog-trigger.d.ts +4 -5
  92. package/dist/dialog/dialog-trigger.mjs +5 -12
  93. package/dist/dialog/dialog.cjs +7 -6
  94. package/dist/dialog/dialog.d.ts +1 -1
  95. package/dist/dialog/dialog.mjs +7 -6
  96. package/dist/editable/editable-area.cjs +3 -1
  97. package/dist/editable/editable-area.mjs +4 -2
  98. package/dist/editable/editable-cancel-trigger.cjs +5 -12
  99. package/dist/editable/editable-cancel-trigger.d.ts +4 -5
  100. package/dist/editable/editable-cancel-trigger.mjs +6 -13
  101. package/dist/editable/editable-control.cjs +3 -1
  102. package/dist/editable/editable-control.mjs +4 -2
  103. package/dist/editable/editable-edit-trigger.cjs +5 -12
  104. package/dist/editable/editable-edit-trigger.d.ts +4 -5
  105. package/dist/editable/editable-edit-trigger.mjs +6 -13
  106. package/dist/editable/editable-input.cjs +3 -1
  107. package/dist/editable/editable-input.mjs +4 -2
  108. package/dist/editable/editable-label.cjs +3 -1
  109. package/dist/editable/editable-label.mjs +4 -2
  110. package/dist/editable/editable-preview.cjs +3 -1
  111. package/dist/editable/editable-preview.mjs +4 -2
  112. package/dist/editable/editable-submit-trigger.cjs +4 -11
  113. package/dist/editable/editable-submit-trigger.d.ts +4 -5
  114. package/dist/editable/editable-submit-trigger.mjs +5 -12
  115. package/dist/editable/editable.cjs +10 -11
  116. package/dist/editable/editable.d.ts +4 -6
  117. package/dist/editable/editable.mjs +13 -14
  118. package/dist/environment/environment.cjs +2 -2
  119. package/dist/environment/environment.mjs +2 -2
  120. package/dist/factory.cjs +43 -9
  121. package/dist/factory.d.ts +14 -12
  122. package/dist/factory.mjs +43 -10
  123. package/dist/filter-props.cjs +28 -0
  124. package/dist/filter-props.d.ts +2 -0
  125. package/dist/filter-props.mjs +23 -0
  126. package/dist/hover-card/hover-card-arrow-tip.cjs +3 -1
  127. package/dist/hover-card/hover-card-arrow-tip.mjs +4 -2
  128. package/dist/hover-card/hover-card-arrow.cjs +3 -1
  129. package/dist/hover-card/hover-card-arrow.mjs +4 -2
  130. package/dist/hover-card/hover-card-content.cjs +3 -1
  131. package/dist/hover-card/hover-card-content.mjs +4 -2
  132. package/dist/hover-card/hover-card-positioner.cjs +3 -1
  133. package/dist/hover-card/hover-card-positioner.mjs +4 -2
  134. package/dist/hover-card/hover-card-trigger.cjs +4 -11
  135. package/dist/hover-card/hover-card-trigger.d.ts +4 -5
  136. package/dist/hover-card/hover-card-trigger.mjs +5 -12
  137. package/dist/index.cjs +72 -0
  138. package/dist/index.d.ts +4 -0
  139. package/dist/index.mjs +31 -0
  140. package/dist/menu/menu-arrow-tip.cjs +3 -1
  141. package/dist/menu/menu-arrow-tip.mjs +4 -2
  142. package/dist/menu/menu-arrow.cjs +3 -1
  143. package/dist/menu/menu-arrow.mjs +4 -2
  144. package/dist/menu/menu-content.cjs +3 -1
  145. package/dist/menu/menu-content.mjs +4 -2
  146. package/dist/menu/menu-context-trigger.cjs +4 -9
  147. package/dist/menu/menu-context-trigger.d.ts +4 -5
  148. package/dist/menu/menu-context-trigger.mjs +5 -10
  149. package/dist/menu/menu-item-group-label.cjs +4 -2
  150. package/dist/menu/menu-item-group-label.d.ts +1 -1
  151. package/dist/menu/menu-item-group-label.mjs +5 -3
  152. package/dist/menu/menu-item-group.cjs +4 -2
  153. package/dist/menu/menu-item-group.d.ts +1 -1
  154. package/dist/menu/menu-item-group.mjs +5 -3
  155. package/dist/menu/menu-item.cjs +4 -2
  156. package/dist/menu/menu-item.d.ts +1 -1
  157. package/dist/menu/menu-item.mjs +5 -3
  158. package/dist/menu/menu-option-item.cjs +9 -4
  159. package/dist/menu/menu-option-item.d.ts +3 -3
  160. package/dist/menu/menu-option-item.mjs +11 -6
  161. package/dist/menu/menu-positioner.cjs +3 -1
  162. package/dist/menu/menu-positioner.mjs +4 -2
  163. package/dist/menu/menu-separator.cjs +3 -1
  164. package/dist/menu/menu-separator.mjs +4 -2
  165. package/dist/menu/menu-trigger-item.cjs +3 -1
  166. package/dist/menu/menu-trigger-item.mjs +4 -2
  167. package/dist/menu/menu-trigger.cjs +4 -10
  168. package/dist/menu/menu-trigger.d.ts +4 -5
  169. package/dist/menu/menu-trigger.mjs +5 -11
  170. package/dist/menu/menu.cjs +13 -21
  171. package/dist/menu/menu.d.ts +1 -1
  172. package/dist/menu/menu.mjs +15 -23
  173. package/dist/number-input/number-input-control.cjs +4 -2
  174. package/dist/number-input/number-input-control.mjs +5 -3
  175. package/dist/number-input/number-input-decrement-trigger.cjs +5 -12
  176. package/dist/number-input/number-input-decrement-trigger.d.ts +4 -5
  177. package/dist/number-input/number-input-decrement-trigger.mjs +6 -13
  178. package/dist/number-input/number-input-field.cjs +4 -2
  179. package/dist/number-input/number-input-field.mjs +5 -3
  180. package/dist/number-input/number-input-increment-trigger.cjs +5 -12
  181. package/dist/number-input/number-input-increment-trigger.d.ts +4 -5
  182. package/dist/number-input/number-input-increment-trigger.mjs +6 -13
  183. package/dist/number-input/number-input-label.cjs +4 -2
  184. package/dist/number-input/number-input-label.mjs +5 -3
  185. package/dist/number-input/number-input-scrubber.cjs +4 -2
  186. package/dist/number-input/number-input-scrubber.mjs +5 -3
  187. package/dist/number-input/number-input.cjs +6 -4
  188. package/dist/number-input/number-input.d.ts +1 -1
  189. package/dist/number-input/number-input.mjs +7 -5
  190. package/dist/pagination/index.d.ts +1 -0
  191. package/dist/pagination/pagination-context.d.ts +5 -15
  192. package/dist/pagination/pagination-ellipsis.cjs +5 -3
  193. package/dist/pagination/pagination-ellipsis.d.ts +3 -6
  194. package/dist/pagination/pagination-ellipsis.mjs +6 -4
  195. package/dist/pagination/pagination-list-item.cjs +11 -0
  196. package/dist/pagination/pagination-list-item.d.ts +4 -0
  197. package/dist/pagination/pagination-list-item.mjs +7 -0
  198. package/dist/pagination/pagination-list.cjs +2 -1
  199. package/dist/pagination/pagination-list.mjs +3 -2
  200. package/dist/pagination/pagination-page-trigger.d.ts +1 -1
  201. package/dist/pagination/pagination-prev-page-trigger.cjs +2 -2
  202. package/dist/pagination/pagination-prev-page-trigger.mjs +2 -2
  203. package/dist/pagination/pagination.anatomy.cjs +3 -1
  204. package/dist/pagination/pagination.anatomy.d.ts +3 -2
  205. package/dist/pagination/pagination.anatomy.mjs +3 -2
  206. package/dist/pagination/pagination.cjs +9 -7
  207. package/dist/pagination/pagination.d.ts +3 -3
  208. package/dist/pagination/pagination.mjs +11 -9
  209. package/dist/pagination/use-pagination.d.ts +3 -8
  210. package/dist/pin-input/pin-input-control.cjs +10 -6
  211. package/dist/pin-input/pin-input-control.mjs +11 -7
  212. package/dist/pin-input/pin-input-field.cjs +6 -8
  213. package/dist/pin-input/pin-input-field.d.ts +1 -1
  214. package/dist/pin-input/pin-input-field.mjs +7 -9
  215. package/dist/pin-input/pin-input-label.cjs +4 -2
  216. package/dist/pin-input/pin-input-label.mjs +5 -3
  217. package/dist/pin-input/pin-input.cjs +5 -3
  218. package/dist/pin-input/pin-input.d.ts +1 -1
  219. package/dist/pin-input/pin-input.mjs +6 -4
  220. package/dist/popover/popover-anchor.cjs +6 -13
  221. package/dist/popover/popover-anchor.d.ts +4 -5
  222. package/dist/popover/popover-anchor.mjs +6 -13
  223. package/dist/popover/popover-arrow-tip.cjs +3 -1
  224. package/dist/popover/popover-arrow-tip.mjs +4 -2
  225. package/dist/popover/popover-arrow.cjs +3 -1
  226. package/dist/popover/popover-arrow.mjs +4 -2
  227. package/dist/popover/popover-close-trigger.cjs +5 -12
  228. package/dist/popover/popover-close-trigger.d.ts +4 -5
  229. package/dist/popover/popover-close-trigger.mjs +6 -13
  230. package/dist/popover/popover-content.cjs +4 -2
  231. package/dist/popover/popover-content.mjs +5 -3
  232. package/dist/popover/popover-description.cjs +4 -2
  233. package/dist/popover/popover-description.mjs +5 -3
  234. package/dist/popover/popover-positioner.cjs +4 -2
  235. package/dist/popover/popover-positioner.mjs +5 -3
  236. package/dist/popover/popover-title.cjs +4 -2
  237. package/dist/popover/popover-title.mjs +5 -3
  238. package/dist/popover/popover-trigger.cjs +6 -13
  239. package/dist/popover/popover-trigger.d.ts +4 -5
  240. package/dist/popover/popover-trigger.mjs +6 -13
  241. package/dist/popover/popover.cjs +2 -2
  242. package/dist/popover/popover.mjs +2 -2
  243. package/dist/pressable/pressable.cjs +5 -5
  244. package/dist/pressable/pressable.d.ts +1 -1
  245. package/dist/pressable/pressable.mjs +6 -6
  246. package/dist/pressable/use-pressable.cjs +1 -1
  247. package/dist/pressable/use-pressable.d.ts +3 -3
  248. package/dist/pressable/use-pressable.mjs +2 -2
  249. package/dist/prop-trap.cjs +37 -0
  250. package/dist/prop-trap.d.ts +5 -0
  251. package/dist/prop-trap.mjs +33 -0
  252. package/dist/radio-group/radio-control.cjs +5 -3
  253. package/dist/radio-group/radio-control.mjs +6 -4
  254. package/dist/radio-group/radio-group-label.cjs +4 -2
  255. package/dist/radio-group/radio-group-label.mjs +5 -3
  256. package/dist/radio-group/radio-group.cjs +6 -4
  257. package/dist/radio-group/radio-group.d.ts +1 -1
  258. package/dist/radio-group/radio-group.mjs +7 -5
  259. package/dist/radio-group/radio-input.cjs +5 -3
  260. package/dist/radio-group/radio-input.mjs +6 -4
  261. package/dist/radio-group/radio-label.cjs +5 -3
  262. package/dist/radio-group/radio-label.mjs +6 -4
  263. package/dist/radio-group/radio.cjs +5 -6
  264. package/dist/radio-group/radio.d.ts +1 -1
  265. package/dist/radio-group/radio.mjs +6 -7
  266. package/dist/range-slider/index.d.ts +10 -0
  267. package/dist/range-slider/range-slider-context.cjs +13 -0
  268. package/dist/range-slider/range-slider-context.d.ts +61 -0
  269. package/dist/range-slider/range-slider-context.mjs +8 -0
  270. package/dist/range-slider/range-slider-control.cjs +16 -0
  271. package/dist/range-slider/range-slider-control.d.ts +4 -0
  272. package/dist/range-slider/range-slider-control.mjs +12 -0
  273. package/dist/range-slider/range-slider-label.cjs +16 -0
  274. package/dist/range-slider/range-slider-label.d.ts +4 -0
  275. package/dist/range-slider/range-slider-label.mjs +12 -0
  276. package/dist/range-slider/range-slider-marker-group.cjs +16 -0
  277. package/dist/range-slider/range-slider-marker-group.d.ts +4 -0
  278. package/dist/range-slider/range-slider-marker-group.mjs +12 -0
  279. package/dist/range-slider/range-slider-marker.cjs +18 -0
  280. package/dist/range-slider/range-slider-marker.d.ts +9 -0
  281. package/dist/range-slider/range-slider-marker.mjs +14 -0
  282. package/dist/range-slider/range-slider-output.cjs +22 -0
  283. package/dist/range-slider/range-slider-output.d.ts +8 -0
  284. package/dist/range-slider/range-slider-output.mjs +18 -0
  285. package/dist/range-slider/range-slider-range.cjs +16 -0
  286. package/dist/range-slider/range-slider-range.d.ts +4 -0
  287. package/dist/range-slider/range-slider-range.mjs +12 -0
  288. package/dist/range-slider/range-slider-thumb.cjs +18 -0
  289. package/dist/range-slider/range-slider-thumb.d.ts +9 -0
  290. package/dist/range-slider/range-slider-thumb.mjs +14 -0
  291. package/dist/range-slider/range-slider-track.cjs +16 -0
  292. package/dist/range-slider/range-slider-track.d.ts +4 -0
  293. package/dist/range-slider/range-slider-track.mjs +12 -0
  294. package/dist/range-slider/range-slider.anatomy.d.ts +1 -0
  295. package/dist/range-slider/range-slider.cjs +28 -0
  296. package/dist/range-slider/range-slider.d.ts +8 -0
  297. package/dist/range-slider/range-slider.mjs +24 -0
  298. package/dist/range-slider/use-range-slider.cjs +38 -0
  299. package/dist/range-slider/use-range-slider.d.ts +34 -0
  300. package/dist/range-slider/use-range-slider.mjs +15 -0
  301. package/dist/rating-group/rating-context.d.ts +4 -3
  302. package/dist/rating-group/rating-group-control.cjs +6 -5
  303. package/dist/rating-group/rating-group-control.d.ts +3 -2
  304. package/dist/rating-group/rating-group-control.mjs +7 -6
  305. package/dist/rating-group/rating-group-label.cjs +3 -1
  306. package/dist/rating-group/rating-group-label.mjs +4 -2
  307. package/dist/rating-group/rating-group.cjs +7 -5
  308. package/dist/rating-group/rating-group.d.ts +2 -2
  309. package/dist/rating-group/rating-group.mjs +8 -6
  310. package/dist/rating-group/rating.cjs +9 -8
  311. package/dist/rating-group/rating.d.ts +5 -3
  312. package/dist/rating-group/rating.mjs +10 -9
  313. package/dist/select/select-content.cjs +4 -2
  314. package/dist/select/select-content.mjs +5 -3
  315. package/dist/select/select-label.cjs +4 -2
  316. package/dist/select/select-label.mjs +5 -3
  317. package/dist/select/select-option-group-label.cjs +5 -3
  318. package/dist/select/select-option-group-label.d.ts +3 -3
  319. package/dist/select/select-option-group-label.mjs +6 -4
  320. package/dist/select/select-option-group.cjs +5 -3
  321. package/dist/select/select-option-group.d.ts +3 -3
  322. package/dist/select/select-option-group.mjs +6 -4
  323. package/dist/select/select-option.cjs +6 -4
  324. package/dist/select/select-option.d.ts +3 -3
  325. package/dist/select/select-option.mjs +7 -5
  326. package/dist/select/select-positioner.cjs +4 -2
  327. package/dist/select/select-positioner.mjs +5 -3
  328. package/dist/select/select-trigger.cjs +5 -12
  329. package/dist/select/select-trigger.d.ts +4 -5
  330. package/dist/select/select-trigger.mjs +6 -13
  331. package/dist/select/select.cjs +5 -12
  332. package/dist/select/select.d.ts +1 -1
  333. package/dist/select/select.mjs +7 -14
  334. package/dist/slider/slider-control.cjs +4 -2
  335. package/dist/slider/slider-control.mjs +5 -3
  336. package/dist/slider/slider-label.cjs +4 -2
  337. package/dist/slider/slider-label.mjs +5 -3
  338. package/dist/slider/slider-marker-group.cjs +4 -2
  339. package/dist/slider/slider-marker-group.mjs +5 -3
  340. package/dist/slider/slider-marker.cjs +5 -3
  341. package/dist/slider/slider-marker.d.ts +3 -3
  342. package/dist/slider/slider-marker.mjs +6 -4
  343. package/dist/slider/slider-output.cjs +7 -4
  344. package/dist/slider/slider-output.d.ts +2 -2
  345. package/dist/slider/slider-output.mjs +8 -5
  346. package/dist/slider/slider-range.cjs +3 -1
  347. package/dist/slider/slider-range.mjs +4 -2
  348. package/dist/slider/slider-thumb.cjs +5 -3
  349. package/dist/slider/slider-thumb.mjs +6 -4
  350. package/dist/slider/slider-track.cjs +3 -1
  351. package/dist/slider/slider-track.mjs +4 -2
  352. package/dist/slider/slider.cjs +10 -7
  353. package/dist/slider/slider.d.ts +2 -2
  354. package/dist/slider/slider.mjs +11 -8
  355. package/dist/splitter/index.d.ts +4 -0
  356. package/dist/splitter/splitter-context.cjs +13 -0
  357. package/dist/splitter/splitter-context.d.ts +50 -0
  358. package/dist/splitter/splitter-context.mjs +8 -0
  359. package/dist/splitter/splitter-panel.cjs +18 -0
  360. package/dist/splitter/splitter-panel.d.ts +8 -0
  361. package/dist/splitter/splitter-panel.mjs +14 -0
  362. package/dist/splitter/splitter-resize-trigger.cjs +18 -0
  363. package/dist/splitter/splitter-resize-trigger.d.ts +8 -0
  364. package/dist/splitter/splitter-resize-trigger.mjs +14 -0
  365. package/dist/splitter/splitter.anatomy.d.ts +1 -0
  366. package/dist/splitter/splitter.cjs +24 -0
  367. package/dist/splitter/splitter.d.ts +6 -0
  368. package/dist/splitter/splitter.mjs +20 -0
  369. package/dist/splitter/use-splitter.cjs +17 -0
  370. package/dist/splitter/use-splitter.d.ts +29 -0
  371. package/dist/splitter/use-splitter.mjs +13 -0
  372. package/dist/spread.cjs +26 -13
  373. package/dist/spread.mjs +26 -13
  374. package/dist/tabs/tab-content.cjs +5 -3
  375. package/dist/tabs/tab-content.d.ts +3 -3
  376. package/dist/tabs/tab-content.mjs +6 -4
  377. package/dist/tabs/tab-indicator.cjs +4 -2
  378. package/dist/tabs/tab-indicator.mjs +5 -3
  379. package/dist/tabs/tab-list.cjs +4 -2
  380. package/dist/tabs/tab-list.mjs +5 -3
  381. package/dist/tabs/tab-trigger.cjs +6 -13
  382. package/dist/tabs/tab-trigger.d.ts +6 -7
  383. package/dist/tabs/tab-trigger.mjs +7 -14
  384. package/dist/tabs/tabs.cjs +6 -4
  385. package/dist/tabs/tabs.d.ts +1 -1
  386. package/dist/tabs/tabs.mjs +7 -5
  387. package/dist/tags-input/tag-delete-trigger.cjs +6 -13
  388. package/dist/tags-input/tag-delete-trigger.d.ts +5 -6
  389. package/dist/tags-input/tag-delete-trigger.mjs +7 -14
  390. package/dist/tags-input/tag-input.cjs +5 -3
  391. package/dist/tags-input/tag-input.d.ts +1 -1
  392. package/dist/tags-input/tag-input.mjs +6 -4
  393. package/dist/tags-input/tag.cjs +5 -3
  394. package/dist/tags-input/tag.d.ts +1 -1
  395. package/dist/tags-input/tag.mjs +6 -4
  396. package/dist/tags-input/tags-input-clear-trigger.cjs +4 -11
  397. package/dist/tags-input/tags-input-clear-trigger.d.ts +4 -5
  398. package/dist/tags-input/tags-input-clear-trigger.mjs +5 -12
  399. package/dist/tags-input/tags-input-control.cjs +4 -2
  400. package/dist/tags-input/tags-input-control.mjs +5 -3
  401. package/dist/tags-input/tags-input-field.cjs +4 -2
  402. package/dist/tags-input/tags-input-field.mjs +5 -3
  403. package/dist/tags-input/tags-input-label.cjs +4 -2
  404. package/dist/tags-input/tags-input-label.mjs +5 -3
  405. package/dist/tags-input/tags-input.cjs +10 -7
  406. package/dist/tags-input/tags-input.d.ts +3 -3
  407. package/dist/tags-input/tags-input.mjs +11 -8
  408. package/dist/toast/index.d.ts +8 -0
  409. package/dist/toast/toast-close-trigger.cjs +16 -0
  410. package/dist/toast/toast-close-trigger.d.ts +4 -0
  411. package/dist/toast/toast-close-trigger.mjs +12 -0
  412. package/dist/toast/toast-description.cjs +20 -0
  413. package/dist/toast/toast-description.d.ts +4 -0
  414. package/dist/toast/toast-description.mjs +16 -0
  415. package/dist/toast/toast-group.cjs +27 -0
  416. package/dist/toast/toast-group.d.ts +13 -0
  417. package/dist/toast/toast-group.mjs +23 -0
  418. package/dist/toast/toast-item-context.cjs +13 -0
  419. package/dist/toast/toast-item-context.d.ts +38 -0
  420. package/dist/toast/toast-item-context.mjs +8 -0
  421. package/dist/toast/toast-placements.cjs +17 -0
  422. package/dist/toast/toast-placements.d.ts +6 -0
  423. package/dist/toast/toast-placements.mjs +13 -0
  424. package/dist/toast/toast-provider.cjs +52 -0
  425. package/dist/toast/toast-provider.d.ts +13 -0
  426. package/dist/toast/toast-provider.mjs +27 -0
  427. package/dist/toast/toast-title.cjs +20 -0
  428. package/dist/toast/toast-title.d.ts +4 -0
  429. package/dist/toast/toast-title.mjs +16 -0
  430. package/dist/toast/toast.anatomy.d.ts +1 -0
  431. package/dist/toast/toast.cjs +24 -0
  432. package/dist/toast/toast.d.ts +6 -0
  433. package/dist/toast/toast.mjs +20 -0
  434. package/dist/toast/use-toast-item.cjs +33 -0
  435. package/dist/toast/use-toast-item.d.ts +23 -0
  436. package/dist/toast/use-toast-item.mjs +10 -0
  437. package/dist/tooltip/tooltip-arrow-tip.cjs +4 -2
  438. package/dist/tooltip/tooltip-arrow-tip.mjs +5 -3
  439. package/dist/tooltip/tooltip-arrow.cjs +3 -1
  440. package/dist/tooltip/tooltip-arrow.mjs +4 -2
  441. package/dist/tooltip/tooltip-content.cjs +4 -2
  442. package/dist/tooltip/tooltip-content.mjs +5 -3
  443. package/dist/tooltip/tooltip-context.cjs +2 -2
  444. package/dist/tooltip/tooltip-context.mjs +2 -2
  445. package/dist/tooltip/tooltip-positioner.cjs +5 -3
  446. package/dist/tooltip/tooltip-positioner.mjs +6 -4
  447. package/dist/tooltip/tooltip-trigger.cjs +5 -12
  448. package/dist/tooltip/tooltip-trigger.d.ts +4 -6
  449. package/dist/tooltip/tooltip-trigger.mjs +6 -13
  450. package/dist/tooltip/tooltip.cjs +4 -4
  451. package/dist/tooltip/tooltip.mjs +4 -4
  452. package/dist/types.d.ts +7 -4
  453. package/package.json +71 -40
@@ -3,16 +3,19 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
- const solidJs = require('solid-js');
6
+ const solid = require('@zag-js/solid');
7
7
  const factory = require('../factory.cjs');
8
8
  const runIfFn = require('../run-if-fn.cjs');
9
9
  const sliderContext = require('./slider-context.cjs');
10
10
 
11
11
  const SliderOutput = props => {
12
12
  const slider = sliderContext.useSliderContext();
13
- const view = () => solidJs.children(() => runIfFn.runIfFn(props.children, slider()));
14
- return web.createComponent(factory.ark.output, web.mergeProps(() => slider().outputProps, props, {
15
- children: view
13
+ const getChildren = () => runIfFn.runIfFn(props.children, slider);
14
+ const outputProps = solid.mergeProps(() => slider().outputProps, props);
15
+ return web.createComponent(factory.ark.output, web.mergeProps(outputProps, {
16
+ get children() {
17
+ return getChildren();
18
+ }
16
19
  }));
17
20
  };
18
21
 
@@ -1,8 +1,8 @@
1
- import { type Assign } from '@polymorphic-factory/solid';
2
1
  import { type JSX } from 'solid-js';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  import { type UseSliderReturn } from './use-slider';
5
5
  export type SliderOutputProps = Assign<HTMLArkProps<'output'>, {
6
- children?: ((pages: ReturnType<UseSliderReturn>) => JSX.Element) | JSX.Element;
6
+ children?: ((pages: UseSliderReturn) => JSX.Element) | JSX.Element;
7
7
  }>;
8
8
  export declare const SliderOutput: (props: SliderOutputProps) => JSX.Element;
@@ -1,14 +1,17 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
2
- import { children } from 'solid-js';
1
+ import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
3
  import { ark } from '../factory.mjs';
4
4
  import { runIfFn } from '../run-if-fn.mjs';
5
5
  import { useSliderContext } from './slider-context.mjs';
6
6
 
7
7
  const SliderOutput = props => {
8
8
  const slider = useSliderContext();
9
- const view = () => children(() => runIfFn(props.children, slider()));
10
- return createComponent(ark.output, mergeProps(() => slider().outputProps, props, {
11
- children: view
9
+ const getChildren = () => runIfFn(props.children, slider);
10
+ const outputProps = mergeProps(() => slider().outputProps, props);
11
+ return createComponent(ark.output, mergeProps$1(outputProps, {
12
+ get children() {
13
+ return getChildren();
14
+ }
12
15
  }));
13
16
  };
14
17
 
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
6
7
  const factory = require('../factory.cjs');
7
8
  const sliderContext = require('./slider-context.cjs');
8
9
 
9
10
  const SliderRange = props => {
10
11
  const slider = sliderContext.useSliderContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => slider().rangeProps, props));
12
+ const rangeProps = solid.mergeProps(() => slider().rangeProps, props);
13
+ return web.createComponent(factory.ark.div, rangeProps);
12
14
  };
13
15
 
14
16
  exports.SliderRange = SliderRange;
@@ -1,10 +1,12 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
2
3
  import { ark } from '../factory.mjs';
3
4
  import { useSliderContext } from './slider-context.mjs';
4
5
 
5
6
  const SliderRange = props => {
6
7
  const slider = useSliderContext();
7
- return createComponent(ark.div, mergeProps(() => slider().rangeProps, props));
8
+ const rangeProps = mergeProps(() => slider().rangeProps, props);
9
+ return createComponent(ark.div, rangeProps);
8
10
  };
9
11
 
10
12
  export { SliderRange };
@@ -3,14 +3,16 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
6
7
  const factory = require('../factory.cjs');
7
8
  const sliderContext = require('./slider-context.cjs');
8
9
 
9
10
  const SliderThumb = props => {
10
- const slider = sliderContext.useSliderContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => slider().thumbProps, props, {
11
+ const api = sliderContext.useSliderContext();
12
+ const thumbProps = solid.mergeProps(() => api().thumbProps, props);
13
+ return web.createComponent(factory.ark.div, web.mergeProps(thumbProps, {
12
14
  get children() {
13
- return [web.createComponent(factory.ark.input, web.mergeProps(() => slider().hiddenInputProps)), web.memo(() => props.children)];
15
+ return [web.createComponent(factory.ark.input, web.mergeProps(() => api().hiddenInputProps)), web.memo(() => props.children)];
14
16
  }
15
17
  }));
16
18
  };
@@ -1,12 +1,14 @@
1
- import { createComponent, mergeProps, memo } from 'solid-js/web';
1
+ import { createComponent, mergeProps as mergeProps$1, memo } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
2
3
  import { ark } from '../factory.mjs';
3
4
  import { useSliderContext } from './slider-context.mjs';
4
5
 
5
6
  const SliderThumb = props => {
6
- const slider = useSliderContext();
7
- return createComponent(ark.div, mergeProps(() => slider().thumbProps, props, {
7
+ const api = useSliderContext();
8
+ const thumbProps = mergeProps(() => api().thumbProps, props);
9
+ return createComponent(ark.div, mergeProps$1(thumbProps, {
8
10
  get children() {
9
- return [createComponent(ark.input, mergeProps(() => slider().hiddenInputProps)), memo(() => props.children)];
11
+ return [createComponent(ark.input, mergeProps$1(() => api().hiddenInputProps)), memo(() => props.children)];
10
12
  }
11
13
  }));
12
14
  };
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
6
7
  const factory = require('../factory.cjs');
7
8
  const sliderContext = require('./slider-context.cjs');
8
9
 
9
10
  const SliderTrack = props => {
10
11
  const slider = sliderContext.useSliderContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => slider().trackProps, props));
12
+ const trackProps = solid.mergeProps(() => slider().trackProps, props);
13
+ return web.createComponent(factory.ark.div, trackProps);
12
14
  };
13
15
 
14
16
  exports.SliderTrack = SliderTrack;
@@ -1,10 +1,12 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
2
3
  import { ark } from '../factory.mjs';
3
4
  import { useSliderContext } from './slider-context.mjs';
4
5
 
5
6
  const SliderTrack = props => {
6
7
  const slider = useSliderContext();
7
- return createComponent(ark.div, mergeProps(() => slider().trackProps, props));
8
+ const trackProps = mergeProps(() => slider().trackProps, props);
9
+ return createComponent(ark.div, trackProps);
8
10
  };
9
11
 
10
12
  export { SliderTrack };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
- const solidJs = require('solid-js');
6
+ const solid = require('@zag-js/solid');
7
7
  const createSplitProps = require('../create-split-props.cjs');
8
8
  const factory = require('../factory.cjs');
9
9
  const runIfFn = require('../run-if-fn.cjs');
@@ -11,14 +11,17 @@ const sliderContext = require('./slider-context.cjs');
11
11
  const useSlider = require('./use-slider.cjs');
12
12
 
13
13
  const Slider = props => {
14
- const [useSliderProps, divProps] = createSplitProps.createSplitProps()(props, ['aria-label', 'aria-labelledby', 'dir', 'disabled', 'focusThumbOnChange', 'form', 'getAriaValueText', 'getRootNode', 'id', 'ids', 'invalid', 'max', 'min', 'name', 'onChange', 'onChangeEnd', 'onChangeStart', 'orientation', 'origin', 'readOnly', 'step', 'thumbAlignment', 'value']);
15
- const slider = useSlider.useSlider(useSliderProps);
16
- const view = () => solidJs.children(() => runIfFn.runIfFn(divProps.children, slider()));
14
+ const [sliderParams, restProps] = createSplitProps.createSplitProps()(props, ['aria-label', 'aria-labelledby', 'dir', 'disabled', 'focusThumbOnChange', 'form', 'getAriaValueText', 'getRootNode', 'id', 'ids', 'invalid', 'max', 'min', 'name', 'onChange', 'onChangeEnd', 'onChangeStart', 'orientation', 'origin', 'readOnly', 'step', 'thumbAlignment', 'value']);
15
+ const api = useSlider.useSlider(sliderParams);
16
+ const rootProps = solid.mergeProps(() => api().rootProps, restProps);
17
+ const getChildren = () => runIfFn.runIfFn(restProps.children, api);
17
18
  return web.createComponent(sliderContext.SliderProvider, {
18
- value: slider,
19
+ value: api,
19
20
  get children() {
20
- return web.createComponent(factory.ark.div, web.mergeProps(() => slider().rootProps, divProps, {
21
- children: view
21
+ return web.createComponent(factory.ark.div, web.mergeProps(rootProps, {
22
+ get children() {
23
+ return getChildren();
24
+ }
22
25
  }));
23
26
  }
24
27
  });
@@ -1,8 +1,8 @@
1
- import { type Assign } from '@polymorphic-factory/solid';
2
1
  import { type JSX } from 'solid-js';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  import { type UseSliderProps, type UseSliderReturn } from './use-slider';
5
5
  export type SliderProps = Assign<HTMLArkProps<'div'>, UseSliderProps & {
6
- children?: ((api: ReturnType<UseSliderReturn>) => JSX.Element) | JSX.Element;
6
+ children?: ((api: UseSliderReturn) => JSX.Element) | JSX.Element;
7
7
  }>;
8
8
  export declare const Slider: (props: SliderProps) => JSX.Element;
@@ -1,5 +1,5 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
2
- import { children } from 'solid-js';
1
+ import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
3
  import { createSplitProps } from '../create-split-props.mjs';
4
4
  import { ark } from '../factory.mjs';
5
5
  import { runIfFn } from '../run-if-fn.mjs';
@@ -7,14 +7,17 @@ import { SliderProvider } from './slider-context.mjs';
7
7
  import { useSlider } from './use-slider.mjs';
8
8
 
9
9
  const Slider = props => {
10
- const [useSliderProps, divProps] = createSplitProps()(props, ['aria-label', 'aria-labelledby', 'dir', 'disabled', 'focusThumbOnChange', 'form', 'getAriaValueText', 'getRootNode', 'id', 'ids', 'invalid', 'max', 'min', 'name', 'onChange', 'onChangeEnd', 'onChangeStart', 'orientation', 'origin', 'readOnly', 'step', 'thumbAlignment', 'value']);
11
- const slider = useSlider(useSliderProps);
12
- const view = () => children(() => runIfFn(divProps.children, slider()));
10
+ const [sliderParams, restProps] = createSplitProps()(props, ['aria-label', 'aria-labelledby', 'dir', 'disabled', 'focusThumbOnChange', 'form', 'getAriaValueText', 'getRootNode', 'id', 'ids', 'invalid', 'max', 'min', 'name', 'onChange', 'onChangeEnd', 'onChangeStart', 'orientation', 'origin', 'readOnly', 'step', 'thumbAlignment', 'value']);
11
+ const api = useSlider(sliderParams);
12
+ const rootProps = mergeProps(() => api().rootProps, restProps);
13
+ const getChildren = () => runIfFn(restProps.children, api);
13
14
  return createComponent(SliderProvider, {
14
- value: slider,
15
+ value: api,
15
16
  get children() {
16
- return createComponent(ark.div, mergeProps(() => slider().rootProps, divProps, {
17
- children: view
17
+ return createComponent(ark.div, mergeProps$1(rootProps, {
18
+ get children() {
19
+ return getChildren();
20
+ }
18
21
  }));
19
22
  }
20
23
  });
@@ -0,0 +1,4 @@
1
+ export { Splitter, type SplitterProps } from './splitter';
2
+ export { SplitterPanel, type SplitterPanelProps } from './splitter-panel';
3
+ export { SplitterResizeTrigger, type SplitterResizeTriggerProps } from './splitter-resize-trigger';
4
+ export { splitterAnatomy } from './splitter.anatomy';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const createContext = require('../create-context.cjs');
6
+
7
+ const [SplitterProvider, useSplitterContext] = createContext.createContext({
8
+ hookName: "useSplitterContext",
9
+ providerName: "<SplitterProvider />"
10
+ });
11
+
12
+ exports.SplitterProvider = SplitterProvider;
13
+ exports.useSplitterContext = useSplitterContext;
@@ -0,0 +1,50 @@
1
+ import type { PanelId, ResizeTriggerProps, PanelProps } from '@zag-js/splitter/dist/splitter.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import type { ContextProviderComponent } from 'solid-js/types/reactive/signal';
4
+ import { type UseSplitterReturn } from './use-splitter';
5
+ export type SplitterContext = UseSplitterReturn;
6
+ export declare const SplitterProvider: ContextProviderComponent<Accessor<{
7
+ isFocused: boolean;
8
+ isDragging: boolean;
9
+ bounds: {
10
+ min: number;
11
+ max: number;
12
+ } | undefined;
13
+ collapse(id: PanelId): void;
14
+ expand(id: PanelId): void;
15
+ toggle(id: PanelId): void;
16
+ setSize(id: PanelId, size: number): void;
17
+ getResizeTriggerState(props: ResizeTriggerProps): {
18
+ isDisabled: boolean;
19
+ isFocused: boolean;
20
+ panelIds: string[];
21
+ min: number | undefined;
22
+ max: number | undefined;
23
+ value: number;
24
+ };
25
+ rootProps: JSX.HTMLAttributes<any>;
26
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
27
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
28
+ }>>, useSplitterContext: () => Accessor<{
29
+ isFocused: boolean;
30
+ isDragging: boolean;
31
+ bounds: {
32
+ min: number;
33
+ max: number;
34
+ } | undefined;
35
+ collapse(id: PanelId): void;
36
+ expand(id: PanelId): void;
37
+ toggle(id: PanelId): void;
38
+ setSize(id: PanelId, size: number): void;
39
+ getResizeTriggerState(props: ResizeTriggerProps): {
40
+ isDisabled: boolean;
41
+ isFocused: boolean;
42
+ panelIds: string[];
43
+ min: number | undefined;
44
+ max: number | undefined;
45
+ value: number;
46
+ };
47
+ rootProps: JSX.HTMLAttributes<any>;
48
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
49
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
50
+ }>;
@@ -0,0 +1,8 @@
1
+ import { createContext } from '../create-context.mjs';
2
+
3
+ const [SplitterProvider, useSplitterContext] = createContext({
4
+ hookName: "useSplitterContext",
5
+ providerName: "<SplitterProvider />"
6
+ });
7
+
8
+ export { SplitterProvider, useSplitterContext };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const createSplitProps = require('../create-split-props.cjs');
8
+ const factory = require('../factory.cjs');
9
+ const splitterContext = require('./splitter-context.cjs');
10
+
11
+ const SplitterPanel = props => {
12
+ const [panelParams, restProps] = createSplitProps.createSplitProps()(props, ['id', 'snapSize']);
13
+ const api = splitterContext.useSplitterContext();
14
+ const panelProps = solid.mergeProps(() => api().getPanelProps(panelParams), restProps);
15
+ return web.createComponent(factory.ark.div, panelProps);
16
+ };
17
+
18
+ exports.SplitterPanel = SplitterPanel;
@@ -0,0 +1,8 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type connect } from '@zag-js/splitter';
3
+ import { type HTMLArkProps } from '../factory';
4
+ import type { Assign } from '../types';
5
+ type PanelParams = Parameters<ReturnType<typeof connect>['getPanelProps']>[0];
6
+ export type SplitterPanelProps = Assign<HTMLArkProps<'div'>, PanelParams>;
7
+ export declare const SplitterPanel: (props: SplitterPanelProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,14 @@
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { createSplitProps } from '../create-split-props.mjs';
4
+ import { ark } from '../factory.mjs';
5
+ import { useSplitterContext } from './splitter-context.mjs';
6
+
7
+ const SplitterPanel = props => {
8
+ const [panelParams, restProps] = createSplitProps()(props, ['id', 'snapSize']);
9
+ const api = useSplitterContext();
10
+ const panelProps = mergeProps(() => api().getPanelProps(panelParams), restProps);
11
+ return createComponent(ark.div, panelProps);
12
+ };
13
+
14
+ export { SplitterPanel };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const createSplitProps = require('../create-split-props.cjs');
8
+ const factory = require('../factory.cjs');
9
+ const splitterContext = require('./splitter-context.cjs');
10
+
11
+ const SplitterResizeTrigger = props => {
12
+ const api = splitterContext.useSplitterContext();
13
+ const [triggerParams, restProps] = createSplitProps.createSplitProps()(props, ['disabled', 'id', 'step']);
14
+ const triggerProps = solid.mergeProps(() => api().getResizeTriggerProps(triggerParams), restProps);
15
+ return web.createComponent(factory.ark.button, triggerProps);
16
+ };
17
+
18
+ exports.SplitterResizeTrigger = SplitterResizeTrigger;
@@ -0,0 +1,8 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { connect } from '@zag-js/splitter';
3
+ import { type HTMLArkProps } from '../factory';
4
+ import type { Assign } from '../types';
5
+ type TriggerParams = Parameters<ReturnType<typeof connect>['getResizeTriggerProps']>[0];
6
+ export type SplitterResizeTriggerProps = Assign<HTMLArkProps<'button'>, TriggerParams>;
7
+ export declare const SplitterResizeTrigger: (props: SplitterResizeTriggerProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,14 @@
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { createSplitProps } from '../create-split-props.mjs';
4
+ import { ark } from '../factory.mjs';
5
+ import { useSplitterContext } from './splitter-context.mjs';
6
+
7
+ const SplitterResizeTrigger = props => {
8
+ const api = useSplitterContext();
9
+ const [triggerParams, restProps] = createSplitProps()(props, ['disabled', 'id', 'step']);
10
+ const triggerProps = mergeProps(() => api().getResizeTriggerProps(triggerParams), restProps);
11
+ return createComponent(ark.button, triggerProps);
12
+ };
13
+
14
+ export { SplitterResizeTrigger };
@@ -0,0 +1 @@
1
+ export { anatomy as splitterAnatomy } from '@zag-js/splitter';
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const createSplitProps = require('../create-split-props.cjs');
8
+ const factory = require('../factory.cjs');
9
+ const splitterContext = require('./splitter-context.cjs');
10
+ const useSplitter = require('./use-splitter.cjs');
11
+
12
+ const Splitter = props => {
13
+ const [splitterParams, divProps] = createSplitProps.createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onResize', 'onResizeEnd', 'onResizeStart', 'orientation', 'size']);
14
+ const api = useSplitter.useSplitter(splitterParams);
15
+ const rootProps = solid.mergeProps(() => api().rootProps, divProps);
16
+ return web.createComponent(splitterContext.SplitterProvider, {
17
+ value: api,
18
+ get children() {
19
+ return web.createComponent(factory.ark.div, rootProps);
20
+ }
21
+ });
22
+ };
23
+
24
+ exports.Splitter = Splitter;
@@ -0,0 +1,6 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
+ import { type UseSplitterProps } from './use-splitter';
5
+ export type SplitterProps = Assign<HTMLArkProps<'div'>, UseSplitterProps>;
6
+ export declare const Splitter: (props: SplitterProps) => JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { createSplitProps } from '../create-split-props.mjs';
4
+ import { ark } from '../factory.mjs';
5
+ import { SplitterProvider } from './splitter-context.mjs';
6
+ import { useSplitter } from './use-splitter.mjs';
7
+
8
+ const Splitter = props => {
9
+ const [splitterParams, divProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onResize', 'onResizeEnd', 'onResizeStart', 'orientation', 'size']);
10
+ const api = useSplitter(splitterParams);
11
+ const rootProps = mergeProps(() => api().rootProps, divProps);
12
+ return createComponent(SplitterProvider, {
13
+ value: api,
14
+ get children() {
15
+ return createComponent(ark.div, rootProps);
16
+ }
17
+ });
18
+ };
19
+
20
+ export { Splitter };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const solid = require('@zag-js/solid');
6
+ const splitter = require('@zag-js/splitter');
7
+ const solidJs = require('solid-js');
8
+ const environmentContext = require('../environment/environment-context.cjs');
9
+
10
+ const useSplitter = (props) => {
11
+ const getRootNode = environmentContext.useEnvironmentContext();
12
+ const context = solidJs.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
13
+ const [state, send] = solid.useMachine(splitter.machine(context), { context });
14
+ return solidJs.createMemo(() => splitter.connect(state, send, solid.normalizeProps));
15
+ };
16
+
17
+ exports.useSplitter = useSplitter;
@@ -0,0 +1,29 @@
1
+ import type { PanelId, ResizeTriggerProps, PanelProps } from '@zag-js/splitter/dist/splitter.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import { type Context } from '@zag-js/splitter';
4
+ import { type Optional } from '../types';
5
+ export type UseSplitterProps = Optional<Context, 'id'>;
6
+ export type UseSplitterReturn = ReturnType<typeof useSplitter>;
7
+ export declare const useSplitter: (props: UseSplitterProps) => Accessor<{
8
+ isFocused: boolean;
9
+ isDragging: boolean;
10
+ bounds: {
11
+ min: number;
12
+ max: number;
13
+ } | undefined;
14
+ collapse(id: PanelId): void;
15
+ expand(id: PanelId): void;
16
+ toggle(id: PanelId): void;
17
+ setSize(id: PanelId, size: number): void;
18
+ getResizeTriggerState(props: ResizeTriggerProps): {
19
+ isDisabled: boolean;
20
+ isFocused: boolean;
21
+ panelIds: string[];
22
+ min: number | undefined;
23
+ max: number | undefined;
24
+ value: number;
25
+ };
26
+ rootProps: JSX.HTMLAttributes<any>;
27
+ getPanelProps(props: PanelProps): JSX.HTMLAttributes<any>;
28
+ getResizeTriggerProps(props: ResizeTriggerProps): JSX.HTMLAttributes<any>;
29
+ }>;
@@ -0,0 +1,13 @@
1
+ import { useMachine, normalizeProps } from '@zag-js/solid';
2
+ import { machine, connect } from '@zag-js/splitter';
3
+ import { mergeProps, createUniqueId, createMemo } from 'solid-js';
4
+ import { useEnvironmentContext } from '../environment/environment-context.mjs';
5
+
6
+ const useSplitter = (props) => {
7
+ const getRootNode = useEnvironmentContext();
8
+ const context = mergeProps({ id: createUniqueId(), getRootNode }, props);
9
+ const [state, send] = useMachine(machine(context), { context });
10
+ return createMemo(() => connect(state, send, normalizeProps));
11
+ };
12
+
13
+ export { useSplitter };
package/dist/spread.cjs CHANGED
@@ -2,24 +2,37 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
+ const solidJs = require('solid-js');
5
6
  const web = require('solid-js/web');
6
- const filterObject = require('./filter-object.cjs');
7
+ const filterProps = require('./filter-props.cjs');
8
+ const mergeStyle = require('./merge-style.cjs');
7
9
 
8
10
  const getEventKey = (key) => `$$${key.toLowerCase().slice(2)}`;
11
+ const hasOwn = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
9
12
  const spread = (node, props) => {
10
- const eventListeners = filterObject.filterObject(props, ([key]) => key.slice(0, 2) === "on");
11
- const events = filterObject.filterObject(node, ([key]) => key.slice(0, 2) === "$$");
12
- const result = Object.fromEntries(
13
- Object.entries(eventListeners).map(([key, value]) => {
14
- const prop = getEventKey(key);
15
- const newValue = prop in events ? function(...args) {
16
- events[prop](...args);
17
- value(...args);
18
- } : value;
19
- return [key, newValue];
20
- })
13
+ const parentProps = filterProps.filterProps(
14
+ props,
15
+ (key) => typeof key === "string" && key.slice(0, 2) === "on"
16
+ );
17
+ const nodeEvents = Object.fromEntries(
18
+ Object.keys(node).filter((prop) => prop.startsWith("$$")).map((prop) => [prop, node[prop]])
21
19
  );
22
- web.spread(node, { ...props, ...result });
20
+ const composedProps = solidJs.createMemo(() => {
21
+ return filterProps.mapProps(parentProps, (key, value) => {
22
+ const prop = getEventKey(key);
23
+ if (hasOwn(nodeEvents, prop)) {
24
+ return function next(...args) {
25
+ value(...args);
26
+ nodeEvents[prop](...args);
27
+ };
28
+ }
29
+ if (key === "style") {
30
+ return mergeStyle.mergeStyle(node.style.cssText, value);
31
+ }
32
+ return value;
33
+ });
34
+ });
35
+ web.spread(node, solidJs.mergeProps(props, composedProps));
23
36
  };
24
37
 
25
38
  exports.spread = spread;