negodesign 0.0.71 → 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 (392) hide show
  1. package/README.md +115 -23
  2. package/dist/components/NegoDesign.svelte +7 -2
  3. package/dist/components/core/carousel/badge/ui/CarouselBadge.svelte +3 -5
  4. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +2 -2
  5. package/dist/components/core/carousel/highlights/ui/CarouselHighlights.svelte +2 -2
  6. package/dist/components/core/carousel/product/ui/CarouselProduct.svelte +2 -2
  7. package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte +2 -2
  8. package/dist/components/core/datatable/data/columns-create.d.ts +1 -1
  9. package/dist/components/core/datatable/data/data-table.d.ts +3 -3
  10. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +2 -2
  11. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +2 -1
  12. package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -2
  13. package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -2
  14. package/dist/components/core/datatable/ui/DataTableActions.svelte +1 -1
  15. package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +1 -1
  16. package/dist/components/core/datatable/ui/DataTableContent.svelte +1 -1
  17. package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +1 -1
  18. package/dist/components/core/datatable/ui/DataTableCore.svelte +23 -26
  19. package/dist/components/core/datatable/ui/DataTableListFilter.svelte +3 -2
  20. package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
  21. package/dist/components/core/datatable/ui/DataTableListPagination.svelte +1 -1
  22. package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
  23. package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +1 -1
  24. package/dist/components/core/panel/LeftHero.svelte +2 -2
  25. package/dist/components/core/sidebar/data/nav-top-bar-sidebar.d.ts +13 -4
  26. package/dist/components/core/sidebar/ui/navbar/NavMenuBarSidebar.svelte +3 -3
  27. package/dist/components/core/sidebar/ui/navbar/NavMenuTopBarSidebar.svelte +0 -2
  28. package/dist/components/core/sidebar/ui/navbar/nav-menu-header-sidebar.svelte +4 -5
  29. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +0 -1
  30. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +2 -3
  31. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +3 -1
  32. package/dist/components/ui/avatar/avatar-fallback.svelte +22 -12
  33. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +3 -2
  34. package/dist/components/ui/avatar/avatar-image.svelte +31 -9
  35. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +3 -2
  36. package/dist/components/ui/avatar/avatar.svelte +23 -9
  37. package/dist/components/ui/avatar/avatar.svelte.d.ts +6 -3
  38. package/dist/components/ui/avatar/context.svelte.d.ts +7 -0
  39. package/dist/components/ui/avatar/context.svelte.js +10 -0
  40. package/dist/components/ui/badge/badge.svelte +24 -26
  41. package/dist/components/ui/badge/badge.svelte.d.ts +15 -33
  42. package/dist/components/ui/button/button.svelte +35 -31
  43. package/dist/components/ui/button/button.svelte.d.ts +24 -61
  44. package/dist/components/ui/carousel/autoplay.d.ts +7 -0
  45. package/dist/components/ui/carousel/autoplay.js +7 -0
  46. package/dist/components/ui/carousel/carousel-content.svelte +31 -17
  47. package/dist/components/ui/carousel/carousel-item.svelte +2 -3
  48. package/dist/components/ui/carousel/carousel-next.svelte +1 -1
  49. package/dist/components/ui/carousel/carousel-previous.svelte +1 -1
  50. package/dist/components/ui/carousel/carousel.svelte +155 -30
  51. package/dist/components/ui/carousel/context.d.ts +23 -14
  52. package/dist/components/ui/carousel/context.js +4 -4
  53. package/dist/components/ui/carousel/index.d.ts +2 -0
  54. package/dist/components/ui/carousel/index.js +1 -0
  55. package/dist/components/ui/checkbox/checkbox.svelte +74 -17
  56. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +17 -2
  57. package/dist/components/ui/collapsible/collapsible-content.svelte +27 -3
  58. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +8 -2
  59. package/dist/components/ui/collapsible/collapsible-trigger.svelte +48 -3
  60. package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +10 -2
  61. package/dist/components/ui/collapsible/collapsible.svelte +62 -6
  62. package/dist/components/ui/collapsible/collapsible.svelte.d.ts +21 -2
  63. package/dist/components/ui/data-table/data-table.svelte.d.ts +2 -40
  64. package/dist/components/ui/data-table/data-table.svelte.js +1 -110
  65. package/dist/components/ui/data-table/flex-render.svelte +5 -5
  66. package/dist/components/ui/data-table/flex-render.svelte.d.ts +2 -2
  67. package/dist/components/ui/data-table/index.d.ts +2 -1
  68. package/dist/components/ui/data-table/index.js +1 -1
  69. package/dist/components/ui/data-table/table-core.svelte.d.ts +117 -0
  70. package/dist/components/ui/data-table/table-core.svelte.js +260 -0
  71. package/dist/components/ui/drawer/drawer-close.svelte +38 -3
  72. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +10 -2
  73. package/dist/components/ui/drawer/drawer-content.svelte +67 -18
  74. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +5 -4
  75. package/dist/components/ui/drawer/drawer-description.svelte +9 -6
  76. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +3 -2
  77. package/dist/components/ui/drawer/drawer-nested.svelte +28 -5
  78. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +8 -1
  79. package/dist/components/ui/drawer/drawer-overlay.svelte +18 -9
  80. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +3 -2
  81. package/dist/components/ui/drawer/drawer-portal.svelte +16 -3
  82. package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -1
  83. package/dist/components/ui/drawer/drawer-title.svelte +9 -6
  84. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +3 -2
  85. package/dist/components/ui/drawer/drawer-trigger.svelte +39 -3
  86. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +10 -2
  87. package/dist/components/ui/drawer/drawer.svelte +67 -4
  88. package/dist/components/ui/drawer/drawer.svelte.d.ts +23 -1
  89. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +18 -8
  90. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +8 -2
  91. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +53 -28
  92. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -3
  93. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +93 -17
  94. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -6
  95. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.d.ts +26 -0
  96. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.js +27 -0
  97. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +14 -8
  98. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +6 -3
  99. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +18 -3
  100. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +7 -2
  101. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +42 -8
  102. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +9 -2
  103. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +9 -5
  104. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +5 -2
  105. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +3 -3
  106. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +5 -1
  107. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +36 -8
  108. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +9 -2
  109. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +59 -23
  110. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +12 -2
  111. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +11 -7
  112. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +6 -2
  113. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +26 -9
  114. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +8 -2
  115. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +39 -11
  116. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -2
  117. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +73 -3
  118. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +8 -1
  119. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +65 -3
  120. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +12 -2
  121. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +50 -3
  122. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +9 -1
  123. package/dist/components/ui/empty/empty-content.svelte +2 -5
  124. package/dist/components/ui/empty/empty-description.svelte +2 -5
  125. package/dist/components/ui/empty/empty-header.svelte +2 -2
  126. package/dist/components/ui/empty/empty-media.svelte +17 -16
  127. package/dist/components/ui/empty/empty-media.svelte.d.ts +10 -19
  128. package/dist/components/ui/empty/empty-title.svelte +2 -2
  129. package/dist/components/ui/empty/empty.svelte +2 -5
  130. package/dist/components/ui/input-otp/context.svelte.d.ts +22 -0
  131. package/dist/components/ui/input-otp/context.svelte.js +8 -0
  132. package/dist/components/ui/input-otp/input-otp-group.svelte +5 -2
  133. package/dist/components/ui/input-otp/input-otp-separator.svelte +5 -5
  134. package/dist/components/ui/input-otp/input-otp-slot.svelte +50 -17
  135. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +7 -2
  136. package/dist/components/ui/input-otp/input-otp.svelte +167 -8
  137. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +17 -2
  138. package/dist/components/ui/label/label.svelte +10 -10
  139. package/dist/components/ui/label/label.svelte.d.ts +3 -2
  140. package/dist/components/ui/language-switcher/language-switcher.svelte +4 -3
  141. package/dist/components/ui/light-switch/light-switch.svelte +12 -6
  142. package/dist/components/ui/phone-input/country-selector.svelte +64 -78
  143. package/dist/components/ui/phone-input/country-selector.svelte.d.ts +6 -6
  144. package/dist/components/ui/phone-input/flag.svelte +3 -12
  145. package/dist/components/ui/phone-input/flag.svelte.d.ts +1 -1
  146. package/dist/components/ui/phone-input/flags.d.ts +2 -1
  147. package/dist/components/ui/phone-input/flags.js +4 -8
  148. package/dist/components/ui/phone-input/index.d.ts +1 -1
  149. package/dist/components/ui/phone-input/phone-input.svelte +106 -21
  150. package/dist/components/ui/phone-input/phone-input.svelte.d.ts +1 -2
  151. package/dist/components/ui/phone-input/types.d.ts +16 -1
  152. package/dist/components/ui/popover/popover-close.svelte +22 -3
  153. package/dist/components/ui/popover/popover-close.svelte.d.ts +7 -2
  154. package/dist/components/ui/popover/popover-content.svelte +80 -18
  155. package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -6
  156. package/dist/components/ui/popover/popover-context.svelte.d.ts +13 -0
  157. package/dist/components/ui/popover/popover-context.svelte.js +13 -0
  158. package/dist/components/ui/popover/popover-portal.svelte +3 -3
  159. package/dist/components/ui/popover/popover-portal.svelte.d.ts +5 -1
  160. package/dist/components/ui/popover/popover-trigger.svelte +62 -10
  161. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +12 -2
  162. package/dist/components/ui/popover/popover.svelte +50 -3
  163. package/dist/components/ui/popover/popover.svelte.d.ts +9 -1
  164. package/dist/components/ui/separator/separator.svelte +17 -11
  165. package/dist/components/ui/separator/separator.svelte.d.ts +7 -2
  166. package/dist/components/ui/sidebar/context.svelte.d.ts +15 -23
  167. package/dist/components/ui/sidebar/context.svelte.js +33 -21
  168. package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
  169. package/dist/components/ui/sidebar/sidebar-footer.svelte +1 -1
  170. package/dist/components/ui/sidebar/sidebar-group-content.svelte +1 -1
  171. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +3 -2
  172. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +35 -66
  173. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +9 -38
  174. package/dist/components/ui/sidebar/sidebar-provider.svelte +28 -18
  175. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +3 -0
  176. package/dist/components/ui/sidebar/sidebar-rail.svelte +1 -1
  177. package/dist/components/ui/sidebar/sidebar-separator.svelte +11 -8
  178. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +3 -11
  179. package/dist/components/ui/sidebar/sidebar-trigger.svelte +2 -2
  180. package/dist/components/ui/sidebar/sidebar.svelte +34 -23
  181. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +1 -1
  182. package/dist/components/ui/skeleton/skeleton.svelte +7 -4
  183. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +1 -1
  184. package/dist/components/ui/star-rating/star-rating-star.svelte +57 -31
  185. package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +1 -1
  186. package/dist/components/ui/star-rating/star-rating.svelte +143 -13
  187. package/dist/components/ui/star-rating/star-rating.svelte.d.ts +31 -2
  188. package/dist/components/ui/star-rating/types.d.ts +6 -1
  189. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +26 -9
  190. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +9 -2
  191. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +15 -8
  192. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +8 -2
  193. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +65 -34
  194. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +14 -2
  195. package/dist/components/ui/underline-tabs/underline-tabs.svelte +49 -20
  196. package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +10 -2
  197. package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +6 -59
  198. package/dist/docs/ApiTable.svelte +42 -0
  199. package/dist/docs/ApiTable.svelte.d.ts +7 -0
  200. package/dist/docs/CodeBlock.svelte +26 -0
  201. package/dist/docs/CodeBlock.svelte.d.ts +7 -0
  202. package/dist/docs/DocsHeader.svelte +25 -0
  203. package/dist/docs/DocsHeader.svelte.d.ts +6 -0
  204. package/dist/docs/DocsSidebar.svelte +99 -0
  205. package/dist/docs/DocsSidebar.svelte.d.ts +3 -0
  206. package/dist/docs/components.d.ts +27 -0
  207. package/dist/docs/components.js +897 -0
  208. package/dist/globals.css +466 -1590
  209. package/dist/styles/globals.css +136 -2
  210. package/dist/theme.svelte.d.ts +7 -0
  211. package/dist/theme.svelte.js +33 -0
  212. package/dist/utils.d.ts +4 -4
  213. package/dist/utils.js +18 -3
  214. package/package.json +4 -34
  215. package/dist/components/ui/chart/chart-container.svelte +0 -80
  216. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  217. package/dist/components/ui/chart/chart-style.svelte +0 -37
  218. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  219. package/dist/components/ui/chart/chart-tooltip.svelte +0 -184
  220. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  221. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  222. package/dist/components/ui/chart/chart-utils.js +0 -38
  223. package/dist/components/ui/chart/index.d.ts +0 -4
  224. package/dist/components/ui/chart/index.js +0 -4
  225. package/dist/components/ui/command/command-dialog.svelte +0 -42
  226. package/dist/components/ui/command/command-dialog.svelte.d.ts +0 -14
  227. package/dist/components/ui/command/command-empty.svelte +0 -17
  228. package/dist/components/ui/command/command-empty.svelte.d.ts +0 -4
  229. package/dist/components/ui/command/command-group.svelte +0 -33
  230. package/dist/components/ui/command/command-group.svelte.d.ts +0 -7
  231. package/dist/components/ui/command/command-input.svelte +0 -33
  232. package/dist/components/ui/command/command-input.svelte.d.ts +0 -4
  233. package/dist/components/ui/command/command-item.svelte +0 -27
  234. package/dist/components/ui/command/command-item.svelte.d.ts +0 -4
  235. package/dist/components/ui/command/command-link-item.svelte +0 -20
  236. package/dist/components/ui/command/command-link-item.svelte.d.ts +0 -4
  237. package/dist/components/ui/command/command-list.svelte +0 -20
  238. package/dist/components/ui/command/command-list.svelte.d.ts +0 -4
  239. package/dist/components/ui/command/command-loading.svelte +0 -7
  240. package/dist/components/ui/command/command-loading.svelte.d.ts +0 -4
  241. package/dist/components/ui/command/command-separator.svelte +0 -17
  242. package/dist/components/ui/command/command-separator.svelte.d.ts +0 -4
  243. package/dist/components/ui/command/command-shortcut.svelte +0 -23
  244. package/dist/components/ui/command/command-shortcut.svelte.d.ts +0 -5
  245. package/dist/components/ui/command/command.svelte +0 -28
  246. package/dist/components/ui/command/command.svelte.d.ts +0 -8
  247. package/dist/components/ui/command/index.d.ts +0 -12
  248. package/dist/components/ui/command/index.js +0 -14
  249. package/dist/components/ui/dialog/dialog-close.svelte +0 -11
  250. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  251. package/dist/components/ui/dialog/dialog-content.svelte +0 -48
  252. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -13
  253. package/dist/components/ui/dialog/dialog-description.svelte +0 -20
  254. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  255. package/dist/components/ui/dialog/dialog-footer.svelte +0 -32
  256. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -8
  257. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  258. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  259. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  260. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  261. package/dist/components/ui/dialog/dialog-portal.svelte +0 -7
  262. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +0 -3
  263. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  264. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  265. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -11
  266. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  267. package/dist/components/ui/dialog/dialog.svelte +0 -7
  268. package/dist/components/ui/dialog/dialog.svelte.d.ts +0 -3
  269. package/dist/components/ui/dialog/index.d.ts +0 -11
  270. package/dist/components/ui/dialog/index.js +0 -13
  271. package/dist/components/ui/input-group/index.d.ts +0 -7
  272. package/dist/components/ui/input-group/index.js +0 -9
  273. package/dist/components/ui/input-group/input-group-addon.svelte +0 -59
  274. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +0 -38
  275. package/dist/components/ui/input-group/input-group-button.svelte +0 -49
  276. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +0 -32
  277. package/dist/components/ui/input-group/input-group-input.svelte +0 -23
  278. package/dist/components/ui/input-group/input-group-input.svelte.d.ts +0 -11
  279. package/dist/components/ui/input-group/input-group-text.svelte +0 -22
  280. package/dist/components/ui/input-group/input-group-text.svelte.d.ts +0 -5
  281. package/dist/components/ui/input-group/input-group-textarea.svelte +0 -23
  282. package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +0 -3
  283. package/dist/components/ui/input-group/input-group.svelte +0 -24
  284. package/dist/components/ui/input-group/input-group.svelte.d.ts +0 -5
  285. package/dist/components/ui/navigation-menu/index.d.ts +0 -9
  286. package/dist/components/ui/navigation-menu/index.js +0 -11
  287. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +0 -20
  288. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte.d.ts +0 -4
  289. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +0 -22
  290. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte.d.ts +0 -4
  291. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +0 -17
  292. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte.d.ts +0 -4
  293. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +0 -17
  294. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte.d.ts +0 -4
  295. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +0 -20
  296. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte.d.ts +0 -4
  297. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +0 -30
  298. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +0 -5
  299. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +0 -22
  300. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte.d.ts +0 -4
  301. package/dist/components/ui/navigation-menu/navigation-menu.svelte +0 -31
  302. package/dist/components/ui/navigation-menu/navigation-menu.svelte.d.ts +0 -7
  303. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  304. package/dist/components/ui/scroll-area/index.js +0 -5
  305. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -30
  306. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  307. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -43
  308. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -11
  309. package/dist/components/ui/select/index.d.ts +0 -12
  310. package/dist/components/ui/select/index.js +0 -14
  311. package/dist/components/ui/select/select-content.svelte +0 -45
  312. package/dist/components/ui/select/select-content.svelte.d.ts +0 -11
  313. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  314. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  315. package/dist/components/ui/select/select-group.svelte +0 -17
  316. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  317. package/dist/components/ui/select/select-item.svelte +0 -41
  318. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  319. package/dist/components/ui/select/select-label.svelte +0 -20
  320. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  321. package/dist/components/ui/select/select-portal.svelte +0 -7
  322. package/dist/components/ui/select/select-portal.svelte.d.ts +0 -3
  323. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -21
  324. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  325. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -21
  326. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  327. package/dist/components/ui/select/select-separator.svelte +0 -18
  328. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  329. package/dist/components/ui/select/select-trigger.svelte +0 -30
  330. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  331. package/dist/components/ui/select/select.svelte +0 -11
  332. package/dist/components/ui/select/select.svelte.d.ts +0 -3
  333. package/dist/components/ui/sheet/index.d.ts +0 -11
  334. package/dist/components/ui/sheet/index.js +0 -13
  335. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  336. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  337. package/dist/components/ui/sheet/sheet-content.svelte +0 -56
  338. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -15
  339. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  340. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  341. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  342. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  343. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  344. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  345. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -17
  346. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  347. package/dist/components/ui/sheet/sheet-portal.svelte +0 -7
  348. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +0 -3
  349. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  350. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  351. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  352. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  353. package/dist/components/ui/sheet/sheet.svelte +0 -7
  354. package/dist/components/ui/sheet/sheet.svelte.d.ts +0 -3
  355. package/dist/components/ui/spinner/index.d.ts +0 -1
  356. package/dist/components/ui/spinner/index.js +0 -1
  357. package/dist/components/ui/spinner/spinner.svelte +0 -26
  358. package/dist/components/ui/spinner/spinner.svelte.d.ts +0 -4
  359. package/dist/components/ui/tabs/index.d.ts +0 -5
  360. package/dist/components/ui/tabs/index.js +0 -7
  361. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  362. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  363. package/dist/components/ui/tabs/tabs-list.svelte +0 -40
  364. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -25
  365. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -23
  366. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  367. package/dist/components/ui/tabs/tabs.svelte +0 -19
  368. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  369. package/dist/components/ui/textarea/index.d.ts +0 -2
  370. package/dist/components/ui/textarea/index.js +0 -4
  371. package/dist/components/ui/textarea/textarea.svelte +0 -23
  372. package/dist/components/ui/textarea/textarea.svelte.d.ts +0 -5
  373. package/dist/components/ui/tooltip/index.d.ts +0 -6
  374. package/dist/components/ui/tooltip/index.js +0 -8
  375. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -52
  376. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -11
  377. package/dist/components/ui/tooltip/tooltip-portal.svelte +0 -7
  378. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +0 -4
  379. package/dist/components/ui/tooltip/tooltip-provider.svelte +0 -7
  380. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +0 -4
  381. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  382. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -25
  383. package/dist/components/ui/tooltip/tooltip.svelte +0 -7
  384. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +0 -25
  385. package/dist/vitest-examples/Welcome.svelte +0 -8
  386. package/dist/vitest-examples/Welcome.svelte.d.ts +0 -13
  387. package/dist/vitest-examples/Welcome.svelte.spec.d.ts +0 -1
  388. package/dist/vitest-examples/Welcome.svelte.spec.js +0 -11
  389. package/dist/vitest-examples/greet.d.ts +0 -1
  390. package/dist/vitest-examples/greet.js +0 -3
  391. package/dist/vitest-examples/greet.spec.d.ts +0 -1
  392. package/dist/vitest-examples/greet.spec.js +0 -7
