inquirer-form 0.2.0 → 0.2.1

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.
@@ -1,8 +1,8 @@
1
- (function(u,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("agilebuilder-form"),require("element-plus"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","agilebuilder-form","element-plus","vue-i18n"],e):(u=typeof globalThis<"u"?globalThis:u||self,e(u.InquirerForm={},u.Vue,u.agilebuilderForm,u.elementPlus,u.vueI18n))})(this,(function(u,e,f,h,ne){"use strict";const oe={class:"inquirer-designer-card"},le={class:"card-header"},ae={class:"type-badge"},ie={class:"message"},re={key:0,class:"description"},se={key:1,class:"options-preview"},ce={key:0,class:"more"},de=e.defineComponent({inheritAttrs:!1,__name:"BaseQuestionDesigner",props:{label:{},message:{},description:{},typeLabel:{},options:{},isActive:{type:Boolean},previewCount:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>n.previewCount??3),r=e.computed(()=>n.options?.slice(0,i.value)??[]),l=e.computed(()=>(n.options?.length??0)>i.value),s=e.computed(()=>n.label||n.message||n.typeLabel),m=e.computed(()=>n.message||"未设置 message");return(d,c)=>(e.openBlock(),e.createBlock(e.unref(f.FormItemWrapper),{selectable:"",label:s.value,"is-active":t.isActive,onSelect:c[0]||(c[0]=p=>a("select"))},{default:e.withCtx(()=>[e.createElementVNode("div",oe,[e.createElementVNode("header",le,[e.createElementVNode("span",ae,e.toDisplayString(t.typeLabel),1)]),e.createElementVNode("div",ie,e.toDisplayString(m.value),1),t.description?(e.openBlock(),e.createElementBlock("p",re,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),r.value.length?(e.openBlock(),e.createElementBlock("ul",se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,p=>(e.openBlock(),e.createElementBlock("li",{key:p.value},e.toDisplayString(p.label||p.value),1))),128)),l.value?(e.openBlock(),e.createElementBlock("li",ce,"…")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["label","is-active"]))}}),x=(t,o)=>{const n=t.__vccOpts||t;for(const[a,i]of o)n[a]=i;return n},B=x(de,[["__scopeId","data-v-5aa173c3"]]),pe=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s}=e.toRefs(n);return(m,d)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Input","is-active":e.unref(s),onSelect:d[0]||(d[0]=c=>a("select"))},null,8,["label","message","description","is-active"]))}}),me={class:"inquirer-input"},fe={key:0,class:"transformer-preview"},ue=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},prefix:{},suffix:{},displayValue:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>n.displayValue===void 0?!1:n.displayValue!==n.modelValue);return(r,l)=>(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(e.unref(h.ElInput),{"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,clearable:"","onUpdate:modelValue":l[0]||(l[0]=s=>a("update:modelValue",s??""))},e.createSlots({_:2},[t.prefix?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.prefix),1)]),key:"0"}:void 0,t.suffix?{name:"append",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),key:"1"}:void 0]),1032,["model-value","placeholder","disabled"]),i.value?(e.openBlock(),e.createElementBlock("p",fe,e.toDisplayString(t.displayValue),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-b9ac497e"]]),he={class:"base-input-config"},xe=x(e.defineComponent({__name:"BaseInputConfig",props:{label:{},field:{}},emits:["update"],setup(t,{emit:o}){const n=o;function a(r){n("update",{field:r})}function i(r,l){n("update",{props:{[r]:l}})}return(r,l)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(e.unref(f.TextSetting),{label:r.$t("designer.node.field_label"),modelValue:t.field,"onUpdate:modelValue":a},null,8,["label","modelValue"]),e.createVNode(e.unref(f.TextSetting),{label:r.$t("designer.form.fields.label_label"),modelValue:t.label,"onUpdate:modelValue":l[0]||(l[0]=s=>i("label",s))},null,8,["label","modelValue"]),e.renderSlot(r.$slots,"default",{updateProp:i},void 0,!0)]))}}),[["__scopeId","data-v-bd4a89f6"]]),ge={class:"textarea-setting"},be={key:0,class:"hint"},Ve=x(e.defineComponent({__name:"TextareaSetting",props:{label:{},modelValue:{},hint:{},minRows:{default:2},maxRows:{default:4}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;return(a,i)=>(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("label",null,e.toDisplayString(t.label),1),e.createVNode(e.unref(h.ElInput),{type:"textarea","model-value":t.modelValue,autosize:{minRows:t.minRows,maxRows:t.maxRows},"onUpdate:modelValue":i[0]||(i[0]=r=>n("update:modelValue",r??""))},null,8,["model-value","autosize"]),t.hint?(e.openBlock(),e.createElementBlock("p",be,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2c386165"]]);var ke=e.defineComponent({name:"InfoFilled",__name:"info-filled",setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),ye=ke;const Ee={"zh-CN":{config:{message:"提问文案 (message)",description:"描述 / 帮助信息 (description)",placeholder:"占位提示",default_value:"默认值",prefix:"前缀",suffix:"后缀",required:"必填",expressions:{when_label:"when 表达式",when_info:"控制是否展示该问题,可使用 input、answers,返回 true/false。",validate_label:"validate 表达式",validate_info:"校验输入,返回 true 表示通过,返回字符串为错误提示。",filter_label:"filter 表达式",filter_info:"提交前对值做处理,返回值会写入 answers 并导出给 inquirer。",transformer_label:"transformer 表达式",transformer_info:"仅影响展示,返回值用于实时提示,不写入 answers。"}},editor:{placeholder:"请输入 JavaScript 函数体",show_examples:"查看示例",hide_examples:"收起示例",examples_title:"示例"}},"en-US":{config:{message:"Prompt message",description:"Description / helper text",placeholder:"Placeholder",default_value:"Default value",prefix:"Prefix",suffix:"Suffix",required:"Required",expressions:{when_label:"when expression",when_info:"Control whether this question is shown. Use input / answers and return true or false.",validate_label:"validate expression",validate_info:"Validate the input. Return true to pass or a string as the error.",filter_label:"filter expression",filter_info:"Transform the value before submit. Returned value is written to answers and exported.",transformer_label:"transformer expression",transformer_info:"Affects display only. Returned value is shown but not written to answers."}},editor:{placeholder:"Enter JavaScript function body",show_examples:"Show examples",hide_examples:"Hide examples",examples_title:"Examples"}}};function Q(){return ne.useI18n({inheritLocale:!0,useScope:"local",messages:Ee})}const Be={class:"expression-editor"},Ce={class:"expression-editor__label"},_e={key:0,class:"expression-editor__examples"},we={class:"examples-title"},Se={class:"examples-list"},Ne={class:"expression-editor__footer"},T=x(e.defineComponent({__name:"ExpressionEditor",props:{label:{},modelValue:{},hint:{},info:{},placeholder:{},minRows:{default:6},maxRows:{default:10},suggestions:{default:()=>[]}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,{t:i}=Q(),r=["return input;",'return input?.trim() ?? "";',"return input ? input.toUpperCase() : input;","return answers.otherField;"],l=e.computed(()=>n.placeholder||i("editor.placeholder")),s=e.computed(()=>i("editor.show_examples")),m=e.computed(()=>i("editor.hide_examples")),d=e.computed(()=>i("editor.examples_title")),c=e.computed(()=>n.suggestions&&n.suggestions.length>0?n.suggestions:r),p=e.ref(!1);function $(){p.value=!p.value}return(D,U)=>(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("label",Ce,[e.createElementVNode("span",null,e.toDisplayString(t.label),1),t.info?(e.openBlock(),e.createBlock(e.unref(h.ElTooltip),{key:0,placement:"top",effect:"dark",content:t.info},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElIcon),{class:"info-icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(ye))]),_:1})]),_:1},8,["content"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(h.ElInput),{class:"code-input",type:"textarea","model-value":t.modelValue,autosize:{minRows:t.minRows,maxRows:t.maxRows},placeholder:l.value,"onUpdate:modelValue":U[0]||(U[0]=k=>a("update:modelValue",k??""))},null,8,["model-value","autosize","placeholder"]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[p.value?(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("p",we,e.toDisplayString(d.value),1),e.createElementVNode("ul",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,k=>(e.openBlock(),e.createElementBlock("li",{key:k},[e.createElementVNode("code",null,e.toDisplayString(k),1)]))),128))])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Ne,[e.createElementVNode("button",{class:"example-toggle",type:"button",onClick:$},e.toDisplayString(p.value?m.value:s.value),1)])]))}}),[["__scopeId","data-v-91ba45bb"]]),qe={class:"inline-settings"},w=x(e.defineComponent({__name:"BaseQuestionConfig",props:{label:{},field:{},message:{},description:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},showPlaceholder:{type:Boolean,default:!0},showDefaultInput:{type:Boolean,default:!0}},emits:["update"],setup(t,{emit:o}){const n=["return answers.age >= 18;","return answers.role === 'admin';","return Boolean(input);"],a=[`if (!input) return '必填';
1
+ (function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("agilebuilder-form"),require("element-plus"),require("vue-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","agilebuilder-form","element-plus","vue-i18n"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g.InquirerForm={},g.Vue,g.agilebuilderForm,g.elementPlus,g.vueI18n))})(this,(function(g,e,m,h,P){"use strict";const fe={class:"inquirer-designer-card"},ue={class:"card-header"},he={class:"type-badge"},ge={class:"message"},xe={key:0,class:"description"},be={key:1,class:"options-preview"},ye={key:0,class:"more"},ke=e.defineComponent({inheritAttrs:!1,__name:"BaseQuestionDesigner",props:{label:{},message:{},description:{},typeLabel:{},options:{},isActive:{type:Boolean},previewCount:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>o.previewCount??3),r=e.computed(()=>o.options?.slice(0,s.value)??[]),l=e.computed(()=>(o.options?.length??0)>s.value),i=e.computed(()=>o.label||o.message||o.typeLabel),f=e.computed(()=>o.message||"未设置 message");return(c,d)=>(e.openBlock(),e.createBlock(e.unref(m.FormItemWrapper),{selectable:"",label:i.value,"is-active":t.isActive,onSelect:d[0]||(d[0]=p=>a("select"))},{default:e.withCtx(()=>[e.createElementVNode("div",fe,[e.createElementVNode("header",ue,[e.createElementVNode("span",he,e.toDisplayString(t.typeLabel),1)]),e.createElementVNode("div",ge,e.toDisplayString(f.value),1),t.description?(e.openBlock(),e.createElementBlock("p",xe,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),r.value.length?(e.openBlock(),e.createElementBlock("ul",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,p=>(e.openBlock(),e.createElementBlock("li",{key:p.value},e.toDisplayString(p.label||p.value),1))),128)),l.value?(e.openBlock(),e.createElementBlock("li",ye,"…")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),_:1},8,["label","is-active"]))}}),x=(t,n)=>{const o=t.__vccOpts||t;for(const[a,s]of n)o[a]=s;return o},E=x(ke,[["__scopeId","data-v-b29b6f1e"]]),Ve=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i}=e.toRefs(o);return(f,c)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Input","is-active":e.unref(i),onSelect:c[0]||(c[0]=d=>a("select"))},null,8,["label","message","description","is-active"]))}}),_e={class:"inquirer-input"},we={key:0,class:"transformer-preview"},Ee=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},prefix:{},suffix:{},displayValue:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>o.displayValue===void 0?!1:o.displayValue!==o.modelValue);return(r,l)=>(e.openBlock(),e.createElementBlock("div",_e,[e.createVNode(e.unref(h.ElInput),{"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,clearable:"","onUpdate:modelValue":l[0]||(l[0]=i=>a("update:modelValue",i??""))},e.createSlots({_:2},[t.prefix?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.prefix),1)]),key:"0"}:void 0,t.suffix?{name:"append",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),key:"1"}:void 0]),1032,["model-value","placeholder","disabled"]),s.value?(e.openBlock(),e.createElementBlock("p",we,e.toDisplayString(t.displayValue),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-c4eebc18"]]),Ce={class:"base-input-config"},Be=x(e.defineComponent({__name:"BaseInputConfig",props:{label:{},field:{}},emits:["update"],setup(t,{emit:n}){const o=n;function a(r){o("update",{field:r})}function s(r,l){o("update",{props:{[r]:l}})}return(r,l)=>(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(m.TextSetting),{label:r.$t("designer.node.field_label"),modelValue:t.field,"onUpdate:modelValue":a},null,8,["label","modelValue"]),e.renderSlot(r.$slots,"default",{updateProp:s},void 0,!0)]))}}),[["__scopeId","data-v-be4e1176"]]),Se={class:"textarea-setting"},Ne={key:0,class:"hint"},qe=x(e.defineComponent({__name:"TextareaSetting",props:{label:{},modelValue:{},hint:{},minRows:{default:2},maxRows:{default:4}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(a,s)=>(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("label",null,e.toDisplayString(t.label),1),e.createVNode(e.unref(h.ElInput),{type:"textarea","model-value":t.modelValue,autosize:{minRows:t.minRows,maxRows:t.maxRows},"onUpdate:modelValue":s[0]||(s[0]=r=>o("update:modelValue",r??""))},null,8,["model-value","autosize"]),t.hint?(e.openBlock(),e.createElementBlock("p",Ne,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-9093816f"]]);var $e=e.defineComponent({name:"CircleCheck",__name:"circle-check",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),e.createElementVNode("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Ie=$e,Ue=e.defineComponent({name:"Compass",__name:"compass",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),e.createElementVNode("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832"})]))}}),De=Ue,ze=e.defineComponent({name:"DataLine",__name:"data-line",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32zM832 192H192v512h640zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"})]))}}),Te=ze,Me=e.defineComponent({name:"EditPen",__name:"edit-pen",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}}),Le=Me,Re=e.defineComponent({name:"Expand",__name:"expand",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z"})]))}}),Ae=Re,Oe=e.defineComponent({name:"Finished",__name:"finished",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64z"})]))}}),Pe=Oe,He=e.defineComponent({name:"InfoFilled",__name:"info-filled",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Fe=He,Je=e.defineComponent({name:"List",__name:"list",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),Ge=Je,je=e.defineComponent({name:"Lock",__name:"lock",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),e.createElementVNode("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),Qe=je,We=e.defineComponent({name:"Memo",__name:"memo",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),e.createElementVNode("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),e.createElementVNode("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}}),Ye=We,Ke=e.defineComponent({name:"Tickets",__name:"tickets",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),Xe=Ke;const Ze={"zh-CN":{config:{message:"提问文案 (message)",description:"描述 / 帮助信息 (description)",placeholder:"占位提示",default_value:"默认值",prefix:"前缀",suffix:"后缀",required:"必填",expressions:{when_label:"when 表达式",when_info:"控制是否展示该问题,可使用 input、answers,返回 true/false。",validate_label:"validate 表达式",validate_info:"校验输入,返回 true 表示通过,返回字符串为错误提示。",filter_label:"filter 表达式",filter_info:"提交前对值做处理,返回值会写入 answers 并导出给 inquirer。",transformer_label:"transformer 表达式",transformer_info:"仅影响展示,返回值用于实时提示,不写入 answers。"}},editor:{placeholder:"请输入 JavaScript 函数体",show_examples:"查看示例",hide_examples:"收起示例",examples_title:"示例"}},"en-US":{config:{message:"Prompt message",description:"Description / helper text",placeholder:"Placeholder",default_value:"Default value",prefix:"Prefix",suffix:"Suffix",required:"Required",expressions:{when_label:"when expression",when_info:"Control whether this question is shown. Use input / answers and return true or false.",validate_label:"validate expression",validate_info:"Validate the input. Return true to pass or a string as the error.",filter_label:"filter expression",filter_info:"Transform the value before submit. Returned value is written to answers and exported.",transformer_label:"transformer expression",transformer_info:"Affects display only. Returned value is shown but not written to answers."}},editor:{placeholder:"Enter JavaScript function body",show_examples:"Show examples",hide_examples:"Hide examples",examples_title:"Examples"}}};function W(){return P.useI18n({inheritLocale:!0,useScope:"local",messages:Ze})}const ve={class:"expression-editor"},et={class:"expression-editor__label"},tt={key:0,class:"expression-editor__examples"},ot={class:"examples-title"},nt={class:"examples-list"},lt={class:"expression-editor__footer"},R=x(e.defineComponent({__name:"ExpressionEditor",props:{label:{},modelValue:{},hint:{},info:{},placeholder:{},minRows:{default:6},maxRows:{default:10},suggestions:{default:()=>[]}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,{t:s}=W(),r=["return input;",'return input?.trim() ?? "";',"return input ? input.toUpperCase() : input;","return answers.otherField;"],l=e.computed(()=>o.placeholder||s("editor.placeholder")),i=e.computed(()=>s("editor.show_examples")),f=e.computed(()=>s("editor.hide_examples")),c=e.computed(()=>s("editor.examples_title")),d=e.computed(()=>o.suggestions&&o.suggestions.length>0?o.suggestions:r),p=e.ref(!1);function u(){p.value=!p.value}return(O,z)=>(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("label",et,[e.createElementVNode("span",null,e.toDisplayString(t.label),1),t.info?(e.openBlock(),e.createBlock(e.unref(h.ElTooltip),{key:0,placement:"top",effect:"dark",content:t.info},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElIcon),{class:"info-icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(Fe))]),_:1})]),_:1},8,["content"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(h.ElInput),{class:"code-input",type:"textarea","model-value":t.modelValue,autosize:{minRows:t.minRows,maxRows:t.maxRows},placeholder:l.value,"onUpdate:modelValue":z[0]||(z[0]=w=>a("update:modelValue",w??""))},null,8,["model-value","autosize","placeholder"]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[p.value?(e.openBlock(),e.createElementBlock("div",tt,[e.createElementVNode("p",ot,e.toDisplayString(c.value),1),e.createElementVNode("ul",nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,w=>(e.openBlock(),e.createElementBlock("li",{key:w},[e.createElementVNode("code",null,e.toDisplayString(w),1)]))),128))])])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",lt,[e.createElementVNode("button",{class:"example-toggle",type:"button",onClick:u},e.toDisplayString(p.value?f.value:i.value),1)])]))}}),[["__scopeId","data-v-7b2a61b5"]]),at={class:"inline-settings"},N=x(e.defineComponent({__name:"BaseQuestionConfig",props:{label:{},field:{},message:{},description:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},showPlaceholder:{type:Boolean,default:!0},showDefaultInput:{type:Boolean,default:!0}},emits:["update"],setup(t,{emit:n}){const o=["return answers.age >= 18;","return answers.role === 'admin';","return Boolean(input);"],a=[`if (!input) return '必填';
2
2
  return true;`,`if ((input || "").length < 3) return "至少 3 个字符";
3
- return true;`,'return Array.isArray(input) && input.length > 0 ? true : "请选择至少一项";'],i=['return input?.trim() ?? "";',"return Number(input) || 0;","return input?.toLowerCase();"],r=["return input ? `⭐ ${input}` : input;",'return input ? `${input} (${answers.unit || ""})` : input;',"return input ? input.toUpperCase() : input;"],{t:l}=Q(),s=o;return(m,d)=>(e.openBlock(),e.createBlock(xe,{label:t.label,field:t.field,onUpdate:d[0]||(d[0]=c=>s("update",c))},{default:e.withCtx(({updateProp:c})=>[e.createVNode(e.unref(f.TextSetting),{label:e.unref(l)("config.message"),"model-value":t.message,"onUpdate:modelValue":p=>c("message",p)},null,8,["label","model-value","onUpdate:modelValue"]),e.createVNode(Ve,{label:e.unref(l)("config.description"),"model-value":t.description,"min-rows":2,"max-rows":3,"onUpdate:modelValue":p=>c("description",p)},null,8,["label","model-value","onUpdate:modelValue"]),t.showPlaceholder?(e.openBlock(),e.createBlock(e.unref(f.TextSetting),{key:0,label:e.unref(l)("config.placeholder"),"model-value":t.placeholder,"onUpdate:modelValue":p=>c("placeholder",p)},null,8,["label","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"defaultValue",{updateProp:c},()=>[t.showDefaultInput?(e.openBlock(),e.createBlock(e.unref(f.TextSetting),{key:0,label:e.unref(l)("config.default_value"),"model-value":t.defaultValue,"onUpdate:modelValue":p=>c("defaultValue",p)},null,8,["label","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0)],!0),e.createElementVNode("div",qe,[e.createVNode(e.unref(f.TextSetting),{label:e.unref(l)("config.prefix"),"model-value":t.prefix,"onUpdate:modelValue":p=>c("prefix",p)},null,8,["label","model-value","onUpdate:modelValue"]),e.createVNode(e.unref(f.TextSetting),{label:e.unref(l)("config.suffix"),"model-value":t.suffix,"onUpdate:modelValue":p=>c("suffix",p)},null,8,["label","model-value","onUpdate:modelValue"])]),e.createVNode(e.unref(f.SwitchSetting),{label:e.unref(l)("config.required"),"model-value":t.required,"onUpdate:modelValue":p=>c("required",p)},null,8,["label","model-value","onUpdate:modelValue"]),e.renderSlot(m.$slots,"extra",{updateProp:c},void 0,!0),e.createVNode(T,{label:e.unref(l)("config.expressions.when_label"),info:e.unref(l)("config.expressions.when_info"),"model-value":t.whenExpression,"min-rows":2,"max-rows":3,placeholder:e.unref(l)("editor.placeholder"),suggestions:n,"onUpdate:modelValue":p=>c("whenExpression",p)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(T,{label:e.unref(l)("config.expressions.validate_label"),info:e.unref(l)("config.expressions.validate_info"),"model-value":t.validateExpression,"min-rows":3,"max-rows":5,placeholder:e.unref(l)("editor.placeholder"),suggestions:a,"onUpdate:modelValue":p=>c("validateExpression",p)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(T,{label:e.unref(l)("config.expressions.filter_label"),info:e.unref(l)("config.expressions.filter_info"),"model-value":t.filterExpression,"min-rows":2,"max-rows":4,placeholder:e.unref(l)("editor.placeholder"),suggestions:i,"onUpdate:modelValue":p=>c("filterExpression",p)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(T,{label:e.unref(l)("config.expressions.transformer_label"),info:e.unref(l)("config.expressions.transformer_info"),"model-value":t.transformerExpression,"min-rows":2,"max-rows":4,placeholder:e.unref(l)("editor.placeholder"),suggestions:r,"onUpdate:modelValue":p=>c("transformerExpression",p)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"])]),_:3},8,["label","field"]))}}),[["__scopeId","data-v-c4882c52"]]),$e=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),null,16))}});function C(t){return`${t}_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function V(t,o){return{label:t,value:o??t}}const j={type:"inq-input",category:"inputControl",label:"输入",icon:"⌨️",isContainer:!1,initialSchema:()=>({id:C("inq_input"),type:"inq-input",field:"question_"+Math.random().toString(36).slice(2,6),props:{label:"普通输入",message:"请输入内容",promptType:"input",placeholder:"例如:姓名",defaultValue:"",prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:pe,runtime:ue,config:$e,locales:{"zh-CN":{control:{"inq-input":{label:"输入"}}},"en-US":{control:{"inq-input":{label:"Input"}}}}},Ue=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s}=e.toRefs(n);return(m,d)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Password","is-active":e.unref(s),onSelect:d[0]||(d[0]=c=>a("select"))},null,8,["label","message","description","is-active"]))}}),Ie={class:"inquirer-password"},De={key:0,class:"mask-hint"},G={type:"inq-password",category:"inputControl",label:"密码",icon:"🔒",isContainer:!1,initialSchema:()=>({id:C("inq_password"),type:"inq-password",field:"secret_"+Math.random().toString(36).slice(2,6),props:{label:"密码",message:"请输入密码",promptType:"password",placeholder:"******",defaultValue:"",prefix:"",suffix:"",maskEnabled:!0,maskSymbol:"*",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Ue,runtime:x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},prefix:{},suffix:{},maskEnabled:{type:Boolean},maskSymbol:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;return(a,i)=>(e.openBlock(),e.createElementBlock("div",Ie,[e.createVNode(e.unref(h.ElInput),{"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,type:"password","show-password":"","onUpdate:modelValue":i[0]||(i[0]=r=>n("update:modelValue",r??""))},e.createSlots({_:2},[t.prefix?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.prefix),1)]),key:"0"}:void 0,t.suffix?{name:"append",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),key:"1"}:void 0]),1032,["model-value","placeholder","disabled"]),t.maskEnabled?(e.openBlock(),e.createElementBlock("p",De," 输出将使用 "+e.toDisplayString(t.maskSymbol||"掩码")+" 掩码 ",1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-0cb418f2"]]),config:e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},maskEnabled:{type:Boolean},maskSymbol:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(f.SwitchSetting),{label:"掩码输出","model-value":t.maskEnabled,"onUpdate:modelValue":s=>l("maskEnabled",s)},null,8,["model-value","onUpdate:modelValue"]),t.maskEnabled?(e.openBlock(),e.createBlock(e.unref(f.TextSetting),{key:0,label:"掩码符号","model-value":t.maskSymbol,"onUpdate:modelValue":s=>l("maskSymbol",s)},null,8,["model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:1},16))}}),locales:{"zh-CN":{control:{"inq-password":{label:"密码"}}},"en-US":{control:{"inq-password":{label:"Password"}}}}},Te=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s}=e.toRefs(n);return(m,d)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Number","is-active":e.unref(s),onSelect:d[0]||(d[0]=c=>a("select"))},null,8,["label","message","description","is-active"]))}}),Re={class:"number-runtime"},Ae={key:0,class:"affix"},ze={key:1,class:"affix"},Le=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},min:{},max:{},step:{},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;return(a,i)=>(e.openBlock(),e.createElementBlock("div",Re,[t.prefix?(e.openBlock(),e.createElementBlock("span",Ae,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElInputNumber),{class:"number-runtime__input","model-value":t.modelValue,placeholder:t.placeholder,disabled:t.disabled,min:t.min,max:t.max,step:t.step||1,"controls-position":"right","onUpdate:modelValue":i[0]||(i[0]=r=>n("update:modelValue",r??void 0))},null,8,["model-value","placeholder","disabled","min","max","step"]),t.suffix?(e.openBlock(),e.createElementBlock("span",ze,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-ade0684b"]]),Me={class:"number-setting"},Oe=e.defineComponent({__name:"NumberSetting",props:{label:{},modelValue:{},min:{default:Number.NEGATIVE_INFINITY},max:{default:Number.POSITIVE_INFINITY},step:{default:1}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;return(a,i)=>(e.openBlock(),e.createElementBlock("div",Me,[e.createElementVNode("label",null,e.toDisplayString(t.label),1),e.createVNode(e.unref(h.ElInputNumber),{"model-value":t.modelValue,min:t.min,max:t.max,step:t.step,"controls-position":"right","onUpdate:modelValue":i[0]||(i[0]=r=>n("update:modelValue",r??void 0))},null,8,["model-value","min","max","step"])]))}}),q=x(Oe,[["__scopeId","data-v-4fb22ad3"]]),Y={type:"inq-number",category:"inputControl",label:"数字",icon:"🔢",isContainer:!1,initialSchema:()=>({id:C("inq_number"),type:"inq-number",field:"amount_"+Math.random().toString(36).slice(2,6),props:{label:"数字输入",message:"请输入数字",promptType:"number",defaultValue:0,min:0,max:100,step:1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Te,runtime:Le,config:e.defineComponent({__name:"config",props:{label:{},field:{},message:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},min:{},max:{},step:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{"show-placeholder":!1,onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createVNode(q,{label:"默认值","model-value":t.defaultValue,"onUpdate:modelValue":s=>l("defaultValue",s)},null,8,["model-value","onUpdate:modelValue"])]),extra:e.withCtx(({updateProp:l})=>[e.createVNode(q,{label:"最小值","model-value":t.min,"onUpdate:modelValue":s=>l("min",s)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(q,{label:"最大值","model-value":t.max,"onUpdate:modelValue":s=>l("max",s)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(q,{label:"步长","model-value":t.step,min:0,step:.1,"onUpdate:modelValue":s=>l("step",s)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),locales:{"zh-CN":{control:{"inq-number":{label:"数字"}}},"en-US":{control:{"inq-number":{label:"Number"}}}}},Je=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s}=e.toRefs(n);return(m,d)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Confirm","is-active":e.unref(s),onSelect:d[0]||(d[0]=c=>a("select"))},null,8,["label","message","description","is-active"]))}}),Fe={class:"confirm-runtime"},Qe={key:0,class:"affix"},je={class:"state"},Ge={key:1,class:"affix"},P={type:"inq-confirm",category:"inputControl",label:"确认",icon:"❓",isContainer:!1,initialSchema:()=>({id:C("inq_confirm"),type:"inq-confirm",field:"confirm_"+Math.random().toString(36).slice(2,6),props:{label:"是否继续",message:"请确认是否执行",promptType:"confirm",defaultValue:!1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Je,runtime:x(e.defineComponent({__name:"runtime",props:{modelValue:{type:Boolean},disabled:{type:Boolean},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=o;function a(i){n("update:modelValue",!!i)}return(i,r)=>(e.openBlock(),e.createElementBlock("div",Fe,[t.prefix?(e.openBlock(),e.createElementBlock("span",Qe,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElSwitch),{"model-value":t.modelValue??!1,disabled:t.disabled,"onUpdate:modelValue":a},null,8,["model-value","disabled"]),e.createElementVNode("span",je,e.toDisplayString(t.modelValue??!1?"Yes":"No"),1),t.suffix?(e.openBlock(),e.createElementBlock("span",Ge,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f41e6b08"]]),config:e.defineComponent({__name:"config",props:{label:{},field:{},message:{},defaultValue:{type:Boolean},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{"show-placeholder":!1,onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(f.SwitchSetting),{label:"默认值 (Yes/No)","model-value":t.defaultValue??!1,"onUpdate:modelValue":s=>l("defaultValue",s)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),locales:{"zh-CN":{control:{"inq-confirm":{label:"确认"}}},"en-US":{control:{"inq-confirm":{label:"Confirm"}}}}},Ye=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s,choices:m}=e.toRefs(n);return(d,c)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),options:e.unref(m),"type-label":"Inquirer List","is-active":e.unref(s),onSelect:c[0]||(c[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),Pe={class:"inquirer-list"},He={key:0,class:"affix"},Ke={key:1,class:"affix"},We={key:2,class:"list-hint"},Xe={key:0},Ze={key:1},z=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},choices:{},prefix:{},suffix:{},pageSize:{},loop:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>(n.choices??[]).map(r=>({label:r.label||r.value,value:r.value})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",Pe,[t.prefix?(e.openBlock(),e.createElementBlock("span",He,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElSelect),{class:"select-runtime","model-value":t.modelValue,placeholder:t.placeholder,disabled:t.disabled,filterable:"",clearable:"","onUpdate:modelValue":l[0]||(l[0]=s=>a("update:modelValue",s))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,s=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0),t.loop||t.pageSize?(e.openBlock(),e.createElementBlock("p",We,[t.pageSize?(e.openBlock(),e.createElementBlock("span",Xe,"每页 "+e.toDisplayString(t.pageSize)+" 项",1)):e.createCommentVNode("",!0),t.loop?(e.openBlock(),e.createElementBlock("span",Ze," · 循环导航开启")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-ad8b9ebc"]]),L=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},choices:{},defaultChoice:{},pageSize:{},loop:{type:Boolean}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(f.OptionsEditor),{label:"选项","model-value":t.choices,"onUpdate:modelValue":s=>l("choices",s)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(e.unref(f.TextSetting),{label:"默认选项值","model-value":t.defaultChoice,"onUpdate:modelValue":s=>l("defaultChoice",s)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(q,{label:"pageSize","model-value":t.pageSize,min:1,"onUpdate:modelValue":s=>l("pageSize",s)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(e.unref(f.SwitchSetting),{label:"循环 (loop)","model-value":t.loop,"onUpdate:modelValue":s=>l("loop",s)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),H={type:"inq-list",category:"inputControl",label:"列表",icon:"📋",isContainer:!1,initialSchema:()=>({id:C("inq_list"),type:"inq-list",field:"list_"+Math.random().toString(36).slice(2,6),props:{label:"单选列表",message:"请选择一个选项",promptType:"list",placeholder:"请选择",defaultChoice:"opt_1",choices:[V("选项 1","opt_1"),V("选项 2","opt_2")],pageSize:7,loop:!0,prefix:"",suffix:"",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Ye,runtime:z,config:L,locales:{"zh-CN":{control:{"inq-list":{label:"列表"}}},"en-US":{control:{"inq-list":{label:"List"}}}}},ve={type:"inq-rawlist",category:"inputControl",label:"序号列表",icon:"🔢",isContainer:!1,initialSchema:()=>({id:C("inq_rawlist"),type:"inq-rawlist",field:"rawlist_"+Math.random().toString(36).slice(2,6),props:{label:"数字选择题",message:"请输入序号选择",promptType:"rawlist",placeholder:"输入编号",defaultChoice:"opt_a",choices:[V("Alpha","opt_a"),V("Beta","opt_b"),V("Gamma","opt_c")],pageSize:5,loop:!1,prefix:"#",suffix:"",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s,choices:m}=e.toRefs(n);return(d,c)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),options:e.unref(m),"type-label":"Inquirer Raw List","is-active":e.unref(s),onSelect:c[0]||(c[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),runtime:z,config:L,locales:{"zh-CN":{control:{"inq-rawlist":{label:"序号列表"}}},"en-US":{control:{"inq-rawlist":{label:"Raw List"}}}}},et={type:"inq-expand",category:"inputControl",label:"扩展列表",icon:"🧩",isContainer:!1,initialSchema:()=>({id:C("inq_expand"),type:"inq-expand",field:"expand_"+Math.random().toString(36).slice(2,6),props:{label:"扩展选择",message:"通过按键选择",promptType:"expand",placeholder:"按键选择",defaultChoice:"opt_1",choices:[V("继续","opt_1"),V("跳过","opt_2"),V("退出","opt_3")],pageSize:5,loop:!1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s,choices:m}=e.toRefs(n);return(d,c)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),options:e.unref(m),"type-label":"Inquirer Expand","is-active":e.unref(s),onSelect:c[0]||(c[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),runtime:z,config:L,locales:{"zh-CN":{control:{"inq-expand":{label:"扩展列表"}}},"en-US":{control:{"inq-expand":{label:"Expand"}}}}},tt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s,choices:m}=e.toRefs(n);return(d,c)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),options:e.unref(m),"type-label":"Inquirer Checkbox","is-active":e.unref(s),onSelect:c[0]||(c[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),nt={class:"checkbox-wrapper"},ot={key:0,class:"affix"},lt={key:1,class:"affix"},at=x(e.defineComponent({__name:"runtime",props:{modelValue:{},disabled:{type:Boolean},choices:{},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>(n.choices??[]).map(r=>({label:r.label||r.value,value:r.value})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",nt,[t.prefix?(e.openBlock(),e.createElementBlock("span",ot,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElCheckboxGroup),{class:"checkbox-runtime","model-value":t.modelValue||[],disabled:t.disabled,"onUpdate:modelValue":l[0]||(l[0]=s=>a("update:modelValue",s))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,s=>(e.openBlock(),e.createBlock(e.unref(h.ElCheckbox),{key:s.value,label:s.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",lt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-86b287ae"]]),it={class:"multi-default"},K={type:"inq-checkbox",category:"inputControl",label:"多选",icon:"☑️",isContainer:!1,initialSchema:()=>({id:C("inq_checkbox"),type:"inq-checkbox",field:"checkbox_"+Math.random().toString(36).slice(2,6),props:{label:"多选题",message:"选择一个或多个选项",promptType:"checkbox",choices:[V("JavaScript","js"),V("TypeScript","ts"),V("Rust","rust")],defaultChoices:["js"],prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:tt,runtime:at,config:x(e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},choices:{},defaultChoices:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createElementVNode("div",it,[r[1]||(r[1]=e.createElementVNode("label",null,"默认选中值",-1)),e.createVNode(e.unref(h.ElSelect),{multiple:"","collapse-tags":"","collapse-tags-tooltip":"","model-value":t.defaultChoices||[],"onUpdate:modelValue":s=>l("defaultChoices",s)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.choices||[],s=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])])]),extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(f.OptionsEditor),{label:"选项","model-value":t.choices,"onUpdate:modelValue":s=>l("choices",s)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),[["__scopeId","data-v-c571b549"]]),locales:{"zh-CN":{control:{"inq-checkbox":{label:"多选"}}},"en-US":{control:{"inq-checkbox":{label:"Checkbox"}}}}},rt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:o}){const n=t,a=o,{label:i,message:r,description:l,isActive:s}=e.toRefs(n);return(m,d)=>(e.openBlock(),e.createBlock(B,{label:e.unref(i),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Editor","is-active":e.unref(s),onSelect:d[0]||(d[0]=c=>a("select"))},null,8,["label","message","description","is-active"]))}}),st={class:"editor-runtime"},ct={key:0,class:"affix"},dt={key:1,class:"affix"},pt={key:2,class:"transformer-preview"},W={type:"inq-editor",category:"inputControl",label:"长文本",icon:"📝",isContainer:!1,initialSchema:()=>({id:C("inq_editor"),type:"inq-editor",field:"editor_"+Math.random().toString(36).slice(2,6),props:{label:"长文本",message:"请输入长文本",promptType:"editor",placeholder:"多行输入",rows:6,defaultValue:"",prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:rt,runtime:x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},rows:{},disabled:{type:Boolean},prefix:{},suffix:{},displayValue:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>n.displayValue===void 0?!1:n.displayValue!==n.modelValue);return(r,l)=>(e.openBlock(),e.createElementBlock("div",st,[t.prefix?(e.openBlock(),e.createElementBlock("span",ct,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElInput),{type:"textarea",rows:t.rows||6,"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,"onUpdate:modelValue":l[0]||(l[0]=s=>a("update:modelValue",s??""))},null,8,["rows","model-value","placeholder","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",dt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("p",pt,e.toDisplayString(t.displayValue),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-bd13db5a"]]),config:e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},rows:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o;return(i,r)=>(e.openBlock(),e.createBlock(w,e.mergeProps(n,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(q,{label:"行数","model-value":t.rows,min:2,max:20,"onUpdate:modelValue":s=>l("rows",s)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),locales:{"zh-CN":{control:{"inq-editor":{label:"长文本"}}},"en-US":{control:{"inq-editor":{label:"Editor"}}}}},M=[j,G,Y,P,H,ve,et,K,W];function O(){f.registry.replaceAll(M)}function S(t,o){const n=t.initialSchema();return{...n,...o,props:{...n.props,...o.props}}}function J(){return[S(j,{field:"fullName",props:{label:"姓名",message:"请输入您的姓名",placeholder:"张三",description:"该信息将用于生成问候语"}}),S(G,{field:"accountPassword",props:{label:"账户密码",message:"请输入账户密码",description:"密码不会被保存在示例应用中"}}),S(Y,{field:"age",props:{label:"年龄",message:"请输入年龄",min:0,max:120,required:!0,description:"用于计算问卷分层,必填"}}),S(P,{field:"allowContact",props:{label:"是否允许联系",message:"我们可以通过邮件联系您吗?",defaultValue:!0,description:"若选择是,将会收到提效工具邮件"}}),S(H,{field:"favoriteStack",props:{label:"技术栈",message:"请选择主要技术栈",defaultChoice:"ts",description:"用于统计语言偏好"}}),S(K,{field:"tools",props:{label:"常用工具",message:"请选择常用工具",defaultChoices:["git","eslint"],choices:[{label:"Git",value:"git"},{label:"ESLint",value:"eslint"},{label:"Vite",value:"vite"},{label:"Vitest",value:"vitest"}],description:"可多选"}}),S(W,{field:"bio",props:{label:"自我介绍",message:"请输入自我介绍",rows:5,description:"可用于在 inquirer 中展示更丰富的信息"}})]}const X=e.defineComponent({name:"InquirerFormDesigner",__name:"InquirerFormDesigner",props:{engine:{},seedSample:{type:Boolean,default:!1},autoRegisterControls:{type:Boolean,default:!0}},setup(t){const o=t,n=new f.SchemaEngine,a=e.computed(()=>o.engine??n);let i=null;const r=o.autoRegisterControls;return r&&(i=[...f.registry.getAll()],O()),o.seedSample&&a.value.getSchema().controls.length===0&&(a.value.getSchema().controls=J()),e.onBeforeUnmount(()=>{r&&i&&f.registry.replaceAll(i)}),(l,s)=>(e.openBlock(),e.createBlock(e.unref(f.FormDesigner),{engine:a.value},null,8,["engine"]))}}),mt={"inq-input":"input","inq-password":"password","inq-number":"number","inq-confirm":"confirm","inq-list":"list","inq-rawlist":"rawlist","inq-expand":"expand","inq-checkbox":"checkbox","inq-editor":"editor"},ft=["list","rawlist","expand","checkbox"];function Z(t){const o=t.props?.promptType;return o||(mt[t.type]??null)}function ut(t){return ft.includes(t)}function v(t){const o=Z(t);if(!o)return;const n=t.props||{};if(o==="confirm")return typeof n.defaultValue=="boolean"?n.defaultValue:!1;if(o==="checkbox")return Array.isArray(n.defaultChoices)?n.defaultChoices:Array.isArray(n.defaultValue)?n.defaultValue:[];if(o==="number"){const a=Number(n.defaultValue);return Number.isNaN(a)?void 0:a}if((o==="list"||o==="rawlist"||o==="expand")&&typeof n.defaultChoice=="string")return n.defaultChoice;if(n.defaultValue!==void 0&&n.defaultValue!==null)return n.defaultValue;if(o==="input"||o==="password"||o==="editor")return""}function R(t,o){if(!(!t||typeof t!="string"))try{return new Function("input","answers",t)(o.input,o.answers)}catch(n){console.warn("[inquirer-demo] 表达式执行失败:",n);return}}function ht(t,o){const n=t.props?.whenExpression;if(!n)return!0;const a=R(n,{input:o[t.field||""],answers:o});return typeof a=="boolean"?a:!0}function xt(t,o,n){const a=t.props?.filterExpression;if(!a)return o;const i=R(a,{input:o,answers:n});return i===void 0?o:i}function gt(t,o,n){const a=t.props?.transformerExpression;if(!a)return o;const i=R(a,{input:o,answers:n});return i===void 0?o:i}function ee(t,o,n){const a=t.props?.validateExpression;if(!a&&!t.props?.required)return null;if(a){const i=R(a,{input:o,answers:n});if(i===!0||i===void 0)return null;if(typeof i=="string")return i}else if(t.props?.required){if(o==null||o==="")return"该问题为必填项";if(Array.isArray(o)&&o.length===0)return"至少选择一项"}return null}function bt(t,o){if(!o.field||t[o.field]!==void 0)return;const n=v(o);n!==void 0&&(t[o.field]=n)}function Vt(t){if(typeof t.props?.description=="string"&&t.props.description.trim().length>0)return t.props.description.trim();if(typeof t.props?.message=="string"&&t.props.message.trim().length>0)return t.props.message.trim()}const kt={key:0,class:"inquirer-container"},yt={key:0,class:"node-description"},Et={key:1,class:"node-error"},Bt=x(e.defineComponent({name:"InquirerRuntimeNode",__name:"InquirerRuntimeNode",props:{node:{},formData:{}},emits:["update"],setup(t,{emit:o}){const n=t,a=o,i=e.computed(()=>f.registry.get(n.node.type)),r=e.computed(()=>i.value?.runtime||null),l=e.computed(()=>n.formData||{}),s=e.computed(()=>{if(n.node.field)return l.value[n.node.field]}),m=e.computed(()=>Vt(n.node)),d=e.ref(null),c=e.computed(()=>ht(n.node,l.value));e.watch(c,y=>{!y&&n.node.field&&l.value[n.node.field]!==void 0&&(a("update",n.node.field,void 0),d.value=null)},{immediate:!0}),e.watch(()=>s.value,y=>{d.value=ee(n.node,y,l.value)},{immediate:!0});function p(y){if(!n.node.field)return;const _=xt(n.node,y,l.value);a("update",n.node.field,_),d.value=ee(n.node,_,l.value)}const $=e.computed(()=>typeof n.node.props?.message=="string"&&n.node.props.message.trim()?n.node.props.message:typeof n.node.props?.label=="string"&&n.node.props.label.trim()?n.node.props.label:n.node.field||"未命名控件"),D=e.computed(()=>gt(n.node,s.value,l.value)),U=e.computed(()=>i.value?.isContainer??!1);function k(y,_){a("update",y,_)}return(y,_)=>{const A=e.resolveComponent("InquirerRuntimeNode",!0);return c.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[U.value?(e.openBlock(),e.createElementBlock("div",kt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),e.normalizeProps(e.guardReactiveProps(t.node.props)),{default:e.withCtx(()=>[t.node.children&&t.node.children.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.node.children,E=>(e.openBlock(),e.createBlock(A,{key:E.id,node:E,formData:t.formData,onUpdate:k},null,8,["node","formData"]))),128)):e.createCommentVNode("",!0)]),_:1},16))])):(e.openBlock(),e.createBlock(e.unref(f.FormItemWrapper),{key:1,label:$.value},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),e.mergeProps(t.node.props,{modelValue:s.value,displayValue:D.value,"onUpdate:modelValue":p}),{default:e.withCtx(()=>[t.node.children&&t.node.children.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.node.children,E=>(e.openBlock(),e.createBlock(A,{key:E.id,node:E,formData:t.formData,onUpdate:k},null,8,["node","formData"]))),128)):e.createCommentVNode("",!0)]),_:1},16,["modelValue","displayValue"])),m.value?(e.openBlock(),e.createElementBlock("p",yt,e.toDisplayString(m.value),1)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("p",Et,e.toDisplayString(d.value),1)):e.createCommentVNode("",!0)]),_:1},8,["label"]))],64)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-762f3565"]]),Ct={class:"inquirer-web-runtime"},_t={key:0,class:"runtime-empty"},F=x(e.defineComponent({name:"InquirerFormRuntime",__name:"InquirerFormRuntime",props:{schema:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,a=o,i=e.ref({...n.modelValue||{}});e.watch(()=>n.modelValue,m=>{i.value={...m||{}}},{deep:!0}),e.watch(()=>n.schema.controls,()=>{r()},{deep:!0,immediate:!0});function r(){l(n.schema.controls),a("update:modelValue",{...i.value})}function l(m){m&&m.forEach(d=>{bt(i.value,d),d.children?.length&&l(d.children)})}function s(m,d){d===void 0?delete i.value[m]:i.value[m]=d,a("update:modelValue",{...i.value})}return(m,d)=>(e.openBlock(),e.createElementBlock("div",Ct,[e.createVNode(e.unref(h.ElForm),{class:"form-content","label-position":"top",model:i.value},{default:e.withCtx(()=>[!t.schema.controls||t.schema.controls.length===0?(e.openBlock(),e.createElementBlock("div",_t," 暂无表单内容 ")):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.schema.controls,c=>(e.openBlock(),e.createBlock(Bt,{key:c.id,node:c,formData:i.value,onUpdate:s},null,8,["node","formData"]))),128))]),_:1},8,["model"])]))}}),[["__scopeId","data-v-2ef727bc"]]);function te(t,o={}){const n=[];function a(i){i&&i.forEach(r=>{const l=wt(r,o);l&&n.push(l),r.children?.length&&a(r.children)})}return a(t.controls),n}function wt(t,o){const n=Z(t);if(!n||t.props?.disabled&&!o.includeDisabled)return null;const a=t.field?.trim()||t.props?.alias||t.id,i=t.props?.message?.trim()||t.props?.label||a,r=v(t),l={type:n,name:a,message:i,default:r,prefix:N(t.props?.prefix),suffix:N(t.props?.suffix),pageSize:I(t.props?.pageSize),loop:typeof t.props?.loop=="boolean"?t.props.loop:void 0,whenExpression:N(t.props?.whenExpression),validateExpression:Nt(t),filterExpression:N(t.props?.filterExpression),transformerExpression:N(t.props?.transformerExpression),mask:St(t.props),choices:qt(n,t.props),metadata:{schemaNodeId:t.id,label:t.props?.label,placeholder:t.props?.placeholder,required:!!t.props?.required,inquirerType:n,group:t.props?.groupLabel,description:t.props?.description}};return n==="checkbox"&&(l.metadata={...l.metadata,defaultChoices:Array.isArray(t.props?.defaultChoices)?t.props.defaultChoices:void 0}),n==="number"&&(l.metadata={...l.metadata,min:I(t.props?.min),max:I(t.props?.max),step:I(t.props?.step)}),n==="editor"&&(l.metadata={...l.metadata,rows:I(t.props?.rows)}),l}function St(t={}){if(t.maskEnabled)return typeof t.maskSymbol=="string"&&t.maskSymbol.trim().length>0?t.maskSymbol:!0}function Nt(t){const o=N(t.props?.validateExpression);if(o)return o;if(t.props?.required)return"return input ? true : '该问题为必填项'"}function qt(t,o={}){if(!ut(t))return;const n=o.choices;return!Array.isArray(n)||n.length===0?[]:n.filter(a=>typeof a?.label=="string"&&typeof a?.value=="string").map(a=>({name:a.label,value:a.value,short:N(a.short)}))}function N(t){if(typeof t!="string")return;const o=t.trim();return o.length?o:void 0}function I(t){if(t==null)return;const o=Number(t);return Number.isNaN(o)?void 0:o}const $t={class:"inquirer-demo"},Ut={class:"demo-workspace"},It={class:"workspace-tabs"},Dt=["onClick"],Tt={class:"workspace-panel designer-panel"},Rt={class:"workspace-panel runtime-panel"},At={class:"runtime-json"},zt={class:"workspace-panel export-panel"},Lt={class:"json-viewer"},Mt={class:"code-snippet"},Ot={class:"workspace-panel docs-panel"},Jt={class:"callout-controls"},Ft={class:"type"},Qt={class:"meta"},jt=x(e.defineComponent({__name:"InquirerFormPlayground",setup(t){const o=new f.SchemaEngine;o.updateInfo({title:"Inquirer 表单定义",description:"通过拖拽生成 Inquirer QuestionCollection"});const n=[...f.registry.getAll()];O(),e.onMounted(()=>{o.getSchema().controls.length||D()}),e.onBeforeUnmount(()=>{f.registry.replaceAll(n)});const a=e.ref({}),i=e.ref(0),r=e.ref(0),l=[{key:"designer",label:"可视化设计器",desc:"拖拽字段,构建 Schema"},{key:"runtime",label:"运行态预览",desc:"实时数据与交互"},{key:"export",label:"Inquirer 输出",desc:"生成 QuestionCollection + 调用"},{key:"docs",label:"说明",desc:"当前已注册控件"}],s=e.ref(l[0]?.key??"designer"),m=e.computed(()=>te(o.getSchema())),d=e.computed(()=>JSON.stringify(m.value,null,2)),c=e.computed(()=>JSON.stringify(a.value,null,2));function p(){i.value++,r.value++}function $(E){const g=o.getSchema().controls;g.splice(0,g.length,...E),o.selectNode(void 0),o.snapshot("update"),p()}function D(){$(J())}function U(){$([]),a.value={}}async function k(E,g){try{await navigator.clipboard.writeText(E),alert(`${g} 已复制到剪贴板`)}catch(b){console.warn("clipboard failed",b)}}function y(){k(f.serialize(o.getSchema()),"Schema JSON")}function _(){k(d.value,"Inquirer JSON")}const A=e.computed(()=>`import inquirer from 'inquirer'
3
+ return true;`,'return Array.isArray(input) && input.length > 0 ? true : "请选择至少一项";'],s=['return input?.trim() ?? "";',"return Number(input) || 0;","return input?.toLowerCase();"],r=["return input ? `⭐ ${input}` : input;",'return input ? `${input} (${answers.unit || ""})` : input;',"return input ? input.toUpperCase() : input;"],{t:l}=W(),i=n;function f(c){i("update",{props:{message:c,label:c}})}return(c,d)=>(e.openBlock(),e.createBlock(Be,{label:t.label,field:t.field,onUpdate:d[0]||(d[0]=p=>i("update",p))},{default:e.withCtx(({updateProp:p})=>[e.createVNode(e.unref(m.TextSetting),{label:e.unref(l)("config.message"),"model-value":t.message,"onUpdate:modelValue":f},null,8,["label","model-value"]),e.createVNode(qe,{label:e.unref(l)("config.description"),"model-value":t.description,"min-rows":2,"max-rows":3,"onUpdate:modelValue":u=>p("description",u)},null,8,["label","model-value","onUpdate:modelValue"]),t.showPlaceholder?(e.openBlock(),e.createBlock(e.unref(m.TextSetting),{key:0,label:e.unref(l)("config.placeholder"),"model-value":t.placeholder,"onUpdate:modelValue":u=>p("placeholder",u)},null,8,["label","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"defaultValue",{updateProp:p},()=>[t.showDefaultInput?(e.openBlock(),e.createBlock(e.unref(m.TextSetting),{key:0,label:e.unref(l)("config.default_value"),"model-value":t.defaultValue,"onUpdate:modelValue":u=>p("defaultValue",u)},null,8,["label","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0)],!0),e.createElementVNode("div",at,[e.createVNode(e.unref(m.TextSetting),{label:e.unref(l)("config.prefix"),"model-value":t.prefix,"onUpdate:modelValue":u=>p("prefix",u)},null,8,["label","model-value","onUpdate:modelValue"]),e.createVNode(e.unref(m.TextSetting),{label:e.unref(l)("config.suffix"),"model-value":t.suffix,"onUpdate:modelValue":u=>p("suffix",u)},null,8,["label","model-value","onUpdate:modelValue"])]),e.createVNode(e.unref(m.SwitchSetting),{label:e.unref(l)("config.required"),"model-value":t.required,"onUpdate:modelValue":u=>p("required",u)},null,8,["label","model-value","onUpdate:modelValue"]),e.renderSlot(c.$slots,"extra",{updateProp:p},void 0,!0),e.createVNode(R,{label:e.unref(l)("config.expressions.when_label"),info:e.unref(l)("config.expressions.when_info"),"model-value":t.whenExpression,"min-rows":2,"max-rows":3,placeholder:e.unref(l)("editor.placeholder"),suggestions:o,"onUpdate:modelValue":u=>p("whenExpression",u)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(R,{label:e.unref(l)("config.expressions.validate_label"),info:e.unref(l)("config.expressions.validate_info"),"model-value":t.validateExpression,"min-rows":3,"max-rows":5,placeholder:e.unref(l)("editor.placeholder"),suggestions:a,"onUpdate:modelValue":u=>p("validateExpression",u)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(R,{label:e.unref(l)("config.expressions.filter_label"),info:e.unref(l)("config.expressions.filter_info"),"model-value":t.filterExpression,"min-rows":2,"max-rows":4,placeholder:e.unref(l)("editor.placeholder"),suggestions:s,"onUpdate:modelValue":u=>p("filterExpression",u)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"]),e.createVNode(R,{label:e.unref(l)("config.expressions.transformer_label"),info:e.unref(l)("config.expressions.transformer_info"),"model-value":t.transformerExpression,"min-rows":2,"max-rows":4,placeholder:e.unref(l)("editor.placeholder"),suggestions:r,"onUpdate:modelValue":u=>p("transformerExpression",u)},null,8,["label","info","model-value","placeholder","onUpdate:modelValue"])]),_:3},8,["label","field"]))}}),[["__scopeId","data-v-43dc3bfd"]]),rt=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),null,16))}});function C(t){return`${t}_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function V(t,n){return{label:t,value:n??t}}const B={input:Le,password:Qe,number:Te,confirm:Ie,list:Ge,rawList:Xe,expand:Ae,checkbox:Pe,editor:Ye},Y={"zh-CN":{controls:{input:{label:"文本输入",message:"请输入文本",placeholder:"请输入内容"},password:{label:"密码",message:"请输入密码",placeholder:"请输入密码"},number:{label:"数字",message:"请输入数字",placeholder:"请输入数字"},confirm:{label:"确认",message:"是否确认?"},list:{label:"单选列表",message:"请选择一个选项",placeholder:"请选择",option:"选项"},rawlist:{label:"序号列表",message:"请选择一个选项",placeholder:"请选择",option:"选项"},expand:{label:"扩展列表",message:"请选择一个选项",option:"选项"},checkbox:{label:"多选框",message:"请选择选项(可多选)",option:"选项"},editor:{label:"长文本",message:"请输入长文本内容",placeholder:"请输入详细内容"}},runtime:{emptyForm:"暂无表单内容",required:"此项为必填项",invalidNumber:"请输入有效的数字",minValue:"值不能小于 {min}",maxValue:"值不能大于 {max}"}},"en-US":{controls:{input:{label:"Text Input",message:"Please enter text",placeholder:"Enter content"},password:{label:"Password",message:"Please enter password",placeholder:"Enter password"},number:{label:"Number",message:"Please enter a number",placeholder:"Enter number"},confirm:{label:"Confirm",message:"Confirm?"},list:{label:"List",message:"Please select an option",placeholder:"Select",option:"Option"},rawlist:{label:"Raw List",message:"Please select an option",placeholder:"Select",option:"Option"},expand:{label:"Expand List",message:"Please select an option",option:"Option"},checkbox:{label:"Checkbox",message:"Please select options (multiple)",option:"Option"},editor:{label:"Editor",message:"Please enter long text",placeholder:"Enter detailed content"}},runtime:{emptyForm:"No form content",required:"This field is required",invalidNumber:"Please enter a valid number",minValue:"Value cannot be less than {min}",maxValue:"Value cannot be greater than {max}"}}};function st(){if(typeof window<"u"){const t=document.documentElement,n=t.getAttribute("lang")||t.lang;if(n==="en-US"||n==="en")return"en-US"}return"zh-CN"}function it(t){const n=st(),o=t.split(".");let a=Y[n];for(const s of o)if(a&&typeof a=="object")a=a[s];else return t;return typeof a=="string"?a:t}function b(t,n){return it(t)}const K={type:"inq-input",category:"inputControl",label:"输入",icon:B.input,isContainer:!1,initialSchema:()=>{const t=b("controls.input.message");return{id:C("inq_input"),type:"inq-input",field:"question_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"input",placeholder:b("controls.input.placeholder"),defaultValue:"",prefix:"",suffix:"",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:Ve,runtime:Ee,config:rt,locales:{"zh-CN":{control:{"inq-input":{label:"输入"}}},"en-US":{control:{"inq-input":{label:"Input"}}}}},ct=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i}=e.toRefs(o);return(f,c)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Password","is-active":e.unref(i),onSelect:c[0]||(c[0]=d=>a("select"))},null,8,["label","message","description","is-active"]))}}),dt={class:"inquirer-password"},pt={key:0,class:"mask-hint"},mt=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},prefix:{},suffix:{},maskEnabled:{type:Boolean},maskSymbol:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(a,s)=>(e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(e.unref(h.ElInput),{"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,type:"password","show-password":"","onUpdate:modelValue":s[0]||(s[0]=r=>o("update:modelValue",r??""))},e.createSlots({_:2},[t.prefix?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.prefix),1)]),key:"0"}:void 0,t.suffix?{name:"append",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),key:"1"}:void 0]),1032,["model-value","placeholder","disabled"]),t.maskEnabled?(e.openBlock(),e.createElementBlock("p",pt," 输出将使用 "+e.toDisplayString(t.maskSymbol||"掩码")+" 掩码 ",1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-027f448e"]]),ft=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},maskEnabled:{type:Boolean},maskSymbol:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(m.SwitchSetting),{label:"掩码输出","model-value":t.maskEnabled,"onUpdate:modelValue":i=>l("maskEnabled",i)},null,8,["model-value","onUpdate:modelValue"]),t.maskEnabled?(e.openBlock(),e.createBlock(e.unref(m.TextSetting),{key:0,label:"掩码符号","model-value":t.maskSymbol,"onUpdate:modelValue":i=>l("maskSymbol",i)},null,8,["model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:1},16))}}),X={type:"inq-password",category:"inputControl",label:"密码",icon:B.password,isContainer:!1,initialSchema:()=>{const t=b("controls.password.message");return{id:C("inq_password"),type:"inq-password",field:"secret_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"password",placeholder:b("controls.password.placeholder"),defaultValue:"",prefix:"",suffix:"",maskEnabled:!0,maskSymbol:"*",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:ct,runtime:mt,config:ft,locales:{"zh-CN":{control:{"inq-password":{label:"密码"}}},"en-US":{control:{"inq-password":{label:"Password"}}}}},ut=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i}=e.toRefs(o);return(f,c)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Number","is-active":e.unref(i),onSelect:c[0]||(c[0]=d=>a("select"))},null,8,["label","message","description","is-active"]))}}),ht={class:"number-runtime"},gt={key:0,class:"affix"},xt={key:1,class:"affix"},bt=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},min:{},max:{},step:{},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(a,s)=>(e.openBlock(),e.createElementBlock("div",ht,[t.prefix?(e.openBlock(),e.createElementBlock("span",gt,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElInputNumber),{class:"number-runtime__input","model-value":t.modelValue,placeholder:t.placeholder,disabled:t.disabled,min:t.min,max:t.max,step:t.step||1,"controls-position":"right","onUpdate:modelValue":s[0]||(s[0]=r=>o("update:modelValue",r??void 0))},null,8,["model-value","placeholder","disabled","min","max","step"]),t.suffix?(e.openBlock(),e.createElementBlock("span",xt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-41430bc7"]]),yt={class:"number-setting"},kt=e.defineComponent({__name:"NumberSetting",props:{label:{},modelValue:{},min:{default:Number.NEGATIVE_INFINITY},max:{default:Number.POSITIVE_INFINITY},step:{default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;return(a,s)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("label",null,e.toDisplayString(t.label),1),e.createVNode(e.unref(h.ElInputNumber),{"model-value":t.modelValue,min:t.min,max:t.max,step:t.step,"controls-position":"right","onUpdate:modelValue":s[0]||(s[0]=r=>o("update:modelValue",r??void 0))},null,8,["model-value","min","max","step"])]))}}),D=x(kt,[["__scopeId","data-v-9db53040"]]),Vt=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},min:{},max:{},step:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{"show-placeholder":!1,onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createVNode(D,{label:"默认值","model-value":t.defaultValue,"onUpdate:modelValue":i=>l("defaultValue",i)},null,8,["model-value","onUpdate:modelValue"])]),extra:e.withCtx(({updateProp:l})=>[e.createVNode(D,{label:"最小值","model-value":t.min,"onUpdate:modelValue":i=>l("min",i)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(D,{label:"最大值","model-value":t.max,"onUpdate:modelValue":i=>l("max",i)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(D,{label:"步长","model-value":t.step,min:0,step:.1,"onUpdate:modelValue":i=>l("step",i)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),Z={type:"inq-number",category:"inputControl",label:"数字",icon:B.number,isContainer:!1,initialSchema:()=>{const t=b("controls.number.message");return{id:C("inq_number"),type:"inq-number",field:"amount_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"number",defaultValue:0,min:0,max:100,step:1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:ut,runtime:bt,config:Vt,locales:{"zh-CN":{control:{"inq-number":{label:"数字"}}},"en-US":{control:{"inq-number":{label:"Number"}}}}},_t=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i}=e.toRefs(o);return(f,c)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Confirm","is-active":e.unref(i),onSelect:c[0]||(c[0]=d=>a("select"))},null,8,["label","message","description","is-active"]))}}),wt={class:"confirm-runtime"},Et={key:0,class:"affix"},Ct={class:"state"},Bt={key:1,class:"affix"},St=x(e.defineComponent({__name:"runtime",props:{modelValue:{type:Boolean},disabled:{type:Boolean},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n;function a(s){o("update:modelValue",!!s)}return(s,r)=>(e.openBlock(),e.createElementBlock("div",wt,[t.prefix?(e.openBlock(),e.createElementBlock("span",Et,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElSwitch),{"model-value":t.modelValue??!1,disabled:t.disabled,"onUpdate:modelValue":a},null,8,["model-value","disabled"]),e.createElementVNode("span",Ct,e.toDisplayString(t.modelValue??!1?"Yes":"No"),1),t.suffix?(e.openBlock(),e.createElementBlock("span",Bt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-220e5de9"]]),Nt=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},defaultValue:{type:Boolean},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{"show-placeholder":!1,onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(m.SwitchSetting),{label:"默认值 (Yes/No)","model-value":t.defaultValue??!1,"onUpdate:modelValue":i=>l("defaultValue",i)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),v={type:"inq-confirm",category:"inputControl",label:"确认",icon:B.confirm,isContainer:!1,initialSchema:()=>{const t=b("controls.confirm.message");return{id:C("inq_confirm"),type:"inq-confirm",field:"confirm_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"confirm",defaultValue:!1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:_t,runtime:St,config:Nt,locales:{"zh-CN":{control:{"inq-confirm":{label:"确认"}}},"en-US":{control:{"inq-confirm":{label:"Confirm"}}}}},qt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i,choices:f}=e.toRefs(o);return(c,d)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),options:e.unref(f),"type-label":"Inquirer List","is-active":e.unref(i),onSelect:d[0]||(d[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),$t={class:"inquirer-list"},It={key:0,class:"affix"},Ut={key:1,class:"affix"},Dt={key:2,class:"list-hint"},zt={key:0},Tt={key:1},H=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},choices:{},prefix:{},suffix:{},pageSize:{},loop:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>(o.choices??[]).map(r=>({label:r.label||r.value,value:r.value})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",$t,[t.prefix?(e.openBlock(),e.createElementBlock("span",It,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElSelect),{class:"select-runtime","model-value":t.modelValue,placeholder:t.placeholder,disabled:t.disabled,filterable:"",clearable:"","onUpdate:modelValue":l[0]||(l[0]=i=>a("update:modelValue",i))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","placeholder","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0),t.loop||t.pageSize?(e.openBlock(),e.createElementBlock("p",Dt,[t.pageSize?(e.openBlock(),e.createElementBlock("span",zt,"每页 "+e.toDisplayString(t.pageSize)+" 项",1)):e.createCommentVNode("",!0),t.loop?(e.openBlock(),e.createElementBlock("span",Tt," · 循环导航开启")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-ed3b4861"]]),F=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},choices:{},defaultChoice:{},pageSize:{},loop:{type:Boolean}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(m.OptionsEditor),{label:"选项","model-value":t.choices,"onUpdate:modelValue":i=>l("choices",i)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(e.unref(m.TextSetting),{label:"默认选项值","model-value":t.defaultChoice,"onUpdate:modelValue":i=>l("defaultChoice",i)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(D,{label:"pageSize","model-value":t.pageSize,min:1,"onUpdate:modelValue":i=>l("pageSize",i)},null,8,["model-value","onUpdate:modelValue"]),e.createVNode(e.unref(m.SwitchSetting),{label:"循环 (loop)","model-value":t.loop,"onUpdate:modelValue":i=>l("loop",i)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),ee={type:"inq-list",category:"inputControl",label:"列表",icon:B.list,isContainer:!1,initialSchema:()=>{const t=b("controls.list.message");return{id:C("inq_list"),type:"inq-list",field:"list_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"list",placeholder:b("controls.list.placeholder"),defaultChoice:"opt_1",choices:[V(b("controls.list.option")+" 1","opt_1"),V(b("controls.list.option")+" 2","opt_2")],pageSize:7,loop:!0,prefix:"",suffix:"",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:qt,runtime:H,config:F,locales:{"zh-CN":{control:{"inq-list":{label:"列表"}}},"en-US":{control:{"inq-list":{label:"List"}}}}},Mt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i,choices:f}=e.toRefs(o);return(c,d)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),options:e.unref(f),"type-label":"Inquirer Raw List","is-active":e.unref(i),onSelect:d[0]||(d[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),Lt={type:"inq-rawlist",category:"inputControl",label:"序号列表",icon:B.rawList,isContainer:!1,initialSchema:()=>({id:C("inq_rawlist"),type:"inq-rawlist",field:"rawlist_"+Math.random().toString(36).slice(2,6),props:{label:"数字选择题",message:"请输入序号选择",promptType:"rawlist",placeholder:"输入编号",defaultChoice:"opt_a",choices:[V("Alpha","opt_a"),V("Beta","opt_b"),V("Gamma","opt_c")],pageSize:5,loop:!1,prefix:"#",suffix:"",required:!0,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Mt,runtime:H,config:F,locales:{"zh-CN":{control:{"inq-rawlist":{label:"序号列表"}}},"en-US":{control:{"inq-rawlist":{label:"Raw List"}}}}},Rt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i,choices:f}=e.toRefs(o);return(c,d)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),options:e.unref(f),"type-label":"Inquirer Expand","is-active":e.unref(i),onSelect:d[0]||(d[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),At={type:"inq-expand",category:"inputControl",label:"扩展列表",icon:B.expand,isContainer:!1,initialSchema:()=>({id:C("inq_expand"),type:"inq-expand",field:"expand_"+Math.random().toString(36).slice(2,6),props:{label:"扩展选择",message:"通过按键选择",promptType:"expand",placeholder:"按键选择",defaultChoice:"opt_1",choices:[V("继续","opt_1"),V("跳过","opt_2"),V("退出","opt_3")],pageSize:5,loop:!1,prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}),designer:Rt,runtime:H,config:F,locales:{"zh-CN":{control:{"inq-expand":{label:"扩展列表"}}},"en-US":{control:{"inq-expand":{label:"Expand"}}}}},Ot=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean},choices:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i,choices:f}=e.toRefs(o);return(c,d)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),options:e.unref(f),"type-label":"Inquirer Checkbox","is-active":e.unref(i),onSelect:d[0]||(d[0]=p=>a("select"))},null,8,["label","message","description","options","is-active"]))}}),Pt={class:"checkbox-wrapper"},Ht={key:0,class:"affix"},Ft={key:1,class:"affix"},Jt=x(e.defineComponent({__name:"runtime",props:{modelValue:{},disabled:{type:Boolean},choices:{},prefix:{},suffix:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>(o.choices??[]).map(r=>({label:r.label||r.value,value:r.value})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",Pt,[t.prefix?(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElCheckboxGroup),{class:"checkbox-runtime","model-value":t.modelValue||[],disabled:t.disabled,"onUpdate:modelValue":l[0]||(l[0]=i=>a("update:modelValue",i))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createBlock(e.unref(h.ElCheckbox),{key:i.value,label:i.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",Ft,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-5def473d"]]),Gt={class:"multi-default"},jt=x(e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},choices:{},defaultChoices:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{defaultValue:e.withCtx(({updateProp:l})=>[e.createElementVNode("div",Gt,[r[1]||(r[1]=e.createElementVNode("label",null,"默认选中值",-1)),e.createVNode(e.unref(h.ElSelect),{multiple:"","collapse-tags":"","collapse-tags-tooltip":"","model-value":t.defaultChoices||[],"onUpdate:modelValue":i=>l("defaultChoices",i)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.choices||[],i=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])])]),extra:e.withCtx(({updateProp:l})=>[e.createVNode(e.unref(m.OptionsEditor),{label:"选项","model-value":t.choices,"onUpdate:modelValue":i=>l("choices",i)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),[["__scopeId","data-v-fa680fd2"]]),te={type:"inq-checkbox",category:"inputControl",label:"多选",icon:B.checkbox,isContainer:!1,initialSchema:()=>{const t=b("controls.checkbox.message");return{id:C("inq_checkbox"),type:"inq-checkbox",field:"checkbox_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"checkbox",choices:[V(b("controls.checkbox.option")+" 1","opt_1"),V(b("controls.checkbox.option")+" 2","opt_2"),V(b("controls.checkbox.option")+" 3","opt_3")],defaultChoices:["opt_1"],prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:Ot,runtime:Jt,config:jt,locales:{"zh-CN":{control:{"inq-checkbox":{label:"多选"}}},"en-US":{control:{"inq-checkbox":{label:"Checkbox"}}}}},Qt=e.defineComponent({__name:"designer",props:{label:{},message:{},description:{},isActive:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,{label:s,message:r,description:l,isActive:i}=e.toRefs(o);return(f,c)=>(e.openBlock(),e.createBlock(E,{label:e.unref(s),message:e.unref(r),description:e.unref(l),"type-label":"Inquirer Editor","is-active":e.unref(i),onSelect:c[0]||(c[0]=d=>a("select"))},null,8,["label","message","description","is-active"]))}}),Wt={class:"editor-runtime"},Yt={key:0,class:"affix"},Kt={key:1,class:"affix"},Xt={key:2,class:"transformer-preview"},Zt=x(e.defineComponent({__name:"runtime",props:{modelValue:{},placeholder:{},rows:{},disabled:{type:Boolean},prefix:{},suffix:{},displayValue:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>o.displayValue===void 0?!1:o.displayValue!==o.modelValue);return(r,l)=>(e.openBlock(),e.createElementBlock("div",Wt,[t.prefix?(e.openBlock(),e.createElementBlock("span",Yt,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createVNode(e.unref(h.ElInput),{type:"textarea",rows:t.rows||6,"model-value":t.modelValue??"",placeholder:t.placeholder,disabled:t.disabled,"onUpdate:modelValue":l[0]||(l[0]=i=>a("update:modelValue",i??""))},null,8,["rows","model-value","placeholder","disabled"]),t.suffix?(e.openBlock(),e.createElementBlock("span",Kt,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("p",Xt,e.toDisplayString(t.displayValue),1)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-768e57da"]]),vt=e.defineComponent({__name:"config",props:{label:{},field:{},message:{},placeholder:{},defaultValue:{},prefix:{},suffix:{},required:{type:Boolean},whenExpression:{},validateExpression:{},filterExpression:{},transformerExpression:{},rows:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n;return(s,r)=>(e.openBlock(),e.createBlock(N,e.mergeProps(o,{onUpdate:r[0]||(r[0]=l=>a("update",l))}),{extra:e.withCtx(({updateProp:l})=>[e.createVNode(D,{label:"行数","model-value":t.rows,min:2,max:20,"onUpdate:modelValue":i=>l("rows",i)},null,8,["model-value","onUpdate:modelValue"])]),_:1},16))}}),oe={type:"inq-editor",category:"inputControl",label:"长文本",icon:B.editor,isContainer:!1,initialSchema:()=>{const t=b("controls.editor.message");return{id:C("inq_editor"),type:"inq-editor",field:"editor_"+Math.random().toString(36).slice(2,6),props:{label:t,message:t,promptType:"editor",placeholder:b("controls.editor.placeholder"),rows:6,defaultValue:"",prefix:"",suffix:"",required:!1,whenExpression:"",validateExpression:"",filterExpression:"",transformerExpression:""}}},designer:Qt,runtime:Zt,config:vt,locales:{"zh-CN":{control:{"inq-editor":{label:"长文本"}}},"en-US":{control:{"inq-editor":{label:"Editor"}}}}},ne=[K,X,Z,v,ee,Lt,At,te,oe];function J(){m.registry.replaceAll(ne)}function q(t,n){const o=t.initialSchema();return{...o,...n,props:{...o.props,...n.props}}}function G(t){return[q(K,{field:"fullName",props:{label:t("sample.fullName.message"),message:t("sample.fullName.message"),placeholder:t("sample.fullName.placeholder"),description:t("sample.fullName.description")}}),q(X,{field:"accountPassword",props:{label:t("sample.password.message"),message:t("sample.password.message"),description:t("sample.password.description")}}),q(Z,{field:"age",props:{label:t("sample.age.message"),message:t("sample.age.message"),min:0,max:120,required:!0,description:t("sample.age.description")}}),q(v,{field:"allowContact",props:{label:t("sample.allowContact.message"),message:t("sample.allowContact.message"),defaultValue:!0,description:t("sample.allowContact.description")}}),q(ee,{field:"favoriteStack",props:{label:t("sample.favoriteStack.message"),message:t("sample.favoriteStack.message"),defaultChoice:"ts",description:t("sample.favoriteStack.description")}}),q(te,{field:"tools",props:{label:t("sample.tools.message"),message:t("sample.tools.message"),defaultChoices:["git","eslint"],choices:[{label:t("sample.tools.choices.git"),value:"git"},{label:t("sample.tools.choices.eslint"),value:"eslint"},{label:t("sample.tools.choices.vite"),value:"vite"},{label:t("sample.tools.choices.vitest"),value:"vitest"}],description:t("sample.tools.description")}}),q(oe,{field:"bio",props:{label:t("sample.bio.message"),message:t("sample.bio.message"),rows:5,description:t("sample.bio.description")}})]}const le=e.defineComponent({name:"InquirerFormDesigner",__name:"InquirerFormDesigner",props:{engine:{},seedSample:{type:Boolean,default:!1},autoRegisterControls:{type:Boolean,default:!0}},setup(t){const n=t,o=new m.SchemaEngine,a=e.computed(()=>n.engine??o);let s=null;const r=n.autoRegisterControls;return r&&(s=[...m.registry.getAll()],J()),n.seedSample&&a.value.getSchema().controls.length===0&&(a.value.getSchema().controls=G()),e.onBeforeUnmount(()=>{r&&s&&m.registry.replaceAll(s)}),(l,i)=>(e.openBlock(),e.createBlock(e.unref(m.FormDesigner),{engine:a.value},null,8,["engine"]))}}),eo={"inq-input":"input","inq-password":"password","inq-number":"number","inq-confirm":"confirm","inq-list":"list","inq-rawlist":"rawlist","inq-expand":"expand","inq-checkbox":"checkbox","inq-editor":"editor"},to=["list","rawlist","expand","checkbox"];function ae(t){const n=t.props?.promptType;return n||(eo[t.type]??null)}function oo(t){return to.includes(t)}function j(t){const n=ae(t);if(!n)return;const o=t.props||{};if(n==="confirm")return typeof o.defaultValue=="boolean"?o.defaultValue:!1;if(n==="checkbox")return Array.isArray(o.defaultChoices)?o.defaultChoices:Array.isArray(o.defaultValue)?o.defaultValue:[];if(n==="number"){const a=Number(o.defaultValue);return Number.isNaN(a)?void 0:a}if((n==="list"||n==="rawlist"||n==="expand")&&typeof o.defaultChoice=="string")return o.defaultChoice;if(o.defaultValue!==void 0&&o.defaultValue!==null)return o.defaultValue;if(n==="input"||n==="password"||n==="editor")return""}function A(t,n){if(!(!t||typeof t!="string"))try{return new Function("input","answers",t)(n.input,n.answers)}catch(o){console.warn("[inquirer-demo] 表达式执行失败:",o);return}}function no(t,n){const o=t.props?.whenExpression;if(!o)return!0;const a=A(o,{input:n[t.field||""],answers:n});return typeof a=="boolean"?a:!0}function lo(t,n,o){const a=t.props?.filterExpression;if(!a)return n;const s=A(a,{input:n,answers:o});return s===void 0?n:s}function ao(t,n,o){const a=t.props?.transformerExpression;if(!a)return n;const s=A(a,{input:n,answers:o});return s===void 0?n:s}function re(t,n,o){const a=t.props?.validateExpression;if(!a&&!t.props?.required)return null;if(a){const s=A(a,{input:n,answers:o});if(s===!0||s===void 0)return null;if(typeof s=="string")return s}else if(t.props?.required){if(n==null||n==="")return"Please input";if(Array.isArray(n)&&n.length===0)return"Please select"}return null}function ro(t,n){if(!n.field||t[n.field]!==void 0)return;const o=j(n);o!==void 0&&(t[n.field]=o)}function so(t){if(typeof t.props?.description=="string"&&t.props.description.trim().length>0)return t.props.description.trim();if(typeof t.props?.message=="string"&&t.props.message.trim().length>0)return t.props.message.trim()}const io={key:0,class:"inquirer-container"},co={key:0,class:"node-description"},po={key:1,class:"node-error"},mo=x(e.defineComponent({name:"InquirerRuntimeNode",__name:"InquirerRuntimeNode",props:{node:{},formData:{}},emits:["update"],setup(t,{emit:n}){const o=t,a=n,s=e.computed(()=>m.registry.get(o.node.type)),r=e.computed(()=>s.value?.runtime||null),l=e.computed(()=>o.formData||{}),i=e.computed(()=>{if(o.node.field)return l.value[o.node.field]}),f=e.computed(()=>so(o.node)),c=e.ref(null),d=e.computed(()=>no(o.node,l.value));e.watch(d,_=>{!_&&o.node.field&&l.value[o.node.field]!==void 0&&(a("update",o.node.field,void 0),c.value=null)},{immediate:!0}),e.watch(()=>i.value,_=>{c.value=re(o.node,_,l.value)},{immediate:!0});function p(_){if(!o.node.field)return;const I=lo(o.node,_,l.value);a("update",o.node.field,I),c.value=re(o.node,I,l.value)}const u=e.computed(()=>typeof o.node.props?.message=="string"&&o.node.props.message.trim()?o.node.props.message:typeof o.node.props?.label=="string"&&o.node.props.label.trim()?o.node.props.label:o.node.field||"未命名控件"),O=e.computed(()=>ao(o.node,i.value,l.value)),z=e.computed(()=>s.value?.isContainer??!1);function w(_,I){a("update",_,I)}return(_,I)=>{const M=e.resolveComponent("InquirerRuntimeNode",!0);return d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[z.value?(e.openBlock(),e.createElementBlock("div",io,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),e.normalizeProps(e.guardReactiveProps(t.node.props)),{default:e.withCtx(()=>[t.node.children&&t.node.children.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.node.children,U=>(e.openBlock(),e.createBlock(M,{key:U.id,node:U,formData:t.formData,onUpdate:w},null,8,["node","formData"]))),128)):e.createCommentVNode("",!0)]),_:1},16))])):(e.openBlock(),e.createBlock(e.unref(m.FormItemWrapper),{key:1,label:u.value},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),e.mergeProps(t.node.props,{modelValue:i.value,displayValue:O.value,"onUpdate:modelValue":p}),{default:e.withCtx(()=>[t.node.children&&t.node.children.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.node.children,U=>(e.openBlock(),e.createBlock(M,{key:U.id,node:U,formData:t.formData,onUpdate:w},null,8,["node","formData"]))),128)):e.createCommentVNode("",!0)]),_:1},16,["modelValue","displayValue"])),f.value?(e.openBlock(),e.createElementBlock("p",co,e.toDisplayString(f.value),1)):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("p",po,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0)]),_:1},8,["label"]))],64)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5d5107df"]]),fo={class:"inquirer-web-runtime"},uo={key:0,class:"runtime-empty"},Q=x(e.defineComponent({name:"InquirerFormRuntime",__name:"InquirerFormRuntime",props:{schema:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:n}){const{t:o}=P.useI18n({messages:Y,inheritLocale:!0}),a=t,s=n,r=e.ref({...a.modelValue||{}});e.watch(()=>a.modelValue,c=>{r.value={...c||{}}},{deep:!0}),e.watch(()=>a.schema.controls,()=>{l()},{deep:!0,immediate:!0});function l(){i(a.schema.controls),s("update:modelValue",{...r.value})}function i(c){c&&c.forEach(d=>{ro(r.value,d),d.children?.length&&i(d.children)})}function f(c,d){d===void 0?delete r.value[c]:r.value[c]=d,s("update:modelValue",{...r.value})}return(c,d)=>(e.openBlock(),e.createElementBlock("div",fo,[e.createVNode(e.unref(h.ElForm),{class:"form-content","label-position":"top",model:r.value},{default:e.withCtx(()=>[!t.schema.controls||t.schema.controls.length===0?(e.openBlock(),e.createElementBlock("div",uo,e.toDisplayString(e.unref(o)("runtime.emptyForm")),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.schema.controls,p=>(e.openBlock(),e.createBlock(mo,{key:p.id,node:p,formData:r.value,onUpdate:f},null,8,["node","formData"]))),128))]),_:1},8,["model"])]))}}),[["__scopeId","data-v-6fa4aa68"]]);function se(t,n={}){const o=[];function a(s){s&&s.forEach(r=>{const l=ho(r,n);l&&o.push(l),r.children?.length&&a(r.children)})}return a(t.controls),o}function ho(t,n){const o=ae(t);if(!o||t.props?.disabled&&!n.includeDisabled)return null;const a=t.field?.trim()||t.props?.alias||t.id,s=t.props?.message?.trim()||t.props?.label||a,r=j(t),l={type:o,name:a,message:s,default:r,prefix:$(t.props?.prefix),suffix:$(t.props?.suffix),pageSize:T(t.props?.pageSize),loop:typeof t.props?.loop=="boolean"?t.props.loop:void 0,whenExpression:$(t.props?.whenExpression),validateExpression:xo(t),filterExpression:$(t.props?.filterExpression),transformerExpression:$(t.props?.transformerExpression),mask:go(t.props),choices:bo(o,t.props),metadata:{schemaNodeId:t.id,label:t.props?.label,placeholder:t.props?.placeholder,required:!!t.props?.required,inquirerType:o,group:t.props?.groupLabel,description:t.props?.description}};return o==="checkbox"&&(l.metadata={...l.metadata,defaultChoices:Array.isArray(t.props?.defaultChoices)?t.props.defaultChoices:void 0}),o==="number"&&(l.metadata={...l.metadata,min:T(t.props?.min),max:T(t.props?.max),step:T(t.props?.step)}),o==="editor"&&(l.metadata={...l.metadata,rows:T(t.props?.rows)}),l}function go(t={}){if(t.maskEnabled)return typeof t.maskSymbol=="string"&&t.maskSymbol.trim().length>0?t.maskSymbol:!0}function xo(t){const n=$(t.props?.validateExpression);if(n)return n;if(t.props?.required)return"return input ? true : 'Please input'"}function bo(t,n={}){if(!oo(t))return;const o=n.choices;return!Array.isArray(o)||o.length===0?[]:o.filter(a=>typeof a?.label=="string"&&typeof a?.value=="string").map(a=>({name:a.label,value:a.value,short:$(a.short)}))}function $(t){if(typeof t!="string")return;const n=t.trim();return n.length?n:void 0}function T(t){if(t==null)return;const n=Number(t);return Number.isNaN(n)?void 0:n}const ie={"zh-CN":{playground:{title:"Inquirer 表单设计器",subtitle:"Element Plus 风格的 CLI 表单工作台",actions:{generateSample:"生成示例表单",clearForm:"清空表单",copySchema:"复制 Schema JSON",copyInquirer:"复制 Inquirer JSON"},tabs:{designer:{label:"可视化设计器",desc:"拖拽控件,构建 Schema"},runtime:{label:"Web端预览",desc:"运行态在线预览"},export:{label:"Inquirer示例",desc:"生成 Inquirer prompt 以及调用示例"}},runtime:{formDataTitle:"FormData(实时)"},export:{copyButton:"复制 JSON",exampleTitle:"调用示例"},messages:{copied:"已复制到剪贴板"}}},"en-US":{playground:{title:"Inquirer Form Designer",subtitle:"Element Plus styled CLI form workbench",actions:{generateSample:"Generate Sample",clearForm:"Clear Form",copySchema:"Copy Schema JSON",copyInquirer:"Copy Inquirer JSON"},tabs:{designer:{label:"Visual Designer",desc:"Drag controls, build Schema"},runtime:{label:"Web Preview",desc:"Runtime online preview"},export:{label:"Inquirer Example",desc:"Generate Inquirer prompt and usage example"}},runtime:{formDataTitle:"FormData (Live)"},export:{copyButton:"Copy JSON",exampleTitle:"Usage Example"},messages:{copied:"Copied to clipboard"}}}},ce={"zh-CN":{sample:{fullName:{label:"姓名",message:"请输入您的姓名",placeholder:"张三",description:"该信息将用于生成问候语"},password:{label:"账户密码",message:"请输入账户密码",description:"密码不会被保存在示例应用中"},age:{label:"年龄",message:"请输入年龄",description:"用于计算问卷分层,必填"},allowContact:{label:"是否允许联系",message:"我们可以通过邮件联系您吗?",description:"若选择是,将会收到提效工具邮件"},favoriteStack:{label:"技术栈",message:"请选择主要技术栈",description:"用于统计语言偏好"},tools:{label:"常用工具",message:"请选择常用工具",description:"可多选",choices:{git:"Git",eslint:"ESLint",vite:"Vite",vitest:"Vitest"}},bio:{label:"自我介绍",message:"请输入自我介绍",description:"可用于在 inquirer 中展示更丰富的信息"}}},"en-US":{sample:{fullName:{label:"Full Name",message:"Please enter your full name",placeholder:"John Doe",description:"This information will be used to generate greetings"},password:{label:"Account Password",message:"Please enter your account password",description:"Password will not be saved in the sample application"},age:{label:"Age",message:"Please enter your age",description:"Used for survey stratification, required"},allowContact:{label:"Allow Contact",message:"May we contact you via email?",description:"If yes, you will receive productivity tool emails"},favoriteStack:{label:"Tech Stack",message:"Please select your primary tech stack",description:"Used for language preference statistics"},tools:{label:"Common Tools",message:"Please select your common tools",description:"Multiple selections allowed",choices:{git:"Git",eslint:"ESLint",vite:"Vite",vitest:"Vitest"}},bio:{label:"Bio",message:"Please enter your bio",description:"Can be used to display richer information in inquirer"}}}},yo={class:"inquirer-demo"},ko={class:"callout-panel"},Vo={class:"callout-header"},_o={class:"callout-title"},wo={class:"callout-actions"},Eo={class:"demo-workspace"},Co={class:"workspace-tabs"},Bo=["onClick"],So={class:"workspace-panel designer-panel"},No={class:"workspace-panel runtime-panel"},qo={class:"runtime-json"},$o={class:"workspace-panel export-panel"},Io={class:"panel-header"},Uo={class:"json-viewer"},Do={class:"code-snippet"},zo=x(e.defineComponent({__name:"InquirerFormPlayground",setup(t){const n={"zh-CN":{...ie["zh-CN"],...ce["zh-CN"]},"en-US":{...ie["en-US"],...ce["en-US"]}},{t:o}=P.useI18n({messages:n,inheritLocale:!0}),a=new m.SchemaEngine;a.updateInfo({title:"Inquirer Form Definition",description:""});const s=[...m.registry.getAll()];J(),e.onMounted(()=>{a.getSchema().controls.length||_()}),e.onBeforeUnmount(()=>{m.registry.replaceAll(s)});const r=e.ref({}),l=e.ref(0),i=e.ref(0),f=e.computed(()=>[{key:"designer",label:o("playground.tabs.designer.label"),desc:o("playground.tabs.designer.desc")},{key:"runtime",label:o("playground.tabs.runtime.label"),desc:o("playground.tabs.runtime.desc")},{key:"export",label:o("playground.tabs.export.label"),desc:o("playground.tabs.export.desc")}]),c=e.ref(f.value[0]?.key??"designer");e.watch(c,(S,y)=>{S==="runtime"&&y!=="runtime"&&d()});function d(){const S={},y=a.getSchema().controls;function k(pe){pe.forEach(L=>{if(L.field){const me=j(L);me!==void 0&&(S[L.field]=me)}L.children?.length&&k(L.children)})}y?.length&&k(y),r.value=S}const p=e.computed(()=>se(a.getSchema())),u=e.computed(()=>JSON.stringify(p.value,null,2)),O=e.computed(()=>JSON.stringify(r.value,null,2));function z(){l.value++,i.value++}function w(S){const y=a.getSchema().controls;y.splice(0,y.length,...S),a.selectNode(void 0),a.snapshot("update"),z()}function _(){w(G(o))}function I(){w([]),r.value={}}async function M(S,y){try{await navigator.clipboard.writeText(S),alert(`${y} ${o("playground.messages.copied")}`)}catch(k){console.warn("clipboard failed",k)}}function U(){M(m.serialize(a.getSchema()),"Schema JSON")}function de(){M(u.value,"Inquirer JSON")}const Mo=e.computed(()=>`import inquirer from 'inquirer'
4
4
  import { schemaToInquirer } from 'inquirer-form'
5
5
 
6
6
  const questions = schemaToInquirer(schema)
7
7
  const answers = await inquirer.prompt(questions)
8
- console.log(answers)`);return(E,g)=>(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("section",{class:"callout-panel"},[e.createElementVNode("div",{class:"callout-header"},[g[1]||(g[1]=e.createElementVNode("div",null,[e.createElementVNode("h1",null,"🧭 Inquirer 表单调用示例")],-1)),e.createElementVNode("div",{class:"callout-actions"},[e.createElementVNode("button",{onClick:D},"生成示例表单"),e.createElementVNode("button",{onClick:U},"清空表单"),e.createElementVNode("button",{onClick:y},"复制 Schema JSON"),e.createElementVNode("button",{onClick:_},"复制 Inquirer JSON")])])]),e.createElementVNode("main",Ut,[e.createElementVNode("div",It,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,b=>e.createElementVNode("button",{key:b.key,class:e.normalizeClass(["tab-item",{active:b.key===s.value}]),onClick:bn=>s.value=b.key},[e.createElementVNode("span",null,e.toDisplayString(b.label),1),e.createElementVNode("small",null,e.toDisplayString(b.desc),1)],10,Dt)),64))]),e.withDirectives(e.createElementVNode("section",Tt,[(e.openBlock(),e.createBlock(e.unref(f.FormDesigner),{key:i.value,engine:e.unref(o)},null,8,["engine"]))],512),[[e.vShow,s.value==="designer"]]),e.withDirectives(e.createElementVNode("section",Rt,[(e.openBlock(),e.createBlock(F,{key:r.value,schema:e.unref(o).getSchema(),modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=b=>a.value=b)},null,8,["schema","modelValue"])),e.createElementVNode("div",At,[g[2]||(g[2]=e.createElementVNode("header",null,"FormData(实时)",-1)),e.createElementVNode("pre",null,e.toDisplayString(c.value),1)])],512),[[e.vShow,s.value==="runtime"]]),e.withDirectives(e.createElementVNode("section",zt,[e.createElementVNode("div",{class:"panel-header"},[g[3]||(g[3]=e.createElementVNode("div",null,null,-1)),e.createElementVNode("button",{class:"btn-copy",onClick:_},"复制 JSON")]),e.createElementVNode("pre",Lt,e.toDisplayString(d.value),1),e.createElementVNode("div",Mt,[g[4]||(g[4]=e.createElementVNode("header",null,"调用示例",-1)),e.createElementVNode("pre",null,[e.createElementVNode("code",null,e.toDisplayString(A.value),1)])])],512),[[e.vShow,s.value==="export"]]),e.withDirectives(e.createElementVNode("section",Ot,[e.createElementVNode("div",Jt,[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(M),b=>(e.openBlock(),e.createElementBlock("li",{key:b.type},[e.createElementVNode("span",Ft,e.toDisplayString(b.label),1),e.createElementVNode("span",Qt,e.toDisplayString(b.type),1)]))),128))])])],512),[[e.vShow,s.value==="docs"]])])]))}}),[["__scopeId","data-v-cdc491b8"]]),Gt={install(t){t.component("InquirerFormDesigner",X),t.component("InquirerFormRuntime",F)}};u.InquirerFormDesigner=X,u.InquirerFormPlayground=jt,u.InquirerFormRuntime=F,u.createInquirerSampleControls=J,u.default=Gt,u.inquirerControls=M,u.registerInquirerControls=O,u.schemaToInquirer=te,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
8
+ console.log(answers)`);return(S,y)=>(e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("section",ko,[e.createElementVNode("div",Vo,[e.createElementVNode("div",_o,[e.createVNode(e.unref(h.ElIcon),{class:"title-icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(De))]),_:1}),e.createElementVNode("div",null,[e.createElementVNode("h1",null,e.toDisplayString(e.unref(o)("playground.title")),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(o)("playground.subtitle")),1)])]),e.createElementVNode("div",wo,[e.createElementVNode("button",{type:"button",onClick:_},e.toDisplayString(e.unref(o)("playground.actions.generateSample")),1),e.createElementVNode("button",{type:"button",onClick:I},e.toDisplayString(e.unref(o)("playground.actions.clearForm")),1),e.createElementVNode("button",{type:"button",onClick:U},e.toDisplayString(e.unref(o)("playground.actions.copySchema")),1),e.createElementVNode("button",{type:"button",onClick:de},e.toDisplayString(e.unref(o)("playground.actions.copyInquirer")),1)])])]),e.createElementVNode("main",Eo,[e.createElementVNode("div",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,k=>(e.openBlock(),e.createElementBlock("button",{key:k.key,class:e.normalizeClass(["tab-item",{active:k.key===c.value}]),onClick:pe=>c.value=k.key},[e.createElementVNode("span",null,e.toDisplayString(k.label),1),e.createElementVNode("small",null,e.toDisplayString(k.desc),1)],10,Bo))),128))]),e.withDirectives(e.createElementVNode("section",So,[(e.openBlock(),e.createBlock(e.unref(m.FormDesigner),{showControlTabs:!1,key:l.value,engine:e.unref(a)},null,8,["engine"]))],512),[[e.vShow,c.value==="designer"]]),e.withDirectives(e.createElementVNode("section",No,[(e.openBlock(),e.createBlock(Q,{key:i.value,schema:e.unref(a).getSchema(),modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=k=>r.value=k)},null,8,["schema","modelValue"])),e.createElementVNode("div",qo,[e.createElementVNode("header",null,e.toDisplayString(e.unref(o)("playground.runtime.formDataTitle")),1),e.createElementVNode("pre",null,e.toDisplayString(O.value),1)])],512),[[e.vShow,c.value==="runtime"]]),e.withDirectives(e.createElementVNode("section",$o,[e.createElementVNode("div",Io,[y[1]||(y[1]=e.createElementVNode("div",null,null,-1)),e.createElementVNode("button",{class:"btn-copy",onClick:de},e.toDisplayString(e.unref(o)("playground.export.copyButton")),1)]),e.createElementVNode("pre",Uo,e.toDisplayString(u.value),1),e.createElementVNode("div",Do,[e.createElementVNode("header",null,e.toDisplayString(e.unref(o)("playground.export.exampleTitle")),1),e.createElementVNode("pre",null,[e.createElementVNode("code",null,e.toDisplayString(Mo.value),1)])])],512),[[e.vShow,c.value==="export"]])])]))}}),[["__scopeId","data-v-5dae1a4e"]]),To={install(t){t.component("InquirerFormDesigner",le),t.component("InquirerFormRuntime",Q)}};g.InquirerFormDesigner=le,g.InquirerFormPlayground=zo,g.InquirerFormRuntime=Q,g.createInquirerSampleControls=G,g.default=To,g.inquirerControls=ne,g.registerInquirerControls=J,g.schemaToInquirer=se,Object.defineProperties(g,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,72 +1,74 @@
1
- {
2
- "name": "inquirer-form",
3
- "version": "0.2.0",
4
- "description": "Inquirer.js oriented designer/runtime components built on agilebuilder-form",
5
- "keywords": [
6
- "vue3",
7
- "inquirer",
8
- "form-builder",
9
- "schema"
10
- ],
11
- "license": "MIT",
12
- "type": "module",
13
- "private": false,
14
- "main": "./dist/inquirer-form.umd.js",
15
- "module": "./dist/inquirer-form.es.js",
16
- "types": "./dist/index.d.ts",
17
- "exports": {
18
- ".": {
19
- "types": "./dist/index.d.ts",
20
- "import": "./dist/inquirer-form.es.js",
21
- "require": "./dist/inquirer-form.umd.js"
22
- }
23
- },
24
- "files": [
25
- "dist",
26
- "README.md",
27
- "LICENSE"
28
- ],
29
- "engines": {
30
- "node": "^20.19.0 || >=22.12.0"
31
- },
32
- "scripts": {
33
- "dev": "vite",
34
- "build": "run-p type-check \"build-only {@}\" --",
35
- "preview": "vite preview",
36
- "test:unit": "vitest",
37
- "build-only": "vite build",
38
- "type-check": "vue-tsc --build",
39
- "docs:dev": "vitepress dev docs",
40
- "docs:build": "vitepress build docs",
41
- "docs:preview": "vitepress preview docs"
42
- },
43
- "peerDependencies": {
44
- "element-plus": "^2.11.7",
45
- "vue": "^3.5.0",
46
- "vuedraggable": "^4.1.0"
47
- },
48
- "dependencies": {
49
- "@element-plus/icons-vue": "^2.3.2",
50
- "agilebuilder-form": "file:../ag_form",
51
- "vue-i18n": "^10.0.8"
52
- },
53
- "devDependencies": {
54
- "@tsconfig/node22": "^22.0.2",
55
- "@types/jsdom": "^27.0.0",
56
- "@types/node": "^22.18.11",
57
- "@vitejs/plugin-vue": "^6.0.1",
58
- "@vue/test-utils": "^2.4.6",
59
- "@vue/tsconfig": "^0.8.1",
60
- "jsdom": "^27.0.1",
61
- "npm-run-all2": "^8.0.4",
62
- "sass": "^1.93.2",
63
- "typescript": "~5.9.0",
64
- "vite": "^7.1.11",
65
- "vite-plugin-dts": "^4.5.4",
66
- "vite-plugin-vue-devtools": "^8.0.3",
67
- "vitepress": "^1.5.0",
68
- "vitest": "^3.2.4",
69
- "vue": "^3.5.22",
70
- "vue-tsc": "^3.1.1"
71
- }
72
- }
1
+ {
2
+ "name": "inquirer-form",
3
+ "version": "0.2.1",
4
+ "description": "Inquirer.js oriented designer/runtime components built on agilebuilder-form",
5
+ "keywords": [
6
+ "vue3",
7
+ "inquirer",
8
+ "form-builder",
9
+ "schema"
10
+ ],
11
+ "license": "MIT",
12
+ "type": "module",
13
+ "private": false,
14
+ "main": "./dist/inquirer-form.umd.js",
15
+ "module": "./dist/inquirer-form.es.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/inquirer-form.es.js",
21
+ "require": "./dist/inquirer-form.umd.js"
22
+ },
23
+ "./dist/style.css": "./dist/inquirer-form.css",
24
+ "./style.css": "./dist/inquirer-form.css"
25
+ },
26
+ "files": [
27
+ "dist",
28
+ "README.md",
29
+ "LICENSE"
30
+ ],
31
+ "engines": {
32
+ "node": "^20.19.0 || >=22.12.0"
33
+ },
34
+ "scripts": {
35
+ "dev": "vite",
36
+ "build": "run-p type-check \"build-only {@}\" --",
37
+ "preview": "vite preview",
38
+ "test:unit": "vitest",
39
+ "build-only": "vite build",
40
+ "type-check": "vue-tsc --build",
41
+ "docs:dev": "vitepress dev docs",
42
+ "docs:build": "vitepress build docs",
43
+ "docs:preview": "vitepress preview docs"
44
+ },
45
+ "peerDependencies": {
46
+ "element-plus": "^2.11.7",
47
+ "vue": "^3.5.0",
48
+ "vuedraggable": "^4.1.0"
49
+ },
50
+ "dependencies": {
51
+ "@element-plus/icons-vue": "^2.3.2",
52
+ "agilebuilder-form": "file:../ag_form",
53
+ "vue-i18n": "^10.0.8"
54
+ },
55
+ "devDependencies": {
56
+ "@tsconfig/node22": "^22.0.2",
57
+ "@types/jsdom": "^27.0.0",
58
+ "@types/node": "^22.18.11",
59
+ "@vitejs/plugin-vue": "^6.0.1",
60
+ "@vue/test-utils": "^2.4.6",
61
+ "@vue/tsconfig": "^0.8.1",
62
+ "jsdom": "^27.0.1",
63
+ "npm-run-all2": "^8.0.4",
64
+ "sass": "^1.93.2",
65
+ "typescript": "~5.9.0",
66
+ "vite": "^7.1.11",
67
+ "vite-plugin-dts": "^4.5.4",
68
+ "vite-plugin-vue-devtools": "^8.0.3",
69
+ "vitepress": "^1.5.0",
70
+ "vitest": "^3.2.4",
71
+ "vue": "^3.5.22",
72
+ "vue-tsc": "^3.1.1"
73
+ }
74
+ }