@svadmin/ui 0.68.1 → 0.69.0

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 (315) hide show
  1. package/README.md +52 -0
  2. package/dist/app.css +7627 -853
  3. package/dist/app.theme.css +7676 -850
  4. package/dist/components/AboutSettings.svelte +8 -8
  5. package/dist/components/ActivityFeed.svelte +25 -40
  6. package/dist/components/AdminApp.svelte +14 -14
  7. package/dist/components/AnomalyBadge.svelte +6 -5
  8. package/dist/components/ApiSettings.svelte +8 -8
  9. package/dist/components/AppearanceSettings.svelte +13 -13
  10. package/dist/components/ApprovalActionCard.svelte +35 -35
  11. package/dist/components/AuditLogDrawer.svelte +17 -17
  12. package/dist/components/AuditLogViewer.svelte +42 -42
  13. package/dist/components/AuthPageShell.svelte +11 -11
  14. package/dist/components/AutoForm.svelte +28 -28
  15. package/dist/components/AutoSaveIndicator.svelte +8 -8
  16. package/dist/components/AutoTable.svelte +141 -141
  17. package/dist/components/BatchActionBar.svelte +15 -15
  18. package/dist/components/Breadcrumbs.svelte +4 -4
  19. package/dist/components/CancelTaskButton.svelte +2 -2
  20. package/dist/components/CanvasAnnotation.svelte +27 -27
  21. package/dist/components/Cascader.svelte +20 -20
  22. package/dist/components/CatchAllNavigate.svelte +2 -2
  23. package/dist/components/ColumnHeaderFilter.svelte +21 -21
  24. package/dist/components/ColumnSettings.svelte +20 -20
  25. package/dist/components/ComboboxField.svelte +17 -17
  26. package/dist/components/CommandPalette.svelte +23 -23
  27. package/dist/components/ConfigErrorScreen.svelte +27 -27
  28. package/dist/components/ConfirmDialog.svelte +1 -1
  29. package/dist/components/CreateInferencer.svelte +1 -1
  30. package/dist/components/CreatePage.svelte +1 -1
  31. package/dist/components/DecisionTable.svelte +39 -39
  32. package/dist/components/DetailDrawer.svelte +9 -9
  33. package/dist/components/DevTools.svelte +96 -96
  34. package/dist/components/DraggableGrid.svelte +6 -6
  35. package/dist/components/DraggableHeader.svelte +1 -1
  36. package/dist/components/DraggableRowTable.svelte +13 -13
  37. package/dist/components/DrawerForm.svelte +10 -10
  38. package/dist/components/DynamicFormList.svelte +19 -19
  39. package/dist/components/EditInferencer.svelte +3 -3
  40. package/dist/components/EditInferencer.svelte.d.ts +1 -1
  41. package/dist/components/EditPage.svelte +1 -1
  42. package/dist/components/EditableTable.svelte +30 -30
  43. package/dist/components/EmptyState.svelte +6 -6
  44. package/dist/components/ErrorBoundary.svelte +8 -8
  45. package/dist/components/ErrorComponent.svelte +5 -5
  46. package/dist/components/FieldRenderer.svelte +30 -30
  47. package/dist/components/FilterBuilder.svelte +31 -31
  48. package/dist/components/FilterDropdown.svelte +26 -26
  49. package/dist/components/ForgotPasswordPage.svelte +14 -14
  50. package/dist/components/GanttChart.svelte +30 -30
  51. package/dist/components/Header.svelte +13 -13
  52. package/dist/components/ImageCropper.svelte +21 -21
  53. package/dist/components/ImportWizard.svelte +49 -49
  54. package/dist/components/InferencerPanel.svelte +35 -35
  55. package/dist/components/InfiniteList.svelte +8 -8
  56. package/dist/components/InlineEdit.svelte +5 -5
  57. package/dist/components/IntegrationsSettings.svelte +5 -5
  58. package/dist/components/JsonSchemaForm.svelte +18 -18
  59. package/dist/components/KanbanBoard.svelte +30 -30
  60. package/dist/components/KeyboardShortcuts.svelte +8 -8
  61. package/dist/components/Layout.svelte +22 -22
  62. package/dist/components/LazyPage.svelte +4 -4
  63. package/dist/components/ListInferencer.svelte +2 -2
  64. package/dist/components/ListPage.svelte +1 -1
  65. package/dist/components/LiveIndicator.svelte +11 -11
  66. package/dist/components/LoginPage.svelte +27 -27
  67. package/dist/components/MasterDetailView.svelte +24 -24
  68. package/dist/components/MediaLibraryModal.svelte +37 -37
  69. package/dist/components/MentionsInput.svelte +11 -11
  70. package/dist/components/MetricStrip.svelte +18 -58
  71. package/dist/components/ModalForm.svelte +8 -8
  72. package/dist/components/MultiTabKeepAlive.svelte +14 -14
  73. package/dist/components/NavigateToResource.svelte +3 -3
  74. package/dist/components/NotificationsSettings.svelte +4 -4
  75. package/dist/components/OfflineSyncBanner.svelte +28 -28
  76. package/dist/components/PageHeader.svelte +12 -13
  77. package/dist/components/PageSkeleton.svelte +26 -26
  78. package/dist/components/PasswordInput.svelte +11 -11
  79. package/dist/components/PdfDocumentViewer.svelte +45 -45
  80. package/dist/components/PermissionMatrix.svelte +48 -48
  81. package/dist/components/PivotTable.svelte +21 -21
  82. package/dist/components/PresenceAvatarGroup.svelte +11 -11
  83. package/dist/components/PrintableBill.svelte +43 -43
  84. package/dist/components/ProfilePage.svelte +34 -34
  85. package/dist/components/RecordDetailDrawer.svelte +15 -15
  86. package/dist/components/RegisterPage.svelte +9 -9
  87. package/dist/components/ResourceInferencer.svelte +3 -3
  88. package/dist/components/ResourceOperationsPage.svelte +44 -44
  89. package/dist/components/RetryTaskButton.svelte +2 -2
  90. package/dist/components/RolesSettings.svelte +4 -4
  91. package/dist/components/RowActions.svelte +10 -10
  92. package/dist/components/SecuritySettings.svelte +8 -8
  93. package/dist/components/SensitiveDataMask.svelte +8 -8
  94. package/dist/components/SettingsPage.svelte +17 -17
  95. package/dist/components/ShowInferencer.svelte +3 -3
  96. package/dist/components/ShowInferencer.svelte.d.ts +1 -1
  97. package/dist/components/ShowPage.svelte +24 -24
  98. package/dist/components/Sidebar.svelte +63 -63
  99. package/dist/components/SidebarItem.svelte +35 -35
  100. package/dist/components/SignaturePad.svelte +16 -16
  101. package/dist/components/SplitPaneLayout.svelte +10 -10
  102. package/dist/components/SpreadsheetView.svelte +35 -35
  103. package/dist/components/StatsCard.svelte +12 -25
  104. package/dist/components/StepForm.svelte +23 -23
  105. package/dist/components/StepsForm.svelte +17 -17
  106. package/dist/components/SvadminLogo.svelte +1 -1
  107. package/dist/components/SystemPageShell.svelte +6 -6
  108. package/dist/components/TableSummary.svelte +8 -8
  109. package/dist/components/TaskDetails.svelte +29 -29
  110. package/dist/components/TaskList.svelte +17 -17
  111. package/dist/components/TaskProgressBar.svelte +4 -4
  112. package/dist/components/TaskQueueDrawer.svelte +44 -44
  113. package/dist/components/TaskStatusBadge.svelte +5 -5
  114. package/dist/components/TenantSwitcher.svelte +17 -17
  115. package/dist/components/ThemedTitle.svelte +4 -4
  116. package/dist/components/Toast.svelte +2 -2
  117. package/dist/components/Transfer.svelte +40 -40
  118. package/dist/components/TreeSelect.svelte +32 -32
  119. package/dist/components/TreeTable.svelte +28 -28
  120. package/dist/components/TwoFactorAuthPage.svelte +15 -15
  121. package/dist/components/UndoableNotification.svelte +10 -10
  122. package/dist/components/UpdatePasswordPage.svelte +6 -6
  123. package/dist/components/VersionDiffViewer.svelte +38 -38
  124. package/dist/components/VirtualTable.svelte +9 -9
  125. package/dist/components/Watermark.svelte +2 -2
  126. package/dist/components/account/CompanyProfilePage.svelte +4 -4
  127. package/dist/components/account/GetStartedPage.svelte +19 -19
  128. package/dist/components/account/ImportMembersPage.svelte +42 -42
  129. package/dist/components/account/MembersStarterPage.svelte +18 -18
  130. package/dist/components/account/SecurityLogPage.svelte +1 -1
  131. package/dist/components/account/SettingsEnterprisePage.svelte +7 -7
  132. package/dist/components/account/SettingsPlainPage.svelte +3 -3
  133. package/dist/components/account/SettingsSidebarPage.svelte +5 -5
  134. package/dist/components/account/TeamMembersPage.svelte +2 -2
  135. package/dist/components/account/UserProfilePage.svelte +3 -3
  136. package/dist/components/buttons/CloneButton.svelte +2 -2
  137. package/dist/components/buttons/CreateButton.svelte +2 -2
  138. package/dist/components/buttons/DeleteButton.svelte +4 -4
  139. package/dist/components/buttons/EditButton.svelte +2 -2
  140. package/dist/components/buttons/ExportButton.svelte +2 -2
  141. package/dist/components/buttons/ImportButton.svelte +3 -3
  142. package/dist/components/buttons/ListButton.svelte +2 -2
  143. package/dist/components/buttons/RefreshButton.svelte +2 -2
  144. package/dist/components/buttons/SaveButton.svelte +3 -3
  145. package/dist/components/buttons/ShowButton.svelte +2 -2
  146. package/dist/components/charts/BarChart.svelte +3 -3
  147. package/dist/components/charts/LineChart.svelte +3 -3
  148. package/dist/components/charts/PieChart.svelte +7 -7
  149. package/dist/components/content/ApiKeyList.svelte +12 -12
  150. package/dist/components/content/AuditTimeline.svelte +18 -18
  151. package/dist/components/content/ContentPageHeader.svelte +9 -9
  152. package/dist/components/content/ContentPageShell.svelte +2 -2
  153. package/dist/components/content/DataState.svelte +8 -8
  154. package/dist/components/content/DescriptionList.svelte +25 -25
  155. package/dist/components/content/FeedbackNotice.svelte +11 -11
  156. package/dist/components/content/FileList.svelte +2 -2
  157. package/dist/components/content/FilterToolbar.svelte +15 -15
  158. package/dist/components/content/ImportDropzone.svelte +6 -6
  159. package/dist/components/content/IntegrationCard.svelte +4 -4
  160. package/dist/components/content/MediaThumbnail.svelte +16 -16
  161. package/dist/components/content/MemberList.svelte +2 -2
  162. package/dist/components/content/MetricBlock.svelte +7 -7
  163. package/dist/components/content/NetworkTable.svelte +1 -1
  164. package/dist/components/content/NetworkUserCard.svelte +12 -12
  165. package/dist/components/content/OtpInput.svelte +2 -2
  166. package/dist/components/content/PageToolbar.svelte +3 -3
  167. package/dist/components/content/ProjectCard.svelte +11 -11
  168. package/dist/components/content/SectionHeader.svelte +5 -5
  169. package/dist/components/content/SecurityEventTable.svelte +2 -2
  170. package/dist/components/content/SettingsFieldRow.svelte +5 -5
  171. package/dist/components/content/SettingsGroup.svelte +7 -7
  172. package/dist/components/content/StatusBadge.svelte +6 -6
  173. package/dist/components/content/StatusTabs.svelte +28 -28
  174. package/dist/components/content/SystemErrorState.svelte +2 -2
  175. package/dist/components/content/TeamCard.svelte +6 -6
  176. package/dist/components/content/TwoFactorStepper.svelte +3 -3
  177. package/dist/components/content/WorkspaceActionBar.svelte +12 -12
  178. package/dist/components/content/WorkspaceInspector.svelte +11 -11
  179. package/dist/components/content/WorkspaceLayout.svelte +5 -5
  180. package/dist/components/content/WorkspaceSplitPane.svelte +4 -4
  181. package/dist/components/content/WorkspaceStageStepper.svelte +16 -16
  182. package/dist/components/content/WorkspaceTabBar.svelte +16 -16
  183. package/dist/components/fields/ArrayField.svelte +12 -12
  184. package/dist/components/fields/AvatarField.svelte +15 -15
  185. package/dist/components/fields/BooleanField.svelte +14 -14
  186. package/dist/components/fields/CodeField.svelte +10 -10
  187. package/dist/components/fields/CopyField.svelte +6 -6
  188. package/dist/components/fields/CurrencyField.svelte +6 -6
  189. package/dist/components/fields/DateField.svelte +1 -1
  190. package/dist/components/fields/DateRangeField.svelte +2 -2
  191. package/dist/components/fields/EmailField.svelte +2 -2
  192. package/dist/components/fields/FileField.svelte +3 -3
  193. package/dist/components/fields/ImageField.svelte +1 -1
  194. package/dist/components/fields/JsonField.svelte +11 -11
  195. package/dist/components/fields/MarkdownField.svelte +2 -2
  196. package/dist/components/fields/MultiSelectField.svelte +3 -3
  197. package/dist/components/fields/NumberField.svelte +1 -1
  198. package/dist/components/fields/PercentField.svelte +9 -9
  199. package/dist/components/fields/PhoneField.svelte +8 -8
  200. package/dist/components/fields/RatingField.svelte +10 -10
  201. package/dist/components/fields/RelationField.svelte +3 -3
  202. package/dist/components/fields/RichTextField.svelte +4 -4
  203. package/dist/components/fields/TagField.svelte +11 -11
  204. package/dist/components/fields/TextField.svelte +2 -2
  205. package/dist/components/fields/UrlField.svelte +3 -3
  206. package/dist/components/network/TeamCrewTablePage.svelte +2 -2
  207. package/dist/components/network/UserCardsNFTPage.svelte +1 -1
  208. package/dist/components/profile/ActivityTimeline.svelte +8 -8
  209. package/dist/components/profile/ProfileCard.svelte +47 -47
  210. package/dist/components/profile/ProfileVariantSections.svelte +158 -158
  211. package/dist/components/profile/ProjectsGrid.svelte +6 -6
  212. package/dist/components/profile/PublicProfilePage.svelte +6 -6
  213. package/dist/components/profile/TeamsShowcase.svelte +3 -3
  214. package/dist/components/ui/alert/alert-description.svelte +1 -1
  215. package/dist/components/ui/alert/alert-title.svelte +1 -1
  216. package/dist/components/ui/alert/alert-variants.d.ts +7 -0
  217. package/dist/components/ui/alert/alert-variants.js +2 -0
  218. package/dist/components/ui/alert/alert.svelte +4 -15
  219. package/dist/components/ui/alert/alert.svelte.d.ts +7 -24
  220. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +2 -2
  221. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +1 -1
  222. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +1 -1
  223. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +1 -1
  224. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +1 -1
  225. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +1 -1
  226. package/dist/components/ui/avatar/avatar-variants.d.ts +7 -0
  227. package/dist/components/ui/avatar/avatar-variants.js +2 -0
  228. package/dist/components/ui/avatar/avatar.svelte +11 -20
  229. package/dist/components/ui/avatar/avatar.svelte.d.ts +12 -28
  230. package/dist/components/ui/badge/badge-variants.d.ts +7 -0
  231. package/dist/components/ui/badge/badge-variants.js +2 -0
  232. package/dist/components/ui/badge/badge.svelte +4 -24
  233. package/dist/components/ui/badge/badge.svelte.d.ts +7 -45
  234. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +3 -3
  235. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +1 -1
  236. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +1 -1
  237. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +1 -1
  238. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +1 -1
  239. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +2 -2
  240. package/dist/components/ui/button/button-variants.d.ts +9 -0
  241. package/dist/components/ui/button/button-variants.js +3 -0
  242. package/dist/components/ui/button/button.svelte +12 -31
  243. package/dist/components/ui/button/button.svelte.d.ts +9 -61
  244. package/dist/components/ui/card/card-action.svelte +1 -4
  245. package/dist/components/ui/card/card-content.svelte +1 -1
  246. package/dist/components/ui/card/card-description.svelte +1 -1
  247. package/dist/components/ui/card/card-footer.svelte +1 -1
  248. package/dist/components/ui/card/card-header.svelte +1 -4
  249. package/dist/components/ui/card/card-title.svelte +1 -1
  250. package/dist/components/ui/card/card.svelte +1 -1
  251. package/dist/components/ui/checkbox/checkbox.svelte +2 -5
  252. package/dist/components/ui/command/command-dialog.svelte +3 -3
  253. package/dist/components/ui/command/command-empty.svelte +1 -1
  254. package/dist/components/ui/command/command-group.svelte +2 -2
  255. package/dist/components/ui/command/command-input.svelte +1 -4
  256. package/dist/components/ui/command/command-item.svelte +1 -4
  257. package/dist/components/ui/command/command-list.svelte +1 -1
  258. package/dist/components/ui/command/command-separator.svelte +1 -1
  259. package/dist/components/ui/command/command.svelte +1 -4
  260. package/dist/components/ui/dialog/dialog-content.svelte +3 -3
  261. package/dist/components/ui/dialog/dialog-description.svelte +1 -1
  262. package/dist/components/ui/dialog/dialog-footer.svelte +1 -1
  263. package/dist/components/ui/dialog/dialog-header.svelte +1 -1
  264. package/dist/components/ui/dialog/dialog-overlay.svelte +1 -1
  265. package/dist/components/ui/dialog/dialog-title.svelte +1 -1
  266. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +2 -5
  267. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +1 -6
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +3 -9
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +1 -1
  270. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +1 -1
  271. package/dist/components/ui/input/input.svelte +3 -2
  272. package/dist/components/ui/label/label.svelte +1 -4
  273. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +1 -5
  274. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +2 -5
  275. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +1 -1
  276. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +1 -4
  277. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +1 -1
  278. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +2 -5
  279. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +2 -5
  280. package/dist/components/ui/navigation-menu/navigation-menu.svelte +1 -1
  281. package/dist/components/ui/pagination/pagination-content.svelte +1 -1
  282. package/dist/components/ui/pagination/pagination-ellipsis.svelte +3 -3
  283. package/dist/components/ui/pagination/pagination-link.svelte +3 -0
  284. package/dist/components/ui/pagination/pagination-next.svelte +5 -2
  285. package/dist/components/ui/pagination/pagination-previous.svelte +5 -2
  286. package/dist/components/ui/pagination/pagination.svelte +1 -1
  287. package/dist/components/ui/popover/popover-content.svelte +1 -4
  288. package/dist/components/ui/progress/progress.svelte +2 -2
  289. package/dist/components/ui/scroll-area/scroll-area.svelte +3 -4
  290. package/dist/components/ui/select/select.svelte +1 -2
  291. package/dist/components/ui/separator/separator.svelte +1 -6
  292. package/dist/components/ui/sheet/sheet-content.svelte +1 -4
  293. package/dist/components/ui/sheet/sheet-description.svelte +1 -1
  294. package/dist/components/ui/sheet/sheet-footer.svelte +1 -1
  295. package/dist/components/ui/sheet/sheet-header.svelte +1 -1
  296. package/dist/components/ui/sheet/sheet-title.svelte +1 -1
  297. package/dist/components/ui/sheet/sheet.svelte +5 -10
  298. package/dist/components/ui/skeleton/skeleton.svelte +1 -1
  299. package/dist/components/ui/switch/switch.svelte +2 -9
  300. package/dist/components/ui/table/table-caption.svelte +1 -1
  301. package/dist/components/ui/table/table-cell.svelte +8 -11
  302. package/dist/components/ui/table/table-footer.svelte +1 -1
  303. package/dist/components/ui/table/table-head.svelte +1 -11
  304. package/dist/components/ui/table/table-header.svelte +1 -1
  305. package/dist/components/ui/table/table-row.svelte +2 -2
  306. package/dist/components/ui/table/table-row.svelte.d.ts +1 -1
  307. package/dist/components/ui/table/table.svelte +2 -2
  308. package/dist/components/ui/tabs/tabs-content.svelte +1 -1
  309. package/dist/components/ui/tabs/tabs-list.svelte +1 -4
  310. package/dist/components/ui/tabs/tabs-trigger.svelte +1 -7
  311. package/dist/components/ui/tabs/tabs.svelte +1 -1
  312. package/dist/components/ui/textarea/textarea.svelte +1 -4
  313. package/dist/components/ui/tooltip/tooltip-content.svelte +1 -1
  314. package/dist/page-chrome.css +228 -0
  315. package/package.json +12 -7
