@svadmin/ui 0.68.0 → 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 +14 -9
@@ -30,15 +30,15 @@
30
30
  };
31
31
  </script>
32
32
 
33
- <div data-svadmin-metric-card role="region" aria-label={label} class={'min-w-0 rounded-lg border border-border bg-card p-4 shadow-sm ' + className}>
34
- <div class="flex items-start justify-between gap-3">
35
- <p class="text-sm text-muted-foreground">{label}</p>
36
- {#if icon}<span class="text-muted-foreground" aria-hidden="true">{@render icon()}</span>{/if}
33
+ <div data-svadmin-metric-card role="region" aria-label={label} class={'svadmin-u-7e0b7cdf1a94 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb svadmin-u-438b2237b8d6 ' + className}>
34
+ <div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c">
35
+ <p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{label}</p>
36
+ {#if icon}<span class="svadmin-u-bfa603190748" aria-hidden="true">{@render icon()}</span>{/if}
37
37
  </div>
38
38
  {#if loading}
39
- <Skeleton class="mt-3 h-8 w-24" />
39
+ <Skeleton class="svadmin-u-eccd13ef4f2f svadmin-u-ed8a5df7b2fb svadmin-u-69da7e4ff95d" />
40
40
  {:else}
41
- <p class="mt-2 truncate text-2xl font-semibold tracking-normal text-foreground tabular-nums">{value}</p>
42
- {#if detail || trend}<div class="mt-2 flex flex-wrap gap-2 text-xs">{#if trend}<span class={'font-medium tabular-nums ' + trendClass[trendTone]}>{trend}</span>{/if}{#if detail}<span class="text-muted-foreground">{detail}</span>{/if}</div>{/if}
41
+ <p class="svadmin-u-50d0d216a2f8 svadmin-u-f283ea9bea0e svadmin-u-3febee094e85 svadmin-u-e83a7042bc91 svadmin-u-d9256981a032 svadmin-u-d4108abe6359 svadmin-u-3032cae0badb">{value}</p>
42
+ {#if detail || trend}<div class="svadmin-u-50d0d216a2f8 svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-77a2a20e90d4 svadmin-u-359090c2d529">{#if trend}<span class={'svadmin-u-2689f3958069 svadmin-u-3032cae0badb ' + trendClass[trendTone]}>{trend}</span>{/if}{#if detail}<span class="svadmin-u-bfa603190748">{detail}</span>{/if}</div>{/if}
43
43
  {/if}
44
44
  </div>
@@ -11,7 +11,7 @@
11
11
  {#if resolvedState}
12
12
  <DataState state={resolvedState} title={stateTitle ?? emptyTitle} description={stateDescription ?? emptyDescription} {retry} {retryLabel} {loadingLabel} class={className} />
13
13
  {:else}
14
- <div class={'overflow-x-auto rounded-lg border border-border bg-card ' + className}>
14
+ <div class={'svadmin-u-1384f66f41d0 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 ' + className}>
15
15
  <Table.Root data-svadmin-datatable>
16
16
  <Table.Header data-svadmin-table-head><Table.Row>{#each columns as column (String(column.key))}<Table.Head>{column.label}</Table.Head>{/each}</Table.Row></Table.Header>
17
17
  <Table.Body>
@@ -38,20 +38,20 @@
38
38
  const initials = $derived(user.name.split(' ').map((part) => part[0]).join('').slice(0, 2).toUpperCase());
39
39
  </script>
40
40
  <Card.Card class={className}>
41
- <Card.CardContent class="space-y-4 p-4">
42
- <div class="flex items-start gap-3">
41
+ <Card.CardContent class="svadmin-u-3e7ce58d64fa svadmin-u-8e63407b5ceb">
42
+ <div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-1004c0c3954c">
43
43
  <Avatar src={user.avatar} alt={user.name} fallback={initials} size="lg" />
44
- <div class="min-w-0 flex-1">
45
- <div class="flex min-w-0 items-center gap-1.5"><h3 class="truncate text-sm font-semibold text-foreground">{user.name}</h3>{#if verified}<Check class="size-3.5 shrink-0 text-primary" aria-label={verifiedLabel} />{/if}</div>
46
- {#if user.handle}<p class="truncate text-xs text-muted-foreground">{user.handle}</p>{/if}
47
- {#if user.role}<p class="mt-2 text-xs font-medium text-foreground">{user.role}</p>{/if}
44
+ <div class="svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c">
45
+ <div class="svadmin-u-60fbb7713999 svadmin-u-7e0b7cdf1a94 svadmin-u-3960ffc248d9 svadmin-u-58284b4ea568"><h3 class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{user.name}</h3>{#if verified}<Check class="svadmin-u-783b0d9d1e2c svadmin-u-012fbd121f37 svadmin-u-20aaf08a7ed1" aria-label={verifiedLabel} />{/if}</div>
46
+ {#if user.handle}<p class="svadmin-u-f283ea9bea0e svadmin-u-359090c2d529 svadmin-u-bfa603190748">{user.handle}</p>{/if}
47
+ {#if user.role}<p class="svadmin-u-50d0d216a2f8 svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{user.role}</p>{/if}
48
48
  </div>
49
- {#if onmessage}<Button variant="ghost" size="icon-sm" aria-label={'Message ' + user.name} onclick={onmessage}><MessageSquare class="size-4" /></Button>{/if}
49
+ {#if onmessage}<Button variant="ghost" size="icon-sm" aria-label={'Message ' + user.name} onclick={onmessage}><MessageSquare class="svadmin-u-f7b5fa971871" /></Button>{/if}
50
50
  </div>
51
- {#if user.summary}<p class="text-sm leading-5 text-muted-foreground">{user.summary}</p>{/if}
52
- {#if tags.length > 0}<div class="flex flex-wrap gap-1.5">{#each tags as tag (tag)}<Badge variant="outline">{tag}</Badge>{/each}</div>{/if}
53
- {#if metrics.length > 0}<dl class="grid gap-2 border-t border-border pt-3 text-center" style:grid-template-columns={`repeat(${metrics.length}, minmax(0, 1fr))`}>{#each metrics as metric (metric.label)}<div class="min-w-0"><dd class="truncate text-sm font-semibold text-foreground">{metric.value}</dd><dt class="mt-1 truncate text-xs text-muted-foreground">{metric.label}</dt></div>{/each}</dl>{/if}
54
- {#if onconnect}<Button size="sm" variant={connected ? 'outline' : 'default'} class="w-full" onclick={onconnect}>{#if connected}<Check class="size-3.5" />{connectedLabel}{:else}<Plus class="size-3.5" />{connectLabel}{/if}</Button>{/if}
55
- {#if footer}<div class="border-t border-border pt-3">{@render footer()}</div>{/if}
51
+ {#if user.summary}<p class="svadmin-u-fc7473ca09eb svadmin-u-7054e2767710 svadmin-u-bfa603190748">{user.summary}</p>{/if}
52
+ {#if tags.length > 0}<div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-58284b4ea568">{#each tags as tag (tag)}<Badge variant="outline">{tag}</Badge>{/each}</div>{/if}
53
+ {#if metrics.length > 0}<dl class="svadmin-u-f3c543ad5fe9 svadmin-u-77a2a20e90d4 svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-ce335a8e4f56 svadmin-u-ca6bf63030aa" style:grid-template-columns={`repeat(${metrics.length}, minmax(0, 1fr))`}>{#each metrics as metric (metric.label)}<div class="svadmin-u-7e0b7cdf1a94"><dd class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{metric.value}</dd><dt class="svadmin-u-b6b02c0ebef6 svadmin-u-f283ea9bea0e svadmin-u-359090c2d529 svadmin-u-bfa603190748">{metric.label}</dt></div>{/each}</dl>{/if}
54
+ {#if onconnect}<Button size="sm" variant={connected ? 'outline' : 'default'} class="svadmin-u-6da6a3c3f741" onclick={onconnect}>{#if connected}<Check class="svadmin-u-783b0d9d1e2c" />{connectedLabel}{:else}<Plus class="svadmin-u-783b0d9d1e2c" />{connectLabel}{/if}</Button>{/if}
55
+ {#if footer}<div class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-ce335a8e4f56">{@render footer()}</div>{/if}
56
56
  </Card.CardContent>
57
57
  </Card.Card>
@@ -57,10 +57,10 @@
57
57
  }
58
58
  </script>
59
59
 
60
- <div class={'flex justify-center gap-2 ' + className} role="group" aria-label={ariaLabel}>
60
+ <div class={'svadmin-u-60fbb7713999 svadmin-u-86843cf1e227 svadmin-u-77a2a20e90d4 ' + className} role="group" aria-label={ariaLabel}>
61
61
  {#each slots as index (index)}
62
62
  <Input
63
- class="size-12 text-center text-lg font-semibold tabular-nums"
63
+ class="svadmin-u-9939b97359ce svadmin-u-ca6bf63030aa svadmin-u-42536e69e639 svadmin-u-e83a7042bc91 svadmin-u-3032cae0badb"
64
64
  value={value[index] ?? ''}
65
65
  maxlength={1}
66
66
  inputmode="numeric"
@@ -9,10 +9,10 @@
9
9
  let { leading, trailing, children, class: className = '' }: Props = $props();
10
10
  </script>
11
11
 
12
- <div data-svadmin-table-toolbar class={'flex flex-col gap-3 rounded-lg border border-border bg-card p-3 shadow-sm sm:flex-row sm:items-center sm:justify-between ' + className}>
13
- <div class="flex min-w-0 flex-1 flex-wrap items-center gap-2">
12
+ <div data-svadmin-table-toolbar class={'svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-eb6e8b881acd svadmin-u-438b2237b8d6 svadmin-u-020ba687fa12 svadmin-u-9f76a62f4f44 svadmin-u-3b9871a0bf93 ' + className}>
13
+ <div class="svadmin-u-60fbb7713999 svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
14
14
  {#if leading}{@render leading()}{/if}
15
15
  {#if children}{@render children()}{/if}
16
16
  </div>
17
- {#if trailing}<div class="flex shrink-0 flex-wrap items-center gap-2">{@render trailing()}</div>{/if}
17
+ {#if trailing}<div class="svadmin-u-60fbb7713999 svadmin-u-012fbd121f37 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{@render trailing()}</div>{/if}
18
18
  </div>
@@ -22,19 +22,19 @@
22
22
  let { project, onclick, class: className = '' }: Props = $props();
23
23
  const progress = $derived(project.progress ?? (project.status === 'completed' ? 100 : project.status === 'active' ? 72 : 0));
24
24
  </script>
25
- <Card.Card data-interactive={onclick ? 'true' : undefined} class={'h-full ' + className}>
26
- {#if project.image}<div class="h-32 w-full"><MediaThumbnail src={project.image} alt={project.name} size="full" fit="cover" showOverlay={false} /></div>{/if}
27
- <Card.CardContent class="flex h-full flex-col gap-4 p-4">
28
- <div class="flex items-start justify-between gap-3">
29
- <div class="flex min-w-0 items-center gap-3"><span class="flex size-9 shrink-0 items-center justify-center rounded-md border border-border bg-muted/50 text-muted-foreground"><FolderKanban class="size-4" /></span><h3 class="truncate text-sm font-semibold text-foreground">{project.name}</h3></div>
25
+ <Card.Card data-interactive={onclick ? 'true' : undefined} class={'svadmin-u-668b21aa5409 ' + className}>
26
+ {#if project.image}<div class="svadmin-u-b5f3ff77f4f9 svadmin-u-6da6a3c3f741"><MediaThumbnail src={project.image} alt={project.name} size="full" fit="cover" showOverlay={false} /></div>{/if}
27
+ <Card.CardContent class="svadmin-u-60fbb7713999 svadmin-u-668b21aa5409 svadmin-u-8dddea0773ed svadmin-u-0c3bc98565dd svadmin-u-8e63407b5ceb">
28
+ <div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c">
29
+ <div class="svadmin-u-60fbb7713999 svadmin-u-7e0b7cdf1a94 svadmin-u-3960ffc248d9 svadmin-u-1004c0c3954c"><span class="svadmin-u-60fbb7713999 svadmin-u-665f07fe73cc svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-358af0b65a31 svadmin-u-bfa603190748"><FolderKanban class="svadmin-u-f7b5fa971871" /></span><h3 class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{project.name}</h3></div>
30
30
  <StatusBadge status={project.status === 'active' ? 'success' : project.status === 'completed' ? 'info' : project.status === 'on-hold' ? 'warning' : 'neutral'} label={project.status} />
31
31
  </div>
32
- {#if project.description}<p class="line-clamp-2 text-sm text-muted-foreground">{project.description}</p>{/if}
33
- {#if project.tags?.length}<div class="flex flex-wrap gap-1.5">{#each project.tags as tag (tag)}<Badge variant="outline">{tag}</Badge>{/each}</div>{/if}
34
- <div class="mt-auto space-y-2">
35
- <div class="flex items-center justify-between text-xs text-muted-foreground"><span>Progress</span><span class="font-medium text-foreground">{progress}%</span></div>
36
- <Progress value={progress} class="h-1.5" />
37
- <div class="flex items-center justify-between border-t border-border pt-3 text-xs text-muted-foreground"><span class="flex items-center gap-1"><Users class="size-3.5" />{project.members ?? 0}</span><span class="flex items-center gap-1"><CheckCircle2 class="size-3.5" />{project.tasks ?? 0}</span>{#if onclick}<Button variant="ghost" size="icon-sm" aria-label={project.name} onclick={onclick}><ArrowRight class="size-3.5" /></Button>{/if}</div>
32
+ {#if project.description}<p class="svadmin-u-054cb4e36116 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{project.description}</p>{/if}
33
+ {#if project.tags?.length}<div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-58284b4ea568">{#each project.tags as tag (tag)}<Badge variant="outline">{tag}</Badge>{/each}</div>{/if}
34
+ <div class="svadmin-u-9953408a8ef3 svadmin-u-6f7e013d6499">
35
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-359090c2d529 svadmin-u-bfa603190748"><span>Progress</span><span class="svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{progress}%</span></div>
36
+ <Progress value={progress} class="svadmin-u-095acb275581" />
37
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-ce335a8e4f56 svadmin-u-359090c2d529 svadmin-u-bfa603190748"><span class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421"><Users class="svadmin-u-783b0d9d1e2c" />{project.members ?? 0}</span><span class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421"><CheckCircle2 class="svadmin-u-783b0d9d1e2c" />{project.tasks ?? 0}</span>{#if onclick}<Button variant="ghost" size="icon-sm" aria-label={project.name} onclick={onclick}><ArrowRight class="svadmin-u-783b0d9d1e2c" /></Button>{/if}</div>
38
38
  </div>
39
39
  </Card.CardContent>
40
40
  </Card.Card>
@@ -10,10 +10,10 @@
10
10
  let { title, description, actions, id, class: className = '' }: Props = $props();
11
11
  </script>
12
12
 
13
- <div class={'flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between ' + className}>
14
- <div class="min-w-0 space-y-1">
15
- <h2 {id} class="text-base font-semibold text-foreground">{title}</h2>
16
- {#if description}<p class="text-sm text-muted-foreground">{description}</p>{/if}
13
+ <div class={'svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-020ba687fa12 svadmin-u-64cac80d2e9a svadmin-u-3b9871a0bf93 ' + className}>
14
+ <div class="svadmin-u-7e0b7cdf1a94 svadmin-u-da7c36cd8867">
15
+ <h2 {id} class="svadmin-u-4ee734926ff6 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{title}</h2>
16
+ {#if description}<p class="svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{description}</p>{/if}
17
17
  </div>
18
- {#if actions}<div class="flex shrink-0 flex-wrap items-center gap-2">{@render actions()}</div>{/if}
18
+ {#if actions}<div class="svadmin-u-60fbb7713999 svadmin-u-012fbd121f37 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{@render actions()}</div>{/if}
19
19
  </div>
@@ -14,12 +14,12 @@
14
14
  {#if resolvedState}
15
15
  <DataState state={resolvedState} title={stateTitle ?? emptyTitle} description={stateDescription ?? emptyDescription} {retry} {retryLabel} {loadingLabel} class={className} />
16
16
  {:else}
17
- <div class={'overflow-x-auto rounded-lg border border-border bg-card ' + className}>
17
+ <div class={'svadmin-u-1384f66f41d0 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 ' + className}>
18
18
  <Table.Root data-svadmin-datatable>
19
19
  <Table.Header data-svadmin-table-head><Table.Row><Table.Head>{isZh ? '事件' : 'Event'}</Table.Head><Table.Head>{isZh ? '操作者' : 'Actor'}</Table.Head><Table.Head>{isZh ? '位置' : 'Location'}</Table.Head><Table.Head>{isZh ? '时间' : 'Time'}</Table.Head><Table.Head>{isZh ? '风险' : 'Risk'}</Table.Head></Table.Row></Table.Header>
20
20
  <Table.Body>
21
21
  {#each events as event (event.id)}
22
- <Table.Row data-svadmin-table-row><Table.Cell class="font-medium">{event.event}</Table.Cell><Table.Cell>{event.actor ?? (isZh ? '系统' : 'System')}</Table.Cell><Table.Cell>{event.location ?? (isZh ? '未知' : 'Unknown')}</Table.Cell><Table.Cell class="whitespace-nowrap">{event.createdAt}</Table.Cell><Table.Cell><StatusBadge status={event.severity} label={event.severity} /></Table.Cell></Table.Row>
22
+ <Table.Row data-svadmin-table-row><Table.Cell class="svadmin-u-2689f3958069">{event.event}</Table.Cell><Table.Cell>{event.actor ?? (isZh ? '系统' : 'System')}</Table.Cell><Table.Cell>{event.location ?? (isZh ? '未知' : 'Unknown')}</Table.Cell><Table.Cell class="svadmin-u-e82ae8be04aa">{event.createdAt}</Table.Cell><Table.Cell><StatusBadge status={event.severity} label={event.severity} /></Table.Cell></Table.Row>
23
23
  {/each}
24
24
  </Table.Body>
25
25
  </Table.Root>
@@ -19,10 +19,10 @@
19
19
  }: Props = $props();
20
20
  </script>
21
21
 
22
- <div class={cn('flex min-h-11 items-center justify-between gap-4 py-3', separated && 'border-t border-border', className)} data-svadmin-settings-field-row>
23
- <div class="min-w-0">
24
- <p class="text-sm font-medium text-foreground">{label}</p>
25
- {#if description}<p class="mt-1 max-w-2xl text-sm leading-5 text-muted-foreground">{description}</p>{/if}
22
+ <div class={cn('svadmin-u-60fbb7713999 svadmin-u-0e5b245b4ed1 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-0c3bc98565dd svadmin-u-1b2d54a3fd12', separated && 'svadmin-u-b950dda299d3 svadmin-u-18049387f0af', className)} data-svadmin-settings-field-row>
23
+ <div class="svadmin-u-7e0b7cdf1a94">
24
+ <p class="svadmin-u-fc7473ca09eb svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{label}</p>
25
+ {#if description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-2cc8041eca99 svadmin-u-fc7473ca09eb svadmin-u-7054e2767710 svadmin-u-bfa603190748">{description}</p>{/if}
26
26
  </div>
27
- <div class="shrink-0">{@render control()}</div>
27
+ <div class="svadmin-u-012fbd121f37">{@render control()}</div>
28
28
  </div>
@@ -21,13 +21,13 @@
21
21
  }: Props = $props();
22
22
  </script>
23
23
 
24
- <section class={cn('overflow-hidden rounded-lg border border-border bg-card shadow-sm', className)} data-svadmin-settings-group>
25
- <header class="flex flex-col gap-3 border-b border-border px-5 py-4 sm:flex-row sm:items-start sm:justify-between">
26
- <div class="min-w-0 space-y-1">
27
- <h2 class="text-sm font-semibold text-foreground">{title}</h2>
28
- {#if description}<p class="max-w-2xl text-sm leading-6 text-muted-foreground">{description}</p>{/if}
24
+ <section class={cn('svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-438b2237b8d6', className)} data-svadmin-settings-group>
25
+ <header class="svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-d139dd09e38d svadmin-u-cb11fec3bb46 svadmin-u-020ba687fa12 svadmin-u-64cac80d2e9a svadmin-u-3b9871a0bf93">
26
+ <div class="svadmin-u-7e0b7cdf1a94 svadmin-u-da7c36cd8867">
27
+ <h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{title}</h2>
28
+ {#if description}<p class="svadmin-u-2cc8041eca99 svadmin-u-fc7473ca09eb svadmin-u-18550d5945ae svadmin-u-bfa603190748">{description}</p>{/if}
29
29
  </div>
30
- {#if actions}<div class="flex shrink-0 flex-wrap items-center gap-2">{@render actions()}</div>{/if}
30
+ {#if actions}<div class="svadmin-u-60fbb7713999 svadmin-u-012fbd121f37 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">{@render actions()}</div>{/if}
31
31
  </header>
32
- <div class={cn('p-5', bodyClass)}>{@render children()}</div>
32
+ <div class={cn('svadmin-u-c07e54fd1439', bodyClass)}>{@render children()}</div>
33
33
  </section>
@@ -8,12 +8,12 @@
8
8
  }
9
9
  let { status, label = status, class: className = '' }: Props = $props();
10
10
  const toneClass: Record<Status, string> = {
11
- success: 'border-success/30 bg-success/10 text-success',
12
- warning: 'border-warning/30 bg-warning/10 text-warning-foreground',
13
- danger: 'border-destructive/30 bg-destructive/10 text-destructive',
14
- info: 'border-primary/30 bg-primary/10 text-primary',
15
- neutral: 'border-border bg-muted text-muted-foreground',
11
+ success: 'svadmin-u-18a6e7a36f29 svadmin-u-17a9f7af2265 svadmin-u-76747e5e02ff',
12
+ warning: 'svadmin-u-2f960aa0c478 svadmin-u-283481e780bb svadmin-u-3a4ff758c2ab',
13
+ danger: 'svadmin-u-9d5d8b4711b4 svadmin-u-43928fcc832f svadmin-u-811148b13d1e',
14
+ info: 'svadmin-u-05f954a846d6 svadmin-u-375dc44df6e9 svadmin-u-20aaf08a7ed1',
15
+ neutral: 'svadmin-u-18049387f0af svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748',
16
16
  };
17
17
  </script>
18
18
 
19
- <Badge variant="outline" class={'font-medium ' + toneClass[status] + ' ' + className}>{label}</Badge>
19
+ <Badge variant="outline" class={'svadmin-u-2689f3958069 ' + toneClass[status] + ' ' + className}>{label}</Badge>
@@ -65,28 +65,28 @@
65
65
 
66
66
  const toneClasses: Record<string, { activeBadge: string; inactiveBadge: string }> = {
67
67
  default: {
68
- activeBadge: 'bg-primary/20 text-primary',
69
- inactiveBadge: 'bg-muted text-muted-foreground',
68
+ activeBadge: 'svadmin-u-6a1572b6bf5a svadmin-u-20aaf08a7ed1',
69
+ inactiveBadge: 'svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748',
70
70
  },
71
71
  success: {
72
- activeBadge: 'bg-success/25 text-success',
73
- inactiveBadge: 'bg-success/10 text-success',
72
+ activeBadge: 'svadmin-u-68750801bcf6 svadmin-u-76747e5e02ff',
73
+ inactiveBadge: 'svadmin-u-17a9f7af2265 svadmin-u-76747e5e02ff',
74
74
  },
75
75
  warning: {
76
- activeBadge: 'bg-warning/25 text-warning-foreground',
77
- inactiveBadge: 'bg-warning/10 text-warning-foreground',
76
+ activeBadge: 'svadmin-u-3bb45dd48a74 svadmin-u-3a4ff758c2ab',
77
+ inactiveBadge: 'svadmin-u-283481e780bb svadmin-u-3a4ff758c2ab',
78
78
  },
79
79
  destructive: {
80
- activeBadge: 'bg-destructive/25 text-destructive',
81
- inactiveBadge: 'bg-destructive/10 text-destructive',
80
+ activeBadge: 'svadmin-u-f71dfc1f3d97 svadmin-u-811148b13d1e',
81
+ inactiveBadge: 'svadmin-u-43928fcc832f svadmin-u-811148b13d1e',
82
82
  },
83
83
  info: {
84
- activeBadge: 'bg-info/25 text-info',
85
- inactiveBadge: 'bg-info/10 text-info',
84
+ activeBadge: 'svadmin-u-ab159a179155 svadmin-u-fa68ba954fb0',
85
+ inactiveBadge: 'svadmin-u-1c1af10f0ece svadmin-u-fa68ba954fb0',
86
86
  },
87
87
  muted: {
88
- activeBadge: 'bg-muted text-foreground',
89
- inactiveBadge: 'bg-muted/50 text-muted-foreground',
88
+ activeBadge: 'svadmin-u-2ef11f1cb219 svadmin-u-d4108abe6359',
89
+ inactiveBadge: 'svadmin-u-358af0b65a31 svadmin-u-bfa603190748',
90
90
  },
91
91
  };
92
92
  </script>
@@ -98,9 +98,9 @@
98
98
  data-density={density}
99
99
  data-variant={variant}
100
100
  class={cn(
101
- 'flex items-center gap-1 overflow-x-auto',
102
- variant === 'segmented' && 'rounded-lg bg-muted p-1',
103
- variant === 'underline' && 'border-b border-border gap-2',
101
+ 'svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421 svadmin-u-1384f66f41d0',
102
+ variant === 'segmented' && 'svadmin-u-5f22e64f2282 svadmin-u-2ef11f1cb219 svadmin-u-eb6a3cef9686',
103
+ variant === 'underline' && 'svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-77a2a20e90d4',
104
104
  className
105
105
  )}
106
106
  >
@@ -117,25 +117,25 @@
117
117
  onclick={() => selectTab(item.key, item.disabled)}
118
118
  onkeydown={handleKeydown}
119
119
  class={cn(
120
- 'inline-flex items-center gap-1.5 whitespace-nowrap font-medium transition-colors cursor-pointer outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50',
121
- isCompact ? 'text-xs px-2.5 py-1' : 'text-sm px-3 py-1.5',
120
+ 'svadmin-u-52083e7da442 svadmin-u-3960ffc248d9 svadmin-u-58284b4ea568 svadmin-u-e82ae8be04aa svadmin-u-2689f3958069 svadmin-u-ceb69a6b0e5f svadmin-u-34516836730d svadmin-u-df37b1fd9495 svadmin-u-793c80e97ffb svadmin-u-ddac70ae5d29 svadmin-u-49330148794a svadmin-u-b29d8adbad2e',
121
+ isCompact ? 'svadmin-u-359090c2d529 svadmin-u-0b91436debbd svadmin-u-660d2effb880' : 'svadmin-u-fc7473ca09eb svadmin-u-0e17f2bd9074 svadmin-u-ec0091ee009b',
122
122
  variant === 'pills' && [
123
- 'rounded-md border',
123
+ 'svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f',
124
124
  active
125
- ? 'border-border bg-background text-foreground shadow-xs font-semibold'
126
- : 'border-transparent text-muted-foreground hover:bg-muted/50 hover:text-foreground',
125
+ ? 'svadmin-u-18049387f0af svadmin-u-e6f9e383a762 svadmin-u-d4108abe6359 svadmin-u-cef5b893cf23 svadmin-u-e83a7042bc91'
126
+ : 'svadmin-u-521fa0c7c407 svadmin-u-bfa603190748 svadmin-u-39f703dbe296 svadmin-u-ea7b2e9e070e',
127
127
  ],
128
128
  variant === 'segmented' && [
129
- 'rounded-md',
129
+ 'svadmin-u-421ac2be5045',
130
130
  active
131
- ? 'bg-background text-foreground shadow-xs font-semibold'
132
- : 'text-muted-foreground hover:text-foreground',
131
+ ? 'svadmin-u-e6f9e383a762 svadmin-u-d4108abe6359 svadmin-u-cef5b893cf23 svadmin-u-e83a7042bc91'
132
+ : 'svadmin-u-bfa603190748 svadmin-u-ea7b2e9e070e',
133
133
  ],
134
134
  variant === 'underline' && [
135
- '-mb-px border-b-2 rounded-none px-3 pb-2 pt-1',
135
+ 'svadmin-u-f04f99ff45cb svadmin-u-65ac0c49a5d5 svadmin-u-0c5e9137c7de svadmin-u-0e17f2bd9074 svadmin-u-f4cc511ff0c1 svadmin-u-6b7d6e21ccbd',
136
136
  active
137
- ? 'border-primary text-primary font-semibold'
138
- : 'border-transparent text-muted-foreground hover:text-foreground hover:border-muted-foreground/30',
137
+ ? 'svadmin-u-6cbc84dd9e1a svadmin-u-20aaf08a7ed1 svadmin-u-e83a7042bc91'
138
+ : 'svadmin-u-521fa0c7c407 svadmin-u-bfa603190748 svadmin-u-ea7b2e9e070e svadmin-u-03b959081b5e',
139
139
  ]
140
140
  )}
141
141
  >
@@ -143,8 +143,8 @@
143
143
  {#if item.count !== undefined}
144
144
  <span
145
145
  class={cn(
146
- 'inline-flex items-center justify-center rounded-full font-semibold tabular-nums leading-none',
147
- isCompact ? 'min-w-4 px-1 py-0.5 text-[10px]' : 'min-w-5 px-1.5 py-0.5 text-xs',
146
+ 'svadmin-u-52083e7da442 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-ac204c108886 svadmin-u-e83a7042bc91 svadmin-u-3032cae0badb svadmin-u-c2385a463da8',
147
+ isCompact ? 'svadmin-u-69aaf7265e58 svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-1dc571a3609f' : 'svadmin-u-f8516763aedd svadmin-u-45d828117213 svadmin-u-465609a240a8 svadmin-u-359090c2d529',
148
148
  active ? badgeTone.activeBadge : badgeTone.inactiveBadge
149
149
  )}
150
150
  >
@@ -13,6 +13,6 @@
13
13
  const resolvedTitle = $derived(title ?? (isNotFound ? i18n.t('common.pageNotFound') : i18n.t('common.error')));
14
14
  const resolvedDescription = $derived(description ?? (isNotFound ? i18n.t('error.pageNotFoundDescription') : i18n.t('error.internalServerErrorDescription')));
15
15
  </script>
16
- <div class="flex items-center justify-center p-4" data-svadmin-system-error>
17
- <Card.Card class="w-full max-w-md"><Card.CardContent class="space-y-5 p-8 text-center"><div class="mx-auto flex size-14 items-center justify-center rounded-lg bg-muted text-muted-foreground">{#if isNotFound}<FileQuestion class="size-7" />{:else}<AlertTriangle class="size-7 text-destructive" />{/if}</div><div class="space-y-2"><p class="text-xs font-medium text-muted-foreground">{status}</p><h2 class="text-xl font-semibold text-foreground">{resolvedTitle}</h2><p class="text-sm leading-6 text-muted-foreground">{resolvedDescription}</p></div>{#if action}<div>{@render action()}</div>{/if}<div class="flex flex-wrap justify-center gap-2"><Button variant="outline" onclick={() => adminContext.back()}><ArrowLeft class="size-4" />{i18n.t('common.back')}</Button><Button onclick={() => adminContext.navigate('/')}><Home class="size-4" />{i18n.t('common.returnHome')}</Button></div></Card.CardContent></Card.Card>
16
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-8e63407b5ceb" data-svadmin-system-error>
17
+ <Card.Card class="svadmin-u-6da6a3c3f741 svadmin-u-9794ab45094d"><Card.CardContent class="svadmin-u-b43b4c086d9a svadmin-u-845f53365c8d svadmin-u-ca6bf63030aa"><div class="svadmin-u-0e12dc7de920 svadmin-u-60fbb7713999 svadmin-u-7a9ad020b130 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-5f22e64f2282 svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748">{#if isNotFound}<FileQuestion class="svadmin-u-cc46d0fa277d" />{:else}<AlertTriangle class="svadmin-u-cc46d0fa277d svadmin-u-811148b13d1e" />{/if}</div><div class="svadmin-u-6f7e013d6499"><p class="svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-bfa603190748">{status}</p><h2 class="svadmin-u-d5c9b0001e7e svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{resolvedTitle}</h2><p class="svadmin-u-fc7473ca09eb svadmin-u-18550d5945ae svadmin-u-bfa603190748">{resolvedDescription}</p></div>{#if action}<div>{@render action()}</div>{/if}<div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-86843cf1e227 svadmin-u-77a2a20e90d4"><Button variant="outline" onclick={() => adminContext.back()}><ArrowLeft class="svadmin-u-f7b5fa971871" />{i18n.t('common.back')}</Button><Button onclick={() => adminContext.navigate('/')}><Home class="svadmin-u-f7b5fa971871" />{i18n.t('common.returnHome')}</Button></div></Card.CardContent></Card.Card>
18
18
  </div>
@@ -16,11 +16,11 @@
16
16
  let { team, onjoin, onclick, class: className = '' }: Props = $props();
17
17
  const initials = (name: string) => name.split(' ').map((part) => part[0]).join('').slice(0, 2).toUpperCase();
18
18
  </script>
19
- <Card.Card data-interactive={onclick ? 'true' : undefined} class={'h-full ' + className}>
20
- <Card.CardContent class="flex h-full flex-col gap-3 p-4">
21
- <div class="flex items-start gap-3"><span class="flex size-9 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary" style:background-color={team.color ? `${team.color}20` : undefined}><Users class="size-4" style={team.color ? `color: ${team.color}` : undefined} /></span><div class="min-w-0 flex-1"><h3 class="truncate text-sm font-semibold text-foreground">{team.name}</h3><p class="text-xs text-muted-foreground">{team.totalMembers ?? team.members?.length ?? 0} members</p></div>{#if team.rating}<span class="text-xs font-semibold text-warning">{team.rating}</span>{/if}</div>
22
- {#if team.description}<p class="line-clamp-2 text-sm text-muted-foreground">{team.description}</p>{/if}
23
- <div class="flex items-center gap-1">{#each (team.members ?? []).slice(0, 5) as member, index (member.id ?? member.name + '-' + index)}<Avatar src={member.avatar} alt={member.name} fallback={initials(member.name)} size="sm" class="-mr-1 ring-2 ring-card" />{/each}</div>
24
- <div class="mt-auto flex gap-2 border-t border-border pt-3">{#if onjoin}<Button variant="outline" size="sm" class="flex-1" onclick={onjoin}>Join</Button>{/if}{#if onclick}<Button variant="ghost" size="sm" class="flex-1" onclick={onclick}>View <ArrowRight class="size-3.5" /></Button>{/if}</div>
19
+ <Card.Card data-interactive={onclick ? 'true' : undefined} class={'svadmin-u-668b21aa5409 ' + className}>
20
+ <Card.CardContent class="svadmin-u-60fbb7713999 svadmin-u-668b21aa5409 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-8e63407b5ceb">
21
+ <div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-1004c0c3954c"><span class="svadmin-u-60fbb7713999 svadmin-u-665f07fe73cc svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-421ac2be5045 svadmin-u-375dc44df6e9 svadmin-u-20aaf08a7ed1" style:background-color={team.color ? `${team.color}20` : undefined}><Users class="svadmin-u-f7b5fa971871" style={team.color ? `color: ${team.color}` : undefined} /></span><div class="svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c"><h3 class="svadmin-u-f283ea9bea0e svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{team.name}</h3><p class="svadmin-u-359090c2d529 svadmin-u-bfa603190748">{team.totalMembers ?? team.members?.length ?? 0} members</p></div>{#if team.rating}<span class="svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-918184635b1d">{team.rating}</span>{/if}</div>
22
+ {#if team.description}<p class="svadmin-u-054cb4e36116 svadmin-u-fc7473ca09eb svadmin-u-bfa603190748">{team.description}</p>{/if}
23
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421">{#each (team.members ?? []).slice(0, 5) as member, index (member.id ?? member.name + '-' + index)}<Avatar src={member.avatar} alt={member.name} fallback={initials(member.name)} size="sm" class="svadmin-u-8956a4275b9d svadmin-u-16b1efa5875e svadmin-u-21752b56424c" />{/each}</div>
24
+ <div class="svadmin-u-9953408a8ef3 svadmin-u-60fbb7713999 svadmin-u-77a2a20e90d4 svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-ce335a8e4f56">{#if onjoin}<Button variant="outline" size="sm" class="svadmin-u-36e579c0b41c" onclick={onjoin}>Join</Button>{/if}{#if onclick}<Button variant="ghost" size="sm" class="svadmin-u-36e579c0b41c" onclick={onclick}>View <ArrowRight class="svadmin-u-783b0d9d1e2c" /></Button>{/if}</div>
25
25
  </Card.CardContent>
26
26
  </Card.Card>
@@ -2,10 +2,10 @@
2
2
  interface Props { current: number; steps?: string[]; class?: string; }
3
3
  let { current, steps = ['Setup', 'Verify', 'Recovery'], class: className = '' }: Props = $props();
4
4
  </script>
5
- <ol class={'grid gap-2 sm:grid-cols-3 ' + className} aria-label="Progress">
5
+ <ol class={'svadmin-u-f3c543ad5fe9 svadmin-u-77a2a20e90d4 svadmin-u-ab1b20c2292a ' + className} aria-label="Progress">
6
6
  {#each steps as step, index (step)}
7
- <li class={'flex items-center gap-2 rounded-md border px-3 py-2 text-xs ' + (index < current ? 'border-success/30 bg-success/10 text-success' : index === current ? 'border-primary/30 bg-primary/10 font-medium text-primary' : 'border-border text-muted-foreground')}>
8
- <span class="flex size-5 shrink-0 items-center justify-center rounded-full border text-[11px]">{index + 1}</span><span class="truncate">{step}</span>
7
+ <li class={'svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4 svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-359090c2d529 ' + (index < current ? 'svadmin-u-18a6e7a36f29 svadmin-u-17a9f7af2265 svadmin-u-76747e5e02ff' : index === current ? 'svadmin-u-05f954a846d6 svadmin-u-375dc44df6e9 svadmin-u-2689f3958069 svadmin-u-20aaf08a7ed1' : 'svadmin-u-18049387f0af svadmin-u-bfa603190748')}>
8
+ <span class="svadmin-u-60fbb7713999 svadmin-u-add63bc6753d svadmin-u-012fbd121f37 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-ac204c108886 svadmin-u-ca6bcd4b6f3f svadmin-u-d058ca6de60f">{index + 1}</span><span class="svadmin-u-f283ea9bea0e">{step}</span>
9
9
  </li>
10
10
  {/each}
11
11
  </ol>
@@ -27,31 +27,31 @@
27
27
  }: Props = $props();
28
28
 
29
29
  const toneClassMap: Record<WorkspaceActionBarTone, string> = {
30
- default: 'bg-muted text-muted-foreground',
31
- warning: 'bg-warning/15 text-warning-foreground',
32
- success: 'bg-success/15 text-success',
33
- destructive: 'bg-destructive/15 text-destructive',
34
- info: 'bg-info/15 text-info',
30
+ default: 'svadmin-u-2ef11f1cb219 svadmin-u-bfa603190748',
31
+ warning: 'svadmin-u-d9c3c520f7d5 svadmin-u-3a4ff758c2ab',
32
+ success: 'svadmin-u-4cf5af8d25d3 svadmin-u-76747e5e02ff',
33
+ destructive: 'svadmin-u-c698f77c9ba5 svadmin-u-811148b13d1e',
34
+ info: 'svadmin-u-269105289e8f svadmin-u-fa68ba954fb0',
35
35
  };
36
36
  </script>
37
37
 
38
38
  <section
39
- class={cn('flex flex-col gap-3 border-y border-border bg-card px-4 py-3 sm:flex-row sm:items-center sm:justify-between', className)}
39
+ class={cn('svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-1004c0c3954c svadmin-u-8b8196092091 svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12 svadmin-u-020ba687fa12 svadmin-u-9f76a62f4f44 svadmin-u-3b9871a0bf93', className)}
40
40
  aria-label={title}
41
41
  data-svadmin-workspace-action-bar
42
42
  >
43
- <div class="min-w-0">
44
- <div class="flex flex-wrap items-center gap-2">
43
+ <div class="svadmin-u-7e0b7cdf1a94">
44
+ <div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
45
45
  {#if status}
46
- <span class={cn('rounded-sm px-2 py-0.5 text-xs font-medium', toneClassMap[statusTone] || toneClassMap.warning)}>
46
+ <span class={cn('svadmin-u-36d4469299aa svadmin-u-d5eab218aa34 svadmin-u-465609a240a8 svadmin-u-359090c2d529 svadmin-u-2689f3958069', toneClassMap[statusTone] || toneClassMap.warning)}>
47
47
  {status}
48
48
  </span>
49
49
  {/if}
50
- <h2 class="text-sm font-semibold text-foreground">{title}</h2>
50
+ <h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{title}</h2>
51
51
  </div>
52
- {#if description}<p class="mt-1 text-xs leading-5 text-muted-foreground">{description}</p>{/if}
52
+ {#if description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{description}</p>{/if}
53
53
  </div>
54
- <div class="flex shrink-0 flex-wrap items-center gap-2">
54
+ <div class="svadmin-u-60fbb7713999 svadmin-u-012fbd121f37 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
55
55
  {#if secondaryActions}{@render secondaryActions()}{/if}
56
56
  {@render primaryAction()}
57
57
  </div>
@@ -33,25 +33,25 @@
33
33
  }
34
34
  </script>
35
35
 
36
- <aside class={cn('overflow-hidden rounded-lg border border-border bg-card', className)} data-svadmin-workspace-inspector data-open={open}>
36
+ <aside class={cn('svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558', className)} data-svadmin-workspace-inspector data-open={open}>
37
37
  {#if open}
38
- <header class="flex items-start justify-between gap-3 border-b border-border px-4 py-3">
39
- <div class="min-w-0">
40
- <h2 class="text-sm font-semibold text-foreground">{title}</h2>
41
- {#if description}<p class="mt-1 text-xs leading-5 text-muted-foreground">{description}</p>{/if}
38
+ <header class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f0faeb26d656 svadmin-u-1b2d54a3fd12">
39
+ <div class="svadmin-u-7e0b7cdf1a94">
40
+ <h2 class="svadmin-u-fc7473ca09eb svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{title}</h2>
41
+ {#if description}<p class="svadmin-u-b6b02c0ebef6 svadmin-u-359090c2d529 svadmin-u-7054e2767710 svadmin-u-bfa603190748">{description}</p>{/if}
42
42
  </div>
43
43
  <Button variant="ghost" size="icon-sm" aria-label={closeLabel} title={closeLabel} onclick={toggle}>
44
- <PanelRightClose class="size-4" />
44
+ <PanelRightClose class="svadmin-u-f7b5fa971871" />
45
45
  </Button>
46
46
  </header>
47
- <div class="max-h-[calc(100vh-15rem)] overflow-y-auto p-4">{@render children()}</div>
48
- {#if footer}<footer class="border-t border-border p-3">{@render footer()}</footer>{/if}
47
+ <div class="svadmin-u-005b1fee4088 svadmin-u-92bf82f493b1 svadmin-u-8e63407b5ceb">{@render children()}</div>
48
+ {#if footer}<footer class="svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-eb6e8b881acd">{@render footer()}</footer>{/if}
49
49
  {:else}
50
- <div class="flex min-h-64 flex-col items-center gap-3 py-3">
50
+ <div class="svadmin-u-60fbb7713999 svadmin-u-c7f14f00a474 svadmin-u-8dddea0773ed svadmin-u-3960ffc248d9 svadmin-u-1004c0c3954c svadmin-u-1b2d54a3fd12">
51
51
  <Button variant="ghost" size="icon-sm" aria-label={openLabel} title={openLabel} onclick={toggle}>
52
- <PanelRightOpen class="size-4" />
52
+ <PanelRightOpen class="svadmin-u-f7b5fa971871" />
53
53
  </Button>
54
- <span class="[writing-mode:vertical-rl] text-xs font-medium text-muted-foreground">{title}</span>
54
+ <span class="[writing-mode:vertical-rl] svadmin-u-359090c2d529 svadmin-u-2689f3958069 svadmin-u-bfa603190748">{title}</span>
55
55
  </div>
56
56
  {/if}
57
57
  </aside>
@@ -28,15 +28,15 @@
28
28
  </script>
29
29
 
30
30
  <div
31
- class={cn('flex flex-col gap-6', className)}
31
+ class={cn('svadmin-u-60fbb7713999 svadmin-u-8dddea0773ed svadmin-u-0d304f904cb0', className)}
32
32
  data-svadmin-workspace-layout
33
33
  data-secondary-collapsed={secondaryCollapsed}
34
34
  style:--workspace-secondary-width={resolvedSecondaryWidth}
35
35
  >
36
36
  {#if summary}<div data-svadmin-workspace-summary>{@render summary()}</div>{/if}
37
- <div class={cn('grid min-w-0 items-start gap-6 xl:grid-cols-[minmax(0,1fr)_var(--workspace-secondary-width)]', mobileOrder === 'secondary-first' && 'grid-rows-[auto_auto]')}>
38
- {#if mobileOrder === 'secondary-first' && secondary}<aside class="order-1 min-w-0 xl:order-2">{@render secondary()}</aside>{/if}
39
- <div class={cn('min-w-0', mobileOrder === 'secondary-first' ? 'order-2 xl:order-1' : 'order-1')} data-svadmin-workspace-primary>{@render primary()}</div>
40
- {#if mobileOrder !== 'secondary-first' && secondary}<aside class="order-2 min-w-0 xl:order-2">{@render secondary()}</aside>{/if}
37
+ <div class={cn('svadmin-u-f3c543ad5fe9 svadmin-u-7e0b7cdf1a94 svadmin-u-60541e1e26f8 svadmin-u-0d304f904cb0 svadmin-u-febbcd95bf06', mobileOrder === 'secondary-first' && 'svadmin-u-dfb5e722be57')}>
38
+ {#if mobileOrder === 'secondary-first' && secondary}<aside class="svadmin-u-ea37b42b1c3b svadmin-u-7e0b7cdf1a94 svadmin-u-2c1f5e2b6a5b">{@render secondary()}</aside>{/if}
39
+ <div class={cn('svadmin-u-7e0b7cdf1a94', mobileOrder === 'secondary-first' ? 'svadmin-u-ef72121aca75 svadmin-u-831f8770959d' : 'svadmin-u-ea37b42b1c3b')} data-svadmin-workspace-primary>{@render primary()}</div>
40
+ {#if mobileOrder !== 'secondary-first' && secondary}<aside class="svadmin-u-ef72121aca75 svadmin-u-7e0b7cdf1a94 svadmin-u-2c1f5e2b6a5b">{@render secondary()}</aside>{/if}
41
41
  </div>
42
42
  </div>
@@ -21,14 +21,14 @@
21
21
 
22
22
  <div
23
23
  class={cn(
24
- 'grid min-w-0 overflow-hidden rounded-lg border border-border bg-card',
25
- reverse ? 'lg:grid-cols-[var(--workspace-split-width)_minmax(0,1fr)]' : 'lg:grid-cols-[minmax(0,1fr)_var(--workspace-split-width)]',
24
+ 'svadmin-u-f3c543ad5fe9 svadmin-u-7e0b7cdf1a94 svadmin-u-2cd02d11d1af svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558',
25
+ reverse ? 'svadmin-u-a43c96035e6f' : 'svadmin-u-7d167f503a39',
26
26
  className,
27
27
  )}
28
28
  style:--workspace-split-width={secondaryWidth}
29
29
  data-svadmin-workspace-split-pane
30
30
  data-reverse={reverse}
31
31
  >
32
- <section class={cn('min-w-0 p-4', reverse && 'lg:order-2')} data-svadmin-split-primary>{@render primary()}</section>
33
- <section class={cn('min-w-0 border-t border-border bg-muted/15 p-4 lg:border-l lg:border-t-0', reverse && 'lg:order-1 lg:border-l-0 lg:border-r')} data-svadmin-split-secondary>{@render secondary()}</section>
32
+ <section class={cn('svadmin-u-7e0b7cdf1a94 svadmin-u-8e63407b5ceb', reverse && 'svadmin-u-87faeaaa291e')} data-svadmin-split-primary>{@render primary()}</section>
33
+ <section class={cn('svadmin-u-7e0b7cdf1a94 svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-46daeb0b661f svadmin-u-8e63407b5ceb svadmin-u-bb3e95154365 svadmin-u-7d283214b870', reverse && 'svadmin-u-ac7e80a2c2ae svadmin-u-e00052b6f07e svadmin-u-64a6e3fce6e0')} data-svadmin-split-secondary>{@render secondary()}</section>
34
34
  </div>