@@ -1,17 +1,21 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
3
2
  import { cn } from "../../../utils.js";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
4
 
5
5
  let {
6
- ref = $bindable(null),
6
+ ref = $bindable<HTMLDivElement | null>(null),
7
7
  class: className,
8
8
  ...restProps
9
- }: DropdownMenuPrimitive.SeparatorProps = $props();
9
+ }: HTMLAttributes<HTMLDivElement> & {
10
+ ref?: HTMLDivElement | null;
11
+ class?: string;
12
+ } = $props();
10
13
  </script>
11
14
 
12
- <DropdownMenuPrimitive.Separator
13
- bind:ref
15
+ <div
16
+ bind:this={ref}
17
+ role="separator"
14
18
  data-slot="dropdown-menu-separator"
15
- class={cn("bg-border/50 -mx-1 my-1 h-px", className)}
19
+ class={cn("h-px bg-border my-1", className)}
16
20
  {...restProps}
17
- />
21
+ ></div>
@@ -1,4 +1,8 @@
1
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
- declare const DropdownMenuSeparator: import("svelte").Component<DropdownMenuPrimitive.SeparatorProps, {}, "ref">;
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
3
+ ref?: HTMLDivElement | null;
4
+ class?: string;
5
+ };
6
+ declare const DropdownMenuSeparator: import("svelte").Component<$$ComponentProps, {}, "ref">;
3
7
  type DropdownMenuSeparator = ReturnType<typeof DropdownMenuSeparator>;
