negodesign 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/README.md +42 -0
  2. package/dist/assets/favicon.svg +1 -0
  3. package/dist/components/button.svelte +83 -0
  4. package/dist/components/button.svelte.d.ts +32 -0
  5. package/dist/components/core/breadcrumb/breadcrumb-list.svelte +32 -0
  6. package/dist/components/core/breadcrumb/breadcrumb-list.svelte.d.ts +9 -0
  7. package/dist/components/core/button/ButtonBack.svelte +18 -0
  8. package/dist/components/core/button/ButtonBack.svelte.d.ts +4 -0
  9. package/dist/components/core/button/ButtonLogin.svelte +15 -0
  10. package/dist/components/core/button/ButtonLogin.svelte.d.ts +4 -0
  11. package/dist/components/core/button/ButtonLoginWith.svelte +57 -0
  12. package/dist/components/core/button/ButtonLoginWith.svelte.d.ts +12 -0
  13. package/dist/components/core/carousel/data/CarouselModel.d.ts +10 -0
  14. package/dist/components/core/carousel/data/CarouselModel.js +1 -0
  15. package/dist/components/core/datatable/data/columns-create.d.ts +3 -0
  16. package/dist/components/core/datatable/data/columns-create.js +35 -0
  17. package/dist/components/core/datatable/data/data-table.d.ts +19 -0
  18. package/dist/components/core/datatable/data/data-table.js +1 -0
  19. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +8 -0
  20. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +32 -0
  21. package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -0
  22. package/dist/components/core/datatable/data/resolve-cell.svelte.js +19 -0
  23. package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -0
  24. package/dist/components/core/datatable/data/resolve-header.svelte.js +17 -0
  25. package/dist/components/core/datatable/ui/DataTableActions.svelte +28 -0
  26. package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +25 -0
  27. package/dist/components/core/datatable/ui/DataTableCheckbox.svelte +22 -0
  28. package/dist/components/core/datatable/ui/DataTableCheckbox.svelte.d.ts +9 -0
  29. package/dist/components/core/datatable/ui/DataTableContent.svelte +59 -0
  30. package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +28 -0
  31. package/dist/components/core/datatable/ui/DataTableCore.svelte +144 -0
  32. package/dist/components/core/datatable/ui/DataTableCore.svelte.d.ts +25 -0
  33. package/dist/components/core/datatable/ui/DataTableDragHandle.svelte +8 -0
  34. package/dist/components/core/datatable/ui/DataTableDragHandle.svelte.d.ts +18 -0
  35. package/dist/components/core/datatable/ui/DataTableListFilter.svelte +59 -0
  36. package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +28 -0
  37. package/dist/components/core/datatable/ui/DataTableListPagination.svelte +35 -0
  38. package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +27 -0
  39. package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +3 -0
  40. package/dist/components/core/datatable/ui/columns-create.svelte.js +33 -0
  41. package/dist/components/core/form/data/InputIconDefault.svelte.d.ts +3 -0
  42. package/dist/components/core/form/data/InputIconDefault.svelte.js +9 -0
  43. package/dist/components/core/form/data/InputLabel.svelte.d.ts +8 -0
  44. package/dist/components/core/form/data/InputLabel.svelte.js +1 -0
  45. package/dist/components/core/form/ui/input-base.svelte +81 -0
  46. package/dist/components/core/form/ui/input-base.svelte.d.ts +4 -0
  47. package/dist/components/core/form/ui/input-email.svelte +22 -0
  48. package/dist/components/core/form/ui/input-email.svelte.d.ts +4 -0
  49. package/dist/components/core/form/ui/input-password-confirm.svelte +22 -0
  50. package/dist/components/core/form/ui/input-password-confirm.svelte.d.ts +4 -0
  51. package/dist/components/core/form/ui/input-password.svelte +22 -0
  52. package/dist/components/core/form/ui/input-password.svelte.d.ts +4 -0
  53. package/dist/components/core/form/ui/input-username.svelte +21 -0
  54. package/dist/components/core/form/ui/input-username.svelte.d.ts +4 -0
  55. package/dist/components/core/label/LabelOr.svelte +25 -0
  56. package/dist/components/core/label/LabelOr.svelte.d.ts +6 -0
  57. package/dist/components/core/link/link-forget-password.svelte +12 -0
  58. package/dist/components/core/link/link-forget-password.svelte.d.ts +4 -0
  59. package/dist/components/core/link/link-privacy-polity.svelte +12 -0
  60. package/dist/components/core/link/link-privacy-polity.svelte.d.ts +4 -0
  61. package/dist/components/core/link/link-terms-of-service.svelte +12 -0
  62. package/dist/components/core/link/link-terms-of-service.svelte.d.ts +4 -0
  63. package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +21 -0
  64. package/dist/components/core/nav/data/nav-menu-sidebar.js +1 -0
  65. package/dist/components/core/nav/data/nav-top-bar-sidebar.d.ts +22 -0
  66. package/dist/components/core/nav/data/nav-top-bar-sidebar.js +1 -0
  67. package/dist/components/core/nav/data/nav-user-sidebar.d.ts +14 -0
  68. package/dist/components/core/nav/data/nav-user-sidebar.js +1 -0
  69. package/dist/components/core/nav/ui/nav-menu-bar.svelte +97 -0
  70. package/dist/components/core/nav/ui/nav-menu-bar.svelte.d.ts +7 -0
  71. package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte +33 -0
  72. package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte.d.ts +10 -0
  73. package/dist/components/core/nav/ui/nav-menu-header.svelte +78 -0
  74. package/dist/components/core/nav/ui/nav-menu-header.svelte.d.ts +10 -0
  75. package/dist/components/core/nav/ui/nav-menu-top-bar.svelte +103 -0
  76. package/dist/components/core/nav/ui/nav-menu-top-bar.svelte.d.ts +4 -0
  77. package/dist/components/core/nav/ui/nav-user-sidebar.svelte +94 -0
  78. package/dist/components/core/nav/ui/nav-user-sidebar.svelte.d.ts +7 -0
  79. package/dist/components/core/sidebar/menu-bar-sidebar.svelte +62 -0
  80. package/dist/components/core/sidebar/menu-bar-sidebar.svelte.d.ts +16 -0
  81. package/dist/components/core/tabs/data/TabModel.d.ts +9 -0
  82. package/dist/components/core/tabs/data/TabModel.js +1 -0
  83. package/dist/components/core/tabs/ui/tab-underline.svelte +41 -0
  84. package/dist/components/core/tabs/ui/tab-underline.svelte.d.ts +8 -0
  85. package/dist/components/pages/admin/ui/admin-content.svelte +13 -0
  86. package/dist/components/pages/admin/ui/admin-content.svelte.d.ts +7 -0
  87. package/dist/components/pages/admin/ui/admin-panel.svelte +40 -0
  88. package/dist/components/pages/admin/ui/admin-panel.svelte.d.ts +9 -0
  89. package/dist/components/pages/login/admin/01/ui/AuthCard.svelte +58 -0
  90. package/dist/components/pages/login/admin/01/ui/AuthCard.svelte.d.ts +18 -0
  91. package/dist/components/pages/login/admin/01/ui/FormLogin.svelte +31 -0
  92. package/dist/components/pages/login/admin/01/ui/FormLogin.svelte.d.ts +3 -0
  93. package/dist/components/pages/login/admin/01/ui/FormRegister.svelte +28 -0
  94. package/dist/components/pages/login/admin/01/ui/FormRegister.svelte.d.ts +3 -0
  95. package/dist/components/pages/login/admin/01/ui/LeftHero.svelte +105 -0
  96. package/dist/components/pages/login/admin/01/ui/LeftHero.svelte.d.ts +11 -0
  97. package/dist/components/pages/login/admin/01/ui/PageLogin.svelte +49 -0
  98. package/dist/components/pages/login/admin/01/ui/PageLogin.svelte.d.ts +18 -0
  99. package/dist/components/pages/login/admin/index.d.ts +0 -0
  100. package/dist/components/pages/login/admin/index.js +1 -0
  101. package/dist/components/pages/login/index.d.ts +0 -0
  102. package/dist/components/pages/login/index.js +1 -0
  103. package/dist/components/ui/avatar/avatar-badge.svelte +26 -0
  104. package/dist/components/ui/avatar/avatar-badge.svelte.d.ts +5 -0
  105. package/dist/components/ui/avatar/avatar-fallback.svelte +20 -0
  106. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
  107. package/dist/components/ui/avatar/avatar-group-count.svelte +23 -0
  108. package/dist/components/ui/avatar/avatar-group-count.svelte.d.ts +5 -0
  109. package/dist/components/ui/avatar/avatar-group.svelte +23 -0
  110. package/dist/components/ui/avatar/avatar-group.svelte.d.ts +5 -0
  111. package/dist/components/ui/avatar/avatar-image.svelte +17 -0
  112. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
  113. package/dist/components/ui/avatar/avatar.svelte +26 -0
  114. package/dist/components/ui/avatar/avatar.svelte.d.ts +7 -0
  115. package/dist/components/ui/avatar/index.d.ts +7 -0
  116. package/dist/components/ui/avatar/index.js +9 -0
  117. package/dist/components/ui/badge/badge.svelte +49 -0
  118. package/dist/components/ui/badge/badge.svelte.d.ts +38 -0
  119. package/dist/components/ui/badge/index.d.ts +2 -0
  120. package/dist/components/ui/badge/index.js +2 -0
  121. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +24 -0
  122. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  123. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +20 -0
  124. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  125. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
  126. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  127. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +20 -0
  128. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  129. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
  130. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  131. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +28 -0
  132. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  133. package/dist/components/ui/breadcrumb/breadcrumb.svelte +22 -0
  134. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  135. package/dist/components/ui/breadcrumb/index.d.ts +8 -0
  136. package/dist/components/ui/breadcrumb/index.js +10 -0
  137. package/dist/components/ui/button/button.svelte +82 -0
  138. package/dist/components/ui/button/button.svelte.d.ts +70 -0
  139. package/dist/components/ui/button/index.d.ts +2 -0
  140. package/dist/components/ui/button/index.js +4 -0
  141. package/dist/components/ui/chart/chart-container.svelte +80 -0
  142. package/dist/components/ui/chart/chart-container.svelte.d.ts +9 -0
  143. package/dist/components/ui/chart/chart-style.svelte +37 -0
  144. package/dist/components/ui/chart/chart-style.svelte.d.ts +8 -0
  145. package/dist/components/ui/chart/chart-tooltip.svelte +184 -0
  146. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +27 -0
  147. package/dist/components/ui/chart/chart-utils.d.ts +36 -0
  148. package/dist/components/ui/chart/chart-utils.js +38 -0
  149. package/dist/components/ui/chart/index.d.ts +4 -0
  150. package/dist/components/ui/chart/index.js +4 -0
  151. package/dist/components/ui/checkbox/checkbox.svelte +40 -0
  152. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  153. package/dist/components/ui/checkbox/index.d.ts +2 -0
  154. package/dist/components/ui/checkbox/index.js +4 -0
  155. package/dist/components/ui/collapsible/collapsible-content.svelte +7 -0
  156. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +4 -0
  157. package/dist/components/ui/collapsible/collapsible-trigger.svelte +7 -0
  158. package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +4 -0
  159. package/dist/components/ui/collapsible/collapsible.svelte +11 -0
  160. package/dist/components/ui/collapsible/collapsible.svelte.d.ts +4 -0
  161. package/dist/components/ui/collapsible/index.d.ts +4 -0
  162. package/dist/components/ui/collapsible/index.js +6 -0
  163. package/dist/components/ui/data-table/data-table.svelte.d.ts +40 -0
  164. package/dist/components/ui/data-table/data-table.svelte.js +110 -0
  165. package/dist/components/ui/data-table/flex-render.svelte +40 -0
  166. package/dist/components/ui/data-table/flex-render.svelte.d.ts +33 -0
  167. package/dist/components/ui/data-table/index.d.ts +3 -0
  168. package/dist/components/ui/data-table/index.js +3 -0
  169. package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
  170. package/dist/components/ui/data-table/render-helpers.js +99 -0
  171. package/dist/components/ui/drawer/drawer-close.svelte +7 -0
  172. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +4 -0
  173. package/dist/components/ui/drawer/drawer-content.svelte +33 -0
  174. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +10 -0
  175. package/dist/components/ui/drawer/drawer-description.svelte +17 -0
  176. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
  177. package/dist/components/ui/drawer/drawer-footer.svelte +20 -0
  178. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
  179. package/dist/components/ui/drawer/drawer-header.svelte +20 -0
  180. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
  181. package/dist/components/ui/drawer/drawer-nested.svelte +12 -0
  182. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
  183. package/dist/components/ui/drawer/drawer-overlay.svelte +17 -0
  184. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
  185. package/dist/components/ui/drawer/drawer-portal.svelte +7 -0
  186. package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -0
  187. package/dist/components/ui/drawer/drawer-title.svelte +17 -0
  188. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
  189. package/dist/components/ui/drawer/drawer-trigger.svelte +7 -0
  190. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +4 -0
  191. package/dist/components/ui/drawer/drawer.svelte +12 -0
  192. package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
  193. package/dist/components/ui/drawer/index.d.ts +12 -0
  194. package/dist/components/ui/drawer/index.js +14 -0
  195. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +16 -0
  196. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +4 -0
  197. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +45 -0
  198. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  199. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +31 -0
  200. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -0
  201. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
  202. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
  203. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  204. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  205. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
  206. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
  207. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +24 -0
  208. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  209. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +7 -0
  210. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +3 -0
  211. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  212. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  213. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +35 -0
  214. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  215. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
  216. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  217. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  218. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  219. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +17 -0
  220. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  221. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +30 -0
  222. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  223. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +7 -0
  224. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +3 -0
  225. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  226. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  227. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +7 -0
  228. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +3 -0
  229. package/dist/components/ui/dropdown-menu/index.d.ts +18 -0
  230. package/dist/components/ui/dropdown-menu/index.js +18 -0
  231. package/dist/components/ui/input/index.d.ts +2 -0
  232. package/dist/components/ui/input/index.js +4 -0
  233. package/dist/components/ui/input/input.svelte +48 -0
  234. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  235. package/dist/components/ui/label/index.d.ts +2 -0
  236. package/dist/components/ui/label/index.js +4 -0
  237. package/dist/components/ui/label/label.svelte +20 -0
  238. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  239. package/dist/components/ui/language-switcher/index.d.ts +3 -0
  240. package/dist/components/ui/language-switcher/index.js +2 -0
  241. package/dist/components/ui/language-switcher/language-switcher.svelte +48 -0
  242. package/dist/components/ui/language-switcher/language-switcher.svelte.d.ts +10 -0
  243. package/dist/components/ui/light-switch/index.d.ts +2 -0
  244. package/dist/components/ui/light-switch/index.js +2 -0
  245. package/dist/components/ui/light-switch/light-switch.svelte +32 -0
  246. package/dist/components/ui/light-switch/light-switch.svelte.d.ts +8 -0
  247. package/dist/components/ui/select/index.d.ts +12 -0
  248. package/dist/components/ui/select/index.js +14 -0
  249. package/dist/components/ui/select/select-content.svelte +45 -0
  250. package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
  251. package/dist/components/ui/select/select-group-heading.svelte +21 -0
  252. package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
  253. package/dist/components/ui/select/select-group.svelte +17 -0
  254. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  255. package/dist/components/ui/select/select-item.svelte +41 -0
  256. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  257. package/dist/components/ui/select/select-label.svelte +20 -0
  258. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  259. package/dist/components/ui/select/select-portal.svelte +7 -0
  260. package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
  261. package/dist/components/ui/select/select-scroll-down-button.svelte +21 -0
  262. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  263. package/dist/components/ui/select/select-scroll-up-button.svelte +21 -0
  264. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  265. package/dist/components/ui/select/select-separator.svelte +18 -0
  266. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  267. package/dist/components/ui/select/select-trigger.svelte +30 -0
  268. package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
  269. package/dist/components/ui/select/select.svelte +11 -0
  270. package/dist/components/ui/select/select.svelte.d.ts +3 -0
  271. package/dist/components/ui/separator/index.d.ts +2 -0
  272. package/dist/components/ui/separator/index.js +4 -0
  273. package/dist/components/ui/separator/separator.svelte +23 -0
  274. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  275. package/dist/components/ui/sheet/index.d.ts +11 -0
  276. package/dist/components/ui/sheet/index.js +13 -0
  277. package/dist/components/ui/sheet/sheet-close.svelte +7 -0
  278. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  279. package/dist/components/ui/sheet/sheet-content.svelte +56 -0
  280. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +15 -0
  281. package/dist/components/ui/sheet/sheet-description.svelte +17 -0
  282. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
  283. package/dist/components/ui/sheet/sheet-footer.svelte +20 -0
  284. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
  285. package/dist/components/ui/sheet/sheet-header.svelte +20 -0
  286. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
  287. package/dist/components/ui/sheet/sheet-overlay.svelte +17 -0
  288. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
  289. package/dist/components/ui/sheet/sheet-portal.svelte +7 -0
  290. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +3 -0
  291. package/dist/components/ui/sheet/sheet-title.svelte +17 -0
  292. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
  293. package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
  294. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  295. package/dist/components/ui/sheet/sheet.svelte +7 -0
  296. package/dist/components/ui/sheet/sheet.svelte.d.ts +3 -0
  297. package/dist/components/ui/sidebar/constants.d.ts +6 -0
  298. package/dist/components/ui/sidebar/constants.js +6 -0
  299. package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
  300. package/dist/components/ui/sidebar/context.svelte.js +54 -0
  301. package/dist/components/ui/sidebar/index.d.ts +25 -0
  302. package/dist/components/ui/sidebar/index.js +27 -0
  303. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -0
  304. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
  305. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -0
  306. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
  307. package/dist/components/ui/sidebar/sidebar-group-action.svelte +33 -0
  308. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
  309. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -0
  310. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
  311. package/dist/components/ui/sidebar/sidebar-group-label.svelte +33 -0
  312. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
  313. package/dist/components/ui/sidebar/sidebar-group.svelte +21 -0
  314. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
  315. package/dist/components/ui/sidebar/sidebar-header.svelte +21 -0
  316. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
  317. package/dist/components/ui/sidebar/sidebar-input.svelte +21 -0
  318. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
  319. package/dist/components/ui/sidebar/sidebar-inset.svelte +20 -0
  320. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
  321. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +37 -0
  322. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
  323. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +24 -0
  324. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
  325. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +102 -0
  326. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
  327. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
  328. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
  329. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
  330. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  331. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -0
  332. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
  333. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +21 -0
  334. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
  335. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +21 -0
  336. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
  337. package/dist/components/ui/sidebar/sidebar-menu.svelte +21 -0
  338. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
  339. package/dist/components/ui/sidebar/sidebar-provider.svelte +53 -0
  340. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
  341. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -0
  342. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
  343. package/dist/components/ui/sidebar/sidebar-separator.svelte +19 -0
  344. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
  345. package/dist/components/ui/sidebar/sidebar-trigger.svelte +37 -0
  346. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
  347. package/dist/components/ui/sidebar/sidebar.svelte +108 -0
  348. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
  349. package/dist/components/ui/skeleton/index.d.ts +2 -0
  350. package/dist/components/ui/skeleton/index.js +4 -0
  351. package/dist/components/ui/skeleton/skeleton.svelte +17 -0
  352. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  353. package/dist/components/ui/spinner/index.d.ts +1 -0
  354. package/dist/components/ui/spinner/index.js +1 -0
  355. package/dist/components/ui/spinner/spinner.svelte +26 -0
  356. package/dist/components/ui/spinner/spinner.svelte.d.ts +4 -0
  357. package/dist/components/ui/table/index.d.ts +9 -0
  358. package/dist/components/ui/table/index.js +11 -0
  359. package/dist/components/ui/table/table-body.svelte +15 -0
  360. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  361. package/dist/components/ui/table/table-caption.svelte +20 -0
  362. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  363. package/dist/components/ui/table/table-cell.svelte +15 -0
  364. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  365. package/dist/components/ui/table/table-footer.svelte +20 -0
  366. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  367. package/dist/components/ui/table/table-head.svelte +15 -0
  368. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  369. package/dist/components/ui/table/table-header.svelte +20 -0
  370. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  371. package/dist/components/ui/table/table-row.svelte +15 -0
  372. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  373. package/dist/components/ui/table/table.svelte +17 -0
  374. package/dist/components/ui/table/table.svelte.d.ts +5 -0
  375. package/dist/components/ui/tabs/index.d.ts +5 -0
  376. package/dist/components/ui/tabs/index.js +7 -0
  377. package/dist/components/ui/tabs/tabs-content.svelte +17 -0
  378. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  379. package/dist/components/ui/tabs/tabs-list.svelte +40 -0
  380. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +25 -0
  381. package/dist/components/ui/tabs/tabs-trigger.svelte +23 -0
  382. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  383. package/dist/components/ui/tabs/tabs.svelte +19 -0
  384. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  385. package/dist/components/ui/tooltip/index.d.ts +6 -0
  386. package/dist/components/ui/tooltip/index.js +8 -0
  387. package/dist/components/ui/tooltip/tooltip-content.svelte +52 -0
  388. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +11 -0
  389. package/dist/components/ui/tooltip/tooltip-portal.svelte +7 -0
  390. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +4 -0
  391. package/dist/components/ui/tooltip/tooltip-provider.svelte +7 -0
  392. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +4 -0
  393. package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  394. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +25 -0
  395. package/dist/components/ui/tooltip/tooltip.svelte +7 -0
  396. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +25 -0
  397. package/dist/components/ui/underline-tabs/index.d.ts +5 -0
  398. package/dist/components/ui/underline-tabs/index.js +7 -0
  399. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +17 -0
  400. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +4 -0
  401. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +34 -0
  402. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +4 -0
  403. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +61 -0
  404. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +4 -0
  405. package/dist/components/ui/underline-tabs/underline-tabs.svelte +33 -0
  406. package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +7 -0
  407. package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +61 -0
  408. package/dist/hooks/is-mobile.svelte.d.ts +4 -0
  409. package/dist/hooks/is-mobile.svelte.js +7 -0
  410. package/dist/i18n/index.d.ts +6 -0
  411. package/dist/i18n/index.js +24 -0
  412. package/dist/i18n/translations.d.ts +77 -0
  413. package/dist/i18n/translations.js +76 -0
  414. package/dist/index.d.ts +0 -0
  415. package/dist/index.js +2 -0
  416. package/dist/utils.d.ts +12 -0
  417. package/dist/utils.js +5 -0
  418. package/dist/vitest-examples/Welcome.svelte +8 -0
  419. package/dist/vitest-examples/Welcome.svelte.d.ts +13 -0
  420. package/dist/vitest-examples/Welcome.svelte.spec.d.ts +1 -0
  421. package/dist/vitest-examples/Welcome.svelte.spec.js +11 -0
  422. package/dist/vitest-examples/greet.d.ts +1 -0
  423. package/dist/vitest-examples/greet.js +3 -0
  424. package/dist/vitest-examples/greet.spec.d.ts +1 -0
  425. package/dist/vitest-examples/greet.spec.js +7 -0
  426. package/package.json +89 -0
