@templatical/media-library 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -24
- package/dist/{ca-DnghH5Xn.js → ca-CGf3MuE2.js} +1 -5
- package/dist/cdn/chunks/{ca-DnghH5Xn.js → ca-CGf3MuE2.js} +2 -6
- package/dist/cdn/chunks/ca-CGf3MuE2.js.map +1 -0
- package/dist/{de-ByQyu2jv.js → cdn/chunks/de-D5ebAV5i.js} +3 -5
- package/dist/cdn/chunks/de-D5ebAV5i.js.map +1 -0
- package/dist/{es-Bcp-DbmC.js → cdn/chunks/es-BG--QNW0.js} +3 -5
- package/dist/cdn/chunks/es-BG--QNW0.js.map +1 -0
- package/dist/{fr-DXb0cCZG.js → cdn/chunks/fr-Mdi4AlCR.js} +3 -5
- package/dist/cdn/chunks/fr-Mdi4AlCR.js.map +1 -0
- package/dist/cdn/chunks/{icons-Ds4F8sQq.js → icons-DMM4tyQd.js} +1149 -1104
- package/dist/cdn/chunks/{icons-Ds4F8sQq.js.map → icons-DMM4tyQd.js.map} +1 -1
- package/dist/{nl-DGT1t3Be.js → cdn/chunks/nl-D-6hT8te.js} +3 -5
- package/dist/cdn/chunks/nl-D-6hT8te.js.map +1 -0
- package/dist/{pt-BR-C0Hzc26R.js → cdn/chunks/pt-BR-DMfAgDWi.js} +3 -5
- package/dist/cdn/chunks/pt-BR-DMfAgDWi.js.map +1 -0
- package/dist/cdn/media-library.css +1 -1
- package/dist/cdn/media-library.js +1456 -1844
- package/dist/cdn/media-library.js.map +1 -1
- package/dist/{cdn/chunks/de-ByQyu2jv.js → de-D5ebAV5i.js} +1 -7
- package/dist/{cdn/chunks/es-Bcp-DbmC.js → es-BG--QNW0.js} +1 -7
- package/dist/{cdn/chunks/fr-DXb0cCZG.js → fr-Mdi4AlCR.js} +1 -7
- package/dist/index.d.ts +103 -160
- package/dist/{cdn/chunks/nl-DGT1t3Be.js → nl-D-6hT8te.js} +1 -7
- package/dist/{cdn/chunks/pt-BR-C0Hzc26R.js → pt-BR-DMfAgDWi.js} +1 -7
- package/dist/templatical-media-library.css +1 -1
- package/dist/templatical-media-library.js +1513 -1475
- package/package.json +4 -5
- package/dist/cdn/chunks/ca-DnghH5Xn.js.map +0 -1
- package/dist/cdn/chunks/de-ByQyu2jv.js.map +0 -1
- package/dist/cdn/chunks/es-Bcp-DbmC.js.map +0 -1
- package/dist/cdn/chunks/fr-DXb0cCZG.js.map +0 -1
- package/dist/cdn/chunks/nl-DGT1t3Be.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-C0Hzc26R.js.map +0 -1
|
@@ -11,6 +11,7 @@ var e = { mediaLibrary: {
|
|
|
11
11
|
newFolder: "Neuer Ordner",
|
|
12
12
|
folderName: "Ordnername",
|
|
13
13
|
noFiles: "Keine Dateien gefunden",
|
|
14
|
+
noSearchResults: "Keine Dateien entsprechen Ihrer Suche",
|
|
14
15
|
dropOrClick: "Dateien hierher ziehen oder klicken zum Hochladen",
|
|
15
16
|
acceptedFormats: "Bilder, PDF, Video, Audio, Dokumente (max. 10 MB)",
|
|
16
17
|
uploading: "Wird hochgeladen...",
|
|
@@ -56,11 +57,6 @@ var e = { mediaLibrary: {
|
|
|
56
57
|
import: "Importieren",
|
|
57
58
|
importing: "Wird importiert...",
|
|
58
59
|
importError: "Import von URL fehlgeschlagen",
|
|
59
|
-
conversionLabel: "Groesse",
|
|
60
|
-
conversionOriginal: "Original",
|
|
61
|
-
conversionSmall: "Klein (150px)",
|
|
62
|
-
conversionMedium: "Mittel (600px)",
|
|
63
|
-
conversionLarge: "Gross (1200px)",
|
|
64
60
|
replaceFile: "Datei ersetzen",
|
|
65
61
|
replaceWarningTitle: "Datei ersetzen",
|
|
66
62
|
replaceWarningMessage: "Sie sind dabei, diese Datei zu ersetzen. Die Ersatzdatei muss dieselbe Dateierweiterung haben ({extension}).",
|
|
@@ -85,5 +81,3 @@ var e = { mediaLibrary: {
|
|
|
85
81
|
} };
|
|
86
82
|
//#endregion
|
|
87
83
|
export { e as default };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=de-ByQyu2jv.js.map
|
|
@@ -11,6 +11,7 @@ var e = { mediaLibrary: {
|
|
|
11
11
|
newFolder: "Nueva carpeta",
|
|
12
12
|
folderName: "Nombre de la carpeta",
|
|
13
13
|
noFiles: "No se han encontrado archivos",
|
|
14
|
+
noSearchResults: "Ningún archivo coincide con tu búsqueda",
|
|
14
15
|
dropOrClick: "Suelta los archivos aquí o haz clic para subirlos",
|
|
15
16
|
acceptedFormats: "Imágenes, PDF, vídeo, audio y documentos (máx. 10 MB)",
|
|
16
17
|
uploading: "Subiendo...",
|
|
@@ -56,11 +57,6 @@ var e = { mediaLibrary: {
|
|
|
56
57
|
import: "Importar",
|
|
57
58
|
importing: "Importando...",
|
|
58
59
|
importError: "No se ha podido importar desde la URL",
|
|
59
|
-
conversionLabel: "Tamaño",
|
|
60
|
-
conversionOriginal: "Original",
|
|
61
|
-
conversionSmall: "Pequeño (150 px)",
|
|
62
|
-
conversionMedium: "Mediano (600 px)",
|
|
63
|
-
conversionLarge: "Grande (1200 px)",
|
|
64
60
|
replaceFile: "Reemplazar archivo",
|
|
65
61
|
replaceWarningTitle: "Reemplazar archivo",
|
|
66
62
|
replaceWarningMessage: "Estás a punto de reemplazar este archivo. El archivo de reemplazo debe tener la misma extensión ({extension}).",
|
|
@@ -85,5 +81,3 @@ var e = { mediaLibrary: {
|
|
|
85
81
|
} };
|
|
86
82
|
//#endregion
|
|
87
83
|
export { e as default };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=es-Bcp-DbmC.js.map
|
|
@@ -11,6 +11,7 @@ var e = { mediaLibrary: {
|
|
|
11
11
|
newFolder: "Nouveau dossier",
|
|
12
12
|
folderName: "Nom du dossier",
|
|
13
13
|
noFiles: "Aucun fichier trouvé",
|
|
14
|
+
noSearchResults: "Aucun fichier ne correspond à votre recherche",
|
|
14
15
|
dropOrClick: "Déposez des fichiers ici ou cliquez pour téléverser",
|
|
15
16
|
acceptedFormats: "Images, PDF, vidéo, audio, documents (max 10 Mo)",
|
|
16
17
|
uploading: "Téléversement...",
|
|
@@ -56,11 +57,6 @@ var e = { mediaLibrary: {
|
|
|
56
57
|
import: "Importer",
|
|
57
58
|
importing: "Importation...",
|
|
58
59
|
importError: "Échec de l'importation depuis l'URL",
|
|
59
|
-
conversionLabel: "Taille",
|
|
60
|
-
conversionOriginal: "Originale",
|
|
61
|
-
conversionSmall: "Petite (150px)",
|
|
62
|
-
conversionMedium: "Moyenne (600px)",
|
|
63
|
-
conversionLarge: "Grande (1200px)",
|
|
64
60
|
replaceFile: "Remplacer le fichier",
|
|
65
61
|
replaceWarningTitle: "Remplacer le fichier",
|
|
66
62
|
replaceWarningMessage: "Vous êtes sur le point de remplacer ce fichier. Le remplacement doit avoir la même extension ({extension}).",
|
|
@@ -85,5 +81,3 @@ var e = { mediaLibrary: {
|
|
|
85
81
|
} };
|
|
86
82
|
//#endregion
|
|
87
83
|
export { e as default };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=fr-DXb0cCZG.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,49 +1,38 @@
|
|
|
1
|
-
import type { AuthManager } from '@templatical/core/cloud';
|
|
2
1
|
import { ComponentOptionsMixin } from 'vue';
|
|
3
2
|
import { ComponentProvideOptions } from 'vue';
|
|
4
3
|
import { ComputedRef } from 'vue';
|
|
5
4
|
import { DefineComponent } from 'vue';
|
|
5
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
6
|
+
import { MediaAsset } from '@templatical/types';
|
|
7
|
+
import { MediaCategory } from '@templatical/types';
|
|
8
|
+
import { MediaFolder } from '@templatical/types';
|
|
9
|
+
import type { MediaOptions } from '@templatical/types';
|
|
10
|
+
import type { MediaProvider as MediaProvider_2 } from '@templatical/types';
|
|
11
|
+
import { MediaRequestContext } from '@templatical/types';
|
|
12
|
+
import { MediaResult } from '@templatical/types';
|
|
13
|
+
import type { MediaStorageInfo } from '@templatical/types';
|
|
14
|
+
import { MediaUsageInfo } from '@templatical/types';
|
|
6
15
|
import { PublicProps } from 'vue';
|
|
7
16
|
import { Ref } from 'vue';
|
|
8
|
-
import type { SdkAuthConfig } from '@templatical/core/cloud';
|
|
9
|
-
import type { UsePlanConfigReturn } from '@templatical/core/cloud';
|
|
10
17
|
|
|
11
18
|
declare const __VLS_export: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
12
|
-
select: (item:
|
|
19
|
+
select: (item: MediaAsset) => any;
|
|
13
20
|
close: () => any;
|
|
14
21
|
}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
-
onSelect?: ((item:
|
|
22
|
+
onSelect?: ((item: MediaAsset) => any) | undefined;
|
|
16
23
|
onClose?: (() => any) | undefined;
|
|
17
24
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
18
25
|
|
|
19
26
|
declare type __VLS_Props = {
|
|
20
27
|
visible: boolean;
|
|
21
|
-
accept?: MediaCategory[];
|
|
22
|
-
/**
|
|
23
|
-
* Authenticated Cloud session. **A prop, not an injection.** An injection would
|
|
24
|
-
* have to agree with the host on key *identity*: a bare string never resolves
|
|
25
|
-
* the `Symbol` `@templatical/editor` provides, and the miss is silent —
|
|
26
|
-
* `undefined` here means the library opens and does nothing. A prop is checked
|
|
27
|
-
* at compile time, which makes that class of miss impossible rather than merely
|
|
28
|
-
* fixed.
|
|
29
|
-
*/
|
|
30
|
-
authManager: AuthManager;
|
|
31
|
-
/** Scopes every request. Same story as {@link authManager}. */
|
|
32
|
-
projectId: string;
|
|
33
28
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* `
|
|
37
|
-
|
|
38
|
-
planConfig: UsePlanConfigReturn;
|
|
39
|
-
/**
|
|
40
|
-
* Mount target for the modal's teleport. When provided, the modal and
|
|
41
|
-
* its sub-modals render inside this element instead of `document.body`
|
|
42
|
-
* — used by editors that wrap the media library inside a shadow root
|
|
43
|
-
* (or any other DOM boundary) and want the modal to stay inside.
|
|
44
|
-
* Defaults to `null` → teleport to body, preserving the original
|
|
45
|
-
* standalone-SDK behavior.
|
|
29
|
+
* Storage backend. **A prop, not an injection.** An injection would have
|
|
30
|
+
* to agree with the host on key identity: a bare string never resolves
|
|
31
|
+
* the `Symbol` a host provides, and the miss is silent. A prop is checked
|
|
32
|
+
* at compile time.
|
|
46
33
|
*/
|
|
34
|
+
provider: MediaProvider_2;
|
|
35
|
+
accept?: MediaCategory[];
|
|
47
36
|
popoverTarget?: HTMLElement | null;
|
|
48
37
|
/**
|
|
49
38
|
* BCP-47 locale for this package's own strings, defaulting to English.
|
|
@@ -63,6 +52,15 @@ declare type __VLS_Props = {
|
|
|
63
52
|
* how the host stores it.
|
|
64
53
|
*/
|
|
65
54
|
uiTheme?: string;
|
|
55
|
+
/** Forwarded on list / create / importFromUrl when a template is loaded. */
|
|
56
|
+
templateId?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Failures from the storage provider. The composable already reports
|
|
59
|
+
* them here; a host that wants them on its own `onError` passes that
|
|
60
|
+
* function through. Standalone `init()` has no such config, so this
|
|
61
|
+
* stays optional.
|
|
62
|
+
*/
|
|
63
|
+
onError?: (error: Error) => void;
|
|
66
64
|
};
|
|
67
65
|
|
|
68
66
|
declare const en: {
|
|
@@ -78,6 +76,7 @@ declare const en: {
|
|
|
78
76
|
newFolder: string;
|
|
79
77
|
folderName: string;
|
|
80
78
|
noFiles: string;
|
|
79
|
+
noSearchResults: string;
|
|
81
80
|
dropOrClick: string;
|
|
82
81
|
acceptedFormats: string;
|
|
83
82
|
uploading: string;
|
|
@@ -123,11 +122,6 @@ declare const en: {
|
|
|
123
122
|
import: string;
|
|
124
123
|
importing: string;
|
|
125
124
|
importError: string;
|
|
126
|
-
conversionLabel: string;
|
|
127
|
-
conversionOriginal: string;
|
|
128
|
-
conversionSmall: string;
|
|
129
|
-
conversionMedium: string;
|
|
130
|
-
conversionLarge: string;
|
|
131
125
|
replaceFile: string;
|
|
132
126
|
replaceWarningTitle: string;
|
|
133
127
|
replaceWarningMessage: string;
|
|
@@ -154,99 +148,22 @@ declare const en: {
|
|
|
154
148
|
|
|
155
149
|
export declare function init(config: MediaLibraryConfig): Promise<MediaLibraryInstance>;
|
|
156
150
|
|
|
157
|
-
export
|
|
158
|
-
private readonly authManager;
|
|
159
|
-
constructor(authManager: AuthManager);
|
|
160
|
-
private get projectId();
|
|
161
|
-
private get tenantSlug();
|
|
162
|
-
private get baseParams();
|
|
163
|
-
private request;
|
|
164
|
-
browseMedia(params: Omit<MediaBrowseParams, "project_id">): Promise<MediaBrowseResponse>;
|
|
165
|
-
uploadMedia(file: File, folderId?: string | null): Promise<MediaItem>;
|
|
166
|
-
updateMedia(mediaId: string, filename: string, altText?: string): Promise<MediaItem>;
|
|
167
|
-
deleteMedia(ids: string[]): Promise<void>;
|
|
168
|
-
moveMedia(ids: string[], folderId: string | null): Promise<MediaItem[]>;
|
|
169
|
-
getMediaFolders(): Promise<MediaFolder[]>;
|
|
170
|
-
createMediaFolder(name: string, parentId?: string | null): Promise<MediaFolder>;
|
|
171
|
-
renameMediaFolder(folderId: string, name: string): Promise<MediaFolder>;
|
|
172
|
-
deleteMediaFolder(folderId: string): Promise<void>;
|
|
173
|
-
checkMediaUsage(ids: string[]): Promise<MediaUsageResponse>;
|
|
174
|
-
getFrequentlyUsed(): Promise<MediaItem[]>;
|
|
175
|
-
importFromUrl(url: string, folderId?: string | null): Promise<MediaItem>;
|
|
176
|
-
replaceMedia(mediaId: string, file: File): Promise<MediaItem>;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
export declare interface MediaBrowseParams {
|
|
180
|
-
folder_id?: string | null;
|
|
181
|
-
search?: string;
|
|
182
|
-
category?: string;
|
|
183
|
-
sort?: string;
|
|
184
|
-
cursor?: string;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export declare interface MediaBrowseResponse {
|
|
188
|
-
data: MediaItem[];
|
|
189
|
-
meta: {
|
|
190
|
-
path: string;
|
|
191
|
-
per_page: number;
|
|
192
|
-
next_cursor: string | null;
|
|
193
|
-
prev_cursor: string | null;
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export declare type MediaCategory = "images" | "documents" | "videos" | "audio";
|
|
198
|
-
|
|
199
|
-
export declare interface MediaCategoryData {
|
|
200
|
-
mime_types: string[];
|
|
201
|
-
extensions: string[];
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
export declare interface MediaConfig {
|
|
205
|
-
use_media_library: boolean;
|
|
206
|
-
categories: Record<string, MediaCategoryData>;
|
|
207
|
-
max_file_size: number;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export declare type MediaConversion = "original" | "small" | "medium" | "large";
|
|
151
|
+
export { MediaAsset }
|
|
211
152
|
|
|
212
|
-
export
|
|
213
|
-
id: string;
|
|
214
|
-
project_id: string;
|
|
215
|
-
parent_id: string | null;
|
|
216
|
-
name: string;
|
|
217
|
-
children?: MediaFolder[];
|
|
218
|
-
created_at: string;
|
|
219
|
-
}
|
|
153
|
+
export { MediaCategory }
|
|
220
154
|
|
|
221
|
-
export
|
|
222
|
-
id: string;
|
|
223
|
-
filename: string;
|
|
224
|
-
mime_type: string;
|
|
225
|
-
size: number;
|
|
226
|
-
url: string;
|
|
227
|
-
small_url: string | null;
|
|
228
|
-
medium_url: string | null;
|
|
229
|
-
large_url: string | null;
|
|
230
|
-
folder_id: string | null;
|
|
231
|
-
conversions_generated: boolean;
|
|
232
|
-
width: number | null;
|
|
233
|
-
height: number | null;
|
|
234
|
-
alt_text: string;
|
|
235
|
-
created_at: string;
|
|
236
|
-
updated_at: string;
|
|
237
|
-
}
|
|
155
|
+
export { MediaFolder }
|
|
238
156
|
|
|
239
157
|
export declare interface MediaLibraryConfig {
|
|
240
158
|
container: string | HTMLElement;
|
|
241
|
-
|
|
242
|
-
baseUrl?: string;
|
|
159
|
+
provider: MediaProvider_2;
|
|
243
160
|
locale?: string;
|
|
244
161
|
theme?: {
|
|
245
162
|
primaryColor?: string;
|
|
246
163
|
borderRadius?: number;
|
|
247
164
|
};
|
|
248
|
-
onSelect?: (
|
|
249
|
-
|
|
165
|
+
onSelect?: (asset: MediaAsset) => void;
|
|
166
|
+
accept?: MediaCategory[];
|
|
250
167
|
}
|
|
251
168
|
|
|
252
169
|
export declare interface MediaLibraryInstance {
|
|
@@ -259,35 +176,39 @@ export declare interface MediaLibraryInstance {
|
|
|
259
176
|
|
|
260
177
|
export declare const MediaLibraryModal: typeof __VLS_export;
|
|
261
178
|
|
|
262
|
-
|
|
179
|
+
/**
|
|
180
|
+
* Client pre-check limits plus the host's `accept` filter.
|
|
181
|
+
*
|
|
182
|
+
* `maxFileSize` / `mimeTypes` are {@link MediaOptions} fields and may be
|
|
183
|
+
* getters — Cloud fills them after construction — so every reader must
|
|
184
|
+
* access them inside a computed, never by destructuring at setup.
|
|
185
|
+
*
|
|
186
|
+
* **Provided by whichever component roots the tree** — `MediaLibraryModal`
|
|
187
|
+
* and `standalone/MediaLibrary.vue` — and consumed by `useMediaCategories`,
|
|
188
|
+
* which five descendants call. It is a provide rather than prop-drilling
|
|
189
|
+
* *only* because of that depth; the values themselves cross the package
|
|
190
|
+
* boundary as props.
|
|
191
|
+
*
|
|
192
|
+
* Vue matches injection keys by identity, so a bare-string
|
|
193
|
+
* `inject("mediaLimits")` never resolves the `Symbol` a host provided — it
|
|
194
|
+
* yields `undefined` silently, and the library opens with no limits and
|
|
195
|
+
* nothing to debug. Props make the cross-package boundary typed; a single
|
|
196
|
+
* exported key makes the intra-package hop impossible to spell two
|
|
197
|
+
* different ways.
|
|
198
|
+
*/
|
|
199
|
+
declare type MediaLimits = Pick<MediaOptions, "maxFileSize" | "mimeTypes"> & {
|
|
263
200
|
accept?: MediaCategory[];
|
|
264
|
-
|
|
265
|
-
* Image files dragged directly onto an image block/field (issue #229).
|
|
266
|
-
* Present only on drag-and-drop requests; absent for click → Browse Media.
|
|
267
|
-
* The media handler should upload these and return the resulting
|
|
268
|
-
* `MediaResult`. Plural for forward-compat, but the editor currently sends
|
|
269
|
-
* a single file per drop.
|
|
270
|
-
*/
|
|
271
|
-
files?: File[];
|
|
272
|
-
}
|
|
201
|
+
};
|
|
273
202
|
|
|
274
|
-
|
|
203
|
+
export { MediaRequestContext }
|
|
275
204
|
|
|
276
|
-
export
|
|
277
|
-
template_count: number;
|
|
278
|
-
template_names: string[];
|
|
279
|
-
}
|
|
205
|
+
export { MediaResult }
|
|
280
206
|
|
|
281
|
-
|
|
282
|
-
data: Record<string, MediaUsageInfo>;
|
|
283
|
-
}
|
|
207
|
+
declare type MediaTranslations = typeof en;
|
|
284
208
|
|
|
285
|
-
export
|
|
209
|
+
export { MediaUsageInfo }
|
|
286
210
|
|
|
287
|
-
export declare
|
|
288
|
-
used_bytes: number;
|
|
289
|
-
limit_bytes: number;
|
|
290
|
-
}
|
|
211
|
+
export declare type MediaViewMode = "files" | "frequently-used";
|
|
291
212
|
|
|
292
213
|
export declare function unmount(): void;
|
|
293
214
|
|
|
@@ -324,15 +245,15 @@ declare interface UseI18nReturn {
|
|
|
324
245
|
|
|
325
246
|
export declare function useMediaCategories(
|
|
326
247
|
/**
|
|
327
|
-
* The
|
|
248
|
+
* The limits to read, for callers that cannot inject them.
|
|
328
249
|
*
|
|
329
250
|
* A component never sees its own `provide` — Vue resolves `inject` against
|
|
330
|
-
* the *parent* chain — so the two hosts that provide `
|
|
251
|
+
* the *parent* chain — so the two hosts that provide `MEDIA_LIMITS_KEY`
|
|
331
252
|
* cannot also inject it, and must pass their value here instead. Descendants
|
|
332
253
|
* (`MediaGrid`, `MediaEditModal`, `MediaUploadZone`, `MediaPreviewPanel`)
|
|
333
|
-
* omit the argument and inject
|
|
254
|
+
* omit the argument and inject. Mirrors `useI18n(override?)`.
|
|
334
255
|
*/
|
|
335
|
-
|
|
256
|
+
limitsOverride?: MediaLimits): UseMediaCategoriesReturn;
|
|
336
257
|
|
|
337
258
|
export declare interface UseMediaCategoriesReturn {
|
|
338
259
|
isMediaLibraryEnabled: ComputedRef<boolean>;
|
|
@@ -340,18 +261,29 @@ export declare interface UseMediaCategoriesReturn {
|
|
|
340
261
|
allAcceptedInputString: ComputedRef<string>;
|
|
341
262
|
maxFileSize: ComputedRef<number>;
|
|
342
263
|
availableCategories: ComputedRef<MediaCategory[]>;
|
|
343
|
-
isAcceptedMimeType: (mimeType: string,
|
|
264
|
+
isAcceptedMimeType: (mimeType: string, accept?: MediaCategory[]) => boolean;
|
|
265
|
+
isAcceptedFile: (file: {
|
|
266
|
+
type: string;
|
|
267
|
+
size: number;
|
|
268
|
+
}) => boolean;
|
|
344
269
|
isImageMimeType: (mimeType: string) => boolean;
|
|
345
270
|
getCategoryForMimeType: (mimeType: string) => MediaCategory | null;
|
|
346
271
|
}
|
|
347
272
|
|
|
273
|
+
/**
|
|
274
|
+
* Reactive state over a {@link MediaProvider}.
|
|
275
|
+
*
|
|
276
|
+
* Owns the listing, selection, preview, sequential upload loop and the
|
|
277
|
+
* delete-usage flow. Chrome that should hide for a `false` method is the
|
|
278
|
+
* modal's job; this composable simply does not call a disabled method.
|
|
279
|
+
*/
|
|
348
280
|
export declare function useMediaLibrary(options: UseMediaLibraryOptions): {
|
|
349
|
-
items: Ref<
|
|
281
|
+
items: Ref<MediaAsset[], MediaAsset[]>;
|
|
350
282
|
folders: Ref<MediaFolder[], MediaFolder[]>;
|
|
351
283
|
currentFolderId: Ref<string | null, string | null>;
|
|
352
284
|
viewMode: Ref<MediaViewMode, MediaViewMode>;
|
|
353
285
|
searchQuery: Ref<string, string>;
|
|
354
|
-
categoryFilter: Ref<
|
|
286
|
+
categoryFilter: Ref<MediaCategory | null, MediaCategory | null>;
|
|
355
287
|
sortOption: Ref<string, string>;
|
|
356
288
|
isLoading: Ref<boolean, boolean>;
|
|
357
289
|
isUploading: Ref<boolean, boolean>;
|
|
@@ -364,28 +296,28 @@ export declare function useMediaLibrary(options: UseMediaLibraryOptions): {
|
|
|
364
296
|
} | null>;
|
|
365
297
|
hasMore: Ref<boolean, boolean>;
|
|
366
298
|
selectedItems: Ref<Set<string>, Set<string>>;
|
|
367
|
-
previewItem: Ref<
|
|
368
|
-
frequentlyUsedItems: Ref<
|
|
299
|
+
previewItem: Ref<MediaAsset | null, MediaAsset | null>;
|
|
300
|
+
frequentlyUsedItems: Ref<MediaAsset[], MediaAsset[]>;
|
|
369
301
|
deleteUsageInfo: Ref<Record<string, MediaUsageInfo>, Record<string, MediaUsageInfo>>;
|
|
370
302
|
showDeleteWarning: Ref<boolean, boolean>;
|
|
371
303
|
loadItems: () => Promise<void>;
|
|
372
304
|
loadMore: () => Promise<void>;
|
|
373
305
|
search: (query: string) => Promise<void>;
|
|
374
|
-
filterByCategory: (category:
|
|
306
|
+
filterByCategory: (category: MediaCategory | null) => Promise<void>;
|
|
375
307
|
sortBy: (option: string) => Promise<void>;
|
|
376
308
|
navigateToFolder: (folderId: string | null) => Promise<void>;
|
|
377
309
|
showFrequentlyUsed: () => Promise<void>;
|
|
378
|
-
uploadFile: (file: File) => Promise<
|
|
310
|
+
uploadFile: (file: File) => Promise<MediaAsset | null>;
|
|
379
311
|
uploadFiles: (files: File[]) => Promise<void>;
|
|
380
312
|
moveSelected: (targetFolderId: string | null) => Promise<void>;
|
|
381
313
|
updateFile: (mediaId: string, filename: string, altText?: string) => Promise<void>;
|
|
382
314
|
deleteSelected: () => Promise<void>;
|
|
383
315
|
isImportingFromUrl: Ref<boolean, boolean>;
|
|
384
316
|
importFromUrlError: Ref<string | null, string | null>;
|
|
385
|
-
importFromUrl: (url: string) => Promise<
|
|
317
|
+
importFromUrl: (url: string) => Promise<MediaAsset | null>;
|
|
386
318
|
toggleSelection: (id: string) => void;
|
|
387
319
|
clearSelection: () => void;
|
|
388
|
-
selectItem: (item:
|
|
320
|
+
selectItem: (item: MediaAsset) => void;
|
|
389
321
|
loadFolders: () => Promise<void>;
|
|
390
322
|
createFolder: (name: string, parentId?: string | null) => Promise<MediaFolder | null>;
|
|
391
323
|
renameFolder: (folderId: string, name: string) => Promise<void>;
|
|
@@ -398,18 +330,29 @@ export declare function useMediaLibrary(options: UseMediaLibraryOptions): {
|
|
|
398
330
|
isReplacing: Ref<boolean, boolean>;
|
|
399
331
|
replaceError: Ref<string | null, string | null>;
|
|
400
332
|
showReplaceWarning: Ref<boolean, boolean>;
|
|
401
|
-
pendingReplaceItem: Ref<
|
|
333
|
+
pendingReplaceItem: Ref<MediaAsset | null, MediaAsset | null>;
|
|
402
334
|
replaceUsageInfo: Ref<MediaUsageInfo | null, MediaUsageInfo | null>;
|
|
403
|
-
checkUsageBeforeReplace: (item:
|
|
335
|
+
checkUsageBeforeReplace: (item: MediaAsset) => Promise<void>;
|
|
404
336
|
cancelReplace: () => void;
|
|
405
|
-
replaceFile: (file: File) => Promise<
|
|
406
|
-
replaceMediaDirectly: (mediaId: string, file: File) => Promise<
|
|
337
|
+
replaceFile: (file: File) => Promise<MediaAsset | null>;
|
|
338
|
+
replaceMediaDirectly: (mediaId: string, file: File) => Promise<MediaAsset | null>;
|
|
339
|
+
storageInfo: Ref<MediaStorageInfo | null, MediaStorageInfo | null>;
|
|
340
|
+
loadStorage: () => Promise<void>;
|
|
407
341
|
};
|
|
408
342
|
|
|
409
343
|
export declare interface UseMediaLibraryOptions {
|
|
410
|
-
|
|
411
|
-
|
|
344
|
+
/**
|
|
345
|
+
* Storage backend. The composable is transport-agnostic and never talks
|
|
346
|
+
* to a network itself.
|
|
347
|
+
*/
|
|
348
|
+
provider: MediaProvider_2;
|
|
412
349
|
onError?: (error: Error) => void;
|
|
350
|
+
/**
|
|
351
|
+
* Forwarded on `list` / `create` / `importFromUrl` when a template is
|
|
352
|
+
* loaded. Read at call time — a ref that fills after setup must still
|
|
353
|
+
* reach the store.
|
|
354
|
+
*/
|
|
355
|
+
templateId?: MaybeRefOrGetter<string | undefined>;
|
|
413
356
|
}
|
|
414
357
|
|
|
415
358
|
export declare function useMediaPicker(): UseMediaPickerReturn;
|
|
@@ -417,7 +360,7 @@ export declare function useMediaPicker(): UseMediaPickerReturn;
|
|
|
417
360
|
declare interface UseMediaPickerReturn {
|
|
418
361
|
isPluggableMediaEnabled: ComputedRef<boolean>;
|
|
419
362
|
isRequesting: Ref<boolean>;
|
|
420
|
-
requestMedia: (context?: MediaRequestContext) => Promise<
|
|
363
|
+
requestMedia: (context?: MediaRequestContext) => Promise<MediaResult | null>;
|
|
421
364
|
}
|
|
422
365
|
|
|
423
366
|
export { }
|
|
@@ -11,6 +11,7 @@ var e = { mediaLibrary: {
|
|
|
11
11
|
newFolder: "Nieuwe map",
|
|
12
12
|
folderName: "Mapnaam",
|
|
13
13
|
noFiles: "Geen bestanden gevonden",
|
|
14
|
+
noSearchResults: "Geen bestanden komen overeen met uw zoekopdracht",
|
|
14
15
|
dropOrClick: "Sleep bestanden hierheen of klik om te uploaden",
|
|
15
16
|
acceptedFormats: "Afbeeldingen, PDF, video, audio, documenten (max. 10 MB)",
|
|
16
17
|
uploading: "Uploaden...",
|
|
@@ -56,11 +57,6 @@ var e = { mediaLibrary: {
|
|
|
56
57
|
import: "Importeren",
|
|
57
58
|
importing: "Importeren...",
|
|
58
59
|
importError: "Importeren vanaf URL mislukt",
|
|
59
|
-
conversionLabel: "Grootte",
|
|
60
|
-
conversionOriginal: "Origineel",
|
|
61
|
-
conversionSmall: "Klein (150px)",
|
|
62
|
-
conversionMedium: "Middel (600px)",
|
|
63
|
-
conversionLarge: "Groot (1200px)",
|
|
64
60
|
replaceFile: "Bestand vervangen",
|
|
65
61
|
replaceWarningTitle: "Bestand vervangen",
|
|
66
62
|
replaceWarningMessage: "U staat op het punt dit bestand te vervangen. De vervanging moet dezelfde bestandsextensie hebben ({extension}).",
|
|
@@ -85,5 +81,3 @@ var e = { mediaLibrary: {
|
|
|
85
81
|
} };
|
|
86
82
|
//#endregion
|
|
87
83
|
export { e as default };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=nl-DGT1t3Be.js.map
|
|
@@ -11,6 +11,7 @@ var e = { mediaLibrary: {
|
|
|
11
11
|
newFolder: "Nova Pasta",
|
|
12
12
|
folderName: "Nome da pasta",
|
|
13
13
|
noFiles: "Nenhum arquivo encontrado",
|
|
14
|
+
noSearchResults: "Nenhum arquivo corresponde à sua busca",
|
|
14
15
|
dropOrClick: "Solte arquivos aqui ou clique para enviar",
|
|
15
16
|
acceptedFormats: "Imagens, PDF, Vídeo, Áudio, Documentos (máx. 10MB)",
|
|
16
17
|
uploading: "Enviando...",
|
|
@@ -56,11 +57,6 @@ var e = { mediaLibrary: {
|
|
|
56
57
|
import: "Importar",
|
|
57
58
|
importing: "Importando...",
|
|
58
59
|
importError: "Falha ao importar da URL",
|
|
59
|
-
conversionLabel: "Tamanho",
|
|
60
|
-
conversionOriginal: "Original",
|
|
61
|
-
conversionSmall: "Pequeno (150px)",
|
|
62
|
-
conversionMedium: "Médio (600px)",
|
|
63
|
-
conversionLarge: "Grande (1200px)",
|
|
64
60
|
replaceFile: "Substituir Arquivo",
|
|
65
61
|
replaceWarningTitle: "Substituir Arquivo",
|
|
66
62
|
replaceWarningMessage: "Você está prestes a substituir este arquivo. O substituto deve ter a mesma extensão ({extension}).",
|
|
@@ -85,5 +81,3 @@ var e = { mediaLibrary: {
|
|
|
85
81
|
} };
|
|
86
82
|
//#endregion
|
|
87
83
|
export { e as default };
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=pt-BR-C0Hzc26R.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@import"https://fonts.bunny.net/css?family=geist:400,500,600";.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{-webkit-user-select:none;user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-72091aa5] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-72091aa5] .vue-advanced-cropper{background-color:transparent!important}[data-v-72091aa5] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-72091aa5] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}.tpl-media-item[data-v-5b4cc2c6]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-5b4cc2c6]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-5b4cc2c6]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-79f055d7]{transform:scale(.45);transform-origin:center}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-leading:initial}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\:invisible{visibility:hidden}.tpl\:absolute{position:absolute}.tpl\:fixed{position:fixed}.tpl\:relative{position:relative}.tpl\:inset-0{inset:0}.tpl\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\:top-1\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:top-1\/2{top:50%}.tpl\:top-full{top:100%}.tpl\:right-1\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:right-2\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:bottom-full{bottom:100%}.tpl\:left-0{left:0}.tpl\:left-1\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:left-1\/2{left:50%}.tpl\:left-2\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:z-10{z-index:10}.tpl\:z-50{z-index:50}.tpl\:z-\[9999\]{z-index:9999}.tpl\:z-\[10000\]{z-index:10000}.tpl\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:mt-0\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\:mb-1\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:mb-px{margin-bottom:1px}.tpl\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\:ml-0{margin-left:0}.tpl\:block{display:block}.tpl\:flex{display:flex}.tpl\:grid{display:grid}.tpl\:inline{display:inline}.tpl\:inline-flex{display:inline-flex}.tpl\:aspect-square{aspect-ratio:1}.tpl\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\:size-full{width:100%;height:100%}.tpl\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\:h-full{height:100%}.tpl\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\:max-h-\[90\%\]{max-height:90%}.tpl\:max-h-\[90vh\]{max-height:90vh}.tpl\:min-h-0{min-height:0}.tpl\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\:w-full{width:100%}.tpl\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\:min-w-0{min-width:0}.tpl\:flex-1{flex:1}.tpl\:shrink-0{flex-shrink:0}.tpl\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:-rotate-90{rotate:-90deg}.tpl\:rotate-45{rotate:45deg}.tpl\:rotate-90{rotate:90deg}.tpl\:animate-spin{animation:1s linear infinite spin}.tpl\:cursor-help{cursor:help}.tpl\:cursor-not-allowed{cursor:not-allowed}.tpl\:cursor-pointer{cursor:pointer}.tpl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\:flex-col{flex-direction:column}.tpl\:flex-wrap{flex-wrap:wrap}.tpl\:items-center{align-items:center}.tpl\:justify-between{justify-content:space-between}.tpl\:justify-center{justify-content:center}.tpl\:justify-end{justify-content:flex-end}.tpl\:gap-0\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\:gap-1\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}:where(.tpl\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\:overflow-hidden{overflow:hidden}.tpl\:overflow-y-auto{overflow-y:auto}.tpl\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\:rounded-\[var\(--tpl-radius-lg\)\]{border-radius:var(--tpl-radius-lg)}.tpl\:rounded-full{border-radius:3.40282e38px}.tpl\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\:bg-\[var\(--tpl-primary\)\]{background-color:var(--tpl-primary)}.tpl\:object-cover{object-fit:cover}.tpl\:p-0\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:px-1\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:px-2\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:py-0\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\:py-1\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:py-2\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:py-3\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pr-6{padding-right:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:pl-2{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:pl-2\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\:text-center{text-align:center}.tpl\:text-left{text-align:left}.tpl\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\:text-\[9px\]{font-size:9px}.tpl\:text-\[10px\]{font-size:10px}.tpl\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\:whitespace-nowrap{white-space:nowrap}.tpl\:text-white{color:#fff}.tpl\:italic{font-style:italic}.tpl\:opacity-0{opacity:0}.tpl\:opacity-50{opacity:.5}.tpl\:opacity-60{opacity:.6}.tpl\:opacity-100{opacity:1}.tpl\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\:outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.tpl\:group-hover\:opacity-100:is(:where(.tpl\:group):hover *){opacity:1}.tpl\:hover\:underline:hover{text-decoration-line:underline}.tpl\:hover\:opacity-90:hover{opacity:.9}}.tpl\:focus\:shadow-\[var\(--tpl-ring\)\]:focus{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\:disabled\:opacity-50:disabled{opacity:.5}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:oklch(99.5% .002 60);--tpl-bg-elevated:oklch(98% .004 60);--tpl-bg-hover:oklch(96% .006 60);--tpl-bg-active:oklch(93.5% .008 60);--tpl-border:oklch(92% .006 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary:oklch(70% .16 55);--tpl-primary-hover:oklch(63% .17 55);--tpl-primary-light:oklch(95% .04 55);--tpl-secondary:oklch(60% .118 184.71);--tpl-secondary-hover:oklch(53.2% .105 186.39);--tpl-secondary-light:oklch(93.8% .03 186.82);--tpl-success:oklch(62.8% .194 155.1);--tpl-success-light:oklch(93.6% .043 163.51);--tpl-warning:oklch(76.9% .168 70.08);--tpl-warning-light:oklch(95% .038 73.59);--tpl-danger:oklch(63.7% .237 25.33);--tpl-danger-light:oklch(93.6% .032 17.72);--tpl-radius:10px;--tpl-radius-sm:7px;--tpl-radius-lg:14px;--tpl-font-family:"Geist", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--tpl-shadow:0 1px 2px #0000000a, 0 1px 3px #00000008;--tpl-shadow-md:0 2px 8px #0000000f, 0 1px 3px #0000000a;--tpl-shadow-lg:0 4px 16px #00000014, 0 2px 6px #0000000a;--tpl-shadow-xl:0 8px 32px #0000001a, 0 4px 12px #0000000f;--tpl-ring:0 0 0 3px var(--tpl-primary-light);--tpl-transition:.12s cubic-bezier(.16, 1, .3, 1)}.tpl[data-tpl-theme=dark]{--tpl-bg:oklch(16% .005 60);--tpl-bg-elevated:oklch(21% .006 60);--tpl-bg-hover:oklch(26% .007 60);--tpl-bg-active:oklch(30% .008 60);--tpl-border:oklch(30% .006 60);--tpl-border-light:oklch(38% .008 60);--tpl-text:oklch(93% .005 60);--tpl-text-muted:oklch(65% .01 60);--tpl-text-dim:oklch(50% .008 60);--tpl-primary:oklch(73% .15 55);--tpl-primary-hover:oklch(78% .14 55);--tpl-primary-light:oklch(28% .05 55);--tpl-secondary:oklch(63% .11 184.71);--tpl-secondary-hover:oklch(68% .1 186.39);--tpl-secondary-light:oklch(25% .03 186.82);--tpl-success:oklch(65% .18 155.1);--tpl-success-light:oklch(25% .04 163.51);--tpl-warning:oklch(78% .16 70.08);--tpl-warning-light:oklch(28% .04 73.59);--tpl-danger:oklch(65% .22 25.33);--tpl-danger-light:oklch(25% .04 17.72);--tpl-shadow:0 1px 2px #0000004d, 0 1px 3px #0003;--tpl-shadow-md:0 2px 8px #00000059, 0 1px 3px #00000040;--tpl-shadow-lg:0 4px 16px #0006, 0 2px 6px #0000004d;--tpl-shadow-xl:0 8px 32px #00000080, 0 4px 12px #00000059;--tpl-ring:0 0 0 3px var(--tpl-primary-light)}.tpl{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family)}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
1
|
+
@import"https://fonts.bunny.net/css?family=geist:400,500,600";.vue-advanced-cropper{text-align:center;position:relative;-webkit-user-select:none;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{-webkit-user-select:none;user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-c7f50076] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-c7f50076] .vue-advanced-cropper{background-color:transparent!important}[data-v-c7f50076] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-c7f50076] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}.tpl-media-item[data-v-02bd861d]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-02bd861d]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-02bd861d]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-c7fe5962]{transform:scale(.45);transform-origin:center}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-leading:initial}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\:invisible{visibility:hidden}.tpl\:absolute{position:absolute}.tpl\:fixed{position:fixed}.tpl\:relative{position:relative}.tpl\:inset-0{inset:0}.tpl\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\:top-1\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:top-1\/2{top:50%}.tpl\:top-full{top:100%}.tpl\:right-1\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:right-2\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:bottom-full{bottom:100%}.tpl\:left-0{left:0}.tpl\:left-1\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:left-1\/2{left:50%}.tpl\:left-2\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:z-10{z-index:10}.tpl\:z-50{z-index:50}.tpl\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:mt-0\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\:mb-1\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:mb-px{margin-bottom:1px}.tpl\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\:ml-0{margin-left:0}.tpl\:block{display:block}.tpl\:flex{display:flex}.tpl\:grid{display:grid}.tpl\:inline{display:inline}.tpl\:inline-flex{display:inline-flex}.tpl\:aspect-square{aspect-ratio:1}.tpl\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\:size-full{width:100%;height:100%}.tpl\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\:h-full{height:100%}.tpl\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\:max-h-\[90\%\]{max-height:90%}.tpl\:max-h-\[90vh\]{max-height:90vh}.tpl\:min-h-0{min-height:0}.tpl\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\:w-full{width:100%}.tpl\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\:min-w-0{min-width:0}.tpl\:flex-1{flex:1}.tpl\:shrink-0{flex-shrink:0}.tpl\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\:-rotate-90{rotate:-90deg}.tpl\:rotate-45{rotate:45deg}.tpl\:rotate-90{rotate:90deg}.tpl\:animate-spin{animation:1s linear infinite spin}.tpl\:cursor-help{cursor:help}.tpl\:cursor-not-allowed{cursor:not-allowed}.tpl\:cursor-pointer{cursor:pointer}.tpl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\:flex-col{flex-direction:column}.tpl\:flex-wrap{flex-wrap:wrap}.tpl\:items-center{align-items:center}.tpl\:justify-between{justify-content:space-between}.tpl\:justify-center{justify-content:center}.tpl\:justify-end{justify-content:flex-end}.tpl\:gap-0\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\:gap-1\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}:where(.tpl\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\:overflow-hidden{overflow:hidden}.tpl\:overflow-y-auto{overflow-y:auto}.tpl\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\:rounded-\[var\(--tpl-radius-lg\)\]{border-radius:var(--tpl-radius-lg)}.tpl\:rounded-full{border-radius:3.40282e38px}.tpl\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\:bg-\[var\(--tpl-primary\)\]{background-color:var(--tpl-primary)}.tpl\:object-cover{object-fit:cover}.tpl\:p-0\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:px-1\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:px-2\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\:py-0\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\:py-1\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:py-2\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:py-3\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\:pl-2\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\:text-center{text-align:center}.tpl\:text-left{text-align:left}.tpl\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\:text-\[9px\]{font-size:9px}.tpl\:text-\[10px\]{font-size:10px}.tpl\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\:whitespace-nowrap{white-space:nowrap}.tpl\:text-white{color:#fff}.tpl\:italic{font-style:italic}.tpl\:opacity-0{opacity:0}.tpl\:opacity-50{opacity:.5}.tpl\:opacity-60{opacity:.6}.tpl\:opacity-100{opacity:1}.tpl\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.tpl\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\:outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.tpl\:group-hover\:opacity-100:is(:where(.tpl\:group):hover *){opacity:1}.tpl\:hover\:underline:hover{text-decoration-line:underline}.tpl\:hover\:opacity-90:hover{opacity:.9}}.tpl\:focus\:shadow-\[var\(--tpl-ring\)\]:focus{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\:disabled\:opacity-50:disabled{opacity:.5}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:oklch(99.5% .002 60);--tpl-bg-elevated:oklch(98% .004 60);--tpl-bg-hover:oklch(96% .006 60);--tpl-bg-active:oklch(93.5% .008 60);--tpl-border:oklch(92% .006 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary:oklch(70% .16 55);--tpl-primary-hover:oklch(63% .17 55);--tpl-primary-light:oklch(95% .04 55);--tpl-secondary:oklch(60% .118 184.71);--tpl-secondary-hover:oklch(53.2% .105 186.39);--tpl-secondary-light:oklch(93.8% .03 186.82);--tpl-success:oklch(62.8% .194 155.1);--tpl-success-light:oklch(93.6% .043 163.51);--tpl-warning:oklch(76.9% .168 70.08);--tpl-warning-light:oklch(95% .038 73.59);--tpl-danger:oklch(63.7% .237 25.33);--tpl-danger-light:oklch(93.6% .032 17.72);--tpl-radius:10px;--tpl-radius-sm:7px;--tpl-radius-lg:14px;--tpl-font-family:"Geist", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--tpl-shadow:0 1px 2px #0000000a, 0 1px 3px #00000008;--tpl-shadow-md:0 2px 8px #0000000f, 0 1px 3px #0000000a;--tpl-shadow-lg:0 4px 16px #00000014, 0 2px 6px #0000000a;--tpl-shadow-xl:0 8px 32px #0000001a, 0 4px 12px #0000000f;--tpl-ring:0 0 0 3px var(--tpl-primary-light);--tpl-transition:.12s cubic-bezier(.16, 1, .3, 1)}.tpl[data-tpl-theme=dark]{--tpl-bg:oklch(16% .005 60);--tpl-bg-elevated:oklch(21% .006 60);--tpl-bg-hover:oklch(26% .007 60);--tpl-bg-active:oklch(30% .008 60);--tpl-border:oklch(30% .006 60);--tpl-border-light:oklch(38% .008 60);--tpl-text:oklch(93% .005 60);--tpl-text-muted:oklch(65% .01 60);--tpl-text-dim:oklch(50% .008 60);--tpl-primary:oklch(73% .15 55);--tpl-primary-hover:oklch(78% .14 55);--tpl-primary-light:oklch(28% .05 55);--tpl-secondary:oklch(63% .11 184.71);--tpl-secondary-hover:oklch(68% .1 186.39);--tpl-secondary-light:oklch(25% .03 186.82);--tpl-success:oklch(65% .18 155.1);--tpl-success-light:oklch(25% .04 163.51);--tpl-warning:oklch(78% .16 70.08);--tpl-warning-light:oklch(28% .04 73.59);--tpl-danger:oklch(65% .22 25.33);--tpl-danger-light:oklch(25% .04 17.72);--tpl-shadow:0 1px 2px #0000004d, 0 1px 3px #0003;--tpl-shadow-md:0 2px 8px #00000059, 0 1px 3px #00000040;--tpl-shadow-lg:0 4px 16px #0006, 0 2px 6px #0000004d;--tpl-shadow-xl:0 8px 32px #00000080, 0 4px 12px #00000059;--tpl-ring:0 0 0 3px var(--tpl-primary-light)}.tpl{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family)}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
2
2
|
/*$vite$:1*/
|