@kayord/ui 0.18.5 → 0.19.2

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 (429) hide show
  1. package/dist/components/custom/action/Actions.svelte +1 -1
  2. package/dist/components/custom/combobox/Combobox.svelte.d.ts +1 -1
  3. package/dist/components/custom/copy-button/CopyButton.svelte +65 -0
  4. package/dist/components/custom/copy-button/CopyButton.svelte.d.ts +12 -0
  5. package/dist/components/custom/copy-button/index.d.ts +1 -0
  6. package/dist/components/custom/copy-button/index.js +1 -0
  7. package/dist/components/custom/index.d.ts +4 -1
  8. package/dist/components/custom/index.js +4 -1
  9. package/dist/components/custom/light-switch.svelte/LightSwitch.svelte +17 -0
  10. package/dist/components/custom/light-switch.svelte/LightSwitch.svelte.d.ts +6 -0
  11. package/dist/components/custom/light-switch.svelte/index.d.ts +1 -0
  12. package/dist/components/custom/light-switch.svelte/index.js +1 -0
  13. package/dist/components/custom/theme-selector/ThemeSelector.svelte +25 -0
  14. package/dist/components/custom/theme-selector/ThemeSelector.svelte.d.ts +6 -0
  15. package/dist/components/custom/theme-selector/index.d.ts +1 -0
  16. package/dist/components/custom/theme-selector/index.js +1 -0
  17. package/dist/components/custom/tree-view/TreeView.svelte +15 -0
  18. package/dist/components/custom/tree-view/TreeView.svelte.d.ts +8 -0
  19. package/dist/components/custom/tree-view/TreeViewFile.svelte +22 -0
  20. package/dist/components/custom/tree-view/TreeViewFile.svelte.d.ts +11 -0
  21. package/dist/components/custom/tree-view/TreeViewFolder.svelte +37 -0
  22. package/dist/components/custom/tree-view/TreeViewFolder.svelte.d.ts +14 -0
  23. package/dist/components/custom/tree-view/index.d.ts +4 -0
  24. package/dist/components/custom/tree-view/index.js +4 -0
  25. package/dist/components/ui/accordion/accordion-content.svelte +4 -3
  26. package/dist/components/ui/accordion/accordion-item.svelte +6 -1
  27. package/dist/components/ui/accordion/accordion-root.svelte +7 -0
  28. package/dist/components/ui/accordion/accordion-root.svelte.d.ts +4 -0
  29. package/dist/components/ui/accordion/accordion-trigger.svelte +8 -5
  30. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +2 -1
  31. package/dist/components/ui/accordion/index.d.ts +1 -2
  32. package/dist/components/ui/accordion/index.js +1 -2
  33. package/dist/components/ui/alert/alert-description.svelte +10 -3
  34. package/dist/components/ui/alert/alert-description.svelte.d.ts +1 -1
  35. package/dist/components/ui/alert/alert-title.svelte +4 -9
  36. package/dist/components/ui/alert/alert-title.svelte.d.ts +2 -5
  37. package/dist/components/ui/alert/alert.svelte +6 -6
  38. package/dist/components/ui/alert/alert.svelte.d.ts +3 -3
  39. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +6 -1
  40. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +2 -1
  41. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +5 -4
  42. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +3 -2
  43. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +6 -1
  44. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +3 -3
  45. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +1 -1
  46. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +7 -3
  47. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +1 -1
  48. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +2 -1
  49. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +7 -2
  50. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
  51. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
  52. package/dist/components/ui/alert-dialog/index.d.ts +1 -2
  53. package/dist/components/ui/alert-dialog/index.js +1 -1
  54. package/dist/components/ui/aspect-ratio/aspect-ratio.svelte +7 -0
  55. package/dist/components/ui/aspect-ratio/aspect-ratio.svelte.d.ts +4 -0
  56. package/dist/components/ui/aspect-ratio/index.d.ts +1 -2
  57. package/dist/components/ui/aspect-ratio/index.js +1 -2
  58. package/dist/components/ui/avatar/avatar-fallback.svelte +2 -1
  59. package/dist/components/ui/avatar/avatar-image.svelte +6 -1
  60. package/dist/components/ui/avatar/avatar.svelte +2 -1
  61. package/dist/components/ui/badge/badge.svelte +8 -7
  62. package/dist/components/ui/badge/badge.svelte.d.ts +3 -3
  63. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +4 -4
  64. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +1 -1
  65. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +7 -3
  66. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +1 -1
  67. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +2 -2
  68. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +1 -1
  69. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +2 -2
  70. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +1 -1
  71. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +2 -2
  72. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +1 -1
  73. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +11 -5
  74. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +1 -1
  75. package/dist/components/ui/breadcrumb/breadcrumb.svelte +3 -3
  76. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +1 -1
  77. package/dist/components/ui/button/button.svelte +32 -15
  78. package/dist/components/ui/button/button.svelte.d.ts +3 -3
  79. package/dist/components/ui/calendar/calendar-cell.svelte +1 -1
  80. package/dist/components/ui/calendar/calendar-day.svelte +4 -4
  81. package/dist/components/ui/calendar/calendar-head-cell.svelte +1 -1
  82. package/dist/components/ui/calendar/calendar-months.svelte +1 -2
  83. package/dist/components/ui/calendar/calendar-months.svelte.d.ts +1 -1
  84. package/dist/components/ui/calendar/calendar-next-button.svelte +2 -2
  85. package/dist/components/ui/calendar/calendar-prev-button.svelte +2 -2
  86. package/dist/components/ui/calendar/calendar.svelte +2 -2
  87. package/dist/components/ui/calendar/calendar.svelte.d.ts +3 -2
  88. package/dist/components/ui/card/card-action.svelte +20 -0
  89. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  90. package/dist/components/ui/card/card-content.svelte +2 -3
  91. package/dist/components/ui/card/card-content.svelte.d.ts +1 -1
  92. package/dist/components/ui/card/card-description.svelte +2 -3
  93. package/dist/components/ui/card/card-description.svelte.d.ts +1 -1
  94. package/dist/components/ui/card/card-footer.svelte +7 -3
  95. package/dist/components/ui/card/card-footer.svelte.d.ts +1 -1
  96. package/dist/components/ui/card/card-header.svelte +10 -3
  97. package/dist/components/ui/card/card-header.svelte.d.ts +1 -1
  98. package/dist/components/ui/card/card-title.svelte +3 -13
  99. package/dist/components/ui/card/card-title.svelte.d.ts +2 -5
  100. package/dist/components/ui/card/card.svelte +7 -3
  101. package/dist/components/ui/card/card.svelte.d.ts +1 -1
  102. package/dist/components/ui/card/index.d.ts +2 -1
  103. package/dist/components/ui/card/index.js +3 -2
  104. package/dist/components/ui/carousel/carousel-content.svelte +3 -4
  105. package/dist/components/ui/carousel/carousel-content.svelte.d.ts +1 -1
  106. package/dist/components/ui/carousel/carousel-item.svelte +2 -2
  107. package/dist/components/ui/carousel/carousel-item.svelte.d.ts +1 -1
  108. package/dist/components/ui/carousel/carousel-next.svelte +4 -3
  109. package/dist/components/ui/carousel/carousel-previous.svelte +4 -3
  110. package/dist/components/ui/carousel/carousel.svelte +11 -3
  111. package/dist/components/ui/carousel/carousel.svelte.d.ts +2 -1
  112. package/dist/components/ui/carousel/context.d.ts +1 -1
  113. package/dist/components/ui/chart/chart-container.svelte +81 -0
  114. package/dist/components/ui/chart/chart-container.svelte.d.ts +9 -0
  115. package/dist/components/ui/chart/chart-style.svelte +36 -0
  116. package/dist/components/ui/chart/chart-style.svelte.d.ts +8 -0
  117. package/dist/components/ui/chart/chart-tooltip.svelte +152 -0
  118. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +27 -0
  119. package/dist/components/ui/chart/chart-utils.d.ts +36 -0
  120. package/dist/components/ui/chart/chart-utils.js +33 -0
  121. package/dist/components/ui/chart/index.d.ts +4 -0
  122. package/dist/components/ui/chart/index.js +4 -0
  123. package/dist/components/ui/checkbox/checkbox.svelte +11 -10
  124. package/dist/components/ui/collapsible/collapsible-content.svelte +7 -0
  125. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +4 -0
  126. package/dist/components/ui/collapsible/collapsible-trigger.svelte +7 -0
  127. package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +4 -0
  128. package/dist/components/ui/collapsible/collapsible.svelte +7 -0
  129. package/dist/components/ui/collapsible/collapsible.svelte.d.ts +4 -0
  130. package/dist/components/ui/command/command-dialog.svelte +12 -3
  131. package/dist/components/ui/command/command-dialog.svelte.d.ts +5 -2
  132. package/dist/components/ui/command/command-empty.svelte +6 -1
  133. package/dist/components/ui/command/command-group.svelte +2 -1
  134. package/dist/components/ui/command/command-input.svelte +5 -4
  135. package/dist/components/ui/command/command-input.svelte.d.ts +1 -1
  136. package/dist/components/ui/command/command-item.svelte +3 -2
  137. package/dist/components/ui/command/command-link-item.svelte +3 -2
  138. package/dist/components/ui/command/command-list.svelte +3 -2
  139. package/dist/components/ui/command/command-separator.svelte +6 -1
  140. package/dist/components/ui/command/command-shortcut.svelte +7 -3
  141. package/dist/components/ui/command/command-shortcut.svelte.d.ts +1 -1
  142. package/dist/components/ui/command/command.svelte +2 -1
  143. package/dist/components/ui/command/command.svelte.d.ts +1 -1
  144. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +9 -11
  145. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +2 -1
  146. package/dist/components/ui/context-menu/context-menu-content.svelte +2 -1
  147. package/dist/components/ui/context-menu/context-menu-group-heading.svelte +3 -1
  148. package/dist/components/ui/context-menu/context-menu-group.svelte +7 -0
  149. package/dist/components/ui/context-menu/context-menu-group.svelte.d.ts +4 -0
  150. package/dist/components/ui/context-menu/context-menu-item.svelte +6 -2
  151. package/dist/components/ui/context-menu/context-menu-item.svelte.d.ts +1 -0
  152. package/dist/components/ui/context-menu/context-menu-label.svelte +24 -0
  153. package/dist/components/ui/context-menu/context-menu-label.svelte.d.ts +8 -0
  154. package/dist/components/ui/context-menu/context-menu-radio-group.svelte +7 -0
  155. package/dist/components/ui/context-menu/context-menu-radio-group.svelte.d.ts +4 -0
  156. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +7 -6
  157. package/dist/components/ui/context-menu/context-menu-separator.svelte +6 -1
  158. package/dist/components/ui/context-menu/context-menu-shortcut.svelte +7 -3
  159. package/dist/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +1 -1
  160. package/dist/components/ui/context-menu/context-menu-sub-content.svelte +2 -1
  161. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +7 -6
  162. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +2 -1
  163. package/dist/components/ui/context-menu/context-menu-trigger.svelte +7 -0
  164. package/dist/components/ui/context-menu/context-menu-trigger.svelte.d.ts +4 -0
  165. package/dist/components/ui/context-menu/index.d.ts +5 -5
  166. package/dist/components/ui/context-menu/index.js +6 -5
  167. package/dist/components/ui/data-table/render-helpers.d.ts +2 -2
  168. package/dist/components/ui/data-table/render-helpers.js +2 -2
  169. package/dist/components/ui/dialog/dialog-close.svelte +7 -0
  170. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
  171. package/dist/components/ui/dialog/dialog-content.svelte +7 -6
  172. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +2 -1
  173. package/dist/components/ui/dialog/dialog-description.svelte +6 -1
  174. package/dist/components/ui/dialog/dialog-footer.svelte +3 -3
  175. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +1 -1
  176. package/dist/components/ui/dialog/dialog-header.svelte +7 -3
  177. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +1 -1
  178. package/dist/components/ui/dialog/dialog-overlay.svelte +2 -1
  179. package/dist/components/ui/dialog/dialog-title.svelte +2 -1
  180. package/dist/components/ui/dialog/dialog-trigger.svelte +7 -0
  181. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  182. package/dist/components/ui/dialog/index.d.ts +2 -3
  183. package/dist/components/ui/dialog/index.js +2 -2
  184. package/dist/components/ui/drawer/drawer-close.svelte +7 -0
  185. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +4 -0
  186. package/dist/components/ui/drawer/drawer-content.svelte +9 -2
  187. package/dist/components/ui/drawer/drawer-description.svelte +6 -1
  188. package/dist/components/ui/drawer/drawer-footer.svelte +2 -3
  189. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +1 -1
  190. package/dist/components/ui/drawer/drawer-header.svelte +2 -3
  191. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +1 -1
  192. package/dist/components/ui/drawer/drawer-overlay.svelte +9 -1
  193. package/dist/components/ui/drawer/drawer-title.svelte +2 -1
  194. package/dist/components/ui/drawer/drawer-trigger.svelte +7 -0
  195. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +4 -0
  196. package/dist/components/ui/drawer/index.d.ts +2 -2
  197. package/dist/components/ui/drawer/index.js +2 -2
  198. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +9 -8
  199. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +2 -1
  200. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +2 -1
  201. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +5 -2
  202. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +2 -1
  203. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  204. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  205. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +6 -2
  206. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +1 -0
  207. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +8 -3
  208. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +1 -1
  209. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +7 -0
  210. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  211. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +7 -6
  212. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +6 -1
  213. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +7 -3
  214. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +1 -1
  215. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +2 -1
  216. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +5 -4
  217. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  218. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  219. package/dist/components/ui/dropdown-menu/index.d.ts +5 -6
  220. package/dist/components/ui/dropdown-menu/index.js +5 -5
  221. package/dist/components/ui/form/form-description.svelte +7 -3
  222. package/dist/components/ui/form/form-element-field.svelte +1 -2
  223. package/dist/components/ui/form/form-element-field.svelte.d.ts +1 -1
  224. package/dist/components/ui/form/form-field-errors.svelte +1 -2
  225. package/dist/components/ui/form/form-field-errors.svelte.d.ts +1 -1
  226. package/dist/components/ui/form/form-field.svelte +2 -3
  227. package/dist/components/ui/form/form-field.svelte.d.ts +1 -1
  228. package/dist/components/ui/form/form-fieldset.svelte +1 -2
  229. package/dist/components/ui/form/form-label.svelte +2 -3
  230. package/dist/components/ui/form/form-legend.svelte +1 -2
  231. package/dist/components/ui/hover-card/hover-card-content.svelte +2 -1
  232. package/dist/components/ui/hover-card/hover-card-trigger.svelte +7 -0
  233. package/dist/components/ui/hover-card/hover-card-trigger.svelte.d.ts +4 -0
  234. package/dist/components/ui/hover-card/index.d.ts +1 -2
  235. package/dist/components/ui/hover-card/index.js +1 -1
  236. package/dist/components/ui/index.d.ts +5 -3
  237. package/dist/components/ui/index.js +5 -3
  238. package/dist/components/ui/input/input.svelte +9 -4
  239. package/dist/components/ui/input/input.svelte.d.ts +2 -2
  240. package/dist/components/ui/input-otp/input-otp-group.svelte +2 -3
  241. package/dist/components/ui/input-otp/input-otp-group.svelte.d.ts +1 -1
  242. package/dist/components/ui/input-otp/input-otp-separator.svelte +4 -4
  243. package/dist/components/ui/input-otp/input-otp-separator.svelte.d.ts +1 -1
  244. package/dist/components/ui/input-otp/input-otp-slot.svelte +5 -9
  245. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +2 -10
  246. package/dist/components/ui/input-otp/input-otp.svelte +3 -3
  247. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +2 -1
  248. package/dist/components/ui/label/label.svelte +5 -1
  249. package/dist/components/ui/menubar/index.d.ts +5 -4
  250. package/dist/components/ui/menubar/index.js +5 -4
  251. package/dist/components/ui/menubar/menubar-checkbox-item.svelte +9 -8
  252. package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +2 -1
  253. package/dist/components/ui/menubar/menubar-content.svelte +2 -1
  254. package/dist/components/ui/menubar/menubar-group-heading.svelte +7 -4
  255. package/dist/components/ui/menubar/menubar-group-heading.svelte.d.ts +2 -1
  256. package/dist/components/ui/menubar/menubar-group.svelte +12 -0
  257. package/dist/components/ui/menubar/menubar-group.svelte.d.ts +7 -0
  258. package/dist/components/ui/menubar/menubar-item.svelte +6 -2
  259. package/dist/components/ui/menubar/menubar-item.svelte.d.ts +1 -0
  260. package/dist/components/ui/menubar/menubar-label.svelte +25 -0
  261. package/dist/components/ui/menubar/menubar-label.svelte.d.ts +8 -0
  262. package/dist/components/ui/menubar/menubar-radio-item.svelte +7 -6
  263. package/dist/components/ui/menubar/menubar-separator.svelte +6 -1
  264. package/dist/components/ui/menubar/menubar-shortcut.svelte +7 -3
  265. package/dist/components/ui/menubar/menubar-shortcut.svelte.d.ts +1 -1
  266. package/dist/components/ui/menubar/menubar-sub-content.svelte +5 -1
  267. package/dist/components/ui/menubar/menubar-sub-trigger.svelte +7 -6
  268. package/dist/components/ui/menubar/menubar-sub-trigger.svelte.d.ts +2 -1
  269. package/dist/components/ui/menubar/menubar-trigger.svelte +2 -1
  270. package/dist/components/ui/menubar/menubar.svelte +2 -1
  271. package/dist/components/ui/pagination/pagination-content.svelte +7 -3
  272. package/dist/components/ui/pagination/pagination-content.svelte.d.ts +1 -1
  273. package/dist/components/ui/pagination/pagination-ellipsis.svelte +4 -4
  274. package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +1 -1
  275. package/dist/components/ui/pagination/pagination-item.svelte +2 -2
  276. package/dist/components/ui/pagination/pagination-item.svelte.d.ts +1 -1
  277. package/dist/components/ui/pagination/pagination-link.svelte +3 -0
  278. package/dist/components/ui/pagination/pagination-next-button.svelte +5 -3
  279. package/dist/components/ui/pagination/pagination-prev-button.svelte +5 -3
  280. package/dist/components/ui/pagination/pagination.svelte +5 -2
  281. package/dist/components/ui/popover/index.d.ts +1 -1
  282. package/dist/components/ui/popover/index.js +1 -1
  283. package/dist/components/ui/popover/popover-content.svelte +2 -1
  284. package/dist/components/ui/popover/popover-trigger.svelte +8 -0
  285. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
  286. package/dist/components/ui/progress/progress.svelte +6 -4
  287. package/dist/components/ui/radio-group/radio-group-item.svelte +7 -6
  288. package/dist/components/ui/radio-group/radio-group.svelte +7 -1
  289. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +1 -1
  290. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +1 -1
  291. package/dist/components/ui/range-calendar/range-calendar-day.svelte +3 -3
  292. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +1 -1
  293. package/dist/components/ui/range-calendar/range-calendar-months.svelte +1 -2
  294. package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +1 -1
  295. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +2 -2
  296. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +2 -2
  297. package/dist/components/ui/range-calendar/range-calendar.svelte +2 -2
  298. package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +1 -1
  299. package/dist/components/ui/resizable/resizable-handle.svelte +5 -5
  300. package/dist/components/ui/resizable/resizable-handle.svelte.d.ts +1 -1
  301. package/dist/components/ui/resizable/resizable-pane-group.svelte +1 -0
  302. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +7 -6
  303. package/dist/components/ui/scroll-area/scroll-area.svelte +7 -4
  304. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +2 -1
  305. package/dist/components/ui/select/index.d.ts +3 -4
  306. package/dist/components/ui/select/index.js +4 -4
  307. package/dist/components/ui/select/select-content.svelte +5 -4
  308. package/dist/components/ui/select/select-content.svelte.d.ts +2 -1
  309. package/dist/components/ui/select/select-group.svelte +7 -0
  310. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  311. package/dist/components/ui/select/select-item.svelte +7 -6
  312. package/dist/components/ui/select/select-label.svelte +20 -0
  313. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  314. package/dist/components/ui/select/select-scroll-down-button.svelte +5 -4
  315. package/dist/components/ui/select/select-scroll-up-button.svelte +5 -4
  316. package/dist/components/ui/select/select-separator.svelte +6 -1
  317. package/dist/components/ui/select/select-trigger.svelte +11 -6
  318. package/dist/components/ui/select/select-trigger.svelte.d.ts +5 -1
  319. package/dist/components/ui/separator/separator.svelte +6 -8
  320. package/dist/components/ui/sheet/index.d.ts +2 -3
  321. package/dist/components/ui/sheet/index.js +2 -2
  322. package/dist/components/ui/sheet/sheet-close.svelte +7 -0
  323. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  324. package/dist/components/ui/sheet/sheet-content.svelte +14 -9
  325. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +4 -3
  326. package/dist/components/ui/sheet/sheet-description.svelte +6 -1
  327. package/dist/components/ui/sheet/sheet-footer.svelte +2 -7
  328. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +1 -1
  329. package/dist/components/ui/sheet/sheet-header.svelte +2 -3
  330. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +1 -1
  331. package/dist/components/ui/sheet/sheet-overlay.svelte +2 -1
  332. package/dist/components/ui/sheet/sheet-title.svelte +6 -1
  333. package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
  334. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  335. package/dist/components/ui/sidebar/sidebar-content.svelte +2 -2
  336. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +1 -1
  337. package/dist/components/ui/sidebar/sidebar-footer.svelte +8 -3
  338. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +1 -1
  339. package/dist/components/ui/sidebar/sidebar-group-action.svelte +7 -7
  340. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +1 -1
  341. package/dist/components/ui/sidebar/sidebar-group-content.svelte +8 -3
  342. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +1 -1
  343. package/dist/components/ui/sidebar/sidebar-group-label.svelte +3 -3
  344. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +1 -1
  345. package/dist/components/ui/sidebar/sidebar-group.svelte +2 -2
  346. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +1 -1
  347. package/dist/components/ui/sidebar/sidebar-header.svelte +8 -3
  348. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +1 -1
  349. package/dist/components/ui/sidebar/sidebar-input.svelte +2 -1
  350. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +1 -1
  351. package/dist/components/ui/sidebar/sidebar-inset.svelte +4 -4
  352. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +1 -1
  353. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +4 -4
  354. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +1 -1
  355. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +2 -2
  356. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +1 -1
  357. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +14 -8
  358. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +4 -4
  359. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +8 -3
  360. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +1 -1
  361. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +2 -2
  362. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +1 -1
  363. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +4 -4
  364. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +1 -1
  365. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +14 -3
  366. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +1 -1
  367. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +2 -2
  368. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +1 -1
  369. package/dist/components/ui/sidebar/sidebar-menu.svelte +8 -3
  370. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +1 -1
  371. package/dist/components/ui/sidebar/sidebar-provider.svelte +3 -3
  372. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +1 -1
  373. package/dist/components/ui/sidebar/sidebar-rail.svelte +5 -5
  374. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +1 -1
  375. package/dist/components/ui/sidebar/sidebar-separator.svelte +7 -1
  376. package/dist/components/ui/sidebar/sidebar-trigger.svelte +7 -6
  377. package/dist/components/ui/sidebar/sidebar.svelte +14 -6
  378. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +1 -1
  379. package/dist/components/ui/skeleton/skeleton.svelte +7 -3
  380. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +1 -1
  381. package/dist/components/ui/slider/slider.svelte +12 -6
  382. package/dist/components/ui/slider/slider.svelte.d.ts +3 -2
  383. package/dist/components/ui/sonner/sonner.svelte +1 -9
  384. package/dist/components/ui/switch/switch.svelte +6 -4
  385. package/dist/components/ui/table/table-body.svelte +2 -3
  386. package/dist/components/ui/table/table-body.svelte.d.ts +1 -1
  387. package/dist/components/ui/table/table-caption.svelte +7 -3
  388. package/dist/components/ui/table/table-caption.svelte.d.ts +1 -1
  389. package/dist/components/ui/table/table-cell.svelte +7 -3
  390. package/dist/components/ui/table/table-cell.svelte.d.ts +1 -1
  391. package/dist/components/ui/table/table-footer.svelte +7 -3
  392. package/dist/components/ui/table/table-footer.svelte.d.ts +1 -1
  393. package/dist/components/ui/table/table-head.svelte +3 -3
  394. package/dist/components/ui/table/table-head.svelte.d.ts +1 -1
  395. package/dist/components/ui/table/table-header.svelte +2 -3
  396. package/dist/components/ui/table/table-header.svelte.d.ts +1 -1
  397. package/dist/components/ui/table/table-row.svelte +2 -2
  398. package/dist/components/ui/table/table-row.svelte.d.ts +1 -1
  399. package/dist/components/ui/table/table.svelte +3 -4
  400. package/dist/components/ui/table/table.svelte.d.ts +1 -1
  401. package/dist/components/ui/tabs/index.d.ts +1 -2
  402. package/dist/components/ui/tabs/index.js +1 -2
  403. package/dist/components/ui/tabs/tabs-content.svelte +1 -8
  404. package/dist/components/ui/tabs/tabs-list.svelte +5 -1
  405. package/dist/components/ui/tabs/tabs-trigger.svelte +2 -1
  406. package/dist/components/ui/tabs/tabs.svelte +13 -0
  407. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  408. package/dist/components/ui/textarea/textarea.svelte +3 -3
  409. package/dist/components/ui/textarea/textarea.svelte.d.ts +2 -2
  410. package/dist/components/ui/toggle/toggle.svelte +12 -6
  411. package/dist/components/ui/toggle/toggle.svelte.d.ts +2 -2
  412. package/dist/components/ui/toggle-group/toggle-group-item.svelte +4 -0
  413. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +1 -1
  414. package/dist/components/ui/toggle-group/toggle-group.svelte +4 -1
  415. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +1 -1
  416. package/dist/components/ui/tooltip/index.d.ts +3 -2
  417. package/dist/components/ui/tooltip/index.js +4 -3
  418. package/dist/components/ui/tooltip/tooltip-content.svelte +37 -11
  419. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +4 -1
  420. package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  421. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  422. package/dist/hooks/use-clipboard.svelte.d.ts +49 -0
  423. package/dist/hooks/use-clipboard.svelte.js +70 -0
  424. package/dist/utils.d.ts +10 -0
  425. package/package.json +16 -13
  426. package/dist/components/custom/theme-switch/ThemeSwitch.svelte +0 -20
  427. package/dist/components/custom/theme-switch/ThemeSwitch.svelte.d.ts +0 -6
  428. package/dist/components/custom/theme-switch/index.d.ts +0 -1
  429. package/dist/components/custom/theme-switch/index.js +0 -1
