@ark-ui/solid 0.2.0 → 0.4.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 (497) hide show
  1. package/README.md +101 -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.d.ts +3 -11
  6. package/dist/accordion/accordion-context.mjs +2 -2
  7. package/dist/accordion/accordion-item.cjs +10 -6
  8. package/dist/accordion/accordion-item.d.ts +1 -1
  9. package/dist/accordion/accordion-item.mjs +12 -8
  10. package/dist/accordion/accordion-trigger.cjs +7 -14
  11. package/dist/accordion/accordion-trigger.d.ts +4 -6
  12. package/dist/accordion/accordion-trigger.mjs +7 -14
  13. package/dist/accordion/accordion.cjs +6 -4
  14. package/dist/accordion/accordion.d.ts +1 -1
  15. package/dist/accordion/accordion.mjs +7 -5
  16. package/dist/accordion/use-accordion.cjs +1 -1
  17. package/dist/accordion/use-accordion.d.ts +4 -9
  18. package/dist/accordion/use-accordion.mjs +2 -2
  19. package/dist/carousel/carousel-context.cjs +13 -0
  20. package/dist/carousel/carousel-context.d.ts +62 -0
  21. package/dist/carousel/carousel-context.mjs +8 -0
  22. package/dist/carousel/carousel-control.cjs +10 -0
  23. package/dist/carousel/carousel-control.d.ts +4 -0
  24. package/dist/carousel/carousel-control.mjs +6 -0
  25. package/dist/carousel/carousel-next-slide-trigger.cjs +16 -0
  26. package/dist/carousel/carousel-next-slide-trigger.d.ts +4 -0
  27. package/dist/carousel/carousel-next-slide-trigger.mjs +12 -0
  28. package/dist/carousel/carousel-prev-slide-trigger.cjs +16 -0
  29. package/dist/carousel/carousel-prev-slide-trigger.d.ts +4 -0
  30. package/dist/carousel/carousel-prev-slide-trigger.mjs +12 -0
  31. package/dist/carousel/carousel-slide-group.cjs +16 -0
  32. package/dist/carousel/carousel-slide-group.d.ts +4 -0
  33. package/dist/carousel/carousel-slide-group.mjs +12 -0
  34. package/dist/carousel/carousel-slide.cjs +18 -0
  35. package/dist/carousel/carousel-slide.d.ts +6 -0
  36. package/dist/carousel/carousel-slide.mjs +14 -0
  37. package/dist/carousel/carousel-viewport.cjs +16 -0
  38. package/dist/carousel/carousel-viewport.d.ts +4 -0
  39. package/dist/carousel/carousel-viewport.mjs +12 -0
  40. package/dist/carousel/carousel.anatomy.cjs +10 -0
  41. package/dist/carousel/carousel.anatomy.d.ts +3 -0
  42. package/dist/carousel/carousel.anatomy.mjs +6 -0
  43. package/dist/carousel/carousel.cjs +24 -0
  44. package/dist/carousel/carousel.d.ts +6 -0
  45. package/dist/carousel/carousel.mjs +20 -0
  46. package/dist/carousel/index.d.ts +8 -0
  47. package/dist/carousel/use-carousel.cjs +36 -0
  48. package/dist/carousel/use-carousel.d.ts +35 -0
  49. package/dist/carousel/use-carousel.mjs +13 -0
  50. package/dist/checkbox/checkbox-context.cjs +2 -2
  51. package/dist/checkbox/checkbox-context.d.ts +11 -12
  52. package/dist/checkbox/checkbox-context.mjs +2 -2
  53. package/dist/checkbox/checkbox-control.cjs +3 -1
  54. package/dist/checkbox/checkbox-control.mjs +4 -2
  55. package/dist/checkbox/checkbox-input.cjs +3 -1
  56. package/dist/checkbox/checkbox-input.mjs +4 -2
  57. package/dist/checkbox/checkbox-label.cjs +3 -1
  58. package/dist/checkbox/checkbox-label.mjs +4 -2
  59. package/dist/checkbox/checkbox.cjs +11 -14
  60. package/dist/checkbox/checkbox.d.ts +3 -5
  61. package/dist/checkbox/checkbox.mjs +13 -16
  62. package/dist/checkbox/index.d.ts +1 -0
  63. package/dist/checkbox/use-checkbox.cjs +1 -1
  64. package/dist/checkbox/use-checkbox.d.ts +6 -6
  65. package/dist/checkbox/use-checkbox.mjs +2 -2
  66. package/dist/combobox/combobox-content.cjs +3 -1
  67. package/dist/combobox/combobox-content.mjs +4 -2
  68. package/dist/combobox/combobox-control.cjs +3 -1
  69. package/dist/combobox/combobox-control.mjs +4 -2
  70. package/dist/combobox/combobox-input.cjs +3 -1
  71. package/dist/combobox/combobox-input.mjs +4 -2
  72. package/dist/combobox/combobox-label.cjs +3 -1
  73. package/dist/combobox/combobox-label.mjs +4 -2
  74. package/dist/combobox/combobox-option.cjs +5 -6
  75. package/dist/combobox/combobox-option.d.ts +1 -1
  76. package/dist/combobox/combobox-option.mjs +8 -9
  77. package/dist/combobox/combobox-positioner.cjs +3 -1
  78. package/dist/combobox/combobox-positioner.mjs +4 -2
  79. package/dist/combobox/combobox-trigger.cjs +4 -11
  80. package/dist/combobox/combobox-trigger.d.ts +4 -6
  81. package/dist/combobox/combobox-trigger.mjs +5 -12
  82. package/dist/combobox/combobox.cjs +9 -12
  83. package/dist/combobox/combobox.d.ts +3 -5
  84. package/dist/combobox/combobox.mjs +11 -14
  85. package/dist/combobox/use-combobox.cjs +1 -1
  86. package/dist/combobox/use-combobox.d.ts +4 -4
  87. package/dist/combobox/use-combobox.mjs +2 -2
  88. package/dist/create-split-props.d.ts +3 -1
  89. package/dist/dialog/dialog-backdrop.cjs +3 -1
  90. package/dist/dialog/dialog-backdrop.mjs +4 -2
  91. package/dist/dialog/dialog-close-trigger.cjs +4 -11
  92. package/dist/dialog/dialog-close-trigger.d.ts +4 -6
  93. package/dist/dialog/dialog-close-trigger.mjs +5 -12
  94. package/dist/dialog/dialog-container.cjs +3 -1
  95. package/dist/dialog/dialog-container.mjs +4 -2
  96. package/dist/dialog/dialog-content.cjs +3 -1
  97. package/dist/dialog/dialog-content.mjs +4 -2
  98. package/dist/dialog/dialog-description.cjs +3 -1
  99. package/dist/dialog/dialog-description.mjs +4 -2
  100. package/dist/dialog/dialog-title.cjs +3 -1
  101. package/dist/dialog/dialog-title.mjs +4 -2
  102. package/dist/dialog/dialog-trigger.cjs +4 -11
  103. package/dist/dialog/dialog-trigger.d.ts +4 -6
  104. package/dist/dialog/dialog-trigger.mjs +5 -12
  105. package/dist/dialog/dialog.cjs +5 -6
  106. package/dist/dialog/dialog.d.ts +1 -1
  107. package/dist/dialog/dialog.mjs +5 -6
  108. package/dist/dialog/use-dialog.cjs +1 -1
  109. package/dist/dialog/use-dialog.mjs +2 -2
  110. package/dist/editable/editable-area.cjs +3 -1
  111. package/dist/editable/editable-area.mjs +4 -2
  112. package/dist/editable/editable-cancel-trigger.cjs +5 -12
  113. package/dist/editable/editable-cancel-trigger.d.ts +4 -6
  114. package/dist/editable/editable-cancel-trigger.mjs +6 -13
  115. package/dist/editable/editable-control.cjs +3 -1
  116. package/dist/editable/editable-control.mjs +4 -2
  117. package/dist/editable/editable-edit-trigger.cjs +5 -12
  118. package/dist/editable/editable-edit-trigger.d.ts +4 -6
  119. package/dist/editable/editable-edit-trigger.mjs +6 -13
  120. package/dist/editable/editable-input.cjs +3 -1
  121. package/dist/editable/editable-input.mjs +4 -2
  122. package/dist/editable/editable-label.cjs +3 -1
  123. package/dist/editable/editable-label.mjs +4 -2
  124. package/dist/editable/editable-preview.cjs +3 -1
  125. package/dist/editable/editable-preview.mjs +4 -2
  126. package/dist/editable/editable-submit-trigger.cjs +4 -11
  127. package/dist/editable/editable-submit-trigger.d.ts +4 -6
  128. package/dist/editable/editable-submit-trigger.mjs +5 -12
  129. package/dist/editable/editable.cjs +10 -11
  130. package/dist/editable/editable.d.ts +4 -6
  131. package/dist/editable/editable.mjs +13 -14
  132. package/dist/editable/use-editable.cjs +1 -1
  133. package/dist/editable/use-editable.mjs +2 -2
  134. package/dist/factory.cjs +43 -9
  135. package/dist/factory.d.ts +14 -12
  136. package/dist/factory.mjs +43 -10
  137. package/dist/filter-props.cjs +28 -0
  138. package/dist/filter-props.d.ts +2 -0
  139. package/dist/filter-props.mjs +23 -0
  140. package/dist/hover-card/hover-card-arrow-tip.cjs +3 -1
  141. package/dist/hover-card/hover-card-arrow-tip.mjs +4 -2
  142. package/dist/hover-card/hover-card-arrow.cjs +3 -1
  143. package/dist/hover-card/hover-card-arrow.mjs +4 -2
  144. package/dist/hover-card/hover-card-content.cjs +3 -1
  145. package/dist/hover-card/hover-card-content.mjs +4 -2
  146. package/dist/hover-card/hover-card-positioner.cjs +3 -1
  147. package/dist/hover-card/hover-card-positioner.mjs +4 -2
  148. package/dist/hover-card/hover-card-trigger.cjs +4 -11
  149. package/dist/hover-card/hover-card-trigger.d.ts +4 -6
  150. package/dist/hover-card/hover-card-trigger.mjs +5 -12
  151. package/dist/hover-card/hover-card.cjs +6 -4
  152. package/dist/hover-card/hover-card.d.ts +2 -2
  153. package/dist/hover-card/hover-card.mjs +6 -4
  154. package/dist/hover-card/use-hover-card.cjs +1 -1
  155. package/dist/hover-card/use-hover-card.mjs +2 -2
  156. package/dist/index.cjs +33 -0
  157. package/dist/index.d.ts +2 -0
  158. package/dist/index.mjs +15 -0
  159. package/dist/menu/menu-arrow-tip.cjs +3 -1
  160. package/dist/menu/menu-arrow-tip.mjs +4 -2
  161. package/dist/menu/menu-arrow.cjs +3 -1
  162. package/dist/menu/menu-arrow.mjs +4 -2
  163. package/dist/menu/menu-content.cjs +3 -1
  164. package/dist/menu/menu-content.mjs +4 -2
  165. package/dist/menu/menu-context-trigger.cjs +4 -9
  166. package/dist/menu/menu-context-trigger.d.ts +4 -6
  167. package/dist/menu/menu-context-trigger.mjs +5 -10
  168. package/dist/menu/menu-item-group-label.cjs +4 -2
  169. package/dist/menu/menu-item-group-label.d.ts +1 -1
  170. package/dist/menu/menu-item-group-label.mjs +5 -3
  171. package/dist/menu/menu-item-group.cjs +4 -2
  172. package/dist/menu/menu-item-group.d.ts +1 -1
  173. package/dist/menu/menu-item-group.mjs +5 -3
  174. package/dist/menu/menu-item.cjs +4 -2
  175. package/dist/menu/menu-item.d.ts +1 -1
  176. package/dist/menu/menu-item.mjs +5 -3
  177. package/dist/menu/menu-option-item.cjs +9 -4
  178. package/dist/menu/menu-option-item.d.ts +3 -3
  179. package/dist/menu/menu-option-item.mjs +11 -6
  180. package/dist/menu/menu-positioner.cjs +3 -1
  181. package/dist/menu/menu-positioner.mjs +4 -2
  182. package/dist/menu/menu-separator.cjs +3 -1
  183. package/dist/menu/menu-separator.mjs +4 -2
  184. package/dist/menu/menu-trigger-item.cjs +3 -1
  185. package/dist/menu/menu-trigger-item.mjs +4 -2
  186. package/dist/menu/menu-trigger.cjs +4 -10
  187. package/dist/menu/menu-trigger.d.ts +4 -6
  188. package/dist/menu/menu-trigger.mjs +5 -11
  189. package/dist/menu/menu.cjs +13 -21
  190. package/dist/menu/menu.d.ts +1 -1
  191. package/dist/menu/menu.mjs +15 -23
  192. package/dist/menu/use-menu.cjs +1 -1
  193. package/dist/menu/use-menu.mjs +2 -2
  194. package/dist/number-input/number-input-control.cjs +4 -2
  195. package/dist/number-input/number-input-control.mjs +5 -3
  196. package/dist/number-input/number-input-decrement-trigger.cjs +5 -12
  197. package/dist/number-input/number-input-decrement-trigger.d.ts +4 -6
  198. package/dist/number-input/number-input-decrement-trigger.mjs +6 -13
  199. package/dist/number-input/number-input-field.cjs +4 -2
  200. package/dist/number-input/number-input-field.mjs +5 -3
  201. package/dist/number-input/number-input-increment-trigger.cjs +5 -12
  202. package/dist/number-input/number-input-increment-trigger.d.ts +4 -6
  203. package/dist/number-input/number-input-increment-trigger.mjs +6 -13
  204. package/dist/number-input/number-input-label.cjs +4 -2
  205. package/dist/number-input/number-input-label.mjs +5 -3
  206. package/dist/number-input/number-input-scrubber.cjs +4 -2
  207. package/dist/number-input/number-input-scrubber.mjs +5 -3
  208. package/dist/number-input/number-input.cjs +6 -4
  209. package/dist/number-input/number-input.d.ts +1 -1
  210. package/dist/number-input/number-input.mjs +7 -5
  211. package/dist/number-input/use-number-input.cjs +1 -1
  212. package/dist/number-input/use-number-input.mjs +2 -2
  213. package/dist/pagination/index.d.ts +1 -0
  214. package/dist/pagination/pagination-context.d.ts +5 -15
  215. package/dist/pagination/pagination-ellipsis.cjs +5 -3
  216. package/dist/pagination/pagination-ellipsis.d.ts +3 -6
  217. package/dist/pagination/pagination-ellipsis.mjs +6 -4
  218. package/dist/pagination/pagination-list-item.cjs +11 -0
  219. package/dist/pagination/pagination-list-item.d.ts +4 -0
  220. package/dist/pagination/pagination-list-item.mjs +7 -0
  221. package/dist/pagination/pagination-list.cjs +2 -1
  222. package/dist/pagination/pagination-list.mjs +3 -2
  223. package/dist/pagination/pagination-page-trigger.d.ts +1 -1
  224. package/dist/pagination/pagination-prev-page-trigger.cjs +2 -2
  225. package/dist/pagination/pagination-prev-page-trigger.mjs +2 -2
  226. package/dist/pagination/pagination.anatomy.cjs +3 -1
  227. package/dist/pagination/pagination.anatomy.d.ts +3 -2
  228. package/dist/pagination/pagination.anatomy.mjs +3 -2
  229. package/dist/pagination/pagination.cjs +9 -7
  230. package/dist/pagination/pagination.d.ts +3 -3
  231. package/dist/pagination/pagination.mjs +11 -9
  232. package/dist/pagination/use-pagination.cjs +1 -1
  233. package/dist/pagination/use-pagination.d.ts +3 -8
  234. package/dist/pagination/use-pagination.mjs +2 -2
  235. package/dist/pin-input/pin-input-control.cjs +8 -4
  236. package/dist/pin-input/pin-input-control.mjs +9 -5
  237. package/dist/pin-input/pin-input-field.cjs +6 -8
  238. package/dist/pin-input/pin-input-field.d.ts +1 -1
  239. package/dist/pin-input/pin-input-field.mjs +7 -9
  240. package/dist/pin-input/pin-input-label.cjs +4 -2
  241. package/dist/pin-input/pin-input-label.mjs +5 -3
  242. package/dist/pin-input/pin-input.cjs +5 -3
  243. package/dist/pin-input/pin-input.d.ts +1 -1
  244. package/dist/pin-input/pin-input.mjs +6 -4
  245. package/dist/pin-input/use-pin-input.cjs +1 -1
  246. package/dist/pin-input/use-pin-input.mjs +2 -2
  247. package/dist/popover/popover-anchor.cjs +6 -13
  248. package/dist/popover/popover-anchor.d.ts +4 -6
  249. package/dist/popover/popover-anchor.mjs +6 -13
  250. package/dist/popover/popover-arrow-tip.cjs +3 -1
  251. package/dist/popover/popover-arrow-tip.mjs +4 -2
  252. package/dist/popover/popover-arrow.cjs +3 -1
  253. package/dist/popover/popover-arrow.mjs +4 -2
  254. package/dist/popover/popover-close-trigger.cjs +5 -12
  255. package/dist/popover/popover-close-trigger.d.ts +4 -6
  256. package/dist/popover/popover-close-trigger.mjs +6 -13
  257. package/dist/popover/popover-content.cjs +4 -2
  258. package/dist/popover/popover-content.mjs +5 -3
  259. package/dist/popover/popover-description.cjs +4 -2
  260. package/dist/popover/popover-description.mjs +5 -3
  261. package/dist/popover/popover-positioner.cjs +4 -2
  262. package/dist/popover/popover-positioner.mjs +5 -3
  263. package/dist/popover/popover-title.cjs +4 -2
  264. package/dist/popover/popover-title.mjs +5 -3
  265. package/dist/popover/popover-trigger.cjs +6 -13
  266. package/dist/popover/popover-trigger.d.ts +4 -6
  267. package/dist/popover/popover-trigger.mjs +6 -13
  268. package/dist/popover/popover.cjs +2 -2
  269. package/dist/popover/popover.mjs +2 -2
  270. package/dist/popover/use-popover.cjs +1 -1
  271. package/dist/popover/use-popover.mjs +2 -2
  272. package/dist/pressable/pressable.cjs +5 -5
  273. package/dist/pressable/pressable.d.ts +1 -1
  274. package/dist/pressable/pressable.mjs +6 -6
  275. package/dist/pressable/use-pressable.cjs +2 -2
  276. package/dist/pressable/use-pressable.d.ts +3 -3
  277. package/dist/pressable/use-pressable.mjs +3 -3
  278. package/dist/prop-trap.cjs +37 -0
  279. package/dist/prop-trap.d.ts +5 -0
  280. package/dist/prop-trap.mjs +33 -0
  281. package/dist/radio-group/radio-control.cjs +5 -3
  282. package/dist/radio-group/radio-control.mjs +6 -4
  283. package/dist/radio-group/radio-group-context.d.ts +2 -0
  284. package/dist/radio-group/radio-group-label.cjs +4 -2
  285. package/dist/radio-group/radio-group-label.mjs +5 -3
  286. package/dist/radio-group/radio-group.cjs +6 -4
  287. package/dist/radio-group/radio-group.d.ts +1 -1
  288. package/dist/radio-group/radio-group.mjs +7 -5
  289. package/dist/radio-group/radio-input.cjs +5 -3
  290. package/dist/radio-group/radio-input.mjs +6 -4
  291. package/dist/radio-group/radio-label.cjs +5 -3
  292. package/dist/radio-group/radio-label.mjs +6 -4
  293. package/dist/radio-group/radio.cjs +5 -6
  294. package/dist/radio-group/radio.d.ts +1 -1
  295. package/dist/radio-group/radio.mjs +6 -7
  296. package/dist/radio-group/use-radio-group.cjs +1 -1
  297. package/dist/radio-group/use-radio-group.d.ts +1 -0
  298. package/dist/radio-group/use-radio-group.mjs +2 -2
  299. package/dist/range-slider/range-slider-control.cjs +3 -1
  300. package/dist/range-slider/range-slider-control.mjs +4 -2
  301. package/dist/range-slider/range-slider-label.cjs +3 -1
  302. package/dist/range-slider/range-slider-label.mjs +4 -2
  303. package/dist/range-slider/range-slider-marker-group.cjs +3 -1
  304. package/dist/range-slider/range-slider-marker-group.mjs +4 -2
  305. package/dist/range-slider/range-slider-marker.cjs +5 -3
  306. package/dist/range-slider/range-slider-marker.d.ts +1 -1
  307. package/dist/range-slider/range-slider-marker.mjs +6 -4
  308. package/dist/range-slider/range-slider-output.cjs +6 -5
  309. package/dist/range-slider/range-slider-output.d.ts +2 -2
  310. package/dist/range-slider/range-slider-output.mjs +7 -6
  311. package/dist/range-slider/range-slider-range.cjs +3 -1
  312. package/dist/range-slider/range-slider-range.mjs +4 -2
  313. package/dist/range-slider/range-slider-thumb.cjs +5 -3
  314. package/dist/range-slider/range-slider-thumb.d.ts +1 -1
  315. package/dist/range-slider/range-slider-thumb.mjs +6 -4
  316. package/dist/range-slider/range-slider-track.cjs +3 -1
  317. package/dist/range-slider/range-slider-track.mjs +4 -2
  318. package/dist/range-slider/range-slider.cjs +7 -6
  319. package/dist/range-slider/range-slider.d.ts +2 -2
  320. package/dist/range-slider/range-slider.mjs +7 -6
  321. package/dist/range-slider/use-range-slider.cjs +1 -1
  322. package/dist/range-slider/use-range-slider.mjs +2 -2
  323. package/dist/rating-group/rating-context.d.ts +3 -13
  324. package/dist/rating-group/rating-group-context.d.ts +5 -20
  325. package/dist/rating-group/rating-group-control.cjs +6 -5
  326. package/dist/rating-group/rating-group-control.d.ts +3 -2
  327. package/dist/rating-group/rating-group-control.mjs +7 -6
  328. package/dist/rating-group/rating-group-label.cjs +3 -1
  329. package/dist/rating-group/rating-group-label.mjs +4 -2
  330. package/dist/rating-group/rating-group.cjs +7 -5
  331. package/dist/rating-group/rating-group.d.ts +2 -2
  332. package/dist/rating-group/rating-group.mjs +8 -6
  333. package/dist/rating-group/rating.cjs +9 -8
  334. package/dist/rating-group/rating.d.ts +6 -4
  335. package/dist/rating-group/rating.mjs +10 -9
  336. package/dist/rating-group/use-rating-group.cjs +1 -1
  337. package/dist/rating-group/use-rating-group.d.ts +2 -10
  338. package/dist/rating-group/use-rating-group.mjs +2 -2
  339. package/dist/select/select-content.cjs +4 -2
  340. package/dist/select/select-content.mjs +5 -3
  341. package/dist/select/select-label.cjs +4 -2
  342. package/dist/select/select-label.mjs +5 -3
  343. package/dist/select/select-option-group-label.cjs +5 -3
  344. package/dist/select/select-option-group-label.d.ts +3 -3
  345. package/dist/select/select-option-group-label.mjs +6 -4
  346. package/dist/select/select-option-group.cjs +5 -3
  347. package/dist/select/select-option-group.d.ts +3 -3
  348. package/dist/select/select-option-group.mjs +6 -4
  349. package/dist/select/select-option.cjs +6 -4
  350. package/dist/select/select-option.d.ts +3 -3
  351. package/dist/select/select-option.mjs +7 -5
  352. package/dist/select/select-positioner.cjs +4 -2
  353. package/dist/select/select-positioner.mjs +5 -3
  354. package/dist/select/select-trigger.cjs +5 -12
  355. package/dist/select/select-trigger.d.ts +4 -6
  356. package/dist/select/select-trigger.mjs +6 -13
  357. package/dist/select/select.cjs +5 -12
  358. package/dist/select/select.d.ts +1 -1
  359. package/dist/select/select.mjs +7 -14
  360. package/dist/select/use-select.cjs +1 -1
  361. package/dist/select/use-select.mjs +2 -2
  362. package/dist/slider/slider-control.cjs +4 -2
  363. package/dist/slider/slider-control.mjs +5 -3
  364. package/dist/slider/slider-label.cjs +4 -2
  365. package/dist/slider/slider-label.mjs +5 -3
  366. package/dist/slider/slider-marker-group.cjs +4 -2
  367. package/dist/slider/slider-marker-group.mjs +5 -3
  368. package/dist/slider/slider-marker.cjs +5 -3
  369. package/dist/slider/slider-marker.d.ts +3 -3
  370. package/dist/slider/slider-marker.mjs +6 -4
  371. package/dist/slider/slider-output.cjs +7 -4
  372. package/dist/slider/slider-output.d.ts +2 -2
  373. package/dist/slider/slider-output.mjs +8 -5
  374. package/dist/slider/slider-range.cjs +3 -1
  375. package/dist/slider/slider-range.mjs +4 -2
  376. package/dist/slider/slider-thumb.cjs +5 -3
  377. package/dist/slider/slider-thumb.mjs +6 -4
  378. package/dist/slider/slider-track.cjs +3 -1
  379. package/dist/slider/slider-track.mjs +4 -2
  380. package/dist/slider/slider.cjs +10 -7
  381. package/dist/slider/slider.d.ts +2 -2
  382. package/dist/slider/slider.mjs +11 -8
  383. package/dist/slider/use-slider.cjs +1 -1
  384. package/dist/slider/use-slider.mjs +2 -2
  385. package/dist/splitter/splitter-panel.cjs +5 -3
  386. package/dist/splitter/splitter-panel.d.ts +3 -3
  387. package/dist/splitter/splitter-panel.mjs +6 -4
  388. package/dist/splitter/splitter-resize-trigger.cjs +7 -12
  389. package/dist/splitter/splitter-resize-trigger.d.ts +7 -9
  390. package/dist/splitter/splitter-resize-trigger.mjs +8 -13
  391. package/dist/splitter/splitter.cjs +6 -4
  392. package/dist/splitter/splitter.d.ts +1 -1
  393. package/dist/splitter/splitter.mjs +7 -5
  394. package/dist/splitter/use-splitter.cjs +1 -1
  395. package/dist/splitter/use-splitter.mjs +2 -2
  396. package/dist/spread.cjs +26 -13
  397. package/dist/spread.mjs +26 -13
  398. package/dist/switch/index.d.ts +6 -0
  399. package/dist/switch/switch-context.cjs +13 -0
  400. package/dist/switch/switch-context.d.ts +27 -0
  401. package/dist/switch/switch-context.mjs +8 -0
  402. package/dist/switch/switch-control.cjs +16 -0
  403. package/dist/switch/switch-control.d.ts +4 -0
  404. package/dist/switch/switch-control.mjs +12 -0
  405. package/dist/switch/switch-input.cjs +16 -0
  406. package/dist/switch/switch-input.d.ts +4 -0
  407. package/dist/switch/switch-input.mjs +12 -0
  408. package/dist/switch/switch-label.cjs +16 -0
  409. package/dist/switch/switch-label.d.ts +4 -0
  410. package/dist/switch/switch-label.mjs +12 -0
  411. package/dist/switch/switch-thumb.cjs +16 -0
  412. package/dist/switch/switch-thumb.d.ts +4 -0
  413. package/dist/switch/switch-thumb.mjs +12 -0
  414. package/dist/switch/switch.anatomy.d.ts +1 -0
  415. package/dist/switch/switch.cjs +30 -0
  416. package/dist/switch/switch.d.ts +9 -0
  417. package/dist/switch/switch.mjs +26 -0
  418. package/dist/switch/use-switch.cjs +36 -0
  419. package/dist/switch/use-switch.d.ts +17 -0
  420. package/dist/switch/use-switch.mjs +13 -0
  421. package/dist/tabs/tab-content.cjs +5 -3
  422. package/dist/tabs/tab-content.d.ts +3 -3
  423. package/dist/tabs/tab-content.mjs +6 -4
  424. package/dist/tabs/tab-indicator.cjs +4 -2
  425. package/dist/tabs/tab-indicator.mjs +5 -3
  426. package/dist/tabs/tab-list.cjs +4 -2
  427. package/dist/tabs/tab-list.mjs +5 -3
  428. package/dist/tabs/tab-trigger.cjs +6 -13
  429. package/dist/tabs/tab-trigger.d.ts +6 -10
  430. package/dist/tabs/tab-trigger.mjs +7 -14
  431. package/dist/tabs/tabs-context.d.ts +7 -9
  432. package/dist/tabs/tabs.cjs +6 -4
  433. package/dist/tabs/tabs.d.ts +1 -1
  434. package/dist/tabs/tabs.mjs +7 -5
  435. package/dist/tabs/use-tabs.cjs +1 -1
  436. package/dist/tabs/use-tabs.d.ts +3 -5
  437. package/dist/tabs/use-tabs.mjs +2 -2
  438. package/dist/tags-input/tag-delete-trigger.cjs +6 -13
  439. package/dist/tags-input/tag-delete-trigger.d.ts +5 -7
  440. package/dist/tags-input/tag-delete-trigger.mjs +7 -14
  441. package/dist/tags-input/tag-input.cjs +5 -3
  442. package/dist/tags-input/tag-input.d.ts +1 -1
  443. package/dist/tags-input/tag-input.mjs +6 -4
  444. package/dist/tags-input/tag.cjs +5 -3
  445. package/dist/tags-input/tag.d.ts +1 -1
  446. package/dist/tags-input/tag.mjs +6 -4
  447. package/dist/tags-input/tags-input-clear-trigger.cjs +4 -11
  448. package/dist/tags-input/tags-input-clear-trigger.d.ts +4 -6
  449. package/dist/tags-input/tags-input-clear-trigger.mjs +5 -12
  450. package/dist/tags-input/tags-input-control.cjs +4 -2
  451. package/dist/tags-input/tags-input-control.mjs +5 -3
  452. package/dist/tags-input/tags-input-field.cjs +4 -2
  453. package/dist/tags-input/tags-input-field.mjs +5 -3
  454. package/dist/tags-input/tags-input-label.cjs +4 -2
  455. package/dist/tags-input/tags-input-label.mjs +5 -3
  456. package/dist/tags-input/tags-input.cjs +10 -7
  457. package/dist/tags-input/tags-input.d.ts +3 -3
  458. package/dist/tags-input/tags-input.mjs +11 -8
  459. package/dist/tags-input/use-tags-input.cjs +1 -1
  460. package/dist/tags-input/use-tags-input.mjs +2 -2
  461. package/dist/toast/toast-close-trigger.cjs +5 -12
  462. package/dist/toast/toast-close-trigger.d.ts +4 -6
  463. package/dist/toast/toast-close-trigger.mjs +6 -13
  464. package/dist/toast/toast-description.cjs +5 -3
  465. package/dist/toast/toast-description.mjs +6 -4
  466. package/dist/toast/toast-group.cjs +8 -6
  467. package/dist/toast/toast-group.d.ts +6 -4
  468. package/dist/toast/toast-group.mjs +10 -8
  469. package/dist/toast/toast-placements.cjs +4 -2
  470. package/dist/toast/toast-placements.d.ts +2 -2
  471. package/dist/toast/toast-placements.mjs +5 -3
  472. package/dist/toast/toast-provider.cjs +2 -2
  473. package/dist/toast/toast-provider.mjs +2 -2
  474. package/dist/toast/toast-title.cjs +3 -1
  475. package/dist/toast/toast-title.mjs +4 -2
  476. package/dist/toast/toast.cjs +6 -4
  477. package/dist/toast/toast.d.ts +1 -1
  478. package/dist/toast/toast.mjs +7 -5
  479. package/dist/tooltip/tooltip-arrow-tip.cjs +4 -2
  480. package/dist/tooltip/tooltip-arrow-tip.mjs +5 -3
  481. package/dist/tooltip/tooltip-arrow.cjs +3 -1
  482. package/dist/tooltip/tooltip-arrow.mjs +4 -2
  483. package/dist/tooltip/tooltip-content.cjs +4 -2
  484. package/dist/tooltip/tooltip-content.mjs +5 -3
  485. package/dist/tooltip/tooltip-context.cjs +2 -2
  486. package/dist/tooltip/tooltip-context.mjs +2 -2
  487. package/dist/tooltip/tooltip-positioner.cjs +5 -3
  488. package/dist/tooltip/tooltip-positioner.mjs +6 -4
  489. package/dist/tooltip/tooltip-trigger.cjs +5 -12
  490. package/dist/tooltip/tooltip-trigger.d.ts +4 -6
  491. package/dist/tooltip/tooltip-trigger.mjs +6 -13
  492. package/dist/tooltip/tooltip.cjs +4 -4
  493. package/dist/tooltip/tooltip.mjs +4 -4
  494. package/dist/tooltip/use-tooltip.cjs +1 -1
  495. package/dist/tooltip/use-tooltip.mjs +2 -2
  496. package/dist/types.d.ts +7 -4
  497. package/package.json +76 -44
