@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
@@ -122,83 +122,83 @@
122
122
  }
123
123
  </script>
124
124
 
125
- <div class={cn('rounded-xl border border-border bg-card p-4 shadow-xs text-xs space-y-4', className)}>
125
+ <div class={cn('svadmin-u-a217b4eaa918 svadmin-u-ca6bcd4b6f3f svadmin-u-18049387f0af svadmin-u-cd0ad9a56558 svadmin-u-8e63407b5ceb svadmin-u-cef5b893cf23 svadmin-u-359090c2d529 svadmin-u-3e7ce58d64fa', className)}>
126
126
  <!-- Header -->
127
- <div class="flex flex-wrap items-center justify-between gap-2 pb-2 border-b border-border/60">
128
- <div class="flex items-center gap-2">
129
- <span class="font-semibold text-foreground">{title}</span>
130
- <Badge variant="outline" class="font-mono text-[10px] uppercase">Hit Policy: {hitPolicy}</Badge>
127
+ <div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4 svadmin-u-f4cc511ff0c1 svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff">
128
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
129
+ <span class="svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">{title}</span>
130
+ <Badge variant="outline" class="svadmin-u-0e65706bcccd svadmin-u-1dc571a3609f uppercase">Hit Policy: {hitPolicy}</Badge>
131
131
  </div>
132
132
 
133
- <Button size="sm" class="h-7 text-xs gap-1" onclick={addRule}>
134
- <Plus class="h-3.5 w-3.5" />
133
+ <Button size="sm" class="svadmin-u-d0a52b312f7d svadmin-u-359090c2d529 svadmin-u-44ee8ba0a421" onclick={addRule}>
134
+ <Plus class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
135
135
  Add Rule
136
136
  </Button>
137
137
  </div>
138
138
 
139
139
  <!-- Decision Matrix Table -->
140
- <div class="overflow-x-auto rounded-lg border border-border/60">
141
- <table class="w-full border-collapse text-left">
140
+ <div class="svadmin-u-1384f66f41d0 svadmin-u-5f22e64f2282 svadmin-u-ca6bcd4b6f3f svadmin-u-05faf5c801ff">
141
+ <table class="svadmin-u-6da6a3c3f741 svadmin-u-4583f90cd9bd svadmin-u-2eba0d65d059">
142
142
  <thead>
143
143
  <!-- Top Category Header -->
144
- <tr class="text-[11px] font-semibold">
145
- <th rowspan="2" class="w-12 p-2 text-center border-r border-b border-border/60 bg-muted/80 text-muted-foreground">#</th>
146
- <th colspan={conditionCols.length} class="p-2 border-r border-b border-border/60 bg-primary/10 text-primary text-center font-bold">
144
+ <tr class="svadmin-u-d058ca6de60f svadmin-u-e83a7042bc91">
145
+ <th rowspan="2" class="svadmin-u-e7e371071bc5 svadmin-u-7660b450905a svadmin-u-ca6bf63030aa svadmin-u-5ceb636bd9f3 svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff svadmin-u-85d919893645 svadmin-u-bfa603190748">#</th>
146
+ <th colspan={conditionCols.length} class="svadmin-u-7660b450905a svadmin-u-5ceb636bd9f3 svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff svadmin-u-375dc44df6e9 svadmin-u-20aaf08a7ed1 svadmin-u-ca6bf63030aa svadmin-u-69450ef1487e">
147
147
  IF (Conditions)
148
148
  </th>
149
- <th colspan={actionCols.length} class="p-2 border-r border-b border-border/60 bg-success/10 text-success text-center font-bold">
149
+ <th colspan={actionCols.length} class="svadmin-u-7660b450905a svadmin-u-5ceb636bd9f3 svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff svadmin-u-17a9f7af2265 svadmin-u-76747e5e02ff svadmin-u-ca6bf63030aa svadmin-u-69450ef1487e">
150
150
  THEN (Actions)
151
151
  </th>
152
- <th rowspan="2" class="w-10 p-2 text-center border-b border-border/60 bg-muted/80 text-muted-foreground">Del</th>
152
+ <th rowspan="2" class="svadmin-u-d854e5698b57 svadmin-u-7660b450905a svadmin-u-ca6bf63030aa svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff svadmin-u-85d919893645 svadmin-u-bfa603190748">Del</th>
153
153
  </tr>
154
154
  <!-- Column Names Header -->
