vibe64 0.1.39 → 0.1.41
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/bin/run.js +1955 -1855
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5514 -5343
- package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-CAmuBm-M.css +1 -0
- package/dist/assets/_slug_-q9prK_gX.js +25 -0
- package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
- package/dist/assets/app-D1CGY9Xm.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
- package/dist/assets/client-BxGiylrJ.js +2 -0
- package/dist/assets/client-C8jwAMY9.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
- package/dist/assets/definitions-SNvFDEFS.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-sXAQqKWk.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-Cr34pf2p.js +1 -0
- package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
- package/dist/assets/index-Mxalhei8.js +138 -0
- package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-BbiG7dCV.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-4r_4K5IY.js +3 -0
- package/dist/assets/publish-BFTsAMCF.css +1 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
- package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +97 -22
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +78 -56
- package/docs/colleague-usage/learning-mode-ui.md +31 -19
- package/docs/colleague-usage/learning-practice-projects.md +15 -4
- package/docs/colleague-usage/learning-teacher-guide.md +10 -4
- package/docs/colleague-usage/learning-with-colleague.md +12 -8
- package/docs/colleague-usage/lesson-authoring.md +13 -13
- package/docs/colleague-usage/lesson-step-bar.md +47 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/preview-starting-application.md +10 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +187 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +23 -6
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +37 -15
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +43109 -41089
- package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
- package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-BclonbST.js +0 -24
- package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
- package/dist/assets/app-BNP_n_Tt.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-BrMvu6yV.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D3KQGvRe.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-dNxr4Lg9.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-Bywux4s7.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
- package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{$ as useToggleScope,$t as matchesSelector,An as isSymbol,At as camelizeProps,B as VDefaultsProvider,Cn as isBoolean,Dn as isNumber,En as isNullOrUndefined,Fn as useId,Ft as debounce,Gt as getActiveElement,H as useResizeObserver,L as useTextColor,Mn as mergeDeep,Nt as clamp,On as isObject,Pn as resolveIds,Pt as convertToUnit,Q as useProxiedModel,R as makeDimensionProps,Rt as ensureValidVNode,Sn as isArray,Tn as isNull,V as makeTagProps,Wt as focusableChildren,X as useLocale,_n as V0Error,at as deepEqual,bn as foreground,dn as IN_BROWSER$1,dt as injectNestedDefaults,gn as UNSAFE_KEYS,gt as propsFactory,h as VIcon,ht as makeComponentProps,it as useRender,jn as isUndefined,jt as checkPrintable,kn as isString,nn as omit,ot as defineComponent,pt as getCurrentInstance,qt as getPropertyFromItem,st as genericComponent,tt as IconValue,un as wrapInArray,vn as clamp$1,wn as isFunction,xn as hexToRgb,yn as findMatchRanges,z as useDimension}from"./ripple-BVltMmyV.js";import{Cn as toRaw,D as createVNode,E as createTextVNode,En as toValue,H as hasInjectionContext,Ht as watch,J as inject,On as unref,Pt as useId$1,Ut as watchEffect,Zn as normalizeClass,_ as createBaseVNode,_n as readonly,bn as shallowReadonly,ct as onMounted,er as normalizeStyle,et as mergeProps,g as computed,gt as provide,o as Fragment,pn as onScopeDispose,tt as nextTick,un as isRef,vn as ref,wn as toRef,xn as shallowRef,yn as shallowReactive}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{d as getScrollParent,l as forwardRefs,u as VDialogTransition}from"./VOverlay-CeMZurIN.js";import{g as useDisplay,o as makeTransitionProps,t as VAvatar}from"./VAvatar-DPzqDH4r.js";import{a as useItems,n as VList,o as VListSubheader,r as makeItemsProps,s as VListItem,t as VMenu}from"./VMenu-C_x18lwb.js";import{t as VChip}from"./VChip-CcI-Oo2J.js";import{g as VCheckboxBtn,h as useInputIcon,n as makeVTextFieldProps,p as useForm,t as VTextField}from"./VTextField-BR2eZeFT.js";import{t as VDivider}from"./VDivider-BMEqUoAB.js";import{t as VSheet}from"./VSheet-DZWsu0kL.js";var IN_BROWSER=typeof window!==`undefined`;var SUPPORTS_TOUCH=IN_BROWSER&&(`ontouchstart`in window||window.navigator.maxTouchPoints>0);var SUPPORTS_MATCH_MEDIA=IN_BROWSER&&`matchMedia`in window&&typeof window.matchMedia===`function`;var SUPPORTS_OBSERVER=IN_BROWSER&&`ResizeObserver`in window;var SUPPORTS_INTERSECTION_OBSERVER=IN_BROWSER&&`IntersectionObserver`in window;var SUPPORTS_MUTATION_OBSERVER=IN_BROWSER&&`MutationObserver`in window;var __LOGGER_ENABLED__=typeof{}.VITE_LOGGER_ENABLED!==`undefined`&&{}.VITE_LOGGER_ENABLED===`true`;var makeVVirtualScrollItemProps=propsFactory({renderless:Boolean,...makeComponentProps()},`VVirtualScrollItem`);var VVirtualScrollItem=genericComponent()({name:`VVirtualScrollItem`,inheritAttrs:false,props:makeVVirtualScrollItemProps(),emits:{"update:height":height=>true},setup(props,{attrs,emit,slots}){const{resizeRef,contentRect}=useResizeObserver(void 0,`border`);watch(()=>contentRect.value?.height,height=>{if(height!=null)emit(`update:height`,height)});useRender(()=>props.renderless?createBaseVNode(Fragment,null,[slots.default?.({itemRef:resizeRef})]):createBaseVNode(`div`,mergeProps({"ref":resizeRef,"class":[`v-virtual-scroll__item`,props.class],"style":props.style},attrs),[slots.default?.()]))}});var UP=-1;var DOWN=1;var BUFFER_PX=100;var makeVirtualProps=propsFactory({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function useVirtual(props,items){const display=useDisplay();const itemHeight=shallowRef(0);watchEffect(()=>{itemHeight.value=parseFloat(props.itemHeight||0)});const first=shallowRef(0);const last=shallowRef(Math.ceil((parseInt(props.height)||display.height.value)/(itemHeight.value||16))||1);const paddingTop=shallowRef(0);const paddingBottom=shallowRef(0);const containerRef=ref();const markerRef=ref();let markerOffset=0;const{resizeRef,contentRect}=useResizeObserver();watchEffect(()=>{resizeRef.value=containerRef.value});const viewportHeight=computed(()=>{return containerRef.value===document.documentElement?display.height.value:contentRect.value?.height||parseInt(props.height)||0});const hasInitialRender=computed(()=>{return!!(containerRef.value&&markerRef.value&&viewportHeight.value&&itemHeight.value)});let sizes=Array.from({length:items.value.length});let offsets=Array.from({length:items.value.length});let heights=new Map;const updateTime=shallowRef(0);let targetScrollIndex=-1;let targetScrollPosition=`start`;let targetScrollHeight=0;function getSize(index){return sizes[index]||itemHeight.value}const updateOffsets=debounce(()=>{const start=performance.now();offsets[0]=0;const length=items.value.length;for(let i=1;i<=length;i++)offsets[i]=(offsets[i-1]||0)+getSize(i-1);updateTime.value=Math.max(updateTime.value,performance.now()-start);calculateVisibleItems()},updateTime);const unwatch=watch(hasInitialRender,v=>{if(!v)return;unwatch();markerOffset=markerRef.value.offsetTop;updateOffsets.immediate();calculateVisibleItems();if(!~targetScrollIndex)return;nextTick(()=>{IN_BROWSER$1&&window.requestAnimationFrame(()=>{if(~targetScrollIndex)scrollToIndex(targetScrollIndex,targetScrollPosition)})})});onScopeDispose(()=>{updateOffsets.clear()});function estimateItemHeight(){let total=0;for(const count of heights.values())total+=count;let seen=0;for(const height of[...heights.keys()].sort((a,b)=>a-b)){seen+=heights.get(height);if(seen*2>=total)return height}return itemHeight.value}function handleItemResize(index,height){const prevHeight=sizes[index];const prevItemHeight=itemHeight.value;if(height>0){if(prevHeight){const count=heights.get(prevHeight)-1;count?heights.set(prevHeight,count):heights.delete(prevHeight)}heights.set(height,(heights.get(height)??0)+1);itemHeight.value=estimateItemHeight()}if(prevHeight!==height||prevItemHeight!==itemHeight.value){sizes[index]=height;updateOffsets()}}function calculateOffset(index){index=clamp(index,0,items.value.length);const whole=Math.floor(index);const fraction=index%1;const next=whole+1;const wholeOffset=offsets[whole]||0;return wholeOffset+((offsets[next]||wholeOffset)-wholeOffset)*fraction}function calculateIndex(scrollTop){return binaryClosest(offsets,scrollTop)}let lastScrollTop=0;let scrollVelocity=0;let lastScrollTime=0;watch(viewportHeight,(val,oldVal)=>{calculateVisibleItems();if(val<oldVal)requestAnimationFrame(()=>{scrollVelocity=0;calculateVisibleItems()})});let scrollTimeout=-1;function handleScroll(){if(!containerRef.value||!markerRef.value)return;const scrollTop=containerRef.value.scrollTop;const scrollTime=performance.now();if(scrollTime-lastScrollTime>500){scrollVelocity=Math.sign(scrollTop-lastScrollTop);markerOffset=markerRef.value.offsetTop}else scrollVelocity=scrollTop-lastScrollTop;lastScrollTop=scrollTop;lastScrollTime=scrollTime;window.clearTimeout(scrollTimeout);scrollTimeout=window.setTimeout(handleScrollend,500);calculateVisibleItems()}function handleScrollend(){if(!containerRef.value||!markerRef.value)return;scrollVelocity=0;lastScrollTime=0;window.clearTimeout(scrollTimeout);calculateVisibleItems()}let raf=-1;function calculateVisibleItems(){cancelAnimationFrame(raf);raf=requestAnimationFrame(_calculateVisibleItems)}function _calculateVisibleItems(){if(!containerRef.value||!viewportHeight.value||!itemHeight.value)return;const scrollTop=lastScrollTop-markerOffset;const direction=Math.sign(scrollVelocity);const startPx=Math.max(0,scrollTop-BUFFER_PX);const start=clamp(calculateIndex(startPx),0,items.value.length);const endPx=scrollTop+viewportHeight.value+BUFFER_PX;const end=clamp(calculateIndex(endPx)+1,start+1,items.value.length);if((direction!==UP||start<first.value)&&(direction!==DOWN||end>last.value)){const topOverflow=calculateOffset(first.value)-calculateOffset(start);const bottomOverflow=calculateOffset(end)-calculateOffset(last.value);if(Math.max(topOverflow,bottomOverflow)>BUFFER_PX){first.value=start;last.value=end}else{if(start<=0)first.value=start;if(end>=items.value.length){last.value=end;first.value=start}}}paddingTop.value=calculateOffset(first.value);paddingBottom.value=calculateOffset(items.value.length)-calculateOffset(last.value)}function calculateScrollTop(index,position){const offset=calculateOffset(index);if(position===`center`)return Math.max(0,offset-viewportHeight.value/2+getSize(index)/2);if(position===`end`){const scrollport=containerRef.value?.clientHeight||viewportHeight.value;return Math.max(0,offset+markerOffset-scrollport+getSize(index))}return offset}function scrollToIndex(index,position=`start`){if(targetScrollIndex!==index)targetScrollHeight=0;const offset=calculateOffset(index);if(!containerRef.value||index&&!offset){targetScrollIndex=index;targetScrollPosition=position;return}const itemSize=itemHeight.value||16;const buffer=Math.ceil(BUFFER_PX/itemSize);const viewport=Math.max(1,Math.ceil((viewportHeight.value||0)/itemSize));const lead=position===`center`?Math.ceil(viewport/2):position===`end`?viewport:0;first.value=clamp(index-lead-buffer,0,Math.max(0,items.value.length-1));last.value=clamp(index-lead+viewport+buffer,first.value+1,items.value.length);paddingTop.value=calculateOffset(first.value);paddingBottom.value=calculateOffset(items.value.length)-calculateOffset(last.value);scrollVelocity=0;lastScrollTime=0;targetScrollIndex=index;targetScrollPosition=position;nextTick(()=>{const el=containerRef.value;if(!el||!~targetScrollIndex||targetScrollIndex!==index)return;const top=calculateScrollTop(index,position);el.scrollTop=top;lastScrollTop=el.scrollTop;if(index&&el.scrollTop<top-1&&el.scrollHeight>targetScrollHeight){targetScrollHeight=el.scrollHeight;IN_BROWSER$1&&requestAnimationFrame(()=>{if(targetScrollIndex===index)scrollToIndex(index,position)})}else{targetScrollIndex=-1;targetScrollPosition=`start`;calculateVisibleItems()}})}const computedItems=computed(()=>{return items.value.slice(first.value,last.value).map((item,index)=>{const _index=index+first.value;return{raw:item,index:_index,key:getPropertyFromItem(item,props.itemKey,_index)}})});watch(items,()=>{sizes=Array.from({length:items.value.length});offsets=Array.from({length:items.value.length});heights=new Map;updateOffsets.immediate();calculateVisibleItems()},{deep:1});return{calculateVisibleItems,containerRef,markerRef,computedItems,paddingTop,paddingBottom,scrollToIndex,handleScroll,handleScrollend,handleItemResize}}function binaryClosest(arr,val){let high=arr.length-1;let low=0;let mid=0;let item=null;let target=-1;if(arr[high]<val)return high;while(low<=high){mid=low+high>>1;item=arr[mid];if(item>val)high=mid-1;else if(item<val){target=mid;low=mid+1}else if(item===val)return mid;else return low}return target}var makeVVirtualScrollProps=propsFactory({items:{type:Array,default:()=>[]},renderless:Boolean,...makeVirtualProps(),...makeComponentProps(),...makeDimensionProps()},`VVirtualScroll`);var VVirtualScroll=genericComponent()({name:`VVirtualScroll`,props:makeVVirtualScrollProps(),setup(props,{slots}){const vm=getCurrentInstance(`VVirtualScroll`);const{dimensionStyles}=useDimension(props);const{calculateVisibleItems,containerRef,markerRef,handleScroll,handleScrollend,handleItemResize,scrollToIndex,paddingTop,paddingBottom,computedItems}=useVirtual(props,toRef(()=>props.items));useToggleScope(()=>props.renderless,()=>{function handleListeners(add=false){const method=add?`addEventListener`:`removeEventListener`;if(!IN_BROWSER$1)return;if(containerRef.value===document.documentElement){document[method](`scroll`,handleScroll,{passive:true});document[method](`scrollend`,handleScrollend)}else{containerRef.value?.[method](`scroll`,handleScroll,{passive:true});containerRef.value?.[method](`scrollend`,handleScrollend)}}onMounted(()=>{containerRef.value=getScrollParent(vm.vnode.el,true);handleListeners(true)});onScopeDispose(handleListeners)});useRender(()=>{const children=computedItems.value.map(item=>createVNode(VVirtualScrollItem,{"key":item.key,"renderless":props.renderless,"onUpdate:height":height=>handleItemResize(item.index,height)},{default:slotProps=>slots.default?.({item:item.raw,index:item.index,...slotProps})}));return props.renderless?createBaseVNode(Fragment,null,[createBaseVNode(`div`,{"ref":markerRef,"class":`v-virtual-scroll__spacer`,"style":{paddingTop:convertToUnit(paddingTop.value)}},null),children,createBaseVNode(`div`,{"class":`v-virtual-scroll__spacer`,"style":{paddingBottom:convertToUnit(paddingBottom.value)}},null)]):createBaseVNode(`div`,{"ref":containerRef,"class":normalizeClass([`v-virtual-scroll`,props.class]),"onScrollPassive":handleScroll,"onScrollend":handleScrollend,"style":normalizeStyle([dimensionStyles.value,props.style])},[createBaseVNode(`div`,{"ref":markerRef,"class":`v-virtual-scroll__container`,"style":{paddingTop:convertToUnit(paddingTop.value),paddingBottom:convertToUnit(paddingBottom.value)}},[children])])});return{calculateVisibleItems,scrollToIndex}}});function useContext(key,defaultValue){const context=inject(key,defaultValue);if(isUndefined(context))throw new V0Error(`Context "${String(key)}" not found. Ensure it's provided by an ancestor.`,{code:`V0_CONTEXT_MISSING`,key});return context}function provideContext(key,context,app){if(app)app.provide(key,context);else provide(key,context);return context}function createContext(keyOrOptions,defaultValue){if(isString(keyOrOptions)||isSymbol(keyOrOptions)){const _key=keyOrOptions;function _provideContext(context,app){return provideContext(_key,context,app)}function _useContext(){return useContext(_key,defaultValue)}return[_useContext,_provideContext]}const suffix=isObject(keyOrOptions)?keyOrOptions.suffix:void 0;function _provideContext(key,context,app){return provideContext(suffix?`${key}:${suffix}`:key,context,app)}function _useContext(key,defaultValue){return useContext(suffix?`${key}:${suffix}`:key,defaultValue)}return[_useContext,_provideContext]}function createTrinity(keyOrUseContext,provideContextOrContext,maybeContext){if(isString(keyOrUseContext)){const[useContext,provideContext]=createContext(keyOrUseContext);const context=provideContextOrContext;return[useContext,(_context=context,app)=>provideContext(_context,app),context]}const provideContext=provideContextOrContext;const context=maybeContext;return[keyOrUseContext,(_context=context,app)=>provideContext(_context,app),context]}var INSTALLED=Symbol.for(`v0:installed-plugins`);function getInstalled(app){const ctx=app._context;return ctx[INSTALLED]??=new Set}function createPlugin(options){return{install(app){app.runWithContext(()=>{const installed=getInstalled(app);if(installed.has(options.namespace))return;installed.add(options.namespace);options.provide(app);options.setup?.(app)})}}}function deriveKey(namespace){return namespace.startsWith(`v0:`)?namespace.slice(3):namespace}function getPersistedStorage(){return useContext(`v0:storage`)}function createPluginContext(defaultNamespace,factory,config){function createXContext(_options={}){const{namespace=defaultNamespace,persist:_persist,...options}=_options;const context=factory(options);return createTrinity(namespace,context)}function createXPlugin(_options={}){const{namespace=defaultNamespace,persist:shouldPersist,...options}=_options;let context;return createPlugin({namespace,provide:app=>{const[,provide,ctx]=createXContext({...options,namespace});context=ctx;provide(context,app);if(shouldPersist&&config?.restore){const storage=getPersistedStorage();const key=deriveKey(namespace);const saved=storage.get(key);if(!isNullOrUndefined(saved.value))config.restore(context,saved.value)}},setup:config?.setup||shouldPersist?app=>{const ctx=context;config?.setup?.(ctx,app,options);if(shouldPersist&&config?.persist){const storage=getPersistedStorage();const key=deriveKey(namespace);const stored=storage.get(key);const stop=watch(()=>config.persist(ctx),val=>{stored.value=val});app.onUnmount(stop)}}:void 0})}function useX(namespace=defaultNamespace){if(config?.fallback){if(!hasInjectionContext())return config.fallback(namespace);const provided=inject(namespace,void 0);if(!isUndefined(provided))return provided;return config.fallback(namespace)}return useContext(namespace)}return[createXContext,createXPlugin,useX]}var LoggerAdapter=class{};var V0LoggerAdapter=class extends LoggerAdapter{prefix;colors;timestamps;constructor(options={}){super();this.prefix=options.prefix||`v0`;this.colors=options.colors!==false;this.timestamps=options.timestamps!==false}debug(message,...args){this.log(`debug`,`debug`,message,...args)}info(message,...args){this.log(`info`,`info`,message,...args)}warn(message,...args){this.log(`warn`,`warn`,message,...args)}error(message,...args){this.log(`error`,`error`,message,...args)}trace(message,...args){this.log(`trace`,`trace`,message,...args)}fatal(message,...args){this.log(`fatal`,`error`,message,...args)}format(level,message,...args){return[[this.timestamps?this.timestamp():``,`[${this.prefix} ${level.toLowerCase()}]`,message].filter(Boolean).join(` `),...args]}timestamp(){if(!IN_BROWSER)return new Date().toISOString();return new Date().toTimeString().split(` `)[0]??``}style(level){if(!this.colors||!IN_BROWSER)return``;return{trace:`color: #64748b`,debug:`color: #3b82f6`,info:`color: #10b981`,warn:`color: #f59e0b`,error:`color: #ef4444`,fatal:`color: #dc2626; font-weight: bold`,silent:``}[level]||``}log(level,method,message,...args){const[formattedMessage,...restArgs]=this.format(level,message,...args);const style=this.style(level);if(IN_BROWSER&&style&&isFunction(console[method]))console[method](`%c${formattedMessage}`,style,...restArgs);else if(isFunction(console[method]))console[method](formattedMessage,...restArgs)}};function createLogger(options={}){const{adapter=new V0LoggerAdapter({prefix:options.prefix}),level:initialLevel=`info`,enabled:initialEnabled=__LOGGER_ENABLED__}=options;let currentLevel=initialLevel;let isEnabled=initialEnabled;function value(level){return{trace:0,debug:1,info:2,warn:3,error:4,fatal:5,silent:6}[level]??2}function can(level){if(!isEnabled)return false;return value(level)>=value(currentLevel)}function format(message){return message}function debug(message,...args){if(can(`debug`))adapter.debug(format(message),...args)}function info(message,...args){if(can(`info`))adapter.info(format(message),...args)}function warn(message,...args){if(can(`warn`))adapter.warn(format(message),...args)}function error(message,...args){if(can(`error`))adapter.error(format(message),...args)}function trace(message,...args){if(can(`trace`))adapter.trace?.(format(message),...args)}function fatal(message,...args){if(can(`fatal`))adapter.fatal?.(format(message),...args)}function level(newLevel){currentLevel=newLevel}function current(){return currentLevel}function enabled(){return isEnabled}function enable(){isEnabled=true}function disable(){isEnabled=false}return{debug,info,warn,error,trace,fatal,level,current,enabled,enable,disable}}var NAMESPACE=`v0:logger`;function createFallbackLogger(namespace=NAMESPACE){function format(message,type){return`[${namespace} ${type}] ${message}`}return{debug:(message,...args)=>console.debug(format(message,`debug`),...args),info:(message,...args)=>console.info(format(message,`info`),...args),warn:(message,...args)=>console.warn(format(message,`warn`),...args),error:(message,...args)=>console.error(format(message,`error`),...args),trace:(message,...args)=>console.trace(format(message,`trace`),...args),fatal:(message,...args)=>console.error(format(message,`fatal`),...args),level:()=>{},current:()=>`info`,enabled:()=>true,enable:()=>{},disable:()=>{}}}var[createLoggerContext,createLoggerPlugin,useLoggerContext]=createPluginContext(NAMESPACE,options=>createLogger(options),{fallback:ns=>createFallbackLogger(ns),setup:(context,_app,_options)=>{}});function createScopedLogger(logger,scope){const tag=`[${scope}]`;function wrap(method){return(message,...args)=>method(`${tag} ${message}`,...args)}return{...logger,debug:wrap(logger.debug),info:wrap(logger.info),warn:wrap(logger.warn),error:wrap(logger.error),trace:wrap(logger.trace),fatal:wrap(logger.fatal)}}function useLogger(scope){const logger=useLoggerContext();return isUndefined(scope)||!scope.trim()?logger:createScopedLogger(logger,scope)}function createRegistry(options){const logger=useLogger();const events=options?.events??false;const reactive=options?.reactive??false;const collection=reactive?shallowReactive(new Map):new Map;const catalog=new Map;const directory=new Map;const cache=new Map;const listeners=new Map;const minted=new WeakSet;const order=[];const version=shallowRef(0);let indexDependentCount=0;let needsReindex=false;let minDirtyIndex=Infinity;let maxDirtyIndex=-Infinity;let isBatching=false;let structural=false;let batched=[];function dispatch(event,data){const cbs=listeners.get(event);if(!cbs)return;for(const cb of cbs)cb(data)}function emit(event,data=void 0){if(!events)return;if(isBatching){batched.push({event,data});return}dispatch(event,data)}function on(event,cb){if(!events){logger.warn(`Events are disabled. Initialize with \`createRegistry({ events: true })\` to enable.`);return}if(!listeners.has(event))listeners.set(event,new Set);listeners.get(event).add(cb)}function off(event,cb){if(!events){logger.warn(`Events are disabled. Initialize with \`createRegistry({ events: true })\` to enable.`);return}listeners.get(event)?.delete(cb)}function dispose(){listeners.clear();clear()}function get(id){return collection.get(id)}function upsert(id,patch={},event){if(needsReindex)reindex();const existing=get(id);if(!existing)return register({...patch,id});const hasValue=Object.hasOwn(patch,`value`);let value=existing.value;let valueIsIndex=existing.valueIsIndex;if(hasValue){if(isUndefined(patch.value)){value=existing.index;valueIsIndex=true}else{value=patch.value;valueIsIndex=false}if(valueIsIndex!==existing.valueIsIndex){if(valueIsIndex)indexDependentCount++;else indexDependentCount--}if(!Object.is(value,existing.value)){unassign(existing.value,id);assign(value,id)}}Object.assign(existing,patch,{id,index:existing.index,value,valueIsIndex});collection.set(id,existing);cache.clear();emit(`update:ticket`,existing);if(event)emit(event,existing);return existing}function browse(value){if(needsReindex)reindex();const bucket=catalog.get(value);return bucket?bucket.slice():void 0}function lookup(index){if(needsReindex)reindex();return directory.get(index)}function has(id){return collection.has(id)}function assign(value,id){const bucket=catalog.get(value);if(bucket){if(!bucket.includes(id))bucket.push(id)}else catalog.set(value,[id])}function unassign(value,id){const bucket=catalog.get(value);if(!bucket)return;const next=bucket.filter(v=>v!==id);if(next.length===0)catalog.delete(value);else catalog.set(value,next)}function keys(){if(reactive)version.value;const cached=cache.get(`keys`);if(!isUndefined(cached))return cached;const out=order.map(ticket=>ticket.id);cache.set(`keys`,out);return out}function values(){if(reactive)version.value;const cached=cache.get(`values`);if(!isUndefined(cached))return cached;const out=order.slice();cache.set(`values`,out);return out}function entries(){if(reactive)version.value;const cached=cache.get(`entries`);if(!isUndefined(cached))return cached;const out=order.map(ticket=>[ticket.id,ticket]);cache.set(`entries`,out);return out}function clear(){order.length=0;collection.clear();catalog.clear();directory.clear();invalidate();indexDependentCount=0;needsReindex=false;minDirtyIndex=Infinity;maxDirtyIndex=-Infinity;emit(`clear:registry`)}function invalidate(){cache.clear();if(isBatching){structural=true;return}version.value++}function batch(fn){if(isBatching)return fn();isBatching=true;structural=false;batched=[];try{return fn()}finally{isBatching=false;const queue=batched;batched=[];cache.clear();try{for(const{event,data}of queue)dispatch(event,data)}finally{if(structural)version.value++}}}function reindex(){const size=order.length;const start=minDirtyIndex===Infinity?0:minDirtyIndex;const end=maxDirtyIndex===-Infinity?size-1:Math.min(maxDirtyIndex,size-1);const full=start===0&&end===size-1;invalidate();if(full){catalog.clear();directory.clear()}else for(let i=start;i<=end;i++){const ticket=order[i];directory.delete(ticket.index);if(ticket.valueIsIndex)unassign(ticket.value,ticket.id)}for(let i=start;i<=end;i++){const ticket=order[i];if(ticket.valueIsIndex){ticket.value=i;assign(ticket.value,ticket.id)}else if(full)assign(ticket.value,ticket.id);ticket.index=i;directory.set(i,ticket.id)}needsReindex=false;minDirtyIndex=Infinity;maxDirtyIndex=-Infinity;emit(`reindex:registry`)}function register(registration={}){if(needsReindex)reindex();const size=collection.size;const auto=isNullOrUndefined(registration.id);const id=registration.id??useId();if(has(id)){logger.warn(`Ticket "${id}" already exists. Use \`upsert()\` to update or check \`has()\` before registering.`);return get(id)}const valueIsUndefined=isUndefined(registration.value);const index=size;const value=valueIsUndefined?index:registration.value;const valueIsIndex=registration.valueIsIndex??valueIsUndefined;if(valueIsIndex)indexDependentCount++;const input={unregister:()=>unregister(id),...registration,id,index,value,valueIsIndex};const ticket=reactive?shallowReactive(input):input;if(auto)minted.add(ticket);collection.set(ticket.id,ticket);order.push(ticket);directory.set(ticket.index,ticket.id);assign(ticket.value,ticket.id);invalidate();emit(`register:ticket`,ticket);return ticket}function unregister(id){const ticket=collection.get(id);if(!ticket)return;if(ticket.valueIsIndex)indexDependentCount--;let orderPos=ticket.index;if(order[orderPos]!==ticket)orderPos=order.indexOf(ticket);if(orderPos!==-1)order.splice(orderPos,1);collection.delete(ticket.id);directory.delete(ticket.index);unassign(ticket.value,ticket.id);const willReindex=indexDependentCount>0&&ticket.index<collection.size;if(!willReindex)invalidate();minDirtyIndex=Math.min(minDirtyIndex,ticket.index);if(willReindex)reindex();else needsReindex=true;emit(`unregister:ticket`,ticket)}function onboard(registrations){return batch(()=>registrations.map(registration=>register(registration)))}function toInput(ticket){const input={...ticket};delete input.index;delete input.valueIsIndex;delete input.unregister;if(minted.has(ticket))delete input.id;if(ticket.valueIsIndex)delete input.value;return input}function offboard(ids){const removed=[];const removedIds=new Set;for(const id of ids){if(removedIds.has(id))continue;const ticket=collection.get(id);if(ticket){removed.push(ticket);removedIds.add(id)}}if(removed.length===0)return[];batch(()=>{let w=0;for(const ticket of order)if(!removedIds.has(ticket.id))order[w++]=ticket;order.length=w;invalidate();for(const ticket of removed){if(ticket.valueIsIndex)indexDependentCount--;minDirtyIndex=Math.min(minDirtyIndex,ticket.index);collection.delete(ticket.id);directory.delete(ticket.index);unassign(ticket.value,ticket.id)}for(const ticket of removed)emit(`unregister:ticket`,ticket);if(indexDependentCount>0&&minDirtyIndex<collection.size)reindex();else needsReindex=true});return removed.map(ticket=>toInput(ticket))}function move(id,toIndex){if(needsReindex)reindex();const ticket=collection.get(id);if(!ticket)return void 0;const size=collection.size;const target=clamp$1(toIndex,0,size-1);const from=ticket.index;if(from===target)return ticket;return batch(()=>{order.splice(from,1);order.splice(target,0,ticket);minDirtyIndex=Math.min(from,target);maxDirtyIndex=Math.max(from,target);reindex();emit(`update:ticket`,ticket);return ticket})}function reorder(ids){if(needsReindex)reindex();if(ids.length!==collection.size)return;const seen=new Set;const next=[];for(const id of ids){if(seen.has(id))return;const ticket=collection.get(id);if(!ticket)return;seen.add(id);next.push(ticket)}batch(()=>{for(const[i,ticket]of next.entries())order[i]=ticket;minDirtyIndex=0;maxDirtyIndex=-Infinity;reindex()})}function seek(direction=`first`,from,predicate){if(collection.size===0)return void 0;if(needsReindex)reindex();const n=order.length;if(!predicate&&isUndefined(from))return direction===`first`?order[0]:order.at(-1);const index=isUndefined(from)?void 0:clamp$1(from,0,n-1);if(direction===`last`){const start=isUndefined(index)?n-1:index;for(let i=start;i>=0;i--){const ticket=order[i];if(!predicate||predicate(ticket))return ticket}}else{const start=isUndefined(index)?0:index;for(let i=start;i<n;i++){const ticket=order[i];if(!predicate||predicate(ticket))return ticket}}}return{collection,emit,on,off,dispose,has,keys,clear,browse,entries,values,lookup,get,upsert,register,unregister,reindex,move,reorder,seek,batch,onboard,offboard,get size(){return collection.size}}}function createModel(_options={}){const{disabled=false,enroll=true,multiple=false,...options}=_options;const registry=createRegistry(options);const selectedIds=shallowReactive(new Set);const selectedItems=computed(()=>new Set(resolveIds(selectedIds,registry.get)));const selectedValues=computed(()=>{const out=new Set;for(const item of selectedItems.value)out.add(toValue(item.value));return out});function select(id){if(toValue(disabled))return;const item=registry.get(id);if(!item||toValue(item.disabled))return;if(!toValue(multiple))selectedIds.clear();selectedIds.add(id)}function unselect(id){if(toValue(disabled))return;const item=registry.get(id);if(!item||toValue(item.disabled))return;selectedIds.delete(id)}function toggle(id){if(toValue(disabled))return;if(selected(id))unselect(id);else select(id)}function selected(id){return selectedIds.has(id)}function apply(values,_options){const value=values[0];let written=false;for(const id of selectedIds){const item=registry.get(id);if(!item||!isRef(item.value))continue;if(!isUndefined(value))item.value.value=value;written=true}if(written)return;if(!toValue(multiple))selectedIds.clear();if(isUndefined(value))return;const id=registry.browse(toRaw(value))?.values().next().value;if(!isUndefined(id))select(id)}function register(registration={}){const id=registration.id??useId();const item={disabled:false,unregister:()=>unregister(id),...registration,isSelected:toRef(()=>selected(id)),id};const ticket=registry.register(item);if(toValue(enroll)&&!toValue(disabled)&&!toValue(ticket.disabled))select(id);return ticket}function unregister(id){selectedIds.delete(id);registry.unregister(id)}function onboard(registrations){return registry.batch(()=>registrations.map(r=>register(r)))}function offboard(ids){for(const id of ids)selectedIds.delete(id);return registry.offboard(ids)}function reset(){selectedIds.clear()}function clear(){reset();registry.clear()}function dispose(){reset();registry.dispose()}return{...registry,disabled,selectedIds,selectedItems,selectedValues,register,onboard,unregister,offboard,clear,dispose,reset,select,unselect,toggle,selected,apply,get size(){return registry.size}}}function createSelection(_options={}){const{enroll=false,mandatory=false,multiple=false,...options}=_options;const model=createModel({...options,multiple,enroll:false});function seek(direction=`first`,from){return model.seek(direction,from,ticket=>!toValue(ticket.disabled))}function mandate(){if(!toValue(mandatory)||model.size===0||model.selectedIds.size>0)return;const ticket=seek(`first`);if(ticket)model.select(ticket.id)}function drain(id){if(toValue(model.disabled))return;if(toValue(mandatory)&&model.selectedIds.size===1)return;model.selectedIds.delete(id)}function unselect(id){if(toValue(model.disabled))return;const item=model.get(id);if(!item||toValue(item.disabled))return;drain(id)}function toggle(id){if(toValue(model.disabled))return;if(model.selectedIds.has(id))unselect(id);else model.select(id)}function apply(values,options){const isMultiple=options?.multiple??toValue(multiple);const currentIds=new Set(model.selectedIds);const targetIds=new Set;if(isMultiple){for(const value of values){const ids=model.browse(toRaw(value));if(isUndefined(ids))continue;for(const id of ids){const ticket=model.get(id);if(!ticket||toValue(ticket.disabled))continue;targetIds.add(id)}}if(toValue(mandatory)&&targetIds.size===0)return;for(const id of currentIds)if(!targetIds.has(id))model.selectedIds.delete(id);for(const id of targetIds)model.selectedIds.add(id)}else{for(const value of values){const ids=model.browse(toRaw(value));if(isUndefined(ids))continue;for(const id of ids)targetIds.add(id)}const next=targetIds.values().next().value;const last=currentIds.values().next().value;if(!isUndefined(last))drain(last);if(!isUndefined(next))model.select(next)}}function register(registration={}){const id=registration.id??useId();const decorated={select:()=>model.select(id),unselect:()=>unselect(id),toggle:()=>toggle(id),...registration,id};const ticket=model.register(decorated);if(toValue(enroll)&&!toValue(model.disabled)&&!toValue(ticket.disabled))model.select(ticket.id);if(toValue(mandatory)===`force`)mandate();return ticket}function onboard(registrations){const tickets=model.batch(()=>registrations.map(registration=>register(registration)));if(toValue(mandatory)===`force`)mandate();return tickets}return{...model,multiple,register,onboard,unselect,toggle,apply,mandate,seek,get size(){return model.size}}}function createSingle(_options={}){const{mandatory=false,...options}=_options;const registry=createSelection({...options,mandatory,multiple:false});const selectedId=toRef(()=>registry.selectedIds.values().next().value);const selectedItem=toRef(()=>registry.selectedItems.value.values().next().value);const selectedIndex=toRef(()=>selectedItem.value?.index??-1);const selectedValue=toRef(()=>selectedItem.value?.value);return{...registry,selectedId,selectedItem,selectedIndex,selectedValue,get size(){return registry.size}}}function createTokens(tokens={},options={}){const logger=useLogger();const registry=createRegistry({...options,events:true});const cache=new Map;function invalidate(){cache.clear()}registry.on(`register:ticket`,invalidate);registry.on(`unregister:ticket`,invalidate);registry.on(`update:ticket`,invalidate);registry.on(`reindex:registry`,invalidate);registry.on(`clear:registry`,invalidate);registry.onboard(flatten(tokens,options.prefix,!!options.flat));function isAlias(token){return isString(token)&&token.length>2&&token[0]===`{`&&token.at(-1)===`}`}function isTokenAlias(value){return isObject(value)&&`$value`in value}function resolve(token,visited=new Set){const cacheKey=isString(token)?token:JSON.stringify(token);if(cache.has(cacheKey))return cache.get(cacheKey);const reference=isTokenAlias(token)?token.$value:token;const isAliasReference=isString(reference)&&isAlias(reference);if(isTokenAlias(token)&&!isAliasReference){cache.set(cacheKey,reference);return reference}const clean=isAliasReference?reference.slice(1,-1):String(reference);if(visited.has(clean)){logger.warn(`Circular alias detected for "${clean}"`);cache.set(cacheKey,void 0);return}visited.add(clean);let found=registry.get(clean);let segments=[];if(!found&&clean.includes(`.`)){const parts=clean.split(`.`);for(let i=parts.length-1;i>0;i--){const prefix=parts.slice(0,i).join(`.`);const suffix=parts.slice(i);const candidate=registry.get(prefix);if(!isUndefined(candidate?.value)){found=candidate;segments=suffix;break}}}if(isUndefined(found?.value)){if(isAliasReference)logger.warn(`Alias not found for "${String(reference)}"`);cache.set(cacheKey,void 0);return}let current=found.value;if(segments.length>0){if(isTokenAlias(current))current=current.$value;for(const segment of segments){if(!isObject(current)||UNSAFE_KEYS.has(segment)||!Object.prototype.hasOwnProperty.call(current,segment)){current=void 0;break}current=current[segment];if(isTokenAlias(current))current=current.$value}if(isUndefined(current)){logger.warn(`Path not found inside "${clean}": ${segments.join(`.`)}`);cache.set(cacheKey,void 0);return}}else if(isTokenAlias(current))current=current.$value;const result=isString(current)&&isAlias(current)?resolve(current,visited):current;cache.set(cacheKey,result);return result}return{...registry,resolve,isAlias,get size(){return registry.size}}}function flatten(tokens,prefix=``,flat=false){const flattened=[];const stack=[{tokens,prefix,flat}];while(stack.length>0){const{tokens:currentTokens,prefix:currentPrefix,flat}=stack.pop();const meta={};for(const k in currentTokens){if(!Object.hasOwn(currentTokens,k))continue;if(k.startsWith(`$`))meta[k]=currentTokens[k]}if(Object.keys(meta).length>0&¤tPrefix)flattened.push({id:currentPrefix,value:meta});for(const key in currentTokens){if(!Object.hasOwn(currentTokens,key))continue;if(UNSAFE_KEYS.has(key))continue;if(key.startsWith(`$`))continue;const value=currentTokens[key];const id=currentPrefix?`${currentPrefix}.${key}`:key;if(!isObject(value)){flattened.push({id,value});continue}if(`$value`in value){flattened.push({id,value});const inner=value.$value;if(isObject(inner)&&!flat)for(const innerKey in inner){if(!Object.hasOwn(inner,innerKey))continue;if(UNSAFE_KEYS.has(innerKey))continue;if(innerKey.startsWith(`$`))continue;const child=inner[innerKey];const childId=`${id}.${innerKey}`;if(!isObject(child))flattened.push({id:childId,value:child});else if(`$value`in child)flattened.push({id:childId,value:child});else stack.push({tokens:child,prefix:childId,flat})}continue}if(flat){flattened.push({id,value});continue}stack.push({tokens:value,prefix:id,flat})}}return flattened}function toArray(value){return isNullOrUndefined(value)?[]:isArray(value)?value:[value]}function useEventListener(target,event,listener,options){const cleanups=[];function cleanup(){for(const fn of cleanups)fn();cleanups.length=0}function register(el,event,listener,options){el.addEventListener(event,listener,options);return()=>el.removeEventListener(event,listener,options)}const stopWatcher=watch(()=>[toValue(target),toValue(event),unref(listener),toValue(options)],([el,events,listeners,opts])=>{cleanup();if(!el)return;const eventList=toArray(events);const listenerList=toArray(listeners);for(const event of eventList)for(const listenerFn of listenerList)cleanups.push(register(el,event,listenerFn,opts))},{immediate:true,flush:`post`});function stop(){stopWatcher();cleanup()}onScopeDispose(stop,true);return stop}function useWindowEventListener(event,listener,options){return IN_BROWSER?useEventListener(window,event,listener,options):()=>{}}var ThemeAdapter=class ThemeAdapter{static SAFE_IDENT=/^[a-zA-Z0-9_-]+$/;static UNSAFE_CSS=/url\s*\(|src\s*\(|image\s*\(|image-set\s*\(|cross-fade\s*\(|@import|expression\s*\(|[;{}<>\\]|\/\*/i;stylesheetId=`v0-theme-stylesheet`;prefix;rgb=false;dispose;constructor(prefix){if(!ThemeAdapter.SAFE_IDENT.test(prefix))throw new V0Error(`Invalid theme prefix: "${prefix}". Expected an identifier matching ${ThemeAdapter.SAFE_IDENT}.`,{code:`V0_THEME_INVALID_PREFIX`,prefix});this.prefix=prefix}generate(colors,isDark){let css=``;for(const theme in colors){const themeColors=colors[theme];if(!themeColors)continue;if(!ThemeAdapter.SAFE_IDENT.test(theme))continue;const vars=Object.entries(themeColors).filter(([key,val])=>ThemeAdapter.SAFE_IDENT.test(key)&&!ThemeAdapter.UNSAFE_CSS.test(val)).map(([key,val])=>` --${this.prefix}-${key}: ${this.rgb?this.decompose(val):val};`).join(`
|
|
2
|
-
`);css+=`[data-theme="${theme}"] {\n${vars}\n}\n`}if(!isUndefined(isDark))css+=`:root {\n color-scheme: ${isDark?`dark`:`light`};\n}\n`;return css}decompose(hex){const{r,g,b,a}=hexToRgb(hex);return isUndefined(a)?`${r}, ${g}, ${b}`:`${r}, ${g}, ${b}, ${a}`}};var V0StyleSheetThemeAdapter=class extends ThemeAdapter{cspNonce;sheet;constructor(options={}){super(options.prefix??`v0`);this.cspNonce=options.cspNonce;this.stylesheetId=options.stylesheetId??this.stylesheetId}setup(app,context,target){if(IN_BROWSER){this.update(context.colors.value,context.isDark.value);const stopWatch=watch([context.colors,context.isDark],([colors,isDark])=>{this.update(colors,isDark)});if(isNull(target)){this.dispose=()=>{stopWatch();this.detach()};return}const targetEl=target instanceof HTMLElement?target:isString(target)?document.querySelector(target):app._container||document.querySelector(`#app`)||document.body;if(!targetEl){this.dispose=()=>{stopWatch();this.detach()};return}if(context.selectedId.value)targetEl.dataset.theme=String(context.selectedId.value);const stopTheme=watch(context.selectedId,id=>{if(!id)return;targetEl.dataset.theme=String(id)});this.dispose=()=>{stopWatch();stopTheme();this.detach()}}else{const head=app._context?.provides?.usehead??app._context?.provides?.head;if(head?.push){const id=context.selectedId.value;const entry=head.push({htmlAttrs:{"data-theme":id?String(id):``},style:[{innerHTML:this.generate(context.colors.value,context.isDark.value),id:this.stylesheetId,...this.cspNonce?{nonce:this.cspNonce}:{}}]});const stop=watch([context.selectedId,context.colors,context.isDark],([themeId,colors,isDark])=>{entry.patch?.({htmlAttrs:{"data-theme":themeId?String(themeId):``},style:[{innerHTML:this.generate(colors,isDark),id:this.stylesheetId,...this.cspNonce?{nonce:this.cspNonce}:{}}]})});this.dispose=()=>{stop();entry.dispose?.()}}}}update(colors,isDark){if(!IN_BROWSER)return;this.upsert(this.generate(colors,isDark))}upsert(styles){if(!IN_BROWSER)return;if(!this.sheet){this.sheet=new CSSStyleSheet;document.adoptedStyleSheets=[...document.adoptedStyleSheets,this.sheet]}this.sheet.replaceSync(styles)}detach(){if(!IN_BROWSER)return;document.adoptedStyleSheets=document.adoptedStyleSheets.filter(s=>s!==this.sheet);this.sheet=void 0}};function createHydration(){const isHydrated=shallowRef(false);const isSettled=shallowRef(false);function hydrate(){isHydrated.value=true}function settle(){isSettled.value=true}return{isHydrated:shallowReadonly(isHydrated),isSettled:shallowReadonly(isSettled),hydrate,settle}}function createFallbackHydration(){return{isHydrated:shallowReadonly(shallowRef(true)),isSettled:shallowReadonly(shallowRef(true)),hydrate:()=>{},settle:()=>{}}}var[createHydrationContext,createHydrationPlugin,useHydration]=createPluginContext(`v0:hydration`,()=>createHydration(),{fallback:()=>createFallbackHydration(),setup:(context,app)=>{const{mount}=app;app.mount=(...args)=>{const vm=mount(...args);nextTick().then(()=>{context.hydrate();nextTick().then(()=>context.settle())});app.mount=mount;return vm}}});function useMediaQuery(query){const resolvedQuery=toRef(()=>toValue(query));const initialQuery=toValue(query);const initialMql=IN_BROWSER&&SUPPORTS_MATCH_MEDIA?window.matchMedia(initialQuery):null;const matches=shallowRef(initialMql?.matches??false);const mediaQueryList=shallowRef(initialMql);const hydration=useHydration();let cleanup=null;function listen(){if(!IN_BROWSER||!SUPPORTS_MATCH_MEDIA)return;cleanup?.();cleanup=null;const mql=window.matchMedia(resolvedQuery.value);mediaQueryList.value=mql;matches.value=mql.matches;function handler(e){matches.value=e.matches}mql.addEventListener(`change`,handler);cleanup=()=>mql.removeEventListener(`change`,handler)}const stopWatch=watch([resolvedQuery,()=>hydration.isHydrated.value],([_,hydrated])=>{if(hydrated)listen()},{immediate:true});function stop(){stopWatch();cleanup?.();cleanup=null}onScopeDispose(stop,true);return{matches:shallowReadonly(matches),query:resolvedQuery,mediaQueryList:shallowReadonly(mediaQueryList),stop}}function usePrefersDark(){return useMediaQuery(`(prefers-color-scheme: dark)`)}function usePrefersReducedMotion(){return useMediaQuery(`(prefers-reduced-motion: reduce)`)}function createTheme(_options={}){const{themes={},palette={},foreground:genForeground,system,...options}=_options;const tokens=createTokens({palette,...themes},{flat:true});const registry=createSingle({...options,reactive:true});const logger=useLogger();for(const id in themes){const{colors:value,...theme}=themes[id];register({id,value,...theme})}const pair=resolveSystemPair(system,registry,logger);const following=shallowRef(Boolean(pair));if(!pair&&options.default&&!registry.selectedId.value)registry.select(options.default);const names=toRef(()=>registry.keys());const colors=computed(()=>{const resolved={};const currentId=registry.selectedId.value;for(const theme of registry.values()){if(theme.lazy&&theme.id!==currentId)continue;const themeColors=resolve(theme.value);if(genForeground)for(const[key,value]of Object.entries(themeColors)){const onKey=`on-${key}`;if(!key.startsWith(`on-`)&&!(onKey in themeColors))themeColors[onKey]=foreground(value)}resolved[theme.id]=themeColors}return resolved});const isDark=toRef(()=>registry.selectedItem.value?.dark??false);const isSystem=toRef(()=>following.value);const media=pair?usePrefersDark():void 0;function follow(){if(!pair||!media)return;const id=media.matches.value?pair.dark:pair.light;if(registry.has(id))registry.select(id)}if(pair){if(IN_BROWSER)follow();else if(options.default&&!registry.selectedId.value)registry.select(options.default);watch(()=>media.matches.value,()=>{if(following.value)follow()})}function select(id){following.value=false;registry.select(id)}function reset(){if(pair){following.value=true;follow();return}if(options.default)registry.select(options.default)}function cycle(themes=names.value){const current=themes.indexOf(registry.selectedId.value??``);select(themes[current===-1?0:(current+1)%themes.length])}function resolve(colors){const resolved={};for(const[key,value]of Object.entries(colors))resolved[key]=tokens.isAlias(value)?tokens.resolve(value):value;return resolved}function register(registration={}){const{colors,...rest}=registration;if(colors&&rest.id&&!registry.has(rest.id))tokens.onboard(flatten({[rest.id]:{colors}},``,true));const item={lazy:false,dark:false,...rest,...colors?{value:colors}:{}};return registry.register(item)}function onboard(registrations){return registry.batch(()=>registrations.map(registration=>register(registration)))}return{...registry,colors,isDark,isSystem,select,reset,register,onboard,cycle,dispose:()=>{media?.stop()},get size(){return registry.size}}}function resolveSystemPair(system,registry,logger){if(!system)return void 0;const light=registry.get(system.light);const dark=registry.get(system.dark);if(!light){logger.warn(`[v0:theme] system.light "${String(system.light)}" is not registered`);return}if(!dark){logger.warn(`[v0:theme] system.dark "${String(system.dark)}" is not registered`);return}if(!dark.dark)logger.warn(`[v0:theme] system.dark "${String(system.dark)}" should have dark: true`);return system}function createThemeFallback(){return{size:0,colors:computed(()=>({})),isDark:shallowRef(false),isSystem:shallowRef(false),cycle:()=>{},reset:()=>{},onboard:()=>[],dispose:()=>{}}}var[createThemeContext,createThemePlugin,useTheme]=createPluginContext(`v0:theme`,options=>createTheme(options),{fallback:()=>createThemeFallback(),setup:(context,app,{adapter=new V0StyleSheetThemeAdapter,target,rgb})=>{if(rgb)adapter.rgb=true;adapter.setup(app,context,target);app.onUnmount(()=>adapter.dispose?.())},persist:ctx=>ctx.isSystem.value?null:ctx.selectedId.value,restore:(ctx,saved)=>{if(isString(saved)||isNumber(saved))ctx.select(saved)}});function merge(ranges){const sorted=ranges.filter(span=>span[0]<span[1]).toSorted((a,b)=>a[0]-b[0]);const merged=[];for(const span of sorted){const last=merged.at(-1);if(last&&span[0]<=last[1])last[1]=Math.max(last[1],span[1]);else merged.push([span[0],span[1]])}return merged}function chunk(text,ranges){const chunks=[];let cursor=0;for(const[start,end]of ranges){if(cursor<start)chunks.push({text:text.slice(cursor,start),match:false});chunks.push({text:text.slice(start,end),match:true});cursor=end}if(cursor<text.length)chunks.push({text:text.slice(cursor),match:false});return chunks}function find(text,query,options){const spans=[];for(const term of toArray(query).filter(Boolean))spans.push(...findMatchRanges(text,term,options));return merge(spans)}function toHighlight(text,query,options={}){const _text=toValue(text);const _query=toValue(query);const _matches=toValue(options.matches);const matchAll=toValue(options.matchAll)??false;const ignoreCase=toValue(options.ignoreCase)??false;const ignoreAccents=toValue(options.ignoreAccents)??false;if(_matches?.length)return chunk(_text,merge(_matches));if(_query){const ranges=find(_text,_query,{matchAll,ignoreCase,ignoreAccents});return ranges.length>0?chunk(_text,ranges):[{text:_text,match:false}]}return[{text:_text,match:false}]}function createDefaultBreakpoints(){return{mobileBreakpoint:`lg`,breakpoints:{xs:0,sm:600,md:840,lg:1145,xl:1545,xxl:2138}}}function createBreakpoints(_options={}){const{ssr,...options}=_options;const defaults=createDefaultBreakpoints();const{mobileBreakpoint,breakpoints}=mergeDeep(defaults,options);const sorted=Object.entries(breakpoints).toSorted((a,b)=>a[1]-b[1]);const names=sorted.map(([n])=>n);const mb=isNumber(mobileBreakpoint)?mobileBreakpoint:breakpoints[mobileBreakpoint]??breakpoints.md;const initialWidth=ssr?ssr.clientWidth:IN_BROWSER?window.innerWidth:0;const initialHeight=ssr?ssr.clientHeight??0:IN_BROWSER?window.innerHeight:0;const name=shallowRef(`xs`);const width=shallowRef(initialWidth);const height=shallowRef(initialHeight);const isMobile=shallowRef(false);const xs=shallowRef(false);const sm=shallowRef(false);const md=shallowRef(false);const lg=shallowRef(false);const xl=shallowRef(false);const xxl=shallowRef(false);const smAndUp=shallowRef(false);const mdAndUp=shallowRef(false);const lgAndUp=shallowRef(false);const xlAndUp=shallowRef(false);const smAndDown=shallowRef(false);const mdAndDown=shallowRef(false);const lgAndDown=shallowRef(false);const xlAndDown=shallowRef(false);function resolve(value,media){let current=`xs`;for(let i=sorted.length-1;i>=0;i--){const px=sorted[i][1];if(media?window.matchMedia(`(min-width: ${px}px)`).matches:value>=px){current=sorted[i][0];break}}const index=names.indexOf(current);const mobile=isNumber(mb)?media?!window.matchMedia(`(min-width: ${mb}px)`).matches:value<mb:index<names.indexOf(mobileBreakpoint);return{current,index,mobile}}function apply({current,index,mobile}){name.value=current;isMobile.value=mobile;xs.value=index===0;sm.value=index===1;md.value=index===2;lg.value=index===3;xl.value=index===4;xxl.value=index===5;smAndUp.value=index>=1;mdAndUp.value=index>=2;lgAndUp.value=index>=3;xlAndUp.value=index>=4;smAndDown.value=index<=1;mdAndDown.value=index<=2;lgAndDown.value=index<=3;xlAndDown.value=index<=4}apply(resolve(initialWidth,!ssr&&IN_BROWSER&&SUPPORTS_MATCH_MEDIA));function update(){if(!IN_BROWSER)return;width.value=window.innerWidth;height.value=window.innerHeight;apply(resolve(width.value,SUPPORTS_MATCH_MEDIA))}return{breakpoints,mobileBreakpoint,name:readonly(name),width:readonly(width),height:readonly(height),isMobile:readonly(isMobile),xs:readonly(xs),sm:readonly(sm),md:readonly(md),lg:readonly(lg),xl:readonly(xl),xxl:readonly(xxl),smAndUp:readonly(smAndUp),mdAndUp:readonly(mdAndUp),lgAndUp:readonly(lgAndUp),xlAndUp:readonly(xlAndUp),smAndDown:readonly(smAndDown),mdAndDown:readonly(mdAndDown),lgAndDown:readonly(lgAndDown),xlAndDown:readonly(xlAndDown),ssr:!!ssr,update}}function createBreakpointsFallback(options={}){if(options.ssr)return createBreakpoints(options);const defaults=createDefaultBreakpoints();return{breakpoints:defaults.breakpoints,mobileBreakpoint:defaults.mobileBreakpoint,name:readonly(shallowRef(`xs`)),width:readonly(shallowRef(0)),height:readonly(shallowRef(0)),isMobile:readonly(shallowRef(true)),xs:readonly(shallowRef(true)),sm:readonly(shallowRef(false)),md:readonly(shallowRef(false)),lg:readonly(shallowRef(false)),xl:readonly(shallowRef(false)),xxl:readonly(shallowRef(false)),smAndUp:readonly(shallowRef(false)),mdAndUp:readonly(shallowRef(false)),lgAndUp:readonly(shallowRef(false)),xlAndUp:readonly(shallowRef(false)),smAndDown:readonly(shallowRef(true)),mdAndDown:readonly(shallowRef(true)),lgAndDown:readonly(shallowRef(true)),xlAndDown:readonly(shallowRef(true)),ssr:false,update:()=>{}}}var[createBreakpointsContext,createBreakpointsPlugin,useBreakpoints]=createPluginContext(`v0:breakpoints`,options=>createBreakpoints(options),{fallback:()=>createBreakpointsFallback(),setup:(context,app,_options)=>{if(IN_BROWSER&&!_options?.ssr)context.update();const{mount}=app;app.mount=(...args)=>{const vm=mount(...args);const hydration=useHydration();function listener(){context.update()}const unwatch=watch(hydration.isHydrated,hydrated=>{if(hydrated)listener()},{immediate:true});const cleanup=useWindowEventListener(`resize`,listener,{passive:true});onScopeDispose(()=>{cleanup();unwatch()},true);app.mount=mount;return vm}}});var isMac=IN_BROWSER&&/mac|iphone|ipad|ipod/i.test(navigator?.userAgent??``);var ReducedMotionAdapter=class{dispose};function payload(reduced){return reduced?`reduce`:`no-preference`}var V0ReducedMotionAdapter=class extends ReducedMotionAdapter{setup(app,context){if(IN_BROWSER){function sync(reduced){document.body.dataset.reducedMotion=payload(reduced)}sync(context.isReduced.value);this.dispose=watch(context.isReduced,sync)}else{const head=app._context?.provides?.usehead??app._context?.provides?.head;if(head?.push){const entry=head.push({bodyAttrs:{"data-reduced-motion":payload(context.isReduced.value)}});const stop=watch(context.isReduced,reduced=>entry.patch?.({bodyAttrs:{"data-reduced-motion":payload(reduced)}}));this.dispose=()=>{stop();entry.dispose?.()}}}}};function createReducedMotion(options={}){const selectedMode=shallowRef(options.mode??`system`);const media=usePrefersReducedMotion();const isReduced=toRef(()=>{if(selectedMode.value===`always`)return true;if(selectedMode.value===`never`)return false;return media.matches.value});function select(value){selectedMode.value=value}return{selectedMode:shallowReadonly(selectedMode),isReduced,select,dispose:media.stop}}function createReducedMotionFallback(){return{selectedMode:shallowReadonly(shallowRef(`system`)),isReduced:shallowReadonly(shallowRef(false)),select:()=>{},dispose:()=>{}}}var[createReducedMotionContext,createReducedMotionPlugin,useReducedMotion]=createPluginContext(`v0:reduced-motion`,options=>createReducedMotion(options),{fallback:()=>createReducedMotionFallback(),persist:context=>context.selectedMode.value,restore:(context,saved)=>{if(saved===`system`||saved===`always`||saved===`never`)context.select(saved)},setup:(context,app,{adapter=new V0ReducedMotionAdapter})=>{app.onUnmount(()=>context.dispose());adapter.setup(app,context);app.onUnmount(()=>adapter.dispose?.())}});var RtlAdapter=class{dispose};var V0RtlAdapter=class extends RtlAdapter{setup(app,context,target){if(IN_BROWSER){if(isNull(target))return;const targetEl=target instanceof HTMLElement?target:isString(target)?document.querySelector(target):document.documentElement;if(!targetEl)return;targetEl.dir=context.isRtl.value?`rtl`:`ltr`;this.dispose=watch(context.isRtl,value=>{targetEl.dir=value?`rtl`:`ltr`})}else{const head=app._context?.provides?.usehead??app._context?.provides?.head;if(head?.push){const entry=head.push({htmlAttrs:{dir:context.isRtl.value?`rtl`:`ltr`}});const stop=watch(context.isRtl,rtl=>entry.patch?.({htmlAttrs:{dir:rtl?`rtl`:`ltr`}}));this.dispose=()=>{stop();entry.dispose?.()}}}}};function createRtl(options={}){const isRtl=shallowRef(options.default??false);function toggle(){isRtl.value=!isRtl.value}return{isRtl,toggle,dispose:()=>{}}}function createRtlFallback(){return{isRtl:shallowRef(false),toggle:()=>{},dispose:()=>{}}}var[createRtlContext,createRtlPlugin,useRtl]=createPluginContext(`v0:rtl`,options=>createRtl(options),{fallback:()=>createRtlFallback(),setup:(context,app,{adapter=new V0RtlAdapter,target})=>{adapter.setup(app,context,target);app.onUnmount(()=>adapter.dispose?.())},persist:ctx=>ctx.isRtl.value,restore:(ctx,saved)=>{if(isBoolean(saved))ctx.isRtl.value=saved}});var makeVHighlightProps=propsFactory({text:{type:String,default:``},query:[String,Array],matches:Array,matchAll:Boolean,ignoreCase:Boolean,ignoreAccents:[Boolean,String],color:String,opacity:[String,Number],markClass:String,...makeTagProps({tag:`span`})},`VHighlight`);var VHighlight=defineComponent({name:`VHighlight`,props:makeVHighlightProps(),setup(props){const chunks=computed(()=>toHighlight(()=>props.text,()=>props.query,{matches:()=>props.matches,matchAll:()=>props.matchAll,ignoreCase:()=>props.ignoreCase,ignoreAccents:()=>props.ignoreAccents??false}));const{textColorClasses,textColorStyles}=useTextColor(()=>props.color);return()=>createVNode(props.tag,{"class":`v-highlight`},{default:()=>[chunks.value.map((chunk,i)=>chunk.match?createBaseVNode(`mark`,{"key":i,"class":normalizeClass([`v-highlight__mark`,textColorClasses.value,props.markClass]),"style":normalizeStyle([textColorStyles.value,{"--v-highlight-opacity":props.opacity}])},[chunk.text]):createBaseVNode(`span`,{"key":i},[chunk.text]))]})}});function useFocusRepair(active,content,fallback){return function repairOrphanedFocus(e){if(!e.relatedTarget&&document.activeElement===document.body&&active.value){requestAnimationFrame(()=>{if(!active.value)return;const el=content();((el&&focusableChildren(el)[0])??fallback())?.focus({preventScroll:true})});return true}return false}}function isNavigable(item){return!!item&&item.type!==`divider`&&item.type!==`subheader`&&!item.props?.disabled}function findNavigableIndex(items,from,step){const count=items.length;for(let offset=0;offset<count;offset++){const index=((from+offset*step)%count+count)%count;if(isNavigable(items[index]))return index}return-1}function useScrolling(listRef,textFieldRef,virtualScrollRef,displayItems,options={}){const isScrolling=shallowRef(false);let scrollTimeout;let focusToken=0;let pendingOpenStep=null;function onListScroll(e){cancelAnimationFrame(scrollTimeout);isScrolling.value=true;scrollTimeout=requestAnimationFrame(()=>{scrollTimeout=requestAnimationFrame(()=>{isScrolling.value=false})})}async function finishScrolling(){await new Promise(resolve=>requestAnimationFrame(resolve));await new Promise(resolve=>requestAnimationFrame(resolve));await new Promise(resolve=>requestAnimationFrame(resolve));await new Promise(resolve=>{if(isScrolling.value){const stop=watch(isScrolling,()=>{stop();resolve()})}else resolve()})}function getListEl(){return listRef.value?.$el}function findItemEl(index){return getListEl()?.querySelector(`[aria-posinset="${index+1}"]`)??null}async function focusItem(index,scroll=true,position=`center`){if(index<0)return false;if(!scroll){const mounted=findItemEl(index);mounted?.focus({preventScroll:true});return!!mounted}const token=++focusToken;const listEl=getListEl();if(listEl?.contains(getActiveElement()))listEl.focus({preventScroll:true});virtualScrollRef.value?.scrollToIndex(index,position);let el=findItemEl(index);const deadline=performance.now()+500;while(!el&&performance.now()<deadline){await new Promise(resolve=>requestAnimationFrame(resolve));if(token!==focusToken)return true;el=findItemEl(index)}el?.focus({preventScroll:true});if(el&&listEl)alignItem(listEl,el,position);return!!el}function alignItem(listEl,el,position){const viewTop=listEl.getBoundingClientRect().top+listEl.clientTop;const viewHeight=listEl.clientHeight;const{top,height}=el.getBoundingClientRect();const delta=position===`start`?top-viewTop:position===`end`?top+height-(viewTop+viewHeight):top+height/2-(viewTop+viewHeight/2);if(Math.abs(delta)>1)listEl.scrollTop+=delta}async function focusFirstItem(){if(!await focusItem(findNavigableIndex(toValue(displayItems),0,1)))listRef.value?.focus(`first`)}async function focusLastItem(){const items=toValue(displayItems);if(!await focusItem(findNavigableIndex(items,items.length-1,-1)))listRef.value?.focus(`last`)}async function focusFromActivator(step,landOnSelected=false){if(!toValue(options.noAutoScroll)){const selected=options.selectedIndex?.()??-1;if(selected>=0){const target=landOnSelected?selected:findNavigableIndex(toValue(displayItems),selected+step,step);return await focusItem(target,false)||focusItem(target)}}if(step===1){const header=options.headerEl?.();const firstInHeader=header&&focusableChildren(header)[0];if(firstInHeader)return firstInHeader.focus()}if(findNavigableIndex(toValue(displayItems),0,1)<0){const content=options.menuContentEl?.();const children=content?focusableChildren(content):[];return(step===1?children[0]:children.at(-1))?.focus()}return step===1?focusFirstItem():focusLastItem()}function onActivatorKeydown(e,menu){const step=e.key===`ArrowDown`?1:e.key===`ArrowUp`?-1:null;if(!step)return false;const wasOpen=menu.value;menu.value=true;if(getListEl()?.contains(getActiveElement()))return false;if(!wasOpen){setPendingFocus(step);return false}e.stopImmediatePropagation();focusFromActivator(step);return true}function setPendingFocus(step){pendingOpenStep=step}function flushPendingFocus(){if(!pendingOpenStep)return false;const step=pendingOpenStep;pendingOpenStep=null;focusFromActivator(step,true);return true}function onListKeydownCapture(e){if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;const listEl=getListEl();const active=getActiveElement();if(!listEl||!active||!listEl.contains(active))return;const itemEl=active.closest(`[aria-posinset]`);if(!itemEl||!listEl.contains(itemEl))return;const mounted=listEl.querySelectorAll(`[aria-posinset]`);if(!(itemEl===(e.key===`ArrowUp`?mounted[0]:mounted[mounted.length-1])))return;const position=Number(itemEl.getAttribute(`aria-posinset`));if(!position)return;const step=e.key===`ArrowUp`?-1:1;const index=findNavigableIndex(toValue(displayItems),position-1+step,step);if(index<0||index===position-1)return;e.preventDefault();e.stopImmediatePropagation();focusItem(index,true,step===1?`end`:`start`)}async function onListKeydown(e){if(e.key===`Tab`){textFieldRef.value?.focus();return}if(e.key===`Home`||e.key===`End`){e.preventDefault();e.stopImmediatePropagation();await(e.key===`Home`?focusFirstItem():focusLastItem());return}if(e.key!==`PageDown`&&e.key!==`PageUp`)return;const list=getListEl();if(!list)return;await finishScrolling();const children=list.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(e.key===`PageDown`){const top=list.getBoundingClientRect().top;for(const child of children)if(child.getBoundingClientRect().top>=top){child.focus();break}}else{const bottom=list.getBoundingClientRect().bottom;for(const child of[...children].reverse())if(child.getBoundingClientRect().bottom<=bottom){child.focus();break}}}return{listEvents:{onScrollPassive:onListScroll,onKeydownCapture:onListKeydownCapture,onKeydown:onListKeydown},focusItem,focusFirstItem,focusLastItem,focusFromActivator,onActivatorKeydown,setPendingFocus,flushPendingFocus}}function useOpenOnFocus(menu,isFocused,enabled){let returningFocus=false;watch(menu,val=>{if(val)return;returningFocus=true;nextTick(()=>returningFocus=false)});watch(isFocused,val=>{if(!val||returningFocus)returningFocus=false;else if(toValue(enabled))menu.value=true})}function useSelectionMenu(props,options){const _menu=useProxiedModel(props,`menu`);const menu=computed({get:()=>_menu.value,set:v=>{if(_menu.value&&!v&&options.vMenuRef.value?.ΨopenChildren.size)return;if(!v&&props.menuProps?.persistent)return;if(v&&toValue(options.menuDisabled))return;_menu.value=v}});useOpenOnFocus(menu,options.isFocused,()=>props.openOnFocus);function closeOnSelect(){if(props.multiple||props.menuProps?.closeOnContentClick===false)return;menu.value=false}return{menu,closeOnSelect}}function useFocusGroups({groups,onLeave}){function getContentRef(group){return group.type===`list`?group.contentRef.value?.$el:group.contentRef.value}function getChildren(group){const contentRef=getContentRef(group);return contentRef?focusableChildren(contentRef):[]}function onTabKeydown(e){const target=e.target;const direction=e.shiftKey?`backward`:`forward`;const children=groups.map(getChildren);const currentGroupIndex=groups.map(g=>g.type===`list`?g.contentRef.value?.$el:g.contentRef.value).findIndex(el=>el?.contains(target));const nextIndex=nextFocusGroup(children,currentGroupIndex,direction,target);if(isNull(nextIndex)){const originGroup=groups[currentGroupIndex];const origin=children[currentGroupIndex];if(originGroup.type===`list`||(direction===`forward`?origin.at(-1)===e.target:origin.at(0)===e.target)){onLeave();const refocused=getActiveElement();if(refocused){const relayed=new KeyboardEvent(`keydown`,{key:`Tab`,shiftKey:e.shiftKey,bubbles:true,cancelable:true});refocused.dispatchEvent(relayed);if(relayed.defaultPrevented)e.preventDefault()}}}else{e.preventDefault();e.stopImmediatePropagation();const nextGroup=groups[nextIndex];if(nextGroup.type===`list`&&toValue(nextGroup.displayItemsCount)>0)nextGroup.contentRef.value?.focus(0);else{const fromBefore=direction===`forward`;children[nextIndex].at(fromBefore?0:-1).focus()}}}function nextFocusGroup(children,currentIndex,direction,target){const originGroup=groups[currentIndex];const origin=children[currentIndex];if(originGroup.type!==`list`){if(!(direction===`forward`?origin.at(-1)===target:origin.at(0)===target))return null}const step=direction===`forward`?1:-1;for(let i=currentIndex+step;i>=0&&i<groups.length;i+=step){const group=groups[i];if(children[i].length>0||group.type===`list`&&toValue(group.displayItemsCount)>0)return i}return null}return{onTabKeydown}}function createDefaultFilter(ignoreAccents){return(value,query)=>{if(isNullOrUndefined(value)||isNullOrUndefined(query))return-1;if(!query.length)return 0;const ranges=findMatchRanges(value.toString(),query.toString(),{ignoreCase:true,ignoreAccents,matchAll:true});return ranges.length?ranges:-1}}var defaultFilter=createDefaultFilter();function normaliseMatch(match,query){if(isNullOrUndefined(match)||isBoolean(match)||match===-1)return;if(isNumber(match))return[[match,match+query.length]];if(Array.isArray(match[0]))return match;return[match]}var makeFilterProps=propsFactory({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},ignoreAccents:[Boolean,String],noFilter:Boolean},`filter`);function filterItems(items,query,options){const array=[];const filter=options?.default??createDefaultFilter(options?.ignoreAccents);const keys=options?.filterKeys?wrapInArray(options.filterKeys):false;const customFiltersLength=Object.keys(options?.customKeyFilter??{}).length;if(!items?.length)return array;let lookAheadItems=[];loop:for(let i=0;i<items.length;i++){const[item,transformed=item]=wrapInArray(items[i]);const customMatches={};const defaultMatches={};let match=-1;if((query||customFiltersLength>0)&&!options?.noFilter){let hasOnlyCustomFilters=false;if(isObject(item)){if(item.type===`divider`||item.type===`subheader`){if(lookAheadItems.at(-1)?.type!==`divider`||item.type!==`subheader`)lookAheadItems=[];lookAheadItems.push({index:i,matches:{},type:item.type});continue}const filterKeys=keys||Object.keys(transformed);hasOnlyCustomFilters=filterKeys.length===customFiltersLength;for(const key of filterKeys){const value=getPropertyFromItem(transformed,key);const keyFilter=options?.customKeyFilter?.[key];match=keyFilter?keyFilter(value,query,item):filter(value,query,item);if(match!==-1&&match!==false){if(keyFilter)customMatches[key]=normaliseMatch(match,query);else defaultMatches[key]=normaliseMatch(match,query)}else if(options?.filterMode===`every`)continue loop}}else{match=filter(item,query,item);if(match!==-1&&match!==false)defaultMatches.title=normaliseMatch(match,query)}const defaultMatchesLength=Object.keys(defaultMatches).length;const customMatchesLength=Object.keys(customMatches).length;if(!defaultMatchesLength&&!customMatchesLength)continue;if(options?.filterMode===`union`&&customMatchesLength!==customFiltersLength&&!defaultMatchesLength)continue;if(options?.filterMode===`intersection`&&(customMatchesLength!==customFiltersLength||!defaultMatchesLength&&customFiltersLength>0&&!hasOnlyCustomFilters))continue}if(lookAheadItems.length){array.push(...lookAheadItems);lookAheadItems=[]}array.push({index:i,matches:{...defaultMatches,...customMatches}})}return array}function useFilter(props,items,query,options){const filteredItems=shallowRef([]);const filteredMatches=shallowRef(new Map);const transformedItems=computed(()=>options?.transform?unref(items).map(item=>[item,options.transform(item)]):unref(items));watchEffect(()=>{const _query=isFunction(query)?query():unref(query);const strQuery=!isString(_query)&&!isNumber(_query)?``:String(_query);const results=filterItems(transformedItems.value,strQuery,{customKeyFilter:{...props.customKeyFilter,...unref(options?.customKeyFilter)},default:props.customFilter,filterKeys:props.filterKeys,filterMode:props.filterMode,ignoreAccents:props.ignoreAccents,noFilter:props.noFilter});const originalItems=unref(items);const _filteredItems=[];const _filteredMatches=new Map;results.forEach(({index,matches})=>{const item=originalItems[index];_filteredItems.push(item);if(!isUndefined(item.value))_filteredMatches.set(item.value,matches)});filteredItems.value=_filteredItems;filteredMatches.value=_filteredMatches});function getMatches(item){return filteredMatches.value.get(item.value)}return{filteredItems,filteredMatches,getMatches}}var makeMenuActivatorProps=propsFactory({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function useMenuActivator(props,isOpen){const uid=useId$1();const menuId=computed(()=>`menu-${uid}`);return{menuId,ariaExpanded:toRef(()=>toValue(isOpen)),ariaControls:toRef(()=>menuId.value)}}var makeSelectProps=propsFactory({chips:Boolean,closableChips:Boolean,eager:Boolean,form:String,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:IconValue,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,openOnFocus:Boolean,itemColor:String,noAutoScroll:Boolean,...makeMenuActivatorProps(),...makeItemsProps({itemChildren:false})},`Select`);var makeVSelectProps=propsFactory({search:String,...makeFilterProps({filterKeys:[`title`]}),...makeSelectProps(),...omit(makeVTextFieldProps({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...makeTransitionProps({transition:{component:VDialogTransition}})},`VSelect`);var VSelect=genericComponent()({name:`VSelect`,props:makeVSelectProps(),emits:{"update:focused":focused=>true,"update:modelValue":value=>true,"update:menu":ue=>true,"update:search":value=>true,"item:added":item=>true,"item:removed":item=>true},setup(props,{emit,slots}){const{t}=useLocale();const vTextFieldRef=ref();const vMenuRef=ref();const listRef=ref();const headerRef=ref();const footerRef=ref();const vVirtualScrollRef=ref();const{items,transformIn,transformOut}=useItems(props);const search=useProxiedModel(props,`search`,``);const{filteredItems,getMatches}=useFilter(props,items,()=>search.value);const model=useProxiedModel(props,`modelValue`,[],v=>transformIn(v===null?[null]:wrapInArray(v)),v=>{const transformed=transformOut(v);return props.multiple?transformed:transformed[0]??null});const counterValue=computed(()=>{return isFunction(props.counterValue)?props.counterValue(model.value):isNumber(props.counterValue)?props.counterValue:model.value.length});const form=useForm(props);const selectedValues=computed(()=>model.value.map(selection=>selection.value));const isFocused=shallowRef(false);const closableChips=toRef(()=>props.closableChips&&!form.isReadonly.value&&!form.isDisabled.value);const chipDefaults=injectNestedDefaults(`VChip`);const{InputIcon}=useInputIcon(props);let keyboardLookupPrefix=``;let keyboardLookupIndex=0;let keyboardLookupLastTime;let openedByKeyboard=false;const displayItems=computed(()=>{const baseItems=search.value?filteredItems.value:items.value;if(props.hideSelected)return baseItems.filter(item=>!model.value.some(s=>(props.valueComparator||deepEqual)(s,item)));return baseItems});const menuDisabled=computed(()=>props.hideNoData&&!displayItems.value.length||form.isReadonly.value||form.isDisabled.value);const{menu,closeOnSelect}=useSelectionMenu(props,{vMenuRef,menuDisabled,isFocused});const{menuId,ariaExpanded,ariaControls}=useMenuActivator(props,menu);const computedMenuProps=computed(()=>{return{...props.menuProps,activatorProps:{...props.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}}});const{listEvents,focusItem,focusFirstItem,focusLastItem,onActivatorKeydown,setPendingFocus,flushPendingFocus}=useScrolling(listRef,vTextFieldRef,vVirtualScrollRef,displayItems,{selectedIndex:getSelectedIndex,menuContentEl:()=>vMenuRef.value?.contentEl,noAutoScroll:()=>props.noAutoScroll});const repairOrphanedFocus=useFocusRepair(menu,()=>vMenuRef.value?.contentEl,()=>vTextFieldRef.value?.controlRef);const{onTabKeydown}=useFocusGroups({groups:[{type:`element`,contentRef:headerRef},{type:`list`,contentRef:listRef,displayItemsCount:()=>displayItems.value.length},{type:`element`,contentRef:footerRef}],onLeave:()=>{menu.value=false;vTextFieldRef.value?.focus()}});function onClear(e){if(props.openOnClear)menu.value=true}function onMousedownControl(){if(menuDisabled.value)return;openedByKeyboard=false;setPendingFocus(null);menu.value=!menu.value}function onMenuKeydown(e){if(e.key===`Tab`)onTabKeydown(e);if(listRef.value?.$el.contains(e.target)&&checkPrintable(e))onKeydown(e)}function onKeydown(e){if(!e.key||form.isReadonly.value)return;switch(e.key){case`Escape`:case`Tab`:menu.value=false;break;case`Enter`:case` `:e.preventDefault();openedByKeyboard=true;menu.value=true;break;case`ArrowDown`:case`ArrowUp`:e.preventDefault();openedByKeyboard=true;if(onActivatorKeydown(e,menu))return;break;case`Home`:e.preventDefault();if(menu.value)focusFirstItem();break;case`End`:e.preventDefault();if(menu.value)focusLastItem();break;case`Backspace`:if(!props.clearable)break;e.preventDefault();for(const item of model.value)emit(`item:removed`,item);model.value=[];onClear(e);return}const KEYBOARD_LOOKUP_THRESHOLD=1e3;if(!checkPrintable(e))return;const now=performance.now();if(now-keyboardLookupLastTime>KEYBOARD_LOOKUP_THRESHOLD){keyboardLookupPrefix=``;keyboardLookupIndex=0}keyboardLookupPrefix+=e.key.toLowerCase();keyboardLookupLastTime=now;const items=displayItems.value;function findItem(){let result=findItemBase();if(result)return result;if(keyboardLookupPrefix.at(-1)===keyboardLookupPrefix.at(-2)){keyboardLookupPrefix=keyboardLookupPrefix.slice(0,-1);keyboardLookupIndex++;result=findItemBase();if(result)return result}keyboardLookupIndex=0;result=findItemBase();if(result)return result;keyboardLookupPrefix=e.key.toLowerCase();return findItemBase()}function findItemBase(){for(let i=keyboardLookupIndex;i<items.length;i++){const _item=items[i];if(_item.title.toLowerCase().startsWith(keyboardLookupPrefix))return[_item,i]}}const result=findItem();if(!result)return;const[item,index]=result;keyboardLookupIndex=index;if(menu.value){if(!props.multiple)select(item,true,false);focusItem(index)}else if(!props.multiple)select(item,true)}function select(item,set=true,closeMenu=true){if(item.props.disabled)return;const comparator=props.valueComparator||deepEqual;if(props.multiple){const index=model.value.findIndex(selection=>comparator(selection.value,item.value));const add=set==null?!~index:set;if(~index){const value=add?[...model.value,item]:[...model.value];const[removed]=value.splice(index,1);if(!add)emit(`item:removed`,removed);model.value=value}else if(add){emit(`item:added`,item);model.value=[...model.value,item]}}else{const add=set!==false;const old=model.value[0];if(add){if(old&&!comparator(old.value,item.value)){emit(`item:removed`,old);emit(`item:added`,item)}else if(!old)emit(`item:added`,item);model.value=[item]}else{if(old)emit(`item:removed`,old);model.value=[]}if(closeMenu)nextTick(()=>closeOnSelect())}}let mousedownInsideContentAt=0;function onMousedownContent(){mousedownInsideContentAt=performance.now()}function onBlur(e){const target=e.target;if(!vTextFieldRef.value?.$el.contains(target))menu.value=false;const next=e.relatedTarget;if(vMenuRef.value?.contentEl?.contains(next)||!next&&performance.now()-mousedownInsideContentAt<10)isFocused.value=true}function getSelectedIndex(){return displayItems.value.findIndex(item=>model.value.some(s=>(props.valueComparator||deepEqual)(s.value,item.value)))}async function onAfterEnter(){if(props.eager)vVirtualScrollRef.value?.calculateVisibleItems();if(!listRef.value||!isFocused.value)return;if(flushPendingFocus())return;if(listRef.value.$el?.contains(getActiveElement()))return;const selected=getSelectedIndex();if(selected>=0&&await focusItem(selected,!props.noAutoScroll))return;if(openedByKeyboard)focusFirstItem()}function onAfterLeave(){search.value=``;if(isFocused.value){if(vMenuRef.value?.contentEl?._clickOutside?.lastMousedownWasOutside)isFocused.value=false;else vTextFieldRef.value?.focus()}}function onFocusin(e){isFocused.value=true}function onFocusout(e){if(!vTextFieldRef.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)){if(repairOrphanedFocus(e))return;isFocused.value=false}}function onModelUpdate(v){if(v==null){for(const item of model.value)emit(`item:removed`,item);model.value=[]}else if(matchesSelector(vTextFieldRef.value,`:autofill`)||matchesSelector(vTextFieldRef.value,`:-webkit-autofill`)){const item=items.value.find(item=>item.title===v);if(item)select(item)}else if(vTextFieldRef.value)vTextFieldRef.value.value=``}watch(menu,val=>{if(!val){openedByKeyboard=false;setPendingFocus(null)}if(!props.hideSelected&&menu.value&&model.value.length){const index=getSelectedIndex();IN_BROWSER$1&&!props.noAutoScroll&&window.requestAnimationFrame(()=>{index>=0&&vVirtualScrollRef.value?.scrollToIndex(index,`center`)})}});watch(items,(newVal,oldVal)=>{if(menu.value)return;if(isFocused.value&&props.hideNoData&&!oldVal.length&&newVal.length)menu.value=true});useRender(()=>{const hasChips=!!(props.chips||slots.chip);const hasList=!!(!props.hideNoData||displayItems.value.length||slots[`prepend-item`]||slots[`append-item`]||slots[`no-data`]);const isDirty=model.value.length>0;const textFieldProps=VTextField.filterProps(props);const placeholder=isDirty||!isFocused.value&&props.label&&!props.persistentPlaceholder?void 0:props.placeholder;const menuSlotProps={search,filteredItems:filteredItems.value};return createVNode(VTextField,mergeProps({"ref":vTextFieldRef},textFieldProps,{"modelValue":model.value.map(v=>v.props.title).join(`, `),"name":void 0,"onUpdate:modelValue":onModelUpdate,"focused":isFocused.value,"onUpdate:focused":$event=>isFocused.value=$event,"validationValue":model.externalValue,"counterValue":counterValue.value,"dirty":isDirty,"class":[`v-select`,{"v-select--active-menu":menu.value,"v-select--chips":!!props.chips,[`v-select--${props.multiple?`multiple`:`single`}`]:true,"v-select--selected":model.value.length,"v-select--selection-slot":!!slots.selection},props.class],"style":props.style,"inputmode":`none`,"placeholder":placeholder,"onClick:clear":onClear,"onMousedown:control":onMousedownControl,"onBlur":onBlur,"onKeydown":onKeydown,"aria-expanded":ariaExpanded.value,"aria-controls":ariaControls.value}),{...slots,default:({id})=>createBaseVNode(Fragment,null,[selectedValues.value.map((value,i)=>createBaseVNode(`input`,{"key":i,"type":`hidden`,"name":props.name,"value":value,"form":props.form},null)),createVNode(VMenu,mergeProps({"id":menuId.value,"ref":vMenuRef,"modelValue":menu.value,"onUpdate:modelValue":$event=>menu.value=$event,"activator":`parent`,"captureFocus":false,"openOnArrow":false,"disabled":menuDisabled.value,"_disableKeys":true,"eager":props.eager,"maxHeight":310,"openOnClick":false,"closeOnContentClick":false,"transition":props.transition,"onAfterEnter":onAfterEnter,"onAfterLeave":onAfterLeave},computedMenuProps.value,{"contentClass":[`v-select__content`,computedMenuProps.value.contentClass]}),{default:()=>[createVNode(VSheet,{"elevation":props.menuElevation,"onFocusin":onFocusin,"onFocusout":onFocusout,"onKeydown":onMenuKeydown,"onMousedown":onMousedownContent},{default:()=>[slots[`menu-header`]&&createBaseVNode(`header`,{"ref":headerRef},[slots[`menu-header`](menuSlotProps)]),hasList&&createVNode(VList,mergeProps({"key":`select-list`,"ref":listRef,"class":`v-list--navigable`,"selected":selectedValues.value,"selectStrategy":props.multiple?`independent`:`single-independent`,"tabindex":`-1`,"selectable":!!displayItems.value.length,"aria-live":`polite`,"aria-labelledby":`${id.value}-label`,"aria-multiselectable":props.multiple,"color":props.itemColor??props.color},listEvents,props.listProps),{default:()=>[slots[`prepend-item`]?.(),!displayItems.value.length&&!props.hideNoData&&(slots[`no-data`]?.()??createVNode(VListItem,{"key":`no-data`,"title":t(props.noDataText)},null)),createVNode(VVirtualScroll,{"ref":vVirtualScrollRef,"renderless":true,"items":displayItems.value,"itemKey":`value`},{default:({item,index,itemRef})=>{const camelizedProps=camelizeProps(item.props);const itemProps=mergeProps(item.props,{ref:itemRef,key:item.value,onClick:()=>select(item,null),"aria-posinset":index+1,"aria-setsize":displayItems.value.length});if(item.type===`divider`)return slots.divider?.({props:item.raw,index})??createVNode(VDivider,mergeProps(item.props,{"ref":itemRef,"key":`divider-${index}`}),null);if(item.type===`subheader`)return slots.subheader?.({props:item.raw,index})??createVNode(VListSubheader,mergeProps(item.props,{"ref":itemRef,"key":`subheader-${index}`}),null);return slots.item?.({item:item.raw,internalItem:item,index,props:itemProps})??createVNode(VListItem,mergeProps(itemProps,{"role":`option`}),{prepend:({isSelected})=>createBaseVNode(Fragment,null,[props.multiple&&!props.hideSelected?createVNode(VCheckboxBtn,{"key":item.value,"modelValue":isSelected,"ripple":false,"tabindex":`-1`,"aria-hidden":true,"onClick":event=>event.preventDefault()},null):void 0,camelizedProps.prependAvatar&&createVNode(VAvatar,{"image":camelizedProps.prependAvatar},null),camelizedProps.prependIcon&&createVNode(VIcon,{"icon":camelizedProps.prependIcon},null)]),title:()=>{return search.value?createVNode(VHighlight,{"text":item.title,"matches":getMatches(item)?.title,"markClass":`v-select__mask`,"matchAll":true,"ignoreCase":true},null):item.title}})}}),slots[`append-item`]?.()]}),slots[`menu-footer`]&&createBaseVNode(`footer`,{"ref":footerRef},[slots[`menu-footer`](menuSlotProps)])]})]}),model.value.map((item,index)=>{function onChipClose(e){e.stopPropagation();e.preventDefault();select(item,false)}const slotProps=mergeProps(VChip.filterProps(item.props),{"onClick:close":onChipClose,onKeydown(e){if(e.key!==`Enter`&&e.key!==` `)return;e.preventDefault();e.stopPropagation();onChipClose(e)},onMousedown(e){e.preventDefault();e.stopPropagation()},modelValue:true,"onUpdate:modelValue":void 0});const hasSlot=hasChips?!!slots.chip:!!slots.selection;const slotContent=hasSlot?ensureValidVNode(hasChips?slots.chip({item:item.raw,internalItem:item,index,props:slotProps}):slots.selection({item:item.raw,internalItem:item,index})):void 0;if(hasSlot&&!slotContent)return void 0;return createBaseVNode(`div`,{"key":item.value,"class":`v-select__selection`},[hasChips?!slots.chip?createVNode(VChip,mergeProps({"key":`chip`,"closable":closableChips.value,"size":chipDefaults.value?.size??`small`,"text":item.title,"disabled":item.props.disabled},slotProps),null):createVNode(VDefaultsProvider,{"key":`chip-defaults`,"defaults":{VChip:{closable:closableChips.value,size:chipDefaults.value?.size??`small`,text:item.title}}},{default:()=>[slotContent]}):slotContent??createBaseVNode(`span`,{"class":`v-select__selection-text`},[item.title,props.multiple&&index<model.value.length-1&&createBaseVNode(`span`,{"class":`v-select__selection-comma`},[createTextVNode(`,`)])])])})]),"append-inner":(...args)=>createBaseVNode(Fragment,null,[slots[`append-inner`]?.(...args),props.menuIcon?createVNode(VIcon,{"class":`v-select__menu-icon`,"color":vTextFieldRef.value?.fieldIconColor,"icon":props.menuIcon,"aria-hidden":true},null):void 0,props.appendInnerIcon&&createVNode(InputIcon,{"key":`append-icon`,"name":`appendInner`,"color":args[0].iconColor.value},null)])})});return forwardRefs({isFocused,menu,search,filteredItems,select},vTextFieldRef)}});export{useFilter as a,useScrolling as c,VVirtualScroll as d,makeFilterProps as i,useFocusRepair as l,makeSelectProps as n,useFocusGroups as o,useMenuActivator as r,useSelectionMenu as s,VSelect as t,VHighlight as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as useElevation,D as makeLocationProps,F as useBackgroundColor,G as makeThemeProps,K as provideTheme,M as useBorder,N as makeRoundedProps,O as useLocation,P as useRounded,R as makeDimensionProps,V as makeTagProps,gt as propsFactory,ht as makeComponentProps,it as useRender,j as makeBorderProps,k as makeElevationProps,o as makePositionProps,s as usePosition,st as genericComponent,z as useDimension}from"./ripple-BVltMmyV.js";import{D as createVNode,Zn as normalizeClass,er as normalizeStyle}from"./runtime-core.esm-bundler-DGXg_mpN.js";var makeVSheetProps=propsFactory({color:String,...makeBorderProps(),...makeComponentProps(),...makeDimensionProps(),...makeElevationProps(),...makeLocationProps(),...makePositionProps(),...makeRoundedProps(),...makeTagProps(),...makeThemeProps()},`VSheet`);var VSheet=genericComponent()({name:`VSheet`,props:makeVSheetProps(),setup(props,{slots}){const{themeClasses}=provideTheme(props);const{backgroundColorClasses,backgroundColorStyles}=useBackgroundColor(()=>props.color);const{borderClasses}=useBorder(props);const{dimensionStyles}=useDimension(props);const{elevationClasses}=useElevation(props);const{locationStyles}=useLocation(props);const{positionClasses}=usePosition(props);const{roundedClasses,roundedStyles}=useRounded(props);useRender(()=>createVNode(props.tag,{"class":normalizeClass([`v-sheet`,themeClasses.value,backgroundColorClasses.value,borderClasses.value,elevationClasses.value,positionClasses.value,roundedClasses.value,props.class]),"style":normalizeStyle([backgroundColorStyles.value,dimensionStyles.value,locationStyles.value,roundedStyles.value,props.style])},slots));return{}}});export{makeVSheetProps as n,VSheet as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as useElevation,F as useBackgroundColor,G as makeThemeProps,K as provideTheme,Ln as consoleWarn,R as makeDimensionProps,X as useLocale,gt as propsFactory,it as useRender,k as makeElevationProps,st as genericComponent,un as wrapInArray,z as useDimension}from"./ripple-BVltMmyV.js";import{Zn as normalizeClass,_ as createBaseVNode,et as mergeProps,g as computed,o as Fragment}from"./runtime-core.esm-bundler-DGXg_mpN.js";var rootTypes={actions:`button@2`,article:`heading, paragraph`,avatar:`avatar`,button:`button`,card:`image, heading`,"card-avatar":`image, list-item-avatar`,chip:`chip`,"chip-group":`chip@8`,"date-picker":`list-item, heading, divider, date-picker-options, date-picker-days, actions`,"date-picker-options":`text, avatar@2`,"date-picker-days":`avatar@28`,divider:`divider`,heading:`heading`,image:`image`,"list-item":`text`,"list-item-avatar":`avatar, text`,"list-item-two-line":`sentences`,"list-item-avatar-two-line":`avatar, sentences`,"list-item-three-line":`paragraph`,"list-item-avatar-three-line":`avatar, paragraph`,ossein:`ossein`,paragraph:`text@3`,sentences:`text@2`,subtitle:`text`,table:`table-heading, table-thead, table-tbody, table-tfoot`,"table-heading":`heading, text`,"table-thead":`heading@6`,"table-tbody":`table-row-divider@6`,"table-row-divider":`table-row, divider`,"table-row":`table-cell@6`,"table-cell":`text`,"table-tfoot":`text@2, avatar@2`,text:`text`};function genBone(type,children=[]){return createBaseVNode(`div`,{"class":normalizeClass([`v-skeleton-loader__bone`,`v-skeleton-loader__${type}`])},[children])}function genBones(bone,types){const[type,length]=bone.split(`@`);return Array.from({length}).map(()=>genStructure(type,types))}function genStructure(type,types){if(!type)return[];if(type.includes(`,`))return mapBones(type,types);if(type.includes(`@`))return genBones(type,types);if(!(type in types)){consoleWarn(`Unknown skeleton type "${type}", register it with the types prop`);return[genBone(type)]}const bone=types[type];let children=[];if(type===bone){}else if(bone.includes(`,`))children=mapBones(bone,types);else if(bone.includes(`@`))children=genBones(bone,types);else children.push(genStructure(bone,types));return[genBone(type,children)]}function mapBones(bones,types){return bones.replace(/\s/g,``).split(`,`).map(bone=>genStructure(bone,types))}var makeVSkeletonLoaderProps=propsFactory({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:`$vuetify.loading`},type:{type:[String,Array],default:`ossein`},types:Object,...makeDimensionProps(),...makeElevationProps(),...makeThemeProps()},`VSkeletonLoader`);var VSkeletonLoader=genericComponent()({name:`VSkeletonLoader`,inheritAttrs:false,props:makeVSkeletonLoaderProps(),setup(props,{attrs,slots}){const{backgroundColorClasses,backgroundColorStyles}=useBackgroundColor(()=>props.color);const{dimensionStyles}=useDimension(props);const{elevationClasses}=useElevation(props);const{themeClasses}=provideTheme(props);const{t}=useLocale();const items=computed(()=>genStructure(wrapInArray(props.type).join(`,`),{...rootTypes,...props.types}));useRender(()=>{const isLoading=!slots.default||props.loading;const loadingProps=props.boilerplate||!isLoading?{}:{ariaLive:`polite`,ariaLabel:t(props.loadingText),role:`alert`};return isLoading?createBaseVNode(`div`,mergeProps({"class":[`v-skeleton-loader`,{"v-skeleton-loader--boilerplate":props.boilerplate},themeClasses.value,backgroundColorClasses.value,elevationClasses.value],"style":[backgroundColorStyles.value,dimensionStyles.value]},loadingProps,attrs),[items.value]):createBaseVNode(Fragment,null,[slots.default?.()])});return{}}});export{VSkeletonLoader as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as createSimpleFunctional}from"./createSimpleFunctional-CZTGuNuR.js";var VSpacer=createSimpleFunctional(`v-spacer`,`div`,`VSpacer`);export{VSpacer as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as VDefaultsProvider,C as makeSizeProps,F as useBackgroundColor,Q as useProxiedModel,Vt as filterInputAttrs,c as LoaderSlot,gt as propsFactory,h as VIcon,it as useRender,kn as isString,mn as SUPPORTS_MATCH_MEDIA,nn as omit,st as genericComponent,u as useLoader}from"./ripple-BVltMmyV.js";import{D as createVNode,Pt as useId,Zn as normalizeClass,_ as createBaseVNode,er as normalizeStyle,et as mergeProps,o as Fragment,vn as ref,wn as toRef}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{l as forwardRefs}from"./VOverlay-CeMZurIN.js";import{u as VScaleTransition}from"./VAvatar-DPzqDH4r.js";import{l as VInput,m as useFocus,u as makeVInputProps,v as VSelectionControl,y as makeVSelectionControlProps}from"./VTextField-BR2eZeFT.js";import{r as VProgressCircular}from"./VBtn-B2MBK2DL.js";var makeVSwitchProps=propsFactory({inset:{type:[Boolean,String],default:false},flat:Boolean,thumbColor:String,loading:{type:[Boolean,String],default:false},...omit(makeVInputProps(),[`glow`]),...makeVSelectionControlProps(),...makeSizeProps()},`VSwitch`);var predefinedSizes=[`x-small`,`small`,`default`,`large`,`x-large`];var iconSizes={"x-small":11,small:14,default:16,large:18,"x-large":22};var VSwitch=genericComponent()({name:`VSwitch`,inheritAttrs:false,props:makeVSwitchProps(),emits:{"update:focused":focused=>true,"update:modelValue":value=>true,"update:indeterminate":value=>true},setup(props,{attrs,slots}){const indeterminate=useProxiedModel(props,`indeterminate`);const model=useProxiedModel(props,`modelValue`);const{loaderClasses}=useLoader(props);const{isFocused,focus,blur}=useFocus(props);const{backgroundColorClasses:thumbColorClasses,backgroundColorStyles:thumbColorStyles}=useBackgroundColor(()=>props.thumbColor);const control=ref();const inputRef=ref();const isForcedColorsModeActive=SUPPORTS_MATCH_MEDIA&&window.matchMedia(`(forced-colors: active)`).matches;const loaderColor=toRef(()=>{return isString(props.loading)&&props.loading!==``?props.loading:props.color});const uid=useId();const id=toRef(()=>props.id||`switch-${uid}`);const isPredefinedSize=toRef(()=>predefinedSizes.includes(props.size));const iconSize=toRef(()=>{return isPredefinedSize.value?iconSizes[props.size]:Math.round(16*Number(props.size)/32)});function onChange(){if(indeterminate.value)indeterminate.value=false}function onTrackClick(e){e.stopPropagation();e.preventDefault();control.value?.input?.click()}useRender(()=>{const[rootAttrs,controlAttrs]=filterInputAttrs(attrs);const inputProps=VInput.filterProps(props);const controlProps=VSelectionControl.filterProps(props);const isMaterial=[`material`,`square`].includes(String(props.inset));const hasThumbColor=!isForcedColorsModeActive&&!!props.thumbColor;return createVNode(VInput,mergeProps({"ref":inputRef,"class":[`v-switch`,{"v-switch--flat":props.flat},{"v-switch--inset":!!props.inset},{"v-switch--inset-material":isMaterial},{"v-switch--inset-square":props.inset===`square`},{"v-switch--indeterminate":indeterminate.value},isPredefinedSize.value?`v-switch--size-${props.size}`:void 0,loaderClasses.value,props.class]},rootAttrs,inputProps,{"modelValue":model.value,"onUpdate:modelValue":$event=>model.value=$event,"id":id.value,"focused":isFocused.value,"style":[{"--v-switch-scale":isPredefinedSize.value?void 0:Number(props.size)/32},props.style]}),{...slots,default:({id,messagesId,isDisabled,isReadonly,isValid})=>{const slotProps={model,isValid};return createVNode(VSelectionControl,mergeProps({"ref":control},controlProps,{"modelValue":model.value,"onUpdate:modelValue":[$event=>model.value=$event,onChange],"id":id.value,"aria-describedby":messagesId.value,"type":`checkbox`,"aria-checked":indeterminate.value?`mixed`:void 0,"disabled":isDisabled.value,"readonly":isReadonly.value,"onFocus":focus,"onBlur":blur},controlAttrs),{...slots,default:({backgroundColorClasses,backgroundColorStyles})=>createBaseVNode(`div`,{"class":normalizeClass([`v-switch__track`,!isForcedColorsModeActive?backgroundColorClasses.value:void 0]),"style":normalizeStyle(backgroundColorStyles.value),"onClick":onTrackClick},[slots[`track-true`]&&createBaseVNode(`div`,{"key":`prepend`,"class":`v-switch__track-true`},[slots[`track-true`](slotProps)]),slots[`track-false`]&&createBaseVNode(`div`,{"key":`append`,"class":`v-switch__track-false`},[slots[`track-false`](slotProps)])]),input:({inputNode,icon,model:isSelected,backgroundColorClasses,backgroundColorStyles,textColorClasses,textColorStyles})=>createBaseVNode(Fragment,null,[inputNode,createBaseVNode(`div`,{"class":normalizeClass([`v-switch__thumb`,{"v-switch__thumb--filled":icon||props.loading},isForcedColorsModeActive?void 0:hasThumbColor&&isSelected.value?thumbColorClasses.value:isMaterial?backgroundColorClasses.value:props.inset?void 0:backgroundColorClasses.value]),"style":normalizeStyle([hasThumbColor&&isSelected.value?thumbColorStyles.value:isMaterial?backgroundColorClasses.value.length||backgroundColorStyles.value.backgroundColor?{backgroundColor:`currentColor`}:void 0:props.inset?void 0:backgroundColorStyles.value])},[slots.thumb?createVNode(VDefaultsProvider,{"defaults":{VIcon:{icon,size:isMaterial?iconSize.value:`x-small`}}},{default:()=>[slots.thumb({...slotProps,icon})]}):createVNode(VScaleTransition,null,{default:()=>[!props.loading?icon&&createVNode(VIcon,{"key":String(icon),"class":normalizeClass(isMaterial?textColorClasses.value:void 0),"style":normalizeStyle(isMaterial?textColorStyles.value:void 0),"icon":icon,"size":isMaterial?iconSize.value:`x-small`},null):createVNode(LoaderSlot,{"name":`v-switch`,"active":true,"color":isValid.value===false?void 0:loaderColor.value},{default:slotProps=>slots.loader?slots.loader(slotProps):createVNode(VProgressCircular,{"active":slotProps.isActive,"color":slotProps.color,"indeterminate":true,"size":iconSize.value,"width":`2`},null)})]})])])})}})});return forwardRefs({},inputRef)}});export{VSwitch as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as useToggleScope,$t as matchesSelector,B as VDefaultsProvider,Dn as isNumber,E as useDensity,F as useBackgroundColor,G as makeThemeProps,Gt as getActiveElement,K as provideTheme,L as useTextColor,Ln as consoleWarn,N as makeRoundedProps,Ot as EventProp,P as useRounded,Pt as convertToUnit,Q as useProxiedModel,R as makeDimensionProps,T as makeDensityProps,Vt as filterInputAttrs,Wn as vShow,X as useLocale,Z as useRtl,_t as Box,an as pick,at as deepEqual,c as LoaderSlot,fn as PREFERS_REDUCED_MOTION,ft as provideDefaults,gt as propsFactory,h as VIcon,ht as makeComponentProps,it as useRender,jn as isUndefined,kn as isString,kt as callEvent,l as makeLoaderProps,mt as getCurrentInstanceName,nn as omit,pt as getCurrentInstance,st as genericComponent,t as Ripple,tt as IconValue,u as useLoader,un as wrapInArray,wn as isFunction,z as useDimension}from"./ripple-BVltMmyV.js";import{D as createVNode,Ht as watch,J as inject,On as unref,Pt as useId,Yt as withDirectives,Zn as normalizeClass,_ as createBaseVNode,ct as onMounted,er as normalizeStyle,et as mergeProps,fn as markRaw,g as computed,gt as provide,h as cloneVNode,it as onBeforeUnmount,o as Fragment,pn as onScopeDispose,rt as onBeforeMount,tt as nextTick,vn as ref,wn as toRef,xn as shallowRef}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{f as animate,l as forwardRefs,p as nullifyTransforms}from"./VOverlay-CeMZurIN.js";import{a as MaybeTransition,b as standardEasing,c as VExpandXTransition,d as VSlideYTransition,i as Intersect,o as makeTransitionProps}from"./VAvatar-DPzqDH4r.js";var RulesSymbol=Symbol.for(`vuetify:rules`);function useRules(fn){const rules=inject(RulesSymbol,null);if(!fn){if(!rules)throw new Error(`Could not find Vuetify rules injection`);return rules.aliases}return rules?.resolve(fn)??toRef(fn)}var makeVLabelProps=propsFactory({text:String,onClick:EventProp(),...makeComponentProps(),...makeThemeProps()},`VLabel`);var VLabel=genericComponent()({name:`VLabel`,props:makeVLabelProps(),setup(props,{slots}){useRender(()=>createBaseVNode(`label`,{"class":normalizeClass([`v-label`,{"v-label--clickable":!!props.onClick},props.class]),"style":normalizeStyle(props.style),"onClick":props.onClick},[props.text,slots.default?.()]));return{}}});var VSelectionControlGroupSymbol=Symbol.for(`vuetify:selection-control-group`);var makeSelectionControlGroupProps=propsFactory({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:IconValue,trueIcon:IconValue,indeterminateIcon:IconValue,ripple:{type:[Boolean,Object],default:true},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:deepEqual},...makeComponentProps(),...makeDensityProps(),...makeThemeProps()},`SelectionControlGroup`);var makeVSelectionControlGroupProps=propsFactory({...makeSelectionControlGroupProps({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`);var VSelectionControlGroup=genericComponent()({name:`VSelectionControlGroup`,props:makeVSelectionControlGroupProps(),emits:{"update:modelValue":value=>true},setup(props,{slots}){const modelValue=useProxiedModel(props,`modelValue`);const uid=useId();const id=toRef(()=>props.id||`v-selection-control-group-${uid}`);const name=toRef(()=>props.name||id.value);const updateHandlers=new Set;provide(VSelectionControlGroupSymbol,{modelValue,forceUpdate:()=>{updateHandlers.forEach(fn=>fn())},onForceUpdate:cb=>{updateHandlers.add(cb);onScopeDispose(()=>{updateHandlers.delete(cb)})}});provideDefaults({[props.defaultsTarget]:{color:toRef(()=>props.color),disabled:toRef(()=>props.disabled),density:toRef(()=>props.density),error:toRef(()=>props.error),inline:toRef(()=>props.inline),modelValue,multiple:toRef(()=>!!props.multiple||props.multiple==null&&Array.isArray(modelValue.value)),name,falseIcon:toRef(()=>props.falseIcon),trueIcon:toRef(()=>props.trueIcon),readonly:toRef(()=>props.readonly),ripple:toRef(()=>props.ripple),type:toRef(()=>props.type),valueComparator:toRef(()=>props.valueComparator)}});useRender(()=>createBaseVNode(`div`,{"class":normalizeClass([`v-selection-control-group`,{"v-selection-control-group--inline":props.inline},props.class]),"style":normalizeStyle(props.style),"role":props.type===`radio`?`radiogroup`:void 0},[slots.default?.()]));return{}}});var makeVSelectionControlProps=propsFactory({indeterminate:Boolean,label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...makeComponentProps(),...makeSelectionControlGroupProps()},`VSelectionControl`);function useSelectionControl(props){const group=inject(VSelectionControlGroupSymbol,void 0);const{densityClasses}=useDensity(props);const modelValue=useProxiedModel(props,`modelValue`);const trueValue=computed(()=>props.trueValue!==void 0?props.trueValue:props.value!==void 0?props.value:true);const falseValue=computed(()=>props.falseValue!==void 0?props.falseValue:false);const isMultiple=computed(()=>!!props.multiple||props.multiple==null&&Array.isArray(modelValue.value));const model=computed({get(){const val=group?group.modelValue.value:modelValue.value;return isMultiple.value?wrapInArray(val).some(v=>props.valueComparator(v,trueValue.value)):props.valueComparator(val,trueValue.value)},set(val){if(props.readonly)return;const currentValue=val?trueValue.value:falseValue.value;let newVal=currentValue;if(isMultiple.value)newVal=val?[...wrapInArray(modelValue.value),currentValue]:wrapInArray(modelValue.value).filter(item=>!props.valueComparator(item,trueValue.value));if(group)group.modelValue.value=newVal;else modelValue.value=newVal}});const isActive=computed(()=>model.value||props.indeterminate);const{textColorClasses,textColorStyles}=useTextColor(()=>{if(props.error||props.disabled)return void 0;return isActive.value?props.color:props.baseColor});const{backgroundColorClasses,backgroundColorStyles}=useBackgroundColor(()=>{return isActive.value&&!props.error&&!props.disabled?props.color:props.baseColor});return{group,densityClasses,trueValue,falseValue,model,textColorClasses,textColorStyles,backgroundColorClasses,backgroundColorStyles,icon:computed(()=>props.indeterminate?props.indeterminateIcon:model.value?props.trueIcon:props.falseIcon)}}var VSelectionControl=genericComponent()({name:`VSelectionControl`,directives:{vRipple:Ripple},inheritAttrs:false,props:makeVSelectionControlProps(),emits:{"update:modelValue":value=>true},setup(props,{attrs,slots}){const{group,densityClasses,icon,model,textColorClasses,textColorStyles,backgroundColorClasses,backgroundColorStyles,trueValue}=useSelectionControl(props);const uid=useId();const isFocused=shallowRef(false);const isFocusVisible=shallowRef(false);const input=ref();const id=toRef(()=>props.id||`input-${uid}`);const isInteractive=toRef(()=>!props.disabled&&!props.readonly);group?.onForceUpdate(()=>{if(input.value)input.value.checked=model.value});function onFocus(e){if(props.disabled)return;isFocused.value=true;if(matchesSelector(e.target,`:focus-visible`)!==false)isFocusVisible.value=true}function onBlur(){isFocused.value=false;isFocusVisible.value=false}function onClickLabel(e){e.stopPropagation()}function onInput(e){if(!isInteractive.value){if(input.value)input.value.checked=model.value;return}if(props.readonly&&group)nextTick(()=>group.forceUpdate());model.value=e.target.checked}useRender(()=>{const label=slots.label?slots.label({label:props.label,props:{for:id.value}}):props.label;const[rootAttrs,inputAttrs]=filterInputAttrs(attrs);const inputNode=createBaseVNode(`input`,mergeProps({"ref":input,"checked":model.value,"disabled":!!props.disabled,"id":id.value,"onBlur":onBlur,"onFocus":onFocus,"onInput":onInput,"aria-disabled":!!props.disabled,"aria-label":props.label,"type":props.type,"value":trueValue.value,"name":props.name,"aria-checked":props.type===`checkbox`?model.value:void 0},inputAttrs),null);return createBaseVNode(`div`,mergeProps({"class":[`v-selection-control`,{"v-selection-control--dirty":model.value,"v-selection-control--indeterminate":props.indeterminate,"v-selection-control--disabled":props.disabled,"v-selection-control--error":props.error,"v-selection-control--focused":isFocused.value,"v-selection-control--focus-visible":isFocusVisible.value,"v-selection-control--inline":props.inline},densityClasses.value,props.class]},rootAttrs,{"style":props.style}),[createBaseVNode(`div`,{"class":normalizeClass([`v-selection-control__wrapper`,textColorClasses.value]),"style":normalizeStyle(textColorStyles.value)},[slots.default?.({backgroundColorClasses,backgroundColorStyles}),withDirectives(createBaseVNode(`div`,{"class":normalizeClass([`v-selection-control__input`])},[slots.input?.({model,textColorClasses,textColorStyles,backgroundColorClasses,backgroundColorStyles,inputNode,icon:icon.value,props:{onFocus,onBlur,id:id.value}})??createBaseVNode(Fragment,null,[icon.value&&createVNode(VIcon,{"key":`icon`,"icon":icon.value},null),inputNode])]),[[Ripple,!props.disabled&&!props.readonly&&props.ripple,null,{center:true,circle:true}]])]),label&&createVNode(VLabel,{"for":id.value,"onClick":onClickLabel},{default:()=>[label]})])});return{isFocused,input}}});var makeVCheckboxBtnProps=propsFactory({...makeVSelectionControlProps({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`,indeterminateIcon:`$checkboxIndeterminate`})},`VCheckboxBtn`);var VCheckboxBtn=genericComponent()({name:`VCheckboxBtn`,props:makeVCheckboxBtnProps(),emits:{"update:modelValue":value=>true,"update:indeterminate":value=>true},setup(props,{slots}){const indeterminate=useProxiedModel(props,`indeterminate`);const model=useProxiedModel(props,`modelValue`);function onChange(v){if(indeterminate.value)indeterminate.value=false}useRender(()=>{const controlProps=omit(VSelectionControl.filterProps(props),[`modelValue`]);return createVNode(VSelectionControl,mergeProps(controlProps,{"modelValue":model.value,"onUpdate:modelValue":[$event=>model.value=$event,onChange],"class":[`v-checkbox-btn`,props.class],"style":props.style,"type":`checkbox`,"aria-checked":indeterminate.value?`mixed`:void 0}),slots)});return{}}});function useInputIcon(props){const{t}=useLocale();function InputIcon({name,color,...attrs}){const localeKey={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[name];const listener=props[`onClick:${name}`];function onKeydown(e){if(e.key!==`Enter`&&e.key!==` `)return;e.preventDefault();e.stopPropagation();callEvent(listener,new PointerEvent(`click`,e))}const label=listener&&localeKey?t(`$vuetify.input.${localeKey}`,props.label??``):void 0;return createVNode(VIcon,mergeProps({"icon":props[`${name}Icon`],"aria-label":label,"onClick":listener,"onKeydown":onKeydown,"color":color},attrs),null)}return{InputIcon}}var makeVMessagesProps=propsFactory({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...makeComponentProps(),...makeTransitionProps({transition:{component:VSlideYTransition,leaveAbsolute:true,group:true}})},`VMessages`);var VMessages=genericComponent()({name:`VMessages`,props:makeVMessagesProps(),setup(props,{slots}){const messages=computed(()=>wrapInArray(props.messages));const{textColorClasses,textColorStyles}=useTextColor(()=>props.color);useRender(()=>createVNode(MaybeTransition,{"transition":props.transition,"tag":`div`,"class":normalizeClass([`v-messages`,textColorClasses.value,props.class]),"style":normalizeStyle([textColorStyles.value,props.style])},{default:()=>[props.active&&messages.value.map((message,i)=>createBaseVNode(`div`,{"class":`v-messages__message`,"key":`${i}-${messages.value}`},[slots.message?slots.message({message}):message]))]}));return{}}});var makeFocusProps=propsFactory({focused:Boolean,"onUpdate:focused":EventProp()},`focus`);function useFocus(props,name=getCurrentInstanceName()){const isFocused=useProxiedModel(props,`focused`);const focusClasses=toRef(()=>{return{[`${name}--focused`]:isFocused.value}});function focus(){isFocused.value=true}function blur(){isFocused.value=false}return{focusClasses,isFocused,focus,blur}}var FormKey=Symbol.for(`vuetify:form`);var makeFormProps=propsFactory({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function createForm(props){const model=useProxiedModel(props,`modelValue`);const isDisabled=toRef(()=>props.disabled);const isReadonly=toRef(()=>props.readonly);const isValidating=shallowRef(false);const items=ref([]);const errors=ref([]);async function validate(){const results=[];let valid=true;errors.value=[];isValidating.value=true;for(const item of items.value){const itemErrorMessages=await item.validate();if(itemErrorMessages.length>0){valid=false;results.push({id:item.id,errorMessages:itemErrorMessages})}if(!valid&&props.fastFail)break}errors.value=results;isValidating.value=false;return{valid,errors:errors.value}}function reset(){items.value.forEach(item=>item.reset())}function resetValidation(){items.value.forEach(item=>item.resetValidation())}watch(items,()=>{let valid=0;let invalid=0;const results=[];for(const item of items.value)if(item.isValid===false){invalid++;results.push({id:item.id,errorMessages:item.errorMessages})}else if(item.isValid===true)valid++;errors.value=results;model.value=invalid>0?false:valid===items.value.length?true:null},{deep:true,flush:`post`});provide(FormKey,{register:({id,vm,validate,reset,resetValidation})=>{if(items.value.some(item=>item.id===id))consoleWarn(`Duplicate input name "${id}"`);items.value.push({id,validate,reset,resetValidation,vm:markRaw(vm),isValid:null,errorMessages:[]})},unregister:id=>{items.value=items.value.filter(item=>{return item.id!==id})},update:(id,isValid,errorMessages)=>{const found=items.value.find(item=>item.id===id);if(!found)return;found.isValid=isValid;found.errorMessages=errorMessages},isDisabled,isReadonly,isValidating,isValid:model,items,validateOn:toRef(()=>props.validateOn)});return{errors,isDisabled,isReadonly,isValidating,isValid:model,items,validate,reset,resetValidation}}function useForm(props){const form=inject(FormKey,null);return{...form,isReadonly:computed(()=>!!(props?.readonly??form?.isReadonly.value)),isDisabled:computed(()=>!!(props?.disabled??form?.isDisabled.value))}}var makeValidationProps=propsFactory({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...makeFocusProps()},`validation`);function useValidation(props,name=getCurrentInstanceName(),id=useId()){const model=useProxiedModel(props,`modelValue`);const validationModel=computed(()=>isUndefined(props.validationValue)?model.value:props.validationValue);const form=useForm(props);const rules=useRules(()=>props.rules);const internalErrorMessages=ref([]);const isPristine=shallowRef(true);const isDirty=computed(()=>!!(wrapInArray(model.value===``?null:model.value).length||wrapInArray(validationModel.value===``?null:validationModel.value).length));const errorMessages=computed(()=>{return props.errorMessages?.length?wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0,Math.max(0,Number(props.maxErrors))):internalErrorMessages.value});const validateOn=computed(()=>{let value=(props.validateOn??form.validateOn?.value)||`input`;if(value===`lazy`)value=`input lazy`;if(value===`eager`)value=`input eager`;const set=new Set(value?.split(` `)??[]);return{input:set.has(`input`),blur:set.has(`blur`)||set.has(`input`)||set.has(`invalid-input`),invalidInput:set.has(`invalid-input`),lazy:set.has(`lazy`),eager:set.has(`eager`)}});const isValid=computed(()=>{if(props.error||props.errorMessages?.length)return false;if(!props.rules.length)return true;if(isPristine.value)return internalErrorMessages.value.length||validateOn.value.lazy?null:true;else return!internalErrorMessages.value.length});const isValidating=shallowRef(false);let isResetting=false;const validationClasses=computed(()=>{return{[`${name}--error`]:isValid.value===false,[`${name}--dirty`]:isDirty.value,[`${name}--disabled`]:form.isDisabled.value,[`${name}--readonly`]:form.isReadonly.value}});const vm=getCurrentInstance(`validation`);const uid=computed(()=>props.name??unref(id));onBeforeMount(()=>{form.register?.({id:uid.value,vm,validate,reset,resetValidation})});onBeforeUnmount(()=>{form.unregister?.(uid.value)});onMounted(async()=>{if(!validateOn.value.lazy)await validate(!validateOn.value.eager);form.update?.(uid.value,isValid.value,errorMessages.value)});useToggleScope(()=>validateOn.value.input||validateOn.value.invalidInput&&isValid.value===false,()=>{watch(validationModel,()=>{if(!isResetting)validate()})});useToggleScope(()=>validateOn.value.blur,()=>{watch(()=>props.focused,val=>{if(!val)validate()})});watch([isValid,errorMessages],()=>{form.update?.(uid.value,isValid.value,errorMessages.value)});async function reset(){isResetting=true;model.value=null;await nextTick();isResetting=false;await resetValidation()}async function resetValidation(){isPristine.value=true;if(!validateOn.value.lazy)await validate(!validateOn.value.eager);else internalErrorMessages.value=[]}async function validate(silent=false){const results=[];isValidating.value=true;for(const rule of rules.value){if(results.length>=Number(props.maxErrors??1))break;const result=await(isFunction(rule)?rule:()=>rule)(validationModel.value);if(result===true)continue;if(result!==false&&!isString(result)){console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`);continue}results.push(result||``)}internalErrorMessages.value=results;isValidating.value=false;isPristine.value=silent;return internalErrorMessages.value}return{errorMessages,isDirty,isDisabled:form.isDisabled,isReadonly:form.isReadonly,isPristine,isValid,isValidating,reset,resetValidation,validate,validationClasses}}var makeVInputProps=propsFactory({id:String,appendIcon:IconValue,baseColor:String,centerAffix:{type:Boolean,default:true},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:IconValue,detailsActive:{type:Boolean,default:null},hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:v=>[`horizontal`,`vertical`].includes(v)},"onClick:prepend":EventProp(),"onClick:append":EventProp(),...makeComponentProps(),...makeDensityProps(),...pick(makeDimensionProps(),[`maxWidth`,`minWidth`,`width`]),...makeThemeProps(),...makeValidationProps()},`VInput`);var VInput=genericComponent()({name:`VInput`,props:{...makeVInputProps()},emits:{"update:modelValue":value=>true},setup(props,{attrs,slots,emit}){const{densityClasses}=useDensity(props);const{dimensionStyles}=useDimension(props);const{themeClasses}=provideTheme(props);const{rtlClasses}=useRtl();const{InputIcon}=useInputIcon(props);const uid=useId();const id=computed(()=>props.id||`input-${uid}`);const{errorMessages,isDirty,isDisabled,isReadonly,isPristine,isValid,isValidating,reset,resetValidation,validate,validationClasses}=useValidation(props,`v-input`,id);const messages=computed(()=>{if(props.errorMessages?.length||!isPristine.value&&errorMessages.value.length)return errorMessages.value;else if(props.hint&&(props.persistentHint||props.focused))return props.hint;else return props.messages});const hasMessages=toRef(()=>messages.value.length>0);const hasDetails=toRef(()=>!props.hideDetails||props.hideDetails===`auto`&&(hasMessages.value||(props.detailsActive??!!slots.details)));const messagesId=computed(()=>hasDetails.value?`${id.value}-messages`:void 0);const slotProps=computed(()=>({id,messagesId,isDirty,isDisabled,isReadonly,isPristine,isValid,isValidating,hasDetails,reset,resetValidation,validate}));const color=toRef(()=>{return props.error||props.disabled?void 0:props.focused?props.color:props.baseColor});const iconColor=toRef(()=>{if(!props.iconColor)return void 0;return props.iconColor===true?color.value:props.iconColor});useRender(()=>{const hasPrepend=!!(slots.prepend||props.prependIcon);const hasAppend=!!(slots.append||props.appendIcon);return createBaseVNode(`div`,{"class":normalizeClass([`v-input`,`v-input--${props.direction}`,{"v-input--center-affix":props.centerAffix,"v-input--focused":props.focused,"v-input--glow":props.glow,"v-input--hide-spin-buttons":props.hideSpinButtons,"v-input--indent-details":props.indentDetails},densityClasses.value,themeClasses.value,rtlClasses.value,validationClasses.value,props.class]),"style":normalizeStyle([dimensionStyles.value,props.style])},[hasPrepend&&createBaseVNode(`div`,{"key":`prepend`,"class":`v-input__prepend`},[slots.prepend?slots.prepend(slotProps.value):props.prependIcon&&createVNode(InputIcon,{"key":`prepend-icon`,"name":`prepend`,"color":iconColor.value},null)]),slots.default&&createBaseVNode(`div`,{"class":`v-input__control`},[slots.default?.(slotProps.value)]),hasAppend&&createBaseVNode(`div`,{"key":`append`,"class":`v-input__append`},[slots.append?slots.append(slotProps.value):props.appendIcon&&createVNode(InputIcon,{"key":`append-icon`,"name":`append`,"color":iconColor.value},null)]),props.hideDetails!==true&&createBaseVNode(`div`,{"id":messagesId.value,"class":normalizeClass([`v-input__details`,{"v-input__details--hidden":!hasDetails.value}]),"role":`alert`,"aria-live":`polite`},[createVNode(VMessages,{"active":hasMessages.value,"messages":messages.value},{message:slots.message}),slots.details?.(slotProps.value)])])});return{reset,resetValidation,validate,isValid,errorMessages}}});var makeVCounterProps=propsFactory({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...makeComponentProps(),...makeTransitionProps({transition:{component:VSlideYTransition}})},`VCounter`);var VCounter=genericComponent()({name:`VCounter`,functional:true,props:makeVCounterProps(),setup(props,{slots}){const lastMax=shallowRef(props.max);watch(()=>props.max,val=>val!=null&&(lastMax.value=val));const max=toRef(()=>props.active?props.max:lastMax.value);const counter=toRef(()=>{return max.value?`${props.value} / ${max.value}`:String(props.value)});useRender(()=>createVNode(MaybeTransition,{"transition":props.transition,"appear":true},{default:()=>[withDirectives(createBaseVNode(`div`,{"class":normalizeClass([`v-counter`,{"text-error":max.value&&!props.disabled&&parseFloat(props.value)>parseFloat(max.value)},props.class]),"style":normalizeStyle(props.style)},[slots.default?slots.default({counter:counter.value,max:max.value,value:props.value}):counter.value]),[[vShow,props.active]])]}));return{}}});var makeVFieldLabelProps=propsFactory({floating:Boolean,...makeComponentProps()},`VFieldLabel`);var VFieldLabel=genericComponent()({name:`VFieldLabel`,props:makeVFieldLabelProps(),setup(props,{slots}){useRender(()=>createVNode(VLabel,{"class":normalizeClass([`v-field-label`,{"v-field-label--floating":props.floating},props.class]),"style":normalizeStyle(props.style)},slots));return{}}});var allowedVariants=[`underlined`,`outlined`,`filled`,`solo`,`solo-inverted`,`solo-filled`,`plain`];var makeVFieldProps=propsFactory({appendInnerIcon:IconValue,bgColor:String,clearable:Boolean,clearIcon:{type:IconValue,default:`$clear`},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:IconValue,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:`filled`,validator:v=>allowedVariants.includes(v)},"onClick:clear":EventProp(),"onClick:appendInner":EventProp(),"onClick:prependInner":EventProp(),...makeComponentProps(),...makeLoaderProps(),...makeRoundedProps(),...makeThemeProps()},`VField`);var VField=genericComponent()({name:`VField`,inheritAttrs:false,props:{id:String,details:Boolean,labelId:String,...makeFocusProps(),...makeVFieldProps()},emits:{"update:focused":focused=>true,"update:modelValue":value=>true},setup(props,{attrs,emit,slots}){const{themeClasses}=provideTheme(props);const{loaderClasses}=useLoader(props);const{focusClasses,isFocused,focus,blur}=useFocus(props);const{InputIcon}=useInputIcon(props);const{roundedClasses,roundedStyles}=useRounded(props);const{rtlClasses}=useRtl();const isActive=toRef(()=>props.dirty||props.active);const hasLabel=toRef(()=>!!(props.label||slots.label));const hasFloatingLabel=toRef(()=>!props.singleLine&&hasLabel.value);const uid=useId();const id=computed(()=>props.id||`input-${uid}`);const messagesId=toRef(()=>!props.details?void 0:`${id.value}-messages`);const labelRef=ref();const floatingLabelRef=ref();const controlRef=ref();const isPlainOrUnderlined=computed(()=>[`plain`,`underlined`].includes(props.variant));const color=computed(()=>{return props.error||props.disabled?void 0:isActive.value&&isFocused.value?props.color:props.baseColor});const iconColor=computed(()=>{if(props.iconColor===true||!props.iconColor&&props.glow&&isFocused.value)return color.value;if(!props.iconColor||props.glow&&!isFocused.value)return void 0;return props.iconColor});const{backgroundColorClasses,backgroundColorStyles}=useBackgroundColor(()=>props.bgColor);const{textColorClasses,textColorStyles}=useTextColor(color);watch(isActive,val=>{if(hasFloatingLabel.value&&!PREFERS_REDUCED_MOTION()){const el=labelRef.value.$el;const targetEl=floatingLabelRef.value.$el;requestAnimationFrame(()=>{const rect=nullifyTransforms(el);const targetRect=new Box(targetEl);const x=targetRect.x-rect.x;const y=targetRect.y-rect.y-(rect.height/2-targetRect.height/2);const targetWidth=targetRect.width/.75;const width=Math.abs(targetWidth-rect.width)>1?{maxWidth:convertToUnit(targetWidth)}:void 0;const style=getComputedStyle(el);const targetStyle=getComputedStyle(targetEl);const duration=parseFloat(style.transitionDuration)*1e3||150;const scale=parseFloat(targetStyle.getPropertyValue(`--v-field-label-scale`));const color=targetStyle.getPropertyValue(`color`);el.style.visibility=`visible`;targetEl.style.visibility=`hidden`;animate(el,{transform:`translate(${x}px, ${y}px) scale(${scale})`,color,...width},{duration,easing:standardEasing,direction:val?`normal`:`reverse`}).finished.then(()=>{el.style.removeProperty(`visibility`);targetEl.style.removeProperty(`visibility`)})})}},{flush:`post`});const slotProps=computed(()=>({isActive,isFocused,controlRef,iconColor,blur,focus}));const floatingLabelProps=toRef(()=>{const ariaHidden=!isActive.value;return{"aria-hidden":ariaHidden,for:ariaHidden?void 0:id.value}});const mainLabelProps=toRef(()=>{const ariaHidden=hasFloatingLabel.value&&isActive.value;return{"aria-hidden":ariaHidden,for:ariaHidden?void 0:id.value}});function onClick(e){if(e.target!==getActiveElement())e.preventDefault()}useRender(()=>{const isOutlined=props.variant===`outlined`;const hasPrepend=!!(slots[`prepend-inner`]||props.prependInnerIcon);const hasClear=!!(props.clearable||slots.clear)&&!props.disabled;const hasAppend=!!(slots[`append-inner`]||props.appendInnerIcon||hasClear);const label=()=>slots.label?slots.label({...slotProps.value,label:props.label,props:{for:id.value}}):props.label;return createBaseVNode(`div`,mergeProps({"class":[`v-field`,{"v-field--active":isActive.value,"v-field--appended":hasAppend,"v-field--center-affix":props.centerAffix??!isPlainOrUnderlined.value,"v-field--disabled":props.disabled,"v-field--dirty":props.dirty,"v-field--error":props.error,"v-field--glow":props.glow,"v-field--flat":props.flat,"v-field--has-background":!!props.bgColor,"v-field--persistent-clear":props.persistentClear,"v-field--prepended":hasPrepend,"v-field--reverse":props.reverse,"v-field--single-line":props.singleLine,"v-field--no-label":!label(),[`v-field--variant-${props.variant}`]:true},themeClasses.value,backgroundColorClasses.value,focusClasses.value,loaderClasses.value,roundedClasses.value,rtlClasses.value,props.class],"style":[backgroundColorStyles.value,roundedStyles.value,props.style],"onClick":onClick},attrs),[createBaseVNode(`div`,{"class":`v-field__overlay`},null),createVNode(LoaderSlot,{"name":`v-field`,"active":!!props.loading,"color":props.error?`error`:isString(props.loading)?props.loading:props.color},{default:slots.loader}),hasPrepend&&createBaseVNode(`div`,{"key":`prepend`,"class":`v-field__prepend-inner`},[slots[`prepend-inner`]?slots[`prepend-inner`](slotProps.value):props.prependInnerIcon&&createVNode(InputIcon,{"key":`prepend-icon`,"name":`prependInner`,"color":iconColor.value},null)]),createBaseVNode(`div`,{"class":`v-field__field`,"data-no-activator":``},[[`filled`,`solo`,`solo-inverted`,`solo-filled`].includes(props.variant)&&hasFloatingLabel.value&&createVNode(VFieldLabel,mergeProps({"key":`floating-label`,"ref":floatingLabelRef,"class":[textColorClasses.value],"floating":true},floatingLabelProps.value,{"style":textColorStyles.value}),{default:()=>[label()]}),hasLabel.value&&createVNode(VFieldLabel,mergeProps({"key":`label`,"ref":labelRef,"id":props.labelId},mainLabelProps.value),{default:()=>[label()]}),slots.default?.({...slotProps.value,props:{id:id.value,class:`v-field__input`,"aria-describedby":messagesId.value},focus,blur})??createBaseVNode(`div`,{"id":id.value,"class":`v-field__input`,"aria-describedby":messagesId.value},null)]),hasClear&&createVNode(VExpandXTransition,{"key":`clear`},{default:()=>[withDirectives(createBaseVNode(`div`,{"class":`v-field__clearable`,"onMousedown":e=>{e.preventDefault();e.stopPropagation()}},[createVNode(VDefaultsProvider,{"defaults":{VIcon:{icon:props.clearIcon}}},{default:()=>[slots.clear?slots.clear({...slotProps.value,props:{onFocus:focus,onBlur:blur,onClick:props[`onClick:clear`],tabindex:-1}}):createVNode(InputIcon,{"name":`clear`,"onFocus":focus,"onBlur":blur,"tabindex":-1},null)]})]),[[vShow,props.dirty]])]}),hasAppend&&createBaseVNode(`div`,{"key":`append`,"class":`v-field__append-inner`},[slots[`append-inner`]?slots[`append-inner`](slotProps.value):props.appendInnerIcon&&createVNode(InputIcon,{"key":`append-icon`,"name":`appendInner`,"color":iconColor.value},null)]),createBaseVNode(`div`,{"class":normalizeClass([`v-field__outline`,textColorClasses.value]),"style":normalizeStyle(textColorStyles.value)},[isOutlined&&createBaseVNode(Fragment,null,[createBaseVNode(`div`,{"class":`v-field__outline__start`},null),hasFloatingLabel.value&&createBaseVNode(`div`,{"class":`v-field__outline__notch`},[createVNode(VFieldLabel,mergeProps({"ref":floatingLabelRef,"floating":true},floatingLabelProps.value),{default:()=>[label()]})]),createBaseVNode(`div`,{"class":`v-field__outline__end`},null)]),isPlainOrUnderlined.value&&hasFloatingLabel.value&&createVNode(VFieldLabel,mergeProps({"ref":floatingLabelRef,"floating":true},floatingLabelProps.value),{default:()=>[label()]})])])});return{controlRef,fieldIconColor:iconColor}}});var makeAutocompleteProps=propsFactory({autocomplete:String},`autocomplete`);function useAutocomplete(props){const uniqueId=useId();const reloadTrigger=shallowRef(0);const isSuppressing=toRef(()=>props.autocomplete===`suppress`);const fieldName=toRef(()=>{if(!props.name)return void 0;return isSuppressing.value?`${props.name}-${uniqueId}-${reloadTrigger.value}`:props.name});return{isSuppressing,fieldAutocomplete:toRef(()=>{return isSuppressing.value?`off`:props.autocomplete}),fieldName,update:()=>reloadTrigger.value=new Date().getTime()}}function useAutofocus(props){function onIntersect(isIntersecting,entries){if(!props.autofocus||!isIntersecting)return;const el=entries[0].target;const target=el.matches(`input,textarea`)?el:el.querySelector(`input,textarea`);setTimeout(()=>target?.focus(),50)}return{onIntersect}}var activeTypes=[`color`,`file`,`time`,`date`,`datetime-local`,`week`,`month`];var makeVTextFieldProps=propsFactory({autofocus:Boolean,counter:{type:[Boolean,Number,String],default:void 0},counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:`text`},modelModifiers:Object,...makeAutocompleteProps(),...omit(makeVInputProps(),[`direction`]),...makeVFieldProps()},`VTextField`);var VTextField=genericComponent()({name:`VTextField`,directives:{vIntersect:Intersect},inheritAttrs:false,props:makeVTextFieldProps(),emits:{"click:control":e=>true,"mousedown:control":e=>true,"update:focused":focused=>true,"update:modelValue":val=>true},setup(props,{attrs,emit,slots}){const model=useProxiedModel(props,`modelValue`,void 0,v=>{if(Object.is(v,-0))return`-0`;return v});const{isFocused,focus,blur}=useFocus(props);const{onIntersect}=useAutofocus(props);const counterValue=computed(()=>{return isFunction(props.counterValue)?props.counterValue(model.value):isNumber(props.counterValue)?props.counterValue:(model.value??``).toString().length});const max=computed(()=>{if(attrs.maxlength)return attrs.maxlength;if(!props.counter||!isNumber(props.counter)&&!isString(props.counter))return void 0;return props.counter});const isPlainOrUnderlined=computed(()=>[`plain`,`underlined`].includes(props.variant));const vInputRef=ref();const vFieldRef=ref();const inputRef=ref();watch(()=>props.type,()=>void inputRef.value?.offsetHeight,{flush:`post`});const autocomplete=useAutocomplete(props);const isActive=computed(()=>activeTypes.includes(props.type)||props.persistentPlaceholder||isFocused.value||props.active);function onFocus(){if(autocomplete.isSuppressing.value)autocomplete.update();if(!isFocused.value)focus();nextTick(()=>{if(inputRef.value!==getActiveElement())inputRef.value?.focus()})}function onControlMousedown(e){emit(`mousedown:control`,e);if(e.target===inputRef.value)return;onFocus();e.preventDefault()}function onControlClick(e){emit(`click:control`,e)}function onClear(e,reset){e.stopPropagation();onFocus();nextTick(()=>{reset();callEvent(props[`onClick:clear`],e)})}function onInput(e){const el=e.target;if(!(props.modelModifiers?.trim&&[`text`,`search`,`password`,`tel`,`url`].includes(props.type))){model.value=el.value;return}const value=el.value;const start=el.selectionStart;const end=el.selectionEnd;model.value=value;nextTick(()=>{let offset=0;if(value.trimStart().length===el.value.length)offset=value.length-el.value.length;if(start!=null)el.selectionStart=start-offset;if(end!=null)el.selectionEnd=end-offset})}useRender(()=>{const hasCounter=!!(slots.counter||props.counter!==void 0);const counterActive=props.counter!==false&&props.counter!==null&&(props.persistentCounter||isFocused.value);const hasDetails=props.hideDetails!==true&&!!(slots.details||hasCounter);const detailsActive=!!(slots.details||hasCounter&&counterActive);const[rootAttrs,inputAttrs]=filterInputAttrs(attrs);const{modelValue:_,...inputProps}=VInput.filterProps(props);const fieldProps=VField.filterProps(props);return createVNode(VInput,mergeProps({"ref":vInputRef,"modelValue":model.value,"onUpdate:modelValue":$event=>model.value=$event,"class":[`v-text-field`,{"v-text-field--prefixed":props.prefix,"v-text-field--suffixed":props.suffix,"v-input--plain-underlined":isPlainOrUnderlined.value},props.class],"style":props.style},rootAttrs,inputProps,{"centerAffix":!isPlainOrUnderlined.value,"focused":isFocused.value,"detailsActive":detailsActive,"indentDetails":props.indentDetails??!isPlainOrUnderlined.value}),{...slots,default:({id,isDisabled,isDirty,isReadonly,isValid,hasDetails,reset})=>createVNode(VField,mergeProps({"ref":vFieldRef,"onMousedown":onControlMousedown,"onClick":onControlClick,"onClick:clear":e=>onClear(e,reset),"role":props.role},omit(fieldProps,[`onClick:clear`]),{"id":id.value,"labelId":`${id.value}-label`,"active":isActive.value||isDirty.value,"dirty":isDirty.value||props.dirty,"disabled":isDisabled.value,"focused":isFocused.value,"details":hasDetails.value,"error":isValid.value===false}),{...slots,default:({props:{class:fieldClass,...slotProps},controlRef})=>{const inputNode=createBaseVNode(`input`,mergeProps({"ref":val=>inputRef.value=controlRef.value=val,"value":model.value,"onInput":onInput,"autofocus":props.autofocus,"readonly":isReadonly.value,"disabled":isDisabled.value,"name":autocomplete.fieldName.value,"autocomplete":autocomplete.fieldAutocomplete.value,"placeholder":props.placeholder,"size":1,"role":props.role,"type":props.type,"onFocus":focus,"onBlur":blur,"aria-labelledby":`${id.value}-label`},slotProps,inputAttrs),null);return createBaseVNode(Fragment,null,[props.prefix&&createBaseVNode(`span`,{"class":`v-text-field__prefix`},[createBaseVNode(`span`,{"class":`v-text-field__prefix__text`},[props.prefix])]),withDirectives(slots.default?createBaseVNode(`div`,{"class":normalizeClass(fieldClass),"data-no-activator":``},[slots.default({id}),inputNode]):cloneVNode(inputNode,{class:fieldClass}),[[Intersect,onIntersect,null,{once:true}]]),props.suffix&&createBaseVNode(`span`,{"class":`v-text-field__suffix`},[createBaseVNode(`span`,{"class":`v-text-field__suffix__text`},[props.suffix])])])}}),details:hasDetails?slotProps=>createBaseVNode(Fragment,null,[slots.details?.(slotProps),hasCounter&&createBaseVNode(Fragment,null,[createBaseVNode(`span`,null,null),createVNode(VCounter,{"active":counterActive,"value":counterValue.value,"max":max.value,"disabled":props.disabled},slots.counter)])]):void 0})});return forwardRefs({},vInputRef,vFieldRef,inputRef)}});export{VLabel as S,makeVCheckboxBtnProps as _,useAutocomplete as a,VSelectionControlGroup as b,VCounter as c,createForm as d,makeFormProps as f,VCheckboxBtn as g,useInputIcon as h,makeAutocompleteProps as i,VInput as l,useFocus as m,makeVTextFieldProps as n,VField as o,useForm as p,useAutofocus as r,makeVFieldProps as s,VTextField as t,makeVInputProps as u,VSelectionControl as v,makeSelectionControlGroupProps as x,makeVSelectionControlProps as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer vuetify-components{.v-selection-control{contain:layout;-webkit-user-select:none;user-select:none;flex:1 0;grid-area:control;align-items:center;display:flex;position:relative}.v-selection-control .v-label{white-space:normal;word-break:break-word;opacity:1;height:100%}.v-selection-control--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-label{color:rgb(var(--v-theme-error))}.v-selection-control--inline{flex:none;min-width:0;max-width:100%;display:inline-flex}.v-selection-control--inline .v-label{width:auto}.v-selection-control--density-default{--v-selection-control-size:40px}.v-selection-control--density-comfortable{--v-selection-control-size:36px}.v-selection-control--density-compact{--v-selection-control-size:28px}.v-selection-control__wrapper{width:var(--v-selection-control-size);height:var(--v-selection-control-size);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.v-selection-control__input{width:var(--v-selection-control-size);height:var(--v-selection-control-size);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.v-selection-control__input input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.v-selection-control__input:before{opacity:0;pointer-events:none;content:"";background-color:currentColor;border-radius:100%;width:100%;height:100%;position:absolute;top:0;left:0}.v-selection-control__input:hover:before{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-selection-control__input>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-selection-control--disabled .v-selection-control__input>.v-icon,.v-selection-control--dirty .v-selection-control__input>.v-icon,.v-selection-control--indeterminate .v-selection-control__input>.v-icon,.v-selection-control--error .v-selection-control__input>.v-icon{opacity:1}.v-selection-control--error:not(.v-selection-control--disabled) .v-selection-control__input>.v-icon{color:rgb(var(--v-theme-error))}.v-selection-control--focus-visible .v-selection-control__input:before{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}.v-label{color:inherit;letter-spacing:.009375em;min-width:0;opacity:var(--v-medium-emphasis-opacity);text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:1rem;display:inline-flex;overflow:hidden}.v-label--clickable{cursor:pointer}.v-selection-control-group{flex-direction:column;grid-area:control;display:flex}.v-selection-control-group--inline{flex-flow:wrap}.v-input{flex:auto;font-size:1rem;font-weight:400;line-height:1.5;display:grid}.v-input--disabled{pointer-events:none}.v-input--indent-details .v-input__details{padding-inline:16px}.v-input--density-default{--v-input-control-height:56px;--v-input-padding-top:16px}.v-input--density-comfortable{--v-input-control-height:48px;--v-input-padding-top:12px}.v-input--density-compact{--v-input-control-height:40px;--v-input-padding-top:8px}.v-input--vertical{grid-template:"append"max-content"control""prepend"max-content/min-content}.v-input--vertical .v-input__prepend{margin-block-start:16px}.v-input--vertical .v-input__append{margin-block-end:16px}.v-input--horizontal{grid-template:"prepend control append"1fr"a messages b"/max-content minmax(0,1fr) max-content}.v-input--horizontal .v-input__prepend{margin-inline-end:16px}.v-input--horizontal .v-input__append{margin-inline-start:16px}.v-input__details{letter-spacing:.0333333em;interpolate-size:allow-keywords;grid-area:messages;justify-content:space-between;align-items:flex-end;min-height:22px;padding-top:6px;font-size:.75rem;font-weight:400;line-height:normal;transition:height .15s cubic-bezier(.4,0,.2,1),min-height .15s cubic-bezier(.4,0,.2,1),padding-top .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),visibility .15s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.v-input__details{transition-duration:0s}}.v-input__details--hidden{visibility:hidden;opacity:0;height:0;min-height:0;padding-top:0}.v-input__details>.v-icon,.v-input__prepend>.v-icon,.v-input__append>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-input--disabled .v-input__details>.v-icon,.v-input--disabled .v-input__details .v-messages,.v-input--error .v-input__details>.v-icon,.v-input--error .v-input__details .v-messages,.v-input--disabled .v-input__prepend>.v-icon,.v-input--disabled .v-input__prepend .v-messages,.v-input--error .v-input__prepend>.v-icon,.v-input--error .v-input__prepend .v-messages,.v-input--disabled .v-input__append>.v-icon,.v-input--disabled .v-input__append .v-messages,.v-input--error .v-input__append>.v-icon,.v-input--error .v-input__append .v-messages,.v-input--glow.v-input--focused .v-input__details>.v-icon,.v-input--glow.v-input--focused .v-input__prepend>.v-icon,.v-input--glow.v-input--focused .v-input__append>.v-icon{opacity:1}.v-input--disabled .v-input__details,.v-input--disabled .v-input__prepend,.v-input--disabled .v-input__append{opacity:var(--v-disabled-opacity)}.v-input--error:not(.v-input--disabled) .v-input__details>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__details .v-messages,.v-input--error:not(.v-input--disabled) .v-input__prepend>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__prepend .v-messages,.v-input--error:not(.v-input--disabled) .v-input__append>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__append .v-messages{color:rgb(var(--v-theme-error))}.v-input__prepend,.v-input__append{padding-top:var(--v-input-padding-top);align-items:flex-start;display:flex}.v-input--center-affix .v-input__prepend,.v-input--center-affix .v-input__append{align-items:center;padding-top:0}.v-input__prepend{grid-area:prepend}.v-input__append{grid-area:append}.v-input__control{grid-area:control;display:flex}.v-input--hide-spin-buttons input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spin-buttons input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spin-buttons input[type=number]{-moz-appearance:textfield}.v-input--plain-underlined .v-input__prepend,.v-input--plain-underlined .v-input__append{align-items:flex-start}.v-input--density-default.v-input--plain-underlined .v-input__prepend,.v-input--density-default.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 4px)}.v-input--density-comfortable.v-input--plain-underlined .v-input__prepend,.v-input--density-comfortable.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 2px)}.v-input--density-compact.v-input--plain-underlined .v-input__prepend,.v-input--density-compact.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 0px)}.v-messages{min-width:1px;min-height:14px;opacity:var(--v-medium-emphasis-opacity);flex:auto;font-size:12px;position:relative}.v-messages__message{word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:12px;transition-duration:.15s}.v-text-field input{color:inherit;flex:1;min-width:0;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.v-text-field input:focus,.v-text-field input:active{outline:none}.v-text-field input:invalid{box-shadow:none}.v-text-field .v-field{cursor:text}.v-text-field--prefixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-start:6px}.v-text-field--suffixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-end:0}.v-text-field--prefixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-end:6px}.v-text-field--suffixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-start:0}.v-text-field .v-field:not(.v-field--no-label,.v-field--active) input::placeholder{opacity:0}.v-text-field .v-field--single-line input{transition:none}.v-text-field__prefix,.v-text-field__suffix{color:color-mix(in srgb, rgb(var(--v-theme-on-surface)) calc(var(--v-medium-emphasis-opacity) * 100%), transparent);cursor:default;opacity:0;white-space:nowrap;min-height:max(var(--v-input-control-height,56px), 1.5rem + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));padding-top:calc(var(--v-field-padding-top,4px) + var(--v-input-padding-top,0));padding-bottom:var(--v-field-padding-bottom,6px);align-items:center;transition:inherit;display:flex}.v-field--active .v-text-field__prefix,.v-field--active .v-text-field__suffix{opacity:1}.v-field--disabled .v-text-field__prefix,.v-field--disabled .v-text-field__suffix{color:color-mix(in srgb, rgb(var(--v-theme-on-surface)) calc(var(--v-disabled-opacity) * 100%), transparent)}.v-field:not(.v-field--reverse) .v-text-field__prefix{padding-inline-start:var(--v-field-padding-start)}.v-field.v-field--reverse .v-text-field__prefix,.v-field:not(.v-field--reverse) .v-text-field__suffix{padding-inline-end:var(--v-field-padding-end)}.v-field.v-field--reverse .v-text-field__suffix{padding-inline-start:var(--v-field-padding-start)}.v-counter{opacity:var(--v-medium-emphasis-opacity);white-space:nowrap;flex:0 auto;font-size:12px;transition-duration:.15s}.v-field{letter-spacing:.009375em;--v-theme-overlay-multiplier:1;--v-field-padding-start:16px;--v-field-padding-end:16px;--v-field-padding-top:8px;--v-field-padding-bottom:4px;--v-field-input-padding-top:calc(var(--v-field-padding-top,8px) + var(--v-input-padding-top,0px));--v-field-input-padding-bottom:var(--v-field-padding-bottom,4px);border-radius:4px;flex:1 0;grid-area:control;grid-template-columns:min-content minmax(0,1fr) min-content min-content;grid-template-areas:"prepend-inner field clear append-inner";max-width:100%;font-size:16px;display:grid;position:relative}.v-field--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-field .v-chip{--v-chip-height:24px}.v-field--prepended{padding-inline-start:12px}.v-field--appended{padding-inline-end:12px}.v-field--variant-solo,.v-field--variant-solo-filled,.v-field--variant-solo-inverted{background:rgb(var(--v-theme-surface));color:color-mix(in srgb, rgb(var(--v-theme-on-surface)) calc(var(--v-high-emphasis-opacity) * 100%), transparent);box-shadow:0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity,.3)), 0px 1px 3px 1px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity,.15));--v-elevation-overlay:color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent);border-color:#0000}.v-field--variant-solo-inverted.v-field--focused{color:rgb(var(--v-theme-on-surface-variant))}.v-field--variant-filled{border-bottom-right-radius:0;border-bottom-left-radius:0}.v-input--density-default .v-field--variant-solo,.v-input--density-default .v-field--variant-solo-inverted,.v-input--density-default .v-field--variant-solo-filled,.v-input--density-default .v-field--variant-filled{--v-input-control-height:56px;--v-field-padding-bottom:4px}.v-input--density-comfortable .v-field--variant-solo,.v-input--density-comfortable .v-field--variant-solo-inverted,.v-input--density-comfortable .v-field--variant-solo-filled,.v-input--density-comfortable .v-field--variant-filled{--v-input-control-height:48px;--v-field-padding-bottom:0px}.v-input--density-compact .v-field--variant-solo,.v-input--density-compact .v-field--variant-solo-inverted,.v-input--density-compact .v-field--variant-solo-filled,.v-input--density-compact .v-field--variant-filled{--v-input-control-height:40px;--v-field-padding-bottom:0px}.v-field--variant-outlined,.v-field--single-line,.v-field--no-label{--v-field-padding-top:0px}.v-input--density-default .v-field--variant-outlined,.v-input--density-default .v-field--single-line,.v-input--density-default .v-field--no-label{--v-field-padding-bottom:16px}.v-input--density-comfortable .v-field--variant-outlined,.v-input--density-comfortable .v-field--single-line,.v-input--density-comfortable .v-field--no-label{--v-field-padding-bottom:12px}.v-input--density-compact .v-field--variant-outlined,.v-input--density-compact .v-field--single-line,.v-input--density-compact .v-field--no-label{--v-field-padding-bottom:8px}.v-field--variant-plain,.v-field--variant-underlined{border-radius:0;padding:0}.v-field--variant-plain.v-field,.v-field--variant-underlined.v-field{--v-field-padding-start:0px;--v-field-padding-end:0px}.v-input--density-default .v-field--variant-plain,.v-input--density-default .v-field--variant-underlined{--v-input-control-height:48px;--v-field-padding-top:4px;--v-field-padding-bottom:4px}.v-input--density-comfortable .v-field--variant-plain,.v-input--density-comfortable .v-field--variant-underlined{--v-input-control-height:40px;--v-field-padding-top:2px;--v-field-padding-bottom:0px}.v-input--density-compact .v-field--variant-plain,.v-input--density-compact .v-field--variant-underlined{--v-input-control-height:32px;--v-field-padding-top:0px;--v-field-padding-bottom:0px}.v-field--flat{box-shadow:none}.v-field--rounded{border-radius:24px}.v-field.v-field--prepended{--v-field-padding-start:6px}.v-field.v-field--appended{--v-field-padding-end:6px}.v-field__input{color:inherit;letter-spacing:.009375em;opacity:var(--v-high-emphasis-opacity);min-height:max(var(--v-input-control-height,56px), 1.5rem + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));min-width:0;padding-inline:var(--v-field-padding-start) var(--v-field-padding-end);padding-top:var(--v-field-input-padding-top);padding-bottom:var(--v-field-input-padding-bottom);flex-wrap:wrap;align-items:center;column-gap:2px;width:100%;display:flex;position:relative}.v-input--density-default .v-field__input{row-gap:8px}.v-input--density-comfortable .v-field__input{row-gap:6px}.v-input--density-compact .v-field__input{row-gap:4px}.v-field__input input{letter-spacing:inherit}:where(.v-field__input input,input.v-field__input,textarea.v-field__input,select.v-field__input){background-color:#0000;border-style:none;margin:0;padding:0}:where(.v-field__input input,input.v-field__input,textarea.v-field__input,select.v-field__input)::placeholder{color:currentColor;opacity:var(--v-disabled-opacity)}.v-field__input:focus,.v-field__input:active{outline:none}.v-field__input:invalid{box-shadow:none}.v-field__field{flex:1 0;grid-area:field;align-items:flex-start;display:flex;position:relative}.v-field__prepend-inner{grid-area:prepend-inner;padding-inline-end:var(--v-field-padding-after)}.v-field__clearable{grid-area:clear}.v-field__append-inner{grid-area:append-inner;padding-inline-start:var(--v-field-padding-after)}.v-field__append-inner,.v-field__clearable,.v-field__prepend-inner{padding-top:var(--v-input-padding-top,8px);align-items:flex-start;display:flex}.v-field--center-affix .v-field__append-inner,.v-field--center-affix .v-field__clearable,.v-field--center-affix .v-field__prepend-inner{align-items:center;padding-top:0}.v-field.v-field--variant-underlined .v-field__append-inner,.v-field.v-field--variant-underlined .v-field__clearable,.v-field.v-field--variant-underlined .v-field__prepend-inner,.v-field.v-field--variant-plain .v-field__append-inner,.v-field.v-field--variant-plain .v-field__clearable,.v-field.v-field--variant-plain .v-field__prepend-inner{padding-top:calc(var(--v-field-padding-top,8px) + var(--v-input-padding-top,0px));padding-bottom:var(--v-field-padding-bottom,4px);align-items:flex-start}.v-field--focused .v-field__prepend-inner,.v-field--focused .v-field__append-inner{opacity:1}.v-field__prepend-inner>.v-icon,.v-field__append-inner>.v-icon,.v-field__clearable>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-field--disabled .v-field__prepend-inner>.v-icon,.v-field--error .v-field__prepend-inner>.v-icon,.v-field--glow.v-field--focused .v-field__prepend-inner>.v-icon,.v-field--disabled .v-field__append-inner>.v-icon,.v-field--error .v-field__append-inner>.v-icon,.v-field--glow.v-field--focused .v-field__append-inner>.v-icon,.v-field--disabled .v-field__clearable>.v-icon,.v-field--error .v-field__clearable>.v-icon,.v-field--glow.v-field--focused .v-field__clearable>.v-icon{opacity:1}.v-field--error:not(.v-field--disabled) .v-field__prepend-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__append-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__clearable>.v-icon{color:rgb(var(--v-theme-error))}.v-field__clearable{cursor:pointer;opacity:0;margin-inline:4px;transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),width .15s cubic-bezier(.4,0,.2,1);overflow:hidden}@media (prefers-reduced-motion:reduce){.v-field__clearable{transition-property:opacity}}.v-field--focused .v-field__clearable,.v-field--persistent-clear .v-field__clearable{opacity:1}@media (hover:hover){.v-field:hover .v-field__clearable{opacity:1}}@media (hover:none){.v-field__clearable{opacity:1}}.v-label.v-field-label{contain:layout paint;max-width:calc(100% - var(--v-field-padding-start) - var(--v-field-padding-end));pointer-events:none;top:var(--v-input-padding-top);transform-origin:0;z-index:1;margin-inline-start:var(--v-field-padding-start);margin-inline-end:var(--v-field-padding-end);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.v-label.v-field-label{transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}}.v-field--variant-underlined .v-label.v-field-label,.v-field--variant-plain .v-label.v-field-label{top:calc(var(--v-input-padding-top) + var(--v-field-padding-top))}.v-field--center-affix .v-label.v-field-label{top:50%;transform:translateY(-50%)}.v-field--active .v-label.v-field-label{visibility:hidden}.v-field--focused .v-label.v-field-label,.v-field--error .v-label.v-field-label{opacity:1}.v-field--error:not(.v-field--disabled) .v-label.v-field-label{color:rgb(var(--v-theme-error))}.v-label.v-field-label--floating{--v-field-label-scale:.75em;font-size:var(--v-field-label-scale);visibility:hidden}.v-field--variant-outlined .v-label.v-field-label--floating{max-width:100%}.v-field--center-affix .v-label.v-field-label--floating{transform:none}.v-field.v-field--active .v-label.v-field-label--floating{visibility:unset}.v-input--density-default .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-filled .v-label.v-field-label--floating{top:7px}.v-input--density-comfortable .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-filled .v-label.v-field-label--floating{top:5px}.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:3px}.v-field--variant-plain .v-label.v-field-label--floating,.v-field--variant-underlined .v-label.v-field-label--floating{top:var(--v-input-padding-top);margin:0;transform:translateY(-16px)}.v-field--variant-outlined .v-label.v-field-label--floating{transform-origin:50%;margin:0 4px;position:static;transform:translateY(-50%)}.v-field__outline{--v-field-border-width:1px;--v-field-border-opacity:.38;contain:layout;pointer-events:none;align-items:stretch;width:100%;height:100%;display:flex;position:absolute;left:0;right:0}@media (hover:hover){.v-field:hover .v-field__outline{--v-field-border-opacity:var(--v-high-emphasis-opacity)}}.v-field--error:not(.v-field--disabled) .v-field__outline{color:rgb(var(--v-theme-error))}.v-field.v-field--focused .v-field__outline,.v-input.v-input--error .v-field__outline{--v-field-border-opacity:1}.v-field--variant-outlined.v-field--focused .v-field__outline{--v-field-border-width:2px}.v-field--variant-filled .v-field__outline:before,.v-field--variant-underlined .v-field__outline:before{border-style:solid;border-color:currentColor;border-width:0 0 var(--v-field-border-width);opacity:var(--v-field-border-opacity);content:"";width:100%;height:100%;transition:opacity .25s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.v-field--variant-filled .v-field__outline:after,.v-field--variant-underlined .v-field__outline:after{content:"";border:0 solid;border-bottom-width:2px;width:100%;height:100%;transition:transform .15s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;transform:scaleX(0)}.v-field--focused.v-field--variant-filled .v-field__outline:after,.v-field--focused.v-field--variant-underlined .v-field__outline:after{transform:scaleX(1)}.v-field--variant-outlined .v-field__outline{border-radius:inherit}.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{opacity:var(--v-field-border-opacity);border:0 solid}@media (prefers-reduced-motion:no-preference){.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{transition:opacity .25s cubic-bezier(.4,0,.2,1)}}.v-field--variant-outlined .v-field__outline__start{border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-start-width:var(--v-field-border-width);border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit;flex:0 0 12px}.v-field--rounded.v-field--variant-outlined .v-field__outline__start,[class^=rounded-].v-field--variant-outlined .v-field__outline__start,[class*=\ rounded-].v-field--variant-outlined .v-field__outline__start{flex-basis:calc(var(--v-input-control-height) / 2 + 2px)}.v-field--reverse.v-field--variant-outlined .v-field__outline__start{border-inline-end-width:var(--v-field-border-width);border-inline-start-width:0;border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0}.v-field--variant-outlined .v-field__outline__notch{flex:none;max-width:calc(100% - 24px);position:relative}.v-field--rounded.v-field--variant-outlined .v-field__outline__notch,[class^=rounded-].v-field--variant-outlined .v-field__outline__notch,[class*=\ rounded-].v-field--variant-outlined .v-field__outline__notch{max-width:calc(100% - var(--v-input-control-height))}.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after{opacity:var(--v-field-border-opacity);content:"";width:100%;height:100%;position:absolute;top:0;left:0}.v-field--variant-outlined .v-field__outline__notch:before{border-width:var(--v-field-border-width) 0 0}.v-field--variant-outlined .v-field__outline__notch:after{border-width:0 0 var(--v-field-border-width);bottom:0}.v-field--active.v-field--variant-outlined .v-field__outline__notch:before{opacity:0}.v-field--variant-outlined .v-field__outline__end{border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-end-width:var(--v-field-border-width);border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0;flex:1}.v-field--reverse.v-field--variant-outlined .v-field__outline__end{border-inline-end-width:0;border-inline-start-width:var(--v-field-border-width);border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit}.v-field__loader{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;width:100%;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow:hidden}.v-field--variant-outlined .v-field__loader{width:calc(100% - 2px);top:calc(100% - 3px);left:1px}.v-field__overlay{border-radius:inherit;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.v-field--variant-filled .v-field__overlay{opacity:.04;background-color:currentColor;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled.v-field--has-background .v-field__overlay{opacity:0}@media (hover:hover){.v-field--variant-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-filled .v-field__overlay{opacity:.04;background-color:currentColor;transition:opacity .25s cubic-bezier(.4,0,.2,1)}@media (hover:hover){.v-field--variant-solo-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-inverted .v-field__overlay{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-solo-inverted.v-field--has-background .v-field__overlay{opacity:0}@media (hover:hover){.v-field--variant-solo-inverted:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-inverted.v-field--focused .v-field__overlay{background-color:rgb(var(--v-theme-surface-variant));opacity:1}.v-field--reverse .v-field__field,.v-field--reverse .v-field__input,.v-field--reverse .v-field__outline{flex-direction:row-reverse}.v-field--reverse .v-field__input,.v-field--reverse input{text-align:end}.v-input--disabled .v-field--variant-filled .v-field__outline:before,.v-input--disabled .v-field--variant-underlined .v-field__outline:before{border-image:repeating-linear-gradient(to right, color-mix(in srgb, rgb(var(--v-theme-on-surface)) calc(var(--v-disabled-opacity) * 100%), transparent) 0px, color-mix(in srgb, rgb(var(--v-theme-on-surface)) calc(var(--v-disabled-opacity) * 100%), transparent) 2px, transparent 2px, transparent 4px) 1 repeat}.v-field--loading .v-field__outline:after,.v-field--loading .v-field__outline:before{opacity:0}@media (forced-colors:active){.v-field .v-progress-linear{border:none}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Dn as isNumber,Gt as getActiveElement,Nt as clamp,Pt as convertToUnit,Q as useProxiedModel,Un as vModelText,Vt as filterInputAttrs,gt as propsFactory,it as useRender,kn as isString,kt as callEvent,nn as omit,st as genericComponent,wn as isFunction}from"./ripple-BVltMmyV.js";import{D as createVNode,Ht as watch,Ut as watchEffect,Yt as withDirectives,Zn as normalizeClass,_ as createBaseVNode,ct as onMounted,et as mergeProps,g as computed,it as onBeforeUnmount,o as Fragment,tt as nextTick,vn as ref,xn as shallowRef}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{l as forwardRefs}from"./VOverlay-CeMZurIN.js";import{g as useDisplay,i as Intersect}from"./VAvatar-DPzqDH4r.js";import{a as useAutocomplete,c as VCounter,i as makeAutocompleteProps,l as VInput,m as useFocus,o as VField,r as useAutofocus,s as makeVFieldProps,u as makeVInputProps}from"./VTextField-BR2eZeFT.js";var makeVTextareaProps=propsFactory({autoGrow:Boolean,autofocus:Boolean,counter:{type:[Boolean,Number,String],default:void 0},counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:v=>!isNaN(parseFloat(v))},maxHeight:{type:[Number,String],validator:v=>!isNaN(parseFloat(v))},maxRows:{type:[Number,String],validator:v=>!isNaN(parseFloat(v))},suffix:String,modelModifiers:Object,...makeAutocompleteProps(),...omit(makeVInputProps(),[`direction`]),...makeVFieldProps()},`VTextarea`);var VTextarea=genericComponent()({name:`VTextarea`,directives:{vIntersect:Intersect},inheritAttrs:false,props:makeVTextareaProps(),emits:{"click:control":e=>true,"mousedown:control":e=>true,"update:focused":focused=>true,"update:modelValue":val=>true,"update:rows":rows=>true},setup(props,{attrs,emit,slots}){const model=useProxiedModel(props,`modelValue`);const{isFocused,focus,blur}=useFocus(props);const{onIntersect}=useAutofocus(props);const counterValue=computed(()=>{return isFunction(props.counterValue)?props.counterValue(model.value):(model.value||``).toString().length});const max=computed(()=>{if(attrs.maxlength)return attrs.maxlength;if(!props.counter||!isNumber(props.counter)&&!isString(props.counter))return void 0;return props.counter});const vInputRef=ref();const vFieldRef=ref();const controlHeight=shallowRef(``);const textareaRef=ref();const scrollbarWidth=ref(0);const{platform}=useDisplay();const autocomplete=useAutocomplete(props);const isActive=computed(()=>props.persistentPlaceholder||isFocused.value||props.active);function onFocus(){if(autocomplete.isSuppressing.value)autocomplete.update();if(textareaRef.value!==getActiveElement())textareaRef.value?.focus();if(!isFocused.value)focus()}function onControlClick(e){onFocus();emit(`click:control`,e)}function onControlMousedown(e){emit(`mousedown:control`,e)}function onClear(e){e.stopPropagation();onFocus();nextTick(()=>{model.value=``;callEvent(props[`onClick:clear`],e)})}function onInput(e){const el=e.target;if(!props.modelModifiers?.trim){model.value=el.value;return}const value=el.value;const start=el.selectionStart;const end=el.selectionEnd;model.value=value;nextTick(()=>{let offset=0;if(value.trimStart().length===el.value.length)offset=value.length-el.value.length;if(start!=null)el.selectionStart=start-offset;if(end!=null)el.selectionEnd=end-offset})}const sizerRef=ref();const rows=ref(Number(props.rows));const isPlainOrUnderlined=computed(()=>[`plain`,`underlined`].includes(props.variant));watchEffect(()=>{if(!props.autoGrow)rows.value=Number(props.rows)});function calculateInputHeight(){nextTick(()=>{if(!textareaRef.value)return;if(platform.value.firefox){scrollbarWidth.value=12;return}const{offsetWidth,clientWidth}=textareaRef.value;scrollbarWidth.value=Math.max(0,offsetWidth-clientWidth)});if(!props.autoGrow)return;nextTick(()=>{if(!sizerRef.value||!vFieldRef.value)return;const style=getComputedStyle(sizerRef.value);const fieldStyle=getComputedStyle(vFieldRef.value.$el);const padding=parseFloat(style.getPropertyValue(`--v-field-padding-top`))+parseFloat(style.getPropertyValue(`--v-input-padding-top`))+parseFloat(style.getPropertyValue(`--v-field-padding-bottom`));const height=sizerRef.value.scrollHeight;const lineHeight=parseFloat(style.lineHeight);const minHeight=Math.max(parseFloat(props.rows)*lineHeight+padding,parseFloat(fieldStyle.getPropertyValue(`--v-input-control-height`)));const maxHeight=props.maxHeight?parseFloat(props.maxHeight):parseFloat(props.maxRows)*lineHeight+padding||Infinity;const newHeight=clamp(height??0,minHeight,maxHeight);rows.value=Math.floor((newHeight-padding)/lineHeight);controlHeight.value=convertToUnit(newHeight)})}onMounted(calculateInputHeight);watch(model,calculateInputHeight);watch(()=>props.rows,calculateInputHeight);watch(()=>props.maxHeight,calculateInputHeight);watch(()=>props.maxRows,calculateInputHeight);watch(()=>props.density,calculateInputHeight);watch(rows,val=>{emit(`update:rows`,val)});let observer;watch(sizerRef,val=>{if(val){observer=new ResizeObserver(calculateInputHeight);observer.observe(sizerRef.value)}else observer?.disconnect()});onBeforeUnmount(()=>{observer?.disconnect()});useRender(()=>{const hasCounter=!!(slots.counter||props.counter!==void 0||props.counterValue!=null);const counterActive=props.counter!==false&&props.counter!==null&&(props.persistentCounter||isFocused.value);const hasDetails=props.hideDetails!==true&&!!(slots.details||hasCounter);const detailsActive=!!(slots.details||hasCounter&&counterActive);const[rootAttrs,inputAttrs]=filterInputAttrs(attrs);const{modelValue:_,...inputProps}=VInput.filterProps(props);const fieldProps={...VField.filterProps(props),"onClick:clear":onClear};return createVNode(VInput,mergeProps({"ref":vInputRef,"modelValue":model.value,"onUpdate:modelValue":$event=>model.value=$event,"class":[`v-textarea v-text-field`,{"v-textarea--prefixed":props.prefix,"v-textarea--suffixed":props.suffix,"v-text-field--prefixed":props.prefix,"v-text-field--suffixed":props.suffix,"v-textarea--auto-grow":props.autoGrow,"v-textarea--no-resize":props.noResize||props.autoGrow,"v-input--plain-underlined":isPlainOrUnderlined.value},props.class],"style":[{"--v-textarea-max-height":props.maxHeight?convertToUnit(props.maxHeight):void 0,"--v-textarea-scroll-bar-width":convertToUnit(scrollbarWidth.value)},props.style]},rootAttrs,inputProps,{"centerAffix":rows.value===1&&!isPlainOrUnderlined.value,"focused":isFocused.value,"detailsActive":detailsActive,"indentDetails":props.indentDetails??!isPlainOrUnderlined.value}),{...slots,default:({id,isDisabled,isDirty,isReadonly,isValid,hasDetails})=>createVNode(VField,mergeProps({"ref":vFieldRef,"style":{"--v-textarea-control-height":controlHeight.value},"onClick":onControlClick,"onMousedown":onControlMousedown,"onClick:prependInner":props[`onClick:prependInner`],"onClick:appendInner":props[`onClick:appendInner`]},fieldProps,{"id":id.value,"active":isActive.value||isDirty.value,"labelId":`${id.value}-label`,"centerAffix":rows.value===1&&!isPlainOrUnderlined.value,"dirty":isDirty.value||props.dirty,"disabled":isDisabled.value,"focused":isFocused.value,"details":hasDetails.value,"error":isValid.value===false}),{...slots,default:({props:{class:fieldClass,...slotProps},controlRef})=>createBaseVNode(Fragment,null,[props.prefix&&createBaseVNode(`span`,{"class":`v-text-field__prefix`},[props.prefix]),withDirectives(createBaseVNode(`textarea`,mergeProps({"ref":val=>textareaRef.value=controlRef.value=val,"class":fieldClass,"value":model.value,"onInput":onInput,"autofocus":props.autofocus,"readonly":isReadonly.value,"disabled":isDisabled.value,"placeholder":props.placeholder,"rows":props.rows,"name":autocomplete.fieldName.value,"autocomplete":autocomplete.fieldAutocomplete.value,"onFocus":onFocus,"onBlur":blur,"aria-labelledby":`${id.value}-label`},slotProps,inputAttrs),null),[[Intersect,{handler:onIntersect},null,{once:true}]]),props.autoGrow&&withDirectives(createBaseVNode(`textarea`,{"class":normalizeClass([fieldClass,`v-textarea__sizer`]),"id":`${slotProps.id}-sizer`,"onUpdate:modelValue":$event=>model.value=$event,"ref":sizerRef,"readonly":true,"aria-hidden":`true`},null),[[vModelText,model.value]]),props.suffix&&createBaseVNode(`span`,{"class":`v-text-field__suffix`},[props.suffix])])}),details:hasDetails?slotProps=>createBaseVNode(Fragment,null,[slots.details?.(slotProps),hasCounter&&createBaseVNode(Fragment,null,[createBaseVNode(`span`,null,null),createVNode(VCounter,{"active":counterActive,"value":counterValue.value,"max":max.value,"disabled":props.disabled},slots.counter)])]):void 0})});return forwardRefs({},vInputRef,vFieldRef,textareaRef)}});export{VTextarea as t};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{Gn as withKeys,Kn as withModifiers,q as useTheme}from"./ripple-BVltMmyV.js";import{D as createVNode,E as createTextVNode,Ht as watch,J as inject,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,et as mergeProps,g as computed,it as onBeforeUnmount,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,tt as nextTick,v as createBlock,vn as ref,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{g as useDisplay}from"./VAvatar-DPzqDH4r.js";import{n as VList,s as VListItem,t as VMenu}from"./VMenu-C_x18lwb.js";import{t as useVibe64Learning}from"./useVibe64Learning-DyqXkpLw.js";import{t as VTextField}from"./VTextField-BR2eZeFT.js";import{o as VIBE64_COLLEAGUE_LAUNCHER_KEY}from"./vibe64AssistantHost-CP6oxv5b.js";import{Gn as mdiRobotOutline,Rt as mdiGithub,S as mdiAutoFix,Tn as mdiMonitor,Tr as mdiWeatherSunny,U as mdiClose,n as mdiAccountCogOutline,o as mdiAccountOutline,wr as mdiWeatherNight}from"./mdi-CG9pWOSj.js";import{i as VBtnToggle,t as VBtn}from"./VBtn-B2MBK2DL.js";import{t as VDivider}from"./VDivider-BMEqUoAB.js";import{t as VDialog}from"./VDialog-Bu3EfKb1.js";import{i as VCardTitle,n as VCardText,t as VCard}from"./VCard-mXy0k4aS.js";import{t as VSpacer}from"./VSpacer-Dhmsvk4t.js";import{c as aiOnboardingNeeded,d as AiSetup_default,l as onVibe64AiOnboardingRequested,m as ProviderAccountsSetup_default,n as accountRowsForStatus,o as aiOnboardingAvailable,p as useVibe64Accounts,r as AiOnboardingSetUpPill_default,s as aiOnboardingBlocked,u as requestVibe64AiOnboarding}from"./client-BWV84wi2.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{Kt as VTabs,Xt as VContainer,Yt as VMain,b as onVibe64AccountConnectionsDialogRequested,en as VAppBar,n as writeAppearance,o as _sfc_main$4,qt as VTab,t as readAppearance}from"./index-dNxr4Lg9.js";var _sfc_main$3={__name:`Vibe64ColleagueLauncherTarget`,setup(__props){const target=inject(VIBE64_COLLEAGUE_LAUNCHER_KEY,null);const enabled=Boolean(target);let currentElement;function setTarget(element){if(element)target.value=element;else if(target.value===currentElement)target.value=null;currentElement=element}return(_ctx,_cache)=>{return unref(enabled)?(openBlock(),createElementBlock(`div`,{key:0,ref:setTarget,class:`vibe64-colleague-launcher-target`},null,512)):createCommentVNode(``,true)}}};var Vibe64ColleagueLauncherTarget_default=_plugin_vue_export_helper_default(_sfc_main$3,[[`__scopeId`,`data-v-8e7b0e92`]]);var _sfc_main$2=Object.assign({inheritAttrs:false},{__name:`Vibe64LearningButton`,setup(__props){const learning=useVibe64Learning();const available=computed(()=>Boolean(learning?.state.actorKey));const learn=computed(()=>Boolean(learning?.learnMode));const switching=computed(()=>learning?.state.modeBusy===`set`);const title=computed(()=>learn.value?`Back to Develop (your projects)`:`Switch to Learn`);return(_ctx,_cache)=>{return available.value?(openBlock(),createBlock(VBtn,mergeProps({key:0},_ctx.$attrs,{class:[`vibe64-learning-button`,{"vibe64-learning-button--active":learn.value}],"aria-label":`Learn mode`,"aria-pressed":learn.value,title:title.value,"data-vibe64-guide":`learning`,density:`comfortable`,icon:``,size:`small`,disabled:switching.value,variant:learn.value?`flat`:`outlined`,onClick:_cache[0]||(_cache[0]=$event=>unref(learning).toggleMode())}),{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createBaseVNode(`span`,{"aria-hidden":`true`},`L`,-1)])]),_:1},16,[`class`,`aria-pressed`,`title`,`disabled`,`variant`])):createCommentVNode(``,true)}}});var Vibe64LearningButton_default=_plugin_vue_export_helper_default(_sfc_main$2,[[`__scopeId`,`data-v-b7f22fcd`]]);var _hoisted_1$1={class:`studio-app-shell-layout__top-right`};var SWIPE_MIN_DISTANCE_PX=64;var SWIPE_INTENT_DISTANCE_PX=12;var SWIPE_MAX_DURATION_MS=700;var SWIPE_HORIZONTAL_RATIO=2;var BROWSER_GESTURE_EDGE_PX=24;var _sfc_main$1={__name:`StudioAppShellLayout`,props:{mobilePaneSwipeEnabled:Boolean,chatCollapsed:Boolean,fillViewport:Boolean},emits:[`update:chatCollapsed`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;let paneSwipe=null;watch(()=>[props.mobilePaneSwipeEnabled,props.chatCollapsed],cancelPaneSwipe);function cancelPaneSwipe(){paneSwipe=null}function startPaneSwipe(event,header=false){cancelPaneSwipe();if(!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length!==1||window.getSelection()?.isCollapsed===false)return;const target=event.target;if(target.closest(`
|
|
2
|
-
input, textarea, select, [contenteditable]:not([contenteditable="false"]),
|
|
3
|
-
[role="textbox"], [role="slider"], [role="separator"], [role="dialog"], [role="menu"],
|
|
4
|
-
[draggable="true"], canvas, iframe, video, audio, .cm-editor, .xterm, [data-pane-swipe-ignore]
|
|
5
|
-
`))return;if(!header&&target.closest(`a, button, [role="button"], svg`))return;for(let node=target;node;node=node.parentElement){const style=window.getComputedStyle(node);if(style.touchAction===`none`||style.touchAction.startsWith(`pan-`))return;if(node.scrollWidth>node.clientWidth+1&&/^(auto|scroll)$/u.test(style.overflowX))return;if(node===event.currentTarget)break}const touch=event.touches[0];if(touch.clientX<BROWSER_GESTURE_EDGE_PX||touch.clientX>window.innerWidth-BROWSER_GESTURE_EDGE_PX)return;paneSwipe={id:touch.identifier,x:touch.clientX,y:touch.clientY,startedAt:event.timeStamp,chatCollapsed:props.chatCollapsed}}function movePaneSwipe(event){if(!paneSwipe)return;if(!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length!==1||event.timeStamp-paneSwipe.startedAt>SWIPE_MAX_DURATION_MS){cancelPaneSwipe();return}const touch=event.touches[0];const horizontalDistance=Math.abs(touch.clientX-paneSwipe.x);const verticalDistance=Math.abs(touch.clientY-paneSwipe.y);if(touch.identifier!==paneSwipe.id||verticalDistance>SWIPE_INTENT_DISTANCE_PX&&horizontalDistance<verticalDistance*SWIPE_HORIZONTAL_RATIO){cancelPaneSwipe();return}if(!(horizontalDistance>SWIPE_INTENT_DISTANCE_PX&&horizontalDistance>=verticalDistance*SWIPE_HORIZONTAL_RATIO))return;if(!event.cancelable){cancelPaneSwipe();return}event.preventDefault()}function endPaneSwipe(event){const swipe=paneSwipe;cancelPaneSwipe();if(!swipe||!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length||props.chatCollapsed!==swipe.chatCollapsed||event.timeStamp-swipe.startedAt>SWIPE_MAX_DURATION_MS||window.getSelection()?.isCollapsed===false)return;const touch=Array.from(event.changedTouches).find(item=>item.identifier===swipe.id);if(!touch)return;const dx=touch.clientX-swipe.x;const horizontalDistance=Math.abs(dx);const verticalDistance=Math.abs(touch.clientY-swipe.y);if(horizontalDistance<SWIPE_MIN_DISTANCE_PX||horizontalDistance<verticalDistance*SWIPE_HORIZONTAL_RATIO)return;if(event.cancelable)event.preventDefault();emit(`update:chatCollapsed`,dx<0)}return(_ctx,_cache)=>{return openBlock(),createElementBlock(Fragment,null,[createVNode(VAppBar,{border:``,class:`shell-layout__app-bar bg-surface`,density:`comfortable`,elevation:`0`,"data-testid":`jskit-shell-app-bar`,onTouchstartPassive:_cache[0]||(_cache[0]=$event=>startPaneSwipe($event,true)),onTouchmove:movePaneSwipe,onTouchend:endPaneSwipe,onTouchcancel:cancelPaneSwipe},{default:withCtx(()=>[createVNode(Vibe64LearningButton_default,{class:`studio-app-shell-layout__learning-plate`}),renderSlot(_ctx.$slots,`top-left`,{},void 0,true),createVNode(VSpacer),createBaseVNode(`div`,_hoisted_1$1,[createVNode(unref(_sfc_main$4),{target:`shell-layout:top-right`}),renderSlot(_ctx.$slots,`top-right`,{},void 0,true),createVNode(Vibe64ColleagueLauncherTarget_default)])]),_:3}),createVNode(VMain,{class:normalizeClass([`bg-background`,{"studio-app-shell-layout--fill-viewport":__props.fillViewport}])},{default:withCtx(()=>[createVNode(VContainer,{fluid:``,class:normalizeClass([`shell-layout__content studio-app-shell-layout__content`,{"studio-app-shell-layout__content--fill-viewport":__props.fillViewport}]),onTouchstartPassive:startPaneSwipe,onTouchmove:movePaneSwipe,onTouchend:endPaneSwipe,onTouchcancel:cancelPaneSwipe},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,true)]),_:3},8,[`class`])]),_:3},8,[`class`])],64)}}};var StudioAppShellLayout_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-9bb3215c`]]);var VIBE64_PREFERRED_NAME_MAX_LENGTH=80;function normalizePreferredNameDraft(value=``){return String(value||``).normalize(`NFC`).replace(/\s+/gu,` `).trim()}function preferredNameDraftState(value=``){const preferredName=normalizePreferredNameDraft(value);const length=[...preferredName].length;let error=``;if(/\p{Cc}/u.test(preferredName))error=`Name cannot contain control characters.`;else if(length>80)error=`Name cannot exceed ${80} characters.`;return{error,length,preferredName,valid:!error}}var _hoisted_1={key:0,class:`vibe64-auth-settings__provider-attention`,"aria-label":`Needs attention`};var _hoisted_2={key:0,class:`vibe64-personal-profile`,"aria-labelledby":`vibe64-personal-profile-title`};var _hoisted_3={class:`vibe64-personal-profile__actions`};var _sfc_main={__name:`Vibe64AuthSettingsButton`,setup(__props){const accountProviderOptions=Object.freeze([{icon:mdiRobotOutline,id:`ai`,label:`AI Accounts`},{icon:mdiGithub,id:`github`,label:`GitHub`}]);const providerOptions=computed(()=>[...personalProfileAvailable.value?[{icon:mdiAccountOutline,id:`profile`,label:`You`}]:[],...accountProviderOptions]);const dialogOpen=ref(false);const root=ref(null);const theme=useTheme();const{smAndDown,xs}=useDisplay();const appearance=ref(readAppearance());const appearanceChoices=Object.freeze([{icon:mdiWeatherSunny,label:`Light`,value:`light`},{icon:mdiWeatherNight,label:`Dark`,value:`dark`},{icon:mdiMonitor,label:`System`,value:`system`}]);function chooseAppearance(value){if(!value)return;appearance.value=value;theme.change(value);writeAppearance(value)}const selectedProviderId=ref(`ai`);const aiSetup=ref(null);const aiConnectionsBusy=ref(false);const accounts=useVibe64Accounts();const preferredNameField=ref(null);const preferredNameDraft=ref(``);const preferredNameSaving=computed(()=>accounts.savePersonalAiProfileCommand.isRunning===true);const personalProfile=computed(()=>accounts.status.value?.personalProfile||null);const personalProfileAvailable=computed(()=>personalProfile.value?.available===true);const preferredNameValidation=computed(()=>preferredNameDraftState(preferredNameDraft.value));const preferredNameChanged=computed(()=>preferredNameValidation.value.preferredName!==String(personalProfile.value?.preferredName||``));const statusLoaded=computed(()=>{return Boolean(accounts.status.value&&Array.isArray(accounts.status.value.accounts))});const allAccountRows=computed(()=>{return accountRowsForStatus(accounts.status.value,[`github`],{includeFallbackRows:false})});const selectedAccountRows=computed(()=>{return accountRowsForStatus(accounts.status.value,[selectedProviderId.value],{includeFallbackRows:true})});const selectedProvider=computed(()=>{return providerOptions.value.find(provider=>provider.id===selectedProviderId.value)||providerOptions.value[0]});const selectedProviderTitle=computed(()=>{return`${selectedProvider.value.label} Connection`});const selectedProviderLede=computed(()=>{if(selectedProvider.value.id===`github`)return`Configure the GitHub account and Git identity used by this local Vibe64 editor.`;return`Connect the AI accounts used by this Vibe64 editor.`});const credentialsNeedAttention=computed(()=>{if(!statusLoaded.value||aiOnboardingNeeded.value)return false;return allAccountRows.value.some(account=>account.connected!==true)});function normalizeProviderId(providerId=``){const normalized=String(providerId||``).trim();return providerOptions.value.some(provider=>provider.id===normalized)?normalized:``}async function openDialog(options={}){const profileRequested=String(options.section||``).trim()===`profile`;const requestedAi=options.codexReconnectRequired===true?`codex`:String(options.providerId||``).trim();const requestedProviderId=normalizeProviderId(requestedAi)||(requestedAi?`ai`:``);if(requestedProviderId)selectedProviderId.value=requestedProviderId;dialogOpen.value=true;if(profileRequested)await accounts.reloadLocalStatus();else if(options.codexReconnectRequired===true)await accounts.reloadLocalStatus();else if(options.refresh!==false)await accounts.refresh();if(profileRequested&&personalProfileAvailable.value){selectedProviderId.value=`profile`;await focusPreferredName();return}if(requestedProviderId){selectedProviderId.value=requestedProviderId;await nextTick();if(requestedProviderId===`ai`&&requestedAi!==`ai`)aiSetup.value?.openProvider(requestedAi,options);return}selectedProviderId.value=`ai`}async function focusPreferredName(){await nextTick();preferredNameField.value?.focus?.()}async function savePreferredName(){if(preferredNameSaving.value||!preferredNameChanged.value||!preferredNameValidation.value.valid)return;await accounts.savePersonalAiProfile({preferredName:preferredNameValidation.value.preferredName})}function providerNeedsAttention(providerId=``){return allAccountRows.value.some(account=>account.id===providerId&&account.connected!==true)}function handleAccountConnectionsDialogRequest(event){openDialog(event?.detail||{})}function activatorElement(){return root.value?.querySelector(`.vibe64-auth-settings__button`)||null}function redoOnboarding(){requestVibe64AiOnboarding({start:`choose`,redo:true,returnFocus:activatorElement()})}function handleAiOnboardingRequest(event){if(!dialogOpen.value)return;dialogOpen.value=false;if(event?.detail&&!event.detail.returnFocus)event.detail.returnFocus=activatorElement()}let disposeAccountConnectionsDialogRequest=()=>null;let disposeAiOnboardingRequest=()=>null;onMounted(()=>{disposeAccountConnectionsDialogRequest=onVibe64AccountConnectionsDialogRequested(handleAccountConnectionsDialogRequest);disposeAiOnboardingRequest=onVibe64AiOnboardingRequested(handleAiOnboardingRequest)});onBeforeUnmount(()=>{disposeAccountConnectionsDialogRequest();disposeAiOnboardingRequest();aiOnboardingBlocked.value=false});watch(()=>dialogOpen.value&&aiConnectionsBusy.value,blocked=>{aiOnboardingBlocked.value=blocked});watch(()=>personalProfile.value?.preferredName,preferredName=>{preferredNameDraft.value=String(preferredName||``)},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`div`,{ref_key:`root`,ref:root,class:`vibe64-auth-settings`},[createVNode(unref(AiOnboardingSetUpPill_default)),createVNode(VMenu,{location:`bottom end`},{activator:withCtx(({props:menuProps})=>[createVNode(VBtn,mergeProps(menuProps,{class:[`vibe64-auth-settings__button`,credentialsNeedAttention.value?`vibe64-auth-settings__button--needs-attention`:``],density:`comfortable`,icon:unref(mdiAccountCogOutline),size:`large`,title:`Account`,type:`button`,variant:`tonal`,"aria-label":`Account menu`}),null,16,[`class`,`icon`])]),default:withCtx(()=>[createVNode(VList,{class:`vibe64-auth-settings__menu`,density:`comfortable`},{default:withCtx(()=>[createVNode(VListItem,{"prepend-icon":unref(mdiAccountCogOutline),title:`Account settings`,onClick:_cache[0]||(_cache[0]=$event=>openDialog())},null,8,[`prepend-icon`]),unref(aiOnboardingAvailable)?(openBlock(),createBlock(VListItem,{key:0,"prepend-icon":unref(mdiAutoFix),subtitle:`Choose or switch your AI`,title:`Redo onboarding`,onClick:redoOnboarding},null,8,[`prepend-icon`])):createCommentVNode(``,true)]),_:1})]),_:1}),createVNode(VDialog,{modelValue:dialogOpen.value,"onUpdate:modelValue":_cache[5]||(_cache[5]=$event=>dialogOpen.value=$event),fullscreen:unref(smAndDown),persistent:aiConnectionsBusy.value,"max-width":`1120`,scrollable:``},{default:withCtx(()=>[createVNode(VCard,{class:normalizeClass([`vibe64-auth-settings__dialog`,{"vibe64-auth-settings__dialog--fullscreen":unref(smAndDown)}]),rounded:unref(smAndDown)?0:`lg`},{default:withCtx(()=>[createVNode(VCardTitle,{class:`vibe64-auth-settings__dialog-title`},{default:withCtx(()=>[_cache[6]||(_cache[6]=createBaseVNode(`div`,null,[createBaseVNode(`h2`,null,`Account settings`),createBaseVNode(`p`,null,`Choose how Vibe64 identifies you and connect its coding tools.`)],-1)),createVNode(VBtn,{density:`comfortable`,icon:unref(mdiClose),title:`Close account settings`,disabled:aiConnectionsBusy.value,type:`button`,variant:`text`,"aria-label":`Close account settings`,onClick:_cache[1]||(_cache[1]=$event=>dialogOpen.value=false)},null,8,[`icon`,`disabled`])]),_:1}),createVNode(VTabs,{modelValue:selectedProviderId.value,"onUpdate:modelValue":_cache[2]||(_cache[2]=$event=>selectedProviderId.value=$event),class:`vibe64-auth-settings__provider-tabs`,color:`primary`,density:`comfortable`,grow:unref(xs),"show-arrows":!unref(xs),stacked:unref(xs)},{default:withCtx(()=>[(openBlock(true),createElementBlock(Fragment,null,renderList(providerOptions.value,provider=>{return openBlock(),createBlock(VTab,{key:provider.id,class:`vibe64-auth-settings__provider-tab`,"prepend-icon":provider.icon,value:provider.id,disabled:aiConnectionsBusy.value},{default:withCtx(()=>[createTextVNode(toDisplayString(provider.label)+` `,1),providerNeedsAttention(provider.id)?(openBlock(),createElementBlock(`span`,_hoisted_1)):createCommentVNode(``,true)]),_:2},1032,[`prepend-icon`,`value`,`disabled`])}),128))]),_:1},8,[`modelValue`,`grow`,`show-arrows`,`stacked`]),createVNode(VDivider),createVNode(VCardText,{class:`vibe64-auth-settings__dialog-body`},{default:withCtx(()=>[selectedProviderId.value===`profile`?(openBlock(),createElementBlock(`section`,_hoisted_2,[_cache[7]||(_cache[7]=createBaseVNode(`div`,{class:`vibe64-personal-profile__heading`},[createBaseVNode(`h3`,{id:`vibe64-personal-profile-title`},`Your profile`),createBaseVNode(`p`,null,`You — all projects`)],-1)),createVNode(VTextField,{ref_key:`preferredNameField`,ref:preferredNameField,modelValue:preferredNameDraft.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>preferredNameDraft.value=$event),"data-vibe64-personal-profile":``,density:`comfortable`,"error-messages":preferredNameValidation.value.error?[preferredNameValidation.value.error]:[],"hide-details":`auto`,label:`What should Vibe64 call you?`,variant:`outlined`,onKeydown:withKeys(withModifiers(savePreferredName,[`prevent`]),[`enter`])},null,8,[`modelValue`,`error-messages`,`onKeydown`]),_cache[8]||(_cache[8]=createBaseVNode(`p`,{class:`vibe64-personal-profile__supporting-text`},` This name is used in Vibe64 welcomes and collaboration cues across this installation. Leave it blank to use your computer account name. `,-1)),createBaseVNode(`div`,_hoisted_3,[createVNode(VBtn,{class:`vibe64-personal-profile__save`,color:`primary`,disabled:preferredNameSaving.value||!preferredNameChanged.value||!preferredNameValidation.value.valid,type:`button`,variant:`flat`,onClick:savePreferredName},{default:withCtx(()=>[createTextVNode(toDisplayString(preferredNameSaving.value?`Saving…`:`Save name`),1)]),_:1},8,[`disabled`])]),_cache[9]||(_cache[9]=createBaseVNode(`div`,{class:`vibe64-personal-profile__heading vibe64-personal-profile__appearance`},[createBaseVNode(`h3`,{id:`vibe64-appearance-title`},`Appearance`),createBaseVNode(`p`,null,`This browser`)],-1)),createVNode(VBtnToggle,{"model-value":appearance.value,"aria-labelledby":`vibe64-appearance-title`,class:`vibe64-personal-profile__appearance-choice`,color:`primary`,"data-vibe64-appearance":``,density:`comfortable`,divided:``,mandatory:``,rounded:`xl`,variant:`outlined`,"onUpdate:modelValue":chooseAppearance},{default:withCtx(()=>[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(appearanceChoices),choice=>{return openBlock(),createBlock(VBtn,{key:choice.value,"prepend-icon":choice.icon,value:choice.value},{default:withCtx(()=>[createTextVNode(toDisplayString(choice.label),1)]),_:2},1032,[`prepend-icon`,`value`])}),128))]),_:1},8,[`model-value`]),_cache[10]||(_cache[10]=createBaseVNode(`p`,{class:`vibe64-personal-profile__supporting-text`},` System follows your device's light or dark setting. `,-1))])):createCommentVNode(``,true),selectedProviderId.value===`ai`?(openBlock(),createBlock(unref(AiSetup_default),{key:1,ref_key:`aiSetup`,ref:aiSetup,inline:``,"can-configure":``,onBusy:_cache[4]||(_cache[4]=$event=>aiConnectionsBusy.value=$event)},null,512)):createCommentVNode(``,true),selectedProviderId.value===`github`?(openBlock(),createBlock(unref(ProviderAccountsSetup_default),{key:2,accounts:unref(accounts),"account-rows":selectedAccountRows.value,"status-loaded":statusLoaded.value,title:selectedProviderTitle.value,lede:selectedProviderLede.value,"needed-label":`Connection needed`,"ready-label":`Connection ready`,"show-continue":false},null,8,[`accounts`,`account-rows`,`status-loaded`,`title`,`lede`])):createCommentVNode(``,true)]),_:1})]),_:1},8,[`class`,`rounded`])]),_:1},8,[`modelValue`,`fullscreen`,`persistent`])],512)}}};var Vibe64AuthSettingsButton_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-06491fb3`]]);export{StudioAppShellLayout_default as n,Vibe64AuthSettingsButton_default as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.vibe64-dashboard-page-header[data-v-df7b9696]{animation:vibe64-dashboard-page-header-enter-df7b9696 var(--v64-duration-medium,.3s) var(--v64-ease-emphasized-decelerate,ease-out) both;align-items:center;gap:var(--v64-space-3,12px) var(--v64-space-4,16px);min-width:0;padding:var(--v64-space-1,4px) 0 var(--v64-space-2,8px);display:flex}.vibe64-dashboard-page-header__icon[data-v-df7b9696]{background:linear-gradient(145deg, color-mix(in srgb, var(--v64-surface) 55%, transparent), transparent 60%), var(--v64-primary-container);border-radius:var(--v64-shape-md,12px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--v64-primary) 16%, transparent);color:var(--v64-primary);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.vibe64-dashboard-page-header__copy[data-v-df7b9696]{flex:auto;gap:2px;min-width:0;display:grid}.vibe64-dashboard-page-header__title-row[data-v-df7b9696]{align-items:center;gap:var(--v64-space-2,8px);flex-wrap:wrap;min-width:0;display:flex}.vibe64-dashboard-page-header__title[data-v-df7b9696],.vibe64-dashboard-page-header__title-row h1[data-v-df7b9696-s]{color:var(--v64-on-surface);font:var(--v64-type-headline-sm,600 1.5rem/2rem system-ui, sans-serif);letter-spacing:0;margin:0}.vibe64-dashboard-page-header__description[data-v-df7b9696]{color:var(--v64-on-surface-variant);font:var(--v64-type-body-md,400 .875rem/1.25rem system-ui, sans-serif);margin:0}.vibe64-dashboard-page-header__actions[data-v-df7b9696]{align-items:center;gap:var(--v64-space-2,8px);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}@keyframes vibe64-dashboard-page-header-enter-df7b9696{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.vibe64-dashboard-page-header[data-v-df7b9696]{animation:none}}@media (width<=600px){.vibe64-dashboard-page-header[data-v-df7b9696]{flex-wrap:wrap;align-items:flex-start}.vibe64-dashboard-page-header__icon[data-v-df7b9696]{width:40px;height:40px}.vibe64-dashboard-page-header__copy[data-v-df7b9696]{flex-basis:calc(100% - 56px)}.vibe64-dashboard-page-header__actions[data-v-df7b9696]{justify-content:flex-start;width:100%}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D as createVNode,Lt as useSlots,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,g as computed,gt as provide,it as onBeforeUnmount,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{t as useEndpointResource}from"./useEndpointResource-DWoQ2keu.js";import{_ as useRouter,g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{c as projectSlugFromRoute,o as projectAppPath}from"./useRealtimeEvent-Bwapstla.js";import{t as VSelect}from"./VSelect-DL3HaA5m.js";import{n as VList,s as VListItem}from"./VMenu-C_x18lwb.js";import{r as scopedDevelopmentApiUrl}from"./studioUrls-DmMMIScP.js";import{t as VSheet}from"./VSheet-DZWsu0kL.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{a as VIBE64_ACTIVE_SESSION_NAV_KEY,o as _sfc_main$2}from"./index-dNxr4Lg9.js";import{t as getPlacements}from"./placement-BF-zIEhA.js";function normalizeRoutePath(pathValue=``){const path=String(pathValue||``).trim();if(!path||path===`/`)return path||`/`;return path.replace(/\/+$/u,``)}function routePathContainsSection(routePathValue=``,sectionPathValue=``){const routePath=normalizeRoutePath(routePathValue);const sectionPath=normalizeRoutePath(sectionPathValue);return Boolean(sectionPath&§ionPath!==`/`&&(routePath===sectionPath||routePath.startsWith(`${sectionPath}/`)))}var _hoisted_1$1={key:0,class:`section-container-shell__heading`};var _hoisted_2={key:0,class:`section-container-shell__title`};var _hoisted_3={key:1,class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_4={class:`section-container-shell__body`};var _hoisted_5=[`data-vibe64-guide-pane`];var _hoisted_6={class:`section-container-shell__content`};var MOBILE_SECTION_MEDIA_QUERY=`(max-width: 760px)`;var _sfc_main$1={__name:`SectionContainerShell`,props:{navigationCollapsed:{type:Boolean,default:false},navigationGuidePane:{type:String,default:``},title:{type:String,default:``},subtitle:{type:String,default:``},mobileSectionLinks:{type:Array,default:()=>[]}},setup(__props){const props=__props;const slots=useSlots();const route=useRoute();const router=useRouter();const mobileSectionLayout=ref(initialMobileSectionLayout());let mobileSectionMediaQuery=null;const resolvedTitle=computed(()=>String(props.title||``).trim());const resolvedSubtitle=computed(()=>String(props.subtitle||``).trim());const hasHeading=computed(()=>Boolean(resolvedTitle.value||resolvedSubtitle.value));const hasTabs=computed(()=>Boolean(slots.tabs));const mobileSectionLinks=computed(()=>{return props.mobileSectionLinks.map(link=>({disabled:link?.disabled===true,icon:String(link?.icon||``),id:String(link?.id||link?.to||link?.label||``),label:String(link?.label||``),to:normalizeRoutePath(link?.to||``)})).filter(link=>Boolean(link.id&&link.label&&link.to))});const mobileSectionsActive=computed(()=>Boolean(mobileSectionLayout.value&&mobileSectionLinks.value.length));const activeMobileSection=computed(()=>{return mobileSectionLinks.value.find(link=>routePathContainsSection(route.path||``,link.to))||null});const activeMobileSectionValue=computed(()=>activeMobileSection.value?.to||null);function initialMobileSectionLayout(){if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return false;return window.matchMedia(MOBILE_SECTION_MEDIA_QUERY).matches}function syncMobileSectionLayout(){mobileSectionLayout.value=Boolean(mobileSectionMediaQuery?.matches)}function selectMobileSection(value=``){const targetPath=normalizeRoutePath(value||``);if(!targetPath||targetPath===activeMobileSectionValue.value)return;const targetLink=mobileSectionLinks.value.find(link=>link.to===targetPath);if(!targetLink||targetLink.disabled)return;router.push(targetLink.to)}onMounted(()=>{if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return;mobileSectionMediaQuery=window.matchMedia(MOBILE_SECTION_MEDIA_QUERY);syncMobileSectionLayout();if(typeof mobileSectionMediaQuery.addEventListener===`function`)mobileSectionMediaQuery.addEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery.addListener?.(syncMobileSectionLayout)});onBeforeUnmount(()=>{if(typeof mobileSectionMediaQuery?.removeEventListener===`function`)mobileSectionMediaQuery.removeEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery?.removeListener?.(syncMobileSectionLayout);mobileSectionMediaQuery=null});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,{class:normalizeClass([`section-container-shell`,{"section-container-shell--with-heading":hasHeading.value,"section-container-shell--collapsed":__props.navigationCollapsed}])},[hasHeading.value?(openBlock(),createElementBlock(`header`,_hoisted_1$1,[resolvedTitle.value?(openBlock(),createElementBlock(`h1`,_hoisted_2,toDisplayString(resolvedTitle.value),1)):createCommentVNode(``,true),resolvedSubtitle.value?(openBlock(),createElementBlock(`p`,_hoisted_3,toDisplayString(resolvedSubtitle.value),1)):createCommentVNode(``,true)])):createCommentVNode(``,true),createVNode(VSheet,{rounded:__props.navigationCollapsed?0:`xl`,border:!__props.navigationCollapsed,class:`section-container-shell__panel`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_4,[mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createBlock(VSelect,{key:0,class:`section-container-shell__mobile-select`,"data-vibe64-guide-pane":__props.navigationGuidePane||void 0,"model-value":activeMobileSectionValue.value,items:mobileSectionLinks.value,"item-title":`label`,"item-value":`to`,"item-props":item=>({disabled:item.disabled,prependIcon:item.icon||void 0}),"prepend-inner-icon":activeMobileSection.value?.icon||void 0,label:`Dashboard section`,rounded:`lg`,variant:`outlined`,"hide-details":``,"onUpdate:modelValue":selectMobileSection},null,8,[`data-vibe64-guide-pane`,`model-value`,`items`,`item-props`,`prepend-inner-icon`])):createCommentVNode(``,true),hasTabs.value&&!mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createElementBlock(`nav`,{key:1,class:`section-container-shell__nav`,"data-vibe64-guide-pane":__props.navigationGuidePane||void 0,"aria-label":`Dashboard sections`},[createVNode(VList,{nav:``,"bg-color":`transparent`,density:`compact`},{default:withCtx(()=>[renderSlot(_ctx.$slots,`tabs`,{},void 0,true)]),_:3})],8,_hoisted_5)):createCommentVNode(``,true),createBaseVNode(`main`,_hoisted_6,[renderSlot(_ctx.$slots,`default`,{},void 0,true)])])]),_:3},8,[`rounded`,`border`])],2)}}};var SectionContainerShell_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-25df3993`]]);function useVibe64DashboardPage({dashboardContext=null}={}){const route=useRoute();const projectSlug=computed(()=>projectSlugFromRoute(route));const projectBasePath=computed(()=>projectAppPath(projectSlug.value));return{dashboardSectionLinks:computed(()=>getPlacements().filter(placement=>placement?.kind===`link`&&placement?.owner===`app-dashboard`&&placement?.target===`page.section-nav`&&dashboardPlacementVisible(placement,dashboardContext)).sort((left,right)=>Number(left?.order||0)-Number(right?.order||0)).map(placement=>({disabled:placement?.props?.disabled===true,icon:placement?.props?.icon||``,id:placement?.id||``,label:placement?.props?.label||``,to:`${projectBasePath.value}${dashboardSectionSuffix(placement)}`})))}}function dashboardPlacementVisible(placement={},dashboardContext=null){const predicate=placement?.props?.visibleWhen;if(typeof predicate!==`function`)return true;const context=typeof dashboardContext===`function`?dashboardContext():dashboardContext?.value??dashboardContext;return predicate(context&&typeof context===`object`?context:{})===true}function activeSessionMobileSectionLinks(activeSessionNav=null){if(!activeSessionNav?.visible||!Array.isArray(activeSessionNav.tools))return[];return activeSessionNav.tools.map(tool=>({disabled:tool?.disabled===true,icon:String(tool?.icon||``),id:`active-session:${String(tool?.id||tool?.to||tool?.label||``)}`,label:String(tool?.label||``),to:String(tool?.to||``)})).filter(tool=>Boolean(tool.id!==`active-session:`&&tool.label&&tool.to))}function dashboardSectionSuffix(placement={}){const suffix=String(placement?.props?.scopedSuffix||placement?.props?.unscopedSuffix||``).trim();if(!suffix)return``;const projectRelativeSuffix=suffix.replace(/^\/+/u,``).replace(/^project\/\[slug\](?=\/|$)/u,``).replace(/^\[slug\](?=\/|$)/u,``).replace(/^\/+/u,``);return projectRelativeSuffix?`/${projectRelativeSuffix}`:``}var _hoisted_1={key:0,class:`vibe64-dashboard-nav-group-label`};var _sfc_main={__name:`Vibe64DashboardShell`,props:{dashboardContext:{default:()=>({}),type:Object},noProject:Boolean,section:{default:``,type:String}},emits:[`select`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const route=useRoute();const incomingPath=computed(()=>scopedDevelopmentApiUrl(`/api/vibe64/incoming`,projectSlugFromRoute(route)));const incomingQuery=computed(()=>({sessionId:props.dashboardContext.sessionId,state:`pending`,limit:1}));const incoming=useEndpointResource({path:incomingPath,readQuery:incomingQuery,queryKey:computed(()=>[`vibe64.incoming`,incomingPath.value,`badge`,incomingQuery.value]),enabled:computed(()=>props.dashboardContext.active!==false&&Boolean(props.dashboardContext.sessionId)&&props.dashboardContext.projectContext?.repositoryMode===`github`),queryOptions:{retry:false,staleTime:3e4,refetchInterval:6e4}});const incomingCount=computed(()=>incoming.loadError.value?null:incoming.data.value?.pendingCount??null);provide(`vibe64.incoming.pendingCount`,incomingCount);const githubBrowserOpen=computed(()=>/\/dashboard\/(issues|pull-requests)\/?$/u.test(route.path));const{dashboardSectionLinks}=useVibe64DashboardPage({dashboardContext:()=>props.dashboardContext});const activeSessionNav=computed(()=>{const nav=props.dashboardContext?.activeSessionNav||null;return nav&&typeof nav===`object`?nav:null});const mobileDashboardSectionLinks=computed(()=>props.noProject?[]:[...dashboardSectionLinks.value.map(link=>link.id===`vibe64.incoming.link`&&incomingCount.value>0?{...link,label:`${link.label} (${incomingCount.value})`}:link),...activeSessionMobileSectionLinks(activeSessionNav.value)]);provide(VIBE64_ACTIVE_SESSION_NAV_KEY,activeSessionNav);return(_ctx,_cache)=>{return openBlock(),createBlock(SectionContainerShell_default,{"mobile-section-links":mobileDashboardSectionLinks.value,"navigation-collapsed":githubBrowserOpen.value,"navigation-guide-pane":`dashboard`},{tabs:withCtx(()=>[unref(dashboardSectionLinks).length?(openBlock(),createElementBlock(`span`,_hoisted_1,`Project`)):createCommentVNode(``,true),__props.noProject?(openBlock(true),createElementBlock(Fragment,{key:1},renderList(unref(dashboardSectionLinks),(link,index)=>{return openBlock(),createBlock(VListItem,{key:link.id,active:link.id===__props.section||!__props.section&&index===0,"prepend-icon":link.icon||void 0,title:link.label,"data-dashboard-section":link.id,onClick:$event=>emit(`select`,link.id)},null,8,[`active`,`prepend-icon`,`title`,`data-dashboard-section`,`onClick`])}),128)):(openBlock(),createBlock(unref(_sfc_main$2),{key:2,target:`app-dashboard:primary-menu`,context:__props.dashboardContext},null,8,[`context`])),!__props.noProject?(openBlock(),createBlock(unref(_sfc_main$2),{key:3,target:`app-dashboard:active-session-menu`,context:{activeSessionNav:activeSessionNav.value||{}}},null,8,[`context`])):createCommentVNode(``,true)]),default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,true)]),_:3},8,[`mobile-section-links`,`navigation-collapsed`])}}};var Vibe64DashboardShell_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-1c300fc7`]]);export{Vibe64DashboardShell_default as t};
|