@iota-uz/sdk 0.7.0 → 0.9.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 +11 -0
- package/dist/client-host/identity.d.ts +4 -4
- package/dist/client-host/identity.js +2 -2
- package/dist/client-host/portal-host.d.ts +22 -0
- package/dist/client-host/portal-host.d.ts.map +1 -0
- package/dist/client-host/portal-host.js +118 -0
- package/dist/client-host/portals.d.ts +2 -2
- package/dist/client-host/portals.d.ts.map +1 -1
- package/dist/client-host/portals.js +13 -78
- package/dist/client-host/solid-index.d.ts +1 -0
- package/dist/client-host/solid-index.d.ts.map +1 -1
- package/dist/client-host/solid-index.js +1 -0
- package/dist/client-host/solid-portals.d.ts +27 -0
- package/dist/client-host/solid-portals.d.ts.map +1 -0
- package/dist/client-host/solid-portals.js +112 -0
- package/dist/client-host/solid.d.ts +15 -0
- package/dist/client-host/solid.d.ts.map +1 -1
- package/dist/client-host/solid.js +259 -16
- package/dist/sdk-identity.cjs +3 -3
- package/dist/sdk-identity.js +3 -3
- package/dist/sdk-identity.json +2 -2
- package/dist/solid-ui/charts/Chart.d.ts +33 -0
- package/dist/solid-ui/charts/Chart.d.ts.map +1 -0
- package/dist/solid-ui/data/Avatar.d.ts +19 -0
- package/dist/solid-ui/data/Avatar.d.ts.map +1 -0
- package/dist/solid-ui/data/DescriptionList.d.ts +20 -0
- package/dist/solid-ui/data/DescriptionList.d.ts.map +1 -0
- package/dist/solid-ui/data/EmptyState.d.ts +10 -0
- package/dist/solid-ui/data/EmptyState.d.ts.map +1 -0
- package/dist/solid-ui/data/LazyLoad.d.ts +38 -0
- package/dist/solid-ui/data/LazyLoad.d.ts.map +1 -0
- package/dist/solid-ui/data/Loader.d.ts +13 -0
- package/dist/solid-ui/data/Loader.d.ts.map +1 -0
- package/dist/solid-ui/data/Table.d.ts +37 -0
- package/dist/solid-ui/data/Table.d.ts.map +1 -0
- package/dist/solid-ui/display/Alert.d.ts +10 -0
- package/dist/solid-ui/display/Alert.d.ts.map +1 -0
- package/dist/solid-ui/display/Badge.d.ts +9 -0
- package/dist/solid-ui/display/Badge.d.ts.map +1 -0
- package/dist/solid-ui/display/Card.d.ts +10 -0
- package/dist/solid-ui/display/Card.d.ts.map +1 -0
- package/dist/solid-ui/display/Phone.d.ts +17 -0
- package/dist/solid-ui/display/Phone.d.ts.map +1 -0
- package/dist/solid-ui/display/Progress.d.ts +9 -0
- package/dist/solid-ui/display/Progress.d.ts.map +1 -0
- package/dist/solid-ui/display/Skeleton.d.ts +13 -0
- package/dist/solid-ui/display/Skeleton.d.ts.map +1 -0
- package/dist/solid-ui/display/Spinner.d.ts +7 -0
- package/dist/solid-ui/display/Spinner.d.ts.map +1 -0
- package/dist/solid-ui/fonts/Gilroy/Gilroy-Medium.woff2 +0 -0
- package/dist/solid-ui/fonts/Gilroy/Gilroy-Regular.woff2 +0 -0
- package/dist/solid-ui/fonts/Gilroy/Gilroy-Semibold.woff2 +0 -0
- package/dist/solid-ui/fonts/Inter.var.woff2 +0 -0
- package/dist/solid-ui/forms/Button.d.ts +28 -0
- package/dist/solid-ui/forms/Button.d.ts.map +1 -0
- package/dist/solid-ui/forms/Checkbox.d.ts +10 -0
- package/dist/solid-ui/forms/Checkbox.d.ts.map +1 -0
- package/dist/solid-ui/forms/Field.d.ts +16 -0
- package/dist/solid-ui/forms/Field.d.ts.map +1 -0
- package/dist/solid-ui/forms/Input.d.ts +47 -0
- package/dist/solid-ui/forms/Input.d.ts.map +1 -0
- package/dist/solid-ui/forms/Select.d.ts +19 -0
- package/dist/solid-ui/forms/Select.d.ts.map +1 -0
- package/dist/solid-ui/forms/Textarea.d.ts +11 -0
- package/dist/solid-ui/forms/Textarea.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/DateRangeClearButton.d.ts +8 -0
- package/dist/solid-ui/forms-advanced/DateRangeClearButton.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/PhoneInput.d.ts +4 -0
- package/dist/solid-ui/forms-advanced/PhoneInput.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/Radio.d.ts +24 -0
- package/dist/solid-ui/forms-advanced/Radio.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/Slider.d.ts +16 -0
- package/dist/solid-ui/forms-advanced/Slider.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/Switch.d.ts +12 -0
- package/dist/solid-ui/forms-advanced/Switch.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/Toggle.d.ts +22 -0
- package/dist/solid-ui/forms-advanced/Toggle.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/Upload.d.ts +48 -0
- package/dist/solid-ui/forms-advanced/Upload.d.ts.map +1 -0
- package/dist/solid-ui/forms-advanced/state.d.ts +3 -0
- package/dist/solid-ui/forms-advanced/state.d.ts.map +1 -0
- package/dist/solid-ui/illustrations/Illustrations.d.ts +27 -0
- package/dist/solid-ui/illustrations/Illustrations.d.ts.map +1 -0
- package/dist/solid-ui/import/Import.d.ts +121 -0
- package/dist/solid-ui/import/Import.d.ts.map +1 -0
- package/dist/solid-ui/index.d.ts +60 -0
- package/dist/solid-ui/index.d.ts.map +1 -0
- package/dist/solid-ui/index.js +8798 -0
- package/dist/solid-ui/index.server.js +7175 -0
- package/dist/solid-ui/internal/classes.d.ts +3 -0
- package/dist/solid-ui/internal/classes.d.ts.map +1 -0
- package/dist/solid-ui/internal/events.d.ts +2 -0
- package/dist/solid-ui/internal/events.d.ts.map +1 -0
- package/dist/solid-ui/internal/floating.d.ts +13 -0
- package/dist/solid-ui/internal/floating.d.ts.map +1 -0
- package/dist/solid-ui/internal/icons.d.ts +10 -0
- package/dist/solid-ui/internal/icons.d.ts.map +1 -0
- package/dist/solid-ui/multilang/MultiLang.d.ts +48 -0
- package/dist/solid-ui/multilang/MultiLang.d.ts.map +1 -0
- package/dist/solid-ui/navigation/Breadcrumbs.d.ts +6 -0
- package/dist/solid-ui/navigation/Breadcrumbs.d.ts.map +1 -0
- package/dist/solid-ui/navigation/Dropdown.d.ts +23 -0
- package/dist/solid-ui/navigation/Dropdown.d.ts.map +1 -0
- package/dist/solid-ui/navigation/NavTabs.d.ts +17 -0
- package/dist/solid-ui/navigation/NavTabs.d.ts.map +1 -0
- package/dist/solid-ui/navigation/Pagination.d.ts +16 -0
- package/dist/solid-ui/navigation/Pagination.d.ts.map +1 -0
- package/dist/solid-ui/navigation/Tabs.d.ts +38 -0
- package/dist/solid-ui/navigation/Tabs.d.ts.map +1 -0
- package/dist/solid-ui/overlays/Dialog.d.ts +22 -0
- package/dist/solid-ui/overlays/Dialog.d.ts.map +1 -0
- package/dist/solid-ui/overlays/Drawer.d.ts +13 -0
- package/dist/solid-ui/overlays/Drawer.d.ts.map +1 -0
- package/dist/solid-ui/overlays/Toast.d.ts +36 -0
- package/dist/solid-ui/overlays/Toast.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/Actions.d.ts +37 -0
- package/dist/solid-ui/scaffold/Actions.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/DefaultFilters.d.ts +61 -0
- package/dist/solid-ui/scaffold/DefaultFilters.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/FilterBuilder.d.ts +66 -0
- package/dist/solid-ui/scaffold/FilterBuilder.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/Filters.d.ts +38 -0
- package/dist/solid-ui/scaffold/Filters.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/Form.d.ts +26 -0
- package/dist/solid-ui/scaffold/Form.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/TableDrawers.d.ts +43 -0
- package/dist/solid-ui/scaffold/TableDrawers.d.ts.map +1 -0
- package/dist/solid-ui/scaffold/TableWorkflow.d.ts +153 -0
- package/dist/solid-ui/scaffold/TableWorkflow.d.ts.map +1 -0
- package/dist/solid-ui/selection/Combobox.d.ts +37 -0
- package/dist/solid-ui/selection/Combobox.d.ts.map +1 -0
- package/dist/solid-ui/selection/Countries.d.ts +18 -0
- package/dist/solid-ui/selection/Countries.d.ts.map +1 -0
- package/dist/solid-ui/selection/DatePicker.d.ts +36 -0
- package/dist/solid-ui/selection/DatePicker.d.ts.map +1 -0
- package/dist/solid-ui/selection/SearchSelect.d.ts +33 -0
- package/dist/solid-ui/selection/SearchSelect.d.ts.map +1 -0
- package/dist/solid-ui/shell/CommandSearch.d.ts +41 -0
- package/dist/solid-ui/shell/CommandSearch.d.ts.map +1 -0
- package/dist/solid-ui/shell/Kanban.d.ts +49 -0
- package/dist/solid-ui/shell/Kanban.d.ts.map +1 -0
- package/dist/solid-ui/shell/PermissionGuard.d.ts +11 -0
- package/dist/solid-ui/shell/PermissionGuard.d.ts.map +1 -0
- package/dist/solid-ui/shell/Sidebar.d.ts +72 -0
- package/dist/solid-ui/shell/Sidebar.d.ts.map +1 -0
- package/dist/solid-ui/standalone.css +2 -0
- package/dist/solid-ui/utilities/CopyButton.d.ts +33 -0
- package/dist/solid-ui/utilities/CopyButton.d.ts.map +1 -0
- package/dist/solid-ui/utilities/ExportDropdown.d.ts +43 -0
- package/dist/solid-ui/utilities/ExportDropdown.d.ts.map +1 -0
- package/dist/solid-ui/utilities/Help.d.ts +41 -0
- package/dist/solid-ui/utilities/Help.d.ts.map +1 -0
- package/dist/solid-ui/utilities/LanguageSelect.d.ts +13 -0
- package/dist/solid-ui/utilities/LanguageSelect.d.ts.map +1 -0
- package/dist/solid-ui/utilities/Slot.d.ts +30 -0
- package/dist/solid-ui/utilities/Slot.d.ts.map +1 -0
- package/dist/solid-ui/utilities/Spotlight.d.ts +84 -0
- package/dist/solid-ui/utilities/Spotlight.d.ts.map +1 -0
- package/dist/styles.css +33 -9
- package/package.json +8 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createComponent, createContext, useContext } from 'solid-js';
|
|
2
2
|
import { render } from 'solid-js/web';
|
|
3
3
|
import { assertClientBootstrap, readClientBootstrap } from './bootstrap';
|
|
4
|
+
import { PortalRegistry, WIDGET_SLOT_NAMES } from './portal-host';
|
|
4
5
|
import { createClientHostServices } from './services';
|
|
6
|
+
import { SolidPortalHostProvider } from './solid-portals';
|
|
5
7
|
const ClientHostContext = createContext();
|
|
6
8
|
export function useClientHost() {
|
|
7
9
|
const services = useContext(ClientHostContext);
|
|
@@ -9,6 +11,72 @@ export function useClientHost() {
|
|
|
9
11
|
throw new Error('Solid client route is not mounted by the iota client host');
|
|
10
12
|
return services;
|
|
11
13
|
}
|
|
14
|
+
function routeElementPrefix(root) {
|
|
15
|
+
return root.id.endsWith('-mount') ? root.id.slice(0, -'-mount'.length) : undefined;
|
|
16
|
+
}
|
|
17
|
+
function discoverPortalOwner(root) {
|
|
18
|
+
const prefix = routeElementPrefix(root);
|
|
19
|
+
return prefix ? root.ownerDocument.getElementById(`${prefix}-portals`) ?? undefined : undefined;
|
|
20
|
+
}
|
|
21
|
+
function discoverWidgetSlots(owner) {
|
|
22
|
+
const slots = {};
|
|
23
|
+
for (const name of WIDGET_SLOT_NAMES) {
|
|
24
|
+
const slot = owner.querySelector(`[data-iota-widget-slot="${name}"]`);
|
|
25
|
+
if (slot)
|
|
26
|
+
slots[name] = slot;
|
|
27
|
+
}
|
|
28
|
+
return slots;
|
|
29
|
+
}
|
|
30
|
+
const portalThemeStates = new WeakMap();
|
|
31
|
+
function setPortalTheme(owner, theme) {
|
|
32
|
+
const state = portalThemeStates.get(owner) ?? { base: owner.getAttribute('data-theme'), leases: [] };
|
|
33
|
+
const token = Symbol('portal-theme');
|
|
34
|
+
state.leases.push({ token, theme });
|
|
35
|
+
portalThemeStates.set(owner, state);
|
|
36
|
+
owner.dataset.theme = theme;
|
|
37
|
+
return () => {
|
|
38
|
+
const index = state.leases.findIndex((lease) => lease.token === token);
|
|
39
|
+
if (index < 0)
|
|
40
|
+
return;
|
|
41
|
+
state.leases.splice(index, 1);
|
|
42
|
+
const active = state.leases.at(-1);
|
|
43
|
+
if (active)
|
|
44
|
+
owner.dataset.theme = active.theme;
|
|
45
|
+
else {
|
|
46
|
+
if (state.base === null)
|
|
47
|
+
delete owner.dataset.theme;
|
|
48
|
+
else
|
|
49
|
+
owner.setAttribute('data-theme', state.base);
|
|
50
|
+
portalThemeStates.delete(owner);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function cleanupFailure(failures, message) {
|
|
55
|
+
if (failures.length === 1)
|
|
56
|
+
return failures[0];
|
|
57
|
+
if (failures.length > 1)
|
|
58
|
+
return new AggregateError(failures, message, { cause: failures[0] });
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
function cleanupPortalHost(cleanups, registry) {
|
|
62
|
+
const failures = [];
|
|
63
|
+
for (const cleanup of cleanups ?? []) {
|
|
64
|
+
try {
|
|
65
|
+
cleanup();
|
|
66
|
+
}
|
|
67
|
+
catch (cause) {
|
|
68
|
+
failures.push(cause);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
cleanups?.clear();
|
|
72
|
+
try {
|
|
73
|
+
registry?.destroy();
|
|
74
|
+
}
|
|
75
|
+
catch (cause) {
|
|
76
|
+
failures.push(cause);
|
|
77
|
+
}
|
|
78
|
+
return failures;
|
|
79
|
+
}
|
|
12
80
|
export function mountSolidClientRoute(options) {
|
|
13
81
|
assertClientBootstrap(options.context);
|
|
14
82
|
const currentOwner = options.root.dataset.iotaClientOwner;
|
|
@@ -16,6 +84,9 @@ export function mountSolidClientRoute(options) {
|
|
|
16
84
|
throw new Error(`Client route root is already owned by ${currentOwner}`);
|
|
17
85
|
options.root.dataset.iotaClientOwner = 'solid';
|
|
18
86
|
let services;
|
|
87
|
+
let portalRegistry;
|
|
88
|
+
let portalHostCleanups;
|
|
89
|
+
let restorePortalTheme;
|
|
19
90
|
try {
|
|
20
91
|
const owner = options.root.ownerDocument.defaultView;
|
|
21
92
|
if (!options.services && !owner)
|
|
@@ -23,55 +94,227 @@ export function mountSolidClientRoute(options) {
|
|
|
23
94
|
services = options.services ?? createClientHostServices(options.context, owner);
|
|
24
95
|
const mountedServices = services;
|
|
25
96
|
const Component = options.component;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
97
|
+
const portalOwner = options.portals ?? discoverPortalOwner(options.root);
|
|
98
|
+
portalRegistry = portalOwner
|
|
99
|
+
? new PortalRegistry(portalOwner, options.background ?? options.root.closest('[data-client-route-background]') ?? undefined)
|
|
100
|
+
: undefined;
|
|
101
|
+
portalHostCleanups = portalRegistry ? new Set() : undefined;
|
|
102
|
+
const registeredCleanups = portalHostCleanups;
|
|
103
|
+
const portalHost = portalRegistry ? {
|
|
104
|
+
registry: portalRegistry,
|
|
105
|
+
slots: new Map(Object.entries(options.widgetSlots ?? discoverWidgetSlots(options.root.ownerDocument))),
|
|
106
|
+
registerCleanup(cleanup) {
|
|
107
|
+
registeredCleanups.add(cleanup);
|
|
108
|
+
return () => registeredCleanups.delete(cleanup);
|
|
109
|
+
},
|
|
110
|
+
} : undefined;
|
|
111
|
+
restorePortalTheme = portalOwner ? setPortalTheme(portalOwner, options.context.theme) : undefined;
|
|
112
|
+
const dispose = render(() => {
|
|
113
|
+
return portalHost
|
|
114
|
+
? createComponent(SolidPortalHostProvider, {
|
|
115
|
+
host: portalHost,
|
|
116
|
+
get children() {
|
|
117
|
+
return createComponent(ClientHostContext.Provider, {
|
|
118
|
+
value: mountedServices,
|
|
119
|
+
get children() { return createComponent(Component, { ...options.props, route: options.context }); },
|
|
120
|
+
});
|
|
121
|
+
},
|
|
122
|
+
})
|
|
123
|
+
: createComponent(ClientHostContext.Provider, {
|
|
124
|
+
value: mountedServices,
|
|
125
|
+
get children() { return createComponent(Component, { ...options.props, route: options.context }); },
|
|
126
|
+
});
|
|
127
|
+
}, options.root);
|
|
30
128
|
let mounted = true;
|
|
31
129
|
return () => {
|
|
32
130
|
if (!mounted)
|
|
33
131
|
return;
|
|
34
132
|
mounted = false;
|
|
35
|
-
|
|
36
|
-
let disposeFailed = false;
|
|
133
|
+
const failures = [];
|
|
37
134
|
try {
|
|
38
135
|
dispose();
|
|
39
136
|
}
|
|
40
137
|
catch (cause) {
|
|
41
|
-
|
|
42
|
-
|
|
138
|
+
failures.push(cause);
|
|
139
|
+
}
|
|
140
|
+
failures.push(...cleanupPortalHost(portalHostCleanups, portalRegistry));
|
|
141
|
+
try {
|
|
142
|
+
restorePortalTheme?.();
|
|
143
|
+
}
|
|
144
|
+
catch (cause) {
|
|
145
|
+
failures.push(cause);
|
|
43
146
|
}
|
|
44
147
|
try {
|
|
45
148
|
mountedServices.dispose();
|
|
46
149
|
}
|
|
47
150
|
catch (cause) {
|
|
48
|
-
|
|
49
|
-
throw new AggregateError([disposeError, cause], 'Client route cleanup failed', { cause: disposeError });
|
|
50
|
-
throw cause;
|
|
151
|
+
failures.push(cause);
|
|
51
152
|
}
|
|
52
153
|
finally {
|
|
53
154
|
delete options.root.dataset.iotaClientOwner;
|
|
54
155
|
}
|
|
55
|
-
|
|
56
|
-
|
|
156
|
+
const failure = cleanupFailure(failures, 'Client route cleanup failed');
|
|
157
|
+
if (failure !== undefined)
|
|
158
|
+
throw failure;
|
|
57
159
|
};
|
|
58
160
|
}
|
|
59
161
|
catch (cause) {
|
|
162
|
+
const failures = [cause];
|
|
163
|
+
failures.push(...cleanupPortalHost(portalHostCleanups, portalRegistry));
|
|
164
|
+
try {
|
|
165
|
+
restorePortalTheme?.();
|
|
166
|
+
}
|
|
167
|
+
catch (cleanupCause) {
|
|
168
|
+
failures.push(cleanupCause);
|
|
169
|
+
}
|
|
60
170
|
try {
|
|
61
171
|
services?.dispose();
|
|
62
172
|
}
|
|
63
173
|
catch (cleanupCause) {
|
|
64
|
-
|
|
174
|
+
failures.push(cleanupCause);
|
|
65
175
|
}
|
|
66
176
|
finally {
|
|
67
177
|
delete options.root.dataset.iotaClientOwner;
|
|
68
178
|
}
|
|
69
|
-
|
|
179
|
+
if (failures.length === 1)
|
|
180
|
+
throw cause;
|
|
181
|
+
throw new AggregateError(failures, 'Client route mount and cleanup failed', { cause });
|
|
70
182
|
}
|
|
71
183
|
}
|
|
72
184
|
export function mountSolidClientRouteFromDocument(component, props, owner = document) {
|
|
73
185
|
const root = owner.getElementById('iota-client-route-mount');
|
|
74
186
|
if (!root)
|
|
75
187
|
throw new Error('Client route mount element is missing');
|
|
76
|
-
|
|
188
|
+
const portals = owner.getElementById('iota-client-route-portals') ?? undefined;
|
|
189
|
+
const background = root.closest('[data-client-route-background]') ?? undefined;
|
|
190
|
+
return mountSolidClientRoute({
|
|
191
|
+
root,
|
|
192
|
+
component,
|
|
193
|
+
props,
|
|
194
|
+
context: readClientBootstrap(owner),
|
|
195
|
+
...(portals ? { portals } : {}),
|
|
196
|
+
...(background ? { background } : {}),
|
|
197
|
+
widgetSlots: discoverWidgetSlots(owner),
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
function documentTheme(owner, fallback) {
|
|
201
|
+
const root = owner.documentElement;
|
|
202
|
+
if (root.dataset.theme === 'dark')
|
|
203
|
+
return 'dark';
|
|
204
|
+
if (root.dataset.theme === 'light')
|
|
205
|
+
return 'light';
|
|
206
|
+
if (root.classList.contains('dark'))
|
|
207
|
+
return 'dark';
|
|
208
|
+
if (root.classList.contains('light'))
|
|
209
|
+
return 'light';
|
|
210
|
+
if (root.classList.contains('system') && owner.defaultView?.matchMedia?.('(prefers-color-scheme: dark)').matches)
|
|
211
|
+
return 'dark';
|
|
212
|
+
return fallback;
|
|
213
|
+
}
|
|
214
|
+
// mountSolidFeatureCatalogFromDocument owns route-level loading, bundle
|
|
215
|
+
// failure/retry, mount and disposal for statically generated feature catalogs.
|
|
216
|
+
// Feature code owns only states inside the loaded screen.
|
|
217
|
+
export function mountSolidFeatureCatalogFromDocument(options) {
|
|
218
|
+
const owner = options.owner ?? document;
|
|
219
|
+
const root = owner.getElementById('iota-client-route-mount');
|
|
220
|
+
if (!root)
|
|
221
|
+
throw new Error('Client route mount element is missing');
|
|
222
|
+
const context = readClientBootstrap(owner);
|
|
223
|
+
context.theme = documentTheme(owner, context.theme);
|
|
224
|
+
const featureID = context.route?.featureId;
|
|
225
|
+
if (!featureID)
|
|
226
|
+
throw new Error('Client route feature identity is missing');
|
|
227
|
+
const load = options.catalog[featureID];
|
|
228
|
+
if (!load)
|
|
229
|
+
throw new Error(`Solid feature ${featureID} is absent from the generated catalog`);
|
|
230
|
+
if (root.dataset.iotaClientOwner) {
|
|
231
|
+
throw new Error(`Client route root is already owned by ${root.dataset.iotaClientOwner}`);
|
|
232
|
+
}
|
|
233
|
+
let active = true;
|
|
234
|
+
let generation = 0;
|
|
235
|
+
let disposeMounted;
|
|
236
|
+
root.dataset.iotaClientOwner = 'solid-loading';
|
|
237
|
+
const showLoading = () => {
|
|
238
|
+
root.setAttribute('aria-busy', 'true');
|
|
239
|
+
const status = owner.createElement('div');
|
|
240
|
+
status.dataset.solidRouteLoading = 'true';
|
|
241
|
+
status.setAttribute('role', 'status');
|
|
242
|
+
status.textContent = 'Loading…';
|
|
243
|
+
root.replaceChildren(status);
|
|
244
|
+
};
|
|
245
|
+
const start = () => {
|
|
246
|
+
if (!active)
|
|
247
|
+
return;
|
|
248
|
+
const current = ++generation;
|
|
249
|
+
showLoading();
|
|
250
|
+
void load().then((module) => {
|
|
251
|
+
if (!active || current !== generation)
|
|
252
|
+
return;
|
|
253
|
+
if (!module || typeof module.default !== 'function') {
|
|
254
|
+
throw new Error(`Solid feature ${featureID} has no default component export`);
|
|
255
|
+
}
|
|
256
|
+
root.removeAttribute('aria-busy');
|
|
257
|
+
root.replaceChildren();
|
|
258
|
+
delete root.dataset.iotaClientOwner;
|
|
259
|
+
disposeMounted = mountSolidClientRoute({
|
|
260
|
+
root,
|
|
261
|
+
component: module.default,
|
|
262
|
+
props: {},
|
|
263
|
+
context,
|
|
264
|
+
});
|
|
265
|
+
}, (cause) => {
|
|
266
|
+
if (!active || current !== generation)
|
|
267
|
+
return;
|
|
268
|
+
root.removeAttribute('aria-busy');
|
|
269
|
+
const alert = owner.createElement('div');
|
|
270
|
+
alert.dataset.solidRouteError = 'true';
|
|
271
|
+
alert.setAttribute('role', 'alert');
|
|
272
|
+
const message = owner.createElement('p');
|
|
273
|
+
message.textContent = 'The screen could not be loaded.';
|
|
274
|
+
const retry = owner.createElement('button');
|
|
275
|
+
retry.type = 'button';
|
|
276
|
+
retry.dataset.solidRouteRetry = 'true';
|
|
277
|
+
retry.textContent = 'Retry';
|
|
278
|
+
retry.addEventListener('click', () => {
|
|
279
|
+
// Browsers cache a rejected dynamic import for the lifetime of the
|
|
280
|
+
// document. Reloading creates a fresh module map, so Retry can
|
|
281
|
+
// actually request a chunk that became available after the failure.
|
|
282
|
+
const reload = options.reload ?? (() => owner.defaultView?.location.reload());
|
|
283
|
+
reload();
|
|
284
|
+
}, { once: true });
|
|
285
|
+
alert.append(message, retry);
|
|
286
|
+
root.replaceChildren(alert);
|
|
287
|
+
owner.defaultView?.console.error(`Failed to load Solid feature ${featureID}`, cause);
|
|
288
|
+
}).catch((cause) => {
|
|
289
|
+
if (!active || current !== generation)
|
|
290
|
+
return;
|
|
291
|
+
root.removeAttribute('aria-busy');
|
|
292
|
+
const alert = owner.createElement('div');
|
|
293
|
+
alert.dataset.solidRouteError = 'true';
|
|
294
|
+
alert.setAttribute('role', 'alert');
|
|
295
|
+
alert.textContent = 'The screen module is invalid.';
|
|
296
|
+
root.replaceChildren(alert);
|
|
297
|
+
owner.defaultView?.console.error(`Invalid Solid feature ${featureID}`, cause);
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
const dispose = () => {
|
|
301
|
+
if (!active)
|
|
302
|
+
return;
|
|
303
|
+
active = false;
|
|
304
|
+
generation++;
|
|
305
|
+
owner.defaultView?.removeEventListener('pagehide', dispose);
|
|
306
|
+
owner.removeEventListener('iota:client-route-unmount', dispose);
|
|
307
|
+
try {
|
|
308
|
+
disposeMounted?.();
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
root.removeAttribute('aria-busy');
|
|
312
|
+
root.replaceChildren();
|
|
313
|
+
delete root.dataset.iotaClientOwner;
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
owner.defaultView?.addEventListener('pagehide', dispose, { once: true });
|
|
317
|
+
owner.addEventListener('iota:client-route-unmount', dispose, { once: true });
|
|
318
|
+
start();
|
|
319
|
+
return dispose;
|
|
77
320
|
}
|
package/dist/sdk-identity.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict'
|
|
2
|
-
const SDK_RELEASE_VERSION = "0.
|
|
3
|
-
const SDK_SOURCE_COMMIT = "
|
|
2
|
+
const SDK_RELEASE_VERSION = "0.9.0"
|
|
3
|
+
const SDK_SOURCE_COMMIT = "3a1e16e7bd004b02c27f688654321169d622cb0f"
|
|
4
4
|
const SDK_PROTOCOL_VERSION = "1.0.0"
|
|
5
|
-
const SDK_IDENTITY = Object.freeze({"releaseVersion":"0.
|
|
5
|
+
const SDK_IDENTITY = Object.freeze({"releaseVersion":"0.9.0","sourceCommit":"3a1e16e7bd004b02c27f688654321169d622cb0f","protocolVersion":"1.0.0"})
|
|
6
6
|
module.exports = { SDK_RELEASE_VERSION, SDK_SOURCE_COMMIT, SDK_PROTOCOL_VERSION, SDK_IDENTITY }
|
package/dist/sdk-identity.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const SDK_RELEASE_VERSION = "0.
|
|
2
|
-
export const SDK_SOURCE_COMMIT = "
|
|
1
|
+
export const SDK_RELEASE_VERSION = "0.9.0"
|
|
2
|
+
export const SDK_SOURCE_COMMIT = "3a1e16e7bd004b02c27f688654321169d622cb0f"
|
|
3
3
|
export const SDK_PROTOCOL_VERSION = "1.0.0"
|
|
4
|
-
export const SDK_IDENTITY = Object.freeze({"releaseVersion":"0.
|
|
4
|
+
export const SDK_IDENTITY = Object.freeze({"releaseVersion":"0.9.0","sourceCommit":"3a1e16e7bd004b02c27f688654321169d622cb0f","protocolVersion":"1.0.0"})
|
package/dist/sdk-identity.json
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type ApexChartOptions = Record<string, any>;
|
|
3
|
+
export interface ApexChartInstance {
|
|
4
|
+
render(): void | Promise<unknown>;
|
|
5
|
+
destroy(): void;
|
|
6
|
+
updateOptions?(options: ApexChartOptions, redrawPaths?: boolean, animate?: boolean): void | Promise<unknown>;
|
|
7
|
+
hideSeries?(name: string): void;
|
|
8
|
+
ctx?: Record<string, any>;
|
|
9
|
+
w?: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
export interface ApexChartsConstructor {
|
|
12
|
+
new (element: HTMLElement, options: ApexChartOptions): ApexChartInstance;
|
|
13
|
+
}
|
|
14
|
+
export type ApexChartFactory = (element: HTMLElement, options: ApexChartOptions) => ApexChartInstance;
|
|
15
|
+
export interface ChartProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'onError'> {
|
|
16
|
+
options: ApexChartOptions;
|
|
17
|
+
factory?: ApexChartFactory;
|
|
18
|
+
apexCharts?: ApexChartsConstructor;
|
|
19
|
+
label?: string;
|
|
20
|
+
retryLabel?: string;
|
|
21
|
+
onReady?: (chart: ApexChartInstance) => void;
|
|
22
|
+
onError?: (error: unknown) => void;
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface Window {
|
|
26
|
+
ApexCharts?: ApexChartsConstructor;
|
|
27
|
+
initializeChartEvents?: () => void;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export declare function apexHiddenSeries(chart: ApexChartInstance | undefined): string[];
|
|
31
|
+
export declare function setCircularSeriesHidden(chart: ApexChartInstance, seriesIndex: number, shouldHide: boolean, originalSeries: readonly unknown[]): boolean;
|
|
32
|
+
export declare function Chart(props: ChartProps): JSX.Element;
|
|
33
|
+
//# sourceMappingURL=Chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/charts/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAErG,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAElD,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,OAAO,IAAI,IAAI,CAAA;IACf,aAAa,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5G,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;CACzE;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,KAAK,iBAAiB,CAAA;AAErG,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACrF,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,qBAAqB,CAAA;QAClC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;KACnC;CACF;AAcD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,EAAE,CAY/E;AAqBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAevJ;AAcD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,eA2JtC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type AvatarVariant = 'round' | 'square';
|
|
3
|
+
export declare function avatarColor(initials: string): string;
|
|
4
|
+
export interface AvatarProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
imageUrl?: string;
|
|
6
|
+
initials: string;
|
|
7
|
+
variant?: AvatarVariant;
|
|
8
|
+
imageAlt?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function Avatar(props: AvatarProps): JSX.Element;
|
|
11
|
+
export interface AvatarGroupItem extends Omit<AvatarProps, 'class' | 'children'> {
|
|
12
|
+
}
|
|
13
|
+
export interface AvatarGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
avatars?: readonly AvatarGroupItem[];
|
|
15
|
+
limit?: number;
|
|
16
|
+
overflowLabel?: (count: number) => string;
|
|
17
|
+
}
|
|
18
|
+
export declare function AvatarGroup(props: AvatarGroupProps): JSX.Element;
|
|
19
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/data/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAGpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAA;AAI9C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,MAAM,WAAW,WAAY,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,eASxC;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC;CAAG;AACnF,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAC1C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,eAWlD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export interface DescriptionListProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
3
|
+
title?: JSX.Element;
|
|
4
|
+
subtitle?: JSX.Element;
|
|
5
|
+
header?: JSX.Element;
|
|
6
|
+
collapsible?: boolean;
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
contentClass?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function DescriptionList(props: DescriptionListProps): JSX.Element;
|
|
11
|
+
export declare function DescriptionListItem(props: JSX.HTMLAttributes<HTMLDivElement>): JSX.Element;
|
|
12
|
+
export declare function DescriptionListLabel(props: JSX.HTMLAttributes<HTMLSpanElement>): JSX.Element;
|
|
13
|
+
export declare function DescriptionListValue(props: JSX.HTMLAttributes<HTMLSpanElement>): JSX.Element;
|
|
14
|
+
export declare function DescriptionListLink(props: JSX.AnchorHTMLAttributes<HTMLAnchorElement>): JSX.Element;
|
|
15
|
+
export interface DescriptionListDetailsProps extends JSX.DetailsHtmlAttributes<HTMLDetailsElement> {
|
|
16
|
+
label: JSX.Element;
|
|
17
|
+
contentClass?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function DescriptionListDetails(props: DescriptionListDetailsProps): JSX.Element;
|
|
20
|
+
//# sourceMappingURL=DescriptionList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DescriptionList.d.ts","sourceRoot":"","sources":["../../src/data/DescriptionList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAO/C,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC7F,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAOD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAe1D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,eAG5E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,eAG9E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,eAG9E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAGrF;AAED,MAAM,WAAW,2BAA4B,SAAQ,GAAG,CAAC,qBAAqB,CAAC,kBAAkB,CAAC;IAAG,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhJ,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,eAQxE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export declare function EmptyTableIllustration(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element;
|
|
3
|
+
export interface EmptyStateProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
4
|
+
title: JSX.Element;
|
|
5
|
+
description?: JSX.Element;
|
|
6
|
+
illustration?: JSX.Element;
|
|
7
|
+
}
|
|
8
|
+
export declare function EmptyState(props: EmptyStateProps): JSX.Element;
|
|
9
|
+
export declare const TableEmptyState: typeof EmptyState;
|
|
10
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/data/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAG/D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,eAwBhF;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAG,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE;AAExK,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAWhD;AAED,eAAO,MAAM,eAAe,mBAAa,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type LazyLoadTrigger = 'load' | 'visible';
|
|
3
|
+
export type LazyLoadSwap = 'outerHTML' | 'innerHTML';
|
|
4
|
+
export type LazyFragment = string | JSX.Element;
|
|
5
|
+
export interface LazyLoadRequest {
|
|
6
|
+
endpoint: string;
|
|
7
|
+
url: string;
|
|
8
|
+
signal: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
export type LazyLoadAdapter = (request: LazyLoadRequest) => Promise<LazyFragment>;
|
|
11
|
+
export interface LazyLoadObserver {
|
|
12
|
+
observe(element: Element): void;
|
|
13
|
+
disconnect(): void;
|
|
14
|
+
}
|
|
15
|
+
export type LazyLoadObserverFactory = (callback: IntersectionObserverCallback, options: IntersectionObserverInit) => LazyLoadObserver;
|
|
16
|
+
export interface LazyLoadProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'children' | 'onError' | 'onLoad'> {
|
|
17
|
+
endpoint: string;
|
|
18
|
+
params?: URLSearchParams | Readonly<Record<string, string | number | boolean | null | undefined>>;
|
|
19
|
+
swap?: LazyLoadSwap;
|
|
20
|
+
trigger?: LazyLoadTrigger;
|
|
21
|
+
rootMargin?: string;
|
|
22
|
+
loaderClass?: string;
|
|
23
|
+
adapter?: LazyLoadAdapter;
|
|
24
|
+
observerFactory?: LazyLoadObserverFactory;
|
|
25
|
+
renderHTML?: (html: string) => JSX.Element;
|
|
26
|
+
children?: JSX.Element;
|
|
27
|
+
loading?: JSX.Element;
|
|
28
|
+
error?: (error: unknown, retry: () => void) => JSX.Element;
|
|
29
|
+
loadingLabel?: string;
|
|
30
|
+
errorLabel?: string;
|
|
31
|
+
retryLabel?: string;
|
|
32
|
+
onLoad?: (fragment: LazyFragment) => void;
|
|
33
|
+
onError?: (error: unknown) => void;
|
|
34
|
+
}
|
|
35
|
+
export declare function buildLazyLoadURL(endpoint: string, params?: LazyLoadProps['params']): string;
|
|
36
|
+
export declare const fetchLazyFragment: LazyLoadAdapter;
|
|
37
|
+
export declare function LazyLoad(props: LazyLoadProps): JSX.Element;
|
|
38
|
+
//# sourceMappingURL=LazyLoad.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyLoad.d.ts","sourceRoot":"","sources":["../../src/data/LazyLoad.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAIvF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,CAAA;AAChD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAA;AACpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO,CAAA;AAE/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;AAEjF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,4BAA4B,EAAE,OAAO,EAAE,wBAAwB,KAAK,gBAAgB,CAAA;AAErI,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAChH,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAA;IACjG,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1C,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACnC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAS3F;AAED,eAAO,MAAM,iBAAiB,EAAE,eAI/B,CAAA;AASD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,eAyF5C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export interface LoaderProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
label?: string;
|
|
4
|
+
spinnerClass?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function Loader(props: LoaderProps): JSX.Element;
|
|
7
|
+
export interface ContentLoaderProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
loading: boolean;
|
|
9
|
+
loader?: JSX.Element;
|
|
10
|
+
loaderClass?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function ContentLoader(props: ContentLoaderProps): JSX.Element;
|
|
13
|
+
//# sourceMappingURL=Loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../src/data/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAGrD,MAAM,WAAW,WAAY,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AAEjH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,eAWxC;AAED,MAAM,WAAW,kBAAmB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;AAE/I,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,eAGtD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type SortDirection = 'asc' | 'desc' | 'none';
|
|
3
|
+
export type TableColumnPriority = 0 | 1 | 2 | 3;
|
|
4
|
+
export interface TableProps extends JSX.HTMLAttributes<HTMLTableElement> {
|
|
5
|
+
wrapperClass?: string;
|
|
6
|
+
scrollbarPosition?: 'top' | 'bottom';
|
|
7
|
+
scrollbarGutter?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function Table(props: TableProps): JSX.Element;
|
|
10
|
+
export declare function Header(props: JSX.HTMLAttributes<HTMLTableSectionElement>): JSX.Element;
|
|
11
|
+
export declare const TableHeader: typeof Header;
|
|
12
|
+
export declare function Body(props: JSX.HTMLAttributes<HTMLTableSectionElement>): JSX.Element;
|
|
13
|
+
export declare const TableBody: typeof Body;
|
|
14
|
+
export interface RowProps extends JSX.HTMLAttributes<HTMLTableRowElement> {
|
|
15
|
+
selected?: boolean;
|
|
16
|
+
onSelectedChange?: (selected: boolean, event: MouseEvent | KeyboardEvent) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function Row(props: RowProps): JSX.Element;
|
|
19
|
+
export declare const TableRow: typeof Row;
|
|
20
|
+
export interface HeadProps extends JSX.ThHTMLAttributes<HTMLTableCellElement> {
|
|
21
|
+
sortable?: boolean;
|
|
22
|
+
sortDirection?: SortDirection;
|
|
23
|
+
onSort?: (direction: SortDirection, event: MouseEvent | KeyboardEvent) => void;
|
|
24
|
+
priority?: number;
|
|
25
|
+
truncateWidth?: number;
|
|
26
|
+
addonBottom?: JSX.Element;
|
|
27
|
+
}
|
|
28
|
+
export declare function Head(props: HeadProps): JSX.Element;
|
|
29
|
+
export declare const TableHead: typeof Head;
|
|
30
|
+
export interface CellProps extends JSX.TdHTMLAttributes<HTMLTableCellElement> {
|
|
31
|
+
priority?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function Cell(props: CellProps): JSX.Element;
|
|
34
|
+
export declare const TableCell: typeof Cell;
|
|
35
|
+
export declare function Caption(props: JSX.HTMLAttributes<HTMLTableCaptionElement>): JSX.Element;
|
|
36
|
+
export declare const TableCaption: typeof Caption;
|
|
37
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/data/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAG1E,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AACnD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAQ/C,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACpC,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,eAUtC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,eAGxE;AAED,eAAO,MAAM,WAAW,eAAS,CAAA;AAEjC,wBAAgB,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,eAGtE;AAED,eAAO,MAAM,SAAS,aAAO,CAAA;AAE7B,MAAM,WAAW,QAAS,SAAQ,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAA;CAClF;AAID,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,eAuBlC;AAED,eAAO,MAAM,QAAQ,YAAM,CAAA;AAQ3B,MAAM,WAAW,SAAU,SAAQ,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAA;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAC1B;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eA8BpC;AAED,eAAO,MAAM,SAAS,aAAO,CAAA;AAE7B,MAAM,WAAW,SAAU,SAAQ,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAAG,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AAEnG,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAGpC;AAED,eAAO,MAAM,SAAS,aAAO,CAAA;AAE7B,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,eAGzE;AAED,eAAO,MAAM,YAAY,gBAAU,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type AlertVariant = 'error' | 'success';
|
|
3
|
+
export interface AlertProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
variant?: AlertVariant;
|
|
5
|
+
}
|
|
6
|
+
export declare function Alert(props: AlertProps): JSX.Element;
|
|
7
|
+
export type AlertPresetProps = Omit<AlertProps, 'variant'>;
|
|
8
|
+
export declare const ErrorAlert: (props: AlertPresetProps) => JSX.Element;
|
|
9
|
+
export declare const SuccessAlert: (props: AlertPresetProps) => JSX.Element;
|
|
10
|
+
//# sourceMappingURL=Alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../src/display/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;AAE9C,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACpE,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,eAQtC;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAC1D,eAAO,MAAM,UAAU,UAAW,gBAAgB,gBAAyC,CAAA;AAC3F,eAAO,MAAM,YAAY,UAAW,gBAAgB,gBAA2C,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type BadgeVariant = 'pink' | 'yellow' | 'green' | 'blue' | 'purple' | 'gray';
|
|
3
|
+
export type BadgeSize = 'normal' | 'lg';
|
|
4
|
+
export interface BadgeProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
variant?: BadgeVariant;
|
|
6
|
+
size?: BadgeSize;
|
|
7
|
+
}
|
|
8
|
+
export declare function Badge(props: BadgeProps): JSX.Element;
|
|
9
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/display/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;AACnF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAA;AAEvC,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACpE,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAWD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,eAOtC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export interface CardHeaderProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
}
|
|
4
|
+
export declare function CardHeader(props: CardHeaderProps): JSX.Element;
|
|
5
|
+
export interface CardProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
header?: JSX.Element;
|
|
7
|
+
contentClass?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Card(props: CardProps): JSX.Element;
|
|
10
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/display/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAGrD,MAAM,WAAW,eAAgB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAE9E,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAEhD;AAED,MAAM,WAAW,SAAU,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACnE,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAQpC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type JSX } from 'solid-js';
|
|
2
|
+
export type PhoneDisplayStyle = 'parentheses' | 'dashes' | 'spaces';
|
|
3
|
+
export interface PhoneDisplayProps extends JSX.HTMLAttributes<HTMLSpanElement> {
|
|
4
|
+
phone: string;
|
|
5
|
+
style?: PhoneDisplayStyle;
|
|
6
|
+
showIcon?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface PhoneLinkProps extends Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
9
|
+
phone: string;
|
|
10
|
+
style?: PhoneDisplayStyle;
|
|
11
|
+
showIcon?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function stripPhone(value: string): string;
|
|
14
|
+
export declare function formatPhoneDisplay(value: string, style?: PhoneDisplayStyle): string;
|
|
15
|
+
export declare function PhoneLink(props: PhoneLinkProps): JSX.Element;
|
|
16
|
+
export declare function PhoneText(props: PhoneDisplayProps): JSX.Element;
|
|
17
|
+
//# sourceMappingURL=Phone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../src/display/Phone.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAGrD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC/F,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAYD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,iBAAiC,GAAG,MAAM,CAYlG;AAUD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,eAU9C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,eAUjD"}
|