@@ -1,29 +1,28 @@
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 { splitProps } 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';
6
- import { EditableProvider, useEditableContext } from './editable-context.mjs';
7
+ import { EditableProvider } from './editable-context.mjs';
7
8
  import { useEditable } from './use-editable.mjs';
8
9
 
9
10
  const Editable = props => {
10
- const [useEditableProps, editableContextProps] = createSplitProps()(props, ['activationMode', 'autoResize', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'maxLength', 'name', 'onCancel', 'onChange', 'onEdit', 'onInteractOutside', 'onSubmit', 'placeholder', 'readOnly', 'selectOnFocus', 'startWithEditView', 'submitMode', 'translations', 'value']);
11
+ const [useEditableProps, restProps] = createSplitProps()(props, ['activationMode', 'autoResize', 'dir', 'disabled', 'finalFocusEl', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'maxLength', 'name', 'onCancel', 'onChange', 'onEdit', 'onInteractOutside', 'onSubmit', 'placeholder', 'readOnly', 'selectOnFocus', 'startWithEditView', 'submitMode', 'translations', 'value']);
11
12
  const editable = useEditable(useEditableProps);
13
+ const [childrenProps, localProps] = splitProps(restProps, ['children']);
14
+ const rootProps = mergeProps(() => editable().rootProps, localProps);
15
+ const getChildren = () => runIfFn(childrenProps.children, editable);
12
16
  return createComponent(EditableProvider, {
13
17
  value: editable,
14
18
  get children() {
15
- return createComponent(EditableContextWrapper, editableContextProps);
19
+ return createComponent(ark.div, mergeProps$1(rootProps, {
20
+ get children() {
21
+ return getChildren();
22
+ }
23
+ }));
16
24
  }
17
25
  });
18
26
  };
