negodesign 0.0.81 → 0.0.82

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 (278) hide show
  1. package/README.md +133 -133
  2. package/dist/components/NegoDesign.svelte +21 -21
  3. package/dist/components/pages/admin/01/ui/AdminContent.svelte +14 -14
  4. package/dist/components/pages/admin/01/ui/AdminPanel.svelte +46 -46
  5. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +103 -103
  6. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +83 -83
  7. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +80 -80
  8. package/dist/components/pages/security/auth/PageAuth01.svelte +62 -62
  9. package/dist/components/pages/security/auth/PageAuth02.svelte +40 -40
  10. package/dist/components/pages/security/auth/PageAuth03.svelte +40 -40
  11. package/dist/components/pages/security/login/01/ui/FormLogin.svelte +91 -63
  12. package/dist/components/pages/security/login/01/ui/FormLogin.svelte.d.ts +2 -0
  13. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte +49 -26
  14. package/dist/components/pages/security/login/01/ui/FormLoginEmailPassword.svelte.d.ts +2 -0
  15. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte +49 -26
  16. package/dist/components/pages/security/login/01/ui/FormLoginPhonePassword.svelte.d.ts +2 -0
  17. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte +49 -26
  18. package/dist/components/pages/security/login/01/ui/FormLoginUsernamePassword.svelte.d.ts +2 -0
  19. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte +148 -132
  20. package/dist/components/pages/security/login/01/ui/LoginCard01.svelte.d.ts +2 -0
  21. package/dist/components/pages/security/login/01/ui/PageLogin01.svelte +66 -64
  22. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte +82 -72
  23. package/dist/components/pages/security/login/02/ui/FormLogin02.svelte.d.ts +1 -0
  24. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte +27 -26
  25. package/dist/components/pages/security/login/02/ui/FormLoginEmailPassword02.svelte.d.ts +1 -0
  26. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte +27 -26
  27. package/dist/components/pages/security/login/02/ui/FormLoginPhonePassword02.svelte.d.ts +1 -0
  28. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte +27 -26
  29. package/dist/components/pages/security/login/02/ui/FormLoginUsernamePassword02.svelte.d.ts +1 -0
  30. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte +15 -2
  31. package/dist/components/pages/security/login/02/ui/LoginCard02.svelte.d.ts +1 -0
  32. package/dist/components/pages/security/login/02/ui/PageLogin02.svelte +2 -0
  33. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte +94 -91
  34. package/dist/components/pages/security/login/03/ui/FormLogin03.svelte.d.ts +1 -0
  35. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte +27 -26
  36. package/dist/components/pages/security/login/03/ui/FormLoginEmailPassword03.svelte.d.ts +1 -0
  37. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte +27 -26
  38. package/dist/components/pages/security/login/03/ui/FormLoginPhonePassword03.svelte.d.ts +1 -0
  39. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte +27 -26
  40. package/dist/components/pages/security/login/03/ui/FormLoginUsernamePassword03.svelte.d.ts +1 -0
  41. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte +15 -2
  42. package/dist/components/pages/security/login/03/ui/LoginCard03.svelte.d.ts +1 -0
  43. package/dist/components/pages/security/login/03/ui/PageLogin03.svelte +2 -0
  44. package/dist/components/pages/security/login/PageLogin.svelte +30 -30
  45. package/dist/components/pages/security/login/types.d.ts +1 -0
  46. package/dist/components/pages/security/register/01/ui/PageRegister01.svelte +78 -76
  47. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte +107 -104
  48. package/dist/components/pages/security/register/01/ui/RegisterCard01.svelte.d.ts +1 -0
  49. package/dist/components/pages/security/register/02/ui/PageRegister02.svelte +2 -0
  50. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte +3 -1
  51. package/dist/components/pages/security/register/02/ui/RegisterCard02.svelte.d.ts +1 -0
  52. package/dist/components/pages/security/register/03/ui/PageRegister03.svelte +2 -0
  53. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte +3 -1
  54. package/dist/components/pages/security/register/03/ui/RegisterCard03.svelte.d.ts +1 -0
  55. package/dist/components/pages/security/register/FormRegister.svelte +148 -146
  56. package/dist/components/pages/security/register/FormRegister.svelte.d.ts +1 -0
  57. package/dist/components/pages/security/register/types.d.ts +1 -0
  58. package/dist/components/ui/avatar/avatar-fallback.svelte +29 -29
  59. package/dist/components/ui/avatar/avatar-image.svelte +38 -38
  60. package/dist/components/ui/avatar/avatar.svelte +39 -39
  61. package/dist/components/ui/badge/badge.svelte +46 -46
  62. package/dist/components/ui/banner/AdCardBanner.svelte +74 -74
  63. package/dist/components/ui/banner/CtaCardBanner.svelte +118 -118
  64. package/dist/components/ui/banner/CtaCardImageBanner.svelte +94 -94
  65. package/dist/components/ui/breadcrumb/core/breadcrumb-list.svelte +31 -31
  66. package/dist/components/ui/button/ButtonBack.svelte +18 -18
  67. package/dist/components/ui/button/ButtonLogin.svelte +19 -15
  68. package/dist/components/ui/button/ButtonLoginWith.svelte +57 -57
  69. package/dist/components/ui/button/ButtonSend.svelte +15 -15
  70. package/dist/components/ui/button/button.svelte +100 -86
  71. package/dist/components/ui/button/button.svelte.d.ts +1 -0
  72. package/dist/components/ui/card/core/highlight/01/CardHighlight01.svelte +103 -103
  73. package/dist/components/ui/card/core/highlight/02/CardHighlight02.svelte +99 -99
  74. package/dist/components/ui/card/core/highlight/CardHighlight.svelte +22 -22
  75. package/dist/components/ui/card/core/media/01/CardMedia01.svelte +133 -133
  76. package/dist/components/ui/card/core/media/02/CardMedia02.svelte +127 -127
  77. package/dist/components/ui/card/core/media/CardMedia.svelte +18 -18
  78. package/dist/components/ui/card/core/product/01/CardProduct01.svelte +136 -136
  79. package/dist/components/ui/card/core/product/02/CardProduct02.svelte +124 -124
  80. package/dist/components/ui/card/core/product/CardProduct.svelte +22 -22
  81. package/dist/components/ui/card/core/profile/01/CardProfile01.svelte +134 -134
  82. package/dist/components/ui/card/core/profile/02/CardProfile02.svelte +132 -132
  83. package/dist/components/ui/card/core/profile/CardProfile.svelte +18 -18
  84. package/dist/components/ui/card/core/promotion/CardPromotion.svelte +139 -139
  85. package/dist/components/ui/card/core/promotion/CardPromotionPrice.svelte +32 -32
  86. package/dist/components/ui/card/core/shared/CardButton.svelte +42 -42
  87. package/dist/components/ui/card/core/shared/CardCart.svelte +36 -36
  88. package/dist/components/ui/card/core/shared/CardDescription.svelte +41 -41
  89. package/dist/components/ui/card/core/shared/CardFavorite.svelte +33 -33
  90. package/dist/components/ui/card/core/shared/CardLogo.svelte +19 -19
  91. package/dist/components/ui/card/core/shared/CardPhoneOrWhatsapp.svelte +45 -45
  92. package/dist/components/ui/card/core/shared/CardStarRating.svelte +24 -24
  93. package/dist/components/ui/card/core/shared/CardTags.svelte +95 -95
  94. package/dist/components/ui/card/core/shared/CardThumbnailVideo.svelte +232 -232
  95. package/dist/components/ui/card/core/shared/CardTitlePrice.svelte +24 -24
  96. package/dist/components/ui/card/core/shared/TruncatableText.svelte +49 -49
  97. package/dist/components/ui/carousel/carousel-content.svelte +56 -56
  98. package/dist/components/ui/carousel/carousel-item.svelte +29 -29
  99. package/dist/components/ui/carousel/carousel-next.svelte +40 -40
  100. package/dist/components/ui/carousel/carousel-previous.svelte +40 -40
  101. package/dist/components/ui/carousel/carousel.svelte +225 -225
  102. package/dist/components/ui/carousel/core/badge/ui/CarouselBadge.svelte +108 -108
  103. package/dist/components/ui/carousel/core/grid/shared/ui/CarouselGridSlot.svelte +38 -38
  104. package/dist/components/ui/carousel/core/hero/ui/CarouselHero.svelte +181 -181
  105. package/dist/components/ui/carousel/core/highlights/ui/CarouselHighlights.svelte +67 -67
  106. package/dist/components/ui/carousel/core/product/ui/CarouselProduct.svelte +57 -57
  107. package/dist/components/ui/carousel/core/promotion/ui/CarouselPromotion.svelte +67 -67
  108. package/dist/components/ui/carousel/core/shared/ui/CarouselHeader.svelte +59 -59
  109. package/dist/components/ui/checkbox/checkbox.svelte +96 -96
  110. package/dist/components/ui/collapsible/collapsible-content.svelte +30 -30
  111. package/dist/components/ui/collapsible/collapsible-trigger.svelte +51 -51
  112. package/dist/components/ui/collapsible/collapsible.svelte +66 -66
  113. package/dist/components/ui/data-table/flex-render.svelte +40 -40
  114. package/dist/components/ui/datatable/ui/DataTableActions.svelte +28 -28
  115. package/dist/components/ui/datatable/ui/DataTableCheckbox.svelte +22 -22
  116. package/dist/components/ui/datatable/ui/DataTableContent.svelte +59 -59
  117. package/dist/components/ui/datatable/ui/DataTableCore.svelte +148 -148
  118. package/dist/components/ui/datatable/ui/DataTableDragHandle.svelte +8 -8
  119. package/dist/components/ui/datatable/ui/DataTableListFilter.svelte +60 -60
  120. package/dist/components/ui/datatable/ui/DataTableListPagination.svelte +35 -35
  121. package/dist/components/ui/drawer/drawer-close.svelte +41 -41
  122. package/dist/components/ui/drawer/drawer-content.svelte +81 -81
  123. package/dist/components/ui/drawer/drawer-description.svelte +19 -19
  124. package/dist/components/ui/drawer/drawer-footer.svelte +20 -20
  125. package/dist/components/ui/drawer/drawer-header.svelte +20 -20
  126. package/dist/components/ui/drawer/drawer-nested.svelte +34 -34
  127. package/dist/components/ui/drawer/drawer-overlay.svelte +25 -25
  128. package/dist/components/ui/drawer/drawer-portal.svelte +19 -19
  129. package/dist/components/ui/drawer/drawer-title.svelte +19 -19
  130. package/dist/components/ui/drawer/drawer-trigger.svelte +42 -42
  131. package/dist/components/ui/drawer/drawer.svelte +74 -74
  132. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +25 -25
  133. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +69 -69
  134. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +106 -106
  135. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +27 -27
  136. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +21 -21
  137. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +60 -60
  138. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -27
  139. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +6 -6
  140. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +43 -43
  141. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +70 -70
  142. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +20 -20
  143. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +33 -33
  144. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +57 -57
  145. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +76 -76
  146. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +68 -68
  147. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +53 -53
  148. package/dist/components/ui/empty/empty-content.svelte +19 -19
  149. package/dist/components/ui/empty/empty-description.svelte +19 -19
  150. package/dist/components/ui/empty/empty-header.svelte +19 -19
  151. package/dist/components/ui/empty/empty-media.svelte +41 -41
  152. package/dist/components/ui/empty/empty-title.svelte +19 -19
  153. package/dist/components/ui/empty/empty.svelte +19 -19
  154. package/dist/components/ui/footer/ui/Footer.svelte +18 -18
  155. package/dist/components/ui/form/ui/calendar/Calendar.svelte +193 -193
  156. package/dist/components/ui/form/ui/calendar/CalendarCard.svelte +89 -89
  157. package/dist/components/ui/form/ui/calendar/DaysGrid.svelte +75 -75
  158. package/dist/components/ui/form/ui/calendar/MonthSelect.svelte +49 -49
  159. package/dist/components/ui/form/ui/calendar/YearSelect.svelte +116 -116
  160. package/dist/components/ui/form/ui/input-base.svelte +83 -83
  161. package/dist/components/ui/form/ui/input-calendar-interval.svelte +178 -178
  162. package/dist/components/ui/form/ui/input-calendar.svelte +109 -109
  163. package/dist/components/ui/form/ui/input-email-or-phone.svelte +23 -23
  164. package/dist/components/ui/form/ui/input-email.svelte +23 -23
  165. package/dist/components/ui/form/ui/input-password-confirm.svelte +23 -23
  166. package/dist/components/ui/form/ui/input-password.svelte +23 -23
  167. package/dist/components/ui/form/ui/input-phone.svelte +43 -37
  168. package/dist/components/ui/form/ui/input-select.svelte +246 -246
  169. package/dist/components/ui/form/ui/input-username.svelte +22 -22
  170. package/dist/components/ui/grid/core/ui/01/Grid01.svelte +30 -30
  171. package/dist/components/ui/grid/core/ui/02/Grid02.svelte +30 -30
  172. package/dist/components/ui/grid/core/ui/ItemsPanel.svelte +26 -26
  173. package/dist/components/ui/grid/core/ui/ItemsPanelCarousel.svelte +37 -37
  174. package/dist/components/ui/grid/core/ui/ItemsPanelGrid.svelte +43 -43
  175. package/dist/components/ui/grid/core/ui/ItemsSimpleGrid.svelte +45 -45
  176. package/dist/components/ui/grid/core/ui/shared/DescriptionGrid.svelte +23 -23
  177. package/dist/components/ui/grid/core/ui/shared/IconRenderGrid.svelte +23 -23
  178. package/dist/components/ui/grid/core/ui/shared/TitleGrid.svelte +19 -19
  179. package/dist/components/ui/hero/SimpleHero.svelte +65 -65
  180. package/dist/components/ui/input-otp/input-otp-group.svelte +22 -22
  181. package/dist/components/ui/input-otp/input-otp-separator.svelte +27 -27
  182. package/dist/components/ui/input-otp/input-otp-slot.svelte +63 -63
  183. package/dist/components/ui/input-otp/input-otp.svelte +181 -181
  184. package/dist/components/ui/label/core/LabelOr.svelte +25 -25
  185. package/dist/components/ui/label/label.svelte +19 -19
  186. package/dist/components/ui/language-switcher/language-switcher.svelte +48 -48
  187. package/dist/components/ui/light-switch/light-switch.svelte +48 -48
  188. package/dist/components/ui/link/link-forget-password.svelte +12 -12
  189. package/dist/components/ui/link/link-privacy-polity.svelte +12 -12
  190. package/dist/components/ui/link/link-terms-of-service.svelte +12 -12
  191. package/dist/components/ui/modal/core/ui/ModalCore.svelte +132 -132
  192. package/dist/components/ui/modal/form/index.d.ts +3 -2
  193. package/dist/components/ui/modal/form/index.js +2 -1
  194. package/dist/components/ui/modal/form/types.d.ts +41 -0
  195. package/dist/components/ui/modal/form/ui/ModalForm.svelte +11 -6
  196. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte +204 -0
  197. package/dist/components/ui/modal/form/ui/ModalFormEmailOrPhone.svelte.d.ts +4 -0
  198. package/dist/components/ui/modal/grid/ui/02/ModalGridSelection02.svelte +146 -146
  199. package/dist/components/ui/modal/share/ui/ModalShareSelection.svelte +156 -156
  200. package/dist/components/ui/nav/ui/ComplexMenu.svelte +51 -51
  201. package/dist/components/ui/nav/ui/Menu.svelte +72 -72
  202. package/dist/components/ui/nav/ui/SimpleMenu.svelte +14 -14
  203. package/dist/components/ui/nav/ui/mobile/ComplexMenuMobile.svelte +125 -125
  204. package/dist/components/ui/nav/ui/mobile/MenuMobile.svelte +54 -54
  205. package/dist/components/ui/nav/ui/shared/MenuButton.svelte +51 -51
  206. package/dist/components/ui/nav/ui/shared/MenuLinks.svelte +40 -40
  207. package/dist/components/ui/nav/ui/shared/MenuListItem.svelte +44 -44
  208. package/dist/components/ui/nav/ui/shared/MenuLogo.svelte +13 -13
  209. package/dist/components/ui/nav/ui/shared/dropdown/DropdownNavigationMenuItemGrid.svelte +30 -30
  210. package/dist/components/ui/nav/ui/shared/navigation/NavDropdown.svelte +88 -88
  211. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItem.svelte +17 -17
  212. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemCard.svelte +53 -53
  213. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemGrid.svelte +35 -35
  214. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItemList.svelte +24 -24
  215. package/dist/components/ui/nav/ui/shared/navigation/NavigationMenuItems.svelte +21 -21
  216. package/dist/components/ui/panel/CarouselSlot.svelte +57 -57
  217. package/dist/components/ui/panel/LeftHero.svelte +114 -114
  218. package/dist/components/ui/panel/NotFoundEmpty.svelte +66 -66
  219. package/dist/components/ui/phone-input/country-selector.svelte +87 -87
  220. package/dist/components/ui/phone-input/flag.svelte +11 -11
  221. package/dist/components/ui/phone-input/phone-input.svelte +163 -163
  222. package/dist/components/ui/popover/popover-close.svelte +25 -25
  223. package/dist/components/ui/popover/popover-content.svelte +92 -92
  224. package/dist/components/ui/popover/popover-portal.svelte +6 -6
  225. package/dist/components/ui/popover/popover-trigger.svelte +68 -68
  226. package/dist/components/ui/popover/popover.svelte +53 -53
  227. package/dist/components/ui/search/SearchInput.svelte +32 -32
  228. package/dist/components/ui/search/shared/SearchInputCore.svelte +66 -66
  229. package/dist/components/ui/separator/separator.svelte +28 -28
  230. package/dist/components/ui/sidebar/core/MenuBarSidebar.svelte +70 -70
  231. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBarSidebar.svelte +97 -97
  232. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuBottomSidebar.svelte +33 -33
  233. package/dist/components/ui/sidebar/core/ui/navbar/NavMenuTopBarSidebar.svelte +101 -101
  234. package/dist/components/ui/sidebar/core/ui/navbar/nav-menu-header-sidebar.svelte +77 -77
  235. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -24
  236. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -21
  237. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -21
  238. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -38
  239. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +70 -70
  240. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -39
  241. package/dist/components/ui/sidebar/sidebar-provider.svelte +62 -62
  242. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -36
  243. package/dist/components/ui/sidebar/sidebar-separator.svelte +21 -21
  244. package/dist/components/ui/sidebar/sidebar-trigger.svelte +36 -36
  245. package/dist/components/ui/sidebar/sidebar.svelte +118 -118
  246. package/dist/components/ui/skeleton/skeleton.svelte +19 -19
  247. package/dist/components/ui/star-rating/star-rating-star.svelte +66 -66
  248. package/dist/components/ui/star-rating/star-rating.svelte +149 -149
  249. package/dist/components/ui/table/table-body.svelte +15 -15
  250. package/dist/components/ui/table/table-caption.svelte +20 -20
  251. package/dist/components/ui/table/table-cell.svelte +15 -15
  252. package/dist/components/ui/table/table-footer.svelte +20 -20
  253. package/dist/components/ui/table/table-head.svelte +15 -15
  254. package/dist/components/ui/table/table-header.svelte +20 -20
  255. package/dist/components/ui/table/table-row.svelte +15 -15
  256. package/dist/components/ui/table/table.svelte +17 -17
  257. package/dist/components/ui/tabs/data/TabModel.d.ts +1 -0
  258. package/dist/components/ui/tabs/ui/tab-underline.svelte +47 -43
  259. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +33 -33
  260. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +40 -40
  261. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +91 -91
  262. package/dist/components/ui/underline-tabs/underline-tabs.svelte +61 -61
  263. package/dist/docs/ApiTable.svelte +42 -42
  264. package/dist/docs/CodeBlock.svelte +26 -26
  265. package/dist/docs/DocsHeader.svelte +25 -25
  266. package/dist/docs/DocsSidebar.svelte +108 -108
  267. package/dist/docs/components.js +624 -584
  268. package/dist/globals.css +27 -7
  269. package/dist/i18n/langs/en.d.ts +3 -1
  270. package/dist/i18n/langs/en.js +3 -1
  271. package/dist/i18n/langs/pt.d.ts +3 -1
  272. package/dist/i18n/langs/pt.js +3 -1
  273. package/dist/i18n/translations.d.ts +6 -2
  274. package/dist/index.d.ts +12 -0
  275. package/dist/index.js +12 -0
  276. package/dist/styles/globals.css +283 -283
  277. package/dist/types/index.d.ts +3 -1
  278. package/package.json +81 -81
