negodesign 0.0.70 → 0.0.72

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 (393) hide show
  1. package/README.md +115 -23
  2. package/dist/components/NegoDesign.svelte +7 -2
  3. package/dist/components/core/banner/CtaCardImageBanner.svelte +10 -25
  4. package/dist/components/core/carousel/badge/ui/CarouselBadge.svelte +3 -5
  5. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +2 -2
  6. package/dist/components/core/carousel/highlights/ui/CarouselHighlights.svelte +2 -2
  7. package/dist/components/core/carousel/product/ui/CarouselProduct.svelte +2 -2
  8. package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte +2 -2
  9. package/dist/components/core/datatable/data/columns-create.d.ts +1 -1
  10. package/dist/components/core/datatable/data/data-table.d.ts +3 -3
  11. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +2 -2
  12. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +2 -1
  13. package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -2
  14. package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -2
  15. package/dist/components/core/datatable/ui/DataTableActions.svelte +1 -1
  16. package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +1 -1
  17. package/dist/components/core/datatable/ui/DataTableContent.svelte +1 -1
  18. package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +1 -1
  19. package/dist/components/core/datatable/ui/DataTableCore.svelte +23 -26
  20. package/dist/components/core/datatable/ui/DataTableListFilter.svelte +3 -2
  21. package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
  22. package/dist/components/core/datatable/ui/DataTableListPagination.svelte +1 -1
  23. package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
  24. package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +1 -1
  25. package/dist/components/core/panel/LeftHero.svelte +2 -2
  26. package/dist/components/core/sidebar/data/nav-top-bar-sidebar.d.ts +13 -4
  27. package/dist/components/core/sidebar/ui/navbar/NavMenuBarSidebar.svelte +3 -3
  28. package/dist/components/core/sidebar/ui/navbar/NavMenuTopBarSidebar.svelte +0 -2
  29. package/dist/components/core/sidebar/ui/navbar/nav-menu-header-sidebar.svelte +4 -5
  30. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +0 -1
  31. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +2 -3
  32. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +3 -1
  33. package/dist/components/ui/avatar/avatar-fallback.svelte +22 -12
  34. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +3 -2
  35. package/dist/components/ui/avatar/avatar-image.svelte +31 -9
  36. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +3 -2
  37. package/dist/components/ui/avatar/avatar.svelte +23 -9
  38. package/dist/components/ui/avatar/avatar.svelte.d.ts +6 -3
  39. package/dist/components/ui/avatar/context.svelte.d.ts +7 -0
  40. package/dist/components/ui/avatar/context.svelte.js +10 -0
  41. package/dist/components/ui/badge/badge.svelte +24 -26
  42. package/dist/components/ui/badge/badge.svelte.d.ts +15 -33
  43. package/dist/components/ui/button/button.svelte +35 -31
  44. package/dist/components/ui/button/button.svelte.d.ts +24 -61
  45. package/dist/components/ui/carousel/autoplay.d.ts +7 -0
  46. package/dist/components/ui/carousel/autoplay.js +7 -0
  47. package/dist/components/ui/carousel/carousel-content.svelte +31 -17
  48. package/dist/components/ui/carousel/carousel-item.svelte +2 -3
  49. package/dist/components/ui/carousel/carousel-next.svelte +1 -1
  50. package/dist/components/ui/carousel/carousel-previous.svelte +1 -1
  51. package/dist/components/ui/carousel/carousel.svelte +155 -30
  52. package/dist/components/ui/carousel/context.d.ts +23 -14
  53. package/dist/components/ui/carousel/context.js +4 -4
  54. package/dist/components/ui/carousel/index.d.ts +2 -0
  55. package/dist/components/ui/carousel/index.js +1 -0
  56. package/dist/components/ui/checkbox/checkbox.svelte +74 -17
  57. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +17 -2
  58. package/dist/components/ui/collapsible/collapsible-content.svelte +27 -3
  59. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +8 -2
  60. package/dist/components/ui/collapsible/collapsible-trigger.svelte +48 -3
  61. package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +10 -2
  62. package/dist/components/ui/collapsible/collapsible.svelte +62 -6
  63. package/dist/components/ui/collapsible/collapsible.svelte.d.ts +21 -2
  64. package/dist/components/ui/data-table/data-table.svelte.d.ts +2 -40
  65. package/dist/components/ui/data-table/data-table.svelte.js +1 -110
  66. package/dist/components/ui/data-table/flex-render.svelte +5 -5
  67. package/dist/components/ui/data-table/flex-render.svelte.d.ts +2 -2
  68. package/dist/components/ui/data-table/index.d.ts +2 -1
  69. package/dist/components/ui/data-table/index.js +1 -1
  70. package/dist/components/ui/data-table/table-core.svelte.d.ts +117 -0
  71. package/dist/components/ui/data-table/table-core.svelte.js +260 -0
  72. package/dist/components/ui/drawer/drawer-close.svelte +38 -3
  73. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +10 -2
  74. package/dist/components/ui/drawer/drawer-content.svelte +67 -18
  75. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +5 -4
  76. package/dist/components/ui/drawer/drawer-description.svelte +9 -6
  77. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +3 -2
  78. package/dist/components/ui/drawer/drawer-nested.svelte +28 -5
  79. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +8 -1
  80. package/dist/components/ui/drawer/drawer-overlay.svelte +18 -9
  81. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +3 -2
  82. package/dist/components/ui/drawer/drawer-portal.svelte +16 -3
  83. package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -1
  84. package/dist/components/ui/drawer/drawer-title.svelte +9 -6
  85. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +3 -2
  86. package/dist/components/ui/drawer/drawer-trigger.svelte +39 -3
  87. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +10 -2
  88. package/dist/components/ui/drawer/drawer.svelte +67 -4
  89. package/dist/components/ui/drawer/drawer.svelte.d.ts +23 -1
  90. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +18 -8
  91. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +8 -2
  92. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +53 -28
  93. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -3
  94. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +93 -17
  95. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -6
  96. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.d.ts +26 -0
  97. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.js +27 -0
  98. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +14 -8
  99. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +6 -3
  100. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +18 -3
  101. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +7 -2
  102. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +42 -8
  103. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +9 -2
  104. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +9 -5
  105. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +5 -2
  106. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +3 -3
  107. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +5 -1
  108. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +36 -8
  109. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +9 -2
  110. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +59 -23
  111. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +12 -2
  112. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +11 -7
  113. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +6 -2
  114. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +26 -9
  115. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +8 -2
  116. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +39 -11
  117. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -2
  118. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +73 -3
  119. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +8 -1
  120. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +65 -3
  121. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +12 -2
  122. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +50 -3
  123. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +9 -1
  124. package/dist/components/ui/empty/empty-content.svelte +2 -5
  125. package/dist/components/ui/empty/empty-description.svelte +2 -5
  126. package/dist/components/ui/empty/empty-header.svelte +2 -2
  127. package/dist/components/ui/empty/empty-media.svelte +17 -16
  128. package/dist/components/ui/empty/empty-media.svelte.d.ts +10 -19
  129. package/dist/components/ui/empty/empty-title.svelte +2 -2
  130. package/dist/components/ui/empty/empty.svelte +2 -5
  131. package/dist/components/ui/input-otp/context.svelte.d.ts +22 -0
  132. package/dist/components/ui/input-otp/context.svelte.js +8 -0
  133. package/dist/components/ui/input-otp/input-otp-group.svelte +5 -2
  134. package/dist/components/ui/input-otp/input-otp-separator.svelte +5 -5
  135. package/dist/components/ui/input-otp/input-otp-slot.svelte +50 -17
  136. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +7 -2
  137. package/dist/components/ui/input-otp/input-otp.svelte +167 -8
  138. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +17 -2
  139. package/dist/components/ui/label/label.svelte +10 -10
  140. package/dist/components/ui/label/label.svelte.d.ts +3 -2
  141. package/dist/components/ui/language-switcher/language-switcher.svelte +4 -3
  142. package/dist/components/ui/light-switch/light-switch.svelte +12 -6
  143. package/dist/components/ui/phone-input/country-selector.svelte +64 -78
  144. package/dist/components/ui/phone-input/country-selector.svelte.d.ts +6 -6
  145. package/dist/components/ui/phone-input/flag.svelte +3 -12
  146. package/dist/components/ui/phone-input/flag.svelte.d.ts +1 -1
  147. package/dist/components/ui/phone-input/flags.d.ts +2 -1
  148. package/dist/components/ui/phone-input/flags.js +4 -8
  149. package/dist/components/ui/phone-input/index.d.ts +1 -1
  150. package/dist/components/ui/phone-input/phone-input.svelte +106 -21
  151. package/dist/components/ui/phone-input/phone-input.svelte.d.ts +1 -2
  152. package/dist/components/ui/phone-input/types.d.ts +16 -1
  153. package/dist/components/ui/popover/popover-close.svelte +22 -3
  154. package/dist/components/ui/popover/popover-close.svelte.d.ts +7 -2
  155. package/dist/components/ui/popover/popover-content.svelte +80 -18
  156. package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -6
  157. package/dist/components/ui/popover/popover-context.svelte.d.ts +13 -0
  158. package/dist/components/ui/popover/popover-context.svelte.js +13 -0
  159. package/dist/components/ui/popover/popover-portal.svelte +3 -3
  160. package/dist/components/ui/popover/popover-portal.svelte.d.ts +5 -1
  161. package/dist/components/ui/popover/popover-trigger.svelte +62 -10
  162. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +12 -2
  163. package/dist/components/ui/popover/popover.svelte +50 -3
  164. package/dist/components/ui/popover/popover.svelte.d.ts +9 -1
  165. package/dist/components/ui/separator/separator.svelte +17 -11
  166. package/dist/components/ui/separator/separator.svelte.d.ts +7 -2
  167. package/dist/components/ui/sidebar/context.svelte.d.ts +15 -23
  168. package/dist/components/ui/sidebar/context.svelte.js +33 -21
  169. package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
  170. package/dist/components/ui/sidebar/sidebar-footer.svelte +1 -1
  171. package/dist/components/ui/sidebar/sidebar-group-content.svelte +1 -1
  172. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +3 -2
  173. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +35 -66
  174. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +9 -38
  175. package/dist/components/ui/sidebar/sidebar-provider.svelte +28 -18
  176. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +3 -0
  177. package/dist/components/ui/sidebar/sidebar-rail.svelte +1 -1
  178. package/dist/components/ui/sidebar/sidebar-separator.svelte +11 -8
  179. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +3 -11
  180. package/dist/components/ui/sidebar/sidebar-trigger.svelte +2 -2
  181. package/dist/components/ui/sidebar/sidebar.svelte +34 -23
  182. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +1 -1
  183. package/dist/components/ui/skeleton/skeleton.svelte +7 -4
  184. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +1 -1
  185. package/dist/components/ui/star-rating/star-rating-star.svelte +57 -31
  186. package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +1 -1
  187. package/dist/components/ui/star-rating/star-rating.svelte +143 -13
  188. package/dist/components/ui/star-rating/star-rating.svelte.d.ts +31 -2
  189. package/dist/components/ui/star-rating/types.d.ts +6 -1
  190. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +26 -9
  191. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +9 -2
  192. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +15 -8
  193. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +8 -2
  194. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +65 -34
  195. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +14 -2
  196. package/dist/components/ui/underline-tabs/underline-tabs.svelte +49 -20
  197. package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +10 -2
  198. package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +6 -59
  199. package/dist/docs/ApiTable.svelte +42 -0
  200. package/dist/docs/ApiTable.svelte.d.ts +7 -0
  201. package/dist/docs/CodeBlock.svelte +26 -0
  202. package/dist/docs/CodeBlock.svelte.d.ts +7 -0
  203. package/dist/docs/DocsHeader.svelte +25 -0
  204. package/dist/docs/DocsHeader.svelte.d.ts +6 -0
  205. package/dist/docs/DocsSidebar.svelte +99 -0
  206. package/dist/docs/DocsSidebar.svelte.d.ts +3 -0
  207. package/dist/docs/components.d.ts +27 -0
  208. package/dist/docs/components.js +897 -0
  209. package/dist/globals.css +460 -1617
  210. package/dist/styles/globals.css +136 -2
  211. package/dist/theme.svelte.d.ts +7 -0
  212. package/dist/theme.svelte.js +33 -0
  213. package/dist/utils.d.ts +4 -4
  214. package/dist/utils.js +18 -3
  215. package/package.json +4 -34
  216. package/dist/components/ui/chart/chart-container.svelte +0 -80
  217. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  218. package/dist/components/ui/chart/chart-style.svelte +0 -37
  219. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  220. package/dist/components/ui/chart/chart-tooltip.svelte +0 -184
  221. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  222. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  223. package/dist/components/ui/chart/chart-utils.js +0 -38
  224. package/dist/components/ui/chart/index.d.ts +0 -4
  225. package/dist/components/ui/chart/index.js +0 -4
  226. package/dist/components/ui/command/command-dialog.svelte +0 -42
  227. package/dist/components/ui/command/command-dialog.svelte.d.ts +0 -14
  228. package/dist/components/ui/command/command-empty.svelte +0 -17
  229. package/dist/components/ui/command/command-empty.svelte.d.ts +0 -4
  230. package/dist/components/ui/command/command-group.svelte +0 -33
  231. package/dist/components/ui/command/command-group.svelte.d.ts +0 -7
  232. package/dist/components/ui/command/command-input.svelte +0 -33
  233. package/dist/components/ui/command/command-input.svelte.d.ts +0 -4
  234. package/dist/components/ui/command/command-item.svelte +0 -27
  235. package/dist/components/ui/command/command-item.svelte.d.ts +0 -4
  236. package/dist/components/ui/command/command-link-item.svelte +0 -20
  237. package/dist/components/ui/command/command-link-item.svelte.d.ts +0 -4
  238. package/dist/components/ui/command/command-list.svelte +0 -20
  239. package/dist/components/ui/command/command-list.svelte.d.ts +0 -4
  240. package/dist/components/ui/command/command-loading.svelte +0 -7
  241. package/dist/components/ui/command/command-loading.svelte.d.ts +0 -4
  242. package/dist/components/ui/command/command-separator.svelte +0 -17
  243. package/dist/components/ui/command/command-separator.svelte.d.ts +0 -4
  244. package/dist/components/ui/command/command-shortcut.svelte +0 -23
  245. package/dist/components/ui/command/command-shortcut.svelte.d.ts +0 -5
  246. package/dist/components/ui/command/command.svelte +0 -28
  247. package/dist/components/ui/command/command.svelte.d.ts +0 -8
  248. package/dist/components/ui/command/index.d.ts +0 -12
  249. package/dist/components/ui/command/index.js +0 -14
  250. package/dist/components/ui/dialog/dialog-close.svelte +0 -11
  251. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  252. package/dist/components/ui/dialog/dialog-content.svelte +0 -48
  253. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -13
  254. package/dist/components/ui/dialog/dialog-description.svelte +0 -20
  255. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  256. package/dist/components/ui/dialog/dialog-footer.svelte +0 -32
  257. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -8
  258. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  259. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  260. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  261. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  262. package/dist/components/ui/dialog/dialog-portal.svelte +0 -7
  263. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +0 -3
  264. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  265. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  266. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -11
  267. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  268. package/dist/components/ui/dialog/dialog.svelte +0 -7
  269. package/dist/components/ui/dialog/dialog.svelte.d.ts +0 -3
  270. package/dist/components/ui/dialog/index.d.ts +0 -11
  271. package/dist/components/ui/dialog/index.js +0 -13
  272. package/dist/components/ui/input-group/index.d.ts +0 -7
  273. package/dist/components/ui/input-group/index.js +0 -9
  274. package/dist/components/ui/input-group/input-group-addon.svelte +0 -59
  275. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +0 -38
  276. package/dist/components/ui/input-group/input-group-button.svelte +0 -49
  277. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +0 -32
  278. package/dist/components/ui/input-group/input-group-input.svelte +0 -23
  279. package/dist/components/ui/input-group/input-group-input.svelte.d.ts +0 -11
  280. package/dist/components/ui/input-group/input-group-text.svelte +0 -22
  281. package/dist/components/ui/input-group/input-group-text.svelte.d.ts +0 -5
  282. package/dist/components/ui/input-group/input-group-textarea.svelte +0 -23
  283. package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +0 -3
  284. package/dist/components/ui/input-group/input-group.svelte +0 -24
  285. package/dist/components/ui/input-group/input-group.svelte.d.ts +0 -5
  286. package/dist/components/ui/navigation-menu/index.d.ts +0 -9
  287. package/dist/components/ui/navigation-menu/index.js +0 -11
  288. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +0 -20
  289. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte.d.ts +0 -4
  290. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +0 -22
  291. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte.d.ts +0 -4
  292. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +0 -17
  293. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte.d.ts +0 -4
  294. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +0 -17
  295. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte.d.ts +0 -4
  296. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +0 -20
  297. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte.d.ts +0 -4
  298. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +0 -30
  299. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +0 -5
  300. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +0 -22
  301. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte.d.ts +0 -4
  302. package/dist/components/ui/navigation-menu/navigation-menu.svelte +0 -31
  303. package/dist/components/ui/navigation-menu/navigation-menu.svelte.d.ts +0 -7
  304. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  305. package/dist/components/ui/scroll-area/index.js +0 -5
  306. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -30
  307. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  308. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -43
  309. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -11
  310. package/dist/components/ui/select/index.d.ts +0 -12
  311. package/dist/components/ui/select/index.js +0 -14
  312. package/dist/components/ui/select/select-content.svelte +0 -45
  313. package/dist/components/ui/select/select-content.svelte.d.ts +0 -11
  314. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  315. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  316. package/dist/components/ui/select/select-group.svelte +0 -17
  317. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  318. package/dist/components/ui/select/select-item.svelte +0 -41
  319. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  320. package/dist/components/ui/select/select-label.svelte +0 -20
  321. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  322. package/dist/components/ui/select/select-portal.svelte +0 -7
  323. package/dist/components/ui/select/select-portal.svelte.d.ts +0 -3
  324. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -21
  325. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  326. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -21
  327. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  328. package/dist/components/ui/select/select-separator.svelte +0 -18
  329. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  330. package/dist/components/ui/select/select-trigger.svelte +0 -30
  331. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  332. package/dist/components/ui/select/select.svelte +0 -11
  333. package/dist/components/ui/select/select.svelte.d.ts +0 -3
  334. package/dist/components/ui/sheet/index.d.ts +0 -11
  335. package/dist/components/ui/sheet/index.js +0 -13
  336. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  337. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  338. package/dist/components/ui/sheet/sheet-content.svelte +0 -56
  339. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -15
  340. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  341. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  342. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  343. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  344. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  345. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  346. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -17
  347. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  348. package/dist/components/ui/sheet/sheet-portal.svelte +0 -7
  349. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +0 -3
  350. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  351. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  352. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  353. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  354. package/dist/components/ui/sheet/sheet.svelte +0 -7
  355. package/dist/components/ui/sheet/sheet.svelte.d.ts +0 -3
  356. package/dist/components/ui/spinner/index.d.ts +0 -1
  357. package/dist/components/ui/spinner/index.js +0 -1
  358. package/dist/components/ui/spinner/spinner.svelte +0 -26
  359. package/dist/components/ui/spinner/spinner.svelte.d.ts +0 -4
  360. package/dist/components/ui/tabs/index.d.ts +0 -5
  361. package/dist/components/ui/tabs/index.js +0 -7
  362. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  363. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  364. package/dist/components/ui/tabs/tabs-list.svelte +0 -40
  365. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -25
  366. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -23
  367. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  368. package/dist/components/ui/tabs/tabs.svelte +0 -19
  369. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  370. package/dist/components/ui/textarea/index.d.ts +0 -2
  371. package/dist/components/ui/textarea/index.js +0 -4
  372. package/dist/components/ui/textarea/textarea.svelte +0 -23
  373. package/dist/components/ui/textarea/textarea.svelte.d.ts +0 -5
  374. package/dist/components/ui/tooltip/index.d.ts +0 -6
  375. package/dist/components/ui/tooltip/index.js +0 -8
  376. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -52
  377. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -11
  378. package/dist/components/ui/tooltip/tooltip-portal.svelte +0 -7
  379. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +0 -4
  380. package/dist/components/ui/tooltip/tooltip-provider.svelte +0 -7
  381. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +0 -4
  382. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  383. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -25
  384. package/dist/components/ui/tooltip/tooltip.svelte +0 -7
  385. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +0 -25
  386. package/dist/vitest-examples/Welcome.svelte +0 -8
  387. package/dist/vitest-examples/Welcome.svelte.d.ts +0 -13
  388. package/dist/vitest-examples/Welcome.svelte.spec.d.ts +0 -1
  389. package/dist/vitest-examples/Welcome.svelte.spec.js +0 -11
  390. package/dist/vitest-examples/greet.d.ts +0 -1
  391. package/dist/vitest-examples/greet.js +0 -3
  392. package/dist/vitest-examples/greet.spec.d.ts +0 -1
  393. package/dist/vitest-examples/greet.spec.js +0 -7