19
- const EditableContextWrapper = props => {
20
- const editable = useEditableContext();
21
- const view = children(() => runIfFn(props.children, editable));
22
- return createComponent(ark.div, mergeProps(() => editable().rootProps, props, {
23
- get children() {
24
- return view();
25
- }
26
- }));
27
- };
28
27
 
29
28
  export { Editable };
@@ -28,7 +28,7 @@ const editable__namespace = /*#__PURE__*/_interopNamespaceDefault(editable);
28
28
 
29
29
  const useEditable = (props) => {
30
30
  const getRootNode = environmentContext.useEnvironmentContext();
31
- const context = solidJs.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
31
+ const context = solid.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
32
32
  const [state, send] = solid.useMachine(editable__namespace.machine(context), { context });
33
33
  return solidJs.createMemo(() => editable__namespace.connect(state, send, solid.normalizeProps));
34
34
  };
@@ -1,6 +1,6 @@
1
1
  import * as editable from '@zag-js/editable';
2
- import { useMachine, normalizeProps } from '@zag-js/solid';
3
- import { mergeProps, createUniqueId, createMemo } from 'solid-js';
2
+ import { mergeProps, useMachine, normalizeProps } from '@zag-js/solid';
3
+ import { createUniqueId, createMemo } from 'solid-js';
4
4
  import { useEnvironmentContext } from '../environment/environment-context.mjs';