4
8
  export default DropdownMenuSeparator;
@@ -1,17 +1,34 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
3
2
  import { cn } from "../../../utils.js";
3
+ import { getDropdownMenuSubContext } from "./dropdown-menu-context.svelte.js";
4
+ import type { Snippet } from "svelte";
5
+ import type { HTMLAttributes } from "svelte/elements";
4
6
 
5
7
  let {
6
- ref = $bindable(null),
8
+ ref = $bindable<HTMLDivElement | null>(null),
7
9
  class: className,
10
+ children,
8
11
  ...restProps
9
- }: DropdownMenuPrimitive.SubContentProps = $props();
12
+ }: HTMLAttributes<HTMLDivElement> & {
13
+ ref?: HTMLDivElement | null;
14
+ class?: string;
15
+ children?: Snippet;
16
+ } = $props();
17
+
18
+ const subStore = getDropdownMenuSubContext();
10
19
  </script>
11
20
 
12
- <DropdownMenuPrimitive.SubContent
13
- bind:ref
14
- data-slot="dropdown-menu-sub-content"
15
- class={cn("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/5 bg-popover text-popover-foreground min-w-36 rounded-2xl p-1 shadow-2xl ring-1 duration-100 w-auto", className)}
16
- {...restProps}
17
- />
21
+ {#if subStore.open}
22
+ <div
23
+ bind:this={ref}
24
+ data-slot="dropdown-menu-sub-content"
25
+ data-state={subStore.open ? "open" : "closed"}
26
+ class={cn(
27
+ "absolute left-full top-0 z-50 ml-2 w-auto min-w-36 rounded-2xl bg-popover p-1 text-popover-foreground shadow-2xl ring-1 ring-foreground/5 animate-zoom-in",
28
+ className,
29
+ )}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
34
+ {/if}
@@ -1,4 +1,10 @@
1
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
- declare const DropdownMenuSubContent: import("svelte").Component<DropdownMenuPrimitive.SubContentProps, {}, "ref">;
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ ref?: HTMLDivElement | null;
5
+ class?: string;
6
+ children?: Snippet;
7
+ };
8
+ declare const DropdownMenuSubContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
3
9
  type DropdownMenuSubContent = ReturnType<typeof DropdownMenuSubContent>;
