dydx-naive-ui-for-vue 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { t as jn } from "./resolver-BDxomgBZ.js";
1
+ import { t as Gn } from "./resolver-BDxomgBZ.js";
2
2
  import { NAutoComplete as st, NButton as U, NCascader as ut, NCheckbox as Me, NCheckboxGroup as we, NColorPicker as dt, NDataTable as ft, NDatePicker as ct, NDrawer as pt, NDrawerContent as mt, NDropdown as yt, NDynamicInput as gt, NDynamicTags as ht, NForm as vt, NFormItem as _t, NGrid as bt, NGridItem as wt, NIcon as Y, NImage as Ct, NInput as xt, NInputNumber as kt, NMention as St, NModal as Tt, NPopconfirm as Nt, NPopover as Pt, NRadio as Dt, NRadioGroup as Ee, NRate as Ft, NSelect as Ge, NSlider as zt, NSpace as J, NSpin as Ce, NSwitch as Rt, NTag as ye, NText as $t, NTimePicker as Ot, NTooltip as ve, NTreeSelect as It, NUpload as Ve, NUploadDragger as Bt, useMessage as Ut } from "naive-ui";
3
3
  import { Fragment as Q, computed as O, createBlock as T, createCommentVNode as K, createElementBlock as L, createElementVNode as de, createSlots as ie, createTextVNode as I, createVNode as _, defineComponent as ae, guardReactiveProps as At, h as D, isRef as Mt, mergeProps as j, nextTick as Et, normalizeProps as Gt, onMounted as Vt, onUnmounted as jt, openBlock as m, ref as X, renderList as Z, renderSlot as A, resolveDynamicComponent as ee, toDisplayString as G, unref as c, useAttrs as xe, watch as Kt, withCtx as l } from "vue";
4
4
  import * as fe from "@vicons/ionicons5";
@@ -883,9 +883,8 @@ var Cn = /* @__PURE__ */ ae({
883
883
  ], 64);
884
884
  };
885
885
  }