5
5
 
6
6
  const useEditable = (props) => {
package/dist/factory.cjs CHANGED
@@ -2,15 +2,49 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const solid = require('@polymorphic-factory/solid');
5
+ const web = require('solid-js/web');
6
+ const solidJs = require('solid-js');
7
+ const spread = require('./spread.cjs');
8
+ const ssrSpread = require('./ssr-spread.cjs');
6
9
 
7
- /**
8
- * All html and svg elements for ark components.
9
- * This is mostly for `ark.<element>` syntax.
10
- */
11
- /**
12
- * The ark factory serves as an object of JSX elements to render React components which accept the `as` prop
13
- */
14
- const ark = solid.polymorphicFactory();
10
+ function withAsChild(Component) {
11
+ return function jsx(props) {
12
+ const [localProps, restProps] = solidJs.splitProps(props, ['asChild', 'children']);
13
+ if (!localProps.asChild) {
14
+ return web.createComponent(web.Dynamic, web.mergeProps({
15
+ component: Component
16
+ }, restProps, {
17
+ get children() {
18
+ return localProps.children;
19
+ }
20
+ }));
21
+ }
22
+ const getChildren = solidJs.children(() => ssrSpread.ssrSpread(localProps.children, restProps));
23
+ solidJs.createEffect(() => {
24
+ const children = getChildren();
25
+ if (children instanceof HTMLElement) {
26
+ spread.spread(children, restProps);
27
+ }
28
+ });
29
+ return getChildren;
30
+ };
31
+ }
32
+ function jsxFactory() {
33
+ const cache = new Map();
34
+ return new Proxy(withAsChild, {
35
+ apply(target, thisArg, argArray) {
36
+ return withAsChild(argArray[0]);
37
+ },
38
+ get(_, element) {
39
+ const asElement = element;
40
+ if (!cache.has(asElement)) {
41
+ cache.set(asElement, withAsChild(asElement));
42
+ }
43
+ return cache.get(asElement);
44
+ }
45
+ });
46
+ }
47
+ const ark = jsxFactory();
15
48
 
16
49
  exports.ark = ark;
50
+ exports.jsxFactory = jsxFactory;
package/dist/factory.d.ts CHANGED
@@ -1,12 +1,14 @@
1
- /**
2
- * All html and svg elements for ark components.
3
- * This is mostly for `ark.<element>` syntax.
4
- */
5
- import type { ComponentWithAs, type HTMLPolymorphicComponents, type HTMLPolymorphicProps } from '@polymorphic-factory/solid';
6
- import type { Component, type JSX } from 'solid-js';
7
- export type HTMLArkComponents = HTMLPolymorphicComponents;
8
- export type HTMLArkProps<T extends keyof JSX.IntrinsicElements> = HTMLPolymorphicProps<T>;
9
- /**
10
- * The ark factory serves as an object of JSX elements to render React components which accept the `as` prop
11
- */
12
- export declare const ark: (<T extends keyof JSX.IntrinsicElements | Component<any>, P extends Record<never, never> = Record<never, never>>(component: T, option?: undefined) => ComponentWithAs<T, P>) & HTMLPolymorphicComponents<Record<never, never>>;
1
+ import { type Component, type ComponentProps, type JSX } from 'solid-js';
2
+ type ElementType = keyof JSX.IntrinsicElements | Component<any>;
3
+ export type AsChildProps = {
4
+ asChild?: boolean;
5
+ };
6
+ type JsxElements = {
7
+ [E in keyof JSX.IntrinsicElements]: AsChildForwardRefComponent<E>;
8
+ };
9
+ export type AsChildForwardRefComponent<E extends ElementType> = Component<AsChildComponentProps<E>>;
10
+ export type AsChildComponentProps<E extends ElementType> = ComponentProps<E> & AsChildProps;
11
+ export type HTMLArkProps<T extends ElementType> = AsChildComponentProps<T>;
12
+ export declare function jsxFactory(): JsxElements;
13
+ export declare const ark: JsxElements;
14
+ export {};
package/dist/factory.mjs CHANGED
@@ -1,12 +1,45 @@
1
- import { polymorphicFactory } from '@polymorphic-factory/solid';
1
+ import { createComponent, Dynamic, mergeProps } from 'solid-js/web';
2
+ import { splitProps, children, createEffect } from 'solid-js';
3
+ import { spread } from './spread.mjs';
4
+ import { ssrSpread } from './ssr-spread.mjs';
2
5
 
3
- /**
4
- * All html and svg elements for ark components.
5
- * This is mostly for `ark.<element>` syntax.
6
- */
7
- /**
8
- * The ark factory serves as an object of JSX elements to render React components which accept the `as` prop
9
- */
10
- const ark = polymorphicFactory();
6
+ function withAsChild(Component) {
7
+ return function jsx(props) {
8
+ const [localProps, restProps] = splitProps(props, ['asChild', 'children']);
9
+ if (!localProps.asChild) {
10
+ return createComponent(Dynamic, mergeProps({
11
+ component: Component
12
+ }, restProps, {
13
+ get children() {
14
+ return localProps.children;
15
+ }
16
+ }));
17
+ }
18
+ const getChildren = children(() => ssrSpread(localProps.children, restProps));
19
+ createEffect(() => {
20
+ const children = getChildren();
21
+ if (children instanceof HTMLElement) {
22
+ spread(children, restProps);
23
+ }
24
+ });
25
+ return getChildren;
26
+ };
27
+ }
28
+ function jsxFactory() {
29
+ const cache = new Map();
30
+ return new Proxy(withAsChild, {
31
+ apply(target, thisArg, argArray) {
32
+ return withAsChild(argArray[0]);
33
+ },
34
+ get(_, element) {
35
+ const asElement = element;
36
+ if (!cache.has(asElement)) {
37
+ cache.set(asElement, withAsChild(asElement));
38
+ }
39
+ return cache.get(asElement);
40
+ }
41
+ });
42
+ }
43
+ const ark = jsxFactory();
11
44
 
12
- export { ark };
45
+ export { ark, jsxFactory };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const propTrap = require('./prop-trap.cjs');
6
+
7
+ function filterProps(props, predicate) {
8
+ return new Proxy(
9
+ {
10
+ get(property) {
11
+ return property in props && predicate(property) ? props[property] : void 0;
12
+ },
13
+ has(property) {
14
+ return property in props && predicate(property);
15
+ },
16
+ keys() {
17
+ return Object.keys(props).filter(predicate);
18
+ }
19
+ },
20
+ propTrap.propTraps
21
+ );
22
+ }
23
+ function mapProps(props, mapper) {
24
+ return Object.fromEntries(Object.entries(props).map(([key, value]) => [key, mapper(key, value)]));
25
+ }
26
+
27
+ exports.filterProps = filterProps;
28
+ exports.mapProps = mapProps;
@@ -0,0 +1,2 @@
1
+ export declare function filterProps<T extends object>(props: T, predicate: (key: keyof T) => boolean): T;
2
+ export declare function mapProps(props: Record<string, unknown>, mapper: (key: string, value: unknown) => unknown): Record<string, unknown>;
@@ -0,0 +1,23 @@
1
+ import { propTraps } from './prop-trap.mjs';
2
+
3
+ function filterProps(props, predicate) {
4
+ return new Proxy(
5
+ {
6
+ get(property) {
7
+ return property in props && predicate(property) ? props[property] : void 0;
8
+ },
9
+ has(property) {
10
+ return property in props && predicate(property);
11
+ },
12
+ keys() {
13
+ return Object.keys(props).filter(predicate);
14
+ }
15
+ },
16
+ propTraps
17
+ );
18
+ }
19
+ function mapProps(props, mapper) {
20
+ return Object.fromEntries(Object.entries(props).map(([key, value]) => [key, mapper(key, value)]));
21
+ }
22
+
23
+ export { filterProps, mapProps };
@@ -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 hoverCardContext = require('./hover-card-context.cjs');
8
9
 
9
10
  const HoverCardArrowTip = props => {
10
11
  const hoverCard = hoverCardContext.useHoverCardContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => hoverCard().arrowTipProps, props));
