dynamicformdjx 0.5.0 → 0.6.0

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.
@@ -20,6 +20,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
20
20
  type: PropType<number[]>;
21
21
  default: number[];
22
22
  };
23
+ observeDelay: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
23
27
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
24
28
  title: {
25
29
  type: StringConstructor;
@@ -40,10 +44,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
40
44
  type: PropType<number[]>;
41
45
  default: number[];
42
46
  };
47
+ observeDelay: {
48
+ type: NumberConstructor;
49
+ default: number;
50
+ };
43
51
  }>> & Readonly<{}>, {
44
52
  zealHeight: string;
45
53
  outPadding: number;
46
54
  searchBtnTxt: string[];
47
55
  checkWindowSize: number[];
56
+ observeDelay: number;
48
57
  }, SlotsType<ZealCardSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
49
58
  export default _default;
@@ -1,7 +1,10 @@
1
1
  import { PropType, SlotsType } from 'vue';
2
2
  import { DyFormItem, ZealPagination } from '../types/form';
3
- import { ZealTableSearchSlots } from '../types/slots';
3
+ import { ZealTableBtnControlSlots, ZealTableSearchSlots } from '../types/slots';
4
4
  import { PaginationProps, PaginationSlots } from 'naive-ui/es/pagination/src/Pagination';
5
+ import { ButtonProps } from 'naive-ui';
6
+ import { TableBtnType } from '../types';
7
+ import { DropdownProps } from 'naive-ui/es/dropdown/src/Dropdown';
5
8
  export declare const NaiZealTableSearch: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
9
  title: {
7
10
  type: StringConstructor;
@@ -132,3 +135,53 @@ export declare const NaiZealTablePaginationControl: import('vue').DefineComponen
132
135
  }>> & Readonly<{}>, {
133
136
  isMobile: boolean;
134
137
  }, SlotsType<PaginationSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
