@sparqjs/schema-vue 0.1.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/dist/asset/index.d.ts +5 -0
- package/dist/asset/index.d.ts.map +1 -0
- package/dist/asset/picker/AssetPickerParts.d.ts +43 -0
- package/dist/asset/picker/AssetPickerParts.d.ts.map +1 -0
- package/dist/asset/picker/AssetPickerRoot.d.ts +36 -0
- package/dist/asset/picker/AssetPickerRoot.d.ts.map +1 -0
- package/dist/asset/picker/AssetPickerServerPanel.d.ts +38 -0
- package/dist/asset/picker/AssetPickerServerPanel.d.ts.map +1 -0
- package/dist/asset/picker/index.d.ts +4 -0
- package/dist/asset/picker/index.d.ts.map +1 -0
- package/dist/asset/picker/service.d.ts +4 -0
- package/dist/asset/picker/service.d.ts.map +1 -0
- package/dist/asset/picker/types.d.ts +50 -0
- package/dist/asset/picker/types.d.ts.map +1 -0
- package/dist/asset/preview/AssetPreview.d.ts +64 -0
- package/dist/asset/preview/AssetPreview.d.ts.map +1 -0
- package/dist/asset/preview/index.d.ts +3 -0
- package/dist/asset/preview/index.d.ts.map +1 -0
- package/dist/asset/preview/registry.d.ts +35 -0
- package/dist/asset/preview/registry.d.ts.map +1 -0
- package/dist/asset/service.d.ts +39 -0
- package/dist/asset/service.d.ts.map +1 -0
- package/dist/asset/upload/AssetUploadPanel.d.ts +82 -0
- package/dist/asset/upload/AssetUploadPanel.d.ts.map +1 -0
- package/dist/asset/upload/executor.d.ts +59 -0
- package/dist/asset/upload/executor.d.ts.map +1 -0
- package/dist/asset/upload/files.d.ts +16 -0
- package/dist/asset/upload/files.d.ts.map +1 -0
- package/dist/asset/upload/hash-file.d.ts +7 -0
- package/dist/asset/upload/hash-file.d.ts.map +1 -0
- package/dist/asset/upload/hash-worker.d.ts +2 -0
- package/dist/asset/upload/hash-worker.d.ts.map +1 -0
- package/dist/asset/upload/index.d.ts +6 -0
- package/dist/asset/upload/index.d.ts.map +1 -0
- package/dist/asset/upload/queue.d.ts +23 -0
- package/dist/asset/upload/queue.d.ts.map +1 -0
- package/dist/assets/hash-worker-DEktbSny.js +8 -0
- package/dist/assets/hash-worker-DEktbSny.js.map +1 -0
- package/dist/components/SparqView.d.ts +65 -0
- package/dist/components/SparqView.d.ts.map +1 -0
- package/dist/custom-components/IconInput/IconInput.d.ts +45 -0
- package/dist/custom-components/IconInput/IconInput.d.ts.map +1 -0
- package/dist/custom-components/IconInput/SqIcon.d.ts +29 -0
- package/dist/custom-components/IconInput/SqIcon.d.ts.map +1 -0
- package/dist/custom-components/IconInput/SqIconInput.d.ts +184 -0
- package/dist/custom-components/IconInput/SqIconInput.d.ts.map +1 -0
- package/dist/custom-components/IconInput/index.d.ts +5 -0
- package/dist/custom-components/IconInput/index.d.ts.map +1 -0
- package/dist/custom-components/JsonEditor/JsonEditor.d.ts +39 -0
- package/dist/custom-components/JsonEditor/JsonEditor.d.ts.map +1 -0
- package/dist/custom-components/JsonEditor/SqJson.d.ts +103 -0
- package/dist/custom-components/JsonEditor/SqJson.d.ts.map +1 -0
- package/dist/custom-components/JsonEditor/index.d.ts +5 -0
- package/dist/custom-components/JsonEditor/index.d.ts.map +1 -0
- package/dist/custom-components/KeyValueEditor/KeyValueEditor.d.ts +37 -0
- package/dist/custom-components/KeyValueEditor/KeyValueEditor.d.ts.map +1 -0
- package/dist/custom-components/KeyValueEditor/SqKeyValue.d.ts +102 -0
- package/dist/custom-components/KeyValueEditor/SqKeyValue.d.ts.map +1 -0
- package/dist/custom-components/KeyValueEditor/index.d.ts +5 -0
- package/dist/custom-components/KeyValueEditor/index.d.ts.map +1 -0
- package/dist/custom-components/RichText/RichText.d.ts +49 -0
- package/dist/custom-components/RichText/RichText.d.ts.map +1 -0
- package/dist/custom-components/RichText/SqRichText.d.ts +139 -0
- package/dist/custom-components/RichText/SqRichText.d.ts.map +1 -0
- package/dist/custom-components/RichText/index.d.ts +3 -0
- package/dist/custom-components/RichText/index.d.ts.map +1 -0
- package/dist/custom-components/Upload/SqFileUpload.d.ts +42 -0
- package/dist/custom-components/Upload/SqFileUpload.d.ts.map +1 -0
- package/dist/custom-components/Upload/SqImageUpload.d.ts +42 -0
- package/dist/custom-components/Upload/SqImageUpload.d.ts.map +1 -0
- package/dist/custom-components/Upload/SqUpload.d.ts +45 -0
- package/dist/custom-components/Upload/SqUpload.d.ts.map +1 -0
- package/dist/custom-components/Upload/Upload.d.ts +44 -0
- package/dist/custom-components/Upload/Upload.d.ts.map +1 -0
- package/dist/custom-components/Upload/index.d.ts +5 -0
- package/dist/custom-components/Upload/index.d.ts.map +1 -0
- package/dist/custom-components/index.d.ts +681 -0
- package/dist/custom-components/index.d.ts.map +1 -0
- package/dist/custom-components/shared/props.d.ts +5 -0
- package/dist/custom-components/shared/props.d.ts.map +1 -0
- package/dist/custom-components/shared/render.d.ts +4 -0
- package/dist/custom-components/shared/render.d.ts.map +1 -0
- package/dist/custom-components/shared/standalone.d.ts +53 -0
- package/dist/custom-components/shared/standalone.d.ts.map +1 -0
- package/dist/custom-components/types.d.ts +20 -0
- package/dist/custom-components/types.d.ts.map +1 -0
- package/dist/display-format.d.ts +2 -0
- package/dist/display-format.d.ts.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5995 -0
- package/dist/index.js.map +1 -0
- package/dist/install.d.ts +9 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/keys.d.ts +74 -0
- package/dist/keys.d.ts.map +1 -0
- package/dist/presentation/host.d.ts +33 -0
- package/dist/presentation/host.d.ts.map +1 -0
- package/dist/presentation/index.d.ts +2 -0
- package/dist/presentation/index.d.ts.map +1 -0
- package/dist/registry/component.d.ts +121 -0
- package/dist/registry/component.d.ts.map +1 -0
- package/dist/registry/contribution.d.ts +95 -0
- package/dist/registry/contribution.d.ts.map +1 -0
- package/dist/registry/icon.d.ts +21 -0
- package/dist/registry/icon.d.ts.map +1 -0
- package/dist/registry/index.d.ts +5 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/rich-text.d.ts +52 -0
- package/dist/registry/rich-text.d.ts.map +1 -0
- package/dist/render/action-context.d.ts +16 -0
- package/dist/render/action-context.d.ts.map +1 -0
- package/dist/render/audit.d.ts +5 -0
- package/dist/render/audit.d.ts.map +1 -0
- package/dist/render/container-structure.d.ts +20 -0
- package/dist/render/container-structure.d.ts.map +1 -0
- package/dist/render/context.d.ts +52 -0
- package/dist/render/context.d.ts.map +1 -0
- package/dist/render/embedded-view.d.ts +5 -0
- package/dist/render/embedded-view.d.ts.map +1 -0
- package/dist/render/field-node.d.ts +11 -0
- package/dist/render/field-node.d.ts.map +1 -0
- package/dist/render/index.d.ts +22 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/layout-node.d.ts +22 -0
- package/dist/render/layout-node.d.ts.map +1 -0
- package/dist/render/page-structure.d.ts +7 -0
- package/dist/render/page-structure.d.ts.map +1 -0
- package/dist/render/structure.d.ts +7 -0
- package/dist/render/structure.d.ts.map +1 -0
- package/dist/render/view-node.d.ts +2 -0
- package/dist/render/view-node.d.ts.map +1 -0
- package/dist/render/view-structures.d.ts +24 -0
- package/dist/render/view-structures.d.ts.map +1 -0
- package/dist/runtime/controller.d.ts +4 -0
- package/dist/runtime/controller.d.ts.map +1 -0
- package/dist/runtime/feedback.d.ts +19 -0
- package/dist/runtime/feedback.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/renderer.d.ts +8 -0
- package/dist/runtime/renderer.d.ts.map +1 -0
- package/dist/runtime/state.d.ts +6 -0
- package/dist/runtime/state.d.ts.map +1 -0
- package/dist/runtime/write-back.d.ts +11 -0
- package/dist/runtime/write-back.d.ts.map +1 -0
- package/dist/semantic-components/FieldDisplay.d.ts +12 -0
- package/dist/semantic-components/FieldDisplay.d.ts.map +1 -0
- package/dist/semantic-components/FieldLink.d.ts +8 -0
- package/dist/semantic-components/FieldLink.d.ts.map +1 -0
- package/dist/semantic-components/HelpText.d.ts +8 -0
- package/dist/semantic-components/HelpText.d.ts.map +1 -0
- package/dist/semantic-components/SectionBlock.d.ts +8 -0
- package/dist/semantic-components/SectionBlock.d.ts.map +1 -0
- package/dist/semantic-components/StatusTag.d.ts +14 -0
- package/dist/semantic-components/StatusTag.d.ts.map +1 -0
- package/dist/semantic-components/Thumbnail.d.ts +8 -0
- package/dist/semantic-components/Thumbnail.d.ts.map +1 -0
- package/dist/semantic-components/index.d.ts +16 -0
- package/dist/semantic-components/index.d.ts.map +1 -0
- package/dist/semantic-components/types.d.ts +28 -0
- package/dist/semantic-components/types.d.ts.map +1 -0
- package/dist/shell/audit-panel.d.ts +12 -0
- package/dist/shell/audit-panel.d.ts.map +1 -0
- package/dist/shell/detail-shell.d.ts +4 -0
- package/dist/shell/detail-shell.d.ts.map +1 -0
- package/dist/shell/index.d.ts +3 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/types.d.ts +403 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/ui/adapter.d.ts +53 -0
- package/dist/ui/adapter.d.ts.map +1 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/kit.d.ts +56 -0
- package/dist/ui/kit.d.ts.map +1 -0
- package/dist/ui/schema-ui.d.ts +86 -0
- package/dist/ui/schema-ui.d.ts.map +1 -0
- package/package.json +41 -0
- package/src/asset/picker/style.css +537 -0
- package/src/asset/preview/style.css +382 -0
- package/src/asset/upload/style.css +167 -0
- package/src/custom-components/IconInput/style.css +101 -0
- package/src/custom-components/KeyValueEditor/style.css +44 -0
- package/src/custom-components/Upload/style.css +313 -0
- package/src/detail/style.css +427 -0
- package/src/render/style.css +230 -0
- package/src/semantic-components/style.css +263 -0
- package/src/style.css +9 -0
- package/src/tokens.css +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/asset/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
import type { SparqAsset, SparqAssetType } from '../service';
|
|
3
|
+
import { type SparqAssetPreviewRegistry } from '../preview';
|
|
4
|
+
import type { UiKit } from '../../ui';
|
|
5
|
+
import type { AssetPickerRequest, SparqAssetListPayload } from './types';
|
|
6
|
+
export type AssetPickerTab = 'server' | 'upload' | 'remote';
|
|
7
|
+
export interface AssetPickerToolbarState {
|
|
8
|
+
ui: UiKit;
|
|
9
|
+
request: AssetPickerRequest;
|
|
10
|
+
tab: AssetPickerTab;
|
|
11
|
+
selectedCount: number;
|
|
12
|
+
limit: number;
|
|
13
|
+
canConfirm: boolean;
|
|
14
|
+
setTab: (tab: AssetPickerTab) => void;
|
|
15
|
+
confirm: () => void;
|
|
16
|
+
}
|
|
17
|
+
export interface AssetPickerListState {
|
|
18
|
+
ui: UiKit;
|
|
19
|
+
assetPreviews?: SparqAssetPreviewRegistry;
|
|
20
|
+
request: AssetPickerRequest;
|
|
21
|
+
payload: SparqAssetListPayload;
|
|
22
|
+
search: {
|
|
23
|
+
page: number;
|
|
24
|
+
};
|
|
25
|
+
totalPages: number;
|
|
26
|
+
pickerType: SparqAssetType | undefined;
|
|
27
|
+
selected: SparqAsset[];
|
|
28
|
+
toggleAsset: (asset: SparqAsset) => void;
|
|
29
|
+
confirmAsset: (asset: SparqAsset) => void;
|
|
30
|
+
openPreview: (asset: SparqAsset) => void;
|
|
31
|
+
isSameAsset: (left: SparqAsset, right: SparqAsset) => boolean;
|
|
32
|
+
canSelectAsset: (asset: SparqAsset, pickerType: SparqAssetType | undefined) => boolean;
|
|
33
|
+
resolveLimit: (request: AssetPickerRequest | undefined) => number;
|
|
34
|
+
}
|
|
35
|
+
export declare function renderHeader(close: () => void, ui: UiKit): VNode;
|
|
36
|
+
export declare function renderToolbar(state: AssetPickerToolbarState): VNode;
|
|
37
|
+
export declare function renderSelectedPanel(selected: SparqAsset[], removeSelected: (asset: SparqAsset) => void, ui: UiKit, assetPreviews?: SparqAssetPreviewRegistry): VNode;
|
|
38
|
+
export declare function renderAssetCard(asset: SparqAsset, state: AssetPickerListState, index: number): VNode;
|
|
39
|
+
export declare function renderAssetTable(state: AssetPickerListState): VNode;
|
|
40
|
+
export declare function renderPagination(state: AssetPickerListState): VNode;
|
|
41
|
+
export declare function renderUiButton(ui: UiKit, label: string, props: Record<string, unknown>): VNode;
|
|
42
|
+
export declare function renderUiInput(ui: UiKit, value: string, props: Record<string, unknown>): VNode;
|
|
43
|
+
//# sourceMappingURL=AssetPickerParts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetPickerParts.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/AssetPickerParts.tsx"],"names":[],"mappings":"AACA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAOH,KAAK,yBAAyB,EACjC,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAExE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3D,MAAM,WAAW,uBAAuB;IACpC,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,EAAE,kBAAkB,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,KAAK,CAAA;IACT,aAAa,CAAC,EAAE,yBAAyB,CAAA;IACzC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,cAAc,GAAG,SAAS,CAAA;IACtC,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IAC7D,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAA;IACtF,YAAY,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,KAAK,MAAM,CAAA;CACpE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,CAUhE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,KAAK,CAiCnE;AAED,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,UAAU,EAAE,EACtB,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,EAC3C,EAAE,EAAE,KAAK,EACT,aAAa,CAAC,EAAE,yBAAyB,GAC1C,KAAK,CA2BP;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAsCpG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,KAAK,CA0CnE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,KAAK,CAwBnE;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAiB9F;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAW7F"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { UiKit } from '../../ui';
|
|
3
|
+
import type { AssetPickerRequestRef, SparqAssetPickerViewPreference } from './types';
|
|
4
|
+
export declare const AssetPickerRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
request: {
|
|
6
|
+
type: PropType<AssetPickerRequestRef>;
|
|
7
|
+
required: true;
|
|
8
|
+
};
|
|
9
|
+
uiKit: {
|
|
10
|
+
type: PropType<UiKit>;
|
|
11
|
+
default: undefined;
|
|
12
|
+
};
|
|
13
|
+
viewPreference: {
|
|
14
|
+
type: PropType<SparqAssetPickerViewPreference>;
|
|
15
|
+
default: undefined;
|
|
16
|
+
};
|
|
17
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}> | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
20
|
+
request: {
|
|
21
|
+
type: PropType<AssetPickerRequestRef>;
|
|
22
|
+
required: true;
|
|
23
|
+
};
|
|
24
|
+
uiKit: {
|
|
25
|
+
type: PropType<UiKit>;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
viewPreference: {
|
|
29
|
+
type: PropType<SparqAssetPickerViewPreference>;
|
|
30
|
+
default: undefined;
|
|
31
|
+
};
|
|
32
|
+
}>> & Readonly<{}>, {
|
|
33
|
+
uiKit: UiKit;
|
|
34
|
+
viewPreference: SparqAssetPickerViewPreference;
|
|
35
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
36
|
+
//# sourceMappingURL=AssetPickerRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetPickerRoot.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/AssetPickerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8D,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAY/F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,KAAK,EAER,qBAAqB,EAIrB,8BAA8B,EACjC,MAAM,SAAS,CAAA;AAchB,eAAO,MAAM,eAAe;;cAIA,QAAQ,CAAC,qBAAqB,CAAC;;;;cAI/B,QAAQ,CAAC,KAAK,CAAC;;;;cAIf,QAAQ,CAAC,8BAA8B,CAAC;;;;;;;cARxC,QAAQ,CAAC,qBAAqB,CAAC;;;;cAI/B,QAAQ,CAAC,KAAK,CAAC;;;;cAIf,QAAQ,CAAC,8BAA8B,CAAC;;;;;;4EA6ZlE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
import type { SparqAsset, SparqAssetType } from '../service';
|
|
3
|
+
import type { SparqAssetPreviewRegistry } from '../preview';
|
|
4
|
+
import type { UiKit } from '../../ui';
|
|
5
|
+
import type { AssetPickerRequest, SparqAssetListPayload, SparqAssetOption } from './types';
|
|
6
|
+
export type AssetPickerView = 'grid' | 'list';
|
|
7
|
+
export interface AssetPickerServerState {
|
|
8
|
+
ui: UiKit;
|
|
9
|
+
assetPreviews?: SparqAssetPreviewRegistry;
|
|
10
|
+
request: AssetPickerRequest;
|
|
11
|
+
view: AssetPickerView;
|
|
12
|
+
search: {
|
|
13
|
+
title: string;
|
|
14
|
+
type: string;
|
|
15
|
+
page: number;
|
|
16
|
+
limit: number;
|
|
17
|
+
group: string;
|
|
18
|
+
};
|
|
19
|
+
payload: SparqAssetListPayload;
|
|
20
|
+
loading: boolean;
|
|
21
|
+
totalPages: number;
|
|
22
|
+
typeOptions: SparqAssetOption[];
|
|
23
|
+
groupOptions: SparqAssetOption[];
|
|
24
|
+
pickerType: SparqAssetType | undefined;
|
|
25
|
+
selected: SparqAsset[];
|
|
26
|
+
setView: (view: AssetPickerView) => void;
|
|
27
|
+
submitSearch: () => void;
|
|
28
|
+
loadAssets: () => void;
|
|
29
|
+
toggleAsset: (asset: SparqAsset) => void;
|
|
30
|
+
confirmAsset: (asset: SparqAsset) => void;
|
|
31
|
+
openPreview: (asset: SparqAsset) => void;
|
|
32
|
+
isSameAsset: (left: SparqAsset, right: SparqAsset) => boolean;
|
|
33
|
+
canSelectAsset: (asset: SparqAsset, pickerType: SparqAssetType | undefined) => boolean;
|
|
34
|
+
resolveLimit: (request: AssetPickerRequest | undefined) => number;
|
|
35
|
+
handleAssetGridKeydown: (event: KeyboardEvent) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare function renderServerPanel(state: AssetPickerServerState): VNode;
|
|
38
|
+
//# sourceMappingURL=AssetPickerServerPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetPickerServerPanel.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/AssetPickerServerPanel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1F,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,KAAK,CAAA;IACT,aAAa,CAAC,EAAE,yBAAyB,CAAA;IACzC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,YAAY,EAAE,gBAAgB,EAAE,CAAA;IAChC,UAAU,EAAE,cAAc,GAAG,SAAS,CAAA;IACtC,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IAC7D,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAA;IACtF,YAAY,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,KAAK,MAAM,CAAA;IACjE,sBAAsB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;CACzD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,KAAK,CA8EtE"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createAssetPickerService } from './service';
|
|
2
|
+
export { AssetPickerRoot } from './AssetPickerRoot';
|
|
3
|
+
export type { AssetPickerRequest, AssetPickerRequestRef, CreateAssetPickerServiceOptions, SparqAssetListPayload, SparqAssetListQuery, SparqAssetOption, SparqAssetPickerView, SparqAssetPickerViewPreference, SparqAssetRemotePayload, } from './types';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EACR,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC9B,uBAAuB,GAC1B,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE/D,OAAO,KAAK,EAAsB,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,iBAAiB,CA2CpG"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
import type { SparqAsset, SparqAssetPickOptions, SparqAssetService } from '../service';
|
|
3
|
+
import type { UiKit } from '../../ui';
|
|
4
|
+
export interface SparqAssetOption {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SparqAssetListQuery {
|
|
9
|
+
type?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
page: number;
|
|
12
|
+
limit: number;
|
|
13
|
+
group?: string;
|
|
14
|
+
field?: string;
|
|
15
|
+
props?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface SparqAssetListPayload {
|
|
18
|
+
results: SparqAsset[];
|
|
19
|
+
total: number;
|
|
20
|
+
groups?: SparqAssetOption[];
|
|
21
|
+
types?: SparqAssetOption[];
|
|
22
|
+
}
|
|
23
|
+
export interface SparqAssetRemotePayload {
|
|
24
|
+
url: string;
|
|
25
|
+
local?: boolean;
|
|
26
|
+
type?: string;
|
|
27
|
+
field?: string;
|
|
28
|
+
props?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export type SparqAssetPickerView = 'grid' | 'list';
|
|
31
|
+
export interface SparqAssetPickerViewPreference {
|
|
32
|
+
read?: () => SparqAssetPickerView | undefined;
|
|
33
|
+
write?: (view: SparqAssetPickerView) => void;
|
|
34
|
+
}
|
|
35
|
+
export interface CreateAssetPickerServiceOptions {
|
|
36
|
+
upload: SparqAssetService['upload'];
|
|
37
|
+
list?: (query: SparqAssetListQuery) => Promise<SparqAssetListPayload>;
|
|
38
|
+
addRemote?: (payload: SparqAssetRemotePayload) => Promise<SparqAsset | null | undefined>;
|
|
39
|
+
uiKit?: UiKit;
|
|
40
|
+
mountTarget?: HTMLElement | (() => HTMLElement | undefined);
|
|
41
|
+
viewPreference?: SparqAssetPickerViewPreference;
|
|
42
|
+
}
|
|
43
|
+
export interface AssetPickerRequest {
|
|
44
|
+
config: CreateAssetPickerServiceOptions;
|
|
45
|
+
options: SparqAssetPickOptions;
|
|
46
|
+
resolve: (assets: SparqAsset[]) => void;
|
|
47
|
+
reject: (reason?: unknown) => void;
|
|
48
|
+
}
|
|
49
|
+
export type AssetPickerRequestRef = Ref<AssetPickerRequest | undefined>;
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/asset/picker/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC3B,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD,MAAM,WAAW,8BAA8B;IAC3C,IAAI,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;IAC7C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,+BAA+B;IAC5C,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACrE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACxF,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,WAAW,CAAC,EAAE,WAAW,GAAG,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAA;IAC3D,cAAc,CAAC,EAAE,8BAA8B,CAAA;CAClD;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,+BAA+B,CAAA;IACvC,OAAO,EAAE,qBAAqB,CAAA;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;IACvC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type PropType, type Ref, type VNode } from 'vue';
|
|
2
|
+
import type { SparqAsset, SparqAssetType } from '../service';
|
|
3
|
+
import { type SparqAssetPreviewDefinition, type SparqAssetPreviewRegistry } from './registry';
|
|
4
|
+
export type AssetPreviewSize = 'card' | 'thumb';
|
|
5
|
+
export interface AssetPreviewState {
|
|
6
|
+
asset: Ref<SparqAsset | undefined>;
|
|
7
|
+
scale: Ref<number>;
|
|
8
|
+
rotate: Ref<number>;
|
|
9
|
+
loading: Ref<boolean>;
|
|
10
|
+
failed: Ref<boolean>;
|
|
11
|
+
open: (asset: SparqAsset) => void;
|
|
12
|
+
close: () => void;
|
|
13
|
+
markLoaded: () => void;
|
|
14
|
+
markFailed: () => void;
|
|
15
|
+
zoomIn: () => void;
|
|
16
|
+
zoomOut: () => void;
|
|
17
|
+
rotateLeft: () => void;
|
|
18
|
+
rotateRight: () => void;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
}
|
|
21
|
+
export interface AssetPreviewDialogOptions {
|
|
22
|
+
close: () => void;
|
|
23
|
+
scale?: number;
|
|
24
|
+
rotate?: number;
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
failed?: boolean;
|
|
27
|
+
onLoad?: () => void;
|
|
28
|
+
onError?: () => void;
|
|
29
|
+
zoomIn?: () => void;
|
|
30
|
+
zoomOut?: () => void;
|
|
31
|
+
rotateLeft?: () => void;
|
|
32
|
+
rotateRight?: () => void;
|
|
33
|
+
reset?: () => void;
|
|
34
|
+
}
|
|
35
|
+
/** renderer 默认安装的图片预览实现,插件可以使用更高层级或同 key 覆盖。 */
|
|
36
|
+
export declare const builtInImageAssetPreview: SparqAssetPreviewDefinition;
|
|
37
|
+
export declare const AssetPreviewDialog: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
38
|
+
asset: {
|
|
39
|
+
type: PropType<SparqAsset>;
|
|
40
|
+
required: true;
|
|
41
|
+
};
|
|
42
|
+
}>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
45
|
+
close: () => true;
|
|
46
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
47
|
+
asset: {
|
|
48
|
+
type: PropType<SparqAsset>;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
}>> & Readonly<{
|
|
52
|
+
onClose?: (() => any) | undefined;
|
|
53
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
54
|
+
export declare function createAssetPreviewState(): AssetPreviewState;
|
|
55
|
+
export declare function renderAssetPreviewDialog(asset: SparqAsset, options: (() => void) | AssetPreviewDialogOptions, registry?: SparqAssetPreviewRegistry): VNode;
|
|
56
|
+
export declare function renderAssetPreviewThumb(asset: SparqAsset, size: AssetPreviewSize, openPreview?: (asset: SparqAsset) => void, registry?: SparqAssetPreviewRegistry): VNode;
|
|
57
|
+
export declare function resolveAssetLabel(asset: SparqAsset): string;
|
|
58
|
+
export declare function resolveAssetSummary(asset: SparqAsset): string;
|
|
59
|
+
export declare function resolveAssetTypeLabel(type: SparqAssetType): string;
|
|
60
|
+
export declare function resolveAssetType(asset: SparqAsset): SparqAssetType;
|
|
61
|
+
export declare function resolveAssetFileLabel(asset: SparqAsset): string;
|
|
62
|
+
export declare function isPreviewableAsset(asset: SparqAsset, registry?: SparqAssetPreviewRegistry): boolean;
|
|
63
|
+
export declare function formatAssetSize(size: number | undefined): string;
|
|
64
|
+
//# sourceMappingURL=AssetPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetPreview.d.ts","sourceRoot":"","sources":["../../../src/asset/preview/AssetPreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asset/preview/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
import type { SchemaRendererContributionPoint, SchemaRendererKernel } from '../../registry';
|
|
3
|
+
import type { SparqAsset } from '../service';
|
|
4
|
+
import type { AssetPreviewDialogOptions, AssetPreviewSize } from './AssetPreview';
|
|
5
|
+
/** 插件提供的单类资源预览实现。matcher 决定该实现是否适用于当前资源。 */
|
|
6
|
+
export interface SparqAssetPreviewDefinition {
|
|
7
|
+
/** 预览实现的稳定标识,用于覆盖、诊断和卸载恢复。 */
|
|
8
|
+
key: string;
|
|
9
|
+
/** 同层级存在多个匹配实现时,数值更大的实现优先。 */
|
|
10
|
+
priority?: number;
|
|
11
|
+
/** 根据资源类型、MIME、扩展名或插件元数据判断是否支持该资源。 */
|
|
12
|
+
matcher: (asset: SparqAsset) => boolean;
|
|
13
|
+
/** 渲染完整预览弹窗;实现负责关闭入口、加载状态和键盘交互。 */
|
|
14
|
+
renderDialog: (asset: SparqAsset, options: AssetPreviewDialogOptions) => VNode;
|
|
15
|
+
/** 渲染缩略内容;外层点击行为和统一尺寸由 renderer 管理。 */
|
|
16
|
+
renderThumb?: (asset: SparqAsset, size: AssetPreviewSize) => VNode;
|
|
17
|
+
}
|
|
18
|
+
/** 根据资源解析当前生效预览实现的领域注册表。 */
|
|
19
|
+
export interface SparqAssetPreviewRegistry {
|
|
20
|
+
/** 按贡献层级、同层 priority 和最近安装顺序返回第一个 matcher 命中的实现。 */
|
|
21
|
+
resolve(asset: SparqAsset): SparqAssetPreviewDefinition | undefined;
|
|
22
|
+
/** 返回当前生效实现,供插件管理和诊断界面展示。 */
|
|
23
|
+
entries(): readonly SparqAssetPreviewDefinition[];
|
|
24
|
+
}
|
|
25
|
+
/** Schema Vue 资源预览贡献点。 */
|
|
26
|
+
export declare const schemaRendererAssetPreviewPoint: SchemaRendererContributionPoint<SparqAssetPreviewDefinition>;
|
|
27
|
+
/** 创建随 Kernel 安装和卸载自动失效的资源预览注册表。 */
|
|
28
|
+
export declare function createLiveSparqAssetPreviewRegistry(kernel: SchemaRendererKernel): SparqAssetPreviewRegistry;
|
|
29
|
+
/**
|
|
30
|
+
* 获取当前 Vue 应用提供的资源预览注册表。
|
|
31
|
+
*
|
|
32
|
+
* 未安装 renderer 时返回 undefined,由纯渲染函数继续使用内置图片预览和文件占位回退。
|
|
33
|
+
*/
|
|
34
|
+
export declare function useSparqAssetPreviewRegistry(): SparqAssetPreviewRegistry | undefined;
|
|
35
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/asset/preview/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,KAAK,EAAE,MAAM,KAAK,CAAA;AAEpD,OAAO,KAAK,EACR,+BAA+B,EAE/B,oBAAoB,EACvB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjF,4CAA4C;AAC5C,MAAM,WAAW,2BAA2B;IACxC,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IACvC,mCAAmC;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,KAAK,KAAK,CAAA;IAC9E,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,KAAK,KAAK,CAAA;CACrE;AAED,4BAA4B;AAC5B,MAAM,WAAW,yBAAyB;IACtC,oDAAoD;IACpD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,2BAA2B,GAAG,SAAS,CAAA;IACnE,6BAA6B;IAC7B,OAAO,IAAI,SAAS,2BAA2B,EAAE,CAAA;CACpD;AAED,0BAA0B;AAC1B,eAAO,MAAM,+BAA+B,EAEvC,+BAA+B,CAAC,2BAA2B,CAAC,CAAA;AAEjE,oCAAoC;AACpC,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,oBAAoB,GAAG,yBAAyB,CAE3G;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,GAAG,SAAS,CAEpF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { AssetDescriptor, AssetType } from '@sparqjs/schema-protocol';
|
|
2
|
+
export type SparqAssetType = AssetType;
|
|
3
|
+
export type SparqAsset = AssetDescriptor;
|
|
4
|
+
export interface SparqUploadOptions {
|
|
5
|
+
type?: SparqAssetType;
|
|
6
|
+
accept?: string;
|
|
7
|
+
multiple?: boolean;
|
|
8
|
+
maxSize?: number;
|
|
9
|
+
title?: string;
|
|
10
|
+
group?: string;
|
|
11
|
+
field?: string;
|
|
12
|
+
props?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/** 上传执行期间由调用方提供的取消信号和进度接收器。 */
|
|
15
|
+
export interface SparqUploadExecution {
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
onProgress?: (progress: number) => void;
|
|
18
|
+
onPhase?: (phase: SparqUploadPhase) => void;
|
|
19
|
+
}
|
|
20
|
+
export interface SparqAssetPickOptions extends SparqUploadOptions {
|
|
21
|
+
limit?: number;
|
|
22
|
+
}
|
|
23
|
+
export type SparqUploadPhase = 'preparing' | 'hashing' | 'uploading' | 'completing';
|
|
24
|
+
export type SparqUploadTaskStatus = 'pending' | 'uploading' | 'success' | 'error' | 'canceled';
|
|
25
|
+
export interface SparqUploadTask {
|
|
26
|
+
id: string;
|
|
27
|
+
file: File;
|
|
28
|
+
progress: number;
|
|
29
|
+
status: SparqUploadTaskStatus;
|
|
30
|
+
phase?: SparqUploadPhase;
|
|
31
|
+
asset?: SparqAsset;
|
|
32
|
+
error?: Error;
|
|
33
|
+
}
|
|
34
|
+
export interface SparqAssetService {
|
|
35
|
+
upload(file: File, options: SparqUploadOptions, execution?: SparqUploadExecution): Promise<SparqAsset>;
|
|
36
|
+
pick?(options: SparqAssetPickOptions): Promise<SparqAsset[]>;
|
|
37
|
+
setUiKit?(uiKit: import('../ui').UiKit): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/asset/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAE1E,MAAM,MAAM,cAAc,GAAG,SAAS,CAAA;AACtC,MAAM,MAAM,UAAU,GAAG,eAAe,CAAA;AAExC,MAAM,WAAW,kBAAkB;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,+BAA+B;AAC/B,MAAM,WAAW,oBAAoB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC9C;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;AAEnF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAE9F,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACtG,IAAI,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5D,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,IAAI,CAAA;CAChD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { SparqUploadTask } from '../service';
|
|
3
|
+
export declare const SparqAssetUploadPanel: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
tasks: {
|
|
5
|
+
type: PropType<SparqUploadTask[]>;
|
|
6
|
+
default: () => never[];
|
|
7
|
+
};
|
|
8
|
+
accept: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: undefined;
|
|
11
|
+
};
|
|
12
|
+
multiple: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
16
|
+
disabled: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
default: boolean;
|
|
19
|
+
};
|
|
20
|
+
compact: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
24
|
+
removable: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: boolean;
|
|
27
|
+
};
|
|
28
|
+
emptyText: {
|
|
29
|
+
type: StringConstructor;
|
|
30
|
+
default: string;
|
|
31
|
+
};
|
|
32
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
35
|
+
addFiles: (_files: File[]) => true;
|
|
36
|
+
cancel: (_task: SparqUploadTask) => true;
|
|
37
|
+
retry: (_task: SparqUploadTask) => true;
|
|
38
|
+
remove: (_task: SparqUploadTask) => true;
|
|
39
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
40
|
+
tasks: {
|
|
41
|
+
type: PropType<SparqUploadTask[]>;
|
|
42
|
+
default: () => never[];
|
|
43
|
+
};
|
|
44
|
+
accept: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
default: undefined;
|
|
47
|
+
};
|
|
48
|
+
multiple: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
disabled: {
|
|
53
|
+
type: BooleanConstructor;
|
|
54
|
+
default: boolean;
|
|
55
|
+
};
|
|
56
|
+
compact: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: boolean;
|
|
59
|
+
};
|
|
60
|
+
removable: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
emptyText: {
|
|
65
|
+
type: StringConstructor;
|
|
66
|
+
default: string;
|
|
67
|
+
};
|
|
68
|
+
}>> & Readonly<{
|
|
69
|
+
onCancel?: ((_task: SparqUploadTask) => any) | undefined;
|
|
70
|
+
onAddFiles?: ((_files: File[]) => any) | undefined;
|
|
71
|
+
onRetry?: ((_task: SparqUploadTask) => any) | undefined;
|
|
72
|
+
onRemove?: ((_task: SparqUploadTask) => any) | undefined;
|
|
73
|
+
}>, {
|
|
74
|
+
tasks: SparqUploadTask[];
|
|
75
|
+
accept: string;
|
|
76
|
+
multiple: boolean;
|
|
77
|
+
disabled: boolean;
|
|
78
|
+
compact: boolean;
|
|
79
|
+
removable: boolean;
|
|
80
|
+
emptyText: string;
|
|
81
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
82
|
+
//# sourceMappingURL=AssetUploadPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetUploadPanel.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/AssetUploadPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,qBAAqB;;cAIP,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA6B3B,IAAI,EAAE;oBACT,eAAe;mBAChB,eAAe;oBACd,eAAe;;;cAhCZ,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoGpD,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { SparqAsset, SparqAssetService, SparqUploadExecution, SparqUploadOptions } from '../service';
|
|
2
|
+
import { hashSparqUploadFile } from './hash-file';
|
|
3
|
+
export declare const defaultSparqMultipartThreshold: number;
|
|
4
|
+
export interface SparqMultipartMetadata {
|
|
5
|
+
title: string;
|
|
6
|
+
original_title: string;
|
|
7
|
+
bucket?: string;
|
|
8
|
+
content_type?: string;
|
|
9
|
+
driver?: string;
|
|
10
|
+
visibility?: string;
|
|
11
|
+
group_code?: string;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
md5?: string;
|
|
14
|
+
sha256?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SparqPrepareUploadInput extends SparqMultipartMetadata {
|
|
17
|
+
size: number;
|
|
18
|
+
}
|
|
19
|
+
export interface SparqPrepareUploadResult {
|
|
20
|
+
exists: boolean;
|
|
21
|
+
asset?: SparqAsset;
|
|
22
|
+
bucket?: string;
|
|
23
|
+
key: string;
|
|
24
|
+
upload_id?: string;
|
|
25
|
+
part_size?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface SparqUploadedPart {
|
|
28
|
+
part_no: number;
|
|
29
|
+
size: number;
|
|
30
|
+
etag?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SparqMultipartUploadTransport {
|
|
33
|
+
uploadDirect(file: File, options: SparqUploadOptions, execution?: SparqUploadExecution): Promise<SparqAsset>;
|
|
34
|
+
prepare(input: SparqPrepareUploadInput, signal?: AbortSignal): Promise<SparqPrepareUploadResult>;
|
|
35
|
+
uploadPart(input: {
|
|
36
|
+
upload_id: string;
|
|
37
|
+
part_no: number;
|
|
38
|
+
file: Blob;
|
|
39
|
+
}, execution?: {
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
onProgress?: (loaded: number) => void;
|
|
42
|
+
}): Promise<SparqUploadedPart>;
|
|
43
|
+
listParts(uploadId: string, signal?: AbortSignal): Promise<SparqUploadedPart[]>;
|
|
44
|
+
complete(input: SparqMultipartMetadata & {
|
|
45
|
+
upload_id: string;
|
|
46
|
+
key: string;
|
|
47
|
+
}, signal?: AbortSignal): Promise<SparqAsset>;
|
|
48
|
+
abort(uploadId: string): Promise<void>;
|
|
49
|
+
}
|
|
50
|
+
export interface CreateSparqUploadExecutorOptions {
|
|
51
|
+
multipartThreshold?: number;
|
|
52
|
+
partConcurrency?: number;
|
|
53
|
+
partRetries?: number;
|
|
54
|
+
hashFile?: typeof hashSparqUploadFile;
|
|
55
|
+
resolveMetadata?: (file: File, options: SparqUploadOptions) => SparqMultipartMetadata;
|
|
56
|
+
}
|
|
57
|
+
/** 创建普通上传与分片上传共用的执行入口,调用方只提供强类型传输实现。 */
|
|
58
|
+
export declare function createSparqUploadExecutor(transport: SparqMultipartUploadTransport, options?: CreateSparqUploadExecutorOptions): SparqAssetService['upload'];
|
|
59
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SparqUploadOptions } from '../service';
|
|
2
|
+
export type SparqUploadValidationCode = 'type_not_allowed' | 'file_too_large';
|
|
3
|
+
export declare class SparqUploadValidationError extends Error {
|
|
4
|
+
readonly code: SparqUploadValidationCode;
|
|
5
|
+
constructor(code: SparqUploadValidationCode, message: string);
|
|
6
|
+
}
|
|
7
|
+
export interface SparqUploadFileFilterResult {
|
|
8
|
+
accepted: File[];
|
|
9
|
+
rejected: Array<{
|
|
10
|
+
file: File;
|
|
11
|
+
error: SparqUploadValidationError;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export declare function validateSparqUploadFile(file: File, options: Pick<SparqUploadOptions, 'accept' | 'maxSize' | 'type'>): SparqUploadValidationError | undefined;
|
|
15
|
+
export declare function filterSparqUploadFiles(files: readonly File[], options: Pick<SparqUploadOptions, 'accept' | 'maxSize' | 'type'>): SparqUploadFileFilterResult;
|
|
16
|
+
//# sourceMappingURL=files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;AAE7E,qBAAa,0BAA2B,SAAQ,KAAK;IAE7C,QAAQ,CAAC,IAAI,EAAE,yBAAyB;gBAA/B,IAAI,EAAE,yBAAyB,EACxC,OAAO,EAAE,MAAM;CAKtB;AAED,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,0BAA0B,CAAA;KAAE,CAAC,CAAA;CACrE;AAED,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,GACjE,0BAA0B,GAAG,SAAS,CAQxC;AAED,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,SAAS,IAAI,EAAE,EACtB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC,GACjE,2BAA2B,CAS7B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SparqFileHashes {
|
|
2
|
+
md5: string;
|
|
3
|
+
sha256: string;
|
|
4
|
+
}
|
|
5
|
+
/** 在独立 Worker 中增量计算文件指纹;Worker 或 WASM 不可用时由上层降级为无指纹上传。 */
|
|
6
|
+
export declare function hashSparqUploadFile(file: File, signal?: AbortSignal, onProgress?: (progress: number) => void): Promise<SparqFileHashes>;
|
|
7
|
+
//# sourceMappingURL=hash-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash-file.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/hash-file.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACjB;AAoBD,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACxC,OAAO,CAAC,eAAe,CAAC,CAgC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash-worker.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/hash-worker.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ShallowRef } from 'vue';
|
|
2
|
+
import type { SparqAsset, SparqAssetService, SparqUploadOptions, SparqUploadTask } from '../service';
|
|
3
|
+
export interface SparqUploadQueueOptions {
|
|
4
|
+
upload: SparqAssetService['upload'];
|
|
5
|
+
concurrency?: number;
|
|
6
|
+
autoStart?: boolean;
|
|
7
|
+
onSuccess?: (asset: SparqAsset, task: SparqUploadTask) => void;
|
|
8
|
+
onError?: (error: Error, task: SparqUploadTask) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface SparqUploadQueue {
|
|
11
|
+
tasks: ShallowRef<SparqUploadTask[]>;
|
|
12
|
+
add(files: readonly File[], options: SparqUploadOptions): SparqUploadTask[];
|
|
13
|
+
waitFor(tasks: readonly SparqUploadTask[]): Promise<SparqUploadTask[]>;
|
|
14
|
+
start(): void;
|
|
15
|
+
cancel(task: SparqUploadTask | string): void;
|
|
16
|
+
retry(task: SparqUploadTask | string): void;
|
|
17
|
+
remove(task: SparqUploadTask | string): void;
|
|
18
|
+
clearFinished(): void;
|
|
19
|
+
reset(): void;
|
|
20
|
+
}
|
|
21
|
+
/** 创建由调用方上传执行器驱动的内存队列;队列生命周期和清理由持有方负责。 */
|
|
22
|
+
export declare function createSparqUploadQueue(options: SparqUploadQueueOptions): SparqUploadQueue;
|
|
23
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/asset/upload/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,KAAK,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAGpG,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;CAC1D;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,CAAA;IACpC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,kBAAkB,GAAG,eAAe,EAAE,CAAA;IAC3E,OAAO,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACtE,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAA;IAC5C,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3C,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAA;IAC5C,aAAa,IAAI,IAAI,CAAA;IACrB,KAAK,IAAI,IAAI,CAAA;CAChB;AAID,0CAA0C;AAC1C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAiMzF"}
|