@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
@@ -2,24 +2,29 @@
2
2
  import { cn, type WithElementRef } from "../../../utils.js";
3
3
  import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
4
4
  import {
5
- buttonVariants as variants,
6
- type ButtonSize as Size,
7
- type ButtonVariant as Variant,
5
+ buttonVariants as resolveButtonVariants,
6
+ type ButtonSize as ButtonSizeValue,
7
+ type ButtonVariant as ButtonVariantValue,
8
8
  } from "./button-variants.js";
9
9
 
10
- export const buttonVariants = variants;
11
- export type ButtonSize = Size;
12
- export type ButtonVariant = Variant;
10
+ export { buttonVariants, type ButtonSize, type ButtonVariant } from "./button-variants.js";
13
11
 
14
- export type ButtonProps = WithElementRef<HTMLButtonAttributes, HTMLButtonElement> &
15
- WithElementRef<HTMLAnchorAttributes, HTMLAnchorElement> & {
16
- variant?: ButtonVariant;
17
- size?: ButtonSize;
12
+ export type ButtonProps = WithElementRef<
13
+ HTMLButtonAttributes & HTMLAnchorAttributes,
14
+ HTMLButtonElement | HTMLAnchorElement
15
+ > & {
16
+ variant?: ButtonVariantValue;
17
+ size?: ButtonSizeValue;
18
+ disabledReason?: string;
19
+ restrictionClass?: string;
20
+ restrictionStyle?: string;
18
21
  };
19
22
  </script>
20
23
 
21
24
  <script lang="ts">
22
- /* eslint-disable no-useless-assignment, @typescript-eslint/no-explicit-any */
25
+ import * as Tooltip from "../tooltip/index.js";
26
+
27
+ const uid = $props.id();
23
28
  let {
24
29
  class: className,
25
30
  variant = "default",
@@ -28,45 +33,96 @@
28
33
  href = undefined,
29
34
  type = "button",
30
35
  disabled,
36
+ disabledReason = "",
37
+ restrictionClass,
38
+ restrictionStyle,
31
39
  children,
40
+ "aria-describedby": ariaDescribedBy,
32
41
  ...restProps
33
42
  }: ButtonProps = $props();
34
43
 
35
- let anchorRef: HTMLAnchorElement | null = $state(null);
36
- let buttonRef: HTMLButtonElement | null = $state(null);
44
+ const restriction = $derived((disabledReason ?? "").trim());
45
+ const isDisabled = $derived(Boolean(disabled || restriction));
46
+ const restrictionId = `svadmin-button-restriction-${uid}`;
47
+ const describedBy = $derived(
48
+ [ariaDescribedBy, restriction ? restrictionId : ""].filter(Boolean).join(" ") || undefined,
49
+ );
37
50
 
38
- $effect(() => {
39
- if (href && anchorRef) ref = anchorRef as any;
40
- else if (!href && buttonRef) ref = buttonRef as any;
41
- });
51
+ function restrictionTriggerProps(props: Record<string, unknown>): Record<string, unknown> {
52
+ const next = { ...props };
53
+ delete next['type'];
54
+ delete next['role'];
55
+ delete next['disabled'];
56
+ delete next['href'];
57
+ return next;
58
+ }
42
59
  </script>
43
60
 
44
- {#if href}
45
- <a
46
- bind:this={anchorRef}
47
- data-slot="button"
48
- data-variant={variant}
49
- data-size={size}
50
- class={cn(buttonVariants({ variant, size }), className)}
51
- href={disabled ? undefined : href}
52
- aria-disabled={disabled}
53
- role={disabled ? "link" : undefined}
54
- tabindex={disabled ? -1 : undefined}
55
- {...restProps}
56
- >
57
- {@render children?.()}
58
- </a>
61
+ {#snippet control()}
62
+ {#if href}
63
+ <a
64
+ bind:this={ref}
65
+ data-slot="button"
66
+ data-variant={variant}
67
+ data-size={size}
68
+ class={cn(resolveButtonVariants({ variant, size }), className)}
69
+ href={isDisabled ? undefined : href}
70
+ aria-disabled={isDisabled ? true : undefined}
71
+ role={isDisabled ? "link" : undefined}
72
+ tabindex={isDisabled ? -1 : undefined}
73
+ aria-describedby={describedBy}
74
+ {...restProps}
75
+ onclick={(event) => {
76
+ if (isDisabled) {
77
+ event.preventDefault();
78
+ event.stopImmediatePropagation();
79
+ return;
80
+ }
81
+ restProps.onclick?.(event);
82
+ }}
83
+ >
84
+ {@render children?.()}
85
+ </a>
86
+ {:else}
87
+ <button
88
+ bind:this={ref}
89
+ data-slot="button"
90
+ data-variant={variant}
91
+ data-size={size}
92
+ class={cn(resolveButtonVariants({ variant, size }), className)}
93
+ {type}
94
+ disabled={isDisabled}
95
+ aria-describedby={describedBy}
96
+ {...restProps}
97
+ >
98
+ {@render children?.()}
99
+ </button>
100
+ {/if}
101
+ {/snippet}
102
+
103
+ {#if restriction}
104
+ <Tooltip.Root>
105
+ <Tooltip.Trigger>
106
+ {#snippet child({ props })}
107
+ {@const triggerProps = restrictionTriggerProps(props as Record<string, unknown>)}
108
+ <span
109
+ {...triggerProps}
110
+ data-slot="button-restriction"
111
+ data-disabled-reason={restriction}
112
+ role="group"
113
+ aria-label={restProps["aria-label"]}
114
+ aria-labelledby={restProps["aria-labelledby"]}
115
+ class={restrictionClass}
116
+ style={`display: inline-flex; max-width: 100%; ${restrictionStyle ?? ""}`}
117
+ aria-describedby={[triggerProps["aria-describedby"], describedBy].filter(Boolean).join(" ") || undefined}
118
+ >
119
+ {@render control()}
120
+ <span id={restrictionId} class="svadmin-sr-only">{restriction}</span>
121
+ </span>
122
+ {/snippet}
123
+ </Tooltip.Trigger>
124
+ <Tooltip.Content side="top" sideOffset={6}>{restriction}</Tooltip.Content>
125
+ </Tooltip.Root>
59
126
  {:else}
60
- <button
61
- bind:this={buttonRef}
62
- data-slot="button"
63
- data-variant={variant}
64
- data-size={size}
65
- class={cn(buttonVariants({ variant, size }), className)}
66
- {type}
67
- {disabled}
68
- {...restProps}
69
- >
70
- {@render children?.()}
71
- </button>
127
+ {@render control()}
72
128
  {/if}
@@ -1,17 +1,13 @@
1
1
  import { type WithElementRef } from "../../../utils.js";
2
2
  import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements";
3
- import { type ButtonSize as Size, type ButtonVariant as Variant } from "./button-variants.js";
4
- export declare const buttonVariants: ({ variant, size, class: className, className: extraClassName, }?: {
5
- variant?: Variant | null;
6
- size?: Size | null;
7
- class?: Parameters<(...inputs: import("cn").ClassValue[]) => string>[number];
8
- className?: Parameters<(...inputs: import("cn").ClassValue[]) => string>[number];
9
- }) => string;
10
- export type ButtonSize = Size;
11
- export type ButtonVariant = Variant;
12
- export type ButtonProps = WithElementRef<HTMLButtonAttributes, HTMLButtonElement> & WithElementRef<HTMLAnchorAttributes, HTMLAnchorElement> & {
13
- variant?: ButtonVariant;
14
- size?: ButtonSize;
3
+ import { type ButtonSize as ButtonSizeValue, type ButtonVariant as ButtonVariantValue } from "./button-variants.js";
4
+ export { buttonVariants, type ButtonSize, type ButtonVariant } from "./button-variants.js";
5
+ export type ButtonProps = WithElementRef<HTMLButtonAttributes & HTMLAnchorAttributes, HTMLButtonElement | HTMLAnchorElement> & {
6
+ variant?: ButtonVariantValue;
7
+ size?: ButtonSizeValue;
8
+ disabledReason?: string;
9
+ restrictionClass?: string;
10
+ restrictionStyle?: string;
15
11
  };
16
12
  declare const Button: import("svelte").Component<ButtonProps, {}, "ref">;
17
13
  type Button = ReturnType<typeof Button>;
@@ -1,5 +1,3 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- // @ts-nocheck
3
1
  import Root, { buttonVariants, } from "./button.svelte";
4
2
  export { Root,
5
3
  //
@@ -1,4 +1,6 @@
1
1
  <script lang="ts">
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
2
4
  import { Command as CommandPrimitive, Dialog as DialogPrimitive } from 'bits-ui';
3
5
  import Root from './command.svelte';
4
6
  import * as Dialog from '../dialog/index.js';
@@ -24,7 +26,7 @@
24
26
  }: Props = $props();
25
27
  </script>
26
28
 
27
- <Dialog.Dialog bind:open {onOpenChange} {onOpenChangeComplete}>
29
+ <Dialog.Dialog bind:open {...definedOptions({ "onOpenChange": onOpenChange })} {...definedOptions({ "onOpenChangeComplete": onOpenChangeComplete })}>
28
30
  <Dialog.DialogContent
29
31
  data-cmdk-dialog=""
30
32
  class="svadmin-command-dialog-content"
@@ -6,6 +6,6 @@ type Props = Omit<CommandPrimitive.RootProps, 'children' | 'value'> & Omit<Dialo
6
6
  class?: string;
7
7
  children?: Snippet;
8
8
  };
9
- declare const CommandDialog: import("svelte").Component<Props, {}, "value" | "open">;
9
+ declare const CommandDialog: import("svelte").Component<Props, {}, "open" | "value">;
10
10
  type CommandDialog = ReturnType<typeof CommandDialog>;
11
11
  export default CommandDialog;
@@ -1,4 +1,6 @@
1
1
  <script lang="ts">
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
2
4
  import { Command as CommandPrimitive } from "bits-ui";
3
5
  import { cn } from "../../../utils.js";
4
6
 
@@ -22,8 +24,8 @@
22
24
  data-slot="command-group"
23
25
  data-cmdk-group=""
24
26
  class={cn("svadmin-command-group", className)}
25
- value={value ?? heading}
26
- forceMount={alwaysRender ?? forceMount}
27
+ {...definedOptions({ "value": value ?? heading })}
28
+ {...definedOptions({ "forceMount": alwaysRender ?? forceMount })}
27
29
  {...restProps}
28
30
  >
29
31
  {#if heading}
@@ -1,4 +1,6 @@
1
1
  <script lang="ts">
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
2
4
  import { Command as CommandPrimitive } from "bits-ui";
3
5
  import { cn } from "../../../utils.js";
4
6
  import type { Snippet } from "svelte";
@@ -22,7 +24,7 @@
22
24
  }: Props = $props();
23
25
 
24
26
  function handleSelect() {
25
- onSelect?.(value || ref?.dataset.value || ref?.textContent?.trim() || "");
27
+ onSelect?.(value || ref?.dataset['value'] || ref?.textContent?.trim() || "");
26
28
  }
27
29
  </script>
28
30
 
@@ -32,7 +34,7 @@
32
34
  data-cmdk-item=""
33
35
  class={cn("svadmin-command-item", className)}
34
36
  {value}
35
- forceMount={alwaysRender ?? forceMount}
37
+ {...definedOptions({ "forceMount": alwaysRender ?? forceMount })}
36
38
  onSelect={handleSelect}
37
39
  {...restProps}
38
40
  >
@@ -1,4 +1,6 @@
1
1
  <script lang="ts">
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
2
4
  import { Command as CommandPrimitive } from "bits-ui";
3
5
  import { cn } from "../../../utils.js";
4
6
 
@@ -18,6 +20,6 @@
18
20
  data-slot="command-separator"
19
21
  data-cmdk-separator=""
20
22
  class={cn("svadmin-command-separator", className)}
21
- forceMount={alwaysRender ?? forceMount}
23
+ {...definedOptions({ "forceMount": alwaysRender ?? forceMount })}
22
24
  {...restProps}
23
25
  />
@@ -14,7 +14,7 @@ declare const Command: {
14
14
  value?: string;
15
15
  class?: string;
16
16
  children?: import("svelte").Snippet;
17
- }, {}, "value" | "open">;
17
+ }, {}, "open" | "value">;
18
18
  Empty: import("svelte").Component<import("bits-ui").CommandEmptyProps, {}, "ref">;
19
19
  Group: import("svelte").Component<Omit<{
20
20
  value?: string;
@@ -22,8 +22,8 @@ declare const Command: {
22
22
  }, "children" | "child"> & {
23
23
  child?: import("svelte").Snippet<[{
24
24
  props: Record<string, unknown>;
25
- }]> | undefined;
26
- children?: import("svelte").Snippet<[]> | undefined;
25
+ }]>;
26
+ children?: import("svelte").Snippet<[]>;
27
27
  style?: import("bits-ui").StyleProperties | string | null | undefined;
28
28
  ref?: HTMLElement | null | undefined;
29
29
  } & import("bits-ui").Without<import("bits-ui").BitsPrimitiveDivAttributes, import("bits-ui").CommandGroupPropsWithoutHTML> & {
@@ -44,8 +44,8 @@ declare const Command: {
44
44
  }, "children" | "child"> & {
45
45
  child?: import("svelte").Snippet<[{
46
46
  props: Record<string, unknown>;
47
- }]> | undefined;
48
- children?: import("svelte").Snippet<[]> | undefined;
47
+ }]>;
48
+ children?: import("svelte").Snippet<[]>;
49
49
  style?: import("bits-ui").StyleProperties | string | null | undefined;
50
50
  ref?: HTMLElement | null | undefined;
51
51
  } & import("bits-ui").Without<import("bits-ui").BitsPrimitiveDivAttributes, import("bits-ui").CommandSeparatorPropsWithoutHTML> & {
@@ -3,53 +3,70 @@
3
3
  generics="Type extends HTMLInputTypeAttribute | undefined = undefined"
4
4
  >
5
5
  import type { HTMLInputAttributes, HTMLInputTypeAttribute } from "svelte/elements";
6
+ import { useTranslation } from "@svadmin/core/i18n";
7
+ import { definedOptions } from "@svadmin/core/options";
6
8
  import { cn, type WithElementRef } from "../../../utils.js";
7
9
 
8
- type InputValue = HTMLInputAttributes["value"];
10
+ type InputValue = Type extends "number" | "range"
11
+ ? number | null | undefined
12
+ : string | null | undefined;
9
13
 
10
- type Props = WithElementRef<
11
- Omit<HTMLInputAttributes, "type" | "value"> &
14
+ type Props = WithElementRef<Omit<HTMLInputAttributes, "type" | "value">> &
12
15
  (Type extends "file"
13
16
  ? { type: "file"; files?: FileList; value?: never }
14
- : { type?: Type; files?: undefined; value?: InputValue })
15
- >;
17
+ : { type?: Type; files?: undefined; value?: InputValue });
16
18
 
17
19
  let {
18
20
  ref = $bindable(null),
19
21
  value = $bindable(),
20
22
  type,
21
23
  files = $bindable(),
24
+ disabled,
22
25
  class: className,
23
26
  "data-slot": dataSlot = "input",
24
27
  ...restProps
25
28
  }: Props = $props();
26
29
 
30
+ const i18n = useTranslation();
27
31
  const isFileInput = $derived(type?.toLowerCase() === "file");
32
+ const isDateInput = $derived(["date", "datetime-local", "month", "week", "time"].includes(type?.toLowerCase() ?? ""));
33
+ const attributes = $derived(definedOptions({ ...restProps, disabled }));
34
+ const selectedFiles = $derived(files ? Array.from(files) : []);
35
+ const selectedFileLabel = $derived.by(() => {
36
+ const firstFile = selectedFiles[0];
37
+ if (firstFile === undefined) return i18n.t("common.noFileChosen");
38
+ if (selectedFiles.length === 1) return firstFile.name;
39
+ return i18n.t("common.filesSelected", { count: selectedFiles.length });
40
+ });
28
41
  </script>
29
42
 
30
43
  {#if isFileInput}
31
- <input
32
- bind:this={ref}
33
- data-slot={dataSlot}
34
- data-input-type="file"
35
- class={cn(
36
- "svadmin-input",
37
- className
38
- )}
39
- type="file"
40
- bind:files
41
- {...restProps}
42
- />
44
+ <div
45
+ class={cn("svadmin-file-input", className)}
46
+ data-disabled={disabled ? "true" : undefined}
47
+ >
48
+ <input
49
+ bind:this={ref}
50
+ data-slot={dataSlot}
51
+ data-input-type="file"
52
+ class={cn("svadmin-input", className)}
53
+ type="file"
54
+ bind:files
55
+ {...attributes}
56
+ />
57
+ <span class="svadmin-file-input__visual" aria-hidden="true">
58
+ <span class="svadmin-file-input__button">{i18n.t("common.chooseFile")}</span>
59
+ <span class="svadmin-file-input__name">{selectedFileLabel}</span>
60
+ </span>
61
+ </div>
43
62
  {:else}
44
63
  <input
45
64
  bind:this={ref}
46
65
  data-slot={dataSlot}
47
- class={cn(
48
- "svadmin-input",
49
- className
50
- )}
51
- {type}
52
- bind:value
53
- {...restProps}
66
+ class={cn("svadmin-input", className)}
67
+ {type}
68
+ lang={isDateInput ? i18n.locale : undefined}
69
+ bind:value
70
+ {...attributes}
54
71
  />
55
72
  {/if}
@@ -1,15 +1,16 @@
1
1
  import type { HTMLInputAttributes, HTMLInputTypeAttribute } from "svelte/elements";
2
- import { type WithElementRef } from "../../../utils.js";
3
2
  declare function $$render<Type extends HTMLInputTypeAttribute | undefined = undefined>(): {
4
- props: WithElementRef<Omit<HTMLInputAttributes, "type" | "value"> & (Type extends "file" ? {
3
+ props: Omit<HTMLInputAttributes, "type" | "value"> & {
4
+ ref?: HTMLElement | null;
5
+ } & (Type extends "file" ? {
5
6
  type: "file";
6
7
  files?: FileList;
7
8
  value?: never;
8
9
  } : {
9
10
  type?: Type;
10
11
  files?: undefined;
11
- value?: any;
12
- })>;
12
+ value?: Type extends "number" | "range" ? number | null | undefined : string | null | undefined;
13
+ });
13
14
  exports: {};
14
15
  bindings: "value" | "ref" | "files";
15
16
  slots: {};
@@ -50,6 +50,7 @@
50
50
  open?: boolean;
51
51
  side?: "left" | "right";
52
52
  onClose?: () => void;
53
+ onCloseRequest?: (close: () => void) => void;
53
54
  closeLabel?: string;
54
55
  };
55
56
 
@@ -58,6 +59,7 @@
58
59
  open = $bindable(false),
59
60
  side = "right",
60
61
  onClose,
62
+ onCloseRequest,
61
63
  closeLabel = "Close",
62
64
  class: className,
63
65
  tabindex = -1,
@@ -66,8 +68,12 @@
66
68
  }: Props = $props();
67
69
 
68
70
  function close() {
69
- open = false;
70
- onClose?.();
71
+ const commitClose = () => {
72
+ open = false;
73
+ onClose?.();
74
+ };
75
+ if (onCloseRequest) onCloseRequest(commitClose);
76
+ else commitClose();
71
77
  }
72
78
 
73
79
  function isContentEditableHost(element: HTMLElement) {
@@ -124,7 +130,7 @@
124
130
  last?.focus();
125
131
  } else if (!event.shiftKey && activeIndex === tabbable.length - 1) {
126
132
  event.preventDefault();
127
- first.focus();
133
+ first?.focus();
128
134
  }
129
135
  }
130
136
 
@@ -4,6 +4,7 @@ type Props = WithElementRef<HTMLAttributes<HTMLDivElement>> & {
4
4
  open?: boolean;
5
5
  side?: "left" | "right";
6
6
  onClose?: () => void;
7
+ onCloseRequest?: (close: () => void) => void;
7
8
  closeLabel?: string;
8
9
  };
9
10
  declare const Sheet: import("svelte").Component<Props, {}, "open" | "ref">;
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLTextareaAttributes } from "svelte/elements";
3
3
  import { cn, type WithElementRef } from "../../../utils.js";
4
+ import { uiTextarea } from "../../../styled-system/recipes/index.js";
4
5
 
5
6
  type Props = WithElementRef<HTMLTextareaAttributes, HTMLTextAreaElement>;
6
7
 
@@ -15,7 +16,7 @@
15
16
  <textarea
16
17
  bind:this={ref}
17
18
  data-slot="textarea"
18
- class={cn("svadmin-textarea", className)}
19
+ class={cn("svadmin-textarea", uiTextarea(), className)}
19
20
  bind:value
20
21
  {...restProps}
21
22
  ></textarea>
@@ -1,4 +1,6 @@
1
1
  <script lang="ts" generics="Payload = never">
2
+ import { definedOptions } from '@svadmin/core/options';
3
+
2
4
  import { Tooltip as TooltipPrimitive } from "bits-ui";
3
5
  import { onDestroy } from "svelte";
4
6
  import TooltipProvider from "./tooltip-provider.svelte";
@@ -62,8 +64,8 @@
62
64
  <TooltipPrimitive.Root
63
65
  bind:open
64
66
  bind:triggerId
65
- {disableHoverableContent}
66
- {onOpenChange}
67
+ {...definedOptions({ "disableHoverableContent": disableHoverableContent })}
68
+ {...definedOptions({ "onOpenChange": onOpenChange })}
67
69
  {tether}
68
70
  {...restProps}
69
71
  />