@svadmin/ui 0.70.0 → 0.73.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 (372) hide show
  1. package/README.md +40 -25
  2. package/THIRD_PARTY_NOTICES.md +52 -0
  3. package/dist/actions.js +1 -1
  4. package/dist/app.css +7804 -5188
  5. package/dist/app.theme.css +7738 -5173
  6. package/dist/class-properties.generated.d.ts +1 -0
  7. package/dist/class-properties.generated.js +2 -0
  8. package/dist/classnames.d.ts +8 -0
  9. package/dist/classnames.js +26 -0
  10. package/dist/component-registry.svelte.d.ts +33 -19
  11. package/dist/component-registry.svelte.js +6 -4
  12. package/dist/components/AdminApp.svelte +55 -53
  13. package/dist/components/AdminApp.svelte.d.ts +2 -2
  14. package/dist/components/ApiSettings.svelte +19 -1
  15. package/dist/components/AuditLogDrawer.svelte +14 -3
  16. package/dist/components/AutoForm.svelte +162 -50
  17. package/dist/components/AutoForm.svelte.d.ts +4 -0
  18. package/dist/components/AutoTable.svelte +599 -259
  19. package/dist/components/AutoTable.svelte.d.ts +6 -0
  20. package/dist/components/BoundRecordDetailDrawer.svelte +172 -0
  21. package/dist/components/BoundRecordDetailDrawer.svelte.d.ts +11 -0
  22. package/dist/components/Breadcrumbs.svelte +7 -4
  23. package/dist/components/CancelTaskButton.svelte +9 -5
  24. package/dist/components/ColumnHeaderFilter.svelte +4 -3
  25. package/dist/components/ColumnSettings.svelte +1 -0
  26. package/dist/components/ComboboxField.svelte +118 -36
  27. package/dist/components/ComboboxField.svelte.d.ts +5 -4
  28. package/dist/components/CreatePage.svelte +7 -1
  29. package/dist/components/CreatePage.svelte.d.ts +2 -0
  30. package/dist/components/DateRangeInput.svelte +75 -0
  31. package/dist/components/DateRangeInput.svelte.d.ts +25 -0
  32. package/dist/components/DateTimeInput.svelte +65 -0
  33. package/dist/components/DateTimeInput.svelte.d.ts +19 -0
  34. package/dist/components/DetailDrawer.svelte +4 -0
  35. package/dist/components/DetailDrawer.svelte.d.ts +1 -0
  36. package/dist/components/DevTools.svelte +8 -21
  37. package/dist/components/DraggableGrid.svelte +1 -0
  38. package/dist/components/DraggableHeader.svelte +5 -9
  39. package/dist/components/DraggableHeader.svelte.d.ts +43 -18
  40. package/dist/components/DraggableRowTable.svelte +2 -2
  41. package/dist/components/DynamicFormList.svelte +17 -17
  42. package/dist/components/DynamicFormList.svelte.d.ts +2 -1
  43. package/dist/components/EditPage.svelte +7 -1
  44. package/dist/components/EditPage.svelte.d.ts +2 -0
  45. package/dist/components/EditableTable.svelte +4 -0
  46. package/dist/components/ErrorPage.svelte +3 -1
  47. package/dist/components/FieldDisplay.svelte +14 -0
  48. package/dist/components/FieldDisplay.svelte.d.ts +7 -0
  49. package/dist/components/FieldRenderer.svelte +96 -20
  50. package/dist/components/FileUpload.svelte +250 -0
  51. package/dist/components/FileUpload.svelte.d.ts +32 -0
  52. package/dist/components/FilterBuilder.svelte +236 -268
  53. package/dist/components/FilterBuilder.svelte.d.ts +3 -0
  54. package/dist/components/FilterDropdown.svelte.d.ts +1 -1
  55. package/dist/components/Header.svelte +5 -6
  56. package/dist/components/ImportWizard.svelte +182 -94
  57. package/dist/components/InfiniteList.svelte +22 -8
  58. package/dist/components/InfiniteList.svelte.d.ts +5 -3
  59. package/dist/components/InlineEdit.svelte +114 -44
  60. package/dist/components/JsonSchemaForm.svelte +256 -95
  61. package/dist/components/JsonSchemaForm.svelte.d.ts +12 -1
  62. package/dist/components/Layout.svelte +20 -17
  63. package/dist/components/LazyTaskQueueDrawer.svelte +26 -0
  64. package/dist/components/LazyTaskQueueDrawer.svelte.d.ts +8 -0
  65. package/dist/components/ListPage.svelte +11 -6
  66. package/dist/components/ListPage.svelte.d.ts +2 -0
  67. package/dist/components/LoginPage.svelte +1 -1
  68. package/dist/components/MasterDetailView.svelte +3 -3
  69. package/dist/components/MediaLibraryModal.svelte +5 -2
  70. package/dist/components/MentionsInput.svelte +4 -3
  71. package/dist/components/MoneyInput.svelte +25 -0
  72. package/dist/components/MoneyInput.svelte.d.ts +20 -0
  73. package/dist/components/NavigateToResource.svelte +3 -2
  74. package/dist/components/NumberInput.svelte +25 -0
  75. package/dist/components/NumberInput.svelte.d.ts +19 -0
  76. package/dist/components/NumericInput.svelte +110 -0
  77. package/dist/components/NumericInput.svelte.d.ts +23 -0
  78. package/dist/components/PercentInput.svelte +25 -0
  79. package/dist/components/PercentInput.svelte.d.ts +20 -0
  80. package/dist/components/PermissionMatrix.svelte +4 -3
  81. package/dist/components/ProfilePage.svelte +2 -2
  82. package/dist/components/QuickEditDrawer.svelte +42 -0
  83. package/dist/components/QuickEditDrawer.svelte.d.ts +10 -0
  84. package/dist/components/RecordDetailDrawer.svelte +16 -108
  85. package/dist/components/RecordDetailDrawer.svelte.d.ts +2 -0
  86. package/dist/components/RecordRowActions.svelte +41 -0
  87. package/dist/components/RecordRowActions.svelte.d.ts +14 -0
  88. package/dist/components/ResourceAccessGuard.svelte +7 -5
  89. package/dist/components/ResourceOperationsPage.svelte +25 -19
  90. package/dist/components/ResourceOperationsPage.svelte.d.ts +5 -1
  91. package/dist/components/RetryTaskButton.svelte +9 -5
  92. package/dist/components/RowActions.svelte +5 -3
  93. package/dist/components/SensitiveDataMask.svelte +3 -3
  94. package/dist/components/SettingsPage.svelte +1 -1
  95. package/dist/components/ShowInferencer.svelte +4 -2
  96. package/dist/components/ShowInferencer.svelte.d.ts +2 -0
  97. package/dist/components/ShowPage.svelte +49 -39
  98. package/dist/components/ShowPage.svelte.d.ts +2 -0
  99. package/dist/components/Sidebar.svelte +15 -13
  100. package/dist/components/SplitPaneLayout.svelte +4 -2
  101. package/dist/components/SpreadsheetView.svelte +81 -286
  102. package/dist/components/StepsForm.svelte +166 -49
  103. package/dist/components/StepsForm.svelte.d.ts +1 -0
  104. package/dist/components/SvarAutoTable.svelte +39 -0
  105. package/dist/components/SvarAutoTable.svelte.d.ts +13 -0
  106. package/dist/components/SvarDataGrid.svelte +362 -0
  107. package/dist/components/SvarDataGrid.svelte.d.ts +57 -0
  108. package/dist/components/SvarGridCell.svelte +10 -0
  109. package/dist/components/SvarGridCell.svelte.d.ts +7 -0
  110. package/dist/components/SvarResourceRead.svelte +50 -0
  111. package/dist/components/SvarResourceRead.svelte.d.ts +23 -0
  112. package/dist/components/SvarResourceTable.svelte +63 -0
  113. package/dist/components/SvarResourceTable.svelte.d.ts +42 -0
  114. package/dist/components/SvarResourceTableView.svelte +364 -0
  115. package/dist/components/SvarResourceTableView.svelte.d.ts +4 -0
  116. package/dist/components/TaskDetails.svelte +20 -7
  117. package/dist/components/TaskList.svelte +19 -7
  118. package/dist/components/TaskQueueDrawer.svelte +92 -37
  119. package/dist/components/Toast.svelte +4 -2
  120. package/dist/components/TooltipButton.svelte +1 -1
  121. package/dist/components/TreeSelect.svelte +212 -30
  122. package/dist/components/TreeSelect.svelte.d.ts +3 -1
  123. package/dist/components/ValidatedField.svelte +27 -0
  124. package/dist/components/ValidatedField.svelte.d.ts +35 -0
  125. package/dist/components/account/ImportMembersPage.svelte +2 -2
  126. package/dist/components/account/SecurityLogPage.svelte +3 -1
  127. package/dist/components/account/SettingsEnterprisePage.svelte +7 -5
  128. package/dist/components/account/TeamMembersPage.svelte +1 -1
  129. package/dist/components/auto-table-grid.d.ts +26 -0
  130. package/dist/components/auto-table-grid.js +1 -0
  131. package/dist/components/buttons/CloneButton.svelte +6 -4
  132. package/dist/components/buttons/DeleteButton.svelte +95 -29
  133. package/dist/components/buttons/DeleteButton.svelte.d.ts +2 -0
  134. package/dist/components/buttons/EditButton.svelte +6 -4
  135. package/dist/components/buttons/ExportButton.svelte +22 -4
  136. package/dist/components/buttons/ImportButton.svelte +83 -38
  137. package/dist/components/buttons/ImportButton.svelte.d.ts +6 -10
  138. package/dist/components/buttons/RefreshButton.svelte +48 -8
  139. package/dist/components/buttons/ShowButton.svelte +6 -4
  140. package/dist/components/content/ApiKeyList.svelte +3 -1
  141. package/dist/components/content/ContentPageHeader.svelte +12 -9
  142. package/dist/components/content/ContentPageShell.svelte +8 -9
  143. package/dist/components/content/FileBrowser.svelte +35 -0
  144. package/dist/components/content/FileBrowser.svelte.d.ts +14 -0
  145. package/dist/components/content/FileList.svelte +3 -1
  146. package/dist/components/content/MemberList.svelte +3 -1
  147. package/dist/components/content/MetricBlock.svelte +10 -13
  148. package/dist/components/content/NetworkTable.svelte +6 -4
  149. package/dist/components/content/NetworkTable.svelte.d.ts +1 -0
  150. package/dist/components/content/PageToolbar.svelte +6 -10
  151. package/dist/components/content/SectionHeader.svelte +8 -13
  152. package/dist/components/content/SecurityEventTable.svelte +3 -1
  153. package/dist/components/content/SettingsFieldRow.svelte +9 -23
  154. package/dist/components/content/SettingsGroup.svelte +11 -27
  155. package/dist/components/content/StatusBadge.svelte +3 -8
  156. package/dist/components/content/StatusTabs.svelte +2 -2
  157. package/dist/components/content/WorkspaceLayout.svelte +8 -12
  158. package/dist/components/enterprise/filter-tree.d.ts +48 -0
  159. package/dist/components/enterprise/filter-tree.js +224 -0
  160. package/dist/components/enterprise/json-schema-form.d.ts +39 -0
  161. package/dist/components/enterprise/json-schema-form.js +195 -0
  162. package/dist/components/enterprise/recursive-schema-form.d.ts +30 -0
  163. package/dist/components/enterprise/recursive-schema-form.js +196 -0
  164. package/dist/components/enterprise/spreadsheet-formula.d.ts +12 -0
  165. package/dist/components/enterprise/spreadsheet-formula.js +245 -0
  166. package/dist/components/fieldComponentMap.d.ts +18 -13
  167. package/dist/components/fieldComponentMap.js +100 -47
  168. package/dist/components/fields/AvatarField.svelte +1 -1
  169. package/dist/components/fields/ChoiceField.svelte +16 -0
  170. package/dist/components/fields/ChoiceField.svelte.d.ts +10 -0
  171. package/dist/components/fields/CodeField.svelte +11 -12
  172. package/dist/components/fields/CodeField.svelte.d.ts +1 -1
  173. package/dist/components/fields/DateField.svelte +4 -3
  174. package/dist/components/fields/DateRangeField.svelte +2 -4
  175. package/dist/components/fields/ImageField.svelte +3 -1
  176. package/dist/components/fields/ImagesField.svelte +23 -0
  177. package/dist/components/fields/ImagesField.svelte.d.ts +6 -0
  178. package/dist/components/fields/JsonField.svelte +19 -13
  179. package/dist/components/fields/PasswordField.svelte +5 -0
  180. package/dist/components/fields/PasswordField.svelte.d.ts +6 -0
  181. package/dist/components/fields/date-field-value.d.ts +2 -0
  182. package/dist/components/fields/date-field-value.js +13 -0
  183. package/dist/components/fields/json-value.d.ts +11 -0
  184. package/dist/components/fields/json-value.js +28 -0
  185. package/dist/components/json-schema-form-state.d.ts +37 -0
  186. package/dist/components/json-schema-form-state.js +168 -0
  187. package/dist/components/profile/ActivityTimeline.svelte +2 -2
  188. package/dist/components/record-detail.svelte.d.ts +19 -0
  189. package/dist/components/record-detail.svelte.js +34 -0
  190. package/dist/components/saved-list-views.js +29 -29
  191. package/dist/components/svar-grid-cells.d.ts +14 -0
  192. package/dist/components/svar-grid-cells.js +2 -0
  193. package/dist/components/svar-grid-contract.d.ts +80 -0
  194. package/dist/components/svar-grid-contract.js +159 -0
  195. package/dist/components/svar-grid-interactions.d.ts +54 -0
  196. package/dist/components/svar-grid-interactions.js +174 -0
  197. package/dist/components/svar-grid-loading.d.ts +40 -0
  198. package/dist/components/svar-grid-loading.js +180 -0
  199. package/dist/components/svar-grid-operations.d.ts +37 -0
  200. package/dist/components/svar-grid-operations.js +186 -0
  201. package/dist/components/svar-grid-panes.d.ts +34 -0
  202. package/dist/components/svar-grid-panes.js +66 -0
  203. package/dist/components/svar-grid-resource-loading.d.ts +18 -0
  204. package/dist/components/svar-grid-resource-loading.js +68 -0
  205. package/dist/components/svar-grid-resource-session.svelte.d.ts +29 -0
  206. package/dist/components/svar-grid-resource-session.svelte.js +61 -0
  207. package/dist/components/table-contract.d.ts +13 -0
  208. package/dist/components/table-contract.js +42 -0
  209. package/dist/components/task-utils.js +4 -2
  210. package/dist/components/ui/alert/alert-variants.d.ts +2 -3
  211. package/dist/components/ui/alert/alert-variants.js +1 -2
  212. package/dist/components/ui/alert/alert.svelte +4 -5
  213. package/dist/components/ui/alert/alert.svelte.d.ts +3 -8
  214. package/dist/components/ui/alert/index.js +0 -2
  215. package/dist/components/ui/avatar/avatar-variants.d.ts +2 -3
  216. package/dist/components/ui/avatar/avatar-variants.js +1 -2
  217. package/dist/components/ui/avatar/avatar.svelte +5 -6
  218. package/dist/components/ui/avatar/avatar.svelte.d.ts +3 -8
  219. package/dist/components/ui/badge/badge-variants.d.ts +2 -3
  220. package/dist/components/ui/badge/badge-variants.js +3 -2
  221. package/dist/components/ui/badge/badge.svelte +4 -5
  222. package/dist/components/ui/badge/badge.svelte.d.ts +3 -8
  223. package/dist/components/ui/badge/index.js +0 -2
  224. package/dist/components/ui/button/button-variants.d.ts +2 -3
  225. package/dist/components/ui/button/button-variants.js +5 -3
  226. package/dist/components/ui/button/button.svelte +100 -44
  227. package/dist/components/ui/button/button.svelte.d.ts +8 -12
  228. package/dist/components/ui/button/index.js +0 -2
  229. package/dist/components/ui/command/command-dialog.svelte +3 -1
  230. package/dist/components/ui/command/command-dialog.svelte.d.ts +1 -1
  231. package/dist/components/ui/command/command-group.svelte +4 -2
  232. package/dist/components/ui/command/command-item.svelte +4 -2
  233. package/dist/components/ui/command/command-separator.svelte +3 -1
  234. package/dist/components/ui/command/index.d.ts +5 -5
  235. package/dist/components/ui/input/input.svelte +41 -24
  236. package/dist/components/ui/input/input.svelte.d.ts +5 -4
  237. package/dist/components/ui/sheet/sheet.svelte +9 -3
  238. package/dist/components/ui/sheet/sheet.svelte.d.ts +1 -0
  239. package/dist/components/ui/textarea/textarea.svelte +2 -1
  240. package/dist/components/ui/tooltip/tooltip.svelte +4 -2
  241. package/dist/components.css +3079 -0
  242. package/dist/design-contract.d.ts +13 -0
  243. package/dist/design-contract.js +11 -0
  244. package/dist/design-system.d.ts +15 -0
  245. package/dist/design-system.js +7 -0
  246. package/dist/index.d.ts +15 -1
  247. package/dist/index.js +9 -0
  248. package/dist/inline-value.d.ts +5 -0
  249. package/dist/inline-value.js +24 -0
  250. package/dist/numeric-input.d.ts +2 -0
  251. package/dist/numeric-input.js +9 -0
  252. package/dist/page-chrome.css +12 -49
  253. package/dist/recipes.d.ts +4 -0
  254. package/dist/recipes.js +4 -0
  255. package/dist/rendering/index.d.ts +87 -0
  256. package/dist/rendering/index.js +117 -0
  257. package/dist/styled-system/css/conditions.js +36 -0
  258. package/dist/styled-system/css/css.d.ts +22 -0
  259. package/dist/styled-system/css/css.js +45 -0
  260. package/dist/styled-system/css/cva.d.ts +6 -0
  261. package/dist/styled-system/css/cva.js +87 -0
  262. package/dist/styled-system/css/cx.d.ts +5 -0
  263. package/dist/styled-system/css/cx.js +15 -0
  264. package/dist/styled-system/css/index.d.ts +5 -0
  265. package/dist/styled-system/css/index.js +4 -0
  266. package/dist/styled-system/css/sva.d.ts +4 -0
  267. package/dist/styled-system/css/sva.js +46 -0
  268. package/dist/styled-system/helpers.js +316 -0
  269. package/dist/styled-system/patterns/aspect-ratio.d.ts +20 -0
  270. package/dist/styled-system/patterns/aspect-ratio.js +38 -0
  271. package/dist/styled-system/patterns/bleed.d.ts +21 -0
  272. package/dist/styled-system/patterns/bleed.js +24 -0
  273. package/dist/styled-system/patterns/box.d.ts +20 -0
  274. package/dist/styled-system/patterns/box.js +15 -0
  275. package/dist/styled-system/patterns/center.d.ts +20 -0
  276. package/dist/styled-system/patterns/center.js +21 -0
  277. package/dist/styled-system/patterns/circle.d.ts +20 -0
  278. package/dist/styled-system/patterns/circle.js +25 -0
  279. package/dist/styled-system/patterns/container.d.ts +20 -0
  280. package/dist/styled-system/patterns/container.js +21 -0
  281. package/dist/styled-system/patterns/cq.d.ts +21 -0
  282. package/dist/styled-system/patterns/cq.js +21 -0
  283. package/dist/styled-system/patterns/divider.d.ts +22 -0
  284. package/dist/styled-system/patterns/divider.js +25 -0
  285. package/dist/styled-system/patterns/flex.d.ts +26 -0
  286. package/dist/styled-system/patterns/flex.js +26 -0
  287. package/dist/styled-system/patterns/float.d.ts +23 -0
  288. package/dist/styled-system/patterns/float.js +52 -0
  289. package/dist/styled-system/patterns/grid-item.d.ts +25 -0
  290. package/dist/styled-system/patterns/grid-item.js +25 -0
  291. package/dist/styled-system/patterns/grid.d.ts +24 -0
  292. package/dist/styled-system/patterns/grid.js +27 -0
  293. package/dist/styled-system/patterns/hstack.d.ts +21 -0
  294. package/dist/styled-system/patterns/hstack.js +24 -0
  295. package/dist/styled-system/patterns/index.d.ts +21 -0
  296. package/dist/styled-system/patterns/index.js +20 -0
  297. package/dist/styled-system/patterns/link-overlay.d.ts +20 -0
  298. package/dist/styled-system/patterns/link-overlay.js +24 -0
  299. package/dist/styled-system/patterns/spacer.d.ts +20 -0
  300. package/dist/styled-system/patterns/spacer.js +25 -0
  301. package/dist/styled-system/patterns/square.d.ts +20 -0
  302. package/dist/styled-system/patterns/square.js +24 -0
  303. package/dist/styled-system/patterns/stack.d.ts +23 -0
  304. package/dist/styled-system/patterns/stack.js +24 -0
  305. package/dist/styled-system/patterns/visually-hidden.d.ts +20 -0
  306. package/dist/styled-system/patterns/visually-hidden.js +18 -0
  307. package/dist/styled-system/patterns/vstack.d.ts +21 -0
  308. package/dist/styled-system/patterns/vstack.js +24 -0
  309. package/dist/styled-system/patterns/wrap.d.ts +24 -0
  310. package/dist/styled-system/patterns/wrap.js +25 -0
  311. package/dist/styled-system/recipes/content-header.d.ts +31 -0
  312. package/dist/styled-system/recipes/content-header.js +65 -0
  313. package/dist/styled-system/recipes/content-page.d.ts +34 -0
  314. package/dist/styled-system/recipes/content-page.js +43 -0
  315. package/dist/styled-system/recipes/create-recipe.js +82 -0
  316. package/dist/styled-system/recipes/index.d.ts +17 -0
  317. package/dist/styled-system/recipes/index.js +16 -0
  318. package/dist/styled-system/recipes/metric-block.d.ts +34 -0
  319. package/dist/styled-system/recipes/metric-block.js +76 -0
  320. package/dist/styled-system/recipes/product-list.d.ts +31 -0
  321. package/dist/styled-system/recipes/product-list.js +73 -0
  322. package/dist/styled-system/recipes/product-section.d.ts +31 -0
  323. package/dist/styled-system/recipes/product-section.js +49 -0
  324. package/dist/styled-system/recipes/product-settings-row.d.ts +34 -0
  325. package/dist/styled-system/recipes/product-settings-row.js +58 -0
  326. package/dist/styled-system/recipes/product-settings.d.ts +31 -0
  327. package/dist/styled-system/recipes/product-settings.js +57 -0
  328. package/dist/styled-system/recipes/product-status.d.ts +34 -0
  329. package/dist/styled-system/recipes/product-status.js +45 -0
  330. package/dist/styled-system/recipes/product-toolbar.d.ts +31 -0
  331. package/dist/styled-system/recipes/product-toolbar.js +41 -0
  332. package/dist/styled-system/recipes/product-workspace.d.ts +34 -0
  333. package/dist/styled-system/recipes/product-workspace.js +58 -0
  334. package/dist/styled-system/recipes/surface-metric.d.ts +38 -0
  335. package/dist/styled-system/recipes/surface-metric.js +63 -0
  336. package/dist/styled-system/recipes/surface-table.d.ts +34 -0
  337. package/dist/styled-system/recipes/surface-table.js +62 -0
  338. package/dist/styled-system/recipes/ui-badge.d.ts +31 -0
  339. package/dist/styled-system/recipes/ui-badge.js +38 -0
  340. package/dist/styled-system/recipes/ui-button.d.ts +32 -0
  341. package/dist/styled-system/recipes/ui-button.js +43 -0
  342. package/dist/styled-system/recipes/ui-input.d.ts +31 -0
  343. package/dist/styled-system/recipes/ui-input.js +49 -0
  344. package/dist/styled-system/recipes/ui-textarea.d.ts +31 -0
  345. package/dist/styled-system/recipes/ui-textarea.js +24 -0
  346. package/dist/styled-system/styles.css +1257 -0
  347. package/dist/styled-system/tokens/index.d.ts +9 -0
  348. package/dist/styled-system/tokens/index.js +268 -0
  349. package/dist/styled-system/tokens/tokens.d.ts +36 -0
  350. package/dist/styled-system/types/composition.d.ts +227 -0
  351. package/dist/styled-system/types/conditions.d.ts +236 -0
  352. package/dist/styled-system/types/csstype.d.ts +22570 -0
  353. package/dist/styled-system/types/index.d.ts +6 -0
  354. package/dist/styled-system/types/parts.d.ts +8 -0
  355. package/dist/styled-system/types/pattern.d.ts +78 -0
  356. package/dist/styled-system/types/prop-type.d.ts +223 -0
  357. package/dist/styled-system/types/recipe.d.ts +181 -0
  358. package/dist/styled-system/types/selectors.d.ts +59 -0
  359. package/dist/styled-system/types/static-css.d.ts +56 -0
  360. package/dist/styled-system/types/style-props.d.ts +8088 -0
  361. package/dist/styled-system/types/system-types.d.ts +151 -0
  362. package/dist/styles/aliases.css +49 -0
  363. package/dist/styles/compatibility.epilogue.css +384 -0
  364. package/dist/styles/compatibility.prelude.css +5513 -0
  365. package/dist/styles/conditional-states.css +28 -0
  366. package/dist/styles/conditional-utilities.css +22 -0
  367. package/dist/styles/recipes.css +1262 -0
  368. package/dist/types.d.ts +3 -3
  369. package/dist/utils.d.ts +1 -1
  370. package/dist/utils.js +1 -1
  371. package/package.json +38 -14
  372. package/styles-compatibility.json +12 -0