12
+ const tipProps = solid.mergeProps(() => hoverCard().arrowTipProps, props);
13
+ return web.createComponent(factory.ark.div, tipProps);
12
14
  };
13
15
 
14
16
  exports.HoverCardArrowTip = HoverCardArrowTip;
@@ -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 { useHoverCardContext } from './hover-card-context.mjs';
4
5
 
5
6
  const HoverCardArrowTip = props => {
6
7
  const hoverCard = useHoverCardContext();
7
- return createComponent(ark.div, mergeProps(() => hoverCard().arrowTipProps, props));
8
+ const tipProps = mergeProps(() => hoverCard().arrowTipProps, props);
9
+ return createComponent(ark.div, tipProps);
8
10
  };
9
11
 
10
12
  export { HoverCardArrowTip };
@@ -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 hoverCardContext = require('./hover-card-context.cjs');
8
9
 
9
10
  const HoverCardArrow = props => {
10
11
  const hoverCard = hoverCardContext.useHoverCardContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => hoverCard().arrowProps, props));
12
+ const arrowProps = solid.mergeProps(() => hoverCard().arrowProps, props);
13
+ return web.createComponent(factory.ark.div, arrowProps);
12
14
  };
13
15
 
14
16
  exports.HoverCardArrow = HoverCardArrow;
