@5minds/node-red-dashboard-2-processcube-dynamic-form 1.0.23 → 1.0.24-feature-676ff4-m0f8l0bk

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.
@@ -0,0 +1,4 @@
1
+ <svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M3 0.5C3.27614 0.5 3.5 0.723858 3.5 1C3.5 1.66262 3.17373 2.28338 2.72855 2.72855C2.28338 3.17373 1.66262 3.5 1 3.5C0.723858 3.5 0.5 3.27614 0.5 3C0.5 2.72386 0.723858 2.5 1 2.5C1.33738 2.5 1.71662 2.32627 2.02145 2.02145C2.32627 1.71662 2.5 1.33738 2.5 1C2.5 0.723858 2.72386 0.5 3 0.5ZM5 0.5C5.27614 0.5 5.5 0.723858 5.5 1C5.5 2.16262 4.92373 3.28338 4.10355 4.10355C3.28338 4.92373 2.16262 5.5 1 5.5C0.723858 5.5 0.5 5.27614 0.5 5C0.5 4.72386 0.723858 4.5 1 4.5C1.83738 4.5 2.71662 4.07627 3.39645 3.39645C4.07627 2.71662 4.5 1.83738 4.5 1C4.5 0.723858 4.72386 0.5 5 0.5Z" fill="white"/>
3
+ <path d="M8.7136 6.33333L8.81384 5.83333C8.88067 5.80556 8.94332 5.77639 9.00179 5.74583C9.06026 5.71528 9.12013 5.67778 9.18138 5.63333L9.66587 5.78333L10 5.21667L9.61575 4.88333C9.62689 4.81111 9.63246 4.73889 9.63246 4.66667C9.63246 4.59444 9.62689 4.52222 9.61575 4.45L10 4.11667L9.66587 3.55L9.18138 3.7C9.12013 3.65556 9.06026 3.61806 9.00179 3.5875C8.94332 3.55694 8.88067 3.52778 8.81384 3.5L8.7136 3H8.04535L7.94511 3.5C7.87828 3.52778 7.81563 3.55694 7.75716 3.5875C7.69869 3.61806 7.63882 3.65556 7.57757 3.7L7.09308 3.55L6.75895 4.11667L7.1432 4.45C7.13206 4.52222 7.12649 4.59444 7.12649 4.66667C7.12649 4.73889 7.13206 4.81111 7.1432 4.88333L6.75895 5.21667L7.09308 5.78333L7.57757 5.63333C7.63882 5.67778 7.69869 5.71528 7.75716 5.74583C7.81563 5.77639 7.87828 5.80556 7.94511 5.83333L8.04535 6.33333H8.7136ZM8.37948 5.33333C8.1957 5.33333 8.03839 5.26806 7.90752 5.1375C7.77665 5.00694 7.71122 4.85 7.71122 4.66667C7.71122 4.48333 7.77665 4.32639 7.90752 4.19583C8.03839 4.06528 8.1957 4 8.37948 4C8.56325 4 8.72056 4.06528 8.85143 4.19583C8.9823 4.32639 9.04773 4.48333 9.04773 4.66667C9.04773 4.85 8.9823 5.00694 8.85143 5.1375C8.72056 5.26806 8.56325 5.33333 8.37948 5.33333ZM5.72315 10L5.87351 9.3C5.96818 9.26667 6.05589 9.22639 6.13664 9.17917C6.21738 9.13194 6.29674 9.07778 6.3747 9.01667L7.04296 9.23333L7.51074 8.43333L6.97613 7.96667C6.98727 7.86667 6.99284 7.76667 6.99284 7.66667C6.99284 7.56667 6.98727 7.46667 6.97613 7.36667L7.51074 6.9L7.04296 6.1L6.3747 6.31667C6.29674 6.25556 6.21738 6.20139 6.13664 6.15417C6.05589 6.10694 5.96818 6.06667 5.87351 6.03333L5.72315 5.33333H4.78759L4.63723 6.03333C4.54256 6.06667 4.45485 6.10694 4.37411 6.15417C4.29336 6.20139 4.214 6.25556 4.13604 6.31667L3.46778 6.1L3 6.9L3.53461 7.36667C3.52347 7.46667 3.5179 7.56667 3.5179 7.66667C3.5179 7.76667 3.52347 7.86667 3.53461 7.96667L3 8.43333L3.46778 9.23333L4.13604 9.01667C4.214 9.07778 4.29336 9.13194 4.37411 9.17917C4.45485 9.22639 4.54256 9.26667 4.63723 9.3L4.78759 10H5.72315ZM5.25537 8.66667C4.97693 8.66667 4.74025 8.56944 4.54535 8.375C4.35044 8.18056 4.25298 7.94444 4.25298 7.66667C4.25298 7.38889 4.35044 7.15278 4.54535 6.95833C4.74025 6.76389 4.97693 6.66667 5.25537 6.66667C5.53381 6.66667 5.77049 6.76389 5.96539 6.95833C6.1603 7.15278 6.25776 7.38889 6.25776 7.66667C6.25776 7.94444 6.1603 8.18056 5.96539 8.375C5.77049 8.56944 5.53381 8.66667 5.25537 8.66667Z" fill="white"/>
4
+ </svg>
@@ -40,7 +40,7 @@
40
40
  outputLabels: function (index) {
41
41
  return this.options[index].label;
42
42
  },
