ui-ingredients 0.0.24 → 0.0.26

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 (413) hide show
  1. package/README.md +3 -3
  2. package/dist/accordion/item-content.svelte +14 -7
  3. package/dist/accordion/item-indicator.svelte +14 -7
  4. package/dist/accordion/item-trigger.svelte +13 -6
  5. package/dist/accordion/item.svelte +11 -6
  6. package/dist/accordion/root.svelte +12 -4
  7. package/dist/avatar/fallback.svelte +14 -7
  8. package/dist/avatar/image.svelte +11 -4
  9. package/dist/avatar/root.svelte +11 -13
  10. package/dist/carousel/indicator-group.svelte +14 -7
  11. package/dist/carousel/indicator.svelte +13 -6
  12. package/dist/carousel/item-group.svelte +14 -7
  13. package/dist/carousel/item.svelte +12 -8
  14. package/dist/carousel/next-trigger.svelte +13 -6
  15. package/dist/carousel/prev-trigger.svelte +13 -6
  16. package/dist/carousel/root.svelte +11 -5
  17. package/dist/carousel/viewport.svelte +14 -7
  18. package/dist/checkbox/control.svelte +14 -7
  19. package/dist/checkbox/hidden-input.svelte +1 -1
  20. package/dist/checkbox/indicator.svelte +14 -7
  21. package/dist/checkbox/label.svelte +14 -7
  22. package/dist/checkbox/root.svelte +12 -4
  23. package/dist/clipboard/control.svelte +14 -7
  24. package/dist/clipboard/indicator.svelte +14 -7
  25. package/dist/clipboard/input.svelte +11 -4
  26. package/dist/clipboard/label.svelte +14 -6
  27. package/dist/clipboard/root.svelte +13 -5
  28. package/dist/clipboard/trigger.svelte +13 -6
  29. package/dist/collapsible/content.svelte +14 -7
  30. package/dist/collapsible/root.svelte +14 -6
  31. package/dist/collapsible/trigger.svelte +13 -6
  32. package/dist/color-picker/area-background.svelte +21 -0
  33. package/dist/color-picker/area-background.svelte.d.ts +18 -0
  34. package/dist/color-picker/area-thumb.svelte +21 -0
  35. package/dist/color-picker/area-thumb.svelte.d.ts +18 -0
  36. package/dist/color-picker/area.svelte +27 -0
  37. package/dist/color-picker/area.svelte.d.ts +18 -0
  38. package/dist/color-picker/channel-input.svelte +28 -0
  39. package/dist/color-picker/channel-input.svelte.d.ts +18 -0
  40. package/dist/color-picker/channel-slider-label.svelte +25 -0
  41. package/dist/color-picker/channel-slider-label.svelte.d.ts +18 -0
  42. package/dist/color-picker/channel-slider-thumb.svelte +23 -0
  43. package/dist/color-picker/channel-slider-thumb.svelte.d.ts +18 -0
  44. package/dist/color-picker/channel-slider-track.svelte +23 -0
  45. package/dist/color-picker/channel-slider-track.svelte.d.ts +18 -0
  46. package/dist/color-picker/channel-slider-value-text.svelte +29 -0
  47. package/dist/color-picker/channel-slider-value-text.svelte.d.ts +18 -0
  48. package/dist/color-picker/channel-slider.svelte +29 -0
  49. package/dist/color-picker/channel-slider.svelte.d.ts +18 -0
  50. package/dist/color-picker/color-picker.d.ts +26 -0
  51. package/dist/color-picker/color-picker.js +26 -0
  52. package/dist/color-picker/content.svelte +20 -0
  53. package/dist/color-picker/content.svelte.d.ts +18 -0
  54. package/dist/color-picker/context.svelte.d.ts +8 -0
  55. package/dist/color-picker/context.svelte.js +6 -0
  56. package/dist/color-picker/control.svelte +20 -0
  57. package/dist/color-picker/control.svelte.d.ts +18 -0
  58. package/dist/color-picker/create-color-picker.svelte.d.ts +9 -0
  59. package/dist/color-picker/create-color-picker.svelte.js +20 -0
  60. package/dist/color-picker/eye-dropper-trigger.svelte +20 -0
  61. package/dist/color-picker/eye-dropper-trigger.svelte.d.ts +18 -0
  62. package/dist/color-picker/format-select.svelte +28 -0
  63. package/dist/color-picker/format-select.svelte.d.ts +18 -0
  64. package/dist/color-picker/format-trigger.svelte +20 -0
  65. package/dist/color-picker/format-trigger.svelte.d.ts +18 -0
  66. package/dist/color-picker/hidden-input.svelte +18 -0
  67. package/dist/color-picker/hidden-input.svelte.d.ts +18 -0
  68. package/dist/color-picker/index.d.ts +26 -0
  69. package/dist/color-picker/index.js +1 -0
  70. package/dist/color-picker/label.svelte +20 -0
  71. package/dist/color-picker/label.svelte.d.ts +18 -0
  72. package/dist/color-picker/positioner.svelte +20 -0
  73. package/dist/color-picker/positioner.svelte.d.ts +18 -0
  74. package/dist/color-picker/root.svelte +75 -0
  75. package/dist/color-picker/root.svelte.d.ts +18 -0
  76. package/dist/color-picker/swatch-group.svelte +20 -0
  77. package/dist/color-picker/swatch-group.svelte.d.ts +18 -0
  78. package/dist/color-picker/swatch-indicator.svelte +21 -0
  79. package/dist/color-picker/swatch-indicator.svelte.d.ts +18 -0
  80. package/dist/color-picker/swatch-trigger.svelte +31 -0
  81. package/dist/color-picker/swatch-trigger.svelte.d.ts +18 -0
  82. package/dist/color-picker/swatch.svelte +27 -0
  83. package/dist/color-picker/swatch.svelte.d.ts +18 -0
  84. package/dist/color-picker/transparency-grid.svelte +29 -0
  85. package/dist/color-picker/transparency-grid.svelte.d.ts +18 -0
  86. package/dist/color-picker/trigger.svelte +20 -0
  87. package/dist/color-picker/trigger.svelte.d.ts +18 -0
  88. package/dist/color-picker/value-text.svelte +24 -0
  89. package/dist/color-picker/value-text.svelte.d.ts +18 -0
  90. package/dist/combobox/clear-trigger.svelte +13 -6
  91. package/dist/combobox/content.svelte +14 -7
  92. package/dist/combobox/control.svelte +14 -7
  93. package/dist/combobox/input.svelte +11 -4
  94. package/dist/combobox/item-group-label.svelte +14 -7
  95. package/dist/combobox/item-group.svelte +14 -8
  96. package/dist/combobox/item-indicator.svelte +14 -7
  97. package/dist/combobox/item-text.svelte +18 -11
  98. package/dist/combobox/item.svelte +11 -6
  99. package/dist/combobox/label.svelte +13 -6
  100. package/dist/combobox/list.svelte +14 -7
  101. package/dist/combobox/positioner.svelte +14 -7
  102. package/dist/combobox/root.svelte +11 -5
  103. package/dist/combobox/trigger.svelte +13 -6
  104. package/dist/date-picker/clear-trigger.svelte +13 -6
  105. package/dist/date-picker/content.svelte +14 -7
  106. package/dist/date-picker/control.svelte +14 -7
  107. package/dist/date-picker/create-date-picker.svelte.d.ts +2 -0
  108. package/dist/date-picker/create-date-picker.svelte.js +11 -1
  109. package/dist/date-picker/date-picker.d.ts +1 -0
  110. package/dist/date-picker/date-picker.js +1 -0
  111. package/dist/date-picker/day-table-cell-trigger.svelte +13 -6
  112. package/dist/date-picker/day-table-cell.svelte +12 -13
  113. package/dist/date-picker/index.d.ts +1 -0
  114. package/dist/date-picker/input.svelte +11 -4
  115. package/dist/date-picker/label.svelte +13 -6
  116. package/dist/date-picker/month-select.svelte +19 -12
  117. package/dist/date-picker/month-table-cell-trigger.svelte +13 -6
  118. package/dist/date-picker/month-table-cell.svelte +12 -13
  119. package/dist/date-picker/next-trigger.svelte +13 -6
  120. package/dist/date-picker/positioner.svelte +14 -7
  121. package/dist/date-picker/preset-trigger.svelte +14 -6
  122. package/dist/date-picker/prev-trigger.svelte +13 -6
  123. package/dist/date-picker/range-text.svelte +18 -11
  124. package/dist/date-picker/root.svelte +13 -5
  125. package/dist/date-picker/table-body.svelte +14 -7
  126. package/dist/date-picker/table-head.svelte +14 -7
  127. package/dist/date-picker/table-header.svelte +14 -7
  128. package/dist/date-picker/table-row.svelte +14 -7
  129. package/dist/date-picker/table.svelte +14 -8
  130. package/dist/date-picker/trigger.svelte +13 -6
  131. package/dist/date-picker/view-control.svelte +14 -7
  132. package/dist/date-picker/view-trigger.svelte +28 -0
  133. package/dist/date-picker/view-trigger.svelte.d.ts +18 -0
  134. package/dist/date-picker/view.svelte +22 -9
  135. package/dist/date-picker/year-select.svelte +19 -12
  136. package/dist/date-picker/year-table-cell-trigger.svelte +13 -6
  137. package/dist/date-picker/year-table-cell.svelte +12 -13
  138. package/dist/dialog/backdrop.svelte +14 -7
  139. package/dist/dialog/close-trigger.svelte +13 -6
  140. package/dist/dialog/content.svelte +14 -7
  141. package/dist/dialog/description.svelte +14 -7
  142. package/dist/dialog/positioner.svelte +14 -7
  143. package/dist/dialog/title.svelte +14 -7
  144. package/dist/dialog/trigger.svelte +13 -6
  145. package/dist/editable/area.svelte +14 -7
  146. package/dist/editable/cancel-trigger.svelte +13 -6
  147. package/dist/editable/control.svelte +14 -7
  148. package/dist/editable/edit-trigger.svelte +13 -6
  149. package/dist/editable/input.svelte +11 -4
  150. package/dist/editable/label.svelte +13 -6
  151. package/dist/editable/preview.svelte +18 -11
  152. package/dist/editable/submit-trigger.svelte +13 -6
  153. package/dist/file-upload/dropzone.svelte +14 -7
  154. package/dist/file-upload/hidden-input.svelte +1 -1
  155. package/dist/file-upload/item-delete-trigger.svelte +13 -6
  156. package/dist/file-upload/item-group.svelte +14 -7
  157. package/dist/file-upload/item-name.svelte +18 -11
  158. package/dist/file-upload/item-preview-image.svelte +11 -4
  159. package/dist/file-upload/item-preview.svelte +14 -7
  160. package/dist/file-upload/item-size-text.svelte +18 -11
  161. package/dist/file-upload/item.svelte +14 -7
  162. package/dist/file-upload/label.svelte +13 -6
  163. package/dist/file-upload/root.svelte +1 -1
  164. package/dist/file-upload/trigger.svelte +13 -6
  165. package/dist/hover-card/arrow-tip.svelte +14 -7
  166. package/dist/hover-card/arrow.svelte +14 -7
  167. package/dist/hover-card/content.svelte +14 -7
  168. package/dist/hover-card/positioner.svelte +14 -7
  169. package/dist/hover-card/trigger.svelte +14 -7
  170. package/dist/index.d.ts +4 -0
  171. package/dist/index.js +4 -0
  172. package/dist/menu/arrow-tip.svelte +14 -7
  173. package/dist/menu/arrow.svelte +14 -7
  174. package/dist/menu/content.svelte +14 -7
  175. package/dist/menu/context-trigger.svelte +13 -6
  176. package/dist/menu/indicator.svelte +14 -7
  177. package/dist/menu/item-group-label.svelte +14 -7
  178. package/dist/menu/item-group.svelte +15 -9
  179. package/dist/menu/item.svelte +1 -1
  180. package/dist/menu/option-item-indicator.svelte +14 -7
  181. package/dist/menu/option-item-text.svelte +18 -11
  182. package/dist/menu/option-item.svelte +11 -5
  183. package/dist/menu/positioner.svelte +14 -7
  184. package/dist/menu/separator.svelte +14 -7
  185. package/dist/menu/trigger-item.svelte +14 -7
  186. package/dist/menu/trigger.svelte +14 -7
  187. package/dist/number-input/control.svelte +14 -7
  188. package/dist/number-input/decrement-trigger.svelte +13 -6
  189. package/dist/number-input/increment-trigger.svelte +14 -7
  190. package/dist/number-input/input.svelte +11 -4
  191. package/dist/number-input/label.svelte +13 -6
  192. package/dist/number-input/root.svelte +13 -5
  193. package/dist/number-input/scrubber.svelte +14 -7
  194. package/dist/pagination/ellipsis.svelte +14 -7
  195. package/dist/pagination/item.svelte +13 -6
  196. package/dist/pagination/next-trigger.svelte +13 -6
  197. package/dist/pagination/prev-trigger.svelte +13 -6
  198. package/dist/pagination/root.svelte +13 -5
  199. package/dist/pin-input/anatomy.js +3 -0
  200. package/dist/pin-input/clear-trigger.svelte +18 -12
  201. package/dist/pin-input/create-pin-input.svelte.d.ts +2 -0
  202. package/dist/pin-input/create-pin-input.svelte.js +13 -1
  203. package/dist/pin-input/hidden-input.svelte +1 -1
  204. package/dist/pin-input/input.svelte +11 -4
  205. package/dist/pin-input/label.svelte +13 -6
  206. package/dist/pin-input/pin-input.d.ts +1 -1
  207. package/dist/pin-input/pin-input.js +1 -1
  208. package/dist/pin-input/root.svelte +11 -5
  209. package/dist/popover/arrow-tip.svelte +14 -7
  210. package/dist/popover/arrow.svelte +14 -7
  211. package/dist/popover/close-trigger.svelte +13 -6
  212. package/dist/popover/content.svelte +14 -7
  213. package/dist/popover/description.svelte +14 -7
  214. package/dist/popover/positioner.svelte +14 -7
  215. package/dist/popover/title.svelte +14 -7
  216. package/dist/popover/trigger.svelte +13 -6
  217. package/dist/presence/context.svelte.d.ts +3 -0
  218. package/dist/presence/context.svelte.js +2 -0
  219. package/dist/presence/create-presence.svelte.d.ts +11 -4
  220. package/dist/presence/create-presence.svelte.js +19 -3
  221. package/dist/presence/root.svelte +9 -9
  222. package/dist/presence/root.svelte.d.ts +1 -1
  223. package/dist/progress/circle-range.svelte +13 -6
  224. package/dist/progress/circle-track.svelte +13 -6
  225. package/dist/progress/circle.svelte +13 -6
  226. package/dist/progress/index.d.ts +1 -0
  227. package/dist/progress/label.svelte +14 -7
  228. package/dist/progress/progress.d.ts +1 -0
  229. package/dist/progress/progress.js +1 -0
  230. package/dist/progress/range.svelte +14 -7
  231. package/dist/progress/root.svelte +11 -5
  232. package/dist/progress/track.svelte +14 -7
  233. package/dist/progress/value-text.svelte +18 -11
  234. package/dist/progress/view.svelte +28 -0
  235. package/dist/progress/view.svelte.d.ts +18 -0
  236. package/dist/qr-code/frame.svelte +13 -6
  237. package/dist/qr-code/overlay.svelte +14 -7
  238. package/dist/qr-code/pattern.svelte +13 -6
  239. package/dist/qr-code/root.svelte +11 -5
  240. package/dist/radio-group/indicator.svelte +14 -7
  241. package/dist/radio-group/item-control.svelte +14 -7
  242. package/dist/radio-group/item-hidden-input.svelte +1 -1
  243. package/dist/radio-group/item-text.svelte +14 -7
  244. package/dist/radio-group/item.svelte +10 -12
  245. package/dist/radio-group/label.svelte +14 -7
  246. package/dist/radio-group/root.svelte +13 -5
  247. package/dist/rating-group/control.svelte +16 -9
  248. package/dist/rating-group/hidden-input.svelte +1 -1
  249. package/dist/rating-group/item.svelte +14 -9
  250. package/dist/rating-group/label.svelte +15 -8
  251. package/dist/rating-group/root.svelte +17 -9
  252. package/dist/segment-group/indicator.svelte +14 -8
  253. package/dist/segment-group/item-control.svelte +15 -8
  254. package/dist/segment-group/item-hidden-input.svelte +1 -1
  255. package/dist/segment-group/item-text.svelte +14 -8
  256. package/dist/segment-group/item.svelte +10 -5
  257. package/dist/segment-group/label.svelte +14 -8
  258. package/dist/segment-group/root.svelte +13 -6
  259. package/dist/select/clear-trigger.svelte +13 -6
  260. package/dist/select/content.svelte +14 -7
  261. package/dist/select/control.svelte +14 -7
  262. package/dist/select/hidden-select.svelte +1 -1
  263. package/dist/select/indicator.svelte +14 -7
  264. package/dist/select/item-group-label.svelte +14 -7
  265. package/dist/select/item-group.svelte +14 -8
  266. package/dist/select/item-indicator.svelte +14 -7
  267. package/dist/select/item-text.svelte +18 -11
  268. package/dist/select/item.svelte +11 -6
  269. package/dist/select/label.svelte +13 -6
  270. package/dist/select/list.svelte +14 -7
  271. package/dist/select/positioner.svelte +14 -7
  272. package/dist/select/root.svelte +12 -6
  273. package/dist/select/trigger.svelte +13 -6
  274. package/dist/select/value-text.svelte +20 -13
  275. package/dist/signature-pad/clear-trigger.svelte +14 -7
  276. package/dist/signature-pad/control.svelte +14 -7
  277. package/dist/signature-pad/current-segment-path.svelte +13 -6
  278. package/dist/signature-pad/guide.svelte +14 -7
  279. package/dist/signature-pad/hidden-input.svelte +1 -1
  280. package/dist/signature-pad/label.svelte +13 -6
  281. package/dist/signature-pad/root.svelte +13 -5
  282. package/dist/signature-pad/segment-path.svelte +13 -6
  283. package/dist/signature-pad/segment.svelte +13 -6
  284. package/dist/slider/control.svelte +14 -7
  285. package/dist/slider/hidden-input.svelte +1 -1
  286. package/dist/slider/label.svelte +13 -6
  287. package/dist/slider/marker-group.svelte +14 -7
  288. package/dist/slider/marker.svelte +14 -7
  289. package/dist/slider/range.svelte +14 -7
  290. package/dist/slider/root.svelte +11 -5
  291. package/dist/slider/thumb.svelte +14 -7
  292. package/dist/slider/track.svelte +14 -7
  293. package/dist/slider/value-text.svelte +18 -11
  294. package/dist/splitter/context.svelte.d.ts +3 -0
  295. package/dist/splitter/context.svelte.js +2 -0
  296. package/dist/splitter/create-splitter.svelte.d.ts +7 -0
  297. package/dist/splitter/create-splitter.svelte.js +17 -0
  298. package/dist/splitter/index.d.ts +4 -0
  299. package/dist/splitter/index.js +1 -0
  300. package/dist/splitter/panel.svelte +36 -0
  301. package/dist/splitter/panel.svelte.d.ts +18 -0
  302. package/dist/splitter/resize-trigger.svelte +46 -0
  303. package/dist/splitter/resize-trigger.svelte.d.ts +18 -0
  304. package/dist/splitter/root.svelte +50 -0
  305. package/dist/splitter/root.svelte.d.ts +18 -0
  306. package/dist/splitter/splitter.d.ts +4 -0
  307. package/dist/splitter/splitter.js +4 -0
  308. package/dist/steps/completed-content.svelte +14 -7
  309. package/dist/steps/content.svelte +14 -7
  310. package/dist/steps/indicator.svelte +14 -7
  311. package/dist/steps/item.svelte +11 -6
  312. package/dist/steps/list.svelte +15 -7
  313. package/dist/steps/next-trigger.svelte +13 -6
  314. package/dist/steps/prev-trigger.svelte +13 -6
  315. package/dist/steps/progress.svelte +14 -7
  316. package/dist/steps/root.svelte +12 -6
  317. package/dist/steps/separator.svelte +14 -7
  318. package/dist/steps/trigger.svelte +13 -6
  319. package/dist/switch/control.svelte +14 -7
  320. package/dist/switch/hidden-input.svelte +1 -1
  321. package/dist/switch/label.svelte +14 -7
  322. package/dist/switch/root.svelte +10 -4
  323. package/dist/switch/thumb.svelte +14 -7
  324. package/dist/tabs/content.svelte +14 -7
  325. package/dist/tabs/list.svelte +14 -7
  326. package/dist/tabs/root.svelte +12 -6
  327. package/dist/tabs/trigger.svelte +13 -6
  328. package/dist/tags-input/clear-trigger.svelte +13 -6
  329. package/dist/tags-input/control.svelte +14 -7
  330. package/dist/tags-input/hidden-input.svelte +1 -1
  331. package/dist/tags-input/input.svelte +11 -4
  332. package/dist/tags-input/item-delete-trigger.svelte +13 -6
  333. package/dist/tags-input/item-input.svelte +12 -4
  334. package/dist/tags-input/item-preview.svelte +14 -7
  335. package/dist/tags-input/item-text.svelte +14 -7
  336. package/dist/tags-input/item.svelte +11 -13
  337. package/dist/tags-input/label.svelte +13 -6
  338. package/dist/tags-input/root.svelte +14 -6
  339. package/dist/time-picker/clear-trigger.svelte +27 -0
  340. package/dist/time-picker/clear-trigger.svelte.d.ts +18 -0
  341. package/dist/time-picker/column.svelte +28 -0
  342. package/dist/time-picker/column.svelte.d.ts +18 -0
  343. package/dist/time-picker/content.svelte +27 -0
  344. package/dist/time-picker/content.svelte.d.ts +18 -0
  345. package/dist/time-picker/context.svelte.d.ts +3 -0
  346. package/dist/time-picker/context.svelte.js +2 -0
  347. package/dist/time-picker/control.svelte +27 -0
  348. package/dist/time-picker/control.svelte.d.ts +18 -0
  349. package/dist/time-picker/create-time-picker.svelte.d.ts +8 -0
  350. package/dist/time-picker/create-time-picker.svelte.js +20 -0
  351. package/dist/time-picker/hour-cell.svelte +28 -0
  352. package/dist/time-picker/hour-cell.svelte.d.ts +18 -0
  353. package/dist/time-picker/index.d.ts +15 -0
  354. package/dist/time-picker/index.js +1 -0
  355. package/dist/time-picker/input.svelte +25 -0
  356. package/dist/time-picker/input.svelte.d.ts +18 -0
  357. package/dist/time-picker/label.svelte +27 -0
  358. package/dist/time-picker/label.svelte.d.ts +18 -0
  359. package/dist/time-picker/minute-cell.svelte +28 -0
  360. package/dist/time-picker/minute-cell.svelte.d.ts +18 -0
  361. package/dist/time-picker/period-cell.svelte +36 -0
  362. package/dist/time-picker/period-cell.svelte.d.ts +18 -0
  363. package/dist/time-picker/positioner.svelte +27 -0
  364. package/dist/time-picker/positioner.svelte.d.ts +18 -0
  365. package/dist/time-picker/root.svelte +78 -0
  366. package/dist/time-picker/root.svelte.d.ts +18 -0
  367. package/dist/time-picker/second-cell.svelte +28 -0
  368. package/dist/time-picker/second-cell.svelte.d.ts +18 -0
  369. package/dist/time-picker/spacer.svelte +27 -0
  370. package/dist/time-picker/spacer.svelte.d.ts +18 -0
  371. package/dist/time-picker/time-picker.d.ts +15 -0
  372. package/dist/time-picker/time-picker.js +15 -0
  373. package/dist/time-picker/trigger.svelte +27 -0
  374. package/dist/time-picker/trigger.svelte.d.ts +18 -0
  375. package/dist/timer/action-trigger.svelte +13 -7
  376. package/dist/timer/item-label.svelte +14 -7
  377. package/dist/timer/item-value.svelte +18 -11
  378. package/dist/timer/item.svelte +14 -7
  379. package/dist/timer/root.svelte +11 -5
  380. package/dist/timer/separator.svelte +14 -7
  381. package/dist/toast/action-trigger.svelte +13 -6
  382. package/dist/toast/actor.svelte +6 -6
  383. package/dist/toast/actor.svelte.d.ts +3 -3
  384. package/dist/toast/close-trigger.svelte +13 -6
  385. package/dist/toast/description.svelte +18 -11
  386. package/dist/toast/root.svelte +16 -14
  387. package/dist/toast/title.svelte +18 -11
  388. package/dist/toast/toaster.svelte +3 -2
  389. package/dist/toggle-group/item.svelte +10 -5
  390. package/dist/toggle-group/root.svelte +14 -6
  391. package/dist/tooltip/arrow-tip.svelte +14 -7
  392. package/dist/tooltip/arrow.svelte +14 -7
  393. package/dist/tooltip/content.svelte +14 -7
  394. package/dist/tooltip/positioner.svelte +14 -7
  395. package/dist/tooltip/trigger.svelte +13 -6
  396. package/dist/tree-view/branch-content.svelte +14 -7
  397. package/dist/tree-view/branch-control.svelte +14 -7
  398. package/dist/tree-view/branch-indicator.svelte +14 -7
  399. package/dist/tree-view/branch-text.svelte +14 -7
  400. package/dist/tree-view/branch-trigger.svelte +14 -7
  401. package/dist/tree-view/branch.svelte +11 -13
  402. package/dist/tree-view/item-indicator.svelte +14 -7
  403. package/dist/tree-view/item-text.svelte +14 -7
  404. package/dist/tree-view/item.svelte +11 -13
  405. package/dist/tree-view/label.svelte +14 -7
  406. package/dist/tree-view/root.svelte +12 -6
  407. package/dist/tree-view/tree.svelte +14 -7
  408. package/dist/types.d.ts +2 -1
  409. package/dist/utils.svelte.d.ts +2 -5
  410. package/dist/utils.svelte.js +9 -9
  411. package/package.json +4 -3
  412. package/dist/color-picker/.gitkeep +0 -0
  413. package/dist/time-picker/.gitkeep +0 -0
