@ipa-vue/element-plus 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{HelloWorld-5ZxSl3jB-BreAHagP.js → HelloWorld-BOx2Mf3L-FF-0lnaX.js} +1 -1
- package/lib/{HelloWorld-5ZxSl3jB-CiISNJ3Y.cjs → HelloWorld-BOx2Mf3L-U_DHPMuT.cjs} +1 -1
- package/lib/{IpaBaseTable-DcXajW88.cjs → IpaBaseTable-DV7Y8RCx.cjs} +1 -1
- package/lib/{IpaBaseTable-BR1iS6x3.js → IpaBaseTable-DdS0XxEq.js} +1 -1
- package/lib/{SchemaForm-3BywsX4L.js → SchemaForm-CvZlXamz.js} +1 -1
- package/lib/{SchemaForm-Cw92Loan.cjs → SchemaForm-aCZqAojw.cjs} +1 -1
- package/lib/{ThemeToggle-BUNljRAf-De-AyYWp.cjs → ThemeToggle-D_GKATEV-Bvh1BdP-.cjs} +1 -1
- package/lib/{ThemeToggle-BUNljRAf-BoiQGHBx.js → ThemeToggle-D_GKATEV-DzCIK3Bk.js} +1 -1
- package/lib/element-plus.css +1 -1
- package/lib/index-DSXDkeAI.cjs +84 -0
- package/lib/{index-D0fSvEkD.js → index-DdZSBzvs.js} +3439 -3238
- package/lib/index.cjs +1 -1
- package/lib/index.es.js +1 -1
- package/lib/src/components/ipa-ai-panel/IpaAiPanel.vue.d.ts +7 -2
- package/lib/src/components/ipa-ai-panel/types.d.ts +2 -0
- package/package.json +1 -1
- package/lib/index-D5X4vOw_.cjs +0 -84
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as g, ref as h, openBlock as v, createElementBlock as m, renderSlot as l, unref as c, createElementVNode as t, createStaticVNode as u, toDisplayString as s, createTextVNode as r } from "vue";
|
|
2
|
-
import { s as x, t as w, n as b } from "./index-
|
|
2
|
+
import { s as x, t as w, n as b } from "./index-DdZSBzvs.js";
|
|
3
3
|
const y = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20role='img'%20class='iconify%20iconify--logos'%20width='31.88'%20height='32'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%20256%20257'%3e%3cdefs%3e%3clinearGradient%20id='IconifyId1813088fe1fbc01fb466'%20x1='-.828%25'%20x2='57.636%25'%20y1='7.652%25'%20y2='78.411%25'%3e%3cstop%20offset='0%25'%20stop-color='%2341D1FF'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%23BD34FE'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20id='IconifyId1813088fe1fbc01fb467'%20x1='43.376%25'%20x2='50.316%25'%20y1='2.242%25'%20y2='89.03%25'%3e%3cstop%20offset='0%25'%20stop-color='%23FFEA83'%3e%3c/stop%3e%3cstop%20offset='8.333%25'%20stop-color='%23FFDD35'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%23FFA800'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20fill='url(%23IconifyId1813088fe1fbc01fb466)'%20d='M255.153%2037.938L134.897%20252.976c-2.483%204.44-8.862%204.466-11.382.048L.875%2037.958c-2.746-4.814%201.371-10.646%206.827-9.67l120.385%2021.517a6.537%206.537%200%200%200%202.322-.004l117.867-21.483c5.438-.991%209.574%204.796%206.877%209.62Z'%3e%3c/path%3e%3cpath%20fill='url(%23IconifyId1813088fe1fbc01fb467)'%20d='M185.432.063L96.44%2017.501a3.268%203.268%200%200%200-2.634%203.014l-5.474%2092.456a3.268%203.268%200%200%200%203.997%203.378l24.777-5.718c2.318-.535%204.413%201.507%203.936%203.838l-7.361%2036.047c-.495%202.426%201.782%204.5%204.151%203.78l15.304-4.649c2.372-.72%204.652%201.36%204.15%203.788l-11.698%2056.621c-.732%203.542%203.979%205.473%205.943%202.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505%204.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z'%3e%3c/path%3e%3c/svg%3e", L = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20role='img'%20class='iconify%20iconify--logos'%20width='37.07'%20height='36'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%20256%20198'%3e%3cpath%20fill='%2341B883'%20d='M204.8%200H256L128%20220.8L0%200h97.92L128%2051.2L157.44%200h47.36Z'%3e%3c/path%3e%3cpath%20fill='%2341B883'%20d='m0%200l128%20220.8L256%200h-51.2L128%20132.48L50.56%200H0Z'%3e%3c/path%3e%3cpath%20fill='%2335495E'%20d='M50.56%200L128%20133.12L204.8%200h-47.36L128%2051.2L97.92%200H50.56Z'%3e%3c/path%3e%3c/svg%3e", k = { class: "text-center" }, I = { class: "card" }, M = "Monorepo + Vite + Vue + UnoCSS + Unplugin + I18n", F = /* @__PURE__ */ g({
|
|
4
4
|
__name: "HelloWorld",
|
|
5
5
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-DSXDkeAI.cjs"),d="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20role='img'%20class='iconify%20iconify--logos'%20width='31.88'%20height='32'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%20256%20257'%3e%3cdefs%3e%3clinearGradient%20id='IconifyId1813088fe1fbc01fb466'%20x1='-.828%25'%20x2='57.636%25'%20y1='7.652%25'%20y2='78.411%25'%3e%3cstop%20offset='0%25'%20stop-color='%2341D1FF'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%23BD34FE'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20id='IconifyId1813088fe1fbc01fb467'%20x1='43.376%25'%20x2='50.316%25'%20y1='2.242%25'%20y2='89.03%25'%3e%3cstop%20offset='0%25'%20stop-color='%23FFEA83'%3e%3c/stop%3e%3cstop%20offset='8.333%25'%20stop-color='%23FFDD35'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%23FFA800'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20fill='url(%23IconifyId1813088fe1fbc01fb466)'%20d='M255.153%2037.938L134.897%20252.976c-2.483%204.44-8.862%204.466-11.382.048L.875%2037.958c-2.746-4.814%201.371-10.646%206.827-9.67l120.385%2021.517a6.537%206.537%200%200%200%202.322-.004l117.867-21.483c5.438-.991%209.574%204.796%206.877%209.62Z'%3e%3c/path%3e%3cpath%20fill='url(%23IconifyId1813088fe1fbc01fb467)'%20d='M185.432.063L96.44%2017.501a3.268%203.268%200%200%200-2.634%203.014l-5.474%2092.456a3.268%203.268%200%200%200%203.997%203.378l24.777-5.718c2.318-.535%204.413%201.507%203.936%203.838l-7.361%2036.047c-.495%202.426%201.782%204.5%204.151%203.78l15.304-4.649c2.372-.72%204.652%201.36%204.15%203.788l-11.698%2056.621c-.732%203.542%203.979%205.473%205.943%202.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505%204.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z'%3e%3c/path%3e%3c/svg%3e",f="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20aria-hidden='true'%20role='img'%20class='iconify%20iconify--logos'%20width='37.07'%20height='36'%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%20256%20198'%3e%3cpath%20fill='%2341B883'%20d='M204.8%200H256L128%20220.8L0%200h97.92L128%2051.2L157.44%200h47.36Z'%3e%3c/path%3e%3cpath%20fill='%2341B883'%20d='m0%200l128%20220.8L256%200h-51.2L128%20132.48L50.56%200H0Z'%3e%3c/path%3e%3cpath%20fill='%2335495E'%20d='M50.56%200L128%20133.12L204.8%200h-47.36L128%2051.2L97.92%200H50.56Z'%3e%3c/path%3e%3c/svg%3e",p={class:"text-center"},g={class:"card"},h="Monorepo + Vite + Vue + UnoCSS + Unplugin + I18n",u=e.defineComponent({__name:"HelloWorld",props:{msg:{}},setup(c){const{toggleTheme:a}=l.tv(),r=l.ev(),i=h+(c.msg?` + ${c.msg}`:""),s=e.ref(0);return(o,t)=>(e.openBlock(),e.createElementBlock("div",p,[e.renderSlot(o.$slots,"theme-toggle",{toggle:e.unref(a)},()=>[e.createElementVNode("button",{onClick:t[0]||(t[0]=n=>e.unref(a)())},"切换主题")],!0),t[3]||(t[3]=e.createStaticVNode('<div class="flex flex-row justify-center" data-v-60123db6><a href="https://vite.dev" target="_blank" data-v-60123db6><img src="'+d+'" class="logo" alt="Vite logo" data-v-60123db6></a><a href="https://vuejs.org/" target="_blank" data-v-60123db6><img src="'+f+'" class="logo vue" alt="Vue logo" data-v-60123db6></a></div>',1)),e.renderSlot(o.$slots,"heading",{},()=>[e.createElementVNode("h1",null,e.toDisplayString(e.unref(r)("hello")),1),e.createElementVNode("h1",null,e.toDisplayString(i))],!0),e.createElementVNode("div",g,[e.createElementVNode("button",{type:"button",onClick:t[1]||(t[1]=n=>s.value++)},"count is "+e.toDisplayString(s.value),1),t[2]||(t[2]=e.createElementVNode("p",null,[e.createTextVNode(" Edit "),e.createElementVNode("code",null,"components/HelloWorld.vue"),e.createTextVNode(" to test HMR ")],-1))]),e.renderSlot(o.$slots,"extra",{},void 0,!0)]))}}),v=l.on(u,[["__scopeId","data-v-60123db6"]]);exports.default=v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("element-plus"),w=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("element-plus"),w=require("./index-DSXDkeAI.cjs"),b={key:1},B=e.defineComponent({inheritAttrs:!1,__name:"IpaBaseTable",props:e.mergeModels({columns:{default:()=>[]},columnMergeMode:{default:"replace"},hiddenColumns:{default:()=>[]},showColumns:{default:()=>[]},emptyText:{default:"暂无数据"},version:{default:"v1"},tableProps:{default:()=>({})},columnProps:{default:()=>({})}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const p=w.ev(),r=i,m=e.useModel(i,"modelValue"),h=l=>{const t=l.type;return!t||t==="default"},v=(l,t=20,n=200)=>{const o=[...String(l)].reduce((s,u)=>s+(u.charCodeAt(0)>127?10:5),0);return Math.min(n,Math.max(t,o))},C=l=>{if(!l||l.length===0)return[];const t=l[0];return Object.keys(t).map(n=>{const o=p(n),s=t[n],u={minWidth:40,align:"center"};return r.version==="v2"?{title:o,width:v(s),dataKey:n,key:n,...u}:{prop:n,property:n,label:o,width:"",...u}})},a=l=>l.key||l.prop||l.dataKey||l.label,c=l=>{const t={...l};return t.key||(t.key=a(l)),!t.dataKey&&t.prop&&(t.dataKey=t.prop),(t.width??null)==null&&!t.minWidth&&(t.width=r.version==="v2"?150:""),t.align||(t.align="center"),r.version==="v2"&&(t.title||(t.title=t.label||a(l))),t},g=l=>{if(r.showColumns&&r.showColumns.length>0){const n=new Set(r.showColumns);return l.filter(o=>n.has(a(o)))}let t=l.filter(n=>!n.hidden);if(r.hiddenColumns&&r.hiddenColumns.length>0){const n=new Set(r.hiddenColumns);t=t.filter(o=>!n.has(a(o)))}return t},f=e.computed(()=>{const l=C(m.value).map(c),t=(r.columns??[]).map(c);let n=[];return r.columnMergeMode==="merge"?(n=l,t.forEach(o=>{const s=a(o),u=n.findIndex(k=>a(k)===s);u>=0?n[u]={...n[u],...o}:n.push(o)})):n=t.length>0?t:l,g(n.map(o=>(Object.assign(o,r.columnProps[a(o)]||{}),o)).sort((o,s)=>(o.order??1e6)-(s.order??1e6)))}),y=e.computed(()=>f.value);return(l,t)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["flex flex-col",i.version!=="v1"&&"flex-1 min-h-0"]},l.$attrs),[i.version==="v1"?(e.openBlock(),e.createBlock(e.unref(d.ElTable),e.mergeProps({key:0,data:m.value,class:"w-full",stripe:""},i.tableProps),{empty:e.withCtx(()=>[e.renderSlot(l.$slots,"empty",{},()=>[e.createVNode(e.unref(d.ElEmpty),{description:i.emptyText},null,8,["description"])])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,n=>(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),e.mergeProps({key:n.prop||n.label,ref_for:!0},n),{default:e.withCtx(({row:o,column:s})=>[n.cellRenderer?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.cellRenderer({row:o,column:s})),{key:0})):h(n)?(e.openBlock(),e.createElementBlock("div",b,e.toDisplayString(o[a(n)]),1)):e.createCommentVNode("",!0)]),_:2},1040))),128))]),_:3},16,["data"])):(e.openBlock(),e.createBlock(e.unref(d.ElAutoResizer),{key:1,class:"flex-1 min-h-0"},{default:e.withCtx(({height:n,width:o})=>[e.createVNode(e.unref(d.ElTableV2),e.mergeProps(i.tableProps,{columns:y.value,data:m.value,width:o,height:n,class:"w-full"}),null,16,["columns","data","width","height"])]),_:1}))],16))}});exports.default=B;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as T, useModel as V, computed as C, openBlock as u, createElementBlock as h, mergeProps as m, createBlock as f, unref as d, withCtx as c, Fragment as P, renderList as K, resolveDynamicComponent as B, toDisplayString as D, createCommentVNode as R, renderSlot as z, createVNode as g, mergeModels as A } from "vue";
|
|
2
2
|
import { ElTable as W, ElTableColumn as j, ElEmpty as F, ElAutoResizer as I, ElTableV2 as N } from "element-plus";
|
|
3
|
-
import { n as O } from "./index-
|
|
3
|
+
import { n as O } from "./index-DdZSBzvs.js";
|
|
4
4
|
const $ = { key: 1 }, H = /* @__PURE__ */ T({
|
|
5
5
|
inheritAttrs: !1,
|
|
6
6
|
__name: "IpaBaseTable",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as ce, useModel as _e, useAttrs as Ee, ref as I, watch as Z, openBlock as c, createBlock as _, unref as p, mergeProps as P, createSlots as Ne, renderList as z, withCtx as f, renderSlot as ne, normalizeProps as we, guardReactiveProps as Re, createVNode as R, createTextVNode as T, createElementVNode as O, toDisplayString as A, defineAsyncComponent as ze, computed as k, createElementBlock as E, createCommentVNode as B, resolveDynamicComponent as ee, Fragment as q, mergeModels as ye, reactive as ke, provide as xe, inject as Ce, onMounted as We, onUnmounted as Ge, Transition as Ke, withModifiers as $e } from "vue";
|
|
2
2
|
import { ElUpload as Ye, ElButton as Ae, ElOption as Fe, ElRadio as He, ElCheckbox as Je, ElInput as X, ElSwitch as Se, ElSelect as ue, ElCheckboxGroup as Qe, ElInputTag as Xe, ElInputNumber as Ze, ElAutocomplete as et, ElRadioGroup as tt, ElDatePicker as lt, ElColorPicker as ot, ElForm as at, ElRow as Ve, ElCol as de, ElFormItem as je, ElTag as oe, ElTooltip as st } from "element-plus";
|
|
3
|
-
import { v as nt, q as ae, w as se, r as rt, _ as it } from "./index-
|
|
3
|
+
import { v as nt, q as ae, w as se, r as rt, _ as it } from "./index-DdZSBzvs.js";
|
|
4
4
|
const ut = { class: "text-xs text-gray-400 mt-1" }, dt = /* @__PURE__ */ ce({
|
|
5
5
|
inheritAttrs: !1,
|
|
6
6
|
__name: "SchemaUpload",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("element-plus"),B=require("./index-D5X4vOw_.cjs"),ie={class:"text-xs text-gray-400 mt-1"},ue=e.defineComponent({inheritAttrs:!1,__name:"SchemaUpload",props:{modelValue:{default:()=>[]},modelModifiers:{}},emits:["update:modelValue"],setup(f){const x=e.useModel(f,"modelValue"),p=e.useAttrs(),c=e.ref([]);e.watch(x,y=>{(!y||y.length===0)&&(c.value=[])});function g(y,h){c.value=h,x.value=h.map(V=>V.raw),p.onChange?.(y,h)}function l(y,h){c.value=h,x.value=h.map(V=>V.raw),p.onRemove?.(y,h)}return(y,h)=>(e.openBlock(),e.createBlock(e.unref(i.ElUpload),e.mergeProps({action:"","auto-upload":!1},y.$attrs,{"file-list":c.value,"on-change":g,"on-remove":l}),e.createSlots({_:2},[e.renderList(y.$slots,(V,N)=>({name:N,fn:e.withCtx(u=>[e.renderSlot(y.$slots,N,e.normalizeProps(e.guardReactiveProps(u)))])})),y.$slots.default?void 0:{name:"default",fn:e.withCtx(()=>[e.createVNode(e.unref(i.ElButton),{size:"small"},{default:e.withCtx(()=>[...h[0]||(h[0]=[e.createTextVNode("选择文件",-1)])]),_:1})]),key:"0"},e.unref(p).tip&&!y.$slots.tip?{name:"tip",fn:e.withCtx(()=>[e.createElementVNode("div",ie,e.toDisplayString(e.unref(p).tip),1)]),key:"1"}:void 0]),1040,["file-list"]))}});function X(f,x){const p={};if(!f?.properties)return p;for(const[c,g]of Object.entries(f.properties)){const l=g;x&&x[c]!==void 0?p[c]=x[c]:l.default!==void 0?p[c]=l.default:l.type==="array"?p[c]=[]:l.type==="object"?p[c]={}:l.type==="boolean"?p[c]=!1:l.type==="number"||l.type==="integer"?p[c]=void 0:p[c]=""}return p}function Q(f){const x=f?.anyOf;if(Array.isArray(x)){const p=x.find(g=>g.type==="null"),c=x.find(g=>g.type==="object"&&g.properties);if(p&&c)return c}if(f?.type==="object"&&f?.properties&&f?.default===null)return f}const ce={key:0,class:"flex flex-col gap-2"},de=e.defineComponent({inheritAttrs:!1,__name:"SchemaField",props:e.mergeModels({schema:{},uiConfig:{default:()=>({})},fieldResolver:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(f,{emit:x}){const p=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Ee)),c=x,g=e.useModel(f,"modelValue");e.watch(g,s=>c("change",s));const l=f,y=e.computed(()=>!!Q(l.schema)),h=e.computed(()=>Q(l.schema));function V(s){if(s){const d=X(h.value);c("update:modelValue",d),c("change",d)}else c("update:modelValue",null),c("change",null)}const N=e.computed(()=>{const s=l.schema?.type;if(s)return s;if(y.value)return"nullable-object";const d=l.schema?.anyOf;if(Array.isArray(d)){const k=[...new Set(d.map(v=>{if(v.type)return v.type;if(v.const!==void 0)return typeof v.const}).filter(Boolean))];if(k.length===1)return k[0]}}),u=e.computed(()=>{const s=l.schema;return s?.["x-render"]||s?.["x-component"]}),O=e.computed(()=>l.schema?.format),P=e.computed(()=>l.uiConfig?.format),C=e.computed(()=>P.value||O.value||""),_=e.computed(()=>["select","radio","checkbox"].includes(C.value)?!0:C.value?!1:!!(l.schema?.enum||l.schema?.anyOf)),$=e.computed(()=>C.value==="select"?i.ElOption:C.value==="radio"?i.ElRadio:C.value==="checkbox"?i.ElCheckbox:i.ElOption),w=()=>({...l.schema?.["x-attrs"],...l.schema?.["x-component-props"],...l.uiConfig,...l.uiConfig?.attrs}),D=s=>w()[s],L=e.computed(()=>{const s=D("step");return s||(["integer","biginteger"].includes(N.value)?1:.1)}),q=e.computed(()=>{const s=D("options");return s||(l.schema?.enum?l.schema.enum.map(d=>({label:d.toString(),value:d})):l.schema?.anyOf?l.schema.anyOf.map(d=>({label:d.label??d.const,value:d.const??d.value})):[])}),F=s=>({value:s.value,label:s.label}),M=e.computed(()=>{const s={clearable:!0,filterable:!0,placeholder:"请输入...",...w()},d=l.uiConfig?.renderer;if(d)return{component:d,attrs:s};if(u.value&&l.fieldResolver){const E=l.fieldResolver(u.value,l.schema);if(E)return{component:E,attrs:s}}const k=N.value,v=C.value;if(v==="upload")return{component:ue,attrs:s};let m;switch(k){case"string":switch(v){case"color":m=i.ElColorPicker;break;case"date":case"date-time":m=i.ElDatePicker,s.valueFormat="YYYY-MM-DD HH:mm:ss",s.type=v==="date"?"date":"datetime";break;case"select":m=i.ElSelect;break;case"radio":m=i.ElRadioGroup;break;case"autocomplete":m=i.ElAutocomplete;break;case"textarea":case"password":case"email":m=i.ElInput,s.type=v;break;default:l.schema?.enum||l.schema?.anyOf?m=i.ElSelect:(m=i.ElInput,s.type="text")}break;case"number":case"integer":m=i.ElInputNumber,s.min=s.min??l.schema?.minimum,s.max=s.max??l.schema?.maximum,s.step=s.step??L.value,s.precision=s.precision??(k==="integer"?0:void 0);break;case"boolean":m=i.ElSwitch;break;case"array":switch(v){case"tag":m=i.ElInputTag;break;case"checkbox":m=i.ElCheckboxGroup;break;case"select":m=i.ElSelect;break;default:m=i.ElInput}break;case"object":m=l.schema?.properties?p:i.ElInput,l.schema?.properties&&(s.schema=l.schema,s.isNested=!0);break;default:m=i.ElInput}return{component:m,attrs:s}});return(s,d)=>y.value?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(e.unref(i.ElSwitch),{"model-value":g.value!==null&&g.value!==void 0,"active-text":"已启用","inactive-text":"未启用","onUpdate:modelValue":V},null,8,["model-value"]),g.value!==null&&g.value!==void 0?(e.openBlock(),e.createBlock(e.unref(p),{key:0,"model-value":g.value,schema:h.value,"is-nested":!0,actions:!1,"label-position":"top","onUpdate:modelValue":d[0]||(d[0]=k=>c("update:modelValue",k))},null,8,["model-value","schema"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value.component),e.mergeProps({key:1,modelValue:g.value,"onUpdate:modelValue":d[1]||(d[1]=k=>g.value=k)},{...M.value.attrs,...s.$attrs}),e.createSlots({_:2},[e.renderList(s.$slots,(k,v)=>({name:v,fn:e.withCtx(m=>[e.renderSlot(s.$slots,v,e.normalizeProps(e.guardReactiveProps(m)))])})),!s.$slots.default&&_.value?{name:"default",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.value,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.value),e.mergeProps({key:k.value},{ref_for:!0},F(k)),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040))),128))]),key:"0"}:void 0]),1040,["modelValue"]))}}),fe=["onClick"],me={class:"form-group-title"},pe={class:"form-group-collapse-icon"},ve={class:"line-through"},ge={key:1},he={key:0,class:"dev-field-bar"},be={key:0,class:"dev-toolbar"},ye={class:"dev-toolbar-row"},ke={class:"dev-toolbar-row"},xe=["value"],Ce=e.defineComponent({__name:"SchemaForm",props:{schema:{},modelValue:{default:()=>({})},labelWidth:{default:"auto"},disabled:{type:Boolean,default:!1},actions:{type:[Boolean,Array],default:!0},isNested:{type:Boolean},fieldConfig:{default:()=>({})},fieldResolver:{},jsScopeKey:{},preventSubmit:{type:Boolean,default:!0},dev:{type:Boolean,default:!1}},emits:["update:modelValue","change","submit","validate:pass","validate:fail"],setup(f,{expose:x,emit:p}){const c=t=>{l.preventSubmit&&t.preventDefault()},g=e.useAttrs(),l=f,y=B.uv(l.jsScopeKey),h=t=>{const n={$form:u.value},a=e.unref(y);for(const o of Object.keys(a))n[o]=a[o];return t!==void 0&&(n.$self=t),n},V=p,N=e.ref(),u=e.ref({}),O=e.ref(!1),P=["left","top","right"],C=e.ref("left"),_=e.ref("auto"),$=e.ref(null),w=e.reactive({}),D=e.reactive({});function L(t){const n=P.indexOf(t);return P[(n+1)%P.length]}function q(t){const n=E.value[t]?.formItemProps??{};return l.dev?{...n,labelPosition:w[t]??C.value,labelWidth:D[t]??_.value}:n}const F=e.ref([]),M=t=>{t&&!F.value.includes(t)&&F.value.push(t)},s=t=>{const n=F.value.indexOf(t);n>-1&&F.value.splice(n,1)};l.isNested||(e.provide("registerNestedForm",M),e.provide("unregisterNestedForm",s));const d=e.inject("registerNestedForm",void 0),k=e.inject("unregisterNestedForm",void 0),v=e.computed(()=>g.inline===!0),m=(t,n)=>{if(B.mi(t)){const a=B.vi(t,n);return typeof a=="function"?a(n.$form):a}if(t&&typeof t=="object"&&!Array.isArray(t)){const a={};for(const[o,r]of Object.entries(t))if(B.mi(r)){const b=B.vi(r,n);a[o]=typeof b=="function"?b(n.$form):b}else a[o]=r;return a}return t},E=e.computed(()=>{const t={};for(const[a,o]of Object.entries(I.value)){const r=o?.["ui:config"];r&&(t[a]=m(r,h(u.value[a])));const b=o?.["x-ui"];b&&(t[a]=m(b,h(u.value[a])))}const n=h();for(const[a,o]of Object.entries(l.fieldConfig??{}))if(typeof o=="function")t[a]={...o(u.value)};else if(B.mi(o)){const r=B.vi(o,n);typeof r=="function"?t[a]={...r(u.value)}:t[a]=r}else if(o&&typeof o=="object"&&!Array.isArray(o)){const r=h(u.value[a]),b={};for(const[j,S]of Object.entries(o))if(B.mi(S)){const A=B.vi(S,r);b[j]=typeof A=="function"?A(r.$form):A}else b[j]=S;t[a]=b}else t[a]=o;return t}),I=e.computed(()=>{if(!l.schema?.properties)return{};const t=new Set(l.schema.required??[]),n={};for(const[a,o]of Object.entries(l.schema.properties)){const r=o;!t.has(a)&&r.type==="object"&&r.properties&&r.default===void 0?n[a]={...r,default:null}:n[a]=r}return n}),ee=e.computed(()=>{const t={};return l.schema?.properties&&Object.entries(l.schema.properties).forEach(([n,a])=>{const o=a,r=[];W(n)&&r.push({required:!0,message:`${U(n,o)}不能为空`,trigger:"blur"}),o.type==="string"&&(o.minLength&&r.push({min:o.minLength,message:`最少${o.minLength}个字符`,trigger:"blur"}),o.maxLength&&r.push({max:o.maxLength,message:`最多${o.maxLength}个字符`,trigger:"blur"}),o.pattern?r.push({pattern:new RegExp(o.pattern),message:"格式不正确",trigger:"blur"}):o.format==="email"&&r.push({pattern:/^\S+@\S+$/,message:"邮箱格式不正确",trigger:"blur"})),(o.type==="number"||o.type==="integer")&&(o.minimum!==void 0&&r.push({type:"number",min:o.minimum,message:`最小值不能小于${o.minimum}`,trigger:"blur"}),o.maximum!==void 0&&r.push({type:"number",max:o.maximum,message:`最大值不能大于${o.maximum}`,trigger:"blur"})),o.type==="array"&&o.minItems&&r.push({type:"array",min:o.minItems,message:`最少${o.minItems}项`,trigger:"change"}),r.length>0&&(t[n]=r)}),t}),z=()=>{const t=u.value&&Object.keys(u.value).length>0?u.value:l.modelValue;u.value=X(l.schema,t)},W=t=>l.schema?.required?.includes(t)||!!I.value[t]?.required,te=t=>E.value[t]?.deprecated??!1,U=(t,n)=>n.label||n.title||t,oe=t=>!E.value[t]?.hidden,R=e.ref({});function le(t){R.value[t]=!R.value[t]}function G(t){return typeof t=="string"?{name:t,index:1/0,collapse:!1}:{name:t.name,index:t.index??1/0,collapse:t.collapse??!1}}e.watch(()=>I.value,()=>{for(const[t]of Object.entries(I.value)){const n=E.value[t];if(n?.group){const a=G(n.group);R.value[a.name]===void 0&&(R.value[a.name]=!!a.collapse)}}},{immediate:!0});const ne=e.computed(()=>{const t=new Map,n=[];for(const[r,b]of Object.entries(I.value)){if(!oe(r))continue;const j=E.value[r];if(j?.group){const S=G(j.group);t.has(S.name)||t.set(S.name,{index:S.index,fields:[]}),t.get(S.name).fields.push({key:r,field:b})}else n.push({key:r,field:b})}const a=r=>r.sort((b,j)=>{const S=E.value[b.key]?.index??1/0,A=E.value[j.key]?.index??1/0;return S-A}),o=[...t.entries()].sort(([,r],[,b])=>r.index-b.index).map(([r,{fields:b}])=>({name:r,collapsed:R.value[r]??!1,fields:a(b)}));return n.length>0&&o.push({name:"",collapsed:!1,fields:a(n)}),o}),ae=t=>E.value[t]?.span??24,re=t=>E.value[t]?.offset,T=(t,n)=>E.value[t]?.[n],se=t=>({span:ae(t),offset:re(t),xs:T(t,"xs"),sm:T(t,"sm"),md:T(t,"md"),lg:T(t,"lg"),xl:T(t,"xl")}),K=()=>{V("update:modelValue",{...u.value}),l.isNested||V("change",{...u.value})},Y=t=>{if(!l.isNested&&N.value){N.value.resetFields();for(const n of F.value)n?.resetFields&&n.resetFields();t===!0&&z(),V("update:modelValue",{...u.value}),V("change",{...u.value})}},H=e.computed(()=>{if(l.isNested)return[];const t=[{label:"提交",type:"primary",loading:O.value,onClick:J},{label:"重置",disabled:O.value,onClick:Y}];if(typeof l.actions=="boolean")return l.actions?t:[];if(Array.isArray(l.actions)){const n=h();return l.actions.map(a=>B.mn(a,n))}return t}),J=async()=>{if(!N.value)return!1;O.value=!0;try{await N.value.validate();for(const t of F.value)t?.validate&&await t.validate();return l.isNested||(V("validate:pass",{...u.value}),V("submit",{...u.value})),!0}catch(t){return l.isNested||V("validate:fail",t),!1}finally{O.value=!1}};return e.watch(()=>l.modelValue,t=>{t&&(u.value={...u.value,...t})},{deep:!0}),e.watch(()=>l.schema,()=>{l.schema?.properties&&z()},{immediate:!0}),e.onMounted(()=>{l.isNested&&d&&d(N.value)}),e.onUnmounted(()=>{l.isNested&&k&&k(N.value)}),x({validate:J,reset:Y,formRef:N}),(t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(i.ElForm),e.mergeProps({ref_key:"formRef",ref:N,model:u.value,rules:ee.value,"label-width":f.labelWidth,disabled:f.disabled,"label-position":f.dev?C.value:void 0},t.$attrs,{onSubmit:c}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElRow)),e.mergeProps({class:["form-fields-container",{"flex flex-wrap items-start":v.value}]},v.value?{}:{gutter:20}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.name||"ungrouped"},[a.name?(e.openBlock(),e.createBlock(e.unref(i.ElCol),{key:0,span:24},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"form-group-header mb-2 py-3 flex cursor-pointer select-none items-center justify-between",onClick:o=>le(a.name)},[e.createElementVNode("span",me,e.toDisplayString(a.name),1),e.createElementVNode("span",pe,e.toDisplayString(a.collapsed?"▶":"▼"),1)],8,fe)]),_:2},1024)):e.createCommentVNode("",!0),e.createVNode(e.unref(i.ElCol),{span:24},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:"group"},{default:e.withCtx(()=>[a.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:a.name||"ungrouped"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElRow)),e.mergeProps({ref_for:!0},v.value?{}:{gutter:20}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.fields,o=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElCol)),e.mergeProps({key:o.key},{ref_for:!0},v.value?{}:se(o.key)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,`field-${o.key}`,{value:u.value[o.key],field:o.field,config:E.value[o.key],update:r=>{u.value[o.key]=r,K()}},()=>[e.createVNode(e.unref(i.ElFormItem),e.mergeProps({prop:o.key,required:W(o.key),class:{"is-dev-hovered":f.dev&&$.value===o.key}},{ref_for:!0},q(o.key),{onMouseenter:r=>f.dev&&($.value=o.key),onMouseleave:r=>f.dev&&$.value===o.key&&($.value=null)}),{label:e.withCtx(()=>[te(o.key)?(e.openBlock(),e.createBlock(e.unref(i.ElTooltip),{key:0,content:"该字段已废弃",placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(U(o.key,o.field)),1)]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",ge,e.toDisplayString(U(o.key,o.field)),1))]),default:e.withCtx(()=>[e.createVNode(e.unref(de),{schema:o.field,modelValue:u.value[o.key],"onUpdate:modelValue":r=>u.value[o.key]=r,"ui-config":E.value[o.key],"field-resolver":l.fieldResolver,onChange:K},null,8,["schema","modelValue","onUpdate:modelValue","ui-config","field-resolver"]),f.dev&&$.value===o.key?(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(e.unref(i.ElTag),{size:"small",type:"info",style:{"margin-right":"4px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.key),1)]),_:2},1024),e.createVNode(e.unref(i.ElTag),{size:"small",type:w[o.key]==="top"?"warning":"info",style:{cursor:"pointer","margin-right":"4px"},onClick:e.withModifiers(r=>w[o.key]=L(w[o.key]??C.value),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(" pos:"+e.toDisplayString(w[o.key]??C.value),1)]),_:2},1032,["type","onClick"]),w[o.key]?(e.openBlock(),e.createBlock(e.unref(i.ElTag),{key:0,size:"small",type:"danger",style:{cursor:"pointer"},onClick:e.withModifiers(r=>{w[o.key]=void 0,D[o.key]=void 0},["stop"])},{default:e.withCtx(()=>[...n[2]||(n[2]=[e.createTextVNode(" 重置 ",-1)])]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),_:2},1040,["prop","required","class","onMouseenter","onMouseleave"])],!0)]),_:2},1040))),128))]),_:2},1040))]))]),_:2},1024)]),_:2},1024)],64))),128))]),_:3},16,["class"])),e.renderSlot(t.$slots,"append",{},void 0,!0),H.value.length>0?(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,(a,o)=>(e.openBlock(),e.createBlock(e.unref(i.ElButton),e.mergeProps({key:o},{ref_for:!0},a,{onClick:a.onClick}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),_:2},1040,["onClick"]))),128))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["model","rules","label-width","disabled","label-position"]),f.dev?(e.openBlock(),e.createElementBlock("div",be,[n[5]||(n[5]=e.createElementVNode("span",{class:"dev-toolbar-title"},"Dev",-1)),e.createElementVNode("div",ye,[n[3]||(n[3]=e.createElementVNode("span",{class:"dev-label"},"全局 label-position",-1)),e.createVNode(e.unref(i.ElTag),{size:"small",type:C.value==="top"?"warning":"primary",style:{cursor:"pointer"},onClick:n[0]||(n[0]=a=>C.value=L(C.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.value),1)]),_:1},8,["type"])]),e.createElementVNode("div",ke,[n[4]||(n[4]=e.createElementVNode("span",{class:"dev-label"},"全局 label-width",-1)),e.createElementVNode("input",{class:"dev-input",value:_.value,onInput:n[1]||(n[1]=a=>{_.value=a.target.value})},null,40,xe)]),n[6]||(n[6]=e.createElementVNode("div",{class:"dev-toolbar-row",style:{"border-top":"1px solid var(--el-border-color-light)","padding-top":"6px"}},[e.createElementVNode("span",{class:"dev-label",style:{"font-size":"11px"}},"hover 字段可单独调整")],-1))])):e.createCommentVNode("",!0)],64))}}),Z=B._export_sfc(Ce,[["__scopeId","data-v-80b35270"]]),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));exports.default=Z;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("element-plus"),B=require("./index-DSXDkeAI.cjs"),ie={class:"text-xs text-gray-400 mt-1"},ue=e.defineComponent({inheritAttrs:!1,__name:"SchemaUpload",props:{modelValue:{default:()=>[]},modelModifiers:{}},emits:["update:modelValue"],setup(f){const x=e.useModel(f,"modelValue"),p=e.useAttrs(),c=e.ref([]);e.watch(x,y=>{(!y||y.length===0)&&(c.value=[])});function g(y,h){c.value=h,x.value=h.map(V=>V.raw),p.onChange?.(y,h)}function l(y,h){c.value=h,x.value=h.map(V=>V.raw),p.onRemove?.(y,h)}return(y,h)=>(e.openBlock(),e.createBlock(e.unref(i.ElUpload),e.mergeProps({action:"","auto-upload":!1},y.$attrs,{"file-list":c.value,"on-change":g,"on-remove":l}),e.createSlots({_:2},[e.renderList(y.$slots,(V,N)=>({name:N,fn:e.withCtx(u=>[e.renderSlot(y.$slots,N,e.normalizeProps(e.guardReactiveProps(u)))])})),y.$slots.default?void 0:{name:"default",fn:e.withCtx(()=>[e.createVNode(e.unref(i.ElButton),{size:"small"},{default:e.withCtx(()=>[...h[0]||(h[0]=[e.createTextVNode("选择文件",-1)])]),_:1})]),key:"0"},e.unref(p).tip&&!y.$slots.tip?{name:"tip",fn:e.withCtx(()=>[e.createElementVNode("div",ie,e.toDisplayString(e.unref(p).tip),1)]),key:"1"}:void 0]),1040,["file-list"]))}});function X(f,x){const p={};if(!f?.properties)return p;for(const[c,g]of Object.entries(f.properties)){const l=g;x&&x[c]!==void 0?p[c]=x[c]:l.default!==void 0?p[c]=l.default:l.type==="array"?p[c]=[]:l.type==="object"?p[c]={}:l.type==="boolean"?p[c]=!1:l.type==="number"||l.type==="integer"?p[c]=void 0:p[c]=""}return p}function Q(f){const x=f?.anyOf;if(Array.isArray(x)){const p=x.find(g=>g.type==="null"),c=x.find(g=>g.type==="object"&&g.properties);if(p&&c)return c}if(f?.type==="object"&&f?.properties&&f?.default===null)return f}const ce={key:0,class:"flex flex-col gap-2"},de=e.defineComponent({inheritAttrs:!1,__name:"SchemaField",props:e.mergeModels({schema:{},uiConfig:{default:()=>({})},fieldResolver:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update:modelValue","change"],["update:modelValue"]),setup(f,{emit:x}){const p=e.defineAsyncComponent(()=>Promise.resolve().then(()=>Ee)),c=x,g=e.useModel(f,"modelValue");e.watch(g,s=>c("change",s));const l=f,y=e.computed(()=>!!Q(l.schema)),h=e.computed(()=>Q(l.schema));function V(s){if(s){const d=X(h.value);c("update:modelValue",d),c("change",d)}else c("update:modelValue",null),c("change",null)}const N=e.computed(()=>{const s=l.schema?.type;if(s)return s;if(y.value)return"nullable-object";const d=l.schema?.anyOf;if(Array.isArray(d)){const k=[...new Set(d.map(v=>{if(v.type)return v.type;if(v.const!==void 0)return typeof v.const}).filter(Boolean))];if(k.length===1)return k[0]}}),u=e.computed(()=>{const s=l.schema;return s?.["x-render"]||s?.["x-component"]}),O=e.computed(()=>l.schema?.format),P=e.computed(()=>l.uiConfig?.format),C=e.computed(()=>P.value||O.value||""),_=e.computed(()=>["select","radio","checkbox"].includes(C.value)?!0:C.value?!1:!!(l.schema?.enum||l.schema?.anyOf)),$=e.computed(()=>C.value==="select"?i.ElOption:C.value==="radio"?i.ElRadio:C.value==="checkbox"?i.ElCheckbox:i.ElOption),w=()=>({...l.schema?.["x-attrs"],...l.schema?.["x-component-props"],...l.uiConfig,...l.uiConfig?.attrs}),D=s=>w()[s],L=e.computed(()=>{const s=D("step");return s||(["integer","biginteger"].includes(N.value)?1:.1)}),q=e.computed(()=>{const s=D("options");return s||(l.schema?.enum?l.schema.enum.map(d=>({label:d.toString(),value:d})):l.schema?.anyOf?l.schema.anyOf.map(d=>({label:d.label??d.const,value:d.const??d.value})):[])}),F=s=>({value:s.value,label:s.label}),M=e.computed(()=>{const s={clearable:!0,filterable:!0,placeholder:"请输入...",...w()},d=l.uiConfig?.renderer;if(d)return{component:d,attrs:s};if(u.value&&l.fieldResolver){const E=l.fieldResolver(u.value,l.schema);if(E)return{component:E,attrs:s}}const k=N.value,v=C.value;if(v==="upload")return{component:ue,attrs:s};let m;switch(k){case"string":switch(v){case"color":m=i.ElColorPicker;break;case"date":case"date-time":m=i.ElDatePicker,s.valueFormat="YYYY-MM-DD HH:mm:ss",s.type=v==="date"?"date":"datetime";break;case"select":m=i.ElSelect;break;case"radio":m=i.ElRadioGroup;break;case"autocomplete":m=i.ElAutocomplete;break;case"textarea":case"password":case"email":m=i.ElInput,s.type=v;break;default:l.schema?.enum||l.schema?.anyOf?m=i.ElSelect:(m=i.ElInput,s.type="text")}break;case"number":case"integer":m=i.ElInputNumber,s.min=s.min??l.schema?.minimum,s.max=s.max??l.schema?.maximum,s.step=s.step??L.value,s.precision=s.precision??(k==="integer"?0:void 0);break;case"boolean":m=i.ElSwitch;break;case"array":switch(v){case"tag":m=i.ElInputTag;break;case"checkbox":m=i.ElCheckboxGroup;break;case"select":m=i.ElSelect;break;default:m=i.ElInput}break;case"object":m=l.schema?.properties?p:i.ElInput,l.schema?.properties&&(s.schema=l.schema,s.isNested=!0);break;default:m=i.ElInput}return{component:m,attrs:s}});return(s,d)=>y.value?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(e.unref(i.ElSwitch),{"model-value":g.value!==null&&g.value!==void 0,"active-text":"已启用","inactive-text":"未启用","onUpdate:modelValue":V},null,8,["model-value"]),g.value!==null&&g.value!==void 0?(e.openBlock(),e.createBlock(e.unref(p),{key:0,"model-value":g.value,schema:h.value,"is-nested":!0,actions:!1,"label-position":"top","onUpdate:modelValue":d[0]||(d[0]=k=>c("update:modelValue",k))},null,8,["model-value","schema"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value.component),e.mergeProps({key:1,modelValue:g.value,"onUpdate:modelValue":d[1]||(d[1]=k=>g.value=k)},{...M.value.attrs,...s.$attrs}),e.createSlots({_:2},[e.renderList(s.$slots,(k,v)=>({name:v,fn:e.withCtx(m=>[e.renderSlot(s.$slots,v,e.normalizeProps(e.guardReactiveProps(m)))])})),!s.$slots.default&&_.value?{name:"default",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.value,k=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.value),e.mergeProps({key:k.value},{ref_for:!0},F(k)),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(k.label),1)]),_:2},1040))),128))]),key:"0"}:void 0]),1040,["modelValue"]))}}),fe=["onClick"],me={class:"form-group-title"},pe={class:"form-group-collapse-icon"},ve={class:"line-through"},ge={key:1},he={key:0,class:"dev-field-bar"},be={key:0,class:"dev-toolbar"},ye={class:"dev-toolbar-row"},ke={class:"dev-toolbar-row"},xe=["value"],Ce=e.defineComponent({__name:"SchemaForm",props:{schema:{},modelValue:{default:()=>({})},labelWidth:{default:"auto"},disabled:{type:Boolean,default:!1},actions:{type:[Boolean,Array],default:!0},isNested:{type:Boolean},fieldConfig:{default:()=>({})},fieldResolver:{},jsScopeKey:{},preventSubmit:{type:Boolean,default:!0},dev:{type:Boolean,default:!1}},emits:["update:modelValue","change","submit","validate:pass","validate:fail"],setup(f,{expose:x,emit:p}){const c=t=>{l.preventSubmit&&t.preventDefault()},g=e.useAttrs(),l=f,y=B.uv(l.jsScopeKey),h=t=>{const n={$form:u.value},a=e.unref(y);for(const o of Object.keys(a))n[o]=a[o];return t!==void 0&&(n.$self=t),n},V=p,N=e.ref(),u=e.ref({}),O=e.ref(!1),P=["left","top","right"],C=e.ref("left"),_=e.ref("auto"),$=e.ref(null),w=e.reactive({}),D=e.reactive({});function L(t){const n=P.indexOf(t);return P[(n+1)%P.length]}function q(t){const n=E.value[t]?.formItemProps??{};return l.dev?{...n,labelPosition:w[t]??C.value,labelWidth:D[t]??_.value}:n}const F=e.ref([]),M=t=>{t&&!F.value.includes(t)&&F.value.push(t)},s=t=>{const n=F.value.indexOf(t);n>-1&&F.value.splice(n,1)};l.isNested||(e.provide("registerNestedForm",M),e.provide("unregisterNestedForm",s));const d=e.inject("registerNestedForm",void 0),k=e.inject("unregisterNestedForm",void 0),v=e.computed(()=>g.inline===!0),m=(t,n)=>{if(B.mi(t)){const a=B.vi(t,n);return typeof a=="function"?a(n.$form):a}if(t&&typeof t=="object"&&!Array.isArray(t)){const a={};for(const[o,r]of Object.entries(t))if(B.mi(r)){const b=B.vi(r,n);a[o]=typeof b=="function"?b(n.$form):b}else a[o]=r;return a}return t},E=e.computed(()=>{const t={};for(const[a,o]of Object.entries(I.value)){const r=o?.["ui:config"];r&&(t[a]=m(r,h(u.value[a])));const b=o?.["x-ui"];b&&(t[a]=m(b,h(u.value[a])))}const n=h();for(const[a,o]of Object.entries(l.fieldConfig??{}))if(typeof o=="function")t[a]={...o(u.value)};else if(B.mi(o)){const r=B.vi(o,n);typeof r=="function"?t[a]={...r(u.value)}:t[a]=r}else if(o&&typeof o=="object"&&!Array.isArray(o)){const r=h(u.value[a]),b={};for(const[j,S]of Object.entries(o))if(B.mi(S)){const A=B.vi(S,r);b[j]=typeof A=="function"?A(r.$form):A}else b[j]=S;t[a]=b}else t[a]=o;return t}),I=e.computed(()=>{if(!l.schema?.properties)return{};const t=new Set(l.schema.required??[]),n={};for(const[a,o]of Object.entries(l.schema.properties)){const r=o;!t.has(a)&&r.type==="object"&&r.properties&&r.default===void 0?n[a]={...r,default:null}:n[a]=r}return n}),ee=e.computed(()=>{const t={};return l.schema?.properties&&Object.entries(l.schema.properties).forEach(([n,a])=>{const o=a,r=[];W(n)&&r.push({required:!0,message:`${U(n,o)}不能为空`,trigger:"blur"}),o.type==="string"&&(o.minLength&&r.push({min:o.minLength,message:`最少${o.minLength}个字符`,trigger:"blur"}),o.maxLength&&r.push({max:o.maxLength,message:`最多${o.maxLength}个字符`,trigger:"blur"}),o.pattern?r.push({pattern:new RegExp(o.pattern),message:"格式不正确",trigger:"blur"}):o.format==="email"&&r.push({pattern:/^\S+@\S+$/,message:"邮箱格式不正确",trigger:"blur"})),(o.type==="number"||o.type==="integer")&&(o.minimum!==void 0&&r.push({type:"number",min:o.minimum,message:`最小值不能小于${o.minimum}`,trigger:"blur"}),o.maximum!==void 0&&r.push({type:"number",max:o.maximum,message:`最大值不能大于${o.maximum}`,trigger:"blur"})),o.type==="array"&&o.minItems&&r.push({type:"array",min:o.minItems,message:`最少${o.minItems}项`,trigger:"change"}),r.length>0&&(t[n]=r)}),t}),z=()=>{const t=u.value&&Object.keys(u.value).length>0?u.value:l.modelValue;u.value=X(l.schema,t)},W=t=>l.schema?.required?.includes(t)||!!I.value[t]?.required,te=t=>E.value[t]?.deprecated??!1,U=(t,n)=>n.label||n.title||t,oe=t=>!E.value[t]?.hidden,R=e.ref({});function le(t){R.value[t]=!R.value[t]}function G(t){return typeof t=="string"?{name:t,index:1/0,collapse:!1}:{name:t.name,index:t.index??1/0,collapse:t.collapse??!1}}e.watch(()=>I.value,()=>{for(const[t]of Object.entries(I.value)){const n=E.value[t];if(n?.group){const a=G(n.group);R.value[a.name]===void 0&&(R.value[a.name]=!!a.collapse)}}},{immediate:!0});const ne=e.computed(()=>{const t=new Map,n=[];for(const[r,b]of Object.entries(I.value)){if(!oe(r))continue;const j=E.value[r];if(j?.group){const S=G(j.group);t.has(S.name)||t.set(S.name,{index:S.index,fields:[]}),t.get(S.name).fields.push({key:r,field:b})}else n.push({key:r,field:b})}const a=r=>r.sort((b,j)=>{const S=E.value[b.key]?.index??1/0,A=E.value[j.key]?.index??1/0;return S-A}),o=[...t.entries()].sort(([,r],[,b])=>r.index-b.index).map(([r,{fields:b}])=>({name:r,collapsed:R.value[r]??!1,fields:a(b)}));return n.length>0&&o.push({name:"",collapsed:!1,fields:a(n)}),o}),ae=t=>E.value[t]?.span??24,re=t=>E.value[t]?.offset,T=(t,n)=>E.value[t]?.[n],se=t=>({span:ae(t),offset:re(t),xs:T(t,"xs"),sm:T(t,"sm"),md:T(t,"md"),lg:T(t,"lg"),xl:T(t,"xl")}),K=()=>{V("update:modelValue",{...u.value}),l.isNested||V("change",{...u.value})},Y=t=>{if(!l.isNested&&N.value){N.value.resetFields();for(const n of F.value)n?.resetFields&&n.resetFields();t===!0&&z(),V("update:modelValue",{...u.value}),V("change",{...u.value})}},H=e.computed(()=>{if(l.isNested)return[];const t=[{label:"提交",type:"primary",loading:O.value,onClick:J},{label:"重置",disabled:O.value,onClick:Y}];if(typeof l.actions=="boolean")return l.actions?t:[];if(Array.isArray(l.actions)){const n=h();return l.actions.map(a=>B.mn(a,n))}return t}),J=async()=>{if(!N.value)return!1;O.value=!0;try{await N.value.validate();for(const t of F.value)t?.validate&&await t.validate();return l.isNested||(V("validate:pass",{...u.value}),V("submit",{...u.value})),!0}catch(t){return l.isNested||V("validate:fail",t),!1}finally{O.value=!1}};return e.watch(()=>l.modelValue,t=>{t&&(u.value={...u.value,...t})},{deep:!0}),e.watch(()=>l.schema,()=>{l.schema?.properties&&z()},{immediate:!0}),e.onMounted(()=>{l.isNested&&d&&d(N.value)}),e.onUnmounted(()=>{l.isNested&&k&&k(N.value)}),x({validate:J,reset:Y,formRef:N}),(t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(i.ElForm),e.mergeProps({ref_key:"formRef",ref:N,model:u.value,rules:ee.value,"label-width":f.labelWidth,disabled:f.disabled,"label-position":f.dev?C.value:void 0},t.$attrs,{onSubmit:c}),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElRow)),e.mergeProps({class:["form-fields-container",{"flex flex-wrap items-start":v.value}]},v.value?{}:{gutter:20}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.value,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.name||"ungrouped"},[a.name?(e.openBlock(),e.createBlock(e.unref(i.ElCol),{key:0,span:24},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"form-group-header mb-2 py-3 flex cursor-pointer select-none items-center justify-between",onClick:o=>le(a.name)},[e.createElementVNode("span",me,e.toDisplayString(a.name),1),e.createElementVNode("span",pe,e.toDisplayString(a.collapsed?"▶":"▼"),1)],8,fe)]),_:2},1024)):e.createCommentVNode("",!0),e.createVNode(e.unref(i.ElCol),{span:24},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:"group"},{default:e.withCtx(()=>[a.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:a.name||"ungrouped"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElRow)),e.mergeProps({ref_for:!0},v.value?{}:{gutter:20}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.fields,o=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value?"div":e.unref(i.ElCol)),e.mergeProps({key:o.key},{ref_for:!0},v.value?{}:se(o.key)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,`field-${o.key}`,{value:u.value[o.key],field:o.field,config:E.value[o.key],update:r=>{u.value[o.key]=r,K()}},()=>[e.createVNode(e.unref(i.ElFormItem),e.mergeProps({prop:o.key,required:W(o.key),class:{"is-dev-hovered":f.dev&&$.value===o.key}},{ref_for:!0},q(o.key),{onMouseenter:r=>f.dev&&($.value=o.key),onMouseleave:r=>f.dev&&$.value===o.key&&($.value=null)}),{label:e.withCtx(()=>[te(o.key)?(e.openBlock(),e.createBlock(e.unref(i.ElTooltip),{key:0,content:"该字段已废弃",placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(U(o.key,o.field)),1)]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",ge,e.toDisplayString(U(o.key,o.field)),1))]),default:e.withCtx(()=>[e.createVNode(e.unref(de),{schema:o.field,modelValue:u.value[o.key],"onUpdate:modelValue":r=>u.value[o.key]=r,"ui-config":E.value[o.key],"field-resolver":l.fieldResolver,onChange:K},null,8,["schema","modelValue","onUpdate:modelValue","ui-config","field-resolver"]),f.dev&&$.value===o.key?(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(e.unref(i.ElTag),{size:"small",type:"info",style:{"margin-right":"4px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.key),1)]),_:2},1024),e.createVNode(e.unref(i.ElTag),{size:"small",type:w[o.key]==="top"?"warning":"info",style:{cursor:"pointer","margin-right":"4px"},onClick:e.withModifiers(r=>w[o.key]=L(w[o.key]??C.value),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(" pos:"+e.toDisplayString(w[o.key]??C.value),1)]),_:2},1032,["type","onClick"]),w[o.key]?(e.openBlock(),e.createBlock(e.unref(i.ElTag),{key:0,size:"small",type:"danger",style:{cursor:"pointer"},onClick:e.withModifiers(r=>{w[o.key]=void 0,D[o.key]=void 0},["stop"])},{default:e.withCtx(()=>[...n[2]||(n[2]=[e.createTextVNode(" 重置 ",-1)])]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),_:2},1040,["prop","required","class","onMouseenter","onMouseleave"])],!0)]),_:2},1040))),128))]),_:2},1040))]))]),_:2},1024)]),_:2},1024)],64))),128))]),_:3},16,["class"])),e.renderSlot(t.$slots,"append",{},void 0,!0),H.value.length>0?(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,(a,o)=>(e.openBlock(),e.createBlock(e.unref(i.ElButton),e.mergeProps({key:o},{ref_for:!0},a,{onClick:a.onClick}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.label),1)]),_:2},1040,["onClick"]))),128))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["model","rules","label-width","disabled","label-position"]),f.dev?(e.openBlock(),e.createElementBlock("div",be,[n[5]||(n[5]=e.createElementVNode("span",{class:"dev-toolbar-title"},"Dev",-1)),e.createElementVNode("div",ye,[n[3]||(n[3]=e.createElementVNode("span",{class:"dev-label"},"全局 label-position",-1)),e.createVNode(e.unref(i.ElTag),{size:"small",type:C.value==="top"?"warning":"primary",style:{cursor:"pointer"},onClick:n[0]||(n[0]=a=>C.value=L(C.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.value),1)]),_:1},8,["type"])]),e.createElementVNode("div",ke,[n[4]||(n[4]=e.createElementVNode("span",{class:"dev-label"},"全局 label-width",-1)),e.createElementVNode("input",{class:"dev-input",value:_.value,onInput:n[1]||(n[1]=a=>{_.value=a.target.value})},null,40,xe)]),n[6]||(n[6]=e.createElementVNode("div",{class:"dev-toolbar-row",style:{"border-top":"1px solid var(--el-border-color-light)","padding-top":"6px"}},[e.createElementVNode("span",{class:"dev-label",style:{"font-size":"11px"}},"hover 字段可单独调整")],-1))])):e.createCommentVNode("",!0)],64))}}),Z=B._export_sfc(Ce,[["__scopeId","data-v-80b35270"]]),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));exports.default=Z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-DSXDkeAI.cjs"),a=["title"],r={key:0,viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",stroke:"currentColor","stroke-width":"2"},b={key:1,viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",stroke:"currentColor","stroke-width":"2"},c=e.defineComponent({__name:"ThemeToggle",setup(y){const t=l.fi();function i(){t.value=!t.value}return(o,n)=>(e.openBlock(),e.createElementBlock("button",{class:"theme-toggle",title:e.unref(t)?"切换亮色":"切换暗色",onClick:i},[e.renderSlot(o.$slots,"icon",{isDark:e.unref(t)},()=>[e.unref(t)?(e.openBlock(),e.createElementBlock("svg",r,[...n[0]||(n[0]=[e.createStaticVNode('<circle cx="12" cy="12" r="5" data-v-fb2ebbe9></circle><line x1="12" y1="1" x2="12" y2="3" data-v-fb2ebbe9></line><line x1="12" y1="21" x2="12" y2="23" data-v-fb2ebbe9></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" data-v-fb2ebbe9></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" data-v-fb2ebbe9></line><line x1="1" y1="12" x2="3" y2="12" data-v-fb2ebbe9></line><line x1="21" y1="12" x2="23" y2="12" data-v-fb2ebbe9></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" data-v-fb2ebbe9></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" data-v-fb2ebbe9></line>',9)])])):(e.openBlock(),e.createElementBlock("svg",b,[...n[1]||(n[1]=[e.createElementVNode("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])]))],!0)],8,a))}}),d=l.on(c,[["__scopeId","data-v-fb2ebbe9"]]);exports.default=d;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as b, openBlock as l, createElementBlock as n, unref as i, renderSlot as r, createStaticVNode as c, createElementVNode as d } from "vue";
|
|
2
|
-
import { s as f, o as x } from "./index-
|
|
2
|
+
import { s as f, o as x } from "./index-DdZSBzvs.js";
|
|
3
3
|
const y = ["title"], s = {
|
|
4
4
|
key: 0,
|
|
5
5
|
viewBox: "0 0 24 24",
|