@@ -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 { useHoverCardContext } from './hover-card-context.mjs';
4
5
 
5
6
  const HoverCardArrow = props => {
6
7
  const hoverCard = useHoverCardContext();
7
- return createComponent(ark.div, mergeProps(() => hoverCard().arrowProps, props));
8
+ const arrowProps = mergeProps(() => hoverCard().arrowProps, props);
9
+ return createComponent(ark.div, arrowProps);
8
10
  };
9
11
 
10
12
  export { HoverCardArrow };
@@ -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 hoverCardContext = require('./hover-card-context.cjs');
8
9
 
9
10
  const HoverCardContent = props => {
10
11
  const hoverCard = hoverCardContext.useHoverCardContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => hoverCard().contentProps, props));
12
+ const contentProps = solid.mergeProps(() => hoverCard().contentProps, props);
13
+ return web.createComponent(factory.ark.div, contentProps);
12
14
  };
13
15
 
14
16
  exports.HoverCardContent = HoverCardContent;
@@ -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 { useHoverCardContext } from './hover-card-context.mjs';
4
5
 
5
6
  const HoverCardContent = props => {
6
7
  const hoverCard = useHoverCardContext();
7
- return createComponent(ark.div, mergeProps(() => hoverCard().contentProps, props));
8
+ const contentProps = mergeProps(() => hoverCard().contentProps, props);
9
+ return createComponent(ark.div, contentProps);
8
10
  };