package/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # sv
2
+
3
+ Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
4
+
5
+ ## Creating a project
6
+
7
+ If you're seeing this, you've probably already done this step. Congrats!
8
+
9
+ ```sh
10
+ # create a new project
11
+ npx sv create my-app
12
+ ```
13
+
14
+ To recreate this project with the same configuration:
15
+
16
+ ```sh
17
+ # recreate this project
18
+ npx sv@0.16.5 create --template minimal --types ts --add eslint vitest="usages:unit,component" tailwindcss="plugins:typography,forms" --install npm negodesign
19
+ ```
20
+
21
+ ## Developing
22
+
23
+ Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
24
+
25
+ ```sh
26
+ npm run dev
27
+
28
+ # or start the server and open the app in a new browser tab
29
+ npm run dev -- --open
30
+ ```
31
+
32
+ ## Building
33
+
34
+ To create a production version of your app:
35
+
36
+ ```sh
37
+ npm run build
38
+ ```
39
+
40
+ You can preview the production build with `npm run preview`.
41
+
42
+ > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="107" height="128" viewBox="0 0 107 128"><title>svelte-logo</title><path d="M94.157 22.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282 29.608A29.92 29.92 0 0 0 8.764 49.65a31.5 31.5 0 0 0 3.108 20.231 30 30 0 0 0-4.477 11.183 31.9 31.9 0 0 0 5.448 24.116c10.402 14.887 30.942 19.297 45.791 9.835l26.083-16.624A29.92 29.92 0 0 0 98.235 78.35a31.53 31.53 0 0 0-3.105-20.232 30 30 0 0 0 4.474-11.182 31.88 31.88 0 0 0-5.447-24.116" style="fill:#ff3e00"/><path d="M45.817 106.582a20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.503 18 18 0 0 1 .624-2.435l.49-1.498 1.337.981a33.6 33.6 0 0 0 10.203 5.098l.97.294-.09.968a5.85 5.85 0 0 0 1.052 3.878 6.24 6.24 0 0 0 6.695 2.485 5.8 5.8 0 0 0 1.603-.704L69.27 76.28a5.43 5.43 0 0 0 2.45-3.631 5.8 5.8 0 0 0-.987-4.371 6.24 6.24 0 0 0-6.698-2.487 5.7 5.7 0 0 0-1.6.704l-9.953 6.345a19 19 0 0 1-5.296 2.326 20.72 20.72 0 0 1-22.237-8.243 19.17 19.17 0 0 1-3.277-14.502 17.99 17.99 0 0 1 8.13-12.052l26.081-16.623a19 19 0 0 1 5.3-2.329 20.72 20.72 0 0 1 22.237 8.243 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-.624 2.435l-.49 1.498-1.337-.98a33.6 33.6 0 0 0-10.203-5.1l-.97-.294.09-.968a5.86 5.86 0 0 0-1.052-3.878 6.24 6.24 0 0 0-6.696-2.485 5.8 5.8 0 0 0-1.602.704L37.73 51.72a5.42 5.42 0 0 0-2.449 3.63 5.79 5.79 0 0 0 .986 4.372 6.24 6.24 0 0 0 6.698 2.486 5.8 5.8 0 0 0 1.602-.704l9.952-6.342a19 19 0 0 1 5.295-2.328 20.72 20.72 0 0 1 22.237 8.242 19.17 19.17 0 0 1 3.277 14.503 18 18 0 0 1-8.13 12.053l-26.081 16.622a19 19 0 0 1-5.3 2.328" style="fill:#fff"/></svg>
@@ -0,0 +1,83 @@
1
+ <script lang="ts" module>
2
+ import type { MouseEventHandler } from 'svelte/elements';
3
+
4
+ export type ButtonProps = ButtonPrimitiveProps & {
5
+ loading?: boolean;
6
+ onClickPromise?: (
7
+ e:
8
+ | Parameters<MouseEventHandler<HTMLButtonElement>>[0]
9
+ | Parameters<MouseEventHandler<HTMLAnchorElement>>[0]
10
+ ) => Promise<void>;
11
+ };
12
+
13
+ export type Size = 'default' | 'xs' | 'sm' | 'lg';
14
+
15
+ /**
16
+ * Map sizes to their icon/normal size variant
17
+ */
18
+ export const sizeMap = {
19
+ default: {
20
+ icon: 'icon',
21
+ normal: 'default'
22
+ },
23
+ xs: {
24
+ icon: 'icon-xs',
25
+ normal: 'xs'
26
+ },
27
+ sm: {
28
+ icon: 'icon-sm',
29
+ normal: 'sm'
30
+ },
31
+ lg: {
32
+ icon: 'icon-lg',
33
+ normal: 'lg'
34
+ }
35
+ } as const;
36
+
37
+ export { type ButtonSize, type ButtonVariant } from './ui/button';
38
+ </script>
39
+
40
+ <script lang="ts">
41
+ import { Button, type ButtonProps as ButtonPrimitiveProps } from './ui/button';
42
+ import { Spinner } from './ui/spinner';
43
+ import { cn } from '../utils.js';
44
+
45
+ let {
46
+ ref = $bindable(null),
47
+ loading: loadingProp = false,
48
+ onClickPromise,
49
+ onclick,
50
+ disabled,
51
+ class: className,
52
+ children,
53
+ ...restProps
54
+ }: ButtonProps = $props();
55
+
56
+ let pending = $state(false);
57
+
58
+ const loading = $derived(loadingProp || pending);
59
+ </script>
60
+
61
+ <Button
62
+ bind:ref
63
+ class={cn(loading && '[&_svg:not([data-loading-icon])]:hidden', className)}
64
+ disabled={loading || disabled}
65
+ onclick={async (e) => {
66
+ onclick?.(e as never);
67
+
68
+ if (onClickPromise) {
69
+ pending = true;
70
+ try {
71
+ await onClickPromise(e);
72
+ } finally {
73
+ pending = false;
74
+ }
75
+ }
76
+ }}
77
+ {...restProps}
78
+ >
79
+ {#if loading}
80
+ <Spinner data-icon="inline-start" data-loading-icon />
81
+ {/if}
82
+ {@render children?.()}
83
+ </Button>
@@ -0,0 +1,32 @@
1
+ import type { MouseEventHandler } from 'svelte/elements';
2
+ export type ButtonProps = ButtonPrimitiveProps & {
3
+ loading?: boolean;
4
+ onClickPromise?: (e: Parameters<MouseEventHandler<HTMLButtonElement>>[0] | Parameters<MouseEventHandler<HTMLAnchorElement>>[0]) => Promise<void>;
5
+ };
6
+ export type Size = 'default' | 'xs' | 'sm' | 'lg';
7
+ /**
8
+ * Map sizes to their icon/normal size variant
9
+ */
10
+ export declare const sizeMap: {
11
+ readonly default: {
12
+ readonly icon: "icon";
13
+ readonly normal: "default";
14
+ };
15
+ readonly xs: {
16
+ readonly icon: "icon-xs";
17
+ readonly normal: "xs";
18
+ };
19
+ readonly sm: {
20
+ readonly icon: "icon-sm";
21
+ readonly normal: "sm";
22
+ };
23
+ readonly lg: {
24
+ readonly icon: "icon-lg";
25
+ readonly normal: "lg";
26
+ };
27
+ };
28
+ export { type ButtonSize, type ButtonVariant } from './ui/button';
29
+ import { Button, type ButtonProps as ButtonPrimitiveProps } from './ui/button';
30
+ declare const Button: import("svelte").Component<ButtonProps, {}, "ref">;
31
+ type Button = ReturnType<typeof Button>;
32
+ export default Button;
@@ -0,0 +1,32 @@
1
+ <script lang="ts">
2
+ import * as Breadcrumb from "../../ui/breadcrumb/index.js";
3
+
4
+ type Props = {
5
+ items: {
6
+ url?: string;
7
+ label: string;
8
+ }[];
9
+ };
10
+
11
+ let { items }: Props = $props();
12
+ </script>
13
+
14
+ <Breadcrumb.Root>
15
+ <Breadcrumb.List>
16
+ {#each items as item, i (item.label)}
17
+ {@const isLast = i === items.length - 1}
18
+
19
+ <Breadcrumb.Item class={isLast ? "" : "hidden md:block"}>
20
+ {#if isLast}
21
+ <Breadcrumb.Page>{item.label}</Breadcrumb.Page>
22
+ {:else}
23
+ <Breadcrumb.Link href={item.url ?? "##"}>{item.label}</Breadcrumb.Link>
24
+ {/if}
25
+ </Breadcrumb.Item>
26
+
27
+ {#if !isLast}
28
+ <Breadcrumb.Separator class="hidden md:block" />
29
+ {/if}
30
+ {/each}
31
+ </Breadcrumb.List>
32
+ </Breadcrumb.Root>
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ items: {
3
+ url?: string;
4
+ label: string;
5
+ }[];
6
+ };
7
+ declare const BreadcrumbList: import("svelte").Component<Props, {}, "">;
8
+ type BreadcrumbList = ReturnType<typeof BreadcrumbList>;
9
+ export default BreadcrumbList;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import Button from "../../ui/button/button.svelte";
3
+ import { ArrowLeft01Icon } from "@hugeicons/core-free-icons";
4
+ import { HugeiconsIcon } from "@hugeicons/svelte";
5
+ import { t } from "../../../i18n";
6
+ import type { ButtonProps } from "../../ui/button";
7
+
8
+ let { ...restProps }: ButtonProps = $props();
9
+ </script>
10
+
11
+ <Button
12
+ variant="outline"
13
+ class="inline-flex items-center gap-1 text-sm text-slate-600 hover:text-slate-900 transition-colors rounded-full bg-input"
14
+ {...restProps}
15
+ >
16
+ <HugeiconsIcon icon={ArrowLeft01Icon} size={16} />
17
+ <span class="sr-only">{$t("button.back")}</span>
18
+ </Button>
@@ -0,0 +1,4 @@
1
+ import type { ButtonProps } from "../../ui/button";
2
+ declare const ButtonBack: import("svelte").Component<ButtonProps, {}, "">;
3
+ type ButtonBack = ReturnType<typeof ButtonBack>;
4
+ export default ButtonBack;
@@ -0,0 +1,15 @@
1
+ <script lang="ts">
2
+ import Button, {
3
+ type ButtonProps,
4
+ } from "../../ui/button/button.svelte";
5
+ import { t } from "../../../i18n";
6
+ import { Login02Icon } from "@hugeicons/core-free-icons";
7
+ import { HugeiconsIcon } from "@hugeicons/svelte";
8
+
9
+ let { ...restProps }: ButtonProps = $props();
10
+ </script>
11
+
12
+ <Button class="w-full flex items-center gap-2" {...restProps}>
13
+ <HugeiconsIcon icon={Login02Icon} size={16} />
14
+ {$t("button.login")}
15
+ </Button>
@@ -0,0 +1,4 @@
1
+ import { type ButtonProps } from "../../ui/button/button.svelte";
2
+ declare const ButtonLogin: import("svelte").Component<ButtonProps, {}, "">;
3
+ type ButtonLogin = ReturnType<typeof ButtonLogin>;
4
+ export default ButtonLogin;
@@ -0,0 +1,57 @@
1
+ <script lang="ts">
2
+ import Button, {
3
+ type ButtonProps,
4
+ } from "../../ui/button/button.svelte";
5
+ import { HugeiconsIcon, type IconSvgElement } from "@hugeicons/svelte";
6
+ import { t } from "../../../i18n";
7
+ import {
8
+ GoogleIcon,
9
+ Facebook01Icon as Facebook,
10
+ Linkedin01Icon as Linkedin,
11
+ } from "@hugeicons/core-free-icons";
12
+ import type { Snippet } from "svelte";
13
+
14
+ type IconDefault = "GOOGLE" | "FACEBOOK" | "LINKEDLN";
15
+
16
+ type Props = {
17
+ icon?: IconSvgElement | IconDefault | Snippet;
18
+ label?: string;
19
+ };
20
+
21
+ let { icon, label, ...restProps }: Props & ButtonProps = $props();
22
+
23
+ const defaultIconMap: Record<IconDefault, IconSvgElement> = {
24
+ GOOGLE: GoogleIcon,
25
+ FACEBOOK: Facebook,
26
+ LINKEDLN: Linkedin,
27
+ };
28
+
29
+ const defaultLabelMap: Record<IconDefault, string> = {
30
+ GOOGLE: "Google",
31
+ FACEBOOK: "Facebook",
32
+ LINKEDLN: "Linkedin",
33
+ };
34
+
35
+ function isIconDefault(value: unknown): value is IconDefault {
36
+ return typeof value === "string" && value in defaultLabelMap;
37
+ }
38
+
39
+ let resolvedIcon = $derived(
40
+ isIconDefault(icon) ? defaultIconMap[icon] : icon,
41
+ );
42
+
43
+ let resolvedLabel = $derived(
44
+ label ?? (isIconDefault(icon) ? defaultLabelMap[icon] : ""),
45
+ );
46
+ </script>
47
+
48
+ <Button variant="outline" class="w-full flex items-center gap-2" {...restProps}>
49
+ {#if resolvedIcon}
50
+ {#if typeof resolvedIcon === "function"}
51
+ {@render resolvedIcon()}
52
+ {:else}
53
+ <HugeiconsIcon icon={resolvedIcon} size={16} />
54
+ {/if}
55
+ {/if}
56
+ {$t("button.login.with", { name: resolvedLabel })}
57
+ </Button>
@@ -0,0 +1,12 @@
1
+ import { type ButtonProps } from "../../ui/button/button.svelte";
2
+ import { type IconSvgElement } from "@hugeicons/svelte";
3
+ import type { Snippet } from "svelte";
4
+ type IconDefault = "GOOGLE" | "FACEBOOK" | "LINKEDLN";
5
+ type Props = {
6
+ icon?: IconSvgElement | IconDefault | Snippet;
7
+ label?: string;
8
+ };
9
+ type $$ComponentProps = Props & ButtonProps;
10
+ declare const ButtonLoginWith: import("svelte").Component<$$ComponentProps, {}, "">;
11
+ type ButtonLoginWith = ReturnType<typeof ButtonLoginWith>;
12
+ export default ButtonLoginWith;
@@ -0,0 +1,10 @@
1
+ export interface CarouselItem {
2
+ title: string;
3
+ description: string;
4
+ buttonText: string;
5
+ buttonUrl?: string;
6
+ }
7
+ export interface CarouselProps {
8
+ items: CarouselItem[];
9
+ varient: 'NUMBER' | 'POINTER';
10
+ }
@@ -0,0 +1,3 @@
1
+ import type { ColumnDef } from "@tanstack/table-core";
2
+ export declare function createDragColumn<T>(): ColumnDef<T>;
3
+ export declare function createSelectColumn<T>(): ColumnDef<T>;
@@ -0,0 +1,35 @@
1
+ import { renderComponent } from "../../../ui/data-table";
2
+ import DataTableDragHandle from "../ui/DataTableDragHandle.svelte";
3
+ import DataTableCheckbox from "../ui/DataTableCheckbox.svelte";
4
+ export function createDragColumn() {
5
+ return {
6
+ id: "drag",
7
+ size: 24,
8
+ minSize: 24,
9
+ header: () => null,
10
+ cell: () => renderComponent(DataTableDragHandle, {}),
11
+ enableSorting: false,
12
+ enableHiding: false,
13
+ };
14
+ }
15
+ export function createSelectColumn() {
16
+ return {
17
+ id: "select",
18
+ size: 24,
19
+ minSize: 24,
20
+ header: ({ table }) => renderComponent(DataTableCheckbox, {
21
+ checked: table.getIsAllPageRowsSelected(),
22
+ indeterminate: table.getIsSomePageRowsSelected() &&
23
+ !table.getIsAllPageRowsSelected(),
24
+ onCheckedChange: (value) => table.toggleAllPageRowsSelected(!!value),
25
+ "aria-label": "Select all",
26
+ }),
27
+ cell: ({ row }) => renderComponent(DataTableCheckbox, {
28
+ checked: row.getIsSelected(),
29
+ onCheckedChange: (value) => row.toggleSelected(!!value),
30
+ "aria-label": "Select row",
31
+ }),
32
+ enableSorting: false,
33
+ enableHiding: false,
34
+ };
35
+ }
@@ -0,0 +1,19 @@
1
+ import type { CellContext, HeaderContext } from "@tanstack/table-core";
2
+ import type { Component } from "svelte";
3
+ export interface DataTableItem<T = unknown> {
4
+ config: {
5
+ accessorKey: string;
6
+ header: string | ((context: HeaderContext<T, unknown>) => any);
7
+ cell: string | ((context: CellContext<T, unknown>) => any);
8
+ enableSorting?: boolean;
9
+ enableHiding?: boolean;
10
+ badge?: {
11
+ className?: string;
12
+ value: string;
13
+ label?: string;
14
+ }[];
15
+ }[];
16
+ columnFilter?: keyof T & string;
17
+ actions?: Component<any>;
18
+ items?: T[];
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { CellContext } from "@tanstack/table-core";
2
+ type BadgeConfig = {
3
+ className?: string;
4
+ value: string;
5
+ label?: string;
6
+ };
7
+ export declare function resolveCellBadge<T>(configCell: string | ((context: CellContext<T, unknown>) => any), badge?: BadgeConfig[]): (context: CellContext<T, unknown>) => any;
8
+ export {};
@@ -0,0 +1,32 @@
1
+ import { renderComponent, renderSnippet } from "../../../ui/data-table";
2
+ import { createRawSnippet } from "svelte";
3
+ import { Badge } from "../../../ui/badge";
4
+ import { resolveCell } from "./resolve-cell.svelte";
5
+ export function resolveCellBadge(configCell, badge) {
6
+ if (typeof configCell === "string" && badge && badge.length > 0) {
7
+ const key = configCell;
8
+ const badgeMap = new Map(badge.map((b) => [b.value, b]));
9
+ return ({ row }) => {
10
+ const cellValue = String(row.original[key]);
11
+ const matchedBadge = badgeMap.get(cellValue);
12
+ if (matchedBadge) {
13
+ const displayText = matchedBadge.label ?? cellValue;
14
+ const badgeSnippet = createRawSnippet(() => ({
15
+ render: () => displayText,
16
+ }));
17
+ return renderComponent(Badge, {
18
+ class: matchedBadge.className,
19
+ children: badgeSnippet,
20
+ });
21
+ }
22
+ const fallbackSnippet = createRawSnippet((getProps) => {
23
+ const { value } = getProps();
24
+ return {
25
+ render: () => `<div class="capitalize">${value}</div>`,
26
+ };
27
+ });
28
+ return renderSnippet(fallbackSnippet, { value: cellValue });
29
+ };
30
+ }
31
+ return resolveCell(configCell);
32
+ }
@@ -0,0 +1,2 @@
1
+ import type { CellContext } from "@tanstack/table-core";
2
+ export declare function resolveCell<T>(configCell: string | ((context: CellContext<T, unknown>) => any)): (context: CellContext<T, unknown>) => any;
@@ -0,0 +1,19 @@
1
+ import { createRawSnippet } from "svelte";
2
+ import { renderSnippet } from "../../../ui/data-table";
3
+ export function resolveCell(configCell) {
4
+ if (typeof configCell === "string") {
5
+ const key = configCell;
6
+ return ({ row }) => {
7
+ const snippet = createRawSnippet((getProps) => {
8
+ const { value } = getProps();
9
+ return {
10
+ render: () => `<div class="capitalize">${value}</div>`,
11
+ };
12
+ });
13
+ return renderSnippet(snippet, {
14
+ value: String(row.original[key]),
15
+ });
16
+ };
17
+ }
18
+ return configCell;
19
+ }
@@ -0,0 +1,2 @@
1
+ import type { HeaderContext } from "@tanstack/table-core";
2
+ export declare function resolveHeader<T>(configHeader: string | ((context: HeaderContext<T, unknown>) => any)): (context: HeaderContext<T, unknown>) => any;
@@ -0,0 +1,17 @@
1
+ import { createRawSnippet } from "svelte";
2
+ import { renderSnippet } from "../../../ui/data-table";
3
+ export function resolveHeader(configHeader) {
4
+ if (typeof configHeader === "string") {
5
+ const text = configHeader;
6
+ return ({ column }) => {
7
+ const snippet = createRawSnippet((getProps) => {
8
+ const { text } = getProps();
9
+ return {
10
+ render: () => `<div class="capitalize">${text}</div>`,
11
+ };
12
+ });
13
+ return renderSnippet(snippet, { text });
14
+ };
15
+ }
16
+ return configHeader;
17
+ }
@@ -0,0 +1,28 @@
1
+ <script lang="ts" generics="T">
2
+ import type { CellContext } from "@tanstack/table-core";
3
+ import * as DropdownMenu from "../../../ui/dropdown-menu/index.js";
4
+ import Button from "../../../button.svelte";
5
+ import { MoreHorizontalIcon } from "@hugeicons/core-free-icons";
6
+ import { HugeiconsIcon } from "@hugeicons/svelte";
7
+
8
+ let { row }: CellContext<T, unknown> = $props();
9
+ </script>
10
+
11
+ <DropdownMenu.Root>
12
+ <DropdownMenu.Trigger>
13
+ {#snippet child({ props })}
14
+ <Button {...props} variant="ghost" class="size-8 p-0">
15
+ <HugeiconsIcon icon={MoreHorizontalIcon} class="size-4" />
16
+ <span class="sr-only">Open menu</span>
17
+ </Button>
18
+ {/snippet}
19
+ </DropdownMenu.Trigger>
20
+ <DropdownMenu.Content align="end">
21
+ <DropdownMenu.Item onclick={() => console.log(row.original)}
22
+ >Copy</DropdownMenu.Item
23
+ >
24
+ <DropdownMenu.Item onclick={() => console.log(row.original)}
25
+ >Delete</DropdownMenu.Item
26
+ >
27
+ </DropdownMenu.Content>
28
+ </DropdownMenu.Root>
@@ -0,0 +1,25 @@
1
+ import type { CellContext } from "@tanstack/table-core";
2
+ declare function $$render<T>(): {
3
+ props: CellContext<T, unknown>;
4
+ exports: {};
5
+ bindings: "";
6
+ slots: {};
7
+ events: {};
8
+ };
9
+ declare class __sveltets_Render<T> {
10
+ props(): ReturnType<typeof $$render<T>>['props'];
11
+ events(): ReturnType<typeof $$render<T>>['events'];
12
+ slots(): ReturnType<typeof $$render<T>>['slots'];
13
+ bindings(): "";
14
+ exports(): {};
15
+ }
16
+ interface $$IsomorphicComponent {
17
+ new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
18
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
19
+ } & ReturnType<__sveltets_Render<T>['exports']>;
20
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
22
+ }
23
+ declare const DataTableActions: $$IsomorphicComponent;
24
+ type DataTableActions<T> = InstanceType<typeof DataTableActions<T>>;
25
+ export default DataTableActions;
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import { Checkbox } from "../../../ui/checkbox";
3
+
4
+ let {
5
+ checked = $bindable(false),
6
+ indeterminate = $bindable(false),
7
+ onCheckedChange,
8
+ ...restProps
9
+ }: {
10
+ checked?: boolean;
11
+ indeterminate?: boolean;
12
+ onCheckedChange?: (value: boolean) => void;
13
+ [key: string]: unknown;
14
+ } = $props();
15
+ </script>
16
+
17
+ <Checkbox
18
+ bind:checked
19
+ bind:indeterminate
20
+ onCheckedChange={(v) => onCheckedChange?.(!!v)}
21
+ {...restProps}
22
+ />
@@ -0,0 +1,9 @@
1
+ type $$ComponentProps = {
2
+ checked?: boolean;
3
+ indeterminate?: boolean;
4
+ onCheckedChange?: (value: boolean) => void;
5
+ [key: string]: unknown;
6
+ };
7
+ declare const DataTableCheckbox: import("svelte").Component<$$ComponentProps, {}, "checked" | "indeterminate">;
8
+ type DataTableCheckbox = ReturnType<typeof DataTableCheckbox>;
9
+ export default DataTableCheckbox;
@@ -0,0 +1,59 @@
1
+ <script lang="ts" generics="T">
2
+ import type {
3
+ ColumnDef,
4
+ Table as TanstackTable,
5
+ } from "@tanstack/table-core";
6
+ import * as Table from "../../../ui/table/index.js";
7
+ import FlexRender from "../../../ui/data-table/flex-render.svelte";
8
+
9
+ type Props = {
10
+ table: TanstackTable<T>;
11
+ columns: ColumnDef<T>[];
12
+ };
13
+
14
+ let { table, columns }: Props = $props();
15
+ </script>
16
+
17
+ <div class="rounded-md border">
18
+ <Table.Root>
19
+ <Table.Header>
20
+ {#each table.getHeaderGroups() as headerGroup (headerGroup.id)}
21
+ <Table.Row>
22
+ {#each headerGroup.headers as header (header.id)}
23
+ <Table.Head class="[&:has([role=checkbox])]:ps-3">
24
+ {#if !header.isPlaceholder}
25
+ <FlexRender
26
+ content={header.column.columnDef.header}
27
+ context={header.getContext()}
28
+ />
29
+ {/if}
30
+ </Table.Head>
31
+ {/each}
32
+ </Table.Row>
33
+ {/each}
34
+ </Table.Header>
35
+ <Table.Body>
36
+ {#each table.getRowModel().rows as row (row.id)}
37
+ <Table.Row data-state={row.getIsSelected() && "selected"}>
38
+ {#each row.getVisibleCells() as cell (cell.id)}
39
+ <Table.Cell class="[&:has([role=checkbox])]:ps-3">
40
+ <FlexRender
41
+ content={cell.column.columnDef.cell}
42
+ context={cell.getContext()}
43
+ />
44
+ </Table.Cell>
45
+ {/each}
46
+ </Table.Row>
47
+ {:else}
48
+ <Table.Row>
49
+ <Table.Cell
50
+ colspan={columns.length}
51
+ class="h-24 text-center"
52
+ >
53
+ No results.
54
+ </Table.Cell>
55
+ </Table.Row>
56
+ {/each}
57
+ </Table.Body>
58
+ </Table.Root>
59
+ </div>