@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.
Files changed (251) hide show
  1. package/README.md +28 -20
  2. package/dist/adapters/data-url.d.cts +13 -0
  3. package/dist/adapters/data-url.d.cts.map +1 -1
  4. package/dist/adapters/data-url.d.ts +13 -0
  5. package/dist/adapters/data-url.d.ts.map +1 -1
  6. package/dist/adapters/in-memory.d.cts +8 -1
  7. package/dist/adapters/in-memory.d.cts.map +1 -1
  8. package/dist/adapters/in-memory.d.ts +8 -1
  9. package/dist/adapters/in-memory.d.ts.map +1 -1
  10. package/dist/i18n/entry.cjs +75 -0
  11. package/dist/i18n/entry.d.cts +15 -0
  12. package/dist/i18n/entry.d.cts.map +1 -0
  13. package/dist/i18n/entry.d.ts +15 -0
  14. package/dist/i18n/entry.d.ts.map +1 -0
  15. package/dist/i18n/entry.js +29 -0
  16. package/dist/i18n/provider.cjs +49 -0
  17. package/dist/i18n/provider.d.cts +20 -0
  18. package/dist/i18n/provider.d.cts.map +1 -0
  19. package/dist/i18n/provider.d.ts +20 -0
  20. package/dist/i18n/provider.d.ts.map +1 -0
  21. package/dist/i18n/provider.js +11 -0
  22. package/dist/index.cjs +7 -0
  23. package/dist/index.d.cts +11 -3
  24. package/dist/index.d.cts.map +1 -1
  25. package/dist/index.d.ts +11 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -1
  28. package/dist/plugin.cjs +70 -5
  29. package/dist/plugin.d.cts +3 -2
  30. package/dist/plugin.d.cts.map +1 -1
  31. package/dist/plugin.d.ts +3 -2
  32. package/dist/plugin.d.ts.map +1 -1
  33. package/dist/plugin.js +70 -5
  34. package/dist/sources/composite-source.cjs +138 -0
  35. package/dist/sources/composite-source.d.cts +39 -0
  36. package/dist/sources/composite-source.d.cts.map +1 -0
  37. package/dist/sources/composite-source.d.ts +39 -0
  38. package/dist/sources/composite-source.d.ts.map +1 -0
  39. package/dist/sources/composite-source.js +100 -0
  40. package/dist/sources/federated-search.cjs +173 -0
  41. package/dist/sources/federated-search.d.cts +33 -0
  42. package/dist/sources/federated-search.d.cts.map +1 -0
  43. package/dist/sources/federated-search.d.ts +33 -0
  44. package/dist/sources/federated-search.d.ts.map +1 -0
  45. package/dist/sources/federated-search.js +123 -0
  46. package/dist/sources/provider.cjs +18 -0
  47. package/dist/sources/provider.d.cts +51 -0
  48. package/dist/sources/provider.d.cts.map +1 -0
  49. package/dist/sources/provider.d.ts +51 -0
  50. package/dist/sources/provider.d.ts.map +1 -0
  51. package/dist/sources/provider.js +1 -0
  52. package/dist/sources/unsplash/client.cjs +189 -0
  53. package/dist/sources/unsplash/client.d.cts +87 -0
  54. package/dist/sources/unsplash/client.d.cts.map +1 -0
  55. package/dist/sources/unsplash/client.d.ts +87 -0
  56. package/dist/sources/unsplash/client.d.ts.map +1 -0
  57. package/dist/sources/unsplash/client.js +151 -0
  58. package/dist/sources/unsplash/index.cjs +194 -0
  59. package/dist/sources/unsplash/index.d.cts +16 -0
  60. package/dist/sources/unsplash/index.d.cts.map +1 -0
  61. package/dist/sources/unsplash/index.d.ts +16 -0
  62. package/dist/sources/unsplash/index.d.ts.map +1 -0
  63. package/dist/sources/unsplash/index.js +150 -0
  64. package/dist/sources/unsplash/themes.cjs +141 -0
  65. package/dist/sources/unsplash/themes.d.cts +18 -0
  66. package/dist/sources/unsplash/themes.d.cts.map +1 -0
  67. package/dist/sources/unsplash/themes.d.ts +18 -0
  68. package/dist/sources/unsplash/themes.d.ts.map +1 -0
  69. package/dist/sources/unsplash/themes.js +93 -0
  70. package/dist/sources/unsplash/throttle-cache.cjs +86 -0
  71. package/dist/sources/unsplash/throttle-cache.d.cts +25 -0
  72. package/dist/sources/unsplash/throttle-cache.d.cts.map +1 -0
  73. package/dist/sources/unsplash/throttle-cache.d.ts +25 -0
  74. package/dist/sources/unsplash/throttle-cache.d.ts.map +1 -0
  75. package/dist/sources/unsplash/throttle-cache.js +45 -0
  76. package/dist/types/categories.cjs +18 -0
  77. package/dist/types/categories.d.cts +48 -0
  78. package/dist/types/categories.d.cts.map +1 -0
  79. package/dist/types/categories.d.ts +48 -0
  80. package/dist/types/categories.d.ts.map +1 -0
  81. package/dist/types/categories.js +1 -0
  82. package/dist/types/data-source.cjs +18 -0
  83. package/dist/types/data-source.d.cts +59 -0
  84. package/dist/types/data-source.d.cts.map +1 -0
  85. package/dist/types/data-source.d.ts +59 -0
  86. package/dist/types/data-source.d.ts.map +1 -0
  87. package/dist/types/data-source.js +1 -0
  88. package/dist/types/filter.cjs +18 -0
  89. package/dist/types/filter.d.cts +55 -0
  90. package/dist/types/filter.d.cts.map +1 -0
  91. package/dist/types/filter.d.ts +55 -0
  92. package/dist/types/filter.d.ts.map +1 -0
  93. package/dist/types/filter.js +1 -0
  94. package/dist/types/folders.cjs +42 -0
  95. package/dist/types/folders.d.cts +46 -0
  96. package/dist/types/folders.d.cts.map +1 -0
  97. package/dist/types/folders.d.ts +46 -0
  98. package/dist/types/folders.d.ts.map +1 -0
  99. package/dist/types/folders.js +4 -0
  100. package/dist/types/options.cjs +18 -0
  101. package/dist/types/options.d.cts +68 -0
  102. package/dist/types/options.d.cts.map +1 -0
  103. package/dist/types/options.d.ts +68 -0
  104. package/dist/types/options.d.ts.map +1 -0
  105. package/dist/types/options.js +1 -0
  106. package/dist/types/types.d.cts +21 -27
  107. package/dist/types/types.d.cts.map +1 -1
  108. package/dist/types/types.d.ts +21 -27
  109. package/dist/types/types.d.ts.map +1 -1
  110. package/dist/types/unsplash.cjs +18 -0
  111. package/dist/types/unsplash.d.cts +60 -0
  112. package/dist/types/unsplash.d.cts.map +1 -0
  113. package/dist/types/unsplash.d.ts +60 -0
  114. package/dist/types/unsplash.d.ts.map +1 -0
  115. package/dist/types/unsplash.js +1 -0
  116. package/dist/ui/AssetBrowser.cjs +183 -121
  117. package/dist/ui/AssetBrowser.d.cts +12 -1
  118. package/dist/ui/AssetBrowser.d.cts.map +1 -1
  119. package/dist/ui/AssetBrowser.d.ts +12 -1
  120. package/dist/ui/AssetBrowser.d.ts.map +1 -1
  121. package/dist/ui/AssetBrowser.js +183 -121
  122. package/dist/ui/AssetCommandPalette.cjs +20 -18
  123. package/dist/ui/AssetCommandPalette.d.cts.map +1 -1
  124. package/dist/ui/AssetCommandPalette.d.ts.map +1 -1
  125. package/dist/ui/AssetCommandPalette.js +20 -18
  126. package/dist/ui/AssetManagerUI.cjs +31 -17
  127. package/dist/ui/AssetManagerUI.d.cts +19 -3
  128. package/dist/ui/AssetManagerUI.d.cts.map +1 -1
  129. package/dist/ui/AssetManagerUI.d.ts +19 -3
  130. package/dist/ui/AssetManagerUI.d.ts.map +1 -1
  131. package/dist/ui/AssetManagerUI.js +31 -17
  132. package/dist/ui/DeleteAssetDialog.cjs +5 -3
  133. package/dist/ui/DeleteAssetDialog.d.cts.map +1 -1
  134. package/dist/ui/DeleteAssetDialog.d.ts.map +1 -1
  135. package/dist/ui/DeleteAssetDialog.js +5 -3
  136. package/dist/ui/DeleteFolderDialog.cjs +80 -0
  137. package/dist/ui/DeleteFolderDialog.d.cts +11 -0
  138. package/dist/ui/DeleteFolderDialog.d.cts.map +1 -0
  139. package/dist/ui/DeleteFolderDialog.d.ts +11 -0
  140. package/dist/ui/DeleteFolderDialog.d.ts.map +1 -0
  141. package/dist/ui/DeleteFolderDialog.js +42 -0
  142. package/dist/ui/EmptyFolderState.cjs +56 -0
  143. package/dist/ui/EmptyFolderState.d.cts +6 -0
  144. package/dist/ui/EmptyFolderState.d.cts.map +1 -0
  145. package/dist/ui/EmptyFolderState.d.ts +6 -0
  146. package/dist/ui/EmptyFolderState.d.ts.map +1 -0
  147. package/dist/ui/EmptyFolderState.js +18 -0
  148. package/dist/ui/FolderBreadcrumb.cjs +76 -0
  149. package/dist/ui/FolderBreadcrumb.d.cts +9 -0
  150. package/dist/ui/FolderBreadcrumb.d.cts.map +1 -0
  151. package/dist/ui/FolderBreadcrumb.d.ts +9 -0
  152. package/dist/ui/FolderBreadcrumb.d.ts.map +1 -0
  153. package/dist/ui/FolderBreadcrumb.js +38 -0
  154. package/dist/ui/FolderNameDialog.cjs +105 -0
  155. package/dist/ui/FolderNameDialog.d.cts +14 -0
  156. package/dist/ui/FolderNameDialog.d.cts.map +1 -0
  157. package/dist/ui/FolderNameDialog.d.ts +14 -0
  158. package/dist/ui/FolderNameDialog.d.ts.map +1 -0
  159. package/dist/ui/FolderNameDialog.js +67 -0
  160. package/dist/ui/FolderTree.cjs +85 -0
  161. package/dist/ui/FolderTree.d.cts +13 -0
  162. package/dist/ui/FolderTree.d.cts.map +1 -0
  163. package/dist/ui/FolderTree.d.ts +13 -0
  164. package/dist/ui/FolderTree.d.ts.map +1 -0
  165. package/dist/ui/FolderTree.js +44 -0
  166. package/dist/ui/MetadataPanel.cjs +23 -17
  167. package/dist/ui/MetadataPanel.d.cts.map +1 -1
  168. package/dist/ui/MetadataPanel.d.ts.map +1 -1
  169. package/dist/ui/MetadataPanel.js +23 -17
  170. package/dist/ui/MoveTargetPicker.cjs +87 -0
  171. package/dist/ui/MoveTargetPicker.d.cts +16 -0
  172. package/dist/ui/MoveTargetPicker.d.cts.map +1 -0
  173. package/dist/ui/MoveTargetPicker.d.ts +16 -0
  174. package/dist/ui/MoveTargetPicker.d.ts.map +1 -0
  175. package/dist/ui/MoveTargetPicker.js +49 -0
  176. package/dist/ui/ReplaceAssetDialog.cjs +19 -17
  177. package/dist/ui/ReplaceAssetDialog.d.cts +2 -1
  178. package/dist/ui/ReplaceAssetDialog.d.cts.map +1 -1
  179. package/dist/ui/ReplaceAssetDialog.d.ts +2 -1
  180. package/dist/ui/ReplaceAssetDialog.d.ts.map +1 -1
  181. package/dist/ui/ReplaceAssetDialog.js +19 -17
  182. package/dist/ui/UnsplashPanel.cjs +137 -0
  183. package/dist/ui/UnsplashPanel.d.cts +28 -0
  184. package/dist/ui/UnsplashPanel.d.cts.map +1 -0
  185. package/dist/ui/UnsplashPanel.d.ts +28 -0
  186. package/dist/ui/UnsplashPanel.d.ts.map +1 -0
  187. package/dist/ui/UnsplashPanel.js +99 -0
  188. package/dist/ui/UploadButton.cjs +12 -13
  189. package/dist/ui/UploadButton.d.cts +9 -2
  190. package/dist/ui/UploadButton.d.cts.map +1 -1
  191. package/dist/ui/UploadButton.d.ts +9 -2
  192. package/dist/ui/UploadButton.d.ts.map +1 -1
  193. package/dist/ui/UploadButton.js +12 -13
  194. package/dist/ui/index.cjs +41 -0
  195. package/dist/ui/index.d.cts +15 -0
  196. package/dist/ui/index.d.cts.map +1 -1
  197. package/dist/ui/index.d.ts +15 -0
  198. package/dist/ui/index.d.ts.map +1 -1
  199. package/dist/ui/index.js +8 -0
  200. package/dist/utils/data-source.cjs +190 -0
  201. package/dist/utils/data-source.d.cts +63 -0
  202. package/dist/utils/data-source.d.cts.map +1 -0
  203. package/dist/utils/data-source.d.ts +63 -0
  204. package/dist/utils/data-source.d.ts.map +1 -0
  205. package/dist/utils/data-source.js +149 -0
  206. package/dist/utils/errors.cjs +18 -0
  207. package/dist/utils/errors.d.cts +27 -0
  208. package/dist/utils/errors.d.cts.map +1 -1
  209. package/dist/utils/errors.d.ts +27 -0
  210. package/dist/utils/errors.d.ts.map +1 -1
  211. package/dist/utils/errors.js +16 -1
  212. package/dist/utils/folders.cjs +335 -0
  213. package/dist/utils/folders.d.cts +54 -0
  214. package/dist/utils/folders.d.cts.map +1 -0
  215. package/dist/utils/folders.d.ts +54 -0
  216. package/dist/utils/folders.d.ts.map +1 -0
  217. package/dist/utils/folders.js +297 -0
  218. package/dist/utils/header-action.cjs +1 -1
  219. package/dist/utils/header-action.d.cts.map +1 -1
  220. package/dist/utils/header-action.d.ts.map +1 -1
  221. package/dist/utils/header-action.js +1 -1
  222. package/dist/utils/registry.cjs +38 -12
  223. package/dist/utils/registry.d.cts +29 -1
  224. package/dist/utils/registry.d.cts.map +1 -1
  225. package/dist/utils/registry.d.ts +29 -1
  226. package/dist/utils/registry.d.ts.map +1 -1
  227. package/dist/utils/registry.js +31 -11
  228. package/dist/utils/resolver.cjs +5 -4
  229. package/dist/utils/resolver.d.cts.map +1 -1
  230. package/dist/utils/resolver.d.ts.map +1 -1
  231. package/dist/utils/resolver.js +5 -4
  232. package/dist/utils/studio-asset-source.cjs +13 -4
  233. package/dist/utils/studio-asset-source.d.cts +6 -1
  234. package/dist/utils/studio-asset-source.d.cts.map +1 -1
  235. package/dist/utils/studio-asset-source.d.ts +6 -1
  236. package/dist/utils/studio-asset-source.d.ts.map +1 -1
  237. package/dist/utils/studio-asset-source.js +9 -3
  238. package/dist/utils/validate-upload-result.d.cts +2 -1
  239. package/dist/utils/validate-upload-result.d.cts.map +1 -1
  240. package/dist/utils/validate-upload-result.d.ts +2 -1
  241. package/dist/utils/validate-upload-result.d.ts.map +1 -1
  242. package/dist/version.cjs +1 -1
  243. package/dist/version.d.cts +1 -1
  244. package/dist/version.d.ts +1 -1
  245. package/dist/version.js +1 -1
  246. package/i18n/messages/en.json +99 -0
  247. package/i18n/messages/ja.json +99 -0
  248. package/i18n/messages/ko.json +99 -0
  249. package/i18n/messages/zh.json +99 -0
  250. package/meta/config.json +1 -1
  251. 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 };