@@ -1,148 +1,148 @@
1
- <script lang="ts" generics="T">
2
- import {
3
- type CellContext,
4
- type ColumnDef,
5
- type ColumnFiltersState,
6
- type PaginationState,
7
- type RowSelectionState,
8
- type SortingState,
9
- type VisibilityState,
10
- getCoreRowModel,
11
- getFilteredRowModel,
12
- getPaginationRowModel,
13
- getSortedRowModel,
14
- } from "../../data-table";
15
- import type { DataTableItem } from "../data/data-table";
16
- import { resolveHeader } from "../data/resolve-header.svelte.js";
17
- import { resolveCellBadge } from "../data/resolve-cell-badge.svelte.js";
18
- import {
19
- createDragColumn,
20
- createSelectColumn,
21
- } from "../data/columns-create";
22
- import {
23
- createSvelteTable,
24
- renderComponent,
25
- } from "../../data-table";
26
- import DataTableListFilter from "./DataTableListFilter.svelte";
27
- import DataTableContent from "./DataTableContent.svelte";
28
- import DataTableListPagination from "./DataTableListPagination.svelte";
29
-
30
- /**
31
- * Generic data table with pagination, sorting, and filtering.
32
- * @property {DataTableItem<T>["config"]} config - Column definitions
33
- * @property {keyof T} columnFilter - Key for column filtering
34
- * @property {Component} actions - Per-row actions component
35
- * @property {T[]} items - Table data
36
- */
37
- let { config, columnFilter, actions, items = [] }: DataTableItem<T> = $props();
38
-
39
- let columns: ColumnDef<T>[] = $derived([
40
- createDragColumn<T>(),
41
- createSelectColumn<T>(),
42
- ...config.map((it) => ({
43
- accessorKey: it.accessorKey,
44
- header: resolveHeader(it.header),
45
- cell: resolveCellBadge(it.cell, it.badge),
46
- enableSorting: it.enableSorting,
47
- enableHiding: it.enableHiding,
48
- })),
49
- ...(actions
50
- ? [{
51
- id: "actions",
52
- cell: (ctx: CellContext<T, unknown>) => renderComponent(actions, ctx as unknown),
53
- enableSorting: false,
54
- enableHiding: false,
55
- } satisfies ColumnDef<T>]
56
- : []),
57
- ]);
58
-
59
- let pagination = $state<PaginationState>({ pageIndex: 0, pageSize: 10 });
60
- let columnFilters = $state<ColumnFiltersState>([]);
61
- let columnVisibility = $state<VisibilityState>({});
62
- let rowSelection = $state<RowSelectionState>({});
63
- let sorting = $state<SortingState>([]);
64
-
65
- let table = $derived(
66
- createSvelteTable({
67
- data: items,
68
- columns,
69
- state: {
70
- get pagination() {
71
- return pagination;
72
- },
73
- get sorting() {
74
- return sorting;
75
- },
76
- get columnVisibility() {
77
- return columnVisibility;
78
- },
79
- get rowSelection() {
80
- return rowSelection;
81
- },
82
- get columnFilters() {
83
- return columnFilters;
84
- },
85
- },
86
- getCoreRowModel: getCoreRowModel(),
87
- getPaginationRowModel: getPaginationRowModel(),
88
- getSortedRowModel: getSortedRowModel(),
89
- getFilteredRowModel: getFilteredRowModel(),
90
- onPaginationChange: (
91
- updater:
92
- | PaginationState
93
- | ((arg0: PaginationState) => PaginationState),
94
- ) => {
95
- pagination =
96
- typeof updater === "function"
97
- ? updater(pagination)
98
- : updater;
99
- return pagination;
100
- },
101
- onSortingChange: (
102
- updater: SortingState | ((arg0: SortingState) => SortingState),
103
- ) => {
104
- sorting = typeof updater === "function" ? updater(sorting) : updater;
105
- return sorting;
106
- },
107
- onColumnFiltersChange: (
108
- updater:
109
- | ColumnFiltersState
110
- | ((arg0: ColumnFiltersState) => ColumnFiltersState),
111
- ) => {
112
- columnFilters =
113
- typeof updater === "function"
114
- ? updater(columnFilters)
115
- : updater;
116
- return columnFilters;
117
- },
118
- onColumnVisibilityChange: (
119
- updater:
120
- | VisibilityState
121
- | ((arg0: VisibilityState) => VisibilityState),
122
- ) => {
123
- columnVisibility =
124
- typeof updater === "function"
125
- ? updater(columnVisibility)
126
- : updater;
127
- return columnVisibility;
128
- },
129
- onRowSelectionChange: (
130
- updater:
131
- | RowSelectionState
132
- | ((arg0: RowSelectionState) => RowSelectionState),
133
- ) => {
134
- rowSelection =
135
- typeof updater === "function"
136
- ? updater(rowSelection)
137
- : updater;
138
- return rowSelection;
139
- },
140
- }),
141
- );
142
- </script>
143
-
144
- <div class="-mb-8 w-full">
145
- <DataTableListFilter {table} column={columnFilter} />
146
- <DataTableContent {table} {columns} />
147
- <DataTableListPagination {table} />
148
- </div>
1
+ <script lang="ts" generics="T">
2
+ import {
3
+ type CellContext,
4
+ type ColumnDef,
5
+ type ColumnFiltersState,
6
+ type PaginationState,
7
+ type RowSelectionState,
8
+ type SortingState,
9
+ type VisibilityState,
10
+ getCoreRowModel,
11
+ getFilteredRowModel,
12
+ getPaginationRowModel,
13
+ getSortedRowModel,
14
+ } from "../../data-table";
15
+ import type { DataTableItem } from "../data/data-table";
16
+ import { resolveHeader } from "../data/resolve-header.svelte.js";
17
+ import { resolveCellBadge } from "../data/resolve-cell-badge.svelte.js";
18
+ import {
19
+ createDragColumn,
20
+ createSelectColumn,
21
+ } from "../data/columns-create";
22
+ import {
23
+ createSvelteTable,
24
+ renderComponent,
25
+ } from "../../data-table";
26
+ import DataTableListFilter from "./DataTableListFilter.svelte";
27
+ import DataTableContent from "./DataTableContent.svelte";
28
+ import DataTableListPagination from "./DataTableListPagination.svelte";
29
+
30
+ /**
31
+ * Generic data table with pagination, sorting, and filtering.
32
+ * @property {DataTableItem<T>["config"]} config - Column definitions
33
+ * @property {keyof T} columnFilter - Key for column filtering
34
+ * @property {Component} actions - Per-row actions component
35
+ * @property {T[]} items - Table data
36
+ */
37
+ let { config, columnFilter, actions, items = [] }: DataTableItem<T> = $props();
38
+
39
+ let columns: ColumnDef<T>[] = $derived([
40
+ createDragColumn<T>(),
41
+ createSelectColumn<T>(),
42
+ ...config.map((it) => ({
43
+ accessorKey: it.accessorKey,
44
+ header: resolveHeader(it.header),
45
+ cell: resolveCellBadge(it.cell, it.badge),
46
+ enableSorting: it.enableSorting,
47
+ enableHiding: it.enableHiding,
48
+ })),
49
+ ...(actions
50
+ ? [{
51
+ id: "actions",
52
+ cell: (ctx: CellContext<T, unknown>) => renderComponent(actions, ctx as unknown),
53
+ enableSorting: false,
54
+ enableHiding: false,
55
+ } satisfies ColumnDef<T>]
56
+ : []),
57
+ ]);
58
+
59
+ let pagination = $state<PaginationState>({ pageIndex: 0, pageSize: 10 });
60
+ let columnFilters = $state<ColumnFiltersState>([]);
61
+ let columnVisibility = $state<VisibilityState>({});
62
+ let rowSelection = $state<RowSelectionState>({});
63
+ let sorting = $state<SortingState>([]);
64
+
65
+ let table = $derived(
66
+ createSvelteTable({
67
+ data: items,
68
+ columns,
69
+ state: {
70
+ get pagination() {
71
+ return pagination;
72
+ },
73
+ get sorting() {
74
+ return sorting;
75
+ },
76
+ get columnVisibility() {
77
+ return columnVisibility;
78
+ },
79
+ get rowSelection() {
80
+ return rowSelection;
81
+ },
82
+ get columnFilters() {
83
+ return columnFilters;
84
+ },
85
+ },
86
+ getCoreRowModel: getCoreRowModel(),
87
+ getPaginationRowModel: getPaginationRowModel(),
88
+ getSortedRowModel: getSortedRowModel(),
89
+ getFilteredRowModel: getFilteredRowModel(),
90
+ onPaginationChange: (
91
+ updater:
92
+ | PaginationState
93
+ | ((arg0: PaginationState) => PaginationState),
94
+ ) => {
95
+ pagination =
96
+ typeof updater === "function"
97
+ ? updater(pagination)
98
+ : updater;
99
+ return pagination;
100
+ },
101
+ onSortingChange: (
102
+ updater: SortingState | ((arg0: SortingState) => SortingState),
103
+ ) => {
104
+ sorting = typeof updater === "function" ? updater(sorting) : updater;
105
+ return sorting;
106
+ },
107
+ onColumnFiltersChange: (
108
+ updater:
109
+ | ColumnFiltersState
110
+ | ((arg0: ColumnFiltersState) => ColumnFiltersState),
111
+ ) => {
112
+ columnFilters =
113
+ typeof updater === "function"
114
+ ? updater(columnFilters)
115
+ : updater;
116
+ return columnFilters;
117
+ },
118
+ onColumnVisibilityChange: (
119
+ updater:
120
+ | VisibilityState
121
+ | ((arg0: VisibilityState) => VisibilityState),
122
+ ) => {
123
+ columnVisibility =
124
+ typeof updater === "function"
125
+ ? updater(columnVisibility)
126
+ : updater;
127
+ return columnVisibility;
128
+ },
129
+ onRowSelectionChange: (
130
+ updater:
131
+ | RowSelectionState
132
+ | ((arg0: RowSelectionState) => RowSelectionState),
133
+ ) => {
134
+ rowSelection =
135
+ typeof updater === "function"
136
+ ? updater(rowSelection)
137
+ : updater;
138
+ return rowSelection;
139
+ },
140
+ }),
141
+ );
142
+ </script>
143
+
144
+ <div class="-mb-8 w-full">
145
+ <DataTableListFilter {table} column={columnFilter} />
146
+ <DataTableContent {table} {columns} />
147
+ <DataTableListPagination {table} />
148
+ </div>
@@ -1,8 +1,8 @@
1
- <script lang="ts">
2
- import { GripVerticalIcon } from "@hugeicons/core-free-icons";
3
- import { HugeiconsIcon } from "@hugeicons/svelte";
4
- </script>
5
-
6
- <button class="cursor-grab opacity-60 hover:opacity-100 w-min">
7
- <HugeiconsIcon icon={GripVerticalIcon} class="size-4" />
8
- </button>
1
+ <script lang="ts">
2
+ import { GripVerticalIcon } from "@hugeicons/core-free-icons";
3
+ import { HugeiconsIcon } from "@hugeicons/svelte";
4
+ </script>
5
+
6
+ <button class="cursor-grab opacity-60 hover:opacity-100 w-min">
7
+ <HugeiconsIcon icon={GripVerticalIcon} class="size-4" />
8
+ </button>
@@ -1,60 +1,60 @@
1
- <script lang="ts" generics="T">
2
- import Button from "../../button/button.svelte";
3
- import * as DropdownMenu from "../../dropdown-menu/index.js";
4
- import { Input } from "../../input/index.js";
5
- import { ArrowDown01Icon } from "@hugeicons/core-free-icons";
6
- import { HugeiconsIcon } from "@hugeicons/svelte";
7
- import type { Table } from "../../data-table";
8
-
9
- type Props = {
10
- table: Table<T>;
11
- column?: keyof T & string;
12
- };
13
-
14
- let { table, column }: Props = $props();
15
- </script>
16
-
17
- <div class="flex items-center py-4">
18
- <Input
19
- placeholder="Filter emails..."
20
- value={(column
21
- ? (table.getColumn(column)?.getFilterValue() as string)
22
- : "") ?? ""}
23
- oninput={(e) =>
24
- column &&
25
- table.getColumn(column)?.setFilterValue(e.currentTarget.value)}
26
- onchange={(e) => {
27
- if (column) {
28
- table.getColumn(column)?.setFilterValue(e.currentTarget.value);
29
- }
30
- }}
31
- class="max-w-sm"
32
- />
33
- <DropdownMenu.Root>
34
- <DropdownMenu.Trigger>
35
- {#snippet child({ props })}
36
- <Button {...props} variant="outline" class="ms-auto">
37
- Columns <HugeiconsIcon
38
- icon={ArrowDown01Icon}
39
- class="ms-2 size-4"
40
- />
41
- </Button>
42
- {/snippet}
43
- </DropdownMenu.Trigger>
44
- <DropdownMenu.Content align="end">
45
- {#each table
46
- .getAllColumns()
47
- .filter((col) => col.getCanHide()) as col (col.id)}
48
- <DropdownMenu.CheckboxItem
49
- class="capitalize"
50
- bind:checked={
51
- () => col.getIsVisible(),
52
- (v) => col.toggleVisibility(!!v)
53
- }
54
- >
55
- {col.id}
56
- </DropdownMenu.CheckboxItem>
57
- {/each}
58
- </DropdownMenu.Content>
59
- </DropdownMenu.Root>
60
- </div>
1
+ <script lang="ts" generics="T">
2
+ import Button from "../../button/button.svelte";
3
+ import * as DropdownMenu from "../../dropdown-menu/index.js";
4
+ import { Input } from "../../input/index.js";
5
+ import { ArrowDown01Icon } from "@hugeicons/core-free-icons";
6
+ import { HugeiconsIcon } from "@hugeicons/svelte";
7
+ import type { Table } from "../../data-table";
8
+
9
+ type Props = {
10
+ table: Table<T>;
11
+ column?: keyof T & string;
12
+ };
13
+
14
+ let { table, column }: Props = $props();
15
+ </script>
16
+
17
+ <div class="flex items-center py-4">
18
+ <Input
19
+ placeholder="Filter emails..."
20
+ value={(column
21
+ ? (table.getColumn(column)?.getFilterValue() as string)
22
+ : "") ?? ""}
23
+ oninput={(e) =>
24
+ column &&
25
+ table.getColumn(column)?.setFilterValue(e.currentTarget.value)}
26
+ onchange={(e) => {
27
+ if (column) {
28
+ table.getColumn(column)?.setFilterValue(e.currentTarget.value);
29
+ }
30
+ }}
31
+ class="max-w-sm"
32
+ />
33
+ <DropdownMenu.Root>
34
+ <DropdownMenu.Trigger>
35
+ {#snippet child({ props })}
36
+ <Button {...props} variant="outline" class="ms-auto">
37
+ Columns <HugeiconsIcon
38
+ icon={ArrowDown01Icon}
39
+ class="ms-2 size-4"
40
+ />
41
+ </Button>
42
+ {/snippet}
43
+ </DropdownMenu.Trigger>
44
+ <DropdownMenu.Content align="end">
45
+ {#each table
46
+ .getAllColumns()
47
+ .filter((col) => col.getCanHide()) as col (col.id)}
48
+ <DropdownMenu.CheckboxItem
49
+ class="capitalize"
50
+ bind:checked={
51
+ () => col.getIsVisible(),
52
+ (v) => col.toggleVisibility(!!v)
53
+ }
54
+ >
55
+ {col.id}
56
+ </DropdownMenu.CheckboxItem>
57
+ {/each}
58
+ </DropdownMenu.Content>
59
+ </DropdownMenu.Root>
60
+ </div>
@@ -1,35 +1,35 @@
1
- <script lang="ts" generics="T">
2
- import Button from "../../button/button.svelte";
3
- import type { Table } from "../../data-table";
4
-
5
- type Props = {
6
- table: Table<T>;
7
- };
8
-
9
- let { table }: Props = $props();
10
- </script>
11
-
12
- <div class="flex items-center justify-end space-x-2 pt-4">
13
- <div class="text-muted-foreground flex-1 text-sm">
14
- {table.getFilteredSelectedRowModel().rows.length} of
15
- {table.getFilteredRowModel().rows.length} row(s) selected.
16
- </div>
17
- <div class="space-x-2">
18
- <Button
19
- variant="outline"
20
- size="sm"
21
- onclick={() => table.previousPage()}
22
- disabled={!table.getCanPreviousPage()}
23
- >
24
- Previous
25
- </Button>
26
- <Button
27
- variant="outline"
28
- size="sm"
29
- onclick={() => table.nextPage()}
30
- disabled={!table.getCanNextPage()}
31
- >
32
- Next
33
- </Button>
34
- </div>
35
- </div>
1
+ <script lang="ts" generics="T">
2
+ import Button from "../../button/button.svelte";
3
+ import type { Table } from "../../data-table";
4
+
5
+ type Props = {
6
+ table: Table<T>;
7
+ };
8
+
9
+ let { table }: Props = $props();
10
+ </script>
11
+
12
+ <div class="flex items-center justify-end space-x-2 pt-4">
13
+ <div class="text-muted-foreground flex-1 text-sm">
14
+ {table.getFilteredSelectedRowModel().rows.length} of
15
+ {table.getFilteredRowModel().rows.length} row(s) selected.
16
+ </div>
17
+ <div class="space-x-2">
18
+ <Button
19
+ variant="outline"
20
+ size="sm"
21
+ onclick={() => table.previousPage()}
22
+ disabled={!table.getCanPreviousPage()}
23
+ >
24
+ Previous
25
+ </Button>
26
+ <Button
27
+ variant="outline"
28
+ size="sm"
29
+ onclick={() => table.nextPage()}
30
+ disabled={!table.getCanNextPage()}
31
+ >
32
+ Next
33
+ </Button>
34
+ </div>
35
+ </div>
@@ -1,42 +1,42 @@
1
- <script lang="ts">
2
- import type { Snippet } from "svelte";
3
- import type { HTMLButtonAttributes } from "svelte/elements";
4
- import { useDrawerContext } from "./drawer.svelte";
5
-
6
- let {
7
- ref = $bindable(null),
8
- class: className,
9
- children,
10
- child,
11
- onclick,
12
- ...restProps
13
- }: HTMLButtonAttributes & {
14
- children?: Snippet;
15
- child?: Snippet<[{ props: Record<string, unknown> }]>;
16
- ref?: HTMLButtonElement | null;
17
- } = $props();
18
-
19
- const drawer = useDrawerContext();
20
-
21
- function handleClick(event: MouseEvent & { currentTarget: HTMLButtonElement }) {
22
- onclick?.(event);
23
- drawer.setOpen(false);
24
- }
25
-
26
- const closeProps = $derived({
27
- ...restProps,
28
- class: className,
29
- "data-slot": "drawer-close",
30
- "data-state": drawer.open ? "open" : "closed",
31
- type: "button" as const,
32
- onclick: handleClick,
33
- });
34
- </script>
35
-
36
- {#if child}
37
- {@render child({ props: closeProps })}
38
- {:else}
39
- <button bind:this={ref} {...closeProps}>
40
- {@render children?.()}
41
- </button>
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+ import type { HTMLButtonAttributes } from "svelte/elements";
4
+ import { useDrawerContext } from "./drawer.svelte";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ child,
11
+ onclick,
12
+ ...restProps
13
+ }: HTMLButtonAttributes & {
14
+ children?: Snippet;
15
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
16
+ ref?: HTMLButtonElement | null;
17
+ } = $props();
18
+
19
+ const drawer = useDrawerContext();
20
+
21
+ function handleClick(event: MouseEvent & { currentTarget: HTMLButtonElement }) {
22
+ onclick?.(event);
23
+ drawer.setOpen(false);
24
+ }
25
+
26
+ const closeProps = $derived({
27
+ ...restProps,
28
+ class: className,
29
+ "data-slot": "drawer-close",
30
+ "data-state": drawer.open ? "open" : "closed",
31
+ type: "button" as const,
32
+ onclick: handleClick,
33
+ });
34
+ </script>
35
+
36
+ {#if child}
37
+ {@render child({ props: closeProps })}
38
+ {:else}
39
+ <button bind:this={ref} {...closeProps}>
40
+ {@render children?.()}
41
+ </button>
42
42
  {/if}