@@ -1,8 +1,7 @@
1
1
  <script lang="ts">
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
2
  import * as Collapsible from "../../../../ui/collapsible/index.js";
4
3
  import * as Sidebar from "../../../../ui/sidebar/index.js";
5
- import ChevronRightIcon from "@lucide/svelte/icons/chevron-right";
4
+ import { ChevronRightIcon } from "@hugeicons/core-free-icons";
6
5
  import { HugeiconsIcon } from "@hugeicons/svelte";
7
6
  import type {
8
7
  NavMenuAndSubmenuSidebarProps,
@@ -43,7 +42,8 @@
43
42
  <HugeiconsIcon icon={item.icon} />
44
43
  {/if}
45
44
  <span>{item.title}</span>
46
- <ChevronRightIcon
45
+ <HugeiconsIcon
46
+ icon={ChevronRightIcon}
47
47
  class="ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"
48
48
  />
49
49
  </Sidebar.MenuButton>
@@ -6,8 +6,6 @@
6
6
  import { HugeiconsIcon } from "@hugeicons/svelte";
7
7
  import { UnfoldMoreIcon } from "@hugeicons/core-free-icons";
8
8
 
9
- // This should be `Component` after @lucide/svelte updates types
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
9
  let { content, dropdownMenu }: NavTopBarSidebarItem = $props();
12
10
  const sidebar = useSidebar();
13
11
  </script>
@@ -2,10 +2,9 @@
2
2
  import * as DropdownMenu from "../../../../ui/dropdown-menu/index.js";
3
3
  import * as Sidebar from "../../../../ui/sidebar/index.js";
4
4
  import { useSidebar } from "../../../../ui/sidebar/index.js";
5
- import ChevronsUpDownIcon from "@lucide/svelte/icons/chevrons-up-down";
6
- import PlusIcon from "@lucide/svelte/icons/plus";
5
+ import { HugeiconsIcon } from "@hugeicons/svelte";
6
+ import { PlusSignIcon, UnfoldMoreIcon } from "@hugeicons/core-free-icons";
7
7
 
8
- // This should be `Component` after @lucide/svelte updates types
9
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
9
  let { teams }: { teams: { name: string; logo: any; plan: string }[] } =
11
10
  $props();
@@ -36,7 +35,7 @@
36
35
  </span>
37
36
  <span class="truncate text-xs">{activeTeam.plan}</span>
38
37
  </div>
39
- <ChevronsUpDownIcon class="ms-auto" />
38
+ <HugeiconsIcon icon={UnfoldMoreIcon} class="ms-auto" />
40
39
  </Sidebar.MenuButton>
41
40
  {/snippet}
42
41
  </DropdownMenu.Trigger>
@@ -68,7 +67,7 @@
68
67
  <div
69
68
  class="flex size-6 items-center justify-center rounded-md border bg-transparent"
70
69
  >
71
- <PlusIcon class="size-4" />
70
+ <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
72
71
  </div>
73
72
  <div class="text-muted-foreground font-medium">Add team</div>
74
73
  </DropdownMenu.Item>
@@ -38,7 +38,6 @@
38
38
 
39
39
  {#snippet media(file: ProductDetailsImage, cls: string)}
40
40
  {#if file.type === "video"}
41
- <!-- svelte-ignore a11y_media_has_caption -->
42
41
  <video src={file.src} class={cls} muted playsinline></video>
43
42
  {:else}
44
43
  <img src={file.src} alt={file.alt ?? ""} class={cls} />
@@ -7,9 +7,8 @@
7
7
  </script>
8
8
 
9
9
  <script lang="ts">
10
- import { MapPin } from "@hugeicons/core-free-icons";
10
+ import { MapPin, PlusSignIcon } from "@hugeicons/core-free-icons";
11
11
  import { HugeiconsIcon } from "@hugeicons/svelte";
12
- import PlusIcon from "@lucide/svelte/icons/plus";
13
12
  import Badge from "../../../ui/badge/badge.svelte";
14
13
  import Button from "../../../ui/button/button.svelte";
15
14
  import Skeleton from "../../../ui/skeleton/skeleton.svelte";
@@ -39,7 +38,7 @@
39
38
  <div class="mb-6 flex items-center justify-between">
40
39
  <h3 class="text-lg font-semibold">{title}</h3>
41
40
  <Button variant="ghost" size="sm" onclick={onAddAddress}>
42
- <PlusIcon class="size-4" />
41
+ <HugeiconsIcon icon={PlusSignIcon} class="size-4" />
43
42
  {addLabel}
44
43
  </Button>
45
44
  </div>
@@ -40,7 +40,9 @@
40
40
  <div
41
41
  class={cn(
42
42
  "mb-6 flex gap-1 border-b overflow-x-auto",
43
- style === "pill" && "-mt-12 mb-6 rounded-t-lg border border-t bg-background px-2 py-1 shadow-sm border-b",
43
+ style === "pill"
44
+ ? "-mt-12 mb-6 rounded-t-lg border border-t bg-background px-2 py-1 shadow-sm border-b"
45
+ : "",
44
46
  className
45
47
  )}
46
48
  data-slot="profile-user-tabs"
@@ -1,20 +1,30 @@
1
1
  <script lang="ts">
2
- import { Avatar as AvatarPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils.js";
2
+ import { cn, type WithElementRef } from "../../../utils.js";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ import { getAvatarContext } from "./context.svelte.js";
4
5
 
5
6
  let {
6
7
  ref = $bindable(null),
7
8
  class: className,
9
+ children,
8
10
  ...restProps
9
- }: AvatarPrimitive.FallbackProps = $props();
11
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
12
+
13
+ const ctx = getAvatarContext();
14
+
15
+ let show = $derived(!ctx.src || ctx.imageError);
10
16
  </script>
11
17
 
12
- <AvatarPrimitive.Fallback
13
- bind:ref
14
- data-slot="avatar-fallback"
15
- class={cn(
16
- "bg-muted text-muted-foreground rounded-full flex size-full items-center justify-center text-sm group-data-[size=sm]/avatar:text-xs",
17
- className
18
- )}
19
- {...restProps}
20
- />
18
+ {#if show}
19
+ <div
20
+ bind:this={ref}
21
+ data-slot="avatar-fallback"
22
+ class={cn(
23
+ "bg-muted flex size-full items-center justify-center rounded-full fill-foreground text-sm select-none [&>svg]:size-full",
24
+ className
25
+ )}
26
+ {...restProps}
27
+ >
28
+ {@render children?.()}
29
+ </div>
30
+ {/if}
@@ -1,4 +1,5 @@
1
- import { Avatar as AvatarPrimitive } from "bits-ui";
2
- declare const AvatarFallback: import("svelte").Component<AvatarPrimitive.FallbackProps, {}, "ref">;
1
+ import { type WithElementRef } from "../../../utils.js";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const AvatarFallback: import("svelte").Component<WithElementRef<HTMLAttributes<HTMLDivElement>>, {}, "ref">;
3
4
  type AvatarFallback = ReturnType<typeof AvatarFallback>;
4
5
  export default AvatarFallback;
@@ -1,17 +1,39 @@
1
1
  <script lang="ts">
2
- import { Avatar as AvatarPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils.js";
2
+ import { cn, type WithElementRef } from "../../../utils.js";
3
+ import type { HTMLImgAttributes } from "svelte/elements";
4
+ import { getAvatarContext } from "./context.svelte.js";
4
5
 
5
6
  let {
6
7
  ref = $bindable(null),
8
+ src,
9
+ srcset,
10
+ alt = "",
7
11
  class: className,
8
12
  ...restProps
9
- }: AvatarPrimitive.ImageProps = $props();
13
+ }: WithElementRef<HTMLImgAttributes> = $props();
14
+
15
+ const ctx = getAvatarContext();
16
+
17
+ $effect(() => {
18
+ if (src) ctx.src = src;
19
+ if (srcset) ctx.srcset = srcset;
20
+ });
10
21
  </script>
11
22
 
12
- <AvatarPrimitive.Image
13
- bind:ref
14
- data-slot="avatar-image"
15
- class={cn("rounded-full aspect-square size-full object-cover", className)}
16
- {...restProps}
17
- />
23
+ {#if src || ctx.src}
24
+ <img
25
+ bind:this={ref}
26
+ data-slot="avatar-image"
27
+ src={src ?? ctx.src}
28
+ srcset={srcset ?? ctx.srcset}
29
+ {alt}
30
+ onerror={() => {
31
+ ctx.imageError = true;
32
+ }}
33
+ onload={() => {
34
+ ctx.imageError = false;
35
+ }}
36
+ class={cn("aspect-square size-full rounded-full object-cover", className)}
37
+ {...restProps}
38
+ />
39
+ {/if}
@@ -1,4 +1,5 @@
1
- import { Avatar as AvatarPrimitive } from "bits-ui";
2
- declare const AvatarImage: import("svelte").Component<AvatarPrimitive.ImageProps, {}, "ref">;
1
+ import { type WithElementRef } from "../../../utils.js";
2
+ import type { HTMLImgAttributes } from "svelte/elements";
3
+ declare const AvatarImage: import("svelte").Component<WithElementRef<HTMLImgAttributes>, {}, "ref">;
3
4
  type AvatarImage = ReturnType<typeof AvatarImage>;
4
5
  export default AvatarImage;
@@ -1,26 +1,40 @@
1
1
  <script lang="ts">
2
- import { Avatar as AvatarPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils.js";
2
+ import { cn, type WithElementRef } from "../../../utils.js";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ import { setAvatarContext } from "./context.svelte.js";
4
5
 
5
6
  let {
6
7
  ref = $bindable(null),
7
- loadingStatus = $bindable("loading"),
8
8
  size = "default",
9
+ src,
10
+ srcset,
9
11
  class: className,
12
+ children,
10
13
  ...restProps
11
- }: AvatarPrimitive.RootProps & {
14
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
12
15
  size?: "default" | "sm" | "lg";
16
+ src?: string;
17
+ srcset?: string;
13
18
  } = $props();
19
+
20
+ // svelte-ignore state_referenced_locally
21
+ const ctx = setAvatarContext(src, srcset);
22
+
23
+ $effect(() => {
24
+ if (src) ctx.src = src;
25
+ if (srcset) ctx.srcset = srcset;
26
+ });
14
27
  </script>
15
28
 
16
- <AvatarPrimitive.Root
17
- bind:ref
18
- bind:loadingStatus
29
+ <div
30
+ bind:this={ref}
19
31
  data-slot="avatar"
20
32
  data-size={size}
21
33
  class={cn(
22
- "size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6 after:border-border group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:border after:mix-blend-darken dark:after:mix-blend-lighten",
34
+ "group/avatar relative flex size-10 shrink-0 select-none overflow-hidden rounded-full",
23
35
  className
24
36
  )}
25
37
  {...restProps}
26
- />
38
+ >
39
+ {@render children?.()}
40
+ </div>
@@ -1,7 +1,10 @@
1
- import { Avatar as AvatarPrimitive } from "bits-ui";
2
- type $$ComponentProps = AvatarPrimitive.RootProps & {
1
+ import { type WithElementRef } from "../../../utils.js";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
3
4
  size?: "default" | "sm" | "lg";
5
+ src?: string;
6
+ srcset?: string;
4
7
  };
5
- declare const Avatar: import("svelte").Component<$$ComponentProps, {}, "ref" | "loadingStatus">;
8
+ declare const Avatar: import("svelte").Component<$$ComponentProps, {}, "ref">;
6
9
  type Avatar = ReturnType<typeof Avatar>;
7
10
  export default Avatar;
@@ -0,0 +1,7 @@
1
+ export type AvatarContext = {
2
+ imageError: boolean;
3
+ src?: string;
4
+ srcset?: string;
5
+ };
6
+ export declare function setAvatarContext(src?: string, srcset?: string): AvatarContext;
7
+ export declare function getAvatarContext(): AvatarContext;
@@ -0,0 +1,10 @@
1
+ import { getContext, setContext } from "svelte";
2
+ const AVATAR_KEY = Symbol("avatar");
3
+ export function setAvatarContext(src, srcset) {
4
+ const ctx = $state({ imageError: false, src, srcset });
5
+ setContext(AVATAR_KEY, ctx);
6
+ return ctx;
7
+ }
8
+ export function getAvatarContext() {
9
+ return getContext(AVATAR_KEY);
10
+ }
@@ -1,49 +1,47 @@
1
1
  <script lang="ts" module>
2
- import { type VariantProps, tv } from "tailwind-variants";
2
+ import { cn } from "../../../utils.js";
3
3
 
4
- export const badgeVariants = tv({
5
- base: "h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:ring-[3px] [&>svg]:pointer-events-none",
6
- variants: {
7
- variant: {
8
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
9
- secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
10
- destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",
11
- outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30",
12
- ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
13
- link: "text-primary underline-offset-4 hover:underline",
14
- },
15
- },
16
- defaultVariants: {
17
- variant: "default",
18
- },
19
- });
4
+ const badgeBase =
5
+ "h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:ring-[3px] [&>svg]:pointer-events-none";
20
6
 
21
- export type BadgeVariant = VariantProps<typeof badgeVariants>["variant"];
7
+ const badgeVariantClasses = {
8
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
9
+ secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",
10
+ destructive:
11
+ "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",
12
+ outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30",
13
+ ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",
14
+ link: "text-primary underline-offset-4 hover:underline",
15
+ } as const;
16
+
17
+ export type BadgeVariant = keyof typeof badgeVariantClasses;
18
+
19
+ export function badgeVariants(opts: { variant?: BadgeVariant } = {}): string {
20
+ const variant = opts.variant ?? "default";
21
+ return cn(badgeBase, badgeVariantClasses[variant]);
22
+ }
22
23
  </script>
23
24
 
24
25
  <script lang="ts">
25
- import type { HTMLAnchorAttributes } from "svelte/elements";
26
- import { cn, type WithElementRef } from "../../../utils.js";
26
+ import type { HTMLAttributes } from "svelte/elements";
27
+ import type { WithElementRef } from "../../../utils.js";
27
28
 
28
29
  let {
29
30
  ref = $bindable(null),
30
- href,
31
31
  class: className,
32
32
  variant = "default",
33
33
  children,
34
34
  ...restProps
35
- }: WithElementRef<HTMLAnchorAttributes> & {
35
+ }: WithElementRef<HTMLAttributes<HTMLDivElement>> & {
36
36
  variant?: BadgeVariant;
37
37
  } = $props();
38
38
  </script>
39
39
 
40
- <svelte:element
41
- this={href ? "a" : "span"}
40
+ <div
42
41
  bind:this={ref}
43
42
  data-slot="badge"
44
- {href}
45
43
  class={cn(badgeVariants({ variant }), className)}
46
44
  {...restProps}
47
45
  >
48
46
  {@render children?.()}
49
- </svelte:element>
47
+ </div>
@@ -1,36 +1,18 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- export declare const badgeVariants: import("tailwind-variants").TVReturnType<{
3
- variant: {
4
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80";
5
- secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80";
6
- destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20";
7
- outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30";
8
- ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50";
9
- link: "text-primary underline-offset-4 hover:underline";
10
- };
11
- }, undefined, "h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:ring-[3px] [&>svg]:pointer-events-none", {
12
- variant: {
13
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80";
14
- secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80";
15
- destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20";
16
- outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30";
17
- ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50";
18
- link: "text-primary underline-offset-4 hover:underline";
19
- };
20
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
21
- variant: {
22
- default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80";
23
- secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80";
24
- destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20";
25
- outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30";
26
- ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50";
27
- link: "text-primary underline-offset-4 hover:underline";
28
- };
29
- }, undefined>>;
30
- export type BadgeVariant = VariantProps<typeof badgeVariants>["variant"];
31
- import type { HTMLAnchorAttributes } from "svelte/elements";
32
- import { type WithElementRef } from "../../../utils.js";
33
- type $$ComponentProps = WithElementRef<HTMLAnchorAttributes> & {
1
+ declare const badgeVariantClasses: {
2
+ readonly default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80";
3
+ readonly secondary: "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80";
4
+ readonly destructive: "bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20";
5
+ readonly outline: "border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground bg-input/30";
6
+ readonly ghost: "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50";
7
+ readonly link: "text-primary underline-offset-4 hover:underline";
8
+ };
9
+ export type BadgeVariant = keyof typeof badgeVariantClasses;
10
+ export declare function badgeVariants(opts?: {
11
+ variant?: BadgeVariant;
12
+ }): string;
13
+ import type { HTMLAttributes } from "svelte/elements";
14
+ import type { WithElementRef } from "../../../utils.js";
15
+ type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
34
16
  variant?: BadgeVariant;
35
17
  };
36
18
  declare const Badge: import("svelte").Component<$$ComponentProps, {}, "ref">;
@@ -1,38 +1,42 @@
1
1
  <script lang="ts" module>
2
- import { type VariantProps, tv } from "tailwind-variants";
3
2
  import { cn, type WithElementRef } from "../../../utils.js";
4
3
  import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
5
4
 
6
- export const buttonVariants = tv({
7
- base: "rounded-sm border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
8
- variants: {
9
- variant: {
10
- default: "bg-primary text-primary-foreground hover:bg-primary/80",
11
- outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground",
12
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
13
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
14
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
15
- link: "text-primary underline-offset-4 hover:underline",
16
- },
17
- size: {
18
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5",
19
- xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3",
20
- sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
21
- lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
22
- icon: "size-9",
23
- "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3",
24
- "icon-sm": "size-8",
25
- "icon-lg": "size-10",
26
- },
27
- },
28
- defaultVariants: {
29
- variant: "default",
30
- size: "default",
31
- },
32
- });
5
+ const buttonBase =
6
+ "rounded-sm border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0";
33
7
 
34
- export type ButtonVariant = VariantProps<typeof buttonVariants>["variant"];
35
- export type ButtonSize = VariantProps<typeof buttonVariants>["size"];
8
+ const buttonVariantClasses = {
9
+ default: "bg-primary text-primary-foreground hover:bg-primary/80",
10
+ outline:
11
+ "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground",
12
+ secondary:
13
+ "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
14
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
15
+ destructive:
16
+ "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
17
+ link: "text-primary underline-offset-4 hover:underline",
18
+ } as const;
19
+
20
+ const buttonSizeClasses = {
21
+ default:
22
+ "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5",
23
+ xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3",
24
+ sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
25
+ lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
26
+ icon: "size-9",
27
+ "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3",
28
+ "icon-sm": "size-8",
29
+ "icon-lg": "size-10",
30
+ } as const;
31
+
32
+ export type ButtonVariant = keyof typeof buttonVariantClasses;
33
+ export type ButtonSize = keyof typeof buttonSizeClasses;
34
+
35
+ export function buttonVariants(opts: { variant?: ButtonVariant; size?: ButtonSize } = {}): string {
36
+ const variant = opts.variant ?? "default";
37
+ const size = opts.size ?? "default";
38
+ return cn(buttonBase, buttonVariantClasses[variant], buttonSizeClasses[size]);
39
+ }
36
40
 
37
41
  export type ButtonProps = WithElementRef<HTMLButtonAttributes> &
38
42
  WithElementRef<HTMLAnchorAttributes> & {
@@ -79,4 +83,4 @@
79
83
  >
80
84
  {@render children?.()}
81
85
  </button>
82
- {/if}
86
+ {/if}
@@ -1,66 +1,29 @@
1
- import { type VariantProps } from "tailwind-variants";
2
1
  import { type WithElementRef } from "../../../utils.js";
3
2
  import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
4
- export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
5
- variant: {
6
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
7
- outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
8
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
9
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
10
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
11
- link: "text-primary underline-offset-4 hover:underline";
12
- };
13
- size: {
14
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
15
- xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
16
- sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
17
- lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
18
- icon: "size-9";
19
- "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
20
- "icon-sm": "size-8";
21
- "icon-lg": "size-10";
22
- };
23
- }, undefined, "rounded-sm border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
24
- variant: {
25
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
26
- outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
27
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
28
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
29
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
30
- link: "text-primary underline-offset-4 hover:underline";
31
- };
32
- size: {
33
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
34
- xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
35
- sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
36
- lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
37
- icon: "size-9";
38
- "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
39
- "icon-sm": "size-8";
40
- "icon-lg": "size-10";
41
- };
42
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
43
- variant: {
44
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
45
- outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
46
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
47
- ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
48
- destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
49
- link: "text-primary underline-offset-4 hover:underline";
50
- };
51
- size: {
52
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
53
- xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
54
- sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
55
- lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
56
- icon: "size-9";
57
- "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
58
- "icon-sm": "size-8";
59
- "icon-lg": "size-10";
60
- };
61
- }, undefined>>;
62
- export type ButtonVariant = VariantProps<typeof buttonVariants>["variant"];
63
- export type ButtonSize = VariantProps<typeof buttonVariants>["size"];
3
+ declare const buttonVariantClasses: {
4
+ readonly default: "bg-primary text-primary-foreground hover:bg-primary/80";
5
+ readonly outline: "border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground";
6
+ readonly secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
7
+ readonly ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50";
8
+ readonly destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40";
9
+ readonly link: "text-primary underline-offset-4 hover:underline";
10
+ };
11
+ declare const buttonSizeClasses: {
12
+ readonly default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
13
+ readonly xs: "h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3";
14
+ readonly sm: "h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2";
15
+ readonly lg: "h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3";
16
+ readonly icon: "size-9";
17
+ readonly "icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3";
18
+ readonly "icon-sm": "size-8";
19
+ readonly "icon-lg": "size-10";
20
+ };
21
+ export type ButtonVariant = keyof typeof buttonVariantClasses;
22
+ export type ButtonSize = keyof typeof buttonSizeClasses;
23
+ export declare function buttonVariants(opts?: {
24
+ variant?: ButtonVariant;
25
+ size?: ButtonSize;
26
+ }): string;
64
27
  export type ButtonProps = WithElementRef<HTMLButtonAttributes> & WithElementRef<HTMLAnchorAttributes> & {
65
28
  variant?: ButtonVariant;
66
29
  size?: ButtonSize;
@@ -0,0 +1,7 @@
1
+ import type { CarouselPlugins } from "./context.js";
2
+ export type AutoplayOptions = {
3
+ delay?: number;
4
+ stopOnInteraction?: boolean;
5
+ loop?: boolean;
6
+ };
7
+ export declare function autoplay(options?: AutoplayOptions): CarouselPlugins[number];
@@ -0,0 +1,7 @@
1
+ export function autoplay(options = {}) {
2
+ return {
3
+ delay: options.delay ?? 4000,
4
+ stopOnInteraction: options.stopOnInteraction ?? true,
5
+ loop: options.loop ?? false,
6
+ };
7
+ }