@robot-admin/naive-ui-components 0.17.3 → 0.17.5

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.
Files changed (119) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/C_Form.cjs +1 -1
  3. package/dist/C_Form.js +1 -1
  4. package/dist/C_FormModal2.cjs +1 -1
  5. package/dist/C_FormModal2.js +1 -1
  6. package/dist/C_FormSearch.css +52 -52
  7. package/dist/C_FormSearch2.cjs +1 -1
  8. package/dist/C_FormSearch2.js +1 -1
  9. package/dist/C_Table.base.css +155 -145
  10. package/dist/C_Table.css +155 -145
  11. package/dist/C_Table.d.cts +1 -1
  12. package/dist/C_Table.d.ts +1 -1
  13. package/dist/C_Time.css +4 -4
  14. package/dist/C_Time2.cjs +1 -1
  15. package/dist/C_Time2.js +1 -1
  16. package/dist/C_Tree.css +23 -23
  17. package/dist/C_Tree2.cjs +1 -1
  18. package/dist/C_Tree2.js +1 -1
  19. package/dist/C_WorkFlow.css +39 -39
  20. package/dist/C_WorkFlow2.cjs +1 -1
  21. package/dist/C_WorkFlow2.js +1 -1
  22. package/dist/constants.d.cts +1 -1
  23. package/dist/constants.d.ts +1 -1
  24. package/dist/constants3.d.cts +1 -1
  25. package/dist/constants3.d.ts +1 -1
  26. package/dist/constants4.d.cts +6 -6
  27. package/dist/constants4.d.ts +6 -6
  28. package/dist/constants5.d.cts +2 -2
  29. package/dist/constants5.d.ts +2 -2
  30. package/dist/data.d.cts +8 -8
  31. package/dist/data.d.ts +8 -8
  32. package/dist/formValidation.cjs +1 -0
  33. package/dist/formValidation.js +1 -0
  34. package/dist/helpers.cjs +1 -1
  35. package/dist/helpers.js +1 -1
  36. package/dist/index.cjs +1 -1
  37. package/dist/index.d.cts +1 -1
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/index.vue.d.cts +2 -2
  41. package/dist/index.vue.d.ts +2 -2
  42. package/dist/index10.vue.d.cts +5 -5
  43. package/dist/index10.vue.d.ts +2 -2
  44. package/dist/index11.vue.d.cts +2 -2
  45. package/dist/index11.vue.d.ts +3 -3
  46. package/dist/index12.vue.d.cts +3 -3
  47. package/dist/index12.vue.d.ts +2 -2
  48. package/dist/index13.vue.d.cts +2 -2
  49. package/dist/index13.vue.d.ts +3 -3
  50. package/dist/index14.vue.d.cts +3 -3
  51. package/dist/index14.vue.d.ts +8 -8
  52. package/dist/index15.vue.d.cts +8 -8
  53. package/dist/index15.vue.d.ts +1 -1
  54. package/dist/index16.vue.d.cts +1 -1
  55. package/dist/index17.vue.d.ts +1 -1
  56. package/dist/index18.vue.d.cts +1 -1
  57. package/dist/index18.vue.d.ts +5 -5
  58. package/dist/index19.vue.d.cts +5 -5
  59. package/dist/index19.vue.d.ts +5 -4
  60. package/dist/index2.vue.d.cts +2 -2
  61. package/dist/index2.vue.d.ts +2 -2
  62. package/dist/index20.vue.d.cts +2 -2
  63. package/dist/index20.vue.d.ts +2 -2
  64. package/dist/index21.vue.d.cts +2 -2
  65. package/dist/index21.vue.d.ts +2 -2
  66. package/dist/index22.vue.d.cts +2 -2
  67. package/dist/index22.vue.d.ts +2 -2
  68. package/dist/index25.vue.d.cts +4 -4
  69. package/dist/index25.vue.d.ts +4 -4
  70. package/dist/index26.vue.d.cts +1 -1
  71. package/dist/index26.vue.d.ts +1 -1
  72. package/dist/index27.vue.d.cts +4 -4
  73. package/dist/index27.vue.d.ts +4 -4
  74. package/dist/index28.vue.d.cts +2 -2
  75. package/dist/index28.vue.d.ts +2 -2
  76. package/dist/index3.vue.d.cts +4 -4
  77. package/dist/index3.vue.d.ts +4 -4
  78. package/dist/index4.vue.d.cts +5 -4
  79. package/dist/index8.vue.d.ts +3 -3
  80. package/dist/index9.vue.d.cts +3 -3
  81. package/dist/index9.vue.d.ts +5 -5
  82. package/dist/mapUtils.d.cts +2 -2
  83. package/dist/mapUtils.d.ts +2 -2
  84. package/dist/style.css +274 -264
  85. package/dist/useCalendarEvents.d.cts +1 -1
  86. package/dist/useCalendarEvents.d.ts +1 -1
  87. package/dist/useCollapsePanel.d.cts +4 -4
  88. package/dist/useCollapsePanel.d.ts +4 -4
  89. package/dist/useCropperCore.d.cts +6 -6
  90. package/dist/useCropperCore.d.ts +6 -6
  91. package/dist/useDraggableLayout.d.cts +6 -6
  92. package/dist/useDraggableLayout.d.ts +6 -6
  93. package/dist/useDynamicFormState.d.cts +4 -3
  94. package/dist/useDynamicFormState.d.ts +4 -3
  95. package/dist/useEdgeInteraction.d.cts +2 -2
  96. package/dist/useEdgeInteraction.d.ts +2 -2
  97. package/dist/useInfiniteScroll.d.cts +2 -2
  98. package/dist/useInfiniteScroll.d.ts +2 -2
  99. package/dist/useQRCode.d.cts +3 -3
  100. package/dist/useQRCode.d.ts +3 -3
  101. package/dist/useSearchState.d.cts +2 -2
  102. package/dist/useSearchState.d.ts +2 -2
  103. package/dist/useSignatureHistory.d.cts +4 -4
  104. package/dist/useSignatureHistory.d.ts +4 -4
  105. package/dist/useSplitResize.d.cts +11 -11
  106. package/dist/useSplitResize.d.ts +11 -11
  107. package/dist/useTableQuery.cjs +3 -3
  108. package/dist/useTableQuery.d.cts +535 -509
  109. package/dist/useTableQuery.d.ts +535 -509
  110. package/dist/useTableQuery.js +3 -3
  111. package/dist/useTimeSelection.d.cts +11 -6
  112. package/dist/useTimeSelection.d.ts +11 -6
  113. package/dist/useWorkflowValidation.d.cts +5 -5
  114. package/dist/useWorkflowValidation.d.ts +5 -5
  115. package/dist/verification.d.cts +4 -4
  116. package/dist/verification.d.ts +4 -4
  117. package/docs/guides/usage.en.md +16 -0
  118. package/docs/guides/usage.md +38 -0
  119. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @robot-admin/naive-ui-components
2
2
 
3
+ ## 0.17.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 统一表格弹窗、行编辑和单元格编辑的列规则提取:必填、自定义、类型、嵌套、转换与异步校验使用 Naive 同源的 async-validator;保留 false、0 与异步保存的状态隔离。功能列与只读列不再进入编辑表单,数字字段键继续有效。
8
+ - 表格字段转换复用 C_Form 公开类型,移除重复字段结构和宽泛断言;修正 C_Time / C_Menu 公开实例的 Ref 解包类型,内部组合函数仍保留响应式 Ref。
9
+ - 工作流配置弹窗和整体校验复用同一条件完整性判断,拒绝空白字段和无效操作符。质量门禁改为 AST 统计显式 any,并收紧总量及核心组件回退预算。
10
+ - 增加真实组件组合、各类规则、异步回调及发布包消费者类型回归,保持现有配置入口、按需加载和兼容路径。
11
+
12
+ ## 0.17.4
13
+
14
+ ### Patch Changes
15
+
16
+ - 修复搜索选择字段的多选数组和布尔值回显,搜索、清空、重置及外部模型更新保留原始业务类型,区分 `false`、`0` 与字符串值;沿用 `list` 和 `attrs.multiple`,无需新增配置。
17
+ - 补齐 `TableProps` 的 config / crud / remote / virtualScrollX 与原生分页类型,CRUD 模式不再要求重复列和数据;`TableInstance` 补齐已存在的跨页选择与管理器接口,保留现有运行行为和属性透传。
18
+ - 修正 `TreeExpose` 的公开状态为 Vue 实际解包后的数组,内部组合函数仍使用 Ref;`useCForm().validate()` 在未挂载或卸载后拒绝执行,保留挂载前草稿操作。
19
+ - 增加真实组件回归和发布包消费者类型验证,更新中英文接入说明。
20
+
3
21
  ## 0.17.3
4
22
 
5
23
  ### Patch Changes