4
10
  export default DropdownMenuSubContent;
@@ -1,30 +1,58 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
3
- import { HugeiconsIcon } from "@hugeicons/svelte"
4
- import { ArrowRight01Icon } from '@hugeicons/core-free-icons';
2
+ import { HugeiconsIcon } from "@hugeicons/svelte";
3
+ import { ArrowRight01Icon } from "@hugeicons/core-free-icons";
5
4
  import { cn } from "../../../utils.js";
5
+ import { getDropdownMenuSubContext } from "./dropdown-menu-context.svelte.js";
6
+ import type { Snippet } from "svelte";
7
+ import type { HTMLButtonAttributes } from "svelte/elements";
6
8
 
7
9
  let {
8
- ref = $bindable(null),
10
+ ref = $bindable<HTMLButtonElement | null>(null),
9
11
  class: className,
10
12
  inset,
13
+ disabled,
11
14
  children,
12
15
  ...restProps
13
- }: DropdownMenuPrimitive.SubTriggerProps & {
16
+ }: HTMLButtonAttributes & {
17
+ ref?: HTMLButtonElement | null;
18
+ class?: string;
14
19
  inset?: boolean;
20
+ disabled?: boolean;
21
+ children?: Snippet;
15
22
  } = $props();
23
+
24
+ const subStore = getDropdownMenuSubContext();
25
+
26
+ let highlighted = $state(false);
27
+
28
+ function handleClick() {
29
+ subStore.open = !subStore.open;
30
+ }
16
31
  </script>
