ui-ingredients 1.9.0 → 1.9.1

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 (433) hide show
  1. package/README.md +49 -49
  2. package/dist/accordion/accordion-item-content.svelte +57 -57
  3. package/dist/accordion/accordion-item-indicator.svelte +35 -35
  4. package/dist/accordion/accordion-item-trigger.svelte +35 -35
  5. package/dist/accordion/accordion-item.svelte +67 -67
  6. package/dist/accordion/accordion-root.svelte +71 -71
  7. package/dist/alert/alert-description.svelte +29 -29
  8. package/dist/alert/alert-indicator.svelte +29 -29
  9. package/dist/alert/alert-root.svelte +51 -51
  10. package/dist/alert/alert-title.svelte +29 -29
  11. package/dist/alert-dialog/alert-dialog-backdrop.svelte +49 -49
  12. package/dist/alert-dialog/alert-dialog-close-trigger.svelte +32 -32
  13. package/dist/alert-dialog/alert-dialog-content.svelte +41 -41
  14. package/dist/alert-dialog/alert-dialog-description.svelte +31 -31
  15. package/dist/alert-dialog/alert-dialog-positioner.svelte +39 -39
  16. package/dist/alert-dialog/alert-dialog-root.svelte +54 -54
  17. package/dist/alert-dialog/alert-dialog-title.svelte +29 -29
  18. package/dist/alert-dialog/alert-dialog-trigger.svelte +29 -29
  19. package/dist/anatomy.d.ts +1 -1
  20. package/dist/anatomy.js +1 -1
  21. package/dist/angle-slider/angle-slider-control.svelte +29 -29
  22. package/dist/angle-slider/angle-slider-hidden-input.svelte +28 -28
  23. package/dist/angle-slider/angle-slider-label.svelte +29 -29
  24. package/dist/angle-slider/angle-slider-marker-group.svelte +31 -31
  25. package/dist/angle-slider/angle-slider-marker.svelte +37 -37
  26. package/dist/angle-slider/angle-slider-root.svelte +63 -63
  27. package/dist/angle-slider/angle-slider-thumb.svelte +29 -29
  28. package/dist/angle-slider/angle-slider-value-text.svelte +35 -35
  29. package/dist/avatar/avatar-fallback.svelte +29 -29
  30. package/dist/avatar/avatar-image.svelte +22 -22
  31. package/dist/avatar/avatar-root.svelte +53 -53
  32. package/dist/breadcrumbs/breadcrumbs-item.svelte +34 -34
  33. package/dist/breadcrumbs/breadcrumbs-link.svelte +42 -42
  34. package/dist/breadcrumbs/breadcrumbs-list.svelte +34 -34
  35. package/dist/breadcrumbs/breadcrumbs-root.svelte +38 -38
  36. package/dist/breadcrumbs/breadcrumbs-separator.svelte +36 -36
  37. package/dist/carousel/carousel-autoplay-trigger.svelte +31 -31
  38. package/dist/carousel/carousel-control.svelte +29 -29
  39. package/dist/carousel/carousel-indicator-group.svelte +31 -31
  40. package/dist/carousel/carousel-indicator.svelte +40 -40
  41. package/dist/carousel/carousel-item-group.svelte +29 -29
  42. package/dist/carousel/carousel-item.svelte +37 -37
  43. package/dist/carousel/carousel-next-trigger.svelte +29 -29
  44. package/dist/carousel/carousel-prev-trigger.svelte +29 -29
  45. package/dist/carousel/carousel-root.svelte +70 -70
  46. package/dist/checkbox/checkbox-control.svelte +29 -29
  47. package/dist/checkbox/checkbox-hidden-input.svelte +26 -26
  48. package/dist/checkbox/checkbox-indicator.svelte +29 -29
  49. package/dist/checkbox/checkbox-label.svelte +29 -29
  50. package/dist/checkbox/checkbox-root.svelte +63 -63
  51. package/dist/clipboard/clipboard-control.svelte +29 -29
  52. package/dist/clipboard/clipboard-indicator.svelte +36 -36
  53. package/dist/clipboard/clipboard-input.svelte +26 -26
  54. package/dist/clipboard/clipboard-label.svelte +29 -29
  55. package/dist/clipboard/clipboard-root.svelte +58 -58
  56. package/dist/clipboard/clipboard-trigger.svelte +29 -29
  57. package/dist/collapsible/collapsible-content.svelte +40 -40
  58. package/dist/collapsible/collapsible-root.svelte +78 -78
  59. package/dist/collapsible/collapsible-trigger.svelte +29 -29
  60. package/dist/color-picker/color-picker-area-background.svelte +35 -35
  61. package/dist/color-picker/color-picker-area-thumb.svelte +35 -35
  62. package/dist/color-picker/color-picker-area.svelte +44 -44
  63. package/dist/color-picker/color-picker-channel-input.svelte +40 -40
  64. package/dist/color-picker/color-picker-channel-slider-label.svelte +35 -35
  65. package/dist/color-picker/color-picker-channel-slider-thumb.svelte +45 -45
  66. package/dist/color-picker/color-picker-channel-slider-track.svelte +45 -45
  67. package/dist/color-picker/color-picker-channel-slider-value-text.svelte +44 -44
  68. package/dist/color-picker/color-picker-channel-slider.svelte +51 -51
  69. package/dist/color-picker/color-picker-content.svelte +40 -40
  70. package/dist/color-picker/color-picker-control.svelte +29 -29
  71. package/dist/color-picker/color-picker-eye-dropper-trigger.svelte +31 -31
  72. package/dist/color-picker/color-picker-format-select.svelte +39 -39
  73. package/dist/color-picker/color-picker-format-trigger.svelte +31 -31
  74. package/dist/color-picker/color-picker-hidden-input.svelte +28 -28
  75. package/dist/color-picker/color-picker-label.svelte +29 -29
  76. package/dist/color-picker/color-picker-positioner.svelte +37 -37
  77. package/dist/color-picker/color-picker-root.svelte +95 -95
  78. package/dist/color-picker/color-picker-swatch-group.svelte +31 -31
  79. package/dist/color-picker/color-picker-swatch-indicator.svelte +35 -35
  80. package/dist/color-picker/color-picker-swatch-trigger.svelte +43 -43
  81. package/dist/color-picker/color-picker-swatch.svelte +44 -44
  82. package/dist/color-picker/color-picker-transparency-grid.svelte +36 -36
  83. package/dist/color-picker/color-picker-trigger.svelte +29 -29
  84. package/dist/color-picker/color-picker-value-swatch.svelte +40 -40
  85. package/dist/color-picker/color-picker-value-text.svelte +35 -35
  86. package/dist/color-picker/color-picker-view.svelte +41 -41
  87. package/dist/combobox/combobox-clear-trigger.svelte +31 -31
  88. package/dist/combobox/combobox-content.svelte +36 -36
  89. package/dist/combobox/combobox-control.svelte +29 -29
  90. package/dist/combobox/combobox-input.svelte +24 -24
  91. package/dist/combobox/combobox-item-group-label.svelte +40 -40
  92. package/dist/combobox/combobox-item-group.svelte +40 -40
  93. package/dist/combobox/combobox-item-indicator.svelte +35 -35
  94. package/dist/combobox/combobox-item-text.svelte +39 -39
  95. package/dist/combobox/combobox-item.svelte +46 -46
  96. package/dist/combobox/combobox-label.svelte +29 -29
  97. package/dist/combobox/combobox-list.svelte +29 -29
  98. package/dist/combobox/combobox-positioner.svelte +39 -39
  99. package/dist/combobox/combobox-root.svelte +110 -110
  100. package/dist/combobox/combobox-trigger.svelte +40 -40
  101. package/dist/date-picker/date-picker-clear-trigger.svelte +31 -31
  102. package/dist/date-picker/date-picker-content.svelte +40 -40
  103. package/dist/date-picker/date-picker-control.svelte +29 -29
  104. package/dist/date-picker/date-picker-day-table-cell-trigger.svelte +35 -35
  105. package/dist/date-picker/date-picker-day-table-cell.svelte +52 -52
  106. package/dist/date-picker/date-picker-input.svelte +38 -38
  107. package/dist/date-picker/date-picker-label.svelte +36 -36
  108. package/dist/date-picker/date-picker-month-select.svelte +40 -40
  109. package/dist/date-picker/date-picker-month-table-cell-trigger.svelte +35 -35
  110. package/dist/date-picker/date-picker-month-table-cell.svelte +50 -50
  111. package/dist/date-picker/date-picker-next-trigger.svelte +35 -35
  112. package/dist/date-picker/date-picker-positioner.svelte +39 -39
  113. package/dist/date-picker/date-picker-preset-trigger.svelte +36 -36
  114. package/dist/date-picker/date-picker-prev-trigger.svelte +35 -35
  115. package/dist/date-picker/date-picker-range-text.svelte +33 -33
  116. package/dist/date-picker/date-picker-root.svelte +104 -104
  117. package/dist/date-picker/date-picker-table-body.svelte +35 -35
  118. package/dist/date-picker/date-picker-table-head.svelte +35 -35
  119. package/dist/date-picker/date-picker-table-header.svelte +35 -35
  120. package/dist/date-picker/date-picker-table-row.svelte +35 -35
  121. package/dist/date-picker/date-picker-table.svelte +45 -45
  122. package/dist/date-picker/date-picker-trigger.svelte +29 -29
  123. package/dist/date-picker/date-picker-view-control.svelte +35 -35
  124. package/dist/date-picker/date-picker-view-trigger.svelte +35 -35
  125. package/dist/date-picker/date-picker-view.svelte +39 -39
  126. package/dist/date-picker/date-picker-year-select.svelte +37 -37
  127. package/dist/date-picker/date-picker-year-table-cell-trigger.svelte +35 -35
  128. package/dist/date-picker/date-picker-year-table-cell.svelte +50 -50
  129. package/dist/dialog/dialog-backdrop.svelte +45 -45
  130. package/dist/dialog/dialog-close-trigger.svelte +29 -29
  131. package/dist/dialog/dialog-content.svelte +36 -36
  132. package/dist/dialog/dialog-description.svelte +29 -29
  133. package/dist/dialog/dialog-positioner.svelte +35 -35
  134. package/dist/dialog/dialog-root.svelte +54 -54
  135. package/dist/dialog/dialog-title.svelte +29 -29
  136. package/dist/dialog/dialog-trigger.svelte +29 -29
  137. package/dist/drawer/drawer-backdrop.svelte +45 -45
  138. package/dist/drawer/drawer-body.svelte +29 -29
  139. package/dist/drawer/drawer-close-trigger.svelte +29 -29
  140. package/dist/drawer/drawer-content.svelte +36 -36
  141. package/dist/drawer/drawer-description.svelte +29 -29
  142. package/dist/drawer/drawer-footer.svelte +29 -29
  143. package/dist/drawer/drawer-header.svelte +29 -29
  144. package/dist/drawer/drawer-positioner.svelte +35 -35
  145. package/dist/drawer/drawer-root.svelte +54 -54
  146. package/dist/drawer/drawer-title.svelte +29 -29
  147. package/dist/drawer/drawer-trigger.svelte +29 -29
  148. package/dist/editable/editable-area.svelte +29 -29
  149. package/dist/editable/editable-cancel-trigger.svelte +31 -31
  150. package/dist/editable/editable-control.svelte +29 -29
  151. package/dist/editable/editable-edit-trigger.svelte +29 -29
  152. package/dist/editable/editable-input.svelte +22 -22
  153. package/dist/editable/editable-label.svelte +29 -29
  154. package/dist/editable/editable-preview.svelte +33 -33
  155. package/dist/editable/editable-root.svelte +78 -78
  156. package/dist/editable/editable-submit-trigger.svelte +31 -31
  157. package/dist/environment-provider/environment-provider.svelte +41 -41
  158. package/dist/field/field-error-text.svelte +49 -49
  159. package/dist/field/field-helper-text.svelte +31 -31
  160. package/dist/field/field-input.svelte +22 -22
  161. package/dist/field/field-label.svelte +29 -29
  162. package/dist/field/field-required-indicator.svelte +35 -35
  163. package/dist/field/field-root.svelte +67 -67
  164. package/dist/field/field-select.svelte +27 -27
  165. package/dist/field/field-textarea.svelte +50 -50
  166. package/dist/file-upload/file-upload-clear-trigger.svelte +31 -31
  167. package/dist/file-upload/file-upload-dropzone.svelte +33 -33
  168. package/dist/file-upload/file-upload-hidden-input.svelte +28 -28
  169. package/dist/file-upload/file-upload-item-delete-trigger.svelte +35 -35
  170. package/dist/file-upload/file-upload-item-group.svelte +29 -29
  171. package/dist/file-upload/file-upload-item-name.svelte +39 -39
  172. package/dist/file-upload/file-upload-item-preview-image.svelte +40 -40
  173. package/dist/file-upload/file-upload-item-preview.svelte +35 -35
  174. package/dist/file-upload/file-upload-item-size-text.svelte +39 -39
  175. package/dist/file-upload/file-upload-item.svelte +42 -42
  176. package/dist/file-upload/file-upload-label.svelte +29 -29
  177. package/dist/file-upload/file-upload-root.svelte +71 -71
  178. package/dist/file-upload/file-upload-trigger.svelte +29 -29
  179. package/dist/floating-panel/floating-panel-body.svelte +29 -29
  180. package/dist/floating-panel/floating-panel-close-trigger.svelte +31 -31
  181. package/dist/floating-panel/floating-panel-content.svelte +40 -40
  182. package/dist/floating-panel/floating-panel-control.svelte +31 -31
  183. package/dist/floating-panel/floating-panel-drag-trigger.svelte +31 -31
  184. package/dist/floating-panel/floating-panel-header.svelte +29 -29
  185. package/dist/floating-panel/floating-panel-positioner.svelte +39 -39
  186. package/dist/floating-panel/floating-panel-resize-trigger.svelte +43 -43
  187. package/dist/floating-panel/floating-panel-root.svelte +50 -50
  188. package/dist/floating-panel/floating-panel-stage-trigger.svelte +44 -44
  189. package/dist/floating-panel/floating-panel-title.svelte +29 -29
  190. package/dist/floating-panel/floating-panel-trigger.svelte +31 -31
  191. package/dist/focus-trap/focus-trap.svelte +104 -104
  192. package/dist/highlight/highlight.svelte +48 -48
  193. package/dist/hover-card/hover-card-arrow-tip.svelte +29 -29
  194. package/dist/hover-card/hover-card-arrow.svelte +29 -29
  195. package/dist/hover-card/hover-card-content.svelte +36 -36
  196. package/dist/hover-card/hover-card-positioner.svelte +39 -39
  197. package/dist/hover-card/hover-card-root.svelte +59 -59
  198. package/dist/hover-card/hover-card-trigger.svelte +29 -29
  199. package/dist/listbox/listbox-content.svelte +29 -29
  200. package/dist/listbox/listbox-input.svelte +39 -39
  201. package/dist/listbox/listbox-item-group-label.svelte +40 -40
  202. package/dist/listbox/listbox-item-group.svelte +39 -39
  203. package/dist/listbox/listbox-item-indicator.svelte +35 -35
  204. package/dist/listbox/listbox-item-text.svelte +35 -35
  205. package/dist/listbox/listbox-item.svelte +47 -47
  206. package/dist/listbox/listbox-label.svelte +29 -29
  207. package/dist/listbox/listbox-root.svelte +70 -70
  208. package/dist/listbox/listbox-value-text.svelte +33 -33
  209. package/dist/locale-provider/locale-provider.svelte +22 -22
  210. package/dist/menu/menu-arrow-tip.svelte +29 -29
  211. package/dist/menu/menu-arrow.svelte +29 -29
  212. package/dist/menu/menu-content.svelte +40 -40
  213. package/dist/menu/menu-context-trigger.svelte +31 -31
  214. package/dist/menu/menu-indicator.svelte +31 -31
  215. package/dist/menu/menu-item-group-label.svelte +38 -38
  216. package/dist/menu/menu-item-group.svelte +40 -40
  217. package/dist/menu/menu-item.svelte +54 -54
  218. package/dist/menu/menu-option-item-indicator.svelte +35 -35
  219. package/dist/menu/menu-option-item-text.svelte +39 -39
  220. package/dist/menu/menu-option-item.svelte +63 -63
  221. package/dist/menu/menu-positioner.svelte +39 -39
  222. package/dist/menu/menu-root.svelte +79 -79
  223. package/dist/menu/menu-separator.svelte +31 -31
  224. package/dist/menu/menu-trigger-item.svelte +29 -29
  225. package/dist/menu/menu-trigger.svelte +29 -29
  226. package/dist/number-input/number-input-control.svelte +29 -29
  227. package/dist/number-input/number-input-decrement-trigger.svelte +31 -31
  228. package/dist/number-input/number-input-increment-trigger.svelte +31 -31
  229. package/dist/number-input/number-input-input.svelte +26 -26
  230. package/dist/number-input/number-input-label.svelte +29 -29
  231. package/dist/number-input/number-input-root.svelte +79 -79
  232. package/dist/number-input/number-input-scrubber.svelte +29 -29
  233. package/dist/number-input/number-input-value-text.svelte +35 -35
  234. package/dist/pagination/pagination-ellipsis.svelte +40 -40
  235. package/dist/pagination/pagination-item.svelte +40 -40
  236. package/dist/pagination/pagination-next-trigger.svelte +31 -31
  237. package/dist/pagination/pagination-prev-trigger.svelte +31 -31
  238. package/dist/pagination/pagination-root.svelte +63 -63
  239. package/dist/password-input/password-input-control.svelte +31 -31
  240. package/dist/password-input/password-input-indicator.svelte +31 -31
  241. package/dist/password-input/password-input-input.svelte +26 -26
  242. package/dist/password-input/password-input-label.svelte +29 -29
  243. package/dist/password-input/password-input-root.svelte +66 -66
  244. package/dist/password-input/password-input-visibility-trigger.svelte +31 -31
  245. package/dist/pin-input/pin-input-control.svelte +29 -29
  246. package/dist/pin-input/pin-input-hidden-input.svelte +26 -26
  247. package/dist/pin-input/pin-input-input.svelte +33 -33
  248. package/dist/pin-input/pin-input-label.svelte +29 -29
  249. package/dist/pin-input/pin-input-root.svelte +73 -73
  250. package/dist/popover/popover-anchor.svelte +29 -29
  251. package/dist/popover/popover-arrow-tip.svelte +29 -29
  252. package/dist/popover/popover-arrow.svelte +29 -29
  253. package/dist/popover/popover-close-trigger.svelte +29 -29
  254. package/dist/popover/popover-content.svelte +36 -36
  255. package/dist/popover/popover-description.svelte +29 -29
  256. package/dist/popover/popover-indicator.svelte +29 -29
  257. package/dist/popover/popover-positioner.svelte +39 -39
  258. package/dist/popover/popover-root.svelte +65 -65
  259. package/dist/popover/popover-title.svelte +29 -29
  260. package/dist/popover/popover-trigger.svelte +29 -29
  261. package/dist/presence/presence.svelte +52 -52
  262. package/dist/progress/progress-circle-range.svelte +30 -30
  263. package/dist/progress/progress-circle-track.svelte +30 -30
  264. package/dist/progress/progress-circle.svelte +30 -30
  265. package/dist/progress/progress-label.svelte +30 -30
  266. package/dist/progress/progress-range.svelte +30 -30
  267. package/dist/progress/progress-root.svelte +62 -62
  268. package/dist/progress/progress-track.svelte +30 -30
  269. package/dist/progress/progress-value-text.svelte +34 -34
  270. package/dist/progress/progress-view.svelte +32 -32
  271. package/dist/qr-code/qr-code-download-trigger.svelte +45 -45
  272. package/dist/qr-code/qr-code-frame.svelte +30 -30
  273. package/dist/qr-code/qr-code-overlay.svelte +30 -30
  274. package/dist/qr-code/qr-code-pattern.svelte +30 -30
  275. package/dist/qr-code/qr-code-root.svelte +58 -58
  276. package/dist/radio-group/radio-group-indicator.svelte +29 -29
  277. package/dist/radio-group/radio-group-item-control.svelte +35 -35
  278. package/dist/radio-group/radio-group-item-hidden-input.svelte +32 -32
  279. package/dist/radio-group/radio-group-item-text.svelte +35 -35
  280. package/dist/radio-group/radio-group-item.svelte +46 -46
  281. package/dist/radio-group/radio-group-label.svelte +29 -29
  282. package/dist/radio-group/radio-group-root.svelte +61 -61
  283. package/dist/rating-group/rating-group-control.svelte +29 -29
  284. package/dist/rating-group/rating-group-hidden-input.svelte +28 -28
  285. package/dist/rating-group/rating-group-item.svelte +37 -37
  286. package/dist/rating-group/rating-group-label.svelte +29 -29
  287. package/dist/rating-group/rating-group-root.svelte +68 -68
  288. package/dist/segment-group/segment-group-indicator.svelte +31 -31
  289. package/dist/segment-group/segment-group-item-control.svelte +35 -35
  290. package/dist/segment-group/segment-group-item-hidden-input.svelte +32 -32
  291. package/dist/segment-group/segment-group-item-text.svelte +35 -35
  292. package/dist/segment-group/segment-group-item.svelte +46 -46
  293. package/dist/segment-group/segment-group-label.svelte +29 -29
  294. package/dist/segment-group/segment-group-root.svelte +63 -63
  295. package/dist/select/select-clear-trigger.svelte +29 -29
  296. package/dist/select/select-content.svelte +36 -36
  297. package/dist/select/select-control.svelte +29 -29
  298. package/dist/select/select-hidden-select.svelte +29 -29
  299. package/dist/select/select-indicator.svelte +29 -29
  300. package/dist/select/select-item-group-label.svelte +38 -38
  301. package/dist/select/select-item-group.svelte +41 -41
  302. package/dist/select/select-item-indicator.svelte +35 -35
  303. package/dist/select/select-item-text.svelte +39 -39
  304. package/dist/select/select-item.svelte +46 -46
  305. package/dist/select/select-label.svelte +29 -29
  306. package/dist/select/select-list.svelte +29 -29
  307. package/dist/select/select-positioner.svelte +35 -35
  308. package/dist/select/select-root.svelte +97 -97
  309. package/dist/select/select-trigger.svelte +31 -31
  310. package/dist/select/select-value-text.svelte +36 -36
  311. package/dist/signature-pad/signature-pad-clear-trigger.svelte +31 -31
  312. package/dist/signature-pad/signature-pad-control.svelte +29 -29
  313. package/dist/signature-pad/signature-pad-current-segment-path.svelte +36 -36
  314. package/dist/signature-pad/signature-pad-guide.svelte +29 -29
  315. package/dist/signature-pad/signature-pad-hidden-input.svelte +33 -33
  316. package/dist/signature-pad/signature-pad-label.svelte +29 -29
  317. package/dist/signature-pad/signature-pad-root.svelte +63 -63
  318. package/dist/signature-pad/signature-pad-segment-path.svelte +36 -36
  319. package/dist/signature-pad/signature-pad-segment.svelte +29 -29
  320. package/dist/slider/slider-control.svelte +29 -29
  321. package/dist/slider/slider-dragging-indicator.svelte +35 -35
  322. package/dist/slider/slider-hidden-input.svelte +32 -32
  323. package/dist/slider/slider-label.svelte +29 -29
  324. package/dist/slider/slider-marker-group.svelte +29 -29
  325. package/dist/slider/slider-marker.svelte +31 -31
  326. package/dist/slider/slider-range.svelte +29 -29
  327. package/dist/slider/slider-root.svelte +74 -74
  328. package/dist/slider/slider-thumb.svelte +42 -42
  329. package/dist/slider/slider-track.svelte +29 -29
  330. package/dist/slider/slider-value-text.svelte +33 -33
  331. package/dist/splitter/splitter-panel.svelte +37 -37
  332. package/dist/splitter/splitter-resize-trigger.svelte +40 -40
  333. package/dist/splitter/splitter-root.svelte +64 -64
  334. package/dist/steps/steps-completed-content.svelte +50 -50
  335. package/dist/steps/steps-content.svelte +54 -54
  336. package/dist/steps/steps-indicator.svelte +35 -35
  337. package/dist/steps/steps-item.svelte +46 -46
  338. package/dist/steps/steps-list.svelte +29 -29
  339. package/dist/steps/steps-next-trigger.svelte +29 -29
  340. package/dist/steps/steps-prev-trigger.svelte +29 -29
  341. package/dist/steps/steps-progress.svelte +29 -29
  342. package/dist/steps/steps-root.svelte +70 -70
  343. package/dist/steps/steps-separator.svelte +35 -35
  344. package/dist/steps/steps-trigger.svelte +35 -35
  345. package/dist/switch/switch-control.svelte +29 -29
  346. package/dist/switch/switch-hidden-input.svelte +26 -26
  347. package/dist/switch/switch-label.svelte +29 -29
  348. package/dist/switch/switch-root.svelte +64 -64
  349. package/dist/switch/switch-thumb.svelte +29 -29
  350. package/dist/tabs/tabs-content.svelte +37 -37
  351. package/dist/tabs/tabs-indicator.svelte +29 -29
  352. package/dist/tabs/tabs-list.svelte +29 -29
  353. package/dist/tabs/tabs-root.svelte +62 -62
  354. package/dist/tabs/tabs-trigger.svelte +47 -47
  355. package/dist/tags-input/tags-input-clear-trigger.svelte +31 -31
  356. package/dist/tags-input/tags-input-control.svelte +29 -29
  357. package/dist/tags-input/tags-input-hidden-input.svelte +28 -28
  358. package/dist/tags-input/tags-input-input.svelte +26 -26
  359. package/dist/tags-input/tags-input-item-delete-trigger.svelte +35 -35
  360. package/dist/tags-input/tags-input-item-input.svelte +32 -32
  361. package/dist/tags-input/tags-input-item-preview.svelte +35 -35
  362. package/dist/tags-input/tags-input-item-text.svelte +35 -35
  363. package/dist/tags-input/tags-input-item.svelte +46 -46
  364. package/dist/tags-input/tags-input-label.svelte +29 -29
  365. package/dist/tags-input/tags-input-root.svelte +80 -80
  366. package/dist/time-picker/time-picker-clear-trigger.svelte +31 -31
  367. package/dist/time-picker/time-picker-column.svelte +33 -33
  368. package/dist/time-picker/time-picker-content.svelte +38 -38
  369. package/dist/time-picker/time-picker-control.svelte +29 -29
  370. package/dist/time-picker/time-picker-hour-cell.svelte +33 -33
  371. package/dist/time-picker/time-picker-input.svelte +26 -26
  372. package/dist/time-picker/time-picker-label.svelte +29 -29
  373. package/dist/time-picker/time-picker-minute-cell.svelte +33 -33
  374. package/dist/time-picker/time-picker-period-cell.svelte +36 -36
  375. package/dist/time-picker/time-picker-positioner.svelte +37 -37
  376. package/dist/time-picker/time-picker-root.svelte +89 -89
  377. package/dist/time-picker/time-picker-second-cell.svelte +33 -33
  378. package/dist/time-picker/time-picker-spacer.svelte +29 -29
  379. package/dist/time-picker/time-picker-trigger.svelte +29 -29
  380. package/dist/timer/timer-action-trigger.svelte +36 -36
  381. package/dist/timer/timer-area.svelte +29 -29
  382. package/dist/timer/timer-control.svelte +29 -29
  383. package/dist/timer/timer-item-label.svelte +35 -35
  384. package/dist/timer/timer-item-value.svelte +39 -39
  385. package/dist/timer/timer-item.svelte +42 -42
  386. package/dist/timer/timer-root.svelte +60 -60
  387. package/dist/timer/timer-separator.svelte +29 -29
  388. package/dist/toast/toast-action-trigger.svelte +29 -29
  389. package/dist/toast/toast-close-trigger.svelte +29 -29
  390. package/dist/toast/toast-description.svelte +33 -33
  391. package/dist/toast/toast-ghost-after.svelte +29 -29
  392. package/dist/toast/toast-ghost-before.svelte +29 -29
  393. package/dist/toast/toast-provider.svelte +27 -27
  394. package/dist/toast/toast-root.svelte +32 -32
  395. package/dist/toast/toast-title.svelte +33 -33
  396. package/dist/toast/toaster.svelte +47 -47
  397. package/dist/toggle/toggle-indicator.svelte +29 -29
  398. package/dist/toggle/toggle-root.svelte +50 -50
  399. package/dist/toggle-group/toggle-group-item.svelte +41 -41
  400. package/dist/toggle-group/toggle-group-root.svelte +64 -64
  401. package/dist/tooltip/tooltip-arrow-tip.svelte +29 -29
  402. package/dist/tooltip/tooltip-arrow.svelte +29 -29
  403. package/dist/tooltip/tooltip-content.svelte +36 -36
  404. package/dist/tooltip/tooltip-positioner.svelte +39 -39
  405. package/dist/tooltip/tooltip-root.svelte +50 -50
  406. package/dist/tooltip/tooltip-trigger.svelte +29 -29
  407. package/dist/tour/tour-action-trigger.svelte +38 -38
  408. package/dist/tour/tour-arrow-tip.svelte +31 -31
  409. package/dist/tour/tour-arrow.svelte +31 -31
  410. package/dist/tour/tour-backdrop.svelte +44 -44
  411. package/dist/tour/tour-close-trigger.svelte +29 -29
  412. package/dist/tour/tour-content.svelte +35 -35
  413. package/dist/tour/tour-description.svelte +33 -33
  414. package/dist/tour/tour-positioner.svelte +35 -35
  415. package/dist/tour/tour-progress-text.svelte +33 -33
  416. package/dist/tour/tour-root.svelte +52 -52
  417. package/dist/tour/tour-spotlight.svelte +29 -29
  418. package/dist/tour/tour-title.svelte +33 -33
  419. package/dist/tour/tour-trigger.svelte +29 -29
  420. package/dist/tree-view/tree-view-branch-content.svelte +57 -57
  421. package/dist/tree-view/tree-view-branch-control.svelte +35 -35
  422. package/dist/tree-view/tree-view-branch-indent-guide.svelte +35 -35
  423. package/dist/tree-view/tree-view-branch-indicator.svelte +35 -35
  424. package/dist/tree-view/tree-view-branch-text.svelte +35 -35
  425. package/dist/tree-view/tree-view-branch-trigger.svelte +35 -35
  426. package/dist/tree-view/tree-view-branch.svelte +66 -66
  427. package/dist/tree-view/tree-view-item-indicator.svelte +35 -35
  428. package/dist/tree-view/tree-view-item-text.svelte +35 -35
  429. package/dist/tree-view/tree-view-item.svelte +42 -42
  430. package/dist/tree-view/tree-view-label.svelte +29 -29
  431. package/dist/tree-view/tree-view-root.svelte +77 -77
  432. package/dist/tree-view/tree-view-tree.svelte +29 -29
  433. package/package.json +423 -423