@@ -0,0 +1,152 @@
1
+ <script lang="ts">
2
+ import { cn, type WithElementRef, type WithoutChildren } from "../../../utils.js";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ import { getPayloadConfigFromPayload, useChart, type TooltipPayload } from "./chart-utils.js";
5
+ import { getTooltipContext, Tooltip as TooltipPrimitive } from "layerchart";
6
+ import type { Snippet } from "svelte";
7
+
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ function defaultFormatter(value: any, _payload: TooltipPayload[]) {
10
+ return `${value}`;
11
+ }
12
+
13
+ let {
14
+ ref = $bindable(null),
15
+ class: className,
16
+ hideLabel = false,
17
+ indicator = "dot",
18
+ hideIndicator = false,
19
+ labelKey,
20
+ label,
21
+ labelFormatter = defaultFormatter,
22
+ labelClassName,
23
+ formatter,
24
+ nameKey,
25
+ color,
26
+ ...restProps
27
+ }: WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> & {
28
+ hideLabel?: boolean;
29
+ label?: string;
30
+ indicator?: "line" | "dot" | "dashed";
31
+ nameKey?: string;
32
+ labelKey?: string;
33
+ hideIndicator?: boolean;
34
+ labelClassName?: string;
35
+ labelFormatter?: // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ ((value: any, payload: TooltipPayload[]) => string | number | Snippet) | null;
37
+ formatter?: Snippet<
38
+ [
39
+ {
40
+ value: unknown;
41
+ name: string;
42
+ item: TooltipPayload;
43
+ index: number;
44
+ payload: TooltipPayload[];
45
+ },
46
+ ]
47
+ >;
48
+ } = $props();
49
+
50
+ const chart = useChart();
51
+ const tooltipCtx = getTooltipContext();
52
+
53
+ const formattedLabel = $derived.by(() => {
54
+ if (hideLabel || !tooltipCtx.payload?.length) return null;
55
+
56
+ const [item] = tooltipCtx.payload;
57
+ const key = labelKey || item?.label || item?.name || "value";
58
+
59
+ const itemConfig = getPayloadConfigFromPayload(chart.config, item, key);
60
+
61
+ const value =
62
+ !labelKey && typeof label === "string"
63
+ ? chart.config[label as keyof typeof chart.config]?.label || label
64
+ : (itemConfig?.label ?? item.label);
65
+
66
+ if (!value) return null;
67
+ if (!labelFormatter) return value;
68
+ return labelFormatter(value, tooltipCtx.payload);
69
+ });
70
+
71
+ const nestLabel = $derived(tooltipCtx.payload.length === 1 && indicator !== "dot");
72
+ </script>
73
+
74
+ {#snippet TooltipLabel()}
75
+ {#if formattedLabel}
76
+ <div class={cn("font-medium", labelClassName)}>
77
+ {#if typeof formattedLabel === "function"}
78
+ {@render formattedLabel()}
79
+ {:else}
80
+ {formattedLabel}
81
+ {/if}
82
+ </div>
83
+ {/if}
84
+ {/snippet}
85
+
86
+ <TooltipPrimitive.Root variant="none">
87
+ <div
88
+ class={cn(
89
+ "border-border/50 bg-background grid min-w-[9rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
90
+ className
91
+ )}
92
+ {...restProps}
93
+ >
94
+ {#if !nestLabel}
95
+ {@render TooltipLabel()}
96
+ {/if}
97
+ <div class="grid gap-1.5">
98
+ {#each tooltipCtx.payload as item, i (item.key + i)}
99
+ {@const key = `${nameKey || item.key || item.name || "value"}`}
100
+ {@const itemConfig = getPayloadConfigFromPayload(chart.config, item, key)}
101
+ {@const indicatorColor = color || item.payload?.color || item.color}
102
+ <div
103
+ class={cn(
104
+ "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5",
105
+ indicator === "dot" && "items-center"
106
+ )}
107
+ >
108
+ {#if formatter && item.value !== undefined && item.name}
109
+ {@render formatter({
110
+ value: item.value,
111
+ name: item.name,
112
+ item,
113
+ index: i,
114
+ payload: tooltipCtx.payload,
115
+ })}
116
+ {:else}
117
+ {#if itemConfig?.icon}
118
+ <itemConfig.icon />
119
+ {:else if !hideIndicator}
120
+ <div
121
+ style="--color-bg: {indicatorColor}; --color-border: {indicatorColor};"
122
+ class={cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
123
+ "size-2.5": indicator === "dot",
124
+ "h-full w-1": indicator === "line",
125
+ "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
126
+ "my-0.5": nestLabel && indicator === "dashed",
127
+ })}
128
+ ></div>
129
+ {/if}
130
+ <div
131
+ class={cn("flex flex-1 shrink-0 justify-between leading-none", nestLabel ? "items-end" : "items-center")}
132
+ >
133
+ <div class="grid gap-1.5">
134
+ {#if nestLabel}
135
+ {@render TooltipLabel()}
136
+ {/if}
137
+ <span class="text-muted-foreground">
138
+ {itemConfig?.label || item.name}
139
+ </span>
140
+ </div>
141
+ {#if item.value}
142
+ <span class="text-foreground font-mono font-medium tabular-nums">
143
+ {item.value.toLocaleString()}
144
+ </span>
145
+ {/if}
146
+ </div>
147
+ {/if}
148
+ </div>
149
+ {/each}
150
+ </div>
151
+ </div>
152
+ </TooltipPrimitive.Root>
@@ -0,0 +1,27 @@
1
+ import { type WithElementRef, type WithoutChildren } from "../../../utils.js";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import { type TooltipPayload } from "./chart-utils.js";
4
+ import type { Snippet } from "svelte";
5
+ type $$ComponentProps = WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> & {
6
+ hideLabel?: boolean;
7
+ label?: string;
8
+ indicator?: "line" | "dot" | "dashed";
9
+ nameKey?: string;
10
+ labelKey?: string;
11
+ hideIndicator?: boolean;
12
+ labelClassName?: string;
13
+ labelFormatter?: // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ ((value: any, payload: TooltipPayload[]) => string | number | Snippet) | null;
15
+ formatter?: Snippet<[
16
+ {
17
+ value: unknown;
18
+ name: string;
19
+ item: TooltipPayload;
20
+ index: number;
21
+ payload: TooltipPayload[];
22
+ }
23
+ ]>;
24
+ };
25
+ declare const ChartTooltip: import("svelte").Component<$$ComponentProps, {}, "ref">;
26
+ type ChartTooltip = ReturnType<typeof ChartTooltip>;
27
+ export default ChartTooltip;
@@ -0,0 +1,36 @@
1
+ import type { Tooltip } from "layerchart";
2
+ import { type Component, type ComponentProps, type Snippet } from "svelte";
3
+ export declare const THEMES: {
4
+ readonly light: "";
5
+ readonly dark: ".dark";
6
+ };
7
+ export type ChartConfig = {
8
+ [k in string]: {
9
+ label?: string;
10
+ icon?: Component;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ });
18
+ };
19
+ export type ExtractSnippetParams<T> = T extends Snippet<[infer P]> ? P : never;
20
+ export type TooltipPayload = ExtractSnippetParams<ComponentProps<typeof Tooltip.Root>["children"]>["payload"][number];
21
+ export declare function getPayloadConfigFromPayload(config: ChartConfig, payload: TooltipPayload, key: string): ({
22
+ label?: string;
23
+ icon?: Component;
24
+ } & ({
25
+ color?: string;
26
+ theme?: never;
27
+ } | {
28
+ color?: never;
29
+ theme: Record<keyof typeof THEMES, string>;
30
+ })) | undefined;
31
+ type ChartContextValue = {
32
+ config: ChartConfig;
33
+ };
34
+ export declare function setChartContext(value: ChartContextValue): ChartContextValue;
35
+ export declare function useChart(): ChartContextValue;
36
+ export {};
@@ -0,0 +1,33 @@
1
+ import { getContext, setContext } from "svelte";
2
+ export const THEMES = { light: "", dark: ".dark" };
3
+ // Helper to extract item config from a payload.
4
+ export function getPayloadConfigFromPayload(config, payload, key) {
5
+ if (typeof payload !== "object" || payload === null)
6
+ return undefined;
7
+ const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null
8
+ ? payload.payload
9
+ : undefined;
10
+ let configLabelKey = key;
11
+ if (payload.key === key) {
12
+ configLabelKey = payload.key;
13
+ }
14
+ else if (payload.name === key) {
15
+ configLabelKey = payload.name;
16
+ }
17
+ else if (key in payload && typeof payload[key] === "string") {
18
+ configLabelKey = payload[key];
19
+ }
20
+ else if (payloadPayload &&
21
+ key in payloadPayload &&
22
+ typeof payloadPayload[key] === "string") {
23
+ configLabelKey = payloadPayload[key];
24
+ }
25
+ return configLabelKey in config ? config[configLabelKey] : config[key];
26
+ }
27
+ const chartContextKey = Symbol("chart-context");
28
+ export function setChartContext(value) {
29
+ return setContext(chartContextKey, value);
30
+ }
31
+ export function useChart() {
32
+ return getContext(chartContextKey);
33
+ }
@@ -0,0 +1,4 @@
1
+ import ChartContainer from "./chart-container.svelte";
2
+ import ChartTooltip from "./chart-tooltip.svelte";
3
+ export { getPayloadConfigFromPayload, type ChartConfig } from "./chart-utils.js";
4
+ export { ChartContainer, ChartTooltip, ChartContainer as Container, ChartTooltip as Tooltip };
@@ -0,0 +1,4 @@
1
+ import ChartContainer from "./chart-container.svelte";
2
+ import ChartTooltip from "./chart-tooltip.svelte";
3
+ export { getPayloadConfigFromPayload } from "./chart-utils.js";
4
+ export { ChartContainer, ChartTooltip, ChartContainer as Container, ChartTooltip as Tooltip };
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">
2
- import { Checkbox as CheckboxPrimitive, type WithoutChildrenOrChild } from "bits-ui";
3
- import Check from "@lucide/svelte/icons/check";
4
- import Minus from "@lucide/svelte/icons/minus";
5
- import { cn } from "../../../utils.js";
2
+ import { Checkbox as CheckboxPrimitive } from "bits-ui";
3
+ import CheckIcon from "@lucide/svelte/icons/check";
4
+ import MinusIcon from "@lucide/svelte/icons/minus";
5
+ import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
6
6
 
7
7
  let {
8
8
  ref = $bindable(null),
@@ -15,8 +15,9 @@
15
15
 
16
16
  <CheckboxPrimitive.Root
17
17
  bind:ref
18
+ data-slot="checkbox"
18
19
  class={cn(
19
- "border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground peer box-content size-4 shrink-0 rounded-sm border focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50",
20
+ "border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
20
21
  className
21
22
  )}
22
23
  bind:checked
@@ -24,11 +25,11 @@
24
25
  {...restProps}
25
26
  >
26
27
  {#snippet children({ checked, indeterminate })}
27
- <div class="flex size-4 items-center justify-center text-current">
28
- {#if indeterminate}
29
- <Minus class="size-3.5" />
30
- {:else}
31
- <Check class={cn("size-3.5", !checked && "text-transparent")} />
28
+ <div data-slot="checkbox-indicator" class="text-current transition-none">
29
+ {#if checked}
30
+ <CheckIcon class="size-3.5" />
31
+ {:else if indeterminate}
32
+ <MinusIcon class="size-3.5" />
32
33
  {/if}
33
34
  </div>
34
35
  {/snippet}
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
3
+
4
+ let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.ContentProps = $props();
5
+ </script>
6
+
7
+ <CollapsiblePrimitive.Content bind:ref data-slot="collapsible-content" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
2
+ declare const CollapsibleContent: import("svelte").Component<CollapsiblePrimitive.ContentProps, {}, "ref">;
3
+ type CollapsibleContent = ReturnType<typeof CollapsibleContent>;
4
+ export default CollapsibleContent;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
3
+
4
+ let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.TriggerProps = $props();
5
+ </script>
6
+
7
+ <CollapsiblePrimitive.Trigger bind:ref data-slot="collapsible-trigger" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
2
+ declare const CollapsibleTrigger: import("svelte").Component<CollapsiblePrimitive.TriggerProps, {}, "ref">;
3
+ type CollapsibleTrigger = ReturnType<typeof CollapsibleTrigger>;
4
+ export default CollapsibleTrigger;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
3
+
4
+ let { ref = $bindable(null), open = $bindable(false), ...restProps }: CollapsiblePrimitive.RootProps = $props();
5
+ </script>
6
+
7
+ <CollapsiblePrimitive.Root bind:ref data-slot="collapsible" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import { Collapsible as CollapsiblePrimitive } from "bits-ui";
2
+ declare const Collapsible: import("svelte").Component<CollapsiblePrimitive.RootProps, {}, "ref" | "open">;
3
+ type Collapsible = ReturnType<typeof Collapsible>;
4
+ export default Collapsible;
@@ -1,13 +1,16 @@
1
1
  <script lang="ts">
2
- import type { Command as CommandPrimitive, Dialog as DialogPrimitive, WithoutChildrenOrChild } from "bits-ui";
2
+ import type { Command as CommandPrimitive, Dialog as DialogPrimitive } from "bits-ui";
3
3
  import type { Snippet } from "svelte";
4
4
  import Command from "./command.svelte";
5
5
  import * as Dialog from "../dialog/index.js";
6
+ import type { WithoutChildrenOrChild } from "../../../utils.js";
6
7
 
7
8
  let {
8
9
  open = $bindable(false),
9
10
  ref = $bindable(null),
10
11
  value = $bindable(""),
12
+ title = "Command Palette",
13
+ description = "Search for a command to run",
11
14
  portalProps,
12
15
  children,
13
16
  ...restProps
@@ -15,13 +18,19 @@
15
18
  WithoutChildrenOrChild<CommandPrimitive.RootProps> & {
16
19
  portalProps?: DialogPrimitive.PortalProps;
17
20
  children: Snippet;
21
+ title?: string;
22
+ description?: string;
18
23
  } = $props();
19
24
  </script>
20
25
 
21
26
  <Dialog.Root bind:open {...restProps}>
22
- <Dialog.Content class="overflow-hidden p-0 shadow-lg" {portalProps}>
27
+ <Dialog.Header class="sr-only">
28
+ <Dialog.Title>{title}</Dialog.Title>
29
+ <Dialog.Description>{description}</Dialog.Description>
30
+ </Dialog.Header>
31
+ <Dialog.Content class="overflow-hidden p-0" {portalProps}>
23
32
  <Command
24
- class="[&_[data-command-group]]:px-2 [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-command-input-wrapper]_svg]:h-5 [&_[data-command-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3 [&_[data-command-item]_svg]:h-5 [&_[data-command-item]_svg]:w-5"
33
+ class="**:data-[slot=command-input-wrapper]:h-12 [&_[data-command-group]]:px-2 [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-command-input-wrapper]_svg]:h-5 [&_[data-command-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3 [&_[data-command-item]_svg]:h-5 [&_[data-command-item]_svg]:w-5"
25
34
  {...restProps}
26
35
  bind:value
27
36
  bind:ref
@@ -1,9 +1,12 @@
1
- import type { Command as CommandPrimitive, Dialog as DialogPrimitive, WithoutChildrenOrChild } from "bits-ui";
1
+ import type { Command as CommandPrimitive, Dialog as DialogPrimitive } from "bits-ui";
2
2
  import type { Snippet } from "svelte";
3
+ import type { WithoutChildrenOrChild } from "../../../utils.js";
3
4
  type $$ComponentProps = WithoutChildrenOrChild<DialogPrimitive.RootProps> & WithoutChildrenOrChild<CommandPrimitive.RootProps> & {
4
5
  portalProps?: DialogPrimitive.PortalProps;
5
6
  children: Snippet;
7
+ title?: string;
8
+ description?: string;
6
9
  };
7
- declare const CommandDialog: import("svelte").Component<$$ComponentProps, {}, "ref" | "value" | "open">;
10
+ declare const CommandDialog: import("svelte").Component<$$ComponentProps, {}, "value" | "ref" | "open">;
8
11
  type CommandDialog = ReturnType<typeof CommandDialog>;
9
12
  export default CommandDialog;
@@ -5,4 +5,9 @@
5
5
  let { ref = $bindable(null), class: className, ...restProps }: CommandPrimitive.EmptyProps = $props();
6
6
  </script>
7
7
 
8
- <CommandPrimitive.Empty class={cn("py-6 text-center text-sm", className)} {...restProps} />
8
+ <CommandPrimitive.Empty
9
+ bind:ref
10
+ data-slot="command-empty"
11
+ class={cn("py-6 text-center text-sm", className)}
12
+ {...restProps}
13
+ />
@@ -15,8 +15,9 @@
15
15
  </script>
16
16
 
17
17
  <CommandPrimitive.Group
18
- class={cn("text-foreground overflow-hidden p-1", className)}
19
18
  bind:ref
19
+ data-slot="command-group"
20
+ class={cn("text-foreground overflow-hidden p-1", className)}
20
21
  value={value ?? heading ?? `----${useId()}`}
21
22
  {...restProps}
22
23
  >
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Command as CommandPrimitive } from "bits-ui";
3
- import Search from "@lucide/svelte/icons/search";
3
+ import SearchIcon from "@lucide/svelte/icons/search";
4
4
  import { cn } from "../../../utils.js";
5
5
 
6
6
  let {
@@ -11,11 +11,12 @@
11
11
  }: CommandPrimitive.InputProps = $props();
12
12
  </script>
13
13
 
14
- <div class="flex items-center border-b px-2" data-command-input-wrapper="">
15
- <Search class="mr-2 size-4 shrink-0 opacity-50" />
14
+ <div class="flex h-9 items-center gap-2 border-b px-3" data-slot="command-input-wrapper">
15
+ <SearchIcon class="size-4 shrink-0 opacity-50" />
16
16
  <CommandPrimitive.Input
17
+ data-slot="command-input"
17
18
  class={cn(
18
- "placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-hidden disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
19
+ "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
19
20
  className
20
21
  )}
21
22
  bind:ref
@@ -1,4 +1,4 @@
1
1
  import { Command as CommandPrimitive } from "bits-ui";
2
- declare const CommandInput: import("svelte").Component<CommandPrimitive.InputProps, {}, "ref" | "value">;
2
+ declare const CommandInput: import("svelte").Component<CommandPrimitive.InputProps, {}, "value" | "ref">;
3
3
  type CommandInput = ReturnType<typeof CommandInput>;
4
4
  export default CommandInput;
@@ -6,10 +6,11 @@
6
6
  </script>
7
7
 
8
8
  <CommandPrimitive.Item
9
+ bind:ref
10
+ data-slot="command-item"
9
11
  class={cn(
10
- "aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
12
+ "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
11
13
  className
12
14
  )}
13
- bind:ref
14
15
  {...restProps}
15
16
  />
@@ -6,10 +6,11 @@
6
6
  </script>
7
7
 
8
8
  <CommandPrimitive.LinkItem
9
+ bind:ref
10
+ data-slot="command-item"
9
11
  class={cn(
10
- "aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
12
+ "aria-selected:bg-accent aria-selected:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
11
13
  className
12
14
  )}
13
- bind:ref
14
15
  {...restProps}
15
16
  />
@@ -6,7 +6,8 @@
6
6
  </script>
7
7
 
8
8
  <CommandPrimitive.List
9
- class={cn("max-h-[300px] overflow-x-hidden overflow-y-auto", className)}
10
- {...restProps}
11
9
  bind:ref
10
+ data-slot="command-list"
11
+ class={cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className)}
12
+ {...restProps}
12
13
  />
@@ -5,4 +5,9 @@
5
5
  let { ref = $bindable(null), class: className, ...restProps }: CommandPrimitive.SeparatorProps = $props();
6
6
  </script>
7
7
 
8
- <CommandPrimitive.Separator class={cn("bg-border -mx-1 h-px", className)} bind:ref {...restProps} />
8
+ <CommandPrimitive.Separator
9
+ bind:ref
10
+ data-slot="command-separator"
11
+ class={cn("bg-border -mx-1 h-px", className)}
12
+ {...restProps}
13
+ />
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
- import type { WithElementRef } from "bits-ui";
2
+ import { cn, type WithElementRef } from "../../../utils.js";
3
3
  import type { HTMLAttributes } from "svelte/elements";
4
- import { cn } from "../../../utils.js";
5
4
 
6
5
  let {
7
6
  ref = $bindable(null),
@@ -11,6 +10,11 @@
11
10
  }: WithElementRef<HTMLAttributes<HTMLSpanElement>> = $props();
12
11
  </script>
13
12
 
14
- <span bind:this={ref} class={cn("text-muted-foreground ml-auto text-xs tracking-widest", className)} {...restProps}>
13
+ <span
14
+ bind:this={ref}
15
+ data-slot="command-shortcut"
16
+ class={cn("text-muted-foreground ml-auto text-xs tracking-widest", className)}
17
+ {...restProps}
18
+ >
15
19
  {@render children?.()}
16
20
  </span>
@@ -1,4 +1,4 @@
1
- import type { WithElementRef } from "bits-ui";
1
+ import { type WithElementRef } from "../../../utils.js";
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  declare const CommandShortcut: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLSpanElement>>, {}, "ref">;
4
4
  type CommandShortcut = ReturnType<typeof CommandShortcut>;
@@ -11,8 +11,9 @@
11
11
  </script>
12
12
 
13
13
  <CommandPrimitive.Root
14
- class={cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className)}
15
14
  bind:value
16
15
  bind:ref
16
+ data-slot="command"
17
+ class={cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className)}
17
18
  {...restProps}
18
19
  />
@@ -1,4 +1,4 @@
1
1
  import { Command as CommandPrimitive } from "bits-ui";
2
- declare const Command: import("svelte").Component<CommandPrimitive.RootProps, {}, "ref" | "value">;
2
+ declare const Command: import("svelte").Component<CommandPrimitive.RootProps, {}, "value" | "ref">;
3
3
  type Command = ReturnType<typeof Command>;
4
4
  export default Command;
@@ -1,8 +1,7 @@
1
1
  <script lang="ts">
2
- import { ContextMenu as ContextMenuPrimitive, type WithoutChildrenOrChild } from "bits-ui";
3
- import Check from "@lucide/svelte/icons/check";
4
- import Minus from "@lucide/svelte/icons/minus";
5
- import { cn } from "../../../utils.js";
2
+ import { ContextMenu as ContextMenuPrimitive } from "bits-ui";
3
+ import CheckIcon from "@lucide/svelte/icons/check";
4
+ import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
6
5
  import type { Snippet } from "svelte";
7
6
 
8
7
  let {
@@ -21,18 +20,17 @@
21
20
  bind:ref
22
21
  bind:checked
23
22
  bind:indeterminate
23
+ data-slot="context-menu-checkbox-item"
24
24
  class={cn(
25
- "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
25
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
26
26
  className
27
27
  )}
28
28
  {...restProps}
29
29
  >
30
- {#snippet children({ checked, indeterminate })}
31
- <span class="absolute left-2 flex size-3.5 items-center justify-center">
32
- {#if indeterminate}
33
- <Minus class="size-3.5" />
34
- {:else}
35
- <Check class={cn("size-3.5", !checked && "text-transparent")} />
30
+ {#snippet children({ checked })}
31
+ <span class="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
32
+ {#if checked}
33
+ <CheckIcon class="size-4" />
36
34
  {/if}
37
35
  </span>
38
36
  {@render childrenProp?.()}
@@ -1,4 +1,5 @@
1
- import { ContextMenu as ContextMenuPrimitive, type WithoutChildrenOrChild } from "bits-ui";
1
+ import { ContextMenu as ContextMenuPrimitive } from "bits-ui";
2
+ import { type WithoutChildrenOrChild } from "../../../utils.js";
2
3
  import type { Snippet } from "svelte";
3
4
  type $$ComponentProps = WithoutChildrenOrChild<ContextMenuPrimitive.CheckboxItemProps> & {
4
5
  children?: Snippet;
@@ -15,8 +15,9 @@
15
15
  <ContextMenuPrimitive.Portal {...portalProps}>
16
16
  <ContextMenuPrimitive.Content
17
17
  bind:ref
18
+ data-slot="context-menu-content"
18
19
  class={cn(
19
- "bg-popover text-popover-foreground z-50 min-w-[8rem] rounded-md border p-1 shadow-md focus:outline-hidden",
20
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--bits-context-menu-content-available-height) min-w-[8rem] origin-(--bits-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
20
21
  className
21
22
  )}
22
23
  {...restProps}
@@ -14,6 +14,8 @@
14
14
 
15
15
  <ContextMenuPrimitive.GroupHeading
16
16
  bind:ref
17
- class={cn("text-foreground px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className)}
17
+ data-slot="context-menu-group-heading"
18
+ data-inset={inset}
19
+ class={cn("text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className)}
18
20
  {...restProps}
19
21
  />
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { ContextMenu as ContextMenuPrimitive } from "bits-ui";
3
+
4
+ let { ref = $bindable(null), ...restProps }: ContextMenuPrimitive.GroupProps = $props();
5
+ </script>
6
+
7
+ <ContextMenuPrimitive.Group bind:ref data-slot="context-menu-group" {...restProps} />