17
32
 
18
- <DropdownMenuPrimitive.SubTrigger
19
- bind:ref
33
+ <button
34
+ bind:this={ref}
35
+ type="button"
36
+ role="menuitem"
37
+ tabindex="-1"
20
38
  data-slot="dropdown-menu-sub-trigger"
21
39
  data-inset={inset}
40
+ data-state={subStore.open ? "open" : "closed"}
41
+ data-highlighted={highlighted || undefined}
42
+ {disabled}
43
+ onclick={handleClick}
44
+ onfocus={() => (highlighted = true)}
45
+ onblur={() => (highlighted = false)}
46
+ onmouseenter={() => (highlighted = true)}
47
+ onmouseleave={() => {
48
+ highlighted = false;
49
+ }}
22
50
  class={cn(
23
- "focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-xl px-3 py-2 text-sm data-inset:pl-9.5 [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",
24
- className
51
+ "relative flex w-full cursor-pointer items-center justify-start gap-2 rounded-lg px-2 py-1.5 text-sm outline-none select-none hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
52
+ className,
25
53
  )}
26
54
  {...restProps}
27
55
  >
28
56
  {@render children?.()}
29
- <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} class="ml-auto" />
30
- </DropdownMenuPrimitive.SubTrigger>
57
+ <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} class="ms-auto size-3.5" />
58
+ </button>
@@ -1,6 +1,11 @@
1
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
- type $$ComponentProps = DropdownMenuPrimitive.SubTriggerProps & {
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLButtonAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLButtonAttributes & {
4
+ ref?: HTMLButtonElement | null;
5
+ class?: string;
3
6
  inset?: boolean;
7
+ disabled?: boolean;
8
+ children?: Snippet;
4
9
  };
5
10
  declare const DropdownMenuSubTrigger: import("svelte").Component<$$ComponentProps, {}, "ref">;
6
11
  type DropdownMenuSubTrigger = ReturnType<typeof DropdownMenuSubTrigger>;
@@ -1,7 +1,77 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
+ import {
3
+ getDropdownMenuContext,
4
+ setDropdownMenuSubContext,
5
+ type DropdownMenuSubStore,
6
+ } from "./dropdown-menu-context.svelte.js";
7
+ import type { Snippet } from "svelte";
8
+ import type { HTMLAttributes } from "svelte/elements";
3
9
 
4
- let { open = $bindable(false), ...restProps }: DropdownMenuPrimitive.SubProps = $props();
10
+ let {
11
+ ref = $bindable<HTMLDivElement | null>(null),
12
+ open = $bindable<boolean>(),
13
+ children,
14
+ ...restProps
15
+ }: HTMLAttributes<HTMLDivElement> & {
16
+ ref?: HTMLDivElement | null;
17
+ open?: boolean;
18
+ children?: Snippet;
19
+ } = $props();
20
+
21
+ const rootStore = getDropdownMenuContext();
22
+
23
+ let subStore: DropdownMenuSubStore = $state({ open: open ?? false });
24
+
25
+ let closeTimer: ReturnType<typeof setTimeout> | undefined;
26
+
27
+ function setOpen(value: boolean) {
28
+ subStore.open = value;
29
+ open = value;
30
+ }
31
+
32
+ function openSub() {
33
+ clearTimeout(closeTimer);
34
+ setOpen(true);
35
+ }
36
+
37
+ function scheduleClose() {
38
+ clearTimeout(closeTimer);
39
+ closeTimer = setTimeout(() => setOpen(false), 150);
40
+ }
41
+
42
+ $effect(() => {
43
+ if (open !== undefined && open !== subStore.open) {
44
+ subStore.open = open;
45
+ }
46
+ });
47
+
48
+ $effect(() => {
49
+ if (!rootStore.open) {
50
+ subStore.open = false;
51
+ }
52
+ });
53
+
54
+ $effect(() => {
55
+ if (!subStore.open) return;
56
+ function handlePointerDown(event: PointerEvent) {
57
+ const target = event.target as Node;
58
+ if (ref?.contains(target)) return;
59
+ subStore.open = false;
60
+ }
61
+ document.addEventListener("pointerdown", handlePointerDown);
62
+ return () => document.removeEventListener("pointerdown", handlePointerDown);
63
+ });
64
+
65
+ setDropdownMenuSubContext(subStore);
5
66
  </script>
6
67
 
7
- <DropdownMenuPrimitive.Sub bind:open {...restProps} />
68
+ <div
69
+ bind:this={ref}
70
+ class="relative"
71
+ data-slot="dropdown-menu-sub"
72
+ onmouseenter={openSub}
73
+ onmouseleave={scheduleClose}
74
+ {...restProps}
75
+ >
76
+ {@render children?.()}
77
+ </div>
@@ -1,3 +1,10 @@
1
- declare const DropdownMenuSub: import("svelte").Component<import("bits-ui").ContextMenuSubPropsWithoutHTML, {}, "open">;
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ ref?: HTMLDivElement | null;
5
+ open?: boolean;
6
+ children?: Snippet;
7
+ };
8
+ declare const DropdownMenuSub: import("svelte").Component<$$ComponentProps, {}, "ref" | "open">;
2
9
  type DropdownMenuSub = ReturnType<typeof DropdownMenuSub>;
