@robot-admin/naive-ui-components 0.24.3 → 0.24.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/CHANGELOG.md +7 -0
- package/README.md +2 -2
- package/README_EN.md +2 -2
- package/dist/constants2.d.cts +5 -5
- package/dist/constants2.d.ts +5 -5
- package/dist/constants3.d.cts +6 -6
- package/dist/constants3.d.ts +6 -6
- package/dist/data2.cjs +1 -1
- package/dist/data2.d.cts +7 -7
- package/dist/data2.d.ts +7 -7
- package/dist/data2.js +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.js +1 -1
- package/dist/index.vue.d.cts +4 -4
- package/dist/index.vue.d.ts +4 -4
- package/dist/index10.vue.d.cts +3 -3
- package/dist/index10.vue.d.ts +5 -5
- package/dist/index11.vue.d.cts +5 -5
- package/dist/index13.vue.d.ts +3 -3
- package/dist/index14.vue.d.cts +3 -3
- package/dist/index15.vue.d.ts +9 -9
- package/dist/index16.vue.d.cts +9 -9
- package/dist/index17.vue.d.ts +3 -3
- package/dist/index18.vue.d.cts +3 -3
- package/dist/index18.vue.d.ts +2 -2
- package/dist/index19.vue.d.cts +2 -2
- package/dist/index2.vue.d.cts +3 -3
- package/dist/index2.vue.d.ts +3 -3
- package/dist/index22.vue.d.ts +3 -3
- package/dist/index23.vue.d.cts +3 -3
- package/dist/index23.vue.d.ts +2 -2
- package/dist/index24.vue.d.cts +1 -1
- package/dist/index24.vue.d.ts +1 -1
- package/dist/index26.vue.d.cts +3 -3
- package/dist/index26.vue.d.ts +3 -3
- package/dist/index28.vue.d.cts +2 -2
- package/dist/index28.vue.d.ts +2 -2
- package/dist/index3.vue.d.cts +3 -3
- package/dist/index3.vue.d.ts +3 -3
- package/dist/index5.vue.d.cts +2 -2
- package/dist/index7.vue.d.ts +2 -2
- package/dist/index8.vue.d.cts +2 -2
- package/dist/index9.vue.d.ts +3 -3
- package/dist/mapUtils.d.cts +1 -1
- package/dist/mapUtils.d.ts +1 -1
- package/dist/presets.d.cts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/useCalendarEvents.d.cts +1 -1
- package/dist/useCalendarEvents.d.ts +1 -1
- package/dist/useCollapsePanel.d.cts +3 -3
- package/dist/useCollapsePanel.d.ts +3 -3
- package/dist/useCropperCore.d.cts +4 -4
- package/dist/useCropperCore.d.ts +4 -4
- package/dist/useDynamicFormState.d.cts +12 -12
- package/dist/useDynamicFormState.d.ts +12 -12
- package/dist/useEdgeInteraction.d.cts +3 -3
- package/dist/useEdgeInteraction.d.ts +3 -3
- package/dist/useFullscreen.d.cts +2 -2
- package/dist/useFullscreen.d.ts +2 -2
- package/dist/useInfiniteScroll.d.cts +2 -2
- package/dist/useInfiniteScroll.d.ts +2 -2
- package/dist/useQRCode.d.cts +1 -1
- package/dist/useQRCode.d.ts +1 -1
- package/dist/useSignatureHistory.d.cts +5 -5
- package/dist/useSignatureHistory.d.ts +5 -5
- package/dist/useSplitResize.d.cts +1 -1
- package/dist/useSplitResize.d.ts +1 -1
- package/dist/useWorkflowValidation.d.cts +81 -81
- package/dist/useWorkflowValidation.d.ts +81 -81
- package/dist/verification.d.cts +4 -4
- package/dist/verification.d.ts +4 -4
- package/docs/stability-review-20261031.md +15 -15
- package/package.json +1 -1
package/dist/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./density.js";import{n as t,o as n,r}from"./dictionary.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./data2.js";import{t as f}from"./useComponentLocale.js";import{t as p}from"./feedback.js";import{t as m}from"./C_Icon2.js";import{t as h}from"./export-helper.js";import{a as g,i as _,o as v,r as ee}from"./useFormConfig.js";import{t as y}from"./useGridWidth.js";import{t as b}from"./useDictionary.js";import{a as x,i as te}from"./formValidation.js";import{Fragment as S,computed as C,createBlock as w,createCommentVNode as T,createElementBlock as E,createElementVNode as D,createSlots as O,createTextVNode as k,createVNode as A,defineAsyncComponent as j,defineComponent as M,getCurrentInstance as ne,guardReactiveProps as N,h as P,inject as re,isReactive as ie,mergeProps as F,nextTick as I,normalizeProps as ae,normalizeStyle as oe,onActivated as L,onDeactivated as se,onMounted as R,onScopeDispose as ce,openBlock as z,reactive as le,ref as B,renderList as V,renderSlot as H,resolveComponent as ue,resolveDynamicComponent as U,shallowReactive as de,shallowRef as W,toDisplayString as fe,toValue as pe,unref as G,useAttrs as me,watch as K,withCtx as q,withModifiers as he}from"vue";import{NAlert as ge,NButton as _e,NCard as ve,NCheckbox as ye,NCheckboxGroup as be,NForm as xe,NFormItem as Se,NGrid as Ce,NGridItem as J,NInput as we,NInputNumber as Te,NRadio as Ee,NRadioGroup as Y,NSelect as De,NSpace as Oe,NSwitch as X,NTooltip as Z}from"naive-ui";function ke(e,t){if(Reflect.has(e,t)&&Object.prototype.hasOwnProperty.call(e,t))return ie(e);let n=e;for(let e of c(t)){if(!n||typeof n!=`object`||!ie(n))return!1;n=n[e]}return!0}function Q(e,t=new Set){if(typeof e!=`object`||!e||t.has(e))return!0;t.add(e);let n=ie(e);return e instanceof Map?(e.forEach((e,r)=>{n=Q(r,t)&&n,n=Q(e,t)&&n}),n):e instanceof Set?(e.forEach(e=>{n=Q(e,t)&&n}),n):(Object.values(e).forEach(e=>{n=Q(e,t)&&n}),n)}function Ae(e,t){let n=W({}),r=new Map,a=ie(e);function o(){let i=new Set(t?pe(t):[...Object.keys(n.value),...Object.keys(e)]);for(let e of r.keys())i.has(e)||r.delete(e);return i}let s=C(()=>{for(let e of o())if(f(e))return!0;return!1});function c(){let e=[];for(let t of o())f(t)&&e.push(t);return e}function u(e){return p(e)}function f(t){if(!a)return p(t);let o=r.get(t);return o||(o=C(()=>{let r=l(e,t),a=ke(e,t);return{cacheable:Q(r)&&a,dirty:!i(l(n.value,t),r)}}),r.set(t,o)),o.value.cacheable?o.value.dirty:p(t)}function p(t){let r=l(e,t);return Q(r),!i(l(n.value,t),r)}function m(){n.value=d(e)}function h(){return d(n.value)}return{isDirty:s,getChangedFields:c,isFieldDirty:u,markAsClean:m,getCleanModel:h}}const je={input:``,textarea:``,editor:``,select:null,datePicker:null,daterange:null,timePicker:null,cascader:null,colorPicker:null,checkbox:[],upload:[],radio:``,inputNumber:null,slider:null,rate:null,switch:!1};function Me(e){return d((e.value===void 0?je[e.type]:e.value)??null)}function Ne(e){let t=new Set;e.forEach((e,n)=>{if(!e.prop?.trim())throw TypeError(`[C_Form] options[${n}].prop 不能为空`);if(t.has(e.prop))throw TypeError(`[C_Form] 字段 prop 重复: ${e.prop}`);t.add(e.prop)})}function Pe(e,t,n,r,m,h){let g=le(d(m?.value??(t.value.mode===`edit`?t.value.initialValues:void 0)??{})),_=le({}),v=new Map,ee=B({}),y=B({}),S=B({}),w=B(!1),T=new Map,E=!1,D,O=new Map,k=new Map,A=new Map,j=new Map,M=new Set,ne=!1,N=!1,P=0,re=p(()=>t.value.feedback),{t:ie}=f(()=>t.value.locale),{isDirty:F,getChangedFields:ae,isFieldDirty:oe,markAsClean:L,getCleanModel:se}=Ae(g,()=>e.value.map(e=>e.prop));function R(e,n,r){if(!E)try{t.value.onError?t.value.onError(e,{source:n,field:r}):re.error(e instanceof Error?e.message:String(e),e)}catch{}}let z=b(()=>new Map(e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions).map(e=>[e.prop,e.dictionary])),{onError:(e,t)=>R(e,`async-options`,t)});function V(e,t){if(!(E||!t))try{re[e](t)}catch{}}let H=C(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(g)}catch(t){return R(t,`callback`,e.prop),!1}}));function ue(){N=!0;let e=++P;I(()=>{e===P&&(N=!1)})}function U(){return d(g)}function de(t){let n=t?d(t):{};return e.value.forEach(e=>{o(n,e.prop)||a(n,e.prop,Me(e))}),n}function W(e){try{let t=x(e.rulesWhen?e.rulesWhen(g):e.rules);if(T.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(te(n,ie(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(g);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete _[e.prop];return}_[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete _[e.prop],T.set(e.prop,t),R(t,`callback`,e.prop)}}function fe(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&W(e)})}function pe(e){M.forEach(n=>{e.has(n)||(v.delete(n),delete _[n],T.delete(n),he(n),A.delete(n),t.value.preserveRemovedFields||s(g,n))})}function G(t=!1){try{Ne(e.value);let n=U(),r=new Set(e.value.map(e=>e.prop));pe(r),e.value.forEach(e=>{o(g,e.prop)||a(g,e.prop,Me(e)),W(e),ge(e)}),M=r,J(q(n),!1),t&&I(L)}catch(e){throw R(e,`initialize`),e}}function me(e){let t=U();ue(),u(g,de(e)),J(q(t),!1)}function q(t){return[...new Set([...Object.keys(t),...Object.keys(g),...e.value.map(e=>e.prop)])].filter(e=>!i(l(t,e),l(g,e)))}function he(e){k.get(e)?.abort(),k.delete(e),O.delete(e),j.delete(e),delete ee.value[e],delete y.value[e],delete S.value[e]}function ge(e){if(A.get(e.prop)!==e.asyncOptions){if(he(e.prop),!e.asyncOptions){A.delete(e.prop);return}A.set(e.prop,e.asyncOptions),_e(e,`initialize`)}}function _e(e,t){if(E)return;let n=j.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};j.set(e.prop,r),I(()=>{j.get(e.prop)===r&&(j.delete(e.prop),be(r.item,r.reason))})}function ve(e,t,n){return E||n.signal.aborted||O.get(e)!==t||k.get(e)!==n}function ye(e){return!E&&!!e.asyncOptions&&A.get(e.prop)===e.asyncOptions}async function be(e,t){if(!ye(e))return;let{prop:n}=e,r=(O.get(n)??0)+1;O.set(n,r),k.get(n)?.abort();let i=new AbortController;k.set(n,i),y.value[n]=!0,delete S.value[n];try{let a=await e.asyncOptions(U(),{field:n,reason:t,signal:i.signal});if(ve(n,r,i))return;if(!Array.isArray(a))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);ee.value[n]=d([...a])}catch(e){if(ve(n,r,i))return;S.value[n]=e,R(e,`async-options`,n)}finally{O.get(n)===r&&k.get(n)===i&&(y.value[n]=!1,k.delete(n))}}async function xe(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t)),r=e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0&&r.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all([...n.map(e=>(j.delete(e.prop),be(e,`manual`))),...r.map(e=>z.reload(e.prop))])}function Se(){let t=e.value.filter(e=>e.valueWhen),n=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let r of t)try{let t=r.valueWhen?.(g);t!==void 0&&!i(l(g,r.prop),t)&&(a(g,r.prop,d(t)),n.add(r.prop),e=!0)}catch(e){R(e,`callback`,r.prop)}if(!e)return[...n]}return R(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...n]}function Ce(t){let n=t.map(e=>c(e).join(`.`));return e.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let t=c(e).join(`.`);return n.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function J(e,n=!0){let r=[...new Set([...e,...Se()])];fe(),Ce(r).forEach(e=>{_e(e,`dependency`)}),n&&t.value.validateOnChange&&I(()=>{E||Y(r).catch(()=>void 0)})}function we(e){J([e])}function Te(e,t){t?v.set(e,t):v.delete(e)}async function Ee(){if(h?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!n.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=H.value.find(e=>T.has(e.prop));if(e)throw T.get(e.prop);if(await n.value.validate(),E)throw Error(`[C_Form] 表单已卸载`);r(`validate-success`,U())}catch(e){throw E||r(`validate-error`,e),e}}async function Y(e){if(h?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!n.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],r=t.find(e=>T.has(e));if(r)throw T.get(r);let i=[],a=t.flatMap(e=>{let t=v.get(e);return t?[t.validate()]:(i.push(e),[])});i.length>0&&a.push(n.value.validate(void 0,e=>i.includes(String(e.key??``))));let o=(await Promise.allSettled(a)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function De(e){if(!e){n.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>v.get(e)?.restoreValidation())}async function Oe(e){let t=H.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Y(t),!0}catch{return!1}}function X(e){let n=typeof e==`string`?e:t.value.steps?.steps?.[e]?.key;return n?Oe(e=>e.layout?.step===n):Promise.resolve(!0)}function Z(e){return Oe(t=>t.layout?.tab===e)}function ke(){return Oe(e=>!!e.layout?.dynamic)}function Q(e){return Oe(t=>t.layout?.group===e)}function je(e){Object.entries(d(e)).forEach(([e,t])=>{a(g,e,t)}),J(Object.keys(e))}function Pe(){let e=U();u(g,se()),De(),J(q(e),!1),V(`info`,t.value.resetSuccessText)}async function Fe(e,t,n=!1){a(g,e,d(t)),we(e),n&&await Y(e)}function Ie(e){return d(l(g,e))}async function Le(e,t=!1){je(e),t&&await Y(Object.keys(e))}function Re(){return E||h?.value===!1||w.value||t.value.disabled||t.value.readonly}function ze(e,r,a){return!E&&!e.signal.aborted&&h?.value!==!1&&!t.value.disabled&&!t.value.readonly&&a!==null&&n.value===a&&i(g,r)}async function Be(){if(Re())return!1;let e=U(),i=n.value,a=new AbortController;D=a,w.value=!0;try{if(await Ee(),!ze(a,e,i))return!1;let n={model:e,form:i};try{await t.value.onSubmit?.(n,{signal:a.signal})}catch(e){return a.signal.aborted||R(e,`submit`),!1}return a.signal.aborted?!1:(r(`submit`,n),V(`success`,t.value.submitSuccessText),!0)}catch{return!1}finally{D===a&&(D=void 0),w.value=!1}}function Ve(){G(!0);let e=m?.value??(t.value.mode===`edit`?t.value.initialValues:void 0);e&&me(e),I(L)}return K(e,()=>{let e=!ne;e&&ue(),G(e),ne=!0},{deep:!0,immediate:!0}),m&&K(m,e=>{e!==void 0&&!i(g,e)&&me(e)},{deep:!0,immediate:!0}),K(()=>[t.value.mode,t.value.initialValues],([e,t])=>{m?.value!==void 0||e!==`edit`||!t||(me(t),I(L))},{deep:!0}),K(g,e=>{N||r(`update:modelValue`,d(e))},{deep:!0,flush:`post`}),ce(()=>{E=!0,D?.abort(),k.forEach(e=>e.abort()),k.clear(),j.clear(),v.clear()}),{formModel:g,formRules:_,visibleOptions:H,initialize:Ve,handleFieldChange:we,setFormItemRef:Te,getFormItemElement:e=>{let t=v.get(e)?.$el;return t?.nodeType===1?t:null},validate:Ee,validateField:Y,validateStep:X,validateTab:Z,validateDynamicFields:ke,validateCustomGroup:Q,clearValidation:De,getModel:U,setFields:je,resetFields:Pe,setFieldValue:Fe,getFieldValue:Ie,setFieldsValue:Le,submit:Be,handleSubmit:Be,handleReset:Pe,isSubmitting:w,isDirty:F,getChangedFields:ae,isFieldDirty:oe,markAsClean:L,asyncOptionsCache:ee,asyncLoadingMap:y,asyncErrorMap:S,getDictionaryOptions:z.getOptions,isDictionaryLoading:z.isLoading,reloadOptions:xe}}function Fe(e,t){return e.matches(`:disabled`)||`disabled`in e&&e.disabled===!0||`readOnly`in e&&e.readOnly===!0||!t&&e.getAttribute(`tabindex`)===`-1`}function Ie(e){if(e.hidden||e.getAttribute(`aria-hidden`)===`true`||e.hasAttribute(`inert`)||e.getAttribute(`aria-disabled`)===`true`||e.getAttribute(`aria-readonly`)===`true`)return!0;let t=e.ownerDocument.defaultView?.getComputedStyle(e);return t?t.display===`none`||t.visibility===`hidden`||t.visibility===`collapse`:!1}function Le(e,t=!1){if(!e.isConnected||typeof e.focus!=`function`||Fe(e,t))return!1;for(let t=e;t;t=t.parentElement)if(Ie(t))return!1;return!0}function Re(e,t,n){if(!e||!Le(e,n))return!1;(t??e).scrollIntoView?.({block:`nearest`,inline:`nearest`}),e.focus({preventScroll:!0});let r=e.ownerDocument.activeElement;return!!r&&(r===e||e.contains(r))}async function ze(e,t,n,r){return e.focusTarget?e.focusTarget({field:e.prop,element:t,model:n,signal:r}):[...t?.querySelectorAll(`input:not([type="hidden"]),textarea,select,button,[tabindex],[contenteditable="true"]`)??[]].find(e=>Le(e))}function Be(e){let t=0,n=!1,r=!1,i,a=Promise.resolve(),o=()=>{let e=++t,n=i;return i=void 0,n?.abort(),e},s=t=>{let n=e.fields().find(e=>e.prop===t);if(!n||n.layout?.hidden)return;let r=e.access(n);return r.disabled||r.readonly?void 0:n},c=e=>n&&!r&&e===t,l=(t,n)=>{try{e.onError?.(t,n)}catch{}};return R(()=>{n=!0}),L(()=>{n=!0}),se(()=>{n=!1,o()}),ce(()=>{r=!0,n=!1,o()}),K(e.layoutType,o),async t=>{let n=o();if(!c(n))return!1;let r=new AbortController;i=r;let u=()=>c(n)&&!r.signal.aborted,d=a.then(async()=>{if(await I(),!u()||!s(t))return!1;let n=e.layout.value?.revealField;return n&&!await n(t,u)?!1:(await I(),u()&&!!s(t))});a=d.catch(()=>!1);try{if(!await d)return!1;let n=s(t);if(!n)return!1;let i=e.getElement(t),a=await ze(n,i,e.model,r.signal);if(!u()||s(t)!==n)return!1;let o=Re(a,i,!!n.focusTarget);return u()&&o}catch(e){return u()&&l(e,t),!1}}}function Ve(e,t,n){let r=e.inputProps,i=r&&typeof r==`object`&&!Array.isArray(r)?r:{};return{...e,...n===`compact`&&e.showButton===void 0?{showButton:!1}:{},inputProps:{role:`spinbutton`,inputmode:e.precision===0?`numeric`:`decimal`,"aria-label":t.label,"aria-valuenow":Number.isFinite(e.value)?e.value:void 0,"aria-valuemin":e.min??void 0,"aria-valuemax":e.max??void 0,...i}}}const He=Symbol(`c-form-renderer-registry`);function $(e={}){let t=de(new Map),n={get:e=>t.get(e)?.renderer,register:(e,n)=>{if(!e.trim())throw TypeError(`[C_Form] renderer type 不能为空`);if(typeof n!=`function`)throw TypeError(`[C_Form] renderer ${e} 必须是函数`);let r={renderer:n};return t.set(e,r),()=>t.get(e)===r&&t.delete(e)},unregister:(e,n)=>{let r=t.get(e);return!r||n&&r.renderer!==n?!1:t.delete(e)}};return Object.entries(e).forEach(([e,t])=>{n.register(e,t)}),n}function Ue(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function We(e){return{input:t=>P(e.NInput,{...t}),textarea:t=>P(e.NInput,{...t,type:`textarea`}),inputNumber:(t,n,r)=>P(e.NInputNumber,Ve(t,n,r.density)),switch:t=>P(e.NSwitch,{...t}),slider:t=>P(e.NSlider,{...t}),rate:t=>P(e.NRate,{...t}),datePicker:t=>P(e.NDatePicker,{...t}),daterange:t=>P(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>P(e.NTimePicker,{...t}),cascader:t=>P(e.NCascader,{...t}),colorPicker:t=>P(e.NColorPicker,{...t}),select:(t,n)=>P(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>P(e.NCheckboxGroup,{...t},{default:()=>P(e.NSpace,{},{default:()=>n.children?.map(t=>P(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>P(e.NRadioGroup,{...t},{default:()=>P(e.NSpace,{},{default:()=>n.children?.map(t=>P(e.NRadio,{value:t.value,disabled:t.disabled,key:String(t.value)},{default:()=>t.label}))||[]})}),upload:(t,n,r,i)=>{let a={...t},{value:o}=a,s=a[`onUpdate:value`];return delete a.value,delete a[`onUpdate:value`],P(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>s?.(e)},{default:()=>i.slots?.uploadClick?.()||P(e.NButton,{type:`primary`,size:n.attrs?.size??r.size,disabled:a.disabled===!0},{default:()=>`选择文件`}),tip:()=>i.slots?.uploadTip?.()||null})},editor:(t,n)=>{let r={...t},{value:i}=r,a=r[`onUpdate:value`];return delete r.value,delete r[`onUpdate:value`],P(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const Ge=$();function Ke(e,t){return Ge.register(e,t)}function qe(e,t){return Ge.unregister(e,t)}const Je=new Set([`select`,`checkbox`,`radio`,`cascader`]),Ye=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),Xe=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function Ze(e){let{formModel:i,visibleOptions:o,config:s,handleFieldChange:c,componentMap:u,instanceSlots:d,asyncOptionsCache:f,asyncLoadingMap:p,renderers:m,setFormItemRef:h,onError:g}=e,_=u,v=We(_),ee=ne()?re(He,void 0):void 0,y=e.registry??ee??Ge,b=e=>m?.value?.[e]??y.get(e)??v[e],x=e=>{let t=Ue(e.disabled,s.value.disabled,i),n=Ue(e.readonly,s.value.readonly,i),r=Xe.has(e.type),o={...Ye.has(e.type)?{size:e.attrs?.size??s.value.size}:{},value:l(i,e.prop),"onUpdate:value":t=>{Ue(e.disabled,s.value.disabled,i)||Ue(e.readonly,s.value.readonly,i)||(a(i,e.prop,t),c(e.prop))},disabled:t||n&&!r,readonly:n||e.type===`rate`&&t};return e.type===`textarea`&&(o.type=`textarea`),e.placeholder&&(o.placeholder=e.placeholder),o};function te(t){let n=t.children??[];return Object.prototype.hasOwnProperty.call(f.value,t.prop)?f.value[t.prop]??[]:t.children!==void 0||t.asyncOptions?n:e.getDictionaryOptions?.(t.prop).map(e=>({...e}))??[]}function S(e){return Je.has(e.type)?{...e,children:te(e)}:e}function w(t,n){return t.type===`select`&&(p.value[t.prop]||e.isDictionaryLoading?.(t.prop))&&(n.loading=!0),n}function T(e,t){return e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&Je.has(e.type)&&t===v[e.type]}function E(e,i){let a=e[`onUpdate:value`];e.value=r(e.value),e[`onUpdate:value`]=e=>{let n=t(e);Array.isArray(a)?a.forEach(e=>e(n)):a?.(n)},i.children=n(i.children??[]),e.options=i.children,e.fallbackOption=e=>({value:e,label:String(t(e)??``)})}let D=e=>{try{let t=S(e),n=b(t.type);if(!n)return g?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null;let r=w(t,F(t.attrs??{},x(t)));return T(e,n)&&E(r,t),n(r,t,s.value,{slots:d,components:_})}catch(t){return g?.(t,e.prop),null}};function O(e){if(e.label)return e.help?P(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,P(_.NTooltip,{trigger:`hover`},{trigger:()=>P(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:D,formItems:C(()=>o.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return P(_.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>h?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>D(e)})})),getBaseProps:x}}const Qe={class:`c-form-default`};var $e=h(M({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>(z(),E(`div`,Qe,[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),w(U(e),{key:e.key??t}))),128))]))}}),[[`__scopeId`,`data-v-4313de0c`]]),et=h(M({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=C(()=>t.layoutConfig?.inline?.itemWidth??280),r=C(()=>t.layoutConfig?.inline?.gap??16),i=C(()=>t.layoutConfig?.inline?.rowGap??16),a=C(()=>t.layoutConfig?.inline?.align??`center`),o=C(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),s=C(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),c=C(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:o.value,justifyContent:s.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),l=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},u=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>(z(),E(`div`,{class:`c-form-inline`,style:oe(c.value)},[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),E(`div`,{key:l(e,t),class:`c-form-inline-item`,style:oe(u(t))},[(z(),w(U(e)))],4))),128))],4))}}),[[`__scopeId`,`data-v-711f6c00`]]);const tt={class:`config-header`},nt={class:`config-controls`},rt={class:`config-label`},it={class:`item-wrapper`};var at=h(M({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,r=le({cols:24,gutter:16,responsive:!0}),i=C(()=>n.layoutConfig?.grid||{}),a=C(()=>i.value.showConfigPanel),o=C(()=>i.value.showStats),s=C(()=>({cols:a.value?r.cols:i.value.cols??24,gutter:a.value?r.gutter:i.value.gutter??16,responsive:a.value?r.responsive:i.value.responsive??!0})),c=B(null),l=y(c,()=>s.value.responsive),u=C(()=>{let e=i.value.minItemWidth;return s.value.responsive&&typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}),d=C(()=>{let e=i.value.xGap??s.value.gutter;return s.value.responsive&&l.value>0?Math.min(e,l.value/Math.max(1,s.value.cols)):e}),f=C(()=>({cols:s.value.cols,xGap:d.value,yGap:i.value.yGap??i.value.yGutter??s.value.gutter,responsive:s.value.responsive?`screen`:`self`})),p=C(()=>[{key:`cols`,label:`列数`,component:Te,value:r.cols,update:e=>{typeof e==`number`&&(r.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:Te,value:r.gutter,update:e=>{typeof e==`number`&&(r.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:X,value:r.responsive,update:e=>{typeof e==`boolean`&&(r.responsive=e)},props:{size:n.controlSize??`small`}}]),h=C(()=>`列数: ${s.value.cols} | 间距: ${s.value.gutter}px | 项目: ${n.formItems.length}个`),g=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,_=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},v=()=>{let{cols:e}=s.value;if(u.value&&l.value>0){let t=Math.max(1,Math.min(e,Math.floor((l.value+d.value)/(u.value+d.value))));return Math.ceil(e/t)}return e<=12?e:e<=24?12:8},ee=e=>{if(!u.value||l.value<=0)return e;let{cols:t}=s.value,n=Math.ceil(t*(u.value+d.value)/(l.value+d.value));return Math.min(t,Math.max(e,n))},b=e=>{let t=_(e,`span`),n=_(e,`offset`),r=_(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=s.value.cols?ee(t):v(),offset:typeof n==`number`&&n>=0&&n<s.value.cols?n:0,suffix:!!r}};return K(i,e=>{e.cols!==void 0&&(r.cols=e.cols),e.gutter!==void 0&&(r.gutter=e.gutter),e.responsive!==void 0&&(r.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(r,e),getCurrentConfig:()=>({...s.value}),getGridInfo:()=>({...s.value,itemCount:n.formItems.length})}),(t,n)=>{let r=ve,i=J,s=Ce,l=ge;return z(),E(`div`,{ref_key:`rootRef`,ref:c,class:`c-grid-layout`},[T(` 配置面板 `),a.value?(z(),w(r,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:q(()=>[D(`div`,tt,[A(m,{name:`mdi:view-grid`,size:18}),n[0]||=D(`span`,null,`网格配置`,-1)])]),default:q(()=>[D(`div`,nt,[(z(!0),E(S,null,V(p.value,e=>(z(),E(`div`,{key:e.key,class:`config-item`},[D(`span`,rt,fe(e.label)+`:`,1),(z(),w(U(e.component),F({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):T(`v-if`,!0),T(` 网格容器 `),A(s,F(f.value,{class:`grid-container`}),{default:q(()=>[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),w(i,F({key:g(e,t)},{ref_for:!0},b(t),{class:`grid-item`}),{default:q(()=>[D(`div`,it,[(z(),w(U(e)))])]),_:2},1040))),128))]),_:1},16),T(` 统计信息 `),o.value?(z(),w(l,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:q(()=>[A(m,{name:`mdi:information-outline`,size:16}),n[1]||=k(` 网格信息 `,-1)]),default:q(()=>[k(` `+fe(h.value),1)]),_:1})):T(`v-if`,!0)],512)}}}),[[`__scopeId`,`data-v-185a44af`]]);const ot=[`default`,`inline`,`grid`],st={NFormItem:Se,NInput:we,NInputNumber:Te,NSwitch:X,NSelect:De,NCheckboxGroup:be,NCheckbox:ye,NRadioGroup:Y,NRadio:Ee,NButton:_e,NSpace:Oe,NTooltip:Z,NSlider:j(()=>import(`./slider.js`)),NRate:j(()=>import(`./rate.js`)),NDatePicker:j(()=>import(`./date-picker.js`)),NTimePicker:j(()=>import(`./time-picker.js`)),NCascader:j(()=>import(`./cascader.js`)),NColorPicker:j(()=>import(`./color-picker.js`)),NUpload:j(()=>import(`./upload.js`)),C_Editor:j(()=>import(`./C_Editor.js`).then(e=>e.C_Editor))},ct={default:$e,inline:et,grid:at,card:j(()=>import(`./Card.js`)),tabs:j(()=>import(`./Tabs.js`)),steps:j(()=>import(`./Steps.js`)),dynamic:j(()=>import(`./Dynamic.js`)),custom:j(()=>import(`./Custom.js`))};var lt=h(M({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=v(),s=me(),c=C(()=>ee(i.config,o)),l=C(()=>{let{size:e}=s;return _({...c.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),u=C(()=>c.value.density!==void 0),d=C(()=>e(l.value.density)),p=C(()=>{if(!u.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=d.value;return{"--c-form-gap":`${e}px`,"--c-form-row-gap":`${t}px`,"--c-form-padding":`${n}px`,"--c-form-item-gap":`${r}px`}}),{t:m}=f(()=>l.value.locale),h=B(null),y=B(null),b=C(()=>ot.includes(l.value.layout)||y.value===l.value.layout),{formModel:x,formRules:te,visibleOptions:S,initialize:E,handleFieldChange:D,validate:j,validateField:M,validateStep:P,validateTab:re,validateDynamicFields:ie,validateCustomGroup:I,clearValidation:oe,getModel:L,setFields:se,resetFields:R,setFieldValue:ce,getFieldValue:le,setFieldsValue:ue,handleSubmit:de,handleReset:pe,isDirty:K,getChangedFields:ge,isFieldDirty:ve,markAsClean:ye,asyncOptionsCache:be,asyncLoadingMap:Ce,asyncErrorMap:J,getDictionaryOptions:we,isDictionaryLoading:Te,reloadOptions:Ee,setFormItemRef:Y,getFormItemElement:De,isSubmitting:X,submit:Z}=Pe(C(()=>i.options),l,h,a,C(()=>i.modelValue),b),ke=C(()=>x),Q=()=>L(),Ae=C(()=>({form:h.value,model:ke.value,validate:j,validateField:M,reset:R,setFields:se,getModel:Q,clearValidation:oe,submit:Z,reloadOptions:Ee,submitting:X.value})),je=ne(),Me=()=>Object.keys(je?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:Ne,getBaseProps:Fe}=Ze({formModel:x,visibleOptions:S,config:l,handleFieldChange:D,componentMap:st,instanceSlots:je?.slots,asyncOptionsCache:be,asyncLoadingMap:Ce,renderers:C(()=>i.renderers),getDictionaryOptions:we,isDictionaryLoading:Te,setFormItemRef:Y,onError:(e,t)=>l.value.onError?.(e,{source:`render`,field:t})}),Ie=W(null),Le=Be({layout:Ie,layoutType:()=>l.value.layout,fields:()=>S.value,model:x,getElement:De,access:Fe,onError:(e,t)=>l.value.onError?.(e,{source:`callback`,field:t})}),Re=C(()=>ct[l.value.layout]||ct.default),ze=C(()=>{let e=l.value,t={type:e.layout,grid:e.grid,inline:e.inline,card:e.card,tabs:e.tabs,steps:e.steps,dynamic:e.dynamic,custom:e.custom};if(!u.value)return t;let{gap:n,rowGap:r}=d.value;return{...t,grid:{gutter:n,yGutter:e.grid?.gutter??r,...e.grid},inline:{gap:n,rowGap:r,...e.inline},card:{spacing:n,...e.card},tabs:{size:e.size,...e.tabs},steps:{size:e.size===`small`?`small`:`medium`,...e.steps},dynamic:{...e.dynamic,grid:{gutter:n,...e.dynamic?.grid}}}}),Ve=C(()=>g(l.value)),He=C(()=>{let{layout:e}=l.value;return{...e===`steps`?{beforeStepChange:Ye,validateStep:Xe,submitting:X.value,disabled:l.value.disabled||l.value.readonly}:e===`tabs`?{beforeTabChange:Ke,validateTab:qe}:{},controlSize:u.value?l.value.size:void 0,onVnodeMounted:()=>{y.value=e}}}),$=(e,...t)=>{let n=l.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>l.value.onError?.(e,{source:`callback`}))}catch(e){l.value.onError?.(e,{source:`callback`})}},Ue=e=>{l.value.onFieldsChange?.(e)},We=e=>{a(`validate-success`,e)},Ge=e=>{a(`validate-error`,e)},Ke=async(e,t)=>{try{return await l.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return l.value.onError?.(e,{source:`callback`}),!1}},qe=async e=>{let t=await re(e);return t&&l.value.onTabValidate?.(e),t},Je=(e,t)=>{l.value.onStepChange?.(e,t)},Ye=async(e,t)=>{try{return await l.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return l.value.onError?.(e,{source:`callback`}),!1}},Xe=async(e,t)=>{try{return await P(t)?(l.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:j,revealField:Le,validateField:M,validateStep:P,validateTab:re,validateDynamicFields:ie,validateCustomGroup:I,clearValidation:oe,getModel:L,setFields:se,resetFields:R,setFieldValue:ce,getFieldValue:le,setFieldsValue:ue,formRef:h,formModel:x,initialize:E,layoutType:C(()=>l.value.layout),shouldShowDefaultActions:Ve,isDirty:K,getChangedFields:ge,isFieldDirty:ve,markAsClean:ye,asyncLoadingMap:Ce,asyncErrorMap:J,reloadOptions:Ee,isSubmitting:X,submit:Z}),(e,t)=>(z(),w(G(xe),F({ref_key:`formRef`,ref:h,class:[`c-form`,u.value&&`c-form--${l.value.density}`],style:p.value,model:G(x),rules:G(te),"validate-on-rule-change":!1,"label-placement":l.value.labelPlacement,"label-width":l.value.labelWidth,size:l.value.size,disabled:l.value.disabled,readonly:l.value.readonly},e.$attrs,{onSubmit:he(G(Z),[`prevent`])}),{default:q(()=>[T(` 布局组件渲染 `),(z(),w(U(Re.value),F({ref_key:`layoutRef`,ref:Ie,key:l.value.layout,"form-items":G(Ne),"layout-config":ze.value,options:G(S),"form-data":G(x)},He.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Je,onFieldAdd:t[1]||=e=>$(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>$(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>$(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>$(`onFieldsClear`),onRenderModeChange:t[5]||=e=>$(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>$(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>$(`onGroupReset`,e),onValidateSuccess:We,onValidateError:Ge,onFieldsChange:Ue}),O({"step-actions":q(t=>[H(e.$slots,`step-actions`,F(t,{submit:G(Z),submitting:G(X)}),()=>[t.isLastStep&&l.value.showActions?(z(),w(G(_e),{key:0,type:`primary`,size:l.value.size,loading:G(X)||!b.value,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(Z)},{default:q(()=>[k(fe(l.value.submitText||G(m)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):T(`v-if`,!0)],!0)]),_:2},[V(Me(),t=>({name:t,fn:q(n=>[H(e.$slots,t,ae(N(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),T(` 表单操作按钮区域(只在特定布局中显示) `),Ve.value?(z(),w(G(Se),{key:0,class:`c-form-actions`,"show-feedback":!1},{default:q(()=>[H(e.$slots,`action`,ae(N(Ae.value)),()=>[A(G(Oe),{justify:`end`,size:u.value?d.value.gap:void 0,style:{width:`100%`}},{default:q(()=>[A(G(_e),{size:l.value.size,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(pe)},{default:q(()=>[k(fe(l.value.resetText||G(m)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),H(e.$slots,`action-extra`,ae(N(Ae.value)),void 0,!0),A(G(_e),{type:`primary`,size:l.value.size,loading:G(X)||!b.value,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(de)},{default:q(()=>[k(fe(l.value.submitText||G(m)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):T(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}}),[[`__scopeId`,`data-v-12ebc552`]]);function ut(e){return e}function dt(e){return e}function ft(e){let t=W(d(e.initialValues)),n=W(null);return{model:t,formRef:n,bindings:C(()=>({modelValue:t.value,options:pe(e.options),config:pe(e.config),"onUpdate:modelValue":e=>{t.value=d(e)}})),validate:async()=>{if(!n.value)throw Error(`C_Form is not mounted`);await n.value.validate()},submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=d(n.value.getModel())):t.value=d(e.initialValues)},getValues:()=>d(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=d(n.value.getModel())):t.value={...t.value,...d(e)}}}}export{He as a,qe as c,Ae as d,lt as i,Ze as l,ut as n,$ as o,ft as r,Ke as s,dt as t,Pe as u};
|
|
1
|
+
import{t as e}from"./density.js";import{n as t,o as n,r}from"./dictionary.js";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./data2.js";import{t as f}from"./useComponentLocale.js";import{t as p}from"./feedback.js";import{t as m}from"./C_Icon2.js";import{t as h}from"./export-helper.js";import{a as g,i as _,o as v,r as ee}from"./useFormConfig.js";import{t as y}from"./useGridWidth.js";import{t as b}from"./useDictionary.js";import{a as x,i as te}from"./formValidation.js";import{Fragment as S,computed as C,createBlock as w,createCommentVNode as T,createElementBlock as E,createElementVNode as D,createSlots as O,createTextVNode as k,createVNode as A,defineAsyncComponent as j,defineComponent as M,getCurrentInstance as ne,guardReactiveProps as N,h as P,inject as re,isReactive as ie,mergeProps as F,nextTick as I,normalizeProps as ae,normalizeStyle as oe,onActivated as L,onDeactivated as se,onMounted as R,onScopeDispose as ce,openBlock as z,reactive as le,ref as B,renderList as V,renderSlot as H,resolveComponent as ue,resolveDynamicComponent as U,shallowReactive as de,shallowRef as W,toDisplayString as fe,toValue as pe,unref as G,useAttrs as me,watch as K,withCtx as q,withModifiers as he}from"vue";import{NAlert as ge,NButton as _e,NCard as ve,NCheckbox as ye,NCheckboxGroup as be,NForm as xe,NFormItem as Se,NGrid as Ce,NGridItem as J,NInput as we,NInputNumber as Te,NRadio as Ee,NRadioGroup as Y,NSelect as De,NSpace as Oe,NSwitch as X,NTooltip as Z}from"naive-ui";function ke(e,t){if(Reflect.has(e,t)&&Object.prototype.hasOwnProperty.call(e,t))return ie(e);let n=e;for(let e of c(t)){if(!n||typeof n!=`object`||!ie(n))return!1;n=n[e]}return!0}function Q(e,t=new Set){if(typeof e!=`object`||!e||t.has(e))return!0;t.add(e);let n=ie(e);if(Array.isArray(e)){for(let r of e)n=Q(r,t)&&n;return n}return e instanceof Map?(e.forEach((e,r)=>{n=Q(r,t)&&n,n=Q(e,t)&&n}),n):e instanceof Set?(e.forEach(e=>{n=Q(e,t)&&n}),n):(Object.values(e).forEach(e=>{n=Q(e,t)&&n}),n)}function Ae(e,t){let n=W({}),r=new Map,a=ie(e);function o(){let i=new Set(t?pe(t):[...Object.keys(n.value),...Object.keys(e)]);for(let e of r.keys())i.has(e)||r.delete(e);return i}let s=C(()=>{for(let e of o())if(f(e))return!0;return!1});function c(){let e=[];for(let t of o())f(t)&&e.push(t);return e}function u(e){return p(e)}function f(t){if(!a)return p(t);let o=r.get(t);return o||(o=C(()=>{let r=l(e,t),a=ke(e,t);return{cacheable:Q(r)&&a,dirty:!i(l(n.value,t),r)}}),r.set(t,o)),o.value.cacheable?o.value.dirty:p(t)}function p(t){let r=l(e,t);return Q(r),!i(l(n.value,t),r)}function m(){n.value=d(e)}function h(){return d(n.value)}return{isDirty:s,getChangedFields:c,isFieldDirty:u,markAsClean:m,getCleanModel:h}}const je={input:``,textarea:``,editor:``,select:null,datePicker:null,daterange:null,timePicker:null,cascader:null,colorPicker:null,checkbox:[],upload:[],radio:``,inputNumber:null,slider:null,rate:null,switch:!1};function Me(e){return d((e.value===void 0?je[e.type]:e.value)??null)}function Ne(e){let t=new Set;e.forEach((e,n)=>{if(!e.prop?.trim())throw TypeError(`[C_Form] options[${n}].prop 不能为空`);if(t.has(e.prop))throw TypeError(`[C_Form] 字段 prop 重复: ${e.prop}`);t.add(e.prop)})}function Pe(e,t,n,r,m,h){let g=le(d(m?.value??(t.value.mode===`edit`?t.value.initialValues:void 0)??{})),_=le({}),v=new Map,ee=B({}),y=B({}),S=B({}),w=B(!1),T=new Map,E=!1,D,O=new Map,k=new Map,A=new Map,j=new Map,M=new Set,ne=!1,N=!1,P=0,re=p(()=>t.value.feedback),{t:ie}=f(()=>t.value.locale),{isDirty:F,getChangedFields:ae,isFieldDirty:oe,markAsClean:L,getCleanModel:se}=Ae(g,()=>e.value.map(e=>e.prop));function R(e,n,r){if(!E)try{t.value.onError?t.value.onError(e,{source:n,field:r}):re.error(e instanceof Error?e.message:String(e),e)}catch{}}let z=b(()=>new Map(e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions).map(e=>[e.prop,e.dictionary])),{onError:(e,t)=>R(e,`async-options`,t)});function V(e,t){if(!(E||!t))try{re[e](t)}catch{}}let H=C(()=>e.value.filter(e=>{if(e.show===!1)return!1;if(!e.showWhen)return!0;try{return e.showWhen(g)}catch(t){return R(t,`callback`,e.prop),!1}}));function ue(){N=!0;let e=++P;I(()=>{e===P&&(N=!1)})}function U(){return d(g)}function de(t){let n=t?d(t):{};return e.value.forEach(e=>{o(n,e.prop)||a(n,e.prop,Me(e))}),n}function W(e){try{let t=x(e.rulesWhen?e.rulesWhen(g):e.rules);if(T.delete(e.prop),e.required&&!t.some(e=>e.required)){let n=e.label||e.prop;t.unshift(te(n,ie(`form.required`,{label:n})))}if(e.crossFieldValidator){let n=e.crossFieldValidator;t.push({async validator(){let e=await n(g);if(e)throw Error(e)},trigger:[`change`,`blur`]})}if(t.length===0){delete _[e.prop];return}_[e.prop]=t.map(t=>({...t,key:e.prop}))}catch(t){delete _[e.prop],T.set(e.prop,t),R(t,`callback`,e.prop)}}function fe(){e.value.forEach(e=>{(e.rulesWhen||e.crossFieldValidator)&&W(e)})}function pe(e){M.forEach(n=>{e.has(n)||(v.delete(n),delete _[n],T.delete(n),he(n),A.delete(n),t.value.preserveRemovedFields||s(g,n))})}function G(t=!1){try{Ne(e.value);let n=U(),r=new Set(e.value.map(e=>e.prop));pe(r),e.value.forEach(e=>{o(g,e.prop)||a(g,e.prop,Me(e)),W(e),ge(e)}),M=r,J(q(n),!1),t&&I(L)}catch(e){throw R(e,`initialize`),e}}function me(e){let t=U();ue(),u(g,de(e)),J(q(t),!1)}function q(t){return[...new Set([...Object.keys(t),...Object.keys(g),...e.value.map(e=>e.prop)])].filter(e=>!i(l(t,e),l(g,e)))}function he(e){k.get(e)?.abort(),k.delete(e),O.delete(e),j.delete(e),delete ee.value[e],delete y.value[e],delete S.value[e]}function ge(e){if(A.get(e.prop)!==e.asyncOptions){if(he(e.prop),!e.asyncOptions){A.delete(e.prop);return}A.set(e.prop,e.asyncOptions),_e(e,`initialize`)}}function _e(e,t){if(E)return;let n=j.get(e.prop),r={item:e,reason:n?.reason===`initialize`?n.reason:t};j.set(e.prop,r),I(()=>{j.get(e.prop)===r&&(j.delete(e.prop),be(r.item,r.reason))})}function ve(e,t,n){return E||n.signal.aborted||O.get(e)!==t||k.get(e)!==n}function ye(e){return!E&&!!e.asyncOptions&&A.get(e.prop)===e.asyncOptions}async function be(e,t){if(!ye(e))return;let{prop:n}=e,r=(O.get(n)??0)+1;O.set(n,r),k.get(n)?.abort();let i=new AbortController;k.set(n,i),y.value[n]=!0,delete S.value[n];try{let a=await e.asyncOptions(U(),{field:n,reason:t,signal:i.signal});if(ve(n,r,i))return;if(!Array.isArray(a))throw TypeError(`[C_Form] ${n}.asyncOptions 必须返回数组`);ee.value[n]=d([...a])}catch(e){if(ve(n,r,i))return;S.value[n]=e,R(e,`async-options`,n)}finally{O.get(n)===r&&k.get(n)===i&&(y.value[n]=!1,k.delete(n))}}async function xe(t){let n=e.value.filter(e=>e.asyncOptions&&(!t||e.prop===t)),r=e.value.filter(e=>e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&(!t||e.prop===t));if(t&&n.length===0&&r.length===0)throw Error(`[C_Form] 未找到异步选项字段: ${t}`);await Promise.all([...n.map(e=>(j.delete(e.prop),be(e,`manual`))),...r.map(e=>z.reload(e.prop))])}function Se(){let t=e.value.filter(e=>e.valueWhen),n=new Set;if(t.length===0)return[];for(let e=0;e<=t.length;e+=1){let e=!1;for(let r of t)try{let t=r.valueWhen?.(g);t!==void 0&&!i(l(g,r.prop),t)&&(a(g,r.prop,d(t)),n.add(r.prop),e=!0)}catch(e){R(e,`callback`,r.prop)}if(!e)return[...n]}return R(Error(`[C_Form] valueWhen 存在循环依赖,已停止继续计算`),`callback`),[...n]}function Ce(t){let n=t.map(e=>c(e).join(`.`));return e.value.filter(e=>!e.asyncOptions||!e.dependsOn?!1:(Array.isArray(e.dependsOn)?e.dependsOn:[e.dependsOn]).some(e=>{let t=c(e).join(`.`);return n.some(e=>e===t||e.startsWith(`${t}.`)||t.startsWith(`${e}.`))}))}function J(e,n=!0){let r=[...new Set([...e,...Se()])];fe(),Ce(r).forEach(e=>{_e(e,`dependency`)}),n&&t.value.validateOnChange&&I(()=>{E||Y(r).catch(()=>void 0)})}function we(e){J([e])}function Te(e,t){t?v.set(e,t):v.delete(e)}async function Ee(){if(h?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!n.value)throw Error(`[C_Form] 表单引用不存在`);try{let e=H.value.find(e=>T.has(e.prop));if(e)throw T.get(e.prop);if(await n.value.validate(),E)throw Error(`[C_Form] 表单已卸载`);r(`validate-success`,U())}catch(e){throw E||r(`validate-error`,e),e}}async function Y(e){if(h?.value===!1)throw Error(`[C_Form] 布局尚未加载完成`);if(!n.value)throw Error(`[C_Form] 表单引用不存在`);let t=[...new Set(Array.isArray(e)?e:[e])],r=t.find(e=>T.has(e));if(r)throw T.get(r);let i=[],a=t.flatMap(e=>{let t=v.get(e);return t?[t.validate()]:(i.push(e),[])});i.length>0&&a.push(n.value.validate(void 0,e=>i.includes(String(e.key??``))));let o=(await Promise.allSettled(a)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(o.length>0)throw o}function De(e){if(!e){n.value?.restoreValidation();return}(Array.isArray(e)?e:[e]).forEach(e=>v.get(e)?.restoreValidation())}async function Oe(e){let t=H.value.filter(e).map(e=>e.prop);if(t.length===0)return!0;try{return await Y(t),!0}catch{return!1}}function X(e){let n=typeof e==`string`?e:t.value.steps?.steps?.[e]?.key;return n?Oe(e=>e.layout?.step===n):Promise.resolve(!0)}function Z(e){return Oe(t=>t.layout?.tab===e)}function ke(){return Oe(e=>!!e.layout?.dynamic)}function Q(e){return Oe(t=>t.layout?.group===e)}function je(e){Object.entries(d(e)).forEach(([e,t])=>{a(g,e,t)}),J(Object.keys(e))}function Pe(){let e=U();u(g,se()),De(),J(q(e),!1),V(`info`,t.value.resetSuccessText)}async function Fe(e,t,n=!1){a(g,e,d(t)),we(e),n&&await Y(e)}function Ie(e){return d(l(g,e))}async function Le(e,t=!1){je(e),t&&await Y(Object.keys(e))}function Re(){return E||h?.value===!1||w.value||t.value.disabled||t.value.readonly}function ze(e,r,a){return!E&&!e.signal.aborted&&h?.value!==!1&&!t.value.disabled&&!t.value.readonly&&a!==null&&n.value===a&&i(g,r)}async function Be(){if(Re())return!1;let e=U(),i=n.value,a=new AbortController;D=a,w.value=!0;try{if(await Ee(),!ze(a,e,i))return!1;let n={model:e,form:i};try{await t.value.onSubmit?.(n,{signal:a.signal})}catch(e){return a.signal.aborted||R(e,`submit`),!1}return a.signal.aborted?!1:(r(`submit`,n),V(`success`,t.value.submitSuccessText),!0)}catch{return!1}finally{D===a&&(D=void 0),w.value=!1}}function Ve(){G(!0);let e=m?.value??(t.value.mode===`edit`?t.value.initialValues:void 0);e&&me(e),I(L)}return K(e,()=>{let e=!ne;e&&ue(),G(e),ne=!0},{deep:!0,immediate:!0}),m&&K(m,e=>{e!==void 0&&!i(g,e)&&me(e)},{deep:!0,immediate:!0}),K(()=>[t.value.mode,t.value.initialValues],([e,t])=>{m?.value!==void 0||e!==`edit`||!t||(me(t),I(L))},{deep:!0}),K(g,e=>{N||r(`update:modelValue`,d(e))},{deep:!0,flush:`post`}),ce(()=>{E=!0,D?.abort(),k.forEach(e=>e.abort()),k.clear(),j.clear(),v.clear()}),{formModel:g,formRules:_,visibleOptions:H,initialize:Ve,handleFieldChange:we,setFormItemRef:Te,getFormItemElement:e=>{let t=v.get(e)?.$el;return t?.nodeType===1?t:null},validate:Ee,validateField:Y,validateStep:X,validateTab:Z,validateDynamicFields:ke,validateCustomGroup:Q,clearValidation:De,getModel:U,setFields:je,resetFields:Pe,setFieldValue:Fe,getFieldValue:Ie,setFieldsValue:Le,submit:Be,handleSubmit:Be,handleReset:Pe,isSubmitting:w,isDirty:F,getChangedFields:ae,isFieldDirty:oe,markAsClean:L,asyncOptionsCache:ee,asyncLoadingMap:y,asyncErrorMap:S,getDictionaryOptions:z.getOptions,isDictionaryLoading:z.isLoading,reloadOptions:xe}}function Fe(e,t){return e.matches(`:disabled`)||`disabled`in e&&e.disabled===!0||`readOnly`in e&&e.readOnly===!0||!t&&e.getAttribute(`tabindex`)===`-1`}function Ie(e){if(e.hidden||e.getAttribute(`aria-hidden`)===`true`||e.hasAttribute(`inert`)||e.getAttribute(`aria-disabled`)===`true`||e.getAttribute(`aria-readonly`)===`true`)return!0;let t=e.ownerDocument.defaultView?.getComputedStyle(e);return t?t.display===`none`||t.visibility===`hidden`||t.visibility===`collapse`:!1}function Le(e,t=!1){if(!e.isConnected||typeof e.focus!=`function`||Fe(e,t))return!1;for(let t=e;t;t=t.parentElement)if(Ie(t))return!1;return!0}function Re(e,t,n){if(!e||!Le(e,n))return!1;(t??e).scrollIntoView?.({block:`nearest`,inline:`nearest`}),e.focus({preventScroll:!0});let r=e.ownerDocument.activeElement;return!!r&&(r===e||e.contains(r))}async function ze(e,t,n,r){return e.focusTarget?e.focusTarget({field:e.prop,element:t,model:n,signal:r}):[...t?.querySelectorAll(`input:not([type="hidden"]),textarea,select,button,[tabindex],[contenteditable="true"]`)??[]].find(e=>Le(e))}function Be(e){let t=0,n=!1,r=!1,i,a=Promise.resolve(),o=()=>{let e=++t,n=i;return i=void 0,n?.abort(),e},s=t=>{let n=e.fields().find(e=>e.prop===t);if(!n||n.layout?.hidden)return;let r=e.access(n);return r.disabled||r.readonly?void 0:n},c=e=>n&&!r&&e===t,l=(t,n)=>{try{e.onError?.(t,n)}catch{}};return R(()=>{n=!0}),L(()=>{n=!0}),se(()=>{n=!1,o()}),ce(()=>{r=!0,n=!1,o()}),K(e.layoutType,o),async t=>{let n=o();if(!c(n))return!1;let r=new AbortController;i=r;let u=()=>c(n)&&!r.signal.aborted,d=a.then(async()=>{if(await I(),!u()||!s(t))return!1;let n=e.layout.value?.revealField;return n&&!await n(t,u)?!1:(await I(),u()&&!!s(t))});a=d.catch(()=>!1);try{if(!await d)return!1;let n=s(t);if(!n)return!1;let i=e.getElement(t),a=await ze(n,i,e.model,r.signal);if(!u()||s(t)!==n)return!1;let o=Re(a,i,!!n.focusTarget);return u()&&o}catch(e){return u()&&l(e,t),!1}}}function Ve(e,t,n){let r=e.inputProps,i=r&&typeof r==`object`&&!Array.isArray(r)?r:{};return{...e,...n===`compact`&&e.showButton===void 0?{showButton:!1}:{},inputProps:{role:`spinbutton`,inputmode:e.precision===0?`numeric`:`decimal`,"aria-label":t.label,"aria-valuenow":Number.isFinite(e.value)?e.value:void 0,"aria-valuemin":e.min??void 0,"aria-valuemax":e.max??void 0,...i}}}const He=Symbol(`c-form-renderer-registry`);function $(e={}){let t=de(new Map),n={get:e=>t.get(e)?.renderer,register:(e,n)=>{if(!e.trim())throw TypeError(`[C_Form] renderer type 不能为空`);if(typeof n!=`function`)throw TypeError(`[C_Form] renderer ${e} 必须是函数`);let r={renderer:n};return t.set(e,r),()=>t.get(e)===r&&t.delete(e)},unregister:(e,n)=>{let r=t.get(e);return!r||n&&r.renderer!==n?!1:t.delete(e)}};return Object.entries(e).forEach(([e,t])=>{n.register(e,t)}),n}function Ue(e,t,n){return e===void 0?t:typeof e==`function`?e(n):e}function We(e){return{input:t=>P(e.NInput,{...t}),textarea:t=>P(e.NInput,{...t,type:`textarea`}),inputNumber:(t,n,r)=>P(e.NInputNumber,Ve(t,n,r.density)),switch:t=>P(e.NSwitch,{...t}),slider:t=>P(e.NSlider,{...t}),rate:t=>P(e.NRate,{...t}),datePicker:t=>P(e.NDatePicker,{...t}),daterange:t=>P(e.NDatePicker,{...t,type:`daterange`}),timePicker:t=>P(e.NTimePicker,{...t}),cascader:t=>P(e.NCascader,{...t}),colorPicker:t=>P(e.NColorPicker,{...t}),select:(t,n)=>P(e.NSelect,{...t,options:n.children?.map(e=>({...e}))||[]}),checkbox:(t,n)=>P(e.NCheckboxGroup,{...t},{default:()=>P(e.NSpace,{},{default:()=>n.children?.map(t=>P(e.NCheckbox,{value:t.value,label:t.label,disabled:t.disabled,key:String(t.value)}))||[]})}),radio:(t,n)=>P(e.NRadioGroup,{...t},{default:()=>P(e.NSpace,{},{default:()=>n.children?.map(t=>P(e.NRadio,{value:t.value,disabled:t.disabled,key:String(t.value)},{default:()=>t.label}))||[]})}),upload:(t,n,r,i)=>{let a={...t},{value:o}=a,s=a[`onUpdate:value`];return delete a.value,delete a[`onUpdate:value`],P(e.NUpload,{...a,fileList:Array.isArray(o)?o:[],"onUpdate:fileList":e=>s?.(e)},{default:()=>i.slots?.uploadClick?.()||P(e.NButton,{type:`primary`,size:n.attrs?.size??r.size,disabled:a.disabled===!0},{default:()=>`选择文件`}),tip:()=>i.slots?.uploadTip?.()||null})},editor:(t,n)=>{let r={...t},{value:i}=r,a=r[`onUpdate:value`];return delete r.value,delete r[`onUpdate:value`],P(e.C_Editor,{...r,editorId:`editor-${n.prop}`,modelValue:typeof i==`string`?i:``,"onUpdate:modelValue":e=>a?.(e)})}}}const Ge=$();function Ke(e,t){return Ge.register(e,t)}function qe(e,t){return Ge.unregister(e,t)}const Je=new Set([`select`,`checkbox`,`radio`,`cascader`]),Ye=new Set([`input`,`textarea`,`inputNumber`,`select`,`checkbox`,`radio`,`switch`,`datePicker`,`daterange`,`timePicker`,`cascader`,`colorPicker`]),Xe=new Set([`input`,`textarea`,`inputNumber`,`rate`,`editor`]);function Ze(e){let{formModel:i,visibleOptions:o,config:s,handleFieldChange:c,componentMap:u,instanceSlots:d,asyncOptionsCache:f,asyncLoadingMap:p,renderers:m,setFormItemRef:h,onError:g}=e,_=u,v=We(_),ee=ne()?re(He,void 0):void 0,y=e.registry??ee??Ge,b=e=>m?.value?.[e]??y.get(e)??v[e],x=e=>{let t=Ue(e.disabled,s.value.disabled,i),n=Ue(e.readonly,s.value.readonly,i),r=Xe.has(e.type),o={...Ye.has(e.type)?{size:e.attrs?.size??s.value.size}:{},value:l(i,e.prop),"onUpdate:value":t=>{Ue(e.disabled,s.value.disabled,i)||Ue(e.readonly,s.value.readonly,i)||(a(i,e.prop,t),c(e.prop))},disabled:t||n&&!r,readonly:n||e.type===`rate`&&t};return e.type===`textarea`&&(o.type=`textarea`),e.placeholder&&(o.placeholder=e.placeholder),o};function te(t){let n=t.children??[];return Object.prototype.hasOwnProperty.call(f.value,t.prop)?f.value[t.prop]??[]:t.children!==void 0||t.asyncOptions?n:e.getDictionaryOptions?.(t.prop).map(e=>({...e}))??[]}function S(e){return Je.has(e.type)?{...e,children:te(e)}:e}function w(t,n){return t.type===`select`&&(p.value[t.prop]||e.isDictionaryLoading?.(t.prop))&&(n.loading=!0),n}function T(e,t){return e.dictionary!==void 0&&e.children===void 0&&!e.asyncOptions&&Je.has(e.type)&&t===v[e.type]}function E(e,i){let a=e[`onUpdate:value`];e.value=r(e.value),e[`onUpdate:value`]=e=>{let n=t(e);Array.isArray(a)?a.forEach(e=>e(n)):a?.(n)},i.children=n(i.children??[]),e.options=i.children,e.fallbackOption=e=>({value:e,label:String(t(e)??``)})}let D=e=>{try{let t=S(e),n=b(t.type);if(!n)return g?.(TypeError(`[C_Form] 未支持的组件类型: ${t.type}`),t.prop),null;let r=w(t,F(t.attrs??{},x(t)));return T(e,n)&&E(r,t),n(r,t,s.value,{slots:d,components:_})}catch(t){return g?.(t,e.prop),null}};function O(e){if(e.label)return e.help?P(`span`,{style:`display:inline-flex;align-items:center;gap:4px`},[e.label,P(_.NTooltip,{trigger:`hover`},{trigger:()=>P(`span`,{style:`cursor:help;opacity:0.5;font-size:14px`,textContent:`ⓘ`}),default:()=>e.help})]):e.label}return{renderFormItem:D,formItems:C(()=>o.value.map(e=>{let t=!!(e.required||e.rules?.some(e=>e.required)),n=O(e);return P(_.NFormItem,{label:typeof n==`string`?n:void 0,path:e.prop,class:`c-form-field`,key:e.prop,required:t,ref:t=>h?.(e.prop,t)},{...typeof n!=`string`&&n?{label:()=>n}:{},default:()=>D(e)})})),getBaseProps:x}}const Qe={class:`c-form-default`};var $e=h(M({__name:`index`,props:{formItems:{},layoutConfig:{},options:{}},setup(e){return(t,n)=>(z(),E(`div`,Qe,[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),w(U(e),{key:e.key??t}))),128))]))}}),[[`__scopeId`,`data-v-4313de0c`]]),et=h(M({__name:`index`,props:{formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e){let t=e,n=C(()=>t.layoutConfig?.inline?.itemWidth??280),r=C(()=>t.layoutConfig?.inline?.gap??16),i=C(()=>t.layoutConfig?.inline?.rowGap??16),a=C(()=>t.layoutConfig?.inline?.align??`center`),o=C(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;default:return a.value}}),s=C(()=>{switch(a.value){case`start`:return`flex-start`;case`end`:return`flex-end`;case`center`:return`center`;default:return`flex-start`}}),c=C(()=>({display:`flex`,flexWrap:t.layoutConfig?.inline?.wrap??`wrap`,alignItems:o.value,justifyContent:s.value,gap:`${i.value}px ${r.value}px`,width:`100%`})),l=(e,t)=>{if(e.key!=null)return String(e.key);let n=e.props;return n?.path?n.path:`form-item-${t}`},u=e=>{let r=t.options?.[e]?.layout,i={width:`${n.value}px`,flexShrink:0,display:`flex`,flexDirection:`column`};return r?.width!==void 0&&(i.width=typeof r.width==`number`?`${r.width}px`:r.width),r?.style&&Object.assign(i,r.style),i};return(t,n)=>(z(),E(`div`,{class:`c-form-inline`,style:oe(c.value)},[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),E(`div`,{key:l(e,t),class:`c-form-inline-item`,style:oe(u(t))},[(z(),w(U(e)))],4))),128))],4))}}),[[`__scopeId`,`data-v-711f6c00`]]);const tt={class:`config-header`},nt={class:`config-controls`},rt={class:`config-label`},it={class:`item-wrapper`};var at=h(M({__name:`index`,props:{controlSize:{},formItems:{},layoutConfig:{default:()=>({})},options:{default:()=>[]}},setup(e,{expose:t}){let n=e,r=le({cols:24,gutter:16,responsive:!0}),i=C(()=>n.layoutConfig?.grid||{}),a=C(()=>i.value.showConfigPanel),o=C(()=>i.value.showStats),s=C(()=>({cols:a.value?r.cols:i.value.cols??24,gutter:a.value?r.gutter:i.value.gutter??16,responsive:a.value?r.responsive:i.value.responsive??!0})),c=B(null),l=y(c,()=>s.value.responsive),u=C(()=>{let e=i.value.minItemWidth;return s.value.responsive&&typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}),d=C(()=>{let e=i.value.xGap??s.value.gutter;return s.value.responsive&&l.value>0?Math.min(e,l.value/Math.max(1,s.value.cols)):e}),f=C(()=>({cols:s.value.cols,xGap:d.value,yGap:i.value.yGap??i.value.yGutter??s.value.gutter,responsive:s.value.responsive?`screen`:`self`})),p=C(()=>[{key:`cols`,label:`列数`,component:Te,value:r.cols,update:e=>{typeof e==`number`&&(r.cols=e)},props:{min:1,max:48,size:n.controlSize??`small`}},{key:`gutter`,label:`间距`,component:Te,value:r.gutter,update:e=>{typeof e==`number`&&(r.gutter=e)},props:{min:0,max:48,size:n.controlSize??`small`}},{key:`responsive`,label:`响应式`,component:X,value:r.responsive,update:e=>{typeof e==`boolean`&&(r.responsive=e)},props:{size:n.controlSize??`small`}}]),h=C(()=>`列数: ${s.value.cols} | 间距: ${s.value.gutter}px | 项目: ${n.formItems.length}个`),g=(e,t)=>String(e.key)||e.props?.path||`grid-item-${t}`,_=(e,t)=>{let r=n.options?.[e]?.layout;return r?.[t]??r?.grid?.[t]},v=()=>{let{cols:e}=s.value;if(u.value&&l.value>0){let t=Math.max(1,Math.min(e,Math.floor((l.value+d.value)/(u.value+d.value))));return Math.ceil(e/t)}return e<=12?e:e<=24?12:8},ee=e=>{if(!u.value||l.value<=0)return e;let{cols:t}=s.value,n=Math.ceil(t*(u.value+d.value)/(l.value+d.value));return Math.min(t,Math.max(e,n))},b=e=>{let t=_(e,`span`),n=_(e,`offset`),r=_(e,`suffix`);return{span:typeof t==`number`&&t>0&&t<=s.value.cols?ee(t):v(),offset:typeof n==`number`&&n>=0&&n<s.value.cols?n:0,suffix:!!r}};return K(i,e=>{e.cols!==void 0&&(r.cols=e.cols),e.gutter!==void 0&&(r.gutter=e.gutter),e.responsive!==void 0&&(r.responsive=e.responsive)},{immediate:!0}),t({updateGridConfig:e=>Object.assign(r,e),getCurrentConfig:()=>({...s.value}),getGridInfo:()=>({...s.value,itemCount:n.formItems.length})}),(t,n)=>{let r=ve,i=J,s=Ce,l=ge;return z(),E(`div`,{ref_key:`rootRef`,ref:c,class:`c-grid-layout`},[T(` 配置面板 `),a.value?(z(),w(r,{key:0,size:e.controlSize??`small`,bordered:!1,class:`config-panel`},{header:q(()=>[D(`div`,tt,[A(m,{name:`mdi:view-grid`,size:18}),n[0]||=D(`span`,null,`网格配置`,-1)])]),default:q(()=>[D(`div`,nt,[(z(!0),E(S,null,V(p.value,e=>(z(),E(`div`,{key:e.key,class:`config-item`},[D(`span`,rt,fe(e.label)+`:`,1),(z(),w(U(e.component),F({value:e.value},{ref_for:!0},e.props,{"onUpdate:value":e.update}),null,16,[`value`,`onUpdate:value`]))]))),128))])]),_:1},8,[`size`])):T(`v-if`,!0),T(` 网格容器 `),A(s,F(f.value,{class:`grid-container`}),{default:q(()=>[(z(!0),E(S,null,V(e.formItems,(e,t)=>(z(),w(i,F({key:g(e,t)},{ref_for:!0},b(t),{class:`grid-item`}),{default:q(()=>[D(`div`,it,[(z(),w(U(e)))])]),_:2},1040))),128))]),_:1},16),T(` 统计信息 `),o.value?(z(),w(l,{key:1,type:`info`,"show-icon":!1,size:`small`,class:`grid-stats`},{header:q(()=>[A(m,{name:`mdi:information-outline`,size:16}),n[1]||=k(` 网格信息 `,-1)]),default:q(()=>[k(` `+fe(h.value),1)]),_:1})):T(`v-if`,!0)],512)}}}),[[`__scopeId`,`data-v-185a44af`]]);const ot=[`default`,`inline`,`grid`],st={NFormItem:Se,NInput:we,NInputNumber:Te,NSwitch:X,NSelect:De,NCheckboxGroup:be,NCheckbox:ye,NRadioGroup:Y,NRadio:Ee,NButton:_e,NSpace:Oe,NTooltip:Z,NSlider:j(()=>import(`./slider.js`)),NRate:j(()=>import(`./rate.js`)),NDatePicker:j(()=>import(`./date-picker.js`)),NTimePicker:j(()=>import(`./time-picker.js`)),NCascader:j(()=>import(`./cascader.js`)),NColorPicker:j(()=>import(`./color-picker.js`)),NUpload:j(()=>import(`./upload.js`)),C_Editor:j(()=>import(`./C_Editor.js`).then(e=>e.C_Editor))},ct={default:$e,inline:et,grid:at,card:j(()=>import(`./Card.js`)),tabs:j(()=>import(`./Tabs.js`)),steps:j(()=>import(`./Steps.js`)),dynamic:j(()=>import(`./Dynamic.js`)),custom:j(()=>import(`./Custom.js`))};var lt=h(M({name:`C_Form`,__name:`index`,props:{options:{},modelValue:{},config:{default:()=>({})},renderers:{}},emits:[`submit`,`update:modelValue`,`validate-success`,`validate-error`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=v(),s=me(),c=C(()=>ee(i.config,o)),l=C(()=>{let{size:e}=s;return _({...c.value,...e===`small`||e===`medium`||e===`large`?{size:e}:{}})}),u=C(()=>c.value.density!==void 0),d=C(()=>e(l.value.density)),p=C(()=>{if(!u.value)return;let{gap:e,rowGap:t,padding:n,formItemGap:r}=d.value;return{"--c-form-gap":`${e}px`,"--c-form-row-gap":`${t}px`,"--c-form-padding":`${n}px`,"--c-form-item-gap":`${r}px`}}),{t:m}=f(()=>l.value.locale),h=B(null),y=B(null),b=C(()=>ot.includes(l.value.layout)||y.value===l.value.layout),{formModel:x,formRules:te,visibleOptions:S,initialize:E,handleFieldChange:D,validate:j,validateField:M,validateStep:P,validateTab:re,validateDynamicFields:ie,validateCustomGroup:I,clearValidation:oe,getModel:L,setFields:se,resetFields:R,setFieldValue:ce,getFieldValue:le,setFieldsValue:ue,handleSubmit:de,handleReset:pe,isDirty:K,getChangedFields:ge,isFieldDirty:ve,markAsClean:ye,asyncOptionsCache:be,asyncLoadingMap:Ce,asyncErrorMap:J,getDictionaryOptions:we,isDictionaryLoading:Te,reloadOptions:Ee,setFormItemRef:Y,getFormItemElement:De,isSubmitting:X,submit:Z}=Pe(C(()=>i.options),l,h,a,C(()=>i.modelValue),b),ke=C(()=>x),Q=()=>L(),Ae=C(()=>({form:h.value,model:ke.value,validate:j,validateField:M,reset:R,setFields:se,getModel:Q,clearValidation:oe,submit:Z,reloadOptions:Ee,submitting:X.value})),je=ne(),Me=()=>Object.keys(je?.slots??{}).filter(e=>![`action`,`action-extra`,`step-actions`].includes(e)),{formItems:Ne,getBaseProps:Fe}=Ze({formModel:x,visibleOptions:S,config:l,handleFieldChange:D,componentMap:st,instanceSlots:je?.slots,asyncOptionsCache:be,asyncLoadingMap:Ce,renderers:C(()=>i.renderers),getDictionaryOptions:we,isDictionaryLoading:Te,setFormItemRef:Y,onError:(e,t)=>l.value.onError?.(e,{source:`render`,field:t})}),Ie=W(null),Le=Be({layout:Ie,layoutType:()=>l.value.layout,fields:()=>S.value,model:x,getElement:De,access:Fe,onError:(e,t)=>l.value.onError?.(e,{source:`callback`,field:t})}),Re=C(()=>ct[l.value.layout]||ct.default),ze=C(()=>{let e=l.value,t={type:e.layout,grid:e.grid,inline:e.inline,card:e.card,tabs:e.tabs,steps:e.steps,dynamic:e.dynamic,custom:e.custom};if(!u.value)return t;let{gap:n,rowGap:r}=d.value;return{...t,grid:{gutter:n,yGutter:e.grid?.gutter??r,...e.grid},inline:{gap:n,rowGap:r,...e.inline},card:{spacing:n,...e.card},tabs:{size:e.size,...e.tabs},steps:{size:e.size===`small`?`small`:`medium`,...e.steps},dynamic:{...e.dynamic,grid:{gutter:n,...e.dynamic?.grid}}}}),Ve=C(()=>g(l.value)),He=C(()=>{let{layout:e}=l.value;return{...e===`steps`?{beforeStepChange:Ye,validateStep:Xe,submitting:X.value,disabled:l.value.disabled||l.value.readonly}:e===`tabs`?{beforeTabChange:Ke,validateTab:qe}:{},controlSize:u.value?l.value.size:void 0,onVnodeMounted:()=>{y.value=e}}}),$=(e,...t)=>{let n=l.value[e];if(typeof n==`function`)try{let e=n(...t);e instanceof Promise&&e.catch(e=>l.value.onError?.(e,{source:`callback`}))}catch(e){l.value.onError?.(e,{source:`callback`})}},Ue=e=>{l.value.onFieldsChange?.(e)},We=e=>{a(`validate-success`,e)},Ge=e=>{a(`validate-error`,e)},Ke=async(e,t)=>{try{return await l.value.onTabBeforeChange?.(e,t)!==!1}catch(e){return l.value.onError?.(e,{source:`callback`}),!1}},qe=async e=>{let t=await re(e);return t&&l.value.onTabValidate?.(e),t},Je=(e,t)=>{l.value.onStepChange?.(e,t)},Ye=async(e,t)=>{try{return await l.value.onStepBeforeChange?.(e,t)!==!1}catch(e){return l.value.onError?.(e,{source:`callback`}),!1}},Xe=async(e,t)=>{try{return await P(t)?(l.value.onStepValidate?.(e),!0):!1}catch{return!1}};return n({validate:j,revealField:Le,validateField:M,validateStep:P,validateTab:re,validateDynamicFields:ie,validateCustomGroup:I,clearValidation:oe,getModel:L,setFields:se,resetFields:R,setFieldValue:ce,getFieldValue:le,setFieldsValue:ue,formRef:h,formModel:x,initialize:E,layoutType:C(()=>l.value.layout),shouldShowDefaultActions:Ve,isDirty:K,getChangedFields:ge,isFieldDirty:ve,markAsClean:ye,asyncLoadingMap:Ce,asyncErrorMap:J,reloadOptions:Ee,isSubmitting:X,submit:Z}),(e,t)=>(z(),w(G(xe),F({ref_key:`formRef`,ref:h,class:[`c-form`,u.value&&`c-form--${l.value.density}`],style:p.value,model:G(x),rules:G(te),"validate-on-rule-change":!1,"label-placement":l.value.labelPlacement,"label-width":l.value.labelWidth,size:l.value.size,disabled:l.value.disabled,readonly:l.value.readonly},e.$attrs,{onSubmit:he(G(Z),[`prevent`])}),{default:q(()=>[T(` 布局组件渲染 `),(z(),w(U(Re.value),F({ref_key:`layoutRef`,ref:Ie,key:l.value.layout,"form-items":G(Ne),"layout-config":ze.value,options:G(S),"form-data":G(x)},He.value,{onTabChange:t[0]||=(e,t)=>$(`onTabChange`,e,t),onStepChange:Je,onFieldAdd:t[1]||=e=>$(`onFieldAdd`,e),onFieldRemove:t[2]||=e=>$(`onFieldRemove`,e),onFieldToggle:t[3]||=(e,t)=>$(`onFieldToggle`,e,t),onFieldsClear:t[4]||=e=>$(`onFieldsClear`),onRenderModeChange:t[5]||=e=>$(`onRenderModeChange`,e),onGroupToggle:t[6]||=(e,t)=>$(`onGroupToggle`,e,t),onGroupReset:t[7]||=e=>$(`onGroupReset`,e),onValidateSuccess:We,onValidateError:Ge,onFieldsChange:Ue}),O({"step-actions":q(t=>[H(e.$slots,`step-actions`,F(t,{submit:G(Z),submitting:G(X)}),()=>[t.isLastStep&&l.value.showActions?(z(),w(G(_e),{key:0,type:`primary`,size:l.value.size,loading:G(X)||!b.value,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(Z)},{default:q(()=>[k(fe(l.value.submitText||G(m)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])):T(`v-if`,!0)],!0)]),_:2},[V(Me(),t=>({name:t,fn:q(n=>[H(e.$slots,t,ae(N(n)),void 0,!0)])}))]),1040,[`form-items`,`layout-config`,`options`,`form-data`])),T(` 表单操作按钮区域(只在特定布局中显示) `),Ve.value?(z(),w(G(Se),{key:0,class:`c-form-actions`,"show-feedback":!1},{default:q(()=>[H(e.$slots,`action`,ae(N(Ae.value)),()=>[A(G(Oe),{justify:`end`,size:u.value?d.value.gap:void 0,style:{width:`100%`}},{default:q(()=>[A(G(_e),{size:l.value.size,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(pe)},{default:q(()=>[k(fe(l.value.resetText||G(m)(`common.reset`)),1)]),_:1},8,[`size`,`disabled`,`onClick`]),H(e.$slots,`action-extra`,ae(N(Ae.value)),void 0,!0),A(G(_e),{type:`primary`,size:l.value.size,loading:G(X)||!b.value,disabled:!b.value||G(X)||l.value.disabled||l.value.readonly,onClick:G(de)},{default:q(()=>[k(fe(l.value.submitText||G(m)(`common.submit`)),1)]),_:1},8,[`size`,`loading`,`disabled`,`onClick`])]),_:3},8,[`size`])],!0)]),_:3})):T(`v-if`,!0)]),_:3},16,[`class`,`style`,`model`,`rules`,`label-placement`,`label-width`,`size`,`disabled`,`readonly`,`onSubmit`]))}}),[[`__scopeId`,`data-v-12ebc552`]]);function ut(e){return e}function dt(e){return e}function ft(e){let t=W(d(e.initialValues)),n=W(null);return{model:t,formRef:n,bindings:C(()=>({modelValue:t.value,options:pe(e.options),config:pe(e.config),"onUpdate:modelValue":e=>{t.value=d(e)}})),validate:async()=>{if(!n.value)throw Error(`C_Form is not mounted`);await n.value.validate()},submit:()=>n.value?.submit()??Promise.resolve(!1),reset:()=>{n.value?(n.value.resetFields(),t.value=d(n.value.getModel())):t.value=d(e.initialValues)},getValues:()=>d(n.value?.getModel()??t.value),setValues:async(e,r=!1)=>{n.value?(await n.value.setFieldsValue(e,r),t.value=d(n.value.getModel())):t.value={...t.value,...d(e)}}}}export{He as a,qe as c,Ae as d,lt as i,Ze as l,ut as n,$ as o,ft as r,Ke as s,dt as t,Pe as u};
|
package/dist/index.vue.d.cts
CHANGED
|
@@ -61,23 +61,23 @@ type __VLS_Props = {
|
|
|
61
61
|
};
|
|
62
62
|
declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
63
63
|
error: (error: unknown) => any;
|
|
64
|
+
ended: (index: number) => any;
|
|
64
65
|
play: (index: number) => any;
|
|
65
66
|
pause: () => any;
|
|
66
|
-
ended: (index: number) => any;
|
|
67
67
|
modeChange: (mode: string) => any;
|
|
68
68
|
}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
69
69
|
onError?: ((error: unknown) => any) | undefined;
|
|
70
|
+
onEnded?: ((index: number) => any) | undefined;
|
|
70
71
|
onPlay?: ((index: number) => any) | undefined;
|
|
71
72
|
onPause?: (() => any) | undefined;
|
|
72
|
-
onEnded?: ((index: number) => any) | undefined;
|
|
73
73
|
onModeChange?: ((mode: string) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
|
-
mode: "list" | "
|
|
75
|
+
mode: "list" | "loop" | "single" | "shuffle";
|
|
76
76
|
theme: "default" | "minimal";
|
|
77
|
+
autoplay: boolean;
|
|
77
78
|
initialIndex: number;
|
|
78
79
|
showPlaylist: boolean;
|
|
79
80
|
showCover: boolean;
|
|
80
|
-
autoplay: boolean;
|
|
81
81
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
82
82
|
declare const _default: typeof __VLS_export;
|
|
83
83
|
//#endregion
|
package/dist/index.vue.d.ts
CHANGED
|
@@ -61,23 +61,23 @@ type __VLS_Props = {
|
|
|
61
61
|
};
|
|
62
62
|
declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
63
63
|
error: (error: unknown) => any;
|
|
64
|
+
ended: (index: number) => any;
|
|
64
65
|
play: (index: number) => any;
|
|
65
66
|
pause: () => any;
|
|
66
|
-
ended: (index: number) => any;
|
|
67
67
|
modeChange: (mode: string) => any;
|
|
68
68
|
}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
69
69
|
onError?: ((error: unknown) => any) | undefined;
|
|
70
|
+
onEnded?: ((index: number) => any) | undefined;
|
|
70
71
|
onPlay?: ((index: number) => any) | undefined;
|
|
71
72
|
onPause?: (() => any) | undefined;
|
|
72
|
-
onEnded?: ((index: number) => any) | undefined;
|
|
73
73
|
onModeChange?: ((mode: string) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
|
-
mode: "list" | "
|
|
75
|
+
mode: "list" | "loop" | "single" | "shuffle";
|
|
76
76
|
theme: "default" | "minimal";
|
|
77
|
+
autoplay: boolean;
|
|
77
78
|
initialIndex: number;
|
|
78
79
|
showPlaylist: boolean;
|
|
79
80
|
showCover: boolean;
|
|
80
|
-
autoplay: boolean;
|
|
81
81
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
82
82
|
declare const _default: typeof __VLS_export;
|
|
83
83
|
//#endregion
|
package/dist/index10.vue.d.cts
CHANGED
|
@@ -23,18 +23,18 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
23
23
|
copyCode: typeof copyCode;
|
|
24
24
|
toggleFullscreen: typeof toggleFullscreen;
|
|
25
25
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
26
|
+
fullscreen: (isFullscreen: boolean) => any;
|
|
26
27
|
click: (event: MouseEvent) => any;
|
|
27
28
|
copy: (code: string) => any;
|
|
28
|
-
fullscreen: (isFullscreen: boolean) => any;
|
|
29
29
|
}, string, vue.PublicProps, Readonly<Props> & Readonly<{
|
|
30
|
+
onFullscreen?: ((isFullscreen: boolean) => any) | undefined;
|
|
30
31
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
31
32
|
onCopy?: ((code: string) => any) | undefined;
|
|
32
|
-
onFullscreen?: ((isFullscreen: boolean) => any) | undefined;
|
|
33
33
|
}>, {
|
|
34
34
|
trim: boolean;
|
|
35
|
-
code: string;
|
|
36
35
|
language: string;
|
|
37
36
|
showHeader: boolean;
|
|
37
|
+
code: string;
|
|
38
38
|
showLineNumbers: boolean;
|
|
39
39
|
wordWrap: boolean;
|
|
40
40
|
showFullscreen: boolean;
|
package/dist/index10.vue.d.ts
CHANGED
|
@@ -61,23 +61,23 @@ declare const __VLS_export: vue.DefineComponent<ContextMenuProps, {
|
|
|
61
61
|
close: () => void; /** 当前是否可见 */
|
|
62
62
|
visible: vue.ComputedRef<boolean>;
|
|
63
63
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
64
|
+
select: (item: ContextMenuItem) => any;
|
|
65
|
+
close: () => any;
|
|
64
66
|
open: (position: {
|
|
65
67
|
x: number;
|
|
66
68
|
y: number;
|
|
67
69
|
}) => any;
|
|
68
|
-
close: () => any;
|
|
69
|
-
select: (item: ContextMenuItem) => any;
|
|
70
70
|
}, string, vue.PublicProps, Readonly<ContextMenuProps> & Readonly<{
|
|
71
|
+
onSelect?: ((item: ContextMenuItem) => any) | undefined;
|
|
72
|
+
onClose?: (() => any) | undefined;
|
|
71
73
|
onOpen?: ((position: {
|
|
72
74
|
x: number;
|
|
73
75
|
y: number;
|
|
74
76
|
}) => any) | undefined;
|
|
75
|
-
onClose?: (() => any) | undefined;
|
|
76
|
-
onSelect?: ((item: ContextMenuItem) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
78
|
disabled: boolean;
|
|
79
|
-
zIndex: number;
|
|
80
79
|
items: ContextMenuItem[];
|
|
80
|
+
zIndex: number;
|
|
81
81
|
minWidth: number;
|
|
82
82
|
maxWidth: number;
|
|
83
83
|
subMenuPlacement: "right" | "left";
|
package/dist/index11.vue.d.cts
CHANGED
|
@@ -61,23 +61,23 @@ declare const __VLS_export: vue.DefineComponent<ContextMenuProps, {
|
|
|
61
61
|
close: () => void; /** 当前是否可见 */
|
|
62
62
|
visible: vue.ComputedRef<boolean>;
|
|
63
63
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
64
|
+
select: (item: ContextMenuItem) => any;
|
|
65
|
+
close: () => any;
|
|
64
66
|
open: (position: {
|
|
65
67
|
x: number;
|
|
66
68
|
y: number;
|
|
67
69
|
}) => any;
|
|
68
|
-
close: () => any;
|
|
69
|
-
select: (item: ContextMenuItem) => any;
|
|
70
70
|
}, string, vue.PublicProps, Readonly<ContextMenuProps> & Readonly<{
|
|
71
|
+
onSelect?: ((item: ContextMenuItem) => any) | undefined;
|
|
72
|
+
onClose?: (() => any) | undefined;
|
|
71
73
|
onOpen?: ((position: {
|
|
72
74
|
x: number;
|
|
73
75
|
y: number;
|
|
74
76
|
}) => any) | undefined;
|
|
75
|
-
onClose?: (() => any) | undefined;
|
|
76
|
-
onSelect?: ((item: ContextMenuItem) => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
78
|
disabled: boolean;
|
|
79
|
-
zIndex: number;
|
|
80
79
|
items: ContextMenuItem[];
|
|
80
|
+
zIndex: number;
|
|
81
81
|
minWidth: number;
|
|
82
82
|
maxWidth: number;
|
|
83
83
|
subMenuPlacement: "right" | "left";
|
package/dist/index13.vue.d.ts
CHANGED
|
@@ -53,11 +53,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
53
53
|
"onEditor-change"?: ((html: string) => any) | undefined;
|
|
54
54
|
}>, {
|
|
55
55
|
modelValue: string;
|
|
56
|
-
height: number;
|
|
57
|
-
disabled: boolean;
|
|
58
56
|
placeholder: string;
|
|
59
|
-
|
|
57
|
+
disabled: boolean;
|
|
60
58
|
theme: "light" | "dark";
|
|
59
|
+
height: number;
|
|
60
|
+
readonly: boolean;
|
|
61
61
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
62
62
|
declare const _default: typeof __VLS_export;
|
|
63
63
|
//#endregion
|
package/dist/index14.vue.d.cts
CHANGED
|
@@ -53,11 +53,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
53
53
|
"onEditor-change"?: ((html: string) => any) | undefined;
|
|
54
54
|
}>, {
|
|
55
55
|
modelValue: string;
|
|
56
|
-
height: number;
|
|
57
|
-
disabled: boolean;
|
|
58
56
|
placeholder: string;
|
|
59
|
-
|
|
57
|
+
disabled: boolean;
|
|
60
58
|
theme: "light" | "dark";
|
|
59
|
+
height: number;
|
|
60
|
+
readonly: boolean;
|
|
61
61
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
62
62
|
declare const _default: typeof __VLS_export;
|
|
63
63
|
//#endregion
|
package/dist/index15.vue.d.ts
CHANGED
|
@@ -30,29 +30,29 @@ declare const __VLS_export: vue.DefineComponent<IconProps, {
|
|
|
30
30
|
errorMessage: Readonly<vue.Ref<string, string>>;
|
|
31
31
|
el: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
32
32
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
33
|
-
click: (event: MouseEvent | KeyboardEvent) => any;
|
|
34
33
|
error: (type: string, error?: unknown) => any;
|
|
34
|
+
click: (event: KeyboardEvent | MouseEvent) => any;
|
|
35
35
|
load: () => any;
|
|
36
36
|
}, string, vue.PublicProps, Readonly<IconProps> & Readonly<{
|
|
37
|
-
onClick?: ((event: MouseEvent | KeyboardEvent) => any) | undefined;
|
|
38
37
|
onError?: ((type: string, error?: unknown) => any) | undefined;
|
|
38
|
+
onClick?: ((event: KeyboardEvent | MouseEvent) => any) | undefined;
|
|
39
39
|
onLoad?: (() => any) | undefined;
|
|
40
40
|
}>, {
|
|
41
|
-
type: "iconify" | "unocss" | "component" | "svg" | "image";
|
|
42
|
-
size: number | string;
|
|
43
41
|
color: string;
|
|
44
|
-
|
|
42
|
+
size: number | string;
|
|
43
|
+
type: "iconify" | "unocss" | "component" | "svg" | "image";
|
|
44
|
+
loading: boolean;
|
|
45
|
+
flip: "horizontal" | "vertical" | "both";
|
|
46
|
+
title: string;
|
|
45
47
|
viewBox: string;
|
|
48
|
+
rotate: number;
|
|
49
|
+
svgPath: string;
|
|
46
50
|
alt: string;
|
|
47
51
|
clickable: boolean;
|
|
48
|
-
loading: boolean;
|
|
49
52
|
fallbackIcon: string;
|
|
50
53
|
loadTimeout: number;
|
|
51
|
-
title: string;
|
|
52
54
|
ariaLabel: string;
|
|
53
55
|
customClass: string;
|
|
54
|
-
rotate: number;
|
|
55
|
-
flip: "horizontal" | "vertical" | "both";
|
|
56
56
|
componentProps: Record<string, unknown>;
|
|
57
57
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
58
58
|
declare const _default: typeof __VLS_export;
|
package/dist/index16.vue.d.cts
CHANGED
|
@@ -30,29 +30,29 @@ declare const __VLS_export: vue.DefineComponent<IconProps, {
|
|
|
30
30
|
errorMessage: Readonly<vue.Ref<string, string>>;
|
|
31
31
|
el: vue.Ref<HTMLElement | undefined, HTMLElement | undefined>;
|
|
32
32
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
33
|
-
click: (event: MouseEvent | KeyboardEvent) => any;
|
|
34
33
|
error: (type: string, error?: unknown) => any;
|
|
34
|
+
click: (event: KeyboardEvent | MouseEvent) => any;
|
|
35
35
|
load: () => any;
|
|
36
36
|
}, string, vue.PublicProps, Readonly<IconProps> & Readonly<{
|
|
37
|
-
onClick?: ((event: MouseEvent | KeyboardEvent) => any) | undefined;
|
|
38
37
|
onError?: ((type: string, error?: unknown) => any) | undefined;
|
|
38
|
+
onClick?: ((event: KeyboardEvent | MouseEvent) => any) | undefined;
|
|
39
39
|
onLoad?: (() => any) | undefined;
|
|
40
40
|
}>, {
|
|
41
|
-
type: "iconify" | "unocss" | "component" | "svg" | "image";
|
|
42
|
-
size: number | string;
|
|
43
41
|
color: string;
|
|
44
|
-
|
|
42
|
+
size: number | string;
|
|
43
|
+
type: "iconify" | "unocss" | "component" | "svg" | "image";
|
|
44
|
+
loading: boolean;
|
|
45
|
+
flip: "horizontal" | "vertical" | "both";
|
|
46
|
+
title: string;
|
|
45
47
|
viewBox: string;
|
|
48
|
+
rotate: number;
|
|
49
|
+
svgPath: string;
|
|
46
50
|
alt: string;
|
|
47
51
|
clickable: boolean;
|
|
48
|
-
loading: boolean;
|
|
49
52
|
fallbackIcon: string;
|
|
50
53
|
loadTimeout: number;
|
|
51
|
-
title: string;
|
|
52
54
|
ariaLabel: string;
|
|
53
55
|
customClass: string;
|
|
54
|
-
rotate: number;
|
|
55
|
-
flip: "horizontal" | "vertical" | "both";
|
|
56
56
|
componentProps: Record<string, unknown>;
|
|
57
57
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
58
58
|
declare const _default: typeof __VLS_export;
|
package/dist/index17.vue.d.ts
CHANGED
|
@@ -98,21 +98,21 @@ declare const __VLS_export: vue.DefineComponent<GuideProps, {
|
|
|
98
98
|
isCompleted: () => boolean;
|
|
99
99
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
100
100
|
error: (error: unknown) => any;
|
|
101
|
-
close: (currentStep: number) => any;
|
|
102
101
|
start: () => any;
|
|
102
|
+
close: (currentStep: number) => any;
|
|
103
103
|
complete: () => any;
|
|
104
104
|
skip: (currentStep: number) => any;
|
|
105
105
|
"step-change": (stepIndex: number, step: GuideStep) => any;
|
|
106
106
|
}, string, vue.PublicProps, Readonly<GuideProps> & Readonly<{
|
|
107
107
|
onError?: ((error: unknown) => any) | undefined;
|
|
108
|
-
onClose?: ((currentStep: number) => any) | undefined;
|
|
109
108
|
onStart?: (() => any) | undefined;
|
|
109
|
+
onClose?: ((currentStep: number) => any) | undefined;
|
|
110
110
|
onComplete?: (() => any) | undefined;
|
|
111
111
|
onSkip?: ((currentStep: number) => any) | undefined;
|
|
112
112
|
"onStep-change"?: ((stepIndex: number, step: GuideStep) => any) | undefined;
|
|
113
113
|
}>, {
|
|
114
|
-
steps: GuideStep[];
|
|
115
114
|
keyboard: boolean;
|
|
115
|
+
steps: GuideStep[];
|
|
116
116
|
doneBtnText: string;
|
|
117
117
|
nextBtnText: string;
|
|
118
118
|
prevBtnText: string;
|
package/dist/index18.vue.d.cts
CHANGED
|
@@ -98,21 +98,21 @@ declare const __VLS_export: vue.DefineComponent<GuideProps, {
|
|
|
98
98
|
isCompleted: () => boolean;
|
|
99
99
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
100
100
|
error: (error: unknown) => any;
|
|
101
|
-
close: (currentStep: number) => any;
|
|
102
101
|
start: () => any;
|
|
102
|
+
close: (currentStep: number) => any;
|
|
103
103
|
complete: () => any;
|
|
104
104
|
skip: (currentStep: number) => any;
|
|
105
105
|
"step-change": (stepIndex: number, step: GuideStep) => any;
|
|
106
106
|
}, string, vue.PublicProps, Readonly<GuideProps> & Readonly<{
|
|
107
107
|
onError?: ((error: unknown) => any) | undefined;
|
|
108
|
-
onClose?: ((currentStep: number) => any) | undefined;
|
|
109
108
|
onStart?: (() => any) | undefined;
|
|
109
|
+
onClose?: ((currentStep: number) => any) | undefined;
|
|
110
110
|
onComplete?: (() => any) | undefined;
|
|
111
111
|
onSkip?: ((currentStep: number) => any) | undefined;
|
|
112
112
|
"onStep-change"?: ((stepIndex: number, step: GuideStep) => any) | undefined;
|
|
113
113
|
}>, {
|
|
114
|
-
steps: GuideStep[];
|
|
115
114
|
keyboard: boolean;
|
|
115
|
+
steps: GuideStep[];
|
|
116
116
|
doneBtnText: string;
|
|
117
117
|
nextBtnText: string;
|
|
118
118
|
prevBtnText: string;
|
package/dist/index18.vue.d.ts
CHANGED
|
@@ -34,13 +34,13 @@ type __VLS_Slots = {} & {
|
|
|
34
34
|
indicator?: (props: typeof __VLS_9) => any;
|
|
35
35
|
};
|
|
36
36
|
declare const __VLS_base: vue.DefineComponent<Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
37
|
+
status: "default" | "success" | "error" | "warning" | "info";
|
|
38
|
+
time: number;
|
|
37
39
|
strokeWidth: number;
|
|
38
40
|
percentage: number | number[];
|
|
39
41
|
isAnimation: boolean;
|
|
40
|
-
time: number;
|
|
41
42
|
indicatorPlacement: "inside" | "outside";
|
|
42
43
|
showIndicator: boolean;
|
|
43
|
-
status: "default" | "success" | "error" | "warning" | "info";
|
|
44
44
|
unit: string;
|
|
45
45
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
46
46
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/dist/index19.vue.d.cts
CHANGED
|
@@ -34,13 +34,13 @@ type __VLS_Slots = {} & {
|
|
|
34
34
|
indicator?: (props: typeof __VLS_9) => any;
|
|
35
35
|
};
|
|
36
36
|
declare const __VLS_base: vue.DefineComponent<Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
37
|
+
status: "default" | "success" | "error" | "warning" | "info";
|
|
38
|
+
time: number;
|
|
37
39
|
strokeWidth: number;
|
|
38
40
|
percentage: number | number[];
|
|
39
41
|
isAnimation: boolean;
|
|
40
|
-
time: number;
|
|
41
42
|
indicatorPlacement: "inside" | "outside";
|
|
42
43
|
showIndicator: boolean;
|
|
43
|
-
status: "default" | "success" | "error" | "warning" | "info";
|
|
44
44
|
unit: string;
|
|
45
45
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
46
46
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/dist/index2.vue.d.cts
CHANGED
|
@@ -72,11 +72,11 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue
|
|
|
72
72
|
onItemClick?: ((item: AvatarItem) => any) | undefined;
|
|
73
73
|
onOverflowClick?: ((hiddenItems: AvatarItem[]) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
|
-
direction: "ltr" | "rtl";
|
|
76
75
|
size: number;
|
|
77
|
-
clickable: boolean;
|
|
78
|
-
max: number;
|
|
79
76
|
overlap: number;
|
|
77
|
+
direction: "ltr" | "rtl";
|
|
78
|
+
max: number;
|
|
79
|
+
clickable: boolean;
|
|
80
80
|
shape: "circle" | "square";
|
|
81
81
|
showStatus: boolean;
|
|
82
82
|
showTooltip: boolean;
|
package/dist/index2.vue.d.ts
CHANGED
|
@@ -72,11 +72,11 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue
|
|
|
72
72
|
onItemClick?: ((item: AvatarItem) => any) | undefined;
|
|
73
73
|
onOverflowClick?: ((hiddenItems: AvatarItem[]) => any) | undefined;
|
|
74
74
|
}>, {
|
|
75
|
-
direction: "ltr" | "rtl";
|
|
76
75
|
size: number;
|
|
77
|
-
clickable: boolean;
|
|
78
|
-
max: number;
|
|
79
76
|
overlap: number;
|
|
77
|
+
direction: "ltr" | "rtl";
|
|
78
|
+
max: number;
|
|
79
|
+
clickable: boolean;
|
|
80
80
|
shape: "circle" | "square";
|
|
81
81
|
showStatus: boolean;
|
|
82
82
|
showTooltip: boolean;
|
package/dist/index22.vue.d.ts
CHANGED
|
@@ -61,11 +61,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
61
61
|
"onAuto-save"?: ((text: string) => any) | undefined;
|
|
62
62
|
"onMax-length-exceeded"?: ((currentLength: number, maxLength: number) => any) | undefined;
|
|
63
63
|
}>, {
|
|
64
|
+
mode: "edit" | "editable" | "preview";
|
|
64
65
|
modelValue: string;
|
|
65
|
-
height: string | number;
|
|
66
|
-
disabled: boolean;
|
|
67
66
|
placeholder: string;
|
|
68
|
-
|
|
67
|
+
disabled: boolean;
|
|
68
|
+
height: string | number;
|
|
69
69
|
tocNavPosition: "left" | "right";
|
|
70
70
|
defaultFullscreen: boolean;
|
|
71
71
|
autofocus: boolean;
|
package/dist/index23.vue.d.cts
CHANGED
|
@@ -61,11 +61,11 @@ declare const __VLS_export: vue.DefineComponent<Props, {
|
|
|
61
61
|
"onAuto-save"?: ((text: string) => any) | undefined;
|
|
62
62
|
"onMax-length-exceeded"?: ((currentLength: number, maxLength: number) => any) | undefined;
|
|
63
63
|
}>, {
|
|
64
|
+
mode: "edit" | "editable" | "preview";
|
|
64
65
|
modelValue: string;
|
|
65
|
-
height: string | number;
|
|
66
|
-
disabled: boolean;
|
|
67
66
|
placeholder: string;
|
|
68
|
-
|
|
67
|
+
disabled: boolean;
|
|
68
|
+
height: string | number;
|
|
69
69
|
tocNavPosition: "left" | "right";
|
|
70
70
|
defaultFullscreen: boolean;
|
|
71
71
|
autofocus: boolean;
|
package/dist/index23.vue.d.ts
CHANGED
|
@@ -55,9 +55,9 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
55
55
|
props: vue.PublicProps & __VLS_PrettifyLocal<MenuProps<Options> & {
|
|
56
56
|
"onUpdate:modelValue"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
57
57
|
onSelect?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
58
|
+
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
58
59
|
onIntent?: ((key: MenuSelectionKey<Options>) => any) | undefined;
|
|
59
60
|
"onUpdate:value"?: ((key: MenuSelectionKey<Options> | null) => any) | undefined;
|
|
60
|
-
"onUpdate:expandedKeys"?: ((keys: MenuSelectionKey<Options>[]) => any) | undefined;
|
|
61
61
|
}> & (typeof globalThis extends {
|
|
62
62
|
__VLS_PROPS_FALLBACK: infer P;
|
|
63
63
|
} ? P : {});
|
|
@@ -67,7 +67,7 @@ declare const __VLS_export: <Options extends MenuOption[] | undefined = undefine
|
|
|
67
67
|
}>) => void;
|
|
68
68
|
attrs: any;
|
|
69
69
|
slots: {};
|
|
70
|
-
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "
|
|
70
|
+
emit: ((evt: "update:modelValue", key: MenuSelectionKey<Options> | null) => void) & ((evt: "select", key: MenuSelectionKey<Options>) => void) & ((evt: "update:expandedKeys", keys: MenuSelectionKey<Options>[]) => void) & ((evt: "intent", key: MenuSelectionKey<Options>) => void) & ((evt: "update:value", key: MenuSelectionKey<Options> | null) => void);
|
|
71
71
|
}>) => vue.VNode & {
|
|
72
72
|
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
73
73
|
};
|
package/dist/index24.vue.d.cts
CHANGED
|
@@ -85,10 +85,10 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
|
|
|
85
85
|
onClose?: ((fallbackPath: string) => any) | undefined;
|
|
86
86
|
onCloseAll?: (() => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
|
+
persistKey: string;
|
|
88
89
|
homePath: string;
|
|
89
90
|
homeTitle: string;
|
|
90
91
|
homeIcon: string;
|
|
91
|
-
persistKey: string;
|
|
92
92
|
contextMenuLabels: LegacyContextMenuLabels;
|
|
93
93
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
94
94
|
declare const _default: typeof __VLS_export;
|
package/dist/index24.vue.d.ts
CHANGED
|
@@ -85,10 +85,10 @@ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {
|
|
|
85
85
|
onClose?: ((fallbackPath: string) => any) | undefined;
|
|
86
86
|
onCloseAll?: (() => any) | undefined;
|
|
87
87
|
}>, {
|
|
88
|
+
persistKey: string;
|
|
88
89
|
homePath: string;
|
|
89
90
|
homeTitle: string;
|
|
90
91
|
homeIcon: string;
|
|
91
|
-
persistKey: string;
|
|
92
92
|
contextMenuLabels: LegacyContextMenuLabels;
|
|
93
93
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|
|
94
94
|
declare const _default: typeof __VLS_export;
|
package/dist/index26.vue.d.cts
CHANGED
|
@@ -84,18 +84,18 @@ declare const __VLS_base: vue.DefineComponent<TimelineProps, {
|
|
|
84
84
|
/** 展开全部 */expandAll: () => void; /** 折叠全部 */
|
|
85
85
|
collapseAll: () => void;
|
|
86
86
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|
|
87
|
-
"item-click": (item: TimelineItem, index: number) => any;
|
|
88
87
|
expand: (item: TimelineItem, expanded: boolean) => any;
|
|
88
|
+
"item-click": (item: TimelineItem, index: number) => any;
|
|
89
89
|
}, string, vue.PublicProps, Readonly<TimelineProps> & Readonly<{
|
|
90
|
-
"onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
|
|
91
90
|
onExpand?: ((item: TimelineItem, expanded: boolean) => any) | undefined;
|
|
91
|
+
"onItem-click"?: ((item: TimelineItem, index: number) => any) | undefined;
|
|
92
92
|
}>, {
|
|
93
93
|
reverse: boolean;
|
|
94
94
|
mode: "vertical" | "horizontal";
|
|
95
95
|
size: "small" | "medium" | "large";
|
|
96
|
-
labelPlacement: "left" | "right" | "alternate";
|
|
97
96
|
items: TimelineItem[];
|
|
98
97
|
pending: boolean;
|
|
98
|
+
labelPlacement: "left" | "right" | "alternate";
|
|
99
99
|
lineType: "solid" | "dashed" | "dotted";
|
|
100
100
|
showTime: boolean;
|
|
101
101
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
|