package/README.md CHANGED
@@ -55,7 +55,7 @@ npm install ui-ingredients
55
55
  - 🟢 PinInput
56
56
  - 🟢 Popover
57
57
  - 🟢 Portal
58
- - Presence
58
+ - 🟡 Presence
59
59
  - 🟢 Progress
60
60
  - 🟢 QRCode
61
61
  - 🟢 RadioGroup
@@ -64,12 +64,12 @@ npm install ui-ingredients
64
64
  - 🟢 SegmentGroup
65
65
  - 🟢 SignaturePad
66
66
  - 🟢 Slider
67
- - Splitter
67
+ - 🟢 Splitter
68
68
  - 🟢 Steps
69
69
  - 🟢 Switch
70
70
  - 🟢 Tabs
71
71
  - 🟢 TagsInput
72
- - 🟡 TimePicker
72
+ - 🟢 TimePicker
73
73
  - 🟢 Timer
74
74
  - 🟢 Toast
75
75
  - 🟢 ToggleGroup
@@ -1,14 +1,17 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface AccordionItemContentProps extends HtmlProps<'div'> {}
5
+ export interface AccordionItemContentProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {accordionContext, accordionItemPropsContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: AccordionItemContentProps = $props();
14
+ let {asChild, children, ...props}: AccordionItemContentProps = $props();
12
15
 
13
16
  let accordion = accordionContext.get();
14
17
  let itemProps = accordionItemPropsContext.get();
@@ -16,6 +19,10 @@
16
19
  let attrs = $derived(mergeProps(props, accordion.getItemContentProps(itemProps)));
17
20
  </script>
18
21
 
19
- <div {...attrs}>
20
- {@render children?.()}
21
- </div>
22
+ {#if asChild}
23
+ {@render asChild(attrs)}
24
+ {:else}
25
+ <div {...attrs}>
26
+ {@render children?.()}
27
+ </div>
28
+ {/if}
@@ -1,14 +1,17 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface AccordionIndicatorProps extends HtmlProps<'span'> {}
5
+ export interface AccordionIndicatorProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {accordionContext, accordionItemPropsContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: AccordionIndicatorProps = $props();
14
+ let {asChild, children, ...props}: AccordionIndicatorProps = $props();
12
15
 
13
16
  let accordion = accordionContext.get();
14
17
  let itemProps = accordionItemPropsContext.get();
@@ -16,6 +19,10 @@
16
19
  let attrs = $derived(mergeProps(props, accordion.getItemIndicatorProps(itemProps)));
17
20
  </script>
18
21
 
19
- <span {...attrs}>
20
- {@render children?.()}
21
- </span>
22
+ {#if asChild}
23
+ {@render asChild(attrs)}
24
+ {:else}
25
+ <div {...attrs}>
26
+ {@render children?.()}
27
+ </div>
28
+ {/if}
@@ -1,14 +1,17 @@
1
1
  <script lang="ts" module>
2
2
  import type {HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface AccordionItemTriggerProps extends HtmlProps<'button'> {}
5
+ export interface AccordionItemTriggerProps extends HtmlProps<'button'> {
6
+ asChild?: Snippet<[attrs: Omit<HtmlProps<'button'>, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {accordionContext, accordionItemPropsContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: AccordionItemTriggerProps = $props();
14
+ let {asChild, children, ...props}: AccordionItemTriggerProps = $props();
12
15
 
13
16
  let accordion = accordionContext.get();
14
17
  let itemProps = accordionItemPropsContext.get();
@@ -16,6 +19,10 @@
16
19
  let attrs = $derived(mergeProps(props, accordion.getItemTriggerProps(itemProps)));
17
20
  </script>
18
21
 
19
- <button type="button" {...attrs}>
20
- {@render children?.()}
21
- </button>
22
+ {#if asChild}
23
+ {@render asChild(attrs)}
24
+ {:else}
25
+ <button type="button" {...attrs}>
26
+ {@render children?.()}
27
+ </button>
28
+ {/if}
@@ -1,19 +1,20 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlProps} from '../types.js';
2
+ import type {Assign, GenericHtmlProps, HtmlProps} from '../types.js';
3
3
  import type {ItemProps, ItemState} from '@zag-js/accordion';
4
4
  import type {Snippet} from 'svelte';
5
5
 
6
6
  export interface AccordionItemProps
7
7
  extends Assign<Omit<HtmlProps<'div'>, 'children'>, ItemProps> {
8
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
8
9
  children?: Snippet<[state: ItemState]>;
9
10
  }
10
11
  </script>
11
12
 
12
13
  <script lang="ts">
13
- import {mergeProps} from '@zag-js/svelte';
14
+ import {mergeProps} from '../utils.svelte.js';
14
15
  import {accordionContext, accordionItemPropsContext} from './context.svelte.js';
15
16
 
16
- let {value, disabled, children, ...props}: AccordionItemProps = $props();
17
+ let {value, disabled, asChild, children, ...props}: AccordionItemProps = $props();
17
18
 
18
19
  let accordion = accordionContext.get();
19
20
  let itemProps = $derived({
@@ -27,6 +28,10 @@
27
28
  accordionItemPropsContext.set(() => itemProps);
28
29
  </script>
29
30
 
30
- <div {...attrs}>
31
- {@render children?.(state)}
32
- </div>
31
+ {#if asChild}
32
+ {@render asChild(attrs)}
33
+ {:else}
34
+ <div {...attrs}>
35
+ {@render children?.(state)}
36
+ </div>
37
+ {/if}
@@ -5,12 +5,15 @@
5
5
 
6
6
  export interface AccordionProps
7
7
  extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateAccordionProps> {
8
+ asChild?: Snippet<
9
+ [attrs: Omit<HtmlProps<'div'>, 'children'>, accordion: CreateAccordionReturn]
10
+ >;
8
11
  children?: Snippet<[accordion: CreateAccordionReturn]>;
9
12
  }
10
13
  </script>
11
14
 
12
15
  <script lang="ts">
13
- import {mergeProps} from '@zag-js/svelte';
16
+ import {mergeProps} from '../utils.svelte.js';
14
17
  import {accordionContext} from './context.svelte.js';
15
18
  import {createAccordion} from './create-accordion.svelte.js';
16
19
 
@@ -24,6 +27,7 @@
24
27
  collapsible,
25
28
  onFocusChange,
26
29
  onValueChange,
30
+ asChild,
27
31
  children,
28
32
  ...props
29
33
  }: AccordionProps = $props();
@@ -45,6 +49,10 @@
45
49
  accordionContext.set(accordion);
46
50
  </script>
47
51
 
48
- <div {...attrs}>
49
- {@render children?.(accordion)}
50
- </div>
52
+ {#if asChild}
53
+ {@render asChild(attrs, accordion)}
54
+ {:else}
55
+ <div {...attrs}>
56
+ {@render children?.(accordion)}
57
+ </div>
58
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface AvatarFallbackProps extends HtmlProps<'div'> {}
5
+ export interface AvatarFallbackProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {avatarContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: AvatarFallbackProps = $props();
14
+ let {asChild, children, ...props}: AvatarFallbackProps = $props();
12
15
 
13
16
  let avatar = avatarContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, avatar.getFallbackProps()));
16
19
  </script>
17
20
 
18
- <div {...attrs}>
19
- {@render children?.()}
20
- </div>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <div {...attrs}>
25
+ {@render children?.()}
26
+ </div>
27
+ {/if}
@@ -1,18 +1,25 @@
1
1
  <script lang="ts" module>
2
2
  import type {HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface AvatarImageProps extends HtmlProps<'img'> {}
5
+ export interface AvatarImageProps extends HtmlProps<'img'> {
6
+ asChild?: Snippet<[attrs: Omit<HtmlProps<'img'>, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {avatarContext} from './context.svelte.js';
10
13
 
11
- let {...props}: AvatarImageProps = $props();
14
+ let {asChild, ...props}: AvatarImageProps = $props();
12
15
 
13
16
  let avatar = avatarContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, avatar.getImageProps()));
16
19
  </script>
17
20
 
18
- <img {...attrs} />
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <img {...attrs} />
25
+ {/if}
@@ -1,27 +1,21 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlProps} from '../types.js';
2
+ import type {Assign, GenericHtmlProps, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import {type CreateAvatarProps, type CreateAvatarReturn} from './create-avatar.svelte.js';
5
5
 
6
6
  export interface AvatarProps
7
7
  extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateAvatarProps> {
8
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>, avatar: CreateAvatarReturn]>;
8
9
  children?: Snippet<[avatar: CreateAvatarReturn]>;
9
10
  }
10
11
  </script>
11
12
 
12
13
  <script lang="ts">
13
- import {mergeProps} from '@zag-js/svelte';
14
+ import {mergeProps} from '../utils.svelte.js';
14
15
  import {avatarContext} from './context.svelte.js';
15
16
  import {createAvatar} from './create-avatar.svelte.js';
16
17
 
17
- let {
18
- /**/
19
- id,
20
- ids,
21
- onStatusChange,
22
- children,
23
- ...props
24
- }: AvatarProps = $props();
18
+ let {id, ids, onStatusChange, asChild, children, ...props}: AvatarProps = $props();
25
19
 
26
20
  let avatar = createAvatar({
27
21
  id,
@@ -34,6 +28,10 @@
34
28
  avatarContext.set(avatar);
35
29
  </script>
36
30
 
37
- <div {...attrs}>
38
- {@render children?.(avatar)}
39
- </div>
31
+ {#if asChild}
32
+ {@render asChild(attrs, avatar)}
33
+ {:else}
34
+ <div {...attrs}>
35
+ {@render children?.(avatar)}
36
+ </div>
37
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CarouselIndicatorGroupProps extends HtmlProps<'div'> {}
5
+ export interface CarouselIndicatorGroupProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {carouselContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CarouselIndicatorGroupProps = $props();
14
+ let {asChild, children, ...props}: CarouselIndicatorGroupProps = $props();
12
15
 
13
16
  let carousel = carouselContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, carousel.getIndicatorGroupProps()));
16
19
  </script>
17
20
 
18
- <div {...attrs}>
19
- {@render children?.()}
20
- </div>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <div {...attrs}>
25
+ {@render children?.()}
26
+ </div>
27
+ {/if}
@@ -1,15 +1,18 @@
1
1
  <script lang="ts" module>
2
2
  import type {Assign, HtmlProps} from '../types.js';
3
3
  import type {IndicatorProps} from '@zag-js/carousel';
4
+ import type {Snippet} from 'svelte';
4
5
 
5
- export interface CarouselIndicatorProps extends Assign<HtmlProps<'button'>, IndicatorProps> {}
6
+ export interface CarouselIndicatorProps extends Assign<HtmlProps<'button'>, IndicatorProps> {
7
+ asChild?: Snippet<[attrs: Omit<HtmlProps<'button'>, 'children'>]>;
8
+ }
6
9
  </script>
7
10
 
8
11
  <script lang="ts">
9
- import {mergeProps} from '@zag-js/svelte';
12
+ import {mergeProps} from '../utils.svelte.js';
10
13
  import {carouselContext} from './context.svelte.js';
11
14
 
12
- let {index, readOnly, children, ...props}: CarouselIndicatorProps = $props();
15
+ let {index, readOnly, asChild, children, ...props}: CarouselIndicatorProps = $props();
13
16
 
14
17
  let carousel = carouselContext.get();
15
18
 
@@ -24,6 +27,10 @@
24
27
  );
25
28
  </script>
26
29
 
27
- <button type="button" {...attrs}>
28
- {@render children?.()}
29
- </button>
30
+ {#if asChild}
31
+ {@render asChild(attrs)}
32
+ {:else}
33
+ <button type="button" {...attrs}>
34
+ {@render children?.()}
35
+ </button>
36
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CarouselItemGroupProps extends HtmlProps<'div'> {}
5
+ export interface CarouselItemGroupProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {carouselContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CarouselItemGroupProps = $props();
14
+ let {asChild, children, ...props}: CarouselItemGroupProps = $props();
12
15
 
13
16
  let carousel = carouselContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, carousel.getItemGroupProps()));
16
19
  </script>
17
20
 
18
- <div {...attrs}>
19
- {@render children?.()}
20
- </div>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <div {...attrs}>
25
+ {@render children?.()}
26
+ </div>
27
+ {/if}
@@ -1,19 +1,19 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlProps} from '../types.js';
2
+ import type {Assign, GenericHtmlProps, HtmlProps} from '../types.js';
3
3
  import type {ItemProps, ItemState} from '@zag-js/carousel';
4
4
  import type {Snippet} from 'svelte';
5
5
 
6
- export interface CarouselItemProps
7
- extends Assign<Omit<HtmlProps<'button'>, 'children'>, ItemProps> {
6
+ export interface CarouselItemProps extends Assign<Omit<HtmlProps<'div'>, 'children'>, ItemProps> {
7
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>, state: ItemState]>;
8
8
  children?: Snippet<[state: ItemState]>;
9
9
  }
10
10
  </script>
11
11
 
12
12
  <script lang="ts">
13
- import {mergeProps} from '@zag-js/svelte';
13
+ import {mergeProps} from '../utils.svelte.js';
14
14
  import {carouselContext} from './context.svelte.js';
15
15
 
16
- let {index, children, ...props}: CarouselItemProps = $props();
16
+ let {index, asChild, children, ...props}: CarouselItemProps = $props();
17
17
 
18
18
  let carousel = carouselContext.get();
19
19
 
@@ -21,6 +21,10 @@
21
21
  let attrs = $derived(mergeProps(props, carousel.getItemProps({index})));
22
22
  </script>
23
23
 
24
- <button type="button" {...attrs}>
25
- {@render children?.(state)}
26
- </button>
24
+ {#if asChild}
25
+ {@render asChild(attrs, state)}
26
+ {:else}
27
+ <div {...attrs}>
28
+ {@render children?.(state)}
29
+ </div>
30
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
2
  import type {HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CarouselNextTriggerProps extends HtmlProps<'button'> {}
5
+ export interface CarouselNextTriggerProps extends HtmlProps<'button'> {
6
+ asChild?: Snippet<[attrs: Omit<HtmlProps<'button'>, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {carouselContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CarouselNextTriggerProps = $props();
14
+ let {asChild, children, ...props}: CarouselNextTriggerProps = $props();
12
15
 
13
16
  let carousel = carouselContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, carousel.getNextTriggerProps()));
16
19
  </script>
17
20
 
18
- <button type="button" {...attrs}>
19
- {@render children?.()}
20
- </button>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <button type="button" {...attrs}>
25
+ {@render children?.()}
26
+ </button>
27
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
2
  import type {HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CarouselPrevTriggerProps extends HtmlProps<'button'> {}
5
+ export interface CarouselPrevTriggerProps extends HtmlProps<'button'> {
6
+ asChild?: Snippet<[attrs: Omit<HtmlProps<'button'>, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {carouselContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CarouselPrevTriggerProps = $props();
14
+ let {asChild, children, ...props}: CarouselPrevTriggerProps = $props();
12
15
 
13
16
  let carousel = carouselContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, carousel.getPrevTriggerProps()));
16
19
  </script>
17
20
 
18
- <button type="button" {...attrs}>
19
- {@render children?.()}
20
- </button>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <button type="button" {...attrs}>
25
+ {@render children?.()}
26
+ </button>
27
+ {/if}
@@ -1,16 +1,17 @@
1
1
  <script lang="ts" module>
2
- import type {Assign, HtmlProps} from '../types.js';
2
+ import type {Assign, GenericHtmlProps, HtmlProps} from '../types.js';
3
3
  import type {Snippet} from 'svelte';
4
4
  import type {CreateCarouselProps, CreateCarouselReturn} from './create-carousel.svelte.js';
5
5
 
6
6
  export interface CarouselProps
7
7
  extends Assign<Omit<HtmlProps<'div'>, 'children'>, CreateCarouselProps> {
8
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>, carousel: CreateCarouselReturn]>;
8
9
  children?: Snippet<[carousel: CreateCarouselReturn]>;
9
10
  }
10
11
  </script>
11
12
 
12
13
  <script lang="ts">
13
- import {mergeProps} from '@zag-js/svelte';
14
+ import {mergeProps} from '../utils.svelte.js';
14
15
  import {carouselContext} from './context.svelte.js';
15
16
  import {createCarousel} from './create-carousel.svelte.js';
16
17
 
@@ -24,6 +25,7 @@
24
25
  orientation,
25
26
  slidesPerView,
26
27
  onIndexChange,
28
+ asChild,
27
29
  children,
28
30
  ...props
29
31
  }: CarouselProps = $props();
@@ -45,6 +47,10 @@
45
47
  carouselContext.set(carousel);
46
48
  </script>
47
49
 
48
- <div {...attrs}>
49
- {@render children?.(carousel)}
50
- </div>
50
+ {#if asChild}
51
+ {@render asChild(attrs, carousel)}
52
+ {:else}
53
+ <div {...attrs}>
54
+ {@render children?.(carousel)}
55
+ </div>
56
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CarouselViewportProps extends HtmlProps<'div'> {}
5
+ export interface CarouselViewportProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {carouselContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CarouselViewportProps = $props();
14
+ let {asChild, children, ...props}: CarouselViewportProps = $props();
12
15
 
13
16
  let carousel = carouselContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, carousel.getViewportProps()));
16
19
  </script>
17
20
 
18
- <div {...attrs}>
19
- {@render children?.()}
20
- </div>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <div {...attrs}>
25
+ {@render children?.()}
26
+ </div>
27
+ {/if}
@@ -1,20 +1,27 @@
1
1
  <script lang="ts" module>
2
- import type {HtmlProps} from '../types.js';
2
+ import type {GenericHtmlProps, HtmlProps} from '../types.js';
3
+ import type {Snippet} from 'svelte';
3
4
 
4
- export interface CheckboxControlProps extends HtmlProps<'div'> {}
5
+ export interface CheckboxControlProps extends HtmlProps<'div'> {
6
+ asChild?: Snippet<[attrs: Omit<GenericHtmlProps, 'children'>]>;
7
+ }
5
8
  </script>
6
9
 
7
10
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
11
+ import {mergeProps} from '../utils.svelte.js';
9
12
  import {checkboxContext} from './context.svelte.js';
10
13
 
11
- let {children, ...props}: CheckboxControlProps = $props();
14
+ let {asChild, children, ...props}: CheckboxControlProps = $props();
12
15
 
13
16
  let checkbox = checkboxContext.get();
14
17
 
15
18
  let attrs = $derived(mergeProps(props, checkbox.getControlProps()));
16
19
  </script>
17
20
 
18
- <div {...attrs}>
19
- {@render children?.()}
20
- </div>
21
+ {#if asChild}
22
+ {@render asChild(attrs)}
23
+ {:else}
24
+ <div {...attrs}>
25
+ {@render children?.()}
26
+ </div>
27
+ {/if}
@@ -5,7 +5,7 @@
5
5
  </script>
6
6
 
7
7
  <script lang="ts">
8
- import {mergeProps} from '@zag-js/svelte';
8
+ import {mergeProps} from '../utils.svelte.js';
9
9
  import {checkboxContext} from './context.svelte.js';
10
10
 
11
11
  let {...props}: CheckboxHiddenInputProps = $props();