3
10
  export default DropdownMenuSub;
@@ -1,7 +1,69 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
+ import { getDropdownMenuContext } from "./dropdown-menu-context.svelte.js";
3
+ import { cn } from "../../../utils.js";
4
+ import type { Snippet } from "svelte";
5
+ import type { HTMLButtonAttributes } from "svelte/elements";
3
6
 
4
- let { ref = $bindable(null), ...restProps }: DropdownMenuPrimitive.TriggerProps = $props();
7
+ let {
8
+ // eslint-disable-next-line no-useless-assignment
9
+ ref = $bindable<HTMLButtonElement | null>(null),
10
+ class: className,
11
+ children,
12
+ child,
13
+ onclick,
14
+ ...restProps
15
+ }: HTMLButtonAttributes & {
16
+ ref?: HTMLButtonElement | null;
17
+ class?: string;
18
+ children?: Snippet;
19
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
20
+ onclick?: (event: MouseEvent) => void;
21
+ } = $props();
22
+
23
+ const store = getDropdownMenuContext();
24
+
25
+ let anchorEl = $state<HTMLButtonElement | null>(null);
26
+
27
+ function handleClick(event: MouseEvent) {
28
+ store.clickEvent = event;
29
+ store.toggle();
30
+ onclick?.(event);
31
+ }
32
+
33
+ $effect(() => {
34
+ const el = (anchorEl ?? document.getElementById(store.anchorId)) as HTMLButtonElement | null;
35
+ if (el) {
36
+ store.setAnchor(el);
37
+ ref = el;
38
+ anchorEl = el;
39
+ }
40
+ });
5
41
  </script>