9
11
 
10
12
  export { HoverCardContent };
@@ -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 hoverCardContext = require('./hover-card-context.cjs');
8
9
 
9
10
  const HoverCardPositioner = props => {
10
11
  const hoverCard = hoverCardContext.useHoverCardContext();
11
- return web.createComponent(factory.ark.div, web.mergeProps(() => hoverCard().positionerProps, props));
12
+ const positionerProps = solid.mergeProps(() => hoverCard().positionerProps, props);
13
+ return web.createComponent(factory.ark.div, positionerProps);
12
14
  };
13
15
 
14
16
  exports.HoverCardPositioner = HoverCardPositioner;
@@ -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 { useHoverCardContext } from './hover-card-context.mjs';
4
5
 
5
6
  const HoverCardPositioner = props => {
6
7
  const hoverCard = useHoverCardContext();
7
- return createComponent(ark.div, mergeProps(() => hoverCard().positionerProps, props));
8
+ const positionerProps = mergeProps(() => hoverCard().positionerProps, props);
9
+ return createComponent(ark.div, positionerProps);
8
10
  };
9
11
 
10
12
  export { HoverCardPositioner };
@@ -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 hoverCardContext = require('./hover-card-context.cjs');
9
9
 
10
10
  const HoverCardTrigger = props => {
11
11
  const hoverCard = hoverCardContext.useHoverCardContext();
12
- const triggerProps = hoverCard().triggerProps;
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();
12
+ const triggerProps = solid.mergeProps(() => hoverCard().triggerProps, props);
13
+ return web.createComponent(factory.ark.button, triggerProps);
21
14
  };
22
15
 
23
16
  exports.HoverCardTrigger = HoverCardTrigger;
@@ -1,6 +1,4 @@
1
- import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
- import { type JSX } from 'solid-js';
3
- export type HoverCardTriggerProps = {
4
- children: JSX.Element;
5
- };
6
- export declare const HoverCardTrigger: (props: HoverCardTriggerProps) => ResolvedChildren;
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type HoverCardTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const HoverCardTrigger: (props: HoverCardTriggerProps) => 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 { useHoverCardContext } from './hover-card-context.mjs';
5
5
 
6
6
  const HoverCardTrigger = props => {
7
7
  const hoverCard = useHoverCardContext();
8
- const triggerProps = hoverCard().triggerProps;
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();
8
+ const triggerProps = mergeProps(() => hoverCard().triggerProps, props);
9
+ return createComponent(ark.button, triggerProps);
17
10
  };
18
11
 
19
12
  export { HoverCardTrigger };
@@ -4,16 +4,18 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
6
  const createSplitProps = require('../create-split-props.cjs');
7
+ const runIfFn = require('../run-if-fn.cjs');
7
8
  const hoverCardContext = require('./hover-card-context.cjs');
8
9
  const useHoverCard = require('./use-hover-card.cjs');
9
10
 
10
11
  const HoverCard = props => {
11
- const [useHoverCardProps, restProps] = createSplitProps.createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onClose', 'onOpen', 'open', 'openDelay', 'positioning']);
12
- const hoverCard = useHoverCard.useHoverCard(useHoverCardProps);
12
+ const [hoverCardProps, localProps] = createSplitProps.createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onClose', 'onOpen', 'open', 'openDelay', 'positioning']);
13
+ const api = useHoverCard.useHoverCard(hoverCardProps);
14
+ const getChildren = () => runIfFn.runIfFn(localProps.children, api);
13
15
  return web.createComponent(hoverCardContext.HoverCardProvider, {
14
- value: hoverCard,
16
+ value: api,
15
17
  get children() {
16
- return restProps.children;
18
+ return getChildren();
17
19
  }
18
20
  });
19
21
  };
@@ -1,6 +1,6 @@
1
1
  import { type JSX } from 'solid-js';
2
- import { type UseHoverCardProps } from './use-hover-card';
2
+ import { type UseHoverCardProps, type UseHoverCardReturn } from './use-hover-card';
3
3
  export type HoverCardProps = UseHoverCardProps & {
4
- children: JSX.Element;
4
+ children?: JSX.Element | ((state: UseHoverCardReturn) => JSX.Element);
5
5
  };
6
6
  export declare const HoverCard: (props: HoverCardProps) => JSX.Element;
@@ -1,15 +1,17 @@
1
1
  import { createComponent } from 'solid-js/web';
2
2
  import { createSplitProps } from '../create-split-props.mjs';
3
+ import { runIfFn } from '../run-if-fn.mjs';
3
4
  import { HoverCardProvider } from './hover-card-context.mjs';
4
5
  import { useHoverCard } from './use-hover-card.mjs';
5
6
 
6
7
  const HoverCard = props => {
7
- const [useHoverCardProps, restProps] = createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onClose', 'onOpen', 'open', 'openDelay', 'positioning']);
8
- const hoverCard = useHoverCard(useHoverCardProps);
8
+ const [hoverCardProps, localProps] = createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onClose', 'onOpen', 'open', 'openDelay', 'positioning']);
9
+ const api = useHoverCard(hoverCardProps);
10
+ const getChildren = () => runIfFn(localProps.children, api);
9
11
  return createComponent(HoverCardProvider, {
10
- value: hoverCard,
12
+ value: api,
11
13
  get children() {
12
- return restProps.children;
14
+ return getChildren();
13
15
  }
14
16
  });
15
17
  };
