@8wave/ai-elements 0.119.0-beta.31 → 0.119.0-beta.33
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/dist/_chunks/{PkChatbotFilePreview-DiuzVVKH.js → PkChatbotFilePreview-3i9jZIdS.js} +2 -2
- package/dist/_chunks/{PkChatbotFilePreview-DiuzVVKH.js.map → PkChatbotFilePreview-3i9jZIdS.js.map} +1 -1
- package/dist/_chunks/{PkStreamingMarkdown-DKyHYHUN.js → PkStreamingMarkdown-B1t1tBvW.js} +3 -3
- package/dist/_chunks/{PkStreamingMarkdown-DKyHYHUN.js.map → PkStreamingMarkdown-B1t1tBvW.js.map} +1 -1
- package/dist/_chunks/{PkToolEditSpreadsheet-CfJ3BWMe.js → PkToolEditSpreadsheet-Xzum_9NH.js} +2 -2
- package/dist/_chunks/{PkToolEditSpreadsheet-CfJ3BWMe.js.map → PkToolEditSpreadsheet-Xzum_9NH.js.map} +1 -1
- package/dist/_chunks/{PkToolRequestOAuthConnection-klmrRZWz.js → PkToolRequestOAuthConnection-W3ilzpr7.js} +2 -2
- package/dist/_chunks/{PkToolRequestOAuthConnection-klmrRZWz.js.map → PkToolRequestOAuthConnection-W3ilzpr7.js.map} +1 -1
- package/dist/_chunks/{PkToolShowArtifact-ChDm6ZEK.js → PkToolShowArtifact-DGGEb2LF.js} +2 -2
- package/dist/_chunks/{PkToolShowArtifact-ChDm6ZEK.js.map → PkToolShowArtifact-DGGEb2LF.js.map} +1 -1
- package/dist/_chunks/{PkToolShowCalendarEvent-CRVtR3oP.js → PkToolShowCalendarEvent-D8DMh3-P.js} +2 -2
- package/dist/_chunks/{PkToolShowCalendarEvent-CRVtR3oP.js.map → PkToolShowCalendarEvent-D8DMh3-P.js.map} +1 -1
- package/dist/_chunks/PkToolShowContactForm-Dn6CEXF_.js +158 -0
- package/dist/_chunks/PkToolShowContactForm-Dn6CEXF_.js.map +1 -0
- package/dist/_chunks/{PkToolShowDiagram-JpRMa4Jj.js → PkToolShowDiagram-WregKAJO.js} +3 -3
- package/dist/_chunks/{PkToolShowDiagram-JpRMa4Jj.js.map → PkToolShowDiagram-WregKAJO.js.map} +1 -1
- package/dist/_chunks/{PkToolShowForm-DnIwTGl4.js → PkToolShowForm-CbuToc8O.js} +2 -2
- package/dist/_chunks/{PkToolShowForm-DnIwTGl4.js.map → PkToolShowForm-CbuToc8O.js.map} +1 -1
- package/dist/_chunks/{PkToolShowImageGallery-Ab8fJ9jY.js → PkToolShowImageGallery-Dh0v2Df8.js} +4 -4
- package/dist/_chunks/{PkToolShowImageGallery-Ab8fJ9jY.js.map → PkToolShowImageGallery-Dh0v2Df8.js.map} +1 -1
- package/dist/_chunks/{PkToolShowLocation-D5d6bbP-.js → PkToolShowLocation-jRZtqoBO.js} +2 -2
- package/dist/_chunks/{PkToolShowLocation-D5d6bbP-.js.map → PkToolShowLocation-jRZtqoBO.js.map} +1 -1
- package/dist/_chunks/{PkToolShowProductList-DztzZVDd.js → PkToolShowProductList-bAis8u1t.js} +2 -2
- package/dist/_chunks/{PkToolShowProductList-DztzZVDd.js.map → PkToolShowProductList-bAis8u1t.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSources-Bvg3f3GC.js → PkToolShowSources-D532Worv.js} +3 -3
- package/dist/_chunks/{PkToolShowSources-Bvg3f3GC.js.map → PkToolShowSources-D532Worv.js.map} +1 -1
- package/dist/_chunks/{PkToolShowVideo-DdoYLl7R.js → PkToolShowVideo-DcMzLibC.js} +3 -3
- package/dist/_chunks/{PkToolShowVideo-DdoYLl7R.js.map → PkToolShowVideo-DcMzLibC.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWeather-CnpPZCLm.js → PkToolShowWeather-DTrZ7r1t.js} +2 -2
- package/dist/_chunks/{PkToolShowWeather-CnpPZCLm.js.map → PkToolShowWeather-DTrZ7r1t.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWebPages-BooCEJrs.js → PkToolShowWebPages-RuwkZDMH.js} +3 -3
- package/dist/_chunks/{PkToolShowWebPages-BooCEJrs.js.map → PkToolShowWebPages-RuwkZDMH.js.map} +1 -1
- package/dist/_chunks/{chatImagePolicy-CfJt8_9Z.js → chatImagePolicy-BL4O14e9.js} +2 -2
- package/dist/_chunks/{chatImagePolicy-CfJt8_9Z.js.map → chatImagePolicy-BL4O14e9.js.map} +1 -1
- package/dist/_chunks/{index.es-oI6RqNZW.js → index.es-DkFMpDsf.js} +2 -2
- package/dist/_chunks/{index.es-oI6RqNZW.js.map → index.es-DkFMpDsf.js.map} +1 -1
- package/dist/_chunks/{src-DL9TKN-Z.js → src-CggZ5M7x.js} +46 -3
- package/dist/_chunks/src-CggZ5M7x.js.map +1 -0
- package/dist/_chunks/{useLightbox-1KKLemEE.js → useLightbox-3HiaRtzY.js} +2 -2
- package/dist/_chunks/{useLightbox-1KKLemEE.js.map → useLightbox-3HiaRtzY.js.map} +1 -1
- package/dist/ai-elements.es.js +836 -820
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotAudioTranscript.js +1 -1
- package/dist-vue/PkChatbotEmptyState.js +1 -1
- package/dist-vue/PkChatbotFilePreview.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotStepPayload.js +1 -1
- package/dist-vue/PkChatbotStepToolDetail.js +1 -1
- package/dist-vue/PkChatbotSteps.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewFiles.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/{PkChatbot-C18mnGJ9.js → PkChatbot-wODOAtOD.js} +8 -8
- package/dist-vue/_chunks/{PkChatbot-C18mnGJ9.js.map → PkChatbot-wODOAtOD.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotAudioTranscript-0rvrhSRQ.js → PkChatbotAudioTranscript-CC9M-zDv.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotAudioTranscript-0rvrhSRQ.js.map → PkChatbotAudioTranscript-CC9M-zDv.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotEmptyState-BKiyP0Ga.js → PkChatbotEmptyState-Dx4mTkTX.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-BKiyP0Ga.js.map → PkChatbotEmptyState-Dx4mTkTX.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotFilePreview-D5H-RIk2.js → PkChatbotFilePreview-Lxgu89Hg.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotFilePreview-D5H-RIk2.js.map → PkChatbotFilePreview-Lxgu89Hg.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotInput-GvgsYsUw.js → PkChatbotInput-jj3qQl_f.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotInput-GvgsYsUw.js.map → PkChatbotInput-jj3qQl_f.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotMessages-5wPl7-j-.js +876 -0
- package/dist-vue/_chunks/PkChatbotMessages-5wPl7-j-.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotStepPayload-Dm-HCHcG.js → PkChatbotStepPayload-f2mYAVpu.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotStepPayload-Dm-HCHcG.js.map → PkChatbotStepPayload-f2mYAVpu.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-Bpd_cZEO.js → PkChatbotStepToolDetail-BcYheOnU.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-Bpd_cZEO.js.map → PkChatbotStepToolDetail-BcYheOnU.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotSteps-C4qBM3_t.js → PkChatbotSteps-DKyF0ykL.js} +5 -5
- package/dist-vue/_chunks/{PkChatbotSteps-C4qBM3_t.js.map → PkChatbotSteps-DKyF0ykL.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewChat-By2TY72m.js → PkChatbotViewChat-DZqXDwzk.js} +8 -8
- package/dist-vue/_chunks/{PkChatbotViewChat-By2TY72m.js.map → PkChatbotViewChat-DZqXDwzk.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewConversations-CU5NfEO4.js → PkChatbotViewConversations-CXcToApC.js} +4 -4
- package/dist-vue/_chunks/{PkChatbotViewConversations-CU5NfEO4.js.map → PkChatbotViewConversations-CXcToApC.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewFiles-CD-UZPT5.js → PkChatbotViewFiles-O8lhbXAX.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewFiles-CD-UZPT5.js.map → PkChatbotViewFiles-O8lhbXAX.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-DPlb_Wca.js → PkChatbotViewProfile-kryFJi0l.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-DPlb_Wca.js.map → PkChatbotViewProfile-kryFJi0l.js.map} +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-CsHzdW69.js → PkStreamingMarkdown-CywawRVj.js} +3 -3
- package/dist-vue/_chunks/{PkStreamingMarkdown-CsHzdW69.js.map → PkStreamingMarkdown-CywawRVj.js.map} +1 -1
- package/dist-vue/_chunks/{PkSvgViewer-D6DJ2jVO.js → PkSvgViewer-DU8K_gAD.js} +2 -2
- package/dist-vue/_chunks/{PkSvgViewer-D6DJ2jVO.js.map → PkSvgViewer-DU8K_gAD.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolEditSpreadsheet-D8Zp9gzW.js → PkToolEditSpreadsheet-BT4HueLs.js} +2 -2
- package/dist-vue/_chunks/{PkToolEditSpreadsheet-D8Zp9gzW.js.map → PkToolEditSpreadsheet-BT4HueLs.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-DosWR9I4.js → PkToolRequestOAuthConnection-Ck2tRuls.js} +2 -2
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-DosWR9I4.js.map → PkToolRequestOAuthConnection-Ck2tRuls.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowArtifact-BVofKJ7b.js → PkToolShowArtifact-BiFJoOTT.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-BVofKJ7b.js.map → PkToolShowArtifact-BiFJoOTT.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-u9O_Sl3-.js → PkToolShowCalendarEvent-CFODjoDV.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowCalendarEvent-u9O_Sl3-.js.map → PkToolShowCalendarEvent-CFODjoDV.js.map} +1 -1
- package/dist-vue/_chunks/PkToolShowContactForm-B7DvA6O1.js +160 -0
- package/dist-vue/_chunks/PkToolShowContactForm-B7DvA6O1.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowDiagram-CaoB4k6y.js → PkToolShowDiagram-DGMwlxqB.js} +4 -4
- package/dist-vue/_chunks/{PkToolShowDiagram-CaoB4k6y.js.map → PkToolShowDiagram-DGMwlxqB.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-vYuaPtu0.js → PkToolShowForm-BZmAnMSD.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowForm-vYuaPtu0.js.map → PkToolShowForm-BZmAnMSD.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowImageGallery-ooygXk7j.js → PkToolShowImageGallery-BsYTRg_W.js} +4 -4
- package/dist-vue/_chunks/{PkToolShowImageGallery-ooygXk7j.js.map → PkToolShowImageGallery-BsYTRg_W.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowLocation-DVMpFdRk.js → PkToolShowLocation-BipZrvw7.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowLocation-DVMpFdRk.js.map → PkToolShowLocation-BipZrvw7.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-D-HJ9a_h.js → PkToolShowProductList-D1_v79Xm.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowProductList-D-HJ9a_h.js.map → PkToolShowProductList-D1_v79Xm.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSources-DJ35l3Z3.js → PkToolShowSources-Czu2IiGq.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowSources-DJ35l3Z3.js.map → PkToolShowSources-Czu2IiGq.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowVideo-xcg1gdIE.js → PkToolShowVideo-D3D2sTAP.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowVideo-xcg1gdIE.js.map → PkToolShowVideo-D3D2sTAP.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWeather-DJxKxVp_.js → PkToolShowWeather-BD0w6BA1.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowWeather-DJxKxVp_.js.map → PkToolShowWeather-BD0w6BA1.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowWebPages-BuaRjavD.js → PkToolShowWebPages-DTq0811l.js} +3 -3
- package/dist-vue/_chunks/{PkToolShowWebPages-BuaRjavD.js.map → PkToolShowWebPages-DTq0811l.js.map} +1 -1
- package/dist-vue/_chunks/{createChatbotApiClient-G3Tt1I67.js → createChatbotApiClient-BlJ952Kb.js} +2 -2
- package/dist-vue/_chunks/{createChatbotApiClient-G3Tt1I67.js.map → createChatbotApiClient-BlJ952Kb.js.map} +1 -1
- package/dist-vue/_chunks/{mcpOAuthReport-3A9v_gW_.js → mcpOAuthReport-BHCMTtgf.js} +2 -2
- package/dist-vue/_chunks/{mcpOAuthReport-3A9v_gW_.js.map → mcpOAuthReport-BHCMTtgf.js.map} +1 -1
- package/dist-vue/_chunks/{src-DpkuiHam.js → src-BZRiAJsH.js} +46 -3
- package/dist-vue/_chunks/src-BZRiAJsH.js.map +1 -0
- package/dist-vue/_chunks/{useChatbotStore-C1sgxgD1.js → useChatbotStore-CueyhDPB.js} +4 -4
- package/dist-vue/_chunks/{useChatbotStore-C1sgxgD1.js.map → useChatbotStore-CueyhDPB.js.map} +1 -1
- package/dist-vue/_chunks/{useSafeLocalStorage-DLIc8pkn.js → useSafeLocalStorage-B1mX0eKb.js} +2 -2
- package/dist-vue/_chunks/{useSafeLocalStorage-DLIc8pkn.js.map → useSafeLocalStorage-B1mX0eKb.js.map} +1 -1
- package/dist-vue/_chunks/{utils-DsnEcdW3.js → utils-DmRXPCqa.js} +2 -2
- package/dist-vue/_chunks/{utils-DsnEcdW3.js.map → utils-DmRXPCqa.js.map} +1 -1
- package/dist-vue/api.js +1 -1
- package/dist-vue/composables.js +24 -8
- package/dist-vue/composables.js.map +1 -1
- package/dist-vue/index.js +28 -28
- package/dist-vue/locales.js +6 -2
- package/dist-vue/packages/components/src/chat/PkToolShowContactForm.d.ts +6 -0
- package/dist-vue/packages/models/src/schema/Member.d.ts +15 -0
- package/package.json +1 -1
- package/dist/_chunks/PkToolShowContactForm-CfCy-b8w.js +0 -120
- package/dist/_chunks/PkToolShowContactForm-CfCy-b8w.js.map +0 -1
- package/dist/_chunks/src-DL9TKN-Z.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotMessages-CDLsj7qw.js +0 -876
- package/dist-vue/_chunks/PkChatbotMessages-CDLsj7qw.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowContactForm-BzdIFTnC.js +0 -122
- package/dist-vue/_chunks/PkToolShowContactForm-BzdIFTnC.js.map +0 -1
- package/dist-vue/_chunks/src-DpkuiHam.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es-oI6RqNZW.js","names":["w","T","C","x","d","h","e","b","y","u","n","p","_","o","c","l","i","v","m","g","a","E","D","s","f","t","r","$ZodError","_superRefine","safeParse","formatError","safeParseAsync","defineComponent","h","onMounted","useId","init_runtime_core_esm_bundler","onBeforeUnmount","provide","defineAsyncComponent","unref","resolveComponent","watch","toRaw","isProxy","toValue","init_reactivity_esm_bundler","inject","computed","ref","readonly","init_runtime_dom_esm_bundler","withModifiers","getCurrentInstance","toRefs","useI18n","logger","watchIgnorable","useLocalStorage","throttleFilter","setProperty","getProperty","useSafeLocalStorage","key","initialValue","error","useLocalizedString","val","value","fb","fallbackKey","te","t","locale","O","k","M","N","P","F","I","L","R","z","B","ee","V","H","ne","U","W","G","re","ie","ae","oe","J","se","ce","le","Y","ue","de","X","fe","pe","n","me","he","e","r","ge","m","h$1","g","x","S","C","w","a","T","E","D","A","j","f","i","s","_e","v","y","b","o","d","p","ve","ye","be","Z","Q","Se"],"sources":["../../../../packages/composable/src/useSafeLocalStorage.ts","../../../../packages/composable/src/useLocalizedString.ts","../../../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.24_@json-render+core@0.19.0_zod@4.6.7__@v_fe534fafae3fc8321046d7b5f6eeffd3/node_modules/@volverjs/form-vue/dist/index.es.js"],"sourcesContent":["import type { MaybeRefOrGetter, Ref } from 'vue'\nimport { ref } from 'vue'\nimport { useLocalStorage } from '@vueuse/core'\nimport { logger } from 'utils'\n\n/**\n * Wrapper around VueUse's `useLocalStorage` that catches `SecurityError`\n * thrown when storage access is blocked (cross-origin iframes, tracking\n * protection, sandboxed contexts). Falls back to a plain in-memory `ref`.\n */\nexport function useSafeLocalStorage<T>(\n key: MaybeRefOrGetter<string>,\n initialValue: T,\n): Ref<T> {\n try {\n // Probe: if localStorage is blocked, this throws immediately\n window.localStorage.getItem('')\n return useLocalStorage<T>(key, initialValue)\n } catch (error) {\n logger.warn(\n '[useSafeLocalStorage] localStorage blocked, falling back to in-memory ref',\n error,\n )\n return ref(initialValue) as Ref<T>\n }\n}\n","import { computed, toValue, type ComputedRef, type MaybeRefOrGetter } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { LocalizedString } from 'models'\n\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n fallbackKey: string,\n): ComputedRef<string>\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n): ComputedRef<string | undefined>\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n fallbackKey?: string,\n): ComputedRef<string | undefined> {\n const { locale, t, te } = useI18n({ useScope: 'global' })\n\n return computed(() => {\n const val = toValue(value)\n const fb =\n fallbackKey !== undefined && te(fallbackKey)\n ? t(fallbackKey)\n : undefined\n\n if (!val) {\n return fb\n }\n\n return val[locale.value] || fb\n })\n}\n","import { computed as e, defineAsyncComponent as t, defineComponent as n, getCurrentInstance as r, h as i, inject as a, isProxy as o, onBeforeUnmount as s, onMounted as c, provide as l, readonly as u, ref as d, resolveComponent as f, toRaw as p, toRefs as m, unref as h, useId as g, watch as _, withModifiers as v } from \"vue\";\nimport { throttleFilter as y, watchIgnorable as b } from \"@vueuse/core\";\nimport { $ZodError as x, _superRefine as S, formatError as C, safeParse as w, safeParseAsync as T } from \"zod/v4/core\";\nimport { getProperty as E, setProperty as D } from \"dot-prop\";\n//#region src/enums.ts\nvar O = /* @__PURE__ */ function(e) {\n\treturn e.text = \"text\", e.number = \"number\", e.email = \"email\", e.password = \"password\", e.tel = \"tel\", e.url = \"url\", e.search = \"search\", e.date = \"date\", e.time = \"time\", e.datetimeLocal = \"datetime-local\", e.month = \"month\", e.week = \"week\", e.color = \"color\", e.select = \"select\", e.checkbox = \"checkbox\", e.radio = \"radio\", e.textarea = \"textarea\", e.radioGroup = \"radioGroup\", e.checkboxGroup = \"checkboxGroup\", e.combobox = \"combobox\", e.custom = \"custom\", e;\n}({}), k = /* @__PURE__ */ function(e) {\n\treturn e.invalid = \"invalid\", e.valid = \"valid\", e.submitting = \"submitting\", e.reset = \"reset\", e.updated = \"updated\", e.unknown = \"unknown\", e;\n}({});\n//#endregion\n//#region src/utils.ts\nfunction A(e) {\n\treturn Array.isArray(e) ? \"array\" : e === null ? \"null\" : typeof e;\n}\nfunction j(e, t) {\n\tlet n = A(e);\n\treturn t.type ? Array.isArray(t.type) ? t.type.some((t) => t === n || t === \"integer\" && n === \"number\" && Number.isInteger(e)) : t.type === n || t.type === \"integer\" && n === \"number\" && Number.isInteger(e) : !0;\n}\nvar M = (e) => e._def.typeName === \"ZodObject\", N = (e) => e._zod.def.type === \"object\", P = (e) => e._def.typeName === \"ZodDefault\", F = (e) => e._zod.def.type === \"default\", I = (e) => e._def.typeName === \"ZodNullable\", L = (e) => e._zod.def.type === \"nullable\", R = (e) => e._def.typeName === \"ZodRecord\", z = (e) => e._zod.def.type === \"record\", B = (e) => e._def.typeName === \"ZodArray\", ee = (e) => e._zod.def.type === \"array\", te = (e) => e._def.typeName === \"ZodEffects\", V = (e) => e._def.typeName === \"ZodOptional\", H = (e) => e._zod.def.type === \"optional\", ne = (e) => e._zod.def.type === \"pipe\", U = (e) => e._zod.def.type === \"transform\";\nfunction W(e) {\n\tlet t = e;\n\tfor (; te(t);) t = t.innerType();\n\treturn t;\n}\nfunction G(e) {\n\tlet t = e;\n\tfor (; ne(t);) t = U(t._zod.def.out) ? t._zod.def.in : t._zod.def.out;\n\treturn t;\n}\nvar re = (e) => {\n\tlet t = W(e);\n\treturn V(t) && (t = t._def.innerType), t;\n}, ie = (e) => {\n\tlet t = G(e);\n\treturn H(t) && (t = t._zod.def.innerType), t;\n}, ae = (e) => !!V(W(e)), oe = (e) => !!H(G(e));\nfunction K(e, t) {\n\tif (e.length === 0) return t ?? void 0;\n\tif (t !== void 0) {\n\t\tfor (let n of e) if (j(t, n)) return q(n, t);\n\t\tfor (let n of e) {\n\t\t\tlet e = n;\n\t\t\tif (!e.type || e.type === \"object\") return q(e, t);\n\t\t}\n\t}\n\treturn q(e[0], t);\n}\nfunction q(e, t) {\n\tif (\"const\" in e) return e.const;\n\tif (e.anyOf && Array.isArray(e.anyOf)) return K(e.anyOf, t);\n\tif (e.oneOf && Array.isArray(e.oneOf)) return K(e.oneOf, t);\n\tif (e.allOf && Array.isArray(e.allOf)) {\n\t\tlet n = {\n\t\t\t...e,\n\t\t\tallOf: void 0\n\t\t};\n\t\tfor (let t of e.allOf) {\n\t\t\tlet e = t;\n\t\t\te.properties && (n.properties = {\n\t\t\t\t...n.properties,\n\t\t\t\t...e.properties\n\t\t\t}), e.type && !n.type && (n.type = e.type);\n\t\t}\n\t\treturn q(n, t);\n\t}\n\tif (Array.isArray(e.type)) {\n\t\tif (t === null && e.type.includes(\"null\")) return null;\n\t\tlet n = e.type.find((e) => e !== \"null\");\n\t\treturn n ? q({\n\t\t\t...e,\n\t\t\ttype: n\n\t\t}, t) : e.default ?? null;\n\t}\n\tif (e.type !== \"object\" || !e.properties) switch (e.type) {\n\t\tcase \"string\": return typeof t == \"string\" ? t : e.default;\n\t\tcase \"number\":\n\t\tcase \"integer\": return typeof t == \"number\" ? t : e.default;\n\t\tcase \"boolean\": return typeof t == \"boolean\" ? t : e.default;\n\t\tcase \"null\": return t === null ? t : e.default;\n\t\tcase \"array\": return Array.isArray(t) ? e.items ? t.map((t) => q(e.items, t)) : t : e.default;\n\t\tdefault: return e.default;\n\t}\n\tlet n = e.properties, r = t && typeof t == \"object\" && !Array.isArray(t) ? t : void 0, i = {};\n\tfor (let e in n) {\n\t\tlet t = r?.[e];\n\t\ti[e] = q(n[e], t);\n\t}\n\tif (r && e.additionalProperties !== !1) {\n\t\tlet e = new Set(Object.keys(n));\n\t\tfor (let [t, n] of Object.entries(r)) e.has(t) || (i[t] = n);\n\t}\n\treturn i;\n}\nvar J = (e) => \"_zod\" in e, se = {\n\tgetInnerType: re,\n\tisObject: M,\n\thasUnknownKeys: (e) => e._def.unknownKeys === \"passthrough\",\n\tgetShapeEntries: (e) => \"shape\" in e ? Object.entries(e.shape) : [],\n\tisOptional: ae,\n\tisDefault: P,\n\tgetDefaultValue: (e) => e._def.defaultValue(),\n\tgetDefaultInnerType: (e) => e._def.innerType,\n\tisNullable: I,\n\tsafeParse: (e, t) => e.safeParse(t),\n\tisArray: B,\n\tgetArrayElement: (e) => e._def.type,\n\tisRecord: R,\n\tgetRecordValue: (e) => e._def.valueType\n}, ce = {\n\tgetInnerType: ie,\n\tisObject: N,\n\thasUnknownKeys: (e) => !!(e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== \"never\"),\n\tgetShapeEntries: (e) => \"shape\" in e._zod.def ? Object.entries(e._zod.def.shape) : [],\n\tisOptional: oe,\n\tisDefault: F,\n\tgetDefaultValue: (e) => e._zod.def.defaultValue,\n\tgetDefaultInnerType: (e) => e._zod.def.innerType,\n\tisNullable: L,\n\tsafeParse: (e, t) => w(e, t),\n\tisArray: ee,\n\tgetArrayElement: (e) => e._zod.def.element,\n\tisRecord: z,\n\tgetRecordValue: (e) => e._zod.def.valueType\n};\nfunction le(e, t, n) {\n\tlet r = e.getInnerType(e.getArrayElement(t));\n\treturn e.isObject(r) ? n.map((t) => Y(e, r, t)) : n;\n}\nfunction ue(e, t, n) {\n\tlet r = e.getInnerType(e.getRecordValue(t));\n\treturn e.isObject(r) ? Object.keys(n).reduce((t, i) => (t[i] = Y(e, r, n[i]), t), {}) : n;\n}\nfunction de(e, t, n, r) {\n\tlet i = e.isOptional(n), a = e.getInnerType(n), o;\n\tif (e.isDefault(a) && (o = e.getDefaultValue(a), a = e.getDefaultInnerType(a)), r === null && e.isNullable(a)) return [t, r];\n\tif (r == null && i) return [t, o];\n\tif (a && r !== void 0) {\n\t\tlet i = e.safeParse(n, r);\n\t\tif (i.success) return [t, i.data ?? o];\n\t}\n\treturn e.isArray(a) && Array.isArray(r) ? [t, le(e, a, r)] : e.isRecord(a) && r ? [t, ue(e, a, r)] : e.isObject(a) ? [t, Y(e, a, r && typeof r == \"object\" ? r : o)] : [t, o];\n}\nfunction Y(e, t, n) {\n\tlet r = n && typeof n == \"object\" && !Array.isArray(n) ? n : {};\n\treturn {\n\t\t...e.hasUnknownKeys(t) ? r : {},\n\t\t...Object.fromEntries(e.getShapeEntries(t).map(([t, n]) => de(e, t, n, r[t])))\n\t};\n}\nfunction X(e, t = {}) {\n\tlet n = J(e) ? ce : se, r = n.getInnerType(e);\n\treturn n.isObject(r) ? Y(n, r, t) : t;\n}\nvar fe = (e, t) => J(e) ? T(e, t) : e.safeParseAsync(t);\nfunction pe(e, t) {\n\tif (!t) return e;\n\tif (J(e)) {\n\t\tlet n = e;\n\t\tif (typeof n.check != \"function\") throw TypeError(\"[@volverjs/form-vue]: superRefine needs a schema built with \\\"zod\\\" or \\\"zod/mini\\\". A schema built directly from \\\"zod/v4/core\\\" has no .check() to attach the refinement to.\");\n\t\treturn n.check(S(t));\n\t}\n\treturn e.superRefine(t);\n}\nvar me = (e, t) => J(e) ? C(t) : t.format(), he = (e, t, n) => {\n\tif (J(e)) return C(new x(n));\n\tlet r = t.constructor;\n\treturn new r(n).format();\n};\n//#endregion\n//#region src/VvForm.ts\nfunction ge(t, r, a, s, f) {\n\tlet m = d(), h = d(), g = e(() => h.value === k.invalid), x = d(), S = d(!1), C, w = (e) => {\n\t\tlet n = X(t, e);\n\t\tif (a?.class) {\n\t\t\tlet e = a.class;\n\t\t\treturn new e(n);\n\t\t}\n\t\treturn n;\n\t}, T = /* @__PURE__ */ new WeakMap(), E = (e) => {\n\t\tif (!e) return t;\n\t\tlet n = T.get(e);\n\t\treturn n || (n = pe(t, e), T.set(e, n)), n;\n\t}, D = async (e = x.value, n) => {\n\t\tif (C = n?.fields, S.value) return !0;\n\t\tlet r = await fe(E(n?.superRefine), e);\n\t\tif (!r.success) {\n\t\t\tif (!C?.size) return h.value = k.invalid, m.value = me(t, r.error), !1;\n\t\t\tlet e = r.error.issues.filter((e) => C?.has(e.path.join(\".\")));\n\t\t\treturn e.length ? (h.value = k.invalid, m.value = he(t, r.error, e), !1) : (m.value = void 0, h.value = k.unknown, !0);\n\t\t}\n\t\treturn m.value = void 0, h.value = k.valid, x.value = w(r.data), !0;\n\t}, O = () => {\n\t\tm.value = void 0, h.value = void 0, C = void 0;\n\t}, { ignoreUpdates: A, stop: j } = b(x, () => {\n\t\th.value = k.updated;\n\t}, {\n\t\tdeep: !0,\n\t\teventFilter: y(a?.updateThrottle ?? 500)\n\t}), M = () => {\n\t\tA(() => {\n\t\t\tx.value = w();\n\t\t}), O(), h.value = k.reset;\n\t}, N = async (e) => S.value || !await D(void 0, e) ? !1 : (h.value = k.submitting, !0), P = u(m), F = u(h);\n\treturn {\n\t\tclear: O,\n\t\terrors: m,\n\t\tformData: x,\n\t\tignoreUpdates: A,\n\t\tinvalid: g,\n\t\treadonly: S,\n\t\treset: M,\n\t\tstatus: h,\n\t\twrappers: f,\n\t\tstopUpdatesWatch: j,\n\t\tsubmit: N,\n\t\tvalidate: D,\n\t\tVvForm: n({\n\t\t\tname: \"VvForm\",\n\t\t\tprops: {\n\t\t\t\tcontinuousValidation: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: !1\n\t\t\t\t},\n\t\t\t\tmodelValue: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tdefault: () => ({})\n\t\t\t\t},\n\t\t\t\treadonly: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: a?.readonly\n\t\t\t\t},\n\t\t\t\ttag: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\tdefault: \"form\"\n\t\t\t\t},\n\t\t\t\ttemplate: {\n\t\t\t\t\ttype: [Array, Function],\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tsuperRefine: {\n\t\t\t\t\ttype: Function,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tvalidateFields: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\temits: [\n\t\t\t\t\"invalid\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"update:modelValue\",\n\t\t\t\t\"update:readonly\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\texpose: [\n\t\t\t\t\"errors\",\n\t\t\t\t\"invalid\",\n\t\t\t\t\"readonly\",\n\t\t\t\t\"status\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"template\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"validate\",\n\t\t\t\t\"clear\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\tslots: Object,\n\t\t\tsetup(e, { emit: t }) {\n\t\t\t\tx.value = w(p(e.modelValue)), _(() => e.modelValue, (e) => {\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\tlet t = o(e) ? p(e) : e;\n\t\t\t\t\t\tif (JSON.stringify(t) === JSON.stringify(p(x.value))) return;\n\t\t\t\t\t\tx.value = w(t);\n\t\t\t\t\t}\n\t\t\t\t}, { deep: !0 }), _(h, async (n) => {\n\t\t\t\t\tif (n === k.invalid) {\n\t\t\t\t\t\tlet e = p(m.value);\n\t\t\t\t\t\tt(\"invalid\", e), a?.onInvalid?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.valid) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"valid\", e), a?.onValid?.(e), t(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.submitting) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"submit\", e), a?.onSubmit?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.reset) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"reset\", e), a?.onReset?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.updated) {\n\t\t\t\t\t\tif ((m.value || a?.continuousValidation || e.continuousValidation) && await D(void 0, {\n\t\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\t\tfields: C ?? new Set(e.validateFields)\n\t\t\t\t\t\t}), !x.value || !e.modelValue || JSON.stringify(x.value) !== JSON.stringify(e.modelValue)) {\n\t\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\t\tt(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\th.value === k.updated && (h.value = k.unknown);\n\t\t\t\t\t}\n\t\t\t\t}), c(() => {\n\t\t\t\t\te.readonly !== void 0 && (S.value = e.readonly);\n\t\t\t\t}), _(() => e.readonly, (e) => {\n\t\t\t\t\tS.value = e;\n\t\t\t\t}), _(S, (n) => {\n\t\t\t\t\tn !== e.readonly && t(\"update:readonly\", S.value);\n\t\t\t\t});\n\t\t\t\tlet n = (t, n) => D(t, {\n\t\t\t\t\tfields: n?.fields,\n\t\t\t\t\tsuperRefine: n?.superRefine ?? e.superRefine\n\t\t\t\t}), i = () => N({\n\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\tfields: new Set(e.validateFields)\n\t\t\t\t});\n\t\t\t\treturn l(r, {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\treadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t}), {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\tisReadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t};\n\t\t\t},\n\t\t\trender() {\n\t\t\t\tlet e = () => this.$slots?.default?.({\n\t\t\t\t\terrors: P.value,\n\t\t\t\t\tformData: x.value,\n\t\t\t\t\tinvalid: g.value,\n\t\t\t\t\treadonly: S.value,\n\t\t\t\t\tstatus: F.value,\n\t\t\t\t\twrappers: f,\n\t\t\t\t\tclear: O,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: this.submit,\n\t\t\t\t\tvalidate: this.validate\n\t\t\t\t}) ?? this.$slots.default;\n\t\t\t\treturn i(this.tag, {\n\t\t\t\t\tonSubmit: v(this.submit, [\"prevent\"]),\n\t\t\t\t\tonReset: v(this.reset, [\"prevent\"])\n\t\t\t\t}, (this.template ?? a?.template) && s ? [i(s, { schema: this.template ?? a?.template }, { default: e })] : { default: e });\n\t\t\t}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/VvFormField.ts\nfunction _e(r, o, d, p) {\n\treturn n({\n\t\tname: \"VvFormField\",\n\t\tprops: {\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tvalidator: (e) => Object.values(O).includes(e),\n\t\t\t\tdefault: O.custom\n\t\t\t},\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tSymbol\n\t\t\t\t],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValue: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tArray,\n\t\t\t\t\tObject\n\t\t\t\t],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tlazyLoad: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabel\",\n\t\t\t\"is\",\n\t\t\t\"type\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: v }) {\n\t\t\tlet { props: y, name: b } = m(n), x = g(), S = a(o, void 0);\n\t\t\tS && S.fields.value.set(x, n.name);\n\t\t\tlet C = a(r), w = e({\n\t\t\t\tget() {\n\t\t\t\t\tif (C?.formData) return E(new Object(C.formData.value), String(n.name));\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tC?.formData && (D(new Object(C.formData.value), String(n.name), e), v(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: w.value,\n\t\t\t\t\t\tformData: C?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tw.value === void 0 && n.defaultValue !== void 0 && (w.value = n.defaultValue);\n\t\t\t}), s(() => {\n\t\t\t\tS && S.fields.value.delete(x);\n\t\t\t});\n\t\t\tlet T = e(() => {\n\t\t\t\tif (C?.errors.value) return E(C.errors.value, String(n.name));\n\t\t\t}), k = e(() => T.value?._errors), A = e(() => T.value !== void 0), j = _(A, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\tv(\"invalid\", T.value), S && S.errors.value.set(String(n.name), T.value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tv(\"valid\", w.value), S && S.errors.value.delete(n.name);\n\t\t\t}), M = _(() => C?.formData, () => {\n\t\t\t\tv(\"update:formData\", C?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tj(), M();\n\t\t\t});\n\t\t\tlet N = (e) => {\n\t\t\t\te instanceof InputEvent && (e = e.target.value), w.value = e;\n\t\t\t}, P = e(() => {\n\t\t\t\tlet e = y.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(C?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), F = e(() => C?.readonly.value || S?.readonly.value ? !0 : P.value.readonly ?? n.readonly), I = e(() => ({\n\t\t\t\t...P.value,\n\t\t\t\tname: P.value.name ?? n.name,\n\t\t\t\tinvalid: A.value,\n\t\t\t\tvalid: n.showValid ? !(A.value || !w.value) : void 0,\n\t\t\t\ttype: ((e) => {\n\t\t\t\t\tif ([\n\t\t\t\t\t\tO.color,\n\t\t\t\t\t\tO.date,\n\t\t\t\t\t\tO.datetimeLocal,\n\t\t\t\t\t\tO.email,\n\t\t\t\t\t\tO.month,\n\t\t\t\t\t\tO.number,\n\t\t\t\t\t\tO.password,\n\t\t\t\t\t\tO.search,\n\t\t\t\t\t\tO.tel,\n\t\t\t\t\t\tO.text,\n\t\t\t\t\t\tO.time,\n\t\t\t\t\t\tO.url,\n\t\t\t\t\t\tO.week\n\t\t\t\t\t].includes(e)) return e;\n\t\t\t\t})(n.type),\n\t\t\t\tinvalidLabel: k.value,\n\t\t\t\tmodelValue: w.value,\n\t\t\t\treadonly: F.value,\n\t\t\t\t\"onUpdate:modelValue\": N\n\t\t\t}));\n\t\t\treturn l(d, {\n\t\t\t\tname: u(b),\n\t\t\t\terrors: u(T)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => {\n\t\t\t\t\tif (n.type === O.custom) return { render() {\n\t\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\t\terrors: u(T).value,\n\t\t\t\t\t\t\tformData: C?.formData.value,\n\t\t\t\t\t\t\tformErrors: C?.errors.value,\n\t\t\t\t\t\t\tinvalid: A.value,\n\t\t\t\t\t\t\tinvalidLabel: k.value,\n\t\t\t\t\t\t\tmodelValue: w.value,\n\t\t\t\t\t\t\treadonly: F.value,\n\t\t\t\t\t\t\tonUpdate: N,\n\t\t\t\t\t\t\tsubmit: C?.submit,\n\t\t\t\t\t\t\tvalidate: C?.validate\n\t\t\t\t\t\t}) ?? i.default;\n\t\t\t\t\t} };\n\t\t\t\t\tif (!(p?.lazyLoad ?? n.lazyLoad)) {\n\t\t\t\t\t\tlet e;\n\t\t\t\t\t\tswitch (n.type) {\n\t\t\t\t\t\t\tcase O.select:\n\t\t\t\t\t\t\t\te = f(\"VvSelect\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkbox:\n\t\t\t\t\t\t\t\te = f(\"VvCheckbox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radio:\n\t\t\t\t\t\t\t\te = f(\"VvRadio\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.textarea:\n\t\t\t\t\t\t\t\te = f(\"VvTextarea\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radioGroup:\n\t\t\t\t\t\t\t\te = f(\"VvRadioGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkboxGroup:\n\t\t\t\t\t\t\t\te = f(\"VvCheckboxGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.combobox:\n\t\t\t\t\t\t\t\te = f(\"VvCombobox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: e = f(\"VvInputText\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof e != \"string\") return e;\n\t\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: ${e} not found, the component will be loaded asynchronously. To avoid this warning, please set \"lazyLoad\" option.`);\n\t\t\t\t\t}\n\t\t\t\t\treturn t(async () => {\n\t\t\t\t\t\tswitch (p?.sideEffects && await Promise.resolve(p.sideEffects(n.type)), n.type) {\n\t\t\t\t\t\t\tcase O.textarea: return import(\"@volverjs/ui-vue/vv-textarea\");\n\t\t\t\t\t\t\tcase O.radio: return import(\"@volverjs/ui-vue/vv-radio\");\n\t\t\t\t\t\t\tcase O.radioGroup: return import(\"@volverjs/ui-vue/vv-radio-group\");\n\t\t\t\t\t\t\tcase O.checkbox: return import(\"@volverjs/ui-vue/vv-checkbox\");\n\t\t\t\t\t\t\tcase O.checkboxGroup: return import(\"@volverjs/ui-vue/vv-checkbox-group\");\n\t\t\t\t\t\t\tcase O.select: return import(\"@volverjs/ui-vue/vv-select\");\n\t\t\t\t\t\t\tcase O.combobox: return import(\"@volverjs/ui-vue/vv-combobox\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn import(\"@volverjs/ui-vue/vv-input-text\");\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\thasProps: I,\n\t\t\t\tinvalid: A\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : this.type === O.custom ? i(this.component, null, this.$slots) : i(this.component, this.hasProps, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormFieldsGroup.ts\nfunction ve(t, r, o) {\n\treturn n({\n\t\tname: \"VvFormFieldsGroup\",\n\t\tprops: {\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tnames: {\n\t\t\t\ttype: [Array, Object],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValues: {\n\t\t\t\ttype: [Object],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabels\",\n\t\t\t\"is\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: d }) {\n\t\t\tlet { props: f, names: p, defaultValues: v } = m(n), y = g(), b = e(() => Array.isArray(p.value) ? p.value : Object.values(p.value)), x = e(() => Array.isArray(p.value) ? p.value : Object.keys(p.value)), S = e(() => Array.isArray(p.value) ? p.value.reduce((e, t) => (e[String(t)] = t, e), {}) : p.value), C = e(() => Object.keys(S.value).reduce((e, t) => (e[String(S.value[t])] = t, e), {})), w = a(r, void 0);\n\t\t\tw && b.value.forEach((e) => {\n\t\t\t\tw.fields.value.set(`${y}-${e}`, e);\n\t\t\t});\n\t\t\tlet T = a(t), O = e({\n\t\t\t\tget() {\n\t\t\t\t\treturn T?.formData ? x.value.reduce((e, t) => (e[t] = E(new Object(T.formData.value), S.value[t]), e), {}) : {};\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tT?.formData && (x.value.forEach((t) => {\n\t\t\t\t\t\tD(new Object(T.formData.value), S.value[t], e?.[t]);\n\t\t\t\t\t}), d(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: O.value,\n\t\t\t\t\t\tformData: T?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tv.value && b.value.forEach((e) => {\n\t\t\t\t\tv.value?.[e] !== void 0 && O.value[e] === void 0 && (O.value = {\n\t\t\t\t\t\t...O.value,\n\t\t\t\t\t\t[e]: v.value?.[e]\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}), s(() => {\n\t\t\t\tw && b.value.forEach((e) => {\n\t\t\t\t\tw.fields.value.delete(`${y}-${e}`);\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet k = e(() => {\n\t\t\t\tif (!T?.errors.value) return;\n\t\t\t\tlet e = b.value.reduce((e, t) => {\n\t\t\t\t\tif (!T.errors.value) return e;\n\t\t\t\t\tlet n = E(T.errors.value, String(t));\n\t\t\t\t\treturn n === void 0 || (e[String(t)] = n), e;\n\t\t\t\t}, {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), A = e(() => {\n\t\t\t\tif (!k.value) return;\n\t\t\t\tlet e = Object.keys(k.value).reduce((e, t) => (k.value?.[t] && (e[C.value[t]] = k.value[t]._errors), e), {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), j = e(() => k.value !== void 0), M = e(() => x.value.reduce((e, t) => (e[t] = !!k.value?.[S.value[t]], e), {})), N = _(j, () => {\n\t\t\t\tif (j.value) {\n\t\t\t\t\td(\"invalid\", k.value), w && b.value.forEach((e) => {\n\t\t\t\t\t\tif (!k.value?.[e]) {\n\t\t\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tw.errors.value.set(e, k.value?.[e]);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\td(\"valid\", O.value), w && b.value.forEach((e) => {\n\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t});\n\t\t\t}), P = _(() => T?.formData, () => {\n\t\t\t\td(\"update:formData\", T?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tN(), P();\n\t\t\t});\n\t\t\tlet F = (e) => {\n\t\t\t\tO.value = e;\n\t\t\t}, I = (e, t) => {\n\t\t\t\tt instanceof InputEvent && (t = t.target.value), x.value.includes(e) && (O.value = {\n\t\t\t\t\t...O.value,\n\t\t\t\t\t[e]: t\n\t\t\t\t});\n\t\t\t}, L = e(() => {\n\t\t\t\tlet e = f.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(T?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), R = e(() => T?.readonly.value ? !0 : L.value.readonly ?? n.readonly), z = e(() => x.value.reduce((e, t) => (e[`onUpdate:${t}`] = (e) => {\n\t\t\t\tI(t, e);\n\t\t\t}, e), { \"onUpdate:modelValue\": F })), B = e(() => ({\n\t\t\t\t...z.value,\n\t\t\t\t...L.value,\n\t\t\t\t...O.value,\n\t\t\t\tmodelValue: O.value,\n\t\t\t\tnames: L.value.name ?? b.value,\n\t\t\t\tinvalid: j.value,\n\t\t\t\tinvalids: M.value,\n\t\t\t\tvalid: n.showValid ? !(j.value || !O.value) : void 0,\n\t\t\t\tinvalidLabels: A.value,\n\t\t\t\treadonly: R.value\n\t\t\t}));\n\t\t\treturn l(o, {\n\t\t\t\tnames: u(p),\n\t\t\t\terrors: u(k)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => ({ render() {\n\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\terrors: k.value,\n\t\t\t\t\t\tformData: T?.formData.value,\n\t\t\t\t\t\tformErrors: T?.errors.value,\n\t\t\t\t\t\tinvalid: j.value,\n\t\t\t\t\t\tinvalids: M.value,\n\t\t\t\t\t\tinvalidLabels: A.value,\n\t\t\t\t\t\tmodelValue: O.value,\n\t\t\t\t\t\tonUpdate: F,\n\t\t\t\t\t\tonUpdateField: I,\n\t\t\t\t\t\treadonly: R.value,\n\t\t\t\t\t\tsubmit: T?.submit,\n\t\t\t\t\t\tvalidate: T?.validate\n\t\t\t\t\t}) ?? i.default;\n\t\t\t\t} })),\n\t\t\t\thasProps: B,\n\t\t\t\tinvalid: j\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : i(this.component, null, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormWrapper.ts\nfunction ye(t, r) {\n\treturn n({\n\t\tname: \"VvFormWrapper\",\n\t\tprops: {\n\t\t\tname: {\n\t\t\t\ttype: String,\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\ttag: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t}\n\t\t},\n\t\temits: [\"invalid\", \"valid\"],\n\t\texpose: [\n\t\t\t\"clear\",\n\t\t\t\"errors\",\n\t\t\t\"fields\",\n\t\t\t\"fieldsErrors\",\n\t\t\t\"formData\",\n\t\t\t\"invalid\",\n\t\t\t\"readonly\",\n\t\t\t\"reset\",\n\t\t\t\"submit\",\n\t\t\t\"tag\",\n\t\t\t\"validate\",\n\t\t\t\"validateWrapper\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { emit: i }) {\n\t\t\tlet o = a(t), f = a(r, void 0), p = d(/* @__PURE__ */ new Map()), h = d(/* @__PURE__ */ new Map()), { name: g } = m(n), v = e(() => o?.invalid.value ? h.value.size > 0 : !1);\n\t\t\t_(v, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\ti(\"invalid\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti(\"valid\");\n\t\t\t});\n\t\t\tlet y = e(() => o?.readonly.value || n.readonly), b = {\n\t\t\t\tname: u(g),\n\t\t\t\terrors: h,\n\t\t\t\tinvalid: u(v),\n\t\t\t\treadonly: u(y),\n\t\t\t\tfields: p\n\t\t\t};\n\t\t\tl(r, b);\n\t\t\tlet x = e(() => new Map(p.value));\n\t\t\treturn _(x, (e, t) => {\n\t\t\t\tf?.fields && (t.forEach((t, n) => {\n\t\t\t\t\te.has(n) || f?.fields.value.delete(n);\n\t\t\t\t}), e.forEach((e, t) => {\n\t\t\t\t\tf?.fields.value.has(t) || f?.fields.value.set(t, e);\n\t\t\t\t}));\n\t\t\t}, { deep: !0 }), _(h, (e) => {\n\t\t\t\tf?.errors && p.value.forEach((t) => {\n\t\t\t\t\tif (e.has(t) || f.errors.value.delete(t), e.has(t)) {\n\t\t\t\t\t\tlet n = e.get(t);\n\t\t\t\t\t\tn && f.errors.value.set(t, n);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: !0 }), c(() => {\n\t\t\t\tif (!o?.wrappers || !g.value) {\n\t\t\t\t\tconsole.warn(\"[@volverjs/form-vue]: Invalid wrapper registration state\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (o.wrappers.has(g.value)) {\n\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: wrapper name \"${g.value}\" is already used`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\to.wrappers.set(g.value, b);\n\t\t\t}), s(() => {\n\t\t\t\to?.wrappers && g.value && o.wrappers.delete(g.value);\n\t\t\t}), {\n\t\t\t\terrors: o?.errors,\n\t\t\t\tfields: p,\n\t\t\t\tfieldsErrors: h,\n\t\t\t\tformData: o?.formData,\n\t\t\t\tinvalid: v,\n\t\t\t\treadonly: y,\n\t\t\t\tclear: o?.clear,\n\t\t\t\treset: o?.reset,\n\t\t\t\tsubmit: o?.submit,\n\t\t\t\tvalidate: o?.validate,\n\t\t\t\tvalidateWrapper: () => o?.validate(void 0, { fields: new Set(p.value.values()) }) ?? Promise.resolve(!0)\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\tlet e = () => this.$slots.default?.({\n\t\t\t\terrors: this.errors,\n\t\t\t\tfieldsErrors: this.fieldsErrors,\n\t\t\t\tformData: this.formData,\n\t\t\t\tinvalid: this.invalid,\n\t\t\t\treadonly: this.readonly,\n\t\t\t\tclear: this.clear,\n\t\t\t\treset: this.reset,\n\t\t\t\tsubmit: this.submit,\n\t\t\t\tvalidate: this.validate,\n\t\t\t\tvalidateWrapper: this.validateWrapper\n\t\t\t});\n\t\t\treturn this.tag ? i(this.tag, null, { default: e }) : e();\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormTemplate.ts\nfunction be(e, t) {\n\tlet r = n({\n\t\tname: \"VvFormTemplate\",\n\t\tprops: {\n\t\t\tschema: {\n\t\t\t\ttype: [Array, Function],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tscope: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: () => ({})\n\t\t\t}\n\t\t},\n\t\tslots: Object,\n\t\tsetup(n, { slots: o }) {\n\t\t\tlet s = a(e);\n\t\t\tif (s?.formData) return () => {\n\t\t\t\tlet e = typeof n.schema == \"function\" ? n.schema(s, n.scope) : n.schema, a, c = e.reduce((e, o) => {\n\t\t\t\t\tlet { vvIs: c, vvName: l, vvSlots: u, vvChildren: d, vvIf: f, vvElseIf: p, vvType: m, vvDefaultValue: g, vvShowValid: _, vvContent: v, ...y } = typeof o == \"function\" ? o(s, n.scope) : o;\n\t\t\t\t\tif (f !== void 0) {\n\t\t\t\t\t\tif (a = typeof f == \"string\" ? !!E(new Object(s.formData.value), f) : h(typeof f == \"function\" ? f(s) : f), !a) return e;\n\t\t\t\t\t} else if (p !== void 0 && a !== void 0) {\n\t\t\t\t\t\tif (a || (a = typeof p == \"string\" ? !!E(new Object(s.formData.value), p) : h(typeof p == \"function\" ? p(s) : p), !a)) return e;\n\t\t\t\t\t} else a = void 0;\n\t\t\t\t\tlet b;\n\t\t\t\t\treturn d && (b = typeof c == \"string\" ? i(r, { schema: d }) : { default: (e) => i(r, {\n\t\t\t\t\t\tschema: d,\n\t\t\t\t\t\tscope: e\n\t\t\t\t\t}) }), l ? (e.push(i(t, {\n\t\t\t\t\t\tname: l,\n\t\t\t\t\t\tis: c,\n\t\t\t\t\t\ttype: m,\n\t\t\t\t\t\tdefaultValue: g,\n\t\t\t\t\t\tshowValid: _,\n\t\t\t\t\t\tprops: y\n\t\t\t\t\t}, u ?? b ?? v)), e) : c ? (e.push(i(c, y, u ?? b ?? v)), e) : (b && (\"default\" in b ? e.push(b.default(n.scope)) : e.push(b)), e);\n\t\t\t\t}, []);\n\t\t\t\treturn c.push(o?.default?.({\n\t\t\t\t\terrors: s?.errors.value,\n\t\t\t\t\tformData: s?.formData.value,\n\t\t\t\t\tinvalid: s?.invalid.value,\n\t\t\t\t\tstatus: s?.status.value,\n\t\t\t\t\tsubmit: s?.submit,\n\t\t\t\t\tvalidate: s?.validate,\n\t\t\t\t\tclear: s?.clear,\n\t\t\t\t\treset: s?.reset\n\t\t\t\t})), c;\n\t\t\t};\n\t\t}\n\t});\n\treturn r;\n}\n//#endregion\n//#region src/index.ts\nfunction Z(e, t = {}) {\n\tlet n = Symbol(\"formInjectionKey\"), r = Symbol(\"formWrapperInjectionKey\"), i = Symbol(\"formFieldInjectionKey\"), a = Symbol(\"formFieldsGroupInjectionKey\"), o = ye(n, r), s = _e(n, r, i, t), c = ve(n, r, a), l = be(n, s), u = /* @__PURE__ */ new Map(), { clear: d, errors: f, formData: p, ignoreUpdates: m, invalid: h, readonly: g, reset: _, status: v, stopUpdatesWatch: y, submit: b, validate: x, VvForm: S } = ge(e, n, t, l, u);\n\treturn {\n\t\tclear: d,\n\t\terrors: f,\n\t\tformData: p,\n\t\tformFieldInjectionKey: i,\n\t\tformInjectionKey: n,\n\t\tformWrapperInjectionKey: r,\n\t\tignoreUpdates: m,\n\t\tinvalid: h,\n\t\treadonly: g,\n\t\treset: _,\n\t\tstatus: v,\n\t\tstopUpdatesWatch: y,\n\t\tsubmit: b,\n\t\tvalidate: x,\n\t\twrappers: u,\n\t\tVvForm: S,\n\t\tVvFormField: s,\n\t\tVvFormFieldsGroup: c,\n\t\tVvFormTemplate: l,\n\t\tVvFormWrapper: o\n\t};\n}\nvar Q = Symbol(\"pluginInjectionKey\");\nfunction xe(e) {\n\tlet t = {};\n\treturn e.schema && (t = Z(e.schema, e)), {\n\t\t...t,\n\t\tinstall(n, { global: r = !1 } = {}) {\n\t\t\tn.provide(Q, e), r && (n.config.globalProperties.$vvForm = e, t?.VvForm && n.component(\"VvForm\", t.VvForm), t?.VvFormWrapper && n.component(\"VvFormWrapper\", t.VvFormWrapper), t?.VvFormField && n.component(\"VvFormField\", t.VvFormField), t?.VvFormFieldsGroup && n.component(\"VvFormFieldsGroup\", t.VvFormFieldsGroup), t?.VvFormTemplate && n.component(\"VvFormTemplate\", t.VvFormTemplate));\n\t\t}\n\t};\n}\nvar $ = /* @__PURE__ */ new Map();\nfunction Se(e, t = {}) {\n\tif (t.scope && $.has(t.scope)) return $.get(t.scope);\n\tif (!r()) {\n\t\tlet n = Z(e, t);\n\t\treturn t.scope && $.set(t.scope, n), n;\n\t}\n\tlet n = Z(e, {\n\t\t...a(Q, {}),\n\t\t...t\n\t});\n\treturn t.scope && $.set(t.scope, n), n;\n}\nfunction Ce(e, t = {}) {\n\treturn Z(e, t);\n}\n//#endregion\nexport { O as FormFieldType, xe as createForm, q as defaultObjectByJSONSchema, X as defaultObjectBySchema, Ce as formType, Q as pluginInjectionKey, Se as useForm };\n"],"ignoreList":[2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es-DkFMpDsf.js","names":["w","T","C","x","d","h","e","b","y","u","n","p","_","o","c","l","i","v","m","g","a","E","D","s","f","t","r","$ZodError","_superRefine","safeParse","formatError","safeParseAsync","defineComponent","h","onMounted","useId","init_runtime_core_esm_bundler","onBeforeUnmount","provide","defineAsyncComponent","unref","resolveComponent","watch","toRaw","isProxy","toValue","init_reactivity_esm_bundler","inject","computed","ref","readonly","init_runtime_dom_esm_bundler","withModifiers","getCurrentInstance","toRefs","useI18n","logger","watchIgnorable","useLocalStorage","throttleFilter","setProperty","getProperty","useSafeLocalStorage","key","initialValue","error","useLocalizedString","val","value","fb","fallbackKey","te","t","locale","O","k","M","N","P","F","I","L","R","z","B","ee","V","H","ne","U","W","G","re","ie","ae","oe","J","se","ce","le","Y","ue","de","X","fe","pe","n","me","he","e","r","ge","m","h$1","g","x","S","C","w","a","T","E","D","A","j","f","i","s","_e","v","y","b","o","d","p","ve","ye","be","Z","Q","Se"],"sources":["../../../../packages/composable/src/useSafeLocalStorage.ts","../../../../packages/composable/src/useLocalizedString.ts","../../../../node_modules/.pnpm/@volverjs+form-vue@1.1.7_@volverjs+ui-vue@0.0.24_@json-render+core@0.19.0_zod@4.6.7__@v_fe534fafae3fc8321046d7b5f6eeffd3/node_modules/@volverjs/form-vue/dist/index.es.js"],"sourcesContent":["import type { MaybeRefOrGetter, Ref } from 'vue'\nimport { ref } from 'vue'\nimport { useLocalStorage } from '@vueuse/core'\nimport { logger } from 'utils'\n\n/**\n * Wrapper around VueUse's `useLocalStorage` that catches `SecurityError`\n * thrown when storage access is blocked (cross-origin iframes, tracking\n * protection, sandboxed contexts). Falls back to a plain in-memory `ref`.\n */\nexport function useSafeLocalStorage<T>(\n key: MaybeRefOrGetter<string>,\n initialValue: T,\n): Ref<T> {\n try {\n // Probe: if localStorage is blocked, this throws immediately\n window.localStorage.getItem('')\n return useLocalStorage<T>(key, initialValue)\n } catch (error) {\n logger.warn(\n '[useSafeLocalStorage] localStorage blocked, falling back to in-memory ref',\n error,\n )\n return ref(initialValue) as Ref<T>\n }\n}\n","import { computed, toValue, type ComputedRef, type MaybeRefOrGetter } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { LocalizedString } from 'models'\n\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n fallbackKey: string,\n): ComputedRef<string>\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n): ComputedRef<string | undefined>\nexport function useLocalizedString(\n value: MaybeRefOrGetter<LocalizedString | undefined>,\n fallbackKey?: string,\n): ComputedRef<string | undefined> {\n const { locale, t, te } = useI18n({ useScope: 'global' })\n\n return computed(() => {\n const val = toValue(value)\n const fb =\n fallbackKey !== undefined && te(fallbackKey)\n ? t(fallbackKey)\n : undefined\n\n if (!val) {\n return fb\n }\n\n return val[locale.value] || fb\n })\n}\n","import { computed as e, defineAsyncComponent as t, defineComponent as n, getCurrentInstance as r, h as i, inject as a, isProxy as o, onBeforeUnmount as s, onMounted as c, provide as l, readonly as u, ref as d, resolveComponent as f, toRaw as p, toRefs as m, unref as h, useId as g, watch as _, withModifiers as v } from \"vue\";\nimport { throttleFilter as y, watchIgnorable as b } from \"@vueuse/core\";\nimport { $ZodError as x, _superRefine as S, formatError as C, safeParse as w, safeParseAsync as T } from \"zod/v4/core\";\nimport { getProperty as E, setProperty as D } from \"dot-prop\";\n//#region src/enums.ts\nvar O = /* @__PURE__ */ function(e) {\n\treturn e.text = \"text\", e.number = \"number\", e.email = \"email\", e.password = \"password\", e.tel = \"tel\", e.url = \"url\", e.search = \"search\", e.date = \"date\", e.time = \"time\", e.datetimeLocal = \"datetime-local\", e.month = \"month\", e.week = \"week\", e.color = \"color\", e.select = \"select\", e.checkbox = \"checkbox\", e.radio = \"radio\", e.textarea = \"textarea\", e.radioGroup = \"radioGroup\", e.checkboxGroup = \"checkboxGroup\", e.combobox = \"combobox\", e.custom = \"custom\", e;\n}({}), k = /* @__PURE__ */ function(e) {\n\treturn e.invalid = \"invalid\", e.valid = \"valid\", e.submitting = \"submitting\", e.reset = \"reset\", e.updated = \"updated\", e.unknown = \"unknown\", e;\n}({});\n//#endregion\n//#region src/utils.ts\nfunction A(e) {\n\treturn Array.isArray(e) ? \"array\" : e === null ? \"null\" : typeof e;\n}\nfunction j(e, t) {\n\tlet n = A(e);\n\treturn t.type ? Array.isArray(t.type) ? t.type.some((t) => t === n || t === \"integer\" && n === \"number\" && Number.isInteger(e)) : t.type === n || t.type === \"integer\" && n === \"number\" && Number.isInteger(e) : !0;\n}\nvar M = (e) => e._def.typeName === \"ZodObject\", N = (e) => e._zod.def.type === \"object\", P = (e) => e._def.typeName === \"ZodDefault\", F = (e) => e._zod.def.type === \"default\", I = (e) => e._def.typeName === \"ZodNullable\", L = (e) => e._zod.def.type === \"nullable\", R = (e) => e._def.typeName === \"ZodRecord\", z = (e) => e._zod.def.type === \"record\", B = (e) => e._def.typeName === \"ZodArray\", ee = (e) => e._zod.def.type === \"array\", te = (e) => e._def.typeName === \"ZodEffects\", V = (e) => e._def.typeName === \"ZodOptional\", H = (e) => e._zod.def.type === \"optional\", ne = (e) => e._zod.def.type === \"pipe\", U = (e) => e._zod.def.type === \"transform\";\nfunction W(e) {\n\tlet t = e;\n\tfor (; te(t);) t = t.innerType();\n\treturn t;\n}\nfunction G(e) {\n\tlet t = e;\n\tfor (; ne(t);) t = U(t._zod.def.out) ? t._zod.def.in : t._zod.def.out;\n\treturn t;\n}\nvar re = (e) => {\n\tlet t = W(e);\n\treturn V(t) && (t = t._def.innerType), t;\n}, ie = (e) => {\n\tlet t = G(e);\n\treturn H(t) && (t = t._zod.def.innerType), t;\n}, ae = (e) => !!V(W(e)), oe = (e) => !!H(G(e));\nfunction K(e, t) {\n\tif (e.length === 0) return t ?? void 0;\n\tif (t !== void 0) {\n\t\tfor (let n of e) if (j(t, n)) return q(n, t);\n\t\tfor (let n of e) {\n\t\t\tlet e = n;\n\t\t\tif (!e.type || e.type === \"object\") return q(e, t);\n\t\t}\n\t}\n\treturn q(e[0], t);\n}\nfunction q(e, t) {\n\tif (\"const\" in e) return e.const;\n\tif (e.anyOf && Array.isArray(e.anyOf)) return K(e.anyOf, t);\n\tif (e.oneOf && Array.isArray(e.oneOf)) return K(e.oneOf, t);\n\tif (e.allOf && Array.isArray(e.allOf)) {\n\t\tlet n = {\n\t\t\t...e,\n\t\t\tallOf: void 0\n\t\t};\n\t\tfor (let t of e.allOf) {\n\t\t\tlet e = t;\n\t\t\te.properties && (n.properties = {\n\t\t\t\t...n.properties,\n\t\t\t\t...e.properties\n\t\t\t}), e.type && !n.type && (n.type = e.type);\n\t\t}\n\t\treturn q(n, t);\n\t}\n\tif (Array.isArray(e.type)) {\n\t\tif (t === null && e.type.includes(\"null\")) return null;\n\t\tlet n = e.type.find((e) => e !== \"null\");\n\t\treturn n ? q({\n\t\t\t...e,\n\t\t\ttype: n\n\t\t}, t) : e.default ?? null;\n\t}\n\tif (e.type !== \"object\" || !e.properties) switch (e.type) {\n\t\tcase \"string\": return typeof t == \"string\" ? t : e.default;\n\t\tcase \"number\":\n\t\tcase \"integer\": return typeof t == \"number\" ? t : e.default;\n\t\tcase \"boolean\": return typeof t == \"boolean\" ? t : e.default;\n\t\tcase \"null\": return t === null ? t : e.default;\n\t\tcase \"array\": return Array.isArray(t) ? e.items ? t.map((t) => q(e.items, t)) : t : e.default;\n\t\tdefault: return e.default;\n\t}\n\tlet n = e.properties, r = t && typeof t == \"object\" && !Array.isArray(t) ? t : void 0, i = {};\n\tfor (let e in n) {\n\t\tlet t = r?.[e];\n\t\ti[e] = q(n[e], t);\n\t}\n\tif (r && e.additionalProperties !== !1) {\n\t\tlet e = new Set(Object.keys(n));\n\t\tfor (let [t, n] of Object.entries(r)) e.has(t) || (i[t] = n);\n\t}\n\treturn i;\n}\nvar J = (e) => \"_zod\" in e, se = {\n\tgetInnerType: re,\n\tisObject: M,\n\thasUnknownKeys: (e) => e._def.unknownKeys === \"passthrough\",\n\tgetShapeEntries: (e) => \"shape\" in e ? Object.entries(e.shape) : [],\n\tisOptional: ae,\n\tisDefault: P,\n\tgetDefaultValue: (e) => e._def.defaultValue(),\n\tgetDefaultInnerType: (e) => e._def.innerType,\n\tisNullable: I,\n\tsafeParse: (e, t) => e.safeParse(t),\n\tisArray: B,\n\tgetArrayElement: (e) => e._def.type,\n\tisRecord: R,\n\tgetRecordValue: (e) => e._def.valueType\n}, ce = {\n\tgetInnerType: ie,\n\tisObject: N,\n\thasUnknownKeys: (e) => !!(e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== \"never\"),\n\tgetShapeEntries: (e) => \"shape\" in e._zod.def ? Object.entries(e._zod.def.shape) : [],\n\tisOptional: oe,\n\tisDefault: F,\n\tgetDefaultValue: (e) => e._zod.def.defaultValue,\n\tgetDefaultInnerType: (e) => e._zod.def.innerType,\n\tisNullable: L,\n\tsafeParse: (e, t) => w(e, t),\n\tisArray: ee,\n\tgetArrayElement: (e) => e._zod.def.element,\n\tisRecord: z,\n\tgetRecordValue: (e) => e._zod.def.valueType\n};\nfunction le(e, t, n) {\n\tlet r = e.getInnerType(e.getArrayElement(t));\n\treturn e.isObject(r) ? n.map((t) => Y(e, r, t)) : n;\n}\nfunction ue(e, t, n) {\n\tlet r = e.getInnerType(e.getRecordValue(t));\n\treturn e.isObject(r) ? Object.keys(n).reduce((t, i) => (t[i] = Y(e, r, n[i]), t), {}) : n;\n}\nfunction de(e, t, n, r) {\n\tlet i = e.isOptional(n), a = e.getInnerType(n), o;\n\tif (e.isDefault(a) && (o = e.getDefaultValue(a), a = e.getDefaultInnerType(a)), r === null && e.isNullable(a)) return [t, r];\n\tif (r == null && i) return [t, o];\n\tif (a && r !== void 0) {\n\t\tlet i = e.safeParse(n, r);\n\t\tif (i.success) return [t, i.data ?? o];\n\t}\n\treturn e.isArray(a) && Array.isArray(r) ? [t, le(e, a, r)] : e.isRecord(a) && r ? [t, ue(e, a, r)] : e.isObject(a) ? [t, Y(e, a, r && typeof r == \"object\" ? r : o)] : [t, o];\n}\nfunction Y(e, t, n) {\n\tlet r = n && typeof n == \"object\" && !Array.isArray(n) ? n : {};\n\treturn {\n\t\t...e.hasUnknownKeys(t) ? r : {},\n\t\t...Object.fromEntries(e.getShapeEntries(t).map(([t, n]) => de(e, t, n, r[t])))\n\t};\n}\nfunction X(e, t = {}) {\n\tlet n = J(e) ? ce : se, r = n.getInnerType(e);\n\treturn n.isObject(r) ? Y(n, r, t) : t;\n}\nvar fe = (e, t) => J(e) ? T(e, t) : e.safeParseAsync(t);\nfunction pe(e, t) {\n\tif (!t) return e;\n\tif (J(e)) {\n\t\tlet n = e;\n\t\tif (typeof n.check != \"function\") throw TypeError(\"[@volverjs/form-vue]: superRefine needs a schema built with \\\"zod\\\" or \\\"zod/mini\\\". A schema built directly from \\\"zod/v4/core\\\" has no .check() to attach the refinement to.\");\n\t\treturn n.check(S(t));\n\t}\n\treturn e.superRefine(t);\n}\nvar me = (e, t) => J(e) ? C(t) : t.format(), he = (e, t, n) => {\n\tif (J(e)) return C(new x(n));\n\tlet r = t.constructor;\n\treturn new r(n).format();\n};\n//#endregion\n//#region src/VvForm.ts\nfunction ge(t, r, a, s, f) {\n\tlet m = d(), h = d(), g = e(() => h.value === k.invalid), x = d(), S = d(!1), C, w = (e) => {\n\t\tlet n = X(t, e);\n\t\tif (a?.class) {\n\t\t\tlet e = a.class;\n\t\t\treturn new e(n);\n\t\t}\n\t\treturn n;\n\t}, T = /* @__PURE__ */ new WeakMap(), E = (e) => {\n\t\tif (!e) return t;\n\t\tlet n = T.get(e);\n\t\treturn n || (n = pe(t, e), T.set(e, n)), n;\n\t}, D = async (e = x.value, n) => {\n\t\tif (C = n?.fields, S.value) return !0;\n\t\tlet r = await fe(E(n?.superRefine), e);\n\t\tif (!r.success) {\n\t\t\tif (!C?.size) return h.value = k.invalid, m.value = me(t, r.error), !1;\n\t\t\tlet e = r.error.issues.filter((e) => C?.has(e.path.join(\".\")));\n\t\t\treturn e.length ? (h.value = k.invalid, m.value = he(t, r.error, e), !1) : (m.value = void 0, h.value = k.unknown, !0);\n\t\t}\n\t\treturn m.value = void 0, h.value = k.valid, x.value = w(r.data), !0;\n\t}, O = () => {\n\t\tm.value = void 0, h.value = void 0, C = void 0;\n\t}, { ignoreUpdates: A, stop: j } = b(x, () => {\n\t\th.value = k.updated;\n\t}, {\n\t\tdeep: !0,\n\t\teventFilter: y(a?.updateThrottle ?? 500)\n\t}), M = () => {\n\t\tA(() => {\n\t\t\tx.value = w();\n\t\t}), O(), h.value = k.reset;\n\t}, N = async (e) => S.value || !await D(void 0, e) ? !1 : (h.value = k.submitting, !0), P = u(m), F = u(h);\n\treturn {\n\t\tclear: O,\n\t\terrors: m,\n\t\tformData: x,\n\t\tignoreUpdates: A,\n\t\tinvalid: g,\n\t\treadonly: S,\n\t\treset: M,\n\t\tstatus: h,\n\t\twrappers: f,\n\t\tstopUpdatesWatch: j,\n\t\tsubmit: N,\n\t\tvalidate: D,\n\t\tVvForm: n({\n\t\t\tname: \"VvForm\",\n\t\t\tprops: {\n\t\t\t\tcontinuousValidation: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: !1\n\t\t\t\t},\n\t\t\t\tmodelValue: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tdefault: () => ({})\n\t\t\t\t},\n\t\t\t\treadonly: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: a?.readonly\n\t\t\t\t},\n\t\t\t\ttag: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\tdefault: \"form\"\n\t\t\t\t},\n\t\t\t\ttemplate: {\n\t\t\t\t\ttype: [Array, Function],\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tsuperRefine: {\n\t\t\t\t\ttype: Function,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tvalidateFields: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\temits: [\n\t\t\t\t\"invalid\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"update:modelValue\",\n\t\t\t\t\"update:readonly\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\texpose: [\n\t\t\t\t\"errors\",\n\t\t\t\t\"invalid\",\n\t\t\t\t\"readonly\",\n\t\t\t\t\"status\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"template\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"validate\",\n\t\t\t\t\"clear\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\tslots: Object,\n\t\t\tsetup(e, { emit: t }) {\n\t\t\t\tx.value = w(p(e.modelValue)), _(() => e.modelValue, (e) => {\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\tlet t = o(e) ? p(e) : e;\n\t\t\t\t\t\tif (JSON.stringify(t) === JSON.stringify(p(x.value))) return;\n\t\t\t\t\t\tx.value = w(t);\n\t\t\t\t\t}\n\t\t\t\t}, { deep: !0 }), _(h, async (n) => {\n\t\t\t\t\tif (n === k.invalid) {\n\t\t\t\t\t\tlet e = p(m.value);\n\t\t\t\t\t\tt(\"invalid\", e), a?.onInvalid?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.valid) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"valid\", e), a?.onValid?.(e), t(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.submitting) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"submit\", e), a?.onSubmit?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.reset) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"reset\", e), a?.onReset?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.updated) {\n\t\t\t\t\t\tif ((m.value || a?.continuousValidation || e.continuousValidation) && await D(void 0, {\n\t\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\t\tfields: C ?? new Set(e.validateFields)\n\t\t\t\t\t\t}), !x.value || !e.modelValue || JSON.stringify(x.value) !== JSON.stringify(e.modelValue)) {\n\t\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\t\tt(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\th.value === k.updated && (h.value = k.unknown);\n\t\t\t\t\t}\n\t\t\t\t}), c(() => {\n\t\t\t\t\te.readonly !== void 0 && (S.value = e.readonly);\n\t\t\t\t}), _(() => e.readonly, (e) => {\n\t\t\t\t\tS.value = e;\n\t\t\t\t}), _(S, (n) => {\n\t\t\t\t\tn !== e.readonly && t(\"update:readonly\", S.value);\n\t\t\t\t});\n\t\t\t\tlet n = (t, n) => D(t, {\n\t\t\t\t\tfields: n?.fields,\n\t\t\t\t\tsuperRefine: n?.superRefine ?? e.superRefine\n\t\t\t\t}), i = () => N({\n\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\tfields: new Set(e.validateFields)\n\t\t\t\t});\n\t\t\t\treturn l(r, {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\treadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t}), {\n\t\t\t\t\tclear: O,\n\t\t\t\t\terrors: P,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\tisReadonly: S,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstatus: F,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: i,\n\t\t\t\t\tvalidate: n,\n\t\t\t\t\twrappers: f\n\t\t\t\t};\n\t\t\t},\n\t\t\trender() {\n\t\t\t\tlet e = () => this.$slots?.default?.({\n\t\t\t\t\terrors: P.value,\n\t\t\t\t\tformData: x.value,\n\t\t\t\t\tinvalid: g.value,\n\t\t\t\t\treadonly: S.value,\n\t\t\t\t\tstatus: F.value,\n\t\t\t\t\twrappers: f,\n\t\t\t\t\tclear: O,\n\t\t\t\t\tignoreUpdates: A,\n\t\t\t\t\treset: M,\n\t\t\t\t\tstopUpdatesWatch: j,\n\t\t\t\t\tsubmit: this.submit,\n\t\t\t\t\tvalidate: this.validate\n\t\t\t\t}) ?? this.$slots.default;\n\t\t\t\treturn i(this.tag, {\n\t\t\t\t\tonSubmit: v(this.submit, [\"prevent\"]),\n\t\t\t\t\tonReset: v(this.reset, [\"prevent\"])\n\t\t\t\t}, (this.template ?? a?.template) && s ? [i(s, { schema: this.template ?? a?.template }, { default: e })] : { default: e });\n\t\t\t}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/VvFormField.ts\nfunction _e(r, o, d, p) {\n\treturn n({\n\t\tname: \"VvFormField\",\n\t\tprops: {\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tvalidator: (e) => Object.values(O).includes(e),\n\t\t\t\tdefault: O.custom\n\t\t\t},\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tSymbol\n\t\t\t\t],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValue: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tArray,\n\t\t\t\t\tObject\n\t\t\t\t],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tlazyLoad: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabel\",\n\t\t\t\"is\",\n\t\t\t\"type\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: v }) {\n\t\t\tlet { props: y, name: b } = m(n), x = g(), S = a(o, void 0);\n\t\t\tS && S.fields.value.set(x, n.name);\n\t\t\tlet C = a(r), w = e({\n\t\t\t\tget() {\n\t\t\t\t\tif (C?.formData) return E(new Object(C.formData.value), String(n.name));\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tC?.formData && (D(new Object(C.formData.value), String(n.name), e), v(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: w.value,\n\t\t\t\t\t\tformData: C?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tw.value === void 0 && n.defaultValue !== void 0 && (w.value = n.defaultValue);\n\t\t\t}), s(() => {\n\t\t\t\tS && S.fields.value.delete(x);\n\t\t\t});\n\t\t\tlet T = e(() => {\n\t\t\t\tif (C?.errors.value) return E(C.errors.value, String(n.name));\n\t\t\t}), k = e(() => T.value?._errors), A = e(() => T.value !== void 0), j = _(A, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\tv(\"invalid\", T.value), S && S.errors.value.set(String(n.name), T.value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tv(\"valid\", w.value), S && S.errors.value.delete(n.name);\n\t\t\t}), M = _(() => C?.formData, () => {\n\t\t\t\tv(\"update:formData\", C?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tj(), M();\n\t\t\t});\n\t\t\tlet N = (e) => {\n\t\t\t\te instanceof InputEvent && (e = e.target.value), w.value = e;\n\t\t\t}, P = e(() => {\n\t\t\t\tlet e = y.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(C?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), F = e(() => C?.readonly.value || S?.readonly.value ? !0 : P.value.readonly ?? n.readonly), I = e(() => ({\n\t\t\t\t...P.value,\n\t\t\t\tname: P.value.name ?? n.name,\n\t\t\t\tinvalid: A.value,\n\t\t\t\tvalid: n.showValid ? !(A.value || !w.value) : void 0,\n\t\t\t\ttype: ((e) => {\n\t\t\t\t\tif ([\n\t\t\t\t\t\tO.color,\n\t\t\t\t\t\tO.date,\n\t\t\t\t\t\tO.datetimeLocal,\n\t\t\t\t\t\tO.email,\n\t\t\t\t\t\tO.month,\n\t\t\t\t\t\tO.number,\n\t\t\t\t\t\tO.password,\n\t\t\t\t\t\tO.search,\n\t\t\t\t\t\tO.tel,\n\t\t\t\t\t\tO.text,\n\t\t\t\t\t\tO.time,\n\t\t\t\t\t\tO.url,\n\t\t\t\t\t\tO.week\n\t\t\t\t\t].includes(e)) return e;\n\t\t\t\t})(n.type),\n\t\t\t\tinvalidLabel: k.value,\n\t\t\t\tmodelValue: w.value,\n\t\t\t\treadonly: F.value,\n\t\t\t\t\"onUpdate:modelValue\": N\n\t\t\t}));\n\t\t\treturn l(d, {\n\t\t\t\tname: u(b),\n\t\t\t\terrors: u(T)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => {\n\t\t\t\t\tif (n.type === O.custom) return { render() {\n\t\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\t\terrors: u(T).value,\n\t\t\t\t\t\t\tformData: C?.formData.value,\n\t\t\t\t\t\t\tformErrors: C?.errors.value,\n\t\t\t\t\t\t\tinvalid: A.value,\n\t\t\t\t\t\t\tinvalidLabel: k.value,\n\t\t\t\t\t\t\tmodelValue: w.value,\n\t\t\t\t\t\t\treadonly: F.value,\n\t\t\t\t\t\t\tonUpdate: N,\n\t\t\t\t\t\t\tsubmit: C?.submit,\n\t\t\t\t\t\t\tvalidate: C?.validate\n\t\t\t\t\t\t}) ?? i.default;\n\t\t\t\t\t} };\n\t\t\t\t\tif (!(p?.lazyLoad ?? n.lazyLoad)) {\n\t\t\t\t\t\tlet e;\n\t\t\t\t\t\tswitch (n.type) {\n\t\t\t\t\t\t\tcase O.select:\n\t\t\t\t\t\t\t\te = f(\"VvSelect\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkbox:\n\t\t\t\t\t\t\t\te = f(\"VvCheckbox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radio:\n\t\t\t\t\t\t\t\te = f(\"VvRadio\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.textarea:\n\t\t\t\t\t\t\t\te = f(\"VvTextarea\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radioGroup:\n\t\t\t\t\t\t\t\te = f(\"VvRadioGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkboxGroup:\n\t\t\t\t\t\t\t\te = f(\"VvCheckboxGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.combobox:\n\t\t\t\t\t\t\t\te = f(\"VvCombobox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: e = f(\"VvInputText\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof e != \"string\") return e;\n\t\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: ${e} not found, the component will be loaded asynchronously. To avoid this warning, please set \"lazyLoad\" option.`);\n\t\t\t\t\t}\n\t\t\t\t\treturn t(async () => {\n\t\t\t\t\t\tswitch (p?.sideEffects && await Promise.resolve(p.sideEffects(n.type)), n.type) {\n\t\t\t\t\t\t\tcase O.textarea: return import(\"@volverjs/ui-vue/vv-textarea\");\n\t\t\t\t\t\t\tcase O.radio: return import(\"@volverjs/ui-vue/vv-radio\");\n\t\t\t\t\t\t\tcase O.radioGroup: return import(\"@volverjs/ui-vue/vv-radio-group\");\n\t\t\t\t\t\t\tcase O.checkbox: return import(\"@volverjs/ui-vue/vv-checkbox\");\n\t\t\t\t\t\t\tcase O.checkboxGroup: return import(\"@volverjs/ui-vue/vv-checkbox-group\");\n\t\t\t\t\t\t\tcase O.select: return import(\"@volverjs/ui-vue/vv-select\");\n\t\t\t\t\t\t\tcase O.combobox: return import(\"@volverjs/ui-vue/vv-combobox\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn import(\"@volverjs/ui-vue/vv-input-text\");\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\thasProps: I,\n\t\t\t\tinvalid: A\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : this.type === O.custom ? i(this.component, null, this.$slots) : i(this.component, this.hasProps, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormFieldsGroup.ts\nfunction ve(t, r, o) {\n\treturn n({\n\t\tname: \"VvFormFieldsGroup\",\n\t\tprops: {\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tnames: {\n\t\t\t\ttype: [Array, Object],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValues: {\n\t\t\t\ttype: [Object],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabels\",\n\t\t\t\"is\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: d }) {\n\t\t\tlet { props: f, names: p, defaultValues: v } = m(n), y = g(), b = e(() => Array.isArray(p.value) ? p.value : Object.values(p.value)), x = e(() => Array.isArray(p.value) ? p.value : Object.keys(p.value)), S = e(() => Array.isArray(p.value) ? p.value.reduce((e, t) => (e[String(t)] = t, e), {}) : p.value), C = e(() => Object.keys(S.value).reduce((e, t) => (e[String(S.value[t])] = t, e), {})), w = a(r, void 0);\n\t\t\tw && b.value.forEach((e) => {\n\t\t\t\tw.fields.value.set(`${y}-${e}`, e);\n\t\t\t});\n\t\t\tlet T = a(t), O = e({\n\t\t\t\tget() {\n\t\t\t\t\treturn T?.formData ? x.value.reduce((e, t) => (e[t] = E(new Object(T.formData.value), S.value[t]), e), {}) : {};\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tT?.formData && (x.value.forEach((t) => {\n\t\t\t\t\t\tD(new Object(T.formData.value), S.value[t], e?.[t]);\n\t\t\t\t\t}), d(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: O.value,\n\t\t\t\t\t\tformData: T?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tv.value && b.value.forEach((e) => {\n\t\t\t\t\tv.value?.[e] !== void 0 && O.value[e] === void 0 && (O.value = {\n\t\t\t\t\t\t...O.value,\n\t\t\t\t\t\t[e]: v.value?.[e]\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}), s(() => {\n\t\t\t\tw && b.value.forEach((e) => {\n\t\t\t\t\tw.fields.value.delete(`${y}-${e}`);\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet k = e(() => {\n\t\t\t\tif (!T?.errors.value) return;\n\t\t\t\tlet e = b.value.reduce((e, t) => {\n\t\t\t\t\tif (!T.errors.value) return e;\n\t\t\t\t\tlet n = E(T.errors.value, String(t));\n\t\t\t\t\treturn n === void 0 || (e[String(t)] = n), e;\n\t\t\t\t}, {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), A = e(() => {\n\t\t\t\tif (!k.value) return;\n\t\t\t\tlet e = Object.keys(k.value).reduce((e, t) => (k.value?.[t] && (e[C.value[t]] = k.value[t]._errors), e), {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), j = e(() => k.value !== void 0), M = e(() => x.value.reduce((e, t) => (e[t] = !!k.value?.[S.value[t]], e), {})), N = _(j, () => {\n\t\t\t\tif (j.value) {\n\t\t\t\t\td(\"invalid\", k.value), w && b.value.forEach((e) => {\n\t\t\t\t\t\tif (!k.value?.[e]) {\n\t\t\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tw.errors.value.set(e, k.value?.[e]);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\td(\"valid\", O.value), w && b.value.forEach((e) => {\n\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t});\n\t\t\t}), P = _(() => T?.formData, () => {\n\t\t\t\td(\"update:formData\", T?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tN(), P();\n\t\t\t});\n\t\t\tlet F = (e) => {\n\t\t\t\tO.value = e;\n\t\t\t}, I = (e, t) => {\n\t\t\t\tt instanceof InputEvent && (t = t.target.value), x.value.includes(e) && (O.value = {\n\t\t\t\t\t...O.value,\n\t\t\t\t\t[e]: t\n\t\t\t\t});\n\t\t\t}, L = e(() => {\n\t\t\t\tlet e = f.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(T?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), R = e(() => T?.readonly.value ? !0 : L.value.readonly ?? n.readonly), z = e(() => x.value.reduce((e, t) => (e[`onUpdate:${t}`] = (e) => {\n\t\t\t\tI(t, e);\n\t\t\t}, e), { \"onUpdate:modelValue\": F })), B = e(() => ({\n\t\t\t\t...z.value,\n\t\t\t\t...L.value,\n\t\t\t\t...O.value,\n\t\t\t\tmodelValue: O.value,\n\t\t\t\tnames: L.value.name ?? b.value,\n\t\t\t\tinvalid: j.value,\n\t\t\t\tinvalids: M.value,\n\t\t\t\tvalid: n.showValid ? !(j.value || !O.value) : void 0,\n\t\t\t\tinvalidLabels: A.value,\n\t\t\t\treadonly: R.value\n\t\t\t}));\n\t\t\treturn l(o, {\n\t\t\t\tnames: u(p),\n\t\t\t\terrors: u(k)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => ({ render() {\n\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\terrors: k.value,\n\t\t\t\t\t\tformData: T?.formData.value,\n\t\t\t\t\t\tformErrors: T?.errors.value,\n\t\t\t\t\t\tinvalid: j.value,\n\t\t\t\t\t\tinvalids: M.value,\n\t\t\t\t\t\tinvalidLabels: A.value,\n\t\t\t\t\t\tmodelValue: O.value,\n\t\t\t\t\t\tonUpdate: F,\n\t\t\t\t\t\tonUpdateField: I,\n\t\t\t\t\t\treadonly: R.value,\n\t\t\t\t\t\tsubmit: T?.submit,\n\t\t\t\t\t\tvalidate: T?.validate\n\t\t\t\t\t}) ?? i.default;\n\t\t\t\t} })),\n\t\t\t\thasProps: B,\n\t\t\t\tinvalid: j\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : i(this.component, null, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormWrapper.ts\nfunction ye(t, r) {\n\treturn n({\n\t\tname: \"VvFormWrapper\",\n\t\tprops: {\n\t\t\tname: {\n\t\t\t\ttype: String,\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\ttag: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t}\n\t\t},\n\t\temits: [\"invalid\", \"valid\"],\n\t\texpose: [\n\t\t\t\"clear\",\n\t\t\t\"errors\",\n\t\t\t\"fields\",\n\t\t\t\"fieldsErrors\",\n\t\t\t\"formData\",\n\t\t\t\"invalid\",\n\t\t\t\"readonly\",\n\t\t\t\"reset\",\n\t\t\t\"submit\",\n\t\t\t\"tag\",\n\t\t\t\"validate\",\n\t\t\t\"validateWrapper\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { emit: i }) {\n\t\t\tlet o = a(t), f = a(r, void 0), p = d(/* @__PURE__ */ new Map()), h = d(/* @__PURE__ */ new Map()), { name: g } = m(n), v = e(() => o?.invalid.value ? h.value.size > 0 : !1);\n\t\t\t_(v, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\ti(\"invalid\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti(\"valid\");\n\t\t\t});\n\t\t\tlet y = e(() => o?.readonly.value || n.readonly), b = {\n\t\t\t\tname: u(g),\n\t\t\t\terrors: h,\n\t\t\t\tinvalid: u(v),\n\t\t\t\treadonly: u(y),\n\t\t\t\tfields: p\n\t\t\t};\n\t\t\tl(r, b);\n\t\t\tlet x = e(() => new Map(p.value));\n\t\t\treturn _(x, (e, t) => {\n\t\t\t\tf?.fields && (t.forEach((t, n) => {\n\t\t\t\t\te.has(n) || f?.fields.value.delete(n);\n\t\t\t\t}), e.forEach((e, t) => {\n\t\t\t\t\tf?.fields.value.has(t) || f?.fields.value.set(t, e);\n\t\t\t\t}));\n\t\t\t}, { deep: !0 }), _(h, (e) => {\n\t\t\t\tf?.errors && p.value.forEach((t) => {\n\t\t\t\t\tif (e.has(t) || f.errors.value.delete(t), e.has(t)) {\n\t\t\t\t\t\tlet n = e.get(t);\n\t\t\t\t\t\tn && f.errors.value.set(t, n);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: !0 }), c(() => {\n\t\t\t\tif (!o?.wrappers || !g.value) {\n\t\t\t\t\tconsole.warn(\"[@volverjs/form-vue]: Invalid wrapper registration state\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (o.wrappers.has(g.value)) {\n\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: wrapper name \"${g.value}\" is already used`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\to.wrappers.set(g.value, b);\n\t\t\t}), s(() => {\n\t\t\t\to?.wrappers && g.value && o.wrappers.delete(g.value);\n\t\t\t}), {\n\t\t\t\terrors: o?.errors,\n\t\t\t\tfields: p,\n\t\t\t\tfieldsErrors: h,\n\t\t\t\tformData: o?.formData,\n\t\t\t\tinvalid: v,\n\t\t\t\treadonly: y,\n\t\t\t\tclear: o?.clear,\n\t\t\t\treset: o?.reset,\n\t\t\t\tsubmit: o?.submit,\n\t\t\t\tvalidate: o?.validate,\n\t\t\t\tvalidateWrapper: () => o?.validate(void 0, { fields: new Set(p.value.values()) }) ?? Promise.resolve(!0)\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\tlet e = () => this.$slots.default?.({\n\t\t\t\terrors: this.errors,\n\t\t\t\tfieldsErrors: this.fieldsErrors,\n\t\t\t\tformData: this.formData,\n\t\t\t\tinvalid: this.invalid,\n\t\t\t\treadonly: this.readonly,\n\t\t\t\tclear: this.clear,\n\t\t\t\treset: this.reset,\n\t\t\t\tsubmit: this.submit,\n\t\t\t\tvalidate: this.validate,\n\t\t\t\tvalidateWrapper: this.validateWrapper\n\t\t\t});\n\t\t\treturn this.tag ? i(this.tag, null, { default: e }) : e();\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormTemplate.ts\nfunction be(e, t) {\n\tlet r = n({\n\t\tname: \"VvFormTemplate\",\n\t\tprops: {\n\t\t\tschema: {\n\t\t\t\ttype: [Array, Function],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tscope: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: () => ({})\n\t\t\t}\n\t\t},\n\t\tslots: Object,\n\t\tsetup(n, { slots: o }) {\n\t\t\tlet s = a(e);\n\t\t\tif (s?.formData) return () => {\n\t\t\t\tlet e = typeof n.schema == \"function\" ? n.schema(s, n.scope) : n.schema, a, c = e.reduce((e, o) => {\n\t\t\t\t\tlet { vvIs: c, vvName: l, vvSlots: u, vvChildren: d, vvIf: f, vvElseIf: p, vvType: m, vvDefaultValue: g, vvShowValid: _, vvContent: v, ...y } = typeof o == \"function\" ? o(s, n.scope) : o;\n\t\t\t\t\tif (f !== void 0) {\n\t\t\t\t\t\tif (a = typeof f == \"string\" ? !!E(new Object(s.formData.value), f) : h(typeof f == \"function\" ? f(s) : f), !a) return e;\n\t\t\t\t\t} else if (p !== void 0 && a !== void 0) {\n\t\t\t\t\t\tif (a || (a = typeof p == \"string\" ? !!E(new Object(s.formData.value), p) : h(typeof p == \"function\" ? p(s) : p), !a)) return e;\n\t\t\t\t\t} else a = void 0;\n\t\t\t\t\tlet b;\n\t\t\t\t\treturn d && (b = typeof c == \"string\" ? i(r, { schema: d }) : { default: (e) => i(r, {\n\t\t\t\t\t\tschema: d,\n\t\t\t\t\t\tscope: e\n\t\t\t\t\t}) }), l ? (e.push(i(t, {\n\t\t\t\t\t\tname: l,\n\t\t\t\t\t\tis: c,\n\t\t\t\t\t\ttype: m,\n\t\t\t\t\t\tdefaultValue: g,\n\t\t\t\t\t\tshowValid: _,\n\t\t\t\t\t\tprops: y\n\t\t\t\t\t}, u ?? b ?? v)), e) : c ? (e.push(i(c, y, u ?? b ?? v)), e) : (b && (\"default\" in b ? e.push(b.default(n.scope)) : e.push(b)), e);\n\t\t\t\t}, []);\n\t\t\t\treturn c.push(o?.default?.({\n\t\t\t\t\terrors: s?.errors.value,\n\t\t\t\t\tformData: s?.formData.value,\n\t\t\t\t\tinvalid: s?.invalid.value,\n\t\t\t\t\tstatus: s?.status.value,\n\t\t\t\t\tsubmit: s?.submit,\n\t\t\t\t\tvalidate: s?.validate,\n\t\t\t\t\tclear: s?.clear,\n\t\t\t\t\treset: s?.reset\n\t\t\t\t})), c;\n\t\t\t};\n\t\t}\n\t});\n\treturn r;\n}\n//#endregion\n//#region src/index.ts\nfunction Z(e, t = {}) {\n\tlet n = Symbol(\"formInjectionKey\"), r = Symbol(\"formWrapperInjectionKey\"), i = Symbol(\"formFieldInjectionKey\"), a = Symbol(\"formFieldsGroupInjectionKey\"), o = ye(n, r), s = _e(n, r, i, t), c = ve(n, r, a), l = be(n, s), u = /* @__PURE__ */ new Map(), { clear: d, errors: f, formData: p, ignoreUpdates: m, invalid: h, readonly: g, reset: _, status: v, stopUpdatesWatch: y, submit: b, validate: x, VvForm: S } = ge(e, n, t, l, u);\n\treturn {\n\t\tclear: d,\n\t\terrors: f,\n\t\tformData: p,\n\t\tformFieldInjectionKey: i,\n\t\tformInjectionKey: n,\n\t\tformWrapperInjectionKey: r,\n\t\tignoreUpdates: m,\n\t\tinvalid: h,\n\t\treadonly: g,\n\t\treset: _,\n\t\tstatus: v,\n\t\tstopUpdatesWatch: y,\n\t\tsubmit: b,\n\t\tvalidate: x,\n\t\twrappers: u,\n\t\tVvForm: S,\n\t\tVvFormField: s,\n\t\tVvFormFieldsGroup: c,\n\t\tVvFormTemplate: l,\n\t\tVvFormWrapper: o\n\t};\n}\nvar Q = Symbol(\"pluginInjectionKey\");\nfunction xe(e) {\n\tlet t = {};\n\treturn e.schema && (t = Z(e.schema, e)), {\n\t\t...t,\n\t\tinstall(n, { global: r = !1 } = {}) {\n\t\t\tn.provide(Q, e), r && (n.config.globalProperties.$vvForm = e, t?.VvForm && n.component(\"VvForm\", t.VvForm), t?.VvFormWrapper && n.component(\"VvFormWrapper\", t.VvFormWrapper), t?.VvFormField && n.component(\"VvFormField\", t.VvFormField), t?.VvFormFieldsGroup && n.component(\"VvFormFieldsGroup\", t.VvFormFieldsGroup), t?.VvFormTemplate && n.component(\"VvFormTemplate\", t.VvFormTemplate));\n\t\t}\n\t};\n}\nvar $ = /* @__PURE__ */ new Map();\nfunction Se(e, t = {}) {\n\tif (t.scope && $.has(t.scope)) return $.get(t.scope);\n\tif (!r()) {\n\t\tlet n = Z(e, t);\n\t\treturn t.scope && $.set(t.scope, n), n;\n\t}\n\tlet n = Z(e, {\n\t\t...a(Q, {}),\n\t\t...t\n\t});\n\treturn t.scope && $.set(t.scope, n), n;\n}\nfunction Ce(e, t = {}) {\n\treturn Z(e, t);\n}\n//#endregion\nexport { O as FormFieldType, xe as createForm, q as defaultObjectByJSONSchema, X as defaultObjectBySchema, Ce as formType, Q as pluginInjectionKey, Se as useForm };\n"],"ignoreList":[2],"mappings":"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"}
|
|
@@ -80,8 +80,51 @@ var e = null, t = /pass(word)?|secret|token|api[-_]?key|authorization|cookie|cre
|
|
|
80
80
|
l && console.timeLog(e, ...t);
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
|
-
new TextEncoder()
|
|
83
|
+
new TextEncoder();
|
|
84
84
|
//#endregion
|
|
85
|
-
|
|
85
|
+
//#region ../../packages/utils/src/phoneNumber.ts
|
|
86
|
+
var b = /* @__PURE__ */ new Set(["1", "7"]), x = new Set("20 27 30 31 32 33 34 36 39 40 41 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 81 82 84 86 90 91 92 93 94 95 98".split(" "));
|
|
87
|
+
function S(e) {
|
|
88
|
+
let t = b.has(e.slice(0, 1)) ? 1 : x.has(e.slice(0, 2)) ? 2 : 3;
|
|
89
|
+
return e.length > t ? [e.slice(0, t), e.slice(t)] : void 0;
|
|
90
|
+
}
|
|
91
|
+
function C(e, t = "+39") {
|
|
92
|
+
if (!e) return "";
|
|
93
|
+
let n = e.trim().replace(/[^\d+]/g, "");
|
|
94
|
+
if (!n) return "";
|
|
95
|
+
let r = "", i = t.replace("+", "");
|
|
96
|
+
if (n.startsWith("+")) {
|
|
97
|
+
let e = n.match(/^\+(\d+)$/);
|
|
98
|
+
if (e) {
|
|
99
|
+
let t = e[1];
|
|
100
|
+
if (t.startsWith(i)) r = t.substring(i.length);
|
|
101
|
+
else {
|
|
102
|
+
let e = S(t);
|
|
103
|
+
e && ([i, r] = e);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} else if (n.startsWith("00")) {
|
|
107
|
+
let e = n.substring(2);
|
|
108
|
+
if (e.startsWith(i)) r = e.substring(i.length);
|
|
109
|
+
else {
|
|
110
|
+
let t = S(e);
|
|
111
|
+
t && ([i, r] = t);
|
|
112
|
+
}
|
|
113
|
+
} else n.startsWith(i) && n.length > i.length + 8 ? r = n.substring(i.length) : (r = n, i !== "39" && r.startsWith("0") && r.length > 1 && (r = r.substring(1)));
|
|
114
|
+
if (!r) return e;
|
|
115
|
+
let a = `+${i}`;
|
|
116
|
+
if (i === "39" && r.length === 10 && r.startsWith("3") || i === "39" && r.length >= 9 && r.length <= 11 && r.startsWith("0")) return `${a} ${r.substring(0, 3)} ${r.substring(3)}`;
|
|
117
|
+
let o = [], s = r;
|
|
118
|
+
for (; s.length > 0;) {
|
|
119
|
+
if (s.length <= 4) {
|
|
120
|
+
o.push(s);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
o.push(s.substring(0, 3)), s = s.substring(3);
|
|
124
|
+
}
|
|
125
|
+
return `${a} ${o.join(" ")}`;
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
export { y as n, C as t };
|
|
86
129
|
|
|
87
|
-
//# sourceMappingURL=src-
|
|
130
|
+
//# sourceMappingURL=src-CggZ5M7x.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-CggZ5M7x.js","names":["_otelBridge","SENSITIVE_KEY_RE","SERIALIZE_MAX_DEPTH","SERIALIZE_MAX_LENGTH","safeSerialize","seen","render","val","depth","item","out","key","rendered","value","text","formatParam","param","extractError","params","p","formatParams","isServerSide","isLoggingEnabled","LEVEL_WEIGHT","_consoleFloor","level","printsAt","log","error","err","info","debug","warn","withAttrs","attrs","message","logger","name","condition","table","ONE_DIGIT_COUNTRY_CODES","TWO_DIGIT_COUNTRY_CODES","splitCountryCode","length","digits","formatPhoneNumber","phone","cleaned","nationalNumber","countryCode","defaultPrefix","match","split","prefix","parts","remaining"],"sources":["../../../../packages/utils/src/logger.ts","../../../../packages/utils/src/internal-signature.ts","../../../../packages/utils/src/phoneNumber.ts"],"sourcesContent":["import type { Ref } from 'vue'\n\ntype ExceptionTracker = (\n error: Error,\n properties?: Record<string, string>,\n) => void\n\ntype OtelLoggerBridge = {\n logInfo: (msg: string, attrs?: Record<string, unknown>) => void\n logEvent: (name: string, attrs?: Record<string, unknown>) => void\n logDebug: (msg: string, attrs?: Record<string, unknown>) => void\n logWarn: (msg: string, attrs?: Record<string, unknown>) => void\n logError: (msg: string, attrs?: Record<string, unknown>) => void\n logException: (error: Error, attrs?: Record<string, unknown>) => void\n} | null\n\nlet _exceptionTracker: ExceptionTracker | undefined\n/** Runtime-set bridge to OTel LoggerProvider (set during backend init) */\nlet _otelBridge: OtelLoggerBridge = null\n\n/**\n * Registers the OTel logger bridge at runtime.\n * Called by the backend during startup; no-op in the frontend.\n */\nexport const setOtelLoggerBridge = (bridge: OtelLoggerBridge) => {\n _otelBridge = bridge\n}\n\n/**\n * Registers a callback invoked by error/warn/logError/logWarn to track exceptions\n * (e.g. OTel recordException + span status ERROR).\n */\nexport const setExceptionTracker = (tracker: ExceptionTracker) => {\n _exceptionTracker = tracker\n}\n\n/**\n * Keys whose values must never land in a log line. The OTel sink additionally\n * masks value patterns (see packages/telemetry/src/sanitization.ts), which\n * utils cannot import: the bridge exists precisely to avoid that dependency.\n */\nconst SENSITIVE_KEY_RE =\n /pass(word)?|secret|token|api[-_]?key|authorization|cookie|credential/i\nconst SERIALIZE_MAX_DEPTH = 3\nconst SERIALIZE_MAX_LENGTH = 2_000\n\n/**\n * Serializes a non-Error object for a log line. `String(param)` produced\n * `[object Object]`, which made whole error families undiagnosable. A naked\n * JSON.stringify is not the fix either: it throws on circular references and\n * BigInt, has no depth or length cap, and would promote sensitive fields\n * into the message. This handles all four.\n */\nconst safeSerialize = (value: unknown): string => {\n const seen = new WeakSet<object>()\n const render = (val: unknown, depth: number): unknown => {\n if (val instanceof Error) {\n return val.stack ?? val.message\n }\n if (typeof val === 'bigint') {\n return `${val.toString()}n`\n }\n if (typeof val === 'function' || typeof val === 'symbol') {\n return String(val)\n }\n if (typeof val !== 'object' || val === null) {\n return val\n }\n if (seen.has(val)) {\n return '[Circular]'\n }\n if (depth >= SERIALIZE_MAX_DEPTH) {\n return Array.isArray(val) ? '[Array]' : '[Object]'\n }\n // Added on the way down, removed on the way back up: only a true\n // cycle is flagged, a shared reference (the same object under two\n // keys) is rendered normally.\n seen.add(val)\n try {\n if (Array.isArray(val)) {\n return val.map((item) => render(item, depth + 1))\n }\n const out: Record<string, unknown> = {}\n for (const [key, item] of Object.entries(val)) {\n out[key] = SENSITIVE_KEY_RE.test(key)\n ? '[REDACTED]'\n : render(item, depth + 1)\n }\n return out\n } finally {\n seen.delete(val)\n }\n }\n try {\n const rendered = render(value, 0)\n const text =\n typeof rendered === 'string' ? rendered : JSON.stringify(rendered)\n if (typeof text !== 'string') {\n return String(text)\n }\n return text.length > SERIALIZE_MAX_LENGTH\n ? `${text.slice(0, SERIALIZE_MAX_LENGTH)}… [truncated]`\n : text\n } catch {\n return '[Unserializable]'\n }\n}\n\nconst formatParam = (param: unknown): string => {\n if (param instanceof Error) {\n return param.stack ?? param.message\n }\n if (typeof param === 'object' && param !== null) {\n return safeSerialize(param)\n }\n return String(param)\n}\n\nconst extractError = (params: unknown[]): Error => {\n const found = params.find((p): p is Error => p instanceof Error)\n if (found) {\n return found\n }\n return new Error(params.map(formatParam).join(' '))\n}\n\nconst formatParams = (params: unknown[]): string => {\n return params.map(formatParam).join(' ')\n}\n\nconst isServerSide = typeof window === 'undefined'\n// `import.meta.env` only exists in Vite builds: the cast keeps this file\n// compilable under plain Node tsconfigs (e.g. apps/azure-functions)\nconst isLocal = isServerSide\n ? process?.env?.VITE_LOCAL === 'true'\n : (import.meta as { env?: Record<string, unknown> }).env?.VITE_LOCAL ===\n 'true'\n\nconst isLoggingEnabled = isLocal || isServerSide\n\n/**\n * Console severity floor, read from `LOG_LEVEL`.\n *\n * The OTel bridge below has always honoured that variable, which is why\n * production exports no INFO rows. The console writers did not, and\n * `isLoggingEnabled` is unconditionally true on a server, so every info line\n * still reached stdout in every environment: the two sinks disagreed, and the\n * container log pipeline kept billing for rows nobody could query. Measured on\n * 2026-09-02: one knowledge-base search wrote three of them, one carrying 500\n * characters of dense-vector JSON, three times per turn.\n *\n * The default is `info`, so an environment that sets nothing keeps exactly the\n * output it has today. Note that an `error` is still tracked and exported when\n * the floor hides it from the console: only the console write is gated.\n */\nconst LEVEL_WEIGHT: Record<string, number> = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n fatal: 50,\n}\nconst readLevel = (level: string | undefined): number =>\n LEVEL_WEIGHT[(level ?? '').toLowerCase()] ?? LEVEL_WEIGHT.info\n\nlet _consoleFloor = isServerSide\n ? readLevel(process?.env?.LOG_LEVEL)\n : LEVEL_WEIGHT.info\n\n/**\n * Overrides the console floor for a level chosen at runtime rather than by\n * env, mirroring `setLogLevel` on the OTel side. The backend calls both from\n * one place so the two sinks cannot drift (`apps/backend/src/main.ts`).\n */\nexport const setConsoleLogLevel = (level: string): void => {\n _consoleFloor = readLevel(level)\n}\n\n/** Whether a message of this severity should reach the console. */\nconst printsAt = (level: 'debug' | 'info' | 'warn' | 'error'): boolean =>\n isLoggingEnabled && LEVEL_WEIGHT[level] >= _consoleFloor\n\nexport const log = (...params: unknown[]) => {\n if (printsAt('info')) {\n // eslint-disable-next-line no-console\n console.log(...params)\n }\n _otelBridge?.logInfo(formatParams(params))\n}\n\nexport const error = (...params: unknown[]) => {\n const err = extractError(params)\n _exceptionTracker?.(err)\n _otelBridge?.logException(err)\n if (printsAt('error')) {\n // eslint-disable-next-line no-console\n console.error(formatParams(params))\n }\n}\n\nexport const info = (...params: unknown[]) => {\n if (printsAt('info')) {\n // eslint-disable-next-line no-console\n console.info(...params)\n }\n _otelBridge?.logInfo(formatParams(params))\n}\n\nexport const debug = (...params: unknown[]) => {\n if (printsAt('debug')) {\n // eslint-disable-next-line no-console\n console.debug(...params)\n }\n _otelBridge?.logDebug(formatParams(params))\n}\n\nexport const warn = (...params: unknown[]) => {\n // A warning is not an exception: it must never reach `app_errors`, so\n // the OTel bridge gets only logWarn. The exception tracker stays: it is\n // wired in the frontend only (Application Insights trackException).\n const err = extractError(params)\n _exceptionTracker?.(err)\n // Serialize once for both sinks: the walk is depth-capped but not free.\n const text = formatParams(params)\n _otelBridge?.logWarn(text)\n if (printsAt('warn')) {\n // eslint-disable-next-line no-console\n console.warn(text)\n }\n}\n\n/**\n * The console rendering of a fixed message plus attributes: ONE line, with the\n * attributes as JSON after the message. `console.warn(message, attrs)` lets\n * Node's inspector break a wide object across several lines, and a container\n * log pipeline stores each line as its own row, so the query that reads the\n * attributes back finds the first row and a fragment. `formatParams` also\n * redacts the sensitive keys and survives a circular reference.\n */\nconst withAttrs = (message: string, attrs?: Record<string, unknown>): string =>\n attrs ? formatParams([message, attrs]) : message\n\n/**\n * WARN with a fixed message and structured attributes. Prefer this over\n * interpolating values into the message: a fixed message keeps the log\n * stream groupable (and therefore alertable), the values stay queryable\n * as attributes.\n */\nexport const warnAttrs = (message: string, attrs?: Record<string, unknown>) => {\n _otelBridge?.logWarn(message, attrs)\n if (printsAt('warn')) {\n // eslint-disable-next-line no-console\n console.warn(withAttrs(message, attrs))\n }\n}\n\n/**\n * A measurement event: one fixed name, the ids as attributes, and **neither\n * sink drops it**, whatever `LOG_LEVEL` says.\n *\n * The info twin of {@link warnAttrs} used to be an ordinary INFO line, and that\n * was wrong in the one environment it exists for: production runs at\n * `LOG_LEVEL=warn`, so the console floor and the OTel floor would each have\n * dropped it and the measurement it feeds would have read zero rows and been\n * believed. WARN is not the answer either, because these events fire on the\n * majority of turns and a normal event at WARN degrades the level alerting\n * watches. So this is a channel, not a level: severity stays INFO and the floor\n * does not apply.\n *\n * The price is that nothing else may use it. Keep the callers few\n * (`closure_gate.refused`, `closure_recovery.applied`) and the volume of the\n * order of one row per turn, and never pass a message with the values\n * interpolated into it: a fixed name is what makes the rows groupable by agent\n * instead of countable by regex.\n */\nexport const logEvent = (name: string, attrs?: Record<string, unknown>) => {\n _otelBridge?.logEvent(name, attrs)\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.log(withAttrs(name, attrs))\n }\n}\n\nexport const assert = (condition: boolean | undefined, message: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.assert(condition, message)\n }\n}\n\nexport const clear = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.clear()\n }\n}\n\n/**\n * A table is an info line that happens to be wide, so it answers to the floor\n * like one. It used to check only `isLoggingEnabled`, which left the usage\n * table of every turn on the console of an environment set to `warn`, and made\n * it the last write of a turn in the test run: vitest reports a console write\n * that outlives its test as `Closing rpc while \"onUserConsoleLog\" was pending`\n * and fails a run whose tests all passed.\n */\nexport const table = (table: unknown) => {\n if (printsAt('info')) {\n // eslint-disable-next-line no-console\n console.table(table)\n }\n}\n\nexport const group = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.group(name)\n }\n}\n\nexport const groupEnd = () => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n}\n\nexport const time = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.time(name)\n }\n}\n\nexport const timeEnd = (name: string) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeEnd(name)\n }\n}\n\nexport const timeLog = (name: string, ...params: unknown[]) => {\n if (isLoggingEnabled) {\n // eslint-disable-next-line no-console\n console.timeLog(name, ...params)\n }\n}\n\nexport const logger = {\n log,\n error,\n info,\n debug,\n warn,\n warnAttrs,\n logEvent,\n assert,\n clear,\n table,\n group,\n groupEnd,\n time,\n timeEnd,\n timeLog,\n}\n\nexport const useErrorsLogger = (errors: Ref<Error | null | undefined>[]) => {\n // Vue is an optional runtime dependency for the backend build.\n // Lazily import it only when running in a browser/Vue environment.\n if (typeof window === 'undefined') {\n return\n }\n\n void import('vue').then(({ watch }) => {\n errors.forEach((error) => {\n watch(error, (value) => {\n logger.error(value)\n })\n })\n })\n}\n","/**\n * Signature of the calls the function app makes to the backend's internal\n * routes (spec agent-wakeup, \"Timer: coda, function, endpoint interno\"). Both\n * ends share `INTERNAL_API_SECRET`; the signed payload binds the method, the\n * path, the body and a timestamp, so a captured request cannot be replayed on\n * another route nor after the tolerance window.\n *\n * WebCrypto, not `node:crypto`: this package is imported by the browser too.\n */\nexport const INTERNAL_SIGNATURE_HEADER = 'x-internal-signature'\nexport const INTERNAL_TIMESTAMP_HEADER = 'x-internal-timestamp'\nexport const INTERNAL_SIGNATURE_TOLERANCE_MS = 5 * 60_000\n\ninterface InternalRequest {\n secret: string\n method: string\n /** The path as the server routes it, without host or querystring. */\n path: string\n body: string\n}\n\nconst encoder = new TextEncoder()\n\nconst hmacSha256Hex = async (secret: string, payload: string) => {\n const key = await globalThis.crypto.subtle.importKey(\n 'raw',\n encoder.encode(secret),\n { name: 'HMAC', hash: 'SHA-256' },\n false,\n ['sign'],\n )\n const signature = await globalThis.crypto.subtle.sign(\n 'HMAC',\n key,\n encoder.encode(payload),\n )\n return Array.from(new Uint8Array(signature), (byte) =>\n byte.toString(16).padStart(2, '0'),\n ).join('')\n}\n\nconst signedPayload = (\n { method, path, body }: InternalRequest,\n timestamp: string,\n) => `${timestamp}.${method.toUpperCase()}.${path}.${body}`\n\n/** Constant-time comparison of two hex strings. */\nconst sameHex = (a: string, b: string) => {\n if (a.length !== b.length) {\n return false\n }\n let difference = 0\n for (let index = 0; index < a.length; index++) {\n difference |= a.charCodeAt(index) ^ b.charCodeAt(index)\n }\n return difference === 0\n}\n\n/** The two headers that sign an internal request. */\nexport async function signInternalRequest(\n request: InternalRequest,\n now = Date.now(),\n): Promise<Record<string, string>> {\n const timestamp = String(now)\n return {\n [INTERNAL_TIMESTAMP_HEADER]: timestamp,\n [INTERNAL_SIGNATURE_HEADER]: await hmacSha256Hex(\n request.secret,\n signedPayload(request, timestamp),\n ),\n }\n}\n\n/**\n * Whether the headers sign this request with this secret, within the\n * tolerance window.\n */\nexport async function verifyInternalRequest(\n request: InternalRequest & {\n signature: string | undefined\n timestamp: string | undefined\n },\n now = Date.now(),\n): Promise<boolean> {\n const { signature, timestamp } = request\n if (!signature || !timestamp || !/^\\d+$/.test(timestamp)) {\n return false\n }\n if (Math.abs(now - Number(timestamp)) > INTERNAL_SIGNATURE_TOLERANCE_MS) {\n return false\n }\n const expected = await hmacSha256Hex(\n request.secret,\n signedPayload(request, timestamp),\n )\n return sameHex(expected, signature.toLowerCase())\n}\n","// E.164 country codes are prefix-free: one digit for these two, two digits\n// for the next set, three for every other one. Reading \"the first one to four\n// digits\" took four, so +44 1234 567890 came out as +4412.\nconst ONE_DIGIT_COUNTRY_CODES = new Set(['1', '7'])\nconst TWO_DIGIT_COUNTRY_CODES = new Set(\n (\n '20 27 30 31 32 33 34 36 39 40 41 43 44 45 46 47 48 49 51 52 53 54 55 ' +\n '56 57 58 60 61 62 63 64 65 66 81 82 84 86 90 91 92 93 94 95 98'\n ).split(' '),\n)\n\n/** Splits international digits into country code and national number. */\nfunction splitCountryCode(digits: string): [string, string] | undefined {\n const length = ONE_DIGIT_COUNTRY_CODES.has(digits.slice(0, 1))\n ? 1\n : TWO_DIGIT_COUNTRY_CODES.has(digits.slice(0, 2))\n ? 2\n : 3\n return digits.length > length\n ? [digits.slice(0, length), digits.slice(length)]\n : undefined\n}\n\n/**\n * Formats a phone number with international prefix, its groups separated by\n * spaces as a person writes them\n * If no international prefix is provided, defaults to Italian (+39)\n *\n * @param phone - The phone number to format\n * @param defaultPrefix - The default international prefix (default: '+39')\n * @returns Formatted phone number (e.g., '+39 392 4096227')\n *\n * @example\n * formatPhoneNumber('3924096227') // '+39 392 4096227'\n * formatPhoneNumber('+393924096227') // '+39 392 4096227'\n * formatPhoneNumber('00393924096227') // '+39 392 4096227'\n * formatPhoneNumber('393924096227') // '+39 392 4096227'\n * formatPhoneNumber('0450000101') // '+39 045 0000101'\n */\nexport function formatPhoneNumber(\n phone: string | null | undefined,\n defaultPrefix = '+39',\n): string {\n if (!phone) {\n return ''\n }\n\n // Remove all non-digit characters except + at the beginning\n const cleaned = phone.trim().replace(/[^\\d+]/g, '')\n\n if (!cleaned) {\n return ''\n }\n\n // Normalize the phone number to have international prefix\n let nationalNumber = ''\n let countryCode = defaultPrefix.replace('+', '')\n\n // Handle different input formats\n if (cleaned.startsWith('+')) {\n // Already has + prefix: +393924096227\n const match = cleaned.match(/^\\+(\\d+)$/)\n if (match) {\n const digits = match[1]\n // Extract country code and national number\n if (digits.startsWith(countryCode)) {\n nationalNumber = digits.substring(countryCode.length)\n } else {\n const split = splitCountryCode(digits)\n if (split) {\n ;[countryCode, nationalNumber] = split\n }\n }\n }\n } else if (cleaned.startsWith('00')) {\n // International format without +: 00393924096227\n const digits = cleaned.substring(2)\n if (digits.startsWith(countryCode)) {\n nationalNumber = digits.substring(countryCode.length)\n } else {\n const split = splitCountryCode(digits)\n if (split) {\n ;[countryCode, nationalNumber] = split\n }\n }\n } else if (\n cleaned.startsWith(countryCode) &&\n cleaned.length > countryCode.length + 8\n ) {\n // Starts with country code but no +: 393924096227\n nationalNumber = cleaned.substring(countryCode.length)\n } else {\n // Local number: 3924096227 or 0450000101\n nationalNumber = cleaned\n // The national trunk 0 is not dialled after the country code, except\n // in Italy, where it belongs to the landline number (045 is Verona):\n // dropping it turned 045 0000101 into another number\n if (\n countryCode !== '39' &&\n nationalNumber.startsWith('0') &&\n nationalNumber.length > 1\n ) {\n nationalNumber = nationalNumber.substring(1)\n }\n }\n\n if (!nationalNumber) {\n return phone\n }\n\n const prefix = `+${countryCode}`\n\n // Italian mobile numbers: 3XX XXXXXXX (10 digits total, starting with 3)\n if (\n countryCode === '39' &&\n nationalNumber.length === 10 &&\n nationalNumber.startsWith('3')\n ) {\n return `${prefix} ${nationalNumber.substring(0, 3)} ${nationalNumber.substring(3)}`\n }\n\n // Italian landline numbers: 0XX XXXXXXX (9-11 digits, starting with 0)\n if (\n countryCode === '39' &&\n nationalNumber.length >= 9 &&\n nationalNumber.length <= 11 &&\n nationalNumber.startsWith('0')\n ) {\n const areaCode = nationalNumber.substring(0, 3)\n const rest = nationalNumber.substring(3)\n return `${prefix} ${areaCode} ${rest}`\n }\n\n // Generic formatting: group by 3-4 digits\n const parts: string[] = []\n let remaining = nationalNumber\n\n while (remaining.length > 0) {\n if (remaining.length <= 4) {\n parts.push(remaining)\n break\n }\n parts.push(remaining.substring(0, 3))\n remaining = remaining.substring(3)\n }\n\n return `${prefix} ${parts.join(' ')}`\n}\n\n/**\n * Returns a formatted phone number or a dash if empty\n * Useful for displaying in tables\n *\n * @param phone - The phone number to format\n * @param defaultPrefix - The default international prefix (default: '+39')\n * @returns Formatted phone number or '-'\n */\nexport function formatPhoneNumberOrDash(\n phone: string | null | undefined,\n defaultPrefix = '+39',\n): string {\n const formatted = formatPhoneNumber(phone, defaultPrefix)\n return formatted || '-'\n}\n"],"mappings":";;AAgBA,IAEIA,IAAgC,MAuB9BC,IACF,yEACEC,IAAsB,GACtBC,IAAuB,KASvBC,KAAiB,MAA2B;CAC9C,IAAMC,oBAAO,IAAI,QAAgB,GAC3BC,KAAU,GAAc,MAA2B;EACrD,IAAIC,aAAe,OACf,OAAOA,EAAI,SAASA,EAAI;EAE5B,IAAI,OAAOA,KAAQ,UACf,OAAO,GAAGA,EAAI,SAAS,EAAE;EAE7B,IAAI,OAAOA,KAAQ,cAAc,OAAOA,KAAQ,UAC5C,OAAO,OAAOA,CAAG;EAErB,IAAI,OAAOA,KAAQ,aAAYA,GAC3B,OAAOA;EAEX,IAAIF,EAAK,IAAIE,CAAG,GACZ,OAAO;EAEX,IAAIC,KAASN,GACT,OAAO,MAAM,QAAQK,CAAG,IAAI,YAAY;EAK5C,EAAK,IAAIA,CAAG;EACZ,IAAI;GACA,IAAI,MAAM,QAAQA,CAAG,GACjB,OAAOA,EAAI,KAAK,MAASD,EAAOG,GAAMD,IAAQ,CAAC,CAAC;GAEpD,IAAME,IAA+B,CAAC;GACtC,KAAK,IAAM,CAACC,GAAKF,MAAS,OAAO,QAAQF,CAAG,GACxC,EAAII,KAAOV,EAAiB,KAAKU,CAAG,IAC9B,eACAL,EAAOG,GAAMD,IAAQ,CAAC;GAEhC,OAAOE;EACX,UAAU;GACN,EAAK,OAAOH,CAAG;EACnB;CACJ;CACA,IAAI;EACA,IAAMK,IAAWN,EAAOO,GAAO,CAAC,GAC1BC,IACF,OAAOF,KAAa,WAAWA,IAAW,KAAK,UAAUA,CAAQ;EAIrE,OAHI,OAAOE,KAAS,WAGbA,EAAK,SAASX,IACf,GAAGW,EAAK,MAAM,GAAGX,CAAoB,EAAE,iBACvCW,IAJK,OAAOA,CAAI;CAK1B,QAAQ;EACJ,OAAO;CACX;AACJ,GAEMC,KAAe,MACbC,aAAiB,QACVA,EAAM,SAASA,EAAM,UAE5B,OAAOA,KAAU,YAAYA,IACtBZ,EAAcY,CAAK,IAEvB,OAAOA,CAAK,GAGjBC,KAAgB,MACJC,EAAO,MAAM,MAAkBC,aAAa,KACtD,KAGO,MAAMD,EAAO,IAAIH,CAAW,CAAC,CAAC,KAAK,GAAG,CAAC,GAGhDK,KAAgB,MACXF,EAAO,IAAIH,CAAW,CAAC,CAAC,KAAK,GAAG,GAGrCM,IAAe,OAAO,SAAW,KAQjCC,KALUD,IACV,SAAS,KAAK,eAAe,SAC5B,OAG6BA,GAiB9BE,IAAuC;CACzC,OAAO;CACP,MAAM;CACN,MAAM;CACN,OAAO;CACP,OAAO;AACX,GAIIC,IAAgBH,MAHD,MACfE,GAAcE,KAAS,GAAA,CAAI,YAAY,MAAMF,EAAa,KAGxD,CAAU,SAAS,KAAK,SAAS,IACjCA,EAAa,MAYbG,KAAY,MACdJ,KAAoBC,EAAaE,MAAUD,GAElCG,KAAO,GAAGT,MAAsB;CAKzC,AAJIQ,EAAS,MAAM,KAEf,QAAQ,IAAI,GAAGR,CAAM,GAEzBlB,GAAa,QAAQoB,EAAaF,CAAM,CAAC;AAC7C,GAEaU,KAAS,GAAGV,MAAsB;CAC3C,IAAMW,IAAMZ,EAAaC,CAAM;CAG/B,AADAlB,GAAa,aAAa6B,CAAG,GACzBH,EAAS,OAAO,KAEhB,QAAQ,MAAMN,EAAaF,CAAM,CAAC;AAE1C,GAEaY,KAAQ,GAAGZ,MAAsB;CAK1C,AAJIQ,EAAS,MAAM,KAEf,QAAQ,KAAK,GAAGR,CAAM,GAE1BlB,GAAa,QAAQoB,EAAaF,CAAM,CAAC;AAC7C,GAEaa,KAAS,GAAGb,MAAsB;CAK3C,AAJIQ,EAAS,OAAO,KAEhB,QAAQ,MAAM,GAAGR,CAAM,GAE3BlB,GAAa,SAASoB,EAAaF,CAAM,CAAC;AAC9C,GAEac,KAAQ,GAAGd,MAAsB;CAI9B,EAAaA,CAAM;CAA/B,IAGMJ,IAAOM,EAAaF,CAAM;CAEhC,AADAlB,GAAa,QAAQc,CAAI,GACrBY,EAAS,MAAM,KAEf,QAAQ,KAAKZ,CAAI;AAEzB,GAUMmB,KAAa,GAAiB,MAChCC,IAAQd,EAAa,CAACe,GAASD,CAAK,CAAC,IAAIC,GA2GhCC,IAAS;CAClB;CACA;CACA;CACA;CACA;CACA,YAzGsB,GAAiB,MAAoC;EAE3E,AADApC,GAAa,QAAQmC,GAASD,CAAK,GAC/BR,EAAS,MAAM,KAEf,QAAQ,KAAKO,EAAUE,GAASD,CAAK,CAAC;CAE9C;CAoGI,WA/EqB,GAAc,MAAoC;EAEvE,AADAlC,GAAa,SAASqC,GAAMH,CAAK,GAC7BZ,KAEA,QAAQ,IAAIW,EAAUI,GAAMH,CAAK,CAAC;CAE1C;CA0EI,SAxEmB,GAAgC,MAAoB;EACvE,AAAIZ,KAEA,QAAQ,OAAOgB,GAAWH,CAAO;CAEzC;CAoEI,aAlEuB;EACvB,AAAIb,KAEA,QAAQ,MAAM;CAEtB;CA8DI,QApDkB,MAAmB;EACrC,AAAII,EAAS,MAAM,KAEf,QAAQ,MAAMa,CAAK;CAE3B;CAgDI,QA9CkB,MAAiB;EACnC,AAAIjB,KAEA,QAAQ,MAAMe,CAAI;CAE1B;CA0CI,gBAxC0B;EAC1B,AAAIf,KAEA,QAAQ,SAAS;CAEzB;CAoCI,OAlCiB,MAAiB;EAClC,AAAIA,KAEA,QAAQ,KAAKe,CAAI;CAEzB;CA8BI,UA5BoB,MAAiB;EACrC,AAAIf,KAEA,QAAQ,QAAQe,CAAI;CAE5B;CAwBI,UAtBoB,GAAc,GAAGnB,MAAsB;EAC3D,AAAII,KAEA,QAAQ,QAAQe,GAAM,GAAGnB,CAAM;CAEvC;AAkBA;ACtVgB,IAAI,YAAY;;;AClBhC,IAAMsB,oBAA0B,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAC5CC,IAA0B,IAAI,IAE5B,sIAEF,MAAM,GAAG,CACf;AAGA,SAASC,EAAiB,GAA8C;CACpE,IAAMC,IAASH,EAAwB,IAAII,EAAO,MAAM,GAAG,CAAC,CAAC,IACvD,IACAH,EAAwB,IAAIG,EAAO,MAAM,GAAG,CAAC,CAAC,IAC5C,IACA;CACR,OAAOA,EAAO,SAASD,IACjB,CAACC,EAAO,MAAM,GAAGD,CAAM,GAAGC,EAAO,MAAMD,CAAM,CAAC,IAC9C,KAAA;AACV;AAkBA,SAAgBE,EACZ,GACA,IAAgB,OACV;CACN,IAAI,CAACC,GACD,OAAO;CAIX,IAAMC,IAAUD,EAAM,KAAK,CAAC,CAAC,QAAQ,WAAW,EAAE;CAElD,IAAI,CAACC,GACD,OAAO;CAIX,IAAIC,IAAiB,IACjBC,IAAcC,EAAc,QAAQ,KAAK,EAAE;CAG/C,IAAIH,EAAQ,WAAW,GAAG,GAAG;EAEzB,IAAMI,IAAQJ,EAAQ,MAAM,WAAW;EACvC,IAAII,GAAO;GACP,IAAMP,IAASO,EAAM;GAErB,IAAIP,EAAO,WAAWK,CAAW,GAC7B,IAAiBL,EAAO,UAAUK,EAAY,MAAM;QACjD;IACH,IAAMG,IAAQV,EAAiBE,CAAM;IACrC,AAAIQ,MACC,CAACH,GAAaD,KAAkBI;GAEzC;EACJ;CACJ,OAAO,IAAIL,EAAQ,WAAW,IAAI,GAAG;EAEjC,IAAMH,IAASG,EAAQ,UAAU,CAAC;EAClC,IAAIH,EAAO,WAAWK,CAAW,GAC7B,IAAiBL,EAAO,UAAUK,EAAY,MAAM;OACjD;GACH,IAAMG,IAAQV,EAAiBE,CAAM;GACrC,AAAIQ,MACC,CAACH,GAAaD,KAAkBI;EAEzC;CACJ,OAAO,AACHL,EAAQ,WAAWE,CAAW,KAC9BF,EAAQ,SAASE,EAAY,SAAS,IAGtC,IAAiBF,EAAQ,UAAUE,EAAY,MAAM,KAGrD,IAAiBF,GAKbE,MAAgB,QAChBD,EAAe,WAAW,GAAG,KAC7BA,EAAe,SAAS,MAExB,IAAiBA,EAAe,UAAU,CAAC;CAInD,IAAI,CAACA,GACD,OAAOF;CAGX,IAAMO,IAAS,IAAIJ;CAYnB,IARIA,MAAgB,QAChBD,EAAe,WAAW,MAC1BA,EAAe,WAAW,GAAG,KAO7BC,MAAgB,QAChBD,EAAe,UAAU,KACzBA,EAAe,UAAU,MACzBA,EAAe,WAAW,GAAG,GAI7B,OAAO,GAAGK,EAAO,GAFAL,EAAe,UAAU,GAAG,CAEzB,EAAS,GADhBA,EAAe,UAAU,CACN;CAIpC,IAAMM,IAAkB,CAAC,GACrBC,IAAYP;CAEhB,OAAOO,EAAU,SAAS,IAAG;EACzB,IAAIA,EAAU,UAAU,GAAG;GACvB,EAAM,KAAKA,CAAS;GACpB;EACJ;EAEA,AADAD,EAAM,KAAKC,EAAU,UAAU,GAAG,CAAC,CAAC,GACpC,IAAYA,EAAU,UAAU,CAAC;CACrC;CAEA,OAAO,GAAGF,EAAO,GAAGC,EAAM,KAAK,GAAG;AACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { O as e, P as t, gt as n, it as r, mt as i } from "./vue.runtime.esm-bundler-DKVd2gci.js";
|
|
2
2
|
import { n as a } from "./cdn-css-JUUNhyQ6.js";
|
|
3
|
-
import "./src-
|
|
3
|
+
import "./src-CggZ5M7x.js";
|
|
4
4
|
//#region ../../packages/components/src/composables/useLightbox.ts
|
|
5
5
|
e(), r();
|
|
6
6
|
var o = "https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css", s = {
|
|
@@ -116,4 +116,4 @@ function h() {
|
|
|
116
116
|
//#endregion
|
|
117
117
|
export { c as n, l as t };
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=useLightbox-
|
|
119
|
+
//# sourceMappingURL=useLightbox-3HiaRtzY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLightbox-1KKLemEE.js","names":["init_runtime_core_esm_bundler","onBeforeUnmount","shallowRef","init_reactivity_esm_bundler","ref","loadCdnCss","PHOTOSWIPE_CSS","DEFAULT_IMAGE_SIZE","useLightbox","options","lightbox","gallery","injectPhotoSwipeOverrides","PhotoSwipeLightbox","openInNewTab","downloadable","ui","url","getCurrentSlideUrl","pswp","downloadImage","useImageSizes","sizes","image","images","img","downloadUrl","toDownloadUrl","anchor","getFilenameFromUrl","name","overridesInjected","style"],"sources":["../../../../packages/components/src/composables/useLightbox.ts"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n type Ref,\n type ShallowRef,\n} from 'vue'\nimport type PhotoSwipeLightbox from 'photoswipe/lightbox'\nimport type PhotoSwipe from 'photoswipe'\nimport { loadCdnCss } from 'utils'\n\nconst PHOTOSWIPE_CSS =\n 'https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css'\n\nconst DEFAULT_IMAGE_SIZE = { width: 1200, height: 800 }\n\nexport interface LightboxImage {\n url: string\n caption?: string\n alt?: string\n /** Natural width in px — used by PhotoSwipe for proper sizing. */\n width?: number\n /** Natural height in px — used by PhotoSwipe for proper sizing. */\n height?: number\n}\n\nexport interface LightboxOptions {\n /** Container element whose child anchors are the gallery items */\n gallery: Ref<HTMLElement | undefined>\n /** CSS selector for gallery items inside the container (default: `'a[data-pswp-src]'`) */\n children?: string\n loop?: boolean\n /** Show a download button in the lightbox toolbar */\n downloadable?: boolean\n /** Show an open-in-new-tab button in the lightbox toolbar */\n openInNewTab?: boolean\n}\n\nexport interface UseLightboxReturn {\n lightbox: ShallowRef<PhotoSwipeLightbox | null>\n /** Initialises PhotoSwipe. Call this inside `onMounted`. */\n init: () => Promise<void>\n}\n\n/**\n * Encapsulates PhotoSwipe 5 initialisation, toolbar customisation, and lifecycle cleanup.\n * CSS is injected into `document.head` so the overlay works in both regular DOM and Shadow DOM.\n *\n * Usage:\n * ```ts\n * const { init } = useLightbox({ gallery: galleryRef, downloadable: true })\n * onMounted(init)\n * ```\n */\nexport function useLightbox(options: LightboxOptions): UseLightboxReturn {\n const {\n gallery,\n children = 'a[data-pswp-src]',\n loop = true,\n downloadable = true,\n openInNewTab = true,\n } = options\n\n const lightbox = shallowRef<PhotoSwipeLightbox | null>(null)\n\n const init = async () => {\n if (!gallery.value) {\n return\n }\n\n // PhotoSwipe renders its overlay into document.body, so CSS must be in\n // document.head — not inside a shadow root.\n loadCdnCss(PHOTOSWIPE_CSS)\n injectPhotoSwipeOverrides()\n\n const { default: PhotoSwipeLightbox } =\n await import('photoswipe/lightbox')\n\n lightbox.value = new PhotoSwipeLightbox({\n gallery: gallery.value,\n children,\n pswpModule: () => import('photoswipe'),\n loop,\n arrowPrevSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z\"/></svg>',\n arrowNextSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z\"/></svg>',\n closeSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z\"/></svg>',\n zoomSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><g class=\"pswp__icn--zoom-in\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM10 10V7h2v3h3v2h-3v3h-2v-3H7v-2z\"/></g><g class=\"pswp__icn--zoom-out\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM7 10h8v2H7z\"/></g></svg>',\n })\n\n if (openInNewTab || downloadable) {\n lightbox.value.on('uiRegister', () => {\n const ui = lightbox.value!.pswp?.ui\n if (!ui) {\n return\n }\n\n if (openInNewTab) {\n ui.registerElement({\n name: 'open-in-new-tab-button',\n order: 8,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z\"/></svg>',\n title: 'Open in new tab',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n window.open(\n url,\n '_blank',\n 'noopener,noreferrer',\n )\n }\n },\n })\n }\n\n if (downloadable) {\n ui.registerElement({\n name: 'download-button',\n order: 9,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z\"/></svg>',\n title: 'Download',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n downloadImage(url)\n }\n },\n })\n }\n })\n }\n\n lightbox.value.init()\n }\n\n onBeforeUnmount(() => {\n lightbox.value?.destroy()\n lightbox.value = null\n })\n\n return { lightbox, init }\n}\n\n// ---------------------------------------------------------------------------\n// Image size preloading\n// ---------------------------------------------------------------------------\n\nexport interface UseImageSizesReturn {\n preload: (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => void\n getSize: (url: string) => { width: number; height: number }\n}\n\n/**\n * Preloads natural image dimensions so PhotoSwipe can size its slides correctly.\n * When `width`/`height` are already provided they are used as-is;\n * otherwise the image is loaded in the background to read `naturalWidth`/`naturalHeight`.\n */\nexport function useImageSizes(): UseImageSizesReturn {\n const sizes = ref(new Map<string, { width: number; height: number }>())\n\n const preload = (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => {\n for (const image of images) {\n if (image.width && image.height) {\n sizes.value.set(image.url, {\n width: image.width,\n height: image.height,\n })\n continue\n }\n const img = new Image()\n img.onload = () => {\n sizes.value.set(image.url, {\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n }\n img.src = image.url\n }\n }\n\n const getSize = (url: string) => sizes.value.get(url) ?? DEFAULT_IMAGE_SIZE\n\n return { preload, getSize }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getCurrentSlideUrl(pswp: PhotoSwipe): string | undefined {\n return (\n pswp.currSlide?.data?.src ??\n pswp.currSlide?.data?.element\n ?.querySelector('img')\n ?.getAttribute('src') ??\n pswp.currSlide?.data?.element\n ?.querySelector('source')\n ?.getAttribute('srcset') ??\n pswp.currSlide?.data?.element?.getAttribute('src') ??\n undefined\n )\n}\n\n/**\n * Triggers a client-side download for an image URL.\n *\n * For backend media URLs (.../media/:file/view), navigates to the\n * corresponding /download endpoint which redirects to an Azure SAS URL\n * with `Content-Disposition: attachment` — no CORS issues.\n *\n * For blob: URLs (in-session uploads), uses the fetch → blob approach.\n *\n * For data: URLs (inline SVGs, etc.), use the download attribute.\n *\n * Falls back to opening in a new tab for all other cases.\n */\nfunction downloadImage(url: string): void {\n const downloadUrl = toDownloadUrl(url)\n\n const anchor = document.createElement('a')\n anchor.href = downloadUrl\n anchor.target = '_blank'\n anchor.rel = 'noopener noreferrer'\n // `download` attribute works for same-origin, data: and blob: URLs; for\n // cross-origin it is ignored but the browser still follows Content-Disposition.\n anchor.download = getFilenameFromUrl(url)\n document.body.appendChild(anchor)\n anchor.click()\n document.body.removeChild(anchor)\n}\n\n/**\n * Converts a `/view` media URL to its `/download` counterpart.\n * Leaves blob:, data: and all other URLs untouched.\n */\nfunction toDownloadUrl(url: string): string {\n return url.replace(/\\/view(\\?|$)/, '/download$1')\n}\n\nfunction getFilenameFromUrl(url: string): string {\n if (url.startsWith('data:image/svg+xml')) {\n return 'diagram.svg'\n }\n if (url.startsWith('data:')) {\n const mime = url.split(':')[1].split(';')[0]\n const ext = mime.split('/')[1] || 'bin'\n return `image.${ext}`\n }\n try {\n const pathname = new URL(url).pathname\n const name = pathname.split('/').pop()\n return name && name.includes('.') ? name : 'image'\n } catch {\n return 'image'\n }\n}\n\nlet overridesInjected = false\n\n/**\n * Injects a one-time `<style>` into `document.head` that raises\n * PhotoSwipe's z-index above any host UI (e.g. floating chat widgets\n * that use `z-index: 2147483647`).\n */\nfunction injectPhotoSwipeOverrides(): void {\n if (overridesInjected) {\n return\n }\n overridesInjected = true\n const style = document.createElement('style')\n style.textContent = [\n '.pswp__counter { font-family: sans-serif; }',\n '.pswp { z-index: 2147483647 !important; }',\n '.pswp__icn { width: 20px; height: 20px; }',\n '.pswp__button { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }',\n '.pswp__icn--zoom-out { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-in { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-out { display: block; }',\n '.pswp__button--arrow .pswp__icn {left: auto; right: auto; width: 40px; height: 40px; transform: none; margin-top: -20px; }',\n ].join(' ')\n document.head.appendChild(style)\n}\n"],"mappings":";;;;;AAWA,IAAMM,IACF,iEAEEC,IAAqB;CAAE,OAAO;CAAM,QAAQ;AAAI;AAwCtD,SAAgBC,EAAY,GAA6C;CACrE,IAAM,EACF,YACA,cAAW,oBACX,UAAO,IACP,kBAAe,IACf,kBAAe,OACfC,GAEEC,IAAWR,EAAsC,IAAI;CAmF3D,OALAD,QAAsB;EAElB,AADAS,EAAS,OAAO,QAAQ,GACxB,EAAS,QAAQ;CACrB,CAAC,GAEM;EAAE;EAAU,kBAjFM;GACrB,IAAI,CAACC,EAAQ,OACT;GAMJ,AADAN,EAAWC,CAAc,GACzBM,EAA0B;GAE1B,IAAM,EAAE,SAASC,MACb,MAAM,OAAO;GA8DjB,AA5DA,EAAS,QAAQ,IAAIA,EAAmB;IACpC,SAASF,EAAQ;IACjB;IACA,kBAAkB,OAAO;IACzB;IACA,cACI;IACJ,cACI;IACJ,UACI;IACJ,SACI;GACR,CAAC,IAEGG,KAAgBC,MAChBL,EAAS,MAAM,GAAG,oBAAoB;IAClC,IAAMM,IAAKN,EAAS,MAAO,MAAM;IACjC,AAAKM,MAIDF,KACAE,EAAG,gBAAgB;KACf,MAAM;KACN,OAAO;KACP,UAAU;KACV,MAAM;KACN,OAAO;KACP,UAAU,GAAG,GAAI,MAAS;MACtB,IAAMC,IAAMC,EAAmBC,CAAI;MACnC,AAAIF,KACA,OAAO,KACHA,GACA,UACA,qBACJ;KAER;IACJ,CAAC,GAGDF,KACAC,EAAG,gBAAgB;KACf,MAAM;KACN,OAAO;KACP,UAAU;KACV,MAAM;KACN,OAAO;KACP,UAAU,GAAG,GAAI,MAAS;MACtB,IAAMC,IAAMC,EAAmBC,CAAI;MACnC,AAAIF,KACAG,EAAcH,CAAG;KAEzB;IACJ,CAAC;GAET,CAAC,GAGLP,EAAS,MAAM,KAAK;EACxB;CAOwB;AAC5B;AAkBA,SAAgBW,IAAqC;CACjD,IAAMC,IAAQlB,kBAAI,IAAI,IAA+C,CAAC;CA0BtE,OAAO;EAAE,UAvBL,MACC;GACD,KAAK,IAAMmB,KAASC,GAAQ;IACxB,IAAID,EAAM,SAASA,EAAM,QAAQ;KAC7B,EAAM,MAAM,IAAIA,EAAM,KAAK;MACvB,OAAOA,EAAM;MACb,QAAQA,EAAM;KAClB,CAAC;KACD;IACJ;IACA,IAAME,IAAM,IAAI,MAAM;IAOtB,AANA,EAAI,eAAe;KACf,EAAM,MAAM,IAAIF,EAAM,KAAK;MACvB,OAAOE,EAAI;MACX,QAAQA,EAAI;KAChB,CAAC;IACL,GACA,EAAI,MAAMF,EAAM;GACpB;EACJ;EAIkB,UAFD,MAAgBD,EAAM,MAAM,IAAIL,CAAG,KAAKV;CAE/B;AAC9B;AAMA,SAASW,EAAmB,GAAsC;CAC9D,OACIC,EAAK,WAAW,MAAM,OACtBA,EAAK,WAAW,MAAM,SAChB,cAAc,KAAK,CAAC,EACpB,aAAa,KAAK,KACxBA,EAAK,WAAW,MAAM,SAChB,cAAc,QAAQ,CAAC,EACvB,aAAa,QAAQ,KAC3BA,EAAK,WAAW,MAAM,SAAS,aAAa,KAAK,KACjD,KAAA;AAER;AAeA,SAASC,EAAc,GAAmB;CACtC,IAAMM,IAAcC,EAAcV,CAAG,GAE/BW,IAAS,SAAS,cAAc,GAAG;CASzC,AARA,EAAO,OAAOF,GACd,EAAO,SAAS,UAChB,EAAO,MAAM,uBAGb,EAAO,WAAWG,EAAmBZ,CAAG,GACxC,SAAS,KAAK,YAAYW,CAAM,GAChCA,EAAO,MAAM,GACb,SAAS,KAAK,YAAYA,CAAM;AACpC;AAMA,SAASD,EAAc,GAAqB;CACxC,OAAOV,EAAI,QAAQ,gBAAgB,aAAa;AACpD;AAEA,SAASY,EAAmB,GAAqB;CAC7C,IAAIZ,EAAI,WAAW,oBAAoB,GACnC,OAAO;CAEX,IAAIA,EAAI,WAAW,OAAO,GAGtB,OAAO,SAFMA,EAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAC9B,CAAK,MAAM,GAAG,CAAC,CAAC,MAAM;CAGtC,IAAI;EAEA,IAAMa,IADW,IAAI,IAAIb,CAAG,CAAC,CAAC,SACR,MAAM,GAAG,CAAC,CAAC,IAAI;EACrC,OAAOa,KAAQA,EAAK,SAAS,GAAG,IAAIA,IAAO;CAC/C,QAAQ;EACJ,OAAO;CACX;AACJ;AAEA,IAAIC,IAAoB;AAOxB,SAASnB,IAAkC;CACvC,IAAImB,GACA;CAEJ,IAAoB;CACpB,IAAMC,IAAQ,SAAS,cAAc,OAAO;CAW5C,AAVA,EAAM,cAAc;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACJ,CAAC,CAAC,KAAK,GAAG,GACV,SAAS,KAAK,YAAYA,CAAK;AACnC"}
|
|
1
|
+
{"version":3,"file":"useLightbox-3HiaRtzY.js","names":["init_runtime_core_esm_bundler","onBeforeUnmount","shallowRef","init_reactivity_esm_bundler","ref","loadCdnCss","PHOTOSWIPE_CSS","DEFAULT_IMAGE_SIZE","useLightbox","options","lightbox","gallery","injectPhotoSwipeOverrides","PhotoSwipeLightbox","openInNewTab","downloadable","ui","url","getCurrentSlideUrl","pswp","downloadImage","useImageSizes","sizes","image","images","img","downloadUrl","toDownloadUrl","anchor","getFilenameFromUrl","name","overridesInjected","style"],"sources":["../../../../packages/components/src/composables/useLightbox.ts"],"sourcesContent":["import {\n onBeforeUnmount,\n ref,\n shallowRef,\n type Ref,\n type ShallowRef,\n} from 'vue'\nimport type PhotoSwipeLightbox from 'photoswipe/lightbox'\nimport type PhotoSwipe from 'photoswipe'\nimport { loadCdnCss } from 'utils'\n\nconst PHOTOSWIPE_CSS =\n 'https://cdn.jsdelivr.net/npm/photoswipe@5/dist/photoswipe.css'\n\nconst DEFAULT_IMAGE_SIZE = { width: 1200, height: 800 }\n\nexport interface LightboxImage {\n url: string\n caption?: string\n alt?: string\n /** Natural width in px — used by PhotoSwipe for proper sizing. */\n width?: number\n /** Natural height in px — used by PhotoSwipe for proper sizing. */\n height?: number\n}\n\nexport interface LightboxOptions {\n /** Container element whose child anchors are the gallery items */\n gallery: Ref<HTMLElement | undefined>\n /** CSS selector for gallery items inside the container (default: `'a[data-pswp-src]'`) */\n children?: string\n loop?: boolean\n /** Show a download button in the lightbox toolbar */\n downloadable?: boolean\n /** Show an open-in-new-tab button in the lightbox toolbar */\n openInNewTab?: boolean\n}\n\nexport interface UseLightboxReturn {\n lightbox: ShallowRef<PhotoSwipeLightbox | null>\n /** Initialises PhotoSwipe. Call this inside `onMounted`. */\n init: () => Promise<void>\n}\n\n/**\n * Encapsulates PhotoSwipe 5 initialisation, toolbar customisation, and lifecycle cleanup.\n * CSS is injected into `document.head` so the overlay works in both regular DOM and Shadow DOM.\n *\n * Usage:\n * ```ts\n * const { init } = useLightbox({ gallery: galleryRef, downloadable: true })\n * onMounted(init)\n * ```\n */\nexport function useLightbox(options: LightboxOptions): UseLightboxReturn {\n const {\n gallery,\n children = 'a[data-pswp-src]',\n loop = true,\n downloadable = true,\n openInNewTab = true,\n } = options\n\n const lightbox = shallowRef<PhotoSwipeLightbox | null>(null)\n\n const init = async () => {\n if (!gallery.value) {\n return\n }\n\n // PhotoSwipe renders its overlay into document.body, so CSS must be in\n // document.head — not inside a shadow root.\n loadCdnCss(PHOTOSWIPE_CSS)\n injectPhotoSwipeOverrides()\n\n const { default: PhotoSwipeLightbox } =\n await import('photoswipe/lightbox')\n\n lightbox.value = new PhotoSwipeLightbox({\n gallery: gallery.value,\n children,\n pswpModule: () => import('photoswipe'),\n loop,\n arrowPrevSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z\"/></svg>',\n arrowNextSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z\"/></svg>',\n closeSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z\"/></svg>',\n zoomSVG:\n '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><g class=\"pswp__icn--zoom-in\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM10 10V7h2v3h3v2h-3v3h-2v-3H7v-2z\"/></g><g class=\"pswp__icn--zoom-out\"><path fill=\"#ffffff\" d=\"m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.98 6.98 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.98 6.98 0 0 0 4.875-1.975zM7 10h8v2H7z\"/></g></svg>',\n })\n\n if (openInNewTab || downloadable) {\n lightbox.value.on('uiRegister', () => {\n const ui = lightbox.value!.pswp?.ui\n if (!ui) {\n return\n }\n\n if (openInNewTab) {\n ui.registerElement({\n name: 'open-in-new-tab-button',\n order: 8,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z\"/></svg>',\n title: 'Open in new tab',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n window.open(\n url,\n '_blank',\n 'noopener,noreferrer',\n )\n }\n },\n })\n }\n\n if (downloadable) {\n ui.registerElement({\n name: 'download-button',\n order: 9,\n isButton: true,\n html: '<svg aria-hidden=\"true\" class=\"pswp__icn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"#ffffff\" d=\"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z\"/></svg>',\n title: 'Download',\n onClick: (_, __, pswp) => {\n const url = getCurrentSlideUrl(pswp)\n if (url) {\n downloadImage(url)\n }\n },\n })\n }\n })\n }\n\n lightbox.value.init()\n }\n\n onBeforeUnmount(() => {\n lightbox.value?.destroy()\n lightbox.value = null\n })\n\n return { lightbox, init }\n}\n\n// ---------------------------------------------------------------------------\n// Image size preloading\n// ---------------------------------------------------------------------------\n\nexport interface UseImageSizesReturn {\n preload: (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => void\n getSize: (url: string) => { width: number; height: number }\n}\n\n/**\n * Preloads natural image dimensions so PhotoSwipe can size its slides correctly.\n * When `width`/`height` are already provided they are used as-is;\n * otherwise the image is loaded in the background to read `naturalWidth`/`naturalHeight`.\n */\nexport function useImageSizes(): UseImageSizesReturn {\n const sizes = ref(new Map<string, { width: number; height: number }>())\n\n const preload = (\n images: Array<{ url: string; width?: number; height?: number }>,\n ) => {\n for (const image of images) {\n if (image.width && image.height) {\n sizes.value.set(image.url, {\n width: image.width,\n height: image.height,\n })\n continue\n }\n const img = new Image()\n img.onload = () => {\n sizes.value.set(image.url, {\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n }\n img.src = image.url\n }\n }\n\n const getSize = (url: string) => sizes.value.get(url) ?? DEFAULT_IMAGE_SIZE\n\n return { preload, getSize }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction getCurrentSlideUrl(pswp: PhotoSwipe): string | undefined {\n return (\n pswp.currSlide?.data?.src ??\n pswp.currSlide?.data?.element\n ?.querySelector('img')\n ?.getAttribute('src') ??\n pswp.currSlide?.data?.element\n ?.querySelector('source')\n ?.getAttribute('srcset') ??\n pswp.currSlide?.data?.element?.getAttribute('src') ??\n undefined\n )\n}\n\n/**\n * Triggers a client-side download for an image URL.\n *\n * For backend media URLs (.../media/:file/view), navigates to the\n * corresponding /download endpoint which redirects to an Azure SAS URL\n * with `Content-Disposition: attachment` — no CORS issues.\n *\n * For blob: URLs (in-session uploads), uses the fetch → blob approach.\n *\n * For data: URLs (inline SVGs, etc.), use the download attribute.\n *\n * Falls back to opening in a new tab for all other cases.\n */\nfunction downloadImage(url: string): void {\n const downloadUrl = toDownloadUrl(url)\n\n const anchor = document.createElement('a')\n anchor.href = downloadUrl\n anchor.target = '_blank'\n anchor.rel = 'noopener noreferrer'\n // `download` attribute works for same-origin, data: and blob: URLs; for\n // cross-origin it is ignored but the browser still follows Content-Disposition.\n anchor.download = getFilenameFromUrl(url)\n document.body.appendChild(anchor)\n anchor.click()\n document.body.removeChild(anchor)\n}\n\n/**\n * Converts a `/view` media URL to its `/download` counterpart.\n * Leaves blob:, data: and all other URLs untouched.\n */\nfunction toDownloadUrl(url: string): string {\n return url.replace(/\\/view(\\?|$)/, '/download$1')\n}\n\nfunction getFilenameFromUrl(url: string): string {\n if (url.startsWith('data:image/svg+xml')) {\n return 'diagram.svg'\n }\n if (url.startsWith('data:')) {\n const mime = url.split(':')[1].split(';')[0]\n const ext = mime.split('/')[1] || 'bin'\n return `image.${ext}`\n }\n try {\n const pathname = new URL(url).pathname\n const name = pathname.split('/').pop()\n return name && name.includes('.') ? name : 'image'\n } catch {\n return 'image'\n }\n}\n\nlet overridesInjected = false\n\n/**\n * Injects a one-time `<style>` into `document.head` that raises\n * PhotoSwipe's z-index above any host UI (e.g. floating chat widgets\n * that use `z-index: 2147483647`).\n */\nfunction injectPhotoSwipeOverrides(): void {\n if (overridesInjected) {\n return\n }\n overridesInjected = true\n const style = document.createElement('style')\n style.textContent = [\n '.pswp__counter { font-family: sans-serif; }',\n '.pswp { z-index: 2147483647 !important; }',\n '.pswp__icn { width: 20px; height: 20px; }',\n '.pswp__button { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }',\n '.pswp__icn--zoom-out { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-in { display: none; }',\n '.pswp--zoomed-in .pswp__icn--zoom-out { display: block; }',\n '.pswp__button--arrow .pswp__icn {left: auto; right: auto; width: 40px; height: 40px; transform: none; margin-top: -20px; }',\n ].join(' ')\n document.head.appendChild(style)\n}\n"],"mappings":";;;;;AAWA,IAAMM,IACF,iEAEEC,IAAqB;CAAE,OAAO;CAAM,QAAQ;AAAI;AAwCtD,SAAgBC,EAAY,GAA6C;CACrE,IAAM,EACF,YACA,cAAW,oBACX,UAAO,IACP,kBAAe,IACf,kBAAe,OACfC,GAEEC,IAAWR,EAAsC,IAAI;CAmF3D,OALAD,QAAsB;EAElB,AADAS,EAAS,OAAO,QAAQ,GACxB,EAAS,QAAQ;CACrB,CAAC,GAEM;EAAE;EAAU,kBAjFM;GACrB,IAAI,CAACC,EAAQ,OACT;GAMJ,AADAN,EAAWC,CAAc,GACzBM,EAA0B;GAE1B,IAAM,EAAE,SAASC,MACb,MAAM,OAAO;GA8DjB,AA5DA,EAAS,QAAQ,IAAIA,EAAmB;IACpC,SAASF,EAAQ;IACjB;IACA,kBAAkB,OAAO;IACzB;IACA,cACI;IACJ,cACI;IACJ,UACI;IACJ,SACI;GACR,CAAC,IAEGG,KAAgBC,MAChBL,EAAS,MAAM,GAAG,oBAAoB;IAClC,IAAMM,IAAKN,EAAS,MAAO,MAAM;IACjC,AAAKM,MAIDF,KACAE,EAAG,gBAAgB;KACf,MAAM;KACN,OAAO;KACP,UAAU;KACV,MAAM;KACN,OAAO;KACP,UAAU,GAAG,GAAI,MAAS;MACtB,IAAMC,IAAMC,EAAmBC,CAAI;MACnC,AAAIF,KACA,OAAO,KACHA,GACA,UACA,qBACJ;KAER;IACJ,CAAC,GAGDF,KACAC,EAAG,gBAAgB;KACf,MAAM;KACN,OAAO;KACP,UAAU;KACV,MAAM;KACN,OAAO;KACP,UAAU,GAAG,GAAI,MAAS;MACtB,IAAMC,IAAMC,EAAmBC,CAAI;MACnC,AAAIF,KACAG,EAAcH,CAAG;KAEzB;IACJ,CAAC;GAET,CAAC,GAGLP,EAAS,MAAM,KAAK;EACxB;CAOwB;AAC5B;AAkBA,SAAgBW,IAAqC;CACjD,IAAMC,IAAQlB,kBAAI,IAAI,IAA+C,CAAC;CA0BtE,OAAO;EAAE,UAvBL,MACC;GACD,KAAK,IAAMmB,KAASC,GAAQ;IACxB,IAAID,EAAM,SAASA,EAAM,QAAQ;KAC7B,EAAM,MAAM,IAAIA,EAAM,KAAK;MACvB,OAAOA,EAAM;MACb,QAAQA,EAAM;KAClB,CAAC;KACD;IACJ;IACA,IAAME,IAAM,IAAI,MAAM;IAOtB,AANA,EAAI,eAAe;KACf,EAAM,MAAM,IAAIF,EAAM,KAAK;MACvB,OAAOE,EAAI;MACX,QAAQA,EAAI;KAChB,CAAC;IACL,GACA,EAAI,MAAMF,EAAM;GACpB;EACJ;EAIkB,UAFD,MAAgBD,EAAM,MAAM,IAAIL,CAAG,KAAKV;CAE/B;AAC9B;AAMA,SAASW,EAAmB,GAAsC;CAC9D,OACIC,EAAK,WAAW,MAAM,OACtBA,EAAK,WAAW,MAAM,SAChB,cAAc,KAAK,CAAC,EACpB,aAAa,KAAK,KACxBA,EAAK,WAAW,MAAM,SAChB,cAAc,QAAQ,CAAC,EACvB,aAAa,QAAQ,KAC3BA,EAAK,WAAW,MAAM,SAAS,aAAa,KAAK,KACjD,KAAA;AAER;AAeA,SAASC,EAAc,GAAmB;CACtC,IAAMM,IAAcC,EAAcV,CAAG,GAE/BW,IAAS,SAAS,cAAc,GAAG;CASzC,AARA,EAAO,OAAOF,GACd,EAAO,SAAS,UAChB,EAAO,MAAM,uBAGb,EAAO,WAAWG,EAAmBZ,CAAG,GACxC,SAAS,KAAK,YAAYW,CAAM,GAChCA,EAAO,MAAM,GACb,SAAS,KAAK,YAAYA,CAAM;AACpC;AAMA,SAASD,EAAc,GAAqB;CACxC,OAAOV,EAAI,QAAQ,gBAAgB,aAAa;AACpD;AAEA,SAASY,EAAmB,GAAqB;CAC7C,IAAIZ,EAAI,WAAW,oBAAoB,GACnC,OAAO;CAEX,IAAIA,EAAI,WAAW,OAAO,GAGtB,OAAO,SAFMA,EAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAC9B,CAAK,MAAM,GAAG,CAAC,CAAC,MAAM;CAGtC,IAAI;EAEA,IAAMa,IADW,IAAI,IAAIb,CAAG,CAAC,CAAC,SACR,MAAM,GAAG,CAAC,CAAC,IAAI;EACrC,OAAOa,KAAQA,EAAK,SAAS,GAAG,IAAIA,IAAO;CAC/C,QAAQ;EACJ,OAAO;CACX;AACJ;AAEA,IAAIC,IAAoB;AAOxB,SAASnB,IAAkC;CACvC,IAAImB,GACA;CAEJ,IAAoB;CACpB,IAAMC,IAAQ,SAAS,cAAc,OAAO;CAW5C,AAVA,EAAM,cAAc;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACJ,CAAC,CAAC,KAAK,GAAG,GACV,SAAS,KAAK,YAAYA,CAAK;AACnC"}
|