package/README.md CHANGED
@@ -1,49 +1,49 @@
1
- # ui-ingredients
2
-
3
- Headless component library for [Svelte](https://svelte.dev/) powered by [zag](https://zagjs.com/)
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install ui-ingredients
9
- ```
10
-
11
- ## Usage
12
-
13
- ```svelte
14
- <script>
15
- import {Dialog, Portal} from 'ui-ingredients';
16
- import {XCloseIcon} from '$lib/icons';
17
- import {Button} from '$lib/ui';
18
- </script>
19
-
20
- <Dialog.Root lazyMount keepMounted>
21
- <Dialog.Trigger>
22
- {#snippet asChild(attrs)}
23
- <Button {...attrs}>Open</Button>
24
- {/snippet}
25
- </Dialog.Trigger>
26
-
27
- <Portal>
28
- <Dialog.Backdrop />
29
- <Dialog.Positioner>
30
- <Dialog.Content>
31
- <Dialog.Title>Title</Dialog.Title>
32
- <Dialog.Description>Description</Dialog.Description>
33
- <Dialog.CloseTrigger>
34
- <XCloseIcon />
35
- </Dialog.CloseTrigger>
36
- </Dialog.Content>
37
- </Dialog.Positioner>
38
- </Portal>
39
- </Dialog.Root>
40
- ```
41
-
42
- ## Inspiration
43
-
44
- - [zag](https://zagjs.com/) - The fantastic library that powers UI ingredients
45
- - [ark](https://ark-ui.com/) - The outstanding headless component library that greatly inspired this one
46
-
47
- ## Documentation
48
-
49
- Browse the [documentation](https://ui-ingredients.vercel.app/) for more information on how to use UI Ingredients
1
+ # ui-ingredients
2
+
3
+ Headless component library for [Svelte](https://svelte.dev/) powered by [zag](https://zagjs.com/)
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install ui-ingredients
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```svelte
14
+ <script>
15
+ import {Dialog, Portal} from 'ui-ingredients';
16
+ import {XCloseIcon} from '$lib/icons';
17
+ import {Button} from '$lib/ui';
18
+ </script>
19
+
20
+ <Dialog.Root lazyMount keepMounted>
21
+ <Dialog.Trigger>
22
+ {#snippet asChild(attrs)}
23
+ <Button {...attrs}>Open</Button>
24
+ {/snippet}
25
+ </Dialog.Trigger>
26
+
27
+ <Portal>
28
+ <Dialog.Backdrop />
29
+ <Dialog.Positioner>
30
+ <Dialog.Content>
31
+ <Dialog.Title>Title</Dialog.Title>
32
+ <Dialog.Description>Description</Dialog.Description>
33
+ <Dialog.CloseTrigger>
34
+ <XCloseIcon />
35
+ </Dialog.CloseTrigger>
36
+ </Dialog.Content>
37
+ </Dialog.Positioner>
38
+ </Portal>
39
+ </Dialog.Root>
40
+ ```
41
+
42
+ ## Inspiration
43
+
44
+ - [zag](https://zagjs.com/) - The fantastic library that powers UI ingredients
45
+ - [ark](https://ark-ui.com/) - The outstanding headless component library that greatly inspired this one
46
+
47
+ ## Documentation
48
+
49
+ Browse the [documentation](https://ui-ingredients.vercel.app/) for more information on how to use UI Ingredients
@@ -1,57 +1,57 @@
1
- <script lang="ts" module>
2
- import type {Action} from 'svelte/action';
3
- import type {HtmlIngredientProps} from '../types.js';
4
-
5
- export interface AccordionItemContentProps
6
- extends HtmlIngredientProps<'div', HTMLDivElement, never, Action> {}
7
- </script>
8
-
9
- <script lang="ts">
10
- import {reflect} from '@zag-js/svelte';
11
- import {getCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
12
- import {mergeProps} from '../merge-props.js';
13
- import {createPresence} from '../presence/create-presence.svelte.js';
14
- import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
15
- import {
16
- getAccordionContext,
17
- getAccordionItemPropsContext,
18
- } from './accordion-context.svelte.js';
19
-
20
- let {
21
- ref = $bindable(null),
22
- asChild,
23
- children,
24
- ...props
25
- }: AccordionItemContentProps = $props();
26
-
27
- let accordion = getAccordionContext();
28
- let itemProps = getAccordionItemPropsContext();
29
- let itemsState = $derived(accordion.getItemState(itemProps));
30
- let collapsible = getCollapsibleContext();
31
- let presenceStrategyProps = getPresenceStrategyPropsContext();
32
- let presence = createPresence(
33
- reflect(() => ({
34
- ...presenceStrategyProps,
35
- present: itemsState.expanded,
36
- })),
37
- );
38
-
39
- let mergedProps = $derived(
40
- mergeProps(
41
- collapsible.getContentProps(),
42
- accordion.getItemContentProps(itemProps),
43
- presence.getPresenceProps(),
44
- props,
45
- ),
46
- );
47
- </script>
48
-
49
- {#if presence.mounted}
50
- {#if asChild}
51
- {@render asChild(presence.setReference, mergedProps)}
52
- {:else}
53
- <div bind:this={ref} use:presence.setReference {...mergedProps}>
54
- {@render children?.()}
55
- </div>
56
- {/if}
57
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Action} from 'svelte/action';
3
+ import type {HtmlIngredientProps} from '../types.js';
4
+
5
+ export interface AccordionItemContentProps
6
+ extends HtmlIngredientProps<'div', HTMLDivElement, never, Action> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import {reflect} from '@zag-js/svelte';
11
+ import {getCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
12
+ import {mergeProps} from '../merge-props.js';
13
+ import {createPresence} from '../presence/create-presence.svelte.js';
14
+ import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
15
+ import {
16
+ getAccordionContext,
17
+ getAccordionItemPropsContext,
18
+ } from './accordion-context.svelte.js';
19
+
20
+ let {
21
+ ref = $bindable(null),
22
+ asChild,
23
+ children,
24
+ ...props
25
+ }: AccordionItemContentProps = $props();
26
+
27
+ let accordion = getAccordionContext();
28
+ let itemProps = getAccordionItemPropsContext();
29
+ let itemsState = $derived(accordion.getItemState(itemProps));
30
+ let collapsible = getCollapsibleContext();
31
+ let presenceStrategyProps = getPresenceStrategyPropsContext();
32
+ let presence = createPresence(
33
+ reflect(() => ({
34
+ ...presenceStrategyProps,
35
+ present: itemsState.expanded,
36
+ })),
37
+ );
38
+
39
+ let mergedProps = $derived(
40
+ mergeProps(
41
+ collapsible.getContentProps(),
42
+ accordion.getItemContentProps(itemProps),
43
+ presence.getPresenceProps(),
44
+ props,
45
+ ),
46
+ );
47
+ </script>
48
+
49
+ {#if presence.mounted}
50
+ {#if asChild}
51
+ {@render asChild(presence.setReference, mergedProps)}
52
+ {:else}
53
+ <div bind:this={ref} use:presence.setReference {...mergedProps}>
54
+ {@render children?.()}
55
+ </div>
56
+ {/if}
57
+ {/if}
@@ -1,35 +1,35 @@
1
- <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
3
-
4
- export interface AccordionIndicatorProps
5
- extends HtmlIngredientProps<'span', HTMLSpanElement> {}
6
- </script>
7
-
8
- <script lang="ts">
9
- import {mergeProps} from '../merge-props.js';
10
- import {
11
- getAccordionContext,
12
- getAccordionItemPropsContext,
13
- } from './accordion-context.svelte.js';
14
-
15
- let {
16
- ref = $bindable(null),
17
- asChild,
18
- children,
19
- ...props
20
- }: AccordionIndicatorProps = $props();
21
-
22
- let accordion = getAccordionContext();
23
- let itemProps = getAccordionItemPropsContext();
24
- let mergedProps = $derived(
25
- mergeProps(accordion.getItemIndicatorProps(itemProps), props),
26
- );
27
- </script>
28
-
29
- {#if asChild}
30
- {@render asChild(mergedProps)}
31
- {:else}
32
- <span bind:this={ref} {...mergedProps}>
33
- {@render children?.()}
34
- </span>
35
- {/if}
1
+ <script lang="ts" module>
2
+ import type {HtmlIngredientProps} from '../types.js';
3
+
4
+ export interface AccordionIndicatorProps
5
+ extends HtmlIngredientProps<'span', HTMLSpanElement> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import {mergeProps} from '../merge-props.js';
10
+ import {
11
+ getAccordionContext,
12
+ getAccordionItemPropsContext,
13
+ } from './accordion-context.svelte.js';
14
+
15
+ let {
16
+ ref = $bindable(null),
17
+ asChild,
18
+ children,
19
+ ...props
20
+ }: AccordionIndicatorProps = $props();
21
+
22
+ let accordion = getAccordionContext();
23
+ let itemProps = getAccordionItemPropsContext();
24
+ let mergedProps = $derived(
25
+ mergeProps(accordion.getItemIndicatorProps(itemProps), props),
26
+ );
27
+ </script>
28
+
29
+ {#if asChild}
30
+ {@render asChild(mergedProps)}
31
+ {:else}
32
+ <span bind:this={ref} {...mergedProps}>
33
+ {@render children?.()}
34
+ </span>
35
+ {/if}
@@ -1,35 +1,35 @@
1
- <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
3
-
4
- export interface AccordionItemTriggerProps
5
- extends HtmlIngredientProps<'button', HTMLButtonElement> {}
6
- </script>
7
-
8
- <script lang="ts">
9
- import {mergeProps} from '../merge-props.js';
10
- import {
11
- getAccordionContext,
12
- getAccordionItemPropsContext,
13
- } from './accordion-context.svelte.js';
14
-
15
- let {
16
- ref = $bindable(null),
17
- asChild,
18
- children,
19
- ...props
20
- }: AccordionItemTriggerProps = $props();
21
-
22
- let accordion = getAccordionContext();
23
- let itemProps = getAccordionItemPropsContext();
24
- let mergedProps = $derived(
25
- mergeProps(accordion.getItemTriggerProps(itemProps), props),
26
- );
27
- </script>
28
-
29
- {#if asChild}
30
- {@render asChild(mergedProps)}
31
- {:else}
32
- <button bind:this={ref} {...mergedProps}>
33
- {@render children?.()}
34
- </button>
35
- {/if}
1
+ <script lang="ts" module>
2
+ import type {HtmlIngredientProps} from '../types.js';
3
+
4
+ export interface AccordionItemTriggerProps
5
+ extends HtmlIngredientProps<'button', HTMLButtonElement> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import {mergeProps} from '../merge-props.js';
10
+ import {
11
+ getAccordionContext,
12
+ getAccordionItemPropsContext,
13
+ } from './accordion-context.svelte.js';
14
+
15
+ let {
16
+ ref = $bindable(null),
17
+ asChild,
18
+ children,
19
+ ...props
20
+ }: AccordionItemTriggerProps = $props();
21
+
22
+ let accordion = getAccordionContext();
23
+ let itemProps = getAccordionItemPropsContext();
24
+ let mergedProps = $derived(
25
+ mergeProps(accordion.getItemTriggerProps(itemProps), props),
26
+ );
27
+ </script>
28
+
29
+ {#if asChild}
30
+ {@render asChild(mergedProps)}
31
+ {:else}
32
+ <button bind:this={ref} {...mergedProps}>
33
+ {@render children?.()}
34
+ </button>
35
+ {/if}
@@ -1,67 +1,67 @@
1
- <script lang="ts" module>
2
- import type {ItemProps, ItemState} from '@zag-js/accordion';
3
- import type {Assign, HtmlIngredientProps} from '../types.js';
4
-
5
- export interface AccordionItemProps
6
- extends Assign<
7
- HtmlIngredientProps<'div', HTMLDivElement, ItemState>,
8
- ItemProps
9
- > {}
10
- </script>
11
-
12
- <script lang="ts">
13
- import {reflect} from '@zag-js/svelte';
14
- import {setCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
15
- import {createCollapsible} from '../collapsible/create-collapsible.svelte.js';
16
- import {createSplitProps} from '../create-split-props.js';
17
- import {mergeProps} from '../merge-props.js';
18
- import {
19
- getAccordionContext,
20
- setAccordionItemPropsContext,
21
- } from './accordion-context.svelte.js';
22
-
23
- let {
24
- ref = $bindable(null),
25
- asChild,
26
- children,
27
- ...props
28
- }: AccordionItemProps = $props();
29
-
30
- let uid = $props.id();
31
-
32
- let accordion = getAccordionContext();
33
-
34
- let [itemProps, localProps] = $derived(
35
- createSplitProps<ItemProps>(['value', 'disabled'])(props),
36
- );
37
-
38
- let itemState = $derived(accordion.getItemState(itemProps));
39
- let contentProps = $derived(accordion.getItemContentProps(itemProps));
40
- let collapsible = createCollapsible(
41
- reflect(() => ({
42
- id: uid,
43
- ids: {content: contentProps.id},
44
- open: itemState.expanded,
45
- disabled: itemState.disabled,
46
- })),
47
- );
48
-
49
- let mergedProps = $derived(
50
- mergeProps(
51
- collapsible.getRootProps(),
52
- accordion.getItemProps(itemProps),
53
- localProps,
54
- ),
55
- );
56
-
57
- setCollapsibleContext(collapsible);
58
- setAccordionItemPropsContext(() => itemProps);
59
- </script>
60
-
61
- {#if asChild}
62
- {@render asChild(mergedProps, itemState)}
63
- {:else}
64
- <div bind:this={ref} {...mergedProps}>
65
- {@render children?.(itemState)}
66
- </div>
67
- {/if}
1
+ <script lang="ts" module>
2
+ import type {ItemProps, ItemState} from '@zag-js/accordion';
3
+ import type {Assign, HtmlIngredientProps} from '../types.js';
4
+
5
+ export interface AccordionItemProps
6
+ extends Assign<
7
+ HtmlIngredientProps<'div', HTMLDivElement, ItemState>,
8
+ ItemProps
9
+ > {}
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ import {reflect} from '@zag-js/svelte';
14
+ import {setCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
15
+ import {createCollapsible} from '../collapsible/create-collapsible.svelte.js';
16
+ import {createSplitProps} from '../create-split-props.js';
17
+ import {mergeProps} from '../merge-props.js';
18
+ import {
19
+ getAccordionContext,
20
+ setAccordionItemPropsContext,
21
+ } from './accordion-context.svelte.js';
22
+
23
+ let {
24
+ ref = $bindable(null),
25
+ asChild,
26
+ children,
27
+ ...props
28
+ }: AccordionItemProps = $props();
29
+
30
+ let uid = $props.id();
31
+
32
+ let accordion = getAccordionContext();
33
+
34
+ let [itemProps, localProps] = $derived(
35
+ createSplitProps<ItemProps>(['value', 'disabled'])(props),
36
+ );
37
+
38
+ let itemState = $derived(accordion.getItemState(itemProps));
39
+ let contentProps = $derived(accordion.getItemContentProps(itemProps));
40
+ let collapsible = createCollapsible(
41
+ reflect(() => ({
42
+ id: uid,
43
+ ids: {content: contentProps.id},
44
+ open: itemState.expanded,
45
+ disabled: itemState.disabled,
46
+ })),
47
+ );
48
+
49
+ let mergedProps = $derived(
50
+ mergeProps(
51
+ collapsible.getRootProps(),
52
+ accordion.getItemProps(itemProps),
53
+ localProps,
54
+ ),
55
+ );
56
+
57
+ setCollapsibleContext(collapsible);
58
+ setAccordionItemPropsContext(() => itemProps);
59
+ </script>
60
+
61
+ {#if asChild}
62
+ {@render asChild(mergedProps, itemState)}
63
+ {:else}
64
+ <div bind:this={ref} {...mergedProps}>
65
+ {@render children?.(itemState)}
66
+ </div>
67
+ {/if}
@@ -1,71 +1,71 @@
1
- <script lang="ts" module>
2
- import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
3
- import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
4
- import type {
5
- CreateAccordionProps,
6
- CreateAccordionReturn,
7
- } from './create-accordion.svelte.js';
8
-
9
- export interface AccordionProps
10
- extends Assign<
11
- HtmlIngredientProps<'div', HTMLDivElement, CreateAccordionReturn>,
12
- Optional<CreateAccordionProps, 'id'>
13
- >,
14
- PresenceStrategyProps {}
15
- </script>
16
-
17
- <script lang="ts">
18
- import {reflect} from '@zag-js/svelte';
19
- import {createSplitProps} from '../create-split-props.js';
20
- import {mergeProps} from '../merge-props.js';
21
- import {setPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
22
- import {setAccordionContext} from './accordion-context.svelte.js';
23
- import {createAccordion} from './create-accordion.svelte.js';
24
-
25
- let {
26
- id,
27
- ref = $bindable(null),
28
- asChild,
29
- children,
30
- ...props
31
- }: AccordionProps = $props();
32
-
33
- let uid = $props.id();
34
-
35
- let [presenceStrategyProps, accordionProps] = $derived(
36
- createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
37
- props,
38
- ),
39
- );
40
-
41
- let [createAccordionProps, localProps] = $derived(
42
- createSplitProps<Omit<CreateAccordionProps, 'id'>>([
43
- 'collapsible',
44
- 'defaultValue',
45
- 'disabled',
46
- 'ids',
47
- 'multiple',
48
- 'onFocusChange',
49
- 'onValueChange',
50
- 'orientation',
51
- 'value',
52
- ])(accordionProps),
53
- );
54
-
55
- let accordion = createAccordion(
56
- reflect(() => ({...createAccordionProps, id: id ?? uid})),
57
- );
58
-
59
- let mergedProps = $derived(mergeProps(accordion.getRootProps(), localProps));
60
-
61
- setAccordionContext(accordion);
62
- setPresenceStrategyPropsContext(() => presenceStrategyProps);
63
- </script>
64
-
65
- {#if asChild}
66
- {@render asChild(mergedProps, accordion)}
67
- {:else}
68
- <div bind:this={ref} {...mergedProps}>
69
- {@render children?.(accordion)}
70
- </div>
71
- {/if}
1
+ <script lang="ts" module>
2
+ import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
3
+ import type {Assign, HtmlIngredientProps, Optional} from '../types.js';
4
+ import type {
5
+ CreateAccordionProps,
6
+ CreateAccordionReturn,
7
+ } from './create-accordion.svelte.js';
8
+
9
+ export interface AccordionProps
10
+ extends Assign<
11
+ HtmlIngredientProps<'div', HTMLDivElement, CreateAccordionReturn>,
12
+ Optional<CreateAccordionProps, 'id'>
13
+ >,
14
+ PresenceStrategyProps {}
15
+ </script>
16
+
17
+ <script lang="ts">
18
+ import {reflect} from '@zag-js/svelte';
19
+ import {createSplitProps} from '../create-split-props.js';
20
+ import {mergeProps} from '../merge-props.js';
21
+ import {setPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
22
+ import {setAccordionContext} from './accordion-context.svelte.js';
23
+ import {createAccordion} from './create-accordion.svelte.js';
24
+
25
+ let {
26
+ id,
27
+ ref = $bindable(null),
28
+ asChild,
29
+ children,
30
+ ...props
31
+ }: AccordionProps = $props();
32
+
33
+ let uid = $props.id();
34
+
35
+ let [presenceStrategyProps, accordionProps] = $derived(
36
+ createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
37
+ props,
38
+ ),
39
+ );
40
+
41
+ let [createAccordionProps, localProps] = $derived(
42
+ createSplitProps<Omit<CreateAccordionProps, 'id'>>([
43
+ 'collapsible',
44
+ 'defaultValue',
45
+ 'disabled',
46
+ 'ids',
47
+ 'multiple',
48
+ 'onFocusChange',
49
+ 'onValueChange',
50
+ 'orientation',
51
+ 'value',
52
+ ])(accordionProps),
53
+ );
54
+
55
+ let accordion = createAccordion(
56
+ reflect(() => ({...createAccordionProps, id: id ?? uid})),
57
+ );
58
+
59
+ let mergedProps = $derived(mergeProps(accordion.getRootProps(), localProps));
60
+
61
+ setAccordionContext(accordion);
62
+ setPresenceStrategyPropsContext(() => presenceStrategyProps);
63
+ </script>
64
+
65
+ {#if asChild}
66
+ {@render asChild(mergedProps, accordion)}
67
+ {:else}
68
+ <div bind:this={ref} {...mergedProps}>
69
+ {@render children?.(accordion)}
70
+ </div>
71
+ {/if}