6
42
 
7
- <DropdownMenuPrimitive.Trigger bind:ref data-slot="dropdown-menu-trigger" {...restProps} />
43
+ {#if child}
44
+ {@render child({
45
+ props: {
46
+ id: store.anchorId,
47
+ type: "button",
48
+ "aria-haspopup": "menu",
49
+ "aria-expanded": store.open,
50
+ "data-state": store.open ? "open" : "closed",
51
+ onclick: handleClick,
52
+ },
53
+ })}
54
+ {:else}
55
+ <button
56
+ bind:this={anchorEl}
57
+ type="button"
58
+ id={store.anchorId}
59
+ aria-haspopup="menu"
60
+ aria-expanded={store.open}
61
+ data-state={store.open ? "open" : "closed"}
62
+ onclick={handleClick}
63
+ data-slot="dropdown-menu-trigger"
64
+ class={cn("", className)}
65
+ {...restProps}
66
+ >
67
+ {@render children?.()}
68
+ </button>
69
+ {/if}
@@ -1,4 +1,14 @@
1
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
- declare const DropdownMenuTrigger: import("svelte").Component<DropdownMenuPrimitive.TriggerProps, {}, "ref">;
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLButtonAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLButtonAttributes & {
4
+ ref?: HTMLButtonElement | null;
5
+ class?: string;
6
+ children?: Snippet;
7
+ child?: Snippet<[{
8
+ props: Record<string, unknown>;
9
+ }]>;
10
+ onclick?: (event: MouseEvent) => void;
11
+ };
12
+ declare const DropdownMenuTrigger: import("svelte").Component<$$ComponentProps, {}, "ref">;
3
13
  type DropdownMenuTrigger = ReturnType<typeof DropdownMenuTrigger>;
4
14
  export default DropdownMenuTrigger;
@@ -1,7 +1,54 @@
1
1
  <script lang="ts">
2
- import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
2
+ import { generateDropdownMenuId, setDropdownMenuContext, type DropdownMenuStore } from "./dropdown-menu-context.svelte.js";
3
+ import type { Snippet } from "svelte";
4
+ import type { HTMLAttributes } from "svelte/elements";
3
5
 
4
- let { open = $bindable(false), ...restProps }: DropdownMenuPrimitive.RootProps = $props();
6
+ let {
7
+ open = $bindable<boolean>(),
8
+ defaultOpen = false,
9
+ onOpenChange,
10
+ children,
11
+ ...restProps
12
+ }: HTMLAttributes<HTMLDivElement> & {
13
+ open?: boolean;
14
+ defaultOpen?: boolean;
15
+ onOpenChange?: (open: boolean) => void;
16
+ children?: Snippet;
17
+ } = $props();
18
+
19
+ // svelte-ignore state_referenced_locally
20
+ let store: DropdownMenuStore = $state({
21
+ open: open ?? defaultOpen ?? false,
22
+ anchorId: generateDropdownMenuId(),
23
+ anchorEl: null,
24
+ clickEvent: null,
25
+ toggle: () => {
26
+ setOpen(!store.open);
27
+ },
28
+ openMenu: () => setOpen(true),
29
+ closeMenu: () => setOpen(false),
30
+ setAnchor: (el: HTMLElement | null) => {
31
+ store.anchorEl = el;
32
+ },
33
+ });
34
+
35
+ function setOpen(value: boolean) {
36
+ if (store.open === value) return;
37
+ store.open = value;
38
+ open = value;
39
+ onOpenChange?.(value);
40
+ }
41
+
42
+ $effect(() => {
43
+ if (open !== undefined && open !== store.open) {
44
+ store.open = open;
45
+ onOpenChange?.(open);
46
+ }
47
+ });
48
+
49
+ setDropdownMenuContext(store);
5
50
  </script>
6
51
 
7
- <DropdownMenuPrimitive.Root bind:open {...restProps} />
52
+ <div class="relative" {...restProps}>
53
+ {@render children?.()}
54
+ </div>
@@ -1,3 +1,11 @@
1
- declare const DropdownMenu: import("svelte").Component<import("bits-ui").ContextMenuRootPropsWithoutHTML, {}, "open">;
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ children?: Snippet;
8
+ };
9
+ declare const DropdownMenu: import("svelte").Component<$$ComponentProps, {}, "open">;
2
10
  type DropdownMenu = ReturnType<typeof DropdownMenu>;
3
11
  export default DropdownMenu;
@@ -13,11 +13,8 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="empty-content"
16
- class={cn(
17
- "gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance",
18
- className
19
- )}
16
+ class={cn("my-4", className)}
20
17
  {...restProps}
21
18
  >
22
19
  {@render children?.()}
23
- </div>
20
+ </div>
@@ -13,11 +13,8 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="empty-description"
16
- class={cn(
17
- "text-sm/relaxed text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
18
- className
19
- )}
16
+ class={cn("text-sm text-muted-foreground", className)}
20
17
  {...restProps}
21
18
  >
22
19
  {@render children?.()}
