@adukiorg/anza 0.2.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/CHANGELOG.md +137 -0
- package/README.md +215 -0
- package/bin/anza.js +63 -0
- package/bin/create.js +150 -0
- package/importmap.json +72 -0
- package/package.json +100 -0
- package/src/core/animations/index.js +55 -0
- package/src/core/animations/play.js +111 -0
- package/src/core/animations/registry.js +54 -0
- package/src/core/animations/scroll.js +50 -0
- package/src/core/animations/tokens.js +58 -0
- package/src/core/animations/usage.md +301 -0
- package/src/core/animations/waapi.js +86 -0
- package/src/core/api/cache.js +120 -0
- package/src/core/api/caches/glob.js +24 -0
- package/src/core/api/caches/index.js +118 -0
- package/src/core/api/events/index.js +75 -0
- package/src/core/api/fetch.js +99 -0
- package/src/core/api/index.js +158 -0
- package/src/core/api/pipeline.js +98 -0
- package/src/core/api/plan.md +209 -0
- package/src/core/api/prefixes/index.js +66 -0
- package/src/core/api/retry.js +69 -0
- package/src/core/api/stream.js +127 -0
- package/src/core/api/upload.js +180 -0
- package/src/core/api/usage.md +206 -0
- package/src/core/events/bus.js +38 -0
- package/src/core/events/delegate.js +79 -0
- package/src/core/events/index.js +26 -0
- package/src/core/events/listen.js +50 -0
- package/src/core/events/missing.md +103 -0
- package/src/core/events/once.js +49 -0
- package/src/core/events/plan.md +177 -0
- package/src/core/events/types/index.js +34 -0
- package/src/core/events/usage.md +107 -0
- package/src/core/offline/bridge.js +51 -0
- package/src/core/offline/clock.js +100 -0
- package/src/core/offline/connectivity.js +116 -0
- package/src/core/offline/index.js +41 -0
- package/src/core/offline/missing.md +89 -0
- package/src/core/offline/plan.md +143 -0
- package/src/core/offline/queue.js +168 -0
- package/src/core/offline/state.js +18 -0
- package/src/core/offline/sync.js +106 -0
- package/src/core/offline/usage.md +273 -0
- package/src/core/platform/guard.js +104 -0
- package/src/core/platform/index.js +42 -0
- package/src/core/platform/missing.md +119 -0
- package/src/core/platform/platform.d.ts +88 -0
- package/src/core/platform/polyfills/anchor.js +79 -0
- package/src/core/platform/polyfills/navigation.js +142 -0
- package/src/core/platform/polyfills/popover.js +142 -0
- package/src/core/platform/polyfills/scheduler.js +194 -0
- package/src/core/platform/polyfills/shadow.js +35 -0
- package/src/core/platform/polyfills/urlpattern.js +119 -0
- package/src/core/platform/supports.js +186 -0
- package/src/core/platform/usage.md +287 -0
- package/src/core/router/cache.js +95 -0
- package/src/core/router/container.js +146 -0
- package/src/core/router/handler.js +52 -0
- package/src/core/router/history.js +120 -0
- package/src/core/router/index.js +158 -0
- package/src/core/router/intercept.js +376 -0
- package/src/core/router/match.js +145 -0
- package/src/core/router/missing.md +716 -0
- package/src/core/router/outlet.js +139 -0
- package/src/core/router/plan.md +370 -0
- package/src/core/router/sync/index.js +16 -0
- package/src/core/router/sync/tab.js +115 -0
- package/src/core/router/sync/transport.js +139 -0
- package/src/core/router/transitions.js +59 -0
- package/src/core/router/usage.md +773 -0
- package/src/core/security/crypto.js +159 -0
- package/src/core/security/index.js +49 -0
- package/src/core/security/missing.md +97 -0
- package/src/core/security/permissions.js +64 -0
- package/src/core/security/sanitize.js +100 -0
- package/src/core/security/usage.md +283 -0
- package/src/core/state/derived.js +117 -0
- package/src/core/state/index.js +23 -0
- package/src/core/state/missing.md +165 -0
- package/src/core/state/persist.js +284 -0
- package/src/core/state/store.js +308 -0
- package/src/core/state/sync.js +46 -0
- package/src/core/state/usage.md +440 -0
- package/src/core/storage/cache.js +83 -0
- package/src/core/storage/idb.js +196 -0
- package/src/core/storage/index.js +373 -0
- package/src/core/storage/lru.js +107 -0
- package/src/core/storage/missing.md +165 -0
- package/src/core/storage/opfs.js +190 -0
- package/src/core/storage/plan.md +69 -0
- package/src/core/storage/quota.js +69 -0
- package/src/core/storage/usage.md +226 -0
- package/src/core/ui/base.js +50 -0
- package/src/core/ui/define/container.js +82 -0
- package/src/core/ui/define/define.js +12 -0
- package/src/core/ui/define/element.js +390 -0
- package/src/core/ui/define/index.js +9 -0
- package/src/core/ui/define/orchestrator.js +105 -0
- package/src/core/ui/define/proxy.js +644 -0
- package/src/core/ui/define/state.js +6 -0
- package/src/core/ui/define/utils.js +134 -0
- package/src/core/ui/implementation.md +170 -0
- package/src/core/ui/index.js +41 -0
- package/src/core/ui/observe.js +117 -0
- package/src/core/ui/plan.md +510 -0
- package/src/core/ui/schedule.js +60 -0
- package/src/core/ui/template.js +37 -0
- package/src/core/ui/transitions.js +37 -0
- package/src/core/ui/ui.types.md +890 -0
- package/src/core/ui/usage.md +1124 -0
- package/src/core/ui/watch.md +346 -0
- package/src/core/workers/broadcast.js +138 -0
- package/src/core/workers/dedicated.js +153 -0
- package/src/core/workers/index.js +169 -0
- package/src/core/workers/locks.js +160 -0
- package/src/core/workers/offscreen.js +166 -0
- package/src/core/workers/plan.md +381 -0
- package/src/core/workers/pool.js +267 -0
- package/src/core/workers/shared.js +137 -0
- package/src/core/workers/usage.md +622 -0
- package/src/elements/base.js +12 -0
- package/src/elements/data/card/index.html +9 -0
- package/src/elements/data/card/index.js +19 -0
- package/src/elements/data/card/index.tags.json +1 -0
- package/src/elements/data/card/style.css +46 -0
- package/src/elements/data/chart/index.html +1 -0
- package/src/elements/data/chart/index.js +143 -0
- package/src/elements/data/chart/index.tags.json +1 -0
- package/src/elements/data/chart/style.css +13 -0
- package/src/elements/data/list/index.html +3 -0
- package/src/elements/data/list/index.js +19 -0
- package/src/elements/data/list/index.tags.json +1 -0
- package/src/elements/data/list/style.css +39 -0
- package/src/elements/data/stat/index.html +9 -0
- package/src/elements/data/stat/index.js +19 -0
- package/src/elements/data/stat/index.tags.json +1 -0
- package/src/elements/data/stat/style.css +50 -0
- package/src/elements/data/table/index.html +1 -0
- package/src/elements/data/table/index.js +16 -0
- package/src/elements/data/table/index.tags.json +1 -0
- package/src/elements/data/table/style.css +50 -0
- package/src/elements/feedback/alert/index.html +11 -0
- package/src/elements/feedback/alert/index.js +28 -0
- package/src/elements/feedback/alert/index.tags.json +1 -0
- package/src/elements/feedback/alert/style.css +75 -0
- package/src/elements/feedback/empty/index.html +13 -0
- package/src/elements/feedback/empty/index.js +34 -0
- package/src/elements/feedback/empty/index.tags.json +1 -0
- package/src/elements/feedback/empty/style.css +45 -0
- package/src/elements/feedback/progress/index.html +7 -0
- package/src/elements/feedback/progress/index.js +46 -0
- package/src/elements/feedback/progress/index.tags.json +1 -0
- package/src/elements/feedback/progress/style.css +36 -0
- package/src/elements/feedback/skeleton/index.html +1 -0
- package/src/elements/feedback/skeleton/index.js +78 -0
- package/src/elements/feedback/skeleton/index.tags.json +1 -0
- package/src/elements/feedback/skeleton/style.css +28 -0
- package/src/elements/feedback/toast/index.html +3 -0
- package/src/elements/feedback/toast/index.js +65 -0
- package/src/elements/feedback/toast/index.tags.json +1 -0
- package/src/elements/feedback/toast/style.css +36 -0
- package/src/elements/forms/checkbox/index.html +7 -0
- package/src/elements/forms/checkbox/index.js +104 -0
- package/src/elements/forms/checkbox/index.tags.json +1 -0
- package/src/elements/forms/checkbox/style.css +86 -0
- package/src/elements/forms/field/index.html +13 -0
- package/src/elements/forms/field/index.js +42 -0
- package/src/elements/forms/field/index.tags.json +1 -0
- package/src/elements/forms/field/style.css +42 -0
- package/src/elements/forms/form/index.html +3 -0
- package/src/elements/forms/form/index.js +122 -0
- package/src/elements/forms/form/index.tags.json +1 -0
- package/src/elements/forms/form/style.css +11 -0
- package/src/elements/forms/input/index.html +4 -0
- package/src/elements/forms/input/index.js +103 -0
- package/src/elements/forms/input/index.tags.json +1 -0
- package/src/elements/forms/input/style.css +39 -0
- package/src/elements/forms/radio/index.html +4 -0
- package/src/elements/forms/radio/index.js +109 -0
- package/src/elements/forms/radio/index.tags.json +1 -0
- package/src/elements/forms/radio/style.css +65 -0
- package/src/elements/forms/select/index.html +9 -0
- package/src/elements/forms/select/index.js +114 -0
- package/src/elements/forms/select/index.tags.json +1 -0
- package/src/elements/forms/select/style.css +95 -0
- package/src/elements/forms/textarea/index.html +4 -0
- package/src/elements/forms/textarea/index.js +115 -0
- package/src/elements/forms/textarea/index.tags.json +1 -0
- package/src/elements/forms/textarea/style.css +46 -0
- package/src/elements/forms/toggle/index.html +4 -0
- package/src/elements/forms/toggle/index.js +89 -0
- package/src/elements/forms/toggle/index.tags.json +1 -0
- package/src/elements/forms/toggle/style.css +63 -0
- package/src/elements/forms/upload/index.html +13 -0
- package/src/elements/forms/upload/index.js +120 -0
- package/src/elements/forms/upload/index.tags.json +1 -0
- package/src/elements/forms/upload/style.css +61 -0
- package/src/elements/index.js +71 -0
- package/src/elements/layout/app/index.html +7 -0
- package/src/elements/layout/app/index.js +16 -0
- package/src/elements/layout/app/index.tags.json +1 -0
- package/src/elements/layout/app/style.css +41 -0
- package/src/elements/layout/grid/index.html +3 -0
- package/src/elements/layout/grid/index.js +41 -0
- package/src/elements/layout/grid/index.tags.json +1 -0
- package/src/elements/layout/grid/style.css +12 -0
- package/src/elements/layout/header/index.html +8 -0
- package/src/elements/layout/header/index.js +16 -0
- package/src/elements/layout/header/index.tags.json +1 -0
- package/src/elements/layout/header/style.css +28 -0
- package/src/elements/layout/scroll/index.html +3 -0
- package/src/elements/layout/scroll/index.js +19 -0
- package/src/elements/layout/scroll/index.tags.json +1 -0
- package/src/elements/layout/scroll/style.css +24 -0
- package/src/elements/layout/sidebar/index.html +3 -0
- package/src/elements/layout/sidebar/index.js +24 -0
- package/src/elements/layout/sidebar/index.tags.json +1 -0
- package/src/elements/layout/sidebar/style.css +30 -0
- package/src/elements/layout/split/index.html +3 -0
- package/src/elements/layout/split/index.js +18 -0
- package/src/elements/layout/split/index.tags.json +1 -0
- package/src/elements/layout/split/style.css +28 -0
- package/src/elements/layout/stack/index.html +3 -0
- package/src/elements/layout/stack/index.js +31 -0
- package/src/elements/layout/stack/index.tags.json +1 -0
- package/src/elements/layout/stack/style.css +15 -0
- package/src/elements/layout/surface/index.html +3 -0
- package/src/elements/layout/surface/index.js +19 -0
- package/src/elements/layout/surface/index.tags.json +1 -0
- package/src/elements/layout/surface/style.css +29 -0
- package/src/elements/navigation/breadcrumb/index.html +5 -0
- package/src/elements/navigation/breadcrumb/index.js +16 -0
- package/src/elements/navigation/breadcrumb/index.tags.json +1 -0
- package/src/elements/navigation/breadcrumb/style.css +36 -0
- package/src/elements/navigation/nav/index.html +3 -0
- package/src/elements/navigation/nav/index.js +24 -0
- package/src/elements/navigation/nav/index.tags.json +1 -0
- package/src/elements/navigation/nav/style.css +38 -0
- package/src/elements/navigation/pagination/index.html +3 -0
- package/src/elements/navigation/pagination/index.js +94 -0
- package/src/elements/navigation/pagination/index.tags.json +1 -0
- package/src/elements/navigation/pagination/style.css +39 -0
- package/src/elements/navigation/steps/index.html +6 -0
- package/src/elements/navigation/steps/index.js +64 -0
- package/src/elements/navigation/steps/index.tags.json +1 -0
- package/src/elements/navigation/steps/style.css +78 -0
- package/src/elements/navigation/tabs/index.html +6 -0
- package/src/elements/navigation/tabs/index.js +132 -0
- package/src/elements/navigation/tabs/index.tags.json +1 -0
- package/src/elements/navigation/tabs/style.css +52 -0
- package/src/elements/overlay/dialog/index.html +5 -0
- package/src/elements/overlay/dialog/index.js +57 -0
- package/src/elements/overlay/dialog/index.tags.json +1 -0
- package/src/elements/overlay/dialog/style.css +31 -0
- package/src/elements/overlay/drawer/index.html +3 -0
- package/src/elements/overlay/drawer/index.js +56 -0
- package/src/elements/overlay/drawer/index.tags.json +1 -0
- package/src/elements/overlay/drawer/style.css +48 -0
- package/src/elements/overlay/menu/index.html +3 -0
- package/src/elements/overlay/menu/index.js +107 -0
- package/src/elements/overlay/menu/index.tags.json +1 -0
- package/src/elements/overlay/menu/style.css +43 -0
- package/src/elements/overlay/popover/index.html +3 -0
- package/src/elements/overlay/popover/index.js +44 -0
- package/src/elements/overlay/popover/index.tags.json +1 -0
- package/src/elements/overlay/popover/style.css +21 -0
- package/src/elements/overlay/sheet/index.html +8 -0
- package/src/elements/overlay/sheet/index.js +105 -0
- package/src/elements/overlay/sheet/index.tags.json +1 -0
- package/src/elements/overlay/sheet/style.css +64 -0
- package/src/elements/overlay/tooltip/index.html +6 -0
- package/src/elements/overlay/tooltip/index.js +16 -0
- package/src/elements/overlay/tooltip/index.tags.json +1 -0
- package/src/elements/overlay/tooltip/style.css +41 -0
- package/src/elements/primitives/avatar/index.html +2 -0
- package/src/elements/primitives/avatar/index.js +79 -0
- package/src/elements/primitives/avatar/index.tags.json +1 -0
- package/src/elements/primitives/avatar/style.css +36 -0
- package/src/elements/primitives/badge/index.html +3 -0
- package/src/elements/primitives/badge/index.js +20 -0
- package/src/elements/primitives/badge/index.tags.json +1 -0
- package/src/elements/primitives/badge/style.css +67 -0
- package/src/elements/primitives/button/index.html +3 -0
- package/src/elements/primitives/button/index.js +61 -0
- package/src/elements/primitives/button/index.tags.json +1 -0
- package/src/elements/primitives/button/style.css +66 -0
- package/src/elements/primitives/divider/index.html +1 -0
- package/src/elements/primitives/divider/index.js +43 -0
- package/src/elements/primitives/divider/index.tags.json +1 -0
- package/src/elements/primitives/divider/style.css +39 -0
- package/src/elements/primitives/icon/index.html +3 -0
- package/src/elements/primitives/icon/index.js +66 -0
- package/src/elements/primitives/icon/index.tags.json +1 -0
- package/src/elements/primitives/icon/style.css +20 -0
- package/src/elements/primitives/link/index.html +3 -0
- package/src/elements/primitives/link/index.js +129 -0
- package/src/elements/primitives/link/index.tags.json +1 -0
- package/src/elements/primitives/link/style.css +40 -0
- package/src/elements/primitives/spinner/index.html +1 -0
- package/src/elements/primitives/spinner/index.js +62 -0
- package/src/elements/primitives/spinner/index.tags.json +1 -0
- package/src/elements/primitives/spinner/style.css +20 -0
- package/src/elements/primitives/text/index.html +1 -0
- package/src/elements/primitives/text/index.js +79 -0
- package/src/elements/primitives/text/index.tags.json +1 -0
- package/src/elements/primitives/text/style.css +25 -0
- package/src/index.js +23 -0
- package/src/styles/base.css +66 -0
- package/src/styles/index.css +10 -0
- package/src/styles/layers.css +9 -0
- package/src/styles/reset.css +66 -0
- package/src/sw/activate.js +51 -0
- package/src/sw/expire.js +47 -0
- package/src/sw/index.js +28 -0
- package/src/sw/install.js +35 -0
- package/src/sw/push.js +58 -0
- package/src/sw/queue.js +60 -0
- package/src/sw/routes.js +71 -0
- package/src/sw/strategies.js +247 -0
- package/src/sw/sync.js +80 -0
- package/src/tokens/index.css +26 -0
- package/src/tokens/primitives/colors.css +54 -0
- package/src/tokens/primitives/motion.css +34 -0
- package/src/tokens/primitives/radius.css +16 -0
- package/src/tokens/primitives/shadow.css +34 -0
- package/src/tokens/primitives/spacing.css +27 -0
- package/src/tokens/primitives/typography.css +46 -0
- package/src/tokens/primitives/zindex.css +18 -0
- package/src/tokens/registered/colors.css +133 -0
- package/src/tokens/registered/dimensions.css +31 -0
- package/src/tokens/semantic/components.css +125 -0
- package/src/tokens/semantic/contrast.css +33 -0
- package/src/tokens/semantic/dark.css +61 -0
- package/src/tokens/semantic/light.css +64 -0
- package/types/core/animations/index.d.ts +52 -0
- package/types/core/api/index.d.ts +68 -0
- package/types/core/events/index.d.ts +50 -0
- package/types/core/offline/index.d.ts +68 -0
- package/types/core/platform/index.d.ts +60 -0
- package/types/core/router/index.d.ts +203 -0
- package/types/core/security/index.d.ts +33 -0
- package/types/core/state/index.d.ts +68 -0
- package/types/core/storage/index.d.ts +40 -0
- package/types/core/ui/index.d.ts +446 -0
- package/types/core/workers/index.d.ts +221 -0
- package/types/elements/index.d.ts +150 -0
- package/types/index.d.ts +18 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* types/core/platform/index.d.ts
|
|
3
|
+
*
|
|
4
|
+
* TypeScript declarations for browser-native feature detection flags and platform guards.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const supports: {
|
|
8
|
+
readonly navigationAPI: boolean;
|
|
9
|
+
readonly urlPattern: boolean;
|
|
10
|
+
readonly declarativeShadowDOM: boolean;
|
|
11
|
+
readonly customStatePseudo: boolean;
|
|
12
|
+
readonly formAssociated: boolean;
|
|
13
|
+
readonly popoverAPI: boolean;
|
|
14
|
+
readonly anchorPositioning: boolean;
|
|
15
|
+
readonly viewTransitions: boolean;
|
|
16
|
+
readonly scrollTimeline: boolean;
|
|
17
|
+
readonly viewTimeline: boolean;
|
|
18
|
+
readonly schedulerPostTask: boolean;
|
|
19
|
+
readonly schedulerYield: boolean;
|
|
20
|
+
readonly contentVisibility: boolean;
|
|
21
|
+
readonly cssScope: boolean;
|
|
22
|
+
readonly cssLayer: boolean;
|
|
23
|
+
readonly cssModuleScripts: boolean;
|
|
24
|
+
readonly importMaps: boolean;
|
|
25
|
+
readonly sanitizerAPI: boolean;
|
|
26
|
+
readonly trustedTypes: boolean;
|
|
27
|
+
readonly subtleCrypto: boolean;
|
|
28
|
+
readonly opfs: boolean;
|
|
29
|
+
readonly storageManager: boolean;
|
|
30
|
+
readonly fileSystemPickers: boolean;
|
|
31
|
+
readonly compression: boolean;
|
|
32
|
+
readonly storagePersistence: boolean;
|
|
33
|
+
readonly backgroundSync: boolean;
|
|
34
|
+
readonly speculationRules: boolean;
|
|
35
|
+
readonly sharedWorker: boolean;
|
|
36
|
+
readonly webLocks: boolean;
|
|
37
|
+
readonly offscreenCanvas: boolean;
|
|
38
|
+
readonly pushAPI: boolean;
|
|
39
|
+
readonly notificationsAPI: boolean;
|
|
40
|
+
readonly screenWakeLock: boolean;
|
|
41
|
+
readonly idleDetection: boolean;
|
|
42
|
+
readonly webAuthn: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export function reset(key: keyof typeof supports): void;
|
|
46
|
+
|
|
47
|
+
export interface SanitizerWrapper {
|
|
48
|
+
sanitizeToString(input: string): string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const guard: {
|
|
52
|
+
urlPattern(): Promise<any>;
|
|
53
|
+
navigation(): Promise<any>;
|
|
54
|
+
popover(): Promise<void>;
|
|
55
|
+
shadow(root?: ParentNode): Promise<void>;
|
|
56
|
+
anchor(floating: HTMLElement, anchorEl: HTMLElement, options?: any): Promise<void>;
|
|
57
|
+
sanitizer(): Promise<SanitizerWrapper>;
|
|
58
|
+
scheduler(): Promise<any>;
|
|
59
|
+
yield(): Promise<void>;
|
|
60
|
+
};
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* types/core/router/index.d.ts
|
|
3
|
+
*
|
|
4
|
+
* Strict TypeScript declarations for the Native Router runtime.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Disposer } from '../ui/index.js';
|
|
8
|
+
|
|
9
|
+
export interface RouteRecord {
|
|
10
|
+
patternStr: string;
|
|
11
|
+
handler: unknown;
|
|
12
|
+
meta: Record<string, unknown>;
|
|
13
|
+
pattern: any;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ChainSegment {
|
|
17
|
+
route: RouteRecord;
|
|
18
|
+
tag: string;
|
|
19
|
+
params: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface MatchResult {
|
|
23
|
+
route: RouteRecord;
|
|
24
|
+
tag: string;
|
|
25
|
+
params: Record<string, string>;
|
|
26
|
+
query: Record<string, string>;
|
|
27
|
+
hash: string;
|
|
28
|
+
chain: ChainSegment[];
|
|
29
|
+
result: any;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface NavigationResult {
|
|
33
|
+
committed: Promise<any>;
|
|
34
|
+
finished: Promise<any>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface RouterEventPayloads {
|
|
38
|
+
found: {
|
|
39
|
+
tag: string;
|
|
40
|
+
params: Record<string, string>;
|
|
41
|
+
query: Record<string, string>;
|
|
42
|
+
hash: string;
|
|
43
|
+
chain: ChainSegment[];
|
|
44
|
+
url: string;
|
|
45
|
+
direction: string;
|
|
46
|
+
};
|
|
47
|
+
notfound: {
|
|
48
|
+
url: string;
|
|
49
|
+
};
|
|
50
|
+
error: {
|
|
51
|
+
error: Error;
|
|
52
|
+
url: string | null;
|
|
53
|
+
route: RouteRecord | null;
|
|
54
|
+
phase: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export type RouterGuard = (
|
|
59
|
+
destination: any,
|
|
60
|
+
controller: any
|
|
61
|
+
) => string | null | undefined | Promise<string | null | undefined>;
|
|
62
|
+
|
|
63
|
+
export interface GuardsApi {
|
|
64
|
+
add(guardFn: RouterGuard): Disposer;
|
|
65
|
+
clear(): void;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface MissApi {
|
|
69
|
+
set(handler: (event: any) => any): Disposer;
|
|
70
|
+
clear(): void;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface SyncApi {
|
|
74
|
+
start(r?: any): void;
|
|
75
|
+
stop(): void;
|
|
76
|
+
active(): boolean;
|
|
77
|
+
close(): void;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface LinksApi {
|
|
81
|
+
add(
|
|
82
|
+
pattern: string,
|
|
83
|
+
factory: (ctx: { url: URL; params: Record<string, string> }) => any
|
|
84
|
+
): Disposer;
|
|
85
|
+
remove(pattern: string): void;
|
|
86
|
+
clear(): void;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface TransitionController {
|
|
90
|
+
url: string;
|
|
91
|
+
promise: Promise<any>;
|
|
92
|
+
on<K extends keyof RouterEventPayloads>(
|
|
93
|
+
event: K,
|
|
94
|
+
callback: (payload: RouterEventPayloads[K]) => void
|
|
95
|
+
): this;
|
|
96
|
+
on(event: 'error', callback: (error: Error) => void): this;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface RouterApi {
|
|
100
|
+
register(patternStr: string, handler: unknown, meta?: Record<string, unknown>): void;
|
|
101
|
+
clear(): void;
|
|
102
|
+
guard(fn: RouterGuard): Disposer;
|
|
103
|
+
notFound(callback: (event: any) => void | Promise<void>): Disposer;
|
|
104
|
+
|
|
105
|
+
guards: GuardsApi;
|
|
106
|
+
miss: MissApi;
|
|
107
|
+
links: LinksApi;
|
|
108
|
+
sync: SyncApi;
|
|
109
|
+
|
|
110
|
+
navigate(url: string, options?: { state?: any; info?: any; history?: 'push' | 'replace' }): NavigationResult;
|
|
111
|
+
replace(url: string, options?: { state?: any; info?: any }): NavigationResult;
|
|
112
|
+
back(): NavigationResult;
|
|
113
|
+
forward(): NavigationResult;
|
|
114
|
+
go(delta: number): NavigationResult;
|
|
115
|
+
current(): any;
|
|
116
|
+
entries(): any[];
|
|
117
|
+
canBack(): boolean;
|
|
118
|
+
canForward(): boolean;
|
|
119
|
+
|
|
120
|
+
match(url: string | URL): Promise<MatchResult | null>;
|
|
121
|
+
|
|
122
|
+
on<K extends keyof RouterEventPayloads>(
|
|
123
|
+
type: K,
|
|
124
|
+
callback: (payload: RouterEventPayloads[K]) => void,
|
|
125
|
+
signal?: AbortSignal
|
|
126
|
+
): Disposer;
|
|
127
|
+
|
|
128
|
+
nav: {
|
|
129
|
+
to(url: string, options?: { state?: any; info?: any; history?: 'push' | 'replace' }): TransitionController;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
registerConnection(
|
|
133
|
+
pattern: string,
|
|
134
|
+
factory: (ctx: { url: URL; params: Record<string, string> }) => any
|
|
135
|
+
): Disposer;
|
|
136
|
+
getActiveConnections(): Map<string, any>;
|
|
137
|
+
clearConnections(): void;
|
|
138
|
+
|
|
139
|
+
registerContainer(name: string, element: Element): void;
|
|
140
|
+
unregisterContainer(name: string): void;
|
|
141
|
+
getContainer(name: string): Element | null;
|
|
142
|
+
clearContainers(): void;
|
|
143
|
+
|
|
144
|
+
setup(): void;
|
|
145
|
+
destroy(): void;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export const router: RouterApi;
|
|
149
|
+
|
|
150
|
+
export function navigate(url: string, options?: { state?: any; info?: any; history?: 'push' | 'replace' }): NavigationResult;
|
|
151
|
+
export function replace(url: string, options?: { state?: any; info?: any }): NavigationResult;
|
|
152
|
+
export function back(): NavigationResult;
|
|
153
|
+
export function forward(): NavigationResult;
|
|
154
|
+
export function go(delta: number): NavigationResult;
|
|
155
|
+
export function current(): any;
|
|
156
|
+
export function entries(): any[];
|
|
157
|
+
export function canBack(): boolean;
|
|
158
|
+
export function canForward(): boolean;
|
|
159
|
+
|
|
160
|
+
export function register(patternStr: string, handler: unknown, meta?: Record<string, unknown>): void;
|
|
161
|
+
export function match(url: string | URL): Promise<MatchResult | null>;
|
|
162
|
+
export function clear(): void;
|
|
163
|
+
export function getRoutes(): RouteRecord[];
|
|
164
|
+
|
|
165
|
+
export function addGuard(guardFn: RouterGuard): Disposer;
|
|
166
|
+
export function setNotFound(handler: (event: any) => any): Disposer;
|
|
167
|
+
export function setup(): void;
|
|
168
|
+
export function destroy(): void;
|
|
169
|
+
export function on<K extends keyof RouterEventPayloads>(
|
|
170
|
+
type: K,
|
|
171
|
+
callback: (payload: RouterEventPayloads[K]) => void,
|
|
172
|
+
signal?: AbortSignal
|
|
173
|
+
): Disposer;
|
|
174
|
+
export const nav: {
|
|
175
|
+
to(url: string, options?: { state?: any; info?: any; history?: 'push' | 'replace' }): TransitionController;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export const guardsApi: GuardsApi;
|
|
179
|
+
export const missApi: MissApi;
|
|
180
|
+
|
|
181
|
+
export function setupTabSync(r?: any): void;
|
|
182
|
+
export function registerConnection(
|
|
183
|
+
pattern: string,
|
|
184
|
+
factory: (ctx: { url: URL; params: Record<string, string> }) => any
|
|
185
|
+
): Disposer;
|
|
186
|
+
export function getActiveConnections(): Map<string, any>;
|
|
187
|
+
export function clearConnections(): void;
|
|
188
|
+
export const links: LinksApi;
|
|
189
|
+
|
|
190
|
+
export function registerContainer(name: string, element: Element): void;
|
|
191
|
+
export function unregisterContainer(name: string): void;
|
|
192
|
+
export function getContainer(name: string): Element | null;
|
|
193
|
+
export function clearContainers(): void;
|
|
194
|
+
|
|
195
|
+
export class RouteOutlet extends HTMLElement {
|
|
196
|
+
update(detail: { chain: ChainSegment[]; query: Record<string, string>; hash: string }): Promise<void>;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
declare global {
|
|
200
|
+
interface HTMLElementTagNameMap {
|
|
201
|
+
'route-outlet': RouteOutlet;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* types/core/security/index.d.ts
|
|
3
|
+
*
|
|
4
|
+
* TypeScript declarations for the platform security operations layer.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export function uuid(): string;
|
|
8
|
+
export function hash(data: string | ArrayBuffer, algo?: string): Promise<ArrayBuffer>;
|
|
9
|
+
export function generateKey(algo?: string, usages?: KeyUsage[], extractable?: boolean): Promise<CryptoKey>;
|
|
10
|
+
export function deriveKey(password: string, salt: string | ArrayBuffer, iterations?: number): Promise<CryptoKey>;
|
|
11
|
+
export function encrypt(key: CryptoKey, data: string | ArrayBuffer): Promise<ArrayBuffer>;
|
|
12
|
+
export function decrypt(key: CryptoKey, combinedData: ArrayBuffer): Promise<ArrayBuffer>;
|
|
13
|
+
export function sign(key: CryptoKey, data: string | ArrayBuffer): Promise<ArrayBuffer>;
|
|
14
|
+
export function verify(key: CryptoKey, signature: ArrayBuffer, data: string | ArrayBuffer): Promise<boolean>;
|
|
15
|
+
|
|
16
|
+
export function sanitize(html: string, config?: any): string;
|
|
17
|
+
|
|
18
|
+
export function permission(name: PermissionName): Promise<PermissionState>;
|
|
19
|
+
export function watchPermission(name: PermissionName, fn: (state: PermissionState) => void, signal?: AbortSignal): () => void;
|
|
20
|
+
|
|
21
|
+
export const security: {
|
|
22
|
+
uuid: typeof uuid;
|
|
23
|
+
hash: typeof hash;
|
|
24
|
+
generateKey: typeof generateKey;
|
|
25
|
+
deriveKey: typeof deriveKey;
|
|
26
|
+
encrypt: typeof encrypt;
|
|
27
|
+
decrypt: typeof decrypt;
|
|
28
|
+
sign: typeof sign;
|
|
29
|
+
verify: typeof verify;
|
|
30
|
+
sanitize: typeof sanitize;
|
|
31
|
+
permission: typeof permission;
|
|
32
|
+
watchPermission: typeof watchPermission;
|
|
33
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* types/core/state/index.d.ts
|
|
3
|
+
*
|
|
4
|
+
* TypeScript declarations for the reactive state management layer.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export interface StoreOptions<T> {
|
|
8
|
+
deep?: boolean;
|
|
9
|
+
clone?: (state: T) => T;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class ReactiveStore<T extends Record<string, any>> {
|
|
13
|
+
constructor(initialState: T, options?: StoreOptions<T>);
|
|
14
|
+
get<K extends keyof T>(key: K): T[K];
|
|
15
|
+
set<K extends keyof T>(key: K, value: T[K], source?: string): void;
|
|
16
|
+
subscribe<K extends keyof T>(
|
|
17
|
+
key: K,
|
|
18
|
+
callback: (val: T[K]) => void,
|
|
19
|
+
signal?: AbortSignal
|
|
20
|
+
): () => void;
|
|
21
|
+
onMutation(callback: (key: string, value: any, source: string) => void): () => void;
|
|
22
|
+
batch(fn: () => void): void;
|
|
23
|
+
snapshot(): T;
|
|
24
|
+
hydrate(state: Partial<T>): void;
|
|
25
|
+
reset(initialState: T): void;
|
|
26
|
+
broadcast(channelName: string, keys?: string[]): () => void;
|
|
27
|
+
derived<V>(keys: string[] | (() => V), compute?: () => V): DerivedValue<V>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export class DerivedValue<T> {
|
|
31
|
+
constructor(compute: () => T);
|
|
32
|
+
readonly value: T;
|
|
33
|
+
subscribe(callback: () => void): () => void;
|
|
34
|
+
dispose(): void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function derived<T>(compute: () => T): DerivedValue<T>;
|
|
38
|
+
|
|
39
|
+
export function sync(
|
|
40
|
+
store: ReactiveStore<any>,
|
|
41
|
+
keys?: string[],
|
|
42
|
+
channelName?: string
|
|
43
|
+
): () => void;
|
|
44
|
+
|
|
45
|
+
export class PlatformStorage {
|
|
46
|
+
registerMigrations(migrations: Array<(db: IDBDatabase, tx: IDBTransaction) => void>): void;
|
|
47
|
+
open(): Promise<IDBDatabase>;
|
|
48
|
+
get(storeName: string, key: string): Promise<any>;
|
|
49
|
+
set(storeName: string, key: string, value: any, options?: { ttl?: number }): Promise<void>;
|
|
50
|
+
delete(storeName: string, key: string): Promise<void>;
|
|
51
|
+
query(storeName: string, queryFn?: (item: any) => boolean): Promise<any[]>;
|
|
52
|
+
estimate(): Promise<{ quota?: number; usage?: number }>;
|
|
53
|
+
persist(): Promise<boolean>;
|
|
54
|
+
isPersisted(): Promise<boolean>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const storage: PlatformStorage;
|
|
58
|
+
|
|
59
|
+
export const state: {
|
|
60
|
+
create<T extends Record<string, any>>(initial: T, options?: StoreOptions<T>): ReactiveStore<T>;
|
|
61
|
+
derived: typeof derived;
|
|
62
|
+
sync: typeof sync;
|
|
63
|
+
storage: PlatformStorage;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export function setActiveSubscriber(subscriber: Set<any> | null): void;
|
|
67
|
+
export function getActiveSubscriber(): Set<any> | null;
|
|
68
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* types/core/storage/index.d.ts
|
|
3
|
+
*
|
|
4
|
+
* TypeScript declarations for the unified storage gateway.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export interface StorageQuotaEstimate {
|
|
8
|
+
quota: number;
|
|
9
|
+
usage: number;
|
|
10
|
+
persisted: boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type StorageTier = 'memory' | 'idb' | 'opfs' | 'cache';
|
|
14
|
+
|
|
15
|
+
export const storage: {
|
|
16
|
+
get(key: string, tier?: StorageTier): Promise<any>;
|
|
17
|
+
set(key: string, value: any, tier?: StorageTier, ttl?: number | null): Promise<void>;
|
|
18
|
+
delete(key: string, tier?: StorageTier): Promise<void>;
|
|
19
|
+
query(
|
|
20
|
+
storeName: string,
|
|
21
|
+
queryOpts?: {
|
|
22
|
+
index?: string;
|
|
23
|
+
range?: IDBKeyRange;
|
|
24
|
+
direction?: IDBCursorDirection;
|
|
25
|
+
limit?: number;
|
|
26
|
+
}
|
|
27
|
+
): Promise<any[]>;
|
|
28
|
+
list(tier?: StorageTier): Promise<string[]>;
|
|
29
|
+
clear(tier?: 'all' | StorageTier): Promise<void>;
|
|
30
|
+
estimate(): Promise<StorageQuotaEstimate>;
|
|
31
|
+
persist(): Promise<boolean>;
|
|
32
|
+
persisted(): Promise<boolean>;
|
|
33
|
+
transaction(
|
|
34
|
+
storeNames: string | string[],
|
|
35
|
+
mode: 'readonly' | 'readwrite',
|
|
36
|
+
callback: (store: (name: string) => IDBObjectStore, tx: IDBTransaction) => any
|
|
37
|
+
): Promise<any>;
|
|
38
|
+
onQuotaWarning(handler: (estimate: { usage: number; quota: number }) => void): () => void;
|
|
39
|
+
};
|
|
40
|
+
|