@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,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 createSplitProps = require('../create-split-props.cjs');
7
8
  const factory = require('../factory.cjs');
8
9
  const menuContext = require('./menu-context.cjs');
9
10
 
10
11
  const MenuItemGroupLabel = props => {
11
12
  const menu = menuContext.useMenuContext();
12
- const [itemGroupLabelProps, labelProps] = createSplitProps.createSplitProps()(props, ['htmlFor']);
13
- return web.createComponent(factory.ark.label, web.mergeProps(() => menu?.()?.getItemGroupLabelProps(itemGroupLabelProps), labelProps));
13
+ const [itemGroupLabelProps, localProps] = createSplitProps.createSplitProps()(props, ['htmlFor']);
14
+ const labelProps = solid.mergeProps(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
15
+ return web.createComponent(factory.ark.label, labelProps);
14
16
  };
15
17
 
16
18
  exports.MenuItemGroupLabel = MenuItemGroupLabel;
@@ -1,6 +1,6 @@
1
1
  import type { JSX } from 'solid-js';
2
- import { type Assign } from '@polymorphic-factory/solid';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  type MenuItemGroupLabelParams = {
5
5
  htmlFor: string;
6
6
  };
@@ -1,12 +1,14 @@
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 { createSplitProps } from '../create-split-props.mjs';
3
4
  import { ark } from '../factory.mjs';
4
5
  import { useMenuContext } from './menu-context.mjs';
5
6
 
6
7
  const MenuItemGroupLabel = props => {
7
8
  const menu = useMenuContext();
8
- const [itemGroupLabelProps, labelProps] = createSplitProps()(props, ['htmlFor']);
9
- return createComponent(ark.label, mergeProps(() => menu?.()?.getItemGroupLabelProps(itemGroupLabelProps), labelProps));
9
+ const [itemGroupLabelProps, localProps] = createSplitProps()(props, ['htmlFor']);
10
+ const labelProps = mergeProps(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
11
+ return createComponent(ark.label, labelProps);
10
12
  };
11
13
 
12
14
  export { MenuItemGroupLabel };
@@ -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 createSplitProps = require('../create-split-props.cjs');
7
8
  const factory = require('../factory.cjs');
8
9
  const menuContext = require('./menu-context.cjs');
9
10
 
10
11
  const MenuItemGroup = props => {
11
12
  const menu = menuContext.useMenuContext();
12
- const [itemGroupProps, divProps] = createSplitProps.createSplitProps()(props, ['id']);
13
- return web.createComponent(factory.ark.div, web.mergeProps(() => menu?.()?.getItemGroupProps(itemGroupProps), divProps));
13
+ const [itemGroupProps, localProps] = createSplitProps.createSplitProps()(props, ['id']);
14
+ const groupProps = solid.mergeProps(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
15
+ return web.createComponent(factory.ark.div, groupProps);
14
16
  };
15
17
 
16
18
  exports.MenuItemGroup = MenuItemGroup;
@@ -1,6 +1,6 @@
1
1
  import type { JSX } from 'solid-js';
2
- import { type Assign } from '@polymorphic-factory/solid';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  import { type UseMenuReturn } from './use-menu';
5
5
  type MenuItemGroupParams = Parameters<ReturnType<ReturnType<UseMenuReturn>['api']>['getItemGroupProps']>[0];
6
6
  export type MenuItemGroupProps = Assign<HTMLArkProps<'div'>, MenuItemGroupParams>;
@@ -1,12 +1,14 @@
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 { createSplitProps } from '../create-split-props.mjs';
3
4
  import { ark } from '../factory.mjs';
4
5
  import { useMenuContext } from './menu-context.mjs';
5
6
 
6
7
  const MenuItemGroup = props => {
7
8
  const menu = useMenuContext();
8
- const [itemGroupProps, divProps] = createSplitProps()(props, ['id']);
9
- return createComponent(ark.div, mergeProps(() => menu?.()?.getItemGroupProps(itemGroupProps), divProps));
9
+ const [itemGroupProps, localProps] = createSplitProps()(props, ['id']);
10
+ const groupProps = mergeProps(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
11
+ return createComponent(ark.div, groupProps);
10
12
  };
11
13
 
12
14
  export { MenuItemGroup };
@@ -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 createSplitProps = require('../create-split-props.cjs');
7
8
  const factory = require('../factory.cjs');
8
9
  const menuContext = require('./menu-context.cjs');
9
10
 
10
11
  const MenuItem = props => {
11
12
  const menu = menuContext.useMenuContext();
12
- const [menuItemProps, divProps] = createSplitProps.createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
13
- return web.createComponent(factory.ark.div, web.mergeProps(() => menu?.().getItemProps(menuItemProps), divProps));
13
+ const [itemParams, restProps] = createSplitProps.createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
14
+ const itemProps = solid.mergeProps(() => menu?.().getItemProps(itemParams), restProps);
15
+ return web.createComponent(factory.ark.div, itemProps);
14
16
  };
15
17
 
16
18
  exports.MenuItem = MenuItem;
@@ -1,6 +1,6 @@
1
1
  import type { JSX } from 'solid-js';
2
- import { type Assign } from '@polymorphic-factory/solid';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  import { type UseMenuReturn } from './use-menu';
5
5
  type MenuItemParams = Parameters<ReturnType<ReturnType<UseMenuReturn>['api']>['getItemProps']>[0];
6
6
  export type MenuItemProps = Assign<HTMLArkProps<'div'>, MenuItemParams>;
@@ -1,12 +1,14 @@
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 { createSplitProps } from '../create-split-props.mjs';
3
4
  import { ark } from '../factory.mjs';
4
5
  import { useMenuContext } from './menu-context.mjs';
5
6
 
6
7
  const MenuItem = props => {
7
8
  const menu = useMenuContext();
8
- const [menuItemProps, divProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
9
- return createComponent(ark.div, mergeProps(() => menu?.().getItemProps(menuItemProps), divProps));
9
+ const [itemParams, restProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
10
+ const itemProps = mergeProps(() => menu?.().getItemProps(itemParams), restProps);
11
+ return createComponent(ark.div, itemProps);
10
12
  };
11
13
 
12
14
  export { MenuItem };
@@ -3,6 +3,7 @@
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 solidJs = require('solid-js');
7
8
  const createSplitProps = require('../create-split-props.cjs');
8
9
  const factory = require('../factory.cjs');
@@ -11,12 +12,16 @@ const menuContext = require('./menu-context.cjs');
11
12
 
12
13
  const MenuOptionItem = props => {
13
14
  const menu = menuContext.useMenuContext();
14
- const [optionProps, divProps] = createSplitProps.createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
15
- const view = () => solidJs.children(() => runIfFn.runIfFn(divProps.children, {
15
+ const [optionProps, localProps] = createSplitProps.createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
16
+ const itemProps = solid.mergeProps(() => menu?.().getOptionItemProps(optionProps), localProps);
17
+ const itemState = solidJs.createMemo(() => ({
16
18
  isActive: menu?.().isOptionChecked(optionProps) ?? false
17
19
  }));
18
- return web.createComponent(factory.ark.div, web.mergeProps(() => menu?.().getOptionItemProps(optionProps), divProps, {
19
- children: view
20
+ const getChildren = () => runIfFn.runIfFn(localProps.children, itemState);
21
+ return web.createComponent(factory.ark.div, web.mergeProps(itemProps, {
22
+ get children() {
23
+ return getChildren();
24
+ }
20
25
  }));
21
26
  };
22
27
 
@@ -1,12 +1,12 @@
1
- import { type Assign } from '@polymorphic-factory/solid';
2
1
  import { type connect } from '@zag-js/menu';
3
- import { type JSX } from 'solid-js';
2
+ import { type Accessor, type JSX } from 'solid-js';
4
3
  import { type HTMLArkProps } from '../factory';
4
+ import type { Assign } from '../types';
5
5
  export type MenuOptionItemState = {
6
6
  isActive: boolean;
7
7
  };
8
8
  export type MenuOptionItemParams = Parameters<ReturnType<typeof connect>['getOptionItemProps']>[0];
9
9
  export type MenuOptionItemProps = Assign<HTMLArkProps<'div'>, MenuOptionItemParams & {
10
- children?: JSX.Element | ((state: MenuOptionItemState) => JSX.Element);
10
+ children?: JSX.Element | ((state: Accessor<MenuOptionItemState>) => JSX.Element);
11
11
  }>;
12
12
  export declare const MenuOptionItem: (props: MenuOptionItemProps) => JSX.Element;
@@ -1,5 +1,6 @@
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
+ import { createMemo } from 'solid-js';
3
4
  import { createSplitProps } from '../create-split-props.mjs';
4
5
  import { ark } from '../factory.mjs';
5
6
  import { runIfFn } from '../run-if-fn.mjs';
@@ -7,12 +8,16 @@ import { useMenuContext } from './menu-context.mjs';
7
8
 
8
9
  const MenuOptionItem = props => {
9
10
  const menu = useMenuContext();
10
- const [optionProps, divProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
11
- const view = () => children(() => runIfFn(divProps.children, {
11
+ const [optionProps, localProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
12
+ const itemProps = mergeProps(() => menu?.().getOptionItemProps(optionProps), localProps);
13
+ const itemState = createMemo(() => ({
12
14
  isActive: menu?.().isOptionChecked(optionProps) ?? false
13
15
  }));
14
- return createComponent(ark.div, mergeProps(() => menu?.().getOptionItemProps(optionProps), divProps, {
15
- children: view
16
+ const getChildren = () => runIfFn(localProps.children, itemState);
17
+ return createComponent(ark.div, mergeProps$1(itemProps, {
18
+ get children() {
19
+ return getChildren();
20
+ }
16
21
  }));
17
22
  };
18
23
 
@@ -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 menuContext = require('./menu-context.cjs');
8
9
 
9
10
  const MenuPositioner = props => {
10
11
  const menu = menuContext.useMenuContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => menu?.().positionerProps, props));
12
+ const positionerProps = solid.mergeProps(() => menu?.().positionerProps, props);
13
+ return web.createComponent(factory.ark.div, positionerProps);
12
14
  };
13
15
 
14
16
  exports.MenuPositioner = MenuPositioner;
@@ -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 { useMenuContext } from './menu-context.mjs';
4
5
 
5
6
  const MenuPositioner = props => {
6
7
  const menu = useMenuContext();
7
- return createComponent(ark.div, mergeProps(() => menu?.().positionerProps, props));
8
+ const positionerProps = mergeProps(() => menu?.().positionerProps, props);
9
+ return createComponent(ark.div, positionerProps);
8
10
  };
9
11
 
10
12
  export { MenuPositioner };
@@ -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 menuContext = require('./menu-context.cjs');
8
9
 
9
10
  const MenuSeparator = props => {
10
11
  const menu = menuContext.useMenuContext();
11
- return web.createComponent(factory.ark.hr, web.mergeProps(() => menu?.().separatorProps, props));
12
+ const separatorProps = solid.mergeProps(() => menu?.().separatorProps, props);
13
+ return web.createComponent(factory.ark.hr, separatorProps);
12
14
  };
13
15
 
14
16
  exports.MenuSeparator = MenuSeparator;
@@ -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 { useMenuContext } from './menu-context.mjs';
4
5
 
5
6
  const MenuSeparator = props => {
6
7
  const menu = useMenuContext();
7
- return createComponent(ark.hr, mergeProps(() => menu?.().separatorProps, props));
8
+ const separatorProps = mergeProps(() => menu?.().separatorProps, props);
9
+ return createComponent(ark.hr, separatorProps);
8
10
  };
9
11
 
10
12
  export { MenuSeparator };
@@ -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 menuContext = require('./menu-context.cjs');
8
9
 
9
10
  const MenuTriggerItem = props => {
10
11
  const getTriggerItemProps = menuContext.useMenuTriggerItemContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => getTriggerItemProps?.(), props));
12
+ const triggerProps = solid.mergeProps(() => getTriggerItemProps?.(), props);
13
+ return web.createComponent(factory.ark.div, triggerProps);
12
14
  };
13
15
 
14
16
  exports.MenuTriggerItem = MenuTriggerItem;
@@ -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 { useMenuTriggerItemContext } from './menu-context.mjs';
4
5
 
5
6
  const MenuTriggerItem = props => {
6
7
  const getTriggerItemProps = useMenuTriggerItemContext();
7
- return createComponent(ark.div, mergeProps(() => getTriggerItemProps?.(), props));
8
+ const triggerProps = mergeProps(() => getTriggerItemProps?.(), props);
9
+ return createComponent(ark.div, triggerProps);
8
10
  };
9
11
 
10
12
  export { MenuTriggerItem };
@@ -2,21 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const solidJs = require('solid-js');
6
5
  const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const factory = require('../factory.cjs');
7
8
  const menuContext = require('./menu-context.cjs');
8
9
 
9
10
  const MenuTrigger = props => {
10
11
  const menu = menuContext.useMenuContext();
11
- const getChildren = solidJs.children(() => props.children);
12
- solidJs.createEffect(() => {
13
- const children = getChildren();
14
- if (children instanceof HTMLElement) {
15
- const accessor = menu?.()?.triggerProps;
16
- web.spread(children, accessor);
17
- }
18
- });
19
- return getChildren;
12
+ const triggerProps = solid.mergeProps(() => menu?.().triggerProps, props);
13
+ return web.createComponent(factory.ark.button, triggerProps);
20
14
  };
21
15
 
22
16
  exports.MenuTrigger = MenuTrigger;
@@ -1,5 +1,4 @@
1
- import type { ChildrenReturn, type JSX } from 'solid-js';
2
- export type MenuTriggerProps = {
3
- children: JSX.Element;
4
- };
5
- export declare const MenuTrigger: (props: MenuTriggerProps) => ChildrenReturn;
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type MenuTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const MenuTrigger: (props: MenuTriggerProps) => JSX.Element;
@@ -1,18 +1,12 @@
1
- import { children, createEffect } from 'solid-js';
2
- import { spread } from 'solid-js/web';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { ark } from '../factory.mjs';
3
4
  import { useMenuContext } from './menu-context.mjs';
4
5
 
5
6
  const MenuTrigger = props => {
6
7
  const menu = useMenuContext();
7
- const getChildren = children(() => props.children);
8
- createEffect(() => {
9
- const children = getChildren();
10
- if (children instanceof HTMLElement) {
11
- const accessor = menu?.()?.triggerProps;
12
- spread(children, accessor);
13
- }
14
- });
15
- return getChildren;
8
+ const triggerProps = mergeProps(() => menu?.().triggerProps, props);
9
+ return createComponent(ark.button, triggerProps);
16
10
  };
17
11
 
18
12
  export { MenuTrigger };
@@ -10,37 +10,37 @@ const menuContext = require('./menu-context.cjs');
10
10
  const useMenu = require('./use-menu.cjs');
11
11
 
12
12
  const Menu = props => {
13
- const [menuProps, localProps] = createSplitProps.createSplitProps()(props, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onClose', 'onOpen', 'onSelect', 'onValueChange', 'positioning', 'value']);
13
+ const [menuParams, restProps] = createSplitProps.createSplitProps()(props, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onClose', 'onOpen', 'onSelect', 'onValueChange', 'positioning', 'value']);
14
14
  const parentMenu = menuContext.useMenuContext();
15
15
  const parentMachine = menuContext.useMenuMachineContext();
16
- const menu = useMenu.useMenu(menuProps);
16
+ const menu = useMenu.useMenu(menuParams);
17
17
  solidJs.createEffect(() => {
18
18
  if (!parentMachine) return;
19
19
  parentMenu?.().setChild(menu().machine);
20
20
  menu().api().setParent(parentMachine());
21
21
  });
22
22
  solidJs.createEffect(() => {
23
- if (!localProps.isOpen) return;
24
- localProps.isOpen?.() ? menu().api().open() : menu().api().close();
23
+ if (!restProps.isOpen) return;
24
+ restProps.isOpen?.() ? menu().api().open() : menu().api().close();
25
25
  });
26
+ const triggerItemContext = solidJs.createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
27
+ const machineContext = () => menu().machine;
28
+ const getChildren = () => runIfFn.runIfFn(restProps.children, () => ({
29
+ isOpen: menu?.().api().isOpen,
30
+ onClose: menu?.().api().close
31
+ }));
26
32
  return web.createComponent(menuContext.MenuTriggerItemProvider, {
27
- get value() {
28
- return solidJs.createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
29
- },
33
+ value: triggerItemContext,
30
34
  get children() {
31
35
  return web.createComponent(menuContext.MenuMachineProvider, {
32
- value: () => menu().machine,
36
+ value: machineContext,
33
37
  get children() {
34
38
  return web.createComponent(menuContext.MenuProvider, {
35
39
  get value() {
36
40
  return menu().api;
37
41
  },
38
42
  get children() {
39
- return web.createComponent(MenuContextWrapper, {
40
- get children() {
41
- return localProps.children;
42
- }
43
- });
43
+ return getChildren();
44
44
  }
45
45
  });
46
46
  }
@@ -48,13 +48,5 @@ const Menu = props => {
48
48
  }
49
49
  });
50
50
  };
51
- const MenuContextWrapper = props => {
52
- const menu = menuContext.useMenuContext();
53
- const view = () => solidJs.children(() => runIfFn.runIfFn(props.children, solidJs.createMemo(() => ({
54
- isOpen: menu?.().isOpen,
55
- onClose: menu?.().close
56
- }))));
57
- return web.memo(view);
58
- };
59
51
 
60
52
  exports.Menu = Menu;
@@ -1,5 +1,5 @@
1
- import { type Assign } from '@polymorphic-factory/solid';
2
1
  import { type Accessor, type JSX } from 'solid-js';
2
+ import type { Assign } from '../types';
3
3
  import { type UseMenuProps } from './use-menu';
4
4
  export type MenuState = {
5
5
  isOpen?: boolean;
@@ -1,42 +1,42 @@
1
- import { createComponent, memo } from 'solid-js/web';
2
- import { createEffect, createMemo, children } from 'solid-js';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { createEffect, createMemo } from 'solid-js';
3
3
  import { createSplitProps } from '../create-split-props.mjs';
4
4
  import { runIfFn } from '../run-if-fn.mjs';
5
5
  import { useMenuContext, useMenuMachineContext, MenuTriggerItemProvider, MenuMachineProvider, MenuProvider } from './menu-context.mjs';
6
6
  import { useMenu } from './use-menu.mjs';
7
7
 
8
8
  const Menu = props => {
9
- const [menuProps, localProps] = createSplitProps()(props, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onClose', 'onOpen', 'onSelect', 'onValueChange', 'positioning', 'value']);
9
+ const [menuParams, restProps] = createSplitProps()(props, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onClose', 'onOpen', 'onSelect', 'onValueChange', 'positioning', 'value']);
10
10
  const parentMenu = useMenuContext();
11
11
  const parentMachine = useMenuMachineContext();
12
- const menu = useMenu(menuProps);
12
+ const menu = useMenu(menuParams);
13
13
  createEffect(() => {
14
14
  if (!parentMachine) return;
15
15
  parentMenu?.().setChild(menu().machine);
16
16
  menu().api().setParent(parentMachine());
17
17
  });
18
18
  createEffect(() => {
19
- if (!localProps.isOpen) return;
20
- localProps.isOpen?.() ? menu().api().open() : menu().api().close();
19
+ if (!restProps.isOpen) return;
20
+ restProps.isOpen?.() ? menu().api().open() : menu().api().close();
21
21
  });
22
+ const triggerItemContext = createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
23
+ const machineContext = () => menu().machine;
24
+ const getChildren = () => runIfFn(restProps.children, () => ({
25
+ isOpen: menu?.().api().isOpen,
26
+ onClose: menu?.().api().close
27
+ }));
22
28
  return createComponent(MenuTriggerItemProvider, {
23
- get value() {
24
- return createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
25
- },
29
+ value: triggerItemContext,
26
30
  get children() {
27
31
  return createComponent(MenuMachineProvider, {
28
- value: () => menu().machine,
32
+ value: machineContext,
29
33
  get children() {
30
34
  return createComponent(MenuProvider, {
31
35
  get value() {
32
36
  return menu().api;
33
37
  },
34
38
  get children() {
35
- return createComponent(MenuContextWrapper, {
36
- get children() {
37
- return localProps.children;
38
- }
39
- });
39
+ return getChildren();
40
40
  }
41
41
  });
42
42
  }
@@ -44,13 +44,5 @@ const Menu = props => {
44
44
  }
45
45
  });
46
46
  };
47
- const MenuContextWrapper = props => {
48
- const menu = useMenuContext();
49
- const view = () => children(() => runIfFn(props.children, createMemo(() => ({
50
- isOpen: menu?.().isOpen,
51
- onClose: menu?.().close
52
- }))));
53
- return memo(view);
54
- };
55
47
 
56
48
  export { Menu };
@@ -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 numberInputContext = require('./number-input-context.cjs');
8
9
 
9
10
  const NumberInputControl = props => {
10
- const numberInput = numberInputContext.useNumberInputContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => numberInput().controlProps, props));
11
+ const api = numberInputContext.useNumberInputContext();
12
+ const controlProps = solid.mergeProps(() => api().controlProps, props);
13
+ return web.createComponent(factory.ark.div, controlProps);
12
14
  };
13
15
 
14
16
  exports.NumberInputControl = NumberInputControl;
@@ -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 { useNumberInputContext } from './number-input-context.mjs';
4
5
 
5
6
  const NumberInputControl = props => {
6
- const numberInput = useNumberInputContext();
7
- return createComponent(ark.div, mergeProps(() => numberInput().controlProps, props));
7
+ const api = useNumberInputContext();
8
+ const controlProps = mergeProps(() => api().controlProps, props);
9
+ return createComponent(ark.div, controlProps);
8
10
  };
9
11
 
10
12
  export { NumberInputControl };
@@ -2,22 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const solidJs = require('solid-js');
6
5
  const web = require('solid-js/web');
7
- const ssrSpread = require('../ssr-spread.cjs');
6
+ const solid = require('@zag-js/solid');
7
+ const factory = require('../factory.cjs');
8
8
  const numberInputContext = require('./number-input-context.cjs');
9
9
 
10
10
  const NumberInputDecrementTrigger = props => {
11
- const numberInput = numberInputContext.useNumberInputContext();
12
- const triggerProps = numberInput().decrementTriggerProps;
13
- const getChildren = solidJs.children(() => ssrSpread.ssrSpread(props.children, triggerProps));
14
- solidJs.createEffect(() => {
15
- const children = getChildren();
16
- if (children instanceof HTMLElement) {
17
- web.spread(children, triggerProps);
18
- }
19
- });
20
- return getChildren;
11
+ const api = numberInputContext.useNumberInputContext();
12
+ const triggerProps = solid.mergeProps(() => api().decrementTriggerProps, props);
13
+ return web.createComponent(factory.ark.button, triggerProps);
21
14
  };
22
15
 
23
16
  exports.NumberInputDecrementTrigger = NumberInputDecrementTrigger;
@@ -1,5 +1,4 @@
1
- import type { ChildrenReturn, type JSX } from 'solid-js';
2
- export type NumberInputDecrementTriggerProps = {
3
- children: JSX.Element;
4
- };
5
- export declare const NumberInputDecrementTrigger: (props: NumberInputDecrementTriggerProps) => ChildrenReturn;
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type NumberInputDecrementTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const NumberInputDecrementTrigger: (props: NumberInputDecrementTriggerProps) => JSX.Element;
@@ -1,19 +1,12 @@
1
- import { children, createEffect } from 'solid-js';
2
- import { spread } from 'solid-js/web';
3
- import { ssrSpread } from '../ssr-spread.mjs';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { ark } from '../factory.mjs';
4
4
  import { useNumberInputContext } from './number-input-context.mjs';
5
5
 
6
6
  const NumberInputDecrementTrigger = props => {
7
- const numberInput = useNumberInputContext();
8
- const triggerProps = numberInput().decrementTriggerProps;
9
- const getChildren = children(() => ssrSpread(props.children, triggerProps));
10
- createEffect(() => {
11
- const children = getChildren();
12
- if (children instanceof HTMLElement) {
13
- spread(children, triggerProps);
14
- }
15
- });
16
- return getChildren;
7
+ const api = useNumberInputContext();
8
+ const triggerProps = mergeProps(() => api().decrementTriggerProps, props);
9
+ return createComponent(ark.button, triggerProps);
17
10
  };
18
11
 
19
12
  export { NumberInputDecrementTrigger };