@@ -0,0 +1 @@
1
+ export declare const classProperties: Readonly<Record<string, readonly number[]>>;
@@ -0,0 +1,2 @@
1
+ // Generated from owned finite CSS by scripts/build-native-classnames.mjs.
2
+ export const classProperties = { "[writing-mode:vertical-rl]": [144], "appearance-none": [28, 38], "bg-emerald-500/10": [41, 256], "bg-info": [41], "bg-rose-500": [41], "blur": [4, 70], "border-zinc-800": [49], "capitalize": [129], "collapse": [140], "container": [142, 172, 191, 211, 223, 233], "contents": [68], "dark:bg-destructive": [147], "dark:text-green-400": [149], "drop-shadow-sm": [6, 7, 70], "fade-in": [9], "fade-in-0": [9], "fill-amber-500": [69], "filter": [70], "inline": [68], "invisible": [140], "italic": [77], "line-through": [127], "max-w-[64rem]": [98], "max-w-[74rem]": [98], "max-w-[78rem]": [98], "max-w-[92rem]": [98], "max-w-xs": [98], "no-underline": [127], "outline": [104, 105], "running": [37], "scrollbar-none": [125], "slide-in-from-right": [11], "sm:col-span-3": [164], "sm:col-span-4": [164], "sm:max-w-xl": [172], "static": [119], "svadmin-u-005b1fee4088": [97], "svadmin-u-00cde2e9f1cf": [100], "svadmin-u-00e05b9a87d5": [65], "svadmin-u-012fbd121f37": [73], "svadmin-u-01cc1873771f": [110, 111], "svadmin-u-020ba687fa12": [161], "svadmin-u-0214b4b355d1": [68], "svadmin-u-022e8076dfea": [159, 183], "svadmin-u-0277bd2c2996": [100], "svadmin-u-02af9e5da98e": [130], "svadmin-u-02cafd385619": [110, 111], "svadmin-u-02fc11cfd270": [160], "svadmin-u-03b4dd7f172b": [110, 111], "svadmin-u-0478c89a150f": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-0497cfa907ee": [98], "svadmin-u-050494726fba": [176], "svadmin-u-054cb4e36116": [30, 32, 68, 106], "svadmin-u-055a17b0d27b": [99], "svadmin-u-05f954a846d6": [49, 257], "svadmin-u-05faf5c801ff": [49, 257], "svadmin-u-064e4b9e19c3": [25, 87], "svadmin-u-069503724c35": [142], "svadmin-u-06b1d9433e62": [76], "svadmin-u-06bbb43166db": [24, 63], "svadmin-u-07017cde3e97": [83], "svadmin-u-07389a777c1f": [44, 45, 57, 58], "svadmin-u-078ed38802b9": [222], "svadmin-u-083abb355258": [65, 258], "svadmin-u-087ea857932e": [117], "svadmin-u-08cc9b1d44f8": [25, 87], "svadmin-u-095acb275581": [83], "svadmin-u-09ace3a4d9f5": [25, 87], "svadmin-u-09c1ba5f3e1a": [112], "svadmin-u-09deafdfd7f5": [24, 63], "svadmin-u-0a0bdc193a65": [16, 255], "svadmin-u-0a58453f3755": [181], "svadmin-u-0a769880db93": [83], "svadmin-u-0a88129d55fd": [96], "svadmin-u-0ab8667228fd": [96], "svadmin-u-0b8c506a0596": [102], "svadmin-u-0b91436debbd": [113, 114], "svadmin-u-0bf5f8e17abf": [184], "svadmin-u-0c15f6cff5a0": [18, 19], "svadmin-u-0c3bc98565dd": [66, 123], "svadmin-u-0c5e9137c7de": [44, 45, 57, 58], "svadmin-u-0c67ca474a69": [102], "svadmin-u-0cfe3fb5e434": [99], "svadmin-u-0d304f904cb0": [66, 123], "svadmin-u-0da48290f782": [92, 93], "svadmin-u-0e12dc7de920": [92, 93], "svadmin-u-0e17f2bd9074": [113, 114], "svadmin-u-0e5b245b4ed1": [99], "svadmin-u-0e65706bcccd": [75], "svadmin-u-0f2fff0ae96e": [145], "svadmin-u-0f618ab9ca2f": [65], "svadmin-u-0f8a144a7c17": [66], "svadmin-u-0fe7d7d814d0": [0, 1, 2, 135, 136, 137], "svadmin-u-1004c0c3954c": [66, 123], "svadmin-u-106b502aac96": [65, 258], "svadmin-u-10d7a2feb011": [142], "svadmin-u-10db0d558201": [83], "svadmin-u-1100bef66e60": [110, 111], "svadmin-u-11863ecc32e7": [142], "svadmin-u-119b2aa0b8f6": [55, 61], "svadmin-u-11e59c6d5f6b": [83], "svadmin-u-1256b2f6ad2d": [89, 90], "svadmin-u-1301e5c1ce71": [57, 58], "svadmin-u-133e86d6e1b8": [41, 256], "svadmin-u-1384f66f41d0": [108], "svadmin-u-145745bf5286": [145], "svadmin-u-14ce684b980b": [83], "svadmin-u-14e46609fd68": [24, 63], "svadmin-u-152267a018a5": [99], "svadmin-u-15e1b1f444fe": [96], "svadmin-u-166af870e200": [91], "svadmin-u-16a5872ee870": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-16b1efa5875e": [20, 63], "svadmin-u-16d6f96aa157": [41, 256], "svadmin-u-170cee3ff4e4": [107], "svadmin-u-1734f23deafe": [100], "svadmin-u-173fa8f06789": [117], "svadmin-u-177c5cdba493": [113, 114], "svadmin-u-179c0e54131c": [99], "svadmin-u-17a9f7af2265": [41, 256], "svadmin-u-18049387f0af": [49], "svadmin-u-181b286668b5": [145], "svadmin-u-18550d5945ae": [13, 88], "svadmin-u-1884518576f2": [174, 175, 176, 177, 178, 179, 180, 181], "svadmin-u-189f036c335c": [62], "svadmin-u-18a6e7a36f29": [49, 257], "svadmin-u-18d3e28787c3": [165], "svadmin-u-18f4ce4080f9": [146, 148], "svadmin-u-19d9b25e8fae": [209], "svadmin-u-1b1df78e4d0a": [116], "svadmin-u-1b2d54a3fd12": [110, 111], "svadmin-u-1bb883263ed2": [91], "svadmin-u-1c1af10f0ece": [41, 256], "svadmin-u-1ca6dd1e47c4": [3, 29, 40], "svadmin-u-1d274d2422d8": [98], "svadmin-u-1d4402dfae51": [98], "svadmin-u-1d5904e7e755": [76], "svadmin-u-1d7f28b046ad": [25, 87], "svadmin-u-1d9f2d98d149": [142], "svadmin-u-1dc571a3609f": [76], "svadmin-u-1e3de5ebbb2f": [142], "svadmin-u-1eb5c6df38c1": [74], "svadmin-u-1ee417e4637c": [67], "svadmin-u-1f51d781e606": [166], "svadmin-u-1fdf1b136104": [124], "svadmin-u-20269b6b378e": [69], "svadmin-u-2074a75bf2e7": [73], "svadmin-u-20aaf08a7ed1": [65], "svadmin-u-20ebde75765d": [115], "svadmin-u-2167406b24d7": [131], "svadmin-u-21752b56424c": [16], "svadmin-u-2191c1456297": [98], "svadmin-u-22a0a8a25f55": [147, 150], "svadmin-u-22bb278694b4": [49, 257], "svadmin-u-22e59b722111": [86], "svadmin-u-22fda335435d": [41, 256], "svadmin-u-233c0494b485": [0, 8, 135], "svadmin-u-236812d64c82": [145], "svadmin-u-23e1f628d033": [142], "svadmin-u-24104d87db9a": [41, 256], "svadmin-u-243d62579c55": [99], "svadmin-u-24546591650c": [121], "svadmin-u-2472e9b81a97": [98], "svadmin-u-2534f14adad5": [98], "svadmin-u-259ce51fc8f3": [151], "svadmin-u-25effcb585ab": [100], "svadmin-u-2689f3958069": [12, 79], "svadmin-u-269105289e8f": [41, 256], "svadmin-u-2691847b25ed": [16, 255], "svadmin-u-26e4f7bdbd56": [49, 257], "svadmin-u-27165ed73e86": [156, 157], "svadmin-u-283481e780bb": [41, 256], "svadmin-u-2859c861d7de": [41, 256], "svadmin-u-286893e2971d": [100], "svadmin-u-287a02ddc463": [41, 256], "svadmin-u-28ab41ff3b38": [142], "svadmin-u-28ae52cc20ae": [100], "svadmin-u-2917dba92464": [41, 256], "svadmin-u-29b733e4c162": [67], "svadmin-u-29f553b60628": [41, 256], "svadmin-u-2a2db4667b27": [102], "svadmin-u-2a95a5f480f7": [131], "svadmin-u-2adea12c41f3": [207], "svadmin-u-2b64ecb90ede": [196, 205], "svadmin-u-2b6f77ad4036": [16, 255], "svadmin-u-2bbcfc3b5179": [142], "svadmin-u-2c1f5e2b6a5b": [224], "svadmin-u-2c69d147b501": [122], "svadmin-u-2c955d1b45df": [80], "svadmin-u-2cc8041eca99": [98], "svadmin-u-2cd02d11d1af": [106], "svadmin-u-2d56f1807e51": [41, 256], "svadmin-u-2daa8e5e2f2e": [31, 61, 64, 83, 89, 90, 91, 92, 93, 94, 95, 96, 106, 110, 111, 112, 113, 114, 115, 116, 117, 119, 141, 142], "svadmin-u-2e479b8dbbd7": [134], "svadmin-u-2e7a6d18a20d": [100], "svadmin-u-2eba0d65d059": [126], "svadmin-u-2ee0591bf105": [209], "svadmin-u-2ef11f1cb219": [41], "svadmin-u-2f27a80ed92b": [209], "svadmin-u-2f2a842e50fa": [83], "svadmin-u-2f960aa0c478": [49, 257], "svadmin-u-3032cae0badb": [14, 78], "svadmin-u-306d283a53fe": [27, 138], "svadmin-u-308fc069e46e": [126], "svadmin-u-30c1d058f0db": [117], "svadmin-u-30ca335ae9c2": [65], "svadmin-u-30f13f694038": [41, 256], "svadmin-u-3143d72a3869": [100], "svadmin-u-319548b23f75": [158], "svadmin-u-31d2902b53fb": [142], "svadmin-u-31f2553311b6": [96], "svadmin-u-32aac21b02c8": [81], "svadmin-u-3350916b3513": [122], "svadmin-u-3355648fe22b": [41], "svadmin-u-33787152c8e8": [146, 148], "svadmin-u-338625ff877e": [41, 256], "svadmin-u-34516836730d": [67], "svadmin-u-358af0b65a31": [41, 256], "svadmin-u-359090c2d529": [76, 88], "svadmin-u-35b2f3aff60f": [98], "svadmin-u-3698555097d6": [98], "svadmin-u-36b381be4df3": [27, 138], "svadmin-u-36d4469299aa": [44, 45, 57, 58], "svadmin-u-36e579c0b41c": [71], "svadmin-u-3713c4c7843d": [98], "svadmin-u-375dc44df6e9": [41, 256], "svadmin-u-375f36f67650": [123], "svadmin-u-38a2a10339a0": [238], "svadmin-u-3960ffc248d9": [34], "svadmin-u-3972e98dc84f": [102], "svadmin-u-3a1268a4e17f": [83], "svadmin-u-3a33f11548cd": [65, 258], "svadmin-u-3a4ff758c2ab": [65], "svadmin-u-3b9871a0bf93": [166], "svadmin-u-3bb45dd48a74": [41, 256], "svadmin-u-3bbc8c13feec": [67], "svadmin-u-3c63a476b257": [134], "svadmin-u-3c8ea328c09e": [83], "svadmin-u-3d50bc090e79": [239, 240, 241, 242, 243, 244, 245, 246], "svadmin-u-3daca9af0861": [20, 63], "svadmin-u-3e0fd166d494": [119], "svadmin-u-3e1868fc53e2": [16], "svadmin-u-3e3534b4c5df": [65, 258], "svadmin-u-3eb153dc198f": [206], "svadmin-u-3ee5df8c651f": [62], "svadmin-u-3f2a1ff6358f": [99], "svadmin-u-3fd0f778c8d9": [162], "svadmin-u-3febee094e85": [76, 88], "svadmin-u-40137e897961": [36], "svadmin-u-421ac2be5045": [44, 45, 57, 58], "svadmin-u-422d10025c0d": [208], "svadmin-u-42536e69e639": [76, 88], "svadmin-u-426b8b75185b": [83], "svadmin-u-438b2237b8d6": [24, 63], "svadmin-u-43928fcc832f": [41, 256], "svadmin-u-43ed7af3fc8a": [41], "svadmin-u-44559afbdbd7": [20, 63], "svadmin-u-4455d4748b63": [81], "svadmin-u-445ec4d497ce": [50, 51], "svadmin-u-4460ceede36b": [100], "svadmin-u-44ee8ba0a421": [66, 123], "svadmin-u-451f34ab545d": [143], "svadmin-u-4558bce6d8c0": [209], "svadmin-u-4583f90cd9bd": [48], "svadmin-u-45c5dd0869c8": [86], "svadmin-u-45d828117213": [113, 114], "svadmin-u-465609a240a8": [110, 111], "svadmin-u-467420585af4": [97], "svadmin-u-46daeb0b661f": [41, 256], "svadmin-u-4701b613ff95": [174, 175], "svadmin-u-478497d5efa5": [209], "svadmin-u-479a710e57e6": [99], "svadmin-u-47a69140380e": [142], "svadmin-u-4827635fb99f": [142], "svadmin-u-4a33def12a78": [209], "svadmin-u-4a5f0ea04648": [5, 55], "svadmin-u-4b159de349a5": [99], "svadmin-u-4b5cc19bfdfc": [85], "svadmin-u-4bdb6700d16a": [100], "svadmin-u-4bfac3b6a99f": [98], "svadmin-u-4c15f4f8c5ab": [121], "svadmin-u-4c1e8d12f3db": [49], "svadmin-u-4cf5af8d25d3": [41, 256], "svadmin-u-4d62c2e3009b": [209], "svadmin-u-4e5ca9623e22": [65, 258], "svadmin-u-4e5d2af5fc1f": [96], "svadmin-u-4ee734926ff6": [76, 88], "svadmin-u-4f5874c554b6": [102], "svadmin-u-4f98da6f3301": [142], "svadmin-u-5064267f78e3": [65], "svadmin-u-506a96403942": [91], "svadmin-u-508ebf85b1c9": [83], "svadmin-u-50ca6ba56aa3": [67], "svadmin-u-50d0d216a2f8": [96], "svadmin-u-513d5c30bf66": [66], "svadmin-u-516b03df0b7c": [142], "svadmin-u-52083e7da442": [68], "svadmin-u-520bb7118c41": [97], "svadmin-u-52183a1cca53": [65, 258], "svadmin-u-521fa0c7c407": [49], "svadmin-u-52be28846b5f": [117], "svadmin-u-536a7530a44f": [145], "svadmin-u-53bb3a280599": [41, 256], "svadmin-u-53eae0624db1": [98], "svadmin-u-53ecdb131b58": [99], "svadmin-u-5540f3495030": [167], "svadmin-u-558f64349245": [97], "svadmin-u-55acecc7e2f1": [41, 256], "svadmin-u-55b6d9158f15": [41, 256], "svadmin-u-56796a90bec5": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-569eb16216dd": [112], "svadmin-u-56bf8ae82a10": [0, 1, 2, 135, 136, 137], "svadmin-u-58284b4ea568": [66, 123], "svadmin-u-582e6ef4b245": [17], "svadmin-u-591f378e24a1": [49, 257], "svadmin-u-5a14cc9f9ed4": [186], "svadmin-u-5a1ab9dd55a5": [65], "svadmin-u-5a438c30beec": [121], "svadmin-u-5b92fd698365": [16, 255], "svadmin-u-5bd7b080992c": [120], "svadmin-u-5ceb636bd9f3": [53, 54], "svadmin-u-5d17652eacdf": [209], "svadmin-u-5e8a03e061f9": [131], "svadmin-u-5f1ff8fe8768": [65, 258], "svadmin-u-5f22e64f2282": [44, 45, 57, 58], "svadmin-u-5f89f14a26db": [84], "svadmin-u-6032d46445ba": [65], "svadmin-u-60541e1e26f8": [34], "svadmin-u-60ed9c3ef326": [41, 256], "svadmin-u-60fbb7713999": [68], "svadmin-u-610bcc1bb506": [49, 257], "svadmin-u-61357c0c2f29": [110, 111], "svadmin-u-618162408e7a": [95], "svadmin-u-6199866f612f": [98], "svadmin-u-625a4c3fbeb2": [0, 8, 135], "svadmin-u-62925abe316b": [121], "svadmin-u-62c392c49841": [210], "svadmin-u-633ef3c47872": [24, 63], "svadmin-u-63a285be6490": [66, 123], "svadmin-u-64643d78ed9b": [41], "svadmin-u-64a6e3fce6e0": [201, 202], "svadmin-u-64cac80d2e9a": [153], "svadmin-u-64f847a259bc": [222], "svadmin-u-650758f4572a": [142], "svadmin-u-65281709dacf": [91], "svadmin-u-65935df577ba": [55, 61], "svadmin-u-65ac0c49a5d5": [46, 47], "svadmin-u-65fdbade2025": [46, 47], "svadmin-u-660d2effb880": [110, 111], "svadmin-u-6643d7cf66cb": [222], "svadmin-u-665f07fe73cc": [83, 142], "svadmin-u-668b21aa5409": [83], "svadmin-u-671513a87226": [142], "svadmin-u-676c91deb47e": [160], "svadmin-u-67d6184a0024": [0, 1, 2, 135, 136, 137], "svadmin-u-67d7e383dca6": [97], "svadmin-u-68750801bcf6": [41, 256], "svadmin-u-687e17559be1": [209], "svadmin-u-68d3fc190004": [121], "svadmin-u-68d55a736ff4": [65, 258], "svadmin-u-68ecb30dbec6": [110, 111], "svadmin-u-68f2db624df7": [44, 45, 57, 58], "svadmin-u-68fe531347b9": [100], "svadmin-u-69450ef1487e": [12, 79], "svadmin-u-69aaf7265e58": [100], "svadmin-u-69cdf25ad1e4": [76], "svadmin-u-69da7e4ff95d": [142], "svadmin-u-6a1572b6bf5a": [41, 256], "svadmin-u-6a31d3b03df0": [33, 139], "svadmin-u-6a60c09e6aaa": [83], "svadmin-u-6aef32016896": [120], "svadmin-u-6b189c6edadb": [13, 88], "svadmin-u-6b3526212209": [186], "svadmin-u-6b7265b65ab7": [83, 142], "svadmin-u-6b7d6e21ccbd": [117], "svadmin-u-6c32e8173349": [62], "svadmin-u-6ca625288b1e": [142], "svadmin-u-6cbc84dd9e1a": [49], "svadmin-u-6da6a3c3f741": [142], "svadmin-u-6dfb687ea917": [158], "svadmin-u-6e718d5684c2": [83], "svadmin-u-6ee2d41e2d2d": [49, 257], "svadmin-u-6f27f4f79e55": [34], "svadmin-u-6f8ab8abb126": [17], "svadmin-u-6ffcd84c45e5": [49], "svadmin-u-7054e2767710": [13, 88], "svadmin-u-7065497e1ca0": [102], "svadmin-u-706701550477": [41, 256], "svadmin-u-706c16d853e6": [66], "svadmin-u-707e8e52f284": [41], "svadmin-u-711a3789b7a6": [65, 258], "svadmin-u-714816efc69c": [102], "svadmin-u-7178afa5bad6": [209], "svadmin-u-71e31b2f1bb2": [142], "svadmin-u-71ec51c9997d": [142], "svadmin-u-7209fd2a90e7": [174, 175], "svadmin-u-72470489ff4e": [142], "svadmin-u-72a4c7cdeef7": [65], "svadmin-u-7357df2b2e0c": [76], "svadmin-u-73a1340934c0": [83], "svadmin-u-73fc3fb18ceb": [106], "svadmin-u-74b2435a1d40": [142], "svadmin-u-74f9876a6800": [89, 90, 91, 92, 93, 94, 95, 96], "svadmin-u-751fb0d102ba": [76, 88], "svadmin-u-7597e11b4d4b": [113, 114], "svadmin-u-75b1bec3ea0e": [41], "svadmin-u-75be195e1cd6": [96], "svadmin-u-76067d04e222": [76], "svadmin-u-7660b450905a": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-76610325273f": [92, 93], "svadmin-u-76747e5e02ff": [65], "svadmin-u-77533d414653": [170], "svadmin-u-77a2a20e90d4": [66, 123], "svadmin-u-77c08e015d14": [85], "svadmin-u-783b0d9d1e2c": [83, 142], "svadmin-u-7890552ecd63": [0, 8, 135], "svadmin-u-78e6d0ebb9a4": [102], "svadmin-u-793346c7362c": [99], "svadmin-u-793c2275b157": [213, 214, 215, 216, 217, 218, 219, 220], "svadmin-u-79bf1259388b": [75], "svadmin-u-7a0854fdbc30": [41, 256], "svadmin-u-7a09f4b2d159": [99], "svadmin-u-7a470f4c9b28": [131], "svadmin-u-7a9aabfcd059": [177, 178], "svadmin-u-7a9ad020b130": [83, 142], "svadmin-u-7ab81aede9d8": [142], "svadmin-u-7b17becb34a1": [98], "svadmin-u-7b2d63937d23": [121], "svadmin-u-7b32fba79b0f": [24, 63], "svadmin-u-7b7df0449b80": [62, 86, 121, 131], "svadmin-u-7bbb00f9ba7a": [83, 142], "svadmin-u-7bc555991dba": [119], "svadmin-u-7be4d67a6256": [65, 258], "svadmin-u-7d167f503a39": [209], "svadmin-u-7d283214b870": [203, 204], "svadmin-u-7d5d4c29be2a": [118], "svadmin-u-7d85d0c21a32": [101], "svadmin-u-7e0b7cdf1a94": [100], "svadmin-u-7e3e9a76c966": [113, 114], "svadmin-u-7e74e5fe798a": [142], "svadmin-u-7e9a2a250cc3": [66, 123], "svadmin-u-7ec10f86d9b1": [142], "svadmin-u-7f044b149379": [24, 63], "svadmin-u-7f19cdf4c5bb": [41], "svadmin-u-7f351d50b6e6": [41, 256], "svadmin-u-7f6912283f11": [33, 139], "svadmin-u-7fc47b48933f": [102], "svadmin-u-7fc7f732bf7e": [83], "svadmin-u-7fcf9124b5df": [112], "svadmin-u-8045cf4c0182": [165], "svadmin-u-8078c71d23ee": [33, 139], "svadmin-u-811148b13d1e": [65], "svadmin-u-81976f3f2c63": [115], "svadmin-u-823f000e740a": [18, 19], "svadmin-u-82cc6c6581cd": [95], "svadmin-u-82d0b7da66df": [99], "svadmin-u-831f8770959d": [224], "svadmin-u-8417db9333ae": [41, 256], "svadmin-u-844322115e56": [0, 8, 135], "svadmin-u-845f53365c8d": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-84789e8a20cd": [142], "svadmin-u-84bdd56b0e81": [169], "svadmin-u-85399de17097": [16], "svadmin-u-85d919893645": [41, 256], "svadmin-u-86171d20618e": [83], "svadmin-u-86843cf1e227": [85], "svadmin-u-8782d84cc906": [131], "svadmin-u-87faeaaa291e": [212], "svadmin-u-8956a4275b9d": [95], "svadmin-u-897d497e57b6": [98], "svadmin-u-898c0bcba480": [165], "svadmin-u-89904d276530": [99], "svadmin-u-89a62219c1a7": [39], "svadmin-u-8a1efe654daa": [65, 258], "svadmin-u-8a25a995eb8e": [41, 256], "svadmin-u-8a3831239aa5": [194, 195], "svadmin-u-8a539c7fe216": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-8a5560925d62": [56], "svadmin-u-8a7a926578c8": [99], "svadmin-u-8aee2b07b47d": [97], "svadmin-u-8b434b651a9e": [16, 255], "svadmin-u-8b8196092091": [42, 43], "svadmin-u-8baf13a3e9d7": [25, 87], "svadmin-u-8bd891360308": [152, 185], "svadmin-u-8d08385288a6": [67], "svadmin-u-8dddea0773ed": [72], "svadmin-u-8e63407b5ceb": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-8e75e3db482b": [81], "svadmin-u-8e7bba3352f0": [16, 255], "svadmin-u-8ecebc9f80e6": [12, 79], "svadmin-u-8edb3fc31a03": [186], "svadmin-u-8ef2268efbbc": [85], "svadmin-u-8ffe7a29179a": [94], "svadmin-u-9079b62ef1cb": [115], "svadmin-u-918184635b1d": [65], "svadmin-u-9249876ba240": [174, 175], "svadmin-u-92b7f35f04c0": [67], "svadmin-u-92bf82f493b1": [109], "svadmin-u-92e13d146fd7": [142], "svadmin-u-92e7450ad20d": [142], "svadmin-u-931228bbb579": [81], "svadmin-u-9335c39f6eff": [117], "svadmin-u-93b32079b969": [89, 90], "svadmin-u-940911bf310c": [110, 111], "svadmin-u-940924b6e2d9": [142], "svadmin-u-945ecb9a9005": [49, 257], "svadmin-u-952dfef04298": [234, 236], "svadmin-u-956fcc198f22": [222], "svadmin-u-95b7dea5a67f": [49, 257], "svadmin-u-9673d11dbf8a": [182], "svadmin-u-96747a728556": [65, 258], "svadmin-u-9678c61eaac3": [83], "svadmin-u-967d113a1451": [41, 256], "svadmin-u-968a1e649bad": [99], "svadmin-u-9794ab45094d": [98], "svadmin-u-97f0119b2cac": [41, 256], "svadmin-u-980d09f1c472": [52], "svadmin-u-983fa003115f": [25, 87], "svadmin-u-98714a2f7d41": [65, 258], "svadmin-u-989541ad4512": [115], "svadmin-u-989c466fdbe7": [41, 256], "svadmin-u-9939b97359ce": [83, 142], "svadmin-u-9953408a8ef3": [96], "svadmin-u-998e0b29fe9e": [163, 168], "svadmin-u-99d459b1015d": [41, 256], "svadmin-u-99d72c7fc3e2": [68], "svadmin-u-9a2db8f949b6": [131], "svadmin-u-9a638cfe8212": [190], "svadmin-u-9af3b4b6dc9e": [83, 142], "svadmin-u-9b13e8ae5c9c": [65], "svadmin-u-9b3d0721b628": [83], "svadmin-u-9c4dae6452a4": [161], "svadmin-u-9cea05671a29": [142], "svadmin-u-9d5d8b4711b4": [49, 257], "svadmin-u-9d60be3a6d80": [188], "svadmin-u-9e10c04e17bb": [92, 93], "svadmin-u-9e3dc30c26a3": [98], "svadmin-u-9e50f522071f": [39], "svadmin-u-9e83b2412bc9": [115], "svadmin-u-9f76a62f4f44": [153], "svadmin-u-9fcd8a13827e": [112], "svadmin-u-9fe52d5d506c": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-a0206a0583c8": [99], "svadmin-u-a02aa8a60111": [172], "svadmin-u-a06ab179a5d5": [225, 226, 227, 228, 229, 230, 231, 232], "svadmin-u-a09a722d3ce4": [172], "svadmin-u-a10fdd7667ee": [16, 255], "svadmin-u-a127a4f41a7d": [49, 257], "svadmin-u-a139beb4e318": [110, 111], "svadmin-u-a14daebf7748": [76], "svadmin-u-a1e7a8069878": [100], "svadmin-u-a1f611f027dd": [110, 111], "svadmin-u-a201da4b0d91": [97], "svadmin-u-a217b4eaa918": [44, 45, 57, 58], "svadmin-u-a29b7a649c77": [5, 55], "svadmin-u-a2edcb1a3a6b": [141], "svadmin-u-a3158643e114": [16, 255], "svadmin-u-a327049cac5b": [206], "svadmin-u-a3899220f90e": [66, 123], "svadmin-u-a4326536b8f5": [118], "svadmin-u-a43c96035e6f": [209], "svadmin-u-a4805b5f5b63": [97], "svadmin-u-a486cacb3a15": [41], "svadmin-u-a4ba1a079087": [24, 63], "svadmin-u-a4d0f420b78d": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-a4fe7d4d1e07": [49, 257], "svadmin-u-a50d3377f4ac": [67], "svadmin-u-a59afa8d9b9d": [41], "svadmin-u-a6afccfc915b": [49, 257], "svadmin-u-a6e88615d742": [72], "svadmin-u-a77ed4d908c0": [91], "svadmin-u-a7a63217e098": [65], "svadmin-u-a909a196be82": [41, 256], "svadmin-u-a9436de0cd55": [235, 237], "svadmin-u-a94f89d92058": [207], "svadmin-u-a968a4123359": [154, 155], "svadmin-u-a9ef791a0777": [100], "svadmin-u-aa2c13a5e1b4": [116], "svadmin-u-aa6c1169cd77": [72], "svadmin-u-aac62f0e854f": [96], "svadmin-u-aadad6871af8": [83], "svadmin-u-ab159a179155": [41, 256], "svadmin-u-ab1b20c2292a": [165], "svadmin-u-ab82c25c24ec": [116], "svadmin-u-ac204c108886": [44, 45, 57, 58], "svadmin-u-ac402894e356": [41, 256], "svadmin-u-ac7e80a2c2ae": [212], "svadmin-u-acaee62117b1": [83], "svadmin-u-ad36c0242ee8": [124], "svadmin-u-ad47d17e603c": [24, 63], "svadmin-u-add63bc6753d": [83, 142], "svadmin-u-adfb03d826b8": [89, 90], "svadmin-u-ae2181c7b10f": [142], "svadmin-u-ae724a8c3dec": [67], "svadmin-u-aea6160836e7": [83], "svadmin-u-afbdd13a380e": [36], "svadmin-u-afc45e21ada6": [99], "svadmin-u-b00f43c30c2b": [41, 256], "svadmin-u-b03f3c253900": [186], "svadmin-u-b06f8413aa63": [83, 142], "svadmin-u-b1044d8600a8": [131], "svadmin-u-b1104f41444a": [101], "svadmin-u-b1c4d746518d": [65], "svadmin-u-b247a17a0d75": [41, 256], "svadmin-u-b2e7cc55921c": [86], "svadmin-u-b39e60c339f4": [66, 123], "svadmin-u-b4168890eac6": [97], "svadmin-u-b45ce4b65d53": [94], "svadmin-u-b485ae1c3b47": [55, 61], "svadmin-u-b486a1ee45b0": [76], "svadmin-u-b4f9f7800899": [65, 258], "svadmin-u-b59cd297c349": [39], "svadmin-u-b5f3ff77f4f9": [83], "svadmin-u-b63b7d8eef5d": [97], "svadmin-u-b6777c6db914": [91], "svadmin-u-b67ee2eeca37": [142], "svadmin-u-b6b02c0ebef6": [96], "svadmin-u-b7012bb243cc": [34], "svadmin-u-b7ce0d2f6c04": [142], "svadmin-u-b7daff9b9ddd": [174, 175], "svadmin-u-b7dfca40c07f": [186], "svadmin-u-b86f7f946cd8": [222], "svadmin-u-b8f0a08ece1e": [83], "svadmin-u-b950dda299d3": [59, 60], "svadmin-u-b9e5bb3c1a40": [67], "svadmin-u-ba002e28b7ba": [172], "svadmin-u-ba1dab71e35e": [41, 256], "svadmin-u-ba939ea82d8b": [41], "svadmin-u-bac517ea5f0f": [209], "svadmin-u-baceed3462fd": [142], "svadmin-u-bb0c4bfc52bd": [68], "svadmin-u-bb10ec63a8d0": [222], "svadmin-u-bb3e95154365": [199, 200], "svadmin-u-bcf14a5a5472": [123], "svadmin-u-be2e831be5dd": [81], "svadmin-u-be62e835b692": [16, 255], "svadmin-u-bee68af349c9": [59, 60], "svadmin-u-bf1b5b54929e": [222], "svadmin-u-bf600f8e029c": [142], "svadmin-u-bf60a82ffbd9": [187], "svadmin-u-bfa603190748": [65], "svadmin-u-c05fcc7c4caa": [100], "svadmin-u-c07e54fd1439": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-c0980a65a70d": [98], "svadmin-u-c0bedbbc0c34": [172], "svadmin-u-c163b0edfdf0": [123], "svadmin-u-c1b9bd611950": [62], "svadmin-u-c1ca66f139f6": [142], "svadmin-u-c2385a463da8": [13, 88], "svadmin-u-c3c9f24b386b": [97], "svadmin-u-c4501453167b": [65], "svadmin-u-c4b15df0fe95": [182], "svadmin-u-c55dcda26eec": [131], "svadmin-u-c614099df7f7": [100], "svadmin-u-c688a14d7b97": [49, 257], "svadmin-u-c68af9986751": [94], "svadmin-u-c696a0890973": [142], "svadmin-u-c698f77c9ba5": [41, 256], "svadmin-u-c69e21ff5804": [98], "svadmin-u-c6a5b7446421": [97], "svadmin-u-c6b7e58a30d8": [13, 88], "svadmin-u-c74901da6f6c": [122], "svadmin-u-c78facc7a0a6": [86], "svadmin-u-c7d50d5fc0c3": [35], "svadmin-u-c7f14f00a474": [99], "svadmin-u-c80f3ab59fae": [173], "svadmin-u-c82b67c88e69": [127], "svadmin-u-c98d73ab4dcd": [209], "svadmin-u-c9b99cd93450": [110, 111], "svadmin-u-c9c45f3d5d06": [221], "svadmin-u-c9ed8c5f79ae": [49, 257], "svadmin-u-ca6bcd4b6f3f": [55, 61], "svadmin-u-ca6bf63030aa": [126], "svadmin-u-cb11fec3bb46": [110, 111], "svadmin-u-cbbf90f9a828": [142], "svadmin-u-cbc20887874e": [100], "svadmin-u-cc06a6575385": [177, 178], "svadmin-u-cc46d0fa277d": [83, 142], "svadmin-u-ccc86a0cef94": [41, 256], "svadmin-u-cd009d7d208c": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-cd0ad9a56558": [41], "svadmin-u-cd0d9c512cdc": [83], "svadmin-u-cdaa0b7ef445": [159, 183], "svadmin-u-cddc79d3aaec": [65, 258], "svadmin-u-cddd27bcad85": [65], "svadmin-u-cdf6e054e5e0": [49, 257], "svadmin-u-ce335a8e4f56": [117], "svadmin-u-ceb69a6b0e5f": [0, 1, 2, 135, 136, 137], "svadmin-u-ceb7ac66b25b": [66, 123], "svadmin-u-cecf8bbb11d7": [209], "svadmin-u-cef5b893cf23": [24, 63], "svadmin-u-cf3893e36c22": [98], "svadmin-u-cff55289f8f2": [76], "svadmin-u-d008dee27eaa": [49, 257], "svadmin-u-d043cad8e3fa": [142], "svadmin-u-d058ca6de60f": [76], "svadmin-u-d05bf7110c88": [190], "svadmin-u-d07ac033ff8d": [16, 255], "svadmin-u-d0a52b312f7d": [83], "svadmin-u-d0ce7c24d9dd": [206], "svadmin-u-d0dfe7e6acb2": [247, 248, 249, 250, 251, 252, 253, 254], "svadmin-u-d139dd09e38d": [113, 114], "svadmin-u-d16aae848835": [142], "svadmin-u-d1c57777d8b6": [83], "svadmin-u-d2347e8497a9": [95], "svadmin-u-d2d2d97dd0c8": [115], "svadmin-u-d2ffb24f3e1d": [186], "svadmin-u-d378a2461dc3": [164], "svadmin-u-d3aed606df1d": [41], "svadmin-u-d4108abe6359": [65], "svadmin-u-d4f78465b34d": [50, 51], "svadmin-u-d528c7381898": [49, 257], "svadmin-u-d542b60b5312": [41, 256], "svadmin-u-d59b97947485": [36], "svadmin-u-d5c9b0001e7e": [76, 88], "svadmin-u-d5e98261a758": [46, 47], "svadmin-u-d5eab218aa34": [113, 114], "svadmin-u-d633790a1397": [69], "svadmin-u-d694ba66e322": [131], "svadmin-u-d7bf6780c9a5": [190], "svadmin-u-d7c8339810d3": [81], "svadmin-u-d83be576442b": [86], "svadmin-u-d854e5698b57": [142], "svadmin-u-d89972fe17d6": [119], "svadmin-u-d8cdcad240d1": [121], "svadmin-u-d8e0e382c67b": [113, 114], "svadmin-u-d8f5213f0fe0": [83, 142], "svadmin-u-d9256981a032": [25, 87], "svadmin-u-d9a1932be4d4": [209], "svadmin-u-d9bdd3d643a2": [165], "svadmin-u-d9c3c520f7d5": [41, 256], "svadmin-u-d9d0c50e89ff": [41, 256], "svadmin-u-da019856f2cc": [91], "svadmin-u-da2c5d419684": [49], "svadmin-u-da4dbfbc4fdc": [119], "svadmin-u-da619aaefdf6": [69, 259], "svadmin-u-daf5dc5fac2b": [194, 195], "svadmin-u-db5a366a0e21": [145], "svadmin-u-dc7972ebf3f3": [142], "svadmin-u-dccfb8555c84": [41, 256], "svadmin-u-dd317c20a8aa": [186], "svadmin-u-dd90176a46af": [146, 148], "svadmin-u-de2d5f919ba9": [213, 214, 215, 216, 217, 218, 219, 220], "svadmin-u-de8350a3bbad": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-de96100841e6": [221], "svadmin-u-df37b1fd9495": [15, 104], "svadmin-u-df403bbae8fc": [142], "svadmin-u-dfb5e722be57": [82], "svadmin-u-dfe9bd9e7001": [171], "svadmin-u-dff2e7481197": [62, 86, 121, 131], "svadmin-u-e00052b6f07e": [199, 200], "svadmin-u-e00ad81645a2": [165], "svadmin-u-e09880869d1f": [76], "svadmin-u-e09a917c4c3b": [49, 257], "svadmin-u-e0d9cc7f0647": [113, 114], "svadmin-u-e12dfd448aa6": [89, 90, 91, 92, 93, 94, 95, 96], "svadmin-u-e2327d142859": [163, 168], "svadmin-u-e25ca6535dea": [13, 88], "svadmin-u-e271e6ae16dc": [108], "svadmin-u-e299d4635ea7": [174, 175, 176, 177, 178, 179, 180, 181], "svadmin-u-e2f2b4a69d35": [197, 198], "svadmin-u-e2fe2012a697": [142], "svadmin-u-e31889b585dc": [81], "svadmin-u-e32fca50a966": [173], "svadmin-u-e3fd07f96126": [160], "svadmin-u-e477a6af4cb6": [188], "svadmin-u-e4af885410fe": [115], "svadmin-u-e4d6f343b9ff": [190], "svadmin-u-e541d86d1ec8": [41], "svadmin-u-e5738cbd2714": [97], "svadmin-u-e5795dad4d22": [49], "svadmin-u-e632769ad71e": [86], "svadmin-u-e6f9e383a762": [41], "svadmin-u-e7a768f922d2": [83], "svadmin-u-e7e371071bc5": [142], "svadmin-u-e7ee55ac7ffe": [110, 111], "svadmin-u-e82ae8be04aa": [141], "svadmin-u-e836f6e0a16f": [83], "svadmin-u-e83a7042bc91": [12, 79], "svadmin-u-e86fadb84483": [192, 193], "svadmin-u-e91f4cd3974c": [174, 175, 176, 177, 178, 179, 180, 181], "svadmin-u-e9963c2ac628": [36], "svadmin-u-e9cbeabe7285": [86], "svadmin-u-e9fadafbd4a2": [13, 88], "svadmin-u-ea37b42b1c3b": [103], "svadmin-u-ea875e48d525": [86], "svadmin-u-eadef238231e": [0, 1, 2, 135, 136, 137], "svadmin-u-eb6a3cef9686": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-eb6e8b881acd": [110, 111, 112, 113, 114, 115, 116, 117], "svadmin-u-ec0091ee009b": [110, 111], "svadmin-u-eccd13ef4f2f": [96], "svadmin-u-ecf9478d01e6": [98], "svadmin-u-ecfeb742a3f3": [86], "svadmin-u-ed43795e908d": [65], "svadmin-u-ed831a4dff32": [142], "svadmin-u-ed8a5df7b2fb": [83], "svadmin-u-ed9d3d832af8": [24, 63], "svadmin-u-eda955402ba6": [116], "svadmin-u-edaba517866e": [142], "svadmin-u-ee15a477cd9c": [99], "svadmin-u-ee1a5af3aa10": [49], "svadmin-u-ee3c1259a368": [160], "svadmin-u-eea04c60c0ca": [189], "svadmin-u-ef114b5f5ad1": [83], "svadmin-u-ef2d6f74d3d0": [83, 142], "svadmin-u-ef72121aca75": [103], "svadmin-u-efaa0701487e": [26, 138], "svadmin-u-efc981d0f818": [142], "svadmin-u-f04f99ff45cb": [91], "svadmin-u-f09b0bbad9dd": [142], "svadmin-u-f0c1e65bd6f2": [49, 257], "svadmin-u-f0faeb26d656": [113, 114], "svadmin-u-f160abf88b25": [41, 256], "svadmin-u-f1669c2d7424": [41], "svadmin-u-f24b9e2db7e8": [83], "svadmin-u-f283ea9bea0e": [106, 128, 141], "svadmin-u-f2868c227fcd": [102], "svadmin-u-f3c543ad5fe9": [68], "svadmin-u-f42e9fee68a1": [16, 255], "svadmin-u-f46b61a9b310": [117], "svadmin-u-f4cc511ff0c1": [112], "svadmin-u-f50571addf44": [145], "svadmin-u-f5583b2907be": [49, 257], "svadmin-u-f57e7530965b": [50, 51], "svadmin-u-f58b02572ab2": [94], "svadmin-u-f5c8cc114f47": [44, 45, 57, 58], "svadmin-u-f69834fc7f5b": [96], "svadmin-u-f6fe902450dc": [83], "svadmin-u-f71dfc1f3d97": [41, 256], "svadmin-u-f7b5fa971871": [83, 142], "svadmin-u-f81ede24db81": [97], "svadmin-u-f82f0c255ad9": [83], "svadmin-u-f8516763aedd": [100], "svadmin-u-f854738e0622": [102], "svadmin-u-f89e35297f0f": [153], "svadmin-u-f92d02360b8f": [113, 114], "svadmin-u-f93148569c39": [65, 258], "svadmin-u-fa3f7111e53b": [98], "svadmin-u-fa68ba954fb0": [65], "svadmin-u-fafb9e0bfb6a": [116], "svadmin-u-fb1b0d05046d": [41], "svadmin-u-fb56d9cff341": [94], "svadmin-u-fb7302e5364d": [99], "svadmin-u-fb77735ed17c": [96], "svadmin-u-fb88ccaacf5b": [91], "svadmin-u-fc7473ca09eb": [76, 88], "svadmin-u-fd0beb7ec078": [222], "svadmin-u-fd1dda07320a": [16], "svadmin-u-fd9aebd23c39": [97], "svadmin-u-fd9bb0dd33ac": [94], "svadmin-u-fd9dca32f483": [41, 256], "svadmin-u-fdb4af3ae0bc": [115], "svadmin-u-fde8b650ab2d": [172], "svadmin-u-febbcd95bf06": [222], "svadmin-u-febc34e471df": [24, 63], "svadmin-u-fecb6ec6cfa0": [21, 22, 23, 124], "svadmin-u-fed9c9b1e894": [69], "svadmin-u-ff4a6777f1bc": [83], "svadmin-u-ff4d2db0e22a": [97], "svadmin-u-ffe6499f370c": [16, 255], "table": [68], "table-caption": [68], "table-cell": [68], "table-row": [68], "text-green-500": [65], "touch-none": [132], "transform": [133], "uppercase": [129], "visible": [140], "zoom-in-50": [10], "zoom-in-95": [10] };
@@ -0,0 +1,8 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export type { ClassValue } from 'clsx';
3
+ /**
4
+ * Compose native classes. Only owned finite classes have conflict metadata.
5
+ * Unknown host classes are retained; arbitrary utility syntax is not interpreted.
6
+ */
7
+ export declare function composeClasses(classes: string, properties: Readonly<Record<string, readonly number[]>>): string;
8
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,26 @@
1
+ import { clsx } from 'clsx';
2
+ import { classProperties } from './class-properties.generated.js';
3
+ /**
4
+ * Compose native classes. Only owned finite classes have conflict metadata.
5
+ * Unknown host classes are retained; arbitrary utility syntax is not interpreted.
6
+ */
7
+ export function composeClasses(classes, properties) {
8
+ const covered = new Set();
9
+ const seen = new Set();
10
+ const kept = [];
11
+ for (const name of classes.split(/\s+/u).filter(Boolean).reverse()) {
12
+ if (seen.has(name))
13
+ continue;
14
+ seen.add(name);
15
+ const declarations = Object.hasOwn(properties, name) ? properties[name] : undefined;
16
+ if (declarations?.length && declarations.every((atom) => covered.has(atom)))
17
+ continue;
18
+ kept.push(name);
19
+ for (const atom of declarations ?? [])
20
+ covered.add(atom);
21
+ }
22
+ return kept.reverse().join(' ');
23
+ }
24
+ export function cn(...inputs) {
25
+ return composeClasses(clsx(inputs), classProperties);
26
+ }
@@ -5,35 +5,49 @@
5
5
  * prop on `AdminApp`, while providing sensible defaults.
6
6
  */
7
7
  import { type Component } from 'svelte';
8
+ import type Layout from './components/Layout.svelte';
9
+ import type Sidebar from './components/Sidebar.svelte';
10
+ import type Header from './components/Header.svelte';
11
+ import type LoginPage from './components/LoginPage.svelte';
12
+ import type AutoTable from './components/AutoTable.svelte';
13
+ import type AutoForm from './components/AutoForm.svelte';
14
+ import type ShowPage from './components/ShowPage.svelte';
15
+ import type ErrorPage from './components/ErrorPage.svelte';
16
+ import type Button from './components/ui/button/button.svelte';
17
+ import type Input from './components/ui/input/input.svelte';
18
+ import type Badge from './components/ui/badge/badge.svelte';
19
+ import type Skeleton from './components/ui/skeleton/skeleton.svelte';
20
+ import type Breadcrumbs from './components/Breadcrumbs.svelte';
21
+ import type TaskQueueDrawer from './components/TaskQueueDrawer.svelte';
8
22
  export interface ComponentRegistry {
9
- Layout: Component<any>;
10
- Sidebar: Component<any>;
11
- Header: Component<any>;
12
- LoginPage: Component<any>;
13
- AutoTable: Component<any>;
14
- AutoForm: Component<any>;
15
- ShowPage: Component<any>;
16
- ErrorPage?: Component<any>;
17
- Button: Component<any>;
18
- Input: Component<any>;
19
- Badge: Component<any>;
20
- Skeleton: Component<any>;
23
+ Layout: typeof Layout;
24
+ Sidebar: typeof Sidebar;
25
+ Header: typeof Header;
26
+ LoginPage: typeof LoginPage;
27
+ AutoTable: typeof AutoTable;
28
+ AutoForm: typeof AutoForm;
29
+ ShowPage: typeof ShowPage;
30
+ ErrorPage?: typeof ErrorPage;
31
+ Button: typeof Button;
32
+ Input: typeof Input;
33
+ Badge: typeof Badge;
34
+ Skeleton: typeof Skeleton;
21
35
  /** Custom dashboard page component (replaces default welcome message) */
22
- DashboardPage?: Component<any>;
36
+ DashboardPage?: Component;
23
37
  /** Custom breadcrumbs component (replaces built-in Breadcrumbs) */
24
- Breadcrumbs?: Component<any>;
38
+ Breadcrumbs?: typeof Breadcrumbs;
25
39
  /** Custom theme toggle button (replaces built-in Sun/Moon toggle) */
26
- ThemeToggle?: Component<any>;
40
+ ThemeToggle?: Component;
27
41
  /** Custom user menu / avatar dropdown in the header */
28
- UserMenu?: Component<any>;
42
+ UserMenu?: Component;
29
43
  /** Custom notification panel / bell icon in the header */
30
- NotificationPanel?: Component<any>;
44
+ NotificationPanel?: Component;
31
45
  /** Custom task queue drawer / task center trigger in the header */
32
- TaskQueueDrawer?: Component<any>;
46
+ TaskQueueDrawer?: typeof TaskQueueDrawer;
33
47
  }
34
48
  /** Set the component registry in context (called by AdminApp). */
35
49
  export declare function setComponentRegistry(registry: ComponentRegistry): void;
36
50
  /** Retrieve the full component registry from context. */
37
- export declare function getComponentRegistry(): ComponentRegistry;
51
+ export declare function getComponentRegistry(): ComponentRegistry | undefined;
38
52
  /** Retrieve a single component by name from the registry. */
39
53
  export declare function useComponent<K extends keyof ComponentRegistry>(name: K): ComponentRegistry[K];
@@ -1,11 +1,10 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  /**
3
2
  * Component Registry — Svelte Context-based DI for component injection.
4
3
  *
5
4
  * Allows users to override any registered component via the `components`
6
5
  * prop on `AdminApp`, while providing sensible defaults.
7
6
  */
8
- import { getContext, setContext } from 'svelte';
7
+ import { getContext, hasContext, setContext } from 'svelte';
9
8
  const REGISTRY_KEY = 'svadmin:components';
10
9
  /** Set the component registry in context (called by AdminApp). */
11
10
  export function setComponentRegistry(registry) {
@@ -13,9 +12,12 @@ export function setComponentRegistry(registry) {
13
12
  }
14
13
  /** Retrieve the full component registry from context. */
15
14
  export function getComponentRegistry() {
16
- return getContext(REGISTRY_KEY);
15
+ return hasContext(REGISTRY_KEY) ? getContext(REGISTRY_KEY) : undefined;
17
16
  }
18
17
  /** Retrieve a single component by name from the registry. */
19
18
  export function useComponent(name) {
20
- return getComponentRegistry()[name];
19
+ const registry = getComponentRegistry();
20
+ if (!registry)
21
+ throw new Error('Component registry requires an AdminApp context');
22
+ return registry[name];
21
23
  }
@@ -16,6 +16,10 @@
16
16
  </script>
17
17
 
18
18
  <script lang="ts">
19
+ import { definedReactiveOptions } from '@svadmin/core/options';
20
+
21
+ import { definedOptions } from '@svadmin/core/options';
22
+
19
23
  // Auto-inject design tokens so consumers don't need to manually import
20
24
  import '../app.css';
21
25
  import { onDestroy, onMount, untrack, type Component, type Snippet } from 'svelte';
@@ -68,7 +72,7 @@
68
72
  import ConfigErrorScreen from './ConfigErrorScreen.svelte';
69
73
  import Sidebar from './Sidebar.svelte';
70
74
  import Header from './Header.svelte';
71
- import TaskQueueDrawer from './TaskQueueDrawer.svelte';
75
+ import TaskQueueDrawer from './LazyTaskQueueDrawer.svelte';
72
76
  import SettingsPage from './SettingsPage.svelte';
73
77
  import ErrorPage from './ErrorPage.svelte';
74
78
  import SystemPageShell from './SystemPageShell.svelte';
@@ -105,8 +109,8 @@
105
109
  /** Request/tree-scoped tenant. Tenant identifiers are never rendered by DevTools. */
106
110
  tenant?: TenantContext;
107
111
  resources: ResourceDefinition[];
108
- /** Bindable tree-local locale; defaults to the provider locale or per-tree browser detection (English during SSR). */
109
- locale?: string;
112
+ /** Undefined releases the bound locale to provider/browser detection (English during SSR). */
113
+ locale?: string | undefined;
110
114
  /** Optional tree-local translation provider. */
111
115
  i18nProvider?: I18nProvider;
112
116
  title?: string;
@@ -188,10 +192,7 @@
188
192
  Layout, Sidebar, Header,
189
193
  LoginPage, AutoTable, AutoForm, ShowPage,
190
194
  TaskQueueDrawer, ErrorPage,
191
- Button: Button as unknown as ComponentRegistry['Button'],
192
- Input: Input as unknown as ComponentRegistry['Input'],
193
- Badge: Badge as unknown as ComponentRegistry['Badge'],
194
- Skeleton: Skeleton as unknown as ComponentRegistry['Skeleton'],
195
+ Button, Input, Badge, Skeleton,
195
196
  };
196
197
 
197
198
  const resolvedProviderBundle = $derived(providerBundle ?? providers);
@@ -241,31 +242,31 @@
241
242
  locale = nextLocale;
242
243
  }