886
- }), xn = Cn;
887
- const De = xn;
888
- function kn(e) {
886
+ }), De = Cn;
887
+ function xn(e) {
889
888
  const { maxVisible: t = -1, buttons: r = [], showView: a = !0, showEdit: n = !0, showDelete: f = !0, viewConfig: s, editConfig: w, deleteConfig: b, onView: h, onEdit: v, onDelete: x } = e, k = (o, p, S, E) => p ? o ? typeof o.show == "function" ? o.show(S, E) : o.show !== !1 : !0 : !1, N = (o, p, S) => o ? typeof o.disabled == "function" ? o.disabled(p, S) : o.disabled === !0 : !1, M = (o, p, S) => typeof o.show == "function" ? o.show(p, S) : o.show !== !1, V = (o, p, S) => typeof o.disabled == "function" ? o.disabled(p, S) : o.disabled === !0, g = (o, p, S) => typeof o == "function" ? o(p) : o || S, P = (o) => {
890
889
  const p = D(U, {
891
890
  type: o.type,
@@ -966,7 +965,7 @@ function kn(e) {
966
965
  isButtonDisabled: V
967
966
  };
968
967
  }
969
- var Sn = (e) => {
968
+ var kn = (e) => {
970
969
  if (!e) return "";
971
970
  try {
972
971
  const t = new URL(e).pathname.split("/").pop() || "";
@@ -1008,7 +1007,7 @@ var Sn = (e) => {
1008
1007
  });
1009
1008
  }, tt = (e, t, r) => {
1010
1009
  if (!e) return "-";
1011
- const a = String(e), n = r?.getFileName ? r.getFileName(a, t) : Sn(a), f = () => {
1010
+ const a = String(e), n = r?.getFileName ? r.getFileName(a, t) : kn(a), f = () => {
1012
1011
  const s = document.createElement("a");
1013
1012
  s.href = a, s.download = n, s.target = "_blank", s.rel = "noopener noreferrer", document.body.appendChild(s), s.click(), document.body.removeChild(s);
1014
1013
  };
@@ -1073,7 +1072,7 @@ const nt = (e, t, r) => {
1073
1072
  return Xe(e);
1074
1073
  }
1075
1074
  }, lt = (e) => e.render ? !1 : !!(e.columnType && e.columnType !== "text");
1076
- function Wn() {
1075
+ function Ln() {
1077
1076
  return {
1078
1077
  renderColumnContent: nt,
1079
1078
  shouldAutoRender: lt,
@@ -1086,7 +1085,7 @@ function Wn() {
1086
1085
  renderIcon: at
1087
1086
  };
1088
1087
  }
1089
- function Tn(e) {
1088
+ function Sn(e) {
1090
1089
  const { columns: t, actionColumn: r, onView: a, onEdit: n, onDelete: f } = e, s = (d) => "key" in d && d.key ? String(d.key) : "type" in d ? `__${d.type}__` : "", w = (d) => {
1091
1090
  if ("title" in d) {
1092
1091
  if (typeof d.title == "string") return d.title;
@@ -1100,7 +1099,7 @@ function Tn(e) {
1100
1099
  configurable: h(d)
1101
1100
  }))), N = () => {
1102
1101
  if (r?.show === !1) return null;
1103
- const { renderActions: d } = kn({
1102
+ const { renderActions: d } = xn({
1104
1103
  ...r,
1105
1104
  onView: a,
1106
1105
  onEdit: n,
@@ -1143,7 +1142,7 @@ function Tn(e) {
1143
1142
  getVisibleColumnKeys: () => [...x.value]
1144
1143
  };
1145
1144
  }
1146
- var Nn = {
1145
+ var Tn = {
1147
1146
  page: "page",
1148
1147
  pageSize: "pageSize",
1149
1148
  itemCount: "itemCount"
@@ -1157,9 +1156,9 @@ var Nn = {
1157
1156
  showSizePicker: !0,
1158
1157
  showQuickJumper: !0
1159
1158
  };
1160
- function Pn(e) {
1159
+ function Nn(e) {
1161
1160
  const { pagination: t, fieldNames: r, onUpdatePagination: a, onPageChange: n } = e, f = () => ({
1162
- ...Nn,
1161
+ ...Tn,
1163
1162
  ...r
1164
1163
  }), s = (k) => {
1165
1164
  if (!(t === !1 || !t))
@@ -1201,10 +1200,10 @@ function Pn(e) {
1201
1200
  getFieldNames: f
1202
1201
  };
1203
1202
  }
1204
- var Dn = {
1203
+ var Pn = {
1205
1204
  key: 0,
1206
1205
  class: "dydx-table__toolbar"
1207
- }, Fn = { class: "dydx-table__column-setting" }, zn = { class: "dydx-table__column-setting-header" }, Rn = /* @__PURE__ */ ae({
1206
+ }, Dn = { class: "dydx-table__column-setting" }, Fn = { class: "dydx-table__column-setting-header" }, zn = /* @__PURE__ */ ae({
1208
1207
  inheritAttrs: !1,
1209
1208
  __name: "DydxNaiveTable",
1210
1209
  props: {
@@ -1279,13 +1278,13 @@ var Dn = {
1279
1278
  }), jt(() => {
1280
1279
  window.removeEventListener("resize", x);
1281
1280
  });
1282
- const N = X(null), { mergedColumns: M, configurableColumns: V, visibleColumnKeys: g, setVisibleColumnKeys: P, resetColumnSetting: $, getVisibleColumnKeys: d } = Tn({
1281
+ const N = X(null), { mergedColumns: M, configurableColumns: V, visibleColumnKeys: g, setVisibleColumnKeys: P, resetColumnSetting: $, getVisibleColumnKeys: d } = Sn({
1283
1282
  columns: a.columns,
1284
1283
  actionColumn: a.actionColumn,
1285
1284
  onView: (y) => n("view", y),
1286
1285
  onEdit: (y) => n("edit", y),
1287
1286
  onDelete: (y) => n("delete", y)
1288
- }), { paginationConfig: o, handlePageChange: p, handlePageSizeChange: S } = Pn({
1287
+ }), { paginationConfig: o, handlePageChange: p, handlePageSizeChange: S } = Nn({
1289
1288
  get pagination() {
1290
1289
  return a.pagination;
1291
1290
  },
@@ -1323,7 +1322,7 @@ var Dn = {
1323
1322
  ref_key: "containerRef",
1324
1323
  ref: s,
1325
1324
  class: "dydx-table"
1326
- }, [E.value ? (m(), L("div", Dn, [_(c(J), {
1325
+ }, [E.value ? (m(), L("div", Pn, [_(c(J), {
1327
1326
  class: "dydx-table__toolbar-left",
1328
1327
  size: 12
1329
1328
  }, {
@@ -1420,7 +1419,7 @@ var Dn = {
1420
1419
  default: l(() => [C[2] || (C[2] = I(" 列设置 ", -1))]),
1421
1420
  _: 1
1422
1421
  })]),
1423
- default: l(() => [de("div", Fn, [de("div", zn, [C[4] || (C[4] = de("span", null, "列设置", -1)), _(c(U), {
1422
+ default: l(() => [de("div", Dn, [de("div", Fn, [C[4] || (C[4] = de("span", null, "列设置", -1)), _(c(U), {
1424
1423
  text: "",
1425
1424
  size: "small",
1426
1425
  type: "primary",
@@ -1477,13 +1476,11 @@ var Dn = {
1477
1476
  "onUpdate:pageSize"
1478
1477
  ])], 512));
1479
1478
  }
1480
- }), $n = (e, t) => {
1479
+ }), Rn = (e, t) => {
1481
1480
  const r = e.__vccOpts || e;
1482
1481
  for (const [a, n] of t) r[a] = n;
1483
1482
  return r;
1484
- }, On = /* @__PURE__ */ $n(Rn, [["__scopeId", "data-v-af2504e6"]]);
1485
- const In = On;
1486
- var Bn = /* @__PURE__ */ ae({
1483
+ }, $n = /* @__PURE__ */ Rn(zn, [["__scopeId", "data-v-af2504e6"]]), On = /* @__PURE__ */ ae({
1487
1484
  name: "DydxFormModal",
1488
1485
  inheritAttrs: !1,
1489
1486
  __name: "DydxFormModal",
@@ -1613,7 +1610,7 @@ var Bn = /* @__PURE__ */ ae({
1613
1610
  "style"
1614
1611
  ]));
1615
1612
  }
1616
- }), Un = Bn, An = /* @__PURE__ */ ae({
1613
+ }), In = On, Bn = /* @__PURE__ */ ae({
1617
1614
  name: "DydxFormDrawer",
1618
1615
  inheritAttrs: !1,
1619
1616
  __name: "DydxFormDrawer",
@@ -1732,29 +1729,29 @@ var Bn = /* @__PURE__ */ ae({
1732
1729
  "placement"
1733
1730
  ]));
1734
1731
  }
1735
- }), Mn = An, En = [
1732
+ }), Un = Bn, An = [
1736
1733
  De,
1734
+ $n,
1737
1735
  In,
1738
1736
  Un,
1739
- Mn,
1740
1737
  _e,
1741
1738
  Ke
1742
- ], Gn = (e) => {
1743
- En.forEach((t) => {
1739
+ ], Mn = (e) => {
1740
+ An.forEach((t) => {
1744
1741
  t.name && e.component(t.name, t);
1745
1742
  });
1746
- }, qn = { install: Gn };
1743
+ }, Hn = { install: Mn };
1747
1744
  export {
1748
- Mn as DydxFormDrawer,
1749
- Un as DydxFormModal,
1745
+ Un as DydxFormDrawer,
1746
+ In as DydxFormModal,
1750
1747
  Ke as DydxIconSelect,
1751
1748
  De as DydxNaiveForm,
1752
- In as DydxNaiveTable,
1753
- jn as DydxNaiveUIResolver,
1749
+ $n as DydxNaiveTable,
1750
+ Gn as DydxNaiveUIResolver,
1754
1751
  _e as DydxUpload,
1755
- qn as default,
1756
- Wn as useColumnRender,
1757
- Tn as useColumns,
1758
- Pn as usePagination,
1759
- kn as useTableActions
1752
+ Hn as default,
1753
+ Ln as useColumnRender,
1754
+ Sn as useColumns,
1755
+ Nn as usePagination,
1756
+ xn as useTableActions
1760
1757
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var $e=Object.create,pe=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Ae=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty,je=(t,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(var l=Ae(r),d=0,s=l.length,h;d<s;d++)h=l[d],!Me.call(t,h)&&h!==o&&pe(t,h,{get:(y=>r[y]).bind(null,h),enumerable:!(a=Ue(r,h))||a.enumerable});return t},Ge=(t,r,o)=>(o=t!=null?$e(Ee(t)):{},je(r||!t||!t.__esModule?pe(o,"default",{value:t,enumerable:!0}):o,t));const Le=require("./resolver-GTYJgpLb.cjs");let n=require("naive-ui"),e=require("vue"),z=require("@vicons/ionicons5");z=Ge(z);var Ke={style:{"margin-bottom":"12px"}},He=(0,e.defineComponent)({name:"DydxUpload",__name:"DydxUpload",props:{uploadType:{default:"file"},fileList:{default:()=>[]},customUpload:{},acceptTypes:{},maxSize:{default:10},maxCount:{default:void 0},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},urlPrefix:{default:""},showTip:{type:Boolean,default:!0},showDragger:{type:Boolean,default:!0}},emits:["update:fileList","success","error","exceed","beforeUpload"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,n.useMessage)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.listType?a.listType:a.uploadType==="image"?"image-card":"text"),y=(0,e.computed)(()=>a.urlPrefix?a.fileList.map(g=>({...g,url:g.url&&!g.url.startsWith("http")?a.urlPrefix+g.url:g.url})):a.fileList),v=(0,e.computed)(()=>{const g=[];return a.acceptTypes?.length&&g.push(`支持格式:${a.acceptTypes.join(", ")}`),a.maxSize&&g.push(`单个文件不超过 ${a.maxSize}MB`),a.maxCount&&g.push(`最多 ${a.maxCount} 个文件`),g.join(";")}),_=(0,e.computed)(()=>{if(a.accept)return a.accept;if(a.acceptTypes?.length)return a.acceptTypes.join(",");if(a.uploadType==="image")return"image/*"}),w=(0,e.computed)(()=>{const{uploadType:g,fileList:N,customUpload:P,acceptTypes:f,maxSize:i,maxCount:p,multiple:C,autoUpload:F,disabled:$,urlPrefix:D,showTip:L,showDragger:u,...B}=a;return B}),x=g=>{l("update:fileList",a.urlPrefix?g.map(N=>({...N,url:N.url?.startsWith(a.urlPrefix)?N.url.slice(a.urlPrefix.length):N.url})):g)},k=async({file:g})=>{l("beforeUpload",g);const N=g.file;return N?a.maxSize&&N.size>a.maxSize*1024*1024?(d.error(`文件大小不能超过 ${a.maxSize}MB`),!1):a.acceptTypes?.length&&!a.acceptTypes.some(P=>{if(P.startsWith("."))return N.name.toLowerCase().endsWith(P.toLowerCase());if(P.includes("*")){const[f]=P.split("/");return N.type.startsWith(f)}return N.type===P})?(d.error(`只支持 ${a.acceptTypes.join(", ")} 格式`),!1):a.maxCount&&a.fileList.length>=a.maxCount?(l("exceed",[N]),d.error(`最多上传 ${a.maxCount} 个文件`),!1):!0:!0},V=async g=>{const{file:N,onProgress:P,onFinish:f,onError:i}=g;if(!a.customUpload){console.warn("DydxUpload: customUpload 方法未提供"),i();return}try{N.url=await a.customUpload(N.file,p=>{P({percent:p})}),N.status="finished",f(),l("success",N)}catch(p){i(),l("error",N,p)}},O=()=>{s.value?.submit()};return r({submit:()=>s.value?.submit(),openDialog:()=>s.value?.openOpenFileDialog(),clear:()=>s.value?.clear()}),(g,N)=>{const P=n.NIcon,f=n.NText,i=n.NUploadDragger,p=n.NButton,C=n.NUpload;return(0,e.openBlock)(),(0,e.createElementBlock)("div",null,[(0,e.createVNode)(C,(0,e.mergeProps)({ref_key:"uploadRef",ref:s},w.value,{"file-list":y.value,"custom-request":V,accept:_.value,max:t.maxCount,multiple:t.multiple,disabled:t.disabled,"default-upload":t.autoUpload,"list-type":h.value,"onUpdate:fileList":x,onBeforeUpload:k}),{default:(0,e.withCtx)(()=>[t.showDragger&&t.uploadType!=="image"?((0,e.openBlock)(),(0,e.createBlock)(i,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",Ke,[(0,e.createVNode)(P,{size:"48",depth:3},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.CloudUploadOutline))]),_:1})]),(0,e.createVNode)(f,{style:{"font-size":"16px"}},{default:(0,e.withCtx)(()=>[...N[0]||(N[0]=[(0,e.createTextVNode)(" 点击或拖拽文件到此区域上传 ",-1)])]),_:1}),t.showTip?((0,e.openBlock)(),(0,e.createBlock)(f,{key:0,depth:"3",style:{"font-size":"14px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(v.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)]),_:1})):(0,e.renderSlot)(g.$slots,"default",{key:1},()=>[t.uploadType==="image"&&h.value==="image-card"?((0,e.openBlock)(),(0,e.createBlock)(P,{key:0,size:28},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.AddOutline))]),_:1})):((0,e.openBlock)(),(0,e.createBlock)(p,{key:1},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)(P,null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.CloudUploadOutline))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.uploadType==="image"?"上传图片":"上传文件"),1)]),_:1}))])]),_:3},16,["file-list","accept","max","multiple","disabled","default-upload","list-type"]),!t.autoUpload&&y.value.length>0?((0,e.openBlock)(),(0,e.createBlock)(p,{key:0,type:"primary",onClick:O,style:{"margin-top":"8px"}},{default:(0,e.withCtx)(()=>[...N[1]||(N[1]=[(0,e.createTextVNode)(" 开始上传 ",-1)])]),_:1})):(0,e.createCommentVNode)("",!0),t.showTip&&!(t.showDragger&&t.uploadType!=="image")?((0,e.openBlock)(),(0,e.createBlock)(f,{key:1,depth:"3",style:{"font-size":"12px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(v.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)])}}}),K=He,qe=(0,e.defineComponent)({name:"DydxIconSelect",__name:"DydxIconSelect",props:{value:{},placeholder:{default:"请选择图标"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},iconStyle:{default:"outline"}},emits:["update:value"],setup(t,{emit:r}){const o=t,a=r,l=Object.keys(z),d=(0,e.computed)(()=>{let v=l;return o.iconStyle==="outline"?v=l.filter(_=>_.endsWith("Outline")):o.iconStyle==="sharp"?v=l.filter(_=>_.endsWith("Sharp")):o.iconStyle==="filled"&&(v=l.filter(_=>!_.endsWith("Outline")&&!_.endsWith("Sharp"))),v.map(_=>({label:_,value:_}))}),s=v=>{const _=z[v.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 8px;"},[(0,e.h)(n.NIcon,{size:18},()=>(0,e.h)(_)),(0,e.h)("span",{style:"flex: 1; overflow: hidden; text-overflow: ellipsis;"},v.label)])},h=({option:v})=>{const _=z[v.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 4px;"},[(0,e.h)(n.NIcon,{size:16},()=>(0,e.h)(_)),v.label])},y=v=>{a("update:value",v)};return(v,_)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NSelect),{value:t.value,options:d.value,placeholder:t.placeholder,disabled:t.disabled,clearable:t.clearable,filterable:t.filterable,"render-label":s,"render-tag":h,"virtual-scroll":"","onUpdate:value":y},null,8,["value","options","placeholder","disabled","clearable","filterable"]))}}),Z=qe;const We={input:n.NInput,"input-number":n.NInputNumber,select:n.NSelect,"date-picker":n.NDatePicker,"time-picker":n.NTimePicker,switch:n.NSwitch,slider:n.NSlider,"radio-group":n.NRadioGroup,"checkbox-group":n.NCheckboxGroup,cascader:n.NCascader,"tree-select":n.NTreeSelect,upload:n.NUpload,rate:n.NRate,"color-picker":n.NColorPicker,"auto-complete":n.NAutoComplete,"dynamic-input":n.NDynamicInput,"dynamic-tags":n.NDynamicTags,mention:n.NMention,"image-upload":K,"file-upload":K,"icon-select":Z};var Je=typeof global=="object"&&global&&global.Object===Object&&global,Qe=Je,Ye=typeof self=="object"&&self&&self.Object===Object&&self,Xe=Qe||Ye||Function("return this")(),ee=Xe,Ze=ee.Symbol,U=Ze,me=Object.prototype,et=me.hasOwnProperty,tt=me.toString,j=U?U.toStringTag:void 0;function rt(t){var r=et.call(t,j),o=t[j];try{t[j]=void 0;var a=!0}catch{}var l=tt.call(t);return a&&(r?t[j]=o:delete t[j]),l}var at=rt,ot=Object.prototype.toString;function nt(t){return ot.call(t)}var lt=nt,it="[object Null]",ut="[object Undefined]",le=U?U.toStringTag:void 0;function st(t){return t==null?t===void 0?ut:it:le&&le in Object(t)?at(t):lt(t)}var he=st;function dt(t){return t!=null&&typeof t=="object"}var ct=dt,ft="[object Symbol]";function pt(t){return typeof t=="symbol"||ct(t)&&he(t)==ft}var te=pt;function mt(t,r){for(var o=-1,a=t==null?0:t.length,l=Array(a);++o<a;)l[o]=r(t[o],o,t);return l}var ht=mt,yt=Array.isArray,re=yt,gt=1/0,ie=U?U.prototype:void 0,ue=ie?ie.toString:void 0;function ye(t){if(typeof t=="string")return t;if(re(t))return ht(t,ye)+"";if(te(t))return ue?ue.call(t):"";var r=t+"";return r=="0"&&1/t==-gt?"-0":r}var vt=ye;function _t(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}var H=_t,bt="[object AsyncFunction]",Ct="[object Function]",wt="[object GeneratorFunction]",xt="[object Proxy]";function kt(t){if(!H(t))return!1;var r=he(t);return r==Ct||r==wt||r==bt||r==xt}var Nt=kt,St=ee["__core-js_shared__"],Q=St,se=(function(){var t=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Bt(t){return!!se&&se in t}var Tt=Bt,Pt=Function.prototype.toString;function Dt(t){if(t!=null){try{return Pt.call(t)}catch{}try{return t+""}catch{}}return""}var Vt=Dt,Ft=/[\\^$.*+?()[\]{}|]/g,Ot=/^\[object .+?Constructor\]$/,zt=Function.prototype,It=Object.prototype,Rt=zt.toString,$t=It.hasOwnProperty,Ut=RegExp("^"+Rt.call($t).replace(Ft,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function At(t){return!H(t)||Tt(t)?!1:(Nt(t)?Ut:Ot).test(Vt(t))}var Et=At;function Mt(t,r){return t?.[r]}var jt=Mt;function Gt(t,r){var o=jt(t,r);return Et(o)?o:void 0}var ae=Gt,Lt=(function(){try{var t=ae(Object,"defineProperty");return t({},"",{}),t}catch{}})(),de=Lt,Kt=9007199254740991,Ht=/^(?:0|[1-9]\d*)$/;function qt(t,r){var o=typeof t;return r=r??Kt,!!r&&(o=="number"||o!="symbol"&&Ht.test(t))&&t>-1&&t%1==0&&t<r}var Wt=qt;function Jt(t,r,o){r=="__proto__"&&de?de(t,r,{configurable:!0,enumerable:!0,value:o,writable:!0}):t[r]=o}var Qt=Jt;function Yt(t,r){return t===r||t!==t&&r!==r}var ge=Yt,Xt=Object.prototype.hasOwnProperty;function Zt(t,r,o){var a=t[r];(!(Xt.call(t,r)&&ge(a,o))||o===void 0&&!(r in t))&&Qt(t,r,o)}var er=Zt,tr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rr=/^\w*$/;function ar(t,r){if(re(t))return!1;var o=typeof t;return o=="number"||o=="symbol"||o=="boolean"||t==null||te(t)?!0:rr.test(t)||!tr.test(t)||r!=null&&t in Object(r)}var or=ar,nr=ae(Object,"create"),G=nr;function lr(){this.__data__=G?G(null):{},this.size=0}var ir=lr;function ur(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}var sr=ur,dr="__lodash_hash_undefined__",cr=Object.prototype.hasOwnProperty;function fr(t){var r=this.__data__;if(G){var o=r[t];return o===dr?void 0:o}return cr.call(r,t)?r[t]:void 0}var pr=fr,mr=Object.prototype.hasOwnProperty;function hr(t){var r=this.__data__;return G?r[t]!==void 0:mr.call(r,t)}var yr=hr,gr="__lodash_hash_undefined__";function vr(t,r){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=G&&r===void 0?gr:r,this}var _r=vr;function A(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}A.prototype.clear=ir;A.prototype.delete=sr;A.prototype.get=pr;A.prototype.has=yr;A.prototype.set=_r;var ce=A;function br(){this.__data__=[],this.size=0}var Cr=br;function wr(t,r){for(var o=t.length;o--;)if(ge(t[o][0],r))return o;return-1}var q=wr,xr=Array.prototype.splice;function kr(t){var r=this.__data__,o=q(r,t);return o<0?!1:(o==r.length-1?r.pop():xr.call(r,o,1),--this.size,!0)}var Nr=kr;function Sr(t){var r=this.__data__,o=q(r,t);return o<0?void 0:r[o][1]}var Br=Sr;function Tr(t){return q(this.__data__,t)>-1}var Pr=Tr;function Dr(t,r){var o=this.__data__,a=q(o,t);return a<0?(++this.size,o.push([t,r])):o[a][1]=r,this}var Vr=Dr;function E(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}E.prototype.clear=Cr;E.prototype.delete=Nr;E.prototype.get=Br;E.prototype.has=Pr;E.prototype.set=Vr;var Fr=E,Or=ae(ee,"Map"),zr=Or;function Ir(){this.size=0,this.__data__={hash:new ce,map:new(zr||Fr),string:new ce}}var Rr=Ir;function $r(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}var Ur=$r;function Ar(t,r){var o=t.__data__;return Ur(r)?o[typeof r=="string"?"string":"hash"]:o.map}var W=Ar;function Er(t){var r=W(this,t).delete(t);return this.size-=r?1:0,r}var Mr=Er;function jr(t){return W(this,t).get(t)}var Gr=jr;function Lr(t){return W(this,t).has(t)}var Kr=Lr;function Hr(t,r){var o=W(this,t),a=o.size;return o.set(t,r),this.size+=o.size==a?0:1,this}var qr=Hr;function M(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}M.prototype.clear=Rr;M.prototype.delete=Mr;M.prototype.get=Gr;M.prototype.has=Kr;M.prototype.set=qr;var ve=M,Wr="Expected a function";function oe(t,r){if(typeof t!="function"||r!=null&&typeof r!="function")throw new TypeError(Wr);var o=function(){var a=arguments,l=r?r.apply(this,a):a[0],d=o.cache;if(d.has(l))return d.get(l);var s=t.apply(this,a);return o.cache=d.set(l,s)||d,s};return o.cache=new(oe.Cache||ve),o}oe.Cache=ve;var Jr=oe,Qr=500;function Yr(t){var r=Jr(t,function(a){return o.size===Qr&&o.clear(),a}),o=r.cache;return r}var Xr=Yr,Zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ea=/\\(\\)?/g,ta=Xr(function(t){var r=[];return t.charCodeAt(0)===46&&r.push(""),t.replace(Zr,function(o,a,l,d){r.push(l?d.replace(ea,"$1"):a||o)}),r}),ra=ta;function aa(t){return t==null?"":vt(t)}var oa=aa;function na(t,r){return re(t)?t:or(t,r)?[t]:ra(oa(t))}var _e=na,la=1/0;function ia(t){if(typeof t=="string"||te(t))return t;var r=t+"";return r=="0"&&1/t==-la?"-0":r}var be=ia;function ua(t,r){r=_e(r,t);for(var o=0,a=r.length;t!=null&&o<a;)t=t[be(r[o++])];return o&&o==a?t:void 0}var sa=ua;function da(t,r,o){var a=t==null?void 0:sa(t,r);return a===void 0?o:a}var ca=da;function fa(t,r,o,a){if(!H(t))return t;r=_e(r,t);for(var l=-1,d=r.length,s=d-1,h=t;h!=null&&++l<d;){var y=be(r[l]),v=o;if(y==="__proto__"||y==="constructor"||y==="prototype")return t;if(l!=s){var _=h[y];v=a?a(_,y,h):void 0,v===void 0&&(v=H(_)?_:Wt(r[l+1])?[]:{})}er(h,y,v),h=h[y]}return t}var pa=fa;function ma(t,r,o){return t==null?t:pa(t,r,o)}var ha=ma;const fe=(t,r)=>ca(t,r),ya=(t,r,o)=>{ha(t,r,o)};var ga=(0,e.defineComponent)({name:"DydxNaiveForm",__name:"DydxNaiveForm",props:{schemas:{default:()=>[]},model:{},formProps:{},labelWidth:{},labelAlign:{},labelPlacement:{default:"top"},showFeedback:{type:Boolean,default:!0},showLabel:{type:Boolean,default:!0},showRequireMark:{type:Boolean,default:!0},requireMarkPlacement:{default:"right"},gridProps:{},cols:{default:()=>({xs:24,s:12,m:8,l:6})},xGap:{default:20},yGap:{default:20},responsive:{},showFooter:{type:Boolean,default:!0},footerAlign:{default:"right"},footerSpan:{default:24},submitButton:{default:()=>({})},resetButton:{default:()=>({})},extraButtons:{default:()=>[]},loading:{type:Boolean,default:!1}},emits:["update:model","submit","reset","validate"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.ref)(),s=(0,e.computed)(()=>({type:"primary",text:"提交",loading:a.loading,...a.submitButton})),h=(0,e.computed)(()=>({type:"default",text:"重置",...a.resetButton})),y=(0,e.computed)(()=>a.schemas.filter(u=>!(typeof u.hidden=="function"?u.hidden(a.model):u.hidden))),v=(0,e.computed)(()=>({labelWidth:a.labelWidth,labelAlign:a.labelAlign,labelPlacement:a.labelPlacement,showFeedback:a.showFeedback,showLabel:a.showLabel,showRequireMark:a.showRequireMark,requireMarkPlacement:a.requireMarkPlacement,...a.formProps})),_=(0,e.computed)(()=>({cols:24,xGap:a.xGap,yGap:a.yGap,itemResponsive:!0,...a.gridProps,responsive:"self"})),w=u=>{const B=u.type||"input";return B==="custom"?u.component:We[B]},x=u=>typeof u.disabled=="function"?u.disabled(a.model):u.disabled,k=u=>{if(!u)return{};const{options:B,labelField:I,valueField:R,...m}=u;return m},V=u=>{if(!u)return{};const{text:B,...I}=u;return I},O=u=>fe(a.model,u),g=(u,B)=>{ya(a.model,u,B),l("update:model",a.model)},N=u=>{let B=typeof u.rule=="function"?u.rule(a.model):u.rule;const I=!u.noRequired;if(I){const R={required:!0,message:`${typeof u.label=="string"?u.label:"此项"}不能为空`,trigger:"blur"};B?B=Array.isArray(B)?[R,...B]:[R,B]:B=R}return{label:typeof u.label=="string"?u.label:void 0,rule:B,showRequireMark:I?void 0:!1,...u.formItemProps}},P={xs:0,s:640,m:1024,l:1280,xl:1536,xxl:1920},f=u=>{if(typeof u=="number"||typeof u=="string")return u;if(typeof u=="object"){const B=[];return Object.entries(P).forEach(([I,R])=>{const m=u[I];m!==void 0&&B.push(`${R}:${m}`)}),B.length===0?24:B.join(" ")}return 24},i=u=>({span:f(u.span??a.cols),offset:u.offset}),p=async(...u)=>{await d.value.validate(...u)},C=async(u,B)=>{const I=Array.isArray(u)?u:[u];await d.value.validate(B,R=>I.some(m=>R.key===m))},F=()=>d.value?.restoreValidation(),$=()=>{F(),l("reset")},D=async()=>{try{await p(),l("submit",a.model)}catch(u){l("validate",u)}},L=()=>{$()};return r({formRef:d.value,validate:p,validateField:C,restoreValidation:F,getFormData:()=>a.model,setFormData:u=>Object.assign(a.model,u),getFieldValue:u=>fe(a.model,u),setFieldValue:(u,B)=>g(u,B),resetFields:$,getFormItemInst:u=>d.value?.getFormItemInst?.(u)}),(u,B)=>{const I=n.NFormItem,R=n.NGridItem,m=n.NButton,b=n.NGrid,S=n.NForm;return(0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.renderSlot)(u.$slots,"header",{model:a.model}),(0,e.createVNode)((0,e.unref)(n.NSpin),{show:a.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(S,(0,e.mergeProps)({ref_key:"formRef",ref:d,model:a.model},v.value),{default:(0,e.withCtx)(()=>[(0,e.createVNode)(b,(0,e.normalizeProps)((0,e.guardReactiveProps)(_.value)),{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(y.value,c=>((0,e.openBlock)(),(0,e.createBlock)(R,(0,e.mergeProps)({key:c.name},{ref_for:!0},i(c)),{default:(0,e.withCtx)(()=>[c.type==="slot"?(0,e.renderSlot)(u.$slots,c.slot||c.name,{key:0,model:a.model,schema:c}):((0,e.openBlock)(),(0,e.createBlock)(I,(0,e.mergeProps)({key:1,path:c.name},{ref_for:!0},N(c)),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(u.$slots,`field-${c.name}`,{model:a.model,schema:c,value:O(c.name),setValue:T=>g(c.name,T)},()=>[c.type==="radio-group"&&c.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NRadioGroup),(0,e.mergeProps)({key:0,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},k(c.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(c.props.options,T=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NRadio),{key:T[c.props.valueField||"value"],value:T[c.props.valueField||"value"],disabled:T.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(T[c.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):c.type==="checkbox-group"&&c.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckboxGroup),(0,e.mergeProps)({key:1,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},k(c.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(c.props.options,T=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckbox),{key:T[c.props.valueField||"value"],value:T[c.props.valueField||"value"],disabled:T.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(T[c.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):c.type==="switch"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:2,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["value","onUpdate:value","disabled"])):c.type==="image-upload"||c.type==="file-upload"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:3,"file-list":O(c.name)||[],"onUpdate:fileList":T=>g(c.name,T),"upload-type":c.type==="image-upload"?"image":"file"},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["file-list","onUpdate:fileList","upload-type","disabled"])):((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:4,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["value","onUpdate:value","disabled"]))])]),_:2},[typeof c.label=="function"?{name:"label",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(c.label)))]),key:"0"}:void 0]),1040,["path"]))]),_:2},1040))),128)),a.showFooter?((0,e.openBlock)(),(0,e.createBlock)(R,{key:0,span:a.footerSpan},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(u.$slots,"footer",{model:a.model,validate:p,reset:$},()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:a.footerAlign},{default:(0,e.withCtx)(()=>[h.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:0},V(h.value),{onClick:L}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(h.value.text),1)]),_:1},16)),s.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:1},V(s.value),{onClick:D}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(s.value.text),1)]),_:1},16)),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.extraButtons,c=>((0,e.openBlock)(),(0,e.createBlock)(m,{key:c.text,type:c.type,size:c.size,disabled:c.disabled,onClick:c.onClick},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(c.text),1)]),_:2},1032,["type","size","disabled","onClick"]))),128))]),_:1},8,["justify"])])]),_:3},8,["span"])):(0,e.createCommentVNode)("",!0)]),_:3},16)]),_:3},16,["model"])]),_:3},8,["show"]),(0,e.renderSlot)(u.$slots,"append",{model:a.model})],64)}}}),va=ga;const J=va;function Ce(t){const{maxVisible:r=-1,buttons:o=[],showView:a=!0,showEdit:l=!0,showDelete:d=!0,viewConfig:s,editConfig:h,deleteConfig:y,onView:v,onEdit:_,onDelete:w}=t,x=(i,p,C,F)=>p?i?typeof i.show=="function"?i.show(C,F):i.show!==!1:!0:!1,k=(i,p,C)=>i?typeof i.disabled=="function"?i.disabled(p,C):i.disabled===!0:!1,V=(i,p,C)=>typeof i.show=="function"?i.show(p,C):i.show!==!1,O=(i,p,C)=>typeof i.disabled=="function"?i.disabled(p,C):i.disabled===!0,g=(i,p,C)=>typeof i=="function"?i(p):i||C,N=i=>{const p=(0,e.h)(n.NButton,{type:i.type,size:"small",disabled:i.disabled,onClick:i.confirm?void 0:i.onClick},{default:()=>i.label});return i.confirm?(0,e.h)(n.NPopconfirm,{onPositiveClick:i.onClick},{trigger:()=>p,default:()=>i.confirm}):p},P=i=>{const p=i.map(F=>({label:F.label,key:F.key,disabled:F.disabled})),C=F=>{i.find($=>$.key===F)?.onClick()};return(0,e.h)(n.NDropdown,{options:p,trigger:"click",onSelect:C},{default:()=>(0,e.h)(n.NButton,{size:"small"},{default:()=>"更多"})})};return{renderActions:(i,p)=>{const C=[];if(x(s,a,i,p)&&C.push({key:"__view__",label:s?.label||"查看",type:"info",disabled:k(s,i,p),onClick:()=>v?.({row:i,index:p})}),x(h,l,i,p)&&C.push({key:"__edit__",label:h?.label||"编辑",type:"primary",disabled:k(h,i,p),onClick:()=>_?.({row:i,index:p})}),x(y,d,i,p)&&C.push({key:"__delete__",label:y?.label||"删除",type:"error",disabled:k(y,i,p),confirm:g(y?.confirm,i,"确定删除此记录吗?"),onClick:()=>w?.({row:i,index:p})}),o.forEach(D=>{V(D,i,p)&&C.push({key:D.key,label:D.label,type:D.type||"default",disabled:O(D,i,p),confirm:D.confirm?g(D.confirm,i,"确定执行此操作吗?"):void 0,onClick:()=>D.onClick?.(i,p)})}),r===-1||C.length<=r)return(0,e.h)(n.NSpace,{size:"small",wrap:!1},()=>C.map(D=>N(D)));if(r===0)return P(C);const F=C.slice(0,r),$=C.slice(r);return(0,e.h)(n.NSpace,{size:"small",wrap:!1},()=>[...F.map(D=>N(D)),P($)])},isButtonVisible:V,isButtonDisabled:O}}var _a=t=>{if(!t)return"";try{const r=new URL(t).pathname.split("/").pop()||"";return decodeURIComponent(r)}catch{const r=t.split("/");return r[r.length-1]||t}},we=t=>t==null?"-":String(t),xe=(t,r,o)=>{if(!t)return"-";const a=String(t),l=o?.newWindow!==!1;let d;return o?.text?d=typeof o.text=="function"?o.text(r):o.text:d=a,(0,e.h)(n.NButton,{text:!0,type:"primary",onClick:()=>{l?window.open(a,"_blank","noopener,noreferrer"):window.location.href=a}},{default:()=>d,icon:()=>(0,e.h)(n.NIcon,{size:14},()=>(0,e.h)(z.OpenOutline))})},ke=(t,r)=>{if(!t)return"-";const o=String(t),a=r?.width??60,l=r?.height??60,d=r?.radius??4,s=r?.fallback;return(0,e.h)(n.NImage,{src:o,width:typeof a=="number"?a:void 0,height:typeof l=="number"?l:void 0,objectFit:"cover",previewDisabled:!1,fallbackSrc:s,style:{width:typeof a=="string"?a:`${a}px`,height:typeof l=="string"?l:`${l}px`,borderRadius:typeof d=="string"?d:`${d}px`,cursor:"pointer"}})},Ne=(t,r,o)=>{if(!t)return"-";const a=String(t),l=o?.getFileName?o.getFileName(a,r):_a(a),d=()=>{const s=document.createElement("a");s.href=a,s.download=l,s.target="_blank",s.rel="noopener noreferrer",document.body.appendChild(s),s.click(),document.body.removeChild(s)};return(0,e.h)(n.NTooltip,{trigger:"hover"},{trigger:()=>(0,e.h)(n.NButton,{text:!0,type:"primary",onClick:d},{default:()=>(0,e.h)("span",{style:{maxWidth:"150px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",verticalAlign:"middle"}},l),icon:()=>(0,e.h)(n.NIcon,{size:14},()=>(0,e.h)(z.DownloadOutline))}),default:()=>l})},Se=(t,r)=>{if(!t)return"-";const o=String(t),a=z[o];return a?(0,e.h)(n.NIcon,{size:r?.size??20,color:r?.color},()=>(0,e.h)(a)):o},X=(t,r,o="label",a="value")=>{if(t==null)return"-";if(!r||r.length===0)return(0,e.h)(n.NTag,{size:"small"},()=>String(t));const l=r.find(d=>d[a]===t);if(l){const d=l,s=d[o];return(0,e.h)(n.NTag,{size:"small",...Object.keys(l).reduce((h,y)=>(y!==o&&y!==a&&(h[y]=d[y]),h),{})},()=>s)}return(0,e.h)(n.NTag,{size:"small"},()=>String(t))},Be=(t,r,o="label",a="value")=>t==null?"-":Array.isArray(t)?(0,e.h)(n.NSpace,{size:"small",wrap:!0},()=>t.map((l,d)=>{const s=X(l,r,o,a);return typeof s=="string"?(0,e.h)("span",{key:d},s):s})):X(t,r,o,a);const Te=(t,r,o)=>{switch(o.columnType||"text"){case"link":return xe(t,r,o.linkConfig);case"image":return ke(t,o.imageConfig);case"file":return Ne(t,r,o.fileConfig);case"tag":return Be(t,o.tagOptions,o.tagLabelField||"label",o.tagValueField||"value");case"icon":return Se(t,o.iconConfig);case"text":default:return we(t)}},Pe=t=>t.render?!1:!!(t.columnType&&t.columnType!=="text");function ba(){return{renderColumnContent:Te,shouldAutoRender:Pe,renderText:we,renderLink:xe,renderImage:ke,renderFile:Ne,renderTag:X,renderTags:Be,renderIcon:Se}}function De(t){const{columns:r,actionColumn:o,onView:a,onEdit:l,onDelete:d}=t,s=f=>"key"in f&&f.key?String(f.key):"type"in f?`__${f.type}__`:"",h=f=>{if("title"in f){if(typeof f.title=="string")return f.title;if(typeof f.title=="function")return"自定义列"}return s(f)},y=f=>"defaultVisible"in f?f.defaultVisible!==!1:!0,v=f=>"type"in f&&(f.type==="selection"||f.type==="expand")?!1:"configurable"in f?f.configurable!==!1:!0,_=()=>r.filter(f=>y(f)).map(f=>s(f)).filter(Boolean),w=(0,e.ref)(_()),x=(0,e.computed)(()=>r.filter(f=>s(f)&&v(f)).map(f=>({key:s(f),title:h(f),visible:w.value.includes(s(f)),configurable:v(f)}))),k=()=>{if(o?.show===!1)return null;const{renderActions:f}=Ce({...o,onView:a,onEdit:l,onDelete:d});return{key:"__actions__",title:o?.title||"操作",width:o?.width||180,minWidth:o?.minWidth,fixed:o?.fixed!==!1?o?.fixed||"right":void 0,render:(i,p)=>f(i,p)}},V=f=>{if("columnType"in f&&Pe(f)){const i=f,p=i.key;return{...f,render:C=>Te(p?C[p]:void 0,C,i)}}return f};return{mergedColumns:(0,e.computed)(()=>{const f=r.filter(p=>{const C=s(p);return"type"in p&&(p.type==="selection"||p.type==="expand")||!C?!0:w.value.includes(C)}).map(p=>V(p)),i=k();return i&&f.push(i),f}),configurableColumns:x,visibleColumnKeys:w,setVisibleColumnKeys:f=>{w.value=f},resetColumnSetting:()=>{w.value=_()},getVisibleColumnKeys:()=>[...w.value]}}var Ca={page:"page",pageSize:"pageSize",itemCount:"itemCount"},Y={pageSizes:[10,20,50,100],showSizePicker:!0,showQuickJumper:!0};function Ve(t){const{pagination:r,fieldNames:o,onUpdatePagination:a,onPageChange:l}=t,d=()=>({...Ca,...o}),s=x=>{if(!(r===!1||!r))return r[d()[x]]},h=(0,e.computed)(()=>r===!1||!r?!1:{page:s("page")??1,pageSize:s("pageSize")??10,itemCount:s("itemCount"),pageSizes:r.pageSizes??Y.pageSizes,showSizePicker:r.showSizePicker??Y.showSizePicker,showQuickJumper:r.showQuickJumper??Y.showQuickJumper,prefix:r.prefix,suffix:r.suffix}),y=x=>{if(r===!1||!r)return{};const k=d(),V={...r};return x.page!==void 0&&(V[k.page]=x.page),x.pageSize!==void 0&&(V[k.pageSize]=x.pageSize),V},v=x=>{const k=d();return{[k.page]:x[k.page],[k.pageSize]:x[k.pageSize],[k.itemCount]:x[k.itemCount]}};return{paginationConfig:h,handlePageChange:x=>{const k=y({page:x});a?.(k),l?.(v(k))},handlePageSizeChange:x=>{const k=y({page:1,pageSize:x});a?.(k),l?.(v(k))},getFieldNames:d}}var wa={key:0,class:"dydx-table__toolbar"},xa={class:"dydx-table__column-setting"},ka={class:"dydx-table__column-setting-header"},Na=(0,e.defineComponent)({inheritAttrs:!1,__name:"DydxNaiveTable",props:{loading:{type:Boolean,default:!1},checkedRowKeys:{},remote:{type:Boolean,default:!1},data:{},columns:{},rowKey:{},actionColumn:{},showAdd:{type:Boolean,default:!1},addButtonText:{default:"新增"},onAdd:{},leftButtons:{default:()=>[]},showRefresh:{type:Boolean,default:!1},onRefresh:{},showColumnSetting:{type:Boolean,default:!1},rightButtons:{default:()=>[]},pagination:{type:[Boolean,Object]},paginationFieldNames:{}},emits:["update:pagination","pageChange","update:checkedRowKeys","update:visibleColumns","view","edit","delete"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(null),h=(0,e.ref)(void 0),y=(0,e.computed)(()=>!d.maxHeight),v=m=>{const b=getComputedStyle(m);return m.clientHeight<=0?!1:!!(parseFloat(b.flexGrow)>0||b.height&&b.height!=="auto"&&b.height!=="0px"||b.maxHeight&&b.maxHeight!=="none"&&b.maxHeight!=="0px"||b.overflowY==="auto"||b.overflowY==="scroll")},_=m=>{let b=m.parentElement;for(;b&&b!==document.body;){if(v(b))return b;b=b.parentElement}return null},w=()=>{y.value&&(0,e.nextTick)(()=>{const m=s.value;if(!m)return;const b=_(m);if(!b){h.value=void 0;return}const S=b.getBoundingClientRect(),c=m.getBoundingClientRect(),T=m.querySelector(".dydx-table__toolbar"),Ie=T?T.offsetHeight+16:0,Re=c.top-S.top,ne=b.clientHeight-Re-Ie;ne>200?h.value=ne:h.value=void 0})},x=(0,e.computed)(()=>d.maxHeight?d.maxHeight:h.value);(0,e.onMounted)(()=>{w(),window.addEventListener("resize",w)}),(0,e.onUnmounted)(()=>{window.removeEventListener("resize",w)});const k=(0,e.ref)(null),{mergedColumns:V,configurableColumns:O,visibleColumnKeys:g,setVisibleColumnKeys:N,resetColumnSetting:P,getVisibleColumnKeys:f}=De({columns:a.columns,actionColumn:a.actionColumn,onView:m=>l("view",m),onEdit:m=>l("edit",m),onDelete:m=>l("delete",m)}),{paginationConfig:i,handlePageChange:p,handlePageSizeChange:C}=Ve({get pagination(){return a.pagination},get fieldNames(){return a.paginationFieldNames},onUpdatePagination:m=>l("update:pagination",m),onPageChange:m=>l("pageChange",m)});(0,e.watch)(g,m=>{l("update:visibleColumns",m)});const F=(0,e.computed)(()=>a.showAdd||a.leftButtons?.length||a.showRefresh||a.showColumnSetting||a.rightButtons?.length),$=(0,e.computed)(()=>typeof a.rowKey=="function"?a.rowKey:m=>m[a.rowKey]),D=m=>{l("update:checkedRowKeys",m,a.data.filter(b=>m.includes($.value(b))))},L=()=>{a.onAdd?.()},u=()=>{a.onRefresh?.()};return r({getTableInstance:()=>k.value,clearChecked:()=>{l("update:checkedRowKeys",[],[])},refresh:()=>{u()},getVisibleColumnKeys:f,setVisibleColumnKeys:N,resetColumnSetting:P,scrollTo:m=>{k.value?.scrollTo(m)}}),(m,b)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",{ref_key:"containerRef",ref:s,class:"dydx-table"},[F.value?((0,e.openBlock)(),(0,e.createElementBlock)("div",wa,[(0,e.createVNode)((0,e.unref)(n.NSpace),{class:"dydx-table__toolbar-left",size:12},{default:(0,e.withCtx)(()=>[t.showAdd?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:"primary",onClick:L},{icon:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"add-icon",{},()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.AddOutline))]),_:1})],!0)]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.addButtonText),1)]),_:3})):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.leftButtons,S=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:S.key},[S.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:S.type,disabled:S.disabled,onClick:S.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(S.label),1)]),_:2},[S.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(S.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),(0,e.renderSlot)(m.$slots,"toolbar-left",{},void 0,!0)]),_:3}),(0,e.createVNode)((0,e.unref)(n.NSpace),{class:"dydx-table__toolbar-right",size:8},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"toolbar-right",{},void 0,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.rightButtons,S=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:S.key},[S.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:S.type,disabled:S.disabled,onClick:S.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(S.label),1)]),_:2},[S.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(S.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),t.showRefresh?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NTooltip),{key:0,trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NButton),{circle:"",class:"dydx-table__icon-btn",onClick:u},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.RefreshOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[b[1]||(b[1]=(0,e.createTextVNode)(" 刷新 ",-1))]),_:1})):(0,e.createCommentVNode)("",!0),t.showColumnSetting?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NPopover),{key:1,trigger:"click",placement:"bottom-end"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NTooltip),{trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NButton),{circle:"",class:"dydx-table__icon-btn"},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.SettingsOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[b[2]||(b[2]=(0,e.createTextVNode)(" 列设置 ",-1))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",xa,[(0,e.createElementVNode)("div",ka,[b[4]||(b[4]=(0,e.createElementVNode)("span",null,"列设置",-1)),(0,e.createVNode)((0,e.unref)(n.NButton),{text:"",size:"small",type:"primary",onClick:(0,e.unref)(P)},{default:(0,e.withCtx)(()=>[...b[3]||(b[3]=[(0,e.createTextVNode)(" 重置 ",-1)])]),_:1},8,["onClick"])]),(0,e.createVNode)((0,e.unref)(n.NCheckboxGroup),{value:(0,e.unref)(g),"onUpdate:value":b[0]||(b[0]=S=>(0,e.isRef)(g)?g.value=S:null)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{vertical:"",size:8},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(O),S=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckbox),{key:S.key,value:S.key,label:S.title},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])]),_:1})):(0,e.createCommentVNode)("",!0)]),_:3})])):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NDataTable),(0,e.mergeProps)({ref_key:"dataTableRef",ref:k,data:t.data,columns:(0,e.unref)(V),"row-key":$.value,loading:t.loading,pagination:(0,e.unref)(i),remote:t.remote,"checked-row-keys":t.checkedRowKeys,"max-height":x.value},(0,e.unref)(d),{"onUpdate:page":(0,e.unref)(p),"onUpdate:pageSize":(0,e.unref)(C),"onUpdate:checkedRowKeys":D}),null,16,["data","columns","row-key","loading","pagination","remote","checked-row-keys","max-height","onUpdate:page","onUpdate:pageSize"])],512))}}),Sa=(t,r)=>{const o=t.__vccOpts||t;for(const[a,l]of r)o[a]=l;return o},Ba=Sa(Na,[["__scopeId","data-v-af2504e6"]]);const Fe=Ba;var Ta=(0,e.defineComponent)({name:"DydxFormModal",inheritAttrs:!1,__name:"DydxFormModal",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:600},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"left"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=(0,e.computed)(()=>({width:typeof a.width=="number"?`${a.width}px`:a.width})),v=()=>{l("update:show",!1),l("cancel")},_=async()=>{try{await s.value?.validate(),l("confirm",a.model)}catch{}};return r({getFormRef:()=>s.value,validate:()=>s.value?.validate(),resetFields:()=>s.value?.resetFields()}),(w,x)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NModal),(0,e.mergeProps)({show:t.show,preset:"card",title:h.value,style:y.value,"mask-closable":!1},(0,e.unref)(d),{"onUpdate:show":x[0]||(x[0]=k=>l("update:show",k))}),(0,e.createSlots)({_:2},[w.$slots.header?{name:"header",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"header")]),key:"0"}:void 0,w.$slots["header-extra"]?{name:"header-extra",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"header-extra")]),key:"1"}:void 0,w.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"default")]),key:"2"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(J),{ref_key:"formRef",ref:s,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"3"},w.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"footer")]),key:"4"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,onClick:v},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NButton),{type:"primary",loading:t.loading,onClick:_},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"5"},w.$slots.action?{name:"action",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"action")]),key:"6"}:void 0]),1040,["show","title","style"]))}}),Oe=Ta,Pa=(0,e.defineComponent)({name:"DydxFormDrawer",inheritAttrs:!1,__name:"DydxFormDrawer",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:500},placement:{default:"right"},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"top"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=()=>{l("update:show",!1),l("cancel")},v=async()=>{try{await s.value?.validate(),l("confirm",a.model)}catch{}};return r({getFormRef:()=>s.value,validate:()=>s.value?.validate(),resetFields:()=>s.value?.resetFields()}),(_,w)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NDrawer),(0,e.mergeProps)({show:t.show,width:t.width,placement:t.placement,"mask-closable":!1},(0,e.unref)(d),{"onUpdate:show":w[0]||(w[0]=x=>l("update:show",x))}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NDrawerContent),{title:h.value,closable:"",onClose:y},(0,e.createSlots)({_:2},[_.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(_.$slots,"default")]),key:"0"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(J),{ref_key:"formRef",ref:s,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"1"},_.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(_.$slots,"footer")]),key:"2"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,onClick:y},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NButton),{type:"primary",loading:t.loading,onClick:v},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"3"}]),1032,["title"])]),_:3},16,["show","width","placement"]))}}),ze=Pa,Da=[J,Fe,Oe,ze,K,Z],Va=t=>{Da.forEach(r=>{r.name&&t.component(r.name,r)})},Fa={install:Va};exports.DydxFormDrawer=ze;exports.DydxFormModal=Oe;exports.DydxIconSelect=Z;exports.DydxNaiveForm=J;exports.DydxNaiveTable=Fe;exports.DydxNaiveUIResolver=Le.DydxNaiveUIResolver;exports.DydxUpload=K;exports.default=Fa;exports.useColumnRender=ba;exports.useColumns=De;exports.usePagination=Ve;exports.useTableActions=Ce;
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var $e=Object.create,pe=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Ae=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty,je=(t,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(var l=Ae(r),d=0,s=l.length,h;d<s;d++)h=l[d],!Me.call(t,h)&&h!==o&&pe(t,h,{get:(y=>r[y]).bind(null,h),enumerable:!(a=Ue(r,h))||a.enumerable});return t},Ge=(t,r,o)=>(o=t!=null?$e(Ee(t)):{},je(r||!t||!t.__esModule?pe(o,"default",{value:t,enumerable:!0}):o,t));const Le=require("./resolver-GTYJgpLb.cjs");let n=require("naive-ui"),e=require("vue"),z=require("@vicons/ionicons5");z=Ge(z);var Ke={style:{"margin-bottom":"12px"}},He=(0,e.defineComponent)({name:"DydxUpload",__name:"DydxUpload",props:{uploadType:{default:"file"},fileList:{default:()=>[]},customUpload:{},acceptTypes:{},maxSize:{default:10},maxCount:{default:void 0},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},urlPrefix:{default:""},showTip:{type:Boolean,default:!0},showDragger:{type:Boolean,default:!0}},emits:["update:fileList","success","error","exceed","beforeUpload"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,n.useMessage)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.listType?a.listType:a.uploadType==="image"?"image-card":"text"),y=(0,e.computed)(()=>a.urlPrefix?a.fileList.map(g=>({...g,url:g.url&&!g.url.startsWith("http")?a.urlPrefix+g.url:g.url})):a.fileList),v=(0,e.computed)(()=>{const g=[];return a.acceptTypes?.length&&g.push(`支持格式:${a.acceptTypes.join(", ")}`),a.maxSize&&g.push(`单个文件不超过 ${a.maxSize}MB`),a.maxCount&&g.push(`最多 ${a.maxCount} 个文件`),g.join(";")}),_=(0,e.computed)(()=>{if(a.accept)return a.accept;if(a.acceptTypes?.length)return a.acceptTypes.join(",");if(a.uploadType==="image")return"image/*"}),w=(0,e.computed)(()=>{const{uploadType:g,fileList:N,customUpload:P,acceptTypes:f,maxSize:i,maxCount:p,multiple:C,autoUpload:F,disabled:$,urlPrefix:D,showTip:L,showDragger:u,...B}=a;return B}),x=g=>{l("update:fileList",a.urlPrefix?g.map(N=>({...N,url:N.url?.startsWith(a.urlPrefix)?N.url.slice(a.urlPrefix.length):N.url})):g)},k=async({file:g})=>{l("beforeUpload",g);const N=g.file;return N?a.maxSize&&N.size>a.maxSize*1024*1024?(d.error(`文件大小不能超过 ${a.maxSize}MB`),!1):a.acceptTypes?.length&&!a.acceptTypes.some(P=>{if(P.startsWith("."))return N.name.toLowerCase().endsWith(P.toLowerCase());if(P.includes("*")){const[f]=P.split("/");return N.type.startsWith(f)}return N.type===P})?(d.error(`只支持 ${a.acceptTypes.join(", ")} 格式`),!1):a.maxCount&&a.fileList.length>=a.maxCount?(l("exceed",[N]),d.error(`最多上传 ${a.maxCount} 个文件`),!1):!0:!0},V=async g=>{const{file:N,onProgress:P,onFinish:f,onError:i}=g;if(!a.customUpload){console.warn("DydxUpload: customUpload 方法未提供"),i();return}try{N.url=await a.customUpload(N.file,p=>{P({percent:p})}),N.status="finished",f(),l("success",N)}catch(p){i(),l("error",N,p)}},O=()=>{s.value?.submit()};return r({submit:()=>s.value?.submit(),openDialog:()=>s.value?.openOpenFileDialog(),clear:()=>s.value?.clear()}),(g,N)=>{const P=n.NIcon,f=n.NText,i=n.NUploadDragger,p=n.NButton,C=n.NUpload;return(0,e.openBlock)(),(0,e.createElementBlock)("div",null,[(0,e.createVNode)(C,(0,e.mergeProps)({ref_key:"uploadRef",ref:s},w.value,{"file-list":y.value,"custom-request":V,accept:_.value,max:t.maxCount,multiple:t.multiple,disabled:t.disabled,"default-upload":t.autoUpload,"list-type":h.value,"onUpdate:fileList":x,onBeforeUpload:k}),{default:(0,e.withCtx)(()=>[t.showDragger&&t.uploadType!=="image"?((0,e.openBlock)(),(0,e.createBlock)(i,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",Ke,[(0,e.createVNode)(P,{size:"48",depth:3},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.CloudUploadOutline))]),_:1})]),(0,e.createVNode)(f,{style:{"font-size":"16px"}},{default:(0,e.withCtx)(()=>[...N[0]||(N[0]=[(0,e.createTextVNode)(" 点击或拖拽文件到此区域上传 ",-1)])]),_:1}),t.showTip?((0,e.openBlock)(),(0,e.createBlock)(f,{key:0,depth:"3",style:{"font-size":"14px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(v.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)]),_:1})):(0,e.renderSlot)(g.$slots,"default",{key:1},()=>[t.uploadType==="image"&&h.value==="image-card"?((0,e.openBlock)(),(0,e.createBlock)(P,{key:0,size:28},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.AddOutline))]),_:1})):((0,e.openBlock)(),(0,e.createBlock)(p,{key:1},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)(P,null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.CloudUploadOutline))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.uploadType==="image"?"上传图片":"上传文件"),1)]),_:1}))])]),_:3},16,["file-list","accept","max","multiple","disabled","default-upload","list-type"]),!t.autoUpload&&y.value.length>0?((0,e.openBlock)(),(0,e.createBlock)(p,{key:0,type:"primary",onClick:O,style:{"margin-top":"8px"}},{default:(0,e.withCtx)(()=>[...N[1]||(N[1]=[(0,e.createTextVNode)(" 开始上传 ",-1)])]),_:1})):(0,e.createCommentVNode)("",!0),t.showTip&&!(t.showDragger&&t.uploadType!=="image")?((0,e.openBlock)(),(0,e.createBlock)(f,{key:1,depth:"3",style:{"font-size":"12px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(v.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)])}}}),K=He,qe=(0,e.defineComponent)({name:"DydxIconSelect",__name:"DydxIconSelect",props:{value:{},placeholder:{default:"请选择图标"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},iconStyle:{default:"outline"}},emits:["update:value"],setup(t,{emit:r}){const o=t,a=r,l=Object.keys(z),d=(0,e.computed)(()=>{let v=l;return o.iconStyle==="outline"?v=l.filter(_=>_.endsWith("Outline")):o.iconStyle==="sharp"?v=l.filter(_=>_.endsWith("Sharp")):o.iconStyle==="filled"&&(v=l.filter(_=>!_.endsWith("Outline")&&!_.endsWith("Sharp"))),v.map(_=>({label:_,value:_}))}),s=v=>{const _=z[v.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 8px;"},[(0,e.h)(n.NIcon,{size:18},()=>(0,e.h)(_)),(0,e.h)("span",{style:"flex: 1; overflow: hidden; text-overflow: ellipsis;"},v.label)])},h=({option:v})=>{const _=z[v.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 4px;"},[(0,e.h)(n.NIcon,{size:16},()=>(0,e.h)(_)),v.label])},y=v=>{a("update:value",v)};return(v,_)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NSelect),{value:t.value,options:d.value,placeholder:t.placeholder,disabled:t.disabled,clearable:t.clearable,filterable:t.filterable,"render-label":s,"render-tag":h,"virtual-scroll":"","onUpdate:value":y},null,8,["value","options","placeholder","disabled","clearable","filterable"]))}}),Z=qe;const We={input:n.NInput,"input-number":n.NInputNumber,select:n.NSelect,"date-picker":n.NDatePicker,"time-picker":n.NTimePicker,switch:n.NSwitch,slider:n.NSlider,"radio-group":n.NRadioGroup,"checkbox-group":n.NCheckboxGroup,cascader:n.NCascader,"tree-select":n.NTreeSelect,upload:n.NUpload,rate:n.NRate,"color-picker":n.NColorPicker,"auto-complete":n.NAutoComplete,"dynamic-input":n.NDynamicInput,"dynamic-tags":n.NDynamicTags,mention:n.NMention,"image-upload":K,"file-upload":K,"icon-select":Z};var Je=typeof global=="object"&&global&&global.Object===Object&&global,Qe=Je,Ye=typeof self=="object"&&self&&self.Object===Object&&self,Xe=Qe||Ye||Function("return this")(),ee=Xe,Ze=ee.Symbol,U=Ze,me=Object.prototype,et=me.hasOwnProperty,tt=me.toString,j=U?U.toStringTag:void 0;function rt(t){var r=et.call(t,j),o=t[j];try{t[j]=void 0;var a=!0}catch{}var l=tt.call(t);return a&&(r?t[j]=o:delete t[j]),l}var at=rt,ot=Object.prototype.toString;function nt(t){return ot.call(t)}var lt=nt,it="[object Null]",ut="[object Undefined]",le=U?U.toStringTag:void 0;function st(t){return t==null?t===void 0?ut:it:le&&le in Object(t)?at(t):lt(t)}var he=st;function dt(t){return t!=null&&typeof t=="object"}var ct=dt,ft="[object Symbol]";function pt(t){return typeof t=="symbol"||ct(t)&&he(t)==ft}var te=pt;function mt(t,r){for(var o=-1,a=t==null?0:t.length,l=Array(a);++o<a;)l[o]=r(t[o],o,t);return l}var ht=mt,yt=Array.isArray,re=yt,gt=1/0,ie=U?U.prototype:void 0,ue=ie?ie.toString:void 0;function ye(t){if(typeof t=="string")return t;if(re(t))return ht(t,ye)+"";if(te(t))return ue?ue.call(t):"";var r=t+"";return r=="0"&&1/t==-gt?"-0":r}var vt=ye;function _t(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}var H=_t,bt="[object AsyncFunction]",Ct="[object Function]",wt="[object GeneratorFunction]",xt="[object Proxy]";function kt(t){if(!H(t))return!1;var r=he(t);return r==Ct||r==wt||r==bt||r==xt}var Nt=kt,St=ee["__core-js_shared__"],Q=St,se=(function(){var t=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Bt(t){return!!se&&se in t}var Tt=Bt,Pt=Function.prototype.toString;function Dt(t){if(t!=null){try{return Pt.call(t)}catch{}try{return t+""}catch{}}return""}var Vt=Dt,Ft=/[\\^$.*+?()[\]{}|]/g,Ot=/^\[object .+?Constructor\]$/,zt=Function.prototype,It=Object.prototype,Rt=zt.toString,$t=It.hasOwnProperty,Ut=RegExp("^"+Rt.call($t).replace(Ft,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function At(t){return!H(t)||Tt(t)?!1:(Nt(t)?Ut:Ot).test(Vt(t))}var Et=At;function Mt(t,r){return t?.[r]}var jt=Mt;function Gt(t,r){var o=jt(t,r);return Et(o)?o:void 0}var ae=Gt,Lt=(function(){try{var t=ae(Object,"defineProperty");return t({},"",{}),t}catch{}})(),de=Lt,Kt=9007199254740991,Ht=/^(?:0|[1-9]\d*)$/;function qt(t,r){var o=typeof t;return r=r??Kt,!!r&&(o=="number"||o!="symbol"&&Ht.test(t))&&t>-1&&t%1==0&&t<r}var Wt=qt;function Jt(t,r,o){r=="__proto__"&&de?de(t,r,{configurable:!0,enumerable:!0,value:o,writable:!0}):t[r]=o}var Qt=Jt;function Yt(t,r){return t===r||t!==t&&r!==r}var ge=Yt,Xt=Object.prototype.hasOwnProperty;function Zt(t,r,o){var a=t[r];(!(Xt.call(t,r)&&ge(a,o))||o===void 0&&!(r in t))&&Qt(t,r,o)}var er=Zt,tr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rr=/^\w*$/;function ar(t,r){if(re(t))return!1;var o=typeof t;return o=="number"||o=="symbol"||o=="boolean"||t==null||te(t)?!0:rr.test(t)||!tr.test(t)||r!=null&&t in Object(r)}var or=ar,nr=ae(Object,"create"),G=nr;function lr(){this.__data__=G?G(null):{},this.size=0}var ir=lr;function ur(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}var sr=ur,dr="__lodash_hash_undefined__",cr=Object.prototype.hasOwnProperty;function fr(t){var r=this.__data__;if(G){var o=r[t];return o===dr?void 0:o}return cr.call(r,t)?r[t]:void 0}var pr=fr,mr=Object.prototype.hasOwnProperty;function hr(t){var r=this.__data__;return G?r[t]!==void 0:mr.call(r,t)}var yr=hr,gr="__lodash_hash_undefined__";function vr(t,r){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=G&&r===void 0?gr:r,this}var _r=vr;function A(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}A.prototype.clear=ir;A.prototype.delete=sr;A.prototype.get=pr;A.prototype.has=yr;A.prototype.set=_r;var ce=A;function br(){this.__data__=[],this.size=0}var Cr=br;function wr(t,r){for(var o=t.length;o--;)if(ge(t[o][0],r))return o;return-1}var q=wr,xr=Array.prototype.splice;function kr(t){var r=this.__data__,o=q(r,t);return o<0?!1:(o==r.length-1?r.pop():xr.call(r,o,1),--this.size,!0)}var Nr=kr;function Sr(t){var r=this.__data__,o=q(r,t);return o<0?void 0:r[o][1]}var Br=Sr;function Tr(t){return q(this.__data__,t)>-1}var Pr=Tr;function Dr(t,r){var o=this.__data__,a=q(o,t);return a<0?(++this.size,o.push([t,r])):o[a][1]=r,this}var Vr=Dr;function E(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}E.prototype.clear=Cr;E.prototype.delete=Nr;E.prototype.get=Br;E.prototype.has=Pr;E.prototype.set=Vr;var Fr=E,Or=ae(ee,"Map"),zr=Or;function Ir(){this.size=0,this.__data__={hash:new ce,map:new(zr||Fr),string:new ce}}var Rr=Ir;function $r(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}var Ur=$r;function Ar(t,r){var o=t.__data__;return Ur(r)?o[typeof r=="string"?"string":"hash"]:o.map}var W=Ar;function Er(t){var r=W(this,t).delete(t);return this.size-=r?1:0,r}var Mr=Er;function jr(t){return W(this,t).get(t)}var Gr=jr;function Lr(t){return W(this,t).has(t)}var Kr=Lr;function Hr(t,r){var o=W(this,t),a=o.size;return o.set(t,r),this.size+=o.size==a?0:1,this}var qr=Hr;function M(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}M.prototype.clear=Rr;M.prototype.delete=Mr;M.prototype.get=Gr;M.prototype.has=Kr;M.prototype.set=qr;var ve=M,Wr="Expected a function";function oe(t,r){if(typeof t!="function"||r!=null&&typeof r!="function")throw new TypeError(Wr);var o=function(){var a=arguments,l=r?r.apply(this,a):a[0],d=o.cache;if(d.has(l))return d.get(l);var s=t.apply(this,a);return o.cache=d.set(l,s)||d,s};return o.cache=new(oe.Cache||ve),o}oe.Cache=ve;var Jr=oe,Qr=500;function Yr(t){var r=Jr(t,function(a){return o.size===Qr&&o.clear(),a}),o=r.cache;return r}var Xr=Yr,Zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ea=/\\(\\)?/g,ta=Xr(function(t){var r=[];return t.charCodeAt(0)===46&&r.push(""),t.replace(Zr,function(o,a,l,d){r.push(l?d.replace(ea,"$1"):a||o)}),r}),ra=ta;function aa(t){return t==null?"":vt(t)}var oa=aa;function na(t,r){return re(t)?t:or(t,r)?[t]:ra(oa(t))}var _e=na,la=1/0;function ia(t){if(typeof t=="string"||te(t))return t;var r=t+"";return r=="0"&&1/t==-la?"-0":r}var be=ia;function ua(t,r){r=_e(r,t);for(var o=0,a=r.length;t!=null&&o<a;)t=t[be(r[o++])];return o&&o==a?t:void 0}var sa=ua;function da(t,r,o){var a=t==null?void 0:sa(t,r);return a===void 0?o:a}var ca=da;function fa(t,r,o,a){if(!H(t))return t;r=_e(r,t);for(var l=-1,d=r.length,s=d-1,h=t;h!=null&&++l<d;){var y=be(r[l]),v=o;if(y==="__proto__"||y==="constructor"||y==="prototype")return t;if(l!=s){var _=h[y];v=a?a(_,y,h):void 0,v===void 0&&(v=H(_)?_:Wt(r[l+1])?[]:{})}er(h,y,v),h=h[y]}return t}var pa=fa;function ma(t,r,o){return t==null?t:pa(t,r,o)}var ha=ma;const fe=(t,r)=>ca(t,r),ya=(t,r,o)=>{ha(t,r,o)};var ga=(0,e.defineComponent)({name:"DydxNaiveForm",__name:"DydxNaiveForm",props:{schemas:{default:()=>[]},model:{},formProps:{},labelWidth:{},labelAlign:{},labelPlacement:{default:"top"},showFeedback:{type:Boolean,default:!0},showLabel:{type:Boolean,default:!0},showRequireMark:{type:Boolean,default:!0},requireMarkPlacement:{default:"right"},gridProps:{},cols:{default:()=>({xs:24,s:12,m:8,l:6})},xGap:{default:20},yGap:{default:20},responsive:{},showFooter:{type:Boolean,default:!0},footerAlign:{default:"right"},footerSpan:{default:24},submitButton:{default:()=>({})},resetButton:{default:()=>({})},extraButtons:{default:()=>[]},loading:{type:Boolean,default:!1}},emits:["update:model","submit","reset","validate"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.ref)(),s=(0,e.computed)(()=>({type:"primary",text:"提交",loading:a.loading,...a.submitButton})),h=(0,e.computed)(()=>({type:"default",text:"重置",...a.resetButton})),y=(0,e.computed)(()=>a.schemas.filter(u=>!(typeof u.hidden=="function"?u.hidden(a.model):u.hidden))),v=(0,e.computed)(()=>({labelWidth:a.labelWidth,labelAlign:a.labelAlign,labelPlacement:a.labelPlacement,showFeedback:a.showFeedback,showLabel:a.showLabel,showRequireMark:a.showRequireMark,requireMarkPlacement:a.requireMarkPlacement,...a.formProps})),_=(0,e.computed)(()=>({cols:24,xGap:a.xGap,yGap:a.yGap,itemResponsive:!0,...a.gridProps,responsive:"self"})),w=u=>{const B=u.type||"input";return B==="custom"?u.component:We[B]},x=u=>typeof u.disabled=="function"?u.disabled(a.model):u.disabled,k=u=>{if(!u)return{};const{options:B,labelField:I,valueField:R,...m}=u;return m},V=u=>{if(!u)return{};const{text:B,...I}=u;return I},O=u=>fe(a.model,u),g=(u,B)=>{ya(a.model,u,B),l("update:model",a.model)},N=u=>{let B=typeof u.rule=="function"?u.rule(a.model):u.rule;const I=!u.noRequired;if(I){const R={required:!0,message:`${typeof u.label=="string"?u.label:"此项"}不能为空`,trigger:"blur"};B?B=Array.isArray(B)?[R,...B]:[R,B]:B=R}return{label:typeof u.label=="string"?u.label:void 0,rule:B,showRequireMark:I?void 0:!1,...u.formItemProps}},P={xs:0,s:640,m:1024,l:1280,xl:1536,xxl:1920},f=u=>{if(typeof u=="number"||typeof u=="string")return u;if(typeof u=="object"){const B=[];return Object.entries(P).forEach(([I,R])=>{const m=u[I];m!==void 0&&B.push(`${R}:${m}`)}),B.length===0?24:B.join(" ")}return 24},i=u=>({span:f(u.span??a.cols),offset:u.offset}),p=async(...u)=>{await d.value.validate(...u)},C=async(u,B)=>{const I=Array.isArray(u)?u:[u];await d.value.validate(B,R=>I.some(m=>R.key===m))},F=()=>d.value?.restoreValidation(),$=()=>{F(),l("reset")},D=async()=>{try{await p(),l("submit",a.model)}catch(u){l("validate",u)}},L=()=>{$()};return r({formRef:d.value,validate:p,validateField:C,restoreValidation:F,getFormData:()=>a.model,setFormData:u=>Object.assign(a.model,u),getFieldValue:u=>fe(a.model,u),setFieldValue:(u,B)=>g(u,B),resetFields:$,getFormItemInst:u=>d.value?.getFormItemInst?.(u)}),(u,B)=>{const I=n.NFormItem,R=n.NGridItem,m=n.NButton,b=n.NGrid,S=n.NForm;return(0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.renderSlot)(u.$slots,"header",{model:a.model}),(0,e.createVNode)((0,e.unref)(n.NSpin),{show:a.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(S,(0,e.mergeProps)({ref_key:"formRef",ref:d,model:a.model},v.value),{default:(0,e.withCtx)(()=>[(0,e.createVNode)(b,(0,e.normalizeProps)((0,e.guardReactiveProps)(_.value)),{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(y.value,c=>((0,e.openBlock)(),(0,e.createBlock)(R,(0,e.mergeProps)({key:c.name},{ref_for:!0},i(c)),{default:(0,e.withCtx)(()=>[c.type==="slot"?(0,e.renderSlot)(u.$slots,c.slot||c.name,{key:0,model:a.model,schema:c}):((0,e.openBlock)(),(0,e.createBlock)(I,(0,e.mergeProps)({key:1,path:c.name},{ref_for:!0},N(c)),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(u.$slots,`field-${c.name}`,{model:a.model,schema:c,value:O(c.name),setValue:T=>g(c.name,T)},()=>[c.type==="radio-group"&&c.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NRadioGroup),(0,e.mergeProps)({key:0,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},k(c.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(c.props.options,T=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NRadio),{key:T[c.props.valueField||"value"],value:T[c.props.valueField||"value"],disabled:T.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(T[c.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):c.type==="checkbox-group"&&c.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckboxGroup),(0,e.mergeProps)({key:1,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},k(c.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(c.props.options,T=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckbox),{key:T[c.props.valueField||"value"],value:T[c.props.valueField||"value"],disabled:T.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(T[c.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):c.type==="switch"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:2,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["value","onUpdate:value","disabled"])):c.type==="image-upload"||c.type==="file-upload"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:3,"file-list":O(c.name)||[],"onUpdate:fileList":T=>g(c.name,T),"upload-type":c.type==="image-upload"?"image":"file"},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["file-list","onUpdate:fileList","upload-type","disabled"])):((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(w(c)),(0,e.mergeProps)({key:4,value:O(c.name),"onUpdate:value":T=>g(c.name,T)},{ref_for:!0},c.props,{disabled:x(c)}),null,16,["value","onUpdate:value","disabled"]))])]),_:2},[typeof c.label=="function"?{name:"label",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(c.label)))]),key:"0"}:void 0]),1040,["path"]))]),_:2},1040))),128)),a.showFooter?((0,e.openBlock)(),(0,e.createBlock)(R,{key:0,span:a.footerSpan},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(u.$slots,"footer",{model:a.model,validate:p,reset:$},()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:a.footerAlign},{default:(0,e.withCtx)(()=>[h.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:0},V(h.value),{onClick:L}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(h.value.text),1)]),_:1},16)),s.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:1},V(s.value),{onClick:D}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(s.value.text),1)]),_:1},16)),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.extraButtons,c=>((0,e.openBlock)(),(0,e.createBlock)(m,{key:c.text,type:c.type,size:c.size,disabled:c.disabled,onClick:c.onClick},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(c.text),1)]),_:2},1032,["type","size","disabled","onClick"]))),128))]),_:1},8,["justify"])])]),_:3},8,["span"])):(0,e.createCommentVNode)("",!0)]),_:3},16)]),_:3},16,["model"])]),_:3},8,["show"]),(0,e.renderSlot)(u.$slots,"append",{model:a.model})],64)}}}),J=ga;function Ce(t){const{maxVisible:r=-1,buttons:o=[],showView:a=!0,showEdit:l=!0,showDelete:d=!0,viewConfig:s,editConfig:h,deleteConfig:y,onView:v,onEdit:_,onDelete:w}=t,x=(i,p,C,F)=>p?i?typeof i.show=="function"?i.show(C,F):i.show!==!1:!0:!1,k=(i,p,C)=>i?typeof i.disabled=="function"?i.disabled(p,C):i.disabled===!0:!1,V=(i,p,C)=>typeof i.show=="function"?i.show(p,C):i.show!==!1,O=(i,p,C)=>typeof i.disabled=="function"?i.disabled(p,C):i.disabled===!0,g=(i,p,C)=>typeof i=="function"?i(p):i||C,N=i=>{const p=(0,e.h)(n.NButton,{type:i.type,size:"small",disabled:i.disabled,onClick:i.confirm?void 0:i.onClick},{default:()=>i.label});return i.confirm?(0,e.h)(n.NPopconfirm,{onPositiveClick:i.onClick},{trigger:()=>p,default:()=>i.confirm}):p},P=i=>{const p=i.map(F=>({label:F.label,key:F.key,disabled:F.disabled})),C=F=>{i.find($=>$.key===F)?.onClick()};return(0,e.h)(n.NDropdown,{options:p,trigger:"click",onSelect:C},{default:()=>(0,e.h)(n.NButton,{size:"small"},{default:()=>"更多"})})};return{renderActions:(i,p)=>{const C=[];if(x(s,a,i,p)&&C.push({key:"__view__",label:s?.label||"查看",type:"info",disabled:k(s,i,p),onClick:()=>v?.({row:i,index:p})}),x(h,l,i,p)&&C.push({key:"__edit__",label:h?.label||"编辑",type:"primary",disabled:k(h,i,p),onClick:()=>_?.({row:i,index:p})}),x(y,d,i,p)&&C.push({key:"__delete__",label:y?.label||"删除",type:"error",disabled:k(y,i,p),confirm:g(y?.confirm,i,"确定删除此记录吗?"),onClick:()=>w?.({row:i,index:p})}),o.forEach(D=>{V(D,i,p)&&C.push({key:D.key,label:D.label,type:D.type||"default",disabled:O(D,i,p),confirm:D.confirm?g(D.confirm,i,"确定执行此操作吗?"):void 0,onClick:()=>D.onClick?.(i,p)})}),r===-1||C.length<=r)return(0,e.h)(n.NSpace,{size:"small",wrap:!1},()=>C.map(D=>N(D)));if(r===0)return P(C);const F=C.slice(0,r),$=C.slice(r);return(0,e.h)(n.NSpace,{size:"small",wrap:!1},()=>[...F.map(D=>N(D)),P($)])},isButtonVisible:V,isButtonDisabled:O}}var va=t=>{if(!t)return"";try{const r=new URL(t).pathname.split("/").pop()||"";return decodeURIComponent(r)}catch{const r=t.split("/");return r[r.length-1]||t}},we=t=>t==null?"-":String(t),xe=(t,r,o)=>{if(!t)return"-";const a=String(t),l=o?.newWindow!==!1;let d;return o?.text?d=typeof o.text=="function"?o.text(r):o.text:d=a,(0,e.h)(n.NButton,{text:!0,type:"primary",onClick:()=>{l?window.open(a,"_blank","noopener,noreferrer"):window.location.href=a}},{default:()=>d,icon:()=>(0,e.h)(n.NIcon,{size:14},()=>(0,e.h)(z.OpenOutline))})},ke=(t,r)=>{if(!t)return"-";const o=String(t),a=r?.width??60,l=r?.height??60,d=r?.radius??4,s=r?.fallback;return(0,e.h)(n.NImage,{src:o,width:typeof a=="number"?a:void 0,height:typeof l=="number"?l:void 0,objectFit:"cover",previewDisabled:!1,fallbackSrc:s,style:{width:typeof a=="string"?a:`${a}px`,height:typeof l=="string"?l:`${l}px`,borderRadius:typeof d=="string"?d:`${d}px`,cursor:"pointer"}})},Ne=(t,r,o)=>{if(!t)return"-";const a=String(t),l=o?.getFileName?o.getFileName(a,r):va(a),d=()=>{const s=document.createElement("a");s.href=a,s.download=l,s.target="_blank",s.rel="noopener noreferrer",document.body.appendChild(s),s.click(),document.body.removeChild(s)};return(0,e.h)(n.NTooltip,{trigger:"hover"},{trigger:()=>(0,e.h)(n.NButton,{text:!0,type:"primary",onClick:d},{default:()=>(0,e.h)("span",{style:{maxWidth:"150px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",verticalAlign:"middle"}},l),icon:()=>(0,e.h)(n.NIcon,{size:14},()=>(0,e.h)(z.DownloadOutline))}),default:()=>l})},Se=(t,r)=>{if(!t)return"-";const o=String(t),a=z[o];return a?(0,e.h)(n.NIcon,{size:r?.size??20,color:r?.color},()=>(0,e.h)(a)):o},X=(t,r,o="label",a="value")=>{if(t==null)return"-";if(!r||r.length===0)return(0,e.h)(n.NTag,{size:"small"},()=>String(t));const l=r.find(d=>d[a]===t);if(l){const d=l,s=d[o];return(0,e.h)(n.NTag,{size:"small",...Object.keys(l).reduce((h,y)=>(y!==o&&y!==a&&(h[y]=d[y]),h),{})},()=>s)}return(0,e.h)(n.NTag,{size:"small"},()=>String(t))},Be=(t,r,o="label",a="value")=>t==null?"-":Array.isArray(t)?(0,e.h)(n.NSpace,{size:"small",wrap:!0},()=>t.map((l,d)=>{const s=X(l,r,o,a);return typeof s=="string"?(0,e.h)("span",{key:d},s):s})):X(t,r,o,a);const Te=(t,r,o)=>{switch(o.columnType||"text"){case"link":return xe(t,r,o.linkConfig);case"image":return ke(t,o.imageConfig);case"file":return Ne(t,r,o.fileConfig);case"tag":return Be(t,o.tagOptions,o.tagLabelField||"label",o.tagValueField||"value");case"icon":return Se(t,o.iconConfig);case"text":default:return we(t)}},Pe=t=>t.render?!1:!!(t.columnType&&t.columnType!=="text");function _a(){return{renderColumnContent:Te,shouldAutoRender:Pe,renderText:we,renderLink:xe,renderImage:ke,renderFile:Ne,renderTag:X,renderTags:Be,renderIcon:Se}}function De(t){const{columns:r,actionColumn:o,onView:a,onEdit:l,onDelete:d}=t,s=f=>"key"in f&&f.key?String(f.key):"type"in f?`__${f.type}__`:"",h=f=>{if("title"in f){if(typeof f.title=="string")return f.title;if(typeof f.title=="function")return"自定义列"}return s(f)},y=f=>"defaultVisible"in f?f.defaultVisible!==!1:!0,v=f=>"type"in f&&(f.type==="selection"||f.type==="expand")?!1:"configurable"in f?f.configurable!==!1:!0,_=()=>r.filter(f=>y(f)).map(f=>s(f)).filter(Boolean),w=(0,e.ref)(_()),x=(0,e.computed)(()=>r.filter(f=>s(f)&&v(f)).map(f=>({key:s(f),title:h(f),visible:w.value.includes(s(f)),configurable:v(f)}))),k=()=>{if(o?.show===!1)return null;const{renderActions:f}=Ce({...o,onView:a,onEdit:l,onDelete:d});return{key:"__actions__",title:o?.title||"操作",width:o?.width||180,minWidth:o?.minWidth,fixed:o?.fixed!==!1?o?.fixed||"right":void 0,render:(i,p)=>f(i,p)}},V=f=>{if("columnType"in f&&Pe(f)){const i=f,p=i.key;return{...f,render:C=>Te(p?C[p]:void 0,C,i)}}return f};return{mergedColumns:(0,e.computed)(()=>{const f=r.filter(p=>{const C=s(p);return"type"in p&&(p.type==="selection"||p.type==="expand")||!C?!0:w.value.includes(C)}).map(p=>V(p)),i=k();return i&&f.push(i),f}),configurableColumns:x,visibleColumnKeys:w,setVisibleColumnKeys:f=>{w.value=f},resetColumnSetting:()=>{w.value=_()},getVisibleColumnKeys:()=>[...w.value]}}var ba={page:"page",pageSize:"pageSize",itemCount:"itemCount"},Y={pageSizes:[10,20,50,100],showSizePicker:!0,showQuickJumper:!0};function Ve(t){const{pagination:r,fieldNames:o,onUpdatePagination:a,onPageChange:l}=t,d=()=>({...ba,...o}),s=x=>{if(!(r===!1||!r))return r[d()[x]]},h=(0,e.computed)(()=>r===!1||!r?!1:{page:s("page")??1,pageSize:s("pageSize")??10,itemCount:s("itemCount"),pageSizes:r.pageSizes??Y.pageSizes,showSizePicker:r.showSizePicker??Y.showSizePicker,showQuickJumper:r.showQuickJumper??Y.showQuickJumper,prefix:r.prefix,suffix:r.suffix}),y=x=>{if(r===!1||!r)return{};const k=d(),V={...r};return x.page!==void 0&&(V[k.page]=x.page),x.pageSize!==void 0&&(V[k.pageSize]=x.pageSize),V},v=x=>{const k=d();return{[k.page]:x[k.page],[k.pageSize]:x[k.pageSize],[k.itemCount]:x[k.itemCount]}};return{paginationConfig:h,handlePageChange:x=>{const k=y({page:x});a?.(k),l?.(v(k))},handlePageSizeChange:x=>{const k=y({page:1,pageSize:x});a?.(k),l?.(v(k))},getFieldNames:d}}var Ca={key:0,class:"dydx-table__toolbar"},wa={class:"dydx-table__column-setting"},xa={class:"dydx-table__column-setting-header"},ka=(0,e.defineComponent)({inheritAttrs:!1,__name:"DydxNaiveTable",props:{loading:{type:Boolean,default:!1},checkedRowKeys:{},remote:{type:Boolean,default:!1},data:{},columns:{},rowKey:{},actionColumn:{},showAdd:{type:Boolean,default:!1},addButtonText:{default:"新增"},onAdd:{},leftButtons:{default:()=>[]},showRefresh:{type:Boolean,default:!1},onRefresh:{},showColumnSetting:{type:Boolean,default:!1},rightButtons:{default:()=>[]},pagination:{type:[Boolean,Object]},paginationFieldNames:{}},emits:["update:pagination","pageChange","update:checkedRowKeys","update:visibleColumns","view","edit","delete"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(null),h=(0,e.ref)(void 0),y=(0,e.computed)(()=>!d.maxHeight),v=m=>{const b=getComputedStyle(m);return m.clientHeight<=0?!1:!!(parseFloat(b.flexGrow)>0||b.height&&b.height!=="auto"&&b.height!=="0px"||b.maxHeight&&b.maxHeight!=="none"&&b.maxHeight!=="0px"||b.overflowY==="auto"||b.overflowY==="scroll")},_=m=>{let b=m.parentElement;for(;b&&b!==document.body;){if(v(b))return b;b=b.parentElement}return null},w=()=>{y.value&&(0,e.nextTick)(()=>{const m=s.value;if(!m)return;const b=_(m);if(!b){h.value=void 0;return}const S=b.getBoundingClientRect(),c=m.getBoundingClientRect(),T=m.querySelector(".dydx-table__toolbar"),Ie=T?T.offsetHeight+16:0,Re=c.top-S.top,ne=b.clientHeight-Re-Ie;ne>200?h.value=ne:h.value=void 0})},x=(0,e.computed)(()=>d.maxHeight?d.maxHeight:h.value);(0,e.onMounted)(()=>{w(),window.addEventListener("resize",w)}),(0,e.onUnmounted)(()=>{window.removeEventListener("resize",w)});const k=(0,e.ref)(null),{mergedColumns:V,configurableColumns:O,visibleColumnKeys:g,setVisibleColumnKeys:N,resetColumnSetting:P,getVisibleColumnKeys:f}=De({columns:a.columns,actionColumn:a.actionColumn,onView:m=>l("view",m),onEdit:m=>l("edit",m),onDelete:m=>l("delete",m)}),{paginationConfig:i,handlePageChange:p,handlePageSizeChange:C}=Ve({get pagination(){return a.pagination},get fieldNames(){return a.paginationFieldNames},onUpdatePagination:m=>l("update:pagination",m),onPageChange:m=>l("pageChange",m)});(0,e.watch)(g,m=>{l("update:visibleColumns",m)});const F=(0,e.computed)(()=>a.showAdd||a.leftButtons?.length||a.showRefresh||a.showColumnSetting||a.rightButtons?.length),$=(0,e.computed)(()=>typeof a.rowKey=="function"?a.rowKey:m=>m[a.rowKey]),D=m=>{l("update:checkedRowKeys",m,a.data.filter(b=>m.includes($.value(b))))},L=()=>{a.onAdd?.()},u=()=>{a.onRefresh?.()};return r({getTableInstance:()=>k.value,clearChecked:()=>{l("update:checkedRowKeys",[],[])},refresh:()=>{u()},getVisibleColumnKeys:f,setVisibleColumnKeys:N,resetColumnSetting:P,scrollTo:m=>{k.value?.scrollTo(m)}}),(m,b)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",{ref_key:"containerRef",ref:s,class:"dydx-table"},[F.value?((0,e.openBlock)(),(0,e.createElementBlock)("div",Ca,[(0,e.createVNode)((0,e.unref)(n.NSpace),{class:"dydx-table__toolbar-left",size:12},{default:(0,e.withCtx)(()=>[t.showAdd?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:"primary",onClick:L},{icon:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"add-icon",{},()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.AddOutline))]),_:1})],!0)]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.addButtonText),1)]),_:3})):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.leftButtons,S=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:S.key},[S.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:S.type,disabled:S.disabled,onClick:S.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(S.label),1)]),_:2},[S.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(S.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),(0,e.renderSlot)(m.$slots,"toolbar-left",{},void 0,!0)]),_:3}),(0,e.createVNode)((0,e.unref)(n.NSpace),{class:"dydx-table__toolbar-right",size:8},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"toolbar-right",{},void 0,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.rightButtons,S=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:S.key},[S.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,type:S.type,disabled:S.disabled,onClick:S.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(S.label),1)]),_:2},[S.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(S.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),t.showRefresh?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NTooltip),{key:0,trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NButton),{circle:"",class:"dydx-table__icon-btn",onClick:u},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.RefreshOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[b[1]||(b[1]=(0,e.createTextVNode)(" 刷新 ",-1))]),_:1})):(0,e.createCommentVNode)("",!0),t.showColumnSetting?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NPopover),{key:1,trigger:"click",placement:"bottom-end"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NTooltip),{trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NButton),{circle:"",class:"dydx-table__icon-btn"},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(z.SettingsOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[b[2]||(b[2]=(0,e.createTextVNode)(" 列设置 ",-1))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",wa,[(0,e.createElementVNode)("div",xa,[b[4]||(b[4]=(0,e.createElementVNode)("span",null,"列设置",-1)),(0,e.createVNode)((0,e.unref)(n.NButton),{text:"",size:"small",type:"primary",onClick:(0,e.unref)(P)},{default:(0,e.withCtx)(()=>[...b[3]||(b[3]=[(0,e.createTextVNode)(" 重置 ",-1)])]),_:1},8,["onClick"])]),(0,e.createVNode)((0,e.unref)(n.NCheckboxGroup),{value:(0,e.unref)(g),"onUpdate:value":b[0]||(b[0]=S=>(0,e.isRef)(g)?g.value=S:null)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{vertical:"",size:8},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(O),S=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NCheckbox),{key:S.key,value:S.key,label:S.title},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])]),_:1})):(0,e.createCommentVNode)("",!0)]),_:3})])):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NDataTable),(0,e.mergeProps)({ref_key:"dataTableRef",ref:k,data:t.data,columns:(0,e.unref)(V),"row-key":$.value,loading:t.loading,pagination:(0,e.unref)(i),remote:t.remote,"checked-row-keys":t.checkedRowKeys,"max-height":x.value},(0,e.unref)(d),{"onUpdate:page":(0,e.unref)(p),"onUpdate:pageSize":(0,e.unref)(C),"onUpdate:checkedRowKeys":D}),null,16,["data","columns","row-key","loading","pagination","remote","checked-row-keys","max-height","onUpdate:page","onUpdate:pageSize"])],512))}}),Na=(t,r)=>{const o=t.__vccOpts||t;for(const[a,l]of r)o[a]=l;return o},Fe=Na(ka,[["__scopeId","data-v-af2504e6"]]),Sa=(0,e.defineComponent)({name:"DydxFormModal",inheritAttrs:!1,__name:"DydxFormModal",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:600},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"left"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=(0,e.computed)(()=>({width:typeof a.width=="number"?`${a.width}px`:a.width})),v=()=>{l("update:show",!1),l("cancel")},_=async()=>{try{await s.value?.validate(),l("confirm",a.model)}catch{}};return r({getFormRef:()=>s.value,validate:()=>s.value?.validate(),resetFields:()=>s.value?.resetFields()}),(w,x)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NModal),(0,e.mergeProps)({show:t.show,preset:"card",title:h.value,style:y.value,"mask-closable":!1},(0,e.unref)(d),{"onUpdate:show":x[0]||(x[0]=k=>l("update:show",k))}),(0,e.createSlots)({_:2},[w.$slots.header?{name:"header",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"header")]),key:"0"}:void 0,w.$slots["header-extra"]?{name:"header-extra",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"header-extra")]),key:"1"}:void 0,w.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"default")]),key:"2"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(J),{ref_key:"formRef",ref:s,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"3"},w.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"footer")]),key:"4"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,onClick:v},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NButton),{type:"primary",loading:t.loading,onClick:_},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"5"},w.$slots.action?{name:"action",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(w.$slots,"action")]),key:"6"}:void 0]),1040,["show","title","style"]))}}),Oe=Sa,Ba=(0,e.defineComponent)({name:"DydxFormDrawer",inheritAttrs:!1,__name:"DydxFormDrawer",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:500},placement:{default:"right"},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"top"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,l=o,d=(0,e.useAttrs)(),s=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=()=>{l("update:show",!1),l("cancel")},v=async()=>{try{await s.value?.validate(),l("confirm",a.model)}catch{}};return r({getFormRef:()=>s.value,validate:()=>s.value?.validate(),resetFields:()=>s.value?.resetFields()}),(_,w)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NDrawer),(0,e.mergeProps)({show:t.show,width:t.width,placement:t.placement,"mask-closable":!1},(0,e.unref)(d),{"onUpdate:show":w[0]||(w[0]=x=>l("update:show",x))}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NDrawerContent),{title:h.value,closable:"",onClose:y},(0,e.createSlots)({_:2},[_.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(_.$slots,"default")]),key:"0"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(J),{ref_key:"formRef",ref:s,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"1"},_.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(_.$slots,"footer")]),key:"2"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.NButton),{key:0,onClick:y},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(n.NButton),{type:"primary",loading:t.loading,onClick:v},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"3"}]),1032,["title"])]),_:3},16,["show","width","placement"]))}}),ze=Ba,Ta=[J,Fe,Oe,ze,K,Z],Pa=t=>{Ta.forEach(r=>{r.name&&t.component(r.name,r)})},Da={install:Pa};exports.DydxFormDrawer=ze;exports.DydxFormModal=Oe;exports.DydxIconSelect=Z;exports.DydxNaiveForm=J;exports.DydxNaiveTable=Fe;exports.DydxNaiveUIResolver=Le.DydxNaiveUIResolver;exports.DydxUpload=K;exports.default=Da;exports.useColumnRender=_a;exports.useColumns=De;exports.usePagination=Ve;exports.useTableActions=Ce;
@@ -1,4 +1,3 @@
1
- import { default as DydxFormModal } from './src/DydxFormModal.vue';
2
- import { default as DydxFormDrawer } from './src/DydxFormDrawer.vue';
3
- export { DydxFormModal, DydxFormDrawer };
1
+ export { default as DydxFormModal } from './src/DydxFormModal.vue';
2
+ export { default as DydxFormDrawer } from './src/DydxFormDrawer.vue';
4
3
  export type { FormModalProps, FormDrawerProps, FormModalExpose } from './types';
@@ -1,3 +1,2 @@
1
- import { default as DydxIconSelect } from './src/DydxIconSelect.vue';
2
- export { DydxIconSelect };
1
+ export { default as DydxIconSelect } from './src/DydxIconSelect.vue';
3
2
  export type { DydxIconSelectProps } from './types';
@@ -1,83 +1,2 @@
1
- import { default as DydxNaiveFormVue } from './src/DydxNaiveForm.vue';
2
- export declare const DydxNaiveForm: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
3
- attrs: any;
4
- slots: Partial<Record<string, (_: {
5
- model: T;
6
- schema: import('./types').SlotSchema<T>;
7
- }) => any>> & Partial<Record<`field-${import('./types').DeepKeys<T>}`, (_: {
8
- model: T;
9
- schema: import('./types').InputSchema<T> | import('./types').SelectSchema<T> | import('./types').RadioGroupSchema<T> | import('./types').CheckboxGroupSchema<T> | import('./types').DatePickerSchema<T> | import('./types').InputNumberSchema<T> | import('./types').NativeSchema<T> | import('./types').CustomSchema<T>;
10
- value: any;
11
- setValue: (v: any) => void;
12
- }) => any>> & {
13
- header?(_: {
14
- model: T;
15
- }): any;
16
- footer?(_: {
17
- model: T;
18
- validate: (callback?: (errors?: Array<import('naive-ui').FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
19
- reset: () => void;
20
- }): any;
21
- append?(_: {
22
- model: T;
23
- }): any;
24
- };
25
- emit: ((evt: "submit", value: T) => void) & ((evt: "reset") => void) & ((evt: "update:model", value: T) => void) & ((evt: "validate", errors: any) => void);
26
- }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
27
- props: {
28
- readonly onReset?: (() => any) | undefined;
29
- readonly onSubmit?: ((value: T) => any) | undefined;
30
- readonly "onUpdate:model"?: ((value: T) => any) | undefined;
31
- readonly onValidate?: ((errors: any) => any) | undefined;
32
- schemas: import('./types').FormSchema<T>[];
33
- model: T;
34
- formProps?: Partial<import('naive-ui').FormProps> | undefined;
35
- labelWidth?: number | string | "auto" | undefined;
36
- labelAlign?: "left" | "right" | undefined;
37
- labelPlacement?: "left" | "top" | undefined;
38
- showFeedback?: boolean | undefined;
39
- showLabel?: boolean | undefined;
40
- showRequireMark?: boolean | undefined;
41
- requireMarkPlacement?: "left" | "right" | "right-hanging" | undefined;
42
- gridProps?: Partial<import('naive-ui').GridProps> | undefined;
43
- cols?: string | number | import('./types').ResponsiveSpan | undefined;
44
- xGap?: number | string | undefined;
45
- yGap?: number | string | undefined;
46
- responsive?: "self" | "screen" | undefined;
47
- showFooter?: boolean | undefined;
48
- footerAlign?: "left" | "center" | "right" | undefined;
49
- footerSpan?: number | undefined;
50
- submitButton?: import('./types').FormButtonProps | undefined;
51
- resetButton?: import('./types').FormButtonProps | undefined;
52
- extraButtons?: import('./types').ExtraButtonProps[] | undefined;
53
- loading?: boolean | undefined;
54
- } & import('vue').PublicProps;
55
- expose(exposed: import('vue').ShallowUnwrapRef<import('./types').DydxNaiveFormExpose<T>>): void;
56
- attrs: any;
57
- slots: Partial<Record<string, (_: {
58
- model: T;
59
- schema: import('./types').SlotSchema<T>;
60
- }) => any>> & Partial<Record<`field-${import('./types').DeepKeys<T>}`, (_: {
61
- model: T;
62
- schema: import('./types').InputSchema<T> | import('./types').SelectSchema<T> | import('./types').RadioGroupSchema<T> | import('./types').CheckboxGroupSchema<T> | import('./types').DatePickerSchema<T> | import('./types').InputNumberSchema<T> | import('./types').NativeSchema<T> | import('./types').CustomSchema<T>;
63
- value: any;
64
- setValue: (v: any) => void;
65
- }) => any>> & {
66
- header?(_: {
67
- model: T;
68
- }): any;
69
- footer?(_: {
70
- model: T;
71
- validate: (callback?: (errors?: Array<import('naive-ui').FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
72
- reset: () => void;
73
- }): any;
74
- append?(_: {
75
- model: T;
76
- }): any;
77
- };
78
- emit: ((evt: "submit", value: T) => void) & ((evt: "reset") => void) & ((evt: "update:model", value: T) => void) & ((evt: "validate", errors: any) => void);
79
- }>) => import('vue').VNode & {
80
- __ctx?: Awaited<typeof __VLS_setup>;
81
- };
1
+ export { default as DydxNaiveForm } from './src/DydxNaiveForm.vue';
82
2
  export * from './types';
83
- export default DydxNaiveFormVue;
@@ -1,53 +1,6 @@
1
- import { default as DydxNaiveTableVue } from './src/DydxNaiveTable.vue';
2
- export declare const DydxNaiveTable: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
3
- attrs: any;
4
- slots: {
5
- 'add-icon'?(_: {}): any;
6
- 'toolbar-left'?(_: {}): any;
7
- 'toolbar-right'?(_: {}): any;
8
- };
9
- emit: ((evt: "view", params: import('./types').ActionEventParams<T>) => void) & ((evt: "delete", params: import('./types').ActionEventParams<T>) => void) & ((evt: "update:pagination", pagination: import('./types').TablePagination) => void) & ((evt: "pageChange", pagination: import('./types').PageChangeData) => void) & ((evt: "update:checkedRowKeys", keys: (string | number)[], rows: T[]) => void) & ((evt: "update:visibleColumns", keys: string[]) => void) & ((evt: "edit", params: import('./types').ActionEventParams<T>) => void);
10
- }, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
11
- props: {
12
- readonly onView?: ((params: import('./types').ActionEventParams<T>) => any) | undefined;
13
- readonly onEdit?: ((params: import('./types').ActionEventParams<T>) => any) | undefined;
14
- readonly onDelete?: ((params: import('./types').ActionEventParams<T>) => any) | undefined;
15
- readonly onPageChange?: ((pagination: import('./types').PageChangeData) => any) | undefined;
16
- readonly "onUpdate:pagination"?: ((pagination: import('./types').TablePagination) => any) | undefined;
17
- readonly "onUpdate:checkedRowKeys"?: ((keys: (string | number)[], rows: T[]) => any) | undefined;
18
- readonly "onUpdate:visibleColumns"?: ((keys: string[]) => any) | undefined;
19
- loading?: boolean | undefined;
20
- checkedRowKeys?: (string | number)[] | undefined;
21
- remote?: boolean | undefined;
22
- data: T[];
23
- columns: import('./types').DydxTableColumns<T>;
24
- rowKey: keyof T | ((row: T) => string | number);
25
- actionColumn?: import('./types').ActionColumnConfig<T> | undefined;
26
- showAdd?: boolean | undefined;
27
- addButtonText?: string | undefined;
28
- onAdd?: (() => void) | undefined;
29
- leftButtons?: import('./types').ToolbarButton[] | undefined;
30
- showRefresh?: boolean | undefined;
31
- onRefresh?: (() => void) | undefined;
32
- showColumnSetting?: boolean | undefined;
33
- rightButtons?: import('./types').ToolbarButton[] | undefined;
34
- pagination?: (false | import('./types').TablePagination) | undefined;
35
- paginationFieldNames?: import('./types').PaginationFieldNames | undefined;
36
- } & import('vue').PublicProps;
37
- expose(exposed: import('vue').ShallowUnwrapRef<import('./types').DydxNaiveTableExpose>): void;
38
- attrs: any;
39
- slots: {
40
- 'add-icon'?(_: {}): any;
41
- 'toolbar-left'?(_: {}): any;
42
- 'toolbar-right'?(_: {}): any;
43
- };
44
- emit: ((evt: "view", params: import('./types').ActionEventParams<T>) => void) & ((evt: "delete", params: import('./types').ActionEventParams<T>) => void) & ((evt: "update:pagination", pagination: import('./types').TablePagination) => void) & ((evt: "pageChange", pagination: import('./types').PageChangeData) => void) & ((evt: "update:checkedRowKeys", keys: (string | number)[], rows: T[]) => void) & ((evt: "update:visibleColumns", keys: string[]) => void) & ((evt: "edit", params: import('./types').ActionEventParams<T>) => void);
45
- }>) => import('vue').VNode & {
46
- __ctx?: Awaited<typeof __VLS_setup>;
47
- };
1
+ export { default as DydxNaiveTable } from './src/DydxNaiveTable.vue';
48
2
  export * from './types';
