@anvilkit/plugin-asset-manager 0.1.6 → 0.1.8
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 +28 -20
- package/dist/adapters/data-url.d.cts +13 -0
- package/dist/adapters/data-url.d.cts.map +1 -1
- package/dist/adapters/data-url.d.ts +13 -0
- package/dist/adapters/data-url.d.ts.map +1 -1
- package/dist/adapters/in-memory.d.cts +8 -1
- package/dist/adapters/in-memory.d.cts.map +1 -1
- package/dist/adapters/in-memory.d.ts +8 -1
- package/dist/adapters/in-memory.d.ts.map +1 -1
- package/dist/i18n/entry.cjs +75 -0
- package/dist/i18n/entry.d.cts +15 -0
- package/dist/i18n/entry.d.cts.map +1 -0
- package/dist/i18n/entry.d.ts +15 -0
- package/dist/i18n/entry.d.ts.map +1 -0
- package/dist/i18n/entry.js +29 -0
- package/dist/i18n/provider.cjs +49 -0
- package/dist/i18n/provider.d.cts +20 -0
- package/dist/i18n/provider.d.cts.map +1 -0
- package/dist/i18n/provider.d.ts +20 -0
- package/dist/i18n/provider.d.ts.map +1 -0
- package/dist/i18n/provider.js +11 -0
- package/dist/index.cjs +7 -0
- package/dist/index.d.cts +11 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/plugin.cjs +70 -5
- package/dist/plugin.d.cts +3 -2
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +70 -5
- package/dist/sources/composite-source.cjs +138 -0
- package/dist/sources/composite-source.d.cts +39 -0
- package/dist/sources/composite-source.d.cts.map +1 -0
- package/dist/sources/composite-source.d.ts +39 -0
- package/dist/sources/composite-source.d.ts.map +1 -0
- package/dist/sources/composite-source.js +100 -0
- package/dist/sources/federated-search.cjs +173 -0
- package/dist/sources/federated-search.d.cts +33 -0
- package/dist/sources/federated-search.d.cts.map +1 -0
- package/dist/sources/federated-search.d.ts +33 -0
- package/dist/sources/federated-search.d.ts.map +1 -0
- package/dist/sources/federated-search.js +123 -0
- package/dist/sources/provider.cjs +18 -0
- package/dist/sources/provider.d.cts +51 -0
- package/dist/sources/provider.d.cts.map +1 -0
- package/dist/sources/provider.d.ts +51 -0
- package/dist/sources/provider.d.ts.map +1 -0
- package/dist/sources/provider.js +1 -0
- package/dist/sources/unsplash/client.cjs +189 -0
- package/dist/sources/unsplash/client.d.cts +87 -0
- package/dist/sources/unsplash/client.d.cts.map +1 -0
- package/dist/sources/unsplash/client.d.ts +87 -0
- package/dist/sources/unsplash/client.d.ts.map +1 -0
- package/dist/sources/unsplash/client.js +151 -0
- package/dist/sources/unsplash/index.cjs +194 -0
- package/dist/sources/unsplash/index.d.cts +16 -0
- package/dist/sources/unsplash/index.d.cts.map +1 -0
- package/dist/sources/unsplash/index.d.ts +16 -0
- package/dist/sources/unsplash/index.d.ts.map +1 -0
- package/dist/sources/unsplash/index.js +150 -0
- package/dist/sources/unsplash/themes.cjs +141 -0
- package/dist/sources/unsplash/themes.d.cts +18 -0
- package/dist/sources/unsplash/themes.d.cts.map +1 -0
- package/dist/sources/unsplash/themes.d.ts +18 -0
- package/dist/sources/unsplash/themes.d.ts.map +1 -0
- package/dist/sources/unsplash/themes.js +93 -0
- package/dist/sources/unsplash/throttle-cache.cjs +86 -0
- package/dist/sources/unsplash/throttle-cache.d.cts +25 -0
- package/dist/sources/unsplash/throttle-cache.d.cts.map +1 -0
- package/dist/sources/unsplash/throttle-cache.d.ts +25 -0
- package/dist/sources/unsplash/throttle-cache.d.ts.map +1 -0
- package/dist/sources/unsplash/throttle-cache.js +45 -0
- package/dist/types/categories.cjs +18 -0
- package/dist/types/categories.d.cts +48 -0
- package/dist/types/categories.d.cts.map +1 -0
- package/dist/types/categories.d.ts +48 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +1 -0
- package/dist/types/data-source.cjs +18 -0
- package/dist/types/data-source.d.cts +59 -0
- package/dist/types/data-source.d.cts.map +1 -0
- package/dist/types/data-source.d.ts +59 -0
- package/dist/types/data-source.d.ts.map +1 -0
- package/dist/types/data-source.js +1 -0
- package/dist/types/filter.cjs +18 -0
- package/dist/types/filter.d.cts +55 -0
- package/dist/types/filter.d.cts.map +1 -0
- package/dist/types/filter.d.ts +55 -0
- package/dist/types/filter.d.ts.map +1 -0
- package/dist/types/filter.js +1 -0
- package/dist/types/folders.cjs +42 -0
- package/dist/types/folders.d.cts +46 -0
- package/dist/types/folders.d.cts.map +1 -0
- package/dist/types/folders.d.ts +46 -0
- package/dist/types/folders.d.ts.map +1 -0
- package/dist/types/folders.js +4 -0
- package/dist/types/options.cjs +18 -0
- package/dist/types/options.d.cts +68 -0
- package/dist/types/options.d.cts.map +1 -0
- package/dist/types/options.d.ts +68 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +1 -0
- package/dist/types/types.d.cts +21 -27
- package/dist/types/types.d.cts.map +1 -1
- package/dist/types/types.d.ts +21 -27
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/unsplash.cjs +18 -0
- package/dist/types/unsplash.d.cts +60 -0
- package/dist/types/unsplash.d.cts.map +1 -0
- package/dist/types/unsplash.d.ts +60 -0
- package/dist/types/unsplash.d.ts.map +1 -0
- package/dist/types/unsplash.js +1 -0
- package/dist/ui/AssetBrowser.cjs +183 -121
- package/dist/ui/AssetBrowser.d.cts +12 -1
- package/dist/ui/AssetBrowser.d.cts.map +1 -1
- package/dist/ui/AssetBrowser.d.ts +12 -1
- package/dist/ui/AssetBrowser.d.ts.map +1 -1
- package/dist/ui/AssetBrowser.js +183 -121
- package/dist/ui/AssetCommandPalette.cjs +20 -18
- package/dist/ui/AssetCommandPalette.d.cts.map +1 -1
- package/dist/ui/AssetCommandPalette.d.ts.map +1 -1
- package/dist/ui/AssetCommandPalette.js +20 -18
- package/dist/ui/AssetManagerUI.cjs +31 -17
- package/dist/ui/AssetManagerUI.d.cts +19 -3
- package/dist/ui/AssetManagerUI.d.cts.map +1 -1
- package/dist/ui/AssetManagerUI.d.ts +19 -3
- package/dist/ui/AssetManagerUI.d.ts.map +1 -1
- package/dist/ui/AssetManagerUI.js +31 -17
- package/dist/ui/DeleteAssetDialog.cjs +5 -3
- package/dist/ui/DeleteAssetDialog.d.cts.map +1 -1
- package/dist/ui/DeleteAssetDialog.d.ts.map +1 -1
- package/dist/ui/DeleteAssetDialog.js +5 -3
- package/dist/ui/DeleteFolderDialog.cjs +80 -0
- package/dist/ui/DeleteFolderDialog.d.cts +11 -0
- package/dist/ui/DeleteFolderDialog.d.cts.map +1 -0
- package/dist/ui/DeleteFolderDialog.d.ts +11 -0
- package/dist/ui/DeleteFolderDialog.d.ts.map +1 -0
- package/dist/ui/DeleteFolderDialog.js +42 -0
- package/dist/ui/EmptyFolderState.cjs +56 -0
- package/dist/ui/EmptyFolderState.d.cts +6 -0
- package/dist/ui/EmptyFolderState.d.cts.map +1 -0
- package/dist/ui/EmptyFolderState.d.ts +6 -0
- package/dist/ui/EmptyFolderState.d.ts.map +1 -0
- package/dist/ui/EmptyFolderState.js +18 -0
- package/dist/ui/FolderBreadcrumb.cjs +76 -0
- package/dist/ui/FolderBreadcrumb.d.cts +9 -0
- package/dist/ui/FolderBreadcrumb.d.cts.map +1 -0
- package/dist/ui/FolderBreadcrumb.d.ts +9 -0
- package/dist/ui/FolderBreadcrumb.d.ts.map +1 -0
- package/dist/ui/FolderBreadcrumb.js +38 -0
- package/dist/ui/FolderNameDialog.cjs +105 -0
- package/dist/ui/FolderNameDialog.d.cts +14 -0
- package/dist/ui/FolderNameDialog.d.cts.map +1 -0
- package/dist/ui/FolderNameDialog.d.ts +14 -0
- package/dist/ui/FolderNameDialog.d.ts.map +1 -0
- package/dist/ui/FolderNameDialog.js +67 -0
- package/dist/ui/FolderTree.cjs +85 -0
- package/dist/ui/FolderTree.d.cts +13 -0
- package/dist/ui/FolderTree.d.cts.map +1 -0
- package/dist/ui/FolderTree.d.ts +13 -0
- package/dist/ui/FolderTree.d.ts.map +1 -0
- package/dist/ui/FolderTree.js +44 -0
- package/dist/ui/MetadataPanel.cjs +23 -17
- package/dist/ui/MetadataPanel.d.cts.map +1 -1
- package/dist/ui/MetadataPanel.d.ts.map +1 -1
- package/dist/ui/MetadataPanel.js +23 -17
- package/dist/ui/MoveTargetPicker.cjs +87 -0
- package/dist/ui/MoveTargetPicker.d.cts +16 -0
- package/dist/ui/MoveTargetPicker.d.cts.map +1 -0
- package/dist/ui/MoveTargetPicker.d.ts +16 -0
- package/dist/ui/MoveTargetPicker.d.ts.map +1 -0
- package/dist/ui/MoveTargetPicker.js +49 -0
- package/dist/ui/ReplaceAssetDialog.cjs +19 -17
- package/dist/ui/ReplaceAssetDialog.d.cts +2 -1
- package/dist/ui/ReplaceAssetDialog.d.cts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.d.ts +2 -1
- package/dist/ui/ReplaceAssetDialog.d.ts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.js +19 -17
- package/dist/ui/UnsplashPanel.cjs +137 -0
- package/dist/ui/UnsplashPanel.d.cts +28 -0
- package/dist/ui/UnsplashPanel.d.cts.map +1 -0
- package/dist/ui/UnsplashPanel.d.ts +28 -0
- package/dist/ui/UnsplashPanel.d.ts.map +1 -0
- package/dist/ui/UnsplashPanel.js +99 -0
- package/dist/ui/UploadButton.cjs +12 -13
- package/dist/ui/UploadButton.d.cts +9 -2
- package/dist/ui/UploadButton.d.cts.map +1 -1
- package/dist/ui/UploadButton.d.ts +9 -2
- package/dist/ui/UploadButton.d.ts.map +1 -1
- package/dist/ui/UploadButton.js +12 -13
- package/dist/ui/index.cjs +41 -0
- package/dist/ui/index.d.cts +15 -0
- package/dist/ui/index.d.cts.map +1 -1
- package/dist/ui/index.d.ts +15 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +8 -0
- package/dist/utils/data-source.cjs +190 -0
- package/dist/utils/data-source.d.cts +63 -0
- package/dist/utils/data-source.d.cts.map +1 -0
- package/dist/utils/data-source.d.ts +63 -0
- package/dist/utils/data-source.d.ts.map +1 -0
- package/dist/utils/data-source.js +149 -0
- package/dist/utils/errors.cjs +18 -0
- package/dist/utils/errors.d.cts +27 -0
- package/dist/utils/errors.d.cts.map +1 -1
- package/dist/utils/errors.d.ts +27 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +16 -1
- package/dist/utils/folders.cjs +335 -0
- package/dist/utils/folders.d.cts +54 -0
- package/dist/utils/folders.d.cts.map +1 -0
- package/dist/utils/folders.d.ts +54 -0
- package/dist/utils/folders.d.ts.map +1 -0
- package/dist/utils/folders.js +297 -0
- package/dist/utils/header-action.cjs +1 -1
- package/dist/utils/header-action.d.cts.map +1 -1
- package/dist/utils/header-action.d.ts.map +1 -1
- package/dist/utils/header-action.js +1 -1
- package/dist/utils/registry.cjs +38 -12
- package/dist/utils/registry.d.cts +29 -1
- package/dist/utils/registry.d.cts.map +1 -1
- package/dist/utils/registry.d.ts +29 -1
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +31 -11
- package/dist/utils/resolver.cjs +5 -4
- package/dist/utils/resolver.d.cts.map +1 -1
- package/dist/utils/resolver.d.ts.map +1 -1
- package/dist/utils/resolver.js +5 -4
- package/dist/utils/studio-asset-source.cjs +13 -4
- package/dist/utils/studio-asset-source.d.cts +6 -1
- package/dist/utils/studio-asset-source.d.cts.map +1 -1
- package/dist/utils/studio-asset-source.d.ts +6 -1
- package/dist/utils/studio-asset-source.d.ts.map +1 -1
- package/dist/utils/studio-asset-source.js +9 -3
- package/dist/utils/validate-upload-result.d.cts +2 -1
- package/dist/utils/validate-upload-result.d.cts.map +1 -1
- package/dist/utils/validate-upload-result.d.ts +2 -1
- package/dist/utils/validate-upload-result.d.ts.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.d.cts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/i18n/messages/en.json +99 -0
- package/i18n/messages/ja.json +99 -0
- package/i18n/messages/ko.json +99 -0
- package/i18n/messages/zh.json +99 -0
- package/meta/config.json +1 -1
- package/package.json +19 -8
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AssetTheme } from "../sources/provider.js";
|
|
2
|
+
/** A browsed Unsplash result + the attribution the tile must show. */
|
|
3
|
+
export interface UnsplashResult {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly thumbnailUrl: string;
|
|
6
|
+
readonly photographerName: string;
|
|
7
|
+
readonly photographerUrl: string;
|
|
8
|
+
readonly unsplashUrl: string;
|
|
9
|
+
}
|
|
10
|
+
export type UnsplashPanelStatus = "idle" | "loading" | "rateLimited" | "error" | "disabled";
|
|
11
|
+
export interface UnsplashPanelProps {
|
|
12
|
+
readonly themes: readonly AssetTheme[];
|
|
13
|
+
readonly activeThemeId?: string;
|
|
14
|
+
readonly onThemeChange: (themeId: string | undefined) => void;
|
|
15
|
+
readonly query: string;
|
|
16
|
+
readonly onQueryChange: (query: string) => void;
|
|
17
|
+
readonly results: readonly UnsplashResult[];
|
|
18
|
+
readonly status: UnsplashPanelStatus;
|
|
19
|
+
/** Insert a result — the host calls the provider's pickResult (download trigger). */
|
|
20
|
+
readonly onPick: (id: string) => void | Promise<void>;
|
|
21
|
+
readonly onLoadMore?: () => void;
|
|
22
|
+
/** Map a theme label key → display text (defaults to the raw key). */
|
|
23
|
+
readonly themeLabel?: (key: string) => string;
|
|
24
|
+
/** Skeleton tile count while loading the first page. */
|
|
25
|
+
readonly skeletonCount?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function UnsplashPanel({ themes, activeThemeId, onThemeChange, query, onQueryChange, results, status, onPick, onLoadMore, themeLabel, skeletonCount, }: UnsplashPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=UnsplashPanel.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnsplashPanel.d.cts","sourceRoot":"","sources":["../../src/ui/UnsplashPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAC5B,MAAM,GACN,SAAS,GACT,aAAa,GACb,OAAO,GACP,UAAU,CAAC;AAEd,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,aAAa,EACb,KAAK,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,aAAkB,GAClB,EAAE,kBAAkB,2CA8JpB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AssetTheme } from "../sources/provider.js";
|
|
2
|
+
/** A browsed Unsplash result + the attribution the tile must show. */
|
|
3
|
+
export interface UnsplashResult {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly thumbnailUrl: string;
|
|
6
|
+
readonly photographerName: string;
|
|
7
|
+
readonly photographerUrl: string;
|
|
8
|
+
readonly unsplashUrl: string;
|
|
9
|
+
}
|
|
10
|
+
export type UnsplashPanelStatus = "idle" | "loading" | "rateLimited" | "error" | "disabled";
|
|
11
|
+
export interface UnsplashPanelProps {
|
|
12
|
+
readonly themes: readonly AssetTheme[];
|
|
13
|
+
readonly activeThemeId?: string;
|
|
14
|
+
readonly onThemeChange: (themeId: string | undefined) => void;
|
|
15
|
+
readonly query: string;
|
|
16
|
+
readonly onQueryChange: (query: string) => void;
|
|
17
|
+
readonly results: readonly UnsplashResult[];
|
|
18
|
+
readonly status: UnsplashPanelStatus;
|
|
19
|
+
/** Insert a result — the host calls the provider's pickResult (download trigger). */
|
|
20
|
+
readonly onPick: (id: string) => void | Promise<void>;
|
|
21
|
+
readonly onLoadMore?: () => void;
|
|
22
|
+
/** Map a theme label key → display text (defaults to the raw key). */
|
|
23
|
+
readonly themeLabel?: (key: string) => string;
|
|
24
|
+
/** Skeleton tile count while loading the first page. */
|
|
25
|
+
readonly skeletonCount?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare function UnsplashPanel({ themes, activeThemeId, onThemeChange, query, onQueryChange, results, status, onPick, onLoadMore, themeLabel, skeletonCount, }: UnsplashPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=UnsplashPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnsplashPanel.d.ts","sourceRoot":"","sources":["../../src/ui/UnsplashPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAC5B,MAAM,GACN,SAAS,GACT,aAAa,GACb,OAAO,GACP,UAAU,CAAC;AAEd,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,aAAa,EACb,KAAK,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,aAAkB,GAClB,EAAE,kBAAkB,2CA8JpB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
3
|
+
import { Button } from "@anvilkit/ui/button";
|
|
4
|
+
import { Input } from "@anvilkit/ui/input";
|
|
5
|
+
import * as __rspack_external_react from "react";
|
|
6
|
+
function UnsplashPanel({ themes, activeThemeId, onThemeChange, query, onQueryChange, results, status, onPick, onLoadMore, themeLabel, skeletonCount = 12 }) {
|
|
7
|
+
const msg = useMsg();
|
|
8
|
+
const resolvedThemeLabel = themeLabel ?? ((key)=>msg(key));
|
|
9
|
+
if ("disabled" === status) return /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
10
|
+
role: "status",
|
|
11
|
+
"data-testid": "ak-unsplash-disabled",
|
|
12
|
+
className: "flex flex-col items-center gap-2 p-6 text-center text-sm text-[var(--ak-studio-muted-fg)]"
|
|
13
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("p", null, msg("assetManager.unsplash.disabled")));
|
|
14
|
+
return /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
15
|
+
"data-testid": "ak-unsplash-panel",
|
|
16
|
+
className: "flex flex-col gap-2"
|
|
17
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("span", {
|
|
18
|
+
role: "status",
|
|
19
|
+
"aria-live": "polite",
|
|
20
|
+
"data-testid": "ak-unsplash-status",
|
|
21
|
+
className: "sr-only"
|
|
22
|
+
}, "loading" === status ? msg("assetManager.unsplash.loading") : ""), /*#__PURE__*/ __rspack_external_react.createElement(Input, {
|
|
23
|
+
value: query,
|
|
24
|
+
placeholder: msg("assetManager.unsplash.searchPlaceholder"),
|
|
25
|
+
"data-testid": "ak-unsplash-search",
|
|
26
|
+
onChange: (event)=>onQueryChange(event.currentTarget.value)
|
|
27
|
+
}), themes.length > 0 ? /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
28
|
+
role: "group",
|
|
29
|
+
"aria-label": msg("assetManager.unsplash.themesLabel"),
|
|
30
|
+
"data-testid": "ak-unsplash-themes",
|
|
31
|
+
className: "flex flex-wrap gap-1"
|
|
32
|
+
}, themes.map((theme)=>/*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
33
|
+
key: theme.id,
|
|
34
|
+
type: "button",
|
|
35
|
+
size: "sm",
|
|
36
|
+
variant: theme.id === activeThemeId ? "secondary" : "ghost",
|
|
37
|
+
"aria-pressed": theme.id === activeThemeId,
|
|
38
|
+
"data-theme-id": theme.id,
|
|
39
|
+
onClick: ()=>onThemeChange(theme.id === activeThemeId ? void 0 : theme.id)
|
|
40
|
+
}, resolvedThemeLabel(theme.label)))) : null, "rateLimited" === status ? /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
41
|
+
role: "alert",
|
|
42
|
+
"data-testid": "ak-unsplash-rate-limited",
|
|
43
|
+
className: "text-sm"
|
|
44
|
+
}, msg("assetManager.unsplash.rateLimited")) : null, "error" === status ? /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
45
|
+
role: "alert",
|
|
46
|
+
"data-testid": "ak-unsplash-error",
|
|
47
|
+
className: "text-sm"
|
|
48
|
+
}, msg("assetManager.unsplash.error")) : null, "loading" === status && 0 === results.length ? /*#__PURE__*/ __rspack_external_react.createElement("ul", {
|
|
49
|
+
"data-testid": "ak-unsplash-skeletons",
|
|
50
|
+
className: "grid grid-cols-3 gap-2",
|
|
51
|
+
"aria-hidden": "true"
|
|
52
|
+
}, Array.from({
|
|
53
|
+
length: skeletonCount
|
|
54
|
+
}, (_, index)=>/*#__PURE__*/ __rspack_external_react.createElement("li", {
|
|
55
|
+
key: `skeleton-${index}`,
|
|
56
|
+
className: "aspect-square animate-pulse rounded bg-[var(--ak-studio-muted,#e5e7eb)]"
|
|
57
|
+
}))) : 0 === results.length && "idle" === status ? /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
58
|
+
"data-testid": "ak-unsplash-empty",
|
|
59
|
+
className: "p-4 text-center text-sm"
|
|
60
|
+
}, msg("assetManager.unsplash.empty")) : /*#__PURE__*/ __rspack_external_react.createElement("ul", {
|
|
61
|
+
"data-testid": "ak-unsplash-results",
|
|
62
|
+
className: "grid grid-cols-3 gap-2"
|
|
63
|
+
}, results.map((result)=>/*#__PURE__*/ __rspack_external_react.createElement("li", {
|
|
64
|
+
key: result.id,
|
|
65
|
+
className: "flex flex-col gap-0.5"
|
|
66
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("button", {
|
|
67
|
+
type: "button",
|
|
68
|
+
"data-unsplash-id": result.id,
|
|
69
|
+
"aria-label": msg("assetManager.unsplash.insert").replace("{photographer}", result.photographerName),
|
|
70
|
+
className: "overflow-hidden rounded",
|
|
71
|
+
onClick: ()=>void onPick(result.id)
|
|
72
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("img", {
|
|
73
|
+
src: result.thumbnailUrl,
|
|
74
|
+
alt: "",
|
|
75
|
+
className: "aspect-square w-full object-cover",
|
|
76
|
+
loading: "lazy"
|
|
77
|
+
})), /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
78
|
+
className: "truncate text-[10px] text-[var(--ak-studio-muted-fg)]"
|
|
79
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("a", {
|
|
80
|
+
href: result.photographerUrl,
|
|
81
|
+
target: "_blank",
|
|
82
|
+
rel: "noreferrer noopener",
|
|
83
|
+
className: "underline"
|
|
84
|
+
}, result.photographerName), " ", "\xb7", " ", /*#__PURE__*/ __rspack_external_react.createElement("a", {
|
|
85
|
+
href: result.unsplashUrl,
|
|
86
|
+
target: "_blank",
|
|
87
|
+
rel: "noreferrer noopener",
|
|
88
|
+
className: "underline"
|
|
89
|
+
}, "Unsplash"))))), onLoadMore && results.length > 0 ? /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
90
|
+
className: "flex justify-center"
|
|
91
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
92
|
+
type: "button",
|
|
93
|
+
variant: "outline",
|
|
94
|
+
size: "sm",
|
|
95
|
+
disabled: "loading" === status,
|
|
96
|
+
onClick: onLoadMore
|
|
97
|
+
}, msg("assetManager.button.loadMore"))) : null);
|
|
98
|
+
}
|
|
99
|
+
export { UnsplashPanel };
|
package/dist/ui/UploadButton.cjs
CHANGED
|
@@ -31,11 +31,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
UploadButton: ()=>UploadButton
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const button_namespaceObject = require("@anvilkit/ui/button");
|
|
35
36
|
const external_react_namespaceObject = require("react");
|
|
36
37
|
const external_plugin_cjs_namespaceObject = require("../plugin.cjs");
|
|
37
38
|
const validate_upload_result_cjs_namespaceObject = require("../utils/validate-upload-result.cjs");
|
|
39
|
+
function handleDragOver(event) {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
if (event.dataTransfer) event.dataTransfer.dropEffect = "copy";
|
|
43
|
+
}
|
|
38
44
|
function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAllowlistOptIn, maxFileSize, onError, onProgress, onUploaded, uploader }) {
|
|
45
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
39
46
|
const inputRef = external_react_namespaceObject.useRef(null);
|
|
40
47
|
const [errorMessage, setErrorMessage] = external_react_namespaceObject.useState(null);
|
|
41
48
|
const [batch, setBatch] = external_react_namespaceObject.useState(null);
|
|
@@ -121,11 +128,6 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
121
128
|
event.stopPropagation();
|
|
122
129
|
if (event.dataTransfer?.types?.includes("Files")) setIsDragOver(true);
|
|
123
130
|
}
|
|
124
|
-
function handleDragOver(event) {
|
|
125
|
-
event.preventDefault();
|
|
126
|
-
event.stopPropagation();
|
|
127
|
-
if (event.dataTransfer) event.dataTransfer.dropEffect = "copy";
|
|
128
|
-
}
|
|
129
131
|
function handleDragLeave(event) {
|
|
130
132
|
event.preventDefault();
|
|
131
133
|
event.stopPropagation();
|
|
@@ -138,7 +140,7 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
138
140
|
const files = event.dataTransfer?.files ? Array.from(event.dataTransfer.files) : [];
|
|
139
141
|
await processFiles(files);
|
|
140
142
|
}
|
|
141
|
-
const statusMessage = errorMessage ?? (null !== batch ?
|
|
143
|
+
const statusMessage = errorMessage ?? (null !== batch ? msg("assetManager.upload.statusProgress").replace("{completed}", String(Math.min(batch.completed + 1, batch.total))).replace("{total}", String(batch.total)) : msg("assetManager.upload.statusIdle"));
|
|
142
144
|
return /*#__PURE__*/ external_react_namespaceObject.createElement("div", {
|
|
143
145
|
"data-asset-manager-drop-zone": true,
|
|
144
146
|
"data-drag-over": isDragOver ? "true" : void 0,
|
|
@@ -151,6 +153,7 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
151
153
|
tabIndex: -1
|
|
152
154
|
}, /*#__PURE__*/ external_react_namespaceObject.createElement("input", {
|
|
153
155
|
accept: acceptAttr,
|
|
156
|
+
"aria-label": msg("assetManager.upload.chooseLabel"),
|
|
154
157
|
multiple: true,
|
|
155
158
|
onChange: (event)=>{
|
|
156
159
|
handleChange(event);
|
|
@@ -161,14 +164,14 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
161
164
|
},
|
|
162
165
|
type: "file"
|
|
163
166
|
}), /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
164
|
-
"aria-label": "
|
|
167
|
+
"aria-label": msg("assetManager.upload.buttonLabel"),
|
|
165
168
|
disabled: isUploading,
|
|
166
169
|
onClick: ()=>{
|
|
167
170
|
inputRef.current?.click();
|
|
168
171
|
},
|
|
169
172
|
type: "button",
|
|
170
173
|
variant: "outline"
|
|
171
|
-
}, isUploading ? /*#__PURE__*/ external_react_namespaceObject.createElement(UploadSpinner, null) : null, /*#__PURE__*/ external_react_namespaceObject.createElement("span", null, isUploading ? "
|
|
174
|
+
}, isUploading ? /*#__PURE__*/ external_react_namespaceObject.createElement(UploadSpinner, null) : null, /*#__PURE__*/ external_react_namespaceObject.createElement("span", null, isUploading ? msg("assetManager.upload.progress") : msg("assetManager.upload.button"))), /*#__PURE__*/ external_react_namespaceObject.createElement("p", {
|
|
172
175
|
"aria-live": "polite",
|
|
173
176
|
role: "status"
|
|
174
177
|
}, statusMessage));
|
|
@@ -176,13 +179,9 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
176
179
|
function UploadSpinner() {
|
|
177
180
|
return /*#__PURE__*/ external_react_namespaceObject.createElement("svg", {
|
|
178
181
|
"aria-hidden": true,
|
|
182
|
+
className: "mr-1.5 inline-block animate-spin",
|
|
179
183
|
fill: "none",
|
|
180
184
|
height: 14,
|
|
181
|
-
style: {
|
|
182
|
-
display: "inline-block",
|
|
183
|
-
marginRight: 6,
|
|
184
|
-
animation: "spin 1s linear infinite"
|
|
185
|
-
},
|
|
186
185
|
viewBox: "0 0 24 24",
|
|
187
186
|
width: 14
|
|
188
187
|
}, /*#__PURE__*/ external_react_namespaceObject.createElement("circle", {
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type { AssetManagerOptions
|
|
1
|
+
import type { AssetManagerOptions } from "../types/options.js";
|
|
2
|
+
import type { UploadAdapter, UploadResult } from "../types/types.js";
|
|
2
3
|
export interface UploadProgressSnapshot {
|
|
3
4
|
readonly completed: number;
|
|
4
5
|
readonly total: number;
|
|
5
6
|
}
|
|
6
|
-
export interface UploadButtonProps extends Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize" | "
|
|
7
|
+
export interface UploadButtonProps extends Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize" | "dataUrlAllowlistOptIn" | "allowMixedScriptHostnames"> {
|
|
8
|
+
/**
|
|
9
|
+
* Binary uploader. Required at the UI boundary even though
|
|
10
|
+
* `AssetManagerOptions.uploader` is optional — the plugin passes the
|
|
11
|
+
* resolved (defaulted) uploader, so the component never sees `undefined`.
|
|
12
|
+
*/
|
|
13
|
+
readonly uploader: UploadAdapter;
|
|
7
14
|
readonly onUploaded?: (asset: UploadResult) => void;
|
|
8
15
|
readonly onError?: (error: unknown) => void;
|
|
9
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadButton.d.cts","sourceRoot":"","sources":["../../src/ui/UploadButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploadButton.d.cts","sourceRoot":"","sources":["../../src/ui/UploadButton.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGrE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAChB,SAAQ,IAAI,CACX,mBAAmB,EACjB,mBAAmB,GACnB,aAAa,GACb,uBAAuB,GACvB,2BAA2B,CAC7B;IACD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,KAAK,IAAI,CAAC;CACxE;AAYD,wBAAgB,YAAY,CAAC,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,GACR,EAAE,iBAAiB,2CAmLnB"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type { AssetManagerOptions
|
|
1
|
+
import type { AssetManagerOptions } from "../types/options.js";
|
|
2
|
+
import type { UploadAdapter, UploadResult } from "../types/types.js";
|
|
2
3
|
export interface UploadProgressSnapshot {
|
|
3
4
|
readonly completed: number;
|
|
4
5
|
readonly total: number;
|
|
5
6
|
}
|
|
6
|
-
export interface UploadButtonProps extends Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize" | "
|
|
7
|
+
export interface UploadButtonProps extends Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize" | "dataUrlAllowlistOptIn" | "allowMixedScriptHostnames"> {
|
|
8
|
+
/**
|
|
9
|
+
* Binary uploader. Required at the UI boundary even though
|
|
10
|
+
* `AssetManagerOptions.uploader` is optional — the plugin passes the
|
|
11
|
+
* resolved (defaulted) uploader, so the component never sees `undefined`.
|
|
12
|
+
*/
|
|
13
|
+
readonly uploader: UploadAdapter;
|
|
7
14
|
readonly onUploaded?: (asset: UploadResult) => void;
|
|
8
15
|
readonly onError?: (error: unknown) => void;
|
|
9
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../src/ui/UploadButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploadButton.d.ts","sourceRoot":"","sources":["../../src/ui/UploadButton.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGrE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAChB,SAAQ,IAAI,CACX,mBAAmB,EACjB,mBAAmB,GACnB,aAAa,GACb,uBAAuB,GACvB,2BAA2B,CAC7B;IACD;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,KAAK,IAAI,CAAC;CACxE;AAYD,wBAAgB,YAAY,CAAC,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,GACR,EAAE,iBAAiB,2CAmLnB"}
|
package/dist/ui/UploadButton.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Button } from "@anvilkit/ui/button";
|
|
3
4
|
import { validateSelectedFile } from "../plugin.js";
|
|
4
5
|
import { validateUploadResult } from "../utils/validate-upload-result.js";
|
|
5
6
|
import * as __rspack_external_react from "react";
|
|
7
|
+
function handleDragOver(event) {
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
event.stopPropagation();
|
|
10
|
+
if (event.dataTransfer) event.dataTransfer.dropEffect = "copy";
|
|
11
|
+
}
|
|
6
12
|
function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAllowlistOptIn, maxFileSize, onError, onProgress, onUploaded, uploader }) {
|
|
13
|
+
const msg = useMsg();
|
|
7
14
|
const inputRef = __rspack_external_react.useRef(null);
|
|
8
15
|
const [errorMessage, setErrorMessage] = __rspack_external_react.useState(null);
|
|
9
16
|
const [batch, setBatch] = __rspack_external_react.useState(null);
|
|
@@ -89,11 +96,6 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
89
96
|
event.stopPropagation();
|
|
90
97
|
if (event.dataTransfer?.types?.includes("Files")) setIsDragOver(true);
|
|
91
98
|
}
|
|
92
|
-
function handleDragOver(event) {
|
|
93
|
-
event.preventDefault();
|
|
94
|
-
event.stopPropagation();
|
|
95
|
-
if (event.dataTransfer) event.dataTransfer.dropEffect = "copy";
|
|
96
|
-
}
|
|
97
99
|
function handleDragLeave(event) {
|
|
98
100
|
event.preventDefault();
|
|
99
101
|
event.stopPropagation();
|
|
@@ -106,7 +108,7 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
106
108
|
const files = event.dataTransfer?.files ? Array.from(event.dataTransfer.files) : [];
|
|
107
109
|
await processFiles(files);
|
|
108
110
|
}
|
|
109
|
-
const statusMessage = errorMessage ?? (null !== batch ?
|
|
111
|
+
const statusMessage = errorMessage ?? (null !== batch ? msg("assetManager.upload.statusProgress").replace("{completed}", String(Math.min(batch.completed + 1, batch.total))).replace("{total}", String(batch.total)) : msg("assetManager.upload.statusIdle"));
|
|
110
112
|
return /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
111
113
|
"data-asset-manager-drop-zone": true,
|
|
112
114
|
"data-drag-over": isDragOver ? "true" : void 0,
|
|
@@ -119,6 +121,7 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
119
121
|
tabIndex: -1
|
|
120
122
|
}, /*#__PURE__*/ __rspack_external_react.createElement("input", {
|
|
121
123
|
accept: acceptAttr,
|
|
124
|
+
"aria-label": msg("assetManager.upload.chooseLabel"),
|
|
122
125
|
multiple: true,
|
|
123
126
|
onChange: (event)=>{
|
|
124
127
|
handleChange(event);
|
|
@@ -129,14 +132,14 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
129
132
|
},
|
|
130
133
|
type: "file"
|
|
131
134
|
}), /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
132
|
-
"aria-label": "
|
|
135
|
+
"aria-label": msg("assetManager.upload.buttonLabel"),
|
|
133
136
|
disabled: isUploading,
|
|
134
137
|
onClick: ()=>{
|
|
135
138
|
inputRef.current?.click();
|
|
136
139
|
},
|
|
137
140
|
type: "button",
|
|
138
141
|
variant: "outline"
|
|
139
|
-
}, isUploading ? /*#__PURE__*/ __rspack_external_react.createElement(UploadSpinner, null) : null, /*#__PURE__*/ __rspack_external_react.createElement("span", null, isUploading ? "
|
|
142
|
+
}, isUploading ? /*#__PURE__*/ __rspack_external_react.createElement(UploadSpinner, null) : null, /*#__PURE__*/ __rspack_external_react.createElement("span", null, isUploading ? msg("assetManager.upload.progress") : msg("assetManager.upload.button"))), /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
140
143
|
"aria-live": "polite",
|
|
141
144
|
role: "status"
|
|
142
145
|
}, statusMessage));
|
|
@@ -144,13 +147,9 @@ function UploadButton({ acceptedMimeTypes, allowMixedScriptHostnames, dataUrlAll
|
|
|
144
147
|
function UploadSpinner() {
|
|
145
148
|
return /*#__PURE__*/ __rspack_external_react.createElement("svg", {
|
|
146
149
|
"aria-hidden": true,
|
|
150
|
+
className: "mr-1.5 inline-block animate-spin",
|
|
147
151
|
fill: "none",
|
|
148
152
|
height: 14,
|
|
149
|
-
style: {
|
|
150
|
-
display: "inline-block",
|
|
151
|
-
marginRight: 6,
|
|
152
|
-
animation: "spin 1s linear infinite"
|
|
153
|
-
},
|
|
154
153
|
viewBox: "0 0 24 24",
|
|
155
154
|
width: 14
|
|
156
155
|
}, /*#__PURE__*/ __rspack_external_react.createElement("circle", {
|
package/dist/ui/index.cjs
CHANGED
|
@@ -28,35 +28,76 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
ASSET_DRAG_MIME: ()=>external_FolderTree_cjs_namespaceObject.ASSET_DRAG_MIME,
|
|
31
32
|
AssetBrowser: ()=>external_AssetBrowser_cjs_namespaceObject.AssetBrowser,
|
|
32
33
|
AssetCommandPalette: ()=>external_AssetCommandPalette_cjs_namespaceObject.AssetCommandPalette,
|
|
34
|
+
AssetManagerI18nProvider: ()=>provider_cjs_namespaceObject.AssetManagerI18nProvider,
|
|
33
35
|
AssetManagerUI: ()=>external_AssetManagerUI_cjs_namespaceObject.AssetManagerUI,
|
|
36
|
+
CreateFolderDialog: ()=>external_FolderNameDialog_cjs_namespaceObject.FolderNameDialog,
|
|
34
37
|
DeleteAssetDialog: ()=>external_DeleteAssetDialog_cjs_namespaceObject.DeleteAssetDialog,
|
|
38
|
+
DeleteFolderDialog: ()=>external_DeleteFolderDialog_cjs_namespaceObject.DeleteFolderDialog,
|
|
39
|
+
EmptyFolderState: ()=>external_EmptyFolderState_cjs_namespaceObject.EmptyFolderState,
|
|
40
|
+
FolderBreadcrumb: ()=>external_FolderBreadcrumb_cjs_namespaceObject.FolderBreadcrumb,
|
|
41
|
+
FolderNameDialog: ()=>external_FolderNameDialog_cjs_namespaceObject.FolderNameDialog,
|
|
42
|
+
FolderTree: ()=>external_FolderTree_cjs_namespaceObject.FolderTree,
|
|
35
43
|
MetadataPanel: ()=>external_MetadataPanel_cjs_namespaceObject.MetadataPanel,
|
|
44
|
+
MoveTargetPicker: ()=>external_MoveTargetPicker_cjs_namespaceObject.MoveTargetPicker,
|
|
45
|
+
RenameFolderDialog: ()=>external_FolderNameDialog_cjs_namespaceObject.FolderNameDialog,
|
|
36
46
|
ReplaceAssetDialog: ()=>external_ReplaceAssetDialog_cjs_namespaceObject.ReplaceAssetDialog,
|
|
47
|
+
UnsplashPanel: ()=>external_UnsplashPanel_cjs_namespaceObject.UnsplashPanel,
|
|
37
48
|
UploadButton: ()=>external_UploadButton_cjs_namespaceObject.UploadButton
|
|
38
49
|
});
|
|
50
|
+
const provider_cjs_namespaceObject = require("../i18n/provider.cjs");
|
|
39
51
|
const external_AssetBrowser_cjs_namespaceObject = require("./AssetBrowser.cjs");
|
|
40
52
|
const external_AssetCommandPalette_cjs_namespaceObject = require("./AssetCommandPalette.cjs");
|
|
41
53
|
const external_AssetManagerUI_cjs_namespaceObject = require("./AssetManagerUI.cjs");
|
|
42
54
|
const external_DeleteAssetDialog_cjs_namespaceObject = require("./DeleteAssetDialog.cjs");
|
|
55
|
+
const external_DeleteFolderDialog_cjs_namespaceObject = require("./DeleteFolderDialog.cjs");
|
|
56
|
+
const external_EmptyFolderState_cjs_namespaceObject = require("./EmptyFolderState.cjs");
|
|
57
|
+
const external_FolderBreadcrumb_cjs_namespaceObject = require("./FolderBreadcrumb.cjs");
|
|
58
|
+
const external_FolderNameDialog_cjs_namespaceObject = require("./FolderNameDialog.cjs");
|
|
59
|
+
const external_FolderTree_cjs_namespaceObject = require("./FolderTree.cjs");
|
|
43
60
|
const external_MetadataPanel_cjs_namespaceObject = require("./MetadataPanel.cjs");
|
|
61
|
+
const external_MoveTargetPicker_cjs_namespaceObject = require("./MoveTargetPicker.cjs");
|
|
44
62
|
const external_ReplaceAssetDialog_cjs_namespaceObject = require("./ReplaceAssetDialog.cjs");
|
|
63
|
+
const external_UnsplashPanel_cjs_namespaceObject = require("./UnsplashPanel.cjs");
|
|
45
64
|
const external_UploadButton_cjs_namespaceObject = require("./UploadButton.cjs");
|
|
65
|
+
exports.ASSET_DRAG_MIME = __webpack_exports__.ASSET_DRAG_MIME;
|
|
46
66
|
exports.AssetBrowser = __webpack_exports__.AssetBrowser;
|
|
47
67
|
exports.AssetCommandPalette = __webpack_exports__.AssetCommandPalette;
|
|
68
|
+
exports.AssetManagerI18nProvider = __webpack_exports__.AssetManagerI18nProvider;
|
|
48
69
|
exports.AssetManagerUI = __webpack_exports__.AssetManagerUI;
|
|
70
|
+
exports.CreateFolderDialog = __webpack_exports__.CreateFolderDialog;
|
|
49
71
|
exports.DeleteAssetDialog = __webpack_exports__.DeleteAssetDialog;
|
|
72
|
+
exports.DeleteFolderDialog = __webpack_exports__.DeleteFolderDialog;
|
|
73
|
+
exports.EmptyFolderState = __webpack_exports__.EmptyFolderState;
|
|
74
|
+
exports.FolderBreadcrumb = __webpack_exports__.FolderBreadcrumb;
|
|
75
|
+
exports.FolderNameDialog = __webpack_exports__.FolderNameDialog;
|
|
76
|
+
exports.FolderTree = __webpack_exports__.FolderTree;
|
|
50
77
|
exports.MetadataPanel = __webpack_exports__.MetadataPanel;
|
|
78
|
+
exports.MoveTargetPicker = __webpack_exports__.MoveTargetPicker;
|
|
79
|
+
exports.RenameFolderDialog = __webpack_exports__.RenameFolderDialog;
|
|
51
80
|
exports.ReplaceAssetDialog = __webpack_exports__.ReplaceAssetDialog;
|
|
81
|
+
exports.UnsplashPanel = __webpack_exports__.UnsplashPanel;
|
|
52
82
|
exports.UploadButton = __webpack_exports__.UploadButton;
|
|
53
83
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
84
|
+
"ASSET_DRAG_MIME",
|
|
54
85
|
"AssetBrowser",
|
|
55
86
|
"AssetCommandPalette",
|
|
87
|
+
"AssetManagerI18nProvider",
|
|
56
88
|
"AssetManagerUI",
|
|
89
|
+
"CreateFolderDialog",
|
|
57
90
|
"DeleteAssetDialog",
|
|
91
|
+
"DeleteFolderDialog",
|
|
92
|
+
"EmptyFolderState",
|
|
93
|
+
"FolderBreadcrumb",
|
|
94
|
+
"FolderNameDialog",
|
|
95
|
+
"FolderTree",
|
|
58
96
|
"MetadataPanel",
|
|
97
|
+
"MoveTargetPicker",
|
|
98
|
+
"RenameFolderDialog",
|
|
59
99
|
"ReplaceAssetDialog",
|
|
100
|
+
"UnsplashPanel",
|
|
60
101
|
"UploadButton"
|
|
61
102
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
62
103
|
Object.defineProperty(exports, '__esModule', {
|
package/dist/ui/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { AssetManagerI18nProvider } from "../i18n/provider.js";
|
|
1
2
|
export type { AssetBrowserProps } from "./AssetBrowser.js";
|
|
2
3
|
export { AssetBrowser } from "./AssetBrowser.js";
|
|
3
4
|
export type { AssetCommandPaletteProps } from "./AssetCommandPalette.js";
|
|
@@ -6,10 +7,24 @@ export type { AssetManagerUIProps } from "./AssetManagerUI.js";
|
|
|
6
7
|
export { AssetManagerUI } from "./AssetManagerUI.js";
|
|
7
8
|
export type { DeleteAssetDialogProps } from "./DeleteAssetDialog.js";
|
|
8
9
|
export { DeleteAssetDialog } from "./DeleteAssetDialog.js";
|
|
10
|
+
export type { DeleteFolderDialogProps } from "./DeleteFolderDialog.js";
|
|
11
|
+
export { DeleteFolderDialog } from "./DeleteFolderDialog.js";
|
|
12
|
+
export type { EmptyFolderStateProps } from "./EmptyFolderState.js";
|
|
13
|
+
export { EmptyFolderState } from "./EmptyFolderState.js";
|
|
14
|
+
export type { FolderBreadcrumbProps } from "./FolderBreadcrumb.js";
|
|
15
|
+
export { FolderBreadcrumb } from "./FolderBreadcrumb.js";
|
|
16
|
+
export type { FolderNameDialogProps } from "./FolderNameDialog.js";
|
|
17
|
+
export { FolderNameDialog, FolderNameDialog as CreateFolderDialog, FolderNameDialog as RenameFolderDialog, } from "./FolderNameDialog.js";
|
|
18
|
+
export type { FolderTreeProps } from "./FolderTree.js";
|
|
19
|
+
export { ASSET_DRAG_MIME, FolderTree } from "./FolderTree.js";
|
|
9
20
|
export type { MetadataPanelProps } from "./MetadataPanel.js";
|
|
10
21
|
export { MetadataPanel } from "./MetadataPanel.js";
|
|
22
|
+
export type { MoveTargetPickerProps } from "./MoveTargetPicker.js";
|
|
23
|
+
export { MoveTargetPicker } from "./MoveTargetPicker.js";
|
|
11
24
|
export type { ReplaceAssetDialogProps } from "./ReplaceAssetDialog.js";
|
|
12
25
|
export { ReplaceAssetDialog } from "./ReplaceAssetDialog.js";
|
|
26
|
+
export type { UnsplashPanelProps, UnsplashPanelStatus, UnsplashResult, } from "./UnsplashPanel.js";
|
|
27
|
+
export { UnsplashPanel } from "./UnsplashPanel.js";
|
|
13
28
|
export type { UploadButtonProps, UploadProgressSnapshot, } from "./UploadButton.js";
|
|
14
29
|
export { UploadButton } from "./UploadButton.js";
|
|
15
30
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/ui/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EACN,gBAAgB,EAChB,gBAAgB,IAAI,kBAAkB,EACtC,gBAAgB,IAAI,kBAAkB,GACtC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EACX,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { AssetManagerI18nProvider } from "../i18n/provider.js";
|
|
1
2
|
export type { AssetBrowserProps } from "./AssetBrowser.js";
|
|
2
3
|
export { AssetBrowser } from "./AssetBrowser.js";
|
|
3
4
|
export type { AssetCommandPaletteProps } from "./AssetCommandPalette.js";
|
|
@@ -6,10 +7,24 @@ export type { AssetManagerUIProps } from "./AssetManagerUI.js";
|
|
|
6
7
|
export { AssetManagerUI } from "./AssetManagerUI.js";
|
|
7
8
|
export type { DeleteAssetDialogProps } from "./DeleteAssetDialog.js";
|
|
8
9
|
export { DeleteAssetDialog } from "./DeleteAssetDialog.js";
|
|
10
|
+
export type { DeleteFolderDialogProps } from "./DeleteFolderDialog.js";
|
|
11
|
+
export { DeleteFolderDialog } from "./DeleteFolderDialog.js";
|
|
12
|
+
export type { EmptyFolderStateProps } from "./EmptyFolderState.js";
|
|
13
|
+
export { EmptyFolderState } from "./EmptyFolderState.js";
|
|
14
|
+
export type { FolderBreadcrumbProps } from "./FolderBreadcrumb.js";
|
|
15
|
+
export { FolderBreadcrumb } from "./FolderBreadcrumb.js";
|
|
16
|
+
export type { FolderNameDialogProps } from "./FolderNameDialog.js";
|
|
17
|
+
export { FolderNameDialog, FolderNameDialog as CreateFolderDialog, FolderNameDialog as RenameFolderDialog, } from "./FolderNameDialog.js";
|
|
18
|
+
export type { FolderTreeProps } from "./FolderTree.js";
|
|
19
|
+
export { ASSET_DRAG_MIME, FolderTree } from "./FolderTree.js";
|
|
9
20
|
export type { MetadataPanelProps } from "./MetadataPanel.js";
|
|
10
21
|
export { MetadataPanel } from "./MetadataPanel.js";
|
|
22
|
+
export type { MoveTargetPickerProps } from "./MoveTargetPicker.js";
|
|
23
|
+
export { MoveTargetPicker } from "./MoveTargetPicker.js";
|
|
11
24
|
export type { ReplaceAssetDialogProps } from "./ReplaceAssetDialog.js";
|
|
12
25
|
export { ReplaceAssetDialog } from "./ReplaceAssetDialog.js";
|
|
26
|
+
export type { UnsplashPanelProps, UnsplashPanelStatus, UnsplashResult, } from "./UnsplashPanel.js";
|
|
27
|
+
export { UnsplashPanel } from "./UnsplashPanel.js";
|
|
13
28
|
export type { UploadButtonProps, UploadProgressSnapshot, } from "./UploadButton.js";
|
|
14
29
|
export { UploadButton } from "./UploadButton.js";
|
|
15
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EACN,gBAAgB,EAChB,gBAAgB,IAAI,kBAAkB,EACtC,gBAAgB,IAAI,kBAAkB,GACtC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EACX,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
export { AssetManagerI18nProvider } from "../i18n/provider.js";
|
|
1
2
|
export { AssetBrowser } from "./AssetBrowser.js";
|
|
2
3
|
export { AssetCommandPalette } from "./AssetCommandPalette.js";
|
|
3
4
|
export { AssetManagerUI } from "./AssetManagerUI.js";
|
|
4
5
|
export { DeleteAssetDialog } from "./DeleteAssetDialog.js";
|
|
6
|
+
export { DeleteFolderDialog } from "./DeleteFolderDialog.js";
|
|
7
|
+
export { EmptyFolderState } from "./EmptyFolderState.js";
|
|
8
|
+
export { FolderBreadcrumb } from "./FolderBreadcrumb.js";
|
|
9
|
+
export { FolderNameDialog as CreateFolderDialog, FolderNameDialog, FolderNameDialog as RenameFolderDialog } from "./FolderNameDialog.js";
|
|
10
|
+
export { ASSET_DRAG_MIME, FolderTree } from "./FolderTree.js";
|
|
5
11
|
export { MetadataPanel } from "./MetadataPanel.js";
|
|
12
|
+
export { MoveTargetPicker } from "./MoveTargetPicker.js";
|
|
6
13
|
export { ReplaceAssetDialog } from "./ReplaceAssetDialog.js";
|
|
14
|
+
export { UnsplashPanel } from "./UnsplashPanel.js";
|
|
7
15
|
export { UploadButton } from "./UploadButton.js";
|