@@ -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 ? `Uploading ${Math.min(batch.completed + 1, batch.total)} of ${batch.total}…` : "Accepted files upload through the configured adapter.");
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": "Upload asset file",
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 ? "Uploading…" : "Upload asset")), /*#__PURE__*/ external_react_namespaceObject.createElement("p", {
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, UploadResult } from "../types/types.js";
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" | "uploader" | "dataUrlAllowlistOptIn" | "allowMixedScriptHostnames"> {
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":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG3E,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,UAAU,GACV,uBAAuB,GACvB,2BAA2B,CAC7B;IACD,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;AAED,wBAAgB,YAAY,CAAC,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,GACR,EAAE,iBAAiB,2CA6KnB"}
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, UploadResult } from "../types/types.js";
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" | "uploader" | "dataUrlAllowlistOptIn" | "allowMixedScriptHostnames"> {
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":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG3E,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,UAAU,GACV,uBAAuB,GACvB,2BAA2B,CAC7B;IACD,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;AAED,wBAAgB,YAAY,CAAC,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,GACR,EAAE,iBAAiB,2CA6KnB"}
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"}
@@ -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 ? `Uploading ${Math.min(batch.completed + 1, batch.total)} of ${batch.total}…` : "Accepted files upload through the configured adapter.");
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": "Upload asset file",
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 ? "Uploading…" : "Upload asset")), /*#__PURE__*/ __rspack_external_react.createElement("p", {
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', {
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,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;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACX,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,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;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACX,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
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";