49
3
  export { useColumns } from './composables/useColumns';
50
4
  export { usePagination } from './composables/usePagination';
51
5
  export { useTableActions } from './composables/useTableActions';
52
6
  export { useColumnRender } from './composables/useColumnRender';
53
- export default DydxNaiveTableVue;
@@ -1,4 +1,2 @@
1
- import { default as DydxUpload } from './src/DydxUpload.vue';
2
- export { DydxUpload };
1
+ export { default as DydxUpload } from './src/DydxUpload.vue';
3
2
  export * from './types';
4
- export default DydxUpload;
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "dydx-naive-ui-for-vue",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
+ "web-types": "./web-types.json",
4
5
  "type": "module",
5
6
  "main": "./dist/dydx-naive-ui-for-vue.umd.cjs",
6
7
  "module": "./dist/dydx-naive-ui-for-vue.js",
@@ -19,7 +20,8 @@
19
20
  "./style.css": "./dist/style.css"
20
21
  },
21
22
  "files": [
22
- "dist"
23
+ "dist",
24
+ "web-types.json"
23
25
  ],
24
26
  "peerDependencies": {
25
27
  "naive-ui": ">=2.34.0",
package/web-types.json ADDED
@@ -0,0 +1,646 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/web-types",
3
+ "name": "dydx-naive-ui-for-vue",
4
+ "version": "0.1.7",
5
+ "description-markup": "markdown",
6
+ "framework": "vue",
7
+ "contributions": {
8
+ "html": {
9
+ "vue-components": [
10
+ {
11
+ "name": "DydxNaiveForm",
12
+ "description": "基于 Naive UI 的动态表单组件,支持多种表单项类型和响应式布局",
13
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
14
+ "props": [
15
+ {
16
+ "name": "schemas",
17
+ "type": "FormSchema[]",
18
+ "required": true,
19
+ "description": "表单字段配置数组"
20
+ },
21
+ {
22
+ "name": "model",
23
+ "type": "object",
24
+ "required": true,
25
+ "description": "表单数据对象 (v-model)"
26
+ },
27
+ {
28
+ "name": "formProps",
29
+ "type": "object",
30
+ "description": "Naive UI Form 组件的额外配置"
31
+ },
32
+ {
33
+ "name": "labelWidth",
34
+ "type": "number | string | 'auto'",
35
+ "description": "标签宽度,支持数字、字符串或 'auto'"
36
+ },
37
+ {
38
+ "name": "labelAlign",
39
+ "type": "'left' | 'right'",
40
+ "default": "'right'",
41
+ "description": "标签文本对齐方式"
42
+ },
43
+ {
44
+ "name": "labelPlacement",
45
+ "type": "'left' | 'top'",
46
+ "default": "'top'",
47
+ "description": "标签位置"
48
+ },
49
+ {
50
+ "name": "showFeedback",
51
+ "type": "boolean",
52
+ "default": "true",
53
+ "description": "是否显示验证反馈"
54
+ },
55
+ {
56
+ "name": "showLabel",
57
+ "type": "boolean",
58
+ "default": "true",
59
+ "description": "是否显示标签"
60
+ },
61
+ {
62
+ "name": "showRequireMark",
63
+ "type": "boolean",
64
+ "description": "是否显示必填标记"
65
+ },
66
+ {
67
+ "name": "requireMarkPlacement",
68
+ "type": "'left' | 'right' | 'right-hanging'",
69
+ "default": "'right'",
70
+ "description": "必填标记位置"
71
+ },
72
+ {
73
+ "name": "gridProps",
74
+ "type": "object",
75
+ "description": "Naive UI Grid 组件的额外配置"
76
+ },
77
+ {
78
+ "name": "cols",
79
+ "type": "number | string | object",
80
+ "description": "Grid 列数或响应式列数配置"
81
+ },
82
+ {
83
+ "name": "xGap",
84
+ "type": "number | string",
85
+ "description": "水平间距"
86
+ },
87
+ {
88
+ "name": "yGap",
89
+ "type": "number | string",
90
+ "description": "垂直间距"
91
+ },
92
+ {
93
+ "name": "responsive",
94
+ "type": "'self' | 'screen'",
95
+ "description": "响应式模式"
96
+ },
97
+ {
98
+ "name": "showFooter",
99
+ "type": "boolean",
100
+ "default": "true",
101
+ "description": "是否显示底部按钮区域"
102
+ },
103
+ {
104
+ "name": "footerAlign",
105
+ "type": "'left' | 'center' | 'right'",
106
+ "default": "'right'",
107
+ "description": "底部按钮对齐方式"
108
+ },
109
+ {
110
+ "name": "footerSpan",
111
+ "type": "number",
112
+ "default": "24",
113
+ "description": "底部区域占据的列数"
114
+ },
115
+ {
116
+ "name": "submitButton",
117
+ "type": "FormButtonProps",
118
+ "description": "提交按钮配置,设置 hidden: true 可隐藏"
119
+ },
120
+ {
121
+ "name": "resetButton",
122
+ "type": "FormButtonProps",
123
+ "description": "重置按钮配置,设置 hidden: true 可隐藏"
124
+ },
125
+ {
126
+ "name": "extraButtons",
127
+ "type": "ExtraButtonProps[]",
128
+ "description": "额外的底部按钮配置"
129
+ },
130
+ {
131
+ "name": "loading",
132
+ "type": "boolean",
133
+ "description": "是否显示 loading 状态"
134
+ }
135
+ ],
136
+ "events": [
137
+ {
138
+ "name": "submit",
139
+ "description": "提交表单时触发"
140
+ },
141
+ {
142
+ "name": "reset",
143
+ "description": "重置表单时触发"
144
+ },
145
+ {
146
+ "name": "update:model",
147
+ "description": "表单数据更新时触发 (v-model)"
148
+ },
149
+ {
150
+ "name": "validate",
151
+ "description": "表单验证时触发"
152
+ }
153
+ ],
154
+ "slots": [
155
+ {
156
+ "name": "header",
157
+ "description": "表单头部插槽"
158
+ },
159
+ {
160
+ "name": "footer",
161
+ "description": "表单底部插槽,可覆盖默认按钮"
162
+ },
163
+ {
164
+ "name": "append",
165
+ "description": "表单末尾追加内容插槽"
166
+ }
167
+ ]
168
+ },
169
+ {
170
+ "name": "DydxNaiveTable",
171
+ "description": "基于 Naive UI 的增强数据表格组件,支持工具栏、分页和操作列",
172
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
173
+ "props": [
174
+ {
175
+ "name": "data",
176
+ "type": "array",
177
+ "required": true,
178
+ "description": "表格数据"
179
+ },
180
+ {
181
+ "name": "columns",
182
+ "type": "DydxTableColumns",
183
+ "required": true,
184
+ "description": "列配置"
185
+ },
186
+ {
187
+ "name": "rowKey",
188
+ "type": "string | function",
189
+ "required": true,
190
+ "description": "行数据的唯一标识字段或函数"
191
+ },
192
+ {
193
+ "name": "actionColumn",
194
+ "type": "ActionColumnConfig",
195
+ "description": "操作列配置"
196
+ },
197
+ {
198
+ "name": "showAdd",
199
+ "type": "boolean",
200
+ "description": "是否显示新增按钮"
201
+ },
202
+ {
203
+ "name": "addButtonText",
204
+ "type": "string",
205
+ "description": "新增按钮文字"
206
+ },
207
+ {
208
+ "name": "onAdd",
209
+ "type": "function",
210
+ "description": "新增按钮点击回调"
211
+ },
212
+ {
213
+ "name": "leftButtons",
214
+ "type": "ToolbarButton[]",
215
+ "description": "左侧自定义按钮列表"
216
+ },
217
+ {
218
+ "name": "showRefresh",
219
+ "type": "boolean",
220
+ "description": "是否显示刷新按钮"
221
+ },
222
+ {
223
+ "name": "onRefresh",
224
+ "type": "function",
225
+ "description": "刷新按钮点击回调"
226
+ },
227
+ {
228
+ "name": "showColumnSetting",
229
+ "type": "boolean",
230
+ "description": "是否显示列设置"
231
+ },
232
+ {
233
+ "name": "rightButtons",
234
+ "type": "ToolbarButton[]",
235
+ "description": "右侧自定义按钮列表"
236
+ },
237
+ {
238
+ "name": "pagination",
239
+ "type": "false | TablePagination",
240
+ "description": "分页配置,设为 false 不显示分页"
241
+ },
242
+ {
243
+ "name": "paginationFieldNames",
244
+ "type": "PaginationFieldNames",
245
+ "description": "分页字段映射配置"
246
+ },
247
+ {
248
+ "name": "loading",
249
+ "type": "boolean",
250
+ "description": "加载状态"
251
+ },
252
+ {
253
+ "name": "checkedRowKeys",
254
+ "type": "array",
255
+ "description": "选中的行 keys (v-model)"
256
+ },
257
+ {
258
+ "name": "remote",
259
+ "type": "boolean",
260
+ "description": "是否为远程数据源"
261
+ }
262
+ ],
263
+ "events": [
264
+ {
265
+ "name": "update:pagination",
266
+ "description": "分页数据变化"
267
+ },
268
+ {
269
+ "name": "pageChange",
270
+ "description": "分页变化事件"
271
+ },
272
+ {
273
+ "name": "update:checkedRowKeys",
274
+ "description": "选中行变化"
275
+ },
276
+ {
277
+ "name": "update:visibleColumns",
278
+ "description": "可见列变化"
279
+ },
280
+ {
281
+ "name": "view",
282
+ "description": "查看按钮点击"
283
+ },
284
+ {
285
+ "name": "edit",
286
+ "description": "编辑按钮点击"
287
+ },
288
+ {
289
+ "name": "delete",
290
+ "description": "删除按钮点击"
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "name": "DydxFormModal",
296
+ "description": "表单弹窗组件,结合 NModal 和 DydxNaiveForm",
297
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
298
+ "props": [
299
+ {
300
+ "name": "show",
301
+ "type": "boolean",
302
+ "required": true,
303
+ "description": "控制弹窗显示 (v-model)"
304
+ },
305
+ {
306
+ "name": "title",
307
+ "type": "string",
308
+ "description": "弹窗标题"
309
+ },
310
+ {
311
+ "name": "subtitle",
312
+ "type": "string",
313
+ "description": "弹窗副标题"
314
+ },
315
+ {
316
+ "name": "schemas",
317
+ "type": "FormSchema[]",
318
+ "required": true,
319
+ "description": "表单字段配置数组"
320
+ },
321
+ {
322
+ "name": "model",
323
+ "type": "object",
324
+ "required": true,
325
+ "description": "表单数据对象"
326
+ },
327
+ {
328
+ "name": "width",
329
+ "type": "string | number",
330
+ "description": "弹窗宽度"
331
+ },
332
+ {
333
+ "name": "confirmText",
334
+ "type": "string",
335
+ "description": "确认按钮文字"
336
+ },
337
+ {
338
+ "name": "cancelText",
339
+ "type": "string",
340
+ "description": "取消按钮文字"
341
+ },
342
+ {
343
+ "name": "showCancel",
344
+ "type": "boolean",
345
+ "description": "是否显示取消按钮"
346
+ },
347
+ {
348
+ "name": "loading",
349
+ "type": "boolean",
350
+ "description": "加载状态"
351
+ },
352
+ {
353
+ "name": "cols",
354
+ "type": "number",
355
+ "description": "表单列数"
356
+ },
357
+ {
358
+ "name": "xGap",
359
+ "type": "number",
360
+ "description": "水平间距"
361
+ },
362
+ {
363
+ "name": "yGap",
364
+ "type": "number",
365
+ "description": "垂直间距"
366
+ },
367
+ {
368
+ "name": "labelPlacement",
369
+ "type": "'left' | 'top'",
370
+ "description": "标签位置"
371
+ },
372
+ {
373
+ "name": "labelWidth",
374
+ "type": "number | string",
375
+ "description": "标签宽度"
376
+ },
377
+ {
378
+ "name": "rowKey",
379
+ "type": "string",
380
+ "description": "行标识字段"
381
+ }
382
+ ],
383
+ "events": [
384
+ {
385
+ "name": "update:show",
386
+ "description": "弹窗显示状态变化"
387
+ },
388
+ {
389
+ "name": "confirm",
390
+ "description": "点击确认按钮"
391
+ },
392
+ {
393
+ "name": "cancel",
394
+ "description": "点击取消按钮"
395
+ }
396
+ ]
397
+ },
398
+ {
399
+ "name": "DydxFormDrawer",
400
+ "description": "表单抽屉组件,结合 NDrawer 和 DydxNaiveForm",
401
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
402
+ "props": [
403
+ {
404
+ "name": "show",
405
+ "type": "boolean",
406
+ "required": true,
407
+ "description": "控制抽屉显示 (v-model)"
408
+ },
409
+ {
410
+ "name": "title",
411
+ "type": "string",
412
+ "description": "抽屉标题"
413
+ },
414
+ {
415
+ "name": "subtitle",
416
+ "type": "string",
417
+ "description": "抽屉副标题"
418
+ },
419
+ {
420
+ "name": "schemas",
421
+ "type": "FormSchema[]",
422
+ "required": true,
423
+ "description": "表单字段配置数组"
424
+ },
425
+ {
426
+ "name": "model",
427
+ "type": "object",
428
+ "required": true,
429
+ "description": "表单数据对象"
430
+ },
431
+ {
432
+ "name": "width",
433
+ "type": "string | number",
434
+ "description": "抽屉宽度"
435
+ },
436
+ {
437
+ "name": "placement",
438
+ "type": "'left' | 'right' | 'top' | 'bottom'",
439
+ "default": "'right'",
440
+ "description": "抽屉位置"
441
+ },
442
+ {
443
+ "name": "confirmText",
444
+ "type": "string",
445
+ "description": "确认按钮文字"
446
+ },
447
+ {
448
+ "name": "cancelText",
449
+ "type": "string",
450
+ "description": "取消按钮文字"
451
+ },
452
+ {
453
+ "name": "showCancel",
454
+ "type": "boolean",
455
+ "description": "是否显示取消按钮"
456
+ },
457
+ {
458
+ "name": "loading",
459
+ "type": "boolean",
460
+ "description": "加载状态"
461
+ },
462
+ {
463
+ "name": "cols",
464
+ "type": "number",
465
+ "description": "表单列数"
466
+ },
467
+ {
468
+ "name": "xGap",
469
+ "type": "number",
470
+ "description": "水平间距"
471
+ },
472
+ {
473
+ "name": "yGap",
474
+ "type": "number",
475
+ "description": "垂直间距"
476
+ },
477
+ {
478
+ "name": "labelPlacement",
479
+ "type": "'left' | 'top'",
480
+ "description": "标签位置"
481
+ },
482
+ {
483
+ "name": "labelWidth",
484
+ "type": "number | string",
485
+ "description": "标签宽度"
486
+ },
487
+ {
488
+ "name": "rowKey",
489
+ "type": "string",
490
+ "description": "行标识字段"
491
+ }
492
+ ],
493
+ "events": [
494
+ {
495
+ "name": "update:show",
496
+ "description": "抽屉显示状态变化"
497
+ },
498
+ {
499
+ "name": "confirm",
500
+ "description": "点击确认按钮"
501
+ },
502
+ {
503
+ "name": "cancel",
504
+ "description": "点击取消按钮"
505
+ }
506
+ ]
507
+ },
508
+ {
509
+ "name": "DydxUpload",
510
+ "description": "增强上传组件,支持图片和文件上传",
511
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
512
+ "props": [
513
+ {
514
+ "name": "uploadType",
515
+ "type": "'image' | 'file'",
516
+ "default": "'image'",
517
+ "description": "上传类型"
518
+ },
519
+ {
520
+ "name": "fileList",
521
+ "type": "UploadFileInfo[]",
522
+ "description": "文件列表 (v-model)"
523
+ },
524
+ {
525
+ "name": "customUpload",
526
+ "type": "function",
527
+ "description": "自定义上传方法,返回文件 URL"
528
+ },
529
+ {
530
+ "name": "acceptTypes",
531
+ "type": "string[]",
532
+ "description": "允许的文件类型,如 ['.jpg', '.png']"
533
+ },
534
+ {
535
+ "name": "maxSize",
536
+ "type": "number",
537
+ "description": "单个文件最大大小(MB)"
538
+ },
539
+ {
540
+ "name": "maxCount",
541
+ "type": "number",
542
+ "description": "最大文件数量"
543
+ },
544
+ {
545
+ "name": "multiple",
546
+ "type": "boolean",
547
+ "description": "是否多选"
548
+ },
549
+ {
550
+ "name": "autoUpload",
551
+ "type": "boolean",
552
+ "default": "true",
553
+ "description": "是否自动上传"
554
+ },
555
+ {
556
+ "name": "disabled",
557
+ "type": "boolean",
558
+ "description": "是否禁用"
559
+ },
560
+ {
561
+ "name": "urlPrefix",
562
+ "type": "string",
563
+ "description": "文件 URL 前缀"
564
+ },
565
+ {
566
+ "name": "showTip",
567
+ "type": "boolean",
568
+ "description": "是否显示上传提示"
569
+ },
570
+ {
571
+ "name": "showDragger",
572
+ "type": "boolean",
573
+ "description": "是否显示拖拽区域"
574
+ }
575
+ ],
576
+ "events": [
577
+ {
578
+ "name": "update:fileList",
579
+ "description": "文件列表变化"
580
+ },
581
+ {
582
+ "name": "success",
583
+ "description": "上传成功"
584
+ },
585
+ {
586
+ "name": "error",
587
+ "description": "上传失败"
588
+ },
589
+ {
590
+ "name": "exceed",
591
+ "description": "超出数量限制"
592
+ },
593
+ {
594
+ "name": "beforeUpload",
595
+ "description": "上传前"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ "name": "DydxIconSelect",
601
+ "description": "图标选择器组件,支持 Ionicons5 图标库",
602
+ "doc-url": "https://github.com/dydx/dydx-naive-ui-for-vue",
603
+ "props": [
604
+ {
605
+ "name": "value",
606
+ "type": "string | null",
607
+ "description": "选中的图标名称 (v-model)"
608
+ },
609
+ {
610
+ "name": "placeholder",
611
+ "type": "string",
612
+ "description": "占位文字"
613
+ },
614
+ {
615
+ "name": "disabled",
616
+ "type": "boolean",
617
+ "description": "是否禁用"
618
+ },
619
+ {
620
+ "name": "clearable",
621
+ "type": "boolean",
622
+ "description": "是否可清空"
623
+ },
624
+ {
625
+ "name": "filterable",
626
+ "type": "boolean",
627
+ "description": "是否可搜索"
628
+ },
629
+ {
630
+ "name": "iconStyle",
631
+ "type": "'outline' | 'sharp' | 'filled' | 'all'",
632
+ "default": "'all'",
633
+ "description": "图标风格过滤"
634
+ }
635
+ ],
636
+ "events": [
637
+ {
638
+ "name": "update:value",
639
+ "description": "选中值变化"
640
+ }
641
+ ]
642
+ }
643
+ ]
644
+ }
645
+ }
646
+ }