package/dist/C_Form.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk.cjs`),require(`./C_Icon2.cjs`);const e=require(`./helpers.cjs`),t=require(`./useDynamicFormState.cjs`);let n=require(`@robot-admin/form-validate`);exports.C_Form=e.i,exports.DYNAMIC_FORM_STATE_KEY=t.t,exports.FIELD_TYPE_OPTIONS=t.n,exports.FORM_DEFAULTS=e.m,exports.FORM_GLOBAL_CONFIG_KEY=e.h,exports.FORM_RENDERER_REGISTRY_KEY=e.a,exports.LAYOUTS_WITH_OWN_CONTROLS=e.g,exports.NAIVE_COMBOS=e.d,exports.PRESET_RULES=e.f,Object.defineProperty(exports,`SPEC_RULES`,{enumerable:!0,get:function(){return n.SPEC_RULES}}),exports.createFormRendererRegistry=e.o,exports.defineFormConfig=e.t,exports.defineFormOptions=e.n,exports.mergeFormConfig=e._,exports.registerRenderer=e.s,exports.resolveFormConfig=e.v,exports.shouldShowActions=e.y,exports.unregisterRenderer=e.c,exports.useCForm=e.r,exports.useDynamicFormState=t.r,exports.useFormDirty=e.p,exports.useFormGlobalConfig=e.b,exports.useFormRenderer=e.l,exports.useFormState=e.u;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk.cjs`),require(`./C_Icon2.cjs`);const e=require(`./helpers.cjs`),t=require(`./formValidation.cjs`),n=require(`./useDynamicFormState.cjs`);let r=require(`@robot-admin/form-validate`);exports.C_Form=e.i,exports.DYNAMIC_FORM_STATE_KEY=n.t,exports.FIELD_TYPE_OPTIONS=n.n,exports.FORM_DEFAULTS=e.f,exports.FORM_GLOBAL_CONFIG_KEY=e.p,exports.FORM_RENDERER_REGISTRY_KEY=e.a,exports.LAYOUTS_WITH_OWN_CONTROLS=e.m,exports.NAIVE_COMBOS=t.t,exports.PRESET_RULES=t.n,Object.defineProperty(exports,`SPEC_RULES`,{enumerable:!0,get:function(){return r.SPEC_RULES}}),exports.createFormRendererRegistry=e.o,exports.defineFormConfig=e.t,exports.defineFormOptions=e.n,exports.mergeFormConfig=e.h,exports.registerRenderer=e.s,exports.resolveFormConfig=e.g,exports.shouldShowActions=e._,exports.unregisterRenderer=e.c,exports.useCForm=e.r,exports.useDynamicFormState=n.r,exports.useFormDirty=e.d,exports.useFormGlobalConfig=e.v,exports.useFormRenderer=e.l,exports.useFormState=e.u;
package/dist/C_Form.js CHANGED
@@ -1 +1 @@
1
- import"./C_Icon2.js";import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v,x as y,y as b}from"./helpers.js";import{n as x,r as S,t as C}from"./useDynamicFormState.js";export{c as C_Form,C as DYNAMIC_FORM_STATE_KEY,x as FIELD_TYPE_OPTIONS,s as FORM_DEFAULTS,o as FORM_GLOBAL_CONFIG_KEY,t as FORM_RENDERER_REGISTRY_KEY,e as LAYOUTS_WITH_OWN_CONTROLS,i as NAIVE_COMBOS,a as PRESET_RULES,p as SPEC_RULES,f as createFormRendererRegistry,g as defineFormConfig,d as defineFormOptions,v as mergeFormConfig,h as registerRenderer,b as resolveFormConfig,n as shouldShowActions,r as unregisterRenderer,m as useCForm,S as useDynamicFormState,u as useFormDirty,y as useFormGlobalConfig,l as useFormRenderer,_ as useFormState};
1
+ import"./C_Icon2.js";import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g,v as _}from"./helpers.js";import{n as v,r as y,t as b}from"./formValidation.js";import{n as x,r as S,t as C}from"./useDynamicFormState.js";export{s as C_Form,C as DYNAMIC_FORM_STATE_KEY,x as FIELD_TYPE_OPTIONS,i as FORM_DEFAULTS,f as FORM_GLOBAL_CONFIG_KEY,t as FORM_RENDERER_REGISTRY_KEY,l as LAYOUTS_WITH_OWN_CONTROLS,b as NAIVE_COMBOS,v as PRESET_RULES,y as SPEC_RULES,d as createFormRendererRegistry,h as defineFormConfig,u as defineFormOptions,o as mergeFormConfig,m as registerRenderer,a as resolveFormConfig,e as shouldShowActions,n as unregisterRenderer,p as useCForm,S as useDynamicFormState,r as useFormDirty,_ as useFormGlobalConfig,c as useFormRenderer,g as useFormState};
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_ActionBar2.cjs`),r=require(`./helpers.cjs`);let i=require(`vue`),a=require(`naive-ui`);const o=(0,i.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:o}){let s=t,c=o,l=(0,i.ref)(null),u=r.b(),d=(0,i.computed)(()=>s.config?.density??u.density),f=(0,i.computed)({get:()=>s.editor.visible.value,set:e=>{e||v()}}),p=(0,i.computed)(()=>s.editor.title.value),m=(0,i.computed)(()=>s.editor.loading.value),h=(0,i.computed)(()=>typeof s.width==`number`?`${s.width}px`:s.width),g=(0,i.computed)({get:()=>s.editor.model.value??{},set:e=>{s.editor.setModel(e)}}),_=(0,i.computed)(()=>({...d.value===void 0?{size:`small`}:{},...s.config,mode:s.editor.mode.value,initialValues:s.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await s.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await s.editor.submit(e.model);t?.signal.aborted||c(`submit`,e,n)}})),v=()=>{s.editor.close(),c(`close`)},y=(0,i.computed)(()=>{let t={align:`right`};return(d.value!==void 0||s.config?.size!==void 0)&&(t.size=r.v(r._(_.value,u)).size),d.value!==void 0&&(t.gap=e.t(d.value).gap,t.compact=d.value===`compact`),t}),b=(0,i.computed)(()=>n.a([{key:`cancel`,label:s.cancelText,disabled:m,onClick:v},{key:s.editor.mode.value===`create`?`create`:`save`,label:s.editor.mode.value===`create`?s.createText:s.saveText,loading:m,onClick:async()=>{await l.value?.submit()}}]));return(e,o)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NModal),{show:f.value,"onUpdate:show":o[1]||=e=>f.value=e,preset:`card`,title:p.value,style:(0,i.normalizeStyle)({width:h.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{actions:b.value,config:y.value},null,8,[`actions`,`config`])]),default:(0,i.withCtx)(()=>[f.value&&t.editor.model.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(r.i),{key:0,ref_key:`formRef`,ref:l,modelValue:g.value,"onUpdate:modelValue":o[0]||=e=>g.value=e,options:t.options,config:_.value},(0,i.createSlots)({_:2},[(0,i.renderList)(e.$slots,(t,n)=>({name:n,fn:(0,i.withCtx)(t=>[(0,i.renderSlot)(e.$slots,n,(0,i.normalizeProps)((0,i.guardReactiveProps)(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,i.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}});var s=t.t(o,[[`__scopeId`,`data-v-96dd2fea`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_ActionBar2.cjs`),r=require(`./helpers.cjs`);let i=require(`vue`),a=require(`naive-ui`);const o=(0,i.defineComponent)({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:o}){let s=t,c=o,l=(0,i.ref)(null),u=r.v(),d=(0,i.computed)(()=>s.config?.density??u.density),f=(0,i.computed)({get:()=>s.editor.visible.value,set:e=>{e||v()}}),p=(0,i.computed)(()=>s.editor.title.value),m=(0,i.computed)(()=>s.editor.loading.value),h=(0,i.computed)(()=>typeof s.width==`number`?`${s.width}px`:s.width),g=(0,i.computed)({get:()=>s.editor.model.value??{},set:e=>{s.editor.setModel(e)}}),_=(0,i.computed)(()=>({...d.value===void 0?{size:`small`}:{},...s.config,mode:s.editor.mode.value,initialValues:s.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await s.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await s.editor.submit(e.model);t?.signal.aborted||c(`submit`,e,n)}})),v=()=>{s.editor.close(),c(`close`)},y=(0,i.computed)(()=>{let t={align:`right`};return(d.value!==void 0||s.config?.size!==void 0)&&(t.size=r.g(r.h(_.value,u)).size),d.value!==void 0&&(t.gap=e.t(d.value).gap,t.compact=d.value===`compact`),t}),b=(0,i.computed)(()=>n.a([{key:`cancel`,label:s.cancelText,disabled:m,onClick:v},{key:s.editor.mode.value===`create`?`create`:`save`,label:s.editor.mode.value===`create`?s.createText:s.saveText,loading:m,onClick:async()=>{await l.value?.submit()}}]));return(e,o)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.NModal),{show:f.value,"onUpdate:show":o[1]||=e=>f.value=e,preset:`card`,title:p.value,style:(0,i.normalizeStyle)({width:h.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{actions:b.value,config:y.value},null,8,[`actions`,`config`])]),default:(0,i.withCtx)(()=>[f.value&&t.editor.model.value?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(r.i),{key:0,ref_key:`formRef`,ref:l,modelValue:g.value,"onUpdate:modelValue":o[0]||=e=>g.value=e,options:t.options,config:_.value},(0,i.createSlots)({_:2},[(0,i.renderList)(e.$slots,(t,n)=>({name:n,fn:(0,i.withCtx)(t=>[(0,i.renderSlot)(e.$slots,n,(0,i.normalizeProps)((0,i.guardReactiveProps)(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):(0,i.createCommentVNode)(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}});var s=t.t(o,[[`__scopeId`,`data-v-96dd2fea`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -1 +1 @@
1
- import{t as e}from"./density.js";import{t}from"./export-helper.js";import{a as n,t as r}from"./C_ActionBar2.js";import{i,v as a,x as o,y as s}from"./helpers.js";import{computed as c,createBlock as l,createCommentVNode as u,createSlots as d,createVNode as f,defineComponent as p,guardReactiveProps as m,normalizeProps as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,renderSlot as b,unref as x,withCtx as S}from"vue";import{NModal as C}from"naive-ui";var w=t(p({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:p}){let w=t,T=p,E=v(null),D=o(),O=c(()=>w.config?.density??D.density),k=c({get:()=>w.editor.visible.value,set:e=>{e||F()}}),A=c(()=>w.editor.title.value),j=c(()=>w.editor.loading.value),M=c(()=>typeof w.width==`number`?`${w.width}px`:w.width),N=c({get:()=>w.editor.model.value??{},set:e=>{w.editor.setModel(e)}}),P=c(()=>({...O.value===void 0?{size:`small`}:{},...w.config,mode:w.editor.mode.value,initialValues:w.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await w.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await w.editor.submit(e.model);t?.signal.aborted||T(`submit`,e,n)}})),F=()=>{w.editor.close(),T(`close`)},I=c(()=>{let t={align:`right`};return(O.value!==void 0||w.config?.size!==void 0)&&(t.size=s(a(P.value,D)).size),O.value!==void 0&&(t.gap=e(O.value).gap,t.compact=O.value===`compact`),t}),L=c(()=>n([{key:`cancel`,label:w.cancelText,disabled:j,onClick:F},{key:w.editor.mode.value===`create`?`create`:`save`,label:w.editor.mode.value===`create`?w.createText:w.saveText,loading:j,onClick:async()=>{await E.value?.submit()}}]));return(e,n)=>(_(),l(x(C),{show:k.value,"onUpdate:show":n[1]||=e=>k.value=e,preset:`card`,title:A.value,style:g({width:M.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:S(()=>[f(r,{actions:L.value,config:I.value},null,8,[`actions`,`config`])]),default:S(()=>[k.value&&t.editor.model.value?(_(),l(x(i),{key:0,ref_key:`formRef`,ref:E,modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,options:t.options,config:P.value},d({_:2},[y(e.$slots,(t,n)=>({name:n,fn:S(t=>[b(e.$slots,n,h(m(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):u(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}}),[[`__scopeId`,`data-v-96dd2fea`]]);export{w as t};
1
+ import{t as e}from"./density.js";import{t}from"./export-helper.js";import{a as n,t as r}from"./C_ActionBar2.js";import{g as i,h as a,i as o,v as s}from"./helpers.js";import{computed as c,createBlock as l,createCommentVNode as u,createSlots as d,createVNode as f,defineComponent as p,guardReactiveProps as m,normalizeProps as h,normalizeStyle as g,openBlock as _,ref as v,renderList as y,renderSlot as b,unref as x,withCtx as S}from"vue";import{NModal as C}from"naive-ui";var w=t(p({name:`C_FormModal`,__name:`index`,props:{editor:{},options:{},config:{default:()=>({})},width:{default:`min(620px, calc(100vw - 24px))`},createText:{default:`创建`},saveText:{default:`保存`},cancelText:{default:`取消`},closable:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`submit`,`close`],setup(t,{emit:p}){let w=t,T=p,E=v(null),D=s(),O=c(()=>w.config?.density??D.density),k=c({get:()=>w.editor.visible.value,set:e=>{e||F()}}),A=c(()=>w.editor.title.value),j=c(()=>w.editor.loading.value),M=c(()=>typeof w.width==`number`?`${w.width}px`:w.width),N=c({get:()=>w.editor.model.value??{},set:e=>{w.editor.setModel(e)}}),P=c(()=>({...O.value===void 0?{size:`small`}:{},...w.config,mode:w.editor.mode.value,initialValues:w.editor.model.value??void 0,showActions:!1,onSubmit:async(e,t)=>{if(await w.config?.onSubmit?.(e,t),t?.signal.aborted)return;let n=await w.editor.submit(e.model);t?.signal.aborted||T(`submit`,e,n)}})),F=()=>{w.editor.close(),T(`close`)},I=c(()=>{let t={align:`right`};return(O.value!==void 0||w.config?.size!==void 0)&&(t.size=i(a(P.value,D)).size),O.value!==void 0&&(t.gap=e(O.value).gap,t.compact=O.value===`compact`),t}),L=c(()=>n([{key:`cancel`,label:w.cancelText,disabled:j,onClick:F},{key:w.editor.mode.value===`create`?`create`:`save`,label:w.editor.mode.value===`create`?w.createText:w.saveText,loading:j,onClick:async()=>{await E.value?.submit()}}]));return(e,n)=>(_(),l(x(C),{show:k.value,"onUpdate:show":n[1]||=e=>k.value=e,preset:`card`,title:A.value,style:g({width:M.value}),"mask-closable":t.maskClosable,"close-on-esc":t.closeOnEsc,closable:t.closable,class:`c-form-modal`},{action:S(()=>[f(r,{actions:L.value,config:I.value},null,8,[`actions`,`config`])]),default:S(()=>[k.value&&t.editor.model.value?(_(),l(x(o),{key:0,ref_key:`formRef`,ref:E,modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,options:t.options,config:P.value},d({_:2},[y(e.$slots,(t,n)=>({name:n,fn:S(t=>[b(e.$slots,n,h(m(t)),void 0,!0)])}))]),1032,[`modelValue`,`options`,`config`])):u(`v-if`,!0)]),_:3},8,[`show`,`title`,`style`,`mask-closable`,`close-on-esc`,`closable`]))}}),[[`__scopeId`,`data-v-96dd2fea`]]);export{w as t};
@@ -1,24 +1,24 @@
1
1
  :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
2
 
3
- .form-search-card[data-v-4c7e8019] :is(.n-card-content, .n-card__content) {
3
+ .form-search-card[data-v-48f30fec] :is(.n-card-content, .n-card__content) {
4
4
  padding: var(--c-search-padding, 20px);
5
5
  }
6
- .form-search[data-v-4c7e8019] {
6
+ .form-search[data-v-48f30fec] {
7
7
  display: flex;
8
8
  flex-wrap: wrap;
9
9
  align-items: end;
10
10
  gap: var(--c-search-row-gap, 20px) var(--c-search-gap, 32px);
11
11
  }
12
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] {
12
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] {
13
13
  position: relative;
14
14
  }
15
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
16
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
17
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
15
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-input,
16
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-select,
17
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-date-picker {
18
18
  width: 260px;
19
19
  max-width: 100%;
20
20
  }
21
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button {
21
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-space .n-button {
22
22
  width: var(--n-height);
23
23
  padding: 0;
24
24
  display: flex;
@@ -26,14 +26,14 @@
26
26
  justify-content: center;
27
27
  transition: all 0.2s ease;
28
28
  }
29
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button:hover {
29
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-space .n-button:hover {
30
30
  transform: translateY(-1px);
31
31
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
32
32
  }
33
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-space .n-button .n-button__icon {
33
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-space .n-button .n-button__icon {
34
34
  margin: 0;
35
35
  }
36
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019] {
36
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec] {
37
37
  width: 100%;
38
38
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
39
39
  border: 1px solid var(--n-border-color);
@@ -49,7 +49,7 @@
49
49
  max-height: 240px;
50
50
  overflow-y: auto;
51
51
  }
52
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019] {
52
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-48f30fec] {
53
53
  padding: 10px 12px;
54
54
  display: flex;
55
55
  align-items: center;
@@ -60,24 +60,24 @@
60
60
  transition: all 0.2s ease;
61
61
  position: relative;
62
62
  }
63
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019]:hover {
63
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-48f30fec]:hover {
64
64
  background: var(--n-option-color-hover);
65
65
  }
66
- .form-search .form-search-item-box .form-item-input .input-history .history-item:hover .delete-icon[data-v-4c7e8019] {
66
+ .form-search .form-search-item-box .form-item-input .input-history .history-item:hover .delete-icon[data-v-48f30fec] {
67
67
  opacity: 1;
68
68
  transform: scale(1);
69
69
  }
70
- .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-4c7e8019]:not(:last-of-type) {
70
+ .form-search .form-search-item-box .form-item-input .input-history .history-item[data-v-48f30fec]:not(:last-of-type) {
71
71
  border-bottom: 1px solid var(--n-divider-color);
72
72
  }
73
- .form-search .form-search-item-box .form-item-input .input-history .history-item .history-text[data-v-4c7e8019] {
73
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .history-text[data-v-48f30fec] {
74
74
  flex: 1;
75
75
  overflow: hidden;
76
76
  text-overflow: ellipsis;
77
77
  white-space: nowrap;
78
78
  margin-right: 8px;
79
79
  }
80
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019] {
80
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-48f30fec] {
81
81
  opacity: 0;
82
82
  transform: scale(0.8);
83
83
  transition: all 0.2s ease;
@@ -89,100 +89,100 @@
89
89
  align-items: center;
90
90
  justify-content: center;
91
91
  }
92
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019]:hover {
92
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-48f30fec]:hover {
93
93
  background: var(--n-close-color-hover);
94
94
  color: var(--n-close-color-pressed);
95
95
  transform: scale(1.1);
96
96
  }
97
- .form-search .form-search-item-box .form-item-input .input-history .history-footer[data-v-4c7e8019] {
97
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer[data-v-48f30fec] {
98
98
  padding: 8px 12px;
99
99
  border-top: 1px solid var(--n-divider-color);
100
100
  background: var(--n-modal-color);
101
101
  }
102
- .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-4c7e8019] {
102
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-48f30fec] {
103
103
  color: var(--n-text-color-disabled);
104
104
  font-size: 12px;
105
105
  cursor: pointer;
106
106
  transition: all 0.2s ease;
107
107
  }
108
- .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-4c7e8019]:hover {
108
+ .form-search .form-search-item-box .form-item-input .input-history .history-footer .clear-all[data-v-48f30fec]:hover {
109
109
  color: var(--n-error-color);
110
110
  }
111
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019] {
111
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec] {
112
112
  /* custom scrollbar */
113
113
  }
114
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar {
114
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec]::-webkit-scrollbar {
115
115
  width: 6px;
116
116
  }
117
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-track {
117
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec]::-webkit-scrollbar-track {
118
118
  background: transparent;
119
119
  }
120
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-thumb {
120
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec]::-webkit-scrollbar-thumb {
121
121
  background: var(--n-scrollbar-color);
122
122
  border-radius: 3px;
123
123
  }
124
- .form-search .form-search-item-box .form-item-input .input-history[data-v-4c7e8019]::-webkit-scrollbar-thumb:hover {
124
+ .form-search .form-search-item-box .form-item-input .input-history[data-v-48f30fec]::-webkit-scrollbar-thumb:hover {
125
125
  background: var(--n-scrollbar-color-hover);
126
126
  }
127
127
 
128
128
  /* responsive */
129
129
  @media (max-width: 1400px) {
130
- .form-search[data-v-4c7e8019] {
130
+ .form-search[data-v-48f30fec] {
131
131
  gap: var(--c-search-row-gap, 16px) var(--c-search-gap, 28px);
132
132
  }
133
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
134
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
135
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
133
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-input,
134
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-select,
135
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-date-picker {
136
136
  width: 240px;
137
137
  }
138
138
  }
139
139
  @media (max-width: 1200px) {
140
- .form-search[data-v-4c7e8019] {
140
+ .form-search[data-v-48f30fec] {
141
141
  gap: var(--c-search-row-gap, 16px) var(--c-search-gap, 24px);
142
142
  }
143
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
144
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
145
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
143
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-input,
144
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-select,
145
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-date-picker {
146
146
  width: 220px;
147
147
  }
148
148
  }
149
149
  @media (max-width: 900px) {
150
- .form-search[data-v-4c7e8019] {
150
+ .form-search[data-v-48f30fec] {
151
151
  gap: var(--c-search-row-gap, 12px) var(--c-search-gap, 20px);
152
152
  }
153
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
154
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
155
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
153
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-input,
154
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-select,
155
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-date-picker {
156
156
  width: 200px;
157
157
  }
158
158
  }
159
159
  @media (max-width: 600px) {
160
- .form-search-card[data-v-4c7e8019] :is(.n-card-content, .n-card__content) {
160
+ .form-search-card[data-v-48f30fec] :is(.n-card-content, .n-card__content) {
161
161
  padding: var(--c-search-padding, 16px);
162
162
  }
163
- .form-search[data-v-4c7e8019] {
163
+ .form-search[data-v-48f30fec] {
164
164
  gap: var(--c-search-row-gap, 12px) 0;
165
165
  }
166
- .form-search .form-search-item-box[data-v-4c7e8019] {
166
+ .form-search .form-search-item-box[data-v-48f30fec] {
167
167
  width: 100%;
168
168
  }
169
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-input,
170
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-select,
171
- .form-search .form-search-item-box .form-item-input[data-v-4c7e8019] .n-date-picker {
169
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-input,
170
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-select,
171
+ .form-search .form-search-item-box .form-item-input[data-v-48f30fec] .n-date-picker {
172
172
  width: 100%;
173
173
  }
174
- .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-4c7e8019] {
174
+ .form-search .form-search-item-box .form-item-input .input-history .history-item .delete-icon[data-v-48f30fec] {
175
175
  opacity: 1;
176
176
  }
177
177
  }
178
178
 
179
179
  /* layer: icons */
180
- .i-mdi\:chevron-down[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 8.58L12 13.17l4.59-4.59L18 10l-6 6l-6-6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
181
- .i-mdi\:chevron-up[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
182
- .i-mdi\:close[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
183
- .i-mdi\:refresh[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
184
- .i-mdi\:search[data-v-4c7e8019]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
180
+ .i-mdi\:chevron-down[data-v-48f30fec]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 8.58L12 13.17l4.59-4.59L18 10l-6 6l-6-6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
181
+ .i-mdi\:chevron-up[data-v-48f30fec]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6l-6 6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
182
+ .i-mdi\:close[data-v-48f30fec]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
183
+ .i-mdi\:refresh[data-v-48f30fec]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
184
+ .i-mdi\:search[data-v-48f30fec]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;width:1em;height:1em;}
185
185
  /* layer: default */
186
- .h-4[data-v-4c7e8019]{height:1rem;}
187
- .w-4[data-v-4c7e8019]{width:1rem;}
188
- .px[data-v-4c7e8019]{padding-left:1rem;padding-right:1rem;}
186
+ .h-4[data-v-48f30fec]{height:1rem;}
187
+ .w-4[data-v-48f30fec]{width:1rem;}
188
+ .px[data-v-48f30fec]{padding-left:1rem;padding-right:1rem;}
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./export-helper.cjs`),i=require(`./useActionTask.cjs`),a=require(`./storage.cjs`),o=require(`./data.cjs`);let s=require(`vue`),c=require(`naive-ui`);function l(e,t,n={}){let r=()=>(0,s.toValue)(n),i=(0,s.computed)(()=>!!r().storageKey),o=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=a.t(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=o(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},u=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},d=e=>{l(),u(e)},f=()=>u(),p=(e,n)=>{t.value[n]=e,f()},m=(e,t)=>{let n=o(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},h=e=>{let t=o(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:d,closeAllPanels:f,selectHistoryItem:p,deleteHistoryItem:m,clearAllHistory:h,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=o(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),c())},restoreFromStorage:l}}function u(e,r){let a=(0,s.computed)(()=>(0,s.toValue)(r.config)??{}),c=n.t(()=>a.value.feedback),{t:u}=t.t(()=>a.value.locale),d=(0,s.ref)(null),f=(0,s.computed)(()=>a.value.foldThreshold??7),p=(0,s.computed)(()=>a.value.requireValue??!0),m=(0,s.ref)(o.t(r.formItemList)),h=(0,s.ref)(o.t(r.formParams)),g=(0,s.ref)(!1),_=i.t(),v=(0,s.computed)(()=>_.isRunning(`search`)),y=!0;(0,s.getCurrentScope)()&&(0,s.onScopeDispose)(()=>{y=!1});let b=l(m,h,r.historyOptions),x=(0,s.computed)(()=>m.value.filter(e=>e.show!==!1)),S=(0,s.computed)(()=>x.value.filter((e,t)=>g.value||t<f.value)),C=(0,s.computed)(()=>x.value.length>f.value),w=e=>e==null||e===``||Array.isArray(e)&&e.length===0,T=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=o.t(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=o.t(e.defaultValue))})},E=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},D=e=>y&&!(0,s.toValue)(r.loading)&&o.a(h.value,e),O=async()=>{let t=o.t(h.value);if(!await E()||!D(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!w(e)))return c.warning(u(`search.valueRequired`)),!1;if(b.saveCurrentInputs(),e(`search`,o.t(t)),!D(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),y}catch(e){return y&&c.error(u(`search.failed`),e),!1}},k=async()=>{let e=await _.run(`search`,O,()=>!(0,s.toValue)(r.loading));return e.executed&&e.value},A=t=>{e(`change-params`,o.t(t)),e(`update:modelValue`,o.t(t))},j=()=>{F=!0;let e=++I;(0,s.nextTick)(()=>{e===I&&(F=!1)})},M=()=>{d.value?.restoreValidation();let t=o.t(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=o.t(m.value.find(t=>t.prop===e)?.defaultValue??null))}),j(),h.value=t,A(t),e(`reset`,o.t(t))},N=()=>{g.value=!g.value},P=(e,t)=>{j(),m.value=o.t(e),h.value=o.t(t),T()},F=!1,I=0;return T(),(0,s.watch)(h,e=>{F||A(e)},{deep:!0}),(0,s.onMounted)(()=>{b.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:v,visibleFields:S,hasExpandButton:C,history:b,searchFn:k,resetFn:M,toggleFold:N,syncFromProps:P}}const d=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},f=[`onClick`],p={class:`history-text`},m={key:0,class:`history-footer`},h=[`onClick`],g={class:`form-search-item-box form-search-actions`},_={class:`form-item-input`},v=(0,s.defineComponent)({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=(0,s.computed)(()=>e.t(i.config?.density)),l=(0,s.computed)(()=>i.size??o.value.size),v=(0,s.computed)(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:y,formParams:b,expanded:x,searching:S,visibleFields:C,hasExpandButton:w,history:T,searchFn:E,resetFn:D,toggleFold:O,syncFromProps:k}=u(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),A=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),j=e=>{let t=b.value[e];return typeof t==`string`?t:null},M=e=>{let t=b.value[e];return typeof t==`string`||typeof t==`number`?t:null},N=(e,t)=>{b.value[e]=t},P=e=>{let t=d(b.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>N(e,t)}:{value:t.value,"onUpdate:value":t=>N(e,t)}};return(0,s.watch)(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>k(e,t??n),{deep:!0}),n({formRef:y,formParams:b,searchFn:E,cleanFn:D,changeFoldState:O}),(e,n)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NCard),{class:(0,s.normalizeClass)([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:(0,s.normalizeStyle)(v.value),bordered:t.bordered},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NForm),{class:`form-search`,model:(0,s.unref)(b),ref_key:`formRef`,ref:y,size:l.value,onSubmit:(0,s.withModifiers)((0,s.unref)(E),[`prevent`])},{default:(0,s.withCtx)(()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(C),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?(0,s.createCommentVNode)(`v-if`,!0):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NFormItem),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:(0,s.withCtx)(()=>[e.type===`input`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NInput),(0,s.mergeProps)({key:0,clearable:``,size:l.value,value:j(e.prop),"onUpdate:value":t=>N(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>(0,s.unref)(T).handleFocus(e.prop),onBlur:(0,s.unref)(T).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):(0,s.createCommentVNode)(`v-if`,!0),e.isFocus?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=(0,s.withModifiers)(()=>{},[`prevent`])},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.hisList,(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`history-item`,onClick:n=>(0,s.unref)(T).selectHistoryItem(t,e.prop),key:t},[(0,s.createElementVNode)(`span`,p,(0,s.toDisplayString)(t),1),(0,s.createVNode)((0,s.unref)(c.NIcon),{class:`delete-icon`,size:`14`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(T).deleteHistoryItem(e.prop,r),[`stop`])},{default:(0,s.withCtx)(()=>[...n[1]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,f))),128)),e.hisList&&e.hisList.length>0?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,m,[(0,s.createElementVNode)(`span`,{class:`clear-all`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(T).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,h)])):(0,s.createCommentVNode)(`v-if`,!0)],32)):(0,s.createCommentVNode)(`v-if`,!0),e.type===`select`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NSelect),(0,s.mergeProps)({key:2,value:M(e.prop),"onUpdate:value":t=>N(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:l.value,options:A(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):(0,s.createCommentVNode)(`v-if`,!0),e.type===`date-range`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NDatePicker),(0,s.mergeProps)({key:3,type:`datetimerange`,size:l.value},{ref_for:!0},{...P(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):(0,s.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),(0,s.createElementVNode)(`div`,g,[(0,s.createElementVNode)(`div`,_,[n[6]||=(0,s.createElementVNode)(`div`,{class:`button-label-placeholder`},null,-1),(0,s.createVNode)((0,s.unref)(c.NSpace),{size:t.config?.density?o.value.gap:8},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:l.value,"aria-label":`搜索`,onClick:(0,s.unref)(E),loading:t.loading||(0,s.unref)(S)},{icon:(0,s.withCtx)(()=>[...n[2]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:(0,s.withCtx)(()=>[n[3]||=(0,s.createTextVNode)(` 搜索 `,-1)]),_:1}),(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":`重置`,onClick:(0,s.unref)(D)},{icon:(0,s.withCtx)(()=>[...n[4]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:(0,s.withCtx)(()=>[n[5]||=(0,s.createTextVNode)(` 重置 `,-1)]),_:1}),(0,s.unref)(w)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NTooltip),{key:0,trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":(0,s.unref)(x)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":(0,s.unref)(x),onClick:(0,s.unref)(O)},{icon:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)((0,s.unref)(x)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:(0,s.withCtx)(()=>[(0,s.createTextVNode)(` `+(0,s.toDisplayString)((0,s.unref)(x)?`收起`:`展开`),1)]),_:1})):(0,s.createCommentVNode)(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}});var y=r.t(v,[[`__scopeId`,`data-v-4c7e8019`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
1
+ require(`./chunk.cjs`);const e=require(`./density.cjs`),t=require(`./useComponentLocale.cjs`),n=require(`./feedback.cjs`),r=require(`./export-helper.cjs`),i=require(`./useActionTask.cjs`),a=require(`./storage.cjs`),o=require(`./data.cjs`);let s=require(`vue`),c=require(`naive-ui`);function l(e,t,n={}){let r=()=>(0,s.toValue)(n),i=(0,s.computed)(()=>!!r().storageKey),o=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a.i(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=a.t(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=o(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},u=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},d=e=>{l(),u(e)},f=()=>u(),p=(e,n)=>{t.value[n]=e,f()},m=(e,t)=>{let n=o(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},h=e=>{let t=o(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},g=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:d,closeAllPanels:f,selectHistoryItem:p,deleteHistoryItem:m,clearAllHistory:h,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=o(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&g(r.hisList,i)}),f(),c())},restoreFromStorage:l}}function u(e,r){let a=(0,s.computed)(()=>(0,s.toValue)(r.config)??{}),c=n.t(()=>a.value.feedback),{t:u}=t.t(()=>a.value.locale),d=(0,s.ref)(null),f=(0,s.computed)(()=>a.value.foldThreshold??7),p=(0,s.computed)(()=>a.value.requireValue??!0),m=(0,s.ref)(o.t(r.formItemList)),h=(0,s.ref)(o.t(r.formParams)),g=(0,s.ref)(!1),_=i.t(),v=(0,s.computed)(()=>_.isRunning(`search`)),y=!0;(0,s.getCurrentScope)()&&(0,s.onScopeDispose)(()=>{y=!1});let b=l(m,h,r.historyOptions),x=(0,s.computed)(()=>m.value.filter(e=>e.show!==!1)),S=(0,s.computed)(()=>x.value.filter((e,t)=>g.value||t<f.value)),C=(0,s.computed)(()=>x.value.length>f.value),w=e=>e==null||e===``||Array.isArray(e)&&e.length===0,T=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=o.t(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=o.t(e.defaultValue))})},E=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},D=e=>y&&!(0,s.toValue)(r.loading)&&o.a(h.value,e),O=async()=>{let t=o.t(h.value);if(!await E()||!D(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!w(e)))return c.warning(u(`search.valueRequired`)),!1;if(b.saveCurrentInputs(),e(`search`,o.t(t)),!D(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),y}catch(e){return y&&c.error(u(`search.failed`),e),!1}},k=async()=>{let e=await _.run(`search`,O,()=>!(0,s.toValue)(r.loading));return e.executed&&e.value},A=t=>{e(`change-params`,o.t(t)),e(`update:modelValue`,o.t(t))},j=()=>{F=!0;let e=++I;(0,s.nextTick)(()=>{e===I&&(F=!1)})},M=()=>{d.value?.restoreValidation();let t=o.t(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=o.t(m.value.find(t=>t.prop===e)?.defaultValue??null))}),j(),h.value=t,A(t),e(`reset`,o.t(t))},N=()=>{g.value=!g.value},P=(e,t)=>{j(),m.value=o.t(e),h.value=o.t(t),T()},F=!1,I=0;return T(),(0,s.watch)(h,e=>{F||A(e)},{deep:!0}),(0,s.onMounted)(()=>{b.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:v,visibleFields:S,hasExpandButton:C,history:b,searchFn:k,resetFn:M,toggleFold:N,syncFromProps:P}}const d=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}};function f(e,t){let n=e?.map(e=>e.value===void 0?e.label??e.labelDefault:e.value),r=Array.isArray(t)?t:[t],i=new Set([...n??[],...r]),a=new Map;for(let e of[!1,!0]){let t=`__c_form_search_boolean_${e}__`;for(;i.has(t);)t+=`_`;a.set(e,t),i.add(t)}let o=e=>typeof e==`boolean`?a.get(e):typeof e==`string`||typeof e==`number`?e:null,s=e=>e===a.get(!1)?!1:e===a.get(!0)?!0:e;return{options:e?.map((e,t)=>({...e,label:e.label??e.labelDefault??``,value:o(n[t])??void 0})),value:Array.isArray(t)?t.map(o).filter(e=>e!==null):o(t),decode:e=>Array.isArray(e)?e.map(s):e===null?null:s(e)}}const p=[`onClick`],m={class:`history-text`},h={key:0,class:`history-footer`},g=[`onClick`],_={class:`form-search-item-box form-search-actions`},v={class:`form-item-input`},y=(0,s.defineComponent)({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=(0,s.computed)(()=>e.t(i.config?.density)),l=(0,s.computed)(()=>i.size??o.value.size),y=(0,s.computed)(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:b,formParams:x,expanded:S,searching:C,visibleFields:w,hasExpandButton:T,history:E,searchFn:D,resetFn:O,toggleFold:k,syncFromProps:A}=u(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),j=(0,s.computed)(()=>new Map(w.value.filter(e=>e.type===`select`).map(e=>[e.prop,f(e.list,x.value[e.prop])]))),M=e=>{let t=x.value[e];return typeof t==`string`?t:null},N=(e,t)=>{P(e,j.value.get(e)?.decode(t)??null)},P=(e,t)=>{x.value[e]=t},F=e=>{let t=d(x.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>P(e,t)}:{value:t.value,"onUpdate:value":t=>P(e,t)}};return(0,s.watch)(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>A(e,t??n),{deep:!0}),n({formRef:b,formParams:x,searchFn:D,cleanFn:O,changeFoldState:k}),(e,n)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NCard),{class:(0,s.normalizeClass)([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:(0,s.normalizeStyle)(y.value),bordered:t.bordered},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NForm),{class:`form-search`,model:(0,s.unref)(x),ref_key:`formRef`,ref:b,size:l.value,onSubmit:(0,s.withModifiers)((0,s.unref)(D),[`prevent`])},{default:(0,s.withCtx)(()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(w),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?(0,s.createCommentVNode)(`v-if`,!0):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NFormItem),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:(0,s.withCtx)(()=>[e.type===`input`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NInput),(0,s.mergeProps)({key:0,clearable:``,size:l.value,value:M(e.prop),"onUpdate:value":t=>P(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>(0,s.unref)(E).handleFocus(e.prop),onBlur:(0,s.unref)(E).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):(0,s.createCommentVNode)(`v-if`,!0),e.isFocus?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=(0,s.withModifiers)(()=>{},[`prevent`])},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.hisList,(t,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:`history-item`,onClick:n=>(0,s.unref)(E).selectHistoryItem(t,e.prop),key:t},[(0,s.createElementVNode)(`span`,m,(0,s.toDisplayString)(t),1),(0,s.createVNode)((0,s.unref)(c.NIcon),{class:`delete-icon`,size:`14`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(E).deleteHistoryItem(e.prop,r),[`stop`])},{default:(0,s.withCtx)(()=>[...n[1]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,p))),128)),e.hisList&&e.hisList.length>0?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,h,[(0,s.createElementVNode)(`span`,{class:`clear-all`,onClick:(0,s.withModifiers)(t=>(0,s.unref)(E).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,g)])):(0,s.createCommentVNode)(`v-if`,!0)],32)):(0,s.createCommentVNode)(`v-if`,!0),e.type===`select`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NSelect),(0,s.mergeProps)({key:2,value:j.value.get(e.prop)?.value,"onUpdate:value":t=>N(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:l.value,options:j.value.get(e.prop)?.options},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):(0,s.createCommentVNode)(`v-if`,!0),e.type===`date-range`?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NDatePicker),(0,s.mergeProps)({key:3,type:`datetimerange`,size:l.value},{ref_for:!0},{...F(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):(0,s.createCommentVNode)(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),(0,s.createElementVNode)(`div`,_,[(0,s.createElementVNode)(`div`,v,[n[6]||=(0,s.createElementVNode)(`div`,{class:`button-label-placeholder`},null,-1),(0,s.createVNode)((0,s.unref)(c.NSpace),{size:t.config?.density?o.value.gap:8},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{type:`primary`,size:l.value,"aria-label":`搜索`,onClick:(0,s.unref)(D),loading:t.loading||(0,s.unref)(C)},{icon:(0,s.withCtx)(()=>[...n[2]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:(0,s.withCtx)(()=>[n[3]||=(0,s.createTextVNode)(` 搜索 `,-1)]),_:1}),(0,s.createVNode)((0,s.unref)(c.NTooltip),{trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":`重置`,onClick:(0,s.unref)(O)},{icon:(0,s.withCtx)(()=>[...n[4]||=[(0,s.createElementVNode)(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:(0,s.withCtx)(()=>[n[5]||=(0,s.createTextVNode)(` 重置 `,-1)]),_:1}),(0,s.unref)(T)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(c.NTooltip),{key:0,trigger:`hover`},{trigger:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.NButton),{size:l.value,"aria-label":(0,s.unref)(S)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":(0,s.unref)(S),onClick:(0,s.unref)(k)},{icon:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)((0,s.unref)(S)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:(0,s.withCtx)(()=>[(0,s.createTextVNode)(` `+(0,s.toDisplayString)((0,s.unref)(S)?`收起`:`展开`),1)]),_:1})):(0,s.createCommentVNode)(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}});var b=r.t(y,[[`__scopeId`,`data-v-48f30fec`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
@@ -1 +1 @@
1
- import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./export-helper.js";import{t as i}from"./useActionTask.js";import{i as a,t as o}from"./storage.js";import{a as s,t as c}from"./data.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createTextVNode as h,createVNode as g,defineComponent as _,getCurrentScope as v,mergeProps as y,nextTick as b,normalizeClass as x,normalizeStyle as S,onMounted as C,onScopeDispose as w,openBlock as T,ref as E,renderList as D,toDisplayString as O,toValue as k,unref as A,watch as j,withCtx as M,withModifiers as N}from"vue";import{NButton as P,NCard as F,NDatePicker as I,NForm as L,NFormItem as R,NIcon as z,NInput as B,NSelect as V,NSpace as H,NTooltip as U}from"naive-ui";function W(e,t,n={}){let r=()=>k(n),i=u(()=>!!r().storageKey),s=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=o(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=s(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},d=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{l(),d(e)},p=()=>d(),m=(e,n)=>{t.value[n]=e,p()},h=(e,t)=>{let n=s(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},g=e=>{let t=s(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:h,clearAllHistory:g,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=s(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&_(r.hisList,i)}),p(),c())},restoreFromStorage:l}}function G(e,r){let a=u(()=>k(r.config)??{}),o=n(()=>a.value.feedback),{t:l}=t(()=>a.value.locale),d=E(null),f=u(()=>a.value.foldThreshold??7),p=u(()=>a.value.requireValue??!0),m=E(c(r.formItemList)),h=E(c(r.formParams)),g=E(!1),_=i(),y=u(()=>_.isRunning(`search`)),x=!0;v()&&w(()=>{x=!1});let S=W(m,h,r.historyOptions),T=u(()=>m.value.filter(e=>e.show!==!1)),D=u(()=>T.value.filter((e,t)=>g.value||t<f.value)),O=u(()=>T.value.length>f.value),A=e=>e==null||e===``||Array.isArray(e)&&e.length===0,M=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=c(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=c(e.defaultValue))})},N=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},P=e=>x&&!k(r.loading)&&s(h.value,e),F=async()=>{let t=c(h.value);if(!await N()||!P(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!A(e)))return o.warning(l(`search.valueRequired`)),!1;if(S.saveCurrentInputs(),e(`search`,c(t)),!P(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),x}catch(e){return x&&o.error(l(`search.failed`),e),!1}},I=async()=>{let e=await _.run(`search`,F,()=>!k(r.loading));return e.executed&&e.value},L=t=>{e(`change-params`,c(t)),e(`update:modelValue`,c(t))},R=()=>{H=!0;let e=++U;b(()=>{e===U&&(H=!1)})},z=()=>{d.value?.restoreValidation();let t=c(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=c(m.value.find(t=>t.prop===e)?.defaultValue??null))}),R(),h.value=t,L(t),e(`reset`,c(t))},B=()=>{g.value=!g.value},V=(e,t)=>{R(),m.value=c(e),h.value=c(t),M()},H=!1,U=0;return M(),j(h,e=>{H||L(e)},{deep:!0}),C(()=>{S.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:y,visibleFields:D,hasExpandButton:O,history:S,searchFn:I,resetFn:z,toggleFold:B,syncFromProps:V}}const K=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}},q=[`onClick`],J={class:`history-text`},Y={key:0,class:`history-footer`},X=[`onClick`],ee={class:`form-search-item-box form-search-actions`},te={class:`form-item-input`};var Z=r(_({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=u(()=>e(i.config?.density)),s=u(()=>i.size??o.value.size),c=u(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:_,formParams:v,expanded:b,searching:C,visibleFields:w,hasExpandButton:E,history:k,searchFn:W,resetFn:Z,toggleFold:Q,syncFromProps:ne}=G(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),re=e=>e?.map(e=>({...e,label:e.label??e.labelDefault??``,value:e.value===void 0?e.label??e.labelDefault:e.value})),ie=e=>{let t=v.value[e];return typeof t==`string`?t:null},ae=e=>{let t=v.value[e];return typeof t==`string`||typeof t==`number`?t:null},$=(e,t)=>{v.value[e]=t},oe=e=>{let t=K(v.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>$(e,t)}:{value:t.value,"onUpdate:value":t=>$(e,t)}};return j(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>ne(e,t??n),{deep:!0}),n({formRef:_,formParams:v,searchFn:W,cleanFn:Z,changeFoldState:Q}),(e,n)=>(T(),d(A(F),{class:x([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:S(c.value),bordered:t.bordered},{default:M(()=>[g(A(L),{class:`form-search`,model:A(v),ref_key:`formRef`,ref:_,size:s.value,onSubmit:N(A(W),[`prevent`])},{default:M(()=>[(T(!0),p(l,null,D(A(w),(e,t)=>(T(),p(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?f(`v-if`,!0):(T(),d(A(R),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:M(()=>[e.type===`input`?(T(),d(A(B),y({key:0,clearable:``,size:s.value,value:ie(e.prop),"onUpdate:value":t=>$(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>A(k).handleFocus(e.prop),onBlur:A(k).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):f(`v-if`,!0),e.isFocus?(T(),p(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=N(()=>{},[`prevent`])},[(T(!0),p(l,null,D(e.hisList,(t,r)=>(T(),p(`div`,{class:`history-item`,onClick:n=>A(k).selectHistoryItem(t,e.prop),key:t},[m(`span`,J,O(t),1),g(A(z),{class:`delete-icon`,size:`14`,onClick:N(t=>A(k).deleteHistoryItem(e.prop,r),[`stop`])},{default:M(()=>[...n[1]||=[m(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,q))),128)),e.hisList&&e.hisList.length>0?(T(),p(`div`,Y,[m(`span`,{class:`clear-all`,onClick:N(t=>A(k).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,X)])):f(`v-if`,!0)],32)):f(`v-if`,!0),e.type===`select`?(T(),d(A(V),y({key:2,value:ae(e.prop),"onUpdate:value":t=>$(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:s.value,options:re(e.list)},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):f(`v-if`,!0),e.type===`date-range`?(T(),d(A(I),y({key:3,type:`datetimerange`,size:s.value},{ref_for:!0},{...oe(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):f(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),m(`div`,ee,[m(`div`,te,[n[6]||=m(`div`,{class:`button-label-placeholder`},null,-1),g(A(H),{size:t.config?.density?o.value.gap:8},{default:M(()=>[g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{type:`primary`,size:s.value,"aria-label":`搜索`,onClick:A(W),loading:t.loading||A(C)},{icon:M(()=>[...n[2]||=[m(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:M(()=>[n[3]||=h(` 搜索 `,-1)]),_:1}),g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":`重置`,onClick:A(Z)},{icon:M(()=>[...n[4]||=[m(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:M(()=>[n[5]||=h(` 重置 `,-1)]),_:1}),A(E)?(T(),d(A(U),{key:0,trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":A(b)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":A(b),onClick:A(Q)},{icon:M(()=>[m(`div`,{class:x(A(b)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:M(()=>[h(` `+O(A(b)?`收起`:`展开`),1)]),_:1})):f(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}}),[[`__scopeId`,`data-v-4c7e8019`]]);export{G as n,W as r,Z as t};
1
+ import{t as e}from"./density.js";import{t}from"./useComponentLocale.js";import{t as n}from"./feedback.js";import{t as r}from"./export-helper.js";import{t as i}from"./useActionTask.js";import{i as a,t as o}from"./storage.js";import{a as s,t as c}from"./data.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createTextVNode as h,createVNode as g,defineComponent as _,getCurrentScope as v,mergeProps as y,nextTick as b,normalizeClass as x,normalizeStyle as S,onMounted as C,onScopeDispose as w,openBlock as T,ref as E,renderList as D,toDisplayString as O,toValue as k,unref as A,watch as j,withCtx as M,withModifiers as N}from"vue";import{NButton as P,NCard as F,NDatePicker as I,NForm as L,NFormItem as R,NIcon as z,NInput as B,NSelect as V,NSpace as H,NTooltip as U}from"naive-ui";function W(e,t,n={}){let r=()=>k(n),i=u(()=>!!r().storageKey),s=t=>e.value.find(e=>e.prop===t),c=()=>{let{storageKey:t}=r();t&&a(t,Object.fromEntries(e.value.filter(e=>e.hisList?.length).map(e=>[e.prop,e.hisList])))},l=()=>{let{storageKey:e}=r();if(!e)return;let t=o(e);t&&(Array.isArray(t)?t.map(e=>[e.prop,e.hisList]):Object.entries(t)).forEach(([e,t])=>{let n=s(e);n&&Array.isArray(t)&&(n.hisList=[...t])})},d=t=>{e.value.forEach(e=>{e.isFocus=!!(e.hisList&&e.prop===t)})},f=e=>{l(),d(e)},p=()=>d(),m=(e,n)=>{t.value[n]=e,p()},h=(e,t)=>{let n=s(e);n?.hisList&&(n.hisList.splice(t,1),n.hisList.length===0&&(n.isFocus=!1),c())},g=e=>{let t=s(e);t?.hisList&&(t.hisList=[],t.isFocus=!1,c())},_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1),e.unshift(t);let i=Math.max(1,r().maxItems??5);return e.length>i&&(e.length=i),e};return{enabled:i,handleFocus:f,closeAllPanels:p,selectHistoryItem:m,deleteHistoryItem:h,clearAllHistory:g,saveCurrentInputs:()=>{i.value&&(Object.keys(t.value).forEach(e=>{let n=t.value[e];if(n==null||n===``)return;let r=s(e);if(r?.type!==`input`||!r.hisList)return;let i=String(n).trim();i&&_(r.hisList,i)}),p(),c())},restoreFromStorage:l}}function G(e,r){let a=u(()=>k(r.config)??{}),o=n(()=>a.value.feedback),{t:l}=t(()=>a.value.locale),d=E(null),f=u(()=>a.value.foldThreshold??7),p=u(()=>a.value.requireValue??!0),m=E(c(r.formItemList)),h=E(c(r.formParams)),g=E(!1),_=i(),y=u(()=>_.isRunning(`search`)),x=!0;v()&&w(()=>{x=!1});let S=W(m,h,r.historyOptions),T=u(()=>m.value.filter(e=>e.show!==!1)),D=u(()=>T.value.filter((e,t)=>g.value||t<f.value)),O=u(()=>T.value.length>f.value),A=e=>e==null||e===``||Array.isArray(e)&&e.length===0,M=()=>{m.value.forEach(e=>{e.isFocus=!1,e.type===`select`?(e.placeholder||=`请选择`,h.value[e.prop]===void 0&&(h.value[e.prop]=c(e.defaultValue??null))):h.value[e.prop]===void 0&&e.defaultValue!==void 0&&(h.value[e.prop]=c(e.defaultValue))})},N=async()=>{try{return await d.value?.validate(),!0}catch{return!1}},P=e=>x&&!k(r.loading)&&s(h.value,e),F=async()=>{let t=c(h.value);if(!await N()||!P(t))return!1;if(p.value&&!Object.entries(t).filter(([e])=>e!==`pageNum`&&e!==`pageSize`).some(([,e])=>!A(e)))return o.warning(l(`search.valueRequired`)),!1;if(S.saveCurrentInputs(),e(`search`,c(t)),!P(t))return!1;if(!a.value.onSearch)return!0;try{return await a.value.onSearch(t),x}catch(e){return x&&o.error(l(`search.failed`),e),!1}},I=async()=>{let e=await _.run(`search`,F,()=>!k(r.loading));return e.executed&&e.value},L=t=>{e(`change-params`,c(t)),e(`update:modelValue`,c(t))},R=()=>{H=!0;let e=++U;b(()=>{e===U&&(H=!1)})},z=()=>{d.value?.restoreValidation();let t=c(h.value);Object.keys(t).forEach(e=>{e!==`pageNum`&&e!==`pageSize`&&(t[e]=c(m.value.find(t=>t.prop===e)?.defaultValue??null))}),R(),h.value=t,L(t),e(`reset`,c(t))},B=()=>{g.value=!g.value},V=(e,t)=>{R(),m.value=c(e),h.value=c(t),M()},H=!1,U=0;return M(),j(h,e=>{H||L(e)},{deep:!0}),C(()=>{S.restoreFromStorage()}),{formRef:d,fields:m,formParams:h,expanded:g,searching:y,visibleFields:D,hasExpandButton:O,history:S,searchFn:I,resetFn:z,toggleFold:B,syncFromProps:V}}const K=e=>{if(Array.isArray(e)&&e.length===2){if(e.every(e=>typeof e==`string`))return{mode:`formatted`,value:[e[0],e[1]]};if(e.every(e=>typeof e==`number`&&Number.isFinite(e)))return{mode:`timestamp`,value:[e[0],e[1]]}}return{mode:`timestamp`,value:null}};function q(e,t){let n=e?.map(e=>e.value===void 0?e.label??e.labelDefault:e.value),r=Array.isArray(t)?t:[t],i=new Set([...n??[],...r]),a=new Map;for(let e of[!1,!0]){let t=`__c_form_search_boolean_${e}__`;for(;i.has(t);)t+=`_`;a.set(e,t),i.add(t)}let o=e=>typeof e==`boolean`?a.get(e):typeof e==`string`||typeof e==`number`?e:null,s=e=>e===a.get(!1)?!1:e===a.get(!0)?!0:e;return{options:e?.map((e,t)=>({...e,label:e.label??e.labelDefault??``,value:o(n[t])??void 0})),value:Array.isArray(t)?t.map(o).filter(e=>e!==null):o(t),decode:e=>Array.isArray(e)?e.map(s):e===null?null:s(e)}}const J=[`onClick`],Y={class:`history-text`},ee={key:0,class:`history-footer`},te=[`onClick`],ne={class:`form-search-item-box form-search-actions`},re={class:`form-item-input`};var X=r(_({name:`C_FormSearch`,__name:`index`,props:{bordered:{type:Boolean,default:!0},formItemList:{default:()=>[]},formParams:{default:()=>({})},modelValue:{},formSearchInputHistoryString:{},size:{},loading:{type:Boolean,default:!1},config:{}},emits:[`search`,`reset`,`change-params`,`update:modelValue`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=u(()=>e(i.config?.density)),s=u(()=>i.size??o.value.size),c=u(()=>{if(i.config?.density===void 0)return;let{gap:e,rowGap:t,padding:n}=o.value;return{"--c-search-gap":`${e}px`,"--c-search-row-gap":`${t}px`,"--c-search-padding":`${n}px`}}),{formRef:_,formParams:v,expanded:b,searching:C,visibleFields:w,hasExpandButton:E,history:k,searchFn:W,resetFn:X,toggleFold:Z,syncFromProps:ie}=G(a,{formItemList:i.formItemList,formParams:i.modelValue??i.formParams,config:()=>i.config,loading:()=>i.loading,historyOptions:()=>({storageKey:i.formSearchInputHistoryString,maxItems:i.config?.historyMaxItems})}),Q=u(()=>new Map(w.value.filter(e=>e.type===`select`).map(e=>[e.prop,q(e.list,v.value[e.prop])]))),ae=e=>{let t=v.value[e];return typeof t==`string`?t:null},oe=(e,t)=>{$(e,Q.value.get(e)?.decode(t)??null)},$=(e,t)=>{v.value[e]=t},se=e=>{let t=K(v.value[e]);return t.mode===`formatted`?{formattedValue:t.value,"onUpdate:formattedValue":t=>$(e,t)}:{value:t.value,"onUpdate:value":t=>$(e,t)}};return j(()=>[i.formItemList,i.modelValue,i.formParams],([e,t,n])=>ie(e,t??n),{deep:!0}),n({formRef:_,formParams:v,searchFn:W,cleanFn:X,changeFoldState:Z}),(e,n)=>(T(),d(A(F),{class:x([`form-search-card custom-card`,t.config?.density&&`form-search-card--${t.config.density}`]),style:S(c.value),bordered:t.bordered},{default:M(()=>[g(A(L),{class:`form-search`,model:A(v),ref_key:`formRef`,ref:_,size:s.value,onSubmit:N(A(W),[`prevent`])},{default:M(()=>[(T(!0),p(l,null,D(A(w),(e,t)=>(T(),p(`div`,{class:`form-search-item-box`,key:e.prop||t},[e.type===`spacer`?f(`v-if`,!0):(T(),d(A(R),{key:0,class:`form-item-input`,path:e.prop,rule:e.rules,"show-feedback":!1,"show-label":!1},{default:M(()=>[e.type===`input`?(T(),d(A(B),y({key:0,clearable:``,size:s.value,value:ae(e.prop),"onUpdate:value":t=>$(e.prop,t),placeholder:e.placeholder},{ref_for:!0},e.attrs,{onFocus:t=>A(k).handleFocus(e.prop),onBlur:A(k).closeAllPanels}),null,16,[`size`,`value`,`onUpdate:value`,`placeholder`,`onFocus`,`onBlur`])):f(`v-if`,!0),e.isFocus?(T(),p(`div`,{key:1,class:`input-history`,onMousedown:n[0]||=N(()=>{},[`prevent`])},[(T(!0),p(l,null,D(e.hisList,(t,r)=>(T(),p(`div`,{class:`history-item`,onClick:n=>A(k).selectHistoryItem(t,e.prop),key:t},[m(`span`,Y,O(t),1),g(A(z),{class:`delete-icon`,size:`14`,onClick:N(t=>A(k).deleteHistoryItem(e.prop,r),[`stop`])},{default:M(()=>[...n[1]||=[m(`div`,{class:`i-mdi:close`},null,-1)]]),_:1},8,[`onClick`])],8,J))),128)),e.hisList&&e.hisList.length>0?(T(),p(`div`,ee,[m(`span`,{class:`clear-all`,onClick:N(t=>A(k).clearAllHistory(e.prop),[`stop`])},` 清空历史记录 `,8,te)])):f(`v-if`,!0)],32)):f(`v-if`,!0),e.type===`select`?(T(),d(A(V),y({key:2,value:Q.value.get(e.prop)?.value,"onUpdate:value":t=>oe(e.prop,t),placeholder:e.placeholder||`请选择`,clearable:``,size:s.value,options:Q.value.get(e.prop)?.options},{ref_for:!0},e.attrs),null,16,[`value`,`onUpdate:value`,`placeholder`,`size`,`options`])):f(`v-if`,!0),e.type===`date-range`?(T(),d(A(I),y({key:3,type:`datetimerange`,size:s.value},{ref_for:!0},{...se(e.prop),...e.attrs},{format:`yyyy-MM-dd HH:mm`,"value-format":`yyyy-MM-dd HH:mm`,"start-placeholder":`开始时间`,"end-placeholder":`结束时间`,clearable:``}),null,16,[`size`])):f(`v-if`,!0)]),_:2},1032,[`path`,`rule`]))]))),128)),m(`div`,ne,[m(`div`,re,[n[6]||=m(`div`,{class:`button-label-placeholder`},null,-1),g(A(H),{size:t.config?.density?o.value.gap:8},{default:M(()=>[g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{type:`primary`,size:s.value,"aria-label":`搜索`,onClick:A(W),loading:t.loading||A(C)},{icon:M(()=>[...n[2]||=[m(`div`,{class:`i-mdi:search w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`,`loading`])]),default:M(()=>[n[3]||=h(` 搜索 `,-1)]),_:1}),g(A(U),{trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":`重置`,onClick:A(X)},{icon:M(()=>[...n[4]||=[m(`div`,{class:`i-mdi:refresh w-4 h-4`},null,-1)]]),_:1},8,[`size`,`onClick`])]),default:M(()=>[n[5]||=h(` 重置 `,-1)]),_:1}),A(E)?(T(),d(A(U),{key:0,trigger:`hover`},{trigger:M(()=>[g(A(P),{size:s.value,"aria-label":A(b)?`收起搜索条件`:`展开搜索条件`,"aria-expanded":A(b),onClick:A(Z)},{icon:M(()=>[m(`div`,{class:x(A(b)?`i-mdi:chevron-up w-4 h-4`:`i-mdi:chevron-down w-4 h-4`)},null,2)]),_:1},8,[`size`,`aria-label`,`aria-expanded`,`onClick`])]),default:M(()=>[h(` `+O(A(b)?`收起`:`展开`),1)]),_:1})):f(`v-if`,!0)]),_:1},8,[`size`])])])]),_:1},8,[`model`,`size`,`onSubmit`])]),_:1},8,[`class`,`style`,`bordered`]))}}),[[`__scopeId`,`data-v-48f30fec`]]);export{G as n,W as r,X as t};