@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
package/README.md ADDED
@@ -0,0 +1,101 @@
1
+ # @ark-ui/solid
2
+
3
+ `@ark-ui/solid` is an open-source UI component library designed to make building high-quality, accessible web applications easier. The library focuses on providing low-level UI components with an emphasis on accessibility, customization, and developer experience.
4
+
5
+ ## Key Features
6
+
7
+ - **Accessible**: Components in Ark UI are designed with accessibility in mind, adhering to WAI-ARIA design patterns and handling implementation details such as aria and role attributes, focus management, and keyboard navigation.
8
+ - **Headless**: Components are shipped without styles, giving developers full control over styling.
9
+ - **Customizable**: The open component architecture allows for customization and customization, providing granular access to each component part.
10
+ - **Powered by state machines**: Predictable, simplified, and robust component behavior.
11
+ - **Developer Experience**: The library provides a fully-typed API with a consistent and predictable experience.
12
+
13
+ ## Available Components
14
+
15
+ At the moment, `@ark-ui/solid`offers the following components:
16
+
17
+ - [Accordion](https://ark-ui.com/docs/solid/components/accordion)
18
+ - [Carousel](https://ark-ui.com/docs/solid/components/carousel)
19
+ - [Checkbox](https://ark-ui.com/docs/solid/components/checkbox)
20
+ - [Color Picker](https://ark-ui.com/docs/solid/components/color-picker)
21
+ - [Combobox](https://ark-ui.com/docs/solid/components/combobox)
22
+ - [Dialog](https://ark-ui.com/docs/solid/components/dialog)
23
+ - [Editable](https://ark-ui.com/docs/solid/components/editable)
24
+ - [Hover Card](https://ark-ui.com/docs/solid/components/hover-card)
25
+ - [Menu](https://ark-ui.com/docs/solid/components/menu)
26
+ - [Number Input](https://ark-ui.com/docs/solid/components/number-input)
27
+ - [Pagination](https://ark-ui.com/docs/solid/components/pagination)
28
+ - [Pin Input](https://ark-ui.com/docs/solid/components/pin-input)
29
+ - [Popover](https://ark-ui.com/docs/solid/components/popover)
30
+ - [Pressable](https://ark-ui.com/docs/solid/components/pressable)
31
+ - [Radio Group](https://ark-ui.com/docs/solid/components/radio-group)
32
+ - [Range Slider](https://ark-ui.com/docs/solid/components/range-slider)
33
+ - [Rating Group](https://ark-ui.com/docs/solid/components/rating-group)
34
+ - [Select](https://ark-ui.com/docs/solid/components/select)
35
+ - [Slider](https://ark-ui.com/docs/solid/components/slider)
36
+ - [Splitter](https://ark-ui.com/docs/solid/components/splitter)
37
+ - [Switch](https://ark-ui.com/docs/solid/components/switch)
38
+ - [Tabs](https://ark-ui.com/docs/solid/components/tabs)
39
+ - [Tags Input](https://ark-ui.com/docs/solid/components/tags-input)
40
+ - [Toast](https://ark-ui.com/docs/solid/components/toast)
41
+ - [Tooltip](https://ark-ui.com/docs/solid/components/tooltip)
42
+
43
+ ## Installation
44
+
45
+ To install `@ark-ui/solid`, run the following command:
46
+
47
+ ```bash
48
+ npm install @ark-ui/solid
49
+ ```
50
+
51
+ or with yarn:
52
+
53
+ ```bash
54
+ yarn add @ark-ui/solid
55
+ ```
56
+
57
+ ## Usage
58
+
59
+ To use a component from `@ark-ui/solid`, import it and include it in your application:
60
+
61
+ ```tsx
62
+ import {
63
+ Slider,
64
+ SliderControl,
65
+ SliderLabel,
66
+ SliderOutput,
67
+ SliderRange,
68
+ SliderThumb,
69
+ SliderTrack,
70
+ } from '@ark-ui/solid'
71
+ import { createSignal } from 'solid-js'
72
+
73
+ export const MySlider = () => {
74
+ const [value, setValue] = createSignal(30)
75
+
76
+ return (
77
+ <Slider min={-50} max={50} value={value()} onChange={(e) => setValue(e.value)}>
78
+ <SliderLabel>Label</SliderLabel>
79
+ <SliderOutput>{value}</SliderOutput>
80
+ <SliderControl>
81
+ <SliderTrack>
82
+ <SliderRange />
83
+ </SliderTrack>
84
+ <SliderThumb />
85
+ </SliderControl>
86
+ </Slider>
87
+ )
88
+ }
89
+ ```
90
+
91
+ ## Documentation
92
+
93
+ For more detailed documentation and examples, please visit the [official documentation](https://ark-ui.com/).
94
+
95
+ ## Contribution
96
+
97
+ We welcome contributions to `@ark-ui/solid`. Please read our [contributing guidelines](https://github.com/chakra-ui/ark/blob/main/CONTRIBUTING.md) for more information on how to contribute.
98
+
99
+ ## Licence
100
+
101
+ This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/ark/blob/main/LICENSE).
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const web = require('solid-js/web');
6
- const solidJs = require('solid-js');
6
+ const solid = require('@zag-js/solid');
7
7
  const factory = require('../factory.cjs');
8
8
  const accordionContext = require('./accordion-context.cjs');
9
9
  const accordionItemContext = require('./accordion-item-context.cjs');
10
10
 
11
11
  const AccordionContent = props => {
12
- const accordion = accordionContext.useAccordionContext();
13
- const accordionItem = accordionItemContext.useAccordionItemContext();
14
- const mergedProps = () => solidJs.mergeProps(accordion().getContentProps(accordionItem), props);
15
- return web.createComponent(factory.ark.div, web.mergeProps(mergedProps));
12
+ const api = accordionContext.useAccordionContext();
13
+ const itemParams = accordionItemContext.useAccordionItemContext();
14
+ const contentProps = solid.mergeProps(() => api().getContentProps(itemParams), props);
15
+ return web.createComponent(factory.ark.div, contentProps);
16
16
  };
17
17
 
18
18
  exports.AccordionContent = AccordionContent;
@@ -1,14 +1,14 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
2
- import { mergeProps as mergeProps$1 } from 'solid-js';
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
3
  import { ark } from '../factory.mjs';
4
4
  import { useAccordionContext } from './accordion-context.mjs';
5
5
  import { useAccordionItemContext } from './accordion-item-context.mjs';
6
6
 
7
7
  const AccordionContent = props => {
8
- const accordion = useAccordionContext();
9
- const accordionItem = useAccordionItemContext();
10
- const mergedProps = () => mergeProps$1(accordion().getContentProps(accordionItem), props);
11
- return createComponent(ark.div, mergeProps(mergedProps));
8
+ const api = useAccordionContext();
9
+ const itemParams = useAccordionItemContext();
10
+ const contentProps = mergeProps(() => api().getContentProps(itemParams), props);
11
+ return createComponent(ark.div, contentProps);
12
12
  };
13
13
 
14
14
  export { AccordionContent };
@@ -5,8 +5,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const createContext = require('../create-context.cjs');
6
6
 
7
7
  const [AccordionProvider, useAccordionContext] = createContext.createContext({
8
- hookName: 'useAccordionContext',
9
- providerName: '<AccordionProvider />'
8
+ hookName: "useAccordionContext",
9
+ providerName: "<AccordionProvider />"
10
10
  });
11
11
 
12
12
  exports.AccordionProvider = AccordionProvider;
@@ -1,4 +1,4 @@
1
- import type { ItemProps } from '@zag-js/accordion/dist/accordion.types';
1
+ import type { ItemProps, ItemState } from '@zag-js/accordion/dist/accordion.types';
2
2
  import type { Accessor, JSX } from 'solid-js';
3
3
  import type { ContextProviderComponent } from 'solid-js/types/reactive/signal';
4
4
  import { type UseAccordionReturn } from './use-accordion';
@@ -11,11 +11,7 @@ export declare const AccordionProvider: ContextProviderComponent<Accessor<{
11
11
  focusedValue: string | null;
12
12
  value: string | string[] | null;
13
13
  setValue: (value: string | string[]) => void;
14
- getItemState: (props: ItemProps) => {
15
- isOpen: boolean;
16
- isFocused: boolean;
17
- isDisabled: boolean;
18
- };
14
+ getItemState: (props: ItemProps) => ItemState;
19
15
  }>>, useAccordionContext: () => Accessor<{
20
16
  rootProps: JSX.HTMLAttributes<any>;
21
17
  getItemProps(props: ItemProps): JSX.HTMLAttributes<any>;
@@ -24,9 +20,5 @@ export declare const AccordionProvider: ContextProviderComponent<Accessor<{
24
20
  focusedValue: string | null;
25
21
  value: string | string[] | null;
26
22
  setValue: (value: string | string[]) => void;
27
- getItemState: (props: ItemProps) => {
28
- isOpen: boolean;
29
- isFocused: boolean;
30
- isDisabled: boolean;
31
- };
23
+ getItemState: (props: ItemProps) => ItemState;
32
24
  }>;
@@ -1,8 +1,8 @@
1
1
  import { createContext } from '../create-context.mjs';
2
2
 
3
3
  const [AccordionProvider, useAccordionContext] = createContext({
4
- hookName: 'useAccordionContext',
5
- providerName: '<AccordionProvider />'
4
+ hookName: "useAccordionContext",
5
+ providerName: "<AccordionProvider />"
6
6
  });
7
7
 
8
8
  export { AccordionProvider, useAccordionContext };
@@ -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 factory = require('../factory.cjs');
8
9
  const runIfFn = require('../run-if-fn.cjs');
@@ -10,14 +11,17 @@ const accordionContext = require('./accordion-context.cjs');
10
11
  const accordionItemContext = require('./accordion-item-context.cjs');
11
12
 
12
13
  const AccordionItem = props => {
13
- const [itemProps, divProps] = solidJs.splitProps(props, ['value', 'disabled']);
14
- const accordion = accordionContext.useAccordionContext();
15
- const view = () => solidJs.children(() => runIfFn.runIfFn(divProps.children, () => accordion().getItemState(props)));
14
+ const [itemParams, restProps] = solidJs.splitProps(props, ['value', 'disabled']);
15
+ const api = accordionContext.useAccordionContext();
16
+ const itemProps = solid.mergeProps(() => api().getItemProps(itemParams), restProps);
17
+ const getChildren = () => runIfFn.runIfFn(restProps.children, () => api().getItemState(itemParams));
16
18
  return web.createComponent(accordionItemContext.AccordionItemProvider, {
17
- value: itemProps,
19
+ value: itemParams,
18
20
  get children() {
19
- return web.createComponent(factory.ark.div, web.mergeProps(() => accordion().getItemProps(itemProps), divProps, {
20
- children: view
21
+ return web.createComponent(factory.ark.div, web.mergeProps(itemProps, {
22
+ get children() {
23
+ return getChildren();
24
+ }
21
25
  }));
22
26
  }
23
27
  });
@@ -1,6 +1,6 @@
1
- import { type Assign } from '@polymorphic-factory/solid';
2
1
  import { type JSX } from 'solid-js';
3
2
  import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
4
  import { type AccordionContext } from './accordion-context';
5
5
  export type AccordionItemState = () => ReturnType<ReturnType<AccordionContext>['getItemState']>;
6
6
  export type AccordionItemProps = Assign<HTMLArkProps<'div'>, {
@@ -1,19 +1,23 @@
1
- import { createComponent, mergeProps } from 'solid-js/web';
2
- import { splitProps, 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 { ark } from '../factory.mjs';
4
5
  import { runIfFn } from '../run-if-fn.mjs';
5
6
  import { useAccordionContext } from './accordion-context.mjs';
6
7
  import { AccordionItemProvider } from './accordion-item-context.mjs';
7
8
 
8
9
  const AccordionItem = props => {
9
- const [itemProps, divProps] = splitProps(props, ['value', 'disabled']);
10
- const accordion = useAccordionContext();
11
- const view = () => children(() => runIfFn(divProps.children, () => accordion().getItemState(props)));
10
+ const [itemParams, restProps] = splitProps(props, ['value', 'disabled']);
11
+ const api = useAccordionContext();
12
+ const itemProps = mergeProps(() => api().getItemProps(itemParams), restProps);
13
+ const getChildren = () => runIfFn(restProps.children, () => api().getItemState(itemParams));
12
14
  return createComponent(AccordionItemProvider, {
13
- value: itemProps,
15
+ value: itemParams,
14
16
  get children() {
15
- return createComponent(ark.div, mergeProps(() => accordion().getItemProps(itemProps), divProps, {
16
- children: view
17
+ return createComponent(ark.div, mergeProps$1(itemProps, {
18
+ get children() {
19
+ return getChildren();
20
+ }
17
21
  }));
18
22
  }
19
23
  });
@@ -2,24 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const solidJs = require('solid-js');
6
- const spread = require('../spread.cjs');
7
- const ssrSpread = require('../ssr-spread.cjs');
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const factory = require('../factory.cjs');
8
8
  const accordionContext = require('./accordion-context.cjs');
9
9
  const accordionItemContext = require('./accordion-item-context.cjs');
10
10
 
11
11
  const AccordionTrigger = props => {
12
- const accordion = accordionContext.useAccordionContext();
13
- const accordionItem = accordionItemContext.useAccordionItemContext();
14
- const triggerProps = accordion().getTriggerProps(accordionItem);
15
- const getChildren = solidJs.children(() => ssrSpread.ssrSpread(props.children, triggerProps));
16
- solidJs.createEffect(() => {
17
- const children = getChildren();
18
- if (children instanceof HTMLElement) {
19
- spread.spread(children, triggerProps);
20
- }
21
- });
22
- return getChildren();
12
+ const api = accordionContext.useAccordionContext();
13
+ const itemParams = accordionItemContext.useAccordionItemContext();
14
+ const triggerProps = solid.mergeProps(() => api().getTriggerProps(itemParams), props);
15
+ return web.createComponent(factory.ark.button, triggerProps);
23
16
  };
24
17
 
25
18
  exports.AccordionTrigger = AccordionTrigger;
@@ -1,6 +1,4 @@
1
- import type { ResolvedChildren } from 'solid-js/types/reactive/signal';
2
- import { type JSX } from 'solid-js';
3
- export type AccordionTriggerProps = {
4
- children: JSX.Element;
5
- };
6
- export declare const AccordionTrigger: (props: AccordionTriggerProps) => ResolvedChildren;
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type AccordionTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const AccordionTrigger: (props: AccordionTriggerProps) => JSX.Element;
@@ -1,21 +1,14 @@
1
- import { children, createEffect } from 'solid-js';
2
- import { spread } from '../spread.mjs';
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 { useAccordionContext } from './accordion-context.mjs';
5
5
  import { useAccordionItemContext } from './accordion-item-context.mjs';
6
6
 
7
7
  const AccordionTrigger = props => {
8
- const accordion = useAccordionContext();
9
- const accordionItem = useAccordionItemContext();
10
- const triggerProps = accordion().getTriggerProps(accordionItem);
11
- const getChildren = children(() => ssrSpread(props.children, triggerProps));
12
- createEffect(() => {
13
- const children = getChildren();
14
- if (children instanceof HTMLElement) {
15
- spread(children, triggerProps);
16
- }
17
- });
18
- return getChildren();
8
+ const api = useAccordionContext();
9
+ const itemParams = useAccordionItemContext();
10
+ const triggerProps = mergeProps(() => api().getTriggerProps(itemParams), props);
11
+ return createComponent(ark.button, triggerProps);
19
12
  };
20
13
 
21
14
  export { AccordionTrigger };
@@ -3,18 +3,20 @@
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 accordionContext = require('./accordion-context.cjs');
9
10
  const useAccordion = require('./use-accordion.cjs');
10
11
 
11
12
  const Accordion = props => {
12
- const [accordionProps, divProps] = createSplitProps.createSplitProps()(props, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onChange', 'value', 'orientation']);
13
- const accordion = useAccordion.useAccordion(accordionProps);
13
+ const [params, localProps] = createSplitProps.createSplitProps()(props, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onChange', 'value', 'orientation']);
14
+ const api = useAccordion.useAccordion(params);
15
+ const rootProps = solid.mergeProps(() => api().rootProps, localProps);
14
16
  return web.createComponent(accordionContext.AccordionProvider, {
15
- value: accordion,
17
+ value: api,
16
18
  get children() {
17
- return web.createComponent(factory.ark.div, web.mergeProps(() => accordion().rootProps, divProps));
19
+ return web.createComponent(factory.ark.div, rootProps);
18
20
  }
19
21
  });
20
22
  };
@@ -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 UseAccordionProps } from './use-accordion';
5
5
  export type AccordionProps = Assign<HTMLArkProps<'div'>, UseAccordionProps>;
6
6
  export declare const Accordion: (props: AccordionProps) => JSX.Element;
@@ -1,16 +1,18 @@
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 { AccordionProvider } from './accordion-context.mjs';
5
6
  import { useAccordion } from './use-accordion.mjs';
6
7
 
7
8
  const Accordion = props => {
8
- const [accordionProps, divProps] = createSplitProps()(props, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onChange', 'value', 'orientation']);
9
- const accordion = useAccordion(accordionProps);
9
+ const [params, localProps] = createSplitProps()(props, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onChange', 'value', 'orientation']);
10
+ const api = useAccordion(params);
11
+ const rootProps = mergeProps(() => api().rootProps, localProps);
10
12
  return createComponent(AccordionProvider, {
11
- value: accordion,
13
+ value: api,
12
14
  get children() {
13
- return createComponent(ark.div, mergeProps(() => accordion().rootProps, divProps));
15
+ return createComponent(ark.div, rootProps);
14
16
  }
15
17
  });
16
18
  };
@@ -28,7 +28,7 @@ const accordion__namespace = /*#__PURE__*/_interopNamespaceDefault(accordion);
28
28
 
29
29
  const useAccordion = (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(accordion__namespace.machine(context), { context });
33
33
  return solidJs.createMemo(() => accordion__namespace.connect(state, send, solid.normalizeProps));
34
34
  };
@@ -1,4 +1,3 @@
1
- import type { ItemProps } from '@zag-js/accordion/dist/accordion.types';
2
1
  import type { Accessor, JSX } from 'solid-js';
3
2
  import * as accordion from '@zag-js/accordion';
4
3
  import { type Optional } from '../types';
@@ -6,15 +5,11 @@ export type UseAccordionProps = Optional<accordion.Context, 'id'>;
6
5
  export type UseAccordionReturn = ReturnType<typeof useAccordion>;
7
6
  export declare const useAccordion: (props: UseAccordionProps) => Accessor<{
8
7
  rootProps: JSX.HTMLAttributes<any>;
9
- getItemProps(props: ItemProps): JSX.HTMLAttributes<any>;
10
- getContentProps(props: ItemProps): JSX.HTMLAttributes<any>;
11
- getTriggerProps(props: ItemProps): JSX.ButtonHTMLAttributes<HTMLButtonElement>;
8
+ getItemProps(props: accordion.ItemProps): JSX.HTMLAttributes<any>;
9
+ getContentProps(props: accordion.ItemProps): JSX.HTMLAttributes<any>;
10
+ getTriggerProps(props: accordion.ItemProps): JSX.ButtonHTMLAttributes<HTMLButtonElement>;
12
11
  focusedValue: string | null;
13
12
  value: string | string[] | null;
14
13
  setValue: (value: string | string[]) => void;
15
- getItemState: (props: ItemProps) => {
16
- isOpen: boolean;
17
- isFocused: boolean;
18
- isDisabled: boolean;
19
- };
14
+ getItemState: (props: accordion.ItemProps) => accordion.ItemState;
20
15
  }>;
@@ -1,6 +1,6 @@
1
1
  import * as accordion from '@zag-js/accordion';
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 useAccordion = (props) => {
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const createContext = require('../create-context.cjs');
6
+
7
+ const [CarouselProvider, useCarouselContext] = createContext.createContext({
8
+ hookName: "useCarouselContext",
9
+ providerName: "<CarouselProvider />"
10
+ });
11
+
12
+ exports.CarouselProvider = CarouselProvider;
13
+ exports.useCarouselContext = useCarouselContext;
@@ -0,0 +1,62 @@
1
+ import type { SlideProps } from '@zag-js/carousel/dist/carousel.types';
2
+ import type { Accessor, JSX } from 'solid-js';
3
+ import type { ContextProviderComponent } from 'solid-js/types/reactive/signal';
4
+ import { type UseCarouselReturn } from './use-carousel';
5
+ export type CarouselContext = UseCarouselReturn;
6
+ export declare const CarouselProvider: ContextProviderComponent<Accessor<{
7
+ index: number;
8
+ scrollProgress: number;
9
+ isAutoplay: boolean;
10
+ canScrollNext: boolean;
11
+ canScrollPrev: boolean;
12
+ scrollTo(index: number, jump?: boolean | undefined): void;
13
+ scrollToNext(): void;
14
+ scrollToPrevious(): void;
15
+ getSlideState: (props: SlideProps) => {
16
+ valueText: string;
17
+ isCurrent: boolean;
18
+ isNext: boolean;
19
+ isPrevious: boolean;
20
+ isInView: boolean;
21
+ };
22
+ play(): void;
23
+ pause(): void;
24
+ rootProps: JSX.HTMLAttributes<any>;
25
+ viewportProps: JSX.HTMLAttributes<any>;
26
+ slideGroupProps: JSX.HTMLAttributes<any>;
27
+ getSlideProps(props: SlideProps): JSX.HTMLAttributes<any>;
28
+ prevTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
29
+ nextTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
30
+ indicatorGroupProps: JSX.HTMLAttributes<any>;
31
+ getIndicatorProps(props: {
32
+ index: number;
33
+ }): JSX.ButtonHTMLAttributes<HTMLButtonElement>;
34
+ }>>, useCarouselContext: () => Accessor<{
35
+ index: number;
36
+ scrollProgress: number;
37
+ isAutoplay: boolean;
38
+ canScrollNext: boolean;
39
+ canScrollPrev: boolean;
40
+ scrollTo(index: number, jump?: boolean | undefined): void;
41
+ scrollToNext(): void;
42
+ scrollToPrevious(): void;
43
+ getSlideState: (props: SlideProps) => {
44
+ valueText: string;
45
+ isCurrent: boolean;
46
+ isNext: boolean;
47
+ isPrevious: boolean;
48
+ isInView: boolean;
49
+ };
50
+ play(): void;
51
+ pause(): void;
52
+ rootProps: JSX.HTMLAttributes<any>;
53
+ viewportProps: JSX.HTMLAttributes<any>;
54
+ slideGroupProps: JSX.HTMLAttributes<any>;
55
+ getSlideProps(props: SlideProps): JSX.HTMLAttributes<any>;
56
+ prevTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
57
+ nextTriggerProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
58
+ indicatorGroupProps: JSX.HTMLAttributes<any>;
59
+ getIndicatorProps(props: {
60
+ index: number;
61
+ }): JSX.ButtonHTMLAttributes<HTMLButtonElement>;
62
+ }>;
@@ -0,0 +1,8 @@
1
+ import { createContext } from '../create-context.mjs';
2
+
3
+ const [CarouselProvider, useCarouselContext] = createContext({
4
+ hookName: "useCarouselContext",
5
+ providerName: "<CarouselProvider />"
6
+ });
7
+
8
+ export { CarouselProvider, useCarouselContext };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const factory = require('../factory.cjs');
7
+
8
+ const CarouselControl = props => web.createComponent(factory.ark.div, props);
9
+
10
+ exports.CarouselControl = CarouselControl;
@@ -0,0 +1,4 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type CarouselControlProps = HTMLArkProps<'div'>;
4
+ export declare const CarouselControl: (props: CarouselControlProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { createComponent } from 'solid-js/web';
2
+ import { ark } from '../factory.mjs';
3
+
4
+ const CarouselControl = props => createComponent(ark.div, props);
5
+
6
+ export { CarouselControl };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const factory = require('../factory.cjs');
8
+ const carouselContext = require('./carousel-context.cjs');
9
+
10
+ const CarouselNextSlideTrigger = props => {
11
+ const carousel = carouselContext.useCarouselContext();
12
+ const nextTriggerProps = solid.mergeProps(() => carousel().nextTriggerProps, props);
13
+ return web.createComponent(factory.ark.button, nextTriggerProps);
14
+ };
15
+
16
+ exports.CarouselNextSlideTrigger = CarouselNextSlideTrigger;
@@ -0,0 +1,4 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type CarouselNextSlideTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const CarouselNextSlideTrigger: (props: CarouselNextSlideTriggerProps) => JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { createComponent } from 'solid-js/web';
2
+ import { mergeProps } from '@zag-js/solid';
3
+ import { ark } from '../factory.mjs';
4
+ import { useCarouselContext } from './carousel-context.mjs';
5
+
6
+ const CarouselNextSlideTrigger = props => {
7
+ const carousel = useCarouselContext();
8
+ const nextTriggerProps = mergeProps(() => carousel().nextTriggerProps, props);
9
+ return createComponent(ark.button, nextTriggerProps);
10
+ };
11
+
12
+ export { CarouselNextSlideTrigger };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const web = require('solid-js/web');
6
+ const solid = require('@zag-js/solid');
7
+ const factory = require('../factory.cjs');
8
+ const carouselContext = require('./carousel-context.cjs');
9
+
10
+ const CarouselPrevSlideTrigger = props => {
11
+ const carousel = carouselContext.useCarouselContext();
12
+ const prevTriggerProps = solid.mergeProps(() => carousel().prevTriggerProps, props);
13
+ return web.createComponent(factory.ark.button, prevTriggerProps);
14
+ };
15
+
16
+ exports.CarouselPrevSlideTrigger = CarouselPrevSlideTrigger;
@@ -0,0 +1,4 @@
1
+ import type { JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ export type CarouselPrevSlideTriggerProps = HTMLArkProps<'button'>;
4
+ export declare const CarouselPrevSlideTrigger: (props: CarouselPrevSlideTriggerProps) => JSX.Element;