155
- <tr class="bg-muted/40 text-muted-foreground border-b border-border/60 font-medium">
155
+ <tr class="svadmin-u-b00f43c30c2b svadmin-u-bfa603190748 svadmin-u-65fdbade2025 svadmin-u-05faf5c801ff svadmin-u-2689f3958069">
156
156
  {#each conditionCols as col (col.key)}
157
- <th class="p-2 border-r border-border/40 text-foreground">{col.label}</th>
157
+ <th class="svadmin-u-7660b450905a svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d svadmin-u-d4108abe6359">{col.label}</th>
158
158
  {/each}
159
159
  {#each actionCols as col (col.key)}
160
- <th class="p-2 border-r border-border/40 text-foreground">{col.label}</th>
160
+ <th class="svadmin-u-7660b450905a svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d svadmin-u-d4108abe6359">{col.label}</th>
161
161
  {/each}
162
162
  </tr>
163
163
  </thead>
164
- <tbody class="divide-y divide-border/40 font-mono text-xs">
164
+ <tbody class="svadmin-u-fa6acbf81d74 svadmin-u-08b5607c7258 svadmin-u-0e65706bcccd svadmin-u-359090c2d529">
165
165
  {#each rules as rule, idx (rule.id)}
166
166
  {@const isMatched = matchedRuleId === rule.id}
167
- <tr class={cn('hover:bg-muted/20 transition-colors', isMatched ? 'bg-success/15 font-semibold' : '')}>
168
- <td class="p-2 text-center border-r border-border/40 text-muted-foreground font-sans">
167
+ <tr class={cn('svadmin-u-c4b5eaba40e3 svadmin-u-ceb69a6b0e5f', isMatched ? 'svadmin-u-4cf5af8d25d3 svadmin-u-e83a7042bc91' : '')}>
168
+ <td class="svadmin-u-7660b450905a svadmin-u-ca6bf63030aa svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d svadmin-u-bfa603190748 svadmin-u-79bf1259388b">
169
169
  {#if isMatched}
170
- <span class="inline-flex text-success"><CheckCircle2 class="h-3.5 w-3.5" /></span>
170
+ <span class="svadmin-u-52083e7da442 svadmin-u-76747e5e02ff"><CheckCircle2 class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" /></span>
171
171
  {:else}
172
172
  {idx + 1}
173
173
  {/if}
174
174
  </td>
175
175
  {#each conditionCols as col (col.key)}
176
- <td class="p-1.5 border-r border-border/40">
176
+ <td class="svadmin-u-cd009d7d208c svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d">
177
177
  <input
178
178
  type="text"
179
179
  value={rule.values[col.key] ?? ''}
180
- class="h-7 w-full rounded border border-input bg-background px-2 text-xs text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
180
+ class="svadmin-u-d0a52b312f7d svadmin-u-6da6a3c3f741 svadmin-u-07389a777c1f svadmin-u-ca6bcd4b6f3f svadmin-u-e5795dad4d22 svadmin-u-e6f9e383a762 svadmin-u-d5eab218aa34 svadmin-u-359090c2d529 svadmin-u-d4108abe6359 svadmin-u-f10f771f87e9 svadmin-u-3e94a98e1466 svadmin-u-9c1295a6914a"
181
181
  oninput={(e) => updateRuleValue(rule.id, col.key, e.currentTarget.value)}
182
182
  />
183
183
  </td>
184
184
  {/each}
185
185
  {#each actionCols as col (col.key)}
186
- <td class="p-1.5 border-r border-border/40">
186
+ <td class="svadmin-u-cd009d7d208c svadmin-u-5ceb636bd9f3 svadmin-u-6ee2d41e2d2d">
187
187
  <input
188
188
  type="text"
189
189
  value={rule.values[col.key] ?? ''}
190
- class="h-7 w-full rounded border border-input bg-background px-2 text-xs font-semibold text-primary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
190
+ class="svadmin-u-d0a52b312f7d svadmin-u-6da6a3c3f741 svadmin-u-07389a777c1f svadmin-u-ca6bcd4b6f3f svadmin-u-e5795dad4d22 svadmin-u-e6f9e383a762 svadmin-u-d5eab218aa34 svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-20aaf08a7ed1 svadmin-u-f10f771f87e9 svadmin-u-3e94a98e1466 svadmin-u-9c1295a6914a"
191
191
  oninput={(e) => updateRuleValue(rule.id, col.key, e.currentTarget.value)}
192
192
  />
193
193
  </td>
194
194
  {/each}
195
- <td class="p-1.5 text-center">
195
+ <td class="svadmin-u-cd009d7d208c svadmin-u-ca6bf63030aa">
196
196
  <button
197
197
  type="button"
198
- class="text-muted-foreground hover:text-destructive transition-colors p-1 rounded border-0 bg-transparent cursor-pointer"
198
+ class="svadmin-u-bfa603190748 svadmin-u-51e95020d6f2 svadmin-u-ceb69a6b0e5f svadmin-u-eb6a3cef9686 svadmin-u-07389a777c1f svadmin-u-119b2aa0b8f6 svadmin-u-7f19cdf4c5bb svadmin-u-34516836730d"
199
199
  onclick={() => deleteRule(rule.id)}
200
200
  >
201
- <Trash2 class="h-3.5 w-3.5" />
201
+ <Trash2 class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
202
202
  </button>
203
203
  </td>
204
204
  </tr>
@@ -208,30 +208,30 @@
208
208
  </div>
209
209
 
210
210
  <!-- Live Rule Test Evaluator -->
211
- <div class="p-3 rounded-lg bg-muted/30 border border-border/60 space-y-2">
212
- <div class="flex items-center justify-between">
213
- <span class="font-semibold text-foreground">Rule Test Runner</span>
214
- <Button variant="outline" size="sm" class="h-6 text-xs gap-1" onclick={evaluateRules}>
215
- <Play class="h-3 w-3" />
211
+ <div class="svadmin-u-eb6e8b881acd svadmin-u-5f22e64f2282 svadmin-u-2859c861d7de svadmin-u-ca6bcd4b6f3f svadmin-u-05faf5c801ff svadmin-u-6f7e013d6499">
212
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc">
213
+ <span class="svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">Rule Test Runner</span>
214
+ <Button variant="outline" size="sm" class="svadmin-u-f6fe902450dc svadmin-u-359090c2d529 svadmin-u-44ee8ba0a421" onclick={evaluateRules}>
215
+ <Play class="svadmin-u-6a60c09e6aaa svadmin-u-9cea05671a29" />
216
216
  Test Execution
217
217
  </Button>
218
218
  </div>
219
219
 
220
- <div class="flex flex-wrap items-center gap-3">
220
+ <div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-1004c0c3954c">
221
221
  {#each conditionCols as cond (cond.key)}
222
- <div class="flex items-center gap-1.5">
223
- <span class="text-muted-foreground font-medium">{cond.label}:</span>
222
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-58284b4ea568">
223
+ <span class="svadmin-u-bfa603190748 svadmin-u-2689f3958069">{cond.label}:</span>
224
224
  <input
225
225
  type="text"
226
226
  bind:value={testInputs[cond.key]}
227
- class="h-6 w-24 rounded border border-input bg-background px-1.5 text-xs text-foreground focus-visible:outline-none"
227
+ class="svadmin-u-f6fe902450dc svadmin-u-69da7e4ff95d svadmin-u-07389a777c1f svadmin-u-ca6bcd4b6f3f svadmin-u-e5795dad4d22 svadmin-u-e6f9e383a762 svadmin-u-45d828117213 svadmin-u-359090c2d529 svadmin-u-d4108abe6359 svadmin-u-f10f771f87e9"
228
228
  />
229
229
  </div>
230
230
  {/each}
231
231
 
232
232
  {#if matchedRuleId}
233
- <div class="flex items-center gap-1 text-success font-medium">
234
- <CheckCircle2 class="h-3.5 w-3.5" />
233
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-44ee8ba0a421 svadmin-u-76747e5e02ff svadmin-u-2689f3958069">
234
+ <CheckCircle2 class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
235
235
  <span>Fired: {rules.find((r) => r.id === matchedRuleId)?.description ?? matchedRuleId}</span>
236
236
  </div>
237
237
  {/if}
@@ -24,7 +24,7 @@
24
24
  title = "",
25
25
  description = "",
26
26
  side = "right",
27
- width = "max-w-md w-full sm:max-w-lg",
27
+ width = "svadmin-u-9794ab45094d svadmin-u-6da6a3c3f741 svadmin-u-a09a722d3ce4",
28
28
  ref = $bindable(null),
29
29
  class: className,
30
30
  "aria-label": ariaLabel,
@@ -52,7 +52,7 @@
52
52
  {side}
53
53
  onClose={handleClose}
54
54
  {closeLabel}
55
- class={cn("gap-0 p-0 overflow-hidden", width, className)}
55
+ class={cn("svadmin-u-63a285be6490 svadmin-u-8a539c7fe216 svadmin-u-2cd02d11d1af", width, className)}
56
56
  role="dialog"
57
57
  aria-modal="true"
58
58
  aria-label={(ariaLabelledby || titleId) ? ariaLabel : (ariaLabel || title || "Details")}
@@ -60,11 +60,11 @@
60
60
  aria-describedby={ariaDescribedby || (descriptionId ? descriptionId : undefined)}
61
61
  {...restProps}
62
62
  >
63
- <Sheet.Content class="flex h-full flex-col gap-0 p-0">
63
+ <Sheet.Content class="svadmin-u-60fbb7713999 svadmin-u-668b21aa5409 svadmin-u-8dddea0773ed svadmin-u-63a285be6490 svadmin-u-8a539c7fe216">
64
64
  {#if title || description || extra}
65
- <Sheet.Header class="flex-shrink-0 border-b border-border px-6 py-4 pr-12">
66
- <div class="flex items-start justify-between gap-4">
67
- <div class="flex min-w-0 flex-1 flex-col gap-1.5">
65
+ <Sheet.Header class="svadmin-u-2074a75bf2e7 svadmin-u-65fdbade2025 svadmin-u-18049387f0af svadmin-u-f92d02360b8f svadmin-u-cb11fec3bb46 svadmin-u-ab82c25c24ec">
66
+ <div class="svadmin-u-60fbb7713999 svadmin-u-60541e1e26f8 svadmin-u-8ef2268efbbc svadmin-u-0c3bc98565dd">
67
+ <div class="svadmin-u-60fbb7713999 svadmin-u-7e0b7cdf1a94 svadmin-u-36e579c0b41c svadmin-u-8dddea0773ed svadmin-u-58284b4ea568">
68
68
  {#if title}
69
69
  <Sheet.Title id={titleId}>{title}</Sheet.Title>
70
70
  {/if}
@@ -73,7 +73,7 @@
73
73
  {/if}
74
74
  </div>
75
75
  {#if extra}
76
- <div class="flex flex-shrink-0 items-center gap-2">
76
+ <div class="svadmin-u-60fbb7713999 svadmin-u-2074a75bf2e7 svadmin-u-3960ffc248d9 svadmin-u-77a2a20e90d4">
77
77
  {@render extra()}
78
78
  </div>
79
79
  {/if}
@@ -81,14 +81,14 @@
81
81
  </Sheet.Header>
82
82
  {/if}
83
83
 
84
- <div class="flex-1 overflow-y-auto p-6">
84
+ <div class="svadmin-u-36e579c0b41c svadmin-u-92bf82f493b1 svadmin-u-0478c89a150f">
85
85
  {#if children}
86
86
  {@render children()}
87
87
  {/if}
88
88
  </div>
89
89
 
90
90
  {#if footer}
91
- <Sheet.Footer class="mt-auto flex-shrink-0 border-t border-border px-6 py-4">
91
+ <Sheet.Footer class="svadmin-u-9953408a8ef3 svadmin-u-2074a75bf2e7 svadmin-u-b950dda299d3 svadmin-u-18049387f0af svadmin-u-f92d02360b8f svadmin-u-cb11fec3bb46">
92
92
  {@render footer()}
93
93
  </Sheet.Footer>
94
94
  {/if}
@@ -111,8 +111,8 @@
111
111
  if (!isDev) return;
112
112
  refreshCacheDiagnostics();
113
113
  const unsubscribeQueries = queryClient.getQueryCache().subscribe((event) => {
114
- // 观察器事件会在组件重渲染时成对出现。刷新诊断状态会再次触发渲染,
115
- // 因此这里只响应真正改变缓存内容或请求状态的事件。
114
+ // Observer events arrive in pairs during component rerenders. Refreshing diagnostics triggers another render,
115
+ // so respond only to events that actually change cached content or request state.
116
116
  if (event.type.startsWith('observer')) return;
117
117
  if (event.type === 'removed') {
118
118
  queryTimings.delete(event.query.queryHash);
@@ -240,84 +240,84 @@
240
240
  {#if isDev}
241
241
  {#if visible}
242
242
  <div
243
- class="fixed bottom-0 right-4 z-[9999] w-[560px] max-w-[95vw] rounded-t-xl border border-b-0 bg-card shadow-2xl text-[0.8125rem] overflow-hidden"
243
+ class="svadmin-u-7bc555991dba svadmin-u-189f036c335c svadmin-u-5a438c30beec svadmin-u-f50571addf44 svadmin-u-11863ecc32e7 svadmin-u-c69e21ff5804 svadmin-u-1301e5c1ce71 svadmin-u-ca6bcd4b6f3f svadmin-u-d5e98261a758 svadmin-u-cd0ad9a56558 svadmin-u-14e46609fd68 svadmin-u-1d5904e7e755 svadmin-u-2cd02d11d1af"
244
244
  class:w-auto={collapsed}
245
245
  class:min-w-[200px]={collapsed}
246
246
  transition:fly={{ y: 400, duration: 300 }}
247
247
  >
248
- <div class="flex items-center justify-between px-3 py-2 bg-muted border-b">
249
- <div class="flex items-center gap-1.5 font-semibold text-xs uppercase tracking-wider text-foreground">
250
- <Bug class="h-4 w-4" />
248
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-2ef11f1cb219 svadmin-u-65fdbade2025">
249
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-58284b4ea568 svadmin-u-e83a7042bc91 svadmin-u-359090c2d529 uppercase svadmin-u-09ace3a4d9f5 svadmin-u-d4108abe6359">
250
+ <Bug class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" />
251
251
  <span>svadmin DevTools</span>
252
252
  </div>
253
- <div class="flex gap-1">
254
- <TooltipButton tooltip={collapsed ? i18n.t('common.expand') : i18n.t('common.collapse')} variant="ghost" size="icon" class="h-6 w-6" onclick={() => collapsed = !collapsed}>
253
+ <div class="svadmin-u-60fbb7713999 svadmin-u-44ee8ba0a421">
254
+ <TooltipButton tooltip={collapsed ? i18n.t('common.expand') : i18n.t('common.collapse')} variant="ghost" size="icon" class="svadmin-u-f6fe902450dc svadmin-u-7ec10f86d9b1" onclick={() => collapsed = !collapsed}>
255
255
  {#if collapsed}
256
- <ChevronUp class="h-3.5 w-3.5" />
256
+ <ChevronUp class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
257
257
  {:else}
258
- <ChevronDown class="h-3.5 w-3.5" />
258
+ <ChevronDown class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
259
259
  {/if}
260
260
  </TooltipButton>
261
- <TooltipButton tooltip={i18n.t('common.close')} variant="ghost" size="icon" class="h-6 w-6" onclick={toggle}>
262
- <X class="h-3.5 w-3.5" />
261
+ <TooltipButton tooltip={i18n.t('common.close')} variant="ghost" size="icon" class="svadmin-u-f6fe902450dc svadmin-u-7ec10f86d9b1" onclick={toggle}>
262
+ <X class="svadmin-u-7fc7f732bf7e svadmin-u-bf600f8e029c" />
263
263
  </TooltipButton>
264
264
  </div>
265
265
  </div>
266
266
 
267
267
  {#if !collapsed}
268
- <Tabs.Root value="state" class="w-full">
269
- <Tabs.List class="grid w-full grid-cols-4 h-8 rounded-none border-b">
270
- <Tabs.Trigger value="state" class="text-xs data-[state=active]:shadow-none rounded-none border-b-2 border-transparent data-[state=active]:border-primary">State</Tabs.Trigger>
271
- <Tabs.Trigger value="providers" class="text-xs data-[state=active]:shadow-none rounded-none border-b-2 border-transparent data-[state=active]:border-primary">Providers</Tabs.Trigger>
272
- <Tabs.Trigger value="cache" class="text-xs data-[state=active]:shadow-none rounded-none border-b-2 border-transparent data-[state=active]:border-primary">Cache</Tabs.Trigger>
273
- <Tabs.Trigger value="inferencer" class="text-xs data-[state=active]:shadow-none rounded-none border-b-2 border-transparent data-[state=active]:border-primary">
274
- <Wand2 class="h-3 w-3 mr-1" /> Inferencer
268
+ <Tabs.Root value="state" class="svadmin-u-6da6a3c3f741">
269
+ <Tabs.List class="svadmin-u-f3c543ad5fe9 svadmin-u-6da6a3c3f741 svadmin-u-32aac21b02c8 svadmin-u-ed8a5df7b2fb svadmin-u-0c5e9137c7de svadmin-u-65fdbade2025">
270
+ <Tabs.Trigger value="state" class="svadmin-u-359090c2d529 svadmin-u-9147fe04c981 svadmin-u-0c5e9137c7de svadmin-u-65ac0c49a5d5 svadmin-u-521fa0c7c407 svadmin-u-f28d099256d8">State</Tabs.Trigger>
271
+ <Tabs.Trigger value="providers" class="svadmin-u-359090c2d529 svadmin-u-9147fe04c981 svadmin-u-0c5e9137c7de svadmin-u-65ac0c49a5d5 svadmin-u-521fa0c7c407 svadmin-u-f28d099256d8">Providers</Tabs.Trigger>
272
+ <Tabs.Trigger value="cache" class="svadmin-u-359090c2d529 svadmin-u-9147fe04c981 svadmin-u-0c5e9137c7de svadmin-u-65ac0c49a5d5 svadmin-u-521fa0c7c407 svadmin-u-f28d099256d8">Cache</Tabs.Trigger>
273
+ <Tabs.Trigger value="inferencer" class="svadmin-u-359090c2d529 svadmin-u-9147fe04c981 svadmin-u-0c5e9137c7de svadmin-u-65ac0c49a5d5 svadmin-u-521fa0c7c407 svadmin-u-f28d099256d8">
274
+ <Wand2 class="svadmin-u-6a60c09e6aaa svadmin-u-9cea05671a29 svadmin-u-618162408e7a" /> Inferencer
275
275
  </Tabs.Trigger>
276
276
  </Tabs.List>
277
277
 
278
- <Tabs.Content value="state" class="p-0">
279
- <ScrollArea class="max-h-[420px]">
280
- <div class="p-2 space-y-1">
281
- <div class="py-1">
282
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground mb-1 px-1">Router</h4>
283
- <div class="flex items-center justify-between px-1 py-0.5 rounded hover:bg-muted/50">
284
- <span class="text-xs text-foreground">Path</span>
285
- <Badge variant="secondary" class="font-mono text-[0.6875rem]">{path}</Badge>
278
+ <Tabs.Content value="state" class="svadmin-u-8a539c7fe216">
279
+ <ScrollArea class="svadmin-u-c6a5b7446421">
280
+ <div class="svadmin-u-7660b450905a svadmin-u-da7c36cd8867">
281
+ <div class="svadmin-u-660d2effb880">
282
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748 svadmin-u-65281709dacf svadmin-u-d8e0e382c67b">Router</h4>
283
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-07389a777c1f svadmin-u-39f703dbe296">
284
+ <span class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">Path</span>
285
+ <Badge variant="secondary" class="svadmin-u-0e65706bcccd svadmin-u-76067d04e222">{path}</Badge>
286
286
  </div>
287
287
  </div>
288
288
 
289
289
  <Separator />
290
290
 
291
- <div class="py-1">
292
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground mb-1 px-1">Theme</h4>
293
- <div class="flex items-center justify-between px-1 py-0.5 rounded hover:bg-muted/50">
294
- <span class="text-xs text-foreground">Mode</span>
295
- <Badge variant="secondary" class="font-mono text-[0.6875rem]">{theme}</Badge>
291
+ <div class="svadmin-u-660d2effb880">
292
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748 svadmin-u-65281709dacf svadmin-u-d8e0e382c67b">Theme</h4>
293
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-07389a777c1f svadmin-u-39f703dbe296">
294
+ <span class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">Mode</span>
295
+ <Badge variant="secondary" class="svadmin-u-0e65706bcccd svadmin-u-76067d04e222">{theme}</Badge>
296
296
  </div>
297
- <div class="flex items-center justify-between px-1 py-0.5 rounded hover:bg-muted/50">
298
- <span class="text-xs text-foreground">Color</span>
299
- <Badge variant="secondary" class="font-mono text-[0.6875rem]">{colorTheme}</Badge>
297
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-07389a777c1f svadmin-u-39f703dbe296">
298
+ <span class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">Color</span>
299
+ <Badge variant="secondary" class="svadmin-u-0e65706bcccd svadmin-u-76067d04e222">{colorTheme}</Badge>
300
300
  </div>
301
301
  </div>
302
302
 
303
303
  <Separator />
304
304
 
305
- <div class="py-1">
306
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground mb-1 px-1">i18n</h4>
307
- <div class="flex items-center justify-between px-1 py-0.5 rounded hover:bg-muted/50">
308
- <span class="text-xs text-foreground">Locale</span>
309
- <Badge variant="secondary" class="font-mono text-[0.6875rem]">{locale}</Badge>
305
+ <div class="svadmin-u-660d2effb880">
306
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748 svadmin-u-65281709dacf svadmin-u-d8e0e382c67b">i18n</h4>
307
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-07389a777c1f svadmin-u-39f703dbe296">
308
+ <span class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">Locale</span>
309
+ <Badge variant="secondary" class="svadmin-u-0e65706bcccd svadmin-u-76067d04e222">{locale}</Badge>
310
310
  </div>
311
311
  </div>
312
312
 
313
313
  <Separator />
314
314
 
315
- <div class="py-1">
316
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground mb-1 px-1">Resources ({resources.length})</h4>
315
+ <div class="svadmin-u-660d2effb880">
316
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748 svadmin-u-65281709dacf svadmin-u-d8e0e382c67b">Resources ({resources.length})</h4>
317
317
  {#each resources as resource (resource.identifier ?? resource.name)}
318
- <div class="flex items-center justify-between px-1 py-0.5 rounded hover:bg-muted/50">
319
- <span class="text-xs text-foreground">{resource.name}</span>
320
- <Badge variant="outline" class="font-mono text-[0.6875rem]">{resource.fields.length} fields</Badge>
318
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-d8e0e382c67b svadmin-u-465609a240a8 svadmin-u-07389a777c1f svadmin-u-39f703dbe296">
319
+ <span class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">{resource.name}</span>
320
+ <Badge variant="outline" class="svadmin-u-0e65706bcccd svadmin-u-76067d04e222">{resource.fields.length} fields</Badge>
321
321
  </div>
322
322
  {/each}
323
323
  </div>
@@ -325,22 +325,22 @@
325
325
  </ScrollArea>
326
326
  </Tabs.Content>
327
327
 
328
- <Tabs.Content value="providers" class="p-0">
329
- <ScrollArea class="max-h-[420px]">
330
- <div class="p-3 space-y-3">
331
- <div class="rounded-md border bg-muted/20 p-2 text-[0.6875rem] text-muted-foreground">
328
+ <Tabs.Content value="providers" class="svadmin-u-8a539c7fe216">
329
+ <ScrollArea class="svadmin-u-c6a5b7446421">
330
+ <div class="svadmin-u-eb6e8b881acd svadmin-u-6ed543e2fbbb">
331
+ <div class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-967d113a1451 svadmin-u-7660b450905a svadmin-u-76067d04e222 svadmin-u-bfa603190748">
332
332
  Sensitive values are hidden: endpoints, credentials, record data, messages, and live/audit payloads.
333
333
  </div>
334
334
 
335
- <section class="space-y-1.5">
336
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground">Data providers ({dataProviders.length})</h4>
335
+ <section class="svadmin-u-5a2508227c6a">
336
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748">Data providers ({dataProviders.length})</h4>
337
337
  {#each dataProviders as provider (provider.name)}
338
- <div class="rounded-md border px-2.5 py-2">
339
- <div class="flex items-center justify-between gap-2">
340
- <span class="font-medium text-foreground">{provider.name}</span>
338
+ <div class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-0b91436debbd svadmin-u-03b4dd7f172b">
339
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4">
340
+ <span class="svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{provider.name}</span>
341
341
  <Badge variant="outline">{provider.resourceCount} resources</Badge>
342
342
  </div>
343
- <div class="mt-1 flex items-center justify-between gap-2 text-[0.6875rem] text-muted-foreground">
343
+ <div class="svadmin-u-b6b02c0ebef6 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4 svadmin-u-76067d04e222 svadmin-u-bfa603190748">
344
344
  <span>{provider.capabilities}</span>
345
345
  <span>Endpoint hidden</span>
346
346
  </div>
@@ -350,13 +350,13 @@
350
350
 
351
351
  <Separator />
352
352
 
353
- <section class="space-y-1">
354
- <h4 class="text-[0.6875rem] font-bold uppercase tracking-widest text-muted-foreground">Framework providers</h4>
353
+ <section class="svadmin-u-da7c36cd8867">
354
+ <h4 class="svadmin-u-76067d04e222 svadmin-u-69450ef1487e uppercase svadmin-u-08cc9b1d44f8 svadmin-u-bfa603190748">Framework providers</h4>
355
355
  {#each frameworkProviders as provider (provider.name)}
356
- <div class="flex items-center justify-between gap-3 rounded px-1 py-1 hover:bg-muted/50">
357
- <div class="min-w-0">
358
- <div class="text-xs text-foreground">{provider.name}</div>
359
- <div class="truncate text-[0.6875rem] text-muted-foreground">{provider.capabilities}</div>
356
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-1004c0c3954c svadmin-u-07389a777c1f svadmin-u-d8e0e382c67b svadmin-u-660d2effb880 svadmin-u-39f703dbe296">
357
+ <div class="svadmin-u-7e0b7cdf1a94">
358
+ <div class="svadmin-u-359090c2d529 svadmin-u-d4108abe6359">{provider.name}</div>
359
+ <div class="svadmin-u-f283ea9bea0e svadmin-u-76067d04e222 svadmin-u-bfa603190748">{provider.capabilities}</div>
360
360
  </div>
361
361
  <Badge variant={provider.configured ? 'secondary' : 'outline'}>{provider.configured ? 'configured' : 'fallback'}</Badge>
362
362
  </div>
@@ -366,69 +366,69 @@
366
366
  </ScrollArea>
367
367
  </Tabs.Content>
368
368
 
369
- <Tabs.Content value="cache" class="p-0">
370
- <ScrollArea class="max-h-[420px]">
371
- <div class="grid gap-3 p-3 sm:grid-cols-2">
372
- <section class="rounded-md border p-3">
373
- <div class="mb-2 flex items-center justify-between">
374
- <h4 class="text-xs font-semibold text-foreground">Queries</h4>
369
+ <Tabs.Content value="cache" class="svadmin-u-8a539c7fe216">
370
+ <ScrollArea class="svadmin-u-c6a5b7446421">
371
+ <div class="svadmin-u-f3c543ad5fe9 svadmin-u-1004c0c3954c svadmin-u-eb6e8b881acd svadmin-u-e00ad81645a2">
372
+ <section class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-eb6e8b881acd">
373
+ <div class="svadmin-u-a77ed4d908c0 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc">
374
+ <h4 class="svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">Queries</h4>
375
375
  <Badge variant="secondary" data-testid="devtools-query-total">{cacheDiagnostics.queries.total}</Badge>
376
376
  </div>
377
- <dl class="space-y-1 text-xs">
378
- <div class="flex justify-between"><dt class="text-muted-foreground">Fetching</dt><dd>{cacheDiagnostics.queries.fetching}</dd></div>
379
- <div class="flex justify-between"><dt class="text-muted-foreground">Stale</dt><dd>{cacheDiagnostics.queries.stale}</dd></div>
380
- <div class="flex justify-between"><dt class="text-muted-foreground">Errors</dt><dd>{cacheDiagnostics.queries.errors}</dd></div>
377
+ <dl class="svadmin-u-da7c36cd8867 svadmin-u-359090c2d529">
378
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Fetching</dt><dd>{cacheDiagnostics.queries.fetching}</dd></div>
379
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Stale</dt><dd>{cacheDiagnostics.queries.stale}</dd></div>
380
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Errors</dt><dd>{cacheDiagnostics.queries.errors}</dd></div>
381
381
  </dl>
382
382
  </section>
383
383
 
384
- <section class="rounded-md border p-3">
385
- <div class="mb-2 flex items-center justify-between">
386
- <h4 class="text-xs font-semibold text-foreground">Mutations</h4>
384
+ <section class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-eb6e8b881acd">
385
+ <div class="svadmin-u-a77ed4d908c0 svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc">
386
+ <h4 class="svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">Mutations</h4>
387
387
  <Badge variant="secondary" data-testid="devtools-mutation-total">{cacheDiagnostics.mutations.total}</Badge>
388
388
  </div>
389
- <dl class="space-y-1 text-xs">
390
- <div class="flex justify-between"><dt class="text-muted-foreground">Pending</dt><dd>{cacheDiagnostics.mutations.pending}</dd></div>
391
- <div class="flex justify-between"><dt class="text-muted-foreground">Paused</dt><dd>{cacheDiagnostics.mutations.paused}</dd></div>
392
- <div class="flex justify-between"><dt class="text-muted-foreground">Errors</dt><dd>{cacheDiagnostics.mutations.errors}</dd></div>
389
+ <dl class="svadmin-u-da7c36cd8867 svadmin-u-359090c2d529">
390
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Pending</dt><dd>{cacheDiagnostics.mutations.pending}</dd></div>
391
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Paused</dt><dd>{cacheDiagnostics.mutations.paused}</dd></div>
392
+ <div class="svadmin-u-60fbb7713999 svadmin-u-8ef2268efbbc"><dt class="svadmin-u-bfa603190748">Errors</dt><dd>{cacheDiagnostics.mutations.errors}</dd></div>
393
393
  </dl>
394
394
  </section>
395
395
 
396
- <section class="space-y-1.5 sm:col-span-2">
397
- <div class="flex items-center justify-between">
398
- <h4 class="text-xs font-semibold text-foreground">Safe query operations</h4>
399
- <span class="text-[0.6875rem] text-muted-foreground">IDs, tenant and params hidden</span>
396
+ <section class="svadmin-u-5a2508227c6a svadmin-u-d378a2461dc3">
397
+ <div class="svadmin-u-60fbb7713999 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc">
398
+ <h4 class="svadmin-u-359090c2d529 svadmin-u-e83a7042bc91 svadmin-u-d4108abe6359">Safe query operations</h4>
399
+ <span class="svadmin-u-76067d04e222 svadmin-u-bfa603190748">IDs, tenant and params hidden</span>
400
400
  </div>
401
401
  {#if safeQueryDiagnostics.length === 0}
402
- <div class="rounded-md border px-2.5 py-2 text-[0.6875rem] text-muted-foreground">
402
+ <div class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-0b91436debbd svadmin-u-03b4dd7f172b svadmin-u-76067d04e222 svadmin-u-bfa603190748">
403
403
  No Query Key v2 operations in cache.
404
404
  </div>
405
405
  {:else}
406
406
  {#each safeQueryDiagnostics as query, index (`${query.provider}:${query.resource}:${query.operation}:${index}`)}
407
- <div class="rounded-md border px-2.5 py-2" data-testid="devtools-query-operation">
408
- <div class="flex flex-wrap items-center justify-between gap-2 text-xs">
409
- <span class="font-medium text-foreground">{query.provider} · {query.resource}</span>
407
+ <div class="svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-0b91436debbd svadmin-u-03b4dd7f172b" data-testid="devtools-query-operation">
408
+ <div class="svadmin-u-60fbb7713999 svadmin-u-1eb5c6df38c1 svadmin-u-3960ffc248d9 svadmin-u-8ef2268efbbc svadmin-u-77a2a20e90d4 svadmin-u-359090c2d529">
409
+ <span class="svadmin-u-2689f3958069 svadmin-u-d4108abe6359">{query.provider} · {query.resource}</span>
410
410
  <Badge variant="outline">{query.operation}</Badge>
411
411
  </div>
412
- <dl class="mt-1 grid grid-cols-5 gap-2 text-[0.6875rem] text-muted-foreground">
413
- <div><dt>Status</dt><dd class="text-foreground">{query.status}</dd></div>
414
- <div><dt>Retries</dt><dd class="text-foreground">{query.retries}</dd></div>
415
- <div><dt>Duration</dt><dd class="text-foreground">{query.duration}</dd></div>
416
- <div><dt>Cache age</dt><dd class="text-foreground">{query.cacheAge}</dd></div>
417
- <div><dt>Invalidation</dt><dd class="text-foreground">{query.invalidation}</dd></div>
412
+ <dl class="svadmin-u-b6b02c0ebef6 svadmin-u-f3c543ad5fe9 svadmin-u-931228bbb579 svadmin-u-77a2a20e90d4 svadmin-u-76067d04e222 svadmin-u-bfa603190748">
413
+ <div><dt>Status</dt><dd class="svadmin-u-d4108abe6359">{query.status}</dd></div>
414
+ <div><dt>Retries</dt><dd class="svadmin-u-d4108abe6359">{query.retries}</dd></div>
415
+ <div><dt>Duration</dt><dd class="svadmin-u-d4108abe6359">{query.duration}</dd></div>
416
+ <div><dt>Cache age</dt><dd class="svadmin-u-d4108abe6359">{query.cacheAge}</dd></div>
417
+ <div><dt>Invalidation</dt><dd class="svadmin-u-d4108abe6359">{query.invalidation}</dd></div>
418
418
  </dl>
419
419
  </div>
420
420
  {/each}
421
421
  {/if}
422
422
  </section>
423
423
 
424
- <p class="text-[0.6875rem] text-muted-foreground sm:col-span-2">
424
+ <p class="svadmin-u-76067d04e222 svadmin-u-bfa603190748 svadmin-u-d378a2461dc3">
425
425
  Query keys, variables, cached records, mutation payloads, and error bodies are intentionally hidden.
426
426
  </p>
427
427
  </div>
428
428
  </ScrollArea>
429
429
  </Tabs.Content>
430
430
 
431
- <Tabs.Content value="inferencer" class="p-0">
431
+ <Tabs.Content value="inferencer" class="svadmin-u-8a539c7fe216">
432
432
  <InferencerPanel />
433
433
  </Tabs.Content>
434
434
  </Tabs.Root>
@@ -439,10 +439,10 @@
439
439
  tooltip={i18n.t('devtools.title')}
440
440
  variant="default"
441
441
  size="icon"
442
- class="{docked ? 'relative rounded-md shadow-sm' : 'fixed bottom-5 right-[4.75rem] rounded-full shadow-lg sm:bottom-7 sm:right-[5.5rem]'} z-[9999] h-9 w-9 opacity-60 hover:opacity-100 hover:scale-110 transition-all"
442
+ class="{docked ? 'svadmin-u-d89972fe17d6 svadmin-u-421ac2be5045 svadmin-u-438b2237b8d6' : 'svadmin-u-7bc555991dba svadmin-u-6c32e8173349 svadmin-u-24546591650c svadmin-u-ac204c108886 svadmin-u-06bbb43166db svadmin-u-319548b23f75 svadmin-u-c4b15df0fe95'} svadmin-u-f50571addf44 svadmin-u-e7a768f922d2 svadmin-u-ae2181c7b10f svadmin-u-f2868c227fcd svadmin-u-5da1d5250e75 svadmin-u-7abf679f0725 svadmin-u-0fe7d7d814d0"
443
443
  onclick={toggle}
444
444
  >
445
- <Bug class="h-4 w-4" />
445
+ <Bug class="svadmin-u-11e59c6d5f6b svadmin-u-dc7972ebf3f3" />
446
446
  </TooltipButton>
447
447
  {/if}
448
448
  {/if}