@svadmin/ui 0.72.0 → 0.74.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.
- package/README.md +62 -22
- package/THIRD_PARTY_NOTICES.md +52 -0
- package/dist/app.css +8488 -6297
- package/dist/app.theme.css +8514 -6374
- package/dist/class-properties.generated.d.ts +1 -0
- package/dist/class-properties.generated.js +2 -0
- package/dist/classnames.d.ts +8 -0
- package/dist/classnames.js +26 -0
- package/dist/component-registry.d.ts +14977 -0
- package/dist/component-registry.js +216 -0
- package/dist/components/AboutSettings.svelte +7 -1
- package/dist/components/AboutSettings.svelte.d.ts +4 -1
- package/dist/components/ActivityFeed.svelte +9 -3
- package/dist/components/ActivityFeed.svelte.d.ts +3 -0
- package/dist/components/AdminApp.svelte +19 -10
- package/dist/components/AdminApp.svelte.d.ts +6 -0
- package/dist/components/ApiSettings.svelte +41 -5
- package/dist/components/ApprovalCenter.svelte +283 -0
- package/dist/components/ApprovalCenter.svelte.d.ts +10 -0
- package/dist/components/AuditLogViewer.svelte +3 -1
- package/dist/components/AutoForm.svelte +53 -9
- package/dist/components/AutoForm.svelte.d.ts +3 -0
- package/dist/components/AutoTable.svelte +846 -43
- package/dist/components/AutoTable.svelte.d.ts +22 -1
- package/dist/components/BoundRecordDetailDrawer.svelte +17 -2
- package/dist/components/BoundRecordDetailDrawer.svelte.d.ts +4 -0
- package/dist/components/Breadcrumbs.svelte +11 -1
- package/dist/components/CancelTaskButton.svelte +12 -42
- package/dist/components/ColorPicker.svelte +73 -0
- package/dist/components/ColorPicker.svelte.d.ts +15 -0
- package/dist/components/ComboboxField.svelte +143 -34
- package/dist/components/ComboboxField.svelte.d.ts +4 -2
- package/dist/components/CreatePage.svelte +4 -0
- package/dist/components/CreatePage.svelte.d.ts +2 -0
- package/dist/components/DashboardView.svelte +99 -0
- package/dist/components/DashboardView.svelte.d.ts +14 -0
- package/dist/components/DatePicker.svelte +10 -0
- package/dist/components/DatePicker.svelte.d.ts +6 -0
- package/dist/components/DateRangeInput.svelte +155 -0
- package/dist/components/DateRangeInput.svelte.d.ts +35 -0
- package/dist/components/DateRangePicker.svelte +10 -0
- package/dist/components/DateRangePicker.svelte.d.ts +6 -0
- package/dist/components/DateTimeInput.svelte +134 -0
- package/dist/components/DateTimeInput.svelte.d.ts +27 -0
- package/dist/components/DateTimePicker.svelte +10 -0
- package/dist/components/DateTimePicker.svelte.d.ts +6 -0
- package/dist/components/DevTools.svelte +36 -28
- package/dist/components/DevframePanel.svelte +123 -0
- package/dist/components/DevframePanel.svelte.d.ts +3 -0
- package/dist/components/EditPage.svelte +4 -0
- package/dist/components/EditPage.svelte.d.ts +2 -0
- package/dist/components/ErrorSummary.svelte +52 -0
- package/dist/components/ErrorSummary.svelte.d.ts +14 -0
- package/dist/components/FieldRenderer.svelte +172 -99
- package/dist/components/FileUpload.svelte +412 -0
- package/dist/components/FileUpload.svelte.d.ts +43 -0
- package/dist/components/FilterBuilder.svelte +244 -265
- package/dist/components/FilterBuilder.svelte.d.ts +3 -0
- package/dist/components/FilterCollectionInput.svelte +80 -0
- package/dist/components/FilterCollectionInput.svelte.d.ts +10 -0
- package/dist/components/GanttChart.svelte +66 -14
- package/dist/components/GanttChart.svelte.d.ts +6 -0
- package/dist/components/Header.svelte +18 -2
- package/dist/components/ImportWizard.svelte +509 -100
- package/dist/components/ImportWizard.svelte.d.ts +11 -0
- package/dist/components/JsonSchemaForm.svelte +322 -98
- package/dist/components/JsonSchemaForm.svelte.d.ts +18 -1
- package/dist/components/KanbanBoard.svelte +195 -40
- package/dist/components/KanbanBoard.svelte.d.ts +9 -2
- package/dist/components/Layout.svelte +4 -3
- package/dist/components/LazyAutoForm.svelte +28 -0
- package/dist/components/LazyAutoForm.svelte.d.ts +8 -0
- package/dist/components/LazyAutoTable.svelte +28 -0
- package/dist/components/LazyAutoTable.svelte.d.ts +8 -0
- package/dist/components/LazySettingsPage.svelte +28 -0
- package/dist/components/LazySettingsPage.svelte.d.ts +8 -0
- package/dist/components/LazyShowPage.svelte +28 -0
- package/dist/components/LazyShowPage.svelte.d.ts +8 -0
- package/dist/components/LazyTaskQueueDrawer.svelte.d.ts +1 -1
- package/dist/components/ListPage.svelte +9 -1
- package/dist/components/ListPage.svelte.d.ts +5 -0
- package/dist/components/LoginPage.svelte +2 -2
- package/dist/components/MoneyInput.svelte +25 -0
- package/dist/components/MoneyInput.svelte.d.ts +20 -0
- package/dist/components/MultiTabKeepAlive.svelte +11 -6
- package/dist/components/NotificationsSettings.svelte +69 -2
- package/dist/components/NotificationsSettings.svelte.d.ts +25 -1
- package/dist/components/NumberInput.svelte +25 -0
- package/dist/components/NumberInput.svelte.d.ts +19 -0
- package/dist/components/NumericInput.svelte +110 -0
- package/dist/components/NumericInput.svelte.d.ts +23 -0
- package/dist/components/PercentInput.svelte +25 -0
- package/dist/components/PercentInput.svelte.d.ts +20 -0
- package/dist/components/PermissionMatrix.svelte +20 -1
- package/dist/components/PivotExportButton.svelte +157 -0
- package/dist/components/PivotExportButton.svelte.d.ts +16 -0
- package/dist/components/PivotTable.svelte +229 -74
- package/dist/components/PivotTable.svelte.d.ts +19 -2
- package/dist/components/QuickEditDrawer.svelte +4 -1
- package/dist/components/QuickEditDrawer.svelte.d.ts +2 -0
- package/dist/components/RadioGroup.svelte +121 -0
- package/dist/components/RadioGroup.svelte.d.ts +43 -0
- package/dist/components/RangeSlider.svelte +127 -0
- package/dist/components/RangeSlider.svelte.d.ts +22 -0
- package/dist/components/Rate.svelte +121 -0
- package/dist/components/Rate.svelte.d.ts +16 -0
- package/dist/components/RecordDetailDrawer.svelte +6 -2
- package/dist/components/RecordDetailDrawer.svelte.d.ts +4 -0
- package/dist/components/RelationPicker.svelte +341 -0
- package/dist/components/RelationPicker.svelte.d.ts +26 -0
- package/dist/components/ResourceOperationsPage.svelte +25 -19
- package/dist/components/ResourceOperationsPage.svelte.d.ts +5 -1
- package/dist/components/RetryTaskButton.svelte +12 -42
- package/dist/components/SecuritySettings.svelte +29 -5
- package/dist/components/SegmentedControl.svelte +145 -0
- package/dist/components/SegmentedControl.svelte.d.ts +38 -0
- package/dist/components/SettingsPage.svelte +3 -1
- package/dist/components/SettingsPage.svelte.d.ts +1 -0
- package/dist/components/ShowInferencer.svelte +4 -2
- package/dist/components/ShowInferencer.svelte.d.ts +2 -0
- package/dist/components/ShowPage.svelte +25 -6
- package/dist/components/ShowPage.svelte.d.ts +5 -0
- package/dist/components/Sidebar.svelte +5 -5
- package/dist/components/Slider.svelte +100 -0
- package/dist/components/Slider.svelte.d.ts +19 -0
- package/dist/components/SpreadsheetView.svelte +1037 -124
- package/dist/components/SpreadsheetView.svelte.d.ts +19 -0
- package/dist/components/StepsForm.svelte +5 -5
- package/dist/components/SvarAutoTable.svelte +39 -0
- package/dist/components/SvarAutoTable.svelte.d.ts +13 -0
- package/dist/components/SvarDataGrid.svelte +362 -0
- package/dist/components/SvarDataGrid.svelte.d.ts +57 -0
- package/dist/components/SvarGridCell.svelte +10 -0
- package/dist/components/SvarGridCell.svelte.d.ts +7 -0
- package/dist/components/SvarResourceRead.svelte +50 -0
- package/dist/components/SvarResourceRead.svelte.d.ts +23 -0
- package/dist/components/SvarResourceTable.svelte +63 -0
- package/dist/components/SvarResourceTable.svelte.d.ts +42 -0
- package/dist/components/SvarResourceTableView.svelte +364 -0
- package/dist/components/SvarResourceTableView.svelte.d.ts +4 -0
- package/dist/components/TagsInput.svelte +178 -0
- package/dist/components/TagsInput.svelte.d.ts +17 -0
- package/dist/components/TaskQueueDrawer.svelte +72 -16
- package/dist/components/TimePicker.svelte +10 -0
- package/dist/components/TimePicker.svelte.d.ts +6 -0
- package/dist/components/TreeSelect.svelte +440 -46
- package/dist/components/TreeSelect.svelte.d.ts +6 -1
- package/dist/components/TreeTable.svelte +484 -82
- package/dist/components/TreeTable.svelte.d.ts +24 -1
- package/dist/components/TwoFactorAuthPage.svelte +85 -48
- package/dist/components/TwoFactorAuthPage.svelte.d.ts +12 -1
- package/dist/components/VirtualTable.svelte +116 -20
- package/dist/components/VirtualTable.svelte.d.ts +5 -0
- package/dist/components/account/CompanyProfilePage.svelte +74 -38
- package/dist/components/account/GetStartedPage.svelte +2 -1
- package/dist/components/account/ImportMembersPage.svelte +22 -167
- package/dist/components/account/ImportMembersPage.svelte.d.ts +4 -1
- package/dist/components/account/MemberDirectory.svelte +156 -0
- package/dist/components/account/MemberDirectory.svelte.d.ts +19 -0
- package/dist/components/account/MembersStarterPage.svelte +9 -55
- package/dist/components/account/MembersStarterPage.svelte.d.ts +5 -1
- package/dist/components/account/SecurityLogPage.svelte +4 -1
- package/dist/components/account/SettingsPlainPage.svelte +7 -38
- package/dist/components/account/SettingsPlainPage.svelte.d.ts +4 -1
- package/dist/components/account/SettingsSidebarPage.svelte +7 -20
- package/dist/components/account/TeamMembersPage.svelte +4 -20
- package/dist/components/account/TeamMembersPage.svelte.d.ts +5 -1
- package/dist/components/account/UserProfilePage.svelte +3 -25
- package/dist/components/account/UserProfilePage.svelte.d.ts +17 -2
- package/dist/components/auto-table-grid.d.ts +26 -0
- package/dist/components/auto-table-grid.js +1 -0
- package/dist/components/buttons/ExportButton.svelte +56 -12
- package/dist/components/buttons/ExportButton.svelte.d.ts +11 -0
- package/dist/components/content/ContentPageHeader.svelte +12 -9
- package/dist/components/content/ContentPageShell.svelte +6 -9
- package/dist/components/content/FileBrowser.svelte +35 -0
- package/dist/components/content/FileBrowser.svelte.d.ts +14 -0
- package/dist/components/content/MetricBlock.svelte +10 -13
- package/dist/components/content/NetworkTable.svelte +3 -3
- package/dist/components/content/NetworkTable.svelte.d.ts +1 -0
- package/dist/components/content/PageToolbar.svelte +6 -10
- package/dist/components/content/ReferenceNotice.svelte +5 -0
- package/dist/components/content/ReferenceNotice.svelte.d.ts +18 -0
- package/dist/components/content/SectionHeader.svelte +8 -13
- package/dist/components/content/SettingsFieldRow.svelte +9 -23
- package/dist/components/content/SettingsGroup.svelte +11 -27
- package/dist/components/content/StatusBadge.svelte +3 -8
- package/dist/components/content/WorkspaceLayout.svelte +8 -12
- package/dist/components/enterprise/filter-tree.d.ts +48 -0
- package/dist/components/enterprise/filter-tree.js +224 -0
- package/dist/components/enterprise/json-schema-form.d.ts +39 -0
- package/dist/components/enterprise/json-schema-form.js +195 -0
- package/dist/components/enterprise/recursive-schema-form.d.ts +30 -0
- package/dist/components/enterprise/recursive-schema-form.js +196 -0
- package/dist/components/enterprise/spreadsheet-formula.d.ts +12 -0
- package/dist/components/enterprise/spreadsheet-formula.js +245 -0
- package/dist/components/export-reference.d.ts +2 -0
- package/dist/components/export-reference.js +9 -0
- package/dist/components/fieldComponentMap.js +2 -0
- package/dist/components/fields/DateField.svelte +12 -12
- package/dist/components/fields/date-display.d.ts +6 -0
- package/dist/components/fields/date-display.js +24 -0
- package/dist/components/fields/date-field-value.d.ts +2 -0
- package/dist/components/fields/date-field-value.js +13 -0
- package/dist/components/json-schema-form-state.d.ts +37 -0
- package/dist/components/json-schema-form-state.js +168 -0
- package/dist/components/network/TeamCrewTablePage.svelte +6 -1
- package/dist/components/network/UserCardsNFTPage.svelte +2 -0
- package/dist/components/profile/PublicProfilePage.svelte +2 -0
- package/dist/components/record-detail.svelte.d.ts +3 -0
- package/dist/components/record-detail.svelte.js +10 -4
- package/dist/components/saved-list-views.d.ts +74 -1
- package/dist/components/saved-list-views.js +191 -3
- package/dist/components/svar-grid-cells.d.ts +14 -0
- package/dist/components/svar-grid-cells.js +2 -0
- package/dist/components/svar-grid-contract.d.ts +80 -0
- package/dist/components/svar-grid-contract.js +159 -0
- package/dist/components/svar-grid-interactions.d.ts +54 -0
- package/dist/components/svar-grid-interactions.js +174 -0
- package/dist/components/svar-grid-loading.d.ts +40 -0
- package/dist/components/svar-grid-loading.js +180 -0
- package/dist/components/svar-grid-operations.d.ts +37 -0
- package/dist/components/svar-grid-operations.js +186 -0
- package/dist/components/svar-grid-panes.d.ts +34 -0
- package/dist/components/svar-grid-panes.js +66 -0
- package/dist/components/svar-grid-resource-loading.d.ts +18 -0
- package/dist/components/svar-grid-resource-loading.js +68 -0
- package/dist/components/svar-grid-resource-session.svelte.d.ts +29 -0
- package/dist/components/svar-grid-resource-session.svelte.js +61 -0
- package/dist/components/table-contract.d.ts +12 -1
- package/dist/components/task-action.svelte.d.ts +13 -0
- package/dist/components/task-action.svelte.js +73 -0
- package/dist/components/ui/DesignSystemShowcase.svelte +164 -0
- package/dist/components/ui/DesignSystemShowcase.svelte.d.ts +3 -0
- package/dist/components/ui/badge/badge-variants.d.ts +3 -2
- package/dist/components/ui/badge/badge-variants.js +2 -1
- package/dist/components/ui/badge/badge.svelte +3 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +1 -0
- package/dist/components/ui/button/button-variants.d.ts +5 -4
- package/dist/components/ui/button/button-variants.js +7 -2
- package/dist/components/ui/checkbox/checkbox.svelte +5 -1
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +5 -1
- package/dist/components/ui/input/input.svelte +8 -6
- package/dist/components/ui/input/input.svelte.d.ts +4 -1
- package/dist/components/ui/select/select.svelte +4 -1
- package/dist/components/ui/select/select.svelte.d.ts +2 -1
- package/dist/components/ui/textarea/textarea.svelte +2 -1
- package/dist/components.css +3110 -0
- package/dist/date-input-policy.d.ts +4 -0
- package/dist/date-input-policy.js +35 -0
- package/dist/design-contract.d.ts +13 -0
- package/dist/design-contract.js +11 -0
- package/dist/design-system-components.d.ts +100 -0
- package/dist/design-system-components.js +101 -0
- package/dist/design-system.d.ts +15 -0
- package/dist/design-system.js +7 -0
- package/dist/devtools-bridge.d.ts +80 -0
- package/dist/devtools-bridge.js +92 -0
- package/dist/index.d.ts +50 -1
- package/dist/index.js +32 -2
- package/dist/page-chrome.css +12 -49
- package/dist/recipes.d.ts +960 -0
- package/dist/recipes.js +264 -0
- package/dist/rendering/index.d.ts +87 -0
- package/dist/rendering/index.js +117 -0
- package/dist/styles/aliases.css +49 -0
- package/dist/styles/compatibility.epilogue.css +384 -0
- package/dist/styles/compatibility.prelude.css +5513 -0
- package/dist/styles/conditional-states.css +28 -0
- package/dist/styles/conditional-utilities.css +22 -0
- package/dist/tree-table-model.d.ts +24 -0
- package/dist/tree-table-model.js +111 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +40 -10
- package/styles-compatibility.json +12 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type DateInputMode = 'date' | 'time' | 'datetime';
|
|
2
|
+
/** 仅接受无时区原生输入值,不让 Date 的宽松解析改写日历含义。 */
|
|
3
|
+
export declare function dateInputNumber(value: string, mode: DateInputMode): number | undefined;
|
|
4
|
+
export declare function dateInputAllowed(value: string, mode: DateInputMode, min?: string, max?: string, disabledDate?: (date: string) => boolean): boolean;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** 仅接受无时区原生输入值,不让 Date 的宽松解析改写日历含义。 */
|
|
2
|
+
export function dateInputNumber(value, mode) {
|
|
3
|
+
const day = '\\d{4}-\\d{2}-\\d{2}';
|
|
4
|
+
const time = '\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?';
|
|
5
|
+
if (!new RegExp(`^${mode === 'date' ? day : mode === 'time' ? time : `${day}T${time}`}$`).test(value))
|
|
6
|
+
return;
|
|
7
|
+
const source = mode === 'date' ? `${value}T00:00` : mode === 'time' ? `2000-01-01T${value}` : value;
|
|
8
|
+
const [date, clock = ''] = source.split('T');
|
|
9
|
+
if (date?.startsWith('0000-'))
|
|
10
|
+
return;
|
|
11
|
+
const [hours, minutes, seconds = '00'] = clock.split(':');
|
|
12
|
+
const [wholeSeconds, fraction = ''] = seconds.split('.');
|
|
13
|
+
const canonical = `${date}T${hours}:${minutes}:${wholeSeconds}.${fraction.padEnd(3, '0')}Z`;
|
|
14
|
+
const parsed = new Date(canonical);
|
|
15
|
+
if (!Number.isFinite(parsed.getTime()) || parsed.toISOString() !== canonical)
|
|
16
|
+
return;
|
|
17
|
+
return parsed.getTime();
|
|
18
|
+
}
|
|
19
|
+
export function dateInputAllowed(value, mode, min, max, disabledDate) {
|
|
20
|
+
const number = dateInputNumber(value, mode);
|
|
21
|
+
if (number === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
const lower = min === undefined ? undefined : dateInputNumber(min, mode);
|
|
24
|
+
const upper = max === undefined ? undefined : dateInputNumber(max, mode);
|
|
25
|
+
if ((min !== undefined && lower === undefined) || (max !== undefined && upper === undefined))
|
|
26
|
+
return false;
|
|
27
|
+
if ((lower !== undefined && number < lower) || (upper !== undefined && number > upper))
|
|
28
|
+
return false;
|
|
29
|
+
try {
|
|
30
|
+
return mode === 'time' || !disabledDate?.(value.slice(0, 10));
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** 仅公开稳定语义;不向模型暴露 CSS、类名或内部 recipe 实现。 */
|
|
2
|
+
export declare const surfaceDesignContract: {
|
|
3
|
+
readonly version: "svadmin/design-v1";
|
|
4
|
+
readonly metric: {
|
|
5
|
+
readonly tone: readonly ["neutral", "success", "warning", "danger", "info"];
|
|
6
|
+
readonly density: readonly ["comfortable", "compact"];
|
|
7
|
+
};
|
|
8
|
+
readonly table: {
|
|
9
|
+
readonly density: readonly ["comfortable", "compact"];
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export type SurfaceTone = typeof surfaceDesignContract.metric.tone[number];
|
|
13
|
+
export type SurfaceDensity = typeof surfaceDesignContract.metric.density[number];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** 仅公开稳定语义;不向模型暴露 CSS、类名或内部 recipe 实现。 */
|
|
2
|
+
export const surfaceDesignContract = {
|
|
3
|
+
version: 'svadmin/design-v1',
|
|
4
|
+
metric: {
|
|
5
|
+
tone: ['neutral', 'success', 'warning', 'danger', 'info'],
|
|
6
|
+
density: ['comfortable', 'compact'],
|
|
7
|
+
},
|
|
8
|
+
table: {
|
|
9
|
+
density: ['comfortable', 'compact'],
|
|
10
|
+
},
|
|
11
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export type DesignComponentState = "default" | "hover" | "focus" | "disabled" | "loading" | "error" | "readonly" | "open" | "closed" | "boundary" | "empty" | "filtered-empty" | "forbidden" | "success" | "warning" | "danger" | "neutral" | "active" | "inactive" | "checked" | "unchecked" | "mixed" | "focus-restore" | "overflow" | "value";
|
|
2
|
+
export type DesignComponentContract = {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
codePath: string;
|
|
6
|
+
codeExport: string;
|
|
7
|
+
states: readonly DesignComponentState[];
|
|
8
|
+
themes: readonly ["light", "dark"];
|
|
9
|
+
sizes: readonly ["default", "compact"];
|
|
10
|
+
};
|
|
11
|
+
export declare const designSystemComponents: readonly [{
|
|
12
|
+
readonly id: "ui.button";
|
|
13
|
+
readonly name: "Button";
|
|
14
|
+
readonly codePath: "packages/ui/src/components/ui/button/index.ts";
|
|
15
|
+
readonly codeExport: "Button";
|
|
16
|
+
readonly states: readonly ["default", "hover", "focus", "disabled", "loading"];
|
|
17
|
+
readonly themes: readonly ["light", "dark"];
|
|
18
|
+
readonly sizes: readonly ["default", "compact"];
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: "ui.input";
|
|
21
|
+
readonly name: "Input";
|
|
22
|
+
readonly codePath: "packages/ui/src/components/ui/input/index.ts";
|
|
23
|
+
readonly codeExport: "Input";
|
|
24
|
+
readonly states: readonly ["empty", "value", "focus", "disabled", "error", "readonly"];
|
|
25
|
+
readonly themes: readonly ["light", "dark"];
|
|
26
|
+
readonly sizes: readonly ["default", "compact"];
|
|
27
|
+
}, {
|
|
28
|
+
readonly id: "ui.select";
|
|
29
|
+
readonly name: "Select";
|
|
30
|
+
readonly codePath: "packages/ui/src/components/ui/select/index.ts";
|
|
31
|
+
readonly codeExport: "Select";
|
|
32
|
+
readonly states: readonly ["empty", "value", "focus", "disabled", "error"];
|
|
33
|
+
readonly themes: readonly ["light", "dark"];
|
|
34
|
+
readonly sizes: readonly ["default", "compact"];
|
|
35
|
+
}, {
|
|
36
|
+
readonly id: "ui.checkbox";
|
|
37
|
+
readonly name: "Checkbox";
|
|
38
|
+
readonly codePath: "packages/ui/src/components/ui/checkbox/index.ts";
|
|
39
|
+
readonly codeExport: "Checkbox";
|
|
40
|
+
readonly states: readonly ["unchecked", "checked", "focus", "disabled", "mixed"];
|
|
41
|
+
readonly themes: readonly ["light", "dark"];
|
|
42
|
+
readonly sizes: readonly ["default", "compact"];
|
|
43
|
+
}, {
|
|
44
|
+
readonly id: "ui.tabs";
|
|
45
|
+
readonly name: "Tabs";
|
|
46
|
+
readonly codePath: "packages/ui/src/components/ui/tabs/index.ts";
|
|
47
|
+
readonly codeExport: "Tabs";
|
|
48
|
+
readonly states: readonly ["active", "inactive", "focus", "disabled"];
|
|
49
|
+
readonly themes: readonly ["light", "dark"];
|
|
50
|
+
readonly sizes: readonly ["default", "compact"];
|
|
51
|
+
}, {
|
|
52
|
+
readonly id: "ui.badge";
|
|
53
|
+
readonly name: "Badge";
|
|
54
|
+
readonly codePath: "packages/ui/src/components/ui/badge/index.ts";
|
|
55
|
+
readonly codeExport: "Badge";
|
|
56
|
+
readonly states: readonly ["success", "warning", "danger", "neutral"];
|
|
57
|
+
readonly themes: readonly ["light", "dark"];
|
|
58
|
+
readonly sizes: readonly ["default", "compact"];
|
|
59
|
+
}, {
|
|
60
|
+
readonly id: "ui.menu";
|
|
61
|
+
readonly name: "Menu";
|
|
62
|
+
readonly codePath: "packages/ui/src/components/ui/dropdown-menu/index.ts";
|
|
63
|
+
readonly codeExport: "DropdownMenu";
|
|
64
|
+
readonly states: readonly ["closed", "open", "focus", "overflow"];
|
|
65
|
+
readonly themes: readonly ["light", "dark"];
|
|
66
|
+
readonly sizes: readonly ["default", "compact"];
|
|
67
|
+
}, {
|
|
68
|
+
readonly id: "ui.dialog";
|
|
69
|
+
readonly name: "Dialog";
|
|
70
|
+
readonly codePath: "packages/ui/src/components/ui/dialog/index.ts";
|
|
71
|
+
readonly codeExport: "Dialog";
|
|
72
|
+
readonly states: readonly ["closed", "open", "focus-restore", "overflow"];
|
|
73
|
+
readonly themes: readonly ["light", "dark"];
|
|
74
|
+
readonly sizes: readonly ["default", "compact"];
|
|
75
|
+
}, {
|
|
76
|
+
readonly id: "ui.tooltip";
|
|
77
|
+
readonly name: "Tooltip";
|
|
78
|
+
readonly codePath: "packages/ui/src/components/ui/tooltip/index.ts";
|
|
79
|
+
readonly codeExport: "Tooltip";
|
|
80
|
+
readonly states: readonly ["closed", "open", "boundary"];
|
|
81
|
+
readonly themes: readonly ["light", "dark"];
|
|
82
|
+
readonly sizes: readonly ["default", "compact"];
|
|
83
|
+
}, {
|
|
84
|
+
readonly id: "ui.table";
|
|
85
|
+
readonly name: "Table";
|
|
86
|
+
readonly codePath: "packages/ui/src/components/ui/table/index.ts";
|
|
87
|
+
readonly codeExport: "Table";
|
|
88
|
+
readonly states: readonly ["loading", "default", "empty", "filtered-empty", "error", "forbidden"];
|
|
89
|
+
readonly themes: readonly ["light", "dark"];
|
|
90
|
+
readonly sizes: readonly ["default", "compact"];
|
|
91
|
+
}, {
|
|
92
|
+
readonly id: "ui.status-badge";
|
|
93
|
+
readonly name: "StatusBadge";
|
|
94
|
+
readonly codePath: "packages/ui/src/components/content/StatusBadge.svelte";
|
|
95
|
+
readonly codeExport: "StatusBadge";
|
|
96
|
+
readonly states: readonly ["success", "warning", "danger", "neutral"];
|
|
97
|
+
readonly themes: readonly ["light", "dark"];
|
|
98
|
+
readonly sizes: readonly ["default", "compact"];
|
|
99
|
+
}];
|
|
100
|
+
export type DesignComponentId = (typeof designSystemComponents)[number]["id"];
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export const designSystemComponents = [
|
|
2
|
+
{
|
|
3
|
+
id: "ui.button",
|
|
4
|
+
name: "Button",
|
|
5
|
+
codePath: "packages/ui/src/components/ui/button/index.ts",
|
|
6
|
+
codeExport: "Button",
|
|
7
|
+
states: ["default", "hover", "focus", "disabled", "loading"],
|
|
8
|
+
themes: ["light", "dark"],
|
|
9
|
+
sizes: ["default", "compact"],
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "ui.input",
|
|
13
|
+
name: "Input",
|
|
14
|
+
codePath: "packages/ui/src/components/ui/input/index.ts",
|
|
15
|
+
codeExport: "Input",
|
|
16
|
+
states: ["empty", "value", "focus", "disabled", "error", "readonly"],
|
|
17
|
+
themes: ["light", "dark"],
|
|
18
|
+
sizes: ["default", "compact"],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "ui.select",
|
|
22
|
+
name: "Select",
|
|
23
|
+
codePath: "packages/ui/src/components/ui/select/index.ts",
|
|
24
|
+
codeExport: "Select",
|
|
25
|
+
states: ["empty", "value", "focus", "disabled", "error"],
|
|
26
|
+
themes: ["light", "dark"],
|
|
27
|
+
sizes: ["default", "compact"],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "ui.checkbox",
|
|
31
|
+
name: "Checkbox",
|
|
32
|
+
codePath: "packages/ui/src/components/ui/checkbox/index.ts",
|
|
33
|
+
codeExport: "Checkbox",
|
|
34
|
+
states: ["unchecked", "checked", "focus", "disabled", "mixed"],
|
|
35
|
+
themes: ["light", "dark"],
|
|
36
|
+
sizes: ["default", "compact"],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "ui.tabs",
|
|
40
|
+
name: "Tabs",
|
|
41
|
+
codePath: "packages/ui/src/components/ui/tabs/index.ts",
|
|
42
|
+
codeExport: "Tabs",
|
|
43
|
+
states: ["active", "inactive", "focus", "disabled"],
|
|
44
|
+
themes: ["light", "dark"],
|
|
45
|
+
sizes: ["default", "compact"],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "ui.badge",
|
|
49
|
+
name: "Badge",
|
|
50
|
+
codePath: "packages/ui/src/components/ui/badge/index.ts",
|
|
51
|
+
codeExport: "Badge",
|
|
52
|
+
states: ["success", "warning", "danger", "neutral"],
|
|
53
|
+
themes: ["light", "dark"],
|
|
54
|
+
sizes: ["default", "compact"],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "ui.menu",
|
|
58
|
+
name: "Menu",
|
|
59
|
+
codePath: "packages/ui/src/components/ui/dropdown-menu/index.ts",
|
|
60
|
+
codeExport: "DropdownMenu",
|
|
61
|
+
states: ["closed", "open", "focus", "overflow"],
|
|
62
|
+
themes: ["light", "dark"],
|
|
63
|
+
sizes: ["default", "compact"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "ui.dialog",
|
|
67
|
+
name: "Dialog",
|
|
68
|
+
codePath: "packages/ui/src/components/ui/dialog/index.ts",
|
|
69
|
+
codeExport: "Dialog",
|
|
70
|
+
states: ["closed", "open", "focus-restore", "overflow"],
|
|
71
|
+
themes: ["light", "dark"],
|
|
72
|
+
sizes: ["default", "compact"],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "ui.tooltip",
|
|
76
|
+
name: "Tooltip",
|
|
77
|
+
codePath: "packages/ui/src/components/ui/tooltip/index.ts",
|
|
78
|
+
codeExport: "Tooltip",
|
|
79
|
+
states: ["closed", "open", "boundary"],
|
|
80
|
+
themes: ["light", "dark"],
|
|
81
|
+
sizes: ["default", "compact"],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "ui.table",
|
|
85
|
+
name: "Table",
|
|
86
|
+
codePath: "packages/ui/src/components/ui/table/index.ts",
|
|
87
|
+
codeExport: "Table",
|
|
88
|
+
states: ["loading", "default", "empty", "filtered-empty", "error", "forbidden"],
|
|
89
|
+
themes: ["light", "dark"],
|
|
90
|
+
sizes: ["default", "compact"],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: "ui.status-badge",
|
|
94
|
+
name: "StatusBadge",
|
|
95
|
+
codePath: "packages/ui/src/components/content/StatusBadge.svelte",
|
|
96
|
+
codeExport: "StatusBadge",
|
|
97
|
+
states: ["success", "warning", "danger", "neutral"],
|
|
98
|
+
themes: ["light", "dark"],
|
|
99
|
+
sizes: ["default", "compact"],
|
|
100
|
+
},
|
|
101
|
+
];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SurfaceTone, SurfaceDensity } from "./design-contract.js";
|
|
2
|
+
export declare function metricSurfaceClasses(tone?: SurfaceTone): {
|
|
3
|
+
state: string;
|
|
4
|
+
description: string;
|
|
5
|
+
root: string;
|
|
6
|
+
card: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function tableSurfaceClasses(density?: SurfaceDensity): {
|
|
9
|
+
state: string;
|
|
10
|
+
content: string;
|
|
11
|
+
head: string;
|
|
12
|
+
header: string;
|
|
13
|
+
root: string;
|
|
14
|
+
cell: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { surfaceMetricRecipe as surfaceMetric, surfaceTableRecipe as surfaceTable } from "./recipes.js";
|
|
2
|
+
export function metricSurfaceClasses(tone = "neutral") {
|
|
3
|
+
return surfaceMetric({ tone });
|
|
4
|
+
}
|
|
5
|
+
export function tableSurfaceClasses(density = "comfortable") {
|
|
6
|
+
return surfaceTable({ density });
|
|
7
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { DevtoolsQueryDiagnostic, SvadminDevtoolsSnapshot } from '@svadmin/devtools-contract';
|
|
2
|
+
export declare const SVADMIN_DEVFRAME_CHANNEL = "svadmin:devtools";
|
|
3
|
+
export type { DevtoolsCacheDiagnostics, DevtoolsProviderDiagnostic, DevtoolsQueryDiagnostic, SvadminDevtoolsSnapshot, } from '@svadmin/devtools-contract';
|
|
4
|
+
export type SvadminDevtoolsBridge = {
|
|
5
|
+
getSnapshot: () => SvadminDevtoolsSnapshot | null;
|
|
6
|
+
subscribe: (listener: (snapshot: SvadminDevtoolsSnapshot) => void) => () => void;
|
|
7
|
+
cache: {
|
|
8
|
+
cancel: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
9
|
+
invalidate: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
10
|
+
refetch: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
11
|
+
remove: (selector?: DevtoolsQuerySelector) => void;
|
|
12
|
+
reset: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
13
|
+
clear: () => void;
|
|
14
|
+
clearMutations: () => void;
|
|
15
|
+
};
|
|
16
|
+
devframe: {
|
|
17
|
+
channelName: typeof SVADMIN_DEVFRAME_CHANNEL;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export type DevtoolsQuerySelector = Partial<Pick<DevtoolsQueryDiagnostic, 'provider' | 'resource' | 'operation'>>;
|
|
21
|
+
type QueryClientLike = {
|
|
22
|
+
getQueryCache: () => {
|
|
23
|
+
getAll: () => Array<{
|
|
24
|
+
queryKey: readonly unknown[];
|
|
25
|
+
queryHash: string;
|
|
26
|
+
}>;
|
|
27
|
+
clear: () => void;
|
|
28
|
+
};
|
|
29
|
+
invalidateQueries: (filters: {
|
|
30
|
+
queryKey?: readonly unknown[];
|
|
31
|
+
}) => Promise<void>;
|
|
32
|
+
cancelQueries: (filters: {
|
|
33
|
+
queryKey?: readonly unknown[];
|
|
34
|
+
}) => Promise<void>;
|
|
35
|
+
refetchQueries: (filters: {
|
|
36
|
+
queryKey?: readonly unknown[];
|
|
37
|
+
}) => Promise<void>;
|
|
38
|
+
removeQueries: (filters: {
|
|
39
|
+
queryKey?: readonly unknown[];
|
|
40
|
+
}) => void;
|
|
41
|
+
resetQueries: (filters: {
|
|
42
|
+
queryKey?: readonly unknown[];
|
|
43
|
+
}) => Promise<void>;
|
|
44
|
+
getMutationCache: () => {
|
|
45
|
+
clear: () => void;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export type SvadminDevframeProtocol = {
|
|
49
|
+
functions: {
|
|
50
|
+
pageScript: {
|
|
51
|
+
getSnapshot: () => SvadminDevtoolsSnapshot | null;
|
|
52
|
+
cacheCancel: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
53
|
+
cacheInvalidate: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
54
|
+
cacheRefetch: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
55
|
+
cacheRemove: (selector?: DevtoolsQuerySelector) => void;
|
|
56
|
+
cacheReset: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
57
|
+
cacheClear: () => void;
|
|
58
|
+
clearMutations: () => void;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
export declare function publishSvadminDevtoolsSnapshot(next: SvadminDevtoolsSnapshot): void;
|
|
63
|
+
export declare function getSvadminDevtoolsSnapshot(): SvadminDevtoolsSnapshot | null;
|
|
64
|
+
export declare function subscribeSvadminDevtools(listener: (next: SvadminDevtoolsSnapshot) => void): () => void;
|
|
65
|
+
export declare function attachSvadminDevtoolsQueryClient(client: QueryClientLike): void;
|
|
66
|
+
export declare function createSvadminDevtoolsCacheActions(): {
|
|
67
|
+
cancel: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
68
|
+
invalidate: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
69
|
+
refetch: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
70
|
+
remove: (selector?: DevtoolsQuerySelector) => void;
|
|
71
|
+
reset: (selector?: DevtoolsQuerySelector) => Promise<void>;
|
|
72
|
+
clear: () => void;
|
|
73
|
+
clearMutations: () => void | undefined;
|
|
74
|
+
};
|
|
75
|
+
export declare function installSvadminDevtoolsBridge(): void;
|
|
76
|
+
declare global {
|
|
77
|
+
interface Window {
|
|
78
|
+
__SVADMIN_DEVTOOLS__?: SvadminDevtoolsBridge;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { parseQueryKey } from '@svadmin/core';
|
|
2
|
+
import { createPageScriptChannel } from 'devframe/in-page-channel';
|
|
3
|
+
import { DEV } from 'esm-env';
|
|
4
|
+
export const SVADMIN_DEVFRAME_CHANNEL = 'svadmin:devtools';
|
|
5
|
+
const listeners = new Set();
|
|
6
|
+
let snapshot = null;
|
|
7
|
+
let queryClient = null;
|
|
8
|
+
let devframeChannel = null;
|
|
9
|
+
export function publishSvadminDevtoolsSnapshot(next) {
|
|
10
|
+
snapshot = next;
|
|
11
|
+
for (const listener of listeners)
|
|
12
|
+
listener(next);
|
|
13
|
+
}
|
|
14
|
+
export function getSvadminDevtoolsSnapshot() {
|
|
15
|
+
return snapshot;
|
|
16
|
+
}
|
|
17
|
+
export function subscribeSvadminDevtools(listener) {
|
|
18
|
+
listeners.add(listener);
|
|
19
|
+
if (snapshot)
|
|
20
|
+
listener(snapshot);
|
|
21
|
+
return () => listeners.delete(listener);
|
|
22
|
+
}
|
|
23
|
+
function matchesSelector(query, selector) {
|
|
24
|
+
if (!selector || Object.keys(selector).length === 0)
|
|
25
|
+
return true;
|
|
26
|
+
const descriptor = parseQueryKey(query.queryKey);
|
|
27
|
+
if (!descriptor)
|
|
28
|
+
return false;
|
|
29
|
+
const operation = `${descriptor.kind}:${descriptor.action ?? 'call'}`;
|
|
30
|
+
return (selector.provider === undefined || selector.provider === descriptor.provider)
|
|
31
|
+
&& (selector.resource === undefined || selector.resource === descriptor.resource)
|
|
32
|
+
&& (selector.operation === undefined || selector.operation === operation);
|
|
33
|
+
}
|
|
34
|
+
function matchingQueryKeys(selector) {
|
|
35
|
+
return (queryClient?.getQueryCache().getAll() ?? [])
|
|
36
|
+
.filter((query) => matchesSelector(query, selector))
|
|
37
|
+
.map((query) => query.queryKey);
|
|
38
|
+
}
|
|
39
|
+
function withMatchingQueries(operation, selector) {
|
|
40
|
+
return Promise.all(matchingQueryKeys(selector).map((queryKey) => operation(queryKey))).then(() => undefined);
|
|
41
|
+
}
|
|
42
|
+
export function attachSvadminDevtoolsQueryClient(client) {
|
|
43
|
+
queryClient = client;
|
|
44
|
+
}
|
|
45
|
+
export function createSvadminDevtoolsCacheActions() {
|
|
46
|
+
return {
|
|
47
|
+
cancel: (selector) => withMatchingQueries((queryKey) => queryClient?.cancelQueries({ queryKey }), selector),
|
|
48
|
+
invalidate: (selector) => withMatchingQueries((queryKey) => queryClient?.invalidateQueries({ queryKey }), selector),
|
|
49
|
+
refetch: (selector) => withMatchingQueries((queryKey) => queryClient?.refetchQueries({ queryKey }), selector),
|
|
50
|
+
remove: (selector) => {
|
|
51
|
+
for (const queryKey of matchingQueryKeys(selector))
|
|
52
|
+
queryClient?.removeQueries({ queryKey });
|
|
53
|
+
},
|
|
54
|
+
reset: (selector) => withMatchingQueries((queryKey) => queryClient?.resetQueries({ queryKey }), selector),
|
|
55
|
+
clear: () => {
|
|
56
|
+
queryClient?.getQueryCache().clear();
|
|
57
|
+
},
|
|
58
|
+
clearMutations: () => queryClient?.getMutationCache().clear(),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export function installSvadminDevtoolsBridge() {
|
|
62
|
+
if (typeof window === 'undefined' || !DEV)
|
|
63
|
+
return;
|
|
64
|
+
if (!devframeChannel) {
|
|
65
|
+
const cache = createSvadminDevtoolsCacheActions();
|
|
66
|
+
devframeChannel = createPageScriptChannel({
|
|
67
|
+
name: SVADMIN_DEVFRAME_CHANNEL,
|
|
68
|
+
functions: {
|
|
69
|
+
getSnapshot: { type: 'query', handler: getSvadminDevtoolsSnapshot },
|
|
70
|
+
cacheCancel: { type: 'action', handler: cache.cancel },
|
|
71
|
+
cacheInvalidate: { type: 'action', handler: cache.invalidate },
|
|
72
|
+
cacheRefetch: { type: 'action', handler: cache.refetch },
|
|
73
|
+
cacheRemove: { type: 'action', handler: cache.remove },
|
|
74
|
+
cacheReset: { type: 'action', handler: cache.reset },
|
|
75
|
+
cacheClear: { type: 'action', handler: cache.clear },
|
|
76
|
+
clearMutations: { type: 'action', handler: cache.clearMutations },
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const bridge = {
|
|
81
|
+
getSnapshot: getSvadminDevtoolsSnapshot,
|
|
82
|
+
subscribe: subscribeSvadminDevtools,
|
|
83
|
+
cache: createSvadminDevtoolsCacheActions(),
|
|
84
|
+
devframe: { channelName: SVADMIN_DEVFRAME_CHANNEL },
|
|
85
|
+
};
|
|
86
|
+
Object.defineProperty(window, '__SVADMIN_DEVTOOLS__', {
|
|
87
|
+
configurable: true,
|
|
88
|
+
enumerable: false,
|
|
89
|
+
value: bridge,
|
|
90
|
+
writable: false,
|
|
91
|
+
});
|
|
92
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
|
+
export { surfaceDesignContract } from "./design-contract.js";
|
|
2
|
+
export type { SurfaceTone, SurfaceDensity } from "./design-contract.js";
|
|
3
|
+
export { designSystemComponents, type DesignComponentContract, type DesignComponentId, type DesignComponentState, } from "./design-system-components.js";
|
|
4
|
+
export { metricSurfaceClasses, tableSurfaceClasses } from "./design-system.js";
|
|
1
5
|
export { default as AdminApp } from './components/AdminApp.svelte';
|
|
2
6
|
export { default as AutoTable } from './components/AutoTable.svelte';
|
|
7
|
+
export { default as SegmentedControl } from './components/SegmentedControl.svelte';
|
|
8
|
+
export type { SegmentedControlOption } from './components/SegmentedControl.svelte';
|
|
9
|
+
export { default as RadioGroup } from './components/RadioGroup.svelte';
|
|
10
|
+
export type { RadioGroupOption } from './components/RadioGroup.svelte';
|
|
11
|
+
export { default as TagsInput } from './components/TagsInput.svelte';
|
|
12
|
+
export { default as Slider } from './components/Slider.svelte';
|
|
13
|
+
export { default as RangeSlider } from './components/RangeSlider.svelte';
|
|
14
|
+
export type { RangeSliderValue } from './components/RangeSlider.svelte';
|
|
15
|
+
export { default as ColorPicker } from './components/ColorPicker.svelte';
|
|
16
|
+
export { default as Rate } from './components/Rate.svelte';
|
|
17
|
+
export { default as PivotExportButton } from './components/PivotExportButton.svelte';
|
|
18
|
+
export type { PivotCache } from '@svadmin/core/pivot';
|
|
19
|
+
export { decodeSavedListViewMutationResult, decodeSavedListViewRemoveResult, decodeSavedListViewAccess, } from './components/saved-list-views.js';
|
|
20
|
+
export type { SavedListView, SavedListViewState, SavedListViewProvider, SavedListViewMutation, SavedListViewMutationSuccess, SavedListViewMutationConflict, SavedListViewRemoveSuccess, ListPreferenceScope, SavedListViewAccess, SavedListViewAccessMode, SavedListViewSubject, } from './components/saved-list-views.js';
|
|
21
|
+
export type { BatchSelection } from './components/table-contract.js';
|
|
3
22
|
export { default as AutoForm } from './components/AutoForm.svelte';
|
|
4
23
|
export { default as ShowPage } from './components/ShowPage.svelte';
|
|
5
24
|
export { default as ConfirmDialog } from './components/ConfirmDialog.svelte';
|
|
@@ -28,6 +47,9 @@ export { default as CanAccess } from './components/CanAccess.svelte';
|
|
|
28
47
|
export { default as Can } from './components/CanAccess.svelte';
|
|
29
48
|
export { default as UndoableNotification } from './components/UndoableNotification.svelte';
|
|
30
49
|
export { default as DevTools } from './components/DevTools.svelte';
|
|
50
|
+
export { default as DevframePanel } from './components/DevframePanel.svelte';
|
|
51
|
+
export { attachSvadminDevtoolsQueryClient, createSvadminDevtoolsCacheActions, getSvadminDevtoolsSnapshot, installSvadminDevtoolsBridge, publishSvadminDevtoolsSnapshot, subscribeSvadminDevtools, SVADMIN_DEVFRAME_CHANNEL, } from './devtools-bridge.js';
|
|
52
|
+
export type { DevtoolsCacheDiagnostics, DevtoolsProviderDiagnostic, DevtoolsQueryDiagnostic, SvadminDevtoolsBridge, SvadminDevtoolsSnapshot, DevtoolsQuerySelector, SvadminDevframeProtocol, } from './devtools-bridge.js';
|
|
31
53
|
export { default as Authenticated } from './components/Authenticated.svelte';
|
|
32
54
|
export { default as UpdatePasswordPage } from './components/UpdatePasswordPage.svelte';
|
|
33
55
|
export { default as ProfilePage } from './components/ProfilePage.svelte';
|
|
@@ -44,6 +66,8 @@ export { default as CreatePage } from './components/CreatePage.svelte';
|
|
|
44
66
|
export { default as EditPage } from './components/EditPage.svelte';
|
|
45
67
|
export { default as AutoSaveIndicator } from './components/AutoSaveIndicator.svelte';
|
|
46
68
|
export { default as ErrorComponent } from './components/ErrorComponent.svelte';
|
|
69
|
+
export { default as ErrorSummary } from './components/ErrorSummary.svelte';
|
|
70
|
+
export type { FormErrorEntry } from './components/ErrorSummary.svelte';
|
|
47
71
|
export { default as PageSkeleton } from './components/PageSkeleton.svelte';
|
|
48
72
|
export { default as NavigateToResource } from './components/NavigateToResource.svelte';
|
|
49
73
|
export { default as CatchAllNavigate } from './components/CatchAllNavigate.svelte';
|
|
@@ -67,10 +91,13 @@ export { default as ImportWizard } from './components/ImportWizard.svelte';
|
|
|
67
91
|
export { default as ColumnHeaderFilter } from './components/ColumnHeaderFilter.svelte';
|
|
68
92
|
export { default as TreeTable } from './components/TreeTable.svelte';
|
|
69
93
|
export type { TreeTableColumn } from './components/TreeTable.svelte';
|
|
94
|
+
export type { TreeTableSort } from './tree-table-model.js';
|
|
70
95
|
export { default as SensitiveDataMask } from './components/SensitiveDataMask.svelte';
|
|
71
96
|
export type { MaskType } from './components/SensitiveDataMask.svelte';
|
|
72
97
|
export { default as ApprovalActionCard } from './components/ApprovalActionCard.svelte';
|
|
73
98
|
export type { ApprovalStatus } from './components/ApprovalActionCard.svelte';
|
|
99
|
+
export { default as ApprovalCenter } from './components/ApprovalCenter.svelte';
|
|
100
|
+
export { default as DashboardView } from './components/DashboardView.svelte';
|
|
74
101
|
export { default as StepForm } from './components/StepForm.svelte';
|
|
75
102
|
export type { FormStep } from './components/StepForm.svelte';
|
|
76
103
|
export { default as ModalForm } from './components/ModalForm.svelte';
|
|
@@ -112,14 +139,32 @@ export { default as SignaturePad } from './components/SignaturePad.svelte';
|
|
|
112
139
|
export { default as PdfDocumentViewer } from './components/PdfDocumentViewer.svelte';
|
|
113
140
|
export type { DocumentStamp } from './components/PdfDocumentViewer.svelte';
|
|
114
141
|
export { default as SpreadsheetView } from './components/SpreadsheetView.svelte';
|
|
115
|
-
export type { SheetData } from './components/SpreadsheetView.svelte';
|
|
142
|
+
export type { SheetData, SpreadsheetLimits } from './components/SpreadsheetView.svelte';
|
|
116
143
|
export { default as DecisionTable } from './components/DecisionTable.svelte';
|
|
117
144
|
export type { DecisionColumn, DecisionRule } from './components/DecisionTable.svelte';
|
|
118
145
|
export { default as OfflineSyncBanner } from './components/OfflineSyncBanner.svelte';
|
|
119
146
|
export type { PendingMutation } from './components/OfflineSyncBanner.svelte';
|
|
120
147
|
export { default as InfiniteList } from './components/InfiniteList.svelte';
|
|
121
148
|
export { default as ComboboxField } from './components/ComboboxField.svelte';
|
|
149
|
+
export { default as RelationPicker } from './components/RelationPicker.svelte';
|
|
150
|
+
export type { RelationPickerOption } from './components/RelationPicker.svelte';
|
|
122
151
|
export { default as PasswordInput } from './components/PasswordInput.svelte';
|
|
152
|
+
export { default as NumericInput } from './components/NumericInput.svelte';
|
|
153
|
+
export { default as NumberInput } from './components/NumberInput.svelte';
|
|
154
|
+
export { default as MoneyInput } from './components/MoneyInput.svelte';
|
|
155
|
+
export { default as PercentInput } from './components/PercentInput.svelte';
|
|
156
|
+
export { default as DateTimeInput } from './components/DateTimeInput.svelte';
|
|
157
|
+
export type { DateTimeInputMode } from './components/DateTimeInput.svelte';
|
|
158
|
+
export { default as DateRangeInput } from './components/DateRangeInput.svelte';
|
|
159
|
+
export type { DateRangeInputValue, DateRangePreset } from './components/DateRangeInput.svelte';
|
|
160
|
+
export { default as DatePicker } from './components/DatePicker.svelte';
|
|
161
|
+
export type { DatePickerProps } from './components/DatePicker.svelte';
|
|
162
|
+
export { default as DateRangePicker } from './components/DateRangePicker.svelte';
|
|
163
|
+
export type { DateRangePickerProps } from './components/DateRangePicker.svelte';
|
|
164
|
+
export { default as TimePicker } from './components/TimePicker.svelte';
|
|
165
|
+
export type { TimePickerProps } from './components/TimePicker.svelte';
|
|
166
|
+
export { default as DateTimePicker } from './components/DateTimePicker.svelte';
|
|
167
|
+
export type { DateTimePickerProps } from './components/DateTimePicker.svelte';
|
|
123
168
|
export { default as AnomalyBadge } from "./components/AnomalyBadge.svelte";
|
|
124
169
|
export { default as AnimatedCounter } from "./components/AnimatedCounter.svelte";
|
|
125
170
|
export { default as KeyboardShortcuts } from "./components/KeyboardShortcuts.svelte";
|
|
@@ -266,6 +311,8 @@ export type { SecurityEvent } from './components/content/SecurityEventTable.svel
|
|
|
266
311
|
export { default as MemberList } from './components/content/MemberList.svelte';
|
|
267
312
|
export type { MemberSummary } from './components/content/MemberList.svelte';
|
|
268
313
|
export { default as ImportDropzone } from './components/content/ImportDropzone.svelte';
|
|
314
|
+
export { default as FileUpload } from './components/FileUpload.svelte';
|
|
315
|
+
export type { UploadItem, UploadItemStatus, UploadSession } from './components/FileUpload.svelte';
|
|
269
316
|
export { default as NetworkUserCard } from './components/content/NetworkUserCard.svelte';
|
|
270
317
|
export type { NetworkUser, NetworkMetric } from './components/content/NetworkUserCard.svelte';
|
|
271
318
|
export { default as NetworkTable } from './components/content/NetworkTable.svelte';
|
|
@@ -292,3 +339,5 @@ export type { RatingSize } from './components/fields/RatingField.svelte';
|
|
|
292
339
|
export type { CurrencyTone } from './components/fields/CurrencyField.svelte';
|
|
293
340
|
export { default as MediaThumbnail } from './components/content/MediaThumbnail.svelte';
|
|
294
341
|
export type { MediaThumbnailSize, MediaThumbnailFit } from './components/content/MediaThumbnail.svelte';
|
|
342
|
+
export { default as FileBrowser } from './components/content/FileBrowser.svelte';
|
|
343
|
+
export type { FileBrowserData, FileBrowserInit, FileBrowserMenuOptions, FileBrowserProps } from './components/content/FileBrowser.svelte';
|