@@ -1,66 +1,14 @@
1
1
  import { type WithElementRef } from "../../../utils.js";
2
2
  import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
3
- import { type VariantProps } from "tailwind-variants";
4
- export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
5
- variant: {
6
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
7
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground";
8
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
9
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
10
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
11
- link: "text-primary underline-offset-4 hover:underline";
12
- };
13
- size: {
14
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
15
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
16
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5";
17
- lg: "h-10 gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5";
18
- icon: "size-9";
19
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3";
20
- "icon-sm": "size-8 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg";
21
- "icon-lg": "size-10";
22
- };
23
- }, undefined, "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 active:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
24
- variant: {
25
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
26
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground";
27
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
28
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
29
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
30
- link: "text-primary underline-offset-4 hover:underline";
31
- };
32
- size: {
33
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
34
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
35
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5";
36
- lg: "h-10 gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5";
37
- icon: "size-9";
38
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3";
39
- "icon-sm": "size-8 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg";
40
- "icon-lg": "size-10";
41
- };
42
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
43
- variant: {
44
- default: "bg-primary text-primary-foreground hover:bg-primary/80";
45
- outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground";
46
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground";
47
- ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground";
48
- destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30";
49
- link: "text-primary underline-offset-4 hover:underline";
50
- };
51
- size: {
52
- default: "h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5";
53
- xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3";
54
- sm: "h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5";
55
- lg: "h-10 gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5";
56
- icon: "size-9";
57
- "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3";
58
- "icon-sm": "size-8 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg";
59
- "icon-lg": "size-10";
60
- };
61
- }, undefined>>;
62
- export type ButtonVariant = VariantProps<typeof buttonVariants>["variant"];
63
- export type ButtonSize = VariantProps<typeof buttonVariants>["size"];
3
+ import { type ButtonSize as Size, type ButtonVariant as Variant } from "./button-variants.js";
4
+ export declare const buttonVariants: ({ variant, size, class: className, className: extraClassName, }?: {
5
+ variant?: Variant | null;
6
+ size?: Size | null;
7
+ class?: Parameters<(...inputs: import("cn").ClassValue[]) => string>[number];
8
+ className?: Parameters<(...inputs: import("cn").ClassValue[]) => string>[number];
9
+ }) => string;
10
+ export type ButtonSize = Size;
11
+ export type ButtonVariant = Variant;
64
12
  export type ButtonProps = WithElementRef<HTMLButtonAttributes, HTMLButtonElement> & WithElementRef<HTMLAnchorAttributes, HTMLAnchorElement> & {
65
13
  variant?: ButtonVariant;
66
14
  size?: ButtonSize;
@@ -13,10 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-action"
16
- class={cn(
17
- "cn-card-action col-start-2 row-span-2 row-start-1 self-start justify-self-end",
18
- className
19
- )}
16
+ class={cn("svadmin-card-action", className)}
20
17
  {...restProps}
21
18
  >
22
19
  {@render children?.()}
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-content"
16
- class={cn("px-4 group-data-[size=sm]/card:px-3", className)}
16
+ class={cn("svadmin-card-content", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -13,7 +13,7 @@
13
13
  <p
14
14
  bind:this={ref}
15
15
  data-slot="card-description"
16
- class={cn("text-muted-foreground text-sm", className)}
16
+ class={cn("svadmin-card-description", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-footer"
16
- class={cn("bg-muted/50 rounded-b-xl p-4 group-data-[size=sm]/card:p-3 flex items-center", className)}
16
+ class={cn("svadmin-card-footer", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -13,10 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="card-header"
16
- class={cn(
17
- "gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",
18
- className
19
- )}
16
+ class={cn("svadmin-card-header", className)}
20
17
  {...restProps}
21
18
  >
22
19
  {@render children?.()}
@@ -10,6 +10,6 @@
10
10
  }: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
11
11
  </script>
12
12
 
13
- <div bind:this={ref} data-slot="card-title" class={cn("leading-none font-semibold tracking-tight group-data-[size=sm]/card:text-sm", className)} {...restProps}>
13
+ <div bind:this={ref} data-slot="card-title" class={cn("svadmin-card-title", className)} {...restProps}>
14
14
  {@render children?.()}
15
15
  </div>
@@ -15,7 +15,7 @@
15
15
  bind:this={ref}
16
16
  data-slot="card"
17
17
  data-size={size}
18
- class={cn("shadow-sm bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-sm has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col", className)}
18
+ class={cn("svadmin-card", className)}
19
19
  {...restProps}
20
20
  >
21
21
  {@render children?.()}
@@ -16,10 +16,7 @@
16
16
  <CheckboxPrimitive.Root
17
17
  bind:ref
18
18
  data-slot="checkbox"
19
- class={cn(
20
- "border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",
21
- className
22
- )}
19
+ class={cn("svadmin-checkbox", className)}
23
20
  bind:checked
24
21
  bind:indeterminate
25
22
  {...restProps}
@@ -27,7 +24,7 @@
27
24
  {#snippet children({ checked, indeterminate })}
28
25
  <div
29
26
  data-slot="checkbox-indicator"
30
- class="[&>svg]:size-3.5 grid place-content-center text-current transition-none"
27
+ class="svadmin-checkbox-indicator"
31
28
  >
32
29
  {#if checked}
33
30
  <CheckIcon />
@@ -27,9 +27,9 @@
27
27
  <Dialog.Dialog bind:open {onOpenChange} {onOpenChangeComplete}>
28
28
  <Dialog.DialogContent
29
29
  data-cmdk-dialog=""
30
- class="overflow-hidden p-0"
30
+ class="svadmin-command-dialog-content"
31
31
  >
32
- <Dialog.DialogHeader class="sr-only">
32
+ <Dialog.DialogHeader class="svadmin-sr-only">
33
33
  <Dialog.DialogTitle>{commandProps.label || 'Command menu'}</Dialog.DialogTitle>
34
34
  <Dialog.DialogDescription>Search for a command to run.</Dialog.DialogDescription>
35
35
  </Dialog.DialogHeader>
@@ -37,7 +37,7 @@
37
37
  bind:value
38
38
  {...commandProps}
39
39
  class={cn(
40
- "[&_[data-command-group-heading]]:text-muted-foreground flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground [&_[data-command-group-heading]]:px-2 [&_[data-command-group-heading]]:font-medium [&_[data-command-group]:not([hidden])_~[data-command-group]]:pt-0 [&_[data-cmdk-input-wrapper]_svg]:h-5 [&_[data-cmdk-input-wrapper]_svg]:w-5 [&_[data-command-input]]:h-12 [&_[data-command-item]]:px-2 [&_[data-command-item]]:py-3",
40
+ "svadmin-command-dialog-root",
41
41
  className
42
42
  )}
43
43
  >
@@ -13,6 +13,6 @@
13
13
  bind:ref
14
14
  data-slot="command-empty"
15
15
  data-cmdk-empty=""
16
- class={cn("py-6 text-center text-sm", className)}
16
+ class={cn("svadmin-command-empty", className)}
17
17
  {...restProps}
18
18
  />
@@ -21,7 +21,7 @@
21
21
  bind:ref
22
22
  data-slot="command-group"
23
23
  data-cmdk-group=""
24
- class={cn("text-foreground overflow-hidden p-1", className)}
24
+ class={cn("svadmin-command-group", className)}
25
25
  value={value ?? heading}
26
26
  forceMount={alwaysRender ?? forceMount}
27
27
  {...restProps}
@@ -30,7 +30,7 @@
30
30
  <CommandPrimitive.GroupHeading
31
31
  data-slot="command-group-heading"
32
32
  data-cmdk-group-heading=""
33
- class="text-muted-foreground px-2 py-1.5 text-xs font-medium"
33
+ class="svadmin-command-heading"
34
34
  >
35
35
  {heading}
36
36
  </CommandPrimitive.GroupHeading>
@@ -15,9 +15,6 @@
15
15
  bind:value
16
16
  data-slot="command-input"
17
17
  data-cmdk-input=""
18
- class={cn(
19
- "w-full bg-transparent text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",
20
- className
21
- )}
18
+ class={cn("svadmin-command-input", className)}
22
19
  {...restProps}
23
20
  />
@@ -30,10 +30,7 @@
30
30
  bind:ref
31
31
  data-slot="command-item"
32
32
  data-cmdk-item=""
33
- class={cn(
34
- "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[selected]:bg-accent data-[selected]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
35
- className
36
- )}
33
+ class={cn("svadmin-command-item", className)}
37
34
  {value}
38
35
  forceMount={alwaysRender ?? forceMount}
39
36
  onSelect={handleSelect}
@@ -13,6 +13,6 @@
13
13
  bind:ref
14
14
  data-slot="command-list"
15
15
  data-cmdk-list=""
16
- class={cn("max-h-72 overflow-x-hidden overflow-y-auto", className)}
16
+ class={cn("svadmin-command-list", className)}
17
17
  {...restProps}
18
18
  />
@@ -17,7 +17,7 @@
17
17
  bind:ref
18
18
  data-slot="command-separator"
19
19
  data-cmdk-separator=""
20
- class={cn("bg-border -mx-1 h-px", className)}
20
+ class={cn("svadmin-command-separator", className)}
21
21
  forceMount={alwaysRender ?? forceMount}
22
22
  {...restProps}
23
23
  />
@@ -16,10 +16,7 @@
16
16
  bind:value
17
17
  data-slot="command"
18
18
  data-cmdk-root=""
19
- class={cn(
20
- "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
21
- className
22
- )}
19
+ class={cn("svadmin-command", className)}
23
20
  {...restProps}
24
21
  >
25
22
  {@render children?.()}
@@ -28,7 +28,7 @@
28
28
  bind:ref
29
29
  data-slot="dialog-content"
30
30
  class={cn(
31
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-98 data-[state=open]:zoom-in-98 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-6 text-sm ring-1 duration-300 sm:max-w-lg fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 outline-none shadow-2xl",
31
+ "svadmin-dialog-content",
32
32
  className
33
33
  )}
34
34
  {...restProps}
@@ -37,9 +37,9 @@
37
37
  {#if showCloseButton}
38
38
  <DialogPrimitive.Close data-slot="dialog-close">
39
39
  {#snippet child({ props })}
40
- <Button variant="ghost" class="absolute top-2 right-2" size="icon-sm" {...props}>
40
+ <Button variant="ghost" class="svadmin-u-da4dbfbc4fdc svadmin-u-9a2db8f949b6 svadmin-u-7b2d63937d23" size="icon-sm" {...props}>
41
41
  <XIcon />
42
- <span class="sr-only">Close</span>
42
+ <span class="svadmin-sr-only">Close</span>
43
43
  </Button>
44
44
  {/snippet}
45
45
  </DialogPrimitive.Close>
@@ -12,6 +12,6 @@
12
12
  <DialogPrimitive.Description
13
13
  bind:ref
14
14
  data-slot="dialog-description"
15
- class={cn("text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3", className)}
15
+ class={cn("svadmin-dialog-description", className)}
16
16
  {...restProps}
17
17
  />
@@ -18,7 +18,7 @@
18
18
  <div
19
19
  bind:this={ref}
20
20
  data-slot="dialog-footer"
21
- class={cn("bg-muted/50 -mx-6 -mb-6 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className)}
21
+ class={cn("svadmin-dialog-footer", className)}
22
22
  {...restProps}
23
23
  >
24
24
  {@render children?.()}
@@ -13,7 +13,7 @@
13
13
  <div
14
14
  bind:this={ref}
15
15
  data-slot="dialog-header"
16
- class={cn("gap-2 flex flex-col", className)}
16
+ class={cn("svadmin-dialog-header", className)}
17
17
  {...restProps}
18
18
  >
19
19
  {@render children?.()}
@@ -12,6 +12,6 @@
12
12
  <DialogPrimitive.Overlay
13
13
  bind:ref
14
14
  data-slot="dialog-overlay"
15
- class={cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 bg-black/20 duration-200 backdrop-blur-sm fixed inset-0 isolate z-50", className)}
15
+ class={cn("svadmin-dialog-overlay", className)}
16
16
  {...restProps}
17
17
  />
@@ -12,6 +12,6 @@
12
12
  <DialogPrimitive.Title
13
13
  bind:ref
14
14
  data-slot="dialog-title"
15
- class={cn("text-lg leading-none font-semibold", className)}
15
+ class={cn("svadmin-dialog-title", className)}
16
16
  {...restProps}
17
17
  />
@@ -27,14 +27,11 @@
27
27
  role="menuitemcheckbox"
28
28
  aria-checked={checked}
29
29
  data-slot="dropdown-menu-checkbox-item"
30
- class={cn(
31
- "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none hover:bg-accent hover:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
32
- className
33
- )}
30
+ class={cn("svadmin-dropdown-checkbox-item", className)}
34
31
  onclick={handleClick}
35
32
  {...restProps}
36
33
  >
37
- <span class="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
34
+ <span class="svadmin-dropdown-checkbox-indicator">
38
35
  {#if checked}
39
36
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>
40
37
  {/if}
@@ -23,12 +23,7 @@
23
23
  <div
24
24
  bind:this={ref}
25
25
  data-slot="dropdown-menu-content"
26
- class={cn(
27
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-lg border p-1 shadow-lg",
28
- "absolute mt-1 animate-in fade-in-0 zoom-in-95",
29
- align === "end" ? "right-0" : align === "start" ? "left-0" : "left-1/2 -translate-x-1/2",
30
- className
31
- )}
26
+ class={cn("svadmin-dropdown-content", `svadmin-dropdown-align-${align}`, className)}
32
27
  {...restProps}
33
28
  >
34
29
  {@render children?.()}
@@ -21,15 +21,9 @@
21
21
  bind:this={ref}
22
22
  type="button"
23
23
  data-slot="dropdown-menu-item"
24
- class={cn(
25
- "relative flex w-full cursor-pointer select-none items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none transition-colors [&_svg]:size-4 [&_svg]:shrink-0",
26
- destructive
27
- ? "text-destructive hover:bg-destructive/10 focus:bg-destructive/10"
28
- : "hover:bg-accent focus:bg-accent focus:text-accent-foreground",
29
- "disabled:pointer-events-none disabled:opacity-50",
30
- inset && "pl-8",
31
- className
32
- )}
24
+ data-variant={destructive ? "destructive" : "default"}
25
+ data-inset={inset ? "true" : undefined}
26
+ class={cn("svadmin-dropdown-item", className)}
33
27
  {...restProps}
34
28
  >
35
29
  {@render children?.()}
@@ -6,5 +6,5 @@
6
6
 
7
7
  <div
8
8
  data-slot="dropdown-menu-separator"
9
- class={cn("-mx-1 my-1 h-px bg-border", className)}
9
+ class={cn("svadmin-dropdown-separator", className)}
10
10
  ></div>
@@ -42,7 +42,7 @@
42
42
  <div
43
43
  bind:this={ref}
44
44
  data-slot="dropdown-menu"
45
- class={cn("relative inline-block", className)}
45
+ class={cn("svadmin-dropdown-menu", className)}
46
46
  {...restProps}
47
47
  >
48
48
  {@render children?.()}
@@ -31,8 +31,9 @@
31
31
  <input
32
32
  bind:this={ref}
33
33
  data-slot={dataSlot}
34
+ data-input-type="file"
34
35
  class={cn(
35
- "dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-9 rounded-lg border bg-transparent p-1 pr-3 text-xs md:text-sm text-muted-foreground transition-colors file:mr-3 file:inline-flex file:h-7 file:cursor-pointer file:items-center file:rounded-md file:border file:border-border/60 file:bg-muted file:px-2.5 file:text-xs file:font-medium file:text-foreground file:transition-colors hover:file:bg-muted/80 focus-visible:ring-3 aria-invalid:ring-3 placeholder:text-muted-foreground w-full min-w-0 outline-none cursor-pointer disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
36
+ "svadmin-input",
36
37
  className
37
38
  )}
38
39
  type="file"
@@ -44,7 +45,7 @@
44
45
  bind:this={ref}
45
46
  data-slot={dataSlot}
46
47
  class={cn(
47
- "dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-9 rounded-lg border bg-transparent px-3 py-1.5 text-base transition-colors focus-visible:ring-3 aria-invalid:ring-3 md:text-sm placeholder:text-muted-foreground w-full min-w-0 outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
48
+ "svadmin-input",
48
49
  className
49
50
  )}
50
51
  {type}
@@ -8,10 +8,7 @@
8
8
  <label
9
9
  bind:this={ref}
10
10
  data-slot="label"
11
- class={cn(
12
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
13
- className
14
- )}
11
+ class={cn("svadmin-label", className)}
15
12
  {...restProps}
16
13
  >
17
14
  {@render children?.()}
@@ -12,10 +12,6 @@
12
12
  <NavigationMenuPrimitive.Content
13
13
  bind:ref
14
14
  data-slot="navigation-menu-content"
15
- class={cn(
16
- "top-0 left-0 w-full md:absolute md:w-auto",
17
- "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52",
18
- className
19
- )}
15
+ class={cn("svadmin-navigation-content", className)}
20
16
  {...restProps}
21
17
  />
@@ -12,11 +12,8 @@
12
12
  <NavigationMenuPrimitive.Indicator
13
13
  bind:ref
14
14
  data-slot="navigation-menu-indicator"
15
- class={cn(
16
- "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
17
- className
18
- )}
15
+ class={cn("svadmin-navigation-indicator", className)}
19
16
  {...restProps}
20
17
  >
21
- <div class="relative top-[60%] size-2 rotate-45 rounded-tl-sm bg-border shadow-md"></div>
18
+ <div class="svadmin-navigation-indicator-arrow"></div>
22
19
  </NavigationMenuPrimitive.Indicator>
@@ -12,6 +12,6 @@
12
12
  <NavigationMenuPrimitive.Item
13
13
  bind:ref
14
14
  data-slot="navigation-menu-item"
15
- class={cn("relative", className)}
15
+ class={cn("svadmin-navigation-item", className)}
16
16
  {...restProps}
17
17
  />
@@ -12,9 +12,6 @@
12
12
  <NavigationMenuPrimitive.Link
13
13
  bind:ref
14
14
  data-slot="navigation-menu-link"
15
- class={cn(
16
- "inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50",
17
- className
18
- )}
15
+ class={cn("svadmin-navigation-link", className)}
19
16
  {...restProps}
20
17
  />
@@ -12,6 +12,6 @@
12
12
  <NavigationMenuPrimitive.List
13
13
  bind:ref
14
14
  data-slot="navigation-menu-list"
15
- class={cn("group flex flex-1 list-none items-center justify-center gap-1", className)}
15
+ class={cn("svadmin-navigation-list", className)}
16
16
  {...restProps}
17
17
  />
@@ -14,15 +14,12 @@
14
14
  <NavigationMenuPrimitive.Trigger
15
15
  bind:ref
16
16
  data-slot="navigation-menu-trigger"
17
- class={cn(
18
- "group/trigger inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
19
- className
20
- )}
17
+ class={cn("svadmin-navigation-trigger", className)}
21
18
  {...restProps}
22
19
  >
23
20
  {@render children?.()}
24
21
  <ChevronDownIcon
25
- class="relative top-[1px] ml-1 size-3 transition duration-200 group-data-[state=open]/trigger:rotate-180"
22
+ class="svadmin-navigation-trigger-icon"
26
23
  aria-hidden="true"
27
24
  />
28
25
  </NavigationMenuPrimitive.Trigger>
@@ -9,14 +9,11 @@
9
9
  }: NavigationMenuPrimitive.ViewportProps = $props();
10
10
  </script>
11
11
 
12
- <div class="absolute top-full left-0 flex justify-center">
12
+ <div class="svadmin-navigation-viewport-wrapper">
13
13
  <NavigationMenuPrimitive.Viewport
14
14
  bind:ref
15
15
  data-slot="navigation-menu-viewport"
16
- class={cn(
17
- "origin-top-center relative mt-1.5 h-[var(--bits-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-[0_18px_48px_rgba(15,23,42,0.14),0_4px_12px_rgba(15,23,42,0.08)] backdrop-blur-md transition-[width,height] duration-300 md:w-[var(--bits-navigation-menu-viewport-width)]",
18
- className
19
- )}
16
+ class={cn("svadmin-navigation-viewport", className)}
20
17
  {...restProps}
21
18
  />
22
19
  </div>
@@ -16,7 +16,7 @@
16
16
  bind:ref
17
17
  bind:value
18
18
  data-slot="navigation-menu"
19
- class={cn("relative z-10 flex max-w-max flex-1 items-center justify-center", className)}
19
+ class={cn("svadmin-navigation-menu", className)}
20
20
  {...restProps}
21
21
  >
22
22
  {@render children?.()}
@@ -6,6 +6,6 @@
6
6
  let { class: className, children, ...restProps }: HTMLAttributes<HTMLUListElement> & { children?: Snippet } = $props();
7
7
  </script>
8
8
 
9
- <ul data-slot="pagination-content" class={cn("flex flex-row items-center gap-1", className)} {...restProps}>
9
+ <ul data-slot="pagination-content" class={cn("svadmin-pagination-content", className)} {...restProps}>
10
10
  {@render children?.()}
11
11
  </ul>
@@ -6,7 +6,7 @@
6
6
  let { class: className, ...restProps }: HTMLAttributes<HTMLSpanElement> = $props();
7
7
  </script>
8
8
 
9
- <span aria-hidden="true" data-slot="pagination-ellipsis" class={cn("flex size-8 items-center justify-center", className)} {...restProps}>
10
- <Ellipsis class="size-4" />
11
- <span class="sr-only">More pages</span>
9
+ <span aria-hidden="true" data-slot="pagination-ellipsis" class={cn("svadmin-pagination-ellipsis", className)} {...restProps}>
10
+ <Ellipsis class="svadmin-pagination-icon" />
11
+ <span class="svadmin-sr-only">More pages</span>
12
12
  </span>
@@ -14,6 +14,9 @@
14
14
 
15
15
  <button
16
16
  aria-current={isActive ? 'page' : undefined}
17
+ data-svadmin-button
18
+ data-variant={isActive ? 'outline' : 'ghost'}
19
+ data-size="icon-sm"
17
20
  data-slot="pagination-link"
18
21
  data-active={isActive}
19
22
  class={cn(
@@ -10,13 +10,16 @@
10
10
 
11
11
  <button
12
12
  aria-label="Go to next page"
13
+ data-svadmin-button
14
+ data-variant="ghost"
15
+ data-size="icon-sm"
13
16
  data-slot="pagination-next"
14
- class={cn(buttonVariants({ variant: 'ghost', size: 'icon-sm' }), "gap-1", className)}
17
+ class={cn(buttonVariants({ variant: 'ghost', size: 'icon-sm' }), "svadmin-pagination-control", className)}
15
18
  {...restProps}
16
19
  >
17
20
  {#if children}
18
21
  {@render children()}
19
22
  {:else}
20
- <ChevronRight class="size-4" />
23
+ <ChevronRight class="svadmin-pagination-icon" />
21
24
  {/if}
22
25
  </button>