@anvilkit/plugin-asset-manager 0.1.7 → 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 +3 -3
- 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/plugin.cjs +3 -1
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +3 -1
- package/dist/sources/composite-source.cjs +4 -3
- package/dist/sources/composite-source.d.cts.map +1 -1
- package/dist/sources/composite-source.d.ts.map +1 -1
- package/dist/sources/composite-source.js +4 -3
- package/dist/sources/federated-search.cjs +16 -6
- package/dist/sources/federated-search.d.cts.map +1 -1
- package/dist/sources/federated-search.d.ts.map +1 -1
- package/dist/sources/federated-search.js +16 -6
- package/dist/sources/unsplash/index.cjs +6 -4
- package/dist/sources/unsplash/index.d.cts.map +1 -1
- package/dist/sources/unsplash/index.d.ts.map +1 -1
- package/dist/sources/unsplash/index.js +6 -4
- package/dist/types/types.d.cts +7 -1
- package/dist/types/types.d.cts.map +1 -1
- package/dist/types/types.d.ts +7 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/ui/AssetBrowser.cjs +175 -134
- package/dist/ui/AssetBrowser.d.cts.map +1 -1
- package/dist/ui/AssetBrowser.d.ts.map +1 -1
- package/dist/ui/AssetBrowser.js +175 -134
- 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 +23 -15
- package/dist/ui/AssetManagerUI.d.cts.map +1 -1
- package/dist/ui/AssetManagerUI.d.ts.map +1 -1
- package/dist/ui/AssetManagerUI.js +23 -15
- 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 +6 -4
- package/dist/ui/DeleteFolderDialog.d.cts.map +1 -1
- package/dist/ui/DeleteFolderDialog.d.ts.map +1 -1
- package/dist/ui/DeleteFolderDialog.js +6 -4
- package/dist/ui/EmptyFolderState.cjs +6 -3
- package/dist/ui/EmptyFolderState.d.cts +1 -1
- package/dist/ui/EmptyFolderState.d.cts.map +1 -1
- package/dist/ui/EmptyFolderState.d.ts +1 -1
- package/dist/ui/EmptyFolderState.d.ts.map +1 -1
- package/dist/ui/EmptyFolderState.js +6 -3
- package/dist/ui/FolderBreadcrumb.cjs +7 -4
- package/dist/ui/FolderBreadcrumb.d.cts.map +1 -1
- package/dist/ui/FolderBreadcrumb.d.ts.map +1 -1
- package/dist/ui/FolderBreadcrumb.js +7 -4
- package/dist/ui/FolderNameDialog.cjs +19 -12
- package/dist/ui/FolderNameDialog.d.cts.map +1 -1
- package/dist/ui/FolderNameDialog.d.ts.map +1 -1
- package/dist/ui/FolderNameDialog.js +19 -12
- package/dist/ui/FolderTree.cjs +4 -2
- package/dist/ui/FolderTree.d.cts.map +1 -1
- package/dist/ui/FolderTree.d.ts.map +1 -1
- package/dist/ui/FolderTree.js +4 -2
- package/dist/ui/MetadataPanel.cjs +16 -13
- package/dist/ui/MetadataPanel.d.cts.map +1 -1
- package/dist/ui/MetadataPanel.d.ts.map +1 -1
- package/dist/ui/MetadataPanel.js +16 -13
- package/dist/ui/MoveTargetPicker.cjs +7 -4
- package/dist/ui/MoveTargetPicker.d.cts.map +1 -1
- package/dist/ui/MoveTargetPicker.d.ts.map +1 -1
- package/dist/ui/MoveTargetPicker.js +7 -4
- package/dist/ui/ReplaceAssetDialog.cjs +19 -17
- package/dist/ui/ReplaceAssetDialog.d.cts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.d.ts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.js +19 -17
- package/dist/ui/UnsplashPanel.cjs +15 -12
- package/dist/ui/UnsplashPanel.d.cts.map +1 -1
- package/dist/ui/UnsplashPanel.d.ts.map +1 -1
- package/dist/ui/UnsplashPanel.js +15 -12
- package/dist/ui/UploadButton.cjs +11 -8
- package/dist/ui/UploadButton.d.cts.map +1 -1
- package/dist/ui/UploadButton.d.ts.map +1 -1
- package/dist/ui/UploadButton.js +11 -8
- package/dist/ui/index.cjs +4 -0
- package/dist/ui/index.d.cts +1 -0
- package/dist/ui/index.d.cts.map +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/utils/data-source.cjs +18 -5
- package/dist/utils/data-source.d.cts.map +1 -1
- package/dist/utils/data-source.d.ts.map +1 -1
- package/dist/utils/data-source.js +19 -6
- package/dist/utils/folders.cjs +107 -33
- package/dist/utils/folders.d.cts +7 -2
- package/dist/utils/folders.d.cts.map +1 -1
- package/dist/utils/folders.d.ts +7 -2
- package/dist/utils/folders.d.ts.map +1 -1
- package/dist/utils/folders.js +107 -33
- 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 +23 -12
- package/dist/utils/registry.d.cts +16 -8
- package/dist/utils/registry.d.cts.map +1 -1
- package/dist/utils/registry.d.ts +16 -8
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +19 -8
- 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 +8 -2
- package/dist/utils/studio-asset-source.js +8 -2
- 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 +9 -8
|
@@ -31,6 +31,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
AssetManagerUI: ()=>AssetManagerUI
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const card_namespaceObject = require("@anvilkit/ui/card");
|
|
35
36
|
const progress_namespaceObject = require("@anvilkit/ui/progress");
|
|
36
37
|
const external_react_namespaceObject = require("react");
|
|
@@ -42,6 +43,7 @@ const external_MetadataPanel_cjs_namespaceObject = require("./MetadataPanel.cjs"
|
|
|
42
43
|
const external_ReplaceAssetDialog_cjs_namespaceObject = require("./ReplaceAssetDialog.cjs");
|
|
43
44
|
const external_UploadButton_cjs_namespaceObject = require("./UploadButton.cjs");
|
|
44
45
|
function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFilters, dataUrlAllowlistOptIn, draggableRows, maxFileSize, onAssetInserted, registry, searchEnabled = true, uploader }) {
|
|
46
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
45
47
|
const [assets, setAssets] = external_react_namespaceObject.useState(()=>registry.list());
|
|
46
48
|
const [progress, setProgress] = external_react_namespaceObject.useState(null);
|
|
47
49
|
const [pendingDelete, setPendingDelete] = external_react_namespaceObject.useState(null);
|
|
@@ -103,9 +105,23 @@ function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFil
|
|
|
103
105
|
registry.setTags(asset.id, next.tags);
|
|
104
106
|
setPendingEdit(null);
|
|
105
107
|
}
|
|
108
|
+
const handleBrowserDelete = external_react_namespaceObject.useCallback((asset)=>{
|
|
109
|
+
setPendingDelete(asset);
|
|
110
|
+
}, []);
|
|
111
|
+
const handleBrowserEdit = external_react_namespaceObject.useCallback((asset)=>{
|
|
112
|
+
setPendingEdit(asset);
|
|
113
|
+
}, []);
|
|
114
|
+
const handleBrowserInsert = external_react_namespaceObject.useCallback((asset)=>{
|
|
115
|
+
onAssetInserted?.(asset);
|
|
116
|
+
}, [
|
|
117
|
+
onAssetInserted
|
|
118
|
+
]);
|
|
119
|
+
const handleBrowserReplace = external_react_namespaceObject.useCallback((asset)=>{
|
|
120
|
+
setPendingReplace(asset);
|
|
121
|
+
}, []);
|
|
106
122
|
const showProgress = null !== progress && progress.total > 0;
|
|
107
123
|
const percent = showProgress ? Math.round(progress.completed / progress.total * 100) : 0;
|
|
108
|
-
return /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.Card, null, /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardTitle, null, "
|
|
124
|
+
return /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.Card, null, /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardTitle, null, msg("assetManager.ui.title")), /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardDescription, null, msg("assetManager.ui.subtitle"))), /*#__PURE__*/ external_react_namespaceObject.createElement(card_namespaceObject.CardContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(external_UploadButton_cjs_namespaceObject.UploadButton, {
|
|
109
125
|
acceptedMimeTypes: acceptedMimeTypes,
|
|
110
126
|
allowMixedScriptHostnames: allowMixedScriptHostnames,
|
|
111
127
|
dataUrlAllowlistOptIn: dataUrlAllowlistOptIn,
|
|
@@ -116,25 +132,17 @@ function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFil
|
|
|
116
132
|
}), showProgress ? /*#__PURE__*/ external_react_namespaceObject.createElement("div", {
|
|
117
133
|
"data-asset-manager-progress": true
|
|
118
134
|
}, /*#__PURE__*/ external_react_namespaceObject.createElement(progress_namespaceObject.Progress, {
|
|
119
|
-
"aria-label": "
|
|
135
|
+
"aria-label": msg("assetManager.upload.progressLabel"),
|
|
120
136
|
value: percent
|
|
121
137
|
}), /*#__PURE__*/ external_react_namespaceObject.createElement("p", {
|
|
122
138
|
"aria-live": "polite",
|
|
123
139
|
role: "status"
|
|
124
|
-
}, "
|
|
140
|
+
}, msg("assetManager.upload.status").replace("{completed}", String(progress.completed)).replace("{total}", String(progress.total)))) : null, /*#__PURE__*/ external_react_namespaceObject.createElement(external_AssetBrowser_cjs_namespaceObject.AssetBrowser, {
|
|
125
141
|
assets: assets,
|
|
126
|
-
onDelete:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
setPendingEdit(asset);
|
|
131
|
-
},
|
|
132
|
-
onInsert: (asset)=>{
|
|
133
|
-
onAssetInserted?.(asset);
|
|
134
|
-
},
|
|
135
|
-
onReplace: (asset)=>{
|
|
136
|
-
setPendingReplace(asset);
|
|
137
|
-
},
|
|
142
|
+
onDelete: handleBrowserDelete,
|
|
143
|
+
onEdit: handleBrowserEdit,
|
|
144
|
+
onInsert: handleBrowserInsert,
|
|
145
|
+
onReplace: handleBrowserReplace,
|
|
138
146
|
searchEnabled: searchEnabled,
|
|
139
147
|
...void 0 !== aboveFilters ? {
|
|
140
148
|
aboveFilters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetManagerUI.d.cts","sourceRoot":"","sources":["../../src/ui/AssetManagerUI.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssetManagerUI.d.cts","sourceRoot":"","sources":["../../src/ui/AssetManagerUI.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,mBAChB,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,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,cAAc,CAAC,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,aAAoB,EACpB,QAAQ,GACR,EAAE,mBAAmB,2CAiLrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetManagerUI.d.ts","sourceRoot":"","sources":["../../src/ui/AssetManagerUI.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssetManagerUI.d.ts","sourceRoot":"","sources":["../../src/ui/AssetManagerUI.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAS3B,MAAM,WAAW,mBAChB,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,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,cAAc,CAAC,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,aAAoB,EACpB,QAAQ,GACR,EAAE,mBAAmB,2CAiLrB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@anvilkit/ui/card";
|
|
3
4
|
import { Progress } from "@anvilkit/ui/progress";
|
|
4
5
|
import { validateUploadResult } from "../utils/validate-upload-result.js";
|
|
@@ -10,6 +11,7 @@ import { ReplaceAssetDialog } from "./ReplaceAssetDialog.js";
|
|
|
10
11
|
import { UploadButton } from "./UploadButton.js";
|
|
11
12
|
import * as __rspack_external_react from "react";
|
|
12
13
|
function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFilters, dataUrlAllowlistOptIn, draggableRows, maxFileSize, onAssetInserted, registry, searchEnabled = true, uploader }) {
|
|
14
|
+
const msg = useMsg();
|
|
13
15
|
const [assets, setAssets] = __rspack_external_react.useState(()=>registry.list());
|
|
14
16
|
const [progress, setProgress] = __rspack_external_react.useState(null);
|
|
15
17
|
const [pendingDelete, setPendingDelete] = __rspack_external_react.useState(null);
|
|
@@ -71,9 +73,23 @@ function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFil
|
|
|
71
73
|
registry.setTags(asset.id, next.tags);
|
|
72
74
|
setPendingEdit(null);
|
|
73
75
|
}
|
|
76
|
+
const handleBrowserDelete = __rspack_external_react.useCallback((asset)=>{
|
|
77
|
+
setPendingDelete(asset);
|
|
78
|
+
}, []);
|
|
79
|
+
const handleBrowserEdit = __rspack_external_react.useCallback((asset)=>{
|
|
80
|
+
setPendingEdit(asset);
|
|
81
|
+
}, []);
|
|
82
|
+
const handleBrowserInsert = __rspack_external_react.useCallback((asset)=>{
|
|
83
|
+
onAssetInserted?.(asset);
|
|
84
|
+
}, [
|
|
85
|
+
onAssetInserted
|
|
86
|
+
]);
|
|
87
|
+
const handleBrowserReplace = __rspack_external_react.useCallback((asset)=>{
|
|
88
|
+
setPendingReplace(asset);
|
|
89
|
+
}, []);
|
|
74
90
|
const showProgress = null !== progress && progress.total > 0;
|
|
75
91
|
const percent = showProgress ? Math.round(progress.completed / progress.total * 100) : 0;
|
|
76
|
-
return /*#__PURE__*/ __rspack_external_react.createElement(Card, null, /*#__PURE__*/ __rspack_external_react.createElement(CardHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(CardTitle, null, "
|
|
92
|
+
return /*#__PURE__*/ __rspack_external_react.createElement(Card, null, /*#__PURE__*/ __rspack_external_react.createElement(CardHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(CardTitle, null, msg("assetManager.ui.title")), /*#__PURE__*/ __rspack_external_react.createElement(CardDescription, null, msg("assetManager.ui.subtitle"))), /*#__PURE__*/ __rspack_external_react.createElement(CardContent, null, /*#__PURE__*/ __rspack_external_react.createElement(UploadButton, {
|
|
77
93
|
acceptedMimeTypes: acceptedMimeTypes,
|
|
78
94
|
allowMixedScriptHostnames: allowMixedScriptHostnames,
|
|
79
95
|
dataUrlAllowlistOptIn: dataUrlAllowlistOptIn,
|
|
@@ -84,25 +100,17 @@ function AssetManagerUI({ acceptedMimeTypes, allowMixedScriptHostnames, aboveFil
|
|
|
84
100
|
}), showProgress ? /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
85
101
|
"data-asset-manager-progress": true
|
|
86
102
|
}, /*#__PURE__*/ __rspack_external_react.createElement(Progress, {
|
|
87
|
-
"aria-label": "
|
|
103
|
+
"aria-label": msg("assetManager.upload.progressLabel"),
|
|
88
104
|
value: percent
|
|
89
105
|
}), /*#__PURE__*/ __rspack_external_react.createElement("p", {
|
|
90
106
|
"aria-live": "polite",
|
|
91
107
|
role: "status"
|
|
92
|
-
}, "
|
|
108
|
+
}, msg("assetManager.upload.status").replace("{completed}", String(progress.completed)).replace("{total}", String(progress.total)))) : null, /*#__PURE__*/ __rspack_external_react.createElement(AssetBrowser, {
|
|
93
109
|
assets: assets,
|
|
94
|
-
onDelete:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
setPendingEdit(asset);
|
|
99
|
-
},
|
|
100
|
-
onInsert: (asset)=>{
|
|
101
|
-
onAssetInserted?.(asset);
|
|
102
|
-
},
|
|
103
|
-
onReplace: (asset)=>{
|
|
104
|
-
setPendingReplace(asset);
|
|
105
|
-
},
|
|
110
|
+
onDelete: handleBrowserDelete,
|
|
111
|
+
onEdit: handleBrowserEdit,
|
|
112
|
+
onInsert: handleBrowserInsert,
|
|
113
|
+
onReplace: handleBrowserReplace,
|
|
106
114
|
searchEnabled: searchEnabled,
|
|
107
115
|
...void 0 !== aboveFilters ? {
|
|
108
116
|
aboveFilters
|
|
@@ -31,10 +31,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
DeleteAssetDialog: ()=>DeleteAssetDialog
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const button_namespaceObject = require("@anvilkit/ui/button");
|
|
35
36
|
const dialog_namespaceObject = require("@anvilkit/ui/dialog");
|
|
36
37
|
const external_react_namespaceObject = require("react");
|
|
37
38
|
function DeleteAssetDialog({ asset, onCancel, onConfirm, referenceCount }) {
|
|
39
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
38
40
|
const [busy, setBusy] = external_react_namespaceObject.useState(false);
|
|
39
41
|
async function handleConfirm() {
|
|
40
42
|
if (null === asset || busy) return;
|
|
@@ -54,17 +56,17 @@ function DeleteAssetDialog({ asset, onCancel, onConfirm, referenceCount }) {
|
|
|
54
56
|
return /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.Dialog, {
|
|
55
57
|
open: open,
|
|
56
58
|
onOpenChange: handleOpenChange
|
|
57
|
-
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null, "
|
|
59
|
+
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null, msg("assetManager.dialog.deleteTitle")), /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogDescription, null, label, mimeType ? ` (${mimeType})` : "", " ", msg("assetManager.dialog.deleteDescription"), "number" == typeof referenceCount && referenceCount > 0 ? ` ${msg("assetManager.dialog.deleteReferenced").replace("{count}", String(referenceCount)).replace("{nodes}", 1 === referenceCount ? "node" : "nodes")}` : "")), /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogFooter, null, /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
58
60
|
type: "button",
|
|
59
61
|
variant: "outline",
|
|
60
62
|
onClick: onCancel,
|
|
61
63
|
disabled: busy
|
|
62
|
-
}, "
|
|
64
|
+
}, msg("assetManager.button.cancel")), /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
63
65
|
type: "button",
|
|
64
66
|
variant: "destructive",
|
|
65
67
|
onClick: handleConfirm,
|
|
66
68
|
disabled: busy || null === asset
|
|
67
|
-
}, busy ? "
|
|
69
|
+
}, busy ? msg("assetManager.dialog.deleteProgress") : msg("assetManager.button.delete")))));
|
|
68
70
|
}
|
|
69
71
|
exports.DeleteAssetDialog = __webpack_exports__.DeleteAssetDialog;
|
|
70
72
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssetDialog.d.cts","sourceRoot":"","sources":["../../src/ui/DeleteAssetDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteAssetDialog.d.cts","sourceRoot":"","sources":["../../src/ui/DeleteAssetDialog.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,GACd,EAAE,sBAAsB,2CAiExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteAssetDialog.d.ts","sourceRoot":"","sources":["../../src/ui/DeleteAssetDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteAssetDialog.d.ts","sourceRoot":"","sources":["../../src/ui/DeleteAssetDialog.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,GACd,EAAE,sBAAsB,2CAiExB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Button } from "@anvilkit/ui/button";
|
|
3
4
|
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@anvilkit/ui/dialog";
|
|
4
5
|
import * as __rspack_external_react from "react";
|
|
5
6
|
function DeleteAssetDialog({ asset, onCancel, onConfirm, referenceCount }) {
|
|
7
|
+
const msg = useMsg();
|
|
6
8
|
const [busy, setBusy] = __rspack_external_react.useState(false);
|
|
7
9
|
async function handleConfirm() {
|
|
8
10
|
if (null === asset || busy) return;
|
|
@@ -22,16 +24,16 @@ function DeleteAssetDialog({ asset, onCancel, onConfirm, referenceCount }) {
|
|
|
22
24
|
return /*#__PURE__*/ __rspack_external_react.createElement(Dialog, {
|
|
23
25
|
open: open,
|
|
24
26
|
onOpenChange: handleOpenChange
|
|
25
|
-
}, /*#__PURE__*/ __rspack_external_react.createElement(DialogContent, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogTitle, null, "
|
|
27
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement(DialogContent, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogTitle, null, msg("assetManager.dialog.deleteTitle")), /*#__PURE__*/ __rspack_external_react.createElement(DialogDescription, null, label, mimeType ? ` (${mimeType})` : "", " ", msg("assetManager.dialog.deleteDescription"), "number" == typeof referenceCount && referenceCount > 0 ? ` ${msg("assetManager.dialog.deleteReferenced").replace("{count}", String(referenceCount)).replace("{nodes}", 1 === referenceCount ? "node" : "nodes")}` : "")), /*#__PURE__*/ __rspack_external_react.createElement(DialogFooter, null, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
26
28
|
type: "button",
|
|
27
29
|
variant: "outline",
|
|
28
30
|
onClick: onCancel,
|
|
29
31
|
disabled: busy
|
|
30
|
-
}, "
|
|
32
|
+
}, msg("assetManager.button.cancel")), /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
31
33
|
type: "button",
|
|
32
34
|
variant: "destructive",
|
|
33
35
|
onClick: handleConfirm,
|
|
34
36
|
disabled: busy || null === asset
|
|
35
|
-
}, busy ? "
|
|
37
|
+
}, busy ? msg("assetManager.dialog.deleteProgress") : msg("assetManager.button.delete")))));
|
|
36
38
|
}
|
|
37
39
|
export { DeleteAssetDialog };
|
|
@@ -31,10 +31,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
DeleteFolderDialog: ()=>DeleteFolderDialog
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const button_namespaceObject = require("@anvilkit/ui/button");
|
|
35
36
|
const dialog_namespaceObject = require("@anvilkit/ui/dialog");
|
|
36
37
|
const external_react_namespaceObject = require("react");
|
|
37
38
|
function DeleteFolderDialog({ folder, onConfirm, onCancel }) {
|
|
39
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
38
40
|
const [busy, setBusy] = external_react_namespaceObject.useState(false);
|
|
39
41
|
async function confirm(cascade) {
|
|
40
42
|
if (null === folder || busy) return;
|
|
@@ -52,22 +54,22 @@ function DeleteFolderDialog({ folder, onConfirm, onCancel }) {
|
|
|
52
54
|
onOpenChange: (next)=>{
|
|
53
55
|
if (!next && !busy) onCancel();
|
|
54
56
|
}
|
|
55
|
-
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null, "
|
|
57
|
+
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null, msg("assetManager.dialog.deleteFolderTitle")), /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogDescription, null, msg("assetManager.dialog.deleteFolderDescription").replace("{name}", folder?.name ?? "").replace("{count}", String(assetCount)).replace("{assets}", 1 === assetCount ? "asset" : "assets"))), /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogFooter, null, /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
56
58
|
type: "button",
|
|
57
59
|
variant: "outline",
|
|
58
60
|
disabled: busy,
|
|
59
61
|
onClick: onCancel
|
|
60
|
-
}, "
|
|
62
|
+
}, msg("assetManager.button.cancel")), /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
61
63
|
type: "button",
|
|
62
64
|
variant: "outline",
|
|
63
65
|
disabled: busy || null === folder,
|
|
64
66
|
onClick: ()=>void confirm(false)
|
|
65
|
-
}, busy ? "
|
|
67
|
+
}, busy ? msg("assetManager.dialog.removeProgress") : msg("assetManager.dialog.removeFolder")), /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
66
68
|
type: "button",
|
|
67
69
|
variant: "destructive",
|
|
68
70
|
disabled: busy || null === folder,
|
|
69
71
|
onClick: ()=>void confirm(true)
|
|
70
|
-
}, "
|
|
72
|
+
}, msg("assetManager.button.deleteContents")))));
|
|
71
73
|
}
|
|
72
74
|
exports.DeleteFolderDialog = __webpack_exports__.DeleteFolderDialog;
|
|
73
75
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteFolderDialog.d.cts","sourceRoot":"","sources":["../../src/ui/DeleteFolderDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteFolderDialog.d.cts","sourceRoot":"","sources":["../../src/ui/DeleteFolderDialog.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACvC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC;6DACyD;IACzD,QAAQ,CAAC,SAAS,EAAE,CACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,EAClC,MAAM,EACN,SAAS,EACT,QAAQ,GACR,EAAE,uBAAuB,2CAmEzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteFolderDialog.d.ts","sourceRoot":"","sources":["../../src/ui/DeleteFolderDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteFolderDialog.d.ts","sourceRoot":"","sources":["../../src/ui/DeleteFolderDialog.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACvC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC;6DACyD;IACzD,QAAQ,CAAC,SAAS,EAAE,CACnB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,OAAO,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,EAClC,MAAM,EACN,SAAS,EACT,QAAQ,GACR,EAAE,uBAAuB,2CAmEzB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Button } from "@anvilkit/ui/button";
|
|
3
4
|
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@anvilkit/ui/dialog";
|
|
4
5
|
import * as __rspack_external_react from "react";
|
|
5
6
|
function DeleteFolderDialog({ folder, onConfirm, onCancel }) {
|
|
7
|
+
const msg = useMsg();
|
|
6
8
|
const [busy, setBusy] = __rspack_external_react.useState(false);
|
|
7
9
|
async function confirm(cascade) {
|
|
8
10
|
if (null === folder || busy) return;
|
|
@@ -20,21 +22,21 @@ function DeleteFolderDialog({ folder, onConfirm, onCancel }) {
|
|
|
20
22
|
onOpenChange: (next)=>{
|
|
21
23
|
if (!next && !busy) onCancel();
|
|
22
24
|
}
|
|
23
|
-
}, /*#__PURE__*/ __rspack_external_react.createElement(DialogContent, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogTitle, null, "
|
|
25
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement(DialogContent, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogHeader, null, /*#__PURE__*/ __rspack_external_react.createElement(DialogTitle, null, msg("assetManager.dialog.deleteFolderTitle")), /*#__PURE__*/ __rspack_external_react.createElement(DialogDescription, null, msg("assetManager.dialog.deleteFolderDescription").replace("{name}", folder?.name ?? "").replace("{count}", String(assetCount)).replace("{assets}", 1 === assetCount ? "asset" : "assets"))), /*#__PURE__*/ __rspack_external_react.createElement(DialogFooter, null, /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
24
26
|
type: "button",
|
|
25
27
|
variant: "outline",
|
|
26
28
|
disabled: busy,
|
|
27
29
|
onClick: onCancel
|
|
28
|
-
}, "
|
|
30
|
+
}, msg("assetManager.button.cancel")), /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
29
31
|
type: "button",
|
|
30
32
|
variant: "outline",
|
|
31
33
|
disabled: busy || null === folder,
|
|
32
34
|
onClick: ()=>void confirm(false)
|
|
33
|
-
}, busy ? "
|
|
35
|
+
}, busy ? msg("assetManager.dialog.removeProgress") : msg("assetManager.dialog.removeFolder")), /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
34
36
|
type: "button",
|
|
35
37
|
variant: "destructive",
|
|
36
38
|
disabled: busy || null === folder,
|
|
37
39
|
onClick: ()=>void confirm(true)
|
|
38
|
-
}, "
|
|
40
|
+
}, msg("assetManager.button.deleteContents")))));
|
|
39
41
|
}
|
|
40
42
|
export { DeleteFolderDialog };
|
|
@@ -31,18 +31,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
EmptyFolderState: ()=>EmptyFolderState
|
|
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
|
-
function EmptyFolderState({ onUpload, message
|
|
37
|
+
function EmptyFolderState({ onUpload, message }) {
|
|
38
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
39
|
+
const resolvedMessage = message ?? msg("assetManager.folder.empty");
|
|
37
40
|
return /*#__PURE__*/ external_react_namespaceObject.createElement("div", {
|
|
38
41
|
"data-testid": "ak-empty-folder",
|
|
39
42
|
className: "flex flex-col items-center gap-2 p-6 text-center text-sm text-[var(--ak-studio-muted-fg)]"
|
|
40
|
-
}, /*#__PURE__*/ external_react_namespaceObject.createElement("p", null,
|
|
43
|
+
}, /*#__PURE__*/ external_react_namespaceObject.createElement("p", null, resolvedMessage), onUpload ? /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
41
44
|
type: "button",
|
|
42
45
|
variant: "outline",
|
|
43
46
|
size: "sm",
|
|
44
47
|
onClick: onUpload
|
|
45
|
-
}, "
|
|
48
|
+
}, msg("assetManager.upload.toFolder")) : null);
|
|
46
49
|
}
|
|
47
50
|
exports.EmptyFolderState = __webpack_exports__.EmptyFolderState;
|
|
48
51
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -2,5 +2,5 @@ export interface EmptyFolderStateProps {
|
|
|
2
2
|
readonly onUpload?: () => void;
|
|
3
3
|
readonly message?: string;
|
|
4
4
|
}
|
|
5
|
-
export declare function EmptyFolderState({ onUpload, message
|
|
5
|
+
export declare function EmptyFolderState({ onUpload, message }: EmptyFolderStateProps): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=EmptyFolderState.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyFolderState.d.cts","sourceRoot":"","sources":["../../src/ui/EmptyFolderState.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmptyFolderState.d.cts","sourceRoot":"","sources":["../../src/ui/EmptyFolderState.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,2CAgB5E"}
|
|
@@ -2,5 +2,5 @@ export interface EmptyFolderStateProps {
|
|
|
2
2
|
readonly onUpload?: () => void;
|
|
3
3
|
readonly message?: string;
|
|
4
4
|
}
|
|
5
|
-
export declare function EmptyFolderState({ onUpload, message
|
|
5
|
+
export declare function EmptyFolderState({ onUpload, message }: EmptyFolderStateProps): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=EmptyFolderState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyFolderState.d.ts","sourceRoot":"","sources":["../../src/ui/EmptyFolderState.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmptyFolderState.d.ts","sourceRoot":"","sources":["../../src/ui/EmptyFolderState.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,2CAgB5E"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Button } from "@anvilkit/ui/button";
|
|
3
4
|
import * as __rspack_external_react from "react";
|
|
4
|
-
function EmptyFolderState({ onUpload, message
|
|
5
|
+
function EmptyFolderState({ onUpload, message }) {
|
|
6
|
+
const msg = useMsg();
|
|
7
|
+
const resolvedMessage = message ?? msg("assetManager.folder.empty");
|
|
5
8
|
return /*#__PURE__*/ __rspack_external_react.createElement("div", {
|
|
6
9
|
"data-testid": "ak-empty-folder",
|
|
7
10
|
className: "flex flex-col items-center gap-2 p-6 text-center text-sm text-[var(--ak-studio-muted-fg)]"
|
|
8
|
-
}, /*#__PURE__*/ __rspack_external_react.createElement("p", null,
|
|
11
|
+
}, /*#__PURE__*/ __rspack_external_react.createElement("p", null, resolvedMessage), onUpload ? /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
9
12
|
type: "button",
|
|
10
13
|
variant: "outline",
|
|
11
14
|
size: "sm",
|
|
12
15
|
onClick: onUpload
|
|
13
|
-
}, "
|
|
16
|
+
}, msg("assetManager.upload.toFolder")) : null);
|
|
14
17
|
}
|
|
15
18
|
export { EmptyFolderState };
|
|
@@ -31,24 +31,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
FolderBreadcrumb: ()=>FolderBreadcrumb
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const breadcrumb_namespaceObject = require("@anvilkit/ui/breadcrumb");
|
|
35
36
|
const button_namespaceObject = require("@anvilkit/ui/button");
|
|
36
37
|
const external_react_namespaceObject = require("react");
|
|
37
|
-
function FolderBreadcrumb({ path, onNavigate, rootLabel
|
|
38
|
+
function FolderBreadcrumb({ path, onNavigate, rootLabel }) {
|
|
39
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
40
|
+
const resolvedRootLabel = rootLabel ?? msg("assetManager.folder.root");
|
|
38
41
|
const atRoot = 0 === path.length;
|
|
39
42
|
return /*#__PURE__*/ external_react_namespaceObject.createElement(breadcrumb_namespaceObject.Breadcrumb, {
|
|
40
|
-
"aria-label": "
|
|
43
|
+
"aria-label": msg("assetManager.breadcrumb.label"),
|
|
41
44
|
"data-testid": "ak-folder-breadcrumb"
|
|
42
45
|
}, /*#__PURE__*/ external_react_namespaceObject.createElement(breadcrumb_namespaceObject.BreadcrumbList, null, /*#__PURE__*/ external_react_namespaceObject.createElement(breadcrumb_namespaceObject.BreadcrumbItem, null, atRoot ? /*#__PURE__*/ external_react_namespaceObject.createElement(breadcrumb_namespaceObject.BreadcrumbPage, {
|
|
43
46
|
"data-folder-crumb": "root"
|
|
44
|
-
},
|
|
47
|
+
}, resolvedRootLabel) : /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
45
48
|
type: "button",
|
|
46
49
|
variant: "link",
|
|
47
50
|
size: "sm",
|
|
48
51
|
className: "h-auto p-0",
|
|
49
52
|
"data-folder-crumb": "root",
|
|
50
53
|
onClick: ()=>onNavigate(null)
|
|
51
|
-
},
|
|
54
|
+
}, resolvedRootLabel)), path.map((folder, index)=>{
|
|
52
55
|
const isCurrent = index === path.length - 1;
|
|
53
56
|
return /*#__PURE__*/ external_react_namespaceObject.createElement(external_react_namespaceObject.Fragment, {
|
|
54
57
|
key: folder.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FolderBreadcrumb.d.cts","sourceRoot":"","sources":["../../src/ui/FolderBreadcrumb.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FolderBreadcrumb.d.cts","sourceRoot":"","sources":["../../src/ui/FolderBreadcrumb.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACrC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,SAAS,GACT,EAAE,qBAAqB,2CAyDvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FolderBreadcrumb.d.ts","sourceRoot":"","sources":["../../src/ui/FolderBreadcrumb.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FolderBreadcrumb.d.ts","sourceRoot":"","sources":["../../src/ui/FolderBreadcrumb.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACrC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAChC,IAAI,EACJ,UAAU,EACV,SAAS,GACT,EAAE,qBAAqB,2CAyDvB"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { useMsg } from "@anvilkit/core/i18n";
|
|
2
3
|
import { Breadcrumb, BreadcrumbItem, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "@anvilkit/ui/breadcrumb";
|
|
3
4
|
import { Button } from "@anvilkit/ui/button";
|
|
4
5
|
import * as __rspack_external_react from "react";
|
|
5
|
-
function FolderBreadcrumb({ path, onNavigate, rootLabel
|
|
6
|
+
function FolderBreadcrumb({ path, onNavigate, rootLabel }) {
|
|
7
|
+
const msg = useMsg();
|
|
8
|
+
const resolvedRootLabel = rootLabel ?? msg("assetManager.folder.root");
|
|
6
9
|
const atRoot = 0 === path.length;
|
|
7
10
|
return /*#__PURE__*/ __rspack_external_react.createElement(Breadcrumb, {
|
|
8
|
-
"aria-label": "
|
|
11
|
+
"aria-label": msg("assetManager.breadcrumb.label"),
|
|
9
12
|
"data-testid": "ak-folder-breadcrumb"
|
|
10
13
|
}, /*#__PURE__*/ __rspack_external_react.createElement(BreadcrumbList, null, /*#__PURE__*/ __rspack_external_react.createElement(BreadcrumbItem, null, atRoot ? /*#__PURE__*/ __rspack_external_react.createElement(BreadcrumbPage, {
|
|
11
14
|
"data-folder-crumb": "root"
|
|
12
|
-
},
|
|
15
|
+
}, resolvedRootLabel) : /*#__PURE__*/ __rspack_external_react.createElement(Button, {
|
|
13
16
|
type: "button",
|
|
14
17
|
variant: "link",
|
|
15
18
|
size: "sm",
|
|
16
19
|
className: "h-auto p-0",
|
|
17
20
|
"data-folder-crumb": "root",
|
|
18
21
|
onClick: ()=>onNavigate(null)
|
|
19
|
-
},
|
|
22
|
+
}, resolvedRootLabel)), path.map((folder, index)=>{
|
|
20
23
|
const isCurrent = index === path.length - 1;
|
|
21
24
|
return /*#__PURE__*/ __rspack_external_react.createElement(__rspack_external_react.Fragment, {
|
|
22
25
|
key: folder.id
|
|
@@ -31,23 +31,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
31
31
|
__webpack_require__.d(__webpack_exports__, {
|
|
32
32
|
FolderNameDialog: ()=>FolderNameDialog
|
|
33
33
|
});
|
|
34
|
+
const i18n_namespaceObject = require("@anvilkit/core/i18n");
|
|
34
35
|
const button_namespaceObject = require("@anvilkit/ui/button");
|
|
35
36
|
const dialog_namespaceObject = require("@anvilkit/ui/dialog");
|
|
36
37
|
const input_namespaceObject = require("@anvilkit/ui/input");
|
|
37
38
|
const external_react_namespaceObject = require("react");
|
|
38
|
-
function FolderNameDialog({ open, onOpenChange, onSubmit, title
|
|
39
|
+
function FolderNameDialog({ open, onOpenChange, onSubmit, title, submitLabel, initialName = "" }) {
|
|
40
|
+
const msg = (0, i18n_namespaceObject.useMsg)();
|
|
41
|
+
const resolvedTitle = title ?? msg("assetManager.dialog.newFolderTitle");
|
|
42
|
+
const resolvedSubmit = submitLabel ?? msg("assetManager.button.create");
|
|
39
43
|
const [name, setName] = external_react_namespaceObject.useState(initialName);
|
|
40
44
|
const [busy, setBusy] = external_react_namespaceObject.useState(false);
|
|
41
45
|
const [error, setError] = external_react_namespaceObject.useState(null);
|
|
42
46
|
external_react_namespaceObject.useEffect(()=>{
|
|
43
|
-
if (open)
|
|
44
|
-
setName(initialName);
|
|
45
|
-
setError(null);
|
|
46
|
-
}
|
|
47
|
+
if (open) setName(initialName);
|
|
47
48
|
}, [
|
|
48
49
|
open,
|
|
49
50
|
initialName
|
|
50
51
|
]);
|
|
52
|
+
function requestClose() {
|
|
53
|
+
setError(null);
|
|
54
|
+
onOpenChange(false);
|
|
55
|
+
}
|
|
51
56
|
async function handleSubmit() {
|
|
52
57
|
const trimmed = name.trim();
|
|
53
58
|
if ("" === trimmed || busy) return;
|
|
@@ -57,7 +62,7 @@ function FolderNameDialog({ open, onOpenChange, onSubmit, title = "New folder",
|
|
|
57
62
|
await onSubmit(trimmed);
|
|
58
63
|
onOpenChange(false);
|
|
59
64
|
} catch (cause) {
|
|
60
|
-
setError(cause instanceof Error ? cause.message : "
|
|
65
|
+
setError(cause instanceof Error ? cause.message : msg("assetManager.dialog.folderSaveError"));
|
|
61
66
|
} finally{
|
|
62
67
|
setBusy(false);
|
|
63
68
|
}
|
|
@@ -65,11 +70,13 @@ function FolderNameDialog({ open, onOpenChange, onSubmit, title = "New folder",
|
|
|
65
70
|
return /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.Dialog, {
|
|
66
71
|
open: open,
|
|
67
72
|
onOpenChange: (next)=>{
|
|
68
|
-
if (
|
|
73
|
+
if (busy) return;
|
|
74
|
+
if (next) onOpenChange(true);
|
|
75
|
+
else requestClose();
|
|
69
76
|
}
|
|
70
|
-
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null,
|
|
77
|
+
}, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogContent, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogHeader, null, /*#__PURE__*/ external_react_namespaceObject.createElement(dialog_namespaceObject.DialogTitle, null, resolvedTitle)), /*#__PURE__*/ external_react_namespaceObject.createElement(input_namespaceObject.Input, {
|
|
71
78
|
value: name,
|
|
72
|
-
placeholder: "
|
|
79
|
+
placeholder: msg("assetManager.dialog.folderNamePlaceholder"),
|
|
73
80
|
"data-testid": "ak-folder-name-input",
|
|
74
81
|
onChange: (event)=>setName(event.currentTarget.value),
|
|
75
82
|
onKeyDown: (event)=>{
|
|
@@ -82,12 +89,12 @@ function FolderNameDialog({ open, onOpenChange, onSubmit, title = "New folder",
|
|
|
82
89
|
type: "button",
|
|
83
90
|
variant: "outline",
|
|
84
91
|
disabled: busy,
|
|
85
|
-
onClick:
|
|
86
|
-
}, "
|
|
92
|
+
onClick: requestClose
|
|
93
|
+
}, msg("assetManager.button.cancel")), /*#__PURE__*/ external_react_namespaceObject.createElement(button_namespaceObject.Button, {
|
|
87
94
|
type: "button",
|
|
88
95
|
disabled: busy || "" === name.trim(),
|
|
89
96
|
onClick: ()=>void handleSubmit()
|
|
90
|
-
}, busy ? "
|
|
97
|
+
}, busy ? msg("assetManager.dialog.saveProgress") : resolvedSubmit))));
|
|
91
98
|
}
|
|
92
99
|
exports.FolderNameDialog = __webpack_exports__.FolderNameDialog;
|
|
93
100
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FolderNameDialog.d.cts","sourceRoot":"","sources":["../../src/ui/FolderNameDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FolderNameDialog.d.cts","sourceRoot":"","sources":["../../src/ui/FolderNameDialog.tsx"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAgB,GAChB,EAAE,qBAAqB,2CAiGvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FolderNameDialog.d.ts","sourceRoot":"","sources":["../../src/ui/FolderNameDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FolderNameDialog.d.ts","sourceRoot":"","sources":["../../src/ui/FolderNameDialog.tsx"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAAC,EAChC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAgB,GAChB,EAAE,qBAAqB,2CAiGvB"}
|