@@ -28,7 +28,7 @@ const hoverCard__namespace = /*#__PURE__*/_interopNamespaceDefault(hoverCard);
28
28
 
29
29
  const useHoverCard = (props) => {
30
30
  const getRootNode = environmentContext.useEnvironmentContext();
31
- const context = solidJs.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
31
+ const context = solid.mergeProps({ id: solidJs.createUniqueId(), getRootNode }, props);
32
32
  const [state, send] = solid.useMachine(hoverCard__namespace.machine(context), { context });
33
33
  return solidJs.createMemo(() => hoverCard__namespace.connect(state, send, solid.normalizeProps));
34
34
  };
@@ -1,6 +1,6 @@
1
1
  import * as hoverCard from '@zag-js/hover-card';
2
- import { useMachine, normalizeProps } from '@zag-js/solid';
3
- import { mergeProps, createUniqueId, createMemo } from 'solid-js';
2
+ import { mergeProps, useMachine, normalizeProps } from '@zag-js/solid';
3
+ import { createUniqueId, createMemo } from 'solid-js';
4
4
  import { useEnvironmentContext } from '../environment/environment-context.mjs';
5
5
 
6
6
  const useHoverCard = (props) => {
package/dist/index.cjs CHANGED
@@ -9,6 +9,14 @@ const accordionIcon = require('./accordion/accordion-icon.cjs');
9
9
  const accordionItem = require('./accordion/accordion-item.cjs');
10
10
  const accordionTrigger = require('./accordion/accordion-trigger.cjs');
11
11
  const accordion$1 = require('@zag-js/accordion');
12
+ const carousel = require('./carousel/carousel.cjs');
13
+ const carouselControl = require('./carousel/carousel-control.cjs');
14
+ const carouselNextSlideTrigger = require('./carousel/carousel-next-slide-trigger.cjs');
15
+ const carouselPrevSlideTrigger = require('./carousel/carousel-prev-slide-trigger.cjs');
16
+ const carouselSlide = require('./carousel/carousel-slide.cjs');
17
+ const carouselSlideGroup = require('./carousel/carousel-slide-group.cjs');
18
+ const carouselViewport = require('./carousel/carousel-viewport.cjs');
19
+ const carousel_anatomy = require('./carousel/carousel.anatomy.cjs');
12
20
  const checkbox = require('./checkbox/checkbox.cjs');
13
21
  const checkboxControl = require('./checkbox/checkbox-control.cjs');
14
22
  const checkboxInput = require('./checkbox/checkbox-input.cjs');
@@ -76,6 +84,7 @@ const numberInput$1 = require('@zag-js/number-input');
76
84
  const pagination = require('./pagination/pagination.cjs');
77
85
  const paginationEllipsis = require('./pagination/pagination-ellipsis.cjs');
78
86
  const paginationList = require('./pagination/pagination-list.cjs');
87
+ const paginationListItem = require('./pagination/pagination-list-item.cjs');
79
88
  const paginationNextPageTrigger = require('./pagination/pagination-next-page-trigger.cjs');
80
89
  const paginationPageTrigger = require('./pagination/pagination-page-trigger.cjs');
81
90
  const paginationPrevPageTrigger = require('./pagination/pagination-prev-page-trigger.cjs');
@@ -143,6 +152,12 @@ const splitter = require('./splitter/splitter.cjs');
143
152
  const splitterPanel = require('./splitter/splitter-panel.cjs');
144
153
  const splitterResizeTrigger = require('./splitter/splitter-resize-trigger.cjs');
145
154
  const splitter$1 = require('@zag-js/splitter');
155
+ const _switch = require('./switch/switch.cjs');
156
+ const switchControl = require('./switch/switch-control.cjs');
157
+ const switchInput = require('./switch/switch-input.cjs');
158
+ const switchLabel = require('./switch/switch-label.cjs');
159
+ const switchThumb = require('./switch/switch-thumb.cjs');
160
+ const zagSwitch = require('@zag-js/switch');
146
161
  const tabContent = require('./tabs/tab-content.cjs');
147
162
  const tabIndicator = require('./tabs/tab-indicator.cjs');
148
163
  const tabList = require('./tabs/tab-list.cjs');
@@ -189,6 +204,14 @@ Object.defineProperty(exports, 'accordionAnatomy', {
189
204
  enumerable: true,
190
205
  get: () => accordion$1.anatomy
191
206
  });
207
+ exports.Carousel = carousel.Carousel;
208
+ exports.CarouselControl = carouselControl.CarouselControl;
209
+ exports.CarouselNextSlideTrigger = carouselNextSlideTrigger.CarouselNextSlideTrigger;
210
+ exports.CarouselPrevSlideTrigger = carouselPrevSlideTrigger.CarouselPrevSlideTrigger;
211
+ exports.CarouselSlide = carouselSlide.CarouselSlide;
212
+ exports.CarouselSlideGroup = carouselSlideGroup.CarouselSlideGroup;
213
+ exports.CarouselViewport = carouselViewport.CarouselViewport;
214
+ exports.carouselAnatomy = carousel_anatomy.carouselAnatomy;
192
215
  exports.Checkbox = checkbox.Checkbox;
193
216
  exports.CheckboxControl = checkboxControl.CheckboxControl;
194
217
  exports.CheckboxInput = checkboxInput.CheckboxInput;
@@ -277,6 +300,7 @@ Object.defineProperty(exports, 'numberInputAnatomy', {
277
300
  exports.Pagination = pagination.Pagination;
278
301
  exports.PaginationEllipsis = paginationEllipsis.PaginationEllipsis;
279
302
  exports.PaginationList = paginationList.PaginationList;
303
+ exports.PaginationListItem = paginationListItem.PaginationListItem;
280
304
  exports.PaginationNextPageTrigger = paginationNextPageTrigger.PaginationNextPageTrigger;
281
305
  exports.PaginationPageTrigger = paginationPageTrigger.PaginationPageTrigger;
282
306
  exports.PaginationPrevPageTrigger = paginationPrevPageTrigger.PaginationPrevPageTrigger;
@@ -368,6 +392,15 @@ Object.defineProperty(exports, 'splitterAnatomy', {
368
392
  enumerable: true,
369
393
  get: () => splitter$1.anatomy
370
394
  });
395
+ exports.Switch = _switch.Switch;
396
+ exports.SwitchControl = switchControl.SwitchControl;
397
+ exports.SwitchInput = switchInput.SwitchInput;
398
+ exports.SwitchLabel = switchLabel.SwitchLabel;
399
+ exports.SwitchThumb = switchThumb.SwitchThumb;
400
+ Object.defineProperty(exports, 'switchAnatomy', {
401
+ enumerable: true,
402
+ get: () => zagSwitch.anatomy
403
+ });
371
404
  exports.TabContent = tabContent.TabContent;
372
405
  exports.TabIndicator = tabIndicator.TabIndicator;
373
406
  exports.TabList = tabList.TabList;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { createAnatomy } from '@zag-js/anatomy';
2
2
  export * from './accordion';
3
+ export * from './carousel';
3
4
  export * from './checkbox';
4
5
  export * from './combobox';
5
6
  export * from './dialog';
@@ -18,6 +19,7 @@ export * from './rating-group';
18
19
  export * from './select';
19
20
  export * from './slider';
20
21
  export * from './splitter';
22
+ export * from './switch';
21
23
  export * from './tabs';
22
24
  export * from './tags-input';
23
25
  export * from './toast';