@templatical/media-library 0.39.0 → 0.39.2
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 +2 -3
- package/dist/MediaEditModal-DltAfTVH.js +311 -0
- package/dist/{ca-CGf3MuE2.js → ca-B1Ig3u8O.js} +9 -0
- package/dist/cdn/chunks/MediaEditModal-CeKcr-C0.js +3528 -0
- package/dist/cdn/chunks/MediaEditModal-CeKcr-C0.js.map +1 -0
- package/dist/cdn/chunks/{ca-CGf3MuE2.js → ca-B1Ig3u8O.js} +10 -1
- package/dist/cdn/chunks/{ca-CGf3MuE2.js.map → ca-B1Ig3u8O.js.map} +1 -1
- package/dist/cdn/chunks/{de-D5ebAV5i.js → de-BNbyJubD.js} +10 -1
- package/dist/cdn/chunks/{de-D5ebAV5i.js.map → de-BNbyJubD.js.map} +1 -1
- package/dist/cdn/chunks/en-CQxhpwqd.js +101 -0
- package/dist/cdn/chunks/en-CQxhpwqd.js.map +1 -0
- package/dist/cdn/chunks/{es-BG--QNW0.js → es-B2EH-TdJ.js} +10 -1
- package/dist/cdn/chunks/{es-BG--QNW0.js.map → es-B2EH-TdJ.js.map} +1 -1
- package/dist/cdn/chunks/{fr-Mdi4AlCR.js → fr-9SWy_n9K.js} +10 -1
- package/dist/cdn/chunks/{fr-Mdi4AlCR.js.map → fr-9SWy_n9K.js.map} +1 -1
- package/dist/cdn/chunks/{icons-DJG-T8pC.js → icons-DWBJnZvW.js} +1132 -1032
- package/dist/cdn/chunks/icons-DWBJnZvW.js.map +1 -0
- package/dist/{nl-D-6hT8te.js → cdn/chunks/nl-DJasgSvI.js} +11 -0
- package/dist/cdn/chunks/{nl-D-6hT8te.js.map → nl-DJasgSvI.js.map} +1 -1
- package/dist/cdn/chunks/{pt-BR-DMfAgDWi.js → pt-BR-BtCfbqSj.js} +10 -1
- package/dist/cdn/chunks/{pt-BR-DMfAgDWi.js.map → pt-BR-BtCfbqSj.js.map} +1 -1
- package/dist/cdn/chunks/useFocusTrap-tWtljvAm.js +535 -0
- package/dist/cdn/chunks/useFocusTrap-tWtljvAm.js.map +1 -0
- package/dist/cdn/media-library.css +1 -1
- package/dist/cdn/media-library.js +1422 -5258
- package/dist/cdn/media-library.js.map +1 -1
- package/dist/{de-D5ebAV5i.js → de-BNbyJubD.js} +9 -0
- package/dist/en-CQxhpwqd.js +99 -0
- package/dist/{es-BG--QNW0.js → es-B2EH-TdJ.js} +9 -0
- package/dist/{fr-Mdi4AlCR.js → fr-9SWy_n9K.js} +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/{cdn/chunks/nl-D-6hT8te.js → nl-DJasgSvI.js} +9 -2
- package/dist/{pt-BR-DMfAgDWi.js → pt-BR-BtCfbqSj.js} +9 -0
- package/dist/templatical-media-library.css +1 -1
- package/dist/templatical-media-library.js +1320 -1931
- package/dist/useFocusTrap-6eIRXtCA.js +111 -0
- package/package.json +9 -9
- package/dist/cdn/chunks/icons-DJG-T8pC.js.map +0 -1
|
@@ -77,7 +77,18 @@ var e = { mediaLibrary: {
|
|
|
77
77
|
cropOutputSize: "Uitvoergrootte",
|
|
78
78
|
cropPixels: "px",
|
|
79
79
|
cropOptional: "(optioneel)",
|
|
80
|
+
close: "Sluiten",
|
|
81
|
+
searchAriaLabel: "Bestanden zoeken",
|
|
82
|
+
filterAriaLabel: "Filteren op type",
|
|
83
|
+
filesListAriaLabel: "Bestanden",
|
|
84
|
+
loading: "Laden",
|
|
85
|
+
expandFolder: "Map uitvouwen",
|
|
86
|
+
collapseFolder: "Map invouwen",
|
|
87
|
+
deleteFolder: "Map verwijderen",
|
|
88
|
+
deleteFolderConfirm: "Verwijderen bevestigen",
|
|
80
89
|
storageTooltip: "{used} van {total} gebruikt ({remaining} resterend)"
|
|
81
90
|
} };
|
|
82
91
|
//#endregion
|
|
83
92
|
export { e as default };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=nl-DJasgSvI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nl-
|
|
1
|
+
{"version":3,"file":"nl-DJasgSvI.js","names":[],"sources":["../../../src/i18n/locales/nl.ts"],"sourcesContent":["const nl = {\n mediaLibrary: {\n title: \"Mediabibliotheek\",\n searchPlaceholder: \"Bestanden zoeken...\",\n allFiles: \"Alle bestanden\",\n filterAll: \"Alle types\",\n filterImages: \"Afbeeldingen\",\n filterDocuments: \"Documenten\",\n filterVideos: \"Video's\",\n filterAudio: \"Audio\",\n newFolder: \"Nieuwe map\",\n folderName: \"Mapnaam\",\n noFiles: \"Geen bestanden gevonden\",\n noSearchResults: \"Geen bestanden komen overeen met uw zoekopdracht\",\n dropOrClick: \"Sleep bestanden hierheen of klik om te uploaden\",\n acceptedFormats: \"Afbeeldingen, PDF, video, audio, documenten (max. 10 MB)\",\n uploading: \"Uploaden...\",\n uploadingProgress: \"Uploaden van {current} van {total}...\",\n selectImage: \"Afbeelding selecteren\",\n selectFile: \"Bestand selecteren\",\n deleteSelected: \"Verwijderen\",\n copyUrl: \"URL kopiëren\",\n copied: \"Gekopieerd!\",\n browseMedia: \"Mediabibliotheek openen\",\n renameFolder: \"Map hernoemen\",\n addSubfolder: \"Submap toevoegen\",\n subfolderName: \"Naam van de submap\",\n sortNewest: \"Nieuwste eerst\",\n sortOldest: \"Oudste eerst\",\n sortNameAsc: \"Naam A-Z\",\n sortNameDesc: \"Naam Z-A\",\n sortSizeAsc: \"Kleinste eerst\",\n sortSizeDesc: \"Grootste eerst\",\n moveSelected: \"Verplaatsen\",\n moveToRoot: \"Alle bestanden\",\n currentFolder: \"(huidige)\",\n confirmDelete: \"Bevestigen?\",\n renameFile: \"Hernoemen\",\n editFile: \"Bestand bewerken\",\n fileName: \"Bestandsnaam\",\n altText: \"Alt-tekst\",\n altTextPlaceholder: \"Beschrijf deze afbeelding voor toegankelijkheid\",\n saveChanges: \"Opslaan\",\n cancel: \"Annuleren\",\n frequentlyUsed: \"Vaak gebruikt\",\n deleteWarningTitle: \"Bestand verwijderen\",\n deleteWarningMessage:\n \"Weet u het zeker? Deze actie kan niet worden teruggedraaid.\",\n deleteWarningUsageNote:\n \"De volgende bestanden worden gebruikt in sjablonen. Verwijderen kan die sjablonen breken.\",\n deleteAnyway: \"Verwijderen\",\n usedInTemplates: \"Gebruikt in {count} sjabloon(en)\",\n viewGrid: \"Rasterweergave\",\n viewList: \"Lijstweergave\",\n showFolders: \"Mappen tonen\",\n hideFolders: \"Mappen verbergen\",\n importFromUrl: \"Importeren vanaf URL\",\n importUrlPlaceholder: \"https://example.com/image.jpg\",\n import: \"Importeren\",\n importing: \"Importeren...\",\n importError: \"Importeren vanaf URL mislukt\",\n replaceFile: \"Bestand vervangen\",\n replaceWarningTitle: \"Bestand vervangen\",\n replaceWarningMessage:\n \"U staat op het punt dit bestand te vervangen. De vervanging moet dezelfde bestandsextensie hebben ({extension}).\",\n replaceWarningUsageNote:\n \"Dit bestand wordt gebruikt in {count} sjabloon(en). Vervangen werkt alle verwijzingen bij.\",\n replaceSelectFile: \"Vervangend bestand selecteren\",\n replace: \"Vervangen\",\n replacing: \"Vervangen...\",\n replaceError: \"Bestand vervangen mislukt\",\n saving: \"Opslaan...\",\n cropAspectRatio: \"Beeldverhouding\",\n cropFree: \"Vrij\",\n cropSquare: \"1:1\",\n cropLandscape43: \"4:3\",\n cropLandscape169: \"16:9\",\n cropOriginal: \"Origineel\",\n cropMaxWidth: \"Max. breedte\",\n cropMaxHeight: \"Max. hoogte\",\n cropOutputSize: \"Uitvoergrootte\",\n cropPixels: \"px\",\n cropOptional: \"(optioneel)\",\n close: \"Sluiten\",\n searchAriaLabel: \"Bestanden zoeken\",\n filterAriaLabel: \"Filteren op type\",\n filesListAriaLabel: \"Bestanden\",\n loading: \"Laden\",\n expandFolder: \"Map uitvouwen\",\n collapseFolder: \"Map invouwen\",\n deleteFolder: \"Map verwijderen\",\n deleteFolderConfirm: \"Verwijderen bevestigen\",\n storageTooltip: \"{used} van {total} gebruikt ({remaining} resterend)\",\n },\n};\n\nexport default nl;\n"],"mappings":";AAAA,IAAM,IAAK,EACT,cAAc;CACZ,OAAO;CACP,mBAAmB;CACnB,UAAU;CACV,WAAW;CACX,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb,WAAW;CACX,YAAY;CACZ,SAAS;CACT,iBAAiB;CACjB,aAAa;CACb,iBAAiB;CACjB,WAAW;CACX,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,SAAS;CACT,QAAQ;CACR,aAAa;CACb,cAAc;CACd,cAAc;CACd,eAAe;CACf,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd,aAAa;CACb,cAAc;CACd,cAAc;CACd,YAAY;CACZ,eAAe;CACf,eAAe;CACf,YAAY;CACZ,UAAU;CACV,UAAU;CACV,SAAS;CACT,oBAAoB;CACpB,aAAa;CACb,QAAQ;CACR,gBAAgB;CAChB,oBAAoB;CACpB,sBACE;CACF,wBACE;CACF,cAAc;CACd,iBAAiB;CACjB,UAAU;CACV,UAAU;CACV,aAAa;CACb,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,QAAQ;CACR,WAAW;CACX,aAAa;CACb,aAAa;CACb,qBAAqB;CACrB,uBACE;CACF,yBACE;CACF,mBAAmB;CACnB,SAAS;CACT,WAAW;CACX,cAAc;CACd,QAAQ;CACR,iBAAiB;CACjB,UAAU;CACV,YAAY;CACZ,iBAAiB;CACjB,kBAAkB;CAClB,cAAc;CACd,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,cAAc;CACd,OAAO;CACP,iBAAiB;CACjB,iBAAiB;CACjB,oBAAoB;CACpB,SAAS;CACT,cAAc;CACd,gBAAgB;CAChB,cAAc;CACd,qBAAqB;CACrB,gBAAgB;AAClB,EACF"}
|
|
@@ -77,9 +77,18 @@ var e = { mediaLibrary: {
|
|
|
77
77
|
cropOutputSize: "Tamanho de Saída",
|
|
78
78
|
cropPixels: "px",
|
|
79
79
|
cropOptional: "(opcional)",
|
|
80
|
+
close: "Fechar",
|
|
81
|
+
searchAriaLabel: "Pesquisar arquivos",
|
|
82
|
+
filterAriaLabel: "Filtrar por tipo",
|
|
83
|
+
filesListAriaLabel: "Arquivos",
|
|
84
|
+
loading: "Carregando",
|
|
85
|
+
expandFolder: "Expandir pasta",
|
|
86
|
+
collapseFolder: "Recolher pasta",
|
|
87
|
+
deleteFolder: "Excluir pasta",
|
|
88
|
+
deleteFolderConfirm: "Confirmar exclusão",
|
|
80
89
|
storageTooltip: "{used} de {total} usados ({remaining} restantes)"
|
|
81
90
|
} };
|
|
82
91
|
//#endregion
|
|
83
92
|
export { e as default };
|
|
84
93
|
|
|
85
|
-
//# sourceMappingURL=pt-BR-
|
|
94
|
+
//# sourceMappingURL=pt-BR-BtCfbqSj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pt-BR-
|
|
1
|
+
{"version":3,"file":"pt-BR-BtCfbqSj.js","names":[],"sources":["../../../src/i18n/locales/pt-BR.ts"],"sourcesContent":["const ptBR = {\n mediaLibrary: {\n title: \"Biblioteca de Mídia\",\n searchPlaceholder: \"Buscar arquivos...\",\n allFiles: \"Todos os Arquivos\",\n filterAll: \"Todos os Tipos\",\n filterImages: \"Imagens\",\n filterDocuments: \"Documentos\",\n filterVideos: \"Vídeos\",\n filterAudio: \"Áudio\",\n newFolder: \"Nova Pasta\",\n folderName: \"Nome da pasta\",\n noFiles: \"Nenhum arquivo encontrado\",\n noSearchResults: \"Nenhum arquivo corresponde à sua busca\",\n dropOrClick: \"Solte arquivos aqui ou clique para enviar\",\n acceptedFormats: \"Imagens, PDF, Vídeo, Áudio, Documentos (máx. 10MB)\",\n uploading: \"Enviando...\",\n uploadingProgress: \"Enviando {current} de {total}...\",\n selectImage: \"Selecionar Imagem\",\n selectFile: \"Selecionar Arquivo\",\n deleteSelected: \"Excluir\",\n copyUrl: \"Copiar URL\",\n copied: \"Copiado!\",\n browseMedia: \"Explorar Biblioteca de Mídia\",\n renameFolder: \"Renomear pasta\",\n addSubfolder: \"Adicionar subpasta\",\n subfolderName: \"Nome da subpasta\",\n sortNewest: \"Mais Recentes\",\n sortOldest: \"Mais Antigos\",\n sortNameAsc: \"Nome A-Z\",\n sortNameDesc: \"Nome Z-A\",\n sortSizeAsc: \"Menores Primeiro\",\n sortSizeDesc: \"Maiores Primeiro\",\n moveSelected: \"Mover\",\n moveToRoot: \"Todos os Arquivos\",\n currentFolder: \"(atual)\",\n confirmDelete: \"Confirmar?\",\n renameFile: \"Renomear\",\n editFile: \"Editar Arquivo\",\n fileName: \"Nome do arquivo\",\n altText: \"Texto Alternativo\",\n altTextPlaceholder: \"Descreva esta imagem para acessibilidade\",\n saveChanges: \"Salvar\",\n cancel: \"Cancelar\",\n frequentlyUsed: \"Usados Frequentemente\",\n deleteWarningTitle: \"Excluir Arquivo\",\n deleteWarningMessage: \"Tem certeza? Esta ação é irreversível.\",\n deleteWarningUsageNote:\n \"Os arquivos a seguir estão sendo usados em templates. Excluí-los pode quebrar esses templates.\",\n deleteAnyway: \"Excluir\",\n usedInTemplates: \"Usado em {count} template(s)\",\n viewGrid: \"Visualização em grade\",\n viewList: \"Visualização em lista\",\n showFolders: \"Mostrar pastas\",\n hideFolders: \"Ocultar pastas\",\n importFromUrl: \"Importar de URL\",\n importUrlPlaceholder: \"https://exemplo.com/imagem.jpg\",\n import: \"Importar\",\n importing: \"Importando...\",\n importError: \"Falha ao importar da URL\",\n replaceFile: \"Substituir Arquivo\",\n replaceWarningTitle: \"Substituir Arquivo\",\n replaceWarningMessage:\n \"Você está prestes a substituir este arquivo. O substituto deve ter a mesma extensão ({extension}).\",\n replaceWarningUsageNote:\n \"Este arquivo é usado em {count} template(s). Substituí-lo atualizará todas as referências.\",\n replaceSelectFile: \"Selecionar arquivo substituto\",\n replace: \"Substituir\",\n replacing: \"Substituindo...\",\n replaceError: \"Falha ao substituir arquivo\",\n saving: \"Salvando...\",\n cropAspectRatio: \"Proporção\",\n cropFree: \"Livre\",\n cropSquare: \"1:1\",\n cropLandscape43: \"4:3\",\n cropLandscape169: \"16:9\",\n cropOriginal: \"Original\",\n cropMaxWidth: \"Largura Máxima\",\n cropMaxHeight: \"Altura Máxima\",\n cropOutputSize: \"Tamanho de Saída\",\n cropPixels: \"px\",\n cropOptional: \"(opcional)\",\n close: \"Fechar\",\n searchAriaLabel: \"Pesquisar arquivos\",\n filterAriaLabel: \"Filtrar por tipo\",\n filesListAriaLabel: \"Arquivos\",\n loading: \"Carregando\",\n expandFolder: \"Expandir pasta\",\n collapseFolder: \"Recolher pasta\",\n deleteFolder: \"Excluir pasta\",\n deleteFolderConfirm: \"Confirmar exclusão\",\n storageTooltip: \"{used} de {total} usados ({remaining} restantes)\",\n },\n};\n\nexport default ptBR;\n"],"mappings":";AAAA,IAAM,IAAO,EACX,cAAc;CACZ,OAAO;CACP,mBAAmB;CACnB,UAAU;CACV,WAAW;CACX,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb,WAAW;CACX,YAAY;CACZ,SAAS;CACT,iBAAiB;CACjB,aAAa;CACb,iBAAiB;CACjB,WAAW;CACX,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,SAAS;CACT,QAAQ;CACR,aAAa;CACb,cAAc;CACd,cAAc;CACd,eAAe;CACf,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd,aAAa;CACb,cAAc;CACd,cAAc;CACd,YAAY;CACZ,eAAe;CACf,eAAe;CACf,YAAY;CACZ,UAAU;CACV,UAAU;CACV,SAAS;CACT,oBAAoB;CACpB,aAAa;CACb,QAAQ;CACR,gBAAgB;CAChB,oBAAoB;CACpB,sBAAsB;CACtB,wBACE;CACF,cAAc;CACd,iBAAiB;CACjB,UAAU;CACV,UAAU;CACV,aAAa;CACb,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,QAAQ;CACR,WAAW;CACX,aAAa;CACb,aAAa;CACb,qBAAqB;CACrB,uBACE;CACF,yBACE;CACF,mBAAmB;CACnB,SAAS;CACT,WAAW;CACX,cAAc;CACd,QAAQ;CACR,iBAAiB;CACjB,UAAU;CACV,YAAY;CACZ,iBAAiB;CACjB,kBAAkB;CAClB,cAAc;CACd,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,cAAc;CACd,OAAO;CACP,iBAAiB;CACjB,iBAAiB;CACjB,oBAAoB;CACpB,SAAS;CACT,cAAc;CACd,gBAAgB;CAChB,cAAc;CACd,qBAAqB;CACrB,gBAAgB;AAClB,EACF"}
|
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
import { t as e } from "./en-CQxhpwqd.js";
|
|
2
|
+
import { $ as t, D as n, I as r, J as i, Q as a, R as o, V as s, Y as c, at as l, ct as u, et as d, it as f, nt as p, rt as m, st as h, tt as g } from "./icons-DWBJnZvW.js";
|
|
3
|
+
//#region src/keys.ts
|
|
4
|
+
var _ = Symbol("templaticalMediaLimits"), v = Symbol("templaticalMediaPopoverTarget"), y = Symbol("templaticalMediaTranslations"), b = Symbol("templaticalMediaUiTheme"), x = Symbol("templaticalMediaUiLocale");
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/composables/useI18n.ts
|
|
7
|
+
function S(n) {
|
|
8
|
+
let r = n ?? o(y, null), i = (t(r) ? r.value : r) ?? e;
|
|
9
|
+
function a(e, t) {
|
|
10
|
+
return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
t: i,
|
|
14
|
+
format: a
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/composables/useMediaCategories.ts
|
|
19
|
+
var C = [
|
|
20
|
+
"images",
|
|
21
|
+
"documents",
|
|
22
|
+
"videos",
|
|
23
|
+
"audio"
|
|
24
|
+
];
|
|
25
|
+
function w(e) {
|
|
26
|
+
let t = e ?? o(_, null);
|
|
27
|
+
if (!t) throw Error("[Templatical] useMediaCategories() needs media limits in scope. Render it under <MediaLibraryModal> or provide MEDIA_LIMITS_KEY yourself.");
|
|
28
|
+
let r = t, i = n(() => !0), a = n(() => r.maxFileSize ?? Infinity), s = n(() => {
|
|
29
|
+
let e = r.accept;
|
|
30
|
+
if (e && e.length > 0) return e;
|
|
31
|
+
let t = r.mimeTypes;
|
|
32
|
+
return t ? Object.keys(t) : C;
|
|
33
|
+
}), c = n(() => {
|
|
34
|
+
let e = r.mimeTypes;
|
|
35
|
+
return e ? s.value.flatMap((t) => e[t] ?? []) : [];
|
|
36
|
+
}), l = n(() => c.value.join(","));
|
|
37
|
+
function u(e, t) {
|
|
38
|
+
let n = r.mimeTypes;
|
|
39
|
+
return !n || (t && t.length > 0 ? t : Object.keys(n)).some((t) => n[t]?.includes(e) ?? !1);
|
|
40
|
+
}
|
|
41
|
+
function d(e) {
|
|
42
|
+
return u(e.type) && e.size <= a.value;
|
|
43
|
+
}
|
|
44
|
+
function f(e) {
|
|
45
|
+
let t = r.mimeTypes;
|
|
46
|
+
return t ? t.images?.includes(e) ?? !1 : e.startsWith("image/");
|
|
47
|
+
}
|
|
48
|
+
function p(e) {
|
|
49
|
+
let t = r.mimeTypes;
|
|
50
|
+
if (!t) return null;
|
|
51
|
+
for (let [n, r] of Object.entries(t)) if (r?.includes(e)) return n;
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
isMediaLibraryEnabled: i,
|
|
56
|
+
allAcceptedMimeTypes: c,
|
|
57
|
+
allAcceptedInputString: l,
|
|
58
|
+
maxFileSize: a,
|
|
59
|
+
availableCategories: s,
|
|
60
|
+
isAcceptedMimeType: u,
|
|
61
|
+
isAcceptedFile: d,
|
|
62
|
+
isImageMimeType: f,
|
|
63
|
+
getCategoryForMimeType: p
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region ../../node_modules/.pnpm/@vueuse+shared@15.0.0_vue@3.5.43_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
|
|
68
|
+
function T(e, t) {
|
|
69
|
+
return a() ? (d(e, t), !0) : !1;
|
|
70
|
+
}
|
|
71
|
+
function E() {
|
|
72
|
+
let e = /* @__PURE__ */ new Set(), t = (t) => {
|
|
73
|
+
e.delete(t);
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
on: (n) => {
|
|
77
|
+
e.add(n);
|
|
78
|
+
let r = () => t(n);
|
|
79
|
+
return T(r), { off: r };
|
|
80
|
+
},
|
|
81
|
+
off: t,
|
|
82
|
+
trigger: (...t) => Promise.all(Array.from(e).map((e) => e(...t))),
|
|
83
|
+
clear: () => {
|
|
84
|
+
e.clear();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
var D = typeof window < "u" && typeof document < "u";
|
|
89
|
+
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
90
|
+
var O = (e) => e != null, k = Object.prototype.toString, A = (e) => k.call(e) === "[object Object]", j = () => {}, M = (e, t) => Object.hasOwn(e, t), N = /* #__PURE__ */ P();
|
|
91
|
+
function P() {
|
|
92
|
+
var e, t;
|
|
93
|
+
return D && !!((e = window) != null && (e = e.navigator) != null && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
|
|
94
|
+
}
|
|
95
|
+
function F(e, t) {
|
|
96
|
+
function n(...n) {
|
|
97
|
+
return new Promise((r, i) => {
|
|
98
|
+
Promise.resolve(e(() => t.apply(this, n), {
|
|
99
|
+
fn: t,
|
|
100
|
+
thisArg: this,
|
|
101
|
+
args: n
|
|
102
|
+
})).then(r).catch(i);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return "cancel" in e && Object.assign(n, {
|
|
106
|
+
cancel: e.cancel,
|
|
107
|
+
flush: e.flush,
|
|
108
|
+
isPending: e.isPending
|
|
109
|
+
}), n;
|
|
110
|
+
}
|
|
111
|
+
function I(e, t = {}) {
|
|
112
|
+
let n, r, i = j, a = j, o = f(!1), s = (e) => {
|
|
113
|
+
clearTimeout(e), i(), i = j;
|
|
114
|
+
}, c;
|
|
115
|
+
return Object.assign((l) => {
|
|
116
|
+
let u = h(e), d = h(t.maxWait);
|
|
117
|
+
return n && s(n), u <= 0 || d !== void 0 && d <= 0 ? (r &&= (s(r), void 0), o.value = !1, Promise.resolve(l())) : (o.value = !0, new Promise((e, f) => {
|
|
118
|
+
i = t.rejectOnCancel ? f : e, a = e, c = l, d && !r && (r = setTimeout(() => {
|
|
119
|
+
n && s(n), r = void 0, o.value = !1, e(c());
|
|
120
|
+
}, d)), n = setTimeout(() => {
|
|
121
|
+
r && s(r), r = void 0, o.value = !1, e(l());
|
|
122
|
+
}, u);
|
|
123
|
+
}));
|
|
124
|
+
}, {
|
|
125
|
+
cancel: () => {
|
|
126
|
+
n &&= (s(n), void 0), r &&= (s(r), void 0), o.value = !1, a = j;
|
|
127
|
+
},
|
|
128
|
+
flush: () => {
|
|
129
|
+
if (o.value) {
|
|
130
|
+
n &&= (clearTimeout(n), void 0), r &&= (clearTimeout(r), void 0), o.value = !1;
|
|
131
|
+
let e = a;
|
|
132
|
+
i = j, a = j, e(c());
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
isPending: m(o)
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function L(e) {
|
|
139
|
+
let t;
|
|
140
|
+
function n() {
|
|
141
|
+
return t ||= e(), t;
|
|
142
|
+
}
|
|
143
|
+
return n.reset = async () => {
|
|
144
|
+
let e = t;
|
|
145
|
+
t = void 0, e && await e;
|
|
146
|
+
}, n;
|
|
147
|
+
}
|
|
148
|
+
function R(e) {
|
|
149
|
+
return Array.isArray(e) ? e : [e];
|
|
150
|
+
}
|
|
151
|
+
function z(e, t = 200, n = {}) {
|
|
152
|
+
return F(I(t, n), e);
|
|
153
|
+
}
|
|
154
|
+
function B(e, t, n = {}) {
|
|
155
|
+
let { immediate: r = !0, immediateCallback: i = !1 } = n, a = f(!1), o;
|
|
156
|
+
function s() {
|
|
157
|
+
o &&= (clearTimeout(o), void 0);
|
|
158
|
+
}
|
|
159
|
+
function c() {
|
|
160
|
+
a.value = !1, s();
|
|
161
|
+
}
|
|
162
|
+
function l(...n) {
|
|
163
|
+
i && e(), s(), a.value = !0, o = setTimeout(() => {
|
|
164
|
+
a.value = !1, o = void 0, e(...n);
|
|
165
|
+
}, h(t));
|
|
166
|
+
}
|
|
167
|
+
return r && (a.value = !0, D && l()), T(c), {
|
|
168
|
+
isPending: m(a),
|
|
169
|
+
start: l,
|
|
170
|
+
stop: c
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function V(e, t, n) {
|
|
174
|
+
return i(e, t, {
|
|
175
|
+
...n,
|
|
176
|
+
immediate: !0
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
//#endregion
|
|
180
|
+
//#region ../../node_modules/.pnpm/@vueuse+core@15.0.0_vue@3.5.43_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
|
|
181
|
+
var H = D ? window : void 0, U = D ? window.document : void 0, W = D ? window.navigator : void 0;
|
|
182
|
+
function G(e) {
|
|
183
|
+
let t = h(e);
|
|
184
|
+
return t?.$el ?? t;
|
|
185
|
+
}
|
|
186
|
+
function K(...e) {
|
|
187
|
+
let t = (e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)), r = n(() => {
|
|
188
|
+
let t = R(h(e[0])).filter((e) => e != null);
|
|
189
|
+
return t.every((e) => typeof e != "string") ? t : void 0;
|
|
190
|
+
});
|
|
191
|
+
return V(() => [
|
|
192
|
+
r.value?.map((e) => G(e)) ?? [H].filter((e) => e != null),
|
|
193
|
+
R(h(r.value ? e[1] : e[0])),
|
|
194
|
+
R(u(r.value ? e[2] : e[1])),
|
|
195
|
+
h(r.value ? e[3] : e[2])
|
|
196
|
+
], ([e, n, r, i], a, o) => {
|
|
197
|
+
if (!e?.length || !n?.length || !r?.length) return;
|
|
198
|
+
let s = A(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
|
|
199
|
+
o(() => {
|
|
200
|
+
c.forEach((e) => e());
|
|
201
|
+
});
|
|
202
|
+
}, { flush: "post" });
|
|
203
|
+
}
|
|
204
|
+
var q = !1;
|
|
205
|
+
function J(e, t, n = {}) {
|
|
206
|
+
let { window: r = H, ignore: i = [], capture: a = !0, detectIframe: o = !1, controls: s = !1 } = n;
|
|
207
|
+
if (!r) return s ? {
|
|
208
|
+
stop: j,
|
|
209
|
+
cancel: j,
|
|
210
|
+
trigger: j
|
|
211
|
+
} : j;
|
|
212
|
+
if (N && !q) {
|
|
213
|
+
q = !0;
|
|
214
|
+
let e = { passive: !0 };
|
|
215
|
+
Array.from(r.document.body.children).forEach((t) => t.addEventListener("click", j, e)), r.document.documentElement.addEventListener("click", j, e);
|
|
216
|
+
}
|
|
217
|
+
let c = !0, l = (e) => h(i).some((t) => {
|
|
218
|
+
if (typeof t == "string") return Array.from(r.document.querySelectorAll(t)).some((t) => t === e.target || e.composedPath().includes(t));
|
|
219
|
+
{
|
|
220
|
+
let n = G(t);
|
|
221
|
+
return n && (e.target === n || e.composedPath().includes(n));
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
function u(e) {
|
|
225
|
+
let t = h(e);
|
|
226
|
+
return t && t.$.subTree.shapeFlag === 16;
|
|
227
|
+
}
|
|
228
|
+
function d(e, t) {
|
|
229
|
+
let n = h(e), r = n.$.subTree && n.$.subTree.children;
|
|
230
|
+
return r == null || !Array.isArray(r) ? !1 : r.some((e) => e.el === t.target || t.composedPath().includes(e.el));
|
|
231
|
+
}
|
|
232
|
+
let f = (n) => {
|
|
233
|
+
let r = G(e);
|
|
234
|
+
if (n.target != null && !(!(r instanceof Element) && u(e) && d(e, n)) && r && r !== n.target && !n.composedPath().includes(r)) {
|
|
235
|
+
if ("detail" in n && n.detail === 0 && (c = !l(n)), !c) {
|
|
236
|
+
c = !0;
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
t(n);
|
|
240
|
+
}
|
|
241
|
+
}, p = !1, m = [
|
|
242
|
+
K(r, "click", (e) => {
|
|
243
|
+
p || (p = !0, setTimeout(() => {
|
|
244
|
+
p = !1;
|
|
245
|
+
}, 0), f(e));
|
|
246
|
+
}, {
|
|
247
|
+
passive: !0,
|
|
248
|
+
capture: a
|
|
249
|
+
}),
|
|
250
|
+
K(r, "pointerdown", (t) => {
|
|
251
|
+
let n = G(e);
|
|
252
|
+
c = !l(t) && !(!n || t.composedPath().includes(n));
|
|
253
|
+
}, { passive: !0 }),
|
|
254
|
+
o && K(r, "blur", (n) => {
|
|
255
|
+
setTimeout(() => {
|
|
256
|
+
let i = G(e), a = r.document.activeElement;
|
|
257
|
+
for (; a?.shadowRoot;) a = a.shadowRoot.activeElement;
|
|
258
|
+
a?.tagName === "IFRAME" && !i?.contains(r.document.activeElement) && t(n);
|
|
259
|
+
}, 0);
|
|
260
|
+
}, { passive: !0 })
|
|
261
|
+
].filter(Boolean), g = () => m.forEach((e) => e());
|
|
262
|
+
return s ? {
|
|
263
|
+
stop: g,
|
|
264
|
+
cancel: () => {
|
|
265
|
+
c = !1;
|
|
266
|
+
},
|
|
267
|
+
trigger: (e) => {
|
|
268
|
+
c = !0, f(e), c = !1;
|
|
269
|
+
}
|
|
270
|
+
} : g;
|
|
271
|
+
}
|
|
272
|
+
function Y() {
|
|
273
|
+
let e = f(!1), t = r();
|
|
274
|
+
return t && s(() => {
|
|
275
|
+
e.value = !0;
|
|
276
|
+
}, t), e;
|
|
277
|
+
}
|
|
278
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
279
|
+
function X(e) {
|
|
280
|
+
return Y(), n(() => !!e());
|
|
281
|
+
}
|
|
282
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
283
|
+
function Z(e, t = {}) {
|
|
284
|
+
let { controls: n = !1, navigator: r = W } = t, i = /* @__PURE__ */ X(() => r && "permissions" in r), a = f(), o = typeof e == "string" ? { name: e } : e, s = f(), c = () => {
|
|
285
|
+
s.value = a.value?.state ?? "prompt";
|
|
286
|
+
};
|
|
287
|
+
K(a, "change", c, { passive: !0 });
|
|
288
|
+
let u = L(async () => {
|
|
289
|
+
if (i.value) {
|
|
290
|
+
if (!a.value) try {
|
|
291
|
+
a.value = await r.permissions.query(o);
|
|
292
|
+
} catch {
|
|
293
|
+
a.value = void 0;
|
|
294
|
+
} finally {
|
|
295
|
+
c();
|
|
296
|
+
}
|
|
297
|
+
if (n) return l(a.value);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
return u(), n ? {
|
|
301
|
+
state: s,
|
|
302
|
+
isSupported: i,
|
|
303
|
+
query: u
|
|
304
|
+
} : s;
|
|
305
|
+
}
|
|
306
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
307
|
+
function Q(e = {}) {
|
|
308
|
+
let { navigator: t = W, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ X(() => t && "clipboard" in t), c = /* @__PURE__ */ Z("clipboard-read"), l = /* @__PURE__ */ Z("clipboard-write"), u = n(() => s.value || o), d = f(""), p = f(!1), g = f(!1), _ = B(() => p.value = !1, a, { immediate: !1 }), v = 0;
|
|
309
|
+
async function y() {
|
|
310
|
+
let e = !(s.value && w(c.value));
|
|
311
|
+
if (!e) try {
|
|
312
|
+
d.value = await t.clipboard.readText();
|
|
313
|
+
} catch {
|
|
314
|
+
e = !0;
|
|
315
|
+
}
|
|
316
|
+
e && (d.value = C());
|
|
317
|
+
}
|
|
318
|
+
u.value && r && K(["copy", "cut"], y, { passive: !0 });
|
|
319
|
+
async function b(e) {
|
|
320
|
+
let n = e ?? h(i);
|
|
321
|
+
if (u.value && n != null) {
|
|
322
|
+
g.value = !0;
|
|
323
|
+
let e = !(s.value && w(l.value));
|
|
324
|
+
if (!e) try {
|
|
325
|
+
let e = x(n);
|
|
326
|
+
await t.clipboard.write([e]);
|
|
327
|
+
} catch {
|
|
328
|
+
e = !0;
|
|
329
|
+
}
|
|
330
|
+
if (e) {
|
|
331
|
+
if (typeof n == "string") d.value = n, S(n);
|
|
332
|
+
else {
|
|
333
|
+
let e = ++v, t = await n();
|
|
334
|
+
t != null && e === v && (d.value = t, S(t));
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
p.value = !0, _.start(), g.value = !1;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
function x(e) {
|
|
341
|
+
return typeof e == "string" ? (d.value = e, new ClipboardItem({ "text/plain": e })) : new ClipboardItem({ "text/plain": e().then((e = "") => (d.value = e, new Blob([e], { type: "text/plain" }))) });
|
|
342
|
+
}
|
|
343
|
+
function S(e) {
|
|
344
|
+
let t = document.createElement("textarea");
|
|
345
|
+
t.value = e, t.style.position = "absolute", t.style.opacity = "0", t.setAttribute("readonly", ""), document.body.appendChild(t), t.select(), document.execCommand("copy"), t.remove();
|
|
346
|
+
}
|
|
347
|
+
function C() {
|
|
348
|
+
var e, t;
|
|
349
|
+
return ((e = document) == null || (t = e.getSelection) == null || (t = t.call(e)) == null ? void 0 : t.toString()) ?? "";
|
|
350
|
+
}
|
|
351
|
+
function w(e) {
|
|
352
|
+
return e === "granted" || e === "prompt";
|
|
353
|
+
}
|
|
354
|
+
return {
|
|
355
|
+
copyPending: m(g),
|
|
356
|
+
isSupported: u,
|
|
357
|
+
text: m(d),
|
|
358
|
+
copied: m(p),
|
|
359
|
+
copy: b
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
function $(e, t = {}) {
|
|
363
|
+
let n = f(!1), r = f(null), i = 0, a = !0;
|
|
364
|
+
if (D) {
|
|
365
|
+
let o = typeof t == "function" ? { onDrop: t } : t, s = o.multiple ?? !0, c = o.preventDefaultForUnhandled ?? !1, l = (e) => {
|
|
366
|
+
let t = Array.from(e.dataTransfer?.files ?? []);
|
|
367
|
+
return t.length === 0 ? null : s ? t : [t[0]];
|
|
368
|
+
}, d = (e) => {
|
|
369
|
+
let t = u(o.dataTypes);
|
|
370
|
+
return typeof t == "function" ? t(e) : !t?.length || e.length !== 0 && e.every((e) => t.some((t) => e.includes(t)));
|
|
371
|
+
}, f = (e) => {
|
|
372
|
+
if (o.checkValidity) return o.checkValidity(e);
|
|
373
|
+
let t = Array.from(e ?? []).map((e) => e.type);
|
|
374
|
+
return d(t) && (s || e.length <= 1);
|
|
375
|
+
}, p = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window), m = (e, t) => {
|
|
376
|
+
let s = e.dataTransfer?.items;
|
|
377
|
+
if (a = (s && f(s)) ?? !1, c && e.preventDefault(), !p() && !a) {
|
|
378
|
+
e.dataTransfer && (e.dataTransfer.dropEffect = "none");
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "copy");
|
|
382
|
+
let u = l(e);
|
|
383
|
+
switch (t) {
|
|
384
|
+
case "enter":
|
|
385
|
+
var d;
|
|
386
|
+
i += 1, n.value = !0, (d = o.onEnter) == null || d.call(o, null, e);
|
|
387
|
+
break;
|
|
388
|
+
case "over":
|
|
389
|
+
var m;
|
|
390
|
+
(m = o.onOver) == null || m.call(o, null, e);
|
|
391
|
+
break;
|
|
392
|
+
case "leave":
|
|
393
|
+
var h;
|
|
394
|
+
--i, i === 0 && (n.value = !1), (h = o.onLeave) == null || h.call(o, null, e);
|
|
395
|
+
break;
|
|
396
|
+
case "drop": if (i = 0, n.value = !1, a) {
|
|
397
|
+
var g;
|
|
398
|
+
r.value = u, (g = o.onDrop) == null || g.call(o, u, e);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
K(e, "dragenter", (e) => m(e, "enter")), K(e, "dragover", (e) => m(e, "over")), K(e, "dragleave", (e) => m(e, "leave")), K(e, "drop", (e) => m(e, "drop"));
|
|
403
|
+
}
|
|
404
|
+
return {
|
|
405
|
+
files: r,
|
|
406
|
+
isOverDropZone: n
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
function ee(e, t, r = {}) {
|
|
410
|
+
let { root: a, rootMargin: o, threshold: s = 0, window: c = H, immediate: l = !0 } = r, u = /* @__PURE__ */ X(() => c && "IntersectionObserver" in c), d = n(() => R(h(e)).map(G).filter(O)), p = j, m = f(l), g = u.value ? i(() => [
|
|
411
|
+
d.value,
|
|
412
|
+
G(a),
|
|
413
|
+
h(o),
|
|
414
|
+
m.value
|
|
415
|
+
], ([e, n, r]) => {
|
|
416
|
+
if (p(), !m.value || !e.length) return;
|
|
417
|
+
let i = new IntersectionObserver(t, {
|
|
418
|
+
root: G(n),
|
|
419
|
+
rootMargin: r,
|
|
420
|
+
threshold: s
|
|
421
|
+
});
|
|
422
|
+
e.forEach((e) => e && i.observe(e)), p = () => {
|
|
423
|
+
i.disconnect(), p = j;
|
|
424
|
+
};
|
|
425
|
+
}, {
|
|
426
|
+
immediate: l,
|
|
427
|
+
flush: "post"
|
|
428
|
+
}) : j, _ = () => {
|
|
429
|
+
p(), g(), m.value = !1;
|
|
430
|
+
};
|
|
431
|
+
return T(_), {
|
|
432
|
+
isSupported: u,
|
|
433
|
+
isActive: m,
|
|
434
|
+
pause() {
|
|
435
|
+
p(), m.value = !1;
|
|
436
|
+
},
|
|
437
|
+
resume() {
|
|
438
|
+
m.value = !0;
|
|
439
|
+
},
|
|
440
|
+
stop: _
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
var te = {
|
|
444
|
+
multiple: !0,
|
|
445
|
+
accept: "*",
|
|
446
|
+
reset: !1,
|
|
447
|
+
directory: !1
|
|
448
|
+
};
|
|
449
|
+
function ne(e) {
|
|
450
|
+
if (!e) return null;
|
|
451
|
+
if (e instanceof FileList) return e;
|
|
452
|
+
let t = new DataTransfer();
|
|
453
|
+
for (let n of e) t.items.add(n);
|
|
454
|
+
return t.files;
|
|
455
|
+
}
|
|
456
|
+
function re(e = {}) {
|
|
457
|
+
let { document: t = U } = e, r = p(ne(e.initialFiles)), { on: i, trigger: a } = E(), { on: o, trigger: s } = E(), l = n(() => {
|
|
458
|
+
let n = G(e.input) ?? (t ? t.createElement("input") : void 0);
|
|
459
|
+
return n && (n.type = "file", n.onchange = (e) => {
|
|
460
|
+
r.value = e.target.files, a(r.value);
|
|
461
|
+
}, n.oncancel = () => {
|
|
462
|
+
s();
|
|
463
|
+
}), n;
|
|
464
|
+
}), u = () => {
|
|
465
|
+
r.value = null, l.value && l.value.value && (l.value.value = "", a(null));
|
|
466
|
+
}, d = (e) => {
|
|
467
|
+
let t = l.value;
|
|
468
|
+
t && (t.multiple = h(e.multiple), t.accept = h(e.accept), t.webkitdirectory = h(e.directory), M(e, "capture") && (t.capture = h(e.capture)));
|
|
469
|
+
};
|
|
470
|
+
return c(() => {
|
|
471
|
+
d(e);
|
|
472
|
+
}), {
|
|
473
|
+
files: g(r),
|
|
474
|
+
open: (t) => {
|
|
475
|
+
let n = l.value;
|
|
476
|
+
if (!n) return;
|
|
477
|
+
let r = {
|
|
478
|
+
...te,
|
|
479
|
+
...e,
|
|
480
|
+
...t
|
|
481
|
+
};
|
|
482
|
+
d(r), h(r.reset) && u(), n.click();
|
|
483
|
+
},
|
|
484
|
+
reset: u,
|
|
485
|
+
onCancel: o,
|
|
486
|
+
onChange: i
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
//#endregion
|
|
490
|
+
//#region \0plugin-vue:export-helper
|
|
491
|
+
var ie = (e, t) => {
|
|
492
|
+
let n = e.__vccOpts || e;
|
|
493
|
+
for (let [e, r] of t) n[e] = r;
|
|
494
|
+
return n;
|
|
495
|
+
}, ae = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
496
|
+
function oe(e, t) {
|
|
497
|
+
let n = null, r = null, a = null;
|
|
498
|
+
function o(e) {
|
|
499
|
+
if (!e) return document;
|
|
500
|
+
let t = e.getRootNode();
|
|
501
|
+
return t && "activeElement" in t ? t : document;
|
|
502
|
+
}
|
|
503
|
+
function s() {
|
|
504
|
+
return e.value ? Array.from(e.value.querySelectorAll(ae)).filter((e) => e.offsetParent !== null) : [];
|
|
505
|
+
}
|
|
506
|
+
function c(t) {
|
|
507
|
+
if (t.key !== "Tab") return;
|
|
508
|
+
let n = s();
|
|
509
|
+
if (n.length === 0) return;
|
|
510
|
+
let r = n[0], i = n[n.length - 1], a = o(e.value).activeElement;
|
|
511
|
+
t.shiftKey ? a === r && (t.preventDefault(), i.focus()) : a === i && (t.preventDefault(), r.focus());
|
|
512
|
+
}
|
|
513
|
+
function l() {
|
|
514
|
+
let t = r !== null || a !== null;
|
|
515
|
+
t && u({ restoreFocus: !1 }), t || (n = o(e.value).activeElement), a = requestAnimationFrame(() => {
|
|
516
|
+
a = null;
|
|
517
|
+
let t = s();
|
|
518
|
+
t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
|
|
519
|
+
}), r = K(e, "keydown", c);
|
|
520
|
+
}
|
|
521
|
+
function u(e = {}) {
|
|
522
|
+
let t = e.restoreFocus !== !1;
|
|
523
|
+
a !== null && (typeof cancelAnimationFrame < "u" && cancelAnimationFrame(a), a = null), r?.(), r = null, t && n && n.focus && (n.focus(), n = null);
|
|
524
|
+
}
|
|
525
|
+
let f = i([t, e], ([e, t]) => {
|
|
526
|
+
e && t ? l() : u();
|
|
527
|
+
}, { flush: "post" });
|
|
528
|
+
d(() => {
|
|
529
|
+
f(), u();
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
//#endregion
|
|
533
|
+
export { $ as a, z as c, _ as d, v as f, b as h, Q as i, w as l, x as m, ie as n, re as o, y as p, J as r, ee as s, oe as t, S as u };
|
|
534
|
+
|
|
535
|
+
//# sourceMappingURL=useFocusTrap-tWtljvAm.js.map
|