@5minds/node-red-dashboard-2-processcube-dynamic-form 2.0.3-develop-7bfa0c-mcci1tzl → 2.0.3-develop-d8383e-mcd36cwv

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-dashboard-2-processcube-dynamic-form",
3
- "version": "2.0.3-develop-7bfa0c-mcci1tzl",
3
+ "version": "2.0.3-develop-d8383e-mcd36cwv",
4
4
  "description": "The ui component for the ProcessCube dynamic-form",
5
5
  "keywords": [
6
6
  "processcube",
@@ -252,4 +252,4 @@ ${c}`)}const l=n.getFirstToken(e),o=n.getLastToken(e);if(l.value==="{"&&o.value=
252
252
  ${u} name: '${a}'
253
253
  ${u}`)}return null}}]})})}};const ad=me,{isBlockComment:O3e,isJSDocComment:$3e}=r6;var V3e={meta:{type:"suggestion",docs:{description:"require props to have a comment",categories:void 0,url:"https://eslint.vuejs.org/rules/require-prop-comment.html"},fixable:null,schema:[{type:"object",properties:{type:{enum:["JSDoc","line","block","any"]}},additionalProperties:!1}],messages:{requireAnyComment:'The "{{name}}" property should have a comment.',requireLineComment:'The "{{name}}" property should have a line comment.',requireBlockComment:'The "{{name}}" property should have a block comment.',requireJSDocComment:'The "{{name}}" property should have a JSDoc comment.'}},create(t){const e=t.options[0],r=e&&e.type||"JSDoc",i=t.getSourceCode(),s=u=>u&&O3e(u)?void 0:"requireBlockComment",a=u=>u&&u.type==="Line"?void 0:"requireLineComment",n=u=>u?void 0:"requireAnyComment",l=u=>u&&$3e(u)?void 0:"requireJSDocComment";function o(u){for(const c of u){if(!c.propName||c.type==="infer-type")continue;const f=i.getCommentsBefore(c.node),m=f.length>0?f[f.length-1]:void 0;let p;switch(r){case"block":{p=s(m);break}case"line":{p=a(m);break}case"any":{p=n(m);break}default:{p=l(m);break}}p&&t.report({node:c.node,messageId:p,data:{name:c.propName}})}}return ad.compositingVisitors(ad.defineScriptSetupVisitor(t,{onDefinePropsEnter(u,c){o(c)}}),ad.defineVueVisitor(t,{onVueObjectEnter(u){o(ad.getComponentPropsFromOptions(u))}}))}};const zo=me,{isDef:M3e}=me,U3e=new Set(["Literal","TemplateLiteral","BinaryExpression","UpdateExpression"]);function U6(t){return U3e.has(t.type)&&!(t.type==="Literal"&&t.value==null&&!t.bigint)}var j3e={meta:{type:"suggestion",docs:{description:"require prop type to be a constructor",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/require-prop-type-constructor.html"},fixable:"code",schema:[],messages:{propTypeConstructor:'The "{{name}}" property should be a constructor.'}},create(t){function e(i,s){const a=s.type==="ArrayExpression"?s.elements.filter(M3e):[s];for(const n of a)U6(n)&&t.report({node:n,messageId:"propTypeConstructor",data:{name:i},fix:l=>{if(n.type==="Literal"||n.type==="TemplateLiteral"){const o=zo.getStringLiteralValue(n,!0);if(o)return l.replaceText(n,o)}return null}})}function r(i){for(const s of i)if(!(s.type!=="object"||s.propName==null)){if(U6(s.value)||s.value.type==="ArrayExpression")e(s.propName,s.value);else if(s.value.type==="ObjectExpression"){const a=zo.findProperty(s.value,"type");if(!a)continue;e(s.propName,a.value)}}}return zo.compositingVisitors(zo.defineScriptSetupVisitor(t,{onDefinePropsEnter(i,s){r(s)}}),zo.executeOnVueComponent(t,i=>{r(zo.getComponentPropsFromOptions(i))}))}};const Xo=me;var q3e={meta:{type:"suggestion",docs:{description:"require type definitions in props",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/require-prop-types.html"},fixable:null,schema:[],messages:{requireType:'Prop "{{name}}" should define at least its type.'}},create(t){function e(s){switch(s.type){case"ObjectExpression":return r(s);case"ArrayExpression":return s.elements.length>0;case"FunctionExpression":case"ArrowFunctionExpression":return!1}return null}function r(s){const a=s.properties.find(l=>l.type==="Property"&&Xo.getStaticPropertyName(l)==="type"&&(l.value.type!=="ArrayExpression"||l.value.elements.length>0)),n=s.properties.find(l=>l.type==="Property"&&Xo.getStaticPropertyName(l)==="validator");return!!(a||n)}function i(s){if(s.type!=="object"&&s.type!=="array")return;if(!(s.type==="array"?!1:e(s.value)??!0)){const{node:n,propName:l}=s,o=l||n.type==="Identifier"&&n.name||"Unknown prop";t.report({node:n,messageId:"requireType",data:{name:o}})}}return Xo.compositingVisitors(Xo.defineScriptSetupVisitor(t,{onDefinePropsEnter(s,a){for(const n of a)i(n)},onDefineModelEnter(s,a){a.typeNode||a.options&&(e(a.options)??!0)||t.report({node:a.options||s,messageId:"requireType",data:{name:a.name.modelName}})}}),Xo.executeOnVue(t,s=>{const a=Xo.getComponentPropsFromOptions(s);for(const n of a)i(n)}))}};const rA=me;var K3e={meta:{type:"problem",docs:{description:"enforce render function to always return value",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/require-render-return.html"},fixable:null,schema:[],messages:{expectedReturn:"Expected to return a value in render function."}},create(t){const e=new Map;return rA.compositingVisitors(rA.defineVueVisitor(t,{onRenderFunctionEnter(r){e.set(r,r.parent.key)}}),rA.executeOnFunctionsWithoutReturn(!0,r=>{const i=e.get(r);i&&t.report({node:i,messageId:"expectedReturn"})}))}};const ju=me,{findVariable:G3e}=gt;var W3e={meta:{type:"problem",docs:{description:"enforce properties of `$slots` to be used as a function",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/require-slots-as-functions.html"},fixable:null,schema:[],messages:{unexpected:"Property in `$slots` should be used as function."}},create(t){function e(i,s){const a=i.parent;if(a.type==="VariableDeclarator"&&a.id.type==="Identifier"){r(a.id,s);return}if(a.type==="AssignmentExpression"&&a.right===i&&a.left.type==="Identifier"){r(a.left,s);return}if(a.type==="ChainExpression"){e(a,s);return}(a.type==="MemberExpression"||a.type==="VariableDeclarator"||a.type==="SpreadElement"||a.type==="ArrayExpression")&&t.report({node:s,messageId:"unexpected"})}function r(i,s){const a=G3e(ju.getScope(t,i),i);if(a)for(const n of a.references){if(!n.isRead())continue;const l=n.identifier;e(l,s)}}return ju.defineVueVisitor(t,{MemberExpression(i){const s=ju.skipChainExpression(i.object);s.type==="MemberExpression"&&ju.getStaticPropertyName(s)==="$slots"&&ju.isThis(s.object,t)&&i.property.type!=="PrivateIdentifier"&&e(i,i.property)}})}};const ka=me;function H3e(t){var e,r;return(e=t.value)!=null&&e.expression&&t.value.expression.type==="Literal"?((r=t.value.expression)==null?void 0:r.value)!==!1:!0}function z3e(t){let e="";for(const[r,i]of t.entries())r===0?e+=`\`v-${i}\``:r<t.length-1?e+=`, \`v-${i}\``:e+=` or \`v-${i}\``;return e}var X3e={meta:{type:"problem",docs:{description:"require control the display of the content inside `<transition>`",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/require-toggle-inside-transition.html"},fixable:null,schema:[{type:"object",properties:{additionalDirectives:{type:"array",items:{type:"string"},uniqueItems:!0}},additionalProperties:!1}],messages:{expected:"The element inside `<transition>` is expected to have a {{allowedDirectives}} directive."}},create(t){const r=["if","show",...t.options[0]&&t.options[0].additionalDirectives||[]],i=z3e(r);function s(a){if(ka.isCustomComponent(a))return;const n=a.parent,l=ka.getDirective(n,"bind","appear");ka.hasAttribute(n,"appear")||l&&H3e(l)||a.name!=="slot"&&!r.some(o=>ka.hasDirective(a,o))&&!ka.hasDirective(a,"bind","key")&&t.report({node:a.startTag,loc:a.startTag.loc,messageId:"expected",data:{allowedDirectives:i}})}return ka.defineTemplateBodyVisitor(t,{"VElement[name='transition'] > VElement"(a){a.parent.children.find(ka.isVElement)===a&&s(a)}})}};const ti=me,nA=(t,e)=>{if(e.name==="Object"||e.name==="Array"){const r=e.name==="Array"?"[]":"";t.report({node:e,messageId:"expectedTypeAnnotation",suggest:[{messageId:"addTypeAnnotation",data:{type:`any${r}`},fix(i){return i.insertTextAfter(e,` as PropType<any${r}>`)}},{messageId:"addTypeAnnotation",data:{type:`unknown${r}`},fix(i){return i.insertTextAfter(e,` as PropType<unknown${r}>`)}}]})}},j6=(t,e)=>{for(const r of e.elements)(r==null?void 0:r.type)==="Identifier"&&nA(t,r)},Y3e=(t,e)=>{const r=e.properties.find(i=>i.type==="Property"&&i.key.type==="Identifier"&&i.key.name==="type");!r||r.type!=="Property"||(r.value.type==="Identifier"?nA(t,r.value):r.value.type==="ArrayExpression"&&j6(t,r.value))},q6=(t,e)=>{if(t.type==="object")switch(t.node.value.type){case"Identifier":{nA(e,t.node.value);break}case"ArrayExpression":{j6(e,t.node.value);break}case"ObjectExpression":{Y3e(e,t.node.value);return}}};var J3e={meta:{type:"suggestion",docs:{description:"enforce adding type declarations to object props",categories:void 0,recommended:!1,url:"https://eslint.vuejs.org/rules/require-typed-object-prop.html"},fixable:null,hasSuggestions:!0,schema:[],messages:{expectedTypeAnnotation:"Expected type annotation on object prop.",addTypeAnnotation:"Add `{{ type }}` type annotation."}},create(t){const e=t.getFilename();if(!ti.isVueFile(e)&&!ti.isTypeScriptFile(e))return{};if(ti.isVueFile(e)){const r=t.getSourceCode(),i=r.parserServices.getDocumentFragment&&r.parserServices.getDocumentFragment();if(!i)return{};if(i.children.filter(a=>ti.isVElement(a)&&a.name==="script").every(a=>!ti.hasAttribute(a,"lang","ts")))return{}}return ti.compositingVisitors(ti.defineScriptSetupVisitor(t,{onDefinePropsEnter(r,i){for(const s of i)q6(s,t)}}),ti.executeOnVue(t,r=>{const i=ti.getComponentPropsFromOptions(r);for(const s of i)q6(s,t)}))}};const{iterateDefineRefs:Q3e}=S1,qu=me;function Z3e(t){return t.type==="Literal"&&t.value===null||t.type==="Identifier"&&t.name==="undefined"}var eUe={meta:{type:"suggestion",docs:{description:"require `ref` and `shallowRef` functions to be strongly typed",categories:void 0,url:"https://eslint.vuejs.org/rules/require-typed-ref.html"},fixable:null,schema:[],messages:{noType:"Specify type parameter for `{{name}}` function, otherwise created variable will not be typechecked."}},create(t){const e=t.getFilename();if(!qu.isVueFile(e)&&!qu.isTypeScriptFile(e))return{};if(qu.isVueFile(e)){const s=t.getSourceCode(),a=s.parserServices.getDocumentFragment&&s.parserServices.getDocumentFragment();if(!a)return{};if(a.children.filter(l=>qu.isVElement(l)&&l.name==="script").every(l=>!qu.hasAttribute(l,"lang","ts")))return{}}const r=Q3e(t.getSourceCode().scopeManager.globalScope);function i(s,a){t.report({node:a,messageId:"noType",data:{name:s}})}return{Program(){for(const s of r){if(s.name!=="ref"&&s.name!=="shallowRef"||s.node.arguments.length>0&&!Z3e(s.node.arguments[0]))continue;("typeArguments"in s.node?s.node.typeArguments:s.node.typeParameters)==null&&(s.node.parent.type==="VariableDeclarator"&&s.node.parent.id.type==="Identifier"?s.node.parent.id.typeAnnotation==null&&i(s.name,s.node):i(s.name,s.node))}}}}};const sA=me;var tUe={meta:{type:"problem",docs:{description:"require `v-bind:key` with `v-for` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/require-v-for-key.html"},fixable:null,schema:[],messages:{requireKey:"Elements in iteration expect to have 'v-bind:key' directives."}},create(t){function e(r){if(!sA.hasDirective(r,"bind","key"))if(r.name==="template"||r.name==="slot")for(const i of r.children)i.type==="VElement"&&e(i);else sA.isCustomComponent(r)||t.report({node:r.startTag,loc:r.startTag.loc,messageId:"requireKey"})}return sA.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='for']"(r){e(r.parent.parent)}})}};const $i=me,{capitalize:rUe}=Mt,iA=new Set(["String","Number","Boolean","Function","Object","Array","Symbol","BigInt"]),K6=new Set(["Function","Object","Array"]);function G6(t,e){for(const r of t.properties)if(r.type==="Property"&&!r.computed&&r.key.type==="Identifier"&&r.key.name===e)return r;return null}function W6(t){const e=$i.skipTSAsExpression(t);return e.type==="Identifier"?[e.name]:e.type==="ArrayExpression"?e.elements.filter(r=>r!=null&&r.type==="Identifier").map(r=>r.name):[]}var nUe={meta:{type:"suggestion",docs:{description:"enforce props default values to be valid",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/require-valid-default-prop.html"},fixable:null,schema:[],messages:{invalidType:"Type of the default value for '{{name}}' prop must be a {{types}}."}},create(t){const e=new Map,r=[];let i=null;function s(){i=i&&i.upper}function a(o){const u=$i.skipChainExpression(o);switch(u.type){case"CallExpression":{if(u.callee.type==="Identifier"&&iA.has(u.callee.name))return{function:!1,type:u.callee.name};break}case"TemplateLiteral":return{function:!1,type:"String"};case"Literal":{if(u.value===null&&!u.bigint)return null;const c=u.bigint?"BigInt":rUe(typeof u.value);if(iA.has(c))return{function:!1,type:c};break}case"ArrayExpression":return{function:!1,type:"Array"};case"ObjectExpression":return{function:!1,type:"Object"};case"FunctionExpression":return{function:!0,expression:!1,type:"Function",functionBody:u.body,returnTypes:[]};case"ArrowFunctionExpression":{if(u.expression){const c=a(u.body);return{function:!0,expression:!0,type:"Function",functionBody:u.body,returnType:c?c.type:null}}return{function:!0,expression:!1,type:"Function",functionBody:u.body,returnTypes:[]}}}return null}function n(o,u,c){const f=u.propName==null?`[${t.getSourceCode().getText(u.node.key)}]`:u.propName;t.report({node:o,messageId:"invalidType",data:{name:f,types:[...c].join(" or ").toLowerCase()}})}function l(o,u){const c=[];for(const f of o){let m;const p=[];if(f.type==="object")if(f.value.type==="ObjectExpression"){const d=G6(f.value,"type");if(!d)continue;m=W6(d.value);const g=G6(f.value,"default");g&&p.push({src:"defaultProperty",expression:g.value})}else m=W6(f.value);else m=f.types;if(f.propName!=null&&p.push(...u(f.propName)),p.length===0)continue;const h=new Set(m.filter(d=>iA.has(d)));if(h.size!==0)for(const d of p){const g=a(d.expression);if(g)if(g.function){if(h.has("Function"))continue;if(d.src==="assignment"){n(d.expression,f,h);continue}if(g.expression){if(!g.returnType||h.has(g.returnType))continue;n(g.functionBody,f,h)}else c.push({prop:f,types:h,default:g})}else{if(h.has(g.type)&&(d.src==="assignment"||!K6.has(g.type)))continue;n(d.expression,f,d.src==="assignment"?h:[...h].map(y=>K6.has(y)?"Function":y))}}}return c}return $i.compositingVisitors({":function"(o){i={upper:i,body:o.body,returnTypes:null}},ReturnStatement(o){if(i&&i.returnTypes&&o.argument){const u=a(o.argument);u&&i.returnTypes.push({type:u.type,node:o.argument})}},":function:exit":s},$i.defineVueVisitor(t,{onVueObjectEnter(o){const u=$i.getComponentPropsFromOptions(o).filter(f=>f.type==="object"&&f.value.type==="ObjectExpression"),c=l(u,()=>[]);e.set(o,c)},":function"(o,{node:u}){const c=e.get(u);if(!(!c||!i))for(const{default:f}of c)o.body===f.functionBody&&(i.returnTypes=f.returnTypes)},onVueObjectExit(o){const u=e.get(o);if(u)for(const{prop:c,types:f,default:m}of u)for(const p of m.returnTypes)f.has(p.type)||n(p.node,c,f)}}),$i.defineScriptSetupVisitor(t,{onDefinePropsEnter(o,u){const c=u.filter(h=>h.type==="type"||h.type==="infer-type"||h.type==="object"),f=$i.getWithDefaultsPropExpressions(o),m=$i.getDefaultPropExpressionsForPropsDestructure(o),p=l(c,function*(h){const d=f[h];d&&(yield{src:"withDefaults",expression:d});const g=m[h];g&&(yield{src:"assignment",expression:g.expression})});r.push({node:o,props:p})},":function"(o){const u=r[r.length-1];if(!(!u||!i))for(const{default:c}of u.props)o.body===c.functionBody&&(i.returnTypes=c.returnTypes)},onDefinePropsExit(){const o=r.pop();if(o)for(const{prop:u,types:c,default:f}of o.props)for(const m of f.returnTypes)c.has(m.type)||n(m.node,u,c)}}))}};const sUe=me,{toRegExp:iUe}=Nr,aUe=XT,oUe=Aj,lUe=YT,uUe=zp,cUe=Xp,fUe=new Set([...aUe,...oUe,...lUe,...uUe,...cUe]);var pUe={meta:{type:"problem",docs:{description:"enforce using only specific component names",categories:void 0,url:"https://eslint.vuejs.org/rules/restricted-component-names.html"},fixable:null,schema:[{type:"object",additionalProperties:!1,properties:{allow:{type:"array",items:{type:"string"},uniqueItems:!0,additionalItems:!1}}}],messages:{invalidName:'Component name "{{name}}" is not allowed.'}},create(t){const r=((t.options[0]||{}).allow||[]).map(iUe);function i(s){return fUe.has(s)||r.some(a=>a.test(s))}return sUe.defineTemplateBodyVisitor(t,{VElement(s){const a=s.rawName;i(a)||t.report({node:s,loc:s.loc,messageId:"invalidName",data:{name:a}})}})}};const{ReferenceTracker:H6}=gt,Yo=me;var mUe={meta:{type:"problem",docs:{description:"enforce that a return statement is present in computed property",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/return-in-computed-property.html"},fixable:null,schema:[{type:"object",properties:{treatUndefinedAsUnspecified:{type:"boolean"}},additionalProperties:!1}],messages:{expectedReturnInFunction:"Expected to return a value in computed function.",expectedReturnInProperty:'Expected to return a value in "{{name}}" computed property.'}},create(t){const r=(t.options[0]||{}).treatUndefinedAsUnspecified!==!1,i=new Set,s=[];return Object.assign({Program(a){const n=new H6(Yo.getScope(t,a)),l={computed:{[H6.CALL]:!0}};for(const{node:o}of Yo.iterateReferencesTraceMap(n,l)){if(o.type!=="CallExpression")continue;const u=Yo.getGetterBodyFromComputedFunction(o);u&&s.push(u)}}},Yo.defineVueVisitor(t,{onVueObjectEnter(a){for(const n of Yo.getComputedProperties(a))i.add(n)}}),Yo.executeOnFunctionsWithoutReturn(r,a=>{for(const n of i)n.value&&n.value.parent===a&&t.report({node:a,messageId:"expectedReturnInProperty",data:{name:n.key||"Unknown"}});for(const n of s)n===a&&t.report({node:a,messageId:"expectedReturnInFunction"})}))}};const od=me;function z6(t){if(t.type==="Literal"){if(t.bigint)return t.bigint==="0";if(!t.value)return!0}return t.type==="Identifier"&&(t.name==="undefined"||t.name==="NaN")}var dUe={meta:{type:"problem",docs:{description:"enforce that a return statement is present in emits validator",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/return-in-emits-validator.html"},fixable:null,schema:[],messages:{expectedTrue:'Expected to return a true value in "{{name}}" emits validator.',expectedBoolean:'Expected to return a boolean value in "{{name}}" emits validator.'}},create(t){const e=[];let r=null;function i(s){for(const a of s)a.type!=="object"||!a.value||a.value.type!=="FunctionExpression"&&a.value.type!=="ArrowFunctionExpression"||e.push(a)}return od.compositingVisitors(od.defineScriptSetupVisitor(t,{onDefineEmitsEnter(s,a){i(a)}}),od.defineVueVisitor(t,{onVueObjectEnter(s){i(od.getComponentEmitsFromOptions(s))}}),{":function"(s){r={upper:r,functionNode:s,hasReturnValue:!1,possibleOfReturnTrue:!1},s.type==="ArrowFunctionExpression"&&s.expression&&(r.hasReturnValue=!0,z6(s.body)||(r.possibleOfReturnTrue=!0))},ReturnStatement(s){r&&s.argument&&(r.hasReturnValue=!0,z6(s.argument)||(r.possibleOfReturnTrue=!0))},":function:exit"(s){if(r&&!r.possibleOfReturnTrue){const a=e.find(n=>n.value===s);a&&t.report({node:s,messageId:r.hasReturnValue?"expectedTrue":"expectedBoolean",data:{name:a.emitName||"Unknown"}})}r=r&&r.upper}})}};const hUe=t1;var gUe={meta:{type:"layout",docs:{description:"enforce consistent indentation in `<script>`",categories:void 0,url:"https://eslint.vuejs.org/rules/script-indent.html"},fixable:"whitespace",schema:[{anyOf:[{type:"integer",minimum:1},{enum:["tab"]}]},{type:"object",properties:{baseIndent:{type:"integer",minimum:0},switchCase:{type:"integer",minimum:0},ignores:{type:"array",items:{allOf:[{type:"string"},{not:{type:"string",pattern:":exit$"}},{not:{type:"string",pattern:String.raw`^\s*$`}}]},uniqueItems:!0,additionalItems:!1}},additionalProperties:!1}]},create(t){return hUe.defineVisitor(t,t.getSourceCode(),{})}};const{getStyleVariablesContext:yUe}=ku,Jn=me,EUe=Mt;function vUe(t){return t.replace(/-(\w)/g,(e,r)=>r?r.toUpperCase():"")}var bUe={meta:{type:"problem",docs:{description:"prevent `<script setup>` variables used in `<template>` to be marked as unused",categories:void 0,url:"https://eslint.vuejs.org/rules/script-setup-uses-vars.html"},deprecated:!0,schema:[]},create(t){if(!Jn.isScriptSetup(t))return{};const e=t.getSourceCode(),r=new Set,i=e.scopeManager.globalScope;if(i){for(const l of i.variables)r.add(l.name);const n=i.childScopes.find(l=>l.type==="module");for(const l of n&&n.variables||[])r.add(l.name)}function s(n){Jn.markVariableAsUsed(t,n,e.ast)}function a(n){if(r.has(n))return s(n),!0;const l=vUe(n);if(r.has(l))return s(l),!0;const o=EUe.capitalize(l);return r.has(o)?(s(o),!0):!1}return Jn.defineTemplateBodyVisitor(t,{VExpressionContainer(n){for(const l of n.references.filter(o=>o.variable==null))s(l.id.name)},VElement(n){if(!(!Jn.isHtmlElementNode(n)&&!Jn.isSvgElementNode(n)&&!Jn.isMathElementNode(n)||n.rawName===n.name&&(Jn.isHtmlWellKnownElementName(n.rawName)||Jn.isSvgWellKnownElementName(n.rawName)||Jn.isMathWellKnownElementName(n.rawName))||Jn.isBuiltInComponentName(n.rawName))&&!a(n.rawName)){const l=n.rawName.indexOf(".");l>0&&a(n.rawName.slice(0,l))}},"VAttribute[directive=true]"(n){Jn.isBuiltInDirectiveName(n.key.name.name)||a(`v-${n.key.name.rawName}`)},"VAttribute[directive=false]"(n){n.key.name==="ref"&&n.value&&s(n.value.value)}},{Program(){const n=yUe(t);if(n)for(const l of n.references)s(l.id.name)}},{templateBodyTriggerSelector:"Program"})}};const xUe=me,X6=Mt,SUe=PU;function TUe(t){return t.loc.start.line===t.endTag.loc.start.line}function CUe(t){return Object.assign({ignores:["pre","textarea",...SUe],externalIgnores:[],ignoreWhenNoAttributes:!0,ignoreWhenEmpty:!0},t)}function AUe(t,e){const r=t.startTag.range[1],i=t.endTag.range[0];return e.text.slice(r,i).trim()===""}var RUe={meta:{type:"layout",docs:{description:"require a line break before and after the contents of a singleline element",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html"},fixable:"whitespace",schema:[{type:"object",properties:{ignoreWhenNoAttributes:{type:"boolean"},ignoreWhenEmpty:{type:"boolean"},ignores:{type:"array",items:{type:"string"},uniqueItems:!0,additionalItems:!1},externalIgnores:{type:"array",items:{type:"string"},uniqueItems:!0,additionalItems:!1}},additionalProperties:!1}],messages:{unexpectedAfterClosingBracket:"Expected 1 line break after opening tag (`<{{name}}>`), but no line breaks found.",unexpectedBeforeOpeningBracket:"Expected 1 line break before closing tag (`</{{name}}>`), but no line breaks found."}},create(t){const e=CUe(t.options[0]),r=new Set([...e.ignores,...e.externalIgnores]),i=e.ignoreWhenNoAttributes,s=e.ignoreWhenEmpty,a=t.getSourceCode(),n=a.parserServices.getTemplateBodyTokenStore&&a.parserServices.getTemplateBodyTokenStore();let l=null;function o(u){return r.has(u.name)||r.has(X6.pascalCase(u.rawName))||r.has(X6.kebabCase(u.rawName))}return xUe.defineTemplateBodyVisitor(t,{VElement(u){if(l)return;if(o(u)){l=u;return}if(u.startTag.selfClosing||!u.endTag)return;const c=u;if(!TUe(c)||i&&c.startTag.attributes.length===0)return;const f={includeComments:!0,filter:h=>h.type!=="HTMLWhitespace"};if(s&&c.children.length===0&&n.getFirstTokensBetween(c.startTag,c.endTag,f).length===0)return;const m=n.getTokenAfter(c.startTag,f),p=n.getTokenBefore(c.endTag,f);t.report({node:n.getLastToken(c.startTag),loc:{start:c.startTag.loc.end,end:m.loc.start},messageId:"unexpectedAfterClosingBracket",data:{name:c.rawName},fix(h){const d=[c.startTag.range[1],m.range[0]];return h.replaceTextRange(d,`
254
254
  `)}}),!AUe(c,a)&&t.report({node:n.getFirstToken(c.endTag),loc:{start:p.loc.end,end:c.endTag.loc.start},messageId:"unexpectedBeforeOpeningBracket",data:{name:c.rawName},fix(h){const d=[p.range[1],c.endTag.range[0]];return h.replaceTextRange(d,`
255
- `)}})},"VElement:exit"(u){l===u&&(l=null)}})}};const Y6=me,wUe=Mt;function kUe(t){return/^[a-z]+$/u.test(t)}const J6=["camelCase","kebab-case","singleword"];var _Ue={meta:{type:"suggestion",docs:{description:"enforce specific casing for slot names",categories:void 0,url:"https://eslint.vuejs.org/rules/slot-name-casing.html"},fixable:null,schema:[{enum:J6}],messages:{invalidCase:'Slot name "{{name}}" is not {{caseType}}.'}},create(t){const e=t.options[0],r=J6.includes(e)?e:"camelCase",i=r==="singleword"?kUe:wUe.getChecker(r);function s(a){var l;const n=(l=a.value)==null?void 0:l.value;n&&!i(n)&&t.report({node:a,loc:a.loc,messageId:"invalidCase",data:{name:n,caseType:r}})}return Y6.defineTemplateBodyVisitor(t,{"VElement[name='slot']"(a){const n=Y6.getAttribute(a,"name");n&&s(n)}})}};const Q6=UO,ld=me;function DUe(t){const e=ld.getStaticPropertyName(t);return e!==null?e:t.key.type==="Identifier"?t.key.name:null}const Ku={asc(t,e){return t<=e},ascI(t,e){return t.toLowerCase()<=e.toLowerCase()},ascN(t,e){return Q6(t,e)<=0},ascIN(t,e){return Q6(t.toLowerCase(),e.toLowerCase())<=0},desc(t,e){return Ku.asc(e,t)},descI(t,e){return Ku.ascI(e,t)},descN(t,e){return Ku.ascN(e,t)},descIN(t,e){return Ku.ascIN(e,t)}};var IUe={meta:{type:"suggestion",docs:{description:"enforce sort-keys in a manner that is compatible with order-in-components",categories:null,recommended:!1,url:"https://eslint.vuejs.org/rules/sort-keys.html"},fixable:null,schema:[{enum:["asc","desc"]},{type:"object",properties:{caseSensitive:{type:"boolean",default:!0},ignoreChildrenOf:{type:"array"},ignoreGrandchildrenOf:{type:"array"},minKeys:{type:"integer",minimum:2,default:2},natural:{type:"boolean",default:!1},runOutsideVue:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{sortKeys:"Expected object keys to be in {{natural}}{{insensitive}}{{order}}ending order. '{{thisName}}' should be before '{{prevName}}'."}},create(t){const e=t.options[1],r=t.options[0]||"asc",i=new Set(e&&e.ignoreGrandchildrenOf||["computed","directives","inject","props","watch"]),s=new Set(e&&e.ignoreChildrenOf||["model"]),a=e&&e.caseSensitive===!1,n=e&&e.minKeys,l=e&&e.natural,o=Ku[r+(a?"I":"")+(l?"N":"")];let u;return{ObjectExpression(c){const f={},m=u&&u.vueState||{};if(u={upper:u,prevName:null,numKeys:c.properties.length,vueState:f},f.isVueObject=ld.getVueObjectType(t,c)!=null,f.isVueObject)f.within=f.isVueObject,f.ignore=!0;else if(m.within&&m.currentProperty)if(ld.isPropertyChain(m.currentProperty,c)){let h,d;m.isVueObject?(h=ld.getStaticPropertyName(m.currentProperty)||"",d=1):(h=m.propName||"",d=(m.chainLevel||0)+1),f.propName=h,f.chainLevel=d,f.within=!0,(d===1&&s.has(h)||d===2&&i.has(h))&&(f.ignore=!0)}else f.within=!1},"ObjectExpression:exit"(){u=u&&u.upper},SpreadElement(c){u&&c.parent.type==="ObjectExpression"&&(u.prevName=null)},"ObjectExpression > Property"(c){if(!u||(u.vueState.currentProperty=c,u.vueState.ignore))return;const f=u.prevName,m=u.numKeys,p=DUe(c);p!==null&&(u.prevName=p),!(f===null||p===null||m<n)&&(o(f,p)||t.report({node:c,loc:c.key.loc,messageId:"sortKeys",data:{thisName:p,prevName:f,order:r,insensitive:a?"insensitive ":"",natural:l?"natural ":""}}))}}}};const{wrapStylisticOrCoreRule:PUe}=me;var LUe=PUe("space-in-parens",{skipDynamicArguments:!0,skipDynamicArgumentsReport:!0,applyDocument:!0});const{wrapStylisticOrCoreRule:FUe}=me;var NUe=FUe("space-infix-ops",{skipDynamicArguments:!0,applyDocument:!0});const{wrapStylisticOrCoreRule:BUe}=me;var OUe=BUe("space-unary-ops",{skipDynamicArguments:!0,applyDocument:!0});const{defineTemplateBodyVisitor:$Ue}=me;var VUe={meta:{type:"suggestion",docs:{url:"https://eslint.vuejs.org/rules/static-class-names-order.html",description:"enforce static class names order",categories:void 0},fixable:"code",schema:[],messages:{shouldBeOrdered:"Classes should be ordered alphabetically."}},create:t=>$Ue(t,{"VAttribute[directive=false][key.name='class']"(e){const r=e.value;if(!r)return;const i=r.value,s=i.split(/(\s+)/);let a="";s.length>1&&(a=s[1]);const l=s.filter(o=>o.trim()!=="").sort().join(a);i!==l&&t.report({node:e,loc:e.loc,messageId:"shouldBeOrdered",fix:o=>o.replaceText(r,`"${l}"`)})}})};const{wrapStylisticOrCoreRule:MUe}=me;var UUe=MUe("template-curly-spacing",{skipDynamicArguments:!0,applyDocument:!0});const jUe=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield"],Z6=me,qUe=new Set(jUe);var KUe={meta:{type:"suggestion",docs:{description:"disallow usage of `this` in template",categories:["vue3-recommended","vue2-recommended"],url:"https://eslint.vuejs.org/rules/this-in-template.html"},fixable:"code",schema:[{enum:["always","never"]}],messages:{unexpected:"Unexpected usage of 'this'.",expected:"Expected 'this'."}},create(t){const e=t.options[0]==="always"?"always":"never";let r=null;return Z6.defineTemplateBodyVisitor(t,{VElement(i){if(r={parent:r,nodes:r?[...r.nodes]:[]},i.variables)for(const s of i.variables){const a=s.id,n=a.name;r.nodes.some(l=>l.name===n)||r.nodes.push(a)}},"VElement:exit"(){r=r&&r.parent},...e==="never"?{"VExpressionContainer MemberExpression > ThisExpression"(i){if(!r)return;const s=Z6.getStaticPropertyName(i.parent);!s||r.nodes.some(a=>a.name===s)||qUe.has(s)||/^\d.*$|[^\w$]/.test(s)||t.report({node:i,loc:i.loc,fix(a){return a.replaceText(i.parent,s)},messageId:"unexpected"})}}:{VExpressionContainer(i){if(r&&i.parent.type!=="VDirectiveKey"&&i.references)for(const s of i.references)r.nodes.some(a=>a.name===s.id.name)||t.report({node:s.id,loc:s.id.loc,messageId:"expected",fix(a){return a.insertTextBefore(s.id,"this.")}})}}})}};const aA=me,e4=new Set(["ctrl","shift","alt","meta"]),GUe=new Set(["stop","prevent","capture","self","once","passive","native"]);function WUe(t,e){return aA.getDirectives(t,"on").map(r=>({name:r.key.argument?e.getText(r.key.argument):"",node:r.key,modifiers:r.key.modifiers.map(i=>i.name)}))}function HUe(t){return!GUe.has(t)&&!e4.has(t)}function t4(t){return e4.has(t)}function zUe(t){return t.some(t4)}function XUe(t){const e={};for(const r of t)e[r.name]||(e[r.name]=[]),e[r.name].push(r);return e}function r4(t){return t.filter(t4).sort().join(",")}function n4(t){return t.filter(HUe).sort().join(",")}function YUe(t,e){if(e.node===t.node||e.modifiers.includes("exact"))return!1;const r=n4(e.modifiers),i=n4(t.modifiers);if(r&&i&&r!==i)return!1;const s=r4(e.modifiers),a=r4(t.modifiers);return t.modifiers.length>0&&a!==s&&a.includes(s)}function JUe(t){const e=[];for(const r of t)e.push(...t.filter(i=>!e.includes(i)).filter(YUe.bind(null,r)));return e}var QUe={meta:{type:"suggestion",docs:{description:"enforce usage of `exact` modifier on `v-on`",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/use-v-on-exact.html"},fixable:null,schema:[],messages:{considerExact:"Consider to use '.exact' modifier."}},create(t){const e=t.getSourceCode();return aA.defineTemplateBodyVisitor(t,{VStartTag(r){if(r.attributes.length===0)return;const i=aA.isCustomComponent(r.parent);let s=WUe(r,e);i&&(s=s.filter(n=>n.modifiers.includes("native")));const a=XUe(s);for(const n of Object.keys(a)){const l=a[n];if(!l.some(c=>zUe(c.modifiers)))continue;const u=JUe(l);for(const c of u)t.report({node:c.node,loc:c.node.loc,messageId:"considerExact"})}}})}};const s4=me,i4=Mt;function oA(t){return i4.isKebabCase(t)?i4.camelCase(t):t}function ZUe(t){var i,s;const e=t.key.argument.type==="VIdentifier"?t.key.argument.rawName:null,r=((s=(i=t.value)==null?void 0:i.expression)==null?void 0:s.type)==="Identifier"?t.value.expression.name:null;return!e||!r?!1:oA(e)===oA(r)}function eje(t){const e=t.modifiers;return e.length>0?e[e.length-1].range[1]:t.argument.range[1]}var tje={meta:{type:"suggestion",docs:{description:"enforce `v-bind` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-bind-style.html"},fixable:"code",schema:[{enum:["shorthand","longform"]},{type:"object",properties:{sameNameShorthand:{enum:["always","never","ignore"]}},additionalProperties:!1}],messages:{expectedLonghand:"Expected 'v-bind' before ':'.",unexpectedLonghand:"Unexpected 'v-bind' before ':'.",expectedLonghandForProp:"Expected 'v-bind:' instead of '.'.",expectedShorthand:"Expected same-name shorthand.",unexpectedShorthand:"Unexpected same-name shorthand."}},create(t){var a;const e=t.options[0]!=="longform",r=((a=t.options[1])==null?void 0:a.sameNameShorthand)||"ignore";function i(n){const l=n.key.name.rawName===".";if((n.key.name.rawName===":"||l)===e)return;let u="expectedLonghand";e?u="unexpectedLonghand":l&&(u="expectedLonghandForProp"),t.report({node:n,loc:n.loc,messageId:u,*fix(c){if(e)yield c.remove(n.key.name);else if(yield c.insertTextBefore(n,"v-bind"),l){yield c.replaceText(n.key.name,":");const f=n.key.modifiers[0];f.name==="prop"&&f.rawName===""&&(yield c.insertTextBefore(f,".prop"))}}})}function s(n){if(r==="ignore"||!ZUe(n))return;const l=r==="always";if(s4.isVBindSameNameShorthand(n)===l)return;const u=l?"expectedShorthand":"unexpectedShorthand";t.report({node:n,loc:n.loc,messageId:u,*fix(c){if(l){const f=[eje(n.key),n.range[1]];yield c.removeRange(f)}else n.key.argument.type==="VIdentifier"&&(yield c.insertTextAfter(n,`="${oA(n.key.argument.rawName)}"`))}})}return s4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind'][key.argument!=null]"(n){s(n),i(n)}})}};const rje=me;var nje={meta:{type:"layout",docs:{description:"enforce `v-for` directive's delimiter style",categories:void 0,recommended:!1,url:"https://eslint.vuejs.org/rules/v-for-delimiter-style.html"},fixable:"code",schema:[{enum:["in","of"]}],messages:{expected:"Expected '{{preferredDelimiter}}' instead of '{{usedDelimiter}}' in 'v-for'."}},create(t){const e=t.options[0]||"in";return rje.defineTemplateBodyVisitor(t,{VForExpression(r){const i=t.getSourceCode(),s=i.parserServices.getTemplateBodyTokenStore&&i.parserServices.getTemplateBodyTokenStore(),a=s.getTokenAfter(r.left.length>0?r.left[r.left.length-1]:s.getFirstToken(r),n=>n.type!=="Punctuator");a.value!==e&&t.report({node:r,loc:r.loc,messageId:"expected",data:{preferredDelimiter:e,usedDelimiter:a.value},*fix(n){yield n.replaceText(a,e)}})}})}};const Qn=me,a4=Mt,sje=(t,e)=>!t.parent||t.parent.type!=="VElement"?!1:t.parent.children.some(r=>r!==t&&r.type==="VElement"&&r.rawName===e&&lA(r)),o4=(t,e,r,i,s)=>{if(!t.parent||t.parent.type!=="VElement"||!sje(t,r))return;const a=s.get(t.parent);if(!a||Qn.hasAttribute(t,"key"))return;(a.if===t||a.else===t||a.elseIf.includes(t))&&e.report({node:t.startTag,loc:t.startTag.loc,messageId:"requireKey",data:{componentName:r},fix(l){const o=t.startTag.range[0]+r.length+1;return l.insertTextBeforeRange([o,o],` key="${i}"`)}})},lA=t=>Qn.hasDirective(t,"if")||Qn.hasDirective(t,"else-if")||Qn.hasDirective(t,"else");var ije={meta:{type:"problem",docs:{description:"require key attribute for conditionally rendered repeated components",categories:null,recommended:!1,url:"https://eslint.vuejs.org/rules/v-if-else-key.html"},fixable:"code",schema:[],messages:{requireKey:"Conditionally rendered repeated component '{{componentName}}' expected to have a 'key' attribute."}},create(t){const e=new Map,r=[new Map],i=l=>l.type==="VElement"&&Qn.isCustomComponent(l)&&!lA(l),s=new Set(["component","slot","template"]),a=new Set,n=l=>({if:l,elseIf:[],else:null});return Qn.defineTemplateBodyVisitor(t,{VElement(l){if(s.has(l.rawName))return;const o=Qn.getDirective(l,"if")||Qn.getDirective(l,"else-if")||Qn.getDirective(l,"else");if(o){const m=o.key.name.name;if(l.parent&&l.parent.type==="VElement"){let p=e.get(l.parent);if(p||(p=n(l),e.set(l.parent,p)),p)switch(m){case"if":{p=n(l),e.set(l.parent,p);break}case"else-if":{p.elseIf.push(l);break}case"else":{p.else=l;break}}}}if(i(l)){r.push(new Map);return}if(!Qn.isCustomComponent(l))return;const u=l.rawName,c=r[r.length-1],f=c.get(u)||{count:0,firstNode:null};if(lA(l)){if(f.count===0&&(f.firstNode=l),f.count>0){const m=`${a4.kebabCase(u)}-${f.count+1}`;if(o4(l,t,u,m,e),f.count===1){const p=`${a4.kebabCase(u)}-1`;o4(f.firstNode,t,u,p,e)}}f.count+=1,c.set(u,f)}r.push(new Map),a.add(l)},"VElement:exit"(l){if(!s.has(l.rawName)){if(i(l)){r.pop();return}Qn.isCustomComponent(l)&&a.has(l)&&(r.pop(),a.delete(l))}}})}};const l4=me,aje=Mt,{toRegExp:oje}=Nr;var lje={meta:{type:"suggestion",docs:{description:"enforce v-on event naming style on custom components in template",categories:["vue3-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-on-event-hyphenation.html",defaultOptions:{vue3:["always",{autofix:!0}]}},fixable:"code",schema:[{enum:["always","never"]},{type:"object",properties:{autofix:{type:"boolean"},ignore:{type:"array",items:{allOf:[{type:"string"},{not:{type:"string",pattern:":exit$"}},{not:{type:"string",pattern:String.raw`^\s*$`}}]},uniqueItems:!0,additionalItems:!1},ignoreTags:{type:"array",items:{type:"string"},uniqueItems:!0,additionalItems:!1}},additionalProperties:!1}],messages:{mustBeHyphenated:"v-on event '{{text}}' must be hyphenated.",cannotBeHyphenated:"v-on event '{{text}}' can't be hyphenated."}},create(t){const e=t.getSourceCode(),r=t.options[0],i=t.options[1],s=r!=="never",a=i&&i.ignore||[],n=(i&&i.ignoreTags||[]).map(oje),l=!!(i&&i.autofix),o=aje.getConverter(s?"kebab-case":"camelCase");function u(m,p,h){const d=e.getText(m.key);t.report({node:m.key,loc:m.loc,messageId:s?"mustBeHyphenated":"cannotBeHyphenated",data:{text:d},fix:l&&!h.includes("_")?g=>g.replaceText(p,o(h)):null})}function c(m){return a.some(h=>m.includes(h))?!0:s?m.toLowerCase()===m:!/-/.test(m)}function f(m){return n.some(p=>p.test(m))}return l4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on']"(m){const p=m.parent.parent;if(!l4.isCustomComponent(p)||f(p.rawName)||!m.key.argument||m.key.argument.type!=="VIdentifier")return;const h=m.key.argument.rawName;!h||c(h)||u(m,m.key.argument,h)}})}};const ud=me;function uje(t){return t!=null&&t.type==="Punctuator"&&(t.value==='"'||t.value==="'")}function cje(t){let e,r=t.body;for(;;){const a=r.filter(l=>l.type!=="EmptyStatement");if(a.length!==1)return null;const n=a[0];if(n.type==="ExpressionStatement"){e=n;break}if(n.type==="BlockStatement"){r=n.body;continue}return null}const i=e.expression;return i.type!=="CallExpression"||i.arguments.length>0||i.optional||i.callee.type!=="Identifier"?null:i}var fje={meta:{type:"suggestion",docs:{description:"enforce or forbid parentheses after method calls without arguments in `v-on` directives",categories:void 0,url:"https://eslint.vuejs.org/rules/v-on-function-call.html"},fixable:"code",deprecated:!0,replacedBy:["v-on-handler-style"],schema:[{enum:["always","never"]},{type:"object",properties:{ignoreIncludesComment:{type:"boolean"}},additionalProperties:!1}],messages:{always:"Method calls inside of 'v-on' directives must have parentheses.",never:"Method calls without arguments inside of 'v-on' directives must not have parentheses."}},create(t){if(t.options[0]==="always")return ud.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null] > VExpressionContainer > Identifier"(a){t.report({node:a,messageId:"always"})}});const i=!!(t.options[1]||{}).ignoreIncludesComment,s=new Set;return ud.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null] VOnExpression"(a){const n=cje(a);if(!n)return;const u=t.getSourceCode().parserServices.getTemplateBodyTokenStore().getTokens(a.parent,{includeComments:!0});let c,f;uje(u[0])&&(c=u.shift(),f=u.pop());const m=u.some(p=>p.type==="Block"||p.type==="Line");i&&m||n.callee.type==="Identifier"&&s.has(n.callee.name)||t.report({node:n,messageId:"never",fix:m?null:p=>{const h=c&&f?[c.range[1],f.range[0]]:[u[0].range[0],u[u.length-1].range[1]];return p.replaceTextRange(h,t.getSourceCode().getText(n.callee))}})}},ud.defineVueVisitor(t,{onVueObjectEnter(a){for(const n of ud.iterateProperties(a,new Set(["methods"]))){if(s.has(n.name)||n.type!=="object")continue;const l=n.property.value;(l.type==="FunctionExpression"||l.type==="ArrowFunctionExpression")&&l.params.length>0&&s.add(n.name)}}}))}};const uA=me;function pje(t){const e=t.options,r=[];e[0]?Array.isArray(e[0])?r.push(...e[0]):r.push(e[0]):r.push("method","inline-function");const s=!!(e[1]||{}).ignoreIncludesComment;return{allows:r,ignoreIncludesComment:s}}function mje(t){return t!=null&&t.type==="Punctuator"&&(t.value==='"'||t.value==="'")}function u4(t){return t.type!=="CallExpression"||t.optional?!1:t.callee.type==="Identifier"}function c4(t){let e,r=t.body;for(;;){const s=r.filter(n=>n.type!=="EmptyStatement");if(s.length!==1)return null;const a=s[0];if(a.type==="ExpressionStatement"){e=a;break}if(a.type==="BlockStatement"){r=a.body;continue}return null}const i=e.expression;return u4(i)?i:null}var dje={meta:{type:"suggestion",docs:{description:"enforce writing style for handlers in `v-on` directives",categories:void 0,url:"https://eslint.vuejs.org/rules/v-on-handler-style.html"},fixable:"code",schema:[{oneOf:[{enum:["inline","inline-function"]},{type:"array",items:[{const:"method"},{enum:["inline","inline-function"]}],uniqueItems:!0,additionalItems:!1,minItems:2,maxItems:2}]},{type:"object",properties:{ignoreIncludesComment:{type:"boolean"}},additionalProperties:!1}],messages:{preferMethodOverInline:"Prefer method handler over inline handler in v-on.",preferMethodOverInlineWithoutIdCall:"Prefer method handler over inline handler in v-on. Note that you may need to create a new method.",preferMethodOverInlineFunction:"Prefer method handler over inline function in v-on.",preferMethodOverInlineFunctionWithoutIdCall:"Prefer method handler over inline function in v-on. Note that you may need to create a new method.",preferInlineOverMethod:"Prefer inline handler over method handler in v-on.",preferInlineOverInlineFunction:"Prefer inline handler over inline function in v-on.",preferInlineOverInlineFunctionWithMultipleParams:"Prefer inline handler over inline function in v-on. Note that the custom event must be changed to a single payload.",preferInlineFunctionOverMethod:"Prefer inline function over method handler in v-on.",preferInlineFunctionOverInline:"Prefer inline function over inline handler in v-on."}},create(t){const{allows:e,ignoreIncludesComment:r}=pje(t),i=new Set,s=new Map,a=[];function n(d,g){switch(g){case"method":return f(d);case"inline-function":return p(d),!0}return!1}function l(d,g){switch(g){case"inline":case"inline-function":return t.report({node:d,messageId:g==="inline"?"preferInlineOverMethod":"preferInlineFunctionOverMethod"}),!0}return!1}function o(d,g){switch(g){case"method":return m(d);case"inline":return h(d),!0}return!1}function u(d){const E=t.getSourceCode().parserServices.getTemplateBodyTokenStore().getTokens(d,{includeComments:!0}),b=E[0],T=E[E.length-1],S=mje(b);return{rangeWithoutQuotes:S?[b.range[1],T.range[0]]:[b.range[0],T.range[1]],get hasComment(){return E.some(C=>C.type==="Block"||C.type==="Line")},hasQuote:S}}function c(d){for(const g of i)for(const y of g.variables)for(const E of y.references){const{range:b}=E.id;if(d.range[0]<=b[0]&&b[1]<=d.range[1])return!0}return!1}function f(d){const{rangeWithoutQuotes:g,hasComment:y}=u(d.parent);if(r&&y)return!1;const E=c4(d);return(!E||E.arguments.length>0)&&c(d)?!1:(t.report({node:d,messageId:E?"preferMethodOverInline":"preferMethodOverInlineWithoutIdCall",fix:b=>{if(y||!E||E.arguments.length>0)return null;const T=s.get(E.callee.name);return T!=null&&T>0?null:b.replaceTextRange(g,t.getSourceCode().getText(E.callee))}}),!0)}function m(d){const{rangeWithoutQuotes:g,hasComment:y}=u(d.parent);if(r&&y)return!1;let E=null;if(d.body.type==="BlockStatement"?E=c4(d.body):u4(d.body)&&(E=d.body),(!E||!b(E))&&c(d))return!1;return t.report({node:d,messageId:E?"preferMethodOverInlineFunction":"preferMethodOverInlineFunctionWithoutIdCall",fix:T=>{if(y||!E||!b(E))return null;const S=s.get(E.callee.name);return S!=null&&S!==E.arguments.length?null:T.replaceTextRange(g,t.getSourceCode().getText(E.callee))}}),!0;function b(T){return d.params.length===T.arguments.length&&d.params.every((S,x)=>{if(S.type!=="Identifier")return!1;const C=T.arguments[x];return!C||C.type!=="Identifier"?!1:S.name===C.name})}}function p(d){t.report({node:d,messageId:"preferInlineFunctionOverInline",*fix(g){if(a.some(({range:A})=>d.range[0]<=A[0]&&A[1]<=d.range[1]))return;const{rangeWithoutQuotes:E,hasQuote:b}=u(d.parent);if(!b)return;yield g.insertTextBeforeRange(E,"() => ");const S=t.getSourceCode().parserServices.getTemplateBodyTokenStore(),x=S.getFirstToken(d),C=S.getLastToken(d);x.value==="{"&&C.value==="}"||C.value!==";"&&d.body.length===1&&d.body[0].type==="ExpressionStatement"||(yield g.insertTextBefore(x,"{"),yield g.insertTextAfter(C,"}"))}})}function h(d){t.report({node:d,messageId:d.params.length>1?"preferInlineOverInlineFunctionWithMultipleParams":"preferInlineOverInlineFunction",fix:d.params.length>0?null:g=>{let y=t.getSourceCode().getText(d.body);return d.body.type==="BlockStatement"&&(y=y.slice(1,-1)),g.replaceText(d,y)}})}return uA.defineTemplateBodyVisitor(t,{VElement(d){i.add(d)},"VElement:exit"(d){i.delete(d)},"VAttribute[directive=true][key.name.name='on'][key.argument!=null] > VExpressionContainer.value:exit"(d){const g=d.expression;if(g)switch(g.type){case"VOnExpression":{if(e[0]==="inline")return;for(const y of e)if(n(g,y))return;break}case"Identifier":{if(e[0]==="method")return;for(const y of e)if(l(g,y))return;break}case"ArrowFunctionExpression":case"FunctionExpression":{if(e[0]==="inline-function")return;for(const y of e)if(o(g,y))return;break}default:return}},...e.includes("inline-function")?{'Identifier[name="$event"]'(d){a.push(d)}}:{}},e.includes("method")?uA.defineVueVisitor(t,{onVueObjectEnter(d){for(const g of uA.iterateProperties(d,new Set(["methods"]))){if(g.type!=="object")continue;const y=g.property.value;(y.type==="FunctionExpression"||y.type==="ArrowFunctionExpression")&&s.set(g.name,y.params.some(E=>E.type==="RestElement")?Number.POSITIVE_INFINITY:y.params.length)}}}):{})}};const hje=me;var gje={meta:{type:"suggestion",docs:{description:"enforce `v-on` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-on-style.html"},fixable:"code",schema:[{enum:["shorthand","longform"]}],messages:{expectedShorthand:"Expected '@' instead of 'v-on:'.",expectedLonghand:"Expected 'v-on:' instead of '@'."}},create(t){const e=t.options[0]!=="longform";return hje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null]"(r){if(r.key.name.rawName==="@"===e)return;const s=r.range[0];t.report({node:r,loc:r.loc,messageId:e?"expectedShorthand":"expectedLonghand",fix:a=>e?a.replaceTextRange([s,s+5],"@"):a.replaceTextRange([s,s+1],"v-on:")})}})}};const{pascalCase:yje}=Mt,Eje=me;function vje(t){const e={atComponent:"v-slot",default:"shorthand",named:"shorthand"};if(typeof t=="string")e.atComponent=e.default=e.named=t;else if(t!=null){const r=["atComponent","default","named"];for(const i of r)t[i]!=null&&(e[i]=t[i])}return e}function bje(t,e){const{argument:r}=e.key;return r==null||r.type==="VIdentifier"&&r.name==="default"?e.parent.parent.name==="template"?t.default:t.atComponent:t.named}function xje(t){const{name:e,argument:r}=t.key;return e.rawName==="#"?"shorthand":r!=null?"longform":"v-slot"}var Sje={meta:{type:"suggestion",docs:{description:"enforce `v-slot` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-slot-style.html"},fixable:"code",schema:[{anyOf:[{enum:["shorthand","longform"]},{type:"object",properties:{atComponent:{enum:["shorthand","longform","v-slot"]},default:{enum:["shorthand","longform","v-slot"]},named:{enum:["shorthand","longform"]}},additionalProperties:!1}]}],messages:{expectedShorthand:"Expected '#{{argument}}' instead of '{{actual}}'.",expectedLongform:"Expected 'v-slot:{{argument}}' instead of '{{actual}}'.",expectedVSlot:"Expected 'v-slot' instead of '{{actual}}'."}},create(t){const e=t.getSourceCode(),r=vje(t.options[0]);return Eje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='slot']"(i){const s=bje(r,i);if(xje(i)===s)return;const{name:n,argument:l}=i.key,o=[n.range[0],(l||n).range[1]],u=l?e.getText(l):"default";t.report({node:i,messageId:`expected${yje(s)}`,data:{actual:e.text.slice(o[0],o[1]),argument:u},fix(c){switch(s){case"shorthand":return c.replaceTextRange(o,`#${u}`);case"longform":return c.replaceTextRange(o,`v-slot:${u}`);case"v-slot":return c.replaceTextRange(o,"v-slot");default:return null}}})}})}},cA={};cA.name=t=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(t),cA.qname=t=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(t);const f4=me,p4=cA;var Tje={meta:{type:"problem",docs:{description:"require valid attribute names",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-attribute-name.html"},fixable:null,schema:[],messages:{attribute:"Attribute name {{name}} is not valid."}},create(t){const e=r=>typeof r=="string"?r:r.name;return f4.defineTemplateBodyVisitor(t,{VAttribute(r){if(f4.isCustomComponent(r.parent.parent))return;const i=e(r.key.name);r.directive&&i==="bind"&&r.key.argument&&r.key.argument.type==="VIdentifier"&&!p4.name(r.key.argument.name)&&t.report({node:r,messageId:"attribute",data:{name:r.key.argument.name}}),!r.directive&&!p4.name(i)&&t.report({node:r,messageId:"attribute",data:{name:i}})}})}};const{findVariable:Cje}=gt,Zn=me;var Aje={meta:{type:"problem",docs:{description:"enforce valid `defineEmits` compiler macro",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-define-emits.html"},fixable:null,schema:[],messages:{hasTypeAndArg:"`defineEmits` has both a type-only emit and an argument.",referencingLocally:"`defineEmits` is referencing locally declared variables.",multiple:"`defineEmits` has been called multiple times.",notDefined:"Custom events are not defined.",definedInBoth:"Custom events are defined in both `defineEmits` and `export default {}`."}},create(t){const e=Zn.getScriptSetupElement(t);if(!e)return{};const r=new Set;let i=!1;const s=[];let a=null;return Zn.compositingVisitors(Zn.defineScriptSetupVisitor(t,{onDefineEmitsEnter(n){s.push(n);const l="typeArguments"in n?n.typeArguments:n.typeParameters;if(n.arguments.length>0){if(l&&l.params.length>0){t.report({node:n,messageId:"hasTypeAndArg"});return}r.add(n.arguments[0])}else(!l||l.params.length===0)&&(a=n)},Identifier(n){for(const l of r)if(Zn.inRange(l.range,n)){const o=Cje(Zn.getScope(t,n),n);if(o&&o.references.some(u=>u.identifier===n)&&o.defs.length>0&&o.defs.every(u=>u.type!=="ImportBinding"&&Zn.inRange(e.range,u.name)&&!Zn.inRange(l.range,u.name))){if(Zn.withinTypeNode(n))continue;t.report({node:n,messageId:"referencingLocally"})}}}}),Zn.defineVueVisitor(t,{onVueObjectEnter(n,{type:l}){l!=="export"||Zn.inRange(e.range,n)||(i=!!Zn.findProperty(n,"emits"))}}),{"Program:exit"(){if(s.length!==0){if(s.length>1){for(const n of s)t.report({node:n,messageId:"multiple"});return}if(a)i||t.report({node:a,messageId:"notDefined"});else if(i)for(const n of s)t.report({node:n,messageId:"definedInBoth"})}}})}};const{findVariable:Rje}=gt,ri=me;var wje={meta:{type:"problem",docs:{description:"enforce valid `defineOptions` compiler macro",categories:void 0,url:"https://eslint.vuejs.org/rules/valid-define-options.html"},fixable:null,schema:[],messages:{referencingLocally:"`defineOptions` is referencing locally declared variables.",multiple:"`defineOptions` has been called multiple times.",notDefined:"Options are not defined.",disallowProp:"`defineOptions()` cannot be used to declare `{{propName}}`. Use `{{insteadMacro}}()` instead.",typeArgs:"`defineOptions()` cannot accept type arguments."}},create(t){const e=ri.getScriptSetupElement(t);if(!e)return{};const r=new Set,i=[];return ri.compositingVisitors(ri.defineScriptSetupVisitor(t,{onDefineOptionsEnter(s){if(i.push(s),s.arguments.length>0){const n=s.arguments[0];if(n.type==="ObjectExpression")for(const[l,o]of[["props","defineProps"],["emits","defineEmits"],["expose","defineExpose"],["slots","defineSlots"]])ri.findProperty(n,l)&&t.report({node:s,messageId:"disallowProp",data:{propName:l,insteadMacro:o}});r.add(s.arguments[0])}else t.report({node:s,messageId:"notDefined"});const a="typeArguments"in s?s.typeArguments:s.typeParameters;a&&t.report({node:a,messageId:"typeArgs"})},Identifier(s){for(const a of r)if(ri.inRange(a.range,s)){const n=Rje(ri.getScope(t,s),s);if(n&&n.references.some(l=>l.identifier===s)&&n.defs.length>0&&n.defs.every(l=>l.type!=="ImportBinding"&&ri.inRange(e.range,l.name)&&!ri.inRange(a.range,l.name))){if(ri.withinTypeNode(s))continue;t.report({node:s,messageId:"referencingLocally"})}}}}),{"Program:exit"(){if(i.length>1)for(const s of i)t.report({node:s,messageId:"multiple"})}})}};const{findVariable:kje}=gt,es=me;var _je={meta:{type:"problem",docs:{description:"enforce valid `defineProps` compiler macro",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-define-props.html"},fixable:null,schema:[],messages:{hasTypeAndArg:"`defineProps` has both a type-only props and an argument.",referencingLocally:"`defineProps` is referencing locally declared variables.",multiple:"`defineProps` has been called multiple times.",notDefined:"Props are not defined.",definedInBoth:"Props are defined in both `defineProps` and `export default {}`."}},create(t){const e=es.getScriptSetupElement(t);if(!e)return{};const r=new Set;let i=!1;const s=[];let a=null;return es.compositingVisitors(es.defineScriptSetupVisitor(t,{onDefinePropsEnter(n){s.push(n);const l="typeArguments"in n?n.typeArguments:n.typeParameters;if(n.arguments.length>0){if(l&&l.params.length>0){t.report({node:n,messageId:"hasTypeAndArg"});return}r.add(n.arguments[0])}else(!l||l.params.length===0)&&(a=n)},Identifier(n){for(const l of r)if(es.inRange(l.range,n)){const o=kje(es.getScope(t,n),n);if(o&&o.references.some(u=>u.identifier===n)&&o.defs.length>0&&o.defs.every(u=>u.type!=="ImportBinding"&&es.inRange(e.range,u.name)&&!es.inRange(l.range,u.name))){if(es.withinTypeNode(n))continue;t.report({node:n,messageId:"referencingLocally"})}}}}),es.defineVueVisitor(t,{onVueObjectEnter(n,{type:l}){l!=="export"||es.inRange(e.range,n)||(i=!!es.findProperty(n,"props"))}}),{"Program:exit"(){if(s.length!==0){if(s.length>1){for(const n of s)t.report({node:n,messageId:"multiple"});return}if(a)i||t.report({node:a,messageId:"notDefined"});else if(i)for(const n of s)t.report({node:n,messageId:"definedInBoth"})}}})}};const fA=me,{findVariable:Dje}=gt;function Ije(t,e){if(t.name==="$nextTick"&&t.parent.type==="MemberExpression"&&fA.isThis(t.parent.object,e)||t.name==="nextTick"&&t.parent.type==="MemberExpression"&&t.parent.object.type==="Identifier"&&t.parent.object.name==="Vue")return t.parent;const r=Dje(fA.getScope(e,t),t);if(r!=null&&r.defs.length===1){const i=r.defs[0];if(i.type==="ImportBinding"&&i.node.type==="ImportSpecifier"&&i.node.imported.type==="Identifier"&&i.node.imported.name==="nextTick"&&i.node.parent.type==="ImportDeclaration"&&i.node.parent.source.value==="vue")return t}}function m4(t){return t.parent.type==="AwaitExpression"||t.parent.type==="ReturnStatement"||t.parent.type==="ArrowFunctionExpression"&&t.parent.body===t||t.parent.type==="MemberExpression"&&t.parent.property.type==="Identifier"&&t.parent.property.name==="then"||t.parent.type==="VariableDeclarator"||t.parent.type==="AssignmentExpression"||t.parent.type==="ArrayExpression"&&t.parent.parent.type==="CallExpression"&&t.parent.parent.callee.type==="MemberExpression"&&t.parent.parent.callee.object.type==="Identifier"&&t.parent.parent.callee.object.name==="Promise"&&t.parent.parent.callee.property.type==="Identifier"}var Pje={meta:{type:"problem",docs:{description:"enforce valid `nextTick` function calls",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-next-tick.html"},fixable:"code",hasSuggestions:!0,schema:[],messages:{shouldBeFunction:"`nextTick` is a function.",missingCallbackOrAwait:"Await the Promise returned by `nextTick` or pass a callback function.",addAwait:"Add missing `await` statement.",tooManyParameters:"`nextTick` expects zero or one parameters.",eitherAwaitOrCallback:"Either await the Promise or pass a callback function to `nextTick`."}},create(t){return fA.defineVueVisitor(t,{Identifier(e){const r=Ije(e,t);if(!r||!r.parent)return;let i=r.parent;if(i.type==="ConditionalExpression"&&(i=i.parent),!(i.type==="CallExpression"&&i.callee!==r)&&!(i.type==="VariableDeclarator"||i.type==="AssignmentExpression")){if(i.type!=="CallExpression"){t.report({node:e,messageId:"shouldBeFunction",fix(s){return s.insertTextAfter(e,"()")}});return}if(i.arguments.length===0){m4(i)||t.report({node:e,messageId:"missingCallbackOrAwait",suggest:[{messageId:"addAwait",fix(s){return s.insertTextBefore(i,"await ")}}]});return}if(i.arguments.length>1){t.report({node:e,messageId:"tooManyParameters"});return}m4(i)&&t.report({node:e,messageId:"eitherAwaitOrCallback"})}}})}};const Lje=me;var Fje={meta:{type:"problem",docs:{description:"enforce valid template root",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-template-root.html"},fixable:null,schema:[],messages:{emptySrc:"The template root with 'src' attribute is required to be empty.",noChild:"The template requires child element."}},create(t){const e=t.getSourceCode();return{Program(r){const i=r.templateBody;if(i==null)return;const s=Lje.hasAttribute(i,"src"),a=[];for(const n of i.children)e.getText(n).trim()!==""&&a.push(n);if(s&&a.length>0)for(const n of a)t.report({node:n,loc:n.loc,messageId:"emptySrc"});else a.length===0&&!s&&t.report({node:i,loc:i.loc,messageId:"noChild"})}}}};const d4=me;function Nje(t){return!!d4.isCustomComponent(t)}function Bje(t){return t.type==="ChainExpression"&&t.expression.type==="MemberExpression"}function Oje(t){return t.type==="Identifier"||t.type==="MemberExpression"}function h4(t){if(t.type!=="MemberExpression")return!1;const{object:e}=t;return e.type==="ChainExpression"||e.type==="Literal"&&e.value===null&&!e.bigint?!0:e.type==="MemberExpression"?h4(e):!1}var $je={meta:{type:"problem",docs:{description:"enforce valid `.sync` modifier on `v-bind` directives",categories:["vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-bind-sync.html"},fixable:null,schema:[],messages:{unexpectedInvalidElement:"'.sync' modifiers aren't supported on <{{name}}> non Vue-components.",unexpectedOptionalChaining:"Optional chaining cannot appear in 'v-bind' with '.sync' modifiers.",unexpectedNonLhsExpression:"'.sync' modifiers require the attribute value which is valid as LHS.",unexpectedNullObject:"'.sync' modifier has potential null object property access.",unexpectedUpdateIterationVariable:"'.sync' modifiers cannot update the iteration variable '{{varName}}' itself."}},create(t){return d4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind']"(e){if(!e.key.modifiers.map(a=>a.name).includes("sync"))return;const r=e.parent.parent,i=r.name;if(Nje(r)||t.report({node:e,messageId:"unexpectedInvalidElement",data:{name:i}}),!e.value)return;const s=e.value.expression;if(s){Bje(s)?t.report({node:s,messageId:"unexpectedOptionalChaining"}):Oje(s)?h4(s)&&t.report({node:s,messageId:"unexpectedNullObject"}):t.report({node:s,messageId:"unexpectedNonLhsExpression"});for(const a of e.value.references){const n=a.id;if(n.parent.type!=="VExpressionContainer")continue;a.variable&&t.report({node:s,messageId:"unexpectedUpdateIterationVariable",data:{varName:n.name}})}}}})}};const g4=me,Vje=new Set(["prop","camel","sync","attr"]);var Mje={meta:{type:"problem",docs:{description:"enforce valid `v-bind` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-bind.html"},fixable:null,schema:[],messages:{unsupportedModifier:"'v-bind' directives don't support the modifier '{{name}}'.",expectedValue:"'v-bind' directives require an attribute value."}},create(t){return g4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind']"(e){for(const r of e.key.modifiers)Vje.has(r.name)||t.report({node:r,messageId:"unsupportedModifier",data:{name:r.name}});(!e.value||g4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const Uje=me;var jje={meta:{type:"problem",docs:{description:"enforce valid `v-cloak` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-cloak.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-cloak' directives require no argument.",unexpectedModifier:"'v-cloak' directives require no modifier.",unexpectedValue:"'v-cloak' directives require no attribute value."}},create(t){return Uje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='cloak']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const Gu=me;var qje={meta:{type:"problem",docs:{description:"enforce valid `v-else-if` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-else-if.html"},fixable:null,schema:[],messages:{missingVIf:"'v-else-if' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive.",withVIf:"'v-else-if' and 'v-if' directives can't exist on the same element.",withVElse:"'v-else-if' and 'v-else' directives can't exist on the same element.",unexpectedArgument:"'v-else-if' directives require no argument.",unexpectedModifier:"'v-else-if' directives require no modifier.",expectedValue:"'v-else-if' directives require that attribute value."}},create(t){return Gu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='else-if']"(e){const r=e.parent.parent;Gu.prevElementHasIf(r)||t.report({node:e,messageId:"missingVIf"}),Gu.hasDirective(r,"if")&&t.report({node:e,messageId:"withVIf"}),Gu.hasDirective(r,"else")&&t.report({node:e,messageId:"withVElse"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||Gu.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const cd=me;var Kje={meta:{type:"problem",docs:{description:"enforce valid `v-else` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-else.html"},fixable:null,schema:[],messages:{missingVIf:"'v-else' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive.",withVIf:"'v-else' and 'v-if' directives can't exist on the same element. You may want 'v-else-if' directives.",withVElseIf:"'v-else' and 'v-else-if' directives can't exist on the same element.",unexpectedArgument:"'v-else' directives require no argument.",unexpectedModifier:"'v-else' directives require no modifier.",unexpectedValue:"'v-else' directives require no attribute value."}},create(t){return cd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='else']"(e){const r=e.parent.parent;cd.prevElementHasIf(r)||t.report({node:e,messageId:"missingVIf"}),cd.hasDirective(r,"if")&&t.report({node:e,messageId:"withVIf"}),cd.hasDirective(r,"else-if")&&t.report({node:e,messageId:"withVElseIf"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const Wu=me;function Gje(t,e){if(e.value==null)return!1;const r=e.value.references,i=t.parent.parent.variables;return r.some(s=>i.some(a=>a.id.name===s.id.name&&a.kind==="v-for"))}function Wje(t,e,r){const i=Wu.getDirective(r,"for");if(i!=null){const s=i.value&&i.value.references||[],a=e.parent.parent.variables;if(s.some(l=>a.some(o=>l.id.name===o.id.name&&o.kind==="v-for")))return}y4(t,e,r)}function y4(t,e,r){const i=Wu.getDirective(r,"bind","key");if(i==null&&r.name==="template"){for(const s of r.children)s.type==="VElement"&&Wje(t,e,s);return}Wu.isCustomComponent(r)&&i==null&&t.report({node:r.startTag,messageId:"requireKey"}),i!=null&&!Gje(e,i)&&t.report({node:i,messageId:"keyUseFVorVars"})}var Hje={meta:{type:"problem",docs:{description:"enforce valid `v-for` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-for.html"},fixable:null,schema:[],messages:{requireKey:"Custom elements in iteration require 'v-bind:key' directives.",keyUseFVorVars:"Expected 'v-bind:key' directive to use the variables which are defined by the 'v-for' directive.",unexpectedArgument:"'v-for' directives require no argument.",unexpectedModifier:"'v-for' directives require no modifier.",expectedValue:"'v-for' directives require that attribute value.",unexpectedExpression:"'v-for' directives require the special syntax '<alias> in <expression>'.",invalidEmptyAlias:"Invalid alias ''.",invalidAlias:"Invalid alias '{{text}}'."}},create(t){const e=t.getSourceCode();return Wu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='for']"(r){const i=r.parent.parent;if(y4(t,r,i),r.key.argument&&t.report({node:r.key.argument,messageId:"unexpectedArgument"}),r.key.modifiers.length>0&&t.report({node:r,loc:{start:r.key.modifiers[0].loc.start,end:r.key.modifiers[r.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),!r.value||Wu.isEmptyValueDirective(r,t)){t.report({node:r,messageId:"expectedValue"});return}const s=r.value.expression;if(s==null)return;if(s.type!=="VForExpression"){t.report({node:r.value,messageId:"unexpectedExpression"});return}const a=s.left,n=a[0],l=a[1],o=a[2];n===null&&t.report({node:s,messageId:"invalidEmptyAlias"}),l!==void 0&&(!l||l.type!=="Identifier")&&t.report({node:l||s,messageId:"invalidAlias",data:{text:l?e.getText(l):""}}),o!==void 0&&(!o||o.type!=="Identifier")&&t.report({node:o||s,messageId:"invalidAlias",data:{text:o?e.getText(o):""}})}})}};const E4=me;var zje={meta:{type:"problem",docs:{description:"enforce valid `v-html` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-html.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-html' directives require no argument.",unexpectedModifier:"'v-html' directives require no modifier.",expectedValue:"'v-html' directives require that attribute value."}},create(t){return E4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='html']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||E4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const fd=me;var Xje={meta:{type:"problem",docs:{description:"enforce valid `v-if` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-if.html"},fixable:null,schema:[],messages:{withVElse:"'v-if' and 'v-else' directives can't exist on the same element. You may want 'v-else-if' directives.",withVElseIf:"'v-if' and 'v-else-if' directives can't exist on the same element.",unexpectedArgument:"'v-if' directives require no argument.",unexpectedModifier:"'v-if' directives require no modifier.",expectedValue:"'v-if' directives require that attribute value."}},create(t){return fd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='if']"(e){const r=e.parent.parent;fd.hasDirective(r,"else")&&t.report({node:e,messageId:"withVElse"}),fd.hasDirective(r,"else-if")&&t.report({node:e,messageId:"withVElseIf"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||fd.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const pd=me;function Yje(t){return!(pd.isHtmlElementNode(t)&&!pd.isHtmlWellKnownElementName(t.rawName))}var Jje={meta:{type:"problem",docs:{description:"enforce valid `v-is` directives",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/valid-v-is.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-is' directives require no argument.",unexpectedModifier:"'v-is' directives require no modifier.",expectedValue:"'v-is' directives require that attribute value.",ownerMustBeHTMLElement:"'v-is' directive must be owned by a native HTML element, but '{{name}}' is not."}},create(t){return pd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='is']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||pd.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"});const r=e.parent.parent;if(!Yje(r)){const i=r.name;t.report({node:e,messageId:"ownerMustBeHTMLElement",data:{name:i}})}}})}};const pA=me;var Qje={meta:{type:"problem",docs:{description:"enforce valid `v-memo` directives",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/valid-v-memo.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-memo' directives require no argument.",unexpectedModifier:"'v-memo' directives require no modifier.",expectedValue:"'v-memo' directives require that attribute value.",expectedArray:"'v-memo' directives require the attribute value to be an array.",insideVFor:"'v-memo' directive does not work inside 'v-for'."}},create(t){let e=null;return pA.defineTemplateBodyVisitor(t,{VElement(r){!e&&pA.hasDirective(r,"for")&&(e=r)},"VElement:exit"(r){e===r&&(e=null)},"VAttribute[directive=true][key.name.name='memo']"(r){if(e&&e!==r.parent.parent&&t.report({node:r.key,messageId:"insideVFor"}),r.key.argument&&t.report({node:r.key.argument,messageId:"unexpectedArgument"}),r.key.modifiers.length>0&&t.report({node:r,loc:{start:r.key.modifiers[0].loc.start,end:r.key.modifiers[r.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),!r.value||pA.isEmptyValueDirective(r,t)){t.report({node:r,messageId:"expectedValue"});return}if(!r.value.expression)return;const i=[r.value.expression];let s;for(;s=i.pop();)switch(s.type){case"ObjectExpression":case"ClassExpression":case"ArrowFunctionExpression":case"FunctionExpression":case"Literal":case"TemplateLiteral":case"UnaryExpression":case"BinaryExpression":case"UpdateExpression":{t.report({node:s,messageId:"expectedArray"});break}case"AssignmentExpression":{i.push(s.right);break}case"TSAsExpression":{i.push(s.expression);break}case"SequenceExpression":{i.push(s.expressions[s.expressions.length-1]);break}case"ConditionalExpression":{i.push(s.consequent,s.alternate);break}}}})}};const Hu=me,Zje=new Set(["lazy","number","trim"]);function e9e(t){const e=t.name;return e==="input"||e==="select"||e==="textarea"||e!=="keep-alive"&&e!=="slot"&&e!=="transition"&&e!=="transition-group"&&Hu.isCustomComponent(t)}function t9e(t){return t.type==="ChainExpression"&&t.expression.type==="MemberExpression"}function v4(t){return t.type==="TSAsExpression"||t.type==="TSNonNullExpression"?v4(t.expression):t.type==="Identifier"||t.type==="MemberExpression"}function b4(t){if(t.type!=="MemberExpression")return!1;const{object:e}=t;return e.type==="ChainExpression"||e.type==="Literal"&&e.value===null&&!e.bigint?!0:e.type==="MemberExpression"?b4(e):!1}function r9e(t,e){let r=e;for(;r!=null;){const i=r.variables,s=i&&i.find(a=>a.id.name===t);if(s!=null)return s;if(r.parent.type==="VDocumentFragment")break;r=r.parent}return null}var n9e={meta:{type:"problem",docs:{description:"enforce valid `v-model` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-model.html"},fixable:null,schema:[],messages:{unexpectedInvalidElement:"'v-model' directives aren't supported on <{{name}}> elements.",unexpectedInputFile:"'v-model' directives don't support 'file' input type.",unexpectedArgument:"'v-model' directives require no argument.",unexpectedModifier:"'v-model' directives don't support the modifier '{{name}}'.",missingValue:"'v-model' directives require that attribute value.",unexpectedOptionalChaining:"Optional chaining cannot appear in 'v-model' directives.",unexpectedNonLhsExpression:"'v-model' directives require the attribute value which is valid as LHS.",unexpectedNullObject:"'v-model' directive has potential null object property access.",unexpectedUpdateIterationVariable:"'v-model' directives cannot update the iteration variable '{{varName}}' itself."}},create(t){return Hu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='model']"(e){const r=e.parent.parent,i=r.name;if(e9e(r)||t.report({node:e,messageId:"unexpectedInvalidElement",data:{name:i}}),i==="input"&&Hu.hasAttribute(r,"type","file")&&t.report({node:e,messageId:"unexpectedInputFile"}),!Hu.isCustomComponent(r)){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"});for(const a of e.key.modifiers)Zje.has(a.name)||t.report({node:a,messageId:"unexpectedModifier",data:{name:a.name}})}if(!e.value||Hu.isEmptyValueDirective(e,t)){t.report({node:e,messageId:"missingValue"});return}const s=e.value.expression;if(s){t9e(s)?t.report({node:s,messageId:"unexpectedOptionalChaining"}):v4(s)?b4(s)&&t.report({node:s,messageId:"unexpectedNullObject"}):t.report({node:s,messageId:"unexpectedNonLhsExpression"});for(const a of e.value.references){const n=a.id;if(n.parent.type!=="VExpressionContainer")continue;r9e(n.name,r)!=null&&t.report({node:s,messageId:"unexpectedUpdateIterationVariable",data:{varName:n.name}})}}}})}};const s9e=["unidentified","alt","alt-graph","caps-lock","control","fn","fn-lock","meta","num-lock","scroll-lock","shift","symbol","symbol-lock","hyper","super","enter","tab","arrow-down","arrow-left","arrow-right","arrow-up","end","home","page-down","page-up","backspace","clear","copy","cr-sel","cut","delete","erase-eof","ex-sel","insert","paste","redo","undo","accept","again","attn","cancel","context-menu","escape","execute","find","help","pause","select","zoom-in","zoom-out","brightness-down","brightness-up","eject","log-off","power","print-screen","hibernate","standby","wake-up","all-candidates","alphanumeric","code-input","compose","convert","dead","final-mode","group-first","group-last","group-next","group-previous","mode-change","next-candidate","non-convert","previous-candidate","process","single-candidate","hangul-mode","hanja-mode","junja-mode","eisu","hankaku","hiragana","hiragana-katakana","kana-mode","kanji-mode","katakana","romaji","zenkaku","zenkaku-hankaku","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","soft1","soft2","soft3","soft4","channel-down","channel-up","close","mail-forward","mail-reply","mail-send","media-close","media-fast-forward","media-pause","media-play-pause","media-record","media-rewind","media-stop","media-track-next","media-track-previous","new","open","print","save","spell-check","key11","key12","audio-balance-left","audio-balance-right","audio-bass-boost-down","audio-bass-boost-toggle","audio-bass-boost-up","audio-fader-front","audio-fader-rear","audio-surround-mode-next","audio-treble-down","audio-treble-up","audio-volume-down","audio-volume-up","audio-volume-mute","microphone-toggle","microphone-volume-down","microphone-volume-up","microphone-volume-mute","speech-correction-list","speech-input-toggle","launch-application1","launch-application2","launch-calendar","launch-contacts","launch-mail","launch-media-player","launch-music-player","launch-phone","launch-screen-saver","launch-spreadsheet","launch-web-browser","launch-web-cam","launch-word-processor","browser-back","browser-favorites","browser-forward","browser-home","browser-refresh","browser-search","browser-stop","app-switch","call","camera","camera-focus","end-call","go-back","go-home","headset-hook","last-number-redial","notification","manner-mode","voice-dial","t-v","t-v3-d-mode","t-v-antenna-cable","t-v-audio-description","t-v-audio-description-mix-down","t-v-audio-description-mix-up","t-v-contents-menu","t-v-data-service","t-v-input","t-v-input-component1","t-v-input-component2","t-v-input-composite1","t-v-input-composite2","t-v-input-h-d-m-i1","t-v-input-h-d-m-i2","t-v-input-h-d-m-i3","t-v-input-h-d-m-i4","t-v-input-v-g-a1","t-v-media-context","t-v-network","t-v-number-entry","t-v-power","t-v-radio-service","t-v-satellite","t-v-satellite-b-s","t-v-satellite-c-s","t-v-satellite-toggle","t-v-terrestrial-analog","t-v-terrestrial-digital","t-v-timer","a-v-r-input","a-v-r-power","color-f0-red","color-f1-green","color-f2-yellow","color-f3-blue","color-f4-grey","color-f5-brown","closed-caption-toggle","dimmer","display-swap","d-v-r","exit","favorite-clear0","favorite-clear1","favorite-clear2","favorite-clear3","favorite-recall0","favorite-recall1","favorite-recall2","favorite-recall3","favorite-store0","favorite-store1","favorite-store2","favorite-store3","guide","guide-next-day","guide-previous-day","info","instant-replay","link","list-program","live-content","lock","media-apps","media-last","media-skip-backward","media-skip-forward","media-step-backward","media-step-forward","media-top-menu","navigate-in","navigate-next","navigate-out","navigate-previous","next-favorite-channel","next-user-profile","on-demand","pairing","pin-p-down","pin-p-move","pin-p-toggle","pin-p-up","play-speed-down","play-speed-reset","play-speed-up","random-toggle","rc-low-battery","record-speed-next","rf-bypass","scan-channels-toggle","screen-mode-next","settings","split-screen-toggle","s-t-b-input","s-t-b-power","subtitle","teletext","video-mode-next","wink","zoom-toggle","audio-volume-down","audio-volume-up","audio-volume-mute","browser-back","browser-forward","channel-down","channel-up","context-menu","eject","end","enter","home","media-fast-forward","media-play","media-play-pause","media-record","media-rewind","media-stop","media-next-track","media-pause","media-previous-track","power","unidentified"],x4=me,i9e=s9e,a9e=new Set(["stop","prevent","capture","self","ctrl","shift","alt","meta","native","once","left","right","middle","passive","esc","tab","enter","space","up","left","right","down","delete","exact"]),o9e=new Set(["stop","prevent"]),l9e=new Set(i9e);function u9e(t,e){const r=t.name;return a9e.has(r)||Number.isInteger(Number.parseInt(r,10))||[...r].length===1||l9e.has(r)||e.has(r)}var c9e={meta:{type:"problem",docs:{description:"enforce valid `v-on` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-on.html"},fixable:null,schema:[{type:"object",properties:{modifiers:{type:"array"}},additionalProperties:!1}],messages:{unsupportedModifier:"'v-on' directives don't support the modifier '{{modifier}}'.",avoidKeyword:'Avoid using JavaScript keyword as "v-on" value: {{value}}.',expectedValueOrVerb:"'v-on' directives require a value or verb modifier (like 'stop' or 'prevent')."}},create(t){const e=t.options[0]||{},r=new Set(e.modifiers||[]),i=t.getSourceCode();return x4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on']"(s){for(const a of s.key.modifiers)u9e(a,r)||t.report({node:a,messageId:"unsupportedModifier",data:{modifier:a.name}});if((!s.value||!s.value.expression)&&!s.key.modifiers.some(a=>o9e.has(a.name)))if(s.value&&!x4.isEmptyValueDirective(s,t)){const a=i.getText(s.value);let n=a;(a[0]==='"'||a[0]==="'")&&a[0]===a[a.length-1]&&(n=a.slice(1,-1)),/^\w+$/.test(n)&&t.report({node:s.value,messageId:"avoidKeyword",data:{value:a}})}else t.report({node:s,messageId:"expectedValueOrVerb"})}})}};const f9e=me;var p9e={meta:{type:"problem",docs:{description:"enforce valid `v-once` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-once.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-once' directives require no argument.",unexpectedModifier:"'v-once' directives require no modifier.",unexpectedValue:"'v-once' directives require no attribute value."}},create(t){return f9e.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='once']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const m9e=me;var d9e={meta:{type:"problem",docs:{description:"enforce valid `v-pre` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-pre.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-pre' directives require no argument.",unexpectedModifier:"'v-pre' directives require no modifier.",unexpectedValue:"'v-pre' directives require no attribute value."}},create(t){return m9e.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='pre']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const S4=me;var h9e={meta:{type:"problem",docs:{description:"enforce valid `v-show` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-show.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-show' directives require no argument.",unexpectedModifier:"'v-show' directives require no modifier.",expectedValue:"'v-show' directives require that attribute value.",unexpectedTemplate:"'v-show' directives cannot be put on <template> tags."}},create(t){return S4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='show']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||S4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"}),e.parent.parent.name==="template"&&t.report({node:e,messageId:"unexpectedTemplate"})}})}};const ts=me;function g9e(t){return ts.getDirectives(t,"slot")}function y9e(t){const e=[];for(const r of ts.iterateChildElementsChains(t)){const i=r.map(s=>s.name==="template"?ts.getDirective(s,"slot"):null).filter(ts.isDef);i.length>0&&e.push(i)}return e}function T4(t,e){return t.key.argument==null?"default":t.key.modifiers.length===0?e.getText(t.key.argument):e.text.slice(t.key.argument.range[0],t.key.range[1])}function E9e(t,e,r,i,s){const a=T4(e,i);return t.map(n=>n.filter(l=>{if(T4(l,i)!==a)return!1;const o=C4(l,ts.getDirective(l.parent.parent,"for"));return!r||!o?!r&&!o:!!v9e(r,o,s)})).filter(n=>n.length>0)}function v9e(t,e,r){if(t.variables.length!==e.variables.length||!a(t.expr.right,e.expr.right))return!1;const i=new Set,s=Math.min(t.expr.left.length,e.expr.left.length);for(let n=0;n<s;n++){const l=t.expr.left[n],o=e.expr.left[n],u=t.variables.find(f=>l.range[0]<=f.id.range[0]&&f.id.range[1]<=l.range[1]),c=e.variables.find(f=>o.range[0]<=f.id.range[0]&&f.id.range[1]<=o.range[1]);if(u&&c){if(u.id.name!==c.id.name||!a(l,o))return!1;i.add(u.id.name)}else if(u||c)return!1}return t.variables.every(n=>i.has(n.id.name)||e.variables.some(l=>n.id.name===l.id.name));function a(n,l){return n.type!==l.type?!1:ts.equalTokens(n,l,r)}}function C4(t,e){const r=e&&e.value&&e.value.expression,i=r&&b9e(t.key.argument,t.parent.parent);return r&&i&&i.length>0?{expr:r,variables:i}:null}function b9e(t,e){const r=[];if(t&&t.type==="VExpressionContainer")for(const{variable:i}of t.references)i!=null&&i.kind==="v-for"&&i.id.range[0]>e.startTag.range[0]&&i.id.range[1]<e.startTag.range[1]&&r.push(i);return r}function x9e(t){const e=t.key.argument,r=t.value;if(e&&r&&e.type==="VExpressionContainer"){for(const{variable:i}of e.references)if(i!=null&&i.kind==="scope"&&i.id.range[0]>r.range[0]&&i.id.range[1]<r.range[1])return!0}return!1}function S9e(t,e){return e?t.key.argument==null&&t.key.modifiers.length>0:t.key.modifiers.length>0}var T9e={meta:{type:"problem",docs:{description:"enforce valid `v-slot` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-slot.html"},fixable:null,schema:[{type:"object",properties:{allowModifiers:{type:"boolean"}},additionalProperties:!1}],messages:{ownerMustBeCustomElement:"'v-slot' directive must be owned by a custom element, but '{{name}}' is not.",namedSlotMustBeOnTemplate:"Named slots must use '<template>' on a custom element.",defaultSlotMustBeOnTemplate:"Default slot must use '<template>' on a custom element when there are other named slots.",disallowDuplicateSlotsOnElement:"An element cannot have multiple 'v-slot' directives.",disallowDuplicateSlotsOnChildren:"An element cannot have multiple '<template>' elements which are distributed to the same slot.",disallowArgumentUseSlotParams:"Dynamic argument of 'v-slot' directive cannot use that slot parameter.",disallowAnyModifier:"'v-slot' directive doesn't support any modifier.",requireAttributeValue:"'v-slot' directive on a custom element requires that attribute value."}},create(t){const e=t.getSourceCode(),r=e.parserServices.getTemplateBodyTokenStore&&e.parserServices.getTemplateBodyTokenStore(),s=(t.options[0]||{}).allowModifiers===!0;return ts.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='slot']"(a){const n=a.key.argument==null||a.key.argument.type==="VIdentifier"&&a.key.argument.name==="default",l=a.parent.parent,o=l.parent,u=l.name==="template"?o:l;if(u.type==="VDocumentFragment")return;const c=g9e(l),f=y9e(u);if(ts.isCustomComponent(u)||t.report({node:a,messageId:"ownerMustBeCustomElement",data:{name:u.rawName}}),!n&&l.name!=="template"&&t.report({node:a,messageId:"namedSlotMustBeOnTemplate"}),u===l&&f.length>0&&t.report({node:a,messageId:"defaultSlotMustBeOnTemplate"}),c.length>=2&&c[0]!==a&&t.report({node:a,messageId:"disallowDuplicateSlotsOnElement"}),u===o){const m=ts.getDirective(l,"for"),p=C4(a,m),h=E9e(f,a,p,e,r);h.length>=2&&!h[0].includes(a)&&t.report({node:a,messageId:"disallowDuplicateSlotsOnChildren"}),m&&!p&&t.report({node:a,messageId:"disallowDuplicateSlotsOnChildren"})}x9e(a)&&t.report({node:a,messageId:"disallowArgumentUseSlotParams"}),S9e(a,s)&&t.report({node:a,loc:{start:a.key.modifiers[0].loc.start,end:a.key.modifiers[a.key.modifiers.length-1].loc.end},messageId:"disallowAnyModifier"}),u===l&&n&&(!a.value||ts.isEmptyValueDirective(a,t)||ts.isEmptyExpressionValueDirective(a,t))&&t.report({node:a,messageId:"requireAttributeValue"})}})}};const A4=me;var C9e={meta:{type:"problem",docs:{description:"enforce valid `v-text` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-text.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-text' directives require no argument.",unexpectedModifier:"'v-text' directives require no modifier.",expectedValue:"'v-text' directives require that attribute value."}},create(t){return A4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='text']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||A4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}},R4={preprocess(t){return[t]},postprocess(t){const e={block:{disableAllKeys:new Set,disableRuleKeys:new Map},line:{disableAllKeys:new Set,disableRuleKeys:new Map}},r=[],i=new Map,s=t[0].filter(a=>{if(a.ruleId==="vue/comment-directive"){const n=a.messageId,l=a.message.split(" ");switch(n){case"disableBlock":{e.block.disableAllKeys.add(l[1]);break}case"disableLine":{e.line.disableAllKeys.add(l[1]);break}case"enableBlock":{e.block.disableAllKeys.clear();break}case"enableLine":{e.line.disableAllKeys.clear();break}case"disableBlockRule":{w4(e.block.disableRuleKeys,l[1],l[2]);break}case"disableLineRule":{w4(e.line.disableRuleKeys,l[1],l[2]);break}case"enableBlockRule":{e.block.disableRuleKeys.delete(l[1]);break}case"enableLineRule":{e.line.disableRuleKeys.delete(l[1]);break}case"clear":{e.block.disableAllKeys.clear(),e.block.disableRuleKeys.clear(),e.line.disableAllKeys.clear(),e.line.disableRuleKeys.clear();break}default:{i.set(A9e(a),a);break}}return!1}else{const n=[];if(e.block.disableAllKeys.size>0&&n.push(...e.block.disableAllKeys),e.line.disableAllKeys.size>0&&n.push(...e.line.disableAllKeys),a.ruleId){const l=e.block.disableRuleKeys.get(a.ruleId);l&&n.push(...l);const o=e.line.disableRuleKeys.get(a.ruleId);o&&n.push(...o)}return n.length>0?(r.push(...n),!1):!0}});if(i.size>0){for(const a of r)i.delete(a);s.push(...i.values()),s.sort(R9e)}return s},supportsAutofix:!0,meta:KR};function w4(t,e,r){let i=t.get(e);i?i.push(r):(i=[r],t.set(e,i))}function A9e(t){return`line:${t.line},column${t.column-1}`}function R9e(t,e){return t.line-e.line||t.column-e.column}var mA,k4;function dA(){return k4||(k4=1,mA={meta:KR,configs:{base:jG,essential:qG,"no-layout-rules":KG,recommended:GG,"strongly-recommended":WG,"vue3-essential":HG,"vue3-recommended":zG,"vue3-strongly-recommended":XG,"flat/base":jT(),"flat/vue2-essential":f8(),"flat/vue2-recommended":hRe(),"flat/vue2-strongly-recommended":m8(),"flat/essential":g8(),"flat/recommended":gRe(),"flat/strongly-recommended":E8()},rules:{"array-bracket-newline":ake,"array-bracket-spacing":lke,"array-element-newline":cke,"arrow-spacing":pke,"attribute-hyphenation":Tke,"attributes-order":Pke,"block-lang":Bke,"block-order":H3,"block-spacing":ZDe,"block-tag-newline":eIe,"brace-style":rIe,camelcase:sIe,"comma-dangle":aIe,"comma-spacing":lIe,"comma-style":cIe,"comment-directive":gIe,"component-api-style":AIe,"component-definition-name-casing":RIe,"component-name-in-template-casing":DIe,"component-options-name-casing":PIe,"component-tags-order":LIe,"custom-event-name-casing":$Ie,"define-emits-declaration":VIe,"define-macros-order":WIe,"define-props-declaration":HIe,"dot-location":XIe,"dot-notation":JIe,"enforce-style-attribute":rPe,eqeqeq:sPe,"first-attribute-linebreak":aPe,"func-call-spacing":lPe,"html-button-has-type":cPe,"html-closing-bracket-newline":mPe,"html-closing-bracket-spacing":gPe,"html-comment-content-newline":PPe,"html-comment-content-spacing":FPe,"html-comment-indent":OPe,"html-end-tags":$Pe,"html-indent":yLe,"html-quotes":ELe,"html-self-closing":SLe,"jsx-uses-vars":CLe,"key-spacing":RLe,"keyword-spacing":kLe,"match-component-file-name":_Le,"match-component-import-name":ILe,"max-attributes-per-line":FLe,"max-len":OLe,"max-lines-per-block":MLe,"max-props":ULe,"max-template-depth":jLe,"multi-word-component-names":KLe,"multiline-html-element-content-newline":YLe,"multiline-ternary":QLe,"mustache-interpolation-spacing":eFe,"new-line-between-multi-line-property":sFe,"next-tick-style":oFe,"no-arrow-functions-in-watch":lFe,"no-async-in-computed-properties":dFe,"no-bare-strings-in-template":xFe,"no-boolean-default":CFe,"no-child-content":kFe,"no-computed-properties-in-data":_Fe,"no-console":DFe,"no-constant-condition":LFe,"no-custom-modifiers-on-v-model":NFe,"no-deprecated-data-object-declaration":VFe,"no-deprecated-delete-set":qFe,"no-deprecated-destroyed-lifecycle":KFe,"no-deprecated-dollar-listeners-api":GFe,"no-deprecated-dollar-scopedslots-api":WFe,"no-deprecated-events-api":HFe,"no-deprecated-filter":XFe,"no-deprecated-functional-template":JFe,"no-deprecated-html-element-is":QFe,"no-deprecated-inline-template":eNe,"no-deprecated-model-definition":nNe,"no-deprecated-props-default-this":iNe,"no-deprecated-router-link-tag-prop":oNe,"no-deprecated-scope-attribute":fNe,"no-deprecated-slot-attribute":bNe,"no-deprecated-slot-scope-attribute":CNe,"no-deprecated-v-bind-sync":RNe,"no-deprecated-v-is":_Ne,"no-deprecated-v-on-native-modifier":INe,"no-deprecated-v-on-number-modifiers":NNe,"no-deprecated-vue-config-keycodes":ONe,"no-dupe-keys":UNe,"no-dupe-v-else-if":qNe,"no-duplicate-attr-inheritance":WNe,"no-duplicate-attributes":XNe,"no-empty-component-block":ZNe,"no-empty-pattern":tBe,"no-export-in-script-setup":nBe,"no-expose-after-await":iBe,"no-extra-parens":fBe,"no-invalid-model-keys":bBe,"no-irregular-whitespace":CBe,"no-lifecycle-after-await":RBe,"no-lone-template":_Be,"no-loss-of-precision":DBe,"no-multi-spaces":PBe,"no-multiple-objects-in-class":NBe,"no-multiple-slot-args":OBe,"no-multiple-template-root":$Be,"no-mutating-props":qBe,"no-parsing-error":KBe,"no-potential-component-option-typo":WBe,"no-ref-as-operand":aOe,"no-ref-object-destructure":uOe,"no-ref-object-reactivity-loss":Cj,"no-required-prop-with-default":cOe,"no-reserved-component-names":pOe,"no-reserved-keys":hOe,"no-reserved-props":EOe,"no-restricted-block":xOe,"no-restricted-call-after-await":TOe,"no-restricted-class":COe,"no-restricted-component-names":_Oe,"no-restricted-component-options":POe,"no-restricted-custom-event":FOe,"no-restricted-html-elements":NOe,"no-restricted-props":OOe,"no-restricted-static-attribute":UOe,"no-restricted-syntax":qOe,"no-restricted-v-bind":HOe,"no-restricted-v-on":YOe,"no-root-v-if":JOe,"no-setup-props-destructure":e2e,"no-setup-props-reactivity-loss":a9,"no-shared-component-data":s2e,"no-side-effects-in-computed-properties":a2e,"no-spaces-around-equal-signs-in-attribute":l2e,"no-sparse-arrays":c2e,"no-static-inline-styles":d2e,"no-template-key":h2e,"no-template-shadow":E2e,"no-template-target-blank":A2e,"no-textarea-mustache":w2e,"no-this-in-before-route-enter":k2e,"no-undef-components":I2e,"no-undef-properties":$2e,"no-unsupported-features":tMe,"no-unused-components":rMe,"no-unused-emit-declarations":sMe,"no-unused-properties":yMe,"no-unused-refs":vMe,"no-unused-vars":TMe,"no-use-computed-property-like-method":_Me,"no-use-v-else-with-v-for":IMe,"no-use-v-if-with-v-for":LMe,"no-useless-concat":NMe,"no-useless-mustaches":$Me,"no-useless-template-attributes":UMe,"no-useless-v-bind":qMe,"no-v-for-template-key-on-child":KMe,"no-v-for-template-key":GMe,"no-v-html":HMe,"no-v-model-argument":zMe,"no-v-text-v-html-on-component":XMe,"no-v-text":JMe,"no-watch-after-await":QMe,"object-curly-newline":e8e,"object-curly-spacing":r8e,"object-property-newline":s8e,"object-shorthand":a8e,"one-component-per-file":u8e,"operator-linebreak":f8e,"order-in-components":C8e,"padding-line-between-blocks":k8e,"padding-line-between-tags":F8e,"padding-lines-in-component-definition":V8e,"prefer-define-options":M8e,"prefer-import-from-vue":G8e,"prefer-prop-type-boolean-first":W8e,"prefer-separate-static-class":Y8e,"prefer-template":Q8e,"prefer-true-attribute-shorthand":Z8e,"prefer-use-template-ref":t3e,"prop-name-casing":s3e,"quote-props":o3e,"require-component-is":l3e,"require-default-export":u3e,"require-default-prop":p3e,"require-direct-export":d3e,"require-emit-validator":h3e,"require-explicit-emits":v3e,"require-explicit-slots":T3e,"require-expose":D3e,"require-macro-variable-name":L3e,"require-name-property":B3e,"require-prop-comment":V3e,"require-prop-type-constructor":j3e,"require-prop-types":q3e,"require-render-return":K3e,"require-slots-as-functions":W3e,"require-toggle-inside-transition":X3e,"require-typed-object-prop":J3e,"require-typed-ref":eUe,"require-v-for-key":tUe,"require-valid-default-prop":nUe,"restricted-component-names":pUe,"return-in-computed-property":mUe,"return-in-emits-validator":dUe,"script-indent":gUe,"script-setup-uses-vars":bUe,"singleline-html-element-content-newline":RUe,"slot-name-casing":_Ue,"sort-keys":IUe,"space-in-parens":LUe,"space-infix-ops":NUe,"space-unary-ops":OUe,"static-class-names-order":VUe,"template-curly-spacing":UUe,"this-in-template":KUe,"use-v-on-exact":QUe,"v-bind-style":tje,"v-for-delimiter-style":nje,"v-if-else-key":ije,"v-on-event-hyphenation":lje,"v-on-function-call":fje,"v-on-handler-style":dje,"v-on-style":gje,"v-slot-style":Sje,"valid-attribute-name":Tje,"valid-define-emits":Aje,"valid-define-options":wje,"valid-define-props":_je,"valid-model-definition":lj,"valid-next-tick":Pje,"valid-template-root":Fje,"valid-v-bind-sync":$je,"valid-v-bind":Mje,"valid-v-cloak":jje,"valid-v-else-if":qje,"valid-v-else":Kje,"valid-v-for":Hje,"valid-v-html":zje,"valid-v-if":Xje,"valid-v-is":Jje,"valid-v-memo":Qje,"valid-v-model":n9e,"valid-v-on":c9e,"valid-v-once":p9e,"valid-v-pre":d9e,"valid-v-show":h9e,"valid-v-slot":T9e,"valid-v-text":C9e},processors:{".vue":R4,vue:R4},environments:{"setup-compiler-macros":{globals:{defineProps:"readonly",defineEmits:"readonly",defineExpose:"readonly",withDefaults:"readonly"}}}}),mA}dA();function w9e({value:t},[e,r],i){var n,l;return!(((l=(n=i==null?void 0:i.root)==null?void 0:n.value)==null?void 0:l[e])===r&&(t===""||t===null||t===void 0))}const k9e={name:"UIDynamicForm",components:{FormKit:jd,UIDynamicFormFooterAction:DG,UIDynamicFormTitleText:$G},inject:["$socket"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!1,visible:!1})}},setup(t){console.info("UIDynamicForm setup with:",t),console.debug("Vue function loaded correctly",ye.markRaw);const r=ye.getCurrentInstance().appContext.app,i=Vd({theme:"genesis",locales:{de:Tq},locale:"de",rules:{requiredIf:w9e}});r.use(pG,i)},data(){return{actions:[],formData:{},userTask:null,theme:"",errorMsg:"",formIsFinished:!1,msg:null,collapsed:!1,firstFormFieldRef:null}},computed:{dynamicClass(){return`ui-dynamic-form-${this.theme} ui-dynamic-form-common`},dynamicFooterClass(){return`ui-dynamic-form-footer-${this.theme} ui-dynamic-form-footer-common`},hasUserTask(){return!!this.userTask},totalOutputs(){return this.props.options.length+(this.props.handle_confirmation_dialogs?2:0)+(this.props.trigger_on_change?1:0)},isConfirmDialog(){return this.userTask.userTaskConfig.formFields.some(t=>t.type==="confirm")}},watch:{formData:{handler(t,e){if(this.props.trigger_on_change){const r={payload:{formData:t,userTask:this.userTask}};this.send(r,this.totalOutputs-1)}},collapsed(t){!t&&this.hasUserTask&&ye.nextTick(()=>{this.focusFirstFormField()})},userTask(t){t&&!this.collapsed&&ye.nextTick(()=>{this.focusFirstFormField()})},deep:!0}},created(){const t=window.location.pathname,e=t.substring(t.lastIndexOf("/")),r=this.$store.state;for(const i in r.ui.pages)if(r.ui.pages[i].path===e){const s=r.ui.pages[i].theme;r.ui.themes[s].name==="ProcessCube Lightmode"?this.theme="light":r.ui.themes[s].name==="ProcessCube Darkmode"?this.theme="dark":this.theme="default";break}},mounted(){document.querySelectorAll(".formkit-input").forEach(e=>{e.classList.add("test")}),this.$socket.on("widget-load:"+this.id,e=>{this.init(e)}),this.$socket.on("msg-input:"+this.id,e=>{this.init(e)}),this.$socket.emit("widget-load",this.id)},unmounted(){var t,e;(t=this.$socket)==null||t.off("widget-load"+this.id),(e=this.$socket)==null||e.off("msg-input:"+this.id)},methods:{createComponent(t){const e=t.customForm?JSON.parse(t.customForm):{},r=e.hint,i=e.placeholder,s=e.validation,a=t.id,n=e.customProperties??[],l=this.props.readonly||this.formIsFinished||n.find(o=>["readOnly","readonly"].includes(o.name)&&o.value==="true")?"true":void 0;switch(t.type){case"long":return{type:"FormKit",props:{type:"number",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],number:"integer",help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"number":const o=t.customForm?JSON.parse(t.customForm).step:void 0;return{type:"FormKit",props:{type:"number",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],step:o,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"date":return{type:"FormKit",props:{type:"date",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"enum":const u=t.enumValues.map(y=>({value:y.id,label:y.name}));return{type:"FormKit",props:{type:"select",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:u,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"select":const c=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"select",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:c,placeholder:i,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"string":return{type:"FormKit",props:{type:"text",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"confirm":return{type:"h3",innerText:t.label};case"boolean":return{type:"FormKit",props:{type:"checkbox",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"file":const f=t.customForm?JSON.parse(t.customForm).multiple==="true":!1;return{type:"FormKit",props:{type:"file",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,innerClass:"reset-background",wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,readonly:l,disabled:l,multiple:f,validation:s,validationVisibility:"live"}};case"checkbox":const m=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"checkbox",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:m,help:r,fieldsetClass:"custom-fieldset",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"color":return{type:"FormKit",props:{type:"color",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"datetime-local":return{type:"FormKit",props:{type:"datetime-local",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"email":return{type:"FormKit",props:{type:"email",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"header":let p="h1";return t.customForm&&JSON.parse(t.customForm).style==="heading_2"&&(p="h2"),t.customForm&&JSON.parse(t.customForm).style==="heading_3"&&(p="h3"),{type:p,innerText:this.formData[t.id]};case"hidden":return{type:"input",props:{type:"hidden",value:this.formData[t.id]}};case"month":return{type:"FormKit",props:{type:"month",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"paragraph":return{type:"p",innerText:this.formData[t.id]};case"password":return{type:"FormKit",props:{type:"password",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"radio":const h=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"radio",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:h,help:r,fieldsetClass:"custom-fieldset",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"range":const d=JSON.parse(t.customForm);return{type:"v-slider",props:{id:t.id,name:a,required:t.required,min:d.min,max:d.max,step:d.step,thumbLabel:!0,labelClass:"ui-dynamic-form-input-label",readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"tel":return{type:"FormKit",props:{type:"tel",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"textarea":const g=t.customForm?JSON.parse(t.customForm).rows:void 0;return{type:"FormKit",props:{type:"textarea",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],rows:g,help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"time":return{type:"FormKit",props:{type:"time",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"url":return{type:"FormKit",props:{type:"url",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"week":return{type:"FormKit",props:{type:"week",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};default:return{type:"FormKit",props:{type:t.type,id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}}}},toggleCollapse(){this.collapsed=!this.collapsed},getRowWidthStyling(t,e){let r="";return e===0&&(r+="margin-top: 12px;"),t.type==="header"?r+="flex-basis: 100%;":r+=`flex-basis: ${1/this.props.form_columns*100}%;`,r},fields(){var r;return(((r=this.userTask.userTaskConfig)==null?void 0:r.formFields)??[]).map(i=>({...i,items:_9e(i.type,i)}))},send(t,e){const r=[];r[e]=t,this.$socket.emit("widget-action",this.id,r)},init(t){if(this.msg=t,!t)return;if(this.actions=this.props.options,t.payload&&t.payload.userTask)this.userTask=t.payload.userTask;else{this.userTask=null,this.formData={};return}const r=this.userTask.userTaskConfig.formFields,i=r.map(n=>n.id),s=this.userTask.startToken,a=t.payload.formData;this.formIsFinished=!!t.payload.formData,this.formIsFinished&&(this.collapsed=this.props.collapse_when_finished),r&&r.forEach(n=>{if(this.formData[n.id]=n.defaultValue,n.type==="confirm"){const l=n.customForm?JSON.parse(n.customForm):{},o=l.confirmButtonText??"Confirm",u=l.declineButtonText??"Decline";this.actions=[{alignment:"right",primary:"false",label:u,condition:""},{alignment:"right",primary:"true",label:o,condition:""}]}}),s&&Object.keys(s).filter(n=>i.includes(n)).forEach(n=>{this.formData[n]=s[n]}),this.formIsFinished&&Object.keys(a).filter(n=>i.includes(n)).forEach(n=>{this.formData[n]=a[n]}),ye.nextTick(()=>{this.focusFirstFormField()})},actionFn(t){if(t.label==="Speichern"||t.label==="Speichern und nächster"){const e=this.$refs.form.$el.querySelectorAll(".formkit-outer");let r=!0;if(e.forEach(i=>{const s=i.getAttribute("data-complete"),a=i.getAttribute("data-invalid");s==null&&a==="true"&&(r=!1)}),!r)return}if(this.checkCondition(t.condition)){this.showError("");const e=this.msg??{};e.payload={formData:this.formData,userTask:this.userTask},this.send(e,this.actions.findIndex(r=>r.label===t.label)+(this.isConfirmDialog?this.props.options.length:0))}else this.showError(t.errorMessage)},checkCondition(t){if(t==="")return!0;try{return!!Function("fields","userTask","msg",'"use strict"; return ('+t+")")(this.formData,this.userTask,this.msg)}catch(e){return console.error("Error while evaluating condition: "+e),!1}},showError(t){this.errorMsg=t},focusFirstFormField(){if(!(this.collapsed||!this.hasUserTask)&&this.firstFormFieldRef){let t=null;this.firstFormFieldRef.node&&this.firstFormFieldRef.node.input instanceof HTMLElement?t=this.firstFormFieldRef.node.input:this.firstFormFieldRef.$el instanceof HTMLElement&&(["INPUT","TEXTAREA","SELECT"].includes(this.firstFormFieldRef.$el.tagName)?t=this.firstFormFieldRef.$el:t=this.firstFormFieldRef.$el.querySelector('input:not([type="hidden"]), textarea, select')),t?t.focus():console.warn("Could not find a focusable input element for the first form field.")}}}};function _9e(t,e){return t==="enum"?e.enumValues.map(r=>({title:r.name,value:r.id})):null}const D9e={className:"ui-dynamic-form-wrapper"},I9e={key:0,style:{"margin-bottom":"0px"}},P9e={key:0},L9e={key:1},F9e={class:"formkit-label"},N9e={class:"formkit-help"},B9e={key:1},O9e={key:1,style:{"padding-top":"32px"}};function $9e(t,e,r,i,s,a){const n=ye.resolveComponent("UIDynamicFormTitleText"),l=ye.resolveComponent("v-col"),o=ye.resolveComponent("v-row"),u=ye.resolveComponent("FormKit"),c=ye.resolveComponent("v-alert"),f=ye.resolveComponent("UIDynamicFormFooterAction"),m=ye.resolveComponent("v-form");return ye.openBlock(),ye.createElementBlock("div",{className:"ui-dynamic-form-external-sizing-wrapper",style:ye.normalizeStyle(r.props.card_size_styling)},[r.props.title_style==="outside"&&a.hasUserTask?(ye.openBlock(),ye.createBlock(n,{key:0,style:ye.normalizeStyle(r.props.title_style),title:r.props.title_text,customStyles:r.props.title_custom_text_styling,titleIcon:r.props.title_icon,collapsible:r.props.collapsible||r.props.collapse_when_finished&&s.formIsFinished,collapsed:s.collapsed,toggleCollapse:a.toggleCollapse},null,8,["style","title","customStyles","titleIcon","collapsible","collapsed","toggleCollapse"])):ye.createCommentVNode("",!0),ye.createElementVNode("div",D9e,[a.hasUserTask?(ye.openBlock(),ye.createElementBlock("p",I9e,[ye.createVNode(m,{ref:"form",modelValue:t.form,"onUpdate:modelValue":e[0]||(e[0]=p=>t.form=p),class:ye.normalizeClass(a.dynamicClass)},{default:ye.withCtx(()=>[r.props.title_style!="outside"?(ye.openBlock(),ye.createBlock(n,{key:0,style:ye.normalizeStyle(r.props.title_style),title:r.props.title_text,customStyles:r.props.title_custom_text_styling,titleIcon:r.props.title_icon,collapsible:r.props.collapsible||r.props.collapse_when_finished&&s.formIsFinished,collapsed:s.collapsed,toggleCollapse:a.toggleCollapse},null,8,["style","title","customStyles","titleIcon","collapsible","collapsed","toggleCollapse"])):ye.createCommentVNode("",!0),ye.createVNode(ye.Transition,{name:"cardCollapse"},{default:ye.withCtx(()=>[s.collapsed?ye.createCommentVNode("",!0):(ye.openBlock(),ye.createElementBlock("div",P9e,[ye.createElementVNode("div",{className:"ui-dynamic-form-formfield-positioner",style:ye.normalizeStyle(r.props.inner_card_styling)},[ye.createVNode(u,{id:"form",type:"group"},{default:ye.withCtx(()=>[(ye.openBlock(!0),ye.createElementBlock(ye.Fragment,null,ye.renderList(a.fields(),(p,h)=>(ye.openBlock(),ye.createBlock(o,{key:p,style:ye.normalizeStyle(a.getRowWidthStyling(p,h))},{default:ye.withCtx(()=>[ye.createVNode(l,{cols:"12"},{default:ye.withCtx(()=>[a.createComponent(p).innerText?(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({key:0,ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:s.formData[p.id],"onUpdate:modelValue":d=>s.formData[p.id]=d}),{default:ye.withCtx(()=>[ye.createTextVNode(ye.toDisplayString(a.createComponent(p).innerText),1)]),_:2},1040,["modelValue","onUpdate:modelValue"])):a.createComponent(p).type=="v-slider"?(ye.openBlock(),ye.createElementBlock("div",L9e,[ye.createElementVNode("p",F9e,ye.toDisplayString(p.label),1),(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:p.defaultValue,"onUpdate:modelValue":d=>p.defaultValue=d}),null,16,["modelValue","onUpdate:modelValue"])),ye.createElementVNode("p",N9e,ye.toDisplayString(p.customForm?JSON.parse(p.customForm).hint:void 0),1)])):(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({key:2,ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:s.formData[p.id],"onUpdate:modelValue":d=>s.formData[p.id]=d}),null,16,["modelValue","onUpdate:modelValue"]))]),_:2},1024)]),_:2},1032,["style"]))),128))]),_:1})],4),ye.createVNode(o,{class:ye.normalizeClass(a.dynamicFooterClass)},{default:ye.withCtx(()=>[s.errorMsg.length>0?(ye.openBlock(),ye.createBlock(o,{key:0,style:{padding:"12px"}},{default:ye.withCtx(()=>[ye.createVNode(c,{type:"error"},{default:ye.withCtx(()=>[ye.createTextVNode("Error: "+ye.toDisplayString(s.errorMsg),1)]),_:1})]),_:1})):ye.createCommentVNode("",!0),r.props.actions_inside_card&&s.actions.length>0?(ye.openBlock(),ye.createBlock(f,{key:1,actions:s.actions,actionCallback:a.actionFn,formIsFinished:s.formIsFinished,style:{padding:"16px","padding-top":"0px"}},null,8,["actions","actionCallback","formIsFinished"])):ye.createCommentVNode("",!0)]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue","class"])])):(ye.openBlock(),ye.createElementBlock("p",B9e,[r.props.waiting_info.length>0||r.props.waiting_title.length>0?(ye.openBlock(),ye.createBlock(c,{key:0,text:r.props.waiting_info,title:r.props.waiting_title},null,8,["text","title"])):ye.createCommentVNode("",!0)]))]),!r.props.actions_inside_card&&s.actions.length>0&&a.hasUserTask?(ye.openBlock(),ye.createElementBlock("div",O9e,[ye.createVNode(f,{actions:s.actions,actionCallback:a.actionFn},null,8,["actions","actionCallback"])])):ye.createCommentVNode("",!0)],4)}const V9e=Kd(k9e,[["render",$9e]]);Ki.UIDynamicForm=V9e,Object.defineProperty(Ki,Symbol.toStringTag,{value:"Module"})});
255
+ `)}})},"VElement:exit"(u){l===u&&(l=null)}})}};const Y6=me,wUe=Mt;function kUe(t){return/^[a-z]+$/u.test(t)}const J6=["camelCase","kebab-case","singleword"];var _Ue={meta:{type:"suggestion",docs:{description:"enforce specific casing for slot names",categories:void 0,url:"https://eslint.vuejs.org/rules/slot-name-casing.html"},fixable:null,schema:[{enum:J6}],messages:{invalidCase:'Slot name "{{name}}" is not {{caseType}}.'}},create(t){const e=t.options[0],r=J6.includes(e)?e:"camelCase",i=r==="singleword"?kUe:wUe.getChecker(r);function s(a){var l;const n=(l=a.value)==null?void 0:l.value;n&&!i(n)&&t.report({node:a,loc:a.loc,messageId:"invalidCase",data:{name:n,caseType:r}})}return Y6.defineTemplateBodyVisitor(t,{"VElement[name='slot']"(a){const n=Y6.getAttribute(a,"name");n&&s(n)}})}};const Q6=UO,ld=me;function DUe(t){const e=ld.getStaticPropertyName(t);return e!==null?e:t.key.type==="Identifier"?t.key.name:null}const Ku={asc(t,e){return t<=e},ascI(t,e){return t.toLowerCase()<=e.toLowerCase()},ascN(t,e){return Q6(t,e)<=0},ascIN(t,e){return Q6(t.toLowerCase(),e.toLowerCase())<=0},desc(t,e){return Ku.asc(e,t)},descI(t,e){return Ku.ascI(e,t)},descN(t,e){return Ku.ascN(e,t)},descIN(t,e){return Ku.ascIN(e,t)}};var IUe={meta:{type:"suggestion",docs:{description:"enforce sort-keys in a manner that is compatible with order-in-components",categories:null,recommended:!1,url:"https://eslint.vuejs.org/rules/sort-keys.html"},fixable:null,schema:[{enum:["asc","desc"]},{type:"object",properties:{caseSensitive:{type:"boolean",default:!0},ignoreChildrenOf:{type:"array"},ignoreGrandchildrenOf:{type:"array"},minKeys:{type:"integer",minimum:2,default:2},natural:{type:"boolean",default:!1},runOutsideVue:{type:"boolean",default:!0}},additionalProperties:!1}],messages:{sortKeys:"Expected object keys to be in {{natural}}{{insensitive}}{{order}}ending order. '{{thisName}}' should be before '{{prevName}}'."}},create(t){const e=t.options[1],r=t.options[0]||"asc",i=new Set(e&&e.ignoreGrandchildrenOf||["computed","directives","inject","props","watch"]),s=new Set(e&&e.ignoreChildrenOf||["model"]),a=e&&e.caseSensitive===!1,n=e&&e.minKeys,l=e&&e.natural,o=Ku[r+(a?"I":"")+(l?"N":"")];let u;return{ObjectExpression(c){const f={},m=u&&u.vueState||{};if(u={upper:u,prevName:null,numKeys:c.properties.length,vueState:f},f.isVueObject=ld.getVueObjectType(t,c)!=null,f.isVueObject)f.within=f.isVueObject,f.ignore=!0;else if(m.within&&m.currentProperty)if(ld.isPropertyChain(m.currentProperty,c)){let h,d;m.isVueObject?(h=ld.getStaticPropertyName(m.currentProperty)||"",d=1):(h=m.propName||"",d=(m.chainLevel||0)+1),f.propName=h,f.chainLevel=d,f.within=!0,(d===1&&s.has(h)||d===2&&i.has(h))&&(f.ignore=!0)}else f.within=!1},"ObjectExpression:exit"(){u=u&&u.upper},SpreadElement(c){u&&c.parent.type==="ObjectExpression"&&(u.prevName=null)},"ObjectExpression > Property"(c){if(!u||(u.vueState.currentProperty=c,u.vueState.ignore))return;const f=u.prevName,m=u.numKeys,p=DUe(c);p!==null&&(u.prevName=p),!(f===null||p===null||m<n)&&(o(f,p)||t.report({node:c,loc:c.key.loc,messageId:"sortKeys",data:{thisName:p,prevName:f,order:r,insensitive:a?"insensitive ":"",natural:l?"natural ":""}}))}}}};const{wrapStylisticOrCoreRule:PUe}=me;var LUe=PUe("space-in-parens",{skipDynamicArguments:!0,skipDynamicArgumentsReport:!0,applyDocument:!0});const{wrapStylisticOrCoreRule:FUe}=me;var NUe=FUe("space-infix-ops",{skipDynamicArguments:!0,applyDocument:!0});const{wrapStylisticOrCoreRule:BUe}=me;var OUe=BUe("space-unary-ops",{skipDynamicArguments:!0,applyDocument:!0});const{defineTemplateBodyVisitor:$Ue}=me;var VUe={meta:{type:"suggestion",docs:{url:"https://eslint.vuejs.org/rules/static-class-names-order.html",description:"enforce static class names order",categories:void 0},fixable:"code",schema:[],messages:{shouldBeOrdered:"Classes should be ordered alphabetically."}},create:t=>$Ue(t,{"VAttribute[directive=false][key.name='class']"(e){const r=e.value;if(!r)return;const i=r.value,s=i.split(/(\s+)/);let a="";s.length>1&&(a=s[1]);const l=s.filter(o=>o.trim()!=="").sort().join(a);i!==l&&t.report({node:e,loc:e.loc,messageId:"shouldBeOrdered",fix:o=>o.replaceText(r,`"${l}"`)})}})};const{wrapStylisticOrCoreRule:MUe}=me;var UUe=MUe("template-curly-spacing",{skipDynamicArguments:!0,applyDocument:!0});const jUe=["abstract","arguments","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","eval","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","volatile","while","with","yield"],Z6=me,qUe=new Set(jUe);var KUe={meta:{type:"suggestion",docs:{description:"disallow usage of `this` in template",categories:["vue3-recommended","vue2-recommended"],url:"https://eslint.vuejs.org/rules/this-in-template.html"},fixable:"code",schema:[{enum:["always","never"]}],messages:{unexpected:"Unexpected usage of 'this'.",expected:"Expected 'this'."}},create(t){const e=t.options[0]==="always"?"always":"never";let r=null;return Z6.defineTemplateBodyVisitor(t,{VElement(i){if(r={parent:r,nodes:r?[...r.nodes]:[]},i.variables)for(const s of i.variables){const a=s.id,n=a.name;r.nodes.some(l=>l.name===n)||r.nodes.push(a)}},"VElement:exit"(){r=r&&r.parent},...e==="never"?{"VExpressionContainer MemberExpression > ThisExpression"(i){if(!r)return;const s=Z6.getStaticPropertyName(i.parent);!s||r.nodes.some(a=>a.name===s)||qUe.has(s)||/^\d.*$|[^\w$]/.test(s)||t.report({node:i,loc:i.loc,fix(a){return a.replaceText(i.parent,s)},messageId:"unexpected"})}}:{VExpressionContainer(i){if(r&&i.parent.type!=="VDirectiveKey"&&i.references)for(const s of i.references)r.nodes.some(a=>a.name===s.id.name)||t.report({node:s.id,loc:s.id.loc,messageId:"expected",fix(a){return a.insertTextBefore(s.id,"this.")}})}}})}};const aA=me,e4=new Set(["ctrl","shift","alt","meta"]),GUe=new Set(["stop","prevent","capture","self","once","passive","native"]);function WUe(t,e){return aA.getDirectives(t,"on").map(r=>({name:r.key.argument?e.getText(r.key.argument):"",node:r.key,modifiers:r.key.modifiers.map(i=>i.name)}))}function HUe(t){return!GUe.has(t)&&!e4.has(t)}function t4(t){return e4.has(t)}function zUe(t){return t.some(t4)}function XUe(t){const e={};for(const r of t)e[r.name]||(e[r.name]=[]),e[r.name].push(r);return e}function r4(t){return t.filter(t4).sort().join(",")}function n4(t){return t.filter(HUe).sort().join(",")}function YUe(t,e){if(e.node===t.node||e.modifiers.includes("exact"))return!1;const r=n4(e.modifiers),i=n4(t.modifiers);if(r&&i&&r!==i)return!1;const s=r4(e.modifiers),a=r4(t.modifiers);return t.modifiers.length>0&&a!==s&&a.includes(s)}function JUe(t){const e=[];for(const r of t)e.push(...t.filter(i=>!e.includes(i)).filter(YUe.bind(null,r)));return e}var QUe={meta:{type:"suggestion",docs:{description:"enforce usage of `exact` modifier on `v-on`",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/use-v-on-exact.html"},fixable:null,schema:[],messages:{considerExact:"Consider to use '.exact' modifier."}},create(t){const e=t.getSourceCode();return aA.defineTemplateBodyVisitor(t,{VStartTag(r){if(r.attributes.length===0)return;const i=aA.isCustomComponent(r.parent);let s=WUe(r,e);i&&(s=s.filter(n=>n.modifiers.includes("native")));const a=XUe(s);for(const n of Object.keys(a)){const l=a[n];if(!l.some(c=>zUe(c.modifiers)))continue;const u=JUe(l);for(const c of u)t.report({node:c.node,loc:c.node.loc,messageId:"considerExact"})}}})}};const s4=me,i4=Mt;function oA(t){return i4.isKebabCase(t)?i4.camelCase(t):t}function ZUe(t){var i,s;const e=t.key.argument.type==="VIdentifier"?t.key.argument.rawName:null,r=((s=(i=t.value)==null?void 0:i.expression)==null?void 0:s.type)==="Identifier"?t.value.expression.name:null;return!e||!r?!1:oA(e)===oA(r)}function eje(t){const e=t.modifiers;return e.length>0?e[e.length-1].range[1]:t.argument.range[1]}var tje={meta:{type:"suggestion",docs:{description:"enforce `v-bind` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-bind-style.html"},fixable:"code",schema:[{enum:["shorthand","longform"]},{type:"object",properties:{sameNameShorthand:{enum:["always","never","ignore"]}},additionalProperties:!1}],messages:{expectedLonghand:"Expected 'v-bind' before ':'.",unexpectedLonghand:"Unexpected 'v-bind' before ':'.",expectedLonghandForProp:"Expected 'v-bind:' instead of '.'.",expectedShorthand:"Expected same-name shorthand.",unexpectedShorthand:"Unexpected same-name shorthand."}},create(t){var a;const e=t.options[0]!=="longform",r=((a=t.options[1])==null?void 0:a.sameNameShorthand)||"ignore";function i(n){const l=n.key.name.rawName===".";if((n.key.name.rawName===":"||l)===e)return;let u="expectedLonghand";e?u="unexpectedLonghand":l&&(u="expectedLonghandForProp"),t.report({node:n,loc:n.loc,messageId:u,*fix(c){if(e)yield c.remove(n.key.name);else if(yield c.insertTextBefore(n,"v-bind"),l){yield c.replaceText(n.key.name,":");const f=n.key.modifiers[0];f.name==="prop"&&f.rawName===""&&(yield c.insertTextBefore(f,".prop"))}}})}function s(n){if(r==="ignore"||!ZUe(n))return;const l=r==="always";if(s4.isVBindSameNameShorthand(n)===l)return;const u=l?"expectedShorthand":"unexpectedShorthand";t.report({node:n,loc:n.loc,messageId:u,*fix(c){if(l){const f=[eje(n.key),n.range[1]];yield c.removeRange(f)}else n.key.argument.type==="VIdentifier"&&(yield c.insertTextAfter(n,`="${oA(n.key.argument.rawName)}"`))}})}return s4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind'][key.argument!=null]"(n){s(n),i(n)}})}};const rje=me;var nje={meta:{type:"layout",docs:{description:"enforce `v-for` directive's delimiter style",categories:void 0,recommended:!1,url:"https://eslint.vuejs.org/rules/v-for-delimiter-style.html"},fixable:"code",schema:[{enum:["in","of"]}],messages:{expected:"Expected '{{preferredDelimiter}}' instead of '{{usedDelimiter}}' in 'v-for'."}},create(t){const e=t.options[0]||"in";return rje.defineTemplateBodyVisitor(t,{VForExpression(r){const i=t.getSourceCode(),s=i.parserServices.getTemplateBodyTokenStore&&i.parserServices.getTemplateBodyTokenStore(),a=s.getTokenAfter(r.left.length>0?r.left[r.left.length-1]:s.getFirstToken(r),n=>n.type!=="Punctuator");a.value!==e&&t.report({node:r,loc:r.loc,messageId:"expected",data:{preferredDelimiter:e,usedDelimiter:a.value},*fix(n){yield n.replaceText(a,e)}})}})}};const Qn=me,a4=Mt,sje=(t,e)=>!t.parent||t.parent.type!=="VElement"?!1:t.parent.children.some(r=>r!==t&&r.type==="VElement"&&r.rawName===e&&lA(r)),o4=(t,e,r,i,s)=>{if(!t.parent||t.parent.type!=="VElement"||!sje(t,r))return;const a=s.get(t.parent);if(!a||Qn.hasAttribute(t,"key"))return;(a.if===t||a.else===t||a.elseIf.includes(t))&&e.report({node:t.startTag,loc:t.startTag.loc,messageId:"requireKey",data:{componentName:r},fix(l){const o=t.startTag.range[0]+r.length+1;return l.insertTextBeforeRange([o,o],` key="${i}"`)}})},lA=t=>Qn.hasDirective(t,"if")||Qn.hasDirective(t,"else-if")||Qn.hasDirective(t,"else");var ije={meta:{type:"problem",docs:{description:"require key attribute for conditionally rendered repeated components",categories:null,recommended:!1,url:"https://eslint.vuejs.org/rules/v-if-else-key.html"},fixable:"code",schema:[],messages:{requireKey:"Conditionally rendered repeated component '{{componentName}}' expected to have a 'key' attribute."}},create(t){const e=new Map,r=[new Map],i=l=>l.type==="VElement"&&Qn.isCustomComponent(l)&&!lA(l),s=new Set(["component","slot","template"]),a=new Set,n=l=>({if:l,elseIf:[],else:null});return Qn.defineTemplateBodyVisitor(t,{VElement(l){if(s.has(l.rawName))return;const o=Qn.getDirective(l,"if")||Qn.getDirective(l,"else-if")||Qn.getDirective(l,"else");if(o){const m=o.key.name.name;if(l.parent&&l.parent.type==="VElement"){let p=e.get(l.parent);if(p||(p=n(l),e.set(l.parent,p)),p)switch(m){case"if":{p=n(l),e.set(l.parent,p);break}case"else-if":{p.elseIf.push(l);break}case"else":{p.else=l;break}}}}if(i(l)){r.push(new Map);return}if(!Qn.isCustomComponent(l))return;const u=l.rawName,c=r[r.length-1],f=c.get(u)||{count:0,firstNode:null};if(lA(l)){if(f.count===0&&(f.firstNode=l),f.count>0){const m=`${a4.kebabCase(u)}-${f.count+1}`;if(o4(l,t,u,m,e),f.count===1){const p=`${a4.kebabCase(u)}-1`;o4(f.firstNode,t,u,p,e)}}f.count+=1,c.set(u,f)}r.push(new Map),a.add(l)},"VElement:exit"(l){if(!s.has(l.rawName)){if(i(l)){r.pop();return}Qn.isCustomComponent(l)&&a.has(l)&&(r.pop(),a.delete(l))}}})}};const l4=me,aje=Mt,{toRegExp:oje}=Nr;var lje={meta:{type:"suggestion",docs:{description:"enforce v-on event naming style on custom components in template",categories:["vue3-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-on-event-hyphenation.html",defaultOptions:{vue3:["always",{autofix:!0}]}},fixable:"code",schema:[{enum:["always","never"]},{type:"object",properties:{autofix:{type:"boolean"},ignore:{type:"array",items:{allOf:[{type:"string"},{not:{type:"string",pattern:":exit$"}},{not:{type:"string",pattern:String.raw`^\s*$`}}]},uniqueItems:!0,additionalItems:!1},ignoreTags:{type:"array",items:{type:"string"},uniqueItems:!0,additionalItems:!1}},additionalProperties:!1}],messages:{mustBeHyphenated:"v-on event '{{text}}' must be hyphenated.",cannotBeHyphenated:"v-on event '{{text}}' can't be hyphenated."}},create(t){const e=t.getSourceCode(),r=t.options[0],i=t.options[1],s=r!=="never",a=i&&i.ignore||[],n=(i&&i.ignoreTags||[]).map(oje),l=!!(i&&i.autofix),o=aje.getConverter(s?"kebab-case":"camelCase");function u(m,p,h){const d=e.getText(m.key);t.report({node:m.key,loc:m.loc,messageId:s?"mustBeHyphenated":"cannotBeHyphenated",data:{text:d},fix:l&&!h.includes("_")?g=>g.replaceText(p,o(h)):null})}function c(m){return a.some(h=>m.includes(h))?!0:s?m.toLowerCase()===m:!/-/.test(m)}function f(m){return n.some(p=>p.test(m))}return l4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on']"(m){const p=m.parent.parent;if(!l4.isCustomComponent(p)||f(p.rawName)||!m.key.argument||m.key.argument.type!=="VIdentifier")return;const h=m.key.argument.rawName;!h||c(h)||u(m,m.key.argument,h)}})}};const ud=me;function uje(t){return t!=null&&t.type==="Punctuator"&&(t.value==='"'||t.value==="'")}function cje(t){let e,r=t.body;for(;;){const a=r.filter(l=>l.type!=="EmptyStatement");if(a.length!==1)return null;const n=a[0];if(n.type==="ExpressionStatement"){e=n;break}if(n.type==="BlockStatement"){r=n.body;continue}return null}const i=e.expression;return i.type!=="CallExpression"||i.arguments.length>0||i.optional||i.callee.type!=="Identifier"?null:i}var fje={meta:{type:"suggestion",docs:{description:"enforce or forbid parentheses after method calls without arguments in `v-on` directives",categories:void 0,url:"https://eslint.vuejs.org/rules/v-on-function-call.html"},fixable:"code",deprecated:!0,replacedBy:["v-on-handler-style"],schema:[{enum:["always","never"]},{type:"object",properties:{ignoreIncludesComment:{type:"boolean"}},additionalProperties:!1}],messages:{always:"Method calls inside of 'v-on' directives must have parentheses.",never:"Method calls without arguments inside of 'v-on' directives must not have parentheses."}},create(t){if(t.options[0]==="always")return ud.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null] > VExpressionContainer > Identifier"(a){t.report({node:a,messageId:"always"})}});const i=!!(t.options[1]||{}).ignoreIncludesComment,s=new Set;return ud.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null] VOnExpression"(a){const n=cje(a);if(!n)return;const u=t.getSourceCode().parserServices.getTemplateBodyTokenStore().getTokens(a.parent,{includeComments:!0});let c,f;uje(u[0])&&(c=u.shift(),f=u.pop());const m=u.some(p=>p.type==="Block"||p.type==="Line");i&&m||n.callee.type==="Identifier"&&s.has(n.callee.name)||t.report({node:n,messageId:"never",fix:m?null:p=>{const h=c&&f?[c.range[1],f.range[0]]:[u[0].range[0],u[u.length-1].range[1]];return p.replaceTextRange(h,t.getSourceCode().getText(n.callee))}})}},ud.defineVueVisitor(t,{onVueObjectEnter(a){for(const n of ud.iterateProperties(a,new Set(["methods"]))){if(s.has(n.name)||n.type!=="object")continue;const l=n.property.value;(l.type==="FunctionExpression"||l.type==="ArrowFunctionExpression")&&l.params.length>0&&s.add(n.name)}}}))}};const uA=me;function pje(t){const e=t.options,r=[];e[0]?Array.isArray(e[0])?r.push(...e[0]):r.push(e[0]):r.push("method","inline-function");const s=!!(e[1]||{}).ignoreIncludesComment;return{allows:r,ignoreIncludesComment:s}}function mje(t){return t!=null&&t.type==="Punctuator"&&(t.value==='"'||t.value==="'")}function u4(t){return t.type!=="CallExpression"||t.optional?!1:t.callee.type==="Identifier"}function c4(t){let e,r=t.body;for(;;){const s=r.filter(n=>n.type!=="EmptyStatement");if(s.length!==1)return null;const a=s[0];if(a.type==="ExpressionStatement"){e=a;break}if(a.type==="BlockStatement"){r=a.body;continue}return null}const i=e.expression;return u4(i)?i:null}var dje={meta:{type:"suggestion",docs:{description:"enforce writing style for handlers in `v-on` directives",categories:void 0,url:"https://eslint.vuejs.org/rules/v-on-handler-style.html"},fixable:"code",schema:[{oneOf:[{enum:["inline","inline-function"]},{type:"array",items:[{const:"method"},{enum:["inline","inline-function"]}],uniqueItems:!0,additionalItems:!1,minItems:2,maxItems:2}]},{type:"object",properties:{ignoreIncludesComment:{type:"boolean"}},additionalProperties:!1}],messages:{preferMethodOverInline:"Prefer method handler over inline handler in v-on.",preferMethodOverInlineWithoutIdCall:"Prefer method handler over inline handler in v-on. Note that you may need to create a new method.",preferMethodOverInlineFunction:"Prefer method handler over inline function in v-on.",preferMethodOverInlineFunctionWithoutIdCall:"Prefer method handler over inline function in v-on. Note that you may need to create a new method.",preferInlineOverMethod:"Prefer inline handler over method handler in v-on.",preferInlineOverInlineFunction:"Prefer inline handler over inline function in v-on.",preferInlineOverInlineFunctionWithMultipleParams:"Prefer inline handler over inline function in v-on. Note that the custom event must be changed to a single payload.",preferInlineFunctionOverMethod:"Prefer inline function over method handler in v-on.",preferInlineFunctionOverInline:"Prefer inline function over inline handler in v-on."}},create(t){const{allows:e,ignoreIncludesComment:r}=pje(t),i=new Set,s=new Map,a=[];function n(d,g){switch(g){case"method":return f(d);case"inline-function":return p(d),!0}return!1}function l(d,g){switch(g){case"inline":case"inline-function":return t.report({node:d,messageId:g==="inline"?"preferInlineOverMethod":"preferInlineFunctionOverMethod"}),!0}return!1}function o(d,g){switch(g){case"method":return m(d);case"inline":return h(d),!0}return!1}function u(d){const E=t.getSourceCode().parserServices.getTemplateBodyTokenStore().getTokens(d,{includeComments:!0}),b=E[0],T=E[E.length-1],S=mje(b);return{rangeWithoutQuotes:S?[b.range[1],T.range[0]]:[b.range[0],T.range[1]],get hasComment(){return E.some(C=>C.type==="Block"||C.type==="Line")},hasQuote:S}}function c(d){for(const g of i)for(const y of g.variables)for(const E of y.references){const{range:b}=E.id;if(d.range[0]<=b[0]&&b[1]<=d.range[1])return!0}return!1}function f(d){const{rangeWithoutQuotes:g,hasComment:y}=u(d.parent);if(r&&y)return!1;const E=c4(d);return(!E||E.arguments.length>0)&&c(d)?!1:(t.report({node:d,messageId:E?"preferMethodOverInline":"preferMethodOverInlineWithoutIdCall",fix:b=>{if(y||!E||E.arguments.length>0)return null;const T=s.get(E.callee.name);return T!=null&&T>0?null:b.replaceTextRange(g,t.getSourceCode().getText(E.callee))}}),!0)}function m(d){const{rangeWithoutQuotes:g,hasComment:y}=u(d.parent);if(r&&y)return!1;let E=null;if(d.body.type==="BlockStatement"?E=c4(d.body):u4(d.body)&&(E=d.body),(!E||!b(E))&&c(d))return!1;return t.report({node:d,messageId:E?"preferMethodOverInlineFunction":"preferMethodOverInlineFunctionWithoutIdCall",fix:T=>{if(y||!E||!b(E))return null;const S=s.get(E.callee.name);return S!=null&&S!==E.arguments.length?null:T.replaceTextRange(g,t.getSourceCode().getText(E.callee))}}),!0;function b(T){return d.params.length===T.arguments.length&&d.params.every((S,x)=>{if(S.type!=="Identifier")return!1;const C=T.arguments[x];return!C||C.type!=="Identifier"?!1:S.name===C.name})}}function p(d){t.report({node:d,messageId:"preferInlineFunctionOverInline",*fix(g){if(a.some(({range:A})=>d.range[0]<=A[0]&&A[1]<=d.range[1]))return;const{rangeWithoutQuotes:E,hasQuote:b}=u(d.parent);if(!b)return;yield g.insertTextBeforeRange(E,"() => ");const S=t.getSourceCode().parserServices.getTemplateBodyTokenStore(),x=S.getFirstToken(d),C=S.getLastToken(d);x.value==="{"&&C.value==="}"||C.value!==";"&&d.body.length===1&&d.body[0].type==="ExpressionStatement"||(yield g.insertTextBefore(x,"{"),yield g.insertTextAfter(C,"}"))}})}function h(d){t.report({node:d,messageId:d.params.length>1?"preferInlineOverInlineFunctionWithMultipleParams":"preferInlineOverInlineFunction",fix:d.params.length>0?null:g=>{let y=t.getSourceCode().getText(d.body);return d.body.type==="BlockStatement"&&(y=y.slice(1,-1)),g.replaceText(d,y)}})}return uA.defineTemplateBodyVisitor(t,{VElement(d){i.add(d)},"VElement:exit"(d){i.delete(d)},"VAttribute[directive=true][key.name.name='on'][key.argument!=null] > VExpressionContainer.value:exit"(d){const g=d.expression;if(g)switch(g.type){case"VOnExpression":{if(e[0]==="inline")return;for(const y of e)if(n(g,y))return;break}case"Identifier":{if(e[0]==="method")return;for(const y of e)if(l(g,y))return;break}case"ArrowFunctionExpression":case"FunctionExpression":{if(e[0]==="inline-function")return;for(const y of e)if(o(g,y))return;break}default:return}},...e.includes("inline-function")?{'Identifier[name="$event"]'(d){a.push(d)}}:{}},e.includes("method")?uA.defineVueVisitor(t,{onVueObjectEnter(d){for(const g of uA.iterateProperties(d,new Set(["methods"]))){if(g.type!=="object")continue;const y=g.property.value;(y.type==="FunctionExpression"||y.type==="ArrowFunctionExpression")&&s.set(g.name,y.params.some(E=>E.type==="RestElement")?Number.POSITIVE_INFINITY:y.params.length)}}}):{})}};const hje=me;var gje={meta:{type:"suggestion",docs:{description:"enforce `v-on` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-on-style.html"},fixable:"code",schema:[{enum:["shorthand","longform"]}],messages:{expectedShorthand:"Expected '@' instead of 'v-on:'.",expectedLonghand:"Expected 'v-on:' instead of '@'."}},create(t){const e=t.options[0]!=="longform";return hje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on'][key.argument!=null]"(r){if(r.key.name.rawName==="@"===e)return;const s=r.range[0];t.report({node:r,loc:r.loc,messageId:e?"expectedShorthand":"expectedLonghand",fix:a=>e?a.replaceTextRange([s,s+5],"@"):a.replaceTextRange([s,s+1],"v-on:")})}})}};const{pascalCase:yje}=Mt,Eje=me;function vje(t){const e={atComponent:"v-slot",default:"shorthand",named:"shorthand"};if(typeof t=="string")e.atComponent=e.default=e.named=t;else if(t!=null){const r=["atComponent","default","named"];for(const i of r)t[i]!=null&&(e[i]=t[i])}return e}function bje(t,e){const{argument:r}=e.key;return r==null||r.type==="VIdentifier"&&r.name==="default"?e.parent.parent.name==="template"?t.default:t.atComponent:t.named}function xje(t){const{name:e,argument:r}=t.key;return e.rawName==="#"?"shorthand":r!=null?"longform":"v-slot"}var Sje={meta:{type:"suggestion",docs:{description:"enforce `v-slot` directive style",categories:["vue3-strongly-recommended","vue2-strongly-recommended"],url:"https://eslint.vuejs.org/rules/v-slot-style.html"},fixable:"code",schema:[{anyOf:[{enum:["shorthand","longform"]},{type:"object",properties:{atComponent:{enum:["shorthand","longform","v-slot"]},default:{enum:["shorthand","longform","v-slot"]},named:{enum:["shorthand","longform"]}},additionalProperties:!1}]}],messages:{expectedShorthand:"Expected '#{{argument}}' instead of '{{actual}}'.",expectedLongform:"Expected 'v-slot:{{argument}}' instead of '{{actual}}'.",expectedVSlot:"Expected 'v-slot' instead of '{{actual}}'."}},create(t){const e=t.getSourceCode(),r=vje(t.options[0]);return Eje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='slot']"(i){const s=bje(r,i);if(xje(i)===s)return;const{name:n,argument:l}=i.key,o=[n.range[0],(l||n).range[1]],u=l?e.getText(l):"default";t.report({node:i,messageId:`expected${yje(s)}`,data:{actual:e.text.slice(o[0],o[1]),argument:u},fix(c){switch(s){case"shorthand":return c.replaceTextRange(o,`#${u}`);case"longform":return c.replaceTextRange(o,`v-slot:${u}`);case"v-slot":return c.replaceTextRange(o,"v-slot");default:return null}}})}})}},cA={};cA.name=t=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(t),cA.qname=t=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(t);const f4=me,p4=cA;var Tje={meta:{type:"problem",docs:{description:"require valid attribute names",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-attribute-name.html"},fixable:null,schema:[],messages:{attribute:"Attribute name {{name}} is not valid."}},create(t){const e=r=>typeof r=="string"?r:r.name;return f4.defineTemplateBodyVisitor(t,{VAttribute(r){if(f4.isCustomComponent(r.parent.parent))return;const i=e(r.key.name);r.directive&&i==="bind"&&r.key.argument&&r.key.argument.type==="VIdentifier"&&!p4.name(r.key.argument.name)&&t.report({node:r,messageId:"attribute",data:{name:r.key.argument.name}}),!r.directive&&!p4.name(i)&&t.report({node:r,messageId:"attribute",data:{name:i}})}})}};const{findVariable:Cje}=gt,Zn=me;var Aje={meta:{type:"problem",docs:{description:"enforce valid `defineEmits` compiler macro",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-define-emits.html"},fixable:null,schema:[],messages:{hasTypeAndArg:"`defineEmits` has both a type-only emit and an argument.",referencingLocally:"`defineEmits` is referencing locally declared variables.",multiple:"`defineEmits` has been called multiple times.",notDefined:"Custom events are not defined.",definedInBoth:"Custom events are defined in both `defineEmits` and `export default {}`."}},create(t){const e=Zn.getScriptSetupElement(t);if(!e)return{};const r=new Set;let i=!1;const s=[];let a=null;return Zn.compositingVisitors(Zn.defineScriptSetupVisitor(t,{onDefineEmitsEnter(n){s.push(n);const l="typeArguments"in n?n.typeArguments:n.typeParameters;if(n.arguments.length>0){if(l&&l.params.length>0){t.report({node:n,messageId:"hasTypeAndArg"});return}r.add(n.arguments[0])}else(!l||l.params.length===0)&&(a=n)},Identifier(n){for(const l of r)if(Zn.inRange(l.range,n)){const o=Cje(Zn.getScope(t,n),n);if(o&&o.references.some(u=>u.identifier===n)&&o.defs.length>0&&o.defs.every(u=>u.type!=="ImportBinding"&&Zn.inRange(e.range,u.name)&&!Zn.inRange(l.range,u.name))){if(Zn.withinTypeNode(n))continue;t.report({node:n,messageId:"referencingLocally"})}}}}),Zn.defineVueVisitor(t,{onVueObjectEnter(n,{type:l}){l!=="export"||Zn.inRange(e.range,n)||(i=!!Zn.findProperty(n,"emits"))}}),{"Program:exit"(){if(s.length!==0){if(s.length>1){for(const n of s)t.report({node:n,messageId:"multiple"});return}if(a)i||t.report({node:a,messageId:"notDefined"});else if(i)for(const n of s)t.report({node:n,messageId:"definedInBoth"})}}})}};const{findVariable:Rje}=gt,ri=me;var wje={meta:{type:"problem",docs:{description:"enforce valid `defineOptions` compiler macro",categories:void 0,url:"https://eslint.vuejs.org/rules/valid-define-options.html"},fixable:null,schema:[],messages:{referencingLocally:"`defineOptions` is referencing locally declared variables.",multiple:"`defineOptions` has been called multiple times.",notDefined:"Options are not defined.",disallowProp:"`defineOptions()` cannot be used to declare `{{propName}}`. Use `{{insteadMacro}}()` instead.",typeArgs:"`defineOptions()` cannot accept type arguments."}},create(t){const e=ri.getScriptSetupElement(t);if(!e)return{};const r=new Set,i=[];return ri.compositingVisitors(ri.defineScriptSetupVisitor(t,{onDefineOptionsEnter(s){if(i.push(s),s.arguments.length>0){const n=s.arguments[0];if(n.type==="ObjectExpression")for(const[l,o]of[["props","defineProps"],["emits","defineEmits"],["expose","defineExpose"],["slots","defineSlots"]])ri.findProperty(n,l)&&t.report({node:s,messageId:"disallowProp",data:{propName:l,insteadMacro:o}});r.add(s.arguments[0])}else t.report({node:s,messageId:"notDefined"});const a="typeArguments"in s?s.typeArguments:s.typeParameters;a&&t.report({node:a,messageId:"typeArgs"})},Identifier(s){for(const a of r)if(ri.inRange(a.range,s)){const n=Rje(ri.getScope(t,s),s);if(n&&n.references.some(l=>l.identifier===s)&&n.defs.length>0&&n.defs.every(l=>l.type!=="ImportBinding"&&ri.inRange(e.range,l.name)&&!ri.inRange(a.range,l.name))){if(ri.withinTypeNode(s))continue;t.report({node:s,messageId:"referencingLocally"})}}}}),{"Program:exit"(){if(i.length>1)for(const s of i)t.report({node:s,messageId:"multiple"})}})}};const{findVariable:kje}=gt,es=me;var _je={meta:{type:"problem",docs:{description:"enforce valid `defineProps` compiler macro",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-define-props.html"},fixable:null,schema:[],messages:{hasTypeAndArg:"`defineProps` has both a type-only props and an argument.",referencingLocally:"`defineProps` is referencing locally declared variables.",multiple:"`defineProps` has been called multiple times.",notDefined:"Props are not defined.",definedInBoth:"Props are defined in both `defineProps` and `export default {}`."}},create(t){const e=es.getScriptSetupElement(t);if(!e)return{};const r=new Set;let i=!1;const s=[];let a=null;return es.compositingVisitors(es.defineScriptSetupVisitor(t,{onDefinePropsEnter(n){s.push(n);const l="typeArguments"in n?n.typeArguments:n.typeParameters;if(n.arguments.length>0){if(l&&l.params.length>0){t.report({node:n,messageId:"hasTypeAndArg"});return}r.add(n.arguments[0])}else(!l||l.params.length===0)&&(a=n)},Identifier(n){for(const l of r)if(es.inRange(l.range,n)){const o=kje(es.getScope(t,n),n);if(o&&o.references.some(u=>u.identifier===n)&&o.defs.length>0&&o.defs.every(u=>u.type!=="ImportBinding"&&es.inRange(e.range,u.name)&&!es.inRange(l.range,u.name))){if(es.withinTypeNode(n))continue;t.report({node:n,messageId:"referencingLocally"})}}}}),es.defineVueVisitor(t,{onVueObjectEnter(n,{type:l}){l!=="export"||es.inRange(e.range,n)||(i=!!es.findProperty(n,"props"))}}),{"Program:exit"(){if(s.length!==0){if(s.length>1){for(const n of s)t.report({node:n,messageId:"multiple"});return}if(a)i||t.report({node:a,messageId:"notDefined"});else if(i)for(const n of s)t.report({node:n,messageId:"definedInBoth"})}}})}};const fA=me,{findVariable:Dje}=gt;function Ije(t,e){if(t.name==="$nextTick"&&t.parent.type==="MemberExpression"&&fA.isThis(t.parent.object,e)||t.name==="nextTick"&&t.parent.type==="MemberExpression"&&t.parent.object.type==="Identifier"&&t.parent.object.name==="Vue")return t.parent;const r=Dje(fA.getScope(e,t),t);if(r!=null&&r.defs.length===1){const i=r.defs[0];if(i.type==="ImportBinding"&&i.node.type==="ImportSpecifier"&&i.node.imported.type==="Identifier"&&i.node.imported.name==="nextTick"&&i.node.parent.type==="ImportDeclaration"&&i.node.parent.source.value==="vue")return t}}function m4(t){return t.parent.type==="AwaitExpression"||t.parent.type==="ReturnStatement"||t.parent.type==="ArrowFunctionExpression"&&t.parent.body===t||t.parent.type==="MemberExpression"&&t.parent.property.type==="Identifier"&&t.parent.property.name==="then"||t.parent.type==="VariableDeclarator"||t.parent.type==="AssignmentExpression"||t.parent.type==="ArrayExpression"&&t.parent.parent.type==="CallExpression"&&t.parent.parent.callee.type==="MemberExpression"&&t.parent.parent.callee.object.type==="Identifier"&&t.parent.parent.callee.object.name==="Promise"&&t.parent.parent.callee.property.type==="Identifier"}var Pje={meta:{type:"problem",docs:{description:"enforce valid `nextTick` function calls",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-next-tick.html"},fixable:"code",hasSuggestions:!0,schema:[],messages:{shouldBeFunction:"`nextTick` is a function.",missingCallbackOrAwait:"Await the Promise returned by `nextTick` or pass a callback function.",addAwait:"Add missing `await` statement.",tooManyParameters:"`nextTick` expects zero or one parameters.",eitherAwaitOrCallback:"Either await the Promise or pass a callback function to `nextTick`."}},create(t){return fA.defineVueVisitor(t,{Identifier(e){const r=Ije(e,t);if(!r||!r.parent)return;let i=r.parent;if(i.type==="ConditionalExpression"&&(i=i.parent),!(i.type==="CallExpression"&&i.callee!==r)&&!(i.type==="VariableDeclarator"||i.type==="AssignmentExpression")){if(i.type!=="CallExpression"){t.report({node:e,messageId:"shouldBeFunction",fix(s){return s.insertTextAfter(e,"()")}});return}if(i.arguments.length===0){m4(i)||t.report({node:e,messageId:"missingCallbackOrAwait",suggest:[{messageId:"addAwait",fix(s){return s.insertTextBefore(i,"await ")}}]});return}if(i.arguments.length>1){t.report({node:e,messageId:"tooManyParameters"});return}m4(i)&&t.report({node:e,messageId:"eitherAwaitOrCallback"})}}})}};const Lje=me;var Fje={meta:{type:"problem",docs:{description:"enforce valid template root",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-template-root.html"},fixable:null,schema:[],messages:{emptySrc:"The template root with 'src' attribute is required to be empty.",noChild:"The template requires child element."}},create(t){const e=t.getSourceCode();return{Program(r){const i=r.templateBody;if(i==null)return;const s=Lje.hasAttribute(i,"src"),a=[];for(const n of i.children)e.getText(n).trim()!==""&&a.push(n);if(s&&a.length>0)for(const n of a)t.report({node:n,loc:n.loc,messageId:"emptySrc"});else a.length===0&&!s&&t.report({node:i,loc:i.loc,messageId:"noChild"})}}}};const d4=me;function Nje(t){return!!d4.isCustomComponent(t)}function Bje(t){return t.type==="ChainExpression"&&t.expression.type==="MemberExpression"}function Oje(t){return t.type==="Identifier"||t.type==="MemberExpression"}function h4(t){if(t.type!=="MemberExpression")return!1;const{object:e}=t;return e.type==="ChainExpression"||e.type==="Literal"&&e.value===null&&!e.bigint?!0:e.type==="MemberExpression"?h4(e):!1}var $je={meta:{type:"problem",docs:{description:"enforce valid `.sync` modifier on `v-bind` directives",categories:["vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-bind-sync.html"},fixable:null,schema:[],messages:{unexpectedInvalidElement:"'.sync' modifiers aren't supported on <{{name}}> non Vue-components.",unexpectedOptionalChaining:"Optional chaining cannot appear in 'v-bind' with '.sync' modifiers.",unexpectedNonLhsExpression:"'.sync' modifiers require the attribute value which is valid as LHS.",unexpectedNullObject:"'.sync' modifier has potential null object property access.",unexpectedUpdateIterationVariable:"'.sync' modifiers cannot update the iteration variable '{{varName}}' itself."}},create(t){return d4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind']"(e){if(!e.key.modifiers.map(a=>a.name).includes("sync"))return;const r=e.parent.parent,i=r.name;if(Nje(r)||t.report({node:e,messageId:"unexpectedInvalidElement",data:{name:i}}),!e.value)return;const s=e.value.expression;if(s){Bje(s)?t.report({node:s,messageId:"unexpectedOptionalChaining"}):Oje(s)?h4(s)&&t.report({node:s,messageId:"unexpectedNullObject"}):t.report({node:s,messageId:"unexpectedNonLhsExpression"});for(const a of e.value.references){const n=a.id;if(n.parent.type!=="VExpressionContainer")continue;a.variable&&t.report({node:s,messageId:"unexpectedUpdateIterationVariable",data:{varName:n.name}})}}}})}};const g4=me,Vje=new Set(["prop","camel","sync","attr"]);var Mje={meta:{type:"problem",docs:{description:"enforce valid `v-bind` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-bind.html"},fixable:null,schema:[],messages:{unsupportedModifier:"'v-bind' directives don't support the modifier '{{name}}'.",expectedValue:"'v-bind' directives require an attribute value."}},create(t){return g4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='bind']"(e){for(const r of e.key.modifiers)Vje.has(r.name)||t.report({node:r,messageId:"unsupportedModifier",data:{name:r.name}});(!e.value||g4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const Uje=me;var jje={meta:{type:"problem",docs:{description:"enforce valid `v-cloak` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-cloak.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-cloak' directives require no argument.",unexpectedModifier:"'v-cloak' directives require no modifier.",unexpectedValue:"'v-cloak' directives require no attribute value."}},create(t){return Uje.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='cloak']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const Gu=me;var qje={meta:{type:"problem",docs:{description:"enforce valid `v-else-if` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-else-if.html"},fixable:null,schema:[],messages:{missingVIf:"'v-else-if' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive.",withVIf:"'v-else-if' and 'v-if' directives can't exist on the same element.",withVElse:"'v-else-if' and 'v-else' directives can't exist on the same element.",unexpectedArgument:"'v-else-if' directives require no argument.",unexpectedModifier:"'v-else-if' directives require no modifier.",expectedValue:"'v-else-if' directives require that attribute value."}},create(t){return Gu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='else-if']"(e){const r=e.parent.parent;Gu.prevElementHasIf(r)||t.report({node:e,messageId:"missingVIf"}),Gu.hasDirective(r,"if")&&t.report({node:e,messageId:"withVIf"}),Gu.hasDirective(r,"else")&&t.report({node:e,messageId:"withVElse"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||Gu.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const cd=me;var Kje={meta:{type:"problem",docs:{description:"enforce valid `v-else` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-else.html"},fixable:null,schema:[],messages:{missingVIf:"'v-else' directives require being preceded by the element which has a 'v-if' or 'v-else-if' directive.",withVIf:"'v-else' and 'v-if' directives can't exist on the same element. You may want 'v-else-if' directives.",withVElseIf:"'v-else' and 'v-else-if' directives can't exist on the same element.",unexpectedArgument:"'v-else' directives require no argument.",unexpectedModifier:"'v-else' directives require no modifier.",unexpectedValue:"'v-else' directives require no attribute value."}},create(t){return cd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='else']"(e){const r=e.parent.parent;cd.prevElementHasIf(r)||t.report({node:e,messageId:"missingVIf"}),cd.hasDirective(r,"if")&&t.report({node:e,messageId:"withVIf"}),cd.hasDirective(r,"else-if")&&t.report({node:e,messageId:"withVElseIf"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const Wu=me;function Gje(t,e){if(e.value==null)return!1;const r=e.value.references,i=t.parent.parent.variables;return r.some(s=>i.some(a=>a.id.name===s.id.name&&a.kind==="v-for"))}function Wje(t,e,r){const i=Wu.getDirective(r,"for");if(i!=null){const s=i.value&&i.value.references||[],a=e.parent.parent.variables;if(s.some(l=>a.some(o=>l.id.name===o.id.name&&o.kind==="v-for")))return}y4(t,e,r)}function y4(t,e,r){const i=Wu.getDirective(r,"bind","key");if(i==null&&r.name==="template"){for(const s of r.children)s.type==="VElement"&&Wje(t,e,s);return}Wu.isCustomComponent(r)&&i==null&&t.report({node:r.startTag,messageId:"requireKey"}),i!=null&&!Gje(e,i)&&t.report({node:i,messageId:"keyUseFVorVars"})}var Hje={meta:{type:"problem",docs:{description:"enforce valid `v-for` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-for.html"},fixable:null,schema:[],messages:{requireKey:"Custom elements in iteration require 'v-bind:key' directives.",keyUseFVorVars:"Expected 'v-bind:key' directive to use the variables which are defined by the 'v-for' directive.",unexpectedArgument:"'v-for' directives require no argument.",unexpectedModifier:"'v-for' directives require no modifier.",expectedValue:"'v-for' directives require that attribute value.",unexpectedExpression:"'v-for' directives require the special syntax '<alias> in <expression>'.",invalidEmptyAlias:"Invalid alias ''.",invalidAlias:"Invalid alias '{{text}}'."}},create(t){const e=t.getSourceCode();return Wu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='for']"(r){const i=r.parent.parent;if(y4(t,r,i),r.key.argument&&t.report({node:r.key.argument,messageId:"unexpectedArgument"}),r.key.modifiers.length>0&&t.report({node:r,loc:{start:r.key.modifiers[0].loc.start,end:r.key.modifiers[r.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),!r.value||Wu.isEmptyValueDirective(r,t)){t.report({node:r,messageId:"expectedValue"});return}const s=r.value.expression;if(s==null)return;if(s.type!=="VForExpression"){t.report({node:r.value,messageId:"unexpectedExpression"});return}const a=s.left,n=a[0],l=a[1],o=a[2];n===null&&t.report({node:s,messageId:"invalidEmptyAlias"}),l!==void 0&&(!l||l.type!=="Identifier")&&t.report({node:l||s,messageId:"invalidAlias",data:{text:l?e.getText(l):""}}),o!==void 0&&(!o||o.type!=="Identifier")&&t.report({node:o||s,messageId:"invalidAlias",data:{text:o?e.getText(o):""}})}})}};const E4=me;var zje={meta:{type:"problem",docs:{description:"enforce valid `v-html` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-html.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-html' directives require no argument.",unexpectedModifier:"'v-html' directives require no modifier.",expectedValue:"'v-html' directives require that attribute value."}},create(t){return E4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='html']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||E4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const fd=me;var Xje={meta:{type:"problem",docs:{description:"enforce valid `v-if` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-if.html"},fixable:null,schema:[],messages:{withVElse:"'v-if' and 'v-else' directives can't exist on the same element. You may want 'v-else-if' directives.",withVElseIf:"'v-if' and 'v-else-if' directives can't exist on the same element.",unexpectedArgument:"'v-if' directives require no argument.",unexpectedModifier:"'v-if' directives require no modifier.",expectedValue:"'v-if' directives require that attribute value."}},create(t){return fd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='if']"(e){const r=e.parent.parent;fd.hasDirective(r,"else")&&t.report({node:e,messageId:"withVElse"}),fd.hasDirective(r,"else-if")&&t.report({node:e,messageId:"withVElseIf"}),e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||fd.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}};const pd=me;function Yje(t){return!(pd.isHtmlElementNode(t)&&!pd.isHtmlWellKnownElementName(t.rawName))}var Jje={meta:{type:"problem",docs:{description:"enforce valid `v-is` directives",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/valid-v-is.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-is' directives require no argument.",unexpectedModifier:"'v-is' directives require no modifier.",expectedValue:"'v-is' directives require that attribute value.",ownerMustBeHTMLElement:"'v-is' directive must be owned by a native HTML element, but '{{name}}' is not."}},create(t){return pd.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='is']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||pd.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"});const r=e.parent.parent;if(!Yje(r)){const i=r.name;t.report({node:e,messageId:"ownerMustBeHTMLElement",data:{name:i}})}}})}};const pA=me;var Qje={meta:{type:"problem",docs:{description:"enforce valid `v-memo` directives",categories:["vue3-essential"],url:"https://eslint.vuejs.org/rules/valid-v-memo.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-memo' directives require no argument.",unexpectedModifier:"'v-memo' directives require no modifier.",expectedValue:"'v-memo' directives require that attribute value.",expectedArray:"'v-memo' directives require the attribute value to be an array.",insideVFor:"'v-memo' directive does not work inside 'v-for'."}},create(t){let e=null;return pA.defineTemplateBodyVisitor(t,{VElement(r){!e&&pA.hasDirective(r,"for")&&(e=r)},"VElement:exit"(r){e===r&&(e=null)},"VAttribute[directive=true][key.name.name='memo']"(r){if(e&&e!==r.parent.parent&&t.report({node:r.key,messageId:"insideVFor"}),r.key.argument&&t.report({node:r.key.argument,messageId:"unexpectedArgument"}),r.key.modifiers.length>0&&t.report({node:r,loc:{start:r.key.modifiers[0].loc.start,end:r.key.modifiers[r.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),!r.value||pA.isEmptyValueDirective(r,t)){t.report({node:r,messageId:"expectedValue"});return}if(!r.value.expression)return;const i=[r.value.expression];let s;for(;s=i.pop();)switch(s.type){case"ObjectExpression":case"ClassExpression":case"ArrowFunctionExpression":case"FunctionExpression":case"Literal":case"TemplateLiteral":case"UnaryExpression":case"BinaryExpression":case"UpdateExpression":{t.report({node:s,messageId:"expectedArray"});break}case"AssignmentExpression":{i.push(s.right);break}case"TSAsExpression":{i.push(s.expression);break}case"SequenceExpression":{i.push(s.expressions[s.expressions.length-1]);break}case"ConditionalExpression":{i.push(s.consequent,s.alternate);break}}}})}};const Hu=me,Zje=new Set(["lazy","number","trim"]);function e9e(t){const e=t.name;return e==="input"||e==="select"||e==="textarea"||e!=="keep-alive"&&e!=="slot"&&e!=="transition"&&e!=="transition-group"&&Hu.isCustomComponent(t)}function t9e(t){return t.type==="ChainExpression"&&t.expression.type==="MemberExpression"}function v4(t){return t.type==="TSAsExpression"||t.type==="TSNonNullExpression"?v4(t.expression):t.type==="Identifier"||t.type==="MemberExpression"}function b4(t){if(t.type!=="MemberExpression")return!1;const{object:e}=t;return e.type==="ChainExpression"||e.type==="Literal"&&e.value===null&&!e.bigint?!0:e.type==="MemberExpression"?b4(e):!1}function r9e(t,e){let r=e;for(;r!=null;){const i=r.variables,s=i&&i.find(a=>a.id.name===t);if(s!=null)return s;if(r.parent.type==="VDocumentFragment")break;r=r.parent}return null}var n9e={meta:{type:"problem",docs:{description:"enforce valid `v-model` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-model.html"},fixable:null,schema:[],messages:{unexpectedInvalidElement:"'v-model' directives aren't supported on <{{name}}> elements.",unexpectedInputFile:"'v-model' directives don't support 'file' input type.",unexpectedArgument:"'v-model' directives require no argument.",unexpectedModifier:"'v-model' directives don't support the modifier '{{name}}'.",missingValue:"'v-model' directives require that attribute value.",unexpectedOptionalChaining:"Optional chaining cannot appear in 'v-model' directives.",unexpectedNonLhsExpression:"'v-model' directives require the attribute value which is valid as LHS.",unexpectedNullObject:"'v-model' directive has potential null object property access.",unexpectedUpdateIterationVariable:"'v-model' directives cannot update the iteration variable '{{varName}}' itself."}},create(t){return Hu.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='model']"(e){const r=e.parent.parent,i=r.name;if(e9e(r)||t.report({node:e,messageId:"unexpectedInvalidElement",data:{name:i}}),i==="input"&&Hu.hasAttribute(r,"type","file")&&t.report({node:e,messageId:"unexpectedInputFile"}),!Hu.isCustomComponent(r)){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"});for(const a of e.key.modifiers)Zje.has(a.name)||t.report({node:a,messageId:"unexpectedModifier",data:{name:a.name}})}if(!e.value||Hu.isEmptyValueDirective(e,t)){t.report({node:e,messageId:"missingValue"});return}const s=e.value.expression;if(s){t9e(s)?t.report({node:s,messageId:"unexpectedOptionalChaining"}):v4(s)?b4(s)&&t.report({node:s,messageId:"unexpectedNullObject"}):t.report({node:s,messageId:"unexpectedNonLhsExpression"});for(const a of e.value.references){const n=a.id;if(n.parent.type!=="VExpressionContainer")continue;r9e(n.name,r)!=null&&t.report({node:s,messageId:"unexpectedUpdateIterationVariable",data:{varName:n.name}})}}}})}};const s9e=["unidentified","alt","alt-graph","caps-lock","control","fn","fn-lock","meta","num-lock","scroll-lock","shift","symbol","symbol-lock","hyper","super","enter","tab","arrow-down","arrow-left","arrow-right","arrow-up","end","home","page-down","page-up","backspace","clear","copy","cr-sel","cut","delete","erase-eof","ex-sel","insert","paste","redo","undo","accept","again","attn","cancel","context-menu","escape","execute","find","help","pause","select","zoom-in","zoom-out","brightness-down","brightness-up","eject","log-off","power","print-screen","hibernate","standby","wake-up","all-candidates","alphanumeric","code-input","compose","convert","dead","final-mode","group-first","group-last","group-next","group-previous","mode-change","next-candidate","non-convert","previous-candidate","process","single-candidate","hangul-mode","hanja-mode","junja-mode","eisu","hankaku","hiragana","hiragana-katakana","kana-mode","kanji-mode","katakana","romaji","zenkaku","zenkaku-hankaku","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","soft1","soft2","soft3","soft4","channel-down","channel-up","close","mail-forward","mail-reply","mail-send","media-close","media-fast-forward","media-pause","media-play-pause","media-record","media-rewind","media-stop","media-track-next","media-track-previous","new","open","print","save","spell-check","key11","key12","audio-balance-left","audio-balance-right","audio-bass-boost-down","audio-bass-boost-toggle","audio-bass-boost-up","audio-fader-front","audio-fader-rear","audio-surround-mode-next","audio-treble-down","audio-treble-up","audio-volume-down","audio-volume-up","audio-volume-mute","microphone-toggle","microphone-volume-down","microphone-volume-up","microphone-volume-mute","speech-correction-list","speech-input-toggle","launch-application1","launch-application2","launch-calendar","launch-contacts","launch-mail","launch-media-player","launch-music-player","launch-phone","launch-screen-saver","launch-spreadsheet","launch-web-browser","launch-web-cam","launch-word-processor","browser-back","browser-favorites","browser-forward","browser-home","browser-refresh","browser-search","browser-stop","app-switch","call","camera","camera-focus","end-call","go-back","go-home","headset-hook","last-number-redial","notification","manner-mode","voice-dial","t-v","t-v3-d-mode","t-v-antenna-cable","t-v-audio-description","t-v-audio-description-mix-down","t-v-audio-description-mix-up","t-v-contents-menu","t-v-data-service","t-v-input","t-v-input-component1","t-v-input-component2","t-v-input-composite1","t-v-input-composite2","t-v-input-h-d-m-i1","t-v-input-h-d-m-i2","t-v-input-h-d-m-i3","t-v-input-h-d-m-i4","t-v-input-v-g-a1","t-v-media-context","t-v-network","t-v-number-entry","t-v-power","t-v-radio-service","t-v-satellite","t-v-satellite-b-s","t-v-satellite-c-s","t-v-satellite-toggle","t-v-terrestrial-analog","t-v-terrestrial-digital","t-v-timer","a-v-r-input","a-v-r-power","color-f0-red","color-f1-green","color-f2-yellow","color-f3-blue","color-f4-grey","color-f5-brown","closed-caption-toggle","dimmer","display-swap","d-v-r","exit","favorite-clear0","favorite-clear1","favorite-clear2","favorite-clear3","favorite-recall0","favorite-recall1","favorite-recall2","favorite-recall3","favorite-store0","favorite-store1","favorite-store2","favorite-store3","guide","guide-next-day","guide-previous-day","info","instant-replay","link","list-program","live-content","lock","media-apps","media-last","media-skip-backward","media-skip-forward","media-step-backward","media-step-forward","media-top-menu","navigate-in","navigate-next","navigate-out","navigate-previous","next-favorite-channel","next-user-profile","on-demand","pairing","pin-p-down","pin-p-move","pin-p-toggle","pin-p-up","play-speed-down","play-speed-reset","play-speed-up","random-toggle","rc-low-battery","record-speed-next","rf-bypass","scan-channels-toggle","screen-mode-next","settings","split-screen-toggle","s-t-b-input","s-t-b-power","subtitle","teletext","video-mode-next","wink","zoom-toggle","audio-volume-down","audio-volume-up","audio-volume-mute","browser-back","browser-forward","channel-down","channel-up","context-menu","eject","end","enter","home","media-fast-forward","media-play","media-play-pause","media-record","media-rewind","media-stop","media-next-track","media-pause","media-previous-track","power","unidentified"],x4=me,i9e=s9e,a9e=new Set(["stop","prevent","capture","self","ctrl","shift","alt","meta","native","once","left","right","middle","passive","esc","tab","enter","space","up","left","right","down","delete","exact"]),o9e=new Set(["stop","prevent"]),l9e=new Set(i9e);function u9e(t,e){const r=t.name;return a9e.has(r)||Number.isInteger(Number.parseInt(r,10))||[...r].length===1||l9e.has(r)||e.has(r)}var c9e={meta:{type:"problem",docs:{description:"enforce valid `v-on` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-on.html"},fixable:null,schema:[{type:"object",properties:{modifiers:{type:"array"}},additionalProperties:!1}],messages:{unsupportedModifier:"'v-on' directives don't support the modifier '{{modifier}}'.",avoidKeyword:'Avoid using JavaScript keyword as "v-on" value: {{value}}.',expectedValueOrVerb:"'v-on' directives require a value or verb modifier (like 'stop' or 'prevent')."}},create(t){const e=t.options[0]||{},r=new Set(e.modifiers||[]),i=t.getSourceCode();return x4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='on']"(s){for(const a of s.key.modifiers)u9e(a,r)||t.report({node:a,messageId:"unsupportedModifier",data:{modifier:a.name}});if((!s.value||!s.value.expression)&&!s.key.modifiers.some(a=>o9e.has(a.name)))if(s.value&&!x4.isEmptyValueDirective(s,t)){const a=i.getText(s.value);let n=a;(a[0]==='"'||a[0]==="'")&&a[0]===a[a.length-1]&&(n=a.slice(1,-1)),/^\w+$/.test(n)&&t.report({node:s.value,messageId:"avoidKeyword",data:{value:a}})}else t.report({node:s,messageId:"expectedValueOrVerb"})}})}};const f9e=me;var p9e={meta:{type:"problem",docs:{description:"enforce valid `v-once` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-once.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-once' directives require no argument.",unexpectedModifier:"'v-once' directives require no modifier.",unexpectedValue:"'v-once' directives require no attribute value."}},create(t){return f9e.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='once']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const m9e=me;var d9e={meta:{type:"problem",docs:{description:"enforce valid `v-pre` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-pre.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-pre' directives require no argument.",unexpectedModifier:"'v-pre' directives require no modifier.",unexpectedValue:"'v-pre' directives require no attribute value."}},create(t){return m9e.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='pre']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),e.value&&t.report({node:e.value,messageId:"unexpectedValue"})}})}};const S4=me;var h9e={meta:{type:"problem",docs:{description:"enforce valid `v-show` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-show.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-show' directives require no argument.",unexpectedModifier:"'v-show' directives require no modifier.",expectedValue:"'v-show' directives require that attribute value.",unexpectedTemplate:"'v-show' directives cannot be put on <template> tags."}},create(t){return S4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='show']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||S4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"}),e.parent.parent.name==="template"&&t.report({node:e,messageId:"unexpectedTemplate"})}})}};const ts=me;function g9e(t){return ts.getDirectives(t,"slot")}function y9e(t){const e=[];for(const r of ts.iterateChildElementsChains(t)){const i=r.map(s=>s.name==="template"?ts.getDirective(s,"slot"):null).filter(ts.isDef);i.length>0&&e.push(i)}return e}function T4(t,e){return t.key.argument==null?"default":t.key.modifiers.length===0?e.getText(t.key.argument):e.text.slice(t.key.argument.range[0],t.key.range[1])}function E9e(t,e,r,i,s){const a=T4(e,i);return t.map(n=>n.filter(l=>{if(T4(l,i)!==a)return!1;const o=C4(l,ts.getDirective(l.parent.parent,"for"));return!r||!o?!r&&!o:!!v9e(r,o,s)})).filter(n=>n.length>0)}function v9e(t,e,r){if(t.variables.length!==e.variables.length||!a(t.expr.right,e.expr.right))return!1;const i=new Set,s=Math.min(t.expr.left.length,e.expr.left.length);for(let n=0;n<s;n++){const l=t.expr.left[n],o=e.expr.left[n],u=t.variables.find(f=>l.range[0]<=f.id.range[0]&&f.id.range[1]<=l.range[1]),c=e.variables.find(f=>o.range[0]<=f.id.range[0]&&f.id.range[1]<=o.range[1]);if(u&&c){if(u.id.name!==c.id.name||!a(l,o))return!1;i.add(u.id.name)}else if(u||c)return!1}return t.variables.every(n=>i.has(n.id.name)||e.variables.some(l=>n.id.name===l.id.name));function a(n,l){return n.type!==l.type?!1:ts.equalTokens(n,l,r)}}function C4(t,e){const r=e&&e.value&&e.value.expression,i=r&&b9e(t.key.argument,t.parent.parent);return r&&i&&i.length>0?{expr:r,variables:i}:null}function b9e(t,e){const r=[];if(t&&t.type==="VExpressionContainer")for(const{variable:i}of t.references)i!=null&&i.kind==="v-for"&&i.id.range[0]>e.startTag.range[0]&&i.id.range[1]<e.startTag.range[1]&&r.push(i);return r}function x9e(t){const e=t.key.argument,r=t.value;if(e&&r&&e.type==="VExpressionContainer"){for(const{variable:i}of e.references)if(i!=null&&i.kind==="scope"&&i.id.range[0]>r.range[0]&&i.id.range[1]<r.range[1])return!0}return!1}function S9e(t,e){return e?t.key.argument==null&&t.key.modifiers.length>0:t.key.modifiers.length>0}var T9e={meta:{type:"problem",docs:{description:"enforce valid `v-slot` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-slot.html"},fixable:null,schema:[{type:"object",properties:{allowModifiers:{type:"boolean"}},additionalProperties:!1}],messages:{ownerMustBeCustomElement:"'v-slot' directive must be owned by a custom element, but '{{name}}' is not.",namedSlotMustBeOnTemplate:"Named slots must use '<template>' on a custom element.",defaultSlotMustBeOnTemplate:"Default slot must use '<template>' on a custom element when there are other named slots.",disallowDuplicateSlotsOnElement:"An element cannot have multiple 'v-slot' directives.",disallowDuplicateSlotsOnChildren:"An element cannot have multiple '<template>' elements which are distributed to the same slot.",disallowArgumentUseSlotParams:"Dynamic argument of 'v-slot' directive cannot use that slot parameter.",disallowAnyModifier:"'v-slot' directive doesn't support any modifier.",requireAttributeValue:"'v-slot' directive on a custom element requires that attribute value."}},create(t){const e=t.getSourceCode(),r=e.parserServices.getTemplateBodyTokenStore&&e.parserServices.getTemplateBodyTokenStore(),s=(t.options[0]||{}).allowModifiers===!0;return ts.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='slot']"(a){const n=a.key.argument==null||a.key.argument.type==="VIdentifier"&&a.key.argument.name==="default",l=a.parent.parent,o=l.parent,u=l.name==="template"?o:l;if(u.type==="VDocumentFragment")return;const c=g9e(l),f=y9e(u);if(ts.isCustomComponent(u)||t.report({node:a,messageId:"ownerMustBeCustomElement",data:{name:u.rawName}}),!n&&l.name!=="template"&&t.report({node:a,messageId:"namedSlotMustBeOnTemplate"}),u===l&&f.length>0&&t.report({node:a,messageId:"defaultSlotMustBeOnTemplate"}),c.length>=2&&c[0]!==a&&t.report({node:a,messageId:"disallowDuplicateSlotsOnElement"}),u===o){const m=ts.getDirective(l,"for"),p=C4(a,m),h=E9e(f,a,p,e,r);h.length>=2&&!h[0].includes(a)&&t.report({node:a,messageId:"disallowDuplicateSlotsOnChildren"}),m&&!p&&t.report({node:a,messageId:"disallowDuplicateSlotsOnChildren"})}x9e(a)&&t.report({node:a,messageId:"disallowArgumentUseSlotParams"}),S9e(a,s)&&t.report({node:a,loc:{start:a.key.modifiers[0].loc.start,end:a.key.modifiers[a.key.modifiers.length-1].loc.end},messageId:"disallowAnyModifier"}),u===l&&n&&(!a.value||ts.isEmptyValueDirective(a,t)||ts.isEmptyExpressionValueDirective(a,t))&&t.report({node:a,messageId:"requireAttributeValue"})}})}};const A4=me;var C9e={meta:{type:"problem",docs:{description:"enforce valid `v-text` directives",categories:["vue3-essential","vue2-essential"],url:"https://eslint.vuejs.org/rules/valid-v-text.html"},fixable:null,schema:[],messages:{unexpectedArgument:"'v-text' directives require no argument.",unexpectedModifier:"'v-text' directives require no modifier.",expectedValue:"'v-text' directives require that attribute value."}},create(t){return A4.defineTemplateBodyVisitor(t,{"VAttribute[directive=true][key.name.name='text']"(e){e.key.argument&&t.report({node:e.key.argument,messageId:"unexpectedArgument"}),e.key.modifiers.length>0&&t.report({node:e,loc:{start:e.key.modifiers[0].loc.start,end:e.key.modifiers[e.key.modifiers.length-1].loc.end},messageId:"unexpectedModifier"}),(!e.value||A4.isEmptyValueDirective(e,t))&&t.report({node:e,messageId:"expectedValue"})}})}},R4={preprocess(t){return[t]},postprocess(t){const e={block:{disableAllKeys:new Set,disableRuleKeys:new Map},line:{disableAllKeys:new Set,disableRuleKeys:new Map}},r=[],i=new Map,s=t[0].filter(a=>{if(a.ruleId==="vue/comment-directive"){const n=a.messageId,l=a.message.split(" ");switch(n){case"disableBlock":{e.block.disableAllKeys.add(l[1]);break}case"disableLine":{e.line.disableAllKeys.add(l[1]);break}case"enableBlock":{e.block.disableAllKeys.clear();break}case"enableLine":{e.line.disableAllKeys.clear();break}case"disableBlockRule":{w4(e.block.disableRuleKeys,l[1],l[2]);break}case"disableLineRule":{w4(e.line.disableRuleKeys,l[1],l[2]);break}case"enableBlockRule":{e.block.disableRuleKeys.delete(l[1]);break}case"enableLineRule":{e.line.disableRuleKeys.delete(l[1]);break}case"clear":{e.block.disableAllKeys.clear(),e.block.disableRuleKeys.clear(),e.line.disableAllKeys.clear(),e.line.disableRuleKeys.clear();break}default:{i.set(A9e(a),a);break}}return!1}else{const n=[];if(e.block.disableAllKeys.size>0&&n.push(...e.block.disableAllKeys),e.line.disableAllKeys.size>0&&n.push(...e.line.disableAllKeys),a.ruleId){const l=e.block.disableRuleKeys.get(a.ruleId);l&&n.push(...l);const o=e.line.disableRuleKeys.get(a.ruleId);o&&n.push(...o)}return n.length>0?(r.push(...n),!1):!0}});if(i.size>0){for(const a of r)i.delete(a);s.push(...i.values()),s.sort(R9e)}return s},supportsAutofix:!0,meta:KR};function w4(t,e,r){let i=t.get(e);i?i.push(r):(i=[r],t.set(e,i))}function A9e(t){return`line:${t.line},column${t.column-1}`}function R9e(t,e){return t.line-e.line||t.column-e.column}var mA,k4;function dA(){return k4||(k4=1,mA={meta:KR,configs:{base:jG,essential:qG,"no-layout-rules":KG,recommended:GG,"strongly-recommended":WG,"vue3-essential":HG,"vue3-recommended":zG,"vue3-strongly-recommended":XG,"flat/base":jT(),"flat/vue2-essential":f8(),"flat/vue2-recommended":hRe(),"flat/vue2-strongly-recommended":m8(),"flat/essential":g8(),"flat/recommended":gRe(),"flat/strongly-recommended":E8()},rules:{"array-bracket-newline":ake,"array-bracket-spacing":lke,"array-element-newline":cke,"arrow-spacing":pke,"attribute-hyphenation":Tke,"attributes-order":Pke,"block-lang":Bke,"block-order":H3,"block-spacing":ZDe,"block-tag-newline":eIe,"brace-style":rIe,camelcase:sIe,"comma-dangle":aIe,"comma-spacing":lIe,"comma-style":cIe,"comment-directive":gIe,"component-api-style":AIe,"component-definition-name-casing":RIe,"component-name-in-template-casing":DIe,"component-options-name-casing":PIe,"component-tags-order":LIe,"custom-event-name-casing":$Ie,"define-emits-declaration":VIe,"define-macros-order":WIe,"define-props-declaration":HIe,"dot-location":XIe,"dot-notation":JIe,"enforce-style-attribute":rPe,eqeqeq:sPe,"first-attribute-linebreak":aPe,"func-call-spacing":lPe,"html-button-has-type":cPe,"html-closing-bracket-newline":mPe,"html-closing-bracket-spacing":gPe,"html-comment-content-newline":PPe,"html-comment-content-spacing":FPe,"html-comment-indent":OPe,"html-end-tags":$Pe,"html-indent":yLe,"html-quotes":ELe,"html-self-closing":SLe,"jsx-uses-vars":CLe,"key-spacing":RLe,"keyword-spacing":kLe,"match-component-file-name":_Le,"match-component-import-name":ILe,"max-attributes-per-line":FLe,"max-len":OLe,"max-lines-per-block":MLe,"max-props":ULe,"max-template-depth":jLe,"multi-word-component-names":KLe,"multiline-html-element-content-newline":YLe,"multiline-ternary":QLe,"mustache-interpolation-spacing":eFe,"new-line-between-multi-line-property":sFe,"next-tick-style":oFe,"no-arrow-functions-in-watch":lFe,"no-async-in-computed-properties":dFe,"no-bare-strings-in-template":xFe,"no-boolean-default":CFe,"no-child-content":kFe,"no-computed-properties-in-data":_Fe,"no-console":DFe,"no-constant-condition":LFe,"no-custom-modifiers-on-v-model":NFe,"no-deprecated-data-object-declaration":VFe,"no-deprecated-delete-set":qFe,"no-deprecated-destroyed-lifecycle":KFe,"no-deprecated-dollar-listeners-api":GFe,"no-deprecated-dollar-scopedslots-api":WFe,"no-deprecated-events-api":HFe,"no-deprecated-filter":XFe,"no-deprecated-functional-template":JFe,"no-deprecated-html-element-is":QFe,"no-deprecated-inline-template":eNe,"no-deprecated-model-definition":nNe,"no-deprecated-props-default-this":iNe,"no-deprecated-router-link-tag-prop":oNe,"no-deprecated-scope-attribute":fNe,"no-deprecated-slot-attribute":bNe,"no-deprecated-slot-scope-attribute":CNe,"no-deprecated-v-bind-sync":RNe,"no-deprecated-v-is":_Ne,"no-deprecated-v-on-native-modifier":INe,"no-deprecated-v-on-number-modifiers":NNe,"no-deprecated-vue-config-keycodes":ONe,"no-dupe-keys":UNe,"no-dupe-v-else-if":qNe,"no-duplicate-attr-inheritance":WNe,"no-duplicate-attributes":XNe,"no-empty-component-block":ZNe,"no-empty-pattern":tBe,"no-export-in-script-setup":nBe,"no-expose-after-await":iBe,"no-extra-parens":fBe,"no-invalid-model-keys":bBe,"no-irregular-whitespace":CBe,"no-lifecycle-after-await":RBe,"no-lone-template":_Be,"no-loss-of-precision":DBe,"no-multi-spaces":PBe,"no-multiple-objects-in-class":NBe,"no-multiple-slot-args":OBe,"no-multiple-template-root":$Be,"no-mutating-props":qBe,"no-parsing-error":KBe,"no-potential-component-option-typo":WBe,"no-ref-as-operand":aOe,"no-ref-object-destructure":uOe,"no-ref-object-reactivity-loss":Cj,"no-required-prop-with-default":cOe,"no-reserved-component-names":pOe,"no-reserved-keys":hOe,"no-reserved-props":EOe,"no-restricted-block":xOe,"no-restricted-call-after-await":TOe,"no-restricted-class":COe,"no-restricted-component-names":_Oe,"no-restricted-component-options":POe,"no-restricted-custom-event":FOe,"no-restricted-html-elements":NOe,"no-restricted-props":OOe,"no-restricted-static-attribute":UOe,"no-restricted-syntax":qOe,"no-restricted-v-bind":HOe,"no-restricted-v-on":YOe,"no-root-v-if":JOe,"no-setup-props-destructure":e2e,"no-setup-props-reactivity-loss":a9,"no-shared-component-data":s2e,"no-side-effects-in-computed-properties":a2e,"no-spaces-around-equal-signs-in-attribute":l2e,"no-sparse-arrays":c2e,"no-static-inline-styles":d2e,"no-template-key":h2e,"no-template-shadow":E2e,"no-template-target-blank":A2e,"no-textarea-mustache":w2e,"no-this-in-before-route-enter":k2e,"no-undef-components":I2e,"no-undef-properties":$2e,"no-unsupported-features":tMe,"no-unused-components":rMe,"no-unused-emit-declarations":sMe,"no-unused-properties":yMe,"no-unused-refs":vMe,"no-unused-vars":TMe,"no-use-computed-property-like-method":_Me,"no-use-v-else-with-v-for":IMe,"no-use-v-if-with-v-for":LMe,"no-useless-concat":NMe,"no-useless-mustaches":$Me,"no-useless-template-attributes":UMe,"no-useless-v-bind":qMe,"no-v-for-template-key-on-child":KMe,"no-v-for-template-key":GMe,"no-v-html":HMe,"no-v-model-argument":zMe,"no-v-text-v-html-on-component":XMe,"no-v-text":JMe,"no-watch-after-await":QMe,"object-curly-newline":e8e,"object-curly-spacing":r8e,"object-property-newline":s8e,"object-shorthand":a8e,"one-component-per-file":u8e,"operator-linebreak":f8e,"order-in-components":C8e,"padding-line-between-blocks":k8e,"padding-line-between-tags":F8e,"padding-lines-in-component-definition":V8e,"prefer-define-options":M8e,"prefer-import-from-vue":G8e,"prefer-prop-type-boolean-first":W8e,"prefer-separate-static-class":Y8e,"prefer-template":Q8e,"prefer-true-attribute-shorthand":Z8e,"prefer-use-template-ref":t3e,"prop-name-casing":s3e,"quote-props":o3e,"require-component-is":l3e,"require-default-export":u3e,"require-default-prop":p3e,"require-direct-export":d3e,"require-emit-validator":h3e,"require-explicit-emits":v3e,"require-explicit-slots":T3e,"require-expose":D3e,"require-macro-variable-name":L3e,"require-name-property":B3e,"require-prop-comment":V3e,"require-prop-type-constructor":j3e,"require-prop-types":q3e,"require-render-return":K3e,"require-slots-as-functions":W3e,"require-toggle-inside-transition":X3e,"require-typed-object-prop":J3e,"require-typed-ref":eUe,"require-v-for-key":tUe,"require-valid-default-prop":nUe,"restricted-component-names":pUe,"return-in-computed-property":mUe,"return-in-emits-validator":dUe,"script-indent":gUe,"script-setup-uses-vars":bUe,"singleline-html-element-content-newline":RUe,"slot-name-casing":_Ue,"sort-keys":IUe,"space-in-parens":LUe,"space-infix-ops":NUe,"space-unary-ops":OUe,"static-class-names-order":VUe,"template-curly-spacing":UUe,"this-in-template":KUe,"use-v-on-exact":QUe,"v-bind-style":tje,"v-for-delimiter-style":nje,"v-if-else-key":ije,"v-on-event-hyphenation":lje,"v-on-function-call":fje,"v-on-handler-style":dje,"v-on-style":gje,"v-slot-style":Sje,"valid-attribute-name":Tje,"valid-define-emits":Aje,"valid-define-options":wje,"valid-define-props":_je,"valid-model-definition":lj,"valid-next-tick":Pje,"valid-template-root":Fje,"valid-v-bind-sync":$je,"valid-v-bind":Mje,"valid-v-cloak":jje,"valid-v-else-if":qje,"valid-v-else":Kje,"valid-v-for":Hje,"valid-v-html":zje,"valid-v-if":Xje,"valid-v-is":Jje,"valid-v-memo":Qje,"valid-v-model":n9e,"valid-v-on":c9e,"valid-v-once":p9e,"valid-v-pre":d9e,"valid-v-show":h9e,"valid-v-slot":T9e,"valid-v-text":C9e},processors:{".vue":R4,vue:R4},environments:{"setup-compiler-macros":{globals:{defineProps:"readonly",defineEmits:"readonly",defineExpose:"readonly",withDefaults:"readonly"}}}}),mA}dA();const w9e={name:"UIDynamicForm",components:{FormKit:jd,UIDynamicFormFooterAction:DG,UIDynamicFormTitleText:$G},inject:["$socket"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!1,visible:!1})}},setup(t){console.info("UIDynamicForm setup with:",t),console.debug("Vue function loaded correctly",ye.markRaw);const r=ye.getCurrentInstance().appContext.app,i=Vd({theme:"genesis",locales:{de:Tq},locale:"de"});r.use(pG,i)},data(){return{actions:[],formData:{},userTask:null,theme:"",errorMsg:"",formIsFinished:!1,msg:null,collapsed:!1,firstFormFieldRef:null}},computed:{dynamicClass(){return`ui-dynamic-form-${this.theme} ui-dynamic-form-common`},dynamicFooterClass(){return`ui-dynamic-form-footer-${this.theme} ui-dynamic-form-footer-common`},hasUserTask(){return!!this.userTask},totalOutputs(){return this.props.options.length+(this.props.handle_confirmation_dialogs?2:0)+(this.props.trigger_on_change?1:0)},isConfirmDialog(){return this.userTask.userTaskConfig.formFields.some(t=>t.type==="confirm")}},watch:{formData:{handler(t,e){if(this.props.trigger_on_change){const r={payload:{formData:t,userTask:this.userTask}};this.send(r,this.totalOutputs-1)}},collapsed(t){!t&&this.hasUserTask&&ye.nextTick(()=>{this.focusFirstFormField()})},userTask(t){t&&!this.collapsed&&ye.nextTick(()=>{this.focusFirstFormField()})},deep:!0}},created(){const t=window.location.pathname,e=t.substring(t.lastIndexOf("/")),r=this.$store.state;for(const i in r.ui.pages)if(r.ui.pages[i].path===e){const s=r.ui.pages[i].theme;r.ui.themes[s].name==="ProcessCube Lightmode"?this.theme="light":r.ui.themes[s].name==="ProcessCube Darkmode"?this.theme="dark":this.theme="default";break}},mounted(){document.querySelectorAll(".formkit-input").forEach(e=>{e.classList.add("test")}),this.$socket.on("widget-load:"+this.id,e=>{this.init(e)}),this.$socket.on("msg-input:"+this.id,e=>{this.init(e)}),this.$socket.emit("widget-load",this.id)},unmounted(){var t,e;(t=this.$socket)==null||t.off("widget-load"+this.id),(e=this.$socket)==null||e.off("msg-input:"+this.id)},methods:{createComponent(t){const e=t.customForm?JSON.parse(t.customForm):{},r=e.hint,i=e.placeholder,s=e.validation,a=t.id,n=e.customProperties??[],l=this.props.readonly||this.formIsFinished||n.find(o=>["readOnly","readonly"].includes(o.name)&&o.value==="true")?"true":void 0;switch(t.type){case"long":return{type:"FormKit",props:{type:"number",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],number:"integer",help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"number":const o=t.customForm?JSON.parse(t.customForm).step:void 0;return{type:"FormKit",props:{type:"number",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],step:o,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"date":return{type:"FormKit",props:{type:"date",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"enum":const u=t.enumValues.map(y=>({value:y.id,label:y.name}));return{type:"FormKit",props:{type:"select",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:u,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"select":const c=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"select",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:c,placeholder:i,help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"string":return{type:"FormKit",props:{type:"text",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"confirm":return{type:"h3",innerText:t.label};case"boolean":return{type:"FormKit",props:{type:"checkbox",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"file":const f=t.customForm?JSON.parse(t.customForm).multiple==="true":!1;return{type:"FormKit",props:{type:"file",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,innerClass:"reset-background",wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,readonly:l,disabled:l,multiple:f,validation:s,validationVisibility:"live"}};case"checkbox":const m=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"checkbox",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:m,help:r,fieldsetClass:"custom-fieldset",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"color":return{type:"FormKit",props:{type:"color",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"datetime-local":return{type:"FormKit",props:{type:"datetime-local",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"email":return{type:"FormKit",props:{type:"email",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"header":let p="h1";return t.customForm&&JSON.parse(t.customForm).style==="heading_2"&&(p="h2"),t.customForm&&JSON.parse(t.customForm).style==="heading_3"&&(p="h3"),{type:p,innerText:this.formData[t.id]};case"hidden":return{type:"input",props:{type:"hidden",value:this.formData[t.id]}};case"month":return{type:"FormKit",props:{type:"month",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"paragraph":return{type:"p",innerText:this.formData[t.id]};case"password":return{type:"FormKit",props:{type:"password",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"radio":const h=JSON.parse(t.customForm).entries.map(y=>({value:y.key,label:y.value}));return{type:"FormKit",props:{type:"radio",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],options:h,help:r,fieldsetClass:"custom-fieldset",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"range":const d=JSON.parse(t.customForm);return{type:"v-slider",props:{id:t.id,name:a,required:t.required,min:d.min,max:d.max,step:d.step,thumbLabel:!0,labelClass:"ui-dynamic-form-input-label",readonly:l,disabled:l,validation:s,validationVisibility:"live"}};case"tel":return{type:"FormKit",props:{type:"tel",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"textarea":const g=t.customForm?JSON.parse(t.customForm).rows:void 0;return{type:"FormKit",props:{type:"textarea",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],rows:g,help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"time":return{type:"FormKit",props:{type:"time",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"url":return{type:"FormKit",props:{type:"url",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};case"week":return{type:"FormKit",props:{type:"week",id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,placeholder:i,wrapperClass:"$remove:formkit-wrapper",labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}};default:return{type:"FormKit",props:{type:t.type,id:t.id,name:a,label:t.label,required:t.required,value:this.formData[t.id],help:r,labelClass:"ui-dynamic-form-input-label",inputClass:`input-${this.theme}`,innerClass:`ui-dynamic-form-input-outlines ${this.theme==="dark"?"$remove:formkit-inner":""}`,readonly:l,validation:s,validationVisibility:"live"}}}},toggleCollapse(){this.collapsed=!this.collapsed},getRowWidthStyling(t,e){let r="";return e===0&&(r+="margin-top: 12px;"),t.type==="header"?r+="flex-basis: 100%;":r+=`flex-basis: ${1/this.props.form_columns*100}%;`,r},fields(){var r;return(((r=this.userTask.userTaskConfig)==null?void 0:r.formFields)??[]).map(i=>({...i,items:k9e(i.type,i)}))},send(t,e){const r=[];r[e]=t,this.$socket.emit("widget-action",this.id,r)},init(t){if(this.msg=t,!t)return;if(this.actions=this.props.options,t.payload&&t.payload.userTask)this.userTask=t.payload.userTask;else{this.userTask=null,this.formData={};return}const r=this.userTask.userTaskConfig.formFields,i=r.map(n=>n.id),s=this.userTask.startToken,a=t.payload.formData;this.formIsFinished=!!t.payload.formData,this.formIsFinished&&(this.collapsed=this.props.collapse_when_finished),r&&r.forEach(n=>{if(this.formData[n.id]=n.defaultValue,n.type==="confirm"){const l=n.customForm?JSON.parse(n.customForm):{},o=l.confirmButtonText??"Confirm",u=l.declineButtonText??"Decline";this.actions=[{alignment:"right",primary:"false",label:u,condition:""},{alignment:"right",primary:"true",label:o,condition:""}]}}),s&&Object.keys(s).filter(n=>i.includes(n)).forEach(n=>{this.formData[n]=s[n]}),this.formIsFinished&&Object.keys(a).filter(n=>i.includes(n)).forEach(n=>{this.formData[n]=a[n]}),ye.nextTick(()=>{this.focusFirstFormField()})},actionFn(t){if(t.label==="Speichern"||t.label==="Speichern und nächster"){const e=this.$refs.form.$el.querySelectorAll(".formkit-outer");let r=!0;if(e.forEach(i=>{const s=i.getAttribute("data-complete"),a=i.getAttribute("data-invalid");s==null&&a==="true"&&(r=!1)}),!r)return}if(this.checkCondition(t.condition)){this.showError("");const e=this.msg??{};e.payload={formData:this.formData,userTask:this.userTask},this.send(e,this.actions.findIndex(r=>r.label===t.label)+(this.isConfirmDialog?this.props.options.length:0))}else this.showError(t.errorMessage)},checkCondition(t){if(t==="")return!0;try{return!!Function("fields","userTask","msg",'"use strict"; return ('+t+")")(this.formData,this.userTask,this.msg)}catch(e){return console.error("Error while evaluating condition: "+e),!1}},showError(t){this.errorMsg=t},focusFirstFormField(){if(!(this.collapsed||!this.hasUserTask)&&this.firstFormFieldRef){let t=null;this.firstFormFieldRef.node&&this.firstFormFieldRef.node.input instanceof HTMLElement?t=this.firstFormFieldRef.node.input:this.firstFormFieldRef.$el instanceof HTMLElement&&(["INPUT","TEXTAREA","SELECT"].includes(this.firstFormFieldRef.$el.tagName)?t=this.firstFormFieldRef.$el:t=this.firstFormFieldRef.$el.querySelector('input:not([type="hidden"]), textarea, select')),t?t.focus():console.warn("Could not find a focusable input element for the first form field.")}}}};function k9e(t,e){return t==="enum"?e.enumValues.map(r=>({title:r.name,value:r.id})):null}const _9e={className:"ui-dynamic-form-wrapper"},D9e={key:0,style:{"margin-bottom":"0px"}},I9e={key:0},P9e={key:1},L9e={class:"formkit-label"},F9e={class:"formkit-help"},N9e={key:1},B9e={key:1,style:{"padding-top":"32px"}};function O9e(t,e,r,i,s,a){const n=ye.resolveComponent("UIDynamicFormTitleText"),l=ye.resolveComponent("v-col"),o=ye.resolveComponent("v-row"),u=ye.resolveComponent("FormKit"),c=ye.resolveComponent("v-alert"),f=ye.resolveComponent("UIDynamicFormFooterAction"),m=ye.resolveComponent("v-form");return ye.openBlock(),ye.createElementBlock("div",{className:"ui-dynamic-form-external-sizing-wrapper",style:ye.normalizeStyle(r.props.card_size_styling)},[r.props.title_style==="outside"&&a.hasUserTask?(ye.openBlock(),ye.createBlock(n,{key:0,style:ye.normalizeStyle(r.props.title_style),title:r.props.title_text,customStyles:r.props.title_custom_text_styling,titleIcon:r.props.title_icon,collapsible:r.props.collapsible||r.props.collapse_when_finished&&s.formIsFinished,collapsed:s.collapsed,toggleCollapse:a.toggleCollapse},null,8,["style","title","customStyles","titleIcon","collapsible","collapsed","toggleCollapse"])):ye.createCommentVNode("",!0),ye.createElementVNode("div",_9e,[a.hasUserTask?(ye.openBlock(),ye.createElementBlock("p",D9e,[ye.createVNode(m,{ref:"form",modelValue:t.form,"onUpdate:modelValue":e[0]||(e[0]=p=>t.form=p),class:ye.normalizeClass(a.dynamicClass)},{default:ye.withCtx(()=>[r.props.title_style!="outside"?(ye.openBlock(),ye.createBlock(n,{key:0,style:ye.normalizeStyle(r.props.title_style),title:r.props.title_text,customStyles:r.props.title_custom_text_styling,titleIcon:r.props.title_icon,collapsible:r.props.collapsible||r.props.collapse_when_finished&&s.formIsFinished,collapsed:s.collapsed,toggleCollapse:a.toggleCollapse},null,8,["style","title","customStyles","titleIcon","collapsible","collapsed","toggleCollapse"])):ye.createCommentVNode("",!0),ye.createVNode(ye.Transition,{name:"cardCollapse"},{default:ye.withCtx(()=>[s.collapsed?ye.createCommentVNode("",!0):(ye.openBlock(),ye.createElementBlock("div",I9e,[ye.createElementVNode("div",{className:"ui-dynamic-form-formfield-positioner",style:ye.normalizeStyle(r.props.inner_card_styling)},[ye.createVNode(u,{id:"form",type:"group"},{default:ye.withCtx(()=>[(ye.openBlock(!0),ye.createElementBlock(ye.Fragment,null,ye.renderList(a.fields(),(p,h)=>(ye.openBlock(),ye.createBlock(o,{key:p,style:ye.normalizeStyle(a.getRowWidthStyling(p,h))},{default:ye.withCtx(()=>[ye.createVNode(l,{cols:"12"},{default:ye.withCtx(()=>[a.createComponent(p).innerText?(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({key:0,ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:s.formData[p.id],"onUpdate:modelValue":d=>s.formData[p.id]=d}),{default:ye.withCtx(()=>[ye.createTextVNode(ye.toDisplayString(a.createComponent(p).innerText),1)]),_:2},1040,["modelValue","onUpdate:modelValue"])):a.createComponent(p).type=="v-slider"?(ye.openBlock(),ye.createElementBlock("div",P9e,[ye.createElementVNode("p",L9e,ye.toDisplayString(p.label),1),(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:p.defaultValue,"onUpdate:modelValue":d=>p.defaultValue=d}),null,16,["modelValue","onUpdate:modelValue"])),ye.createElementVNode("p",F9e,ye.toDisplayString(p.customForm?JSON.parse(p.customForm).hint:void 0),1)])):(ye.openBlock(),ye.createBlock(ye.resolveDynamicComponent(a.createComponent(p).type),ye.mergeProps({key:2,ref_for:!0},a.createComponent(p).props,{ref_for:!0,ref:d=>{h===0&&(s.firstFormFieldRef=d)},modelValue:s.formData[p.id],"onUpdate:modelValue":d=>s.formData[p.id]=d}),null,16,["modelValue","onUpdate:modelValue"]))]),_:2},1024)]),_:2},1032,["style"]))),128))]),_:1})],4),ye.createVNode(o,{class:ye.normalizeClass(a.dynamicFooterClass)},{default:ye.withCtx(()=>[s.errorMsg.length>0?(ye.openBlock(),ye.createBlock(o,{key:0,style:{padding:"12px"}},{default:ye.withCtx(()=>[ye.createVNode(c,{type:"error"},{default:ye.withCtx(()=>[ye.createTextVNode("Error: "+ye.toDisplayString(s.errorMsg),1)]),_:1})]),_:1})):ye.createCommentVNode("",!0),r.props.actions_inside_card&&s.actions.length>0?(ye.openBlock(),ye.createBlock(f,{key:1,actions:s.actions,actionCallback:a.actionFn,formIsFinished:s.formIsFinished,style:{padding:"16px","padding-top":"0px"}},null,8,["actions","actionCallback","formIsFinished"])):ye.createCommentVNode("",!0)]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue","class"])])):(ye.openBlock(),ye.createElementBlock("p",N9e,[r.props.waiting_info.length>0||r.props.waiting_title.length>0?(ye.openBlock(),ye.createBlock(c,{key:0,text:r.props.waiting_info,title:r.props.waiting_title},null,8,["text","title"])):ye.createCommentVNode("",!0)]))]),!r.props.actions_inside_card&&s.actions.length>0&&a.hasUserTask?(ye.openBlock(),ye.createElementBlock("div",B9e,[ye.createVNode(f,{actions:s.actions,actionCallback:a.actionFn},null,8,["actions","actionCallback"])])):ye.createCommentVNode("",!0)],4)}const $9e=Kd(w9e,[["render",O9e]]);Ki.UIDynamicForm=$9e,Object.defineProperty(Ki,Symbol.toStringTag,{value:"Module"})});
@@ -139,8 +139,7 @@ export default {
139
139
  const formkitConfig = defaultConfig({
140
140
  theme: 'genesis',
141
141
  locales: { de },
142
- locale: 'de',
143
- rules: { requiredIf }
142
+ locale: 'de'
144
143
  })
145
144
  app.use(plugin, formkitConfig)
146
145
  },