@rakun-kit/manager-react 1.5.6 → 1.5.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 +272 -269
- package/dist/cjs/components/editor/plugins/toolbar/image-toolbar-plugin.js +2 -1
- package/dist/cjs/components/editor/plugins/toolbar/image-toolbar-plugin.js.map +1 -1
- package/dist/cjs/components/editor/themes/editor-theme.css +91 -91
- package/dist/cjs/components/media/MediaLibrary.js +7 -4
- package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
- package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/cjs/components/media/folders/FoldersTree.js +1 -1
- package/dist/cjs/components/media/folders/FoldersTree.js.map +1 -1
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js +17 -4
- package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/cjs/components/media/previews/Previews.js +108 -34
- package/dist/cjs/components/media/previews/Previews.js.map +1 -1
- package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +17 -1
- package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js +56 -12
- package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +14 -12
- package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsGridLargeView.js +2 -1
- package/dist/cjs/components/media/previews/views/PreviewsGridLargeView.js.map +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsGridSmallView.js +2 -1
- package/dist/cjs/components/media/previews/views/PreviewsGridSmallView.js.map +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/cjs/components/ui/sortable.js +4 -4
- package/dist/cjs/help/manager-help.js +13 -6
- package/dist/cjs/help/manager-help.js.map +1 -1
- package/dist/cjs/i18n/catalog.js +17 -1
- package/dist/cjs/i18n/catalog.js.map +1 -1
- package/dist/cjs/layouts.js +1 -3
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/lib/media.js +1 -0
- package/dist/cjs/lib/media.js.map +1 -1
- package/dist/cjs/media.js +1 -0
- package/dist/cjs/media.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +68 -23
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/media/screen.js +1 -1
- package/dist/cjs/router/dashboard/media/screen.js.map +1 -1
- package/dist/cjs/state/theme-script.js +12 -12
- package/dist/docs/index.md +147 -140
- package/dist/esm/components/editor/plugins/toolbar/image-toolbar-plugin.d.ts.map +1 -1
- package/dist/esm/components/editor/plugins/toolbar/image-toolbar-plugin.js +2 -1
- package/dist/esm/components/editor/plugins/toolbar/image-toolbar-plugin.js.map +1 -1
- package/dist/esm/components/editor/themes/editor-theme.css +91 -91
- package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
- package/dist/esm/components/media/MediaLibrary.js +7 -4
- package/dist/esm/components/media/MediaLibrary.js.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +1 -0
- package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
- package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
- package/dist/esm/components/media/folders/FoldersTree.js +1 -1
- package/dist/esm/components/media/folders/FoldersTree.js.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
- package/dist/esm/components/media/previews/MediaContextMenuContent.js +17 -4
- package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
- package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
- package/dist/esm/components/media/previews/Previews.js +108 -34
- package/dist/esm/components/media/previews/Previews.js.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +3 -0
- package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
- package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +17 -1
- package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts +13 -2
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts.map +1 -1
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js +54 -12
- package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +15 -13
- package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
- package/dist/esm/components/media/previews/views/PreviewsGridLargeView.d.ts.map +1 -1
- package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js +2 -1
- package/dist/esm/components/media/previews/views/PreviewsGridLargeView.js.map +1 -1
- package/dist/esm/components/media/previews/views/PreviewsGridSmallView.d.ts.map +1 -1
- package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js +2 -1
- package/dist/esm/components/media/previews/views/PreviewsGridSmallView.js.map +1 -1
- package/dist/esm/components/media/previews/views/PreviewsListView.js +1 -1
- package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
- package/dist/esm/components/ui/sortable.js +4 -4
- package/dist/esm/help/manager-help.d.ts.map +1 -1
- package/dist/esm/help/manager-help.js +13 -6
- package/dist/esm/help/manager-help.js.map +1 -1
- package/dist/esm/i18n/catalog.d.ts +25 -1
- package/dist/esm/i18n/catalog.d.ts.map +1 -1
- package/dist/esm/i18n/catalog.js +17 -1
- package/dist/esm/i18n/catalog.js.map +1 -1
- package/dist/esm/i18n/useTranslations.d.ts.map +1 -1
- package/dist/esm/layouts.d.ts.map +1 -1
- package/dist/esm/layouts.js +1 -3
- package/dist/esm/layouts.js.map +1 -1
- package/dist/esm/lib/media.d.ts +1 -0
- package/dist/esm/lib/media.d.ts.map +1 -1
- package/dist/esm/lib/media.js +1 -0
- package/dist/esm/lib/media.js.map +1 -1
- package/dist/esm/media.d.ts +1 -0
- package/dist/esm/media.d.ts.map +1 -1
- package/dist/esm/media.js +1 -0
- package/dist/esm/media.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +68 -23
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useRouteLayoutData.d.ts.map +1 -1
- package/dist/esm/router/dashboard/media/screen.js +1 -1
- package/dist/esm/router/dashboard/media/screen.js.map +1 -1
- package/dist/esm/state/theme-script.js +12 -12
- package/dist/styles.css +101 -9
- package/dist/styles.css.d.ts +3 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +217 -216
package/dist/docs/index.md
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
# `@rakun-kit/manager-react` AI usage manual
|
|
2
|
-
|
|
3
|
-
This package is the publishable React manager, its transport clients,
|
|
4
|
-
navigation abstraction, locale runtime, plugin API and CSS. Most Next.js apps
|
|
5
|
-
should use `@rakun-kit/next/manager`; use this package directly for custom
|
|
6
|
-
React hosts.
|
|
7
|
-
|
|
8
|
-
Read the core manual at
|
|
9
|
-
`node_modules/@rakun-kit/core/dist/docs/index.md` before changing manager/server
|
|
10
|
-
contracts.
|
|
11
|
-
|
|
12
|
-
## Install and mount
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
bun add @rakun-kit/manager-react react react-dom
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
```tsx
|
|
19
|
-
import { ManagerBrowserApp, createHttpManagerClient } from '@rakun-kit/manager-react'
|
|
20
|
-
import '@rakun-kit/manager-react/styles.css'
|
|
21
|
-
|
|
22
|
-
const client = createHttpManagerClient({ baseUrl: '/api/rakun' })
|
|
23
|
-
|
|
24
|
-
export function ManagerPage() {
|
|
25
|
-
return (
|
|
26
|
-
<ManagerBrowserApp client={client} pathname={window.location.pathname} basePath="/backend" />
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Import the stylesheet exactly once. `ManagerBrowserApp` owns browser-history
|
|
32
|
-
navigation. Use `ManagerRuntimeApp` when the host supplies navigation.
|
|
33
|
-
|
|
34
|
-
## Clients and navigation
|
|
35
|
-
|
|
36
|
-
- HTTP: `createHttpManagerClient` from `/client/http`.
|
|
37
|
-
- tRPC: `createTrpcManagerClient` from `/client/trpc`.
|
|
38
|
-
- Custom transport: `createManagerClient` from `/client/request`.
|
|
39
|
-
- Router bridge: `createPathManagerNavigation` from `/state/navigation`.
|
|
40
|
-
|
|
41
|
-
Use operation names and payloads from Rakun contracts; do not recreate endpoint
|
|
42
|
-
types in host code. Keep `baseUrl` (API) distinct from `basePath` (manager UI).
|
|
43
|
-
|
|
44
|
-
## Link field picker
|
|
45
|
-
|
|
1
|
+
# `@rakun-kit/manager-react` AI usage manual
|
|
2
|
+
|
|
3
|
+
This package is the publishable React manager, its transport clients,
|
|
4
|
+
navigation abstraction, locale runtime, plugin API and CSS. Most Next.js apps
|
|
5
|
+
should use `@rakun-kit/next/manager`; use this package directly for custom
|
|
6
|
+
React hosts.
|
|
7
|
+
|
|
8
|
+
Read the core manual at
|
|
9
|
+
`node_modules/@rakun-kit/core/dist/docs/index.md` before changing manager/server
|
|
10
|
+
contracts.
|
|
11
|
+
|
|
12
|
+
## Install and mount
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
bun add @rakun-kit/manager-react react react-dom
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
import { ManagerBrowserApp, createHttpManagerClient } from '@rakun-kit/manager-react'
|
|
20
|
+
import '@rakun-kit/manager-react/styles.css'
|
|
21
|
+
|
|
22
|
+
const client = createHttpManagerClient({ baseUrl: '/api/rakun' })
|
|
23
|
+
|
|
24
|
+
export function ManagerPage() {
|
|
25
|
+
return (
|
|
26
|
+
<ManagerBrowserApp client={client} pathname={window.location.pathname} basePath="/backend" />
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Import the stylesheet exactly once. `ManagerBrowserApp` owns browser-history
|
|
32
|
+
navigation. Use `ManagerRuntimeApp` when the host supplies navigation.
|
|
33
|
+
|
|
34
|
+
## Clients and navigation
|
|
35
|
+
|
|
36
|
+
- HTTP: `createHttpManagerClient` from `/client/http`.
|
|
37
|
+
- tRPC: `createTrpcManagerClient` from `/client/trpc`.
|
|
38
|
+
- Custom transport: `createManagerClient` from `/client/request`.
|
|
39
|
+
- Router bridge: `createPathManagerNavigation` from `/state/navigation`.
|
|
40
|
+
|
|
41
|
+
Use operation names and payloads from Rakun contracts; do not recreate endpoint
|
|
42
|
+
types in host code. Keep `baseUrl` (API) distinct from `basePath` (manager UI).
|
|
43
|
+
|
|
44
|
+
## Link field picker
|
|
45
|
+
|
|
46
46
|
The `f.link()` editor always shows Title and Destination inputs. A typed or
|
|
47
47
|
pasted URL is stored as `{ href, title }`. Opening the destination picker
|
|
48
48
|
exposes the home page and configured page-route types with their content type
|
|
@@ -64,53 +64,60 @@ upload headers and restored by core before metadata is saved.
|
|
|
64
64
|
When optimization is enabled, right-click an image and select `Reimport with
|
|
65
65
|
current optimization` to regenerate its optimized source, preview, and
|
|
66
66
|
responsive sizes. The action keeps the existing media ID, title, alt text,
|
|
67
|
-
folder, and content references.
|
|
67
|
+
folder, and content references. You can also multi-select images and use the
|
|
68
|
+
selection toolbar reimport action. Optimization is enabled by default in the
|
|
69
|
+
media library; generated previews are stored as inline `data:image/...`
|
|
70
|
+
strings on the media record for LQIP use.
|
|
71
|
+
|
|
72
|
+
Gallery and file-field image previews use `@rakun-kit/react` `Image` with a
|
|
73
|
+
layout-appropriate `sizes` value so responsive variants are selected when
|
|
74
|
+
available.
|
|
68
75
|
|
|
69
76
|
## Manager plugins
|
|
70
|
-
|
|
71
|
-
```tsx
|
|
72
|
-
import {
|
|
73
|
-
defineRakunManagerPlugin,
|
|
74
|
-
ManagerBrowserApp,
|
|
75
|
-
} from '@rakun-kit/manager-react'
|
|
76
|
-
|
|
77
|
-
const plugin = defineRakunManagerPlugin({
|
|
78
|
-
id: '@acme/analytics',
|
|
79
|
-
routes: [{
|
|
80
|
-
id: 'dashboard',
|
|
81
|
-
path: '/analytics',
|
|
82
|
-
component: AnalyticsScreen,
|
|
83
|
-
permissions: ['plugin.analytics.view'],
|
|
84
|
-
}],
|
|
85
|
-
sidebar: [{
|
|
86
|
-
id: 'analytics',
|
|
87
|
-
title: 'analytics.title',
|
|
88
|
-
routeId: 'dashboard',
|
|
89
|
-
position: 'primary',
|
|
90
|
-
group: 'Plugins',
|
|
91
|
-
}],
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
<ManagerBrowserApp plugins={[plugin]} {...props} />
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Plugins can contribute routes, sidebar entries, custom field editors and
|
|
98
|
-
RichText extensions. Use exported plugin types from
|
|
99
|
-
`@rakun-kit/manager-react/plugins`. Plugin ids, route ids, field editor ids,
|
|
100
|
-
Lexical node types and RichText plugin ids must be unique.
|
|
101
|
-
|
|
102
|
-
In Next.js, plugin registration belongs in a `'use client'` wrapper around
|
|
103
|
-
`RakunManagerClientPage`; pass the wrapper to `RakunManagerPage` as
|
|
104
|
-
`managerComponent`.
|
|
105
|
-
|
|
106
|
-
## Languages and copy
|
|
107
|
-
|
|
108
|
-
English is built in. Additional server-provided UI packs come from
|
|
109
|
-
`@rakun-kit/manager-locales` and are configured in core `managerLanguages`.
|
|
110
|
-
Content editing locale and manager UI locale are separate states.
|
|
111
|
-
|
|
112
|
-
Built-in manager copy must use the static manager translation catalog. Project
|
|
113
|
-
labels may use arbitrary project keys. Fields resolve `field.<fieldName>` and
|
|
77
|
+
|
|
78
|
+
```tsx
|
|
79
|
+
import {
|
|
80
|
+
defineRakunManagerPlugin,
|
|
81
|
+
ManagerBrowserApp,
|
|
82
|
+
} from '@rakun-kit/manager-react'
|
|
83
|
+
|
|
84
|
+
const plugin = defineRakunManagerPlugin({
|
|
85
|
+
id: '@acme/analytics',
|
|
86
|
+
routes: [{
|
|
87
|
+
id: 'dashboard',
|
|
88
|
+
path: '/analytics',
|
|
89
|
+
component: AnalyticsScreen,
|
|
90
|
+
permissions: ['plugin.analytics.view'],
|
|
91
|
+
}],
|
|
92
|
+
sidebar: [{
|
|
93
|
+
id: 'analytics',
|
|
94
|
+
title: 'analytics.title',
|
|
95
|
+
routeId: 'dashboard',
|
|
96
|
+
position: 'primary',
|
|
97
|
+
group: 'Plugins',
|
|
98
|
+
}],
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
<ManagerBrowserApp plugins={[plugin]} {...props} />
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Plugins can contribute routes, sidebar entries, custom field editors and
|
|
105
|
+
RichText extensions. Use exported plugin types from
|
|
106
|
+
`@rakun-kit/manager-react/plugins`. Plugin ids, route ids, field editor ids,
|
|
107
|
+
Lexical node types and RichText plugin ids must be unique.
|
|
108
|
+
|
|
109
|
+
In Next.js, plugin registration belongs in a `'use client'` wrapper around
|
|
110
|
+
`RakunManagerClientPage`; pass the wrapper to `RakunManagerPage` as
|
|
111
|
+
`managerComponent`.
|
|
112
|
+
|
|
113
|
+
## Languages and copy
|
|
114
|
+
|
|
115
|
+
English is built in. Additional server-provided UI packs come from
|
|
116
|
+
`@rakun-kit/manager-locales` and are configured in core `managerLanguages`.
|
|
117
|
+
Content editing locale and manager UI locale are separate states.
|
|
118
|
+
|
|
119
|
+
Built-in manager copy must use the static manager translation catalog. Project
|
|
120
|
+
labels may use arbitrary project keys. Fields resolve `field.<fieldName>` and
|
|
114
121
|
layout slots resolve `layoutModule.<layoutKey>` with fallbacks.
|
|
115
122
|
|
|
116
123
|
## Content and template tabs
|
|
@@ -135,53 +142,53 @@ filter, and mapping editor for that property. Nested query conditions can select
|
|
|
135
142
|
document` to read the root document. This supports mappings such as Category ->
|
|
136
143
|
gallery item -> Project -> image card, and the editor can repeat the flow for
|
|
137
144
|
deeper block structures.
|
|
138
|
-
|
|
139
|
-
## Confirmations
|
|
140
|
-
|
|
141
|
-
Use the shared async confirm API instead of ad-hoc yes/no dialogs:
|
|
142
|
-
|
|
143
|
-
```tsx
|
|
144
|
-
import { confirm, useConfirm } from '@rakun-kit/manager-react'
|
|
145
|
-
|
|
146
|
-
const result = await confirm({
|
|
147
|
-
title: 'Delete item',
|
|
148
|
-
description: 'This cannot be undone.',
|
|
149
|
-
confirmLabel: 'Delete',
|
|
150
|
-
variant: 'destructive',
|
|
151
|
-
onConfirm: async () => {
|
|
152
|
-
await deleteItem()
|
|
153
|
-
},
|
|
154
|
-
})
|
|
155
|
-
|
|
156
|
-
// 'confirmed' | 'cancelled' | 'dismissed'
|
|
157
|
-
if (result !== 'confirmed') return
|
|
158
|
-
|
|
159
|
-
// Or boolean helper:
|
|
160
|
-
if (!(await confirm.yes({ title: 'Continue?' }))) return
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
`ConfirmProvider` is mounted by `ManagerRuntimeApp` / `ManagerBrowserApp`.
|
|
164
|
-
`onConfirm` keeps the dialog open with a loading button until the promise
|
|
165
|
-
settles; thrown errors leave it open.
|
|
166
|
-
|
|
167
|
-
## Public entrypoints
|
|
168
|
-
|
|
169
|
-
- `@rakun-kit/manager-react`: manager apps, providers and common helpers.
|
|
170
|
-
- `/client/http`, `/client/request`, `/client/trpc`: manager transports.
|
|
171
|
-
- `/app/runtime-app`: runtime/browser app components.
|
|
172
|
-
- `/state/navigation`, `/state/theme`, `/link`: host integration primitives.
|
|
173
|
-
- `/plugins`, `/rich-text`: plugin and RichText extension contracts.
|
|
174
|
-
- `/i18n`: locale runtime, catalog and locale types.
|
|
175
|
-
- `confirm` / `useConfirm` / `ConfirmProvider`: shared async confirmation dialogs.
|
|
176
|
-
- `/styles.css`: required bundled styles.
|
|
177
|
-
|
|
178
|
-
## Agent constraints
|
|
179
|
-
|
|
180
|
-
- This package can run outside Next.js; do not assume Next navigation or server
|
|
181
|
-
components.
|
|
182
|
-
- Do not import the main React entrypoint into server bootstrap just to obtain
|
|
183
|
-
locale types or data.
|
|
184
|
-
- Permission-gate protected UI, and handle loading, empty and error states.
|
|
185
|
-
- Use existing manager components and operations before adding parallel APIs.
|
|
186
|
-
- Keep manager/core schemas synchronized when an operation changes.
|
|
187
|
-
- Do not hardcode user-facing manager copy.
|
|
145
|
+
|
|
146
|
+
## Confirmations
|
|
147
|
+
|
|
148
|
+
Use the shared async confirm API instead of ad-hoc yes/no dialogs:
|
|
149
|
+
|
|
150
|
+
```tsx
|
|
151
|
+
import { confirm, useConfirm } from '@rakun-kit/manager-react'
|
|
152
|
+
|
|
153
|
+
const result = await confirm({
|
|
154
|
+
title: 'Delete item',
|
|
155
|
+
description: 'This cannot be undone.',
|
|
156
|
+
confirmLabel: 'Delete',
|
|
157
|
+
variant: 'destructive',
|
|
158
|
+
onConfirm: async () => {
|
|
159
|
+
await deleteItem()
|
|
160
|
+
},
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
// 'confirmed' | 'cancelled' | 'dismissed'
|
|
164
|
+
if (result !== 'confirmed') return
|
|
165
|
+
|
|
166
|
+
// Or boolean helper:
|
|
167
|
+
if (!(await confirm.yes({ title: 'Continue?' }))) return
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
`ConfirmProvider` is mounted by `ManagerRuntimeApp` / `ManagerBrowserApp`.
|
|
171
|
+
`onConfirm` keeps the dialog open with a loading button until the promise
|
|
172
|
+
settles; thrown errors leave it open.
|
|
173
|
+
|
|
174
|
+
## Public entrypoints
|
|
175
|
+
|
|
176
|
+
- `@rakun-kit/manager-react`: manager apps, providers and common helpers.
|
|
177
|
+
- `/client/http`, `/client/request`, `/client/trpc`: manager transports.
|
|
178
|
+
- `/app/runtime-app`: runtime/browser app components.
|
|
179
|
+
- `/state/navigation`, `/state/theme`, `/link`: host integration primitives.
|
|
180
|
+
- `/plugins`, `/rich-text`: plugin and RichText extension contracts.
|
|
181
|
+
- `/i18n`: locale runtime, catalog and locale types.
|
|
182
|
+
- `confirm` / `useConfirm` / `ConfirmProvider`: shared async confirmation dialogs.
|
|
183
|
+
- `/styles.css`: required bundled styles.
|
|
184
|
+
|
|
185
|
+
## Agent constraints
|
|
186
|
+
|
|
187
|
+
- This package can run outside Next.js; do not assume Next navigation or server
|
|
188
|
+
components.
|
|
189
|
+
- Do not import the main React entrypoint into server bootstrap just to obtain
|
|
190
|
+
locale types or data.
|
|
191
|
+
- Permission-gate protected UI, and handle loading, empty and error states.
|
|
192
|
+
- Use existing manager components and operations before adding parallel APIs.
|
|
193
|
+
- Keep manager/core schemas synchronized when an operation changes.
|
|
194
|
+
- Do not hardcode user-facing manager copy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-toolbar-plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/components/editor/plugins/toolbar/image-toolbar-plugin.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAA;AAQ5C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAE7C,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,kBAAkB,CAC7B,CAAA;
|
|
1
|
+
{"version":3,"file":"image-toolbar-plugin.d.ts","sourceRoot":"","sources":["../../../../../../src/components/editor/plugins/toolbar/image-toolbar-plugin.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAA;AAQ5C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAE7C,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,kBAAkB,CAC7B,CAAA;AAkBvC,wBAAgB,YAAY,SAgB3B;AAED,wBAAgB,kBAAkB,4CA0DjC"}
|
|
@@ -14,8 +14,9 @@ import { useTranslations } from '../../../../i18n/index.js';
|
|
|
14
14
|
import { resolveMediaUrl, useMedia } from '../../../../media.js';
|
|
15
15
|
export const INSERT_IMAGE_COMMAND = createCommand('INSERT_IMAGE_COMMAND');
|
|
16
16
|
const resolveImageSrc = async (media, request) => {
|
|
17
|
-
if (media.previewUrl)
|
|
17
|
+
if (media.previewUrl && !media.previewUrl.startsWith('data:')) {
|
|
18
18
|
return media.previewUrl;
|
|
19
|
+
}
|
|
19
20
|
if (media.url)
|
|
20
21
|
return media.url;
|
|
21
22
|
const key = media.previewKey || media.key;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-toolbar-plugin.js","sourceRoot":"","sources":["../../../../../../src/components/editor/plugins/toolbar/image-toolbar-plugin.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,OAAO,EACL,gBAAgB,GAEjB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAA;AAIrE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,aAAa,CAAC,sBAAsB,CAAC,CAAA;AAEvC,MAAM,eAAe,GAAG,KAAK,EAC3B,KAAkB,EAClB,OAAuD,EACvD,EAAE;IACF,IAAI,KAAK,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"image-toolbar-plugin.js","sourceRoot":"","sources":["../../../../../../src/components/editor/plugins/toolbar/image-toolbar-plugin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
.EditorTheme__code {
|
|
2
|
-
background-color: transparent;
|
|
3
|
-
font-family: Menlo, Consolas, Monaco, monospace;
|
|
4
|
-
display: block;
|
|
5
|
-
padding: 8px 8px 8px 52px;
|
|
6
|
-
line-height: 1.53;
|
|
7
|
-
font-size: 13px;
|
|
8
|
-
margin: 0;
|
|
9
|
-
margin-top: 8px;
|
|
10
|
-
margin-bottom: 8px;
|
|
11
|
-
overflow-x: auto;
|
|
12
|
-
border: 1px solid #ccc;
|
|
13
|
-
position: relative;
|
|
14
|
-
border-radius: 8px;
|
|
15
|
-
tab-size: 2;
|
|
16
|
-
}
|
|
17
|
-
.EditorTheme__code:before {
|
|
18
|
-
content: attr(data-gutter);
|
|
19
|
-
position: absolute;
|
|
20
|
-
background-color: transparent;
|
|
21
|
-
border-right: 1px solid #ccc;
|
|
22
|
-
left: 0;
|
|
23
|
-
top: 0;
|
|
24
|
-
padding: 8px;
|
|
25
|
-
color: #777;
|
|
26
|
-
white-space: pre-wrap;
|
|
27
|
-
text-align: right;
|
|
28
|
-
min-width: 25px;
|
|
29
|
-
}
|
|
30
|
-
.EditorTheme__table {
|
|
31
|
-
border-collapse: collapse;
|
|
32
|
-
border-spacing: 0;
|
|
33
|
-
overflow-y: scroll;
|
|
34
|
-
overflow-x: scroll;
|
|
35
|
-
table-layout: fixed;
|
|
36
|
-
width: fit-content;
|
|
37
|
-
width: 100%;
|
|
38
|
-
margin: 0px 0px 30px 0px;
|
|
39
|
-
}
|
|
40
|
-
.EditorTheme__tokenComment {
|
|
41
|
-
color: slategray;
|
|
42
|
-
}
|
|
43
|
-
.EditorTheme__tokenPunctuation {
|
|
44
|
-
color: #999;
|
|
45
|
-
}
|
|
46
|
-
.EditorTheme__tokenProperty {
|
|
47
|
-
color: #905;
|
|
48
|
-
}
|
|
49
|
-
.EditorTheme__tokenSelector {
|
|
50
|
-
color: #690;
|
|
51
|
-
}
|
|
52
|
-
.EditorTheme__tokenOperator {
|
|
53
|
-
color: #9a6e3a;
|
|
54
|
-
}
|
|
55
|
-
.EditorTheme__tokenAttr {
|
|
56
|
-
color: #07a;
|
|
57
|
-
}
|
|
58
|
-
.EditorTheme__tokenVariable {
|
|
59
|
-
color: #e90;
|
|
60
|
-
}
|
|
61
|
-
.EditorTheme__tokenFunction {
|
|
62
|
-
color: #dd4a68;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.Collapsible__container {
|
|
66
|
-
background-color: var(--background);
|
|
67
|
-
border: 1px solid #ccc;
|
|
68
|
-
border-radius: 0.5rem;
|
|
69
|
-
margin-bottom: 0.5rem;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.Collapsible__title{
|
|
73
|
-
padding: 0.25rem;
|
|
74
|
-
padding-left: 1rem;
|
|
75
|
-
position: relative;
|
|
76
|
-
font-weight: bold;
|
|
77
|
-
outline: none;
|
|
78
|
-
cursor: pointer;
|
|
79
|
-
list-style-type: disclosure-closed;
|
|
80
|
-
list-style-position: inside;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.Collapsible__title p{
|
|
84
|
-
display: inline-flex;
|
|
85
|
-
}
|
|
86
|
-
.Collapsible__title::marker{
|
|
87
|
-
color: lightgray;
|
|
88
|
-
}
|
|
89
|
-
.Collapsible__container[open] >.Collapsible__title {
|
|
90
|
-
list-style-type: disclosure-open;
|
|
91
|
-
}
|
|
1
|
+
.EditorTheme__code {
|
|
2
|
+
background-color: transparent;
|
|
3
|
+
font-family: Menlo, Consolas, Monaco, monospace;
|
|
4
|
+
display: block;
|
|
5
|
+
padding: 8px 8px 8px 52px;
|
|
6
|
+
line-height: 1.53;
|
|
7
|
+
font-size: 13px;
|
|
8
|
+
margin: 0;
|
|
9
|
+
margin-top: 8px;
|
|
10
|
+
margin-bottom: 8px;
|
|
11
|
+
overflow-x: auto;
|
|
12
|
+
border: 1px solid #ccc;
|
|
13
|
+
position: relative;
|
|
14
|
+
border-radius: 8px;
|
|
15
|
+
tab-size: 2;
|
|
16
|
+
}
|
|
17
|
+
.EditorTheme__code:before {
|
|
18
|
+
content: attr(data-gutter);
|
|
19
|
+
position: absolute;
|
|
20
|
+
background-color: transparent;
|
|
21
|
+
border-right: 1px solid #ccc;
|
|
22
|
+
left: 0;
|
|
23
|
+
top: 0;
|
|
24
|
+
padding: 8px;
|
|
25
|
+
color: #777;
|
|
26
|
+
white-space: pre-wrap;
|
|
27
|
+
text-align: right;
|
|
28
|
+
min-width: 25px;
|
|
29
|
+
}
|
|
30
|
+
.EditorTheme__table {
|
|
31
|
+
border-collapse: collapse;
|
|
32
|
+
border-spacing: 0;
|
|
33
|
+
overflow-y: scroll;
|
|
34
|
+
overflow-x: scroll;
|
|
35
|
+
table-layout: fixed;
|
|
36
|
+
width: fit-content;
|
|
37
|
+
width: 100%;
|
|
38
|
+
margin: 0px 0px 30px 0px;
|
|
39
|
+
}
|
|
40
|
+
.EditorTheme__tokenComment {
|
|
41
|
+
color: slategray;
|
|
42
|
+
}
|
|
43
|
+
.EditorTheme__tokenPunctuation {
|
|
44
|
+
color: #999;
|
|
45
|
+
}
|
|
46
|
+
.EditorTheme__tokenProperty {
|
|
47
|
+
color: #905;
|
|
48
|
+
}
|
|
49
|
+
.EditorTheme__tokenSelector {
|
|
50
|
+
color: #690;
|
|
51
|
+
}
|
|
52
|
+
.EditorTheme__tokenOperator {
|
|
53
|
+
color: #9a6e3a;
|
|
54
|
+
}
|
|
55
|
+
.EditorTheme__tokenAttr {
|
|
56
|
+
color: #07a;
|
|
57
|
+
}
|
|
58
|
+
.EditorTheme__tokenVariable {
|
|
59
|
+
color: #e90;
|
|
60
|
+
}
|
|
61
|
+
.EditorTheme__tokenFunction {
|
|
62
|
+
color: #dd4a68;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.Collapsible__container {
|
|
66
|
+
background-color: var(--background);
|
|
67
|
+
border: 1px solid #ccc;
|
|
68
|
+
border-radius: 0.5rem;
|
|
69
|
+
margin-bottom: 0.5rem;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.Collapsible__title{
|
|
73
|
+
padding: 0.25rem;
|
|
74
|
+
padding-left: 1rem;
|
|
75
|
+
position: relative;
|
|
76
|
+
font-weight: bold;
|
|
77
|
+
outline: none;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
list-style-type: disclosure-closed;
|
|
80
|
+
list-style-position: inside;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.Collapsible__title p{
|
|
84
|
+
display: inline-flex;
|
|
85
|
+
}
|
|
86
|
+
.Collapsible__title::marker{
|
|
87
|
+
color: lightgray;
|
|
88
|
+
}
|
|
89
|
+
.Collapsible__container[open] >.Collapsible__title {
|
|
90
|
+
list-style-type: disclosure-open;
|
|
91
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibrary.d.ts","sourceRoot":"","sources":["../../../../src/components/media/MediaLibrary.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmC,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAQlG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAI9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IAC9D,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,UAAkB,EAClB,QAAQ,EACR,OAAe,EACf,cAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GAChB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"MediaLibrary.d.ts","sourceRoot":"","sources":["../../../../src/components/media/MediaLibrary.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmC,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAQlG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAI9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;IAC9D,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,UAAkB,EAClB,QAAQ,EACR,OAAe,EACf,cAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GAChB,EAAE,iBAAiB,2CAkNnB"}
|
|
@@ -16,15 +16,15 @@ export default function MediaLibrary({ className, selectable = false, onSelect,
|
|
|
16
16
|
const managerClient = useManagerClient();
|
|
17
17
|
const { uploadMedia } = useMedia();
|
|
18
18
|
const [currentFolderId, setCurrentFolderId] = useState(null);
|
|
19
|
-
const [libraryOptimizeEnabled, setLibraryOptimizeEnabled] = useState(
|
|
19
|
+
const [libraryOptimizeEnabled, setLibraryOptimizeEnabled] = useState(true);
|
|
20
20
|
const [libraryOptimizeOptions, setLibraryOptimizeOptions] = useState({
|
|
21
21
|
format: 'webp',
|
|
22
22
|
quality: 80,
|
|
23
|
-
generatePreview:
|
|
23
|
+
generatePreview: true,
|
|
24
24
|
generateSizes: true,
|
|
25
25
|
responsiveSizes: [...DEFAULT_RESPONSIVE_IMAGE_WIDTHS],
|
|
26
26
|
minBytesToOptimize: 350 * 1024,
|
|
27
|
-
previewMaxWidth:
|
|
27
|
+
previewMaxWidth: 32,
|
|
28
28
|
});
|
|
29
29
|
const [externalEditFolderRequest, setExternalEditFolderRequest] = useState(null);
|
|
30
30
|
const [externalDeleteFolderRequest, setExternalDeleteFolderRequest] = useState(null);
|
|
@@ -137,6 +137,7 @@ export default function MediaLibrary({ className, selectable = false, onSelect,
|
|
|
137
137
|
externalEditFolderRequest,
|
|
138
138
|
externalDeleteFolderRequest,
|
|
139
139
|
selectable,
|
|
140
|
+
isModal,
|
|
140
141
|
multipleSelect,
|
|
141
142
|
selectedMediaIds,
|
|
142
143
|
forcedMediaTypeFilter,
|
|
@@ -151,6 +152,8 @@ export default function MediaLibrary({ className, selectable = false, onSelect,
|
|
|
151
152
|
setLibraryOptimizeOptions((prev) => ({ ...prev, ...patch }));
|
|
152
153
|
},
|
|
153
154
|
};
|
|
154
|
-
return (_jsx(MediaLibraryProvider, { value: mediaLibraryContext, children: _jsxs("div", { className: cn('relative grid
|
|
155
|
+
return (_jsx(MediaLibraryProvider, { value: mediaLibraryContext, children: _jsxs("div", { className: cn('relative grid grid-cols-1 overflow-hidden rounded-xl border lg:grid-cols-[minmax(0,18rem)_minmax(0,1fr)]', isModal
|
|
156
|
+
? 'h-full min-h-0 grid-rows-[auto_minmax(0,1fr)]'
|
|
157
|
+
: 'grid-rows-[auto_auto] lg:h-full lg:min-h-0 lg:grid-rows-[minmax(0,1fr)]', className), children: [_jsx(FoldersTree, { isModal: isModal }), _jsxs("div", { className: cn('flex min-h-0 min-w-0 flex-col overflow-hidden p-4', isModal ? 'h-full' : 'lg:h-full'), children: [_jsxs("p", { className: "mb-4 shrink-0 text-muted-foreground text-sm", children: [t('media.currentFolder'), ' ', _jsx("span", { className: "font-medium text-foreground", children: currentFolder?.path || '/' })] }), _jsx("div", { className: "min-h-0 flex-1", children: _jsx(Previews, {}) })] })] }) }));
|
|
155
158
|
}
|
|
156
159
|
//# sourceMappingURL=MediaLibrary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibrary.js","sourceRoot":"","sources":["../../../../src/components/media/MediaLibrary.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,+BAA+B,EAA4B,MAAM,wBAAwB,CAAA;AAGlG,OAAO,EAAc,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAahC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,cAAc,GAAG,KAAK,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GACG;IAClB,MAAM,CAAC,GAAG,eAAe,EAAE,CAAA;IAC3B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IACxC,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;IAElC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC3E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"MediaLibrary.js","sourceRoot":"","sources":["../../../../src/components/media/MediaLibrary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ type MediaLibraryContextValue = {
|
|
|
29
29
|
externalEditFolderRequest: FolderActionRequest | null;
|
|
30
30
|
externalDeleteFolderRequest: FolderActionRequest | null;
|
|
31
31
|
selectable: boolean;
|
|
32
|
+
isModal: boolean;
|
|
32
33
|
multipleSelect: boolean;
|
|
33
34
|
selectedMediaIds?: Set<string>;
|
|
34
35
|
forcedMediaTypeFilter?: MediaTypeFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/media/contexts/MediaLibraryContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;AAEpE,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACrD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,gBAAgB,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAC/C,mBAAmB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,yBAAyB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACrD,2BAA2B,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;IAClD,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,mBAAmB,CAAA;IACpC,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAMD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,wBAAwB,CAAA;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,2CAMA;AAED,wBAAgB,eAAe,6BAM9B"}
|
|
1
|
+
{"version":3,"file":"MediaLibraryContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/media/contexts/MediaLibraryContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAA;AAEpE,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACrD,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,gBAAgB,EAAE,OAAO,CAAA;IACzB,kBAAkB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAC/C,mBAAmB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,yBAAyB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACrD,2BAA2B,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACvD,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,qBAAqB,CAAC,EAAE,eAAe,CAAA;IACvC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IACvC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;IAClD,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,mBAAmB,CAAA;IACpC,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;CAClE,CAAA;AAMD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,wBAAwB,CAAA;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,2CAMA;AAED,wBAAgB,eAAe,6BAM9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaLibraryContext.js","sourceRoot":"","sources":["../../../../../src/components/media/contexts/MediaLibraryContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaLibraryContext.js","sourceRoot":"","sources":["../../../../../src/components/media/contexts/MediaLibraryContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAoDjD,MAAM,mBAAmB,GAAG,aAAa,CACvC,IAAI,CACL,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,QAAQ,GACoB,CAChC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -117,7 +117,7 @@ export default function FoldersTree({ isModal = false }) {
|
|
|
117
117
|
toggleFolder(node._id);
|
|
118
118
|
}, className: "ml-auto inline-flex items-center justify-center rounded-sm p-0.5 hover:bg-background/60", "aria-label": isOpen ? 'Collapse folder' : 'Expand folder', children: _jsx(ChevronRight, { className: cn('size-3 transition-transform', isOpen && 'rotate-90') }) })) : null] }), _jsx(CollapsibleContent, { className: "flex flex-col", children: hasChildren ? renderFolders(node.children, depth + 1) : null })] }) }), _jsxs(ContextMenuContent, { children: [_jsx(ContextMenuItem, { onSelect: () => requestEditFolder(node), children: t('common.edit') }), _jsx(ContextMenuItem, { variant: "destructive", onSelect: () => requestDeleteFolder(node), children: t('common.delete') })] })] }, node._id));
|
|
119
119
|
});
|
|
120
|
-
return (_jsxs("div", { className: cn('relative min-h-0 min-w-0 overflow-x-hidden overflow-y-auto overscroll-contain border-b border-r p-4
|
|
120
|
+
return (_jsxs("div", { className: cn('relative min-h-0 min-w-0 overflow-x-hidden overflow-y-auto overscroll-contain scrollbar-thin border-b border-r p-4 lg:h-full lg:min-w-56 lg:border-b-0', isModal && 'max-lg:max-h-[30svh]'), children: [_jsx("div", { className: "sticky top-0 z-10 -mx-1 mb-3 bg-background px-1 pb-1", children: _jsx(FolderSearchInput, { onSearchChange: handleSearchChange }) }), _jsxs("button", { type: "button", onClick: () => setCurrentFolderId(null), className: `mb-2 flex w-full items-center gap-2 rounded px-3 py-1.5 text-left font-medium text-sm transition-colors ${currentFolderId === null
|
|
121
121
|
? 'bg-accent text-accent-foreground'
|
|
122
122
|
: 'text-muted-foreground hover:bg-accent hover:text-accent-foreground'}`, children: [_jsx(Folder, { className: "size-4" }), t('media.baseFolder')] }), isLoadingFolders ? (_jsx("div", { className: "space-y-2 px-1 py-2", children: Array.from({ length: 7 }).map((_, index) => (_jsx(Skeleton, { className: "h-8 w-full rounded-md" }, `folder-skeleton-${index}`))) })) : (renderFolders(folderTree))] }));
|
|
123
123
|
}
|