243
244
 
244
- const i18nScope = createI18nScope({
245
+ const i18nScope = createI18nScope(definedOptions({
245
246
  locale: untrack(() => locale),
246
247
  provider: untrack(() => resolvedI18nProvider),
247
248
  onLocaleChange: updateBoundLocale,
248
- });
249
+ }));
249
250
  provideI18nScope(i18nScope);
250
251
  const translation = useTranslation();
251
252
 
252
253
  $effect.pre(() => {
253
254
  const ownerProvider = resolvedI18nProvider;
254
255
  const ownerLocale = locale;
255
- untrack(() => i18nScope.updateOwner({
256
+ untrack(() => i18nScope.updateOwner(definedOptions({
256
257
  locale: ownerLocale,
257
258
  provider: ownerProvider,
258
259
  onLocaleChange: updateBoundLocale,
259
- }));
260
+ })));
260
261
  });
261
262
 
262
263
  let themeOwner = $state.raw<ReturnType<typeof registerThemeOwner>>(undefined);
263
264
 
264
265
  onMount(() => {
265
- themeOwner = registerThemeOwner({
266
+ themeOwner = registerThemeOwner(definedOptions({
266
267
  defaultTheme,
267
268
  themeConfig: userThemeConfig,
268
- });
269
+ }));
269
270
 
270
271
  return () => {
271
272
  unregisterThemeOwner(themeOwner);
@@ -275,10 +276,10 @@
275
276
 
276
277
  $effect(() => {
277
278
  const owner = themeOwner;
278
- const ownerOptions = {
279
+ const ownerOptions = definedOptions({
279
280
  defaultTheme,
280
281
  themeConfig: userThemeConfig,
281
- };
282
+ });
282
283
  untrack(() => updateThemeOwner(owner, ownerOptions));
283
284
  });
284
285
 
@@ -286,7 +287,7 @@
286
287
  setComponentRegistry(mergedComponents);
287
288
  }
288
289
 
289
- provideAdminContext({
290
+ provideAdminContext(definedReactiveOptions({
290
291
  get providerBundle() { return resolvedProviderBundle as ProviderBundle | undefined; },
291
292
  get dataProvider() {
292
293
  if (!resolvedDataProvider) throw new Error('AdminApp requires a DataProvider.');
@@ -308,7 +309,7 @@
308
309
  get routerProvider() { return scopedRouterProvider; },
309
310
  get tenantAdapter() { return resolvedTenantAdapter; },
310
311
  get tenant() { return tenant; },
311
- });
312
+ }));
312
313
  const adminContext = captureAdminContext();
313
314
 
314
315
  // Context must be available synchronously to descendants during their first render.
@@ -330,8 +331,8 @@
330
331
  const resourceNames = $derived(new Set(resources.map((resource) => resource.name)));
331
332
  const isStandaloneTwoFactor = $derived(route === '/2fa' || route === '/authentication/branded/2fa');
332
333
  const standaloneErrorStatus = $derived.by((): '404' | '500' | undefined => {
333
- if (route === '/authentication/error-404' || route === '/404' || (route === '/:resource' && params.resource === '404')) return '404';
334
- if (route === '/authentication/error-500' || route === '/500' || (route === '/:resource' && params.resource === '500')) return '500';
334
+ if (route === '/authentication/error-404' || route === '/404' || (route === '/:resource' && params['resource'] === '404')) return '404';
335
+ if (route === '/authentication/error-500' || route === '/500' || (route === '/:resource' && params['resource'] === '500')) return '500';
335
336
  return undefined;
336
337
  });
337
338
 
@@ -353,22 +354,23 @@
353
354
  );
354
355
  const renderedRoute = $derived(route);
355
356
  const renderedParams = $derived(params);
356
- const renderedHasRouteResource = $derived(!renderedParams.resource || resourceNames.has(renderedParams.resource));
357
- const renderedResourcePages = $derived(renderedParams.resource ? resourcePages?.[renderedParams.resource] : undefined);
357
+ const renderedResourceName = $derived(renderedParams['resource']);
358
+ const renderedHasRouteResource = $derived(renderedResourceName !== undefined && resourceNames.has(renderedResourceName));
359
+ const renderedResourcePages = $derived(renderedParams['resource'] ? resourcePages?.[renderedParams['resource']] : undefined);
358
360
  const documentTitle = $derived.by(() => {
359
- const resource = renderedParams.resource
360
- ? resources.find((candidate) => candidate.name === renderedParams.resource)
361
+ const resource = renderedParams['resource']
362
+ ? resources.find((candidate) => candidate.name === renderedParams['resource'])
361
363
  : undefined;
362
364
  let pageLabel = '';
363
365
 
364
366
  if (resource) {
365
367
  pageLabel = resource.label || resource.name;
366
368
  } else if (renderedRoute.startsWith('/settings') || renderedRoute === '/account/:tab') {
367
- const tab = renderedParams.tab === 'api-keys'
369
+ const tab = renderedParams['tab'] === 'api-keys'
368
370
  ? 'api'
369
- : renderedParams.tab === 'audit-logs'
371
+ : renderedParams['tab'] === 'audit-logs'
370
372
  ? 'audit'
371
- : renderedParams.tab ?? 'profile';
373
+ : renderedParams['tab'] ?? 'profile';
372
374
  const labels: Record<string, string> = {
373
375
  profile: translation.t('settings.profile'),
374
376
  appearance: translation.t('settings.appearance'),
@@ -528,9 +530,9 @@
528
530
  {:else if route === '/login' && resolvedAuthProvider}
529
531
  <LoginPage
530
532
  {title}
531
- defaultIdentifier={loginDefaults?.identifier}
532
- defaultPassword={loginDefaults?.password}
533
- loginHint={loginDefaults?.hint}
533
+ {...definedOptions({ "defaultIdentifier": loginDefaults?.identifier })}
534
+ {...definedOptions({ "defaultPassword": loginDefaults?.password })}
535
+ {...definedOptions({ "loginHint": loginDefaults?.hint })}
534
536
  onSuccess={() => { isAuthenticated = true; void navigateWithinApp('/'); }}
535
537
  />
536
538
  {:else if route === '/register' && resolvedAuthProvider?.register}
@@ -551,7 +553,7 @@
551
553
  <ErrorComp status={standaloneErrorStatus} />
552
554
  </SystemPageShell>
553
555
  {:else if isAuthenticated || !resolvedAuthProvider}
554
- <Layout {title} {menu} {siteUrl} routeMode={resolvedRouteMode} {aiAssistant}>
556
+ <Layout {title} {...definedOptions({ "menu": menu })} {...definedOptions({ "siteUrl": siteUrl })} routeMode={resolvedRouteMode} {...definedOptions({ "aiAssistant": aiAssistant })}>
555
557
  <div class="svadmin-u-d89972fe17d6 svadmin-u-8a7a926578c8" aria-busy={authRechecking}>
556
558
  {#if authRechecking}
557
559
  <div class="svadmin-u-da4dbfbc4fdc svadmin-u-7b7df0449b80 svadmin-u-236812d64c82 svadmin-u-60fbb7713999 svadmin-u-8a7a926578c8 svadmin-u-3960ffc248d9 svadmin-u-86843cf1e227 svadmin-u-d542b60b5312" role="status" aria-live="polite">
@@ -561,18 +563,18 @@
561
563
  </div>
562
564
  </div>
563
565
  {:else}
564
- {#key renderedRoute + (renderedParams.resource ?? '') + (renderedParams.id ?? '') + (renderedParams.variant ?? '') + (renderedParams.columns ?? '')}
566
+ {#key renderedRoute + (renderedParams['resource'] ?? '') + (renderedParams['id'] ?? '') + (renderedParams['variant'] ?? '') + (renderedParams['columns'] ?? '')}
565
567
  <div class="svadmin-page-enter">
566
568
  {#if renderedRoute === '/public-profile'}
567
569
  <LazyPage loader={loadPublicProfilePage} props={{ variant: 'default', initialTab: 'projects' }} />
568
570
  {:else if renderedRoute === '/public-profile/projects/:columns'}
569
- <LazyPage loader={loadPublicProfilePage} props={{ variant: 'default', initialTab: 'projects', columns: renderedParams.columns?.includes('3') ? 3 : 2 }} />
571
+ <LazyPage loader={loadPublicProfilePage} props={{ variant: 'default', initialTab: 'projects', columns: renderedParams['columns']?.includes('3') ? 3 : 2 }} />
570
572
  {:else if renderedRoute === '/public-profile/activity'}
571
573
  <LazyPage loader={loadPublicProfilePage} props={{ variant: 'default', initialTab: 'activity' }} />
572
574
  {:else if renderedRoute === '/public-profile/teams'}
573
575
  <LazyPage loader={loadPublicProfilePage} props={{ variant: 'default', initialTab: 'teams' }} />
574
576
  {:else if renderedRoute === '/public-profile/profiles/:variant'}
575
- <LazyPage loader={loadPublicProfilePage} props={{ variant: (renderedParams.variant === 'company' || renderedParams.variant === 'gamer' || renderedParams.variant === 'default' ? renderedParams.variant : 'default') as 'company' | 'gamer' | 'default', showSections: true }} />
577
+ <LazyPage loader={loadPublicProfilePage} props={{ variant: (renderedParams['variant'] === 'company' || renderedParams['variant'] === 'gamer' || renderedParams['variant'] === 'default' ? renderedParams['variant'] : 'default') as 'company' | 'gamer' | 'default', showSections: true }} />
576
578
  {:else if renderedRoute === '/account/get-started' || renderedRoute === '/account/home/get-started'}
577
579
  <LazyPage loader={loadGetStartedPage} props={{}} />
578
580
  {:else if renderedRoute === '/account/home/user-profile'}
@@ -610,39 +612,39 @@
610
612
  <p class="svadmin-u-bfa603190748">{translation.t('common.dashboardHint')}</p>
611
613
  </div>
612
614
  {/if}
613
- {:else if (renderedRoute === '/:resource' || renderedRoute === '/:parent/:parentId/:resource') && renderedHasRouteResource}
614
- {#key renderedParams.resource}
615
+ {:else if (renderedRoute === '/:resource' || renderedRoute === '/:parent/:parentId/:resource') && renderedHasRouteResource && renderedResourceName !== undefined}
616
+ {#key renderedParams['resource']}
615
617
  {@const Comp = renderedResourcePages?.list ?? mergedComponents.AutoTable}
616
- <ResourceAccessGuard resourceName={renderedParams.resource} action="list">
617
- <Comp resourceName={renderedParams.resource} />
618
+ <ResourceAccessGuard resourceName={renderedResourceName} action="list">
619
+ <Comp resourceName={renderedResourceName} />
618
620
  </ResourceAccessGuard>
619
621
  {/key}
620
- {:else if (renderedRoute === '/:resource/create' || renderedRoute === '/:parent/:parentId/:resource/create') && renderedHasRouteResource}
621
- {#key renderedParams.resource}
622
+ {:else if (renderedRoute === '/:resource/create' || renderedRoute === '/:parent/:parentId/:resource/create') && renderedHasRouteResource && renderedResourceName !== undefined}
623
+ {#key renderedParams['resource']}
622
624
  {@const Comp = renderedResourcePages?.create ?? mergedComponents.AutoForm}
623
- <ResourceAccessGuard resourceName={renderedParams.resource} action="create">
624
- <Comp resourceName={renderedParams.resource} mode="create" />
625
+ <ResourceAccessGuard resourceName={renderedResourceName} action="create">
626
+ <Comp resourceName={renderedResourceName} mode="create" />
625
627
  </ResourceAccessGuard>
626
628
  {/key}
627
- {:else if (renderedRoute === '/:resource/edit/:id' || renderedRoute === '/:resource/:id/edit' || renderedRoute === '/:parent/:parentId/:resource/edit/:id') && renderedHasRouteResource}
628
- {#key `${renderedParams.resource}-${renderedParams.id}`}
629
+ {:else if (renderedRoute === '/:resource/edit/:id' || renderedRoute === '/:resource/:id/edit' || renderedRoute === '/:parent/:parentId/:resource/edit/:id') && renderedHasRouteResource && renderedResourceName !== undefined && renderedParams['id'] !== undefined}
630
+ {#key `${renderedParams['resource']}-${renderedParams['id']}`}
629
631
  {@const Comp = renderedResourcePages?.edit ?? mergedComponents.AutoForm}
630
- <ResourceAccessGuard resourceName={renderedParams.resource} action="edit" id={renderedParams.id}>
631
- <Comp resourceName={renderedParams.resource} mode="edit" id={renderedParams.id} />
632
+ <ResourceAccessGuard resourceName={renderedResourceName} action="edit" {...definedOptions({ "id": renderedParams['id'] })}>
633
+ <Comp resourceName={renderedResourceName} mode="edit" {...definedOptions({ "id": renderedParams['id'] })} />
632
634
  </ResourceAccessGuard>
633
635
  {/key}
634
- {:else if (renderedRoute === '/:resource/show/:id' || renderedRoute === '/:resource/:id' || renderedRoute === '/:parent/:parentId/:resource/show/:id') && renderedHasRouteResource}
635
- {#key `${renderedParams.resource}-${renderedParams.id}`}
636
+ {:else if (renderedRoute === '/:resource/show/:id' || renderedRoute === '/:resource/:id' || renderedRoute === '/:parent/:parentId/:resource/show/:id') && renderedHasRouteResource && renderedResourceName !== undefined && renderedParams['id'] !== undefined}
637
+ {#key `${renderedParams['resource']}-${renderedParams['id']}`}
636
638
  {@const Comp = renderedResourcePages?.show ?? mergedComponents.ShowPage}
637
- <ResourceAccessGuard resourceName={renderedParams.resource} action="show" id={renderedParams.id}>
638
- <Comp resourceName={renderedParams.resource} id={renderedParams.id} />
639
+ <ResourceAccessGuard resourceName={renderedResourceName} action="show" {...definedOptions({ "id": renderedParams['id'] })}>
640
+ <Comp resourceName={renderedResourceName} id={renderedParams['id']} />
639
641
  </ResourceAccessGuard>
640
642
  {/key}
641
- {:else if (renderedRoute === '/:resource/clone/:id' || renderedRoute === '/:parent/:parentId/:resource/clone/:id') && renderedHasRouteResource}
642
- {#key `${renderedParams.resource}-clone-${renderedParams.id}`}
643
+ {:else if (renderedRoute === '/:resource/clone/:id' || renderedRoute === '/:parent/:parentId/:resource/clone/:id') && renderedHasRouteResource && renderedResourceName !== undefined && renderedParams['id'] !== undefined}
644
+ {#key `${renderedParams['resource']}-clone-${renderedParams['id']}`}
643
645
  {@const Comp = renderedResourcePages?.clone ?? mergedComponents.AutoForm}
644
- <ResourceAccessGuard resourceName={renderedParams.resource} action="create" id={renderedParams.id} requireSourceRead>
645
- <Comp resourceName={renderedParams.resource} mode="clone" id={renderedParams.id} />
646
+ <ResourceAccessGuard resourceName={renderedResourceName} action="create" {...definedOptions({ "id": renderedParams['id'] })} requireSourceRead>
647
+ <Comp resourceName={renderedResourceName} mode="clone" {...definedOptions({ "id": renderedParams['id'] })} />
646
648
  </ResourceAccessGuard>
647
649
  {/key}
648
650
  {:else}
@@ -29,8 +29,8 @@ interface Props {
29
29
  /** Request/tree-scoped tenant. Tenant identifiers are never rendered by DevTools. */
30
30
  tenant?: TenantContext;
31
31
  resources: ResourceDefinition[];
32
- /** Bindable tree-local locale; defaults to the provider locale or per-tree browser detection (English during SSR). */
33
- locale?: string;
32
+ /** Undefined releases the bound locale to provider/browser detection (English during SSR). */
33
+ locale?: string | undefined;
34
34
  /** Optional tree-local translation provider. */
35
35
  i18nProvider?: I18nProvider;
36
36
  title?: string;
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ import { definedOptions } from '@svadmin/core/options';
2
3
  import { captureAdminContext, notifyWithProvider, type ApiCredentialSummary, type WebhookSummary } from '@svadmin/core';
3
4
  import { useTranslation } from '@svadmin/core/i18n';
4
5
  import { Check, Copy, Plus, ShieldCheck, Trash2 } from '@lucide/svelte';
@@ -169,7 +170,24 @@
169
170
  {#snippet primary()}
170
171
  <div class="svadmin-u-b3542e058833">
171
172
  <SettingsGroup title={i18n.t('api.activeKeysTitle')} description={i18n.t('api.activeKeysDesc')} bodyClass="p-0">
172
- {#if loading}<DataState state="loading" />{:else if error}<DataState state="error" description={error} retry={loadCredentials} />{:else}<ApiKeyList class="svadmin-u-0c5e9137c7de svadmin-u-119b2aa0b8f6" keys={keys.map((key) => ({ id: key.id, name: key.name, prefix: key.prefix, createdAt: new Date(key.createdAt).toLocaleString(), lastUsedAt: key.lastUsedAt ? new Date(key.lastUsedAt).toLocaleString() : undefined, permissions: key.permissions }))} stateTitle={i18n.t('api.noKeys')} stateDescription={credentialProvider ? i18n.t('api.generateDesc') : (isZh ? '配置 CredentialProvider 后可管理真实凭据。' : 'Configure CredentialProvider to manage real credentials.')} onrevoke={credentialProvider ? (key) => revokeKey(key.id) : undefined} />{/if}
173
+ {#if loading}
174
+ <DataState state="loading" />
175
+ {:else if error}
176
+ <DataState state="error" description={error} retry={loadCredentials} />
177
+ {:else}
178
+ <ApiKeyList
179
+ class="svadmin-u-0c5e9137c7de svadmin-u-119b2aa0b8f6"
180
+ keys={keys.map((key) => definedOptions({
181
+ id: key.id, name: key.name, prefix: key.prefix,
182
+ createdAt: new Date(key.createdAt).toLocaleString(),
183
+ lastUsedAt: key.lastUsedAt ? new Date(key.lastUsedAt).toLocaleString() : undefined,
184
+ permissions: key.permissions,
185
+ }))}
186
+ stateTitle={i18n.t('api.noKeys')}
187
+ stateDescription={credentialProvider ? i18n.t('api.generateDesc') : (isZh ? '配置 CredentialProvider 后可管理真实凭据。' : 'Configure CredentialProvider to manage real credentials.')}
188
+ {...definedOptions({ onrevoke: credentialProvider ? (key: { id: string }) => revokeKey(key.id) : undefined })}
189
+ />
190
+ {/if}
173
191
  </SettingsGroup>
174
192
  <SettingsGroup title={i18n.t('api.webhooks')} description={i18n.t('api.webhooksDesc')} bodyClass="space-y-5">
175
193
  <form class="svadmin-u-f3c543ad5fe9 svadmin-u-7e0b7cdf1a94 svadmin-u-0c3bc98565dd svadmin-u-e4d6f343b9ff" onsubmit={handleAddWebhook}><div class="svadmin-u-6f7e013d6499"><Label for="webhook-name">{i18n.t('api.webhookName')}</Label><Input id="webhook-name" bind:value={newWebhookName} placeholder="Order Events" disabled={!credentialProvider || submitting} /></div><div class="svadmin-u-6f7e013d6499 svadmin-u-eea04c60c0ca"><Label for="webhook-url">{i18n.t('api.webhookUrl')}</Label><Input id="webhook-url" type="url" bind:value={newWebhookUrl} placeholder="https://api.example.com/hooks" disabled={!credentialProvider || submitting} /></div><div class="svadmin-u-6f7e013d6499"><Label for="webhook-event">{i18n.t('api.eventType')}</Label><select id="webhook-event" bind:value={newWebhookEvent} disabled={!credentialProvider || submitting} class="svadmin-u-60fbb7713999 svadmin-u-e7a768f922d2 svadmin-u-6da6a3c3f741 svadmin-u-421ac2be5045 svadmin-u-ca6bcd4b6f3f svadmin-u-e5795dad4d22 svadmin-u-e6f9e383a762 svadmin-u-0e17f2bd9074 svadmin-u-03b4dd7f172b svadmin-u-fc7473ca09eb svadmin-u-582e6ef4b245 svadmin-u-55d048ebfb1c svadmin-u-608dd26cd5ba svadmin-u-80b9d0ae125f svadmin-u-6b22a22a9752 svadmin-u-b29d8adbad2e"><option value="resource.created">resource.created</option><option value="resource.updated">resource.updated</option><option value="resource.deleted">resource.deleted</option><option value="auth.login">auth.login</option></select></div><div class="svadmin-u-60fbb7713999 svadmin-u-6f27f4f79e55"><Button type="submit" class="svadmin-u-6da6a3c3f741" disabled={!credentialProvider || submitting || !newWebhookName.trim() || !newWebhookUrl.trim()}><Plus class="svadmin-u-f7b5fa971871" />{i18n.t('api.addWebhook')}</Button></div></form>
@@ -1,5 +1,7 @@
1
1
  <script lang="ts">
2
- import { captureAdminContext, useTranslation } from '@svadmin/core';
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
4
+ import { captureAdminContext, useTranslation, withValidatedAuditProvider } from '@svadmin/core';
3
5
 
4
6
  import type { AuditEntry, AuditLogProvider } from '@svadmin/core';
5
7
  import * as Sheet from './ui/sheet/index.js';
@@ -16,6 +18,7 @@
16
18
 
17
19
  let logs = $state<AuditEntry[]>([]);
18
20
  let isLoading = $state(false);
21
+ let loadFailed = $state(false);
19
22
  let requestEpoch = 0;
20
23
 
21
24
  $effect(() => {
@@ -44,6 +47,7 @@
44
47
  cancelAuditRequest();
45
48
  logs = [];
46
49
  isLoading = false;
50
+ loadFailed = false;
47
51
  }
48
52
 
49
53
  async function loadAuditLogs(
@@ -54,10 +58,15 @@
54
58
  const epoch = requestEpoch;
55
59
  isLoading = true;
56
60
  try {
57
- const entries = await scopedProvider.get({ resource: scopedResource, meta: providerMeta });
61
+ const entries = await withValidatedAuditProvider(scopedProvider).get(
62
+ definedOptions({ resource: scopedResource, meta: providerMeta }),
63
+ );
58
64
  if (epoch === requestEpoch) logs = entries;
59
65
  } catch (error) {
60
- if (epoch === requestEpoch) console.error('[svadmin] Failed to fetch audit logs', error);
66
+ if (epoch === requestEpoch) {
67
+ loadFailed = true;
68
+ console.error('[svadmin] Failed to fetch audit logs', error);
69
+ }
61
70
  } finally {
62
71
  if (epoch === requestEpoch) isLoading = false;
63
72
  }
@@ -91,6 +100,8 @@
91
100
  <div class="svadmin-u-60fbb7713999 svadmin-u-86843cf1e227 svadmin-u-a1f611f027dd svadmin-u-bfa603190748">
92
101
  <Loader2 class="svadmin-u-f6fe902450dc svadmin-u-7ec10f86d9b1 svadmin-u-afbdd13a380e" />
93
102
  </div>
103
+ {:else if loadFailed}
104
+ <p role="alert">{i18n.t('common.error')}</p>
94
105
  {:else if logs.length === 0}
95
106
  <div class="svadmin-u-ca6bf63030aa svadmin-u-1100bef66e60">
96
107
  <History class="svadmin-u-ed8a5df7b2fb svadmin-u-2bbcfc3b5179 svadmin-u-0e12dc7de920 svadmin-u-106b502aac96 svadmin-u-1bb883263ed2" />