43
- icon: 'file.svg',
43
+ icon: 'external_task_listener.svg',
44
44
  label: function () {
45
45
  return this.name || 'dynamic-form';
46
46
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-dashboard-2-processcube-dynamic-form",
3
- "version": "1.0.23",
3
+ "version": "1.0.24-feature-676ff4-m0f8l0bk",
4
4
  "description": "The ui component for the ProcessCube dynamic-form",
5
5
  "keywords": [
6
6
  "processcube",
@@ -54,6 +54,8 @@
54
54
  "lint:package:fix": "sort-package-json 'package.json'"
55
55
  },
56
56
  "dependencies": {
57
+ "@formkit/themes": "^1.6.5",
58
+ "@formkit/vue": "^1.6.5",
57
59
  "to-title-case": "^1.0.0",
58
60
  "vue": "^3.3.8",
59
61
  "vuex": "^4.1.0"
@@ -1,2 +1,2 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var d=document.createElement("style");d.appendChild(document.createTextNode(".dynamic-form-wrapper[data-v-d2f7f38d]{padding:10px;margin:10px;border:1px solid black}.dynamic-form-class[data-v-d2f7f38d]{color:green;font-weight:700}h1[data-v-d2f7f38d]{margin-bottom:10px}h2[data-v-d2f7f38d]{margin-top:1.5rem;margin-bottom:.75rem}h3[data-v-d2f7f38d]{margin-top:1rem}p[data-v-d2f7f38d]{margin-bottom:5px}ul li[data-v-d2f7f38d]{list-style-type:circle;list-style-position:inside;margin-left:15px}pre[data-v-d2f7f38d]{padding:12px;margin:12px;background-color:#eee}code[data-v-d2f7f38d]{font-size:.825rem;color:#ae0000}")),document.head.appendChild(d)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- (function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vuex")):typeof define=="function"&&define.amd?define(["exports","vue","vuex"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a["ui-dynamic-form"]={},a.Vue,a.vuex))})(this,function(a,e,h){"use strict";const u=(t,s)=>{const r=t.__vccOpts||t;for(const[n,o]of s)r[n]=o;return r},f={name:"UIDynamicForm",inject:["$socket","$dataTracker"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!1,visible:!1})}},created(){this.$dataTracker(this.id)},setup(t){console.info("UIDynamicForm setup with:",t),console.debug("Vue function loaded correctly",e.markRaw)},data(){return{actions:[],form:{},formData:{},msg:{},taskInput:{},error:!1,errorMsg:""}},computed:{...h.mapState("data",["messages"]),waiting_title(){return this.props.waiting_title||"Warten auf den Usertask..."},waiting_info(){return this.props.waiting_info||"Der Usertask wird automatisch angezeigt, wenn ein entsprechender Task vorhanden ist."}},mounted(){this.$socket.on("widget-load:"+this.id,t=>{this.init(),this.$store.commit("data/bind",{widgetId:this.id,msg:t})}),this.$socket.on("msg-input:"+this.id,t=>{this.init();const s=t.payload&&t.payload.userTask,r=t.payload.userTask.userTaskConfig.formFields,n=t.payload.userTask.startToken;s&&(this.taskInput=t.payload.userTask),s&&r&&r.forEach(o=>{this.formData[o.id]=o.defaultValue}),s&&n&&Object.keys(n).forEach(o=>{this.formData[o]=n[o]}),this.$store.commit("data/bind",{widgetId:this.id,msg:t})}),this.$socket.emit("widget-load",this.id)},unmounted(){var t,s;(t=this.$socket)==null||t.off("widget-load"+this.id),(s=this.$socket)==null||s.off("msg-input:"+this.id)},methods:{hasUserTask(){return this.messages&&this.messages[this.id]&&this.messages[this.id].payload.userTask},userTask(){return this.hasUserTask()?this.messages[this.id].payload.userTask:{}},fields(){return(this.hasUserTask()?this.userTask().userTaskConfig.formFields:[]).map(r=>({...r,component:g(r.type),items:k(r.type,r)}))},hasFields(){return this.messages&&this.messages[this.id]&&this.messages[this.id].payload.userTask!==void 0},send(t,s){const r=[];r[s]=t,this.$socket.emit("widget-action",this.id,r)},init(){this.actions=this.props.options},actionFn(t){if(this.checkCondition(t.condition)){this.showError(!1,"");const s=this.messages[this.id]||{};s.payload={formData:this.formData,userTask:this.userTask()},this.send(s,this.actions.findIndex(r=>r.label===t.label))}else this.showError(!0,t.errorMessage)},checkCondition(t){if(t=="")return!0;try{return!!Function("fields","userTask","msg",'"use strict"; return ('+t+")")(this.formData,this.taskInput,this.msg)}catch(s){return console.error("Error while evaluating condition: "+s),!1}},showError(t,s){this.error=t,this.errorMsg=s}}};function k(t,s){return t==="enum"?s.enumValues.map(r=>({title:r.name,value:r.id})):null}function g(t){switch(t){case"string":return"v-text-field";case"long":case"date":return"v-text-field";case"enum":return"v-select";case"boolean":return"v-checkbox";case"text":return"v-text-field";case"select":return"v-select";case"checkbox":return"v-checkbox";case"radio":return"v-radio";case"switch":return"v-switch";case"slider":return"v-slider";case"time":return"v-time-picker";case"datetime":return"v-datetime-picker";case"color":return"v-color-picker";case"file":return"v-file-input";case"textarea":return"v-textarea";case"password":return"v-text-field";case"number":return"v-text-field";case"email":return"v-text-field";case"tel":return"v-text-field";case"url":return"v-text-field";default:return"v-text-field"}}const _={className:"ui-dynamic-form-wrapper"},y={key:0},x={key:1};function w(t,s,r,n,o,c){const b=e.resolveComponent("v-col"),d=e.resolveComponent("v-row"),m=e.resolveComponent("v-alert"),B=e.resolveComponent("v-btn"),C=e.resolveComponent("v-form");return e.openBlock(),e.createElementBlock("div",_,[c.hasFields()?(e.openBlock(),e.createElementBlock("p",y,[e.createVNode(C,{ref:"form",modelValue:o.form,"onUpdate:modelValue":s[0]||(s[0]=i=>o.form=i)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.fields(),(i,l)=>(e.openBlock(),e.createBlock(d,{key:l},{default:e.withCtx(()=>[e.createVNode(b,{cols:"12"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),{id:i.id,modelValue:o.formData[i.id],"onUpdate:modelValue":p=>o.formData[i.id]=p,required:i.required,items:i.items,label:i.label},null,8,["id","modelValue","onUpdate:modelValue","required","items","label"]))]),_:2},1024)]),_:2},1024))),128)),e.createVNode(d,{style:{padding:"12px"}},{default:e.withCtx(()=>[o.error?(e.openBlock(),e.createBlock(m,{key:0,type:"error"},{default:e.withCtx(()=>[e.createTextVNode("Error: "+e.toDisplayString(o.errorMsg),1)]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(d,{style:{display:"flex",gap:"8px",padding:"12px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.actions,(i,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,style:{"flex-grow":"1"}},[(e.openBlock(),e.createBlock(B,{key:l,style:{width:"100%"},onClick:p=>c.actionFn(i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1032,["onClick"]))]))),128))]),_:1})]),_:1},8,["modelValue"])])):(e.openBlock(),e.createElementBlock("p",x,[e.createVNode(m,{text:c.waiting_info,title:c.waiting_title},null,8,["text","title"])]))])}const T=u(f,[["render",w],["__scopeId","data-v-d2f7f38d"]]);a.UIDynamicForm=T,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode(':root{--formkit-theme: genesis;--fk-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--fk-font-family-input: var(--fk-font-family);--fk-font-family-label: var(--fk-font-family);--fk-font-family-legend: var(--fk-font-family-label);--fk-font-family-option: var(--fk-font-family-input);--fk-font-family-help: var(--fk-font-family);--fk-font-family-message: var(--fk-font-family);--fk-font-weight: 400;--fk-font-weight-input: var(--fk-font-weight);--fk-font-weight-label: 700;--fk-font-weight-legend: var(--fk-font-weight-label, bold);--fk-font-weight-help: var(--fk-font-weight);--fk-font-weight-option: var(--fk-font-weight);--fk-font-weight-message: var(--fk-font-weight);--fk-font-size: 1em;--fk-font-size-input: var(--fk-font-size);--fk-font-size-label: .875em;--fk-font-size-legend: .875em;--fk-font-size-help: .8125em;--fk-font-size-remove: .8125em;--fk-font-size-option: .9em;--fk-font-size-message: .8125em;--fk-font-size-button: .875em;--fk-font-size-summary: 1.25em;--fk-line-height: 1.1;--fk-line-height-label: var(--fk-line-height);--fk-line-height-help: var(--fk-line-height);--fk-line-height-option: var(--fk-line-height);--fk-line-height-message: var(--fk-line-height);--fk-line-height-textarea: var(--fk-line-height);--fk-line-height-input: 1.125em;--fk-line-height-button: 1.3;--fk-max-width-input: 25em;--fk-box-size: 1.25em;--fk-color-primary: #006ff9;--fk-color-checked: var(--fk-color-primary);--fk-color-input: #000;--fk-color-input-selection: rgba(0, 122, 255, 25%);--fk-color-border: #94929c;--fk-color-border-focus: var(--fk-color-primary);--fk-color-danger: #ea0000;--fk-color-error: var(--fk-color-danger);--fk-color-placeholder: #767676;--fk-color-disabled: rgba(0 0 0 / 10%);--fk-color-help: rgba(0 0 0 / 60%);--fk-color-icon: rgba(0 0 0 / 80%);--fk-color-icon-minor: rgba(0 0 0 / 55%);--fk-color-button: #fff;--fk-color-button-hover: #fff;--fk-color-submit: var(--fk-color-button);--fk-color-submit-hover: var(--fk-color-button-hover);--fk-color-range-track: var(--fk-color-border);--fk-color-range-thumb: var(--fk-color-primary);--fk-focus-ring-color: rgb(50 100 203 / 31%);--fk-error-ring-color: rgb(235 0 0 / 60%);--fk-error-ring-focus-color: rgb(235 0 0 / 30%);--fk-bg-input: transparent;--fk-bg-disabled: rgba(0 0 0 / 5%);--fk-bg-decorator: linear-gradient( 0deg, rgba(0, 0, 0, .07), transparent);--fk-bg-button: var(--fk-color-primary);--fk-bg-button-hover: var(--fk-bg-button);--fk-bg-submit: var(--fk-bg-button);--fk-bg-submit-hover: var(--fk-bg-submit);--fk-border-width: 1px;--fk-border-width-decorator: var(--fk-border-width);--fk-border-width-focus: 2px;--fk-border-width-checked: 1px;--fk-border-width-decorator-checked: 2px;--fk-border-width-decorator-focus: var(--fk-border-width-decorator-checked);--fk-border-width-decorator-focus-visible: var(--fk-border-width-focus);--fk-border-style: solid;--fk-border: var(--fk-border-width) var(--fk-border-style) var(--fk-color-border);--fk-border-focus: var(--fk-border-width-focus) var(--fk-border-style) var(--fk-color-border-focus);--fk-border-decorator: var(--fk-border-width-decorator) var(--fk-border-style) var(--fk-color-border);--fk-border-decorator-focus: var(--fk-border-width-focus) var(--fk-border-style) var(--fk-color-border-focus);--fk-border-decorator-focus-visible: var(--fk-border-width-decorator-focus-visible) var(--fk-border-style) var(--fk-color-border-focus);--fk-border-decorator-checked: var(--fk-border-width-checked) var(--fk-border-style) var(--fk-color-border-focus);--fk-border-box-shadow: 0 0 0 var(--fk-border-width) var(--fk-color-border);--fk-border-box-shadow-focus: 0 0 0 var(--fk-border-width-focus) var(--fk-color-border-focus);--fk-border-box-shadow-decorator: 0 0 0 var(--fk-border-width-decorator);--fk-border-box-shadow-decorator-focus: 0 0 0 var(--fk-border-width-decorator-focus) var(--fk-color-border-focus);--fk-border-box-shadow-decorator-focus-visible: 0 0 0 var(--fk-border-width-decorator-focus-visible) var(--fk-color-border-focus);--fk-border-box-shadow-decorator-checked: 0 0 0 var(--fk-border-width-decorator-checked) var(--fk-color-border-focus);--fk-border-box-shadow-invalid: 0 0 0 var(--fk-border-width-decorator-focus-visible) var(--fk-error-ring-color);--fk-border-radius-tl: .25em;--fk-border-radius-tr: .25em;--fk-border-radius-bl: .25em;--fk-border-radius-br: .25em;--fk-border-radius: var(--fk-border-radius-tl, .25em) var(--fk-border-radius-tr, .25em) var(--fk-border-radius-br, .25em) var(--fk-border-radius-bl, .25em);--fk-border-radius-full: 999em;--fk-focus-ring: .25em;--fk-error-ring: 3px;--fk-error-ring-offset: 2px;--fk-padding-base: .25em;--fk-padding-input-x: calc(var(--fk-padding-base) * 3);--fk-padding-input-y: calc(var(--fk-padding-base) * 3);--fk-padding-input-t: var(--fk-padding-input-y, 0);--fk-padding-input-r: var(--fk-padding-input-x, 0);--fk-padding-input-b: var(--fk-padding-input-y, 0);--fk-padding-input-l: var(--fk-padding-input-x, 0);--fk-padding-input: var(--fk-padding-input-t) var(--fk-padding-input-r) var(--fk-padding-input-b) var(--fk-padding-input-l);--fk-padding-label-x: inherit;--fk-padding-label-y: inherit;--fk-padding-label-t: var(--fk-padding-label-y, 0);--fk-padding-label-r: var(--fk-padding-label-x, 0);--fk-padding-label-b: var(--fk-padding-label-y, .5em);--fk-padding-label-l: var(--fk-padding-label-x, 0);--fk-padding-label: var(--fk-padding-label-t) var(--fk-padding-label-r) var(--fk-padding-label-b) var(--fk-padding-label-l);--fk-padding-help-x: inherit;--fk-padding-help-y: var(--fk-padding-base);--fk-padding-help-t: var(--fk-padding-help-y, 0);--fk-padding-help-r: var(--fk-padding-help-x, 0);--fk-padding-help-b: var(--fk-padding-help-y, 0);--fk-padding-help-l: var(--fk-padding-help-x, 0);--fk-padding-help: var(--fk-padding-help-t) var(--fk-padding-help-r) var(--fk-padding-help-b) var(--fk-padding-help-l);--fk-padding-option-x: inherit;--fk-padding-option-y: inherit;--fk-padding-option-t: var(--fk-padding-option-y, 0);--fk-padding-option-r: var(--fk-padding-option-x, 0);--fk-padding-option-b: var(--fk-padding-option-y, 0);--fk-padding-option-l: var(--fk-padding-option-x, 0);--fk-padding-option: var(--fk-padding-option-t) var(--fk-padding-option-r) var(--fk-padding-option-b) var(--fk-padding-option-l);--fk-padding-messages-x: inherit;--fk-padding-messages-y: inherit;--fk-padding-messages-t: var(--fk-padding-messages-y, var(--fk-padding-base));--fk-padding-messages-r: var(--fk-padding-messages-x, 0);--fk-padding-messages-b: var(--fk-padding-messages-y, 0);--fk-padding-messages-l: var(--fk-padding-messages-x, 0);--fk-padding-messages: var(--fk-padding-messages-t) var(--fk-padding-messages-r) var(--fk-padding-messages-b) var(--fk-padding-messages-l);--fk-padding-message-x: inherit;--fk-padding-message-y: var(--fk-padding-base);--fk-padding-message-t: var(--fk-padding-message-y, 0);--fk-padding-message-r: var(--fk-padding-message-x, 0);--fk-padding-message-b: var(--fk-padding-message-y, 0);--fk-padding-message-l: var(--fk-padding-message-x, 0);--fk-padding-message: var(--fk-padding-message-t) var(--fk-padding-message-r) var(--fk-padding-message-b) var(--fk-padding-message-l);--fk-padding-legend-x: .25em;--fk-padding-legend-y: .25em;--fk-padding-legend-t: var(--fk-padding-legend-y);--fk-padding-legend-r: var(--fk-padding-legend-x);--fk-padding-legend-b: var(--fk-padding-legend-y);--fk-padding-legend-l: var(--fk-padding-legend-x);--fk-padding-legend: var(--fk-padding-legend-t) var(--fk-padding-legend-r) var(--fk-padding-legend-b) var(--fk-padding-legend-l);--fk-padding-fieldset-x: var(--fk-padding-input-x);--fk-padding-fieldset-y: var(--fk-padding-input-y);--fk-padding-fieldset-t: var(--fk-padding-fieldset-y);--fk-padding-fieldset-r: var(--fk-padding-fieldset-x);--fk-padding-fieldset-b: var(--fk-padding-fieldset-y);--fk-padding-fieldset-l: var(--fk-padding-fieldset-x);--fk-padding-fieldset: var(--fk-padding-fieldset-t) var(--fk-padding-fieldset-r) var(--fk-padding-fieldset-b) var(--fk-padding-fieldset-l);--fk-padding-decorator-x: inherit;--fk-padding-decorator-y: var(--fk-padding-base);--fk-padding-decorator-t: var(--fk-padding-decorator-y, 1.25em);--fk-padding-decorator-r: var(--fk-padding-decorator-x, 1.25em);--fk-padding-decorator-b: var(--fk-padding-decorator-y, 1.25em);--fk-padding-decorator-l: var(--fk-padding-decorator-x, 1.25em);--fk-padding-decorator: var(--fk-padding-decorator-t) var(--fk-padding-decorator-r) var(--fk-padding-decorator-b) var(--fk-padding-decorator-l);--fk-padding-button-x: calc(var(--fk-padding-base) * 8);--fk-padding-button-y: calc(var(--fk-padding-base) * 3);--fk-padding-button-t: var(--fk-padding-button-y);--fk-padding-button-r: var(--fk-padding-button-x);--fk-padding-button-b: var(--fk-padding-button-y);--fk-padding-button-l: var(--fk-padding-button-x);--fk-padding-button: var(--fk-padding-button-t) var(--fk-padding-button-r) var(--fk-padding-button-b) var(--fk-padding-button-l);--fk-margin-base: .5em;--fk-margin-outer-x: inherit;--fk-margin-outer-y: inherit;--fk-margin-outer-t: var(--fk-margin-outer-y, 0);--fk-margin-outer-r: var(--fk-margin-outer-x, 0);--fk-margin-outer-b: var(--fk-margin-outer-y, calc(var(--fk-margin-base) * 2));--fk-margin-outer-l: var(--fk-margin-outer-x, 0);--fk-margin-outer: var(--fk-margin-outer-t) var(--fk-margin-outer-r) var(--fk-margin-outer-b) var(--fk-margin-outer-l);--fk-margin-wrapper-x: inherit;--fk-margin-wrapper-y: inherit;--fk-margin-wrapper-t: var(--fk-margin-wrapper-y, 0);--fk-margin-wrapper-r: var(--fk-margin-wrapper-x, 0);--fk-margin-wrapper-b: var(--fk-margin-wrapper-y, 0);--fk-margin-wrapper-l: var(--fk-margin-wrapper-x, 0);--fk-margin-wrapper: var(--fk-margin-wrapper-t) var(--fk-margin-wrapper-r) var(--fk-margin-wrapper-b) var(--fk-margin-wrapper-l);--fk-margin-input-x: inherit;--fk-margin-input-y: inherit;--fk-margin-input-t: var(--fk-margin-input-y, 0);--fk-margin-input-r: var(--fk-margin-input-x, 0);--fk-margin-input-b: var(--fk-margin-input-y, 0);--fk-margin-input-l: var(--fk-margin-input-x, 0);--fk-margin-input: var(--fk-margin-input-t) var(--fk-margin-input-r) var(--fk-margin-input-b) var(--fk-margin-input-l);--fk-margin-label-x: inherit;--fk-margin-label-y: 0;--fk-margin-label-t: var(--fk-margin-label-y, 0);--fk-margin-label-r: var(--fk-margin-label-x, 0);--fk-margin-label-b: var(--fk-margin-label-y, var(--fk-margin-base));--fk-margin-label-l: var(--fk-margin-label-x, 0);--fk-margin-label: var(--fk-margin-label-t) var(--fk-margin-label-r) var(--fk-margin-label-b) var(--fk-margin-label-l);--fk-margin-help-x: inherit;--fk-margin-help-y: .3em;--fk-margin-help-t: var(--fk-margin-help-y, 0);--fk-margin-help-r: var(--fk-margin-help-x, 0);--fk-margin-help-b: 0;--fk-margin-help-l: var(--fk-margin-help-x, 0);--fk-margin-help: var(--fk-margin-help-t) var(--fk-margin-help-r) var(--fk-margin-help-b) var(--fk-margin-help-l);--fk-margin-option-x: inherit;--fk-margin-option-y: inherit;--fk-margin-option-t: var(--fk-margin-option-y, 0);--fk-margin-option-r: var(--fk-margin-option-x, 0);--fk-margin-option-b: var(--fk-margin-option-y, .625em);--fk-margin-option-l: var(--fk-margin-option-x, 0);--fk-margin-option: var(--fk-margin-option-t) var(--fk-margin-option-r) var(--fk-margin-option-b) var(--fk-margin-option-l);--fk-margin-message-x: inherit;--fk-margin-message-y: inherit;--fk-margin-message-t: var(--fk-margin-message-y, 0);--fk-margin-message-r: var(--fk-margin-message-x, 0);--fk-margin-message-b: var(--fk-margin-message-y, 0);--fk-margin-message-l: var(--fk-margin-message-x, 0);--fk-margin-message: var(--fk-margin-message-t) var(--fk-margin-message-r) var(--fk-margin-message-b) var(--fk-margin-message-l);--fk-margin-legend-x: 0em;--fk-margin-legend-y: inherit;--fk-margin-legend-t: var(--fk-margin-legend-y, 0);--fk-margin-legend-r: var(--fk-margin-legend-x, 0);--fk-margin-legend-b: var(--fk-margin-legend-y, 0);--fk-margin-legend-l: var(--fk-margin-legend-x, 0);--fk-margin-legend: var(--fk-margin-legend-t) var(--fk-margin-legend-r) var(--fk-margin-legend-b) var(--fk-margin-legend-l);--fk-margin-fieldset-x: inherit;--fk-margin-fieldset-y: inherit;--fk-margin-fieldset-t: var(--fk-margin-fieldset-y, 0);--fk-margin-fieldset-r: var(--fk-margin-fieldset-x, 0);--fk-margin-fieldset-b: var(--fk-margin-fieldset-y, 0);--fk-margin-fieldset-l: var(--fk-margin-fieldset-x, 0);--fk-margin-fieldset: var(--fk-margin-fieldset-t) var(--fk-margin-fieldset-r) var(--fk-margin-fieldset-b) var(--fk-margin-fieldset-l);--fk-margin-decorator-x: inherit;--fk-margin-decorator-y: inherit;--fk-margin-decorator-t: var(--fk-margin-decorator-y, 0);--fk-margin-decorator-r: var(--fk-margin-decorator-x, .5em);--fk-margin-decorator-b: var(--fk-margin-decorator-y, 0);--fk-margin-decorator-l: var(--fk-margin-decorator-x, 0);--fk-margin-decorator: var(--fk-margin-decorator-t) var(--fk-margin-decorator-r) var(--fk-margin-decorator-b) var(--fk-margin-decorator-l);--fk-margin-button-x: inherit;--fk-margin-button-y: inherit;--fk-margin-button-t: var(--fk-margin-button-y, 0);--fk-margin-button-r: var(--fk-margin-button-x, .5em);--fk-margin-button-b: var(--fk-margin-button-y, 0);--fk-margin-button-l: var(--fk-margin-button-x, 0);--fk-margin-button: var(--fk-margin-button-t) var(--fk-margin-button-r) var(--fk-margin-button-b) var(--fk-margin-button-l);--fk-icon-close: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMiAxNiI+PHBhdGggZD0iTTEwLDEyLjVjLS4xMywwLS4yNi0uMDUtLjM1LS4xNUwxLjY1LDQuMzVjLS4yLS4yLS4yLS41MSwwLS43MSwuMi0uMiwuNTEtLjIsLjcxLDBMMTAuMzUsMTEuNjVjLjIsLjIsLjIsLjUxLDAsLjcxLS4xLC4xLS4yMywuMTUtLjM1LC4xNVoiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxwYXRoIGQ9Ik0yLDEyLjVjLS4xMywwLS4yNi0uMDUtLjM1LS4xNS0uMi0uMi0uMi0uNTEsMC0uNzFMOS42NSwzLjY1Yy4yLS4yLC41MS0uMiwuNzEsMCwuMiwuMiwuMiwuNTEsMCwuNzFMMi4zNSwxMi4zNWMtLjEsLjEtLjIzLC4xNS0uMzUsLjE1WiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+;--fk-icon-down: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiA3Ij48cGF0aCBkPSJNOCw2LjVjLS4xMywwLS4yNi0uMDUtLjM1LS4xNUwzLjE1LDEuODVjLS4yLS4yLS4yLS41MSwwLS43MSwuMi0uMiwuNTEtLjIsLjcxLDBsNC4xNSw0LjE1TDEyLjE1LDEuMTVjLjItLjIsLjUxLS4yLC43MSwwLC4yLC4yLC4yLC41MSwwLC43MWwtNC41LDQuNWMtLjEsLjEtLjIzLC4xNS0uMzUsLjE1WiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+;--fk-icon-fileDoc: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNiI+PHBhdGggZD0iTTEyLjUsMTZIMi41Yy0uODMsMC0xLjUtLjY3LTEuNS0xLjVWMS41YzAtLjgzLC42Ny0xLjUsMS41LTEuNWg3LjA5Yy40LDAsLjc4LC4xNiwxLjA2LC40NGwyLjkxLDIuOTFjLjI4LC4yOCwuNDQsLjY2LC40NCwxLjA2VjE0LjVjMCwuODMtLjY3LDEuNS0xLjUsMS41Wk0yLjUsMWMtLjI4LDAtLjUsLjIyLS41LC41VjE0LjVjMCwuMjgsLjIyLC41LC41LC41SDEyLjVjLjI4LDAsLjUtLjIyLC41LS41VjQuNDFjMC0uMTMtLjA1LS4yNi0uMTUtLjM1bC0yLjkxLTIuOTFjLS4wOS0uMDktLjIyLS4xNS0uMzUtLjE1SDIuNVoiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxwYXRoIGQ9Ik0xMy4zOCw1aC0yLjkxYy0uODEsMC0xLjQ3LS42Ni0xLjQ3LTEuNDdWLjYyYzAtLjI4LC4yMi0uNSwuNS0uNXMuNSwuMjIsLjUsLjVWMy41M2MwLC4yNiwuMjEsLjQ3LC40NywuNDdoMi45MWMuMjgsMCwuNSwuMjIsLjUsLjVzLS4yMiwuNS0uNSwuNVoiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjxwYXRoIGQ9Ik0xMCwxM0g1Yy0uMjgsMC0uNS0uMjItLjUtLjVzLjIyLS41LC41LS41aDVjLjI4LDAsLjUsLjIyLC41LC41cy0uMjIsLjUtLjUsLjVaIiBmaWxsPSJjdXJyZW50Q29sb3IiLz48cGF0aCBkPSJNMTAsMTBINWMtLjI4LDAtLjUtLjIyLS41LS41cy4yMi0uNSwuNS0uNWg1Yy4yOCwwLC41LC4yMiwuNSwuNXMtLjIyLC41LS41LC41WiIgZmlsbD0iY3VycmVudENvbG9yIi8+PHBhdGggZD0iTTcsN2gtMmMtLjI4LDAtLjUtLjIyLS41LS41cy4yMi0uNSwuNS0uNWgyYy4yOCwwLC41LC4yMiwuNSwuNXMtLjIyLC41LS41LC41WiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+Cg==;--fk-icon-check: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAyNyI+PHBvbHlnb24gZmlsbD0iY3VycmVudENvbG9yIiBwb2ludHM9IjI2Ljk5IDAgMTAuMTMgMTcuMTcgNC42OSAxMS42MyAwIDE2LjQxIDEwLjQgMjcgMTUuMDUgMjIuMjcgMTUuMDkgMjIuMzEgMzIgNS4xIDI2Ljk5IDAiLz48L3N2Zz4=;--fk-icon-circle: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIvPjwvc3ZnPg==;--fk-icon-fileItem: var(--fk-icon-fileDoc);--fk-icon-fileRemove: var(--fk-icon-close);--fk-icon-noFiles: var(--fk-icon-fileDoc);--fk-icon-select: var(--fk-icon-down);--fk-icon-checkboxDecorator: var(--fk-icon-check);--fk-icon-radioDecorator: var(--fk-icon-circle)}.formkit-outer,.formkit-outer *{box-sizing:border-box}.formkit-outer *:before,.formkit-outer *:after{box-sizing:inherit}.formkit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none}.formkit-input:focus{outline:none}@media (forced-colors: active){.formkit-input,.formkit-decorator{border:1px solid!important}}.formkit-message{list-style-type:none}.formkit-inner:focus-within{border-color:var(--fk-color-border-focus)}[data-type=select]:not([data-multiple]) .formkit-inner:after{background-color:var(--fk-color-icon)}.formkit-input{background-color:var(--fk-bg-input);color:var(--fk-color-input)}input.formkit-input[type=radio]:checked~.formkit-decorator:before{background:var(--fk-color-checked)}input.formkit-input[type=checkbox]:checked~.formkit-decorator:before{border-color:var(--fk-color-checked)}[data-family=text] .formkit-input::-moz-selection{background-color:var(--fk-color-input-selection)}[data-family=text] .formkit-input::selection{background-color:var(--fk-color-input-selection)}.formkit-help,.formkit-option-help{color:var(--fk-color-help)}.formkit-message{color:var(--fk-color-error)}.formkit-outer{font-family:var(--fk-font-family);font-weight:var(--fk-font-weight);font-size:var(--fk-font-size);line-height:var(--fk-line-height)}.formkit-outer[data-type=textarea] textarea{line-height:var(--fk-line-height-textarea)}.formkit-label{font-family:var(--fk-font-family-label);font-size:var(--fk-font-size-label);font-weight:var(--fk-font-weight-label);line-height:var(--fk-line-height-label)}[data-type=checkbox] .formkit-label,[data-type=radio] .formkit-label,.formkit-option .formkit-label{font-weight:var(--fk-font-weight-option);font-size:var(--fk-font-size-option);margin-bottom:.1em}.formkit-legend{font-family:var(--fk-font-family-legend);font-size:var(--fk-font-size-legend);font-weight:var(--fk-font-weight-legend)}.formkit-input{font-family:var(--fk-font-family-input);font-size:var(--fk-font-size-input);font-weight:var(--fk-font-weight-input);line-height:var(--fk-line-height-input)}.formkit-help,.formkit-option-help{font-family:var(--fk-font-family-help);font-size:var(--fk-font-size-help);font-weight:var(--fk-font-weight-help);line-height:var(--fk-line-height-help)}.formkit-messages{font-family:var(--fk-font-family-message);font-family:var(--fk-font-family);line-height:var(--fk-line-height-message)}.formkit-message{font-size:var(--fk-font-size-message);font-weight:var(--fk-font-weight-message)}.formkit-outer{margin:var(--fk-margin-outer)}.formkit-outer[data-disabled]{opacity:.5}.formkit-outer[data-disabled] [data-disabled]{opacity:1}.formkit-wrapper,.formkit-fieldset{max-width:var(--fk-max-width-input)}.formkit-label{display:block;margin:var(--fk-margin-label);padding:var(--fk-padding-label)}.formkit-fieldset{margin:var(--fk-margin-fieldset);padding:var(--fk-padding-fieldset);border-radius:var(--fk-border-radius);border:var(--fk-border)}.formkit-fieldset:focus-within{border:var(--fk-border-focus)}.formkit-fieldset>.formkit-help{margin-top:calc(var(--fk-padding-fieldset-t) * -.5);margin-bottom:calc(var(--fk-padding-fieldset-t) * 1.5)}.formkit-legend{display:block;margin:var(--fk-margin-legend);padding:var(--fk-padding-legend)}.formkit-inner{position:relative;box-shadow:var(--fk-border-box-shadow);border-radius:var(--fk-border-radius);display:flex;align-items:center}.formkit-inner:focus-within{box-shadow:var(--fk-border-box-shadow-focus)}[data-type=checkbox] .formkit-inner,[data-type=radio] .formkit-inner{border:none;box-shadow:none;display:inline-block}[data-invalid] :is([data-type=checkbox] .formkit-inner):focus-within,[data-invalid] :is([data-type=radio] .formkit-inner):focus-within,[data-errors] :is([data-type=checkbox] .formkit-inner):focus-within,[data-errors] :is([data-type=radio] .formkit-inner):focus-within{outline:none}.formkit-input{display:block;width:100%;border-radius:var(--fk-border-radius);padding:var(--fk-padding-input)}.formkit-input[disabled]{background-color:var(--fk-bg-disabled)}.formkit-input[multiple]{padding:0}.formkit-input[multiple] option{padding:var(--fk-padding-input)}input.formkit-input[type=date]::-webkit-calendar-picker-indicator{padding-top:0;padding-bottom:0;font-size:.875em}input.formkit-input[type=date]::-webkit-datetime-edit{line-height:1;overflow:visible}select.formkit-input{padding-right:calc(var(--fk-padding-base) * 7)}select.formkit-input[data-placeholder]:not([multiple]){color:var(--fk-color-placeholder)}select.formkit-input[data-placeholder]:not([multiple]) option{color:var(--fk-color-input)}select.formkit-input[data-placeholder]:not([multiple]) option[disabled]{color:var(--fk-color-disabled)}select.formkit-input[data-placeholder]:not([multiple]) option[data-is-placeholder]{color:var(--fk-color-placeholder)}select.formkit-input option{font-size:var(--fk-font-size-option)}input.formkit-input[type=radio]~.formkit-decorator{border-radius:var(--fk-border-radius-full)}input.formkit-input[type=radio]~.formkit-decorator:before{width:50%;height:50%;top:50%;left:50%;transform:translate(-50%,-50%);border:0;border-radius:2em}.formkit-help,.formkit-option-help{margin:var(--fk-margin-help)}.formkit-messages{padding:var(--fk-padding-messages);margin:var(--fk-margin-messages)}.formkit-help+.formkit-messages{padding-top:0}.formkit-message{padding:var(--fk-padding-message);margin:var(--fk-margin-message)}.formkit-messages+.formkit-actions{margin-top:var(--fk-margin-outer-b)}@keyframes fk-rotate{to{transform:rotate(360deg)}}@keyframes fk-glow{0%{box-shadow:0 0 0 .1em var(--fk-color-primary)}to{box-shadow:0 0 0 .4em var(--fk-color-primary)}}[data-type=button] .formkit-input,[data-type=submit] .formkit-input{font-size:var(--fk-font-size-button);border-radius:var(--fk-border-radius);cursor:pointer;display:inline-flex;width:auto;justify-content:center;padding:var(--fk-padding-button);margin:var(--fk-margin-button);position:relative;transition:filter .25s;border:1px solid transparent;line-height:var(--fk-line-height-button)}[data-type=button] .formkit-input:focus-visible,[data-type=submit] .formkit-input:focus-visible{outline:var(--fk-color-border-focus) solid 2px;outline-offset:2px}[data-type=button][data-disabled] .formkit-input,[data-type=submit][data-disabled] .formkit-input,[data-type=button] .formkit-input[disabled],[data-type=submit] .formkit-input[disabled]{background:var(--fk-color-border)!important;color:var(--fk-color-button)!important;cursor:not-allowed}[data-type=submit] .formkit-input{background:var(--fk-bg-submit);color:var(--fk-color-submit)}[data-type=submit] .formkit-input:before{box-sizing:border-box;content:"";width:0;margin-right:0;height:1.28571428em;border:0 solid transparent;border-radius:1.28571428em;transition:width .25s,border .25s,margin-right .25s}[data-type=submit] .formkit-input:hover{background:var(--fk-bg-submit-hover)}[data-loading] [data-type=submit] .formkit-input:before{animation:fk-rotate .5s linear infinite;width:1.28571428em;border:.1428571429em solid white;border-right-color:transparent;margin-right:.75em}[data-loading] .formkit-actions [data-type=submit] .formkit-input{filter:brightness(1.1);pointer-events:none}[data-type=button] .formkit-input{background:var(--fk-bg-button);color:var(--fk-color-button)}[data-type=button] .formkit-input:hover{background:var(--fk-bg-button-hover)}[data-type=checkbox] [data-disabled],[data-type=radio] [data-disabled]{opacity:30%}[data-type=checkbox] .formkit-label,[data-type=radio] .formkit-label{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;margin:0}[data-type=checkbox] .formkit-wrapper,[data-type=radio] .formkit-wrapper{display:flex;align-items:center}[data-type=checkbox] .formkit-input,[data-type=radio] .formkit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;width:0;height:0;overflow:hidden;opacity:0;left:-999em}[data-type=checkbox] .formkit-input~.formkit-decorator,[data-type=radio] .formkit-input~.formkit-decorator{background:var(--fk-bg-decorator);display:block;box-sizing:content-box;width:var(--fk-box-size);height:var(--fk-box-size);flex:0 0 var(--fk-box-size);border:none;box-shadow:var(--fk-border-box-shadow);border-radius:var(--fk-border-radius);margin:var(--fk-margin-decorator);position:relative}[data-type=checkbox] .formkit-input~.formkit-decorator .formkit-icon,[data-type=radio] .formkit-input~.formkit-decorator .formkit-icon{width:0;height:0;position:absolute;padding:3px;top:50%;left:50%;transform:translate(-50%,-50%);overflow:hidden;pointer-events:none}[data-type=checkbox] .formkit-input~.formkit-decorator .formkit-icon svg,[data-type=radio] .formkit-input~.formkit-decorator .formkit-icon svg{height:100%}[data-type=checkbox] .formkit-input:checked~.formkit-decorator,[data-type=radio] .formkit-input:checked~.formkit-decorator{box-shadow:var(--fk-border-box-shadow-decorator-checked)}[data-type=checkbox] .formkit-input:checked~.formkit-decorator .formkit-icon,[data-type=radio] .formkit-input:checked~.formkit-decorator .formkit-icon{width:100%;height:100%}[data-type=checkbox] .formkit-input:checked~.formkit-decorator .formkit-icon,[data-type=radio] .formkit-input:checked~.formkit-decorator .formkit-icon{color:var(--fk-color-border-focus)}[data-type=checkbox] .formkit-input:focus~.formkit-decorator,[data-type=radio] .formkit-input:focus~.formkit-decorator{box-shadow:var(--fk-border-box-shadow-decorator-focus);outline:var(--fk-focus-ring) solid var(--fk-focus-ring-color)}[data-type=checkbox] .formkit-input:focus-visible~.formkit-decorator,[data-type=radio] .formkit-input:focus-visible~.formkit-decorator{box-shadow:var(--fk-border-box-shadow-decorator-focus-visible)}[data-type=checkbox] .formkit-options,[data-type=radio] .formkit-options{margin:var(--fk-checkbox-options-margin);padding:0}[data-type=checkbox] .formkit-option,[data-type=radio] .formkit-option{list-style-type:none;margin:var(--fk-margin-option)}[data-type=checkbox] .formkit-option:last-child,[data-type=radio] .formkit-option:last-child{margin-bottom:0}[data-type=checkbox] fieldset.formkit-fieldset,[data-type=radio] fieldset.formkit-fieldset{border:var(--fk-border);border-radius:var(--fk-border-radius)}[data-type=radio] .formkit-input~.formkit-decorator .formkit-icon{padding:5px}[data-type=color] .formkit-inner{max-width:5em}[data-type=color] input[type=color]{border:none;padding:0}[data-type=color] input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none}[data-type=color] input[type=color]::-moz-color-swatch-wrapper{padding:0;border:none}[data-type=color] input[type=color]::-webkit-color-swatch{border-radius:var(--fk-border-radius);border:none}[data-type=color] input[type=color]::-moz-color-swatch{border-radius:var(--fk-border-radius);border:none}[data-type=range] .formkit-inner{border:0;box-shadow:none}[data-type=range] .formkit-inner:focus-within{border:0;box-shadow:none}[data-type=range] input{padding-left:0;padding-right:0}[data-type=range] input[disabled]{background:transparent}[data-type=range] input::-webkit-slider-runnable-track{background-color:var(--fk-color-border);height:4px;border-radius:4px}[data-type=range] input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;transform:translateY(calc(-50% + 2px));width:1em;height:1em;border-radius:1em;background-color:var(--fk-color-range-thumb);border:0}[data-type=range] input::-moz-range-track{background-color:var(--fk-color-border);height:4px;border-radius:4px;border:1px solid transparent}[data-type=range] input::-moz-range-thumb{-moz-appearance:none;-webkit-appearance:none;appearance:none;position:relative;width:1em;height:1em;border-radius:1em;background-color:var(--fk-color-range-thumb);border:1px solid var(--fk-color-range-thumb)}[data-type=range] input:focus::-webkit-slider-thumb{outline:var(--fk-focus-ring) solid var(--fk-focus-ring-color)}[data-type=range] input:focus::-moz-range-thumb{outline:var(--fk-focus-ring) solid var(--fk-focus-ring-color)}[data-type=range] input[disabled]::-webkit-slider-thumb{background-color:var(--fk-color-border)}[data-type=range] input[disabled]::-moz-slider-thumb{background-color:var(--fk-color-border)}[data-type=select]:not([data-multiple]) .formkit-inner .formkit-select-icon{margin-left:-2.5em;pointer-events:none}[data-type=select][data-multiple] .formkit-select-icon{display:none}[data-type=file] .formkit-no-files,[data-type=file] .formkit-file-list{padding:var(--fk-padding-input);margin:0}[data-type=file] .formkit-no-files,[data-type=file] .formkit-file-item{display:flex;flex-grow:1;align-items:center;font-size:var(--fk-font-size-input);position:relative}[data-type=file] .formkit-no-files+.formkit-no-files,[data-type=file] .formkit-file-item+.formkit-file-item{margin-top:var(--fk-padding-input-t)}[data-type=file] .formkit-inner .formkit-file-item-icon,[data-type=file] .formkit-inner .formkit-no-files-icon{width:1em;margin-right:.5em}[data-type=file] .formkit-file-item .formkit-file-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;font-size:0;margin-left:auto;padding:0;position:relative;z-index:3;cursor:pointer}[data-type=file] .formkit-file-item .formkit-file-remove:hover{color:var(--fk-color-danger)}[data-type=file] .formkit-file-item .formkit-file-remove .formkit-file-remove-icon{width:1em;font-size:1rem}[data-type=file] .formkit-no-files{color:var(--fk-color-placeholder)}[data-type=file] .formkit-no-files:before{background-color:var(--fk-color-placeholder)}[data-type=file] .formkit-file-list{width:100%}[data-type=file] .formkit-file-list[data-has-multiple]{margin-bottom:calc(var(--fk-padding-input-b) + var(--fk-font-size-remove) * 1.1)}[data-type=file] .formkit-file-list[data-has-multiple] .formkit-file-item{line-height:var(--fk-line-height-input)}[data-type=file] .formkit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;z-index:2;color:transparent}[data-type=file] .formkit-input::file-selector-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:0;padding:0;border:0}[data-type=file] .formkit-input[data-file-hover]{animation:fk-glow .75s infinite alternate}[data-type=file] [data-has-multiple=true]~.formkit-file-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;padding:0;margin:0;position:absolute;font-size:var(--fk-font-size-remove);color:var(--fk-color-primary);bottom:calc(var(--fk-padding-input-b) + (1em - var(--fk-font-size-remove)));left:calc(var(--fk-padding-input-l) + (1em - var(--fk-font-size-remove)));display:block;z-index:5;cursor:pointer}[data-type=file] [data-has-multiple=true]~.formkit-file-remove:hover{color:var(--fk-color-danger)}[data-type=textarea] textarea{width:100%;min-height:6em;flex-grow:1}.formkit-summary{padding:0;margin:0;width:100%}.formkit-summary-inner{padding:var(--fk-margin-outer-b);border:var(--fk-error-ring) solid var(--fk-error-ring-color);border-radius:.5em}.formkit-summary-header{font-size:var(--fk-font-size-summary);margin:0 0 var(--fk-margin-outer-b) 0}.formkit-message-link{color:var(--fk-color-danger);text-decoration:none}.formkit-message-link:focus{outline:var(--fk-error-ring) solid var(--fk-error-ring-color)}.formkit-inner:focus-within .formkit-icon.formkit-prefix-icon{color:var(--fk-color-primary)}.formkit-outer .formkit-icon{width:2.5em;flex-grow:0;flex-shrink:0;display:flex;align-self:stretch;-webkit-user-select:none;-moz-user-select:none;user-select:none}.formkit-outer .formkit-icon.formkit-prefix-icon{border-radius:var(--fk-border-radius-tl) 0 0 var(--fk-border-radius-bl);background:var(--fk-bg-decorator);box-shadow:1px 0 #00000054}.formkit-outer .formkit-icon.formkit-suffix-icon{width:1.75em;padding-left:0;padding-right:.75em}.formkit-outer .formkit-icon svg{width:100%;margin:auto;max-height:1em;max-width:1em}[data-type=button] .formkit-icon.formkit-prefix-icon,[data-type=submit] .formkit-icon.formkit-prefix-icon,[data-type=range] .formkit-icon.formkit-prefix-icon{background:none;box-shadow:none}[data-type=button] .formkit-inner:focus-within .formkit-icon,[data-type=submit] .formkit-inner:focus-within .formkit-icon,[data-type=range] .formkit-inner:focus-within .formkit-icon{color:currentColor}[data-type=button] .formkit-icon,[data-type=submit] .formkit-icon,[data-type=range] .formkit-icon{padding:0;width:1em;font-size:1rem}[data-type=button] .formkit-icon.formkit--prefix-icon,[data-type=submit] .formkit-icon.formkit--prefix-icon,[data-type=range] .formkit-icon.formkit--prefix-icon{margin-right:.5em}[data-type=button] .formkit-icon.formkit-suffix-icon,[data-type=submit] .formkit-icon.formkit-suffix-icon,[data-type=range] .formkit-icon.formkit-suffix-icon{margin-left:.5em}[data-type=button] .formkit-prefix-icon,[data-type=submit] .formkit-prefix-icon{margin-left:-.5em;margin-right:.5em}[data-type=button] .formkit-suffix-icon,[data-type=submit] .formkit-suffix-icon{margin-left:.5em;margin-right:-.5em}[data-prefix-icon=true][data-prefix-icon-click=true] .formkit-prefix-icon{cursor:pointer}[data-prefix-icon=true][data-type=color] input[type=color]::-webkit-color-swatch{border-top-left-radius:0;border-bottom-left-radius:0}[data-prefix-icon=true][data-type=color] input[type=color]::-moz-color-swatch{border-top-left-radius:0;border-bottom-left-radius:0}[data-prefix-icon=true][data-type=file][data-multiple=true] .formkit-file-remove{left:calc(var(--fk-padding-input-l) + (4em - var(--fk-font-size-remove)))}[data-suffix-icon=true][data-suffix-icon-click=true] .formkit-suffix-icon{cursor:pointer}[data-suffix-icon=true][data-type=color] input[type=color]::-webkit-color-swatch{border-top-right-radius:0;border-bottom-right-radius:0}[data-suffix-icon=true][data-type=color] input[type=color]::-moz-color-swatch{border-top-right-radius:0;border-bottom-right-radius:0}[data-suffix-icon=true][data-type=color] .formkit-icon.formkit-suffix-icon{padding-right:0;width:2.5em}[data-suffix-icon=true][data-type=select] .formkit-inner:after{right:2.5em}[data-prefix-icon=true][data-type=color] .formkit-inner,[data-suffix-icon=true][data-type=color] .formkit-inner{max-width:7.5em}[data-prefix-icon=true][data-suffix-icon=true][data-type=color] .formkit-inner{max-width:10em}.dynamic-form-wrapper{padding:10px;margin:10px;border:1px solid black}.dynamic-form-class{color:green;font-weight:700}h1{margin-bottom:10px}h2{margin-top:1.5rem;margin-bottom:.75rem}h3{margin-top:1rem}p{margin-bottom:5px}ul li{list-style-type:circle;list-style-position:inside;margin-left:15px}pre{padding:12px;margin:12px;background-color:#eee}code{font-size:.825rem;color:#ae0000}.ui-dynamic-form-wrapper{--fk-color-primary: rgb(var(--v-theme-primary));--fk-color-border: rgb(var(--v-border-color));--fk-bg-input: rgb(var(--v-theme-group-background));--fk-color-input: rgb(var(--v-theme-on-group-background))}.reset-background{--fk-bg-input: rgb(var(--does-not-exist, #000))}')),document.head.appendChild(r)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
2
+ (function(se,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue"),require("vuex")):typeof define=="function"&&define.amd?define(["exports","vue","vuex"],f):(se=typeof globalThis<"u"?globalThis:se||self,f(se["ui-dynamic-form"]={},se.Vue,se.vuex))})(this,function(se,f,tn){"use strict";var Pt=["__key","__init","__shim","__original","__index","__prevKey"];function me(){return Math.random().toString(36).substring(2,15)}function rn(e,t){return[...e instanceof Set?e:new Set(e)]}function P(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function q(e,t,r=!0,n=["__key"]){if(e===t)return!0;if(typeof t=="object"&&typeof e=="object"){if(e instanceof Map||e instanceof Set)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return nn(e,t);if(e===null||t===null||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s of n)if((s in e||s in t)&&e[s]!==t[s])return!1;for(const s in e)if(!(s in t)||e[s]!==t[s]&&!r||r&&!q(e[s],t[s],r,n))return!1;return!0}return!1}function nn(e,t){return e.source===t.source&&e.flags.split("").sort().join("")===t.flags.split("").sort().join("")}function U(e){const t=typeof e;if(t==="number")return!1;if(e===void 0)return!0;if(t==="string")return e==="";if(t==="object"){if(e===null)return!0;for(const r in e)return!1;return!(e instanceof RegExp||e instanceof Date)}return!1}function sn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function an(e){const t=`^${sn(e)}$`,r={MM:"(0[1-9]|1[012])",M:"([1-9]|1[012])",DD:"([012][0-9]|3[01])",D:"([012]?[0-9]|3[01])",YYYY:"\\d{4}",YY:"\\d{2}"},n=Object.keys(r);return new RegExp(n.reduce((s,i)=>s.replace(i,r[i]),t))}function Re(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ae(e){return Re(e)||Array.isArray(e)}function de(e){if(Re(e)===!1||e.__FKNode__||e.__POJO__===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const r=t.prototype;return!(Re(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)}var ie=(e,t,r=!1,n=!1)=>{if(t===null)return null;const s={};if(typeof t=="string")return t;for(const i in e)if(P(t,i)&&(t[i]!==void 0||!n)){if(r&&Array.isArray(e[i])&&Array.isArray(t[i])){s[i]=e[i].concat(t[i]);continue}if(t[i]===void 0)continue;de(e[i])&&de(t[i])?s[i]=ie(e[i],t[i],r,n):s[i]=t[i]}else s[i]=e[i];for(const i in t)!P(s,i)&&t[i]!==void 0&&(s[i]=t[i]);return s};function on(e){if(e[0]!=='"'&&e[0]!=="'"||e[0]!==e[e.length-1])return!1;const t=e[0];for(let r=1;r<e.length;r++)if(e[r]===t&&(r===1||e[r-1]!=="\\")&&r!==e.length-1)return!1;return!0}function ln(e){if(!e.length)return"";let t="",r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);(s!=="\\"||r==="\\")&&(t+=s),r=s}return t}function he(...e){return e.reduce((t,r)=>{const{value:n,name:s,modelValue:i,config:a,plugins:o,...l}=r;return Object.assign(t,l)},{})}function un(e){const t=[];let r="",n=0,s="",i="";for(let a=0;a<e.length;a++){const o=e.charAt(a);o===s&&i!=="\\"?s="":(o==="'"||o==='"')&&!s&&i!=="\\"?s=o:o==="("&&!s?n++:o===")"&&!s&&n--,o===","&&!s&&n===0?(t.push(r),r=""):(o!==" "||s)&&(r+=o),i=o}return r&&t.push(r),t}function Ot(e,t){const r={},n=t.filter(i=>i instanceof RegExp),s=new Set(t);for(const i in e)!s.has(i)&&!n.some(a=>a.test(i))&&(r[i]=e[i]);return r}function xt(e,t){const r={},n=t.filter(s=>s instanceof RegExp);return t.forEach(s=>{s instanceof RegExp||(r[s]=e[s])}),Object.keys(e).forEach(s=>{n.some(i=>i.test(s))&&(r[s]=e[s])}),r}function ye(e){return e.replace(/-([a-z0-9])/gi,(t,r)=>r.toUpperCase())}function It(e){return e.replace(/([a-z0-9])([A-Z])/g,(t,r,n)=>r+"-"+n.toLowerCase()).replace(" ","-").toLowerCase()}function Qe(e,t=Pt){if(e!==null&&typeof e=="object"){let r;if(Array.isArray(e)?r=[...e]:de(e)&&(r={...e}),r)return cn(e,r,t),r}return e}function ge(e,t=Pt){if(e===null||e instanceof RegExp||e instanceof Date||e instanceof Map||e instanceof Set||typeof File=="function"&&e instanceof File)return e;let r;Array.isArray(e)?r=e.map(n=>typeof n=="object"?ge(n,t):n):r=Object.keys(e).reduce((n,s)=>(n[s]=typeof e[s]=="object"?ge(e[s],t):e[s],n),{});for(const n of t)n in e&&Object.defineProperty(r,n,{enumerable:!1,value:e[n]});return r}function B(e){return typeof e=="object"?ge(e):e}function fn(e,t){if(!e||typeof e!="object")return null;const r=t.split(".");let n=e;for(const s in r){const i=r[s];if(P(n,i)&&(n=n[i]),+s===r.length-1)return n;if(!n||typeof n!="object")return null}return null}function H(e){return e!==void 0&&e!=="false"&&e!==!1?!0:void 0}function be(e){return Object.isFrozen(e)?e:Object.defineProperty(e,"__init",{enumerable:!1,value:!0})}function Xe(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]/g," ").trim().replace(/\s+/g,"-")}function cn(e,t,r){for(const n of r)n in e&&Object.defineProperty(t,n,{enumerable:!1,value:e[n]});return t}function pn(e){let t=!1;return(...r)=>{if(!t)return t=!0,queueMicrotask(()=>t=!1),e(...r)}}function mn(e){if(!(e==="false"||e===!1))return!0}function et(){const e=[];let t=0;const r=s=>e.push(s),n=s=>{const i=e[t];return typeof i=="function"?i(s,a=>(t++,n(a))):(t=0,s)};return r.dispatch=n,r.unshift=s=>e.unshift(s),r.remove=s=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)},r}function Mt(){const e=new Map,t=new Map;let r;const n=(s,i)=>{if(r){r.set(i.name,[s,i]);return}e.has(i.name)&&e.get(i.name).forEach(a=>{(i.origin===s||a.modifiers.includes("deep"))&&a.listener(i)}),i.bubble&&s.bubble(i)};return n.flush=()=>{e.clear(),t.clear(),r==null||r.clear()},n.on=(s,i,a="push")=>{const[o,...l]=s.split("."),y=i.receipt||me(),g={modifiers:l,event:o,listener:i,receipt:y};return e.has(o)?e.get(o)[a](g):e.set(o,[g]),t.has(y)?t.get(y)[a](o):t.set(y,[o]),y},n.off=s=>{var i;t.has(s)&&((i=t.get(s))==null||i.forEach(a=>{const o=e.get(a);Array.isArray(o)&&e.set(a,o.filter(l=>l.receipt!==s))}),t.delete(s))},n.pause=s=>{r||(r=new Map),s&&s.walk(i=>i._e.pause())},n.play=s=>{if(!r)return;const i=r;r=void 0,i.forEach(([a,o])=>n(a,o)),s&&s.walk(a=>a._e.play())},n}function dn(e,t,r,n,s=!0,i){return t._e(e,{payload:n,name:r,bubble:s,origin:e,meta:i}),e}function hn(e,t,r){return Pe(e.parent)&&e.parent._e(e.parent,r),e}function yn(e,t,r,n,s){return t._e.on(r,n,s)}function gn(e,t,r){return t._e.off(r),e}var tt=et();tt((e,t)=>(e.message||(e.message=`E${e.code}`),t(e)));var rt=et();rt((e,t)=>{e.message||(e.message=`W${e.code}`);const r=t(e);return console&&typeof console.warn=="function"&&console.warn(r.message),r});function le(e,t={}){rt.dispatch({code:e,data:t})}function z(e,t={}){throw Error(tt.dispatch({code:e,data:t}).message)}function W(e,t){return{blocking:!1,key:me(),meta:{},type:"state",visible:!0,...e}}var Rt={apply:kn,set:vn,remove:Ft,filter:_n,reduce:wn,release:An,touch:$n};function bn(e=!1){const t={};let r,n=e,s=[];const i=new Map;let a;const o=new Proxy(t,{get(...l){const[y,g]=l;return g==="buffer"?n:g==="_b"?s:g==="_m"?i:g==="_r"?a:P(Rt,g)?Rt[g].bind(null,t,o,r):Reflect.get(...l)},set(l,y,g){return y==="_n"?(r=g,a==="__n"&&Vt(r,o),!0):y==="_b"?(s=g,!0):y==="buffer"?(n=g,!0):y==="_r"?(a=g,!0):(z(101,r),!1)}});return o}function vn(e,t,r,n){if(t.buffer)return t._b.push([[n]]),t;if(e[n.key]!==n){if(typeof n.value=="string"&&n.meta.localize!==!1){const i=n.value;n.value=r.t(n),n.value!==i&&(n.meta.locale=r.props.locale)}const s=`message-${P(e,n.key)?"updated":"added"}`;e[n.key]=Object.freeze(r.hook.message.dispatch(n)),r.emit(s,n)}return t}function $n(e,t){for(const r in e){const n={...e[r]};t.set(n)}}function Ft(e,t,r,n){if(P(e,n)){const s=e[n];delete e[n],r.emit("message-removed",s)}return t.buffer===!0&&(t._b=t._b.filter(s=>(s[0]=s[0].filter(i=>i.key!==n),s[1]||s[0].length))),t}function _n(e,t,r,n,s){for(const i in e){const a=e[i];(!s||a.type===s)&&!n(a)&&Ft(e,t,r,i)}}function wn(e,t,r,n,s){for(const i in e){const a=e[i];s=n(s,a)}return s}function kn(e,t,r,n,s){if(Array.isArray(n)){if(t.buffer){t._b.push([n,s]);return}const i=new Set(n.map(a=>(t.set(a),a.key)));typeof s=="string"?t.filter(a=>a.type!==s||i.has(a.key)):typeof s=="function"&&t.filter(a=>!s(a)||i.has(a.key))}else for(const i in n){const a=r.at(i);a?a.store.apply(n[i],s):Sn(r,t,i,n[i],s)}}function Cn(e,...t){const r=`${e.name}-set`,n=s=>W({key:Xe(s),type:"error",value:s,meta:{source:r,autoClear:!0}});return t.filter(s=>!!s).map(s=>{if(typeof s=="string"&&(s=[s]),Array.isArray(s))return s.map(i=>n(i));{const i={};for(const a in s)Array.isArray(s[a])?i[a]=s[a].map(o=>n(o)):i[a]=[n(s[a])];return i}})}function Sn(e,t,r,n,s){var a;const i=t._m;i.has(r)||i.set(r,[]),t._r||(t._r=Vt(e,t)),(a=i.get(r))==null||a.push([n,s])}function Vt(e,t){return e.on("child.deep",({payload:r})=>{t._m.forEach((n,s)=>{e.at(s)===r&&(n.forEach(([i,a])=>{r.store.apply(i,a)}),t._m.delete(s))}),t._m.size===0&&t._r&&(e.off(t._r),t._r=void 0)})}function An(e,t){t.buffer=!1,t._b.forEach(([r,n])=>t.apply(r,n)),t._b=[]}function En(){const e={};let t;return{count:(...r)=>Pn(t,e,...r),init(r){t=r,r.on("message-added.deep",Nt(e,1)),r.on("message-removed.deep",Nt(e,-1))},merge:r=>Tt(t,e,r),settled(r){return P(e,r)?e[r].promise:Promise.resolve()},unmerge:r=>Tt(t,e,r,!0),value(r){return P(e,r)?e[r].count:0}}}function Pn(e,t,r,n,s=0){if(n=On(n||r),!P(t,r)){const i={condition:n,count:0,name:r,node:e,promise:Promise.resolve(),resolve:()=>{}};t[r]=i,s=e.store.reduce((a,o)=>a+i.condition(o)*1,s),e.each(a=>{a.ledger.count(i.name,i.condition),s+=a.ledger.value(i.name)})}return jt(t[r],s).promise}function On(e){return typeof e=="function"?e:t=>t.type===e}function jt(e,t){const r=e.count,n=e.count+t;return e.count=n,r===0&&n!==0?(e.node.emit(`unsettled:${e.name}`,e.count,!1),e.promise=new Promise(s=>e.resolve=s)):r!==0&&n===0&&(e.node.emit(`settled:${e.name}`,e.count,!1),e.resolve()),e.node.emit(`count:${e.name}`,e.count,!1),e}function Nt(e,t){return r=>{for(const n in e){const s=e[n];s.condition(r.payload)&&jt(s,t)}}}function Tt(e,t,r,n=!1){const s=e;for(const i in t){const a=t[i].condition;n||r.ledger.count(i,a);const o=r.ledger.value(i)*(n?-1:1);if(e){do e.ledger.count(i,a,o),e=e.parent;while(e);e=s}}}var nt=new Map,Fe=new Map,st=Mt();function xn(e){e.props.id&&(nt.set(e.props.id,e),Fe.set(e,e.props.id),st(e,{payload:e,name:e.props.id,bubble:!1,origin:e}))}function In(e){if(Fe.has(e)){const t=Fe.get(e);Fe.delete(e),nt.delete(t),st(e,{payload:null,name:t,bubble:!1,origin:e})}}function Ee(e){return nt.get(e)}function Mn(e,t){return st.on(e,t)}function it(e,t,r){let n=!0;return t in e.config._t?n=!1:e.emit(`config:${t}`,r,!1),t in e.props||(e.emit("prop",{prop:t,value:r}),e.emit(`prop:${t}`,r)),n}function Rn(e={}){const t=new Set,r={...e,_add:s=>t.add(s),_rm:s=>t.delete(s)};return new Proxy(r,{set(s,i,a,o){return typeof i=="string"&&t.forEach(l=>it(l,i,a)),Reflect.set(s,i,a,o)}})}function Dt(e,t){const r=(t||document).getElementById(e);if(r instanceof HTMLFormElement){const n=new Event("submit",{cancelable:!0,bubbles:!0});r.dispatchEvent(n);return}le(151,e)}function Fn(e){const t=r=>{for(const n in r.store){const s=r.store[n];s.type==="error"||s.type==="ui"&&n==="incomplete"?r.store.remove(n):s.type==="state"&&r.store.set({...s,value:!1})}};t(e),e.walk(t)}function qt(e,t){const r=typeof e=="string"?Ee(e):e;if(r){const n=a=>B(a.props.initial)||(a.type==="group"?{}:a.type==="list"?[]:void 0);r._e.pause(r);const s=B(t);return t&&!U(t)&&(r.props.initial=Ae(s)?be(s):s,r.props._init=r.props.initial),r.input(n(r),!1),r.walk(a=>{a.type==="list"&&a.sync||a.input(n(a),!1)}),r.input(U(s)&&s?s:n(r),!1),r.type!=="input"&&t&&!U(t)&&Ae(t)&&r.walk(a=>{a.props.initial=Ae(a.value)?be(a.value):a.value,a.props._init=a.props.initial}),r._e.play(r),Fn(r),r.emit("reset",r),r}le(152,e)}var Vn={delimiter:".",delay:0,locale:"en",rootClasses:e=>({[`formkit-${It(e)}`]:!0})},Lt=Symbol("index"),at=Symbol("removed"),ot=Symbol("moved"),Kt=Symbol("inserted");function jn(e){return e.type==="list"&&Array.isArray(e._value)}function Pe(e){return e&&typeof e=="object"&&e.__FKNode__===!0}var Ve=(e,t,r)=>{z(102,[e,r])},Nn={_c:R(ss,Ve,!1),add:R(Gn),addProps:R(Yn),address:R(as,Ve,!1),at:R(os),bubble:R(hn),clearErrors:R(ys),calm:R(Bn),config:R(!1),define:R(Zn),disturb:R(Un),destroy:R(Hn),extend:R(bs),hydrate:R(zn),index:R(ns,rs,!1),input:R(Ut),each:R(Xn),emit:R(dn),find:R(us),on:R(yn),off:R(gn),parent:R(!1,Jn),plugins:R(!1),remove:R(Qn),root:R(cs,Ve,!1),reset:R(ds),resetConfig:R(ts),setErrors:R(hs),submit:R(ms),t:R(ps),use:R(ut),name:R(is,!1,!1),walk:R(es)};function Tn(){return new Map(Object.entries(Nn))}function R(e,t,r=!0){return{get:e?(n,s)=>r?(...i)=>e(n,s,...i):e(n,s):!1,set:t!==void 0?t:Ve.bind(null)}}function Dn(){const e=new Map;return new Proxy(e,{get(t,r){return e.has(r)||e.set(r,et()),e.get(r)}})}var zt=0,qn=0;function Ln(e){var t,r;return((t=e.parent)==null?void 0:t.type)==="list"?Lt:e.name||`${((r=e.props)==null?void 0:r.type)||"input"}_${++zt}`}function Wt(e){return e.type==="group"?be(e.value&&typeof e.value=="object"&&!Array.isArray(e.value)?e.value:{}):e.type==="list"?be(Array.isArray(e.value)?e.value:[]):e.value}function Ut(e,t,r,n=!0){return t._value=Kn(e,e.hook.input.dispatch(r)),e.emit("input",t._value),e.isCreated&&e.type==="input"&&q(t._value,t.value)&&!e.props.mergeStrategy?(e.emit("commitRaw",t.value),t.settled):(t.isSettled&&e.disturb(),n?(t._tmo&&clearTimeout(t._tmo),t._tmo=setTimeout(je,e.props.delay,e,t)):je(e,t),t.settled)}function Kn(e,t){switch(e.type){case"input":break;case"group":(!t||typeof t!="object")&&z(107,[e,t]);break;case"list":Array.isArray(t)||z(108,[e,t]);break}return t}function je(e,t,r=!0,n=!0){t._value=t.value=e.hook.commit.dispatch(t._value),e.type!=="input"&&n&&e.hydrate(),e.emit("commitRaw",t.value),e.emit("commit",t.value),r&&e.calm()}function Bt(e,{name:t,value:r,from:n}){if(!Object.isFrozen(e._value)){if(jn(e)){const s=r===at?[]:r===ot&&typeof n=="number"?e._value.splice(n,1):[r];e._value.splice(t,r===ot||n===Kt?0:1,...s);return}r!==at?e._value[t]=r:delete e._value[t]}}function zn(e,t){const r=t._value;return e.type==="list"&&e.sync&&Wn(e,t),t.children.forEach(n=>{if(typeof r=="object")if(n.name in r){const s=n.type!=="input"||r[n.name]&&typeof r[n.name]=="object"?be(r[n.name]):r[n.name];if(!n.isSettled||(!Ae(s)||n.props.mergeStrategy)&&q(s,n._value))return;n.input(s,!1)}else(e.type!=="list"||typeof n.name=="number")&&Bt(t,{name:n.name,value:n.value}),r.__init||(n.type==="group"?n.input({},!1):n.type==="list"?n.input([],!1):n.input(void 0,!1))}),e}function Wn(e,t){const r=e._value;if(!Array.isArray(r))return;const n=[],s=new Set(t.children),i=new Map;r.forEach((o,l)=>{if(t.children[l]&&t.children[l]._value===o)n.push(t.children[l]),s.delete(t.children[l]);else{n.push(null);const y=i.get(o)||[];y.push(l),i.set(o,y)}}),s.size&&i.size&&s.forEach(o=>{if(i.has(o._value)){const l=i.get(o._value),y=l.shift();n[y]=o,s.delete(o),l.length||i.delete(o._value)}});const a=[];for(i.forEach(o=>{a.push(...o)});s.size&&a.length;){const o=s.values().next().value,l=a.shift();if(l===void 0)break;n[l]=o,s.delete(o)}a.forEach((o,l)=>{n[o]=ws({value:l})}),s.size&&s.forEach(o=>{if(!("__FKP"in o)){const l=o._c.parent;if(!l||ks(l))return;l.ledger.unmerge(o),o._c.parent=null,o.destroy()}}),t.children=n}function Un(e,t){var r;return t._d<=0&&(t.isSettled=!1,e.emit("settled",!1,!1),t.settled=new Promise(n=>{t._resolve=n}),e.parent&&((r=e.parent)==null||r.disturb())),t._d++,e}function Bn(e,t,r){var n;if(r!==void 0&&e.type!=="input"){Bt(t,r);const s=!!(e.config.mergeStrategy&&e.config.mergeStrategy[r.name]);return je(e,t,!0,s)}t._d>0&&t._d--,t._d===0&&(t.isSettled=!0,e.emit("settled",!0,!1),e.parent&&((n=e.parent)==null||n.calm({name:e.name,value:t.value})),t._resolve&&t._resolve(t.value))}function Hn(e,t){e.emit("destroying",e),e.store.filter(()=>!1),e.parent&&e.parent.remove(e),In(e),e.emit("destroyed",e),t._e.flush(),t._value=t.value=void 0;for(const r in t.context)delete t.context[r];t.plugins.clear(),t.context=null}function Zn(e,t,r){t.type=r.type;const n=ge(r);e.props.__propDefs=Ht(e.props.__propDefs??[],(n==null?void 0:n.props)||[]),n.props=e.props.__propDefs,t.props.definition=n,t.value=t._value=Wt({type:e.type,value:t.value}),r.forceTypeProp&&(e.props.type&&(e.props.originalType=e.props.type),t.props.type=r.forceTypeProp),r.family&&(t.props.family=r.family),r.features&&r.features.forEach(s=>s(e)),r.props&&e.addProps(r.props),e.emit("defined",r)}function Yn(e,t,r){const n=Array.isArray(r)?r:Object.keys(r),s=Array.isArray(r)?{}:n.reduce((a,o)=>("default"in r[o]&&(a[o]=r[o].default),a),{});if(e.props.attrs){const a={...e.props.attrs};e.props._emit=!1;for(const l in a){const y=ye(l);n.includes(y)&&(e.props[y]=a[l],delete a[l])}Array.isArray(r)||n.forEach(l=>{"default"in r[l]&&e.props[l]===void 0&&(e.props[l]=s[l])});const o=B(t._value);e.props.initial=e.type!=="input"?be(o):o,e.props._emit=!0,e.props.attrs=a}const i=Ht(e.props.__propDefs??[],r);return e.props.definition&&(e.props.definition.props=i),e.props.__propDefs=i,e.emit("added-props",r),e}function lt(e){return Array.isArray(e)?e.reduce((t,r)=>(t[r]={},t),{}):e}function Ht(e,t){return Array.isArray(e)&&Array.isArray(t)?e.concat(t):ie(lt(e),lt(t))}function Gn(e,t,r,n){if(e.type==="input"&&z(100,e),r.parent&&r.parent!==e&&r.parent.remove(r),!t.children.includes(r)){if(n!==void 0&&e.type==="list"){const s=t.children[n];s&&"__FKP"in s?(r._c.uid=s.uid,t.children.splice(n,1,r)):t.children.splice(n,0,r),Array.isArray(e.value)&&e.value.length<t.children.length&&e.disturb().calm({name:n,value:r.value,from:Kt})}else t.children.push(r);r.isSettled||e.disturb()}if(r.parent!==e){if(r.parent=e,r.parent!==e)return e.remove(r),r.parent.add(r),e}else r.use(e.plugins);return je(e,t,!1),e.ledger.merge(r),e.emit("child",r),e}function Jn(e,t,r,n){return Pe(n)?(e.parent&&e.parent!==n&&e.parent.remove(e),t.parent=n,e.resetConfig(),n.children.includes(e)?e.use(n.plugins):n.add(e),!0):n===null?(t.parent=null,!0):!1}function Qn(e,t,r){const n=t.children.indexOf(r);if(n!==-1){r.isSettled&&e.disturb(),t.children.splice(n,1);let s=H(r.props.preserve),i=r.parent;for(;s===void 0&&i;)s=H(i.props.preserve),i=i.parent;s?e.calm():e.calm({name:e.type==="list"?n:r.name,value:at}),r.parent=null,r.config._rmn=r}return e.ledger.unmerge(r),e.emit("childRemoved",r),e}function Xn(e,t,r){t.children.forEach(n=>!("__FKP"in n)&&r(n))}function es(e,t,r,n=!1,s=!1){t.children.some(i=>{if("__FKP"in i)return!1;const a=r(i);return n&&a===!1?!0:s&&a===!1?!1:i.walk(r,n,s)})}function ts(e,t){const r=e.parent||void 0;t.config=Zt(e.config._t,r),e.walk(n=>n.resetConfig())}function ut(e,t,r,n=!0,s=!0){return Array.isArray(r)||r instanceof Set?(r.forEach(i=>ut(e,t,i)),e):(t.plugins.has(r)||(s&&typeof r.library=="function"&&r.library(e),n&&r(e)!==!1&&(t.plugins.add(r),e.children.forEach(i=>i.use(r)))),e)}function rs(e,t,r,n){if(Pe(e.parent)){const s=e.parent.children,i=n>=s.length?s.length-1:n<0?0:n,a=s.indexOf(e);return a===-1?!1:(s.splice(a,1),s.splice(i,0,e),e.parent.children=s,e.parent.type==="list"&&e.parent.disturb().calm({name:i,value:ot,from:a}),!0)}return!1}function ns(e){if(e.parent){const t=[...e.parent.children].indexOf(e);return t===-1?e.parent.children.length:t}return-1}function ss(e,t){return t}function is(e,t){var r;return((r=e.parent)==null?void 0:r.type)==="list"?e.index:t.name!==Lt?t.name:e.index}function as(e,t){return t.parent?t.parent.address.concat([e.name]):[e.name]}function os(e,t,r){const n=typeof r=="string"?r.split(e.config.delimiter):r;if(!n.length)return;const s=n[0];let i=e.parent;for(i||(String(n[0])===String(e.name)&&n.shift(),i=e),s==="$parent"&&n.shift();i&&n.length;){const a=n.shift();switch(a){case"$root":i=e.root;break;case"$parent":i=i.parent;break;case"$self":i=e;break;default:i=i.children.find(o=>!("__FKP"in o)&&String(o.name)===String(a))||ls(i,a)}}return i||void 0}function ls(e,t){const r=String(t).match(/^(find)\((.*)\)$/);if(r){const[,n,s]=r,i=s.split(",").map(a=>a.trim());switch(n){case"find":return e.find(i[0],i[1]);default:return}}}function us(e,t,r,n){return fs(e,r,n)}function fs(e,t,r="name"){const n=typeof r=="string"?i=>i[r]==t:r,s=[e];for(;s.length;){const i=s.shift();if(!("__FKP"in i)){if(n(i,t))return i;s.push(...i.children)}}}function cs(e){let t=e;for(;t.parent;)t=t.parent;return t}function Zt(e={},t){let r;return new Proxy(e,{get(...n){const s=n[1];if(s==="_t")return e;const i=Reflect.get(...n);if(i!==void 0)return i;if(t){const a=t.config[s];if(a!==void 0)return a}if(e.rootConfig&&typeof s=="string"){const a=e.rootConfig[s];if(a!==void 0)return a}return s==="delay"&&(r==null?void 0:r.type)==="input"?20:Vn[s]},set(...n){const s=n[1],i=n[2];if(s==="_n")return r=i,e.rootConfig&&e.rootConfig._add(r),!0;if(s==="_rmn")return e.rootConfig&&e.rootConfig._rm(r),r=void 0,!0;if(!q(e[s],i,!1)){const a=Reflect.set(...n);return r&&(r.emit(`config:${s}`,i,!1),it(r,s,i),r.walk(o=>it(o,s,i),!1,!0)),a}return!0}})}function ps(e,t,r,n="ui"){const s=typeof r=="string"?{key:r,value:r,type:n}:r,i=e.hook.text.dispatch(s);return e.emit("text",i,!1),i.value}function ms(e){const t=e.name;do{if(e.props.isForm===!0)break;e.parent||z(106,t),e=e.parent}while(e);e.props.id&&Dt(e.props.id,e.props.__root)}function ds(e,t,r){return qt(e,r)}function hs(e,t,r,n){const s=`${e.name}-set`,i=e.hook.setErrors.dispatch({localErrors:r,childErrors:n});return Cn(e,i.localErrors,i.childErrors).forEach(a=>{e.store.apply(a,o=>o.meta.source===s)}),e}function ys(e,t,r=!0,n){return e.store.filter(s=>!(n===void 0||s.meta.source===n),"error"),r&&(n=n||`${e.name}-set`,e.walk(s=>{s.store.filter(i=>!(i.type==="error"&&i.meta&&i.meta.source===n))})),e}function gs(e){const t={initial:typeof e=="object"?B(e):e};let r,n=!0,s={};return new Proxy(t,{get(...i){var g,b,O,v;const[a,o]=i;let l;P(t,o)?(l=Reflect.get(...i),(g=s[o])!=null&&g.boolean&&(l=mn(l))):r&&typeof o=="string"&&r.config[o]!==void 0?(l=r.config[o],o==="mergeStrategy"&&(r==null?void 0:r.type)==="input"&&Re(l)&&r.name in l&&(l=l[r.name])):l=(b=s[o])==null?void 0:b.default;const y=(O=s[o])==null?void 0:O.getter;return(v=s[o])!=null&&v.boolean&&(l=!!l),y?y(l,r):l},set(i,a,o,l){var O;if(a==="_n")return r=o,!0;if(a==="_emit")return n=o,!0;let{prop:y,value:g}=r.hook.prop.dispatch({prop:a,value:o});const b=(O=s[y])==null?void 0:O.setter;if(g=b?b(g,r):g,!q(t[y],g,!1)||typeof g=="object"){const v=Reflect.set(i,y,g,l);return y==="__propDefs"&&(s=lt(g)),n&&(r.emit("prop",{prop:y,value:g}),typeof y=="string"&&r.emit(`prop:${y}`,g)),v}return!0}})}function bs(e,t,r,n){return t.traps.set(r,n),e}function vs(e,t){if(e.props.definition)return e.define(e.props.definition);for(const r of t){if(e.props.definition)return;typeof r.library=="function"&&r.library(e)}}function $s(e){const t=Wt(e),r=Zt(e.config||{},e.parent);return{_d:0,_e:Mt(),uid:Symbol(),_resolve:!1,_tmo:!1,_value:t,children:rn(e.children||[]),config:r,hook:Dn(),isCreated:!1,isSettled:!0,ledger:En(),name:Ln(e),parent:e.parent||null,plugins:new Set,props:gs(t),settled:Promise.resolve(t),store:bn(!0),sync:e.sync||!1,traps:Tn(),type:e.type||"input",value:t}}function _s(e,t){var n,s;const r=(n=t.props)==null?void 0:n.id;if(r||(s=t.props)==null||delete s.id,e.ledger.init(e.store._n=e.props._n=e.config._n=e),e.props._emit=!1,Object.assign(e.props,r?{}:{id:`input_${qn++}`},t.props??{}),e.props._emit=!0,vs(e,new Set([...t.plugins||[],...e.parent?e.parent.plugins:[]])),t.plugins)for(const i of t.plugins)ut(e,e._c,i,!0,!1);return e.each(i=>e.add(i)),e.parent&&e.parent.add(e,t.index),e.type==="input"&&e.children.length&&z(100,e),Ut(e,e._c,e._value,!1),e.store.release(),r&&xn(e),e.emit("created",e),e.isCreated=!0,e}function ws(e){return{__FKP:!0,uid:Symbol(),name:(e==null?void 0:e.name)??`p_${zt++}`,value:(e==null?void 0:e.value)??null,_value:(e==null?void 0:e.value)??null,type:(e==null?void 0:e.type)??"input",props:{},use:()=>{},input(t){return this._value=t,this.value=t,Promise.resolve()},isSettled:!0}}function ks(e){return"__FKP"in e}function Cs(e){const t=e||{},r=$s(t),n=new Proxy(r,{get(...s){const[,i]=s;if(i==="__FKNode__")return!0;const a=r.traps.get(i);return a&&a.get?a.get(n,r):Reflect.get(...s)},set(...s){const[,i,a]=s,o=r.traps.get(i);return o&&o.set?o.set(n,r,i,a):Reflect.set(...s)}});return _s(n,t)}function ft(e){return typeof e!="string"&&P(e,"$el")}function ct(e){return typeof e!="string"&&P(e,"$cmp")}function ve(e){return!e||typeof e=="string"?!1:P(e,"if")&&P(e,"then")}function Ss(e){return typeof e!="string"&&"$formkit"in e}function As(e){if(typeof e=="string")return{$el:"text",children:e};if(Ss(e)){const{$formkit:t,for:r,if:n,children:s,bind:i,...a}=e;return Object.assign({$cmp:"FormKit",props:{...a,type:t}},n?{if:n}:{},r?{for:r}:{},s?{children:s}:{},i?{bind:i}:{})}return e}function Z(e){let t;const r=new Set,n=function(d,h){return typeof d=="function"?d(h):d},s=[{"&&":(p,d,h)=>n(p,h)&&n(d,h),"||":(p,d,h)=>n(p,h)||n(d,h)},{"===":(p,d,h)=>n(p,h)===n(d,h),"!==":(p,d,h)=>n(p,h)!==n(d,h),"==":(p,d,h)=>n(p,h)==n(d,h),"!=":(p,d,h)=>n(p,h)!=n(d,h),">=":(p,d,h)=>n(p,h)>=n(d,h),"<=":(p,d,h)=>n(p,h)<=n(d,h),">":(p,d,h)=>n(p,h)>n(d,h),"<":(p,d,h)=>n(p,h)<n(d,h)},{"+":(p,d,h)=>n(p,h)+n(d,h),"-":(p,d,h)=>n(p,h)-n(d,h)},{"*":(p,d,h)=>n(p,h)*n(d,h),"/":(p,d,h)=>n(p,h)/n(d,h),"%":(p,d,h)=>n(p,h)%n(d,h)}],i=s.reduce((p,d)=>p.concat(Object.keys(d)),[]),a=new Set(i.map(p=>p.charAt(0)));function o(p,d,h,w){const S=p.filter(_=>_.startsWith(d));return S.length?S.find(_=>w.length>=h+_.length&&w.substring(h,h+_.length)===_?_:!1):!1}function l(p,d,h=1){let w=h?d.substring(p+1).trim():d.substring(0,p).trim();if(!w.length)return-1;if(!h){const _=w.split("").reverse(),k=_.findIndex(u=>a.has(u));w=_.slice(k).join("")}const S=w[0];return s.findIndex(_=>{const k=Object.keys(_);return!!o(k,S,0,w)})}function y(p,d){let h="";const w=d.length;let S=0;for(let _=p;_<w;_++){const k=d.charAt(_);if(k==="(")S++;else if(k===")")S--;else if(S===0&&k===" ")continue;if(S===0&&o(i,k,_,d))return[h,_-1];h+=k}return[h,d.length-1]}function g(p,d=0){const h=s[d],w=p.length,S=Object.keys(h);let _=0,k=!1,u=null,m="",x=null,F,V="",M="",c="",C="",E=0;const N=(j,T)=>{j?c+=T:m+=T};for(let j=0;j<w;j++)if(V=M,M=p.charAt(j),(M==="'"||M==='"')&&V!=="\\"&&(_===0&&!k||_&&!C)){_?C=M:k=M,N(_,M);continue}else if(k&&(M!==k||V==="\\")||C&&(M!==C||V==="\\")){N(_,M);continue}else if(k===M){k=!1,N(_,M);continue}else if(C===M){C=!1,N(_,M);continue}else{if(M===" ")continue;if(M==="(")_===0?E=j:c+=M,_++;else if(M===")")if(_--,_===0){const T=typeof m=="string"&&m.startsWith("$")?m:void 0,ce=T&&p.charAt(j+1)===".";let J="";ce&&([J,j]=y(j+2,p));const Se=u?d:l(E,p,0),pe=l(j,p);Se===-1&&pe===-1?(m=b(c,-1,T,J),typeof m=="string"&&(m=c)):u&&(Se>=pe||pe===-1)&&d===Se?(x=u.bind(null,b(c,-1,T,J)),u=null,m=""):pe>Se&&d===pe?m=b(c,-1,T,J):m+=`(${c})${ce?`.${J}`:""}`,c=""}else c+=M;else if(_===0&&(F=o(S,M,j,p))){j===0&&z(103,[F,p]),j+=F.length-1,j===p.length-1&&z(104,[F,p]),u?m&&(x=u.bind(null,b(m,d)),u=h[F].bind(null,x),m=""):x?(u=h[F].bind(null,b(x,d)),x=null):(u=h[F].bind(null,b(m,d)),m="");continue}else N(_,M)}return m&&u&&(u=u.bind(null,b(m,d))),u=!u&&x?x:u,!u&&m&&(u=(j,T)=>typeof j=="function"?j(T):j,u=u.bind(null,b(m,d))),!u&&!m&&z(105,p),u}function b(p,d,h,w){if(h){const S=b(h,s.length);let _,k=w?Z(`$${w}`):!1;if(typeof S=="function"){const u=un(String(p)).map(m=>b(m,-1));return m=>{const x=S(m);return typeof x!="function"?(le(150,h),x):(_=x(...u.map(F=>typeof F=="function"?F(m):F)),k&&(k=k.provide(F=>{const V=t(F);return F.reduce((c,C)=>{if(C===w||(w==null?void 0:w.startsWith(`${C}(`))){const N=fn(_,C);c[C]=()=>N}else c[C]=V[C];return c},{})})),k?k():_)}}}else if(typeof p=="string"){if(p==="true")return!0;if(p==="false")return!1;if(p==="undefined")return;if(on(p))return ln(p.substring(1,p.length-1));if(!isNaN(+p))return Number(p);if(d<s.length-1)return g(p,d+1);if(p.startsWith("$")){const S=p.substring(1);return r.add(S),function(k){return S in k?k[S]():void 0}}return p}return p}const O=g(e.startsWith("$:")?e.substring(2):e),v=Array.from(r);function $(p){return t=p,Object.assign(O.bind(null,p(v)),{provide:$})}return Object.assign(O,{provide:$})}function Ne(e,t,r){return r?typeof r=="string"?r.split(" ").reduce((s,i)=>Object.assign(s,{[i]:!0}),{}):typeof r=="function"?Ne(e,t,r(t,e)):r:{}}function Es(e,t,...r){const n=r.reduce((s,i)=>{if(!i)return pt(s);const{$reset:a,...o}=i;return pt(a?o:Object.assign(s,o))},{});return Object.keys(e.hook.classes.dispatch({property:t,classes:n}).classes).filter(s=>n[s]).join(" ")||null}function pt(e){const t="$remove:";let r=!1;const n=Object.keys(e).filter(s=>(e[s]&&s.startsWith(t)&&(r=!0),e[s]));return n.length>1&&r&&n.filter(i=>i.startsWith(t)).map(i=>{const a=i.substring(t.length);e[a]=!1,e[i]=!1}),e}function Ps(e,t,r){const n=Ee(e);n?n.setErrors(t,r):le(651,e)}function Os(e,t=!0){const r=Ee(e);r?r.clearErrors(t):le(652,e)}var Te="1.6.5",Yt=new WeakSet;function De(e,t){const r=t||Object.assign(new Map,{active:!1}),n=new Map,s=function(g){var b;r.active&&(r.has(e)||r.set(e,new Set),(b=r.get(e))==null||b.add(g))},i=function(g){return new Proxy(g,{get(...b){return typeof b[1]=="string"&&s(`prop:${b[1]}`),Reflect.get(...b)}})},a=function(g){return new Proxy(g,{get(...b){return b[1]==="value"?O=>(s(`count:${O}`),g.value(O)):Reflect.get(...b)}})},o=function(g,b){return Pe(g)?De(g,r):(b==="value"&&s("commit"),b==="_value"&&s("input"),b==="props"?i(g):b==="ledger"?a(g):(b==="children"&&(s("child"),s("childRemoved")),g))},{proxy:l,revoke:y}=Proxy.revocable(e,{get(...g){switch(g[1]){case"_node":return e;case"deps":return r;case"watch":return(O,v,$)=>Qt(l,O,v,$);case"observe":return()=>{const O=new Map(r);return r.clear(),r.active=!0,O};case"stopObserve":return()=>{const O=new Map(r);return r.active=!1,O};case"receipts":return n;case"kill":return()=>{Jt(n),Yt.add(g[2]),y()}}const b=Reflect.get(...g);return typeof b=="function"?(...O)=>{const v=b(...O);return o(v,g[1])}:o(b,g[1])}});return l}function Gt(e,[t,r],n,s){t.forEach((i,a)=>{i.forEach(o=>{e.receipts.has(a)||e.receipts.set(a,{});const l=e.receipts.get(a)??{};l[o]=l[o]??[],l[o].push(a.on(o,n,s)),e.receipts.set(a,l)})}),r.forEach((i,a)=>{i.forEach(o=>{if(e.receipts.has(a)){const l=e.receipts.get(a);l&&P(l,o)&&(l[o].map(a.off),delete l[o],e.receipts.set(a,l))}})})}function Jt(e){e.forEach((t,r)=>{for(const n in t)t[n].map(r.off)}),e.clear()}function Qt(e,t,r,n){const s=o=>{const l=e.stopObserve();Gt(e,Xt(i,l),()=>Qt(e,t,r,n),n),r&&r(o)},i=new Map(e.deps);e.observe();const a=t(e);a instanceof Promise?a.then(o=>s(o)):s(a)}function Xt(e,t){const r=new Map,n=new Map;return t.forEach((s,i)=>{if(!e.has(i))r.set(i,s);else{const a=new Set,o=e.get(i);s.forEach(l=>!(o!=null&&o.has(l))&&a.add(l)),r.set(i,a)}}),e.forEach((s,i)=>{if(!t.has(i))n.set(i,s);else{const a=new Set,o=t.get(i);s.forEach(l=>!(o!=null&&o.has(l))&&a.add(l)),n.set(i,a)}}),[r,n]}function mt(e){return Yt.has(e)}var er=function({value:t}){return["yes","on","1",1,!0,"true"].includes(t)};er.skipEmpty=!1;var xs=er,Is=function({value:e},t=!1){const r=Date.parse(t||new Date),n=Date.parse(String(e));return isNaN(n)?!1:n>r},Ms=Is,Rs=function({value:e},t="default"){const r={default:new RegExp("^\\p{L}+$","u"),latin:/^[a-z]+$/i},n=P(r,t)?t:"default";return r[n].test(String(e))},Fs=Rs,Vs=function({value:e},t="default"){const r={default:/^[\p{L} ]+$/u,latin:/^[a-z ]+$/i},n=P(r,t)?t:"default";return r[n].test(String(e))},js=Vs,Ns=function({value:e},t="default"){const r={default:/^[0-9\p{L}]+$/u,latin:/^[0-9a-z]+$/i},n=P(r,t)?t:"default";return r[n].test(String(e))},Ts=Ns,Ds=function({value:e},t=!1){const r=Date.parse(t||new Date),n=Date.parse(String(e));return isNaN(n)?!1:n<r},qs=Ds,Ls=function({value:t},r,n){if(!isNaN(t)&&!isNaN(r)&&!isNaN(n)){const s=1*t;r=Number(r),n=Number(n);const[i,a]=r<=n?[r,n]:[n,r];return s>=1*i&&s<=1*a}return!1},Ks=Ls,tr=/(_confirm(?:ed)?)$/,zs=function(t,r,n="loose"){var i;r||(r=tr.test(t.name)?t.name.replace(tr,""):`${t.name}_confirm`);const s=(i=t.at(r))==null?void 0:i.value;return n==="strict"?t.value===s:t.value==s},Ws=zs,Us=function({value:e},t="default"){const r={default:new RegExp("\\p{L}","u"),latin:/[a-z]/i},n=P(r,t)?t:"default";return r[n].test(String(e))},Bs=Us,Hs=function({value:e},t="default"){const r={default:/[\p{L} ]/u,latin:/[a-z ]/i},n=P(r,t)?t:"default";return r[n].test(String(e))},Zs=Hs,Ys=function({value:e},t="default"){const r={default:/[0-9\p{L}]/u,latin:/[0-9a-z]/i},n=P(r,t)?t:"default";return r[n].test(String(e))},Gs=Ys,Js=function({value:e},t="default"){const r={default:new RegExp("\\p{Ll}","u"),latin:/[a-z]/},n=P(r,t)?t:"default";return r[n].test(String(e))},Qs=Js,Xs=function({value:t}){return/[0-9]/.test(String(t))},ei=Xs,ti=function({value:e}){return/[!-/:-@[-`{-~]/.test(String(e))},ri=ti,ni=function({value:e},t="default"){const r={default:new RegExp("\\p{Lu}","u"),latin:/[A-Z]/},n=P(r,t)?t:"default";return r[n].test(String(e))},si=ni,ii=function({value:t},r,n){r=r instanceof Date?r.getTime():Date.parse(r),n=n instanceof Date?n.getTime():Date.parse(n);const s=t instanceof Date?t.getTime():Date.parse(String(t));if(r&&!n)n=r,r=Date.now();else if(!r||!s)return!1;return s>=r&&s<=n},ai=ii,oi=function({value:t},r){return r&&typeof r=="string"?an(r).test(String(t)):!isNaN(Date.parse(String(t)))},li=oi,ui=function({value:t}){return/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(String(t))},fi=ui,ci=function({value:t},...r){return typeof t=="string"&&r.length?r.some(n=>t.endsWith(n)):typeof t=="string"&&r.length===0},pi=ci,mi=function({value:t},...r){return r.some(n=>typeof n=="object"?q(n,t):n==t)},di=mi,hi=function({value:t},r=0,n=1/0){r=parseInt(r),n=isNaN(parseInt(n))?1/0:parseInt(n);const s=r<=n?r:n,i=n>=r?n:r;if(typeof t=="string"||Array.isArray(t))return t.length>=s&&t.length<=i;if(t&&typeof t=="object"){const a=Object.keys(t).length;return a>=s&&a<=i}return!1},yi=hi,gi=function({value:e},t="default"){const r={default:new RegExp("^\\p{Ll}+$","u"),allow_non_alpha:/^[0-9\p{Ll}!-/:-@[-`{-~]+$/u,allow_numeric:/^[0-9\p{Ll}]+$/u,allow_numeric_dashes:/^[0-9\p{Ll}-]+$/u,latin:/^[a-z]+$/},n=P(r,t)?t:"default";return r[n].test(String(e))},bi=gi,vi=function({value:t},...r){return r.some(n=>(typeof n=="string"&&n.substr(0,1)==="/"&&n.substr(-1)==="/"&&(n=new RegExp(n.substr(1,n.length-2))),n instanceof RegExp?n.test(String(t)):n===t))},$i=vi,_i=function({value:t},r=10){return Array.isArray(t)?t.length<=r:Number(t)<=Number(r)},wi=_i,ki=function({value:t},r=1){return Array.isArray(t)?t.length>=r:Number(t)>=Number(r)},Ci=ki,Si=function({value:t},...r){return!r.some(n=>typeof n=="object"?q(n,t):n===t)},Ai=Si,Ei=function({value:t}){return!isNaN(t)},Pi=Ei,rr=function(e,...t){return U(e.value)?t.map(n=>{var s;return(s=e.at(n))==null?void 0:s.value}).some(n=>!U(n)):!0};rr.skipEmpty=!1;var Oi=rr,nr=function({value:t},r="default"){return r==="trim"&&typeof t=="string"?!U(t.trim()):!U(t)};nr.skipEmpty=!1;var xi=nr,Ii=function({value:t},...r){return typeof t=="string"&&r.length?r.some(n=>t.startsWith(n)):typeof t=="string"&&r.length===0},Mi=Ii,Ri=function({value:e}){return/^[!-/:-@[-`{-~]+$/.test(String(e))},Fi=Ri,Vi=function({value:e},t="default"){const r={default:new RegExp("^\\p{Lu}+$","u"),latin:/^[A-Z]+$/},n=P(r,t)?t:"default";return r[n].test(String(e))},ji=Vi,Ni=function({value:t},...r){try{const n=r.length?r:["http:","https:"],s=new URL(String(t));return n.includes(s.protocol)}catch{return!1}},Ti=Ni;const Di=Object.freeze(Object.defineProperty({__proto__:null,accepted:xs,alpha:Fs,alpha_spaces:js,alphanumeric:Ts,between:Ks,confirm:Ws,contains_alpha:Bs,contains_alpha_spaces:Zs,contains_alphanumeric:Gs,contains_lowercase:Qs,contains_numeric:ei,contains_symbol:ri,contains_uppercase:si,date_after:Ms,date_before:qs,date_between:ai,date_format:li,email:fi,ends_with:pi,is:di,length:yi,lowercase:bi,matches:$i,max:wi,min:Ci,not:Ai,number:Pi,require_one:Oi,required:xi,starts_with:Mi,symbol:Fi,uppercase:ji,url:Ti},Symbol.toStringTag,{value:"Module"}));var dt=W({type:"state",blocking:!0,visible:!1,value:!0,key:"validating"});function qi(e={}){return function(r){let n=B(r.props.validationRules||{}),s={...e,...n};const i={input:me(),rerun:null,isPassing:!0};let a=B(r.props.validation);r.on("prop:validation",({payload:l})=>o(l,n)),r.on("prop:validationRules",({payload:l})=>o(a,l));function o(l,y){var g;q(Object.keys(n||{}),Object.keys(y||{}))&&q(a,l)||(n=B(y),a=B(l),s={...e,...n},(g=r.props.parsedRules)==null||g.forEach(b=>{sr(b),Jt(b.observer.receipts),b.observer.kill()}),r.store.filter(()=>!1,"validation"),r.props.parsedRules=ur(l,s,r),i.isPassing=!0,ht(r,r.props.parsedRules,i))}r.props.parsedRules=ur(a,s,r),ht(r,r.props.parsedRules,i)}}function ht(e,t,r){mt(e)||(r.input=me(),e.store.set(W({key:"failing",value:!r.isPassing,visible:!1})),r.isPassing=!0,e.store.filter(n=>!n.meta.removeImmediately,"validation"),t.forEach(n=>n.debounce&&clearTimeout(n.timer)),t.length&&(e.store.set(dt),yt(0,t,r,!1,()=>{e.store.remove(dt.key),e.store.set(W({key:"failing",value:!r.isPassing,visible:!1}))})))}function yt(e,t,r,n,s){const i=t[e];if(!i)return s();const a=i.observer;if(mt(a))return;const o=r.input;i.state=null;function l(y,g){if(r.input!==o)return;r.isPassing=r.isPassing&&!!g,i.queued=!1;const b=a.stopObserve(),O=Xt(i.deps,b);if(Gt(a,O,function(){try{a.store.set(dt)}catch{}i.queued=!0,r.rerun&&clearTimeout(r.rerun),r.rerun=setTimeout(ht,0,a,t,r)},"unshift"),i.deps=b,i.state=g,g===!1?Ki(i,n||y):sr(i),t.length>e+1){const v=t[e+1];(g||v.force||!v.skipEmpty)&&v.state===null&&(v.queued=!0),yt(e+1,t,r,n||y,s)}else s()}(!U(a.value)||!i.skipEmpty)&&(r.isPassing||i.force)?i.queued?Li(i,a,y=>{y instanceof Promise?y.then(g=>l(!0,g)):l(!1,y)}):yt(e+1,t,r,n,s):U(a.value)&&i.skipEmpty&&r.isPassing?(a.observe(),a.value,l(!1,r.isPassing)):l(!1,null)}function Li(e,t,r){e.debounce?e.timer=setTimeout(()=>{t.observe(),r(e.rule(t,...e.args))},e.debounce):(t.observe(),r(e.rule(t,...e.args)))}function sr(e){const t=`rule_${e.name}`;e.messageObserver&&(e.messageObserver=e.messageObserver.kill()),P(e.observer.store,t)&&e.observer.store.remove(t)}function Ki(e,t){const r=e.observer;mt(r)||(e.messageObserver||(e.messageObserver=De(r._node)),e.messageObserver.watch(n=>Wi(n,e),n=>{const s=zi(r,e,n),i=W({blocking:e.blocking,key:`rule_${e.name}`,meta:{messageKey:e.name,removeImmediately:t,localize:!s,i18nArgs:n},type:"validation",value:s||"This field is not valid."});r.store.set(i)}))}function zi(e,t,r){const n=e.props.validationMessages&&P(e.props.validationMessages,t.name)?e.props.validationMessages[t.name]:void 0;return typeof n=="function"?n(...r):n}function Wi(e,t){return[{node:e,name:ir(e),args:t.args}]}function ir(e){return typeof e.props.validationLabel=="function"?e.props.validationLabel(e):e.props.validationLabel||e.props.label||e.props.name||String(e.name)}var ar="(?:[\\*+?()0-9]+)",or="[a-zA-Z][a-zA-Z0-9_]+",Ui=new RegExp(`^(${ar}?${or})(?:\\:(.*)+)?$`,"i"),Bi=new RegExp(`^(${ar})(${or})$`,"i"),Hi=/([\*+?]+)?(\(\d+\))([\*+?]+)?/,lr=/\(\d+\)/,Zi={blocking:!0,debounce:0,force:!1,skipEmpty:!0,name:""};function ur(e,t,r){return e?(typeof e=="string"?Yi(e):ge(e)).reduce((s,i)=>{let a=i.shift();const o={};if(typeof a=="string"){const[l,y]=Ji(a);P(t,l)&&(a=t[l],Object.assign(o,y))}return typeof a=="function"&&s.push({observer:De(r),rule:a,args:i,timer:0,state:null,queued:!0,deps:new Map,...Zi,...Qi(o,a)}),s},[]):[]}function Yi(e){return e.split("|").reduce((t,r)=>{const n=Gi(r);return n&&t.push(n),t},[])}function Gi(e){const t=e.trim();if(t){const r=t.match(Ui);if(r&&typeof r[1]=="string"){const n=r[1].trim(),s=r[2]&&typeof r[2]=="string"?r[2].split(",").map(i=>i.trim()):[];return[n,...s]}}return!1}function Ji(e){const t=e.match(Bi);if(!t)return[e,{name:e}];const r={"*":{force:!0},"+":{skipEmpty:!1},"?":{blocking:!1}},[,n,s]=t,i=lr.test(n)?n.match(Hi)||[]:[,n];return[s,[i[1],i[2],i[3]].reduce((a,o)=>(o&&(lr.test(o)?a.debounce=parseInt(o.substr(1,o.length-1)):o.split("").forEach(l=>P(r,l)&&Object.assign(a,r[l]))),a),{name:s})]}function Qi(e,t){return e.name||(e.name=t.ruleName||t.name),["skipEmpty","force","debounce","blocking"].reduce((r,n)=>(P(t,n)&&!P(r,n)&&Object.assign(r,{[n]:t[n]}),r),e)}function I(e){return e[0].toUpperCase()+e.substr(1)}function fr(e,t="or"){return e.reduce((r,n,s)=>(r+=n,s<=e.length-2&&e.length>2&&(r+=", "),s===e.length-2&&(r+=`${e.length===2?" ":""}${t} `),r),"")}function qe(e){const t=typeof e=="string"?new Date(Date.parse(e)):e;return t instanceof Date?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeZone:"UTC"}).format(t):"(unknown)"}function Xi(e,t){return Number(e)>=Number(t)?[t,e]:[e,t]}var ea={add:"Add",remove:"Remove",removeAll:"Remove all",incomplete:"Sorry, not all fields are filled out correctly.",submit:"Submit",noFiles:"No file chosen",moveUp:"Move up",moveDown:"Move down",isLoading:"Loading...",loadMore:"Load more",next:"Next",prev:"Previous",addAllValues:"Add all values",addSelectedValues:"Add selected values",removeAllValues:"Remove all values",removeSelectedValues:"Remove selected values",chooseDate:"Choose date",changeDate:"Change date",summaryHeader:"There were errors in your form.",close:"Close",open:"Open"},ta={accepted({name:e}){return`Please accept the ${e}.`},date_after({name:e,args:t}){return Array.isArray(t)&&t.length?`${I(e)} must be after ${qe(t[0])}.`:`${I(e)} must be in the future.`},alpha({name:e}){return`${I(e)} can only contain alphabetical characters.`},alphanumeric({name:e}){return`${I(e)} can only contain letters and numbers.`},alpha_spaces({name:e}){return`${I(e)} can only contain letters and spaces.`},contains_alpha({name:e}){return`${I(e)} must contain alphabetical characters.`},contains_alphanumeric({name:e}){return`${I(e)} must contain letters or numbers.`},contains_alpha_spaces({name:e}){return`${I(e)} must contain letters or spaces.`},contains_symbol({name:e}){return`${I(e)} must contain a symbol.`},contains_uppercase({name:e}){return`${I(e)} must contain an uppercase letter.`},contains_lowercase({name:e}){return`${I(e)} must contain a lowercase letter.`},contains_numeric({name:e}){return`${I(e)} must contain numbers.`},symbol({name:e}){return`${I(e)} must be a symbol.`},uppercase({name:e}){return`${I(e)} can only contain uppercase letters.`},lowercase({name:e,args:t}){let r="";return Array.isArray(t)&&t.length&&(t[0]==="allow_non_alpha"&&(r=", numbers and symbols"),t[0]==="allow_numeric"&&(r=" and numbers"),t[0]==="allow_numeric_dashes"&&(r=", numbers and dashes")),`${I(e)} can only contain lowercase letters${r}.`},date_before({name:e,args:t}){return Array.isArray(t)&&t.length?`${I(e)} must be before ${qe(t[0])}.`:`${I(e)} must be in the past.`},between({name:e,args:t}){if(isNaN(t[0])||isNaN(t[1]))return"This field was configured incorrectly and can’t be submitted.";const[r,n]=Xi(t[0],t[1]);return`${I(e)} must be between ${r} and ${n}.`},confirm({name:e}){return`${I(e)} does not match.`},date_format({name:e,args:t}){return Array.isArray(t)&&t.length?`${I(e)} is not a valid date, please use the format ${t[0]}`:"This field was configured incorrectly and can’t be submitted"},date_between({name:e,args:t}){return`${I(e)} must be between ${qe(t[0])} and ${qe(t[1])}`},email:"Please enter a valid email address.",ends_with({name:e,args:t}){return`${I(e)} doesn’t end with ${fr(t)}.`},is({name:e}){return`${I(e)} is not an allowed value.`},length({name:e,args:[t=0,r=1/0]}){const n=Number(t)<=Number(r)?t:r,s=Number(r)>=Number(t)?r:t;return n==1&&s===1/0?`${I(e)} must be at least one character.`:n==0&&s?`${I(e)} must be less than or equal to ${s} characters.`:n===s?`${I(e)} should be ${s} characters long.`:n&&s===1/0?`${I(e)} must be greater than or equal to ${n} characters.`:`${I(e)} must be between ${n} and ${s} characters.`},matches({name:e}){return`${I(e)} is not an allowed value.`},max({name:e,node:{value:t},args:r}){return Array.isArray(t)?`Cannot have more than ${r[0]} ${e}.`:`${I(e)} must be no more than ${r[0]}.`},mime({name:e,args:t}){return t[0]?`${I(e)} must be of the type: ${t[0]}`:"No file formats allowed."},min({name:e,node:{value:t},args:r}){return Array.isArray(t)?`Cannot have fewer than ${r[0]} ${e}.`:`${I(e)} must be at least ${r[0]}.`},not({name:e,node:{value:t}}){return`“${t}” is not an allowed ${e}.`},number({name:e}){return`${I(e)} must be a number.`},require_one:({name:e,node:t,args:r})=>{const n=r.map(s=>{const i=t.at(s);return i?ir(i):!1}).filter(s=>!!s);return n.unshift(e),`${n.join(" or ")} is required.`},required({name:e}){return`${I(e)} is required.`},starts_with({name:e,args:t}){return`${I(e)} doesn’t start with ${fr(t)}.`},url(){return"Please enter a valid URL."},invalidDate:"The selected date is invalid."},ra={ui:ea,validation:ta},cr=new Set;function na(e){return function(r){cr.add(r),r.on("destroying",()=>cr.delete(r));let n=pr(r.config.locale,e),s=n?e[n]:{};r.on("prop:locale",({payload:i})=>{n=pr(i,e),s=n?e[n]:{},r.store.touch()}),r.on("prop:label",()=>r.store.touch()),r.on("prop:validationLabel",()=>r.store.touch()),r.hook.text((i,a)=>{var l,y;const o=((l=i.meta)==null?void 0:l.messageKey)||i.key;if(P(s,i.type)&&P(s[i.type],o)){const g=s[i.type][o];typeof g=="function"?i.value=Array.isArray((y=i.meta)==null?void 0:y.i18nArgs)?g(...i.meta.i18nArgs):g(i):i.value=g}return a(i)})}}function pr(e,t){if(P(t,e))return e;const[r]=e.split("-");if(P(t,r))return r;for(const n in t)return n;return!1}function sa(...e){const t=e.reduce((n,s)=>ie(n,s),{}),r=()=>{};return r.library=function(n){const s=ye(n.props.type);P(t,s)&&n.define(t[s])},r}var ia=["classes","config","delay","errors","id","index","inputErrors","library","modelValue","onUpdate:modelValue","name","number","parent","plugins","sectionsSchema","type","validation","validationLabel","validationMessages","validationRules","onInput","onInputRaw","onUpdate:modelValue","onNode","onSubmit","onSubmitInvalid","onSubmitRaw"];function Le(e){return e&&typeof e=="object"&&"group"in e&&Array.isArray(e.options)}function mr(e,t={count:1}){return Array.isArray(e)?e.map(r=>{if(typeof r=="string"||typeof r=="number")return{label:String(r),value:String(r)};if(typeof r=="object"){if("group"in r)return r.options=mr(r.options||[],t),r;"value"in r&&typeof r.value!="string"&&Object.assign(r,{value:`__mask_${t.count++}`,__original:r.value})}return r}):Object.keys(e).map(r=>({label:e[r],value:r}))}function ue(e,t,r=!1){if(Array.isArray(e)){for(const n of e)if(!(typeof n!="object"&&n)){if(Le(n)){const s=ue(n.options,t,!0);if(s!==void 0)return s}else if(t==n.value)return"__original"in n?n.__original:n.value}}return r?void 0:t}function $e(e,t){return e===null&&t===void 0||e===void 0&&t===null?!1:e==t?!0:de(e)&&de(t)?q(e,t):!1}function gt(e){e.hook.prop((t,r)=>{var n;return t.prop==="options"&&(typeof t.value=="function"?(e.props.optionsLoader=t.value,t.value=[]):((n=e.props)._normalizeCounter??(n._normalizeCounter={count:1}),t.value=mr(t.value,e.props._normalizeCounter))),r(t)})}function A(e,t,r=!1){return(...n)=>{const s=i=>{const a=!t||typeof t=="string"?{$el:t}:t();return(ft(a)||ct(a))&&(a.meta?a.meta.section=e:a.meta={section:e},n.length&&!a.children&&(a.children=[...n.map(o=>typeof o=="function"?o(i):o)]),ft(a)&&(a.attrs={class:`$classes.${e}`,...a.attrs||{}})),{if:`$slots.${e}`,then:`$slots.${e}`,else:e in i?Oe(a,i[e]):a}};return s._s=e,r?aa(s):s}}function aa(e){return t=>[e(t)]}function Ke(e){return!!(e&&typeof e=="object"&&("$el"in e||"$cmp"in e||"$formkit"in e))}function Oe(e,t={}){return typeof e=="string"?Ke(t)||typeof t=="string"?t:e:Array.isArray(e)?Ke(t)?t:e:ie(e,t)}var oa=A("actions",()=>({$el:"div",if:"$actions"})),ze=A("input",()=>({$el:"input",bind:"$attrs",attrs:{type:"$type",name:"$node.props.altName || $node.name",disabled:"$option.attrs.disabled || $disabled",onInput:"$handlers.toggleChecked",checked:"$fns.eq($_value, $onValue)",onBlur:"$handlers.blur",value:"$: true",id:"$id","aria-describedby":{if:"$options.length",then:{if:"$option.help",then:'$: "help-" + $option.attrs.id',else:void 0},else:{if:"$help",then:'$: "help-" + $id',else:void 0}}}})),dr=A("optionHelp",()=>({$el:"div",if:"$option.help",attrs:{id:'$: "help-" + $option.attrs.id'}})),We=A("inner","span"),Ue=A("label","span"),hr=A("option",()=>({$el:"li",for:["option","$options"],attrs:{"data-disabled":"$option.attrs.disabled || $disabled || undefined"}})),yr=A("options","ul"),Be=A("wrapper",()=>({$el:"label",attrs:{"data-disabled":{if:"$options.length",then:void 0,else:"$disabled || undefined"},"data-checked":{if:"$options == undefined",then:"$fns.eq($_value, $onValue) || undefined",else:"$fns.isChecked($option.value) || undefined"}}})),la=A("input",()=>({$el:"button",bind:"$attrs",attrs:{type:"$type",disabled:"$disabled",name:"$node.name",id:"$id"}})),ua=A("default",null),He=A("decorator",()=>({$el:"span",attrs:{"aria-hidden":"true"}})),gr=A("fieldset",()=>({$el:"fieldset",attrs:{id:"$id","aria-describedby":{if:"$help",then:'$: "help-" + $id',else:void 0}}})),fa=A("input",()=>({$el:"input",bind:"$attrs",attrs:{type:"file",disabled:"$disabled",name:"$node.name",onChange:"$handlers.files",onBlur:"$handlers.blur",id:"$id","aria-describedby":"$describedBy","aria-required":"$state.required || undefined"}})),ca=A("fileItem",()=>({$el:"li",for:["file","$value"]})),pa=A("fileList",()=>({$el:"ul",if:"$value.length",attrs:{"data-has-multiple":"$_hasMultipleFiles"}})),ma=A("fileName",()=>({$el:"span",attrs:{class:"$classes.fileName"}})),br=A("fileRemove",()=>({$el:"button",attrs:{type:"button",onClick:"$handlers.resetFiles"}})),da=A("form",()=>({$el:"form",bind:"$attrs",meta:{autoAnimate:!0},attrs:{id:"$id",name:"$node.name",onSubmit:"$handlers.submit","data-loading":"$state.loading || undefined"}})),bt=A("wrapper",null,!0),Q=A("help",()=>({$el:"div",if:"$help",attrs:{id:'$: "help-" + $id'}})),D=(e,t)=>A(`${e}Icon`,()=>{const r=`_raw${e.charAt(0).toUpperCase()}${e.slice(1)}Icon`;return{if:`$${e}Icon && $${r}`,$el:`${t||"span"}`,attrs:{class:`$classes.${e}Icon + " " + $classes.icon`,innerHTML:`$${r}`,onClick:`$handlers.iconClick(${e})`,role:`$fns.iconRole(${e})`,tabindex:`$fns.iconRole(${e}) === "button" && "0" || undefined`,for:{if:`${t==="label"}`,then:"$id"}}}})(),Ze=A("inner","div"),Ye=A("label",()=>({$el:"label",if:"$label",attrs:{for:"$id"}})),vr=A("legend",()=>({$el:"legend",if:"$label"})),ae=A("message",()=>({$el:"li",for:["message","$messages"],attrs:{key:"$message.key",id:"$id + '-' + $message.key","data-message-type":"$message.type"}})),oe=A("messages",()=>({$el:"ul",if:"$defaultMessagePlacement && $fns.length($messages)"})),ha=A("noFiles",()=>({$el:"span",if:"$value.length == 0"})),ya=A("optGroup",()=>({$el:"optgroup",bind:"$option.attrs",attrs:{label:"$option.group"}})),$r=A("option",()=>({$el:"option",bind:"$option.attrs",attrs:{class:"$classes.option",value:"$option.value",selected:"$fns.isSelected($option)"}})),_r=A("options",()=>({$el:null,if:"$options.length",for:["option","$option.options || $options"]})),fe=A("outer",()=>({$el:"div",meta:{autoAnimate:!0},attrs:{key:"$id","data-family":"$family || undefined","data-type":"$type","data-multiple":'$attrs.multiple || ($type != "select" && $options != undefined) || undefined',"data-has-multiple":"$_hasMultipleFiles","data-disabled":'$: ($disabled !== "false" && $disabled) || undefined',"data-empty":"$state.empty || undefined","data-complete":"$state.complete || undefined","data-invalid":"$state.invalid || undefined","data-errors":"$state.errors || undefined","data-submitted":"$state.submitted || undefined","data-prefix-icon":"$_rawPrefixIcon !== undefined || undefined","data-suffix-icon":"$_rawSuffixIcon !== undefined || undefined","data-prefix-icon-click":"$onPrefixIconClick !== undefined || undefined","data-suffix-icon-click":"$onSuffixIconClick !== undefined || undefined"}})),X=A("prefix",null),ga=A("input",()=>({$el:"select",bind:"$attrs",attrs:{id:"$id","data-placeholder":"$fns.showPlaceholder($_value, $placeholder)",disabled:"$disabled",class:"$classes.input",name:"$node.name",onChange:"$handlers.onChange",onInput:"$handlers.selectInput",onBlur:"$handlers.blur","aria-describedby":"$describedBy","aria-required":"$state.required || undefined"}})),ba=A("submit",()=>({$cmp:"FormKit",bind:"$submitAttrs",props:{type:"submit",label:"$submitLabel"}})),ee=A("suffix",null),wr=A("input",()=>({$el:"input",bind:"$attrs",attrs:{type:"$type",disabled:"$disabled",name:"$node.name",onInput:"$handlers.DOMInput",onBlur:"$handlers.blur",value:"$_value",id:"$id","aria-describedby":"$describedBy","aria-required":"$state.required || undefined"}})),va=A("input",()=>({$el:"textarea",bind:"$attrs",attrs:{disabled:"$disabled",name:"$node.name",onInput:"$handlers.DOMInput",onBlur:"$handlers.blur",value:"$_value",id:"$id","aria-describedby":"$describedBy","aria-required":"$state.required || undefined"},children:"$initialValue"})),xe=A("wrapper","div"),$a=0;function kr(e){(e.type==="group"||e.type==="list")&&e.plugins.add(_a)}function _a(e){e.props.type==="radio"&&(e.addProps(["altName"]),e.props.altName=`${e.name}_${$a++}`)}function Cr(e){return function(t,r){return t.prop==="options"&&Array.isArray(t.value)&&(t.value=t.value.map(n=>{var s;return(s=n.attrs)!=null&&s.id?n:ie(n,{attrs:{id:`${e.props.id}-option-${Xe(String(n.value))}`}})}),e.props.type==="checkbox"&&!Array.isArray(e.value)&&(e.isCreated?e.input([],!1):e.on("created",()=>{Array.isArray(e.value)||e.input([],!1)}))),r(t)}}function wa(e,t){const r=t.target;if(r instanceof HTMLInputElement){const n=Array.isArray(e.props.options)?ue(e.props.options,r.value):r.value;Array.isArray(e.props.options)&&e.props.options.length?Array.isArray(e._value)?e._value.some(s=>$e(n,s))?e.input(e._value.filter(s=>!$e(n,s))):e.input([...e._value,n]):e.input([n]):r.checked?e.input(e.props.onValue):e.input(e.props.offValue)}}function ka(e,t){var r,n;return(r=e.context)==null||r.value,(n=e.context)==null||n._value,Array.isArray(e._value)?e._value.some(s=>$e(ue(e.props.options,t),s)):!1}function Ca(e){e.on("created",()=>{var t,r;(t=e.context)!=null&&t.handlers&&(e.context.handlers.toggleChecked=wa.bind(null,e)),(r=e.context)!=null&&r.fns&&(e.context.fns.isChecked=ka.bind(null,e)),P(e.props,"onValue")||(e.props.onValue=!0),P(e.props,"offValue")||(e.props.offValue=!1)}),e.hook.prop(Cr(e))}function _e(e,t){return r=>{r.props[`${e}Icon`]===void 0&&(r.props[`${e}Icon`]=t.startsWith("<svg")?t:`default:${t}`)}}function vt(e){e.on("created",()=>{"disabled"in e.props&&(e.props.disabled=H(e.props.disabled),e.config.disabled=H(e.props.disabled))}),e.hook.prop(({prop:t,value:r},n)=>(r=t==="disabled"?H(r):r,n({prop:t,value:r}))),e.on("prop:disabled",({payload:t})=>{e.config.disabled=H(t)})}function Ge(e,t){return r=>{r.store.set(W({key:e,type:"ui",value:t||e,meta:{localize:!0,i18nArgs:[r]}}))}}var $t=typeof window<"u";function Sr(e){e.target instanceof HTMLElement&&e.target.hasAttribute("data-file-hover")&&e.target.removeAttribute("data-file-hover")}function Ar(e,t){t.target instanceof HTMLInputElement?e==="dragover"&&t.target.setAttribute("data-file-hover","true"):t.preventDefault(),e==="drop"&&Sr(t)}function Sa(e){Ge("noFiles","Select file")(e),Ge("removeAll","Remove all")(e),Ge("remove")(e),e.addProps(["_hasMultipleFiles"]),$t&&(window._FormKit_File_Drop||(window.addEventListener("dragover",Ar.bind(null,"dragover")),window.addEventListener("drop",Ar.bind(null,"drop")),window.addEventListener("dragleave",Sr),window._FormKit_File_Drop=!0)),e.hook.input((t,r)=>r(Array.isArray(t)?t:[])),e.on("input",({payload:t})=>{e.props._hasMultipleFiles=Array.isArray(t)&&t.length>1?!0:void 0}),e.on("reset",()=>{if(e.props.id&&$t){const t=document.getElementById(e.props.id);t&&(t.value="")}}),e.on("created",()=>{Array.isArray(e.value)||e.input([],!1),e.context&&(e.context.handlers.resetFiles=t=>{if(t.preventDefault(),e.input([]),e.props.id&&$t){const r=document.getElementById(e.props.id);r&&(r.value=""),r==null||r.focus()}},e.context.handlers.files=t=>{var n,s;const r=[];if(t.target instanceof HTMLInputElement&&t.target.files){for(let i=0;i<t.target.files.length;i++){let a;(a=t.target.files.item(i))&&r.push({name:a.name,file:a})}e.input(r)}e.context&&(e.context.files=r),typeof((n=e.props.attrs)==null?void 0:n.onChange)=="function"&&((s=e.props.attrs)==null||s.onChange(t))})})}var Er=W({key:"loading",value:!0,visible:!1});async function Aa(e,t){const r=Math.random();if(e.props._submitNonce=r,t.preventDefault(),await e.settled,e.ledger.value("validating")&&(e.store.set(Er),await e.ledger.settled("validating"),e.store.remove("loading"),e.props._submitNonce!==r))return;const n=s=>s.store.set(W({key:"submitted",value:!0,visible:!1}));if(e.walk(n),n(e),e.emit("submit-raw"),typeof e.props.onSubmitRaw=="function"&&e.props.onSubmitRaw(t,e),e.ledger.value("blocking"))typeof e.props.onSubmitInvalid=="function"&&e.props.onSubmitInvalid(e),e.props.incompleteMessage!==!1&&Pr(e);else if(typeof e.props.onSubmit=="function"){const s=e.props.onSubmit(e.hook.submit.dispatch(ge(e.value)),e);if(s instanceof Promise){const i=e.props.disabled===void 0&&e.props.submitBehavior!=="live";i&&(e.props.disabled=!0),e.store.set(Er),await s,i&&(e.props.disabled=!1),e.store.remove("loading")}}else t.target instanceof HTMLFormElement&&t.target.submit()}function Pr(e){e.store.set(W({blocking:!1,key:"incomplete",meta:{localize:e.props.incompleteMessage===void 0,i18nArgs:[{node:e}],showAsMessage:!0},type:"ui",value:e.props.incompleteMessage||"Form incomplete."}))}function Ea(e){var t;e.props.isForm=!0,e.ledger.count("validating",r=>r.key==="validating"),(t=e.props).submitAttrs??(t.submitAttrs={disabled:e.props.disabled}),e.on("prop:disabled",({payload:r})=>{e.props.submitAttrs={...e.props.submitAttrs,disabled:r}}),e.on("created",()=>{var r;(r=e.context)!=null&&r.handlers&&(e.context.handlers.submit=Aa.bind(null,e)),P(e.props,"actions")||(e.props.actions=!0)}),e.on("prop:incompleteMessage",()=>{e.store.incomplete&&Pr(e)}),e.on("settled:blocking",()=>e.store.remove("incomplete"))}function Pa(e){e.props.ignore===void 0&&(e.props.ignore=!0,e.parent=null)}function Oa(e){e.on("created",()=>{e.context&&(e.context.initialValue=e.value||"")})}function Or(e){if(typeof e.props.number>"u")return;const t=["number","range","hidden"].includes(e.props.type);e.hook.input((r,n)=>{if(r==="")return n(void 0);const s=e.props.number==="integer"?parseInt(r):parseFloat(r);return Number.isFinite(s)?n(s):n(t?void 0:r)})}function xa(e,t){t.target instanceof HTMLInputElement&&e.input(ue(e.props.options,t.target.value))}function Ia(e,t){var r,n;return(r=e.context)==null||r.value,(n=e.context)==null||n._value,$e(ue(e.props.options,t),e._value)}function Ma(e){e.on("created",()=>{var t,r;Array.isArray(e.props.options)||le(350,{node:e,inputType:"radio"}),(t=e.context)!=null&&t.handlers&&(e.context.handlers.toggleChecked=xa.bind(null,e)),(r=e.context)!=null&&r.fns&&(e.context.fns.isChecked=Ia.bind(null,e))}),e.hook.prop(Cr(e))}function Ra(e,t){if(Le(t))return!1;e.context&&e.context.value;const r="__original"in t?t.__original:t.value;return Array.isArray(e._value)?e._value.some(n=>$e(n,r)):(e._value===void 0||e._value===null&&!xr(e.props.options,null))&&t.attrs&&t.attrs["data-is-placeholder"]?!0:$e(r,e._value)}function xr(e,t){return e.some(r=>Le(r)?xr(r.options,t):("__original"in r?r.__original:r.value)===t)}async function Fa(e,t){var r;typeof((r=e.props.attrs)==null?void 0:r.onChange)=="function"&&(await new Promise(n=>setTimeout(n,0)),await e.settled,e.props.attrs.onChange(t))}function Va(e,t){const r=t.target,n=r.hasAttribute("multiple")?Array.from(r.selectedOptions).map(s=>ue(e.props.options,s.value)):ue(e.props.options,r.value);e.input(n)}function Ir(e,t){return e.some(r=>r.attrs&&r.attrs["data-is-placeholder"])?e:[{label:t,value:"",attrs:{hidden:!0,disabled:!0,"data-is-placeholder":"true"}},...e]}function Mr(e){const t=e.length>0?e[0]:void 0;if(t)return Le(t)?Mr(t.options):"__original"in t?t.__original:t.value}function ja(e){e.on("created",()=>{var r,n,s;const t=H((r=e.props.attrs)==null?void 0:r.multiple);!t&&e.props.placeholder&&Array.isArray(e.props.options)&&(e.hook.prop(({prop:i,value:a},o)=>(i==="options"&&(a=Ir(a,e.props.placeholder)),o({prop:i,value:a}))),e.props.options=Ir(e.props.options,e.props.placeholder)),t?e.value===void 0&&e.input([],!1):e.context&&!e.context.options&&(e.props.attrs=Object.assign({},e.props.attrs,{value:e._value}),e.on("input",({payload:i})=>{e.props.attrs=Object.assign({},e.props.attrs,{value:i})})),(n=e.context)!=null&&n.handlers&&(e.context.handlers.selectInput=Va.bind(null,e),e.context.handlers.onChange=Fa.bind(null,e)),(s=e.context)!=null&&s.fns&&(e.context.fns.isSelected=Ra.bind(null,e),e.context.fns.showPlaceholder=(i,a)=>{if(!Array.isArray(e.props.options))return!1;const o=e.props.options.some(l=>{if(l.attrs&&"data-is-placeholder"in l.attrs)return!1;const y="__original"in l?l.__original:l.value;return q(i,y)});return a&&!o?!0:void 0})}),e.hook.input((t,r)=>{var n,s,i;return!e.props.placeholder&&t===void 0&&Array.isArray((n=e.props)==null?void 0:n.options)&&e.props.options.length&&!H((i=(s=e.props)==null?void 0:s.attrs)==null?void 0:i.multiple)&&(t=Mr(e.props.options)),r(t)})}function _t(e){return!!(ve(e)&&e.if&&e.if.startsWith("$slots.")&&typeof e.then=="string"&&e.then.startsWith("$slots.")&&"else"in e)}function te(e,t,r){const n=s=>{const i=t(s);if(r||Ke(i)&&"if"in i||_t(i)){const a={if:e,then:i};return r&&(a.else=r(s)),a}else _t(i)?Object.assign(i.else,{if:e}):Ke(i)&&Object.assign(i,{if:e});return i};return n._s=me(),n}function we(e,t){const r=n=>{const s=e({});return _t(s)?(Array.isArray(s.else)||(s.else=Oe(Oe(s.else,t),e._s?n[e._s]:{})),s):Oe(Oe(s,t),e._s?n[e._s]:{})};return r._s=e._s,r}var Rr={schema:fe(oe(ae("$message.value")),xe(la(D("prefix"),X(),ua("$label || $ui.submit.value"),ee(),D("suffix"))),Q("$help")),type:"input",family:"button",props:[],features:[Ge("submit"),Pa],schemaMemoKey:"h6st4epl3j8"},Na={schema:fe(te("$options == undefined",Be(We(X(),ze(),He(D("decorator")),ee()),we(Ue("$label"),{if:"$label"})),gr(vr("$label"),Q("$help"),yr(hr(Be(We(X(),we(ze(),{bind:"$option.attrs",attrs:{id:"$option.attrs.id",value:"$option.value",checked:"$fns.isChecked($option.value)"}}),He(D("decorator")),ee()),we(Ue("$option.label"),{if:"$option.label"})),dr("$option.help"))))),te("$options == undefined && $help",Q("$help")),oe(ae("$message.value"))),type:"input",family:"box",props:["options","onValue","offValue","optionsLoader"],features:[gt,Ca,_e("decorator","checkboxDecorator")],schemaMemoKey:"qje02tb3gu8"},Ta={schema:fe(xe(Ye("$label"),Ze(D("prefix","label"),X(),fa(),pa(ca(D("fileItem"),ma("$file.name"),te("$value.length === 1",br(D("fileRemove"),'$ui.remove.value + " " + $file.name')))),te("$value.length > 1",br("$ui.removeAll.value")),ha(D("noFiles"),"$ui.noFiles.value"),ee(),D("suffix"))),Q("$help"),oe(ae("$message.value"))),type:"input",family:"text",props:[],features:[Sa,_e("fileItem","fileItem"),_e("fileRemove","fileRemove"),_e("noFiles","noFiles")],schemaMemoKey:"9kqc4852fv8"},Da={schema:da("$slots.default",oe(ae("$message.value")),oa(ba())),type:"group",props:["actions","submit","submitLabel","submitAttrs","submitBehavior","incompleteMessage"],features:[Ea,vt],schemaMemoKey:"5bg016redjo"},qa={schema:bt("$slots.default"),type:"group",props:[],features:[vt,kr]},La={schema:wr(),type:"input",props:[],features:[Or]},Ka={schema:bt("$slots.default"),type:"list",props:["sync","dynamic"],features:[vt,kr]},za={schema:bt(),type:"input",props:[],features:[]},Wa={schema:fe(te("$options == undefined",Be(We(X(),ze(),He(D("decorator")),ee()),we(Ue("$label"),{if:"$label"})),gr(vr("$label"),Q("$help"),yr(hr(Be(We(X(),we(ze(),{bind:"$option.attrs",attrs:{id:"$option.attrs.id",value:"$option.value",checked:"$fns.isChecked($option.value)"}}),He(D("decorator")),ee()),we(Ue("$option.label"),{if:"$option.label"})),dr("$option.help"))))),te("$options == undefined && $help",Q("$help")),oe(ae("$message.value"))),type:"input",family:"box",props:["options","onValue","offValue","optionsLoader"],features:[gt,Ma,_e("decorator","radioDecorator")],schemaMemoKey:"qje02tb3gu8"},Ua={schema:fe(xe(Ye("$label"),Ze(D("prefix"),X(),ga(te("$slots.default",()=>"$slots.default",_r(te("$option.group",ya(_r($r("$option.label"))),$r("$option.label"))))),te("$attrs.multiple !== undefined",()=>"",D("select")),ee(),D("suffix"))),Q("$help"),oe(ae("$message.value"))),type:"input",props:["options","placeholder","optionsLoader"],features:[gt,ja,_e("select","select")],schemaMemoKey:"cb119h43krg"},Ba={schema:fe(xe(Ye("$label"),Ze(D("prefix","label"),X(),va(),ee(),D("suffix"))),Q("$help"),oe(ae("$message.value"))),type:"input",props:[],features:[Oa],schemaMemoKey:"b1n0td79m9g"},K={schema:fe(xe(Ye("$label"),Ze(D("prefix","label"),X(),wr(),ee(),D("suffix"))),Q("$help"),oe(ae("$message.value"))),type:"input",family:"text",props:[],features:[Or],schemaMemoKey:"c3cc4kflsg"},Ha={button:Rr,submit:Rr,checkbox:Na,file:Ta,form:Da,group:qa,hidden:La,list:Ka,meta:za,radio:Wa,select:Ua,textarea:Ba,text:K,color:K,date:K,datetimeLocal:K,email:K,month:K,number:K,password:K,search:K,tel:K,time:K,url:K,week:K,range:K},Y=void 0,G=null,Je,Fr=!1,Ie=!1,Za=new Promise(e=>{Je=()=>{Fr=!0,e()}}),re=typeof window<"u"&&typeof fetch<"u";Y=re?getComputedStyle(document.documentElement):void 0;var ke={},wt={};function Ya(e,t,r,n){t&&Object.assign(ke,t),re&&!Ie&&(Y!=null&&Y.getPropertyValue("--formkit-theme"))?(Je(),Ie=!0):e&&!Ie&&re?Ga(e):!Ie&&re&&Je();const s=function(a){var o,l;a.addProps(["iconLoader","iconLoaderUrl"]),a.props.iconHandler=Vr((o=a.props)!=null&&o.iconLoader?a.props.iconLoader:n,(l=a.props)!=null&&l.iconLoaderUrl?a.props.iconLoaderUrl:r),Xa(a,a.props.iconHandler),a.on("created",()=>{var y,g;(y=a==null?void 0:a.context)!=null&&y.handlers&&(a.context.handlers.iconClick=b=>{const O=`on${b.charAt(0).toUpperCase()}${b.slice(1)}IconClick`,v=a.props[O];if(v&&typeof v=="function")return $=>v(a,$)}),(g=a==null?void 0:a.context)!=null&&g.fns&&(a.context.fns.iconRole=b=>{const O=`on${b.charAt(0).toUpperCase()}${b.slice(1)}IconClick`;return typeof a.props[O]=="function"?"button":null})})};return s.iconHandler=Vr(n,r),s}function Ga(e){if(!(!e||!re||typeof getComputedStyle!="function")&&(Ie=!0,G=document.getElementById("formkit-theme"),e&&re&&(!(Y!=null&&Y.getPropertyValue("--formkit-theme"))&&!G||G!=null&&G.getAttribute("data-theme")&&(G==null?void 0:G.getAttribute("data-theme"))!==e))){const r=`https://cdn.jsdelivr.net/npm/@formkit/themes@${Te.startsWith("__")?"latest":Te}/dist/${e}/theme.css`,n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.id="formkit-theme",n.setAttribute("data-theme",e),n.onload=()=>{Y=getComputedStyle(document.documentElement),Je()},document.head.appendChild(n),n.href=r,G&&G.remove()}}function Vr(e,t){return r=>{if(typeof r!="string")return;if(r.startsWith("<svg"))return r;const n=r.startsWith("default:");r=n?r.split(":")[1]:r;const s=r in ke;let i;if(s)return ke[r];if(!wt[r]){if(i=Ja(r),i=re&&typeof i>"u"?Promise.resolve(i):i,i instanceof Promise)wt[r]=i.then(a=>!a&&typeof r=="string"&&!n?i=typeof e=="function"?e(r):Qa(r,t):a).then(a=>(typeof r=="string"&&(ke[n?`default:${r}`:r]=a),a));else if(typeof i=="string")return ke[n?`default:${r}`:r]=i,i}return wt[r]}}function Ja(e){if(re)return Fr?jr(e):Za.then(()=>jr(e))}function jr(e){const t=Y==null?void 0:Y.getPropertyValue(`--fk-icon-${e}`);if(t){const r=atob(t);if(r.startsWith("<svg"))return ke[e]=r,r}}function Qa(e,t){const r=Te.startsWith("__")?"latest":Te,n=typeof t=="function"?t(e):`https://cdn.jsdelivr.net/npm/@formkit/icons@${r}/dist/icons/${e}.svg`;if(re)return fetch(`${n}`).then(async s=>{const i=await s.text();if(i.startsWith("<svg"))return i}).catch(s=>{console.error(s)})}function Xa(e,t){const r=/^[a-zA-Z-]+(?:-icon|Icon)$/;Object.keys(e.props).filter(s=>r.test(s)).forEach(s=>eo(e,t,s))}function eo(e,t,r){const n=e.props[r],s=t(n),i=`_raw${r.charAt(0).toUpperCase()}${r.slice(1)}`,a=`on${r.charAt(0).toUpperCase()}${r.slice(1)}Click`;if(e.addProps([i,a]),e.on(`prop:${r}`,to),s instanceof Promise)return s.then(o=>{e.props[i]=o});e.props[i]=s}function to(e){var a;const t=e.origin,r=e.payload,n=(a=t==null?void 0:t.props)==null?void 0:a.iconHandler,s=e.name.split(":")[1],i=`_raw${s.charAt(0).toUpperCase()}${s.slice(1)}`;if(n&&typeof n=="function"){const o=n(r);if(o instanceof Promise)return o.then(l=>{t.props[i]=l});t.props[i]=o}}var Nr={100:({data:e})=>`Only groups, lists, and forms can have children (${e.name}).`,101:({data:e})=>`You cannot directly modify the store (${e.name}). See: https://formkit.com/advanced/core#message-store`,102:({data:[e,t]})=>`You cannot directly assign node.${t} (${e.name})`,103:({data:[e]})=>`Schema expressions cannot start with an operator (${e})`,104:({data:[e,t]})=>`Schema expressions cannot end with an operator (${e} in "${t}")`,105:({data:e})=>`Invalid schema expression: ${e}`,106:({data:e})=>`Cannot submit because (${e}) is not in a form.`,107:({data:[e,t]})=>`Cannot set ${e.name} to non object value: ${t}`,108:({data:[e,t]})=>`Cannot set ${e.name} to non array value: ${t}`,300:({data:[e]})=>`Cannot set behavior prop to overscroll (on ${e.name} input) when options prop is a function.`,600:({data:e})=>`Unknown input type${typeof e.props.type=="string"?' "'+e.props.type+'"':""} ("${e.name}")`,601:({data:e})=>`Input definition${typeof e.props.type=="string"?' "'+e.props.type+'"':""} is missing a schema or component property (${e.name}).`},Tr={150:({data:e})=>`Schema function "${e}()" is not a valid function.`,151:({data:e})=>`No form element with id: ${e}`,152:({data:e})=>`No input element with id: ${e}`,350:({data:{node:e,inputType:t}})=>`Invalid options prop for ${e.name} input (${t}). See https://formkit.com/inputs/${t}`,650:'Schema "$get()" must use the id of an input to access.',651:({data:e})=>`Cannot setErrors() on "${e}" because no such id exists.`,652:({data:e})=>`Cannot clearErrors() on "${e}" because no such id exists.`,800:({data:e})=>`${e} is deprecated.`},ro=(e,t)=>{if(e.code in Nr){const r=Nr[e.code];e.message=typeof r=="function"?r(e):r}return t(e)},Dr=!1;function no(){Dr||(tt(ro),rt(so),Dr=!0)}var so=(e,t)=>{if(e.code in Tr){const r=Tr[e.code];e.message=typeof r=="function"?r(e):r}return t(e)},io=Object.defineProperty,ao=Object.getOwnPropertyNames,qr=(e,t)=>function(){return e&&(t=(0,e[ao(e)[0]])(e=0)),t},oo=(e,t)=>{for(var r in t)io(e,r,{get:t[r],enumerable:!0})},Lr,Kr,zr=qr({"packages/vue/src/bindings.ts"(){Lr=function(t){t.ledger.count("blocking",c=>c.blocking);const r=f.ref(!t.ledger.value("blocking"));t.ledger.count("errors",c=>c.type==="error");const n=f.ref(!!t.ledger.value("errors"));let s=!1;f.nextTick(()=>{s=!0});const i=f.reactive(t.store.reduce((c,C)=>(C.visible&&(c[C.key]=C),c),{})),a=f.ref(t.props.validationVisibility||(t.props.type==="checkbox"?"dirty":"blur"));t.on("prop:validationVisibility",({payload:c})=>{a.value=c});const o=f.ref(a.value==="live"),l=f.ref(!1),y=c=>{l.value=(c??[]).some(C=>C.name==="required")};y(t.props.parsedRules),t.on("prop:parsedRules",({payload:c})=>y(c));const g=f.ref(t.children.map(c=>c.uid)),b=f.computed(()=>{if(!m.state)return!1;if(m.state.submitted)return!0;if(!o.value&&!m.state.settled)return!1;switch(a.value){case"live":return!0;case"blur":return m.state.blurred;case"dirty":return m.state.dirty;default:return!1}}),O=f.computed(()=>m.state.failing&&b.value),v=f.computed(()=>m&&$.value?r.value&&!n.value:m.state.dirty&&!U(m.value)),$=f.ref(Array.isArray(t.props.parsedRules)&&t.props.parsedRules.length>0);t.on("prop:parsedRules",({payload:c})=>{$.value=Array.isArray(c)&&c.length>0});const p=f.computed(()=>{const c={};for(const C in i){const E=i[C];(E.type!=="validation"||b.value)&&(c[C]=E)}return c}),d=f.reactive(t.store.reduce((c,C)=>(C.type==="ui"&&C.visible&&(c[C.key]=C),c),{})),h=f.computed(()=>!m.state.failing),w=f.reactive({}),S=new Proxy(w,{get(...c){const[C,E]=c;let N=Reflect.get(...c);return!N&&typeof E=="string"&&!P(C,E)&&!E.startsWith("__v")&&De(t).watch(T=>{const ce=typeof T.config.rootClasses=="function"?T.config.rootClasses(E,T):{},J=T.config.classes?Ne(E,T,T.config.classes[E]):{},Se=Ne(E,T,T.props[`_${E}Class`]),pe=Ne(E,T,T.props[`${E}Class`]);N=Es(T,E,ce,J,Se,pe),C[E]=N??""}),N}});t.on("prop:rootClasses",()=>{const c=Object.keys(w);for(const C of c)delete w[C]});const _=f.computed(()=>{const c=[];m.help&&c.push(`help-${t.props.id}`);for(const C in p.value)c.push(`${t.props.id}-${C}`);return c.length?c.join(" "):void 0}),k=f.ref(t.value),u=f.ref(t.value),m=f.reactive({_value:u,attrs:t.props.attrs,disabled:t.props.disabled,describedBy:_,fns:{length:c=>Object.keys(c).length,number:c=>Number(c),string:c=>String(c),json:c=>JSON.stringify(c),eq:q},handlers:{blur:c=>{t&&(t.store.set(W({key:"blurred",visible:!1,value:!0})),typeof t.props.attrs.onBlur=="function"&&t.props.attrs.onBlur(c))},touch:()=>{var E;const c=m.dirtyBehavior==="compare";if((E=t.store.dirty)!=null&&E.value&&!c)return;const C=!q(t.props._init,t._value);!C&&!c||t.store.set(W({key:"dirty",visible:!1,value:C}))},DOMInput:c=>{t.input(c.target.value),t.emit("dom-input-event",c)}},help:t.props.help,id:t.props.id,items:g,label:t.props.label,messages:p,didMount:!1,node:f.markRaw(t),options:t.props.options,defaultMessagePlacement:!0,slots:t.props.__slots,state:{blurred:!1,complete:v,dirty:!1,empty:U(k),submitted:!1,settled:t.isSettled,valid:r,invalid:O,errors:n,rules:$,validationVisible:b,required:l,failing:!1,passing:h},type:t.props.type,family:t.props.family,ui:d,value:k,classes:S});t.on("created",()=>{q(m.value,t.value)||(u.value=t.value,k.value=t.value,f.triggerRef(k),f.triggerRef(u)),(async()=>(await t.settled,t&&(t.props._init=B(t.value))))()}),t.on("mounted",()=>{m.didMount=!0}),t.on("settled",({payload:c})=>{m.state.settled=c});function x(c){(Array.isArray(c)?c:Object.keys(c)).forEach(E=>{E=ye(E),P(m,E)||(m[E]=t.props[E]),t.on(`prop:${E}`,({payload:N})=>{m[E]=N})})}x((()=>{const c=["__root","help","label","disabled","options","type","attrs","preserve","preserveErrors","id","dirtyBehavior"],C=/^[a-zA-Z-]+(?:-icon|Icon)$/,E=Object.keys(t.props).filter(N=>C.test(N));return c.concat(E)})());function V(c){c.props&&x(c.props)}t.props.definition&&V(t.props.definition),t.on("added-props",({payload:c})=>x(c)),t.on("input",({payload:c})=>{t.type!=="input"&&!f.isRef(c)&&!f.isReactive(c)?u.value=Qe(c):(u.value=c,f.triggerRef(u))}),t.on("commitRaw",({payload:c})=>{t.type!=="input"&&!f.isRef(c)&&!f.isReactive(c)?k.value=u.value=Qe(c):(k.value=u.value=c,f.triggerRef(k)),t.emit("modelUpdated")}),t.on("commit",({payload:c})=>{var C;if((!m.state.dirty||m.dirtyBehavior==="compare")&&t.isCreated&&s)if(!((C=t.store.validating)!=null&&C.value))m.handlers.touch();else{const E=t.on("message-removed",({payload:N})=>{N.key==="validating"&&(m.handlers.touch(),t.off(E))})}v&&t.type==="input"&&n.value&&!H(t.props.preserveErrors)&&t.store.filter(E=>{var N;return!(E.type==="error"&&((N=E.meta)==null?void 0:N.autoClear)===!0)}),t.type==="list"&&t.sync&&(g.value=t.children.map(E=>E.uid)),m.state.empty=U(c)});const M=async c=>{c.type==="ui"&&c.visible&&!c.meta.showAsMessage?d[c.key]=c:c.visible?i[c.key]=c:c.type==="state"&&(m.state[c.key]=!!c.value)};t.on("message-added",c=>M(c.payload)),t.on("message-updated",c=>M(c.payload)),t.on("message-removed",({payload:c})=>{delete d[c.key],delete i[c.key],delete m.state[c.key]}),t.on("settled:blocking",()=>{r.value=!0}),t.on("unsettled:blocking",()=>{r.value=!1}),t.on("settled:errors",()=>{n.value=!1}),t.on("unsettled:errors",()=>{n.value=!0}),f.watch(b,c=>{c&&(o.value=!0)}),t.context=m,t.emit("context",t,!1),t.on("destroyed",()=>{t.context=void 0,t=null})},Kr=Lr}}),lo={};oo(lo,{defaultConfig:()=>kt});var kt,uo=qr({"packages/vue/src/defaultConfig.ts"(){zr(),kt=(e={})=>{no();const{rules:t={},locales:r={},inputs:n={},messages:s={},locale:i=void 0,theme:a=void 0,iconLoaderUrl:o=void 0,iconLoader:l=void 0,icons:y={},...g}=e,b=qi({...Di,...t||{}}),O=na(ie({en:ra,...r||{}},s)),v=sa(Ha,n),$=Ya(a,y,o,l);return ie({plugins:[v,$,Kr,O,b],...i?{config:{locale:i}}:{}},g||{},!0)}}}),fo=typeof window>"u",Ct=new Map;function co(e,t){var r;!fo||!e||(Ct.has(e)||Ct.set(e,new Set),(r=Ct.get(e))==null||r.add(t))}var Wr=typeof window>"u",Me={},Ce={},L,ne=new WeakMap,po="__raw__",mo=/[a-zA-Z0-9\-][cC]lass$/;function ho(e,t){const r=f.ref(null);if(e==="get"){const s={};return r.value=yo.bind(null,s),r}const n=e.split(".");return f.watchEffect(()=>{r.value=St(f.isRef(t)?t.value:t,n)}),r}function St(e,t){if(Array.isArray(e)){for(const s of e){const i=s!==!1&&St(s,t);if(i!==void 0)return i}return}let r,n=e;for(const s in t){const i=t[s];if(typeof n!="object"||n===null){r=void 0;break}const a=n[i];if(Number(s)===t.length-1&&a!==void 0){r=typeof a=="function"?a.bind(n):a;break}n=a}return r}function yo(e,t){if(typeof t!="string")return le(650);if(t in e||(e[t]=f.ref(void 0)),e[t].value===void 0){e[t].value=null;const r=Ee(t);r&&(e[t].value=r.context),Mn(t,({payload:n})=>{e[t].value=Pe(n)?n.context:n})}return e[t].value}function Ur(e,t,r){function n(v,$){const p=b(Z($.if),{if:!0}),d=y(v,$.then),h=$.else?y(v,$.else):null;return[p,d,h]}function s(v,$){var w,S;const p=b(Z(v.if));let d=()=>$,h=()=>$;return typeof v.then=="object"?h=i(v.then,void 0):typeof v.then=="string"&&((w=v.then)!=null&&w.startsWith("$"))?h=b(Z(v.then)):h=()=>v.then,P(v,"else")&&(typeof v.else=="object"?d=i(v.else):typeof v.else=="string"&&((S=v.else)!=null&&S.startsWith("$"))?d=b(Z(v.else)):d=()=>v.else),()=>p()?h():d()}function i(v,$,p={}){const d=new Set(Object.keys(v||{})),h=$?b(Z($)):()=>({}),w=[S=>{const _=h();for(const k in _)d.has(k)||(S[k]=_[k])}];if(v){if(ve(v))return s(v,p);for(let S in v){const _=v[S];let k;const u=typeof _=="string";S.startsWith(po)?(S=S.substring(7),k=()=>_):u&&_.startsWith("$")&&_.length>1&&!(_.startsWith("$reset")&&mo.test(S))?k=b(Z(_)):typeof _=="object"&&ve(_)?k=s(_,void 0):typeof _=="object"&&de(_)?k=i(_):k=()=>_,w.push(m=>{m[S]=k()})}}return()=>{const S=Array.isArray(v)?[]:{};return w.forEach(_=>_(S)),S}}function a(v,$){let p=null,d=()=>null,h=!1,w=null,S=null,_=null,k=!1;const u=As($);if(ft(u)?(p=u.$el,d=u.$el!=="text"?i(u.attrs,u.bind):()=>null):ct(u)?(typeof u.$cmp=="string"?P(v,u.$cmp)?p=v[u.$cmp]:(p=u.$cmp,k=!0):p=u.$cmp,d=i(u.props,u.bind)):ve(u)&&([h,w,S]=n(v,u)),!ve(u)&&"if"in u?h=b(Z(u.if)):!ve(u)&&p===null&&(h=()=>!0),"children"in u&&u.children)if(typeof u.children=="string")if(u.children.startsWith("$slots."))p=p==="text"?"slot":p,w=b(Z(u.children));else if(u.children.startsWith("$")&&u.children.length>1){const m=b(Z(u.children));w=()=>String(m())}else w=()=>String(u.children);else if(Array.isArray(u.children))w=y(v,u.children);else{const[m,x,F]=n(v,u.children);w=V=>m&&m()?x&&x(V):F&&F(V)}if(ct(u))if(w){const m=w;w=x=>({default(F,V){var C,E,N,j;const M=L;V&&(L=V),F&&((C=ne.get(L))==null||C.unshift(F)),x&&((E=ne.get(L))==null||E.unshift(x));const c=m(x);return F&&((N=ne.get(L))==null||N.shift()),x&&((j=ne.get(L))==null||j.shift()),L=M,c}}),w.slot=!0}else w=()=>({});if("for"in u&&u.for){const m=u.for.length===3?u.for[2]:u.for[1];_=[typeof m=="string"&&m.startsWith("$")?b(Z(m)):()=>m,u.for[0],u.for.length===3?String(u.for[1]):null]}return[h,p,d,w,S,_,k]}function o(v,$){const p=v($),d=L;return Object.keys(p).reduce((h,w)=>{const S=p&&p[w];return h[w]=_=>S&&S(_,d)||null,h},{})}function l(v,$){const[p,d,h,w,S,_,k]=a(v,$);let u=m=>{if(p&&d===null&&w)return p()?w(m):S&&S(m);if(d&&(!p||p())){if(d==="text"&&w)return f.createTextVNode(String(w()));if(d==="slot"&&w)return w(m);const x=k?f.resolveComponent(d):d,F=w!=null&&w.slot?o(w,m):null;return f.h(x,h(),F||(w?w(m):[]))}return typeof S=="function"?S(m):S};if(_){const m=u,[x,F,V]=_;u=()=>{const M=x(),c=Number.isFinite(M)?Array(Number(M)).fill(0).map((j,T)=>T):M,C=[];if(typeof c!="object")return null;const E=ne.get(L)||[],N=Array.isArray(c);for(const j in c){if(N&&j in Array.prototype)continue;const T=Object.defineProperty({...E.reduce((ce,J)=>ce.__idata?{...ce,...J}:J,{}),[F]:c[j],...V!==null?{[V]:N?Number(j):j}:{}},"__idata",{enumerable:!1,value:!0});E.unshift(T),C.push(m.bind(null,T)()),E.shift()}return C}}return u}function y(v,$){if(Array.isArray($)){const d=$.map(l.bind(null,v));return h=>d.map(w=>w(h))}const p=l(v,$);return d=>p(d)}const g=[];function b(v,$={}){const p=new WeakMap;return g.push((d,h)=>{p.set(h,v.provide(w=>d(w,$)))}),()=>p.get(L)()}function O(v,$){r??(r=Yr(t));const[p,d]=P(Me,r)?Me[r]:[y(e,t),g];return Wr||(Ce[r]??(Ce[r]=0),Ce[r]++,Me[r]=[p,d]),d.forEach(h=>{h(v,$)}),()=>(L=$,p())}return O}function Br(e,t){const r=ne.get(L)||[];let n;return r.length&&(n=St(r,e.split("."))),n===void 0?t:n}function go(e,t){return new Proxy(e,{get(...r){let n;const s=r[1];if(typeof s=="string"){const i=L;L=t,n=Br(s,void 0),L=i}return n!==void 0?n:Reflect.get(...r)}})}function Hr(e,t,r){return e((n,s={})=>n.reduce((i,a)=>{if(a.startsWith("slots.")){const o=a.substring(6),l=()=>t.slots&&P(t.slots,o)&&typeof t.slots[o]=="function";if(s.if)i[a]=l;else if(t.slots){const y=go(t,r);i[a]=()=>l()?t.slots[o](y):null}}else{const o=ho(a,t);i[a]=()=>Br(a,o.value)}return i},{}),r)}function Zr(e,t,r){if(t??(t=Yr(e)),Ce[t]--,Ce[t]===0){delete Ce[t];const[,n]=Me[t];delete Me[t],n.length=0}ne.delete(r)}function Yr(e){return JSON.stringify(e,(t,r)=>typeof r=="function"?r.toString():r)}var Gr=f.defineComponent({name:"FormKitSchema",props:{schema:{type:[Array,Object],required:!0},data:{type:Object,default:()=>({})},library:{type:Object,default:()=>({})},memoKey:{type:String,required:!1}},emits:["mounted"],setup(e,t){var y;const r=f.getCurrentInstance();let n={};ne.set(n,[]);const s={FormKit:f.markRaw(At),...e.library};let i=Ur(s,e.schema,e.memoKey),a,o;Wr||f.watch(()=>e.schema,(g,b)=>{var v;const O=n;n={},ne.set(n,[]),i=Ur(s,e.schema,e.memoKey),a=Hr(i,o,n),g===b&&((v=r==null?void 0:r.proxy)==null?void 0:v.$forceUpdate).call(v),Zr(e.schema,e.memoKey,O)},{deep:!0}),f.watchEffect(()=>{o=Object.assign(f.reactive(e.data??{}),{slots:t.slots}),t.slots,a=Hr(i,o,n)});function l(){Zr(e.schema,e.memoKey,n),o.node&&o.node.destroy(),o.slots=null,o=null,a=null}return f.onMounted(()=>t.emit("mounted")),f.onUnmounted(l),co((y=f.getCurrentInstance())==null?void 0:y.appContext.app,l),()=>a?a():null}}),bo=Gr,vo=typeof window>"u",Jr=Symbol("FormKitParent"),$o=Symbol("FormKitComponentCallback");function _o(e,t){const r=Oo(e,t);if(r.props.definition||z(600,r),r.props.definition.component)return()=>{var y;return f.h((y=r.props.definition)==null?void 0:y.component,{context:r.context},{...t.slots})};const n=f.ref([]);let s=r.props.definition.schemaMemoKey;const i=()=>{var g,b;const y=(b=(g=r.props)==null?void 0:g.definition)==null?void 0:b.schema;y||z(601,r),typeof y=="function"?(n.value=y({...e.sectionsSchema||{}}),(s&&e.sectionsSchema||"memoKey"in y&&typeof y.memoKey=="string")&&(s=(s??(y==null?void 0:y.memoKey))+JSON.stringify(e.sectionsSchema))):n.value=y};i(),vo||r.on("schema",()=>{s+="♻️",i()}),t.emit("node",r);const a=r.props.definition.library,o={FormKit:f.markRaw(Qr),...a,...e.library??{}};function l(){r.emit("mounted")}return t.expose({node:r}),()=>f.h(Gr,{schema:n.value,data:r.context,onMounted:l,library:o,memoKey:s},{...t.slots})}var Qr=f.defineComponent(_o,{props:ia,inheritAttrs:!1}),At=Qr,wo=Symbol();function ko(e,t){return e.component(t.alias||"FormKit",At).component(t.schemaAlias||"FormKitSchema",bo),{get:Ee,setLocale:r=>{var n;(n=t.config)!=null&&n.rootConfig&&(t.config.rootConfig.locale=r)},clearErrors:Os,setErrors:Ps,submit:Dt,reset:qt}}var Xr=Symbol.for("FormKitOptions"),Co=Symbol.for("FormKitConfig"),So={install(e,t){const r=Object.assign({alias:"FormKit",schemaAlias:"FormKitSchema"},typeof t=="function"?t():t),n=Rn(r.config||{});r.config={rootConfig:n},e.config.globalProperties.$formkit=ko(e,r),e.provide(Xr,r),e.provide(Co,n),typeof window<"u"&&(globalThis.__FORMKIT_CONFIGS__=(globalThis.__FORMKIT_CONFIGS__||[]).concat([n]))}},Ao=typeof window<"u",Et=["ignore","disabled","preserve","help","label",/^preserve(-e|E)rrors/,/^[a-z]+(?:-visibility|Visibility|-behavior|Behavior)$/,/^[a-zA-Z-]+(?:-class|Class)$/,"prefixIcon","suffixIcon",/^[a-zA-Z-]+(?:-icon|Icon)$/],Eo=["disabled","ignore","preserve"];function en(e,t){t.classes&&Object.keys(t.classes).forEach(r=>{typeof r=="string"&&(e.props[`_${r}Class`]=t.classes[r],Ae(t.classes[r])&&r==="inner"&&Object.values(t.classes[r]))})}function Po(e){return e?["Submit","SubmitRaw","SubmitInvalid"].reduce((r,n)=>{const s=`on${n}`;return s in e&&typeof e[s]=="function"&&(r[s]=e[s]),r},{}):{}}function Oo(e,t,r={}){const n=Object.assign({},f.inject(Xr)||{},r),s=f.inject(wo,f.ref(Ao?document:void 0)),i=f.inject($o,()=>{}),a=f.getCurrentInstance(),o=Po(a==null?void 0:a.vnode.props),l=["modelValue","model-value"].some(u=>u in((a==null?void 0:a.vnode.props)??{}));let y=!1;f.onMounted(()=>{y=!0});const g=e.modelValue!==void 0?e.modelValue:B(t.attrs.value);function b(){const u={...he(e),...o,type:e.type??"text",__root:s.value,__slots:t.slots},m=Ot(he(t.attrs),Et);m.key||(m.key=me()),u.attrs=m;const x=xt(he(t.attrs),Et);for(const V in x)Eo.includes(V)&&x[V]===""&&(x[V]=!0),u[ye(V)]=x[V];const F={props:{}};return en(F,e),Object.assign(u,F.props),typeof u.type!="string"&&(u.definition=u.type,delete u.type),u}const O=b(),v=O.ignore?null:e.parent||f.inject(Jr,null),$=Cs(ie(n||{},{name:e.name||void 0,value:g,parent:v,plugins:(n.plugins||[]).concat(e.plugins??[]),config:e.config||{},props:O,index:e.index,sync:!!H(t.attrs.sync||t.attrs.dynamic)},!1,!0));i($),$.props.definition||z(600,$);const p=f.ref(new Set(Array.isArray($.props.__propDefs)?$.props.__propDefs:Object.keys($.props.__propDefs??{})));$.on("added-props",({payload:u})=>{(Array.isArray(u)?u:Object.keys(u??{})).forEach(x=>p.value.add(x))});const d=f.computed(()=>Et.concat([...p.value]).reduce((u,m)=>(typeof m=="string"?(u.push(ye(m)),u.push(It(m))):u.push(m),u),[]));f.watchEffect(()=>en($,e));const h=he(e);for(const u in h)f.watch(()=>e[u],()=>{e[u]!==void 0&&($.props[u]=e[u])});f.watchEffect(()=>{$.props.__root=s.value});const w=new Set,S=he(t.attrs);f.watchEffect(()=>{_(xt(S,d.value))});function _(u){w.forEach(m=>{m(),w.delete(m)});for(const m in u){const x=ye(m);w.add(f.watch(()=>t.attrs[m],()=>{$.props[x]=t.attrs[m]}))}}if(f.watchEffect(()=>{const u=Ot(he(t.attrs),d.value);"multiple"in u&&(u.multiple=H(u.multiple)),typeof u.onBlur=="function"&&(u.onBlur=pn(u.onBlur)),$.props.attrs=Object.assign({},$.props.attrs||{},u)}),f.watchEffect(()=>{const u=(e.errors??[]).map(m=>W({key:Xe(m),type:"error",value:m,meta:{source:"prop"}}));$.store.apply(u,m=>m.type==="error"&&m.meta.source==="prop")}),$.type!=="input"){const u=`${$.name}-prop`;f.watchEffect(()=>{const m=e.inputErrors??{},x=Object.keys(m);x.length||$.clearErrors(!0,u);const F=x.reduce((V,M)=>{let c=m[M];return typeof c=="string"&&(c=[c]),Array.isArray(c)&&(V[M]=c.map(C=>W({key:C,type:"error",value:C,meta:{source:u}}))),V},{});$.store.apply(F,V=>V.type==="error"&&V.meta.source===u)})}f.watchEffect(()=>Object.assign($.config,e.config)),$.type!=="input"&&f.provide(Jr,$);let k;return $.on("modelUpdated",()=>{var u,m;t.emit("inputRaw",(u=$.context)==null?void 0:u.value,$),y&&t.emit("input",(m=$.context)==null?void 0:m.value,$),l&&$.context&&(k=B($.value),t.emit("update:modelValue",Qe($.value)))}),l&&(f.watch(f.toRef(e,"modelValue"),u=>{q(k,u)||$.input(u,!1)},{deep:!0}),$.value!==g&&$.emit("modelUpdated")),f.onBeforeUnmount(()=>$.destroy()),$}var xo=A("messages",()=>({$el:"ul",if:"$fns.length($messages)"})),Io=A("message",()=>({$el:"li",for:["message","$messages"],attrs:{key:"$message.key",id:"$id + '-' + $message.key","data-message-type":"$message.type"}}));xo(Io("$message.value"));var Mo=A("summary",()=>({$el:"div",attrs:{"aria-live":"polite"}})),Ro=A("summaryInner",()=>({$el:"div",if:"$summaries.length && $showSummaries"})),Fo=A("messages",()=>({$el:"ul",if:"$summaries.length && $showSummaries"})),Vo=A("message",()=>({$el:"li",for:["summary","$summaries"],attrs:{key:"$summary.key","data-message-type":"$summary.type"}})),jo=A("summaryHeader",()=>({$el:"h2",attrs:{id:"$id"}})),No=A("messageLink",()=>({$el:"a",attrs:{id:"$summary.key",href:'$: "#" + $summary.id',onClick:"$jumpLink"}}));Mo(Ro(jo("$summaryHeader"),Fo(Vo(No("$summary.message"))))),uo(),zr();const To=(e,t)=>{const r=e.__vccOpts||e;for(const[n,s]of t)r[n]=s;return r},Do={name:"UIDynamicForm",inject:["$socket"],props:{id:{type:String,required:!0},props:{type:Object,default:()=>({})},state:{type:Object,default:()=>({enabled:!1,visible:!1})}},setup(e){console.info("UIDynamicForm setup with:",e),console.debug("Vue function loaded correctly",f.markRaw)},data(){return{actions:[],form:{},formData:{},msg:{},taskInput:{},error:!1,errorMsg:""}},created(){const e=kt({theme:"genesis"});window.app.use(So,e)},computed:{...tn.mapState("data",["messages"]),waiting_title(){return this.props.waiting_title||"Warten auf den Usertask..."},waiting_info(){return this.props.waiting_info||"Der Usertask wird automatisch angezeigt, wenn ein entsprechender Task vorhanden ist."}},mounted(){this.$socket.on("widget-load:"+this.id,e=>{this.init(),this.$store.commit("data/bind",{widgetId:this.id,msg:e})}),this.$socket.on("msg-input:"+this.id,e=>{this.init(),this.messages[this.id]=e;const t=e.payload&&e.payload.userTask,r=e.payload.userTask.userTaskConfig.formFields,n=e.payload.userTask.startToken;t&&(this.taskInput=e.payload.userTask),t&&r&&r.forEach(s=>{this.formData[s.id]=s.defaultValue}),t&&n&&Object.keys(n).forEach(s=>{this.formData[s]=n[s]}),this.$store.commit("data/bind",{widgetId:this.id,msg:e})}),this.$socket.emit("widget-load",this.id)},unmounted(){var e,t;(e=this.$socket)==null||e.off("widget-load"+this.id),(t=this.$socket)==null||t.off("msg-input:"+this.id)},components:{FormKit:At},methods:{createComponent(e){const t=e.customForm?JSON.parse(e.customForm).hint:void 0;switch(e.type){case"long":return{type:"FormKit",props:{type:"number",id:e.id,label:e.label,required:e.required,value:e.defaultValue,number:"integer",help:t,wrapperClass:"$remove:formkit-wrapper"}};case"number":return{type:"FormKit",props:{type:"number",id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t,wrapperClass:"$remove:formkit-wrapper"}};case"date":return{type:"FormKit",props:{type:"date",id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t,wrapperClass:"$remove:formkit-wrapper"}};case"enum":const r=e.enumValues.map(n=>({value:n.id,label:n.name}));return{type:"FormKit",props:{type:"select",id:e.id,label:e.label,required:e.required,value:e.defaultValue,options:r,help:t,wrapperClass:"$remove:formkit-wrapper"}};case"string":return{type:"FormKit",props:{type:"text",id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t,wrapperClass:"$remove:formkit-wrapper"}};case"boolean":return{type:"FormKit",props:{type:"checkbox",id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t}};case"file":return{type:"FormKit",props:{type:"file",id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t,innerClass:"reset-background",wrapperClass:"$remove:formkit-wrapper"}};default:return{type:"FormKit",props:{type:e.type,id:e.id,label:e.label,required:e.required,value:e.defaultValue,help:t}}}},checkFormState(e){const t=this.$formkit.get("field_01");console.info(t.context.state.valid)},hasUserTask(){return this.messages&&this.messages[this.id]&&this.messages[this.id].payload.userTask},userTask(){return this.hasUserTask()?this.messages[this.id].payload.userTask:{}},fields(){return(this.hasUserTask()?this.userTask().userTaskConfig.formFields:[]).map(r=>({...r,items:qo(r.type,r)}))},hasFields(){return this.messages&&this.messages[this.id]&&this.messages[this.id].payload.userTask!==void 0},send(e,t){const r=[];r[t]=e,this.$socket.emit("widget-action",this.id,r)},init(){this.actions=this.props.options},actionFn(e){if(this.checkFormState(),this.checkCondition(e.condition)){this.showError(!1,"");const t=this.messages[this.id]||{};t.payload={formData:this.formData,userTask:this.userTask()},this.send(t,this.actions.findIndex(r=>r.label===e.label))}else this.showError(!0,e.errorMessage)},checkCondition(e){if(e=="")return!0;try{return!!Function("fields","userTask","msg",'"use strict"; return ('+e+")")(this.formData,this.taskInput,this.msg)}catch(t){return console.error("Error while evaluating condition: "+t),!1}},showError(e,t){this.error=e,this.errorMsg=t}}};function qo(e,t){return e==="enum"?t.enumValues.map(r=>({title:r.name,value:r.id})):null}const Lo={className:"ui-dynamic-form-wrapper"},Ko={key:0},zo={key:1};function Wo(e,t,r,n,s,i){const a=f.resolveComponent("v-col"),o=f.resolveComponent("v-row"),l=f.resolveComponent("v-alert"),y=f.resolveComponent("v-btn"),g=f.resolveComponent("v-form");return f.openBlock(),f.createElementBlock("div",Lo,[i.hasFields()?(f.openBlock(),f.createElementBlock("p",Ko,[f.createVNode(g,{ref:"form",modelValue:s.form,"onUpdate:modelValue":t[0]||(t[0]=b=>s.form=b)},{default:f.withCtx(()=>[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(i.fields(),(b,O)=>(f.openBlock(),f.createBlock(o,{key:O},{default:f.withCtx(()=>[f.createVNode(a,{cols:"12"},{default:f.withCtx(()=>[(f.openBlock(),f.createBlock(f.resolveDynamicComponent(i.createComponent(b).type),f.mergeProps({ref_for:!0},i.createComponent(b).props),null,16))]),_:2},1024)]),_:2},1024))),128)),f.createVNode(o,{style:{padding:"12px"}},{default:f.withCtx(()=>[s.error?(f.openBlock(),f.createBlock(l,{key:0,type:"error"},{default:f.withCtx(()=>[f.createTextVNode("Error: "+f.toDisplayString(s.errorMsg),1)]),_:1})):f.createCommentVNode("",!0)]),_:1}),f.createVNode(o,{style:{display:"flex",gap:"8px",padding:"12px"}},{default:f.withCtx(()=>[(f.openBlock(!0),f.createElementBlock(f.Fragment,null,f.renderList(s.actions,(b,O)=>(f.openBlock(),f.createElementBlock("div",{key:O,style:{"flex-grow":"1"}},[(f.openBlock(),f.createBlock(y,{key:O,style:{width:"100%"},onClick:v=>i.actionFn(b)},{default:f.withCtx(()=>[f.createTextVNode(f.toDisplayString(b.label),1)]),_:2},1032,["onClick"]))]))),128))]),_:1})]),_:1},8,["modelValue"])])):(f.openBlock(),f.createElementBlock("p",zo,[f.createVNode(l,{text:i.waiting_info,title:i.waiting_title},null,8,["text","title"])]))])}const Uo=To(Do,[["render",Wo]]);se.UIDynamicForm=Uo,Object.defineProperty(se,Symbol.toStringTag,{value:"Module"})});
@@ -5,14 +5,7 @@
5
5
  <v-form ref="form" v-model="form">
6
6
  <v-row v-for="(field, index) in fields()" :key="index">
7
7
  <v-col cols="12">
8
- <component
9
- :is="field.component"
10
- :id="field.id"
11
- v-model="formData[field.id]"
12
- :required="field.required"
13
- :items="field.items"
14
- :label="field.label"
15
- />
8
+ <component :is="createComponent(field).type" v-bind="createComponent(field).props" />
16
9
  </v-col>
17
10
  </v-row>
18
11
  <v-row style="padding: 12px">
@@ -34,12 +27,15 @@
34
27
  </template>
35
28
 
36
29
  <script>
37
- import { markRaw } from 'vue';
30
+ import { markRaw, h } from 'vue';
38
31
  import { mapState } from 'vuex';
32
+ import { plugin, defaultConfig } from '@formkit/vue';
33
+ import '@formkit/themes/genesis';
34
+ import { FormKit } from '@formkit/vue';
39
35
 
40
36
  export default {
41
37
  name: 'UIDynamicForm',
42
- inject: ['$socket', '$dataTracker'],
38
+ inject: ['$socket'],
43
39
  props: {
44
40
  /* do not remove entries from this - Dashboard's Layout Manager's will pass this data to your component */
45
41
  id: { type: String, required: true },
@@ -49,9 +45,6 @@ export default {
49
45
  default: () => ({ enabled: false, visible: false }),
50
46
  },
51
47
  },
52
- created() {
53
- this.$dataTracker(this.id);
54
- },
55
48
  setup(props) {
56
49
  console.info('UIDynamicForm setup with:', props);
57
50
  console.debug('Vue function loaded correctly', markRaw);
@@ -67,6 +60,12 @@ export default {
67
60
  errorMsg: '',
68
61
  };
69
62
  },
63
+ created() {
64
+ const formkitConfig = defaultConfig({
65
+ theme: 'genesis',
66
+ });
67
+ window.app.use(plugin, formkitConfig);
68
+ },
70
69
  computed: {
71
70
  ...mapState('data', ['messages']),
72
71
  waiting_title() {
@@ -82,7 +81,6 @@ export default {
82
81
  mounted() {
83
82
  this.$socket.on('widget-load:' + this.id, (msg) => {
84
83
  this.init();
85
-
86
84
  this.$store.commit('data/bind', {
87
85
  widgetId: this.id,
88
86
  msg,
@@ -92,6 +90,7 @@ export default {
92
90
  // store the latest message in our client-side vuex store when we receive a new message
93
91
  this.init();
94
92
 
93
+ this.messages[this.id] = msg;
95
94
 
96
95
  const hasTask = msg.payload && msg.payload.userTask;
97
96
  const defaultValues = msg.payload.userTask.userTaskConfig.formFields;
@@ -126,7 +125,132 @@ export default {
126
125
  this.$socket?.off('widget-load' + this.id);
127
126
  this.$socket?.off('msg-input:' + this.id);
128
127
  },
128
+ components: {
129
+ FormKit,
130
+ },
129
131
  methods: {
132
+ createComponent(field) {
133
+ const hint = field.customForm ? JSON.parse(field.customForm).hint : undefined;
134
+ switch (field.type) {
135
+ case 'long':
136
+ return {
137
+ type: 'FormKit',
138
+ props: {
139
+ type: 'number',
140
+ id: field.id,
141
+ label: field.label,
142
+ required: field.required,
143
+ value: field.defaultValue,
144
+ number: 'integer',
145
+ help: hint,
146
+ wrapperClass: '$remove:formkit-wrapper',
147
+ },
148
+ };
149
+ case 'number':
150
+ return {
151
+ type: 'FormKit',
152
+ props: {
153
+ type: 'number',
154
+ id: field.id,
155
+ label: field.label,
156
+ required: field.required,
157
+ value: field.defaultValue,
158
+ help: hint,
159
+ wrapperClass: '$remove:formkit-wrapper',
160
+ },
161
+ };
162
+ case 'date':
163
+ return {
164
+ type: 'FormKit',
165
+ props: {
166
+ type: 'date',
167
+ id: field.id,
168
+ label: field.label,
169
+ required: field.required,
170
+ value: field.defaultValue,
171
+ help: hint,
172
+ wrapperClass: '$remove:formkit-wrapper',
173
+ },
174
+ };
175
+ case 'enum':
176
+ const enums = field.enumValues.map((obj) => {
177
+ return { value: obj.id, label: obj.name };
178
+ });
179
+ return {
180
+ type: 'FormKit',
181
+ props: {
182
+ type: 'select', // JSON.parse(field.customForm).displayAs
183
+ id: field.id,
184
+ label: field.label,
185
+ required: field.required,
186
+ value: field.defaultValue,
187
+ options: enums,
188
+ help: hint,
189
+ wrapperClass: '$remove:formkit-wrapper',
190
+ },
191
+ };
192
+ case 'string':
193
+ return {
194
+ type: 'FormKit',
195
+ props: {
196
+ type: 'text',
197
+ id: field.id,
198
+ label: field.label,
199
+ required: field.required,
200
+ value: field.defaultValue,
201
+ help: hint,
202
+ wrapperClass: '$remove:formkit-wrapper',
203
+ },
204
+ };
205
+ case 'boolean':
206
+ return {
207
+ type: 'FormKit',
208
+ props: {
209
+ type: 'checkbox',
210
+ id: field.id,
211
+ label: field.label,
212
+ required: field.required,
213
+ value: field.defaultValue,
214
+ help: hint,
215
+ },
216
+ };
217
+ case 'file':
218
+ return {
219
+ type: 'FormKit',
220
+ props: {
221
+ type: 'file',
222
+ id: field.id,
223
+ label: field.label,
224
+ required: field.required,
225
+ value: field.defaultValue,
226
+ help: hint,
227
+ innerClass: 'reset-background',
228
+ wrapperClass: '$remove:formkit-wrapper',
229
+ },
230
+ };
231
+ default:
232
+ return {
233
+ type: 'FormKit',
234
+ props: {
235
+ type: field.type,
236
+ id: field.id,
237
+ label: field.label,
238
+ required: field.required,
239
+ value: field.defaultValue,
240
+ help: hint,
241
+ },
242
+ };
243
+ }
244
+ },
245
+ checkFormState(state) {
246
+ const field = this.$formkit.get('field_01');
247
+ console.info(field.context.state.valid);
248
+
249
+ // loop over fields then this.$formkit.get(this.id) -> check error state if all ok return true else return false
250
+ // ?? wie unterscheiden wir welche actions dieser validierungsfehler betrifft ??
251
+ // ?? wie machen wir formkit validierung auch im Studio available ??
252
+ // \_ vllt macht es sinn das schema von formkit zu übernehmen oder alternativ nur unsere validierung zu nutzen.
253
+ },
130
254
  hasUserTask() {
131
255
  return this.messages && this.messages[this.id] && this.messages[this.id].payload.userTask;
132
256
  },
@@ -135,10 +259,8 @@ export default {
135
259
  },
136
260
  fields() {
137
261
  const aFields = this.hasUserTask() ? this.userTask().userTaskConfig.formFields : [];
138
-
139
262
  const fieldMap = aFields.map((field) => ({
140
263
  ...field,
141
- component: mapFieldTypes(field.type),
142
264
  items: mapItems(field.type, field),
143
265
  }));
144
266
 
@@ -160,6 +282,7 @@ export default {
160
282
  this.actions = this.props.options;
161
283
  },
162
284
  actionFn(action) {
285
+ this.checkFormState();
163
286
  if (this.checkCondition(action.condition)) {
164
287
  this.showError(false, '');
165
288
  // TODO: MM - begin
@@ -206,57 +329,9 @@ function mapItems(type, field) {
206
329
  return null;
207
330
  }
208
331
  }
209
-
210
- function mapFieldTypes(fieldType) {
211
- switch (fieldType) {
212
- case 'string':
213
- return 'v-text-field';
214
- case 'long':
215
- case 'date':
216
- return 'v-text-field';
217
- case 'enum':
218
- return 'v-select';
219
- case 'boolean':
220
- return 'v-checkbox';
221
- case 'text':
222
- return 'v-text-field';
223
- case 'select':
224
- return 'v-select';
225
- case 'checkbox':
226
- return 'v-checkbox';
227
- case 'radio':
228
- return 'v-radio';
229
- case 'switch':
230
- return 'v-switch';
231
- case 'slider':
232
- return 'v-slider';
233
- case 'time':
234
- return 'v-time-picker';
235
- case 'datetime':
236
- return 'v-datetime-picker';
237
- case 'color':
238
- return 'v-color-picker';
239
- case 'file':
240
- return 'v-file-input';
241
- case 'textarea':
242
- return 'v-textarea';
243
- case 'password':
244
- return 'v-text-field';
245
- case 'number':
246
- return 'v-text-field';
247
- case 'email':
248
- return 'v-text-field';
249
- case 'tel':
250
- return 'v-text-field';
251
- case 'url':
252
- return 'v-text-field';
253
- default:
254
- return 'v-text-field';
255
- }
256
- }
257
332
  </script>
258
333
 
259
- <style scoped>
334
+ <style>
260
335
  /* CSS is auto scoped, but using named classes is still recommended */
261
336
  @import '../stylesheets/ui-dynamic-form.css';
262
337
  </style>
package/ui/main.js CHANGED
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * This file is useful for testing your component in isolation from Node-RED.
5
5
  */
6
- import { createApp } from 'vue'
6
+ import { createApp } from 'vue';
7
+ import { plugin, defaultConfig } from '@formkit/vue';
8
+ import UIDynamicForm from './components/UIDynamicForm.vue';
7
9
 
8
- import UIDynamicForm from './components/UIDynamicForm.vue'
9
-
10
- createApp(UIDynamicForm).mount('#app')
10
+ createApp(UIDynamicForm).use(plugin, defaultConfig).mount('#app');
@@ -1,44 +1,56 @@
1
1
  .dynamic-form-wrapper {
2
- padding: 10px;
3
- margin: 10px;
4
- border: 1px solid black;
2
+ padding: 10px;
3
+ margin: 10px;
4
+ border: 1px solid black;
5
5
  }
6
6
 
7
7
  .dynamic-form-class {
8
- color: green;
9
- font-weight: bold;
8
+ color: green;
9
+ font-weight: bold;
10
10
  }
11
11
 
12
12
  h1 {
13
- margin-bottom: 10px;
13
+ margin-bottom: 10px;
14
14
  }
15
15
 
16
16
  h2 {
17
- margin-top: 1.5rem;
18
- margin-bottom: 0.75rem;
17
+ margin-top: 1.5rem;
18
+ margin-bottom: 0.75rem;
19
19
  }
20
20
 
21
21
  h3 {
22
- margin-top: 1rem;
22
+ margin-top: 1rem;
23
23
  }
24
24
 
25
25
  p {
26
- margin-bottom: 5px;
26
+ margin-bottom: 5px;
27
27
  }
28
28
 
29
29
  ul li {
30
- list-style-type: circle;
31
- list-style-position: inside;
32
- margin-left: 15px;
30
+ list-style-type: circle;
31
+ list-style-position: inside;
32
+ margin-left: 15px;
33
33
  }
34
34
 
35
35
  pre {
36
- padding: 12px;
37
- margin: 12px;
38
- background-color: #eee;
36
+ padding: 12px;
37
+ margin: 12px;
38
+ background-color: #eee;
39
39
  }
40
40
 
41
41
  code {
42
- font-size: 0.825rem;
43
- color: #ae0000;
42
+ font-size: 0.825rem;
43
+ color: #ae0000;
44
+ }
45
+
46
+ .ui-dynamic-form-wrapper {
47
+ --fk-color-primary: rgb(var(--v-theme-primary));
48
+ --fk-color-border: rgb(var(--v-border-color));
49
+ --fk-bg-input: rgb(var(--v-theme-group-background));
50
+ --fk-color-input: rgb(var(--v-theme-on-group-background));
51
+ }
52
+
53
+ .reset-background {
54
+ --fk-bg-input: rgb(var(--does-not-exist, #000));
55
+ /* i dont know why this works but it works */
44
56
  }