23
- </div>
20
+ </div>
@@ -13,8 +13,8 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="empty-header"
16
- class={cn("gap-2 flex max-w-sm flex-col items-center", className)}
16
+ class={cn("flex flex-col items-center justify-center gap-y-1 text-center", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
20
- </div>
20
+ </div>
@@ -1,25 +1,26 @@
1
1
  <script lang="ts" module>
2
- import { tv, type VariantProps } from "tailwind-variants";
2
+ import { cn } from "../../../utils.js";
3
3
 
4
- export const emptyMediaVariants = tv({
5
- base: "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",
6
- variants: {
7
- variant: {
8
- default: "bg-transparent",
9
- icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6",
10
- },
11
- },
12
- defaultVariants: {
13
- variant: "default",
14
- },
15
- });
4
+ const emptyMediaBase =
5
+ "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0";
16
6
 
17
- export type EmptyMediaVariant = VariantProps<typeof emptyMediaVariants>["variant"];
7
+ const emptyMediaVariantClasses = {
8
+ default: "bg-transparent",
9
+ icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6",
10
+ dashed: "flex size-10 shrink-0 items-center justify-center rounded-lg border-2 border-dashed border-border bg-transparent text-foreground [&_svg:not([class*='size-'])]:size-6",
11
+ } as const;
12
+
13
+ export type EmptyMediaVariant = keyof typeof emptyMediaVariantClasses;
14
+
15
+ export function emptyMediaVariants(opts: { variant?: EmptyMediaVariant } = {}): string {
16
+ const variant = opts.variant ?? "default";
17
+ return cn(emptyMediaBase, emptyMediaVariantClasses[variant]);
18
+ }
18
19
  </script>
19
20
 
20
21
  <script lang="ts">
21
- import { cn, type WithElementRef } from "../../../utils.js";
22
22
  import type { HTMLAttributes } from "svelte/elements";
23
+ import type { WithElementRef } from "../../../utils.js";
23
24
 
24
25
  let {
25
26
  ref = $bindable(null),
@@ -38,4 +39,4 @@
38
39
  {...restProps}
39
40
  >
40
41
  {@render children?.()}
41
- </div>
42
+ </div>
@@ -1,23 +1,14 @@
1
- import { type VariantProps } from "tailwind-variants";
2
- export declare const emptyMediaVariants: import("tailwind-variants").TVReturnType<{
3
- variant: {
4
- default: "bg-transparent";
5
- icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6";
6
- };
7
- }, undefined, "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
8
- variant: {
9
- default: "bg-transparent";
10
- icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6";
11
- };
12
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
13
- variant: {
14
- default: "bg-transparent";
15
- icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6";
16
- };
17
- }, undefined>>;
18
- export type EmptyMediaVariant = VariantProps<typeof emptyMediaVariants>["variant"];
19
- import { type WithElementRef } from "../../../utils.js";
1
+ declare const emptyMediaVariantClasses: {
2
+ readonly default: "bg-transparent";
3
+ readonly icon: "flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6";
4
+ readonly dashed: "flex size-10 shrink-0 items-center justify-center rounded-lg border-2 border-dashed border-border bg-transparent text-foreground [&_svg:not([class*='size-'])]:size-6";
5
+ };
6
+ export type EmptyMediaVariant = keyof typeof emptyMediaVariantClasses;
7
+ export declare function emptyMediaVariants(opts?: {
8
+ variant?: EmptyMediaVariant;
9
+ }): string;
20
10
  import type { HTMLAttributes } from "svelte/elements";
11
+ import type { WithElementRef } from "../../../utils.js";
21
12
  type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
22
13
  variant?: EmptyMediaVariant;
23
14
  };
@@ -13,8 +13,8 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="empty-title"
16
- class={cn("text-lg font-medium tracking-tight", className)}
16
+ class={cn("text-xl font-medium text-foreground", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
20
- </div>
20
+ </div>
@@ -13,11 +13,8 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="empty"
16
- class={cn(
17
- "gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance",
18
- className
19
- )}
16
+ class={cn("flex flex-col items-center justify-center text-center", className)}
20
17
  {...restProps}
21
18
  >
22
19
  {@render children?.()}
23
- </div>
20
+ </div>
@@ -0,0 +1,22 @@
1
+ export interface OtpCell {
2
+ index: number;
3
+ char: string;
4
+ hasFakeCaret: boolean;
5
+ }
6
+ export type InputOTPContext = {
7
+ value: string;
8
+ maxlength: number;
9
+ placeholder: string;
10
+ disabled: boolean;
11
+ activeIndex: number | null;
12
+ setActive(index: number | null): void;
13
+ setValueAt(index: number, char: string): void;
14
+ clearValueAt(index: number): void;
15
+ focusNext(index: number): void;
16
+ focusPrev(index: number): void;
17
+ handleKeyDown(index: number, event: KeyboardEvent): void;
18
+ handlePaste(index: number, event: ClipboardEvent): void;
19
+ registerInput(index: number, el: HTMLInputElement | null): void;
20
+ };
21
+ export declare function setInputOTPContext(ctx: InputOTPContext): InputOTPContext;
22
+ export declare function getInputOTPContext(): InputOTPContext;
@@ -0,0 +1,8 @@
1
+ import { getContext, setContext } from "svelte";
2
+ const INPUT_OTP_KEY = Symbol("input-otp");
3
+ export function setInputOTPContext(ctx) {
4
+ return setContext(INPUT_OTP_KEY, ctx);
5
+ }
6
+ export function getInputOTPContext() {
7
+ return getContext(INPUT_OTP_KEY);
8
+ }
@@ -13,8 +13,11 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="input-otp-group"
16
- class={cn("has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive rounded-4xl has-aria-invalid:ring-[3px] flex items-center", className)}
16
+ class={cn(
17
+ "has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive rounded-4xl has-aria-invalid:ring-[3px] flex items-center gap-2",
18
+ className
19
+ )}
17
20
  {...restProps}
18
21
  >
19
22
  {@render children?.()}
20
- </div>
23
+ </div>