138
+ export declare const NaiZealTableBtnControl: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
139
+ isMobile: {
140
+ type: BooleanConstructor;
141
+ default: boolean;
142
+ };
143
+ btnItems: {
144
+ type: PropType<(TableBtnType & Partial<ButtonProps>)[]>;
145
+ default: () => never[];
146
+ };
147
+ size: {
148
+ type: PropType<"medium" | "small" | "large">;
149
+ default: string;
150
+ };
151
+ dropDownProps: {
152
+ type: PropType<DropdownProps>;
153
+ };
154
+ dropDownText: {
155
+ type: StringConstructor;
156
+ default: string;
157
+ };
158
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
159
+ onSelect: (k: string) => true;
160
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
161
+ isMobile: {
162
+ type: BooleanConstructor;
163
+ default: boolean;
164
+ };
165
+ btnItems: {
166
+ type: PropType<(TableBtnType & Partial<ButtonProps>)[]>;
167
+ default: () => never[];
168
+ };
169
+ size: {
170
+ type: PropType<"medium" | "small" | "large">;
171
+ default: string;
172
+ };
173
+ dropDownProps: {
174
+ type: PropType<DropdownProps>;
175
+ };
176
+ dropDownText: {
177
+ type: StringConstructor;
178
+ default: string;
179
+ };
180
+ }>> & Readonly<{
181
+ onOnSelect?: ((k: string) => any) | undefined;
182
+ }>, {
183
+ size: "small" | "large" | "medium";
184
+ isMobile: boolean;
185
+ btnItems: (TableBtnType & Partial<ButtonProps>)[];
186
+ dropDownText: string;
187
+ }, SlotsType<ZealTableBtnControlSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,7 @@
1
+ import { naiZealCardRef } from '..';
2
+ import { ZealColumnType } from '../../types';
3
+ import { DataTableColumns } from 'naive-ui';
4
+ export declare function useZealColumnTool<T extends Record<string, any> = any>(createColumn: ((obj: ZealColumnType) => DataTableColumns<T>), config?: Partial<DataTableColumns<T>[number]>): {
5
+ naiZealCardRef: import('vue').Ref<naiZealCardRef | null, naiZealCardRef | null>;
6
+ tableColumns: import('vue').ComputedRef<DataTableColumns<T>>;
7
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../index-BRJXkpNJ.cjs"),e=require("vue"),i=require("naive-ui"),E=e.defineComponent({name:"NaiDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,u)=>!0},slots:Object,setup(t,{emit:u,expose:r,slots:n}){const c={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},o={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,hideArrayBtn:!1,hideNumberBtn:!1,...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},a=t.size,d=e.ref(b.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol)),v=e.ref(null);e.watch(d,m=>{if(!t.isController)return;const C=b.resetObj(m,s.arraySplitSymbol);u("update:modelValue",C),u("onMerge",C,e.toRaw(d.value))},{deep:!0}),r({onSet:m=>{d.value=b.tranArr(m??t.modelValue,t.randomFun,s.arraySplitSymbol)},getResult:(m="res")=>m==="ori"?e.toRaw(d.value):b.resetObj(d.value,s.arraySplitSymbol)});const l=()=>d.value.push({rId:t.randomFun(),key:"",value:""}),y=()=>{d.value=b.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol),u("onReset")},g=()=>{d.value.sort((C,p)=>+C.rId-+p.rId);const m=b.resetObj(d.value,s.arraySplitSymbol);u("update:modelValue",m),u("onMerge",m,e.toRaw(d.value)),d.value=b.tranArr(m,t.randomFun,s.arraySplitSymbol)};return()=>e.createVNode("div",{class:`dynamicForm ${a} ${t.dyCls}`},[e.createVNode("div",{class:`dyFormList ${d.value.length?"":"noList"}`,ref:v,style:{maxHeight:o.maxHeight}},[d.value.map((m,C,p)=>{const N={row:m,index:C,isLast:C===p.length-1,addItem:()=>{d.value.push({rId:t.randomFun(),key:"",value:""}),o.autoScroll&&e.nextTick(()=>{const h=v.value;h?.scrollTo({top:h.scrollHeight,behavior:"smooth"})})},removeItem:()=>{d.value=d.value.filter(h=>h.rId!==m.rId)},toggleArray:()=>m.isArray=!m.isArray,toggleNumber:()=>m.isNumber=!m.isNumber};return e.createVNode("div",{class:"dItem",key:m.rId},[e.createVNode("div",{class:"input"},[e.createVNode(i.NInput,{size:a,value:m.key,class:"key",onInput:h=>{m.key=h}},null),e.createTextVNode(":"),e.createVNode(i.NInput,{size:a,value:m.value,class:"value",onInput:h=>{o.allowFilter&&m.isNumber?m.value=b.formatNumberInput(h,m.isArray,s.arraySplitSymbol):m.value=h}},{prefix:()=>n.typeTools?n.typeTools(N):e.createVNode(e.Fragment,null,[!o.hideArrayBtn&&e.createVNode(i.NButton,{type:m.isArray?"success":"default",size:"tiny",onClick:N.toggleArray},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),!o.hideNumberBtn&&e.createVNode(i.NButton,{type:m.isNumber?"success":"default",size:"tiny",onClick:N.toggleNumber},{default:()=>[e.createTextVNode("Number")]})])})]),e.createVNode("div",{class:"btn"},[n.rowActions?n.rowActions(N):e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:"success",size:a,disabled:!N.isLast,onClick:N.addItem},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{size:a,type:"error",onClick:N.removeItem},{default:()=>[e.createTextVNode("-")]})])])])})]),e.createVNode("div",{class:`control ${d.value.length?"":"noList"}`},[!d.value.length&&(n.newBtn?n.newBtn({newItem:l}):e.createVNode(i.NButton,{size:a,type:"success",onClick:l},{default:()=>[c.newTxt]})),!t.isController&&e.createVNode(e.Fragment,null,[!o.hideReset&&(n.resetBtn?n.resetBtn({reset:y}):e.createVNode(i.NButton,{size:a,type:"default",onClick:y},{default:()=>[c.resetTxt]})),n.mergeBtn?n.mergeBtn({merge:g}):e.createVNode(i.NButton,{size:a,type:"info",onClick:g},{default:()=>[c.mergeTxt]})])])])}});function K(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const J=e.defineComponent({name:"NaiveUiDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:t=>`添加 '${t.key}' 子项`}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,u)=>!0},slots:Object,setup(t,{emit:u,expose:r,slots:n}){const c={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},o={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,hideArrayBtn:!1,hideNumberBtn:!1,showPad:!0,retractLen:0,borderColors:[],...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},a=p=>["string","number"].includes(p),d=p=>Object.keys(p).map((N,h)=>{let f=p[N];const k=Array.isArray(f),w=k?f.every(B=>typeof B=="number"):typeof f=="number",x=f===null;return a(typeof f)&&(f=p[N]),x&&(f=""),{rId:t.randomFun(h),key:N,value:Object.prototype.toString.call(f)==="[object Object]"?d(p[N]):k?f.join(s.arraySplitSymbol):f,isArray:k||void 0,isNumber:w||void 0}}),v=p=>p.reduce((N,h)=>{const f=h.value;return h.key.trim().length&&(N[h.key]=Array.isArray(f)?v(f):b.parseValue(h.value,h.isArray,h.isNumber,s.arraySplitSymbol)),N},{}),l=e.ref(d(t.modelValue)),y=(p,N=1,h)=>e.createVNode("div",{class:[`depth-${N}`,o.showBorder?"":"no-border",o.showPad?"":"no-pad"],style:{"--depth":N,["--c"+[N]]:b.saferRepairColor(o.borderColors,N)}},[p.map((f,k,w)=>{const x=Array.isArray(f.value),B=a(typeof f.value),S={row:f,index:k,isLast:k===w.length-1,addItem:()=>{p.push({rId:t.randomFun(),key:"",value:""})},addChild:()=>{B&&(f.value=[],f.isArray=void 0),f.value.push({rId:t.randomFun(),key:"",value:""})},removeItem:()=>{if(p.splice(k,1),p.length<1){if(h===void 0)return v([]);const V=l.value.findIndex(W=>W.rId===h?.rId);N<1?l.value.splice(V,1,{...h,value:""}):h.value=""}},toggleArray:()=>f.isArray=!f.isArray,toggleNumber:()=>f.isNumber=!f.isNumber};return e.createVNode("div",{class:"dItem",key:f.rId,style:{marginLeft:N>1?`${N*o.retractLen}px`:"0"}},[e.createVNode("div",{class:"input"},[!x&&e.createVNode(e.Fragment,null,[e.createVNode(i.NInput,{value:f.key,class:"key",onInput:V=>f.key=V},null),e.createTextVNode(":")]),e.createVNode(i.NInput,{class:`value ${x?"isKey":""}`,value:B?f.value:f.key,onInput:V=>{if(x){f.key=V;return}o.allowFilter&&f.isNumber?f.value=b.formatNumberInput(V,f.isArray,s.arraySplitSymbol):f.value=V}},{prefix:Array.isArray(f.value)?void 0:()=>n.typeTools?n.typeTools(S):e.createVNode(e.Fragment,null,[!o.hideArrayBtn&&e.createVNode(i.NButton,{type:f.isArray?"success":"default",size:"tiny",onClick:S.toggleArray},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),!o.hideNumberBtn&&e.createVNode(i.NButton,{type:f.isNumber?"success":"default",size:"tiny",onClick:S.toggleNumber},{default:()=>[e.createTextVNode("Number")]})]),suffix:()=>{let V;return N<t.depth?!x&&(n.newChild?n.newChild(S):e.createVNode(i.NButton,{type:"success",size:"tiny",onClick:()=>{B&&(f.value=[],f.isArray=void 0),f.value.push({rId:t.randomFun(),key:"",value:""})}},K(V=t.newChildTxt(f))?V:{default:()=>[V]})):null}})]),e.createVNode("div",{class:"btn"},[n.rowActions?n.rowActions(S):e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:"success",disabled:!S.isLast,onClick:S.addItem},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{type:"error",onClick:S.removeItem},{default:()=>[e.createTextVNode("-")]})])]),Array.isArray(f.value)&&y(f.value,N+1,f)])})]);e.watch(l,p=>{if(!t.isController)return;const N=v(p);u("update:modelValue",N),u("onMerge",N,e.toRaw(l.value))},{deep:!0}),r({onSet:p=>{l.value=d(p??t.modelValue)},getResult:(p="res")=>p==="ori"?e.toRaw(l.value):v(l.value)});const g=()=>l.value.push({rId:t.randomFun(),key:"",value:""}),m=()=>{l.value=d(t.modelValue),u("onReset")},C=()=>{const p=v(l.value);u("update:modelValue",p),u("onMerge",p,e.toRaw(l.value)),l.value=d(p)};return()=>e.createVNode("div",{class:`dynamicCascadeForm ${t.dyCls}`},[e.createVNode("div",{class:`dyFormList ${l.value.length?"":"noObj"}`,style:{maxHeight:o.maxHeight}},[y(l.value)]),e.createVNode("div",{class:`control ${l.value.length?"":"noObj"}`},[!l.value.length&&(n.newBtn?n.newBtn({newItem:g}):e.createVNode(i.NButton,{type:"success",onClick:g},{default:()=>[c.newTxt]})),!t.isController&&e.createVNode(e.Fragment,null,[!o.hideReset&&(n.resetBtn?n.resetBtn({reset:m}):e.createVNode(i.NButton,{type:"default",onClick:m},{default:()=>[c.resetTxt]})),n.mergeBtn?n.mergeBtn({merge:C}):e.createVNode(i.NButton,{type:"info",onClick:C},{default:()=>[c.mergeTxt]})])])])}}),F=e.defineComponent({name:"NaiDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPlacement:"left",size:"medium"})},gridConfig:{type:Object,default:()=>({responsive:"screen",cols:"xs:24 s:24 m:24 l:24 xl:24 2xl:24",xGap:10})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:t=>["fullRow","grid"].includes(t)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},slots:Object,setup(t,{expose:u,slots:r}){const n=e.ref(null),c=e.computed(()=>(t.items??[]).filter(l=>!l.hidden)),o=e.computed(()=>c.value?c.value.reduce((l,y)=>(l[y.key]=y.value.value,l),{}):{}),s=e.computed(()=>({...c.value?.reduce((y,g)=>{let m=g.rule;return g.required&&!g.rule&&(m={required:!0,message:g.requiredHint?.(g?.label??"")??`${g.label}不能为空`,trigger:["blur"]}),y[g.key]=m,y},{}),...t.rules})),a=e.computed(()=>[...c.value].sort((y,g)=>{const m=y.sort??1/0,C=g.sort??1/0;return Number(m)-Number(C)}));function d(l=null){c.value&&c.value.forEach(y=>{y.value.value=l})}function v(){return new Promise((l,y)=>{n.value?.validate(g=>{g?y(g):l(o.value)})})}if(u({reset:d,validator:v,getResult:(l="res")=>l==="ori"?c.value:o.value}),!t.items)throw new Error("prop items must be not null");return()=>e.createVNode("div",{class:"naiDynamicForm"},[r.header&&e.createVNode("div",{class:"header"},[r.header?.()]),e.createVNode(i.NForm,e.mergeProps({ref:n},t.formConfig,{model:o.value,rules:s.value}),{default(){const l=a.value;return t.preset==="grid"?e.h(i.NGrid,{...t.gridConfig},{default:()=>l?.map(y=>e.h(i.NFormItemGridItem,{label:y.label,path:y.path||y.key,span:y.span??24,offset:y.offset??0},{default:I(y)}))}):l?.map(y=>e.h(i.NFormItem,{label:y.label,path:y.path||y.key},{default:I(y)}))}}),r.footer&&e.h("div",{class:"footer"},r.footer?.())])}});function I(t){return function(){return t.render2?t.render2(t):null}}function R(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Q=e.defineComponent({name:"NaiPopupModal",props:{title:{type:[String,Function]},modalProps:{type:Object},to:{type:String},showClose:{type:Boolean,default:!0},closeOnMask:{type:Boolean,default:!0},width:{type:String,default:"min(1080px,90%)"},onCancel:{type:Function,default:()=>!0},onSubmit:{type:Function,default:()=>!0},footerTxt:{type:Array,default:()=>["Cancel","Submit"]}},slots:Object,setup(t,{expose:u,emit:r,slots:n}){const c=e.computed(()=>({preset:"card",draggable:!0,...t.modalProps??{}})),o=e.ref(!1),s=e.reactive({c:!1,s:!1}),a=l=>{o.value=l??!o.value};u({toggle:a});const d=async()=>{s.c=!0,(await t.onCancel?.()??!0)&&a(!1),s.c=!1},v=async()=>{s.s=!0,(await t.onSubmit?.()??!0)&&a(!1),s.s=!1};return()=>e.createVNode(i.NModal,e.mergeProps({show:o.value,"onUpdate:show":l=>o.value=l,style:{width:t.width},title:t.title,to:t.to,closable:t.showClose,maskClosable:t.closeOnMask},c.value),{footer:()=>{const[l,y]=t.footerTxt,{c:g,s:m}=s;return e.createVNode("div",{class:"flex justify-end align-center sm-gap"},[e.createVNode(i.NButton,{size:"small",onClick:d,loading:g},R(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{size:"small",type:"success",onClick:v,loading:m},R(y)?y:{default:()=>[y]})])},...n})}});function P(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const X=e.defineComponent({name:"NaiZealCard",props:{title:{type:String},zealHeight:{type:String,default:"100vh"},outPadding:{type:Number,default:20},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},checkWindowSize:{type:Array,default:[756,500]}},slots:Object,setup(t,{slots:u}){const r=b.useWindowSize(...t.checkWindowSize),{wrapRef:n,cardRef:c,restRef:o,tableHeight:s}=b.useObserverSize(i.NCard);return()=>{const a=b.unwrapObj(r);return e.createVNode("div",{class:"zealCard",style:{height:`calc(${t.zealHeight} - ${t.outPadding*2}px)`},ref:n},[e.createVNode(i.NCard,{ref:c},{default:()=>[u.default?.({tableHeight:s.value,...a})],header:()=>{const[d,v]=t.searchBtnTxt;return e.createVNode("div",{class:"header"},[u.header?.(a)??e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"title"},[t.title]),e.createVNode("div",{class:"search"},[u.searchForm?.(),u.searchBtn?.()||u.searchForm&&e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small"},P(d)?d:{default:()=>[d]}),e.createVNode(i.NButton,{type:"info",size:"small"},P(v)?v:{default:()=>[v]})])])]),e.createVNode("div",{class:"controlBtn"},[e.createVNode("div",null,[u.controlBtn?.()]),u.toolBtn?.()])])},footer:()=>e.createVNode("div",{class:"footer"},[u.footer?.(a)])}),e.createVNode("div",{ref:o},[u.rest?.()])])}}});function A(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NInput,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function j(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NSelect,{...o,value:t.value,options:u,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r})}function O(t,u,r={},n,c){const{value:o,labelField:s,valueField:a,onChange:d,...v}=n??{},l=s??"label",y=a??"value",g=v.options??u;return e.createVNode(i.NPopselect,{...v,value:t.value,onUpdateValue:m=>{t.value=m,n?.onChange?.(m,n,g)},options:g.map(m=>({...m,label:m[l],value:m[y]})),...r},{default:()=>c??e.createVNode(i.NButton,null,{default:()=>t.value||"请选择"})})}function z(t,u,r={},n){const{valueField:c="value",onChange:o,...s}=n??{};return e.h(i.NTreeSelect,{...s,value:t.value,options:u,onUpdateValue:a=>{t.value=a,n?.onChange?.(a,n,u)},keyField:c,...r})}function D(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NRadioGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.h(i.NRadio,{...a,label:v,value:l},{default:()=>a.label})})})}function M(t,u,r={},n){const{onChange:c,...o}=n??{};return e.createVNode(i.NRadioGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.createVNode(i.NRadioButton,{...a,label:v,value:l},{default:()=>a.label})})})}function $(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NCheckboxGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>e.h(i.NSpace,{itemStyle:"display: flex"},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.h(i.NCheckbox,{value:l,label:v})})})})}function U(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NSwitch,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function L(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NDatePicker,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function G(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NTimePicker,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function H(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NCheckbox,{...c,checked:t.value,onUpdateChecked:o=>{t.value=o,r?.onChange?.(o,r)},...u},{default:()=>u?.label??r?.label})}function Z(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NDynamicTags,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function _(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NSlider,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function q(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NInputNumber,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}const Y=Object.freeze(Object.defineProperty({__proto__:null,renderCheckbox:H,renderCheckboxGroup:$,renderDatePicker:L,renderDynamicTags:Z,renderInput:A,renderInputNumber:q,renderPopSelect:O,renderRadioButtonGroup:M,renderRadioGroup:D,renderSelect:j,renderSlider:_,renderSwitch:U,renderTimePicker:G,renderTreeSelect:z},Symbol.toStringTag,{value:"Module"}));function ee(t){return function(r,n=!0){const c=t,o={renderInput:a=>c.renderInput(a.value,a.renderProps??{},a),renderSelect:a=>c.renderSelect(a.value,a.options??[],a.renderProps??{},a),renderPopSelect:a=>c.renderPopSelect(a.value,a.options??[],a.renderProps??{},a),renderTreeSelect:a=>c.renderTreeSelect(a.value,a.options??[],a.renderProps??{},a),renderRadioGroup:a=>c.renderRadioGroup(a.value,a.options??[],a.renderProps??{},a),renderRadioButtonGroup:a=>c.renderRadioButtonGroup(a.value,a.options??[],a.renderProps??{},a),renderCheckboxGroup:a=>c.renderCheckboxGroup(a.value,a.options??[],a.renderProps??{},a),renderSwitch:a=>c.renderSwitch(a.value,a.renderProps??{},a),renderDatePicker:a=>c.renderDatePicker(a.value,a.renderProps??{},a),renderTimePicker:a=>c.renderTimePicker(a.value,a.renderProps??{},a),renderCheckbox:a=>c.renderCheckbox(a.value,a.renderProps??{},a),renderDynamicTags:a=>c.renderDynamicTags(a.value,a.renderProps??{},a),renderSlider:a=>c.renderSlider(a.value,a.renderProps??{},a),renderInputNumber:a=>c.renderInputNumber(a.value,a.renderProps??{},a)};return r.map(a=>{const d=a;if(d.value=b.ensureRef(a.value),typeof a.render2=="function")d.render2=a.render2;else{const v=a.renderType??"renderInput",l=o[v];l?d.render2=()=>l(d):(console.warn(`[useDecorateForm] unknown renderType: ${a.renderType}`),d.render2=()=>o.renderInput(d))}return n?e.shallowReactive(d):d})}}const te=ee(Y);function T(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const ae=e.defineComponent({name:"NaiZealTableSearch",props:{title:{type:String},drawerTitle:{type:String},searchItems:{type:Array,default:[]},searchFormMaxHeight:{type:String,default:"200px"},drawerMaxHeight:{type:Number,default:420},drawerOpenTxt:{type:String,default:"Search Drawer"},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},mobileDrawer:{type:Boolean,default:!0},closeDrawerAuto:{type:Boolean,default:!0},copyDefault:{type:Boolean,default:!1},isMobile:{type:Boolean,default:!1}},emits:{onReset:()=>!0,onSearch:t=>!0},slots:Object,setup(t,{emit:u,slots:r,expose:n}){const c=e.ref(!1),o=e.ref({}),s=b.useDyForm(t.searchItems),a=l=>{c.value=l??!c.value},d=()=>{t.copyDefault?s.setValues(o.value):s.onReset(null),u("onReset"),a(!1)},v=()=>{const l=s.getValues();u("onSearch",l),a(!1)};return e.watch(()=>t.isMobile,l=>{t.closeDrawerAuto||l||a(!1)}),e.onMounted(async()=>{await e.nextTick(),t.copyDefault&&(o.value=s.getValues())}),n({onReset:d,onSearch:v,toggleDrawer:a,getParams:()=>s.getValues()}),()=>{const[l,y]=t.searchBtnTxt;return e.createVNode("div",{class:"naiZealTableSearch"},[!t.mobileDrawer||!t.isMobile?e.createVNode(e.Fragment,null,[r.title?.()??e.createVNode("div",{class:"naiTitle"},[t.title]),e.createVNode("div",{class:"searchForm",style:{maxHeight:t.searchFormMaxHeight}},[e.createVNode(F,{items:t.searchItems,preset:"grid",formConfig:{labelPlacement:"left"}},null)]),r.searchBtn?r.searchBtn?.({onSearch:v,onReset:d}):e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small",onClick:d},T(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{type:"info",size:"small",onClick:v},T(y)?y:{default:()=>[y]})])]):e.createVNode("div",{class:"drawerSearchBtn"},[r.title?.()??e.createVNode("div",{class:"naiTitle"},[t.title]),r.drawerBtn?r.drawerBtn?.({openDrawer:()=>a(!0)}):e.createVNode(i.NButton,{size:"small",onClick:()=>{a(!0)}},{default:()=>[t.drawerOpenTxt]})]),e.createVNode(i.NDrawer,{class:"naiZealSearchDrawer",show:c.value,"onUpdate:show":g=>c.value=g,maxHeight:t.drawerMaxHeight,trapFocus:!1,blockScroll:!1,placement:"top"},{default:()=>[e.createVNode(i.NDrawerContent,{title:t.drawerTitle??t.title},{default:()=>[e.createVNode("div",{class:"searchForm"},[e.createVNode(F,{formConfig:{labelPlacement:"left",size:"small"},items:t.searchItems},null)])],footer:()=>r.searchBtn?r.searchBtn?.({onSearch:v,onReset:d}):e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small",onClick:d},T(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{type:"info",size:"small",onClick:v},T(y)?y:{default:()=>[y]})])})]})])}}}),re=e.defineComponent({name:"NaiZealTablePaginationControl",props:{pagination:{type:Object,required:!0},pageConfig:{type:Object},isMobile:{type:Boolean,default:!1}},slots:Object,setup(t,{slots:u}){const r=e.toRef(t,"pagination");function n(o){r.value.pageNo=o,r.value?.onChange()}function c(o){r.value.pageNo=1,r.value.pageSize=o,r.value?.onPageSizeChange()}return()=>e.createVNode(i.NPagination,e.mergeProps({page:r.value?.pageNo,"page-size":r.value?.pageSize,itemCount:r.value?.total,pageSizes:r.value?.pageSizes,pageSlot:r.value?.pageSlot,showSizePicker:u.prefix&&t.isMobile?!1:r.value?.showSizePicker,"onUpdate:page":n,"onUpdate:pageSize":c},t.pageConfig),{...u})}});exports.NaiDynamicCascadeInput=J;exports.NaiDynamicForm=F;exports.NaiDynamicInput=E;exports.NaiPopupModal=Q;exports.NaiZealCard=X;exports.NaiZealTablePaginationControl=re;exports.NaiZealTableSearch=ae;exports.renderCheckbox=H;exports.renderCheckboxGroup=$;exports.renderDatePicker=L;exports.renderDynamicTags=Z;exports.renderInput=A;exports.renderInputNumber=q;exports.renderPopSelect=O;exports.renderRadioButtonGroup=M;exports.renderRadioGroup=D;exports.renderSelect=j;exports.renderSlider=_;exports.renderSwitch=U;exports.renderTimePicker=G;exports.renderTreeSelect=z;exports.useDecorateForm=te;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../index-BAqRAwDC.cjs"),e=require("vue"),i=require("naive-ui"),E=e.defineComponent({name:"NaiDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,u)=>!0},slots:Object,setup(t,{emit:u,expose:r,slots:n}){const c={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},o={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,hideArrayBtn:!1,hideNumberBtn:!1,...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},a=t.size,d=e.ref(h.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol)),v=e.ref(null);e.watch(d,y=>{if(!t.isController)return;const C=h.resetObj(y,s.arraySplitSymbol);u("update:modelValue",C),u("onMerge",C,e.toRaw(d.value))},{deep:!0}),r({onSet:y=>{d.value=h.tranArr(y??t.modelValue,t.randomFun,s.arraySplitSymbol)},getResult:(y="res")=>y==="ori"?e.toRaw(d.value):h.resetObj(d.value,s.arraySplitSymbol)});const l=()=>d.value.push({rId:t.randomFun(),key:"",value:""}),m=()=>{d.value=h.tranArr(t.modelValue,t.randomFun,s.arraySplitSymbol),u("onReset")},g=()=>{d.value.sort((C,N)=>+C.rId-+N.rId);const y=h.resetObj(d.value,s.arraySplitSymbol);u("update:modelValue",y),u("onMerge",y,e.toRaw(d.value)),d.value=h.tranArr(y,t.randomFun,s.arraySplitSymbol)};return()=>e.createVNode("div",{class:`dynamicForm ${a} ${t.dyCls}`},[e.createVNode("div",{class:`dyFormList ${d.value.length?"":"noList"}`,ref:v,style:{maxHeight:o.maxHeight}},[d.value.map((y,C,N)=>{const p={row:y,index:C,isLast:C===N.length-1,addItem:()=>{d.value.push({rId:t.randomFun(),key:"",value:""}),o.autoScroll&&e.nextTick(()=>{const b=v.value;b?.scrollTo({top:b.scrollHeight,behavior:"smooth"})})},removeItem:()=>{d.value=d.value.filter(b=>b.rId!==y.rId)},toggleArray:()=>y.isArray=!y.isArray,toggleNumber:()=>y.isNumber=!y.isNumber};return e.createVNode("div",{class:"dItem",key:y.rId},[e.createVNode("div",{class:"input"},[e.createVNode(i.NInput,{size:a,value:y.key,class:"key",onInput:b=>{y.key=b}},null),e.createTextVNode(":"),e.createVNode(i.NInput,{size:a,value:y.value,class:"value",onInput:b=>{o.allowFilter&&y.isNumber?y.value=h.formatNumberInput(b,y.isArray,s.arraySplitSymbol):y.value=b}},{prefix:()=>n.typeTools?n.typeTools(p):e.createVNode(e.Fragment,null,[!o.hideArrayBtn&&e.createVNode(i.NButton,{type:y.isArray?"success":"default",size:"tiny",onClick:p.toggleArray},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),!o.hideNumberBtn&&e.createVNode(i.NButton,{type:y.isNumber?"success":"default",size:"tiny",onClick:p.toggleNumber},{default:()=>[e.createTextVNode("Number")]})])})]),e.createVNode("div",{class:"btn"},[n.rowActions?n.rowActions(p):e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:"success",size:a,disabled:!p.isLast,onClick:p.addItem},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{size:a,type:"error",onClick:p.removeItem},{default:()=>[e.createTextVNode("-")]})])])])})]),e.createVNode("div",{class:`control ${d.value.length?"":"noList"}`},[!d.value.length&&(n.newBtn?n.newBtn({newItem:l}):e.createVNode(i.NButton,{size:a,type:"success",onClick:l},{default:()=>[c.newTxt]})),!t.isController&&e.createVNode(e.Fragment,null,[!o.hideReset&&(n.resetBtn?n.resetBtn({reset:m}):e.createVNode(i.NButton,{size:a,type:"default",onClick:m},{default:()=>[c.resetTxt]})),n.mergeBtn?n.mergeBtn({merge:g}):e.createVNode(i.NButton,{size:a,type:"info",onClick:g},{default:()=>[c.mergeTxt]})])])])}});function K(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const J=e.defineComponent({name:"NaiveUiDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:t=>`${Date.now()}_${t??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:t=>`添加 '${t.key}' 子项`}},emits:{"update:modelValue":t=>!0,onReset:()=>!0,onMerge:(t,u)=>!0},slots:Object,setup(t,{emit:u,expose:r,slots:n}){const c={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...t.btnConfigs},o={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,hideArrayBtn:!1,hideNumberBtn:!1,showPad:!0,retractLen:0,borderColors:[],...t.configs},s={arraySplitSymbol:",",...t.dyListConfigs},a=N=>["string","number"].includes(N),d=N=>Object.keys(N).map((p,b)=>{let f=N[p];const k=Array.isArray(f),w=k?f.every(B=>typeof B=="number"):typeof f=="number",x=f===null;return a(typeof f)&&(f=N[p]),x&&(f=""),{rId:t.randomFun(b),key:p,value:Object.prototype.toString.call(f)==="[object Object]"?d(N[p]):k?f.join(s.arraySplitSymbol):f,isArray:k||void 0,isNumber:w||void 0}}),v=N=>N.reduce((p,b)=>{const f=b.value;return b.key.trim().length&&(p[b.key]=Array.isArray(f)?v(f):h.parseValue(b.value,b.isArray,b.isNumber,s.arraySplitSymbol)),p},{}),l=e.ref(d(t.modelValue)),m=(N,p=1,b)=>e.createVNode("div",{class:[`depth-${p}`,o.showBorder?"":"no-border",o.showPad?"":"no-pad"],style:{"--depth":p,["--c"+[p]]:h.saferRepairColor(o.borderColors,p)}},[N.map((f,k,w)=>{const x=Array.isArray(f.value),B=a(typeof f.value),V={row:f,index:k,isLast:k===w.length-1,addItem:()=>{N.push({rId:t.randomFun(),key:"",value:""})},addChild:()=>{B&&(f.value=[],f.isArray=void 0),f.value.push({rId:t.randomFun(),key:"",value:""})},removeItem:()=>{if(N.splice(k,1),N.length<1){if(b===void 0)return v([]);const S=l.value.findIndex(W=>W.rId===b?.rId);p<1?l.value.splice(S,1,{...b,value:""}):b.value=""}},toggleArray:()=>f.isArray=!f.isArray,toggleNumber:()=>f.isNumber=!f.isNumber};return e.createVNode("div",{class:"dItem",key:f.rId,style:{marginLeft:p>1?`${p*o.retractLen}px`:"0"}},[e.createVNode("div",{class:"input"},[!x&&e.createVNode(e.Fragment,null,[e.createVNode(i.NInput,{value:f.key,class:"key",onInput:S=>f.key=S},null),e.createTextVNode(":")]),e.createVNode(i.NInput,{class:`value ${x?"isKey":""}`,value:B?f.value:f.key,onInput:S=>{if(x){f.key=S;return}o.allowFilter&&f.isNumber?f.value=h.formatNumberInput(S,f.isArray,s.arraySplitSymbol):f.value=S}},{prefix:Array.isArray(f.value)?void 0:()=>n.typeTools?n.typeTools(V):e.createVNode(e.Fragment,null,[!o.hideArrayBtn&&e.createVNode(i.NButton,{type:f.isArray?"success":"default",size:"tiny",onClick:V.toggleArray},{default:()=>[e.createTextVNode("Array")]}),e.createTextVNode(" "),!o.hideNumberBtn&&e.createVNode(i.NButton,{type:f.isNumber?"success":"default",size:"tiny",onClick:V.toggleNumber},{default:()=>[e.createTextVNode("Number")]})]),suffix:()=>{let S;return p<t.depth?!x&&(n.newChild?n.newChild(V):e.createVNode(i.NButton,{type:"success",size:"tiny",onClick:()=>{B&&(f.value=[],f.isArray=void 0),f.value.push({rId:t.randomFun(),key:"",value:""})}},K(S=t.newChildTxt(f))?S:{default:()=>[S]})):null}})]),e.createVNode("div",{class:"btn"},[n.rowActions?n.rowActions(V):e.createVNode(e.Fragment,null,[e.createVNode(i.NButton,{type:"success",disabled:!V.isLast,onClick:V.addItem},{default:()=>[e.createTextVNode("+")]}),e.createVNode(i.NButton,{type:"error",onClick:V.removeItem},{default:()=>[e.createTextVNode("-")]})])]),Array.isArray(f.value)&&m(f.value,p+1,f)])})]);e.watch(l,N=>{if(!t.isController)return;const p=v(N);u("update:modelValue",p),u("onMerge",p,e.toRaw(l.value))},{deep:!0}),r({onSet:N=>{l.value=d(N??t.modelValue)},getResult:(N="res")=>N==="ori"?e.toRaw(l.value):v(l.value)});const g=()=>l.value.push({rId:t.randomFun(),key:"",value:""}),y=()=>{l.value=d(t.modelValue),u("onReset")},C=()=>{const N=v(l.value);u("update:modelValue",N),u("onMerge",N,e.toRaw(l.value)),l.value=d(N)};return()=>e.createVNode("div",{class:`dynamicCascadeForm ${t.dyCls}`},[e.createVNode("div",{class:`dyFormList ${l.value.length?"":"noObj"}`,style:{maxHeight:o.maxHeight}},[m(l.value)]),e.createVNode("div",{class:`control ${l.value.length?"":"noObj"}`},[!l.value.length&&(n.newBtn?n.newBtn({newItem:g}):e.createVNode(i.NButton,{type:"success",onClick:g},{default:()=>[c.newTxt]})),!t.isController&&e.createVNode(e.Fragment,null,[!o.hideReset&&(n.resetBtn?n.resetBtn({reset:y}):e.createVNode(i.NButton,{type:"default",onClick:y},{default:()=>[c.resetTxt]})),n.mergeBtn?n.mergeBtn({merge:C}):e.createVNode(i.NButton,{type:"info",onClick:C},{default:()=>[c.mergeTxt]})])])])}}),F=e.defineComponent({name:"NaiDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPlacement:"left",size:"medium"})},gridConfig:{type:Object,default:()=>({responsive:"screen",cols:"xs:24 s:24 m:24 l:24 xl:24 2xl:24",xGap:10})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:t=>["fullRow","grid"].includes(t)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},slots:Object,setup(t,{expose:u,slots:r}){const n=e.ref(null),c=e.computed(()=>(t.items??[]).filter(l=>!l.hidden)),o=e.computed(()=>c.value?c.value.reduce((l,m)=>(l[m.key]=m.value.value,l),{}):{}),s=e.computed(()=>({...c.value?.reduce((m,g)=>{let y=g.rule;return g.required&&!g.rule&&(y={required:!0,message:g.requiredHint?.(g?.label??"")??`${g.label}不能为空`,trigger:["blur"]}),m[g.key]=y,m},{}),...t.rules})),a=e.computed(()=>[...c.value].sort((m,g)=>{const y=m.sort??1/0,C=g.sort??1/0;return Number(y)-Number(C)}));function d(l=null){c.value&&c.value.forEach(m=>{m.value.value=l})}function v(){return new Promise((l,m)=>{n.value?.validate(g=>{g?m(g):l(o.value)})})}if(u({reset:d,validator:v,getResult:(l="res")=>l==="ori"?c.value:o.value}),!t.items)throw new Error("prop items must be not null");return()=>e.createVNode("div",{class:"naiDynamicForm"},[r.header&&e.createVNode("div",{class:"header"},[r.header?.()]),e.createVNode(i.NForm,e.mergeProps({ref:n},t.formConfig,{model:o.value,rules:s.value}),{default(){const l=a.value;return t.preset==="grid"?e.h(i.NGrid,{...t.gridConfig},{default:()=>l?.map(m=>e.h(i.NFormItemGridItem,{label:m.label,path:m.path||m.key,span:m.span??24,offset:m.offset??0},{default:I(m)}))}):l?.map(m=>e.h(i.NFormItem,{label:m.label,path:m.path||m.key},{default:I(m)}))}}),r.footer&&e.h("div",{class:"footer"},r.footer?.())])}});function I(t){return function(){return t.render2?t.render2(t):null}}function R(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Q=e.defineComponent({name:"NaiPopupModal",props:{title:{type:[String,Function]},modalProps:{type:Object},to:{type:String},showClose:{type:Boolean,default:!0},closeOnMask:{type:Boolean,default:!0},width:{type:String,default:"min(1080px,90%)"},onCancel:{type:Function,default:()=>!0},onSubmit:{type:Function,default:()=>!0},footerTxt:{type:Array,default:()=>["Cancel","Submit"]}},slots:Object,setup(t,{expose:u,emit:r,slots:n}){const c=e.computed(()=>({preset:"card",draggable:!0,...t.modalProps??{}})),o=e.ref(!1),s=e.reactive({c:!1,s:!1}),a=l=>{o.value=l??!o.value};u({toggle:a});const d=async()=>{s.c=!0,(await t.onCancel?.()??!0)&&a(!1),s.c=!1},v=async()=>{s.s=!0,(await t.onSubmit?.()??!0)&&a(!1),s.s=!1};return()=>e.createVNode(i.NModal,e.mergeProps({show:o.value,"onUpdate:show":l=>o.value=l,style:{width:t.width},title:t.title,to:t.to,closable:t.showClose,maskClosable:t.closeOnMask},c.value),{footer:()=>{const[l,m]=t.footerTxt,{c:g,s:y}=s;return e.createVNode("div",{class:"flex justify-end align-center sm-gap"},[e.createVNode(i.NButton,{size:"small",onClick:d,loading:g},R(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{size:"small",type:"success",onClick:v,loading:y},R(m)?m:{default:()=>[m]})])},...n})}});function P(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const X=e.defineComponent({name:"NaiZealCard",props:{title:{type:String},zealHeight:{type:String,default:"100vh"},outPadding:{type:Number,default:20},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},checkWindowSize:{type:Array,default:[756,500]},observeDelay:{type:Number,default:100}},slots:Object,setup(t,{slots:u,expose:r}){const n=h.useWindowSize(...t.checkWindowSize),{wrapRef:c,cardRef:o,restRef:s,tableHeight:a}=h.useObserverSize(i.NCard,t.observeDelay);return r({tableHeight:a,isMobile:e.computed(()=>n.isMobile)}),()=>{const d=h.unwrapObj(n);return e.createVNode("div",{class:"zealCard",style:{height:`calc(${t.zealHeight} - ${t.outPadding*2}px)`},ref:c},[e.createVNode(i.NCard,{ref:o},{default:()=>[u.default?.({tableHeight:a.value,...d})],header:()=>{const[v,l]=t.searchBtnTxt;return e.createVNode("div",{class:"header"},[u.header?.(d)??e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"title"},[t.title]),e.createVNode("div",{class:"search"},[u.searchForm?.(d),u.searchBtn?.(d)||u.searchForm&&e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small"},P(v)?v:{default:()=>[v]}),e.createVNode(i.NButton,{type:"info",size:"small"},P(l)?l:{default:()=>[l]})])])]),e.createVNode("div",{class:"controlBtn"},[e.createVNode("div",null,[u.controlBtn?.(d)]),u.toolBtn?.(d)])])},footer:()=>u.footer?e.createVNode("div",{class:"footer"},[u.footer?.(d)]):null}),e.createVNode("div",{ref:s},[u.rest?.(d)])])}}});function z(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NInput,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function j(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NSelect,{...o,value:t.value,options:u,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r})}function A(t,u,r={},n,c){const{value:o,labelField:s,valueField:a,onChange:d,...v}=n??{},l=s??"label",m=a??"value",g=v.options??u;return e.createVNode(i.NPopselect,{...v,value:t.value,onUpdateValue:y=>{t.value=y,n?.onChange?.(y,n,g)},options:g.map(y=>({...y,label:y[l],value:y[m]})),...r},{default:()=>c??e.createVNode(i.NButton,null,{default:()=>t.value||"请选择"})})}function O(t,u,r={},n){const{valueField:c="value",onChange:o,...s}=n??{};return e.h(i.NTreeSelect,{...s,value:t.value,options:u,onUpdateValue:a=>{t.value=a,n?.onChange?.(a,n,u)},keyField:c,...r})}function D(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NRadioGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.h(i.NRadio,{...a,label:v,value:l},{default:()=>a.label})})})}function M(t,u,r={},n){const{onChange:c,...o}=n??{};return e.createVNode(i.NRadioGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.createVNode(i.NRadioButton,{...a,label:v,value:l},{default:()=>a.label})})})}function $(t,u,r={},n){const{onChange:c,...o}=n??{};return e.h(i.NCheckboxGroup,{...o,value:t.value,onUpdateValue:s=>{t.value=s,n?.onChange?.(s,n,u)},...r},{default:()=>e.h(i.NSpace,{itemStyle:"display: flex"},{default:()=>(n?.options??u).map(a=>{const d=n,v=a[d?.labelField??"label"],l=a[d?.valueField??"value"];return e.h(i.NCheckbox,{value:l,label:v})})})})}function U(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NSwitch,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function H(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NDatePicker,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function L(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NTimePicker,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function G(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NCheckbox,{...c,checked:t.value,onUpdateChecked:o=>{t.value=o,r?.onChange?.(o,r)},...u},{default:()=>u?.label??r?.label})}function Z(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NDynamicTags,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function _(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NSlider,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}function q(t,u={},r){const{onChange:n,...c}=r??{};return e.h(i.NInputNumber,{...c,value:t.value,onUpdateValue:o=>{t.value=o,r?.onChange?.(o,r)},...u})}const Y=Object.freeze(Object.defineProperty({__proto__:null,renderCheckbox:G,renderCheckboxGroup:$,renderDatePicker:H,renderDynamicTags:Z,renderInput:z,renderInputNumber:q,renderPopSelect:A,renderRadioButtonGroup:M,renderRadioGroup:D,renderSelect:j,renderSlider:_,renderSwitch:U,renderTimePicker:L,renderTreeSelect:O},Symbol.toStringTag,{value:"Module"}));function ee(t){return function(r,n=!0){const c=t,o={renderInput:a=>c.renderInput(a.value,a.renderProps??{},a),renderSelect:a=>c.renderSelect(a.value,a.options??[],a.renderProps??{},a),renderPopSelect:a=>c.renderPopSelect(a.value,a.options??[],a.renderProps??{},a),renderTreeSelect:a=>c.renderTreeSelect(a.value,a.options??[],a.renderProps??{},a),renderRadioGroup:a=>c.renderRadioGroup(a.value,a.options??[],a.renderProps??{},a),renderRadioButtonGroup:a=>c.renderRadioButtonGroup(a.value,a.options??[],a.renderProps??{},a),renderCheckboxGroup:a=>c.renderCheckboxGroup(a.value,a.options??[],a.renderProps??{},a),renderSwitch:a=>c.renderSwitch(a.value,a.renderProps??{},a),renderDatePicker:a=>c.renderDatePicker(a.value,a.renderProps??{},a),renderTimePicker:a=>c.renderTimePicker(a.value,a.renderProps??{},a),renderCheckbox:a=>c.renderCheckbox(a.value,a.renderProps??{},a),renderDynamicTags:a=>c.renderDynamicTags(a.value,a.renderProps??{},a),renderSlider:a=>c.renderSlider(a.value,a.renderProps??{},a),renderInputNumber:a=>c.renderInputNumber(a.value,a.renderProps??{},a)};return r.map(a=>{const d=a;if(d.value=h.ensureRef(a.value),typeof a.render2=="function")d.render2=a.render2;else{const v=a.renderType??"renderInput",l=o[v];l?d.render2=()=>l(d):(console.warn(`[useDecorateForm] unknown renderType: ${a.renderType}`),d.render2=()=>o.renderInput(d))}return n?e.shallowReactive(d):d})}}const te=ee(Y);function T(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const ae=e.defineComponent({name:"NaiZealTableSearch",props:{title:{type:String},drawerTitle:{type:String},searchItems:{type:Array,default:[]},searchFormMaxHeight:{type:String,default:"200px"},drawerMaxHeight:{type:Number,default:420},drawerOpenTxt:{type:String,default:"Search Drawer"},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},mobileDrawer:{type:Boolean,default:!0},closeDrawerAuto:{type:Boolean,default:!0},copyDefault:{type:Boolean,default:!1},isMobile:{type:Boolean,default:!1}},emits:{onReset:()=>!0,onSearch:t=>!0},slots:Object,setup(t,{emit:u,slots:r,expose:n}){const c=e.ref(!1),o=e.ref({}),s=h.useDyForm(t.searchItems),a=l=>{c.value=l??!c.value},d=()=>{t.copyDefault?s.setValues(o.value):s.onReset(null),u("onReset"),a(!1)},v=()=>{const l=s.getValues();u("onSearch",l),a(!1)};return e.watch(()=>t.isMobile,l=>{t.closeDrawerAuto||l||a(!1)}),e.onMounted(async()=>{await e.nextTick(),t.copyDefault&&(o.value=s.getValues())}),n({onReset:d,onSearch:v,toggleDrawer:a,getParams:()=>s.getValues()}),()=>{const[l,m]=t.searchBtnTxt;return e.createVNode("div",{class:"naiZealTableSearch"},[!t.mobileDrawer||!t.isMobile?e.createVNode(e.Fragment,null,[r.title?.()??e.createVNode("div",{class:"naiTitle"},[t.title]),e.createVNode("div",{class:"searchForm",style:{maxHeight:t.searchFormMaxHeight}},[e.createVNode(F,{items:t.searchItems,preset:"grid",formConfig:{labelPlacement:"left"}},null)]),r.searchBtn?r.searchBtn?.({onSearch:v,onReset:d}):e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small",onClick:d},T(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{type:"info",size:"small",onClick:v},T(m)?m:{default:()=>[m]})])]):e.createVNode("div",{class:"drawerSearchBtn"},[r.title?.()??e.createVNode("div",{class:"naiTitle"},[t.title]),r.drawerBtn?r.drawerBtn?.({openDrawer:()=>a(!0)}):e.createVNode(i.NButton,{size:"small",onClick:()=>{a(!0)}},{default:()=>[t.drawerOpenTxt]})]),e.createVNode(i.NDrawer,{class:"naiZealSearchDrawer",show:c.value,"onUpdate:show":g=>c.value=g,maxHeight:t.drawerMaxHeight,trapFocus:!1,blockScroll:!1,placement:"top"},{default:()=>[e.createVNode(i.NDrawerContent,{title:t.drawerTitle??t.title},{default:()=>[e.createVNode("div",{class:"searchForm"},[e.createVNode(F,{formConfig:{labelPlacement:"left",size:"small"},items:t.searchItems},null)])],footer:()=>r.searchBtn?r.searchBtn?.({onSearch:v,onReset:d}):e.createVNode("div",{class:"searchBtn"},[e.createVNode(i.NButton,{size:"small",onClick:d},T(l)?l:{default:()=>[l]}),e.createVNode(i.NButton,{type:"info",size:"small",onClick:v},T(m)?m:{default:()=>[m]})])})]})])}}}),re=e.defineComponent({name:"NaiZealTablePaginationControl",props:{pagination:{type:Object,required:!0},pageConfig:{type:Object},isMobile:{type:Boolean,default:!1}},slots:Object,setup(t,{slots:u}){const r=e.toRef(t,"pagination");function n(o){r.value.pageNo=o,r.value?.onChange()}function c(o){r.value.pageNo=1,r.value.pageSize=o,r.value?.onPageSizeChange()}return()=>e.createVNode(i.NPagination,e.mergeProps({page:r.value?.pageNo,"page-size":r.value?.pageSize,itemCount:r.value?.total,pageSizes:r.value?.pageSizes,pageSlot:r.value?.pageSlot,showSizePicker:u.prefix&&t.isMobile?!1:r.value?.showSizePicker,"onUpdate:page":n,"onUpdate:pageSize":c},t.pageConfig),{...u})}}),ne=e.defineComponent({name:"NaiZealTableBtnControl",props:{isMobile:{type:Boolean,default:!1},btnItems:{type:Array,default:()=>[]},size:{type:String,default:"small"},dropDownProps:{type:Object},dropDownText:{type:String,default:"controls"}},slots:Object,emits:{onSelect:t=>!0},setup(t,{emit:u,slots:r}){const n=t.btnItems,{dropDownText:c,size:o}=t,s=a=>{n.find(d=>d.key===a)?.onSelect?.(a),u("onSelect",a)};return()=>e.createVNode("div",{class:"zealTableBtnControl"},[t.isMobile?e.createVNode(i.NDropdown,e.mergeProps({size:o,trigger:"click",onSelect:s,options:n.map(a=>({label:a.title,disabled:a.disabled,key:a.key}))},t.dropDownProps),{default:()=>r.text?r.text():e.createVNode(i.NButton,{size:o},T(c)?c:{default:()=>[c]})}):n.map(a=>{const{key:d,onSelect:v,title:l,...m}=a;return e.createVNode(i.NButton,e.mergeProps({size:o,key:d,onClick:()=>{v?.(d),u("onSelect",d)}},m),T(l)?l:{default:()=>[l]})})])}});function oe(t,u){const r=e.ref(null),n=e.computed(()=>{const c=r.value;return t({isMobile:c?.isMobile??e.ref(!1),tableHeight:c?.tableHeight??e.ref(0)}).map(o=>({...u,...o}))});return{naiZealCardRef:r,tableColumns:n}}exports.NaiDynamicCascadeInput=J;exports.NaiDynamicForm=F;exports.NaiDynamicInput=E;exports.NaiPopupModal=Q;exports.NaiZealCard=X;exports.NaiZealTableBtnControl=ne;exports.NaiZealTablePaginationControl=re;exports.NaiZealTableSearch=ae;exports.renderCheckbox=G;exports.renderCheckboxGroup=$;exports.renderDatePicker=H;exports.renderDynamicTags=Z;exports.renderInput=z;exports.renderInputNumber=q;exports.renderPopSelect=A;exports.renderRadioButtonGroup=M;exports.renderRadioGroup=D;exports.renderSelect=j;exports.renderSlider=_;exports.renderSwitch=U;exports.renderTimePicker=L;exports.renderTreeSelect=O;exports.useDecorateForm=te;exports.useZealColumnTool=oe;
@@ -1,16 +1,18 @@
1
- import { ExposeDyFType, ExposePopupMType, ExposeType, ExposeZealTSearchType } from '../types';
1
+ import { ExposeDyFType, ExposePopupMType, ExposeType, ExposeZealCardType, ExposeZealTSearchType } from '../types';
2
2
  import { default as NaiDynamicInput } from './NaiDynamicInput';
3
3
  import { default as NaiDynamicCascadeInput } from './NaiDynamicCascadeInput';
4
4
  import { default as NaiDynamicForm } from './NaiDynamicForm';
5
5
  import { default as NaiPopupModal } from './NaiPopupModal';
6
6
  import { default as NaiZealCard } from './NaiZealCard';
7
7
  import { useDecorateForm } from './hooks/decorateForm';
8
- import { NaiZealTableSearch, NaiZealTablePaginationControl } from './NaiZealTableTool';
8
+ import { NaiZealTableSearch, NaiZealTablePaginationControl, NaiZealTableBtnControl } from './NaiZealTableTool';
9
9
  type naiDynamicInputRef = InstanceType<typeof NaiDynamicInput> & ExposeType;
10
10
  type naiDynamicCascadeInputRef = InstanceType<typeof NaiDynamicCascadeInput> & ExposeType;
11
11
  type naiDynamicFormRef = InstanceType<typeof NaiDynamicForm> & ExposeDyFType;
12
12
  type naiPopupModalRef = InstanceType<typeof NaiPopupModal> & ExposePopupMType;
13
13
  type naiZealTableSearchRef = InstanceType<typeof NaiZealTableSearch> & ExposeZealTSearchType;
14
+ type naiZealCardRef = InstanceType<typeof NaiZealCard> & ExposeZealCardType;
14
15
  export * from './hooks/renderForm';
15
- export { NaiDynamicInput, NaiDynamicCascadeInput, NaiDynamicForm, NaiPopupModal, NaiZealCard, useDecorateForm, NaiZealTableSearch, NaiZealTablePaginationControl };
16
- export type { naiDynamicInputRef, naiDynamicCascadeInputRef, naiDynamicFormRef, naiPopupModalRef, naiZealTableSearchRef, };
16
+ export * from './hooks/useZealTool';
17
+ export { NaiDynamicInput, NaiDynamicCascadeInput, NaiDynamicForm, NaiPopupModal, NaiZealCard, useDecorateForm, NaiZealTableSearch, NaiZealTablePaginationControl, NaiZealTableBtnControl };
18
+ export type { naiDynamicInputRef, naiDynamicCascadeInputRef, naiDynamicFormRef, naiPopupModalRef, naiZealTableSearchRef, naiZealCardRef };