@duxweb/dvha-core 1.1.30 → 1.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/components/auth/can.cjs +1 -1
  3. package/dist/cjs/components/auth/index.cjs +1 -0
  4. package/dist/cjs/components/common/icon.cjs +1 -1
  5. package/dist/cjs/components/common/index.cjs +1 -0
  6. package/dist/cjs/components/common/logo.cjs +1 -1
  7. package/dist/cjs/components/index.cjs +1 -0
  8. package/dist/cjs/components/loader/iframe.cjs +1 -1
  9. package/dist/cjs/components/loader/index.cjs +1 -0
  10. package/dist/cjs/components/loader/loader.cjs +1 -1
  11. package/dist/cjs/components/loader/remote/index.cjs +1 -0
  12. package/dist/cjs/components/loader/remote/loader.cjs +1 -1
  13. package/dist/cjs/components/loader/remote/render.cjs +1 -1
  14. package/dist/cjs/components/overlay/index.cjs +1 -0
  15. package/dist/cjs/components/overlay/overlay.cjs +1 -1
  16. package/dist/cjs/components/status/error.cjs +1 -1
  17. package/dist/cjs/components/status/exception.cjs +1 -1
  18. package/dist/cjs/components/status/index.cjs +1 -0
  19. package/dist/cjs/components/status/notAuthorized.cjs +1 -1
  20. package/dist/cjs/components/status/notFound.cjs +1 -1
  21. package/dist/cjs/config/color.cjs +1 -1
  22. package/dist/cjs/directive/index.cjs +1 -0
  23. package/dist/cjs/directive/permission.cjs +1 -1
  24. package/dist/cjs/hooks/auth.cjs +1 -1
  25. package/dist/cjs/hooks/config.cjs +1 -1
  26. package/dist/cjs/hooks/data.cjs +1 -1
  27. package/dist/cjs/hooks/export.cjs +1 -1
  28. package/dist/cjs/hooks/exportCsv.cjs +2 -2
  29. package/dist/cjs/hooks/form.cjs +1 -1
  30. package/dist/cjs/hooks/formExtend.cjs +1 -1
  31. package/dist/cjs/hooks/formValidate.cjs +1 -1
  32. package/dist/cjs/hooks/i18n.cjs +1 -1
  33. package/dist/cjs/hooks/import.cjs +1 -1
  34. package/dist/cjs/hooks/importCsv.cjs +2 -2
  35. package/dist/cjs/hooks/index.cjs +1 -0
  36. package/dist/cjs/hooks/json/index.cjs +1 -1
  37. package/dist/cjs/hooks/json/utils/contextManager.cjs +1 -1
  38. package/dist/cjs/hooks/json/utils/expressionParser.cjs +1 -1
  39. package/dist/cjs/hooks/json/vFor.cjs +1 -1
  40. package/dist/cjs/hooks/json/vIf.cjs +1 -1
  41. package/dist/cjs/hooks/json/vModel.cjs +1 -1
  42. package/dist/cjs/hooks/json/vOn.cjs +1 -1
  43. package/dist/cjs/hooks/json/vShow.cjs +1 -1
  44. package/dist/cjs/hooks/json/vText.cjs +1 -1
  45. package/dist/cjs/hooks/json.cjs +1 -1
  46. package/dist/cjs/hooks/list.cjs +1 -1
  47. package/dist/cjs/hooks/manage.cjs +1 -1
  48. package/dist/cjs/hooks/menu.cjs +1 -1
  49. package/dist/cjs/hooks/overlay.cjs +1 -1
  50. package/dist/cjs/hooks/select.cjs +1 -1
  51. package/dist/cjs/hooks/theme.cjs +4 -8
  52. package/dist/cjs/hooks/tree.cjs +1 -1
  53. package/dist/cjs/hooks/upload/index.cjs +1 -0
  54. package/dist/cjs/hooks/upload/local.cjs +1 -1
  55. package/dist/cjs/hooks/upload/s3.cjs +1 -1
  56. package/dist/cjs/hooks/upload.cjs +1 -1
  57. package/dist/cjs/index.cjs +1 -1
  58. package/dist/cjs/main.cjs +1 -1
  59. package/dist/cjs/preset/authProvider.cjs +1 -1
  60. package/dist/cjs/preset/dataProvider.cjs +1 -1
  61. package/dist/cjs/preset/i18nProvider.cjs +1 -1
  62. package/dist/cjs/preset/index.cjs +1 -0
  63. package/dist/cjs/provider/app.cjs +1 -1
  64. package/dist/cjs/provider/index.cjs +1 -0
  65. package/dist/cjs/provider/tab.cjs +1 -1
  66. package/dist/cjs/router/index.cjs +1 -0
  67. package/dist/cjs/router/route.cjs +1 -1
  68. package/dist/cjs/stores/auth.cjs +1 -1
  69. package/dist/cjs/stores/i18n.cjs +1 -1
  70. package/dist/cjs/stores/index.cjs +1 -0
  71. package/dist/cjs/stores/jsonSchema.cjs +1 -1
  72. package/dist/cjs/stores/manage.cjs +1 -1
  73. package/dist/cjs/stores/route.cjs +1 -1
  74. package/dist/cjs/stores/tab.cjs +1 -1
  75. package/dist/cjs/stores/theme.cjs +1 -1
  76. package/dist/cjs/utils/bus.cjs +1 -1
  77. package/dist/cjs/utils/index.cjs +1 -0
  78. package/dist/cjs/utils/theme.cjs +8 -8
  79. package/dist/cjs/utils/tree.cjs +1 -1
  80. package/dist/esm/_virtual/_rolldown/runtime.js +9 -0
  81. package/dist/esm/components/auth/can.js +17 -36
  82. package/dist/esm/components/auth/index.js +1 -0
  83. package/dist/esm/components/common/icon.js +16 -24
  84. package/dist/esm/components/common/index.js +2 -0
  85. package/dist/esm/components/common/logo.js +50 -49
  86. package/dist/esm/components/index.js +14 -0
  87. package/dist/esm/components/loader/iframe.js +16 -18
  88. package/dist/esm/components/loader/index.js +1 -0
  89. package/dist/esm/components/loader/loader.js +11 -40
  90. package/dist/esm/components/loader/remote/index.js +2 -0
  91. package/dist/esm/components/loader/remote/loader.js +118 -156
  92. package/dist/esm/components/loader/remote/render.js +12 -17
  93. package/dist/esm/components/overlay/index.js +1 -0
  94. package/dist/esm/components/overlay/overlay.js +54 -70
  95. package/dist/esm/components/status/error.js +7 -9
  96. package/dist/esm/components/status/exception.js +21 -37
  97. package/dist/esm/components/status/index.js +4 -0
  98. package/dist/esm/components/status/notAuthorized.js +7 -9
  99. package/dist/esm/components/status/notFound.js +7 -9
  100. package/dist/esm/config/color.js +288 -290
  101. package/dist/esm/directive/index.js +1 -0
  102. package/dist/esm/directive/permission.js +7 -27
  103. package/dist/esm/hooks/auth.js +154 -120
  104. package/dist/esm/hooks/config.js +11 -9
  105. package/dist/esm/hooks/data.js +416 -415
  106. package/dist/esm/hooks/export.js +32 -36
  107. package/dist/esm/hooks/exportCsv.js +42 -46
  108. package/dist/esm/hooks/form.js +86 -95
  109. package/dist/esm/hooks/formExtend.js +36 -40
  110. package/dist/esm/hooks/formValidate.js +22 -25
  111. package/dist/esm/hooks/i18n.js +14 -18
  112. package/dist/esm/hooks/import.js +45 -54
  113. package/dist/esm/hooks/importCsv.js +90 -83
  114. package/dist/esm/hooks/index.js +31 -0
  115. package/dist/esm/hooks/json/index.js +14 -22
  116. package/dist/esm/hooks/json/utils/contextManager.js +35 -26
  117. package/dist/esm/hooks/json/utils/expressionParser.js +100 -123
  118. package/dist/esm/hooks/json/vFor.js +50 -55
  119. package/dist/esm/hooks/json/vIf.js +17 -16
  120. package/dist/esm/hooks/json/vModel.js +96 -106
  121. package/dist/esm/hooks/json/vOn.js +30 -32
  122. package/dist/esm/hooks/json/vShow.js +20 -22
  123. package/dist/esm/hooks/json/vText.js +44 -51
  124. package/dist/esm/hooks/json.js +131 -132
  125. package/dist/esm/hooks/list.js +150 -184
  126. package/dist/esm/hooks/manage.js +25 -22
  127. package/dist/esm/hooks/menu.js +57 -61
  128. package/dist/esm/hooks/overlay.js +6 -23
  129. package/dist/esm/hooks/select.js +84 -94
  130. package/dist/esm/hooks/theme.js +289 -219
  131. package/dist/esm/hooks/tree.js +43 -47
  132. package/dist/esm/hooks/upload/index.js +2 -0
  133. package/dist/esm/hooks/upload/local.js +24 -30
  134. package/dist/esm/hooks/upload/s3.js +70 -80
  135. package/dist/esm/hooks/upload.js +256 -272
  136. package/dist/esm/index.js +150 -141
  137. package/dist/esm/main.js +24 -45
  138. package/dist/esm/preset/authProvider.js +62 -68
  139. package/dist/esm/preset/dataProvider.js +154 -180
  140. package/dist/esm/preset/i18nProvider.js +28 -30
  141. package/dist/esm/preset/index.js +3 -0
  142. package/dist/esm/provider/app.js +124 -151
  143. package/dist/esm/provider/index.js +2 -0
  144. package/dist/esm/provider/tab.js +49 -66
  145. package/dist/esm/router/index.js +1 -0
  146. package/dist/esm/router/route.js +39 -46
  147. package/dist/esm/stores/auth.js +51 -46
  148. package/dist/esm/stores/i18n.js +32 -29
  149. package/dist/esm/stores/index.js +7 -0
  150. package/dist/esm/stores/jsonSchema.js +47 -34
  151. package/dist/esm/stores/manage.js +63 -48
  152. package/dist/esm/stores/route.js +60 -56
  153. package/dist/esm/stores/tab.js +55 -60
  154. package/dist/esm/stores/theme.js +48 -55
  155. package/dist/esm/utils/bus.js +3 -5
  156. package/dist/esm/utils/index.js +3 -0
  157. package/dist/esm/utils/theme.js +110 -93
  158. package/dist/esm/utils/tree.js +28 -37
  159. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./utils/contextManager.cjs"),l=require("./utils/expressionParser.cjs"),u={name:"v-show",priority:95,process(a,t){const o=a.attrs?.["v-show"];if(o===void 0)return null;const c=r.extractContext(t),n=r.evaluateCondition(o,c,l.evaluateExpression),e={...t};delete e["v-show"];const s=e.style||{},i=typeof s=="object"?{...s,display:n?void 0:"none"}:{display:n?void 0:"none"};return{props:{...e,style:i}}}};exports.vShowAdaptor=u;
1
+ const e=require(`./utils/contextManager.cjs`),t=require(`./utils/expressionParser.cjs`),n={name:`v-show`,priority:95,process(n,r){let i=n.attrs?.[`v-show`];if(i===void 0)return null;let a=e.evaluateCondition(i,e.extractContext(r),t.evaluateExpression),o={...r};delete o[`v-show`];let s=o.style||{},c=typeof s==`object`?{...s,display:a?void 0:`none`}:{display:a?void 0:`none`};return{props:{...o,style:c}}}};exports.vShowAdaptor=n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./utils/expressionParser.cjs");function l(e){return typeof e=="string"&&/\{\{.+?\}\}/.test(e)}function f(e,o){return l(e)?e.replace(/\{\{([^}]+)\}\}/g,(c,t)=>{try{const n=u.evaluateExpression(t.trim(),o);return String(n??"")}catch(n){return console.warn(`Interpolation expression evaluation failed: ${t}`,n),c}}):e}const h={name:"v-text",priority:50,process(e,o){const c=o._context||{};let t=!1,n=!1;const i={};Object.entries(o).forEach(([r,s])=>{if(typeof s=="string"&&l(s)){const p=f(s,c);p!==s?(i[r]=p,t=!0):i[r]=s}else i[r]=s});let a=e.children;if(typeof e.children=="string"&&l(e.children)){const r=f(e.children,c);r!==e.children&&(a=r,t=!0,n=!0)}if(!t)return null;if(n){const r={...e,attrs:e.attrs,children:a};return{props:i,nodes:[r]}}return{props:i}}};exports.vTextAdaptor=h;
1
+ const e=require(`./utils/expressionParser.cjs`);function t(e){return typeof e==`string`&&/\{\{.+?\}\}/.test(e)}function n(n,r){return t(n)?n.replace(/\{\{([^}]+)\}\}/g,(t,n)=>{try{let t=e.evaluateExpression(n.trim(),r);return String(t??``)}catch(e){return console.warn(`Interpolation expression evaluation failed: ${n}`,e),t}}):n}const r={name:`v-text`,priority:50,process(e,r){let i=r._context||{},a=!1,o=!1,s={};Object.entries(r).forEach(([e,r])=>{if(typeof r==`string`&&t(r)){let t=n(r,i);t===r?s[e]=r:(s[e]=t,a=!0)}else s[e]=r});let c=e.children;if(typeof e.children==`string`&&t(e.children)){let t=n(e.children,i);t!==e.children&&(c=t,a=!0,o=!0)}return a?o?{props:s,nodes:[{...e,attrs:e.attrs,children:c}]}:{props:s}:null}};exports.vTextAdaptor=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),v=require("../stores/jsonSchema.cjs"),N=require("./config.cjs"),V=require("./json/index.cjs"),$=require("./json/utils/contextManager.cjs");function z(n){return n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function b(n,m){Array.isArray(n)?n.forEach(c=>{const i=c;let d=i.name;!d&&i.__name&&(d=i.__name.replace(/\.(vue|ts|tsx|js|jsx)$/,"").split("/").pop()),d&&m.addComponent(s.markRaw(c),d)}):typeof n=="object"&&n!==null&&Object.entries(n).forEach(([c,i])=>{m.addComponent(s.markRaw(i),c)})}function P(n,m){const c=v.useJsonSchemaStore(m);n.jsonSchema?.components&&b(n.jsonSchema.components,c),n.manages?.forEach(i=>{i.jsonSchema?.components&&b(i.jsonSchema.components,c)})}function T(n){const m=N.useConfig(),c=v.useJsonSchemaStore(),i=[...V.defaultAdaptors,...m.jsonSchema?.adaptors||[],...n?.adaptors||[]];n?.components&&b(n.components,c);const d=s.computed(()=>s.isRef(n?.data)?n?.data.value:n?.data);function A(){return(s.isRef(n?.context)?n?.context.value:n?.context)||{}}function _(e){const r={};return Object.entries(e).forEach(([t,o])=>{if(t==="_context")return;const j=t==="modelValue"||t.startsWith("modelValue")||t!=="value"&&(t.includes("model")||t.includes("Model"));r[t]=j&&s.isRef(o)?s.unref(o):o}),r}function y(e,r,t){if(typeof e=="string")return e;if(typeof e=="function")return y(e(r),r,t);if(Array.isArray(e))return e.flatMap(o=>y(o,r,t)).filter(Boolean);if(e?.tag){const o={...t,...r};return p(e,!0,o)}return e}function M(e,r,t){if(e)return typeof e=="string"?e:Array.isArray(e)?e.flatMap(o=>typeof o=="string"?o:p(o,r,t)).filter(Boolean):p(e,r,t)}function p(e,r=!1,t={}){const{tag:o,attrs:j={},children:O,slots:B}=e,h={...A(),...t};let g={...j};Object.keys(h).length>0&&(g={...g,...$.injectContext({},h)});for(const f of i){const a=f.process(e,g);if(a){if(g=a.props,a.skip)return null;if(a.nodes)return a.nodes.map(l=>{const S=l.attrs?._context||{};return p(l,r,{...h,...S})}).filter(Boolean)}}let u=typeof o=="string"&&(f=>{let a=c.getComponentByName(f);if(a)return a;const l=z(f);if(a=c.getComponentByName(l),a)return a;const S=f.replace(/-([a-z])/g,(R,w)=>w.toUpperCase()).replace(/^[a-z]/,R=>R.toUpperCase());return a=c.getComponentByName(S),a||null})(o)||o;typeof u!="string"&&typeof u=="object"&&(u=s.markRaw(u));const J=typeof u!="string",C=_(g);if(B&&J&&!r){const f={};return Object.entries(B).forEach(([a,l])=>{f[a]=(S={})=>y(l,S,h)}),s.h(u,C,f)}const x=M(O,r,h);return J&&x!==void 0?s.h(u,C,{default:()=>x}):s.h(u,C,x)}const q=s.defineComponent({name:"JsonSchemaRenderer",render(){return d.value?.map(e=>p(e)).filter(Boolean)||[]}});function E(e){return s.defineComponent({name:"DynamicJsonSchemaRenderer",render(){const r={...A(),...e.context};return e.data?.map(t=>p(t,!1,r)).filter(Boolean)}})}return{render:q,renderAsync:E}}exports.initJsonSchemaComponents=P;exports.useJsonSchema=T;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../stores/jsonSchema.cjs`),t=require(`./config.cjs`),n=require(`./json/utils/contextManager.cjs`),r=require(`./json/index.cjs`);let i=require(`vue`);function a(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase()}function o(e,t){Array.isArray(e)?e.forEach(e=>{let n=e,r=n.name;!r&&n.__name&&(r=n.__name.replace(/\.(vue|ts|tsx|js|jsx)$/,``).split(`/`).pop()),r&&t.addComponent((0,i.markRaw)(e),r)}):typeof e==`object`&&e&&Object.entries(e).forEach(([e,n])=>{t.addComponent((0,i.markRaw)(n),e)})}function s(t,n){let r=e.useJsonSchemaStore(n);t.jsonSchema?.components&&o(t.jsonSchema.components,r),t.manages?.forEach(e=>{e.jsonSchema?.components&&o(e.jsonSchema.components,r)})}function c(s){let c=t.useConfig(),l=e.useJsonSchemaStore(),u=[...r.defaultAdaptors,...c.jsonSchema?.adaptors||[],...s?.adaptors||[]];s?.components&&o(s.components,l);let d=(0,i.computed)(()=>(0,i.isRef)(s?.data)?s?.data.value:s?.data);function f(){return((0,i.isRef)(s?.context)?s?.context.value:s?.context)||{}}function p(e){let t={};return Object.entries(e).forEach(([e,n])=>{e!==`_context`&&(t[e]=(e===`modelValue`||e.startsWith(`modelValue`)||e!==`value`&&(e.includes(`model`)||e.includes(`Model`)))&&(0,i.isRef)(n)?(0,i.unref)(n):n)}),t}function m(e,t,n){return typeof e==`string`?e:typeof e==`function`?m(e(t),t,n):Array.isArray(e)?e.flatMap(e=>m(e,t,n)).filter(Boolean):e?.tag?g(e,!0,{...n,...t}):e}function h(e,t,n){if(e)return typeof e==`string`?e:Array.isArray(e)?e.flatMap(e=>typeof e==`string`?e:g(e,t,n)).filter(Boolean):g(e,t,n)}function g(e,t=!1,r={}){let{tag:o,attrs:s={},children:c,slots:d}=e,_={...f(),...r},v={...s};Object.keys(_).length>0&&(v={...v,...n.injectContext({},_)});for(let n of u){let r=n.process(e,v);if(r){if(v=r.props,r.skip)return null;if(r.nodes)return r.nodes.map(e=>{let n=e.attrs?._context||{};return g(e,t,{..._,...n})}).filter(Boolean)}}let y=typeof o==`string`&&(e=>{let t=l.getComponentByName(e);if(t)return t;let n=a(e);if(t=l.getComponentByName(n),t)return t;let r=e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()).replace(/^[a-z]/,e=>e.toUpperCase());return t=l.getComponentByName(r),t||null})(o)||o;typeof y!=`string`&&typeof y==`object`&&(y=(0,i.markRaw)(y));let b=typeof y!=`string`,x=p(v);if(d&&b&&!t){let e={};return Object.entries(d).forEach(([t,n])=>{e[t]=(e={})=>m(n,e,_)}),(0,i.h)(y,x,e)}let S=h(c,t,_);return b&&S!==void 0?(0,i.h)(y,x,{default:()=>S}):(0,i.h)(y,x,S)}let _=(0,i.defineComponent)({name:`JsonSchemaRenderer`,render(){return d.value?.map(e=>g(e)).filter(Boolean)||[]}});function v(e){return(0,i.defineComponent)({name:`DynamicJsonSchemaRenderer`,render(){let t={...f(),...e.context};return e.data?.map(e=>g(e,!1,t)).filter(Boolean)}})}return{render:_,renderAsync:v}}exports.initJsonSchemaComponents=s,exports.useJsonSchema=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("@vueuse/core"),a=require("vue"),E=require("./data.cjs"),C=require("./exportCsv.cjs"),Q=require("./importCsv.cjs");function W(t){const s=a.ref(a.unref(t.filters)||{}),r=a.ref(a.unref(t.sorters)||{}),o=a.toRef(typeof t.pagination=="object"?t.pagination:{page:1,pageSize:20}),d=[10,20,30,40,50,100],h=e=>d.includes(e)?d:Array.from({length:5},(c,N)=>e*(N+1)),g=a.ref(h(o.value.pageSize));a.watch(()=>o.value.pageSize,e=>{g.value.includes(e)||(g.value=h(e))});const P=e=>{o.value.pageSize=e,o.value.page=1},z=e=>{o.value.page=e},{data:u,isLoading:L,refetch:w}=E.useList({path:t.path,pagination:t.pagination?o.value:!1,filters:s,sorters:r}),b=a.computed(()=>u.value?.data||[]),f=a.computed(()=>u.value?.meta||{}),m=a.computed(()=>t.total?.(u.value)||f.value?.[t.totalField||"total"]||0),I=a.computed(()=>Math.ceil(m.value/o.value.pageSize)||0);a.watch(()=>a.unref(t.filters),e=>{s.value=e||{}},{deep:!0}),a.watch(()=>a.unref(t.sorters),e=>{r.value=e||{}},{deep:!0});const k=e=>{s.value=e},y=e=>{r.value=e},n=a.ref([]),p=a.computed(()=>n.value.length>0&&n.value.length===u.value?.data?.length),R=a.computed(()=>n.value.length>0&&n.value.length<(u.value?.data?.length||0)),U=e=>{const c=n.value.indexOf(e);c>-1?n.value.splice(c,1):n.value.push(e)},q=e=>{n.value=e},F=e=>n.value.includes(e),M=()=>{p.value?n.value=[]:n.value=u.value?.data?.map(e=>e[t.key||"id"]).filter(e=>e!=null)||[]};a.watch(()=>u.value?.data,()=>{n.value=[]});const l=()=>{n.value=[],w()},v=a.ref({page:1,pageSize:100}),{trigger:A,isLoading:B}=C.useExportCsv({path:t.path,filters:s.value||{},sorters:r.value||{},maxPage:()=>t.exportMaxPage||0,pagination:v.value,filename:t.exportFilename||"data.csv",onSuccess:e=>{t.onExportSuccess?.(e),v.value.page=1},onProgress:e=>{t.onExportProgress?.(e)},onError:e=>{t.onExportError?.(e),v.value.page=1}}),O=S.reactiveComputed(()=>({ids:n.value})),{trigger:j,isLoading:T}=C.useExportCsv({path:t.path,filters:O,maxPage:1,filename:t.exportFilename||"rows.csv",onSuccess:e=>{t.onExportSuccess?.(e)},onError:e=>{t.onExportError?.(e)}}),{open:$,isLoading:V}=Q.useImportCsv({path:t.path,onComplete:e=>{t.onImportSuccess?.(e)},onProgress:e=>{t.onImportProgress?.(e)},onError:e=>{t.onImportError?.(e)}}),i=a.ref(!1),{remaining:_,start:x,stop:D}=S.useCountdown(10,{onComplete:()=>{l(),x()}}),G=()=>{i.value=!i.value,i.value?(l(),x()):D()},{mutate:H,isLoading:J}=E.useCustomMutation({path:t.batchPath||`${t.path}/batch`,method:"POST",onSuccess:e=>{t?.onBatchSuccess?.(e),n.value=[],l()},onError:e=>{t?.onBatchError?.(e),l()}}),K=(e,c)=>{H({payload:{type:e,ids:n.value,...c||{}}})};return{list:b,meta:f,isLoading:L,pagination:o,filters:s,sorters:r,onRefresh:l,onUpdateFilters:k,onUpdateSorters:y,checkeds:n,isAllChecked:p,isIndeterminate:R,toggleChecked:U,isChecked:F,toggleSelectAll:M,onUpdateChecked:q,total:m,page:a.computed(()=>o.value.page),pageSize:a.computed(()=>o.value.pageSize),pageSizes:g.value,pageCount:I,onUpdatePage:z,onUpdatePageSize:P,onExport:A,isExporting:B,onExportRows:j,isExportingRows:T,onImport:$,isImporting:V,autoRefetch:i,onAutoRefetch:G,autoCountdown:_,onBatch:K,isBatching:J}}exports.useExtendList=W;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./data.cjs`),t=require(`./exportCsv.cjs`),n=require(`./importCsv.cjs`);let r=require(`vue`),i=require(`@vueuse/core`);function a(a){let o=(0,r.ref)((0,r.unref)(a.filters)||{}),s=(0,r.ref)((0,r.unref)(a.sorters)||{}),c=(0,r.toRef)(typeof a.pagination==`object`?a.pagination:{page:1,pageSize:20}),l=[10,20,30,40,50,100],u=e=>l.includes(e)?l:Array.from({length:5},(t,n)=>e*(n+1)),d=(0,r.ref)(u(c.value.pageSize));(0,r.watch)(()=>c.value.pageSize,e=>{d.value.includes(e)||(d.value=u(e))});let f=e=>{c.value.pageSize=e,c.value.page=1},p=e=>{c.value.page=e},{data:m,isLoading:h,refetch:g}=e.useList({path:a.path,pagination:a.pagination?c.value:!1,filters:o,sorters:s}),_=(0,r.computed)(()=>m.value?.data||[]),v=(0,r.computed)(()=>m.value?.meta||{}),y=(0,r.computed)(()=>a.total?.(m.value)||v.value?.[a.totalField||`total`]||0),b=(0,r.computed)(()=>Math.ceil(y.value/c.value.pageSize)||0);(0,r.watch)(()=>(0,r.unref)(a.filters),e=>{o.value=e||{}},{deep:!0}),(0,r.watch)(()=>(0,r.unref)(a.sorters),e=>{s.value=e||{}},{deep:!0});let x=e=>{o.value=e},S=e=>{s.value=e},C=(0,r.ref)([]),w=(0,r.computed)(()=>C.value.length>0&&C.value.length===m.value?.data?.length),T=(0,r.computed)(()=>C.value.length>0&&C.value.length<(m.value?.data?.length||0)),E=e=>{let t=C.value.indexOf(e);t>-1?C.value.splice(t,1):C.value.push(e)},D=e=>{C.value=e},O=e=>C.value.includes(e),k=()=>{w.value?C.value=[]:C.value=m.value?.data?.map(e=>e[a.key||`id`]).filter(e=>e!=null)||[]};(0,r.watch)(()=>m.value?.data,()=>{C.value=[]});let A=()=>{C.value=[],g()},j=(0,r.ref)({page:1,pageSize:100}),{trigger:M,isLoading:N}=t.useExportCsv({path:a.path,filters:o.value||{},sorters:s.value||{},maxPage:()=>a.exportMaxPage||0,pagination:j.value,filename:a.exportFilename||`data.csv`,onSuccess:e=>{a.onExportSuccess?.(e),j.value.page=1},onProgress:e=>{a.onExportProgress?.(e)},onError:e=>{a.onExportError?.(e),j.value.page=1}}),P=(0,i.reactiveComputed)(()=>({ids:C.value})),{trigger:F,isLoading:I}=t.useExportCsv({path:a.path,filters:P,maxPage:1,filename:a.exportFilename||`rows.csv`,onSuccess:e=>{a.onExportSuccess?.(e)},onError:e=>{a.onExportError?.(e)}}),{open:L,isLoading:R}=n.useImportCsv({path:a.path,onComplete:e=>{a.onImportSuccess?.(e)},onProgress:e=>{a.onImportProgress?.(e)},onError:e=>{a.onImportError?.(e)}}),z=(0,r.ref)(!1),{remaining:B,start:V,stop:H}=(0,i.useCountdown)(10,{onComplete:()=>{A(),V()}}),U=()=>{z.value=!z.value,z.value?(A(),V()):H()},{mutate:W,isLoading:G}=e.useCustomMutation({path:a.batchPath||`${a.path}/batch`,method:`POST`,onSuccess:e=>{a?.onBatchSuccess?.(e),C.value=[],A()},onError:e=>{a?.onBatchError?.(e),A()}});return{list:_,meta:v,isLoading:h,pagination:c,filters:o,sorters:s,onRefresh:A,onUpdateFilters:x,onUpdateSorters:S,checkeds:C,isAllChecked:w,isIndeterminate:T,toggleChecked:E,isChecked:O,toggleSelectAll:k,onUpdateChecked:D,total:y,page:(0,r.computed)(()=>c.value.page),pageSize:(0,r.computed)(()=>c.value.pageSize),pageSizes:d.value,pageCount:b,onUpdatePage:p,onUpdatePageSize:f,onExport:M,isExporting:N,onExportRows:F,isExportingRows:I,onImport:L,isImporting:R,autoRefetch:z,onAutoRefetch:U,autoCountdown:B,onBatch:(e,t)=>{W({payload:{type:e,ids:C.value,...t||{}}})},isBatching:G}}exports.useExtendList=a;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("lodash-es"),c=require("vue"),g=require("vue-router");require("pinia");const f=require("../stores/manage.cjs");function d(r){const o=c.inject("dux.manage");if(r||(r=o?.value),!r)throw new Error("manage name is not defined");const{config:e}=f.useManageStore(r),u=t=>`${e?.routePrefix}/${n.trimStart(t||"","/")}`,i=(t,a)=>e?.dataProvider?.[a||"default"]?.apiUrl?.(t,e?.apiBasePath)||"",s=g.useRoute();return{config:e,getRoutePath:u,getApiUrl:i,getPath:()=>{const t=s.path,a=e?.routePrefix||"";return n.trimStart(t.replace(a,""),"/")}}}exports.useManage=d;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../stores/manage.cjs`);require(`../stores/index.cjs`);let t=require(`vue`),n=require(`vue-router`),r=require(`lodash-es`);function i(i){let a=(0,t.inject)(`dux.manage`);if(i||=a?.value,!i)throw Error(`manage name is not defined`);let{config:o}=e.useManageStore(i),s=e=>`${o?.routePrefix}/${(0,r.trimStart)(e||``,`/`)}`,c=(e,t)=>(o?.dataProvider?.[t||`default`])?.apiUrl?.(e,o?.apiBasePath)||``,l=(0,n.useRoute)();return{config:o,getRoutePath:s,getApiUrl:c,getPath:()=>{let e=l.path,t=o?.routePrefix||``;return(0,r.trimStart)(e.replace(t,``),`/`)}}}exports.useManage=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("lodash-es"),q=require("pinia"),t=require("vue"),L=require("vue-router"),S=require("../stores/route.cjs");require("../utils/bus.cjs");const c=require("../utils/tree.cjs");function x(u){const p=S.useRouteStore(),{routes:M}=q.storeToRefs(p),v=(e=!0)=>y.cloneDeep(M.value)?.filter(n=>!!n?.name).filter(n=>!e||n.hidden===void 0||n.hidden===!1),d=t.computed(()=>{const e=v(!1);return c.arrayToTree(e,{idKey:"name",parentKey:"parent",childrenKey:"children",sortKey:"sort"},void 0)}),a=t.computed(()=>{const e=v();return c.arrayToTree(e,{idKey:"name",parentKey:"parent",childrenKey:"children",sortKey:"sort"},void 0)}),o=L.useRoute(),h=t.ref(o.name),r=t.ref(o.name),s=t.ref(o.name),K=t.computed(()=>u?.doubleMenu?y.cloneDeep(a.value)?.map(n=>(delete n.children,n)):a.value),f=t.computed(()=>u?.doubleMenu?a.value?.find(n=>n.name===r.value)?.children||[]:[]),g=t.computed(()=>c.searchTree(d.value,n=>n?.name===o.name));t.watch(()=>u?.doubleMenu,()=>{if(u?.doubleMenu){const e=c.searchTree(a.value,n=>n?.name===r.value);r.value=e?.[0]?.name,s.value=e?.[e.length-1]?.name}else{const e=c.searchTree(a.value,n=>n?.name===s.value);r.value=e?.[e.length-1]?.name,s.value=e?.[e.length-1]?.name}},{immediate:!0});const T=t.computed(()=>u?.doubleMenu?f.value.length>0:!0);return t.watch([o,d,()=>u?.doubleMenu],()=>{const e=c.searchTree(d.value,i=>i.name===o.name),m=(i=>{let b=-1;for(let l=i.length-1;l>=0;l--)if(i[l].hidden===!1||i[l].hidden===void 0){b=l;break}return b})(e);h.value=e?.[m]?.name,u?.doubleMenu?(r.value=e?.[0]?.name,s.value=e?.[m]?.name):(r.value=e?.[m]?.name,s.value=e?.[m]?.name)},{immediate:!0}),{data:a,originalData:d,getMenu:v,mainMenu:K,subMenu:f,isSubMenu:T,crumbs:g,active:h,appActive:r,subActive:s}}exports.useMenu=x;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../stores/route.cjs`);require(`../stores/index.cjs`);const t=require(`../utils/tree.cjs`);require(`../utils/index.cjs`);let n=require(`vue`),r=require(`vue-router`),i=require(`pinia`),a=require(`lodash-es`);function o(o){let{routes:s}=(0,i.storeToRefs)(e.useRouteStore()),c=(e=!0)=>(0,a.cloneDeep)(s.value)?.filter(e=>!!e?.name).filter(t=>!e||t.hidden===void 0||t.hidden===!1),l=(0,n.computed)(()=>t.arrayToTree(c(!1),{idKey:`name`,parentKey:`parent`,childrenKey:`children`,sortKey:`sort`},void 0)),u=(0,n.computed)(()=>t.arrayToTree(c(),{idKey:`name`,parentKey:`parent`,childrenKey:`children`,sortKey:`sort`},void 0)),d=(0,r.useRoute)(),f=(0,n.ref)(d.name),p=(0,n.ref)(d.name),m=(0,n.ref)(d.name),h=(0,n.computed)(()=>o?.doubleMenu?(0,a.cloneDeep)(u.value)?.map(e=>(delete e.children,e)):u.value),g=(0,n.computed)(()=>o?.doubleMenu&&u.value?.find(e=>e.name===p.value)?.children||[]),_=(0,n.computed)(()=>t.searchTree(l.value,e=>e?.name===d.name));(0,n.watch)(()=>o?.doubleMenu,()=>{if(o?.doubleMenu){let e=t.searchTree(u.value,e=>e?.name===p.value);p.value=e?.[0]?.name,m.value=e?.[e.length-1]?.name}else{let e=t.searchTree(u.value,e=>e?.name===m.value);p.value=e?.[e.length-1]?.name,m.value=e?.[e.length-1]?.name}},{immediate:!0});let v=(0,n.computed)(()=>o?.doubleMenu?g.value.length>0:!0);return(0,n.watch)([d,l,()=>o?.doubleMenu],()=>{let e=t.searchTree(l.value,e=>e.name===d.name),n=(e=>{let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].hidden===!1||e[n].hidden===void 0){t=n;break}return t})(e);f.value=e?.[n]?.name,o?.doubleMenu?(p.value=e?.[0]?.name,m.value=e?.[n]?.name):(p.value=e?.[n]?.name,m.value=e?.[n]?.name)},{immediate:!0}),{data:u,originalData:l,getMenu:c,mainMenu:h,subMenu:g,isSubMenu:v,crumbs:_,active:f,appActive:p,subActive:m}}exports.useMenu=o;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@overlastic/vue");require("vue");require("vue-router");require("pinia");require("lodash-es");require("@tanstack/vue-query");require("json-2-csv");require("@vee-validate/rules");require("vee-validate");require("@vueuse/core");require("./json/index.cjs");require("../utils/bus.cjs");require("colorizr");require("axios");require("clsx");const i=require("../components/overlay/overlay.cjs");function q(){const e=u.useOverlay(i.DuxOverlay);return{show:r=>e(r)}}exports.useOverlay=q;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../components/overlay/overlay.cjs`);require(`../components/index.cjs`);let t=require(`@overlastic/vue`);function n(){let n=(0,t.useOverlay)(e.DuxOverlay);return{show:e=>n(e)}}exports.useOverlay=n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("lodash-es"),a=require("vue"),S=require("./data.cjs");function A(r){const s=a.toRef(r,"defaultValue"),c=a.ref(),i=a.computed(()=>a.unref(r.path)||""),d=a.computed(()=>a.unref(r.params)||{}),f=a.computed(()=>a.unref(r.providerName)),v=a.ref({page:1,pageSize:typeof r.pagination=="number"?r.pagination:r.pagination?20:0}),g=a.ref(!1),l=a.reactive({keyword:"",...d.value}),V=w.debounce(e=>{c.value=e,l.keyword=e},r.debounce||300),O=e=>{V(e)};a.watch(d,e=>{const t=e||{};Object.keys(l).forEach(n=>{n!=="keyword"&&(n in t||delete l[n])}),Object.entries(t).forEach(([n,o])=>{l[n]=o}),l.keyword=c.value||""},{deep:!0,immediate:!0});const{data:p,isLoading:m,total:E,pageCount:k,refetch:x}=S.useList({get path(){return i.value},filters:l,get pagination(){return r.pagination?v.value:void 0},get providerName(){return f.value}}),y=a.ref([]),h=e=>{const t=r.optionField||r.optionValue;return typeof t=="string"?e[t]||e.value||e.id:typeof t=="function"?t(e):e.value||e.id},N=e=>{const{optionLabel:t="label",optionValue:n="value"}=r;let o;typeof t=="function"?o=t(e):typeof t=="string"?o=e[t]||e.label||e.name||e.title||String(e.value||e.id||""):o=e.label||e.name||e.title||String(e.value||e.id||"");let u;return typeof n=="function"?u=n(e):typeof n=="string"?u=e[n]||e.value||e.id:u=e.value||e.id,{label:o,value:u,raw:e}},b=a.computed(()=>{const e=p.value?.data||[],t=[...y.value];return e.forEach(n=>{t.some(u=>h(u)===h(n))||t.push(n)}),t.map(n=>N(n))}),P=a.computed(()=>p.value?.meta||{}),{refetch:j}=S.useMany({get path(){return i.value},get ids(){return w.isArray(s.value)?s.value:[s.value]},options:{enabled:!1},providerName:f.value});a.watch(s,async e=>{if(!(g.value||!e||(g.value=!0,(Array.isArray(e)?e:[e]).every(o=>b.value.some(u=>u.value===o)))))try{const o=await j();y.value=o?.data?.data||[]}catch(o){console.warn("Failed to fetch selected items:",o)}},{immediate:!0,deep:!0});const q=a.computed(()=>m.value);return{onSearch:O,options:b,meta:P,loading:q,refetch:x,pagination:v,total:E,pageCount:k}}exports.useSelect=A;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./data.cjs`);let t=require(`vue`),n=require(`lodash-es`);function r(r){let i=(0,t.toRef)(r,`defaultValue`),a=(0,t.ref)(),o=(0,t.computed)(()=>(0,t.unref)(r.path)||``),s=(0,t.computed)(()=>(0,t.unref)(r.params)||{}),c=(0,t.computed)(()=>(0,t.unref)(r.providerName)),l=(0,t.ref)({page:1,pageSize:typeof r.pagination==`number`?r.pagination:r.pagination?20:0}),u=(0,t.ref)(!1),d=(0,t.reactive)({keyword:``,...s.value}),f=(0,n.debounce)(e=>{a.value=e,d.keyword=e},r.debounce||300),p=e=>{f(e)};(0,t.watch)(s,e=>{let t=e||{};Object.keys(d).forEach(e=>{e!==`keyword`&&(e in t||delete d[e])}),Object.entries(t).forEach(([e,t])=>{d[e]=t}),d.keyword=a.value||``},{deep:!0,immediate:!0});let{data:m,isLoading:h,total:g,pageCount:_,refetch:v}=e.useList({get path(){return o.value},filters:d,get pagination(){return r.pagination?l.value:void 0},get providerName(){return c.value}}),y=(0,t.ref)([]),b=e=>{let t=r.optionField||r.optionValue;return typeof t==`string`?e[t]||e.value||e.id:typeof t==`function`?t(e):e.value||e.id},x=e=>{let{optionLabel:t=`label`,optionValue:n=`value`}=r,i;i=typeof t==`function`?t(e):typeof t==`string`?e[t]||e.label||e.name||e.title||String(e.value||e.id||``):e.label||e.name||e.title||String(e.value||e.id||``);let a;return a=typeof n==`function`?n(e):typeof n==`string`?e[n]||e.value||e.id:e.value||e.id,{label:i,value:a,raw:e}},S=(0,t.computed)(()=>{let e=m.value?.data||[],t=[...y.value];return e.forEach(e=>{t.some(t=>b(t)===b(e))||t.push(e)}),t.map(e=>x(e))}),C=(0,t.computed)(()=>m.value?.meta||{}),{refetch:w}=e.useMany({get path(){return o.value},get ids(){return(0,n.isArray)(i.value)?i.value:[i.value]},options:{enabled:!1},providerName:c.value});return(0,t.watch)(i,async e=>{if(!(u.value||!e)&&(u.value=!0,!(Array.isArray(e)?e:[e]).every(e=>S.value.some(t=>t.value===e))))try{y.value=(await w())?.data?.data||[]}catch(e){console.warn(`Failed to fetch selected items:`,e)}},{immediate:!0,deep:!0}),{onSearch:p,options:S,meta:C,loading:(0,t.computed)(()=>h.value),refetch:v,pagination:l,total:g,pageCount:_}}exports.useSelect=r;
@@ -1,8 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("@vueuse/core"),F=require("colorizr"),H=require("pinia"),s=require("vue"),J=require("../config/color.cjs");require("lodash-es");const K=require("../stores/theme.cjs"),Q=require("./manage.cjs");function W(){const u=K.useThemeStore(),{mode:E}=H.storeToRefs(u),$=q.useColorMode({storageRef:E}),d=Q.useManage(),{state:S,next:L,go:v}=q.useCycleList(["dark","light","auto"],{initialValue:$.store.value});s.watchEffect(()=>{$.value=S.value});const V=t=>{switch(t){case"auto":v(2);break;case"light":v(1);break;case"dark":v(0);break}},f=s.computed(()=>{const{system:t,store:e}=$;return e.value==="auto"?t.value==="dark":e.value==="dark"}),y=s.computed(()=>f.value?{logo:d.config?.theme?.darkLogo,appLogo:d.config?.theme?.appDarkLogo,banner:d.config?.theme?.darkBanner}:{logo:d.config?.theme?.logo,appLogo:d.config?.theme?.appLogo,banner:d.config?.theme?.banner}),r={...{colors:J.themeColor,colorTypes:["primary","info","success","warning","error","gray"],colorShades:["50","100","200","300","400","500","600","700","800","900","950"],colorScenes:{light:{default:{default:"600",hover:"600",pressed:"700",focus:"500",disabled:"300"}},dark:{default:{default:"500",hover:"400",pressed:"300",focus:"500",disabled:"600"}}},colorSemantic:{light:{text:{dimmed:"300",muted:"400",toned:"600",base:"800",highlighted:"900",inverted:"white"},bg:{base:"white",muted:"50",elevated:"100",accented:"200",inverted:"900"},border:{base:"100",muted:"200",accented:"300",inverted:"900"}},dark:{text:{dimmed:"600",muted:"500",toned:"300",base:"400",highlighted:"100",inverted:"black"},bg:{base:"950",muted:"900",elevated:"800",accented:"700",inverted:"100"},border:{base:"900",muted:"800",accented:"700",inverted:"100"}}},colorBase:{white:"#ffffff",black:"#000000"}},...d.config?.theme?.config},{colorShades:C,colorTypes:k}=r,g=s.computed(()=>u.theme),h=s.computed(()=>Object.keys(r.colors)),x=["default","hover","pressed","focus","disabled"];function B(){return f.value?r.colorScenes.dark:r.colorScenes.light}function w(t,e){const o=B(),l=o.default;if(o.overrides?.[t]){const i=o.overrides[t]?.[e];if(i)return i}return l[e]||"500"}function T(t,e){const o=g.value[t];return r.colors[o]?.[e]||""}function n(t,e,o){const c=(f.value?r.colorSemantic.dark:r.colorSemantic.light)[t][e];return c==="white"||c==="black"?`var(--ui-color-${c})`:`var(--base-color-${o}-${c})`}const p=t=>{const e=F.hex2rgb(t);return`${e.r} ${e.g} ${e.b}`};function M(){const t=[];Object.entries(r.colors).forEach(([c,i])=>{typeof i=="object"&&Object.entries(i).forEach(([a,m])=>{try{t.push(`--base-color-${c}-${a}: ${p(m)};`)}catch{t.push(`--base-color-${c}-${a}: ${m};`)}})});const e=[];k.forEach(c=>{const i=g.value[c];C.forEach(a=>{e.push(`--ui-color-${c}-${a}: var(--base-color-${i}-${a});`)}),x.forEach(a=>{const m=w(c,a);a==="default"?e.push(`--ui-color-${c}: var(--base-color-${i}-${m});`):e.push(`--ui-color-${c}-${a}: var(--base-color-${i}-${m});`)})});const o=g.value.gray,l=[`--ui-color-white: ${p(r.colorBase?.white||"#ffffff")};`,`--ui-color-black: ${p(r.colorBase?.black||"#000000")};`,`--ui-text-dimmed: ${n("text","dimmed",o)};`,`--ui-text-muted: ${n("text","muted",o)};`,`--ui-text-toned: ${n("text","toned",o)};`,`--ui-text: ${n("text","base",o)};`,`--ui-text-highlighted: ${n("text","highlighted",o)};`,`--ui-text-inverted: ${n("text","inverted",o)};`,`--ui-bg: ${n("bg","base",o)};`,`--ui-bg-muted: ${n("bg","muted",o)};`,`--ui-bg-elevated: ${n("bg","elevated",o)};`,`--ui-bg-accented: ${n("bg","accented",o)};`,`--ui-bg-inverted: ${n("bg","inverted",o)};`,`--ui-border: ${n("border","base",o)};`,`--ui-border-muted: ${n("border","muted",o)};`,`--ui-border-accented: ${n("border","accented",o)};`,`--ui-border-inverted: ${n("border","inverted",o)};`];return`:root {
2
- ${t.join(`
3
- `)}
4
- ${e.join(`
5
- `)}
6
- ${l.join(`
7
- `)}
8
- }`}let b=null;function j(){const t=M();b||(b=document.createElement("style"),b.id="dvha-variables",document.head.appendChild(b)),b.textContent=t}function O(){u.cssInit||(u.setCssInit(),j())}s.watch([g,f],()=>{u.cssInit&&j()},{deep:!0,immediate:!1});function I(t,e){h.value.includes(e)?u.setThemeColor(t,e):console.warn(`Color "${e}" is not available`)}function z(t){u.setThemeColors(t)}function R(){u.resetTheme()}function D(t,e,o=!1){return o?`--ui-color-${t}-${e}`:T(t,e)}function U(t,e,o=!1){if(e||(e="default"),o)return e==="default"?`--ui-color-${t})`:`--ui-color-${t}-${e})`;const l=w(t,e);return T(t,l)}function G(t,e,o=!1){if(o){let a;switch(t){case"text":a=e==="base"?"--ui-text":`--ui-text-${e}`;break;case"bg":a=e==="base"?"--ui-bg":`--ui-bg-${e}`;break;case"border":a=e==="base"?"--ui-border":`--ui-border-${e}`;break;default:a=`--ui-${t}-${e}`}return`${a}`}const l=g.value.gray,i=(f.value?r.colorSemantic.dark:r.colorSemantic.light)[t][e];return i==="white"?r.colorBase?.white||"#ffffff":i==="black"?r.colorBase?.black||"#000000":r.colors[l]?.[i]||""}const P=s.computed(()=>h.value?.filter(t=>["slate","gray","zinc","neutral","stone"].includes(t))),A=s.computed(()=>h.value?.filter(t=>!["slate","gray","zinc","neutral","stone"].includes(t)));return{toggle:L,mode:S,setMode:V,isDark:f,resources:y,config:s.readonly(r),colorMapping:s.readonly(g),colors:h,neutralColors:P,primaryColors:A,colorShades:C,colorTypes:k,colorScenes:x,cssInit:O,cssReset:R,setColor:I,setColors:z,getSceneColor:U,getShadeColor:D,getSemanticColor:G}}exports.useTheme=W;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../config/color.cjs`),t=require(`../stores/theme.cjs`);require(`../stores/index.cjs`);const n=require(`./manage.cjs`);let r=require(`vue`),i=require(`pinia`),a=require(`@vueuse/core`),o=require(`colorizr`);function s(){let s=t.useThemeStore(),{mode:c}=(0,i.storeToRefs)(s),l=(0,a.useColorMode)({storageRef:c}),u=n.useManage(),{state:d,next:f,go:p}=(0,a.useCycleList)([`dark`,`light`,`auto`],{initialValue:l.store.value});(0,r.watchEffect)(()=>{l.value=d.value});let m=e=>{switch(e){case`auto`:p(2);break;case`light`:p(1);break;case`dark`:p(0);break}},h=(0,r.computed)(()=>{let{system:e,store:t}=l;return t.value===`auto`?e.value===`dark`:t.value===`dark`}),g=(0,r.computed)(()=>h.value?{logo:u.config?.theme?.darkLogo,appLogo:u.config?.theme?.appDarkLogo,banner:u.config?.theme?.darkBanner}:{logo:u.config?.theme?.logo,appLogo:u.config?.theme?.appLogo,banner:u.config?.theme?.banner}),_={colors:e.themeColor,colorTypes:[`primary`,`info`,`success`,`warning`,`error`,`gray`],colorShades:[`50`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`,`950`],colorScenes:{light:{default:{default:`600`,hover:`600`,pressed:`700`,focus:`500`,disabled:`300`}},dark:{default:{default:`500`,hover:`400`,pressed:`300`,focus:`500`,disabled:`600`}}},colorSemantic:{light:{text:{dimmed:`300`,muted:`400`,toned:`600`,base:`800`,highlighted:`900`,inverted:`white`},bg:{base:`white`,muted:`50`,elevated:`100`,accented:`200`,inverted:`900`},border:{base:`100`,muted:`200`,accented:`300`,inverted:`900`}},dark:{text:{dimmed:`600`,muted:`500`,toned:`300`,base:`400`,highlighted:`100`,inverted:`black`},bg:{base:`950`,muted:`900`,elevated:`800`,accented:`700`,inverted:`100`},border:{base:`900`,muted:`800`,accented:`700`,inverted:`100`}}},colorBase:{white:`#ffffff`,black:`#000000`},...u.config?.theme?.config},{colorShades:v,colorTypes:y}=_,b=(0,r.computed)(()=>s.theme),x=(0,r.computed)(()=>Object.keys(_.colors)),S=[`default`,`hover`,`pressed`,`focus`,`disabled`];function C(){return h.value?_.colorScenes.dark:_.colorScenes.light}function w(e,t){let n=C(),r=n.default;if(n.overrides?.[e]){let r=n.overrides[e]?.[t];if(r)return r}return r[t]||`500`}function T(e,t){let n=b.value[e];return _.colors[n]?.[t]||``}function E(e,t,n){let r=(h.value?_.colorSemantic.dark:_.colorSemantic.light)[e][t];return r===`white`||r===`black`?`var(--ui-color-${r})`:`var(--base-color-${n}-${r})`}let D=e=>{let t=(0,o.hex2rgb)(e);return`${t.r} ${t.g} ${t.b}`};function O(){let e=[];Object.entries(_.colors).forEach(([t,n])=>{typeof n==`object`&&Object.entries(n).forEach(([n,r])=>{try{e.push(`--base-color-${t}-${n}: ${D(r)};`)}catch{e.push(`--base-color-${t}-${n}: ${r};`)}})});let t=[];y.forEach(e=>{let n=b.value[e];v.forEach(r=>{t.push(`--ui-color-${e}-${r}: var(--base-color-${n}-${r});`)}),S.forEach(r=>{let i=w(e,r);r===`default`?t.push(`--ui-color-${e}: var(--base-color-${n}-${i});`):t.push(`--ui-color-${e}-${r}: var(--base-color-${n}-${i});`)})});let n=b.value.gray,r=[`--ui-color-white: ${D(_.colorBase?.white||`#ffffff`)};`,`--ui-color-black: ${D(_.colorBase?.black||`#000000`)};`,`--ui-text-dimmed: ${E(`text`,`dimmed`,n)};`,`--ui-text-muted: ${E(`text`,`muted`,n)};`,`--ui-text-toned: ${E(`text`,`toned`,n)};`,`--ui-text: ${E(`text`,`base`,n)};`,`--ui-text-highlighted: ${E(`text`,`highlighted`,n)};`,`--ui-text-inverted: ${E(`text`,`inverted`,n)};`,`--ui-bg: ${E(`bg`,`base`,n)};`,`--ui-bg-muted: ${E(`bg`,`muted`,n)};`,`--ui-bg-elevated: ${E(`bg`,`elevated`,n)};`,`--ui-bg-accented: ${E(`bg`,`accented`,n)};`,`--ui-bg-inverted: ${E(`bg`,`inverted`,n)};`,`--ui-border: ${E(`border`,`base`,n)};`,`--ui-border-muted: ${E(`border`,`muted`,n)};`,`--ui-border-accented: ${E(`border`,`accented`,n)};`,`--ui-border-inverted: ${E(`border`,`inverted`,n)};`];return`:root {\n ${e.join(`
2
+ `)}\n ${t.join(`
3
+ `)}\n ${r.join(`
4
+ `)}\n}`}let k=null;function A(){let e=O();k||(k=document.createElement(`style`),k.id=`dvha-variables`,document.head.appendChild(k)),k.textContent=e}function j(){s.cssInit||(s.setCssInit(),A())}(0,r.watch)([b,h],()=>{s.cssInit&&A()},{deep:!0,immediate:!1});function M(e,t){x.value.includes(t)?s.setThemeColor(e,t):console.warn(`Color "${t}" is not available`)}function N(e){s.setThemeColors(e)}function P(){s.resetTheme()}function F(e,t,n=!1){return n?`--ui-color-${e}-${t}`:T(e,t)}function I(e,t,n=!1){return t||=`default`,n?t===`default`?`--ui-color-${e})`:`--ui-color-${e}-${t})`:T(e,w(e,t))}function L(e,t,n=!1){if(n){let n;switch(e){case`text`:n=t===`base`?`--ui-text`:`--ui-text-${t}`;break;case`bg`:n=t===`base`?`--ui-bg`:`--ui-bg-${t}`;break;case`border`:n=t===`base`?`--ui-border`:`--ui-border-${t}`;break;default:n=`--ui-${e}-${t}`}return`${n}`}let r=b.value.gray,i=(h.value?_.colorSemantic.dark:_.colorSemantic.light)[e][t];return i===`white`?_.colorBase?.white||`#ffffff`:i===`black`?_.colorBase?.black||`#000000`:_.colors[r]?.[i]||``}let R=(0,r.computed)(()=>x.value?.filter(e=>[`slate`,`gray`,`zinc`,`neutral`,`stone`].includes(e))),z=(0,r.computed)(()=>x.value?.filter(e=>![`slate`,`gray`,`zinc`,`neutral`,`stone`].includes(e)));return{toggle:f,mode:d,setMode:m,isDark:h,resources:g,config:(0,r.readonly)(_),colorMapping:(0,r.readonly)(b),colors:x,neutralColors:R,primaryColors:z,colorShades:v,colorTypes:y,colorScenes:S,cssInit:j,cssReset:P,setColor:M,setColors:N,getSceneColor:I,getShadeColor:F,getSemanticColor:L}}exports.useTheme=s;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("../utils/bus.cjs");const s=require("../utils/tree.cjs"),y=require("./data.cjs");function f(t){const l=e.computed(()=>e.unref(t.path)||""),c=e.computed(()=>e.unref(t.params)||{}),h=e.computed(()=>e.unref(t.providerName)),a=e.reactive({...c.value});e.watch(c,i=>{const o=i||{};Object.keys(a).forEach(n=>{n in o||delete a[n]}),Object.entries(o).forEach(([n,r])=>{a[n]=r})},{deep:!0,immediate:!0});const{data:u,isLoading:m}=y.useList({get path(){return l.value},filters:a,get providerName(){return h.value}}),d=e.computed(()=>t.converTree?s.arrayToTree(u.value?.data||[],{idKey:t.treeOptions?.valueKey||"id",parentKey:t.treeOptions?.parentKey||"parent_id",sortKey:t.treeOptions?.sortKey||"sort",childrenKey:t.treeOptions?.childrenKey||"children"}):u.value?.data||[]),v=e.computed(()=>s.treeToArr(d.value,t.treeOptions?.valueKey||"id",t.treeOptions?.childrenKey||"children")),p=e.computed(()=>m.value);return{options:e.computed(()=>{const i=o=>o.map(n=>{const r={...n};return Array.isArray(r.children)&&(r.children.length===0?delete r.children:r.children=i(r.children)),r});return i(d.value||[])}),loading:p,expanded:v}}exports.useTree=f;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./data.cjs`),t=require(`../utils/tree.cjs`);require(`../utils/index.cjs`);let n=require(`vue`);function r(r){let i=(0,n.computed)(()=>(0,n.unref)(r.path)||``),a=(0,n.computed)(()=>(0,n.unref)(r.params)||{}),o=(0,n.computed)(()=>(0,n.unref)(r.providerName)),s=(0,n.reactive)({...a.value});(0,n.watch)(a,e=>{let t=e||{};Object.keys(s).forEach(e=>{e in t||delete s[e]}),Object.entries(t).forEach(([e,t])=>{s[e]=t})},{deep:!0,immediate:!0});let{data:c,isLoading:l}=e.useList({get path(){return i.value},filters:s,get providerName(){return o.value}}),u=(0,n.computed)(()=>r.converTree?t.arrayToTree(c.value?.data||[],{idKey:r.treeOptions?.valueKey||`id`,parentKey:r.treeOptions?.parentKey||`parent_id`,sortKey:r.treeOptions?.sortKey||`sort`,childrenKey:r.treeOptions?.childrenKey||`children`}):c.value?.data||[]),d=(0,n.computed)(()=>t.treeToArr(u.value,r.treeOptions?.valueKey||`id`,r.treeOptions?.childrenKey||`children`)),f=(0,n.computed)(()=>l.value);return{options:(0,n.computed)(()=>{let e=t=>t.map(t=>{let n={...t};return Array.isArray(n.children)&&(n.children.length===0?delete n.children:n.children=e(n.children)),n});return e(u.value||[])}),loading:f,expanded:d}}exports.useTree=r;
@@ -0,0 +1 @@
1
+ require(`./local.cjs`),require(`./s3.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../data.cjs");function u(){const n=o.useClient();return{upload(l,e){const c=e.query||{};let a=null;if(e.method==="PUT")Object.entries(e.params||{}).forEach(([r,t])=>{c[r]=t}),a=l;else{const r=new FormData;r.append("file",l),Object.entries(e.params||{}).forEach(([t,d])=>{r.append(t,d)}),a=r}return n.request({...e,query:c,method:e.method||"POST",payload:a,signal:e.signal,onUploadProgress:e.onUploadProgress})}}}exports.createLocalUploadDriver=u;
1
+ const e=require(`../data.cjs`);function t(){let t=e.useClient();return{upload(e,n){let r=n.query||{},i=null;if(n.method===`PUT`)Object.entries(n.params||{}).forEach(([e,t])=>{r[e]=t}),i=e;else{let t=new FormData;t.append(`file`,e),Object.entries(n.params||{}).forEach(([e,n])=>{t.append(e,n)}),i=t}return t.request({...n,query:r,method:n.method||`POST`,payload:i,signal:n.signal,onUploadProgress:n.onUploadProgress})}}}exports.createLocalUploadDriver=t;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("axios"),h=require("../data.cjs");function U(l){const u=h.useClient();return{async upload(a,t){const s=await u.request({method:"GET",path:l.signPath,query:{name:a.name,size:a.size,mime:a.type,...t.params},signal:t.signal,onUploadProgress:t.onUploadProgress}),r=l.signCallback?.(s)||{uploadUrl:s.data?.uploadUrl,url:s.data?.url,params:s.data?.params};if(!r.uploadUrl)throw new Error("Upload URL is required");if(!r.url)throw new Error("File URL is required");const i=t.method||"POST";let o=null;const m=t.headers||{};if(i==="PUT")o=a,m["Content-Type"]=a.type||"application/octet-stream";else{const e=new FormData;r.params&&Object.entries(r.params).forEach(([n,p])=>{e.append(n,String(p))}),e.append("file",a),o=e}const d=await c.request({method:i,url:r.uploadUrl,data:o,signal:t.signal,headers:m,onUploadProgress:e=>{if(t.onUploadProgress&&e.total){const n=Math.max(0,Math.min(100,Math.round(e.loaded*100/e.total)));t.onUploadProgress({loaded:Math.min(e.loaded,e.total),total:e.total,percent:n})}}});if(d.status<200||d.status>=300)throw new Error(`S3 upload failed: ${d.statusText}`);return await u.request({method:"PUT",path:l.signPath,payload:{url:r.url,filename:a.name,size:a.size,mime:a.type},signal:t.signal}),{data:{url:r.url,filename:a.name,size:a.size,mime:a.type},message:"upload successful"}}}}exports.createS3UploadDriver=U;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../data.cjs`);let n=require(`axios`);n=e.__toESM(n);function r(e){let r=t.useClient();return{async upload(t,i){let a=await r.request({method:`GET`,path:e.signPath,query:{name:t.name,size:t.size,mime:t.type,...i.params},signal:i.signal,onUploadProgress:i.onUploadProgress}),o=e.signCallback?.(a)||{uploadUrl:a.data?.uploadUrl,url:a.data?.url,params:a.data?.params};if(!o.uploadUrl)throw Error(`Upload URL is required`);if(!o.url)throw Error(`File URL is required`);let s=i.method||`POST`,c=null,l=i.headers||{};if(s===`PUT`)c=t,l[`Content-Type`]=t.type||`application/octet-stream`;else{let e=new FormData;o.params&&Object.entries(o.params).forEach(([t,n])=>{e.append(t,String(n))}),e.append(`file`,t),c=e}let u=await n.default.request({method:s,url:o.uploadUrl,data:c,signal:i.signal,headers:l,onUploadProgress:e=>{if(i.onUploadProgress&&e.total){let t=Math.max(0,Math.min(100,Math.round(e.loaded*100/e.total)));i.onUploadProgress({loaded:Math.min(e.loaded,e.total),total:e.total,percent:t})}}});if(u.status<200||u.status>=300)throw Error(`S3 upload failed: ${u.statusText}`);return await r.request({method:`PUT`,path:e.signPath,payload:{url:o.url,filename:t.name,size:t.size,mime:t.type},signal:i.signal}),{data:{url:o.url,filename:t.name,size:t.size,mime:t.type},message:`upload successful`}}}}exports.createS3UploadDriver=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("@vueuse/core"),V=require("lodash-es"),c=require("vue"),_=require("./upload/local.cjs");function H(l){l=l||{};const v=c.ref(!1),o=c.ref([]),u=c.ref(-1),d=c.ref(new Map),S=l.driver||_.createLocalUploadDriver(),P=c.computed(()=>{const{onProgress:e,onDataCallback:t,onCancel:n,onComplete:a,maxFileSize:s,maxFileCount:r,accept:i,multiple:f,autoUpload:m,options:B,onSuccess:U,onError:Q,method:R,driver:W,params:X,...O}=l;return O}),A=c.computed(()=>l.method||"POST"),F=c.computed(()=>{const e=o.value.length,t=o.value.reduce((r,i)=>r+(i.filesize||0),0);let n=0,a=0;return o.value.forEach((r,i)=>{i<u.value?n+=r.filesize||0:i===u.value&&(n+=Math.min(r.progress?.loaded||0,r.filesize||0))}),t>0&&(a=Math.max(0,Math.min(100,Math.round(n/t*100)))),{index:u.value>=0?u.value+1:0,totalFiles:e,currentFile:o.value[u.value],totalPercent:a,totalLoaded:n,totalSize:t}}),w=e=>{if(e===0)return"0 Bytes";const t=1024,n=["Bytes","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(t));return`${Number.parseFloat((e/t**a).toFixed(2))} ${n[a]}`},g=e=>{if(e===0)return"0 B/s";const t=1024,n=["B/s","KB/s","MB/s","GB/s"],a=Math.floor(Math.log(e)/Math.log(t));return`${Number.parseFloat((e/t**a).toFixed(2))} ${n[a]}`},b=()=>V.uniqueId("upload-"),$=async(e,t,n)=>{switch(t){case"file":{if(!(e instanceof File))throw new TypeError('Payload must be a File when type is "file"');return e}case"blob":{if(!(e instanceof Blob))throw new TypeError('Payload must be a Blob when type is "blob"');return new File([e],"blob-file",{type:e.type})}case"base64":{if(typeof e!="string")throw new TypeError('Payload must be a string when type is "base64"');const a=e.includes(",")?e.split(",")[1]:e,s=e.includes(",")?e.split(",")[0].split(":")[1].split(";")[0]:"application/octet-stream",r=atob(a),i=new Uint8Array(r.length);for(let m=0;m<r.length;m++)i[m]=r.charCodeAt(m);const f=new Blob([i],{type:s});return new File([f],"base64-file",{type:s})}case"arrayBuffer":{if(!(e instanceof ArrayBuffer))throw new TypeError('Payload must be ArrayBuffer when type is "arrayBuffer"');const a=new Blob([e]);return new File([a],"array-buffer-file",{type:"application/octet-stream"})}default:throw new Error(`Unsupported upload type: ${t}`)}},x=e=>{if(l.maxFileSize&&e.size>l.maxFileSize)throw new Error(`File size cannot exceed ${w(l.maxFileSize)}`);if(l.maxFileCount&&o.value.length>l.maxFileCount)throw new Error(`File count cannot exceed ${l.maxFileCount}`)},I=async(e,t,n)=>{const a=await $(e,t);x(a);const s={id:b(),file:a,filename:a.name,filesize:a.size,filetype:a.type,filesizeText:w(a.size),status:"pending",progress:{loaded:0,total:a.size,percent:0,speed:0,speedText:g(0),remainingTime:0,uploadTime:0}};return o.value.push(s),s},h=(e,t)=>{const n=o.value.findIndex(a=>a.id===e);n!==-1&&(o.value[n]={...o.value[n],...t})},T=()=>{o.value.every(t=>t.status!=="uploading")&&l.onComplete?.(o.value)},p=e=>{const t=o.value.find(n=>n.id===e);if(!t||t.status!=="pending"&&t.status!=="uploading")return!1;if(t.status==="uploading"){const n=d.value.get(e);n&&(n.abort(),d.value.delete(e))}return h(e,{status:"cancelled"}),l.onCancel?.(e),T(),!0},k=e=>{e?e.forEach(t=>p(t)):o.value.forEach(t=>p(t.id))},q=async e=>{if(!e.file)throw new Error("File not found");x(e.file);const t=new AbortController;d.value.set(e.id,t);const n=Date.now();return h(e.id,{status:"uploading"}),S.upload(e.file,{...P.value,method:A.value,signal:t.signal,params:l.params,onUploadProgress:a=>{const i=(Date.now()-n)/1e3,f=i>0?a.loaded/i:0,m=(a.total||0)-a.loaded,B=f>0?m/f:0,U={loaded:a.total?Math.min(a.loaded,a.total):a.loaded,total:a.total,percent:Math.max(0,Math.min(100,a.percent||0)),speed:Math.round(f),speedText:g(f),uploadTime:Math.round(i),remainingTime:Math.round(B)};h(e.id,{status:"uploading",progress:U}),l.onProgress?.(F.value)}}).then(a=>{if(e.status==="cancelled")throw new Error("Upload cancelled");const s=l.onDataCallback?.(a,e)||a.data,r=Math.round((Date.now()-n)/1e3),i={...e,status:"success",data:a,...s,progress:{...e.progress,loaded:e.filesize||0,percent:100,speed:0,speedText:g(0),uploadTime:r,remainingTime:0}};return h(e.id,i),d.value.delete(e.id),l.onSuccess?.(a),i}).catch(a=>{throw a.message==="canceled"||e.status==="cancelled"?new Error("Upload cancelled"):(h(e.id,{status:"error",error:a.message}),d.value.delete(e.id),a)}).finally(()=>{T()})},z=async()=>{const e=o.value.filter(t=>t.status==="pending");if(e.length===0)return[];v.value=!0;try{const t=[];for(let n=0;n<e.length;n++){const a=e[n],s=o.value.findIndex(i=>i.id===a.id);u.value=s;const r=await q(a);t.push(r)}return t}catch(t){throw l.onError?.({status:t?.status||500,message:t?.message||"upload failed"}),t}finally{v.value=!1,u.value=-1}},y=()=>{o.value.forEach(e=>{p(e.id)}),d.value.clear(),o.value=[],u.value=-1},M=async(e,t="file")=>{try{if(!l.multiple&&e.length>1)throw new Error("Single file mode: only one file can be selected");if(!l.multiple&&o.value.length>0&&y(),l.maxFileCount&&o.value.length+e.length>l.maxFileCount)throw new Error(`Adding ${e.length} files would exceed the maximum limit of ${l.maxFileCount}`);for(const n of e)await I(n,t)}catch(n){throw l.onError?.({status:n?.status||400,message:n?.message||"Failed to add files"}),n}l.autoUpload&&z().catch(n=>{console.warn("Auto upload failed:",n)})},C=e=>{const t=o.value.find(a=>a.id===e);if(t&&t.status==="uploading"){h(e,{status:"cancelled"});const a=d.value.get(e);if(!a)return;a.abort(),d.value.delete(e)}const n=o.value.findIndex(a=>a.id===e);n!==-1&&o.value.splice(n,1)},D=e=>{e?e.forEach(t=>C(t)):o.value.forEach(t=>C(t.id))},{files:G,open:K,reset:E}=j.useFileDialog({accept:l.accept,multiple:l.multiple||!1}),L=e=>({id:b(),...e,filesizeText:e.filesize?w(e.filesize):void 0,status:e.url?"success":"pending",progress:{loaded:0,total:e.filesize||0,percent:e.url?100:0,speed:0,speedText:g(0),remainingTime:0,uploadTime:0}});c.watch(G,async e=>{if(e&&e.length>0){const t=Array.from(e);E(),await M(t,"file").catch(n=>{console.warn("Failed to add selected files:",n)})}});const N=c.computed(()=>o.value.filter(e=>e.status==="success").map(e=>({url:e.url,filename:e.filename,filesize:e.filesize,filetype:e.filetype})));return{isUploading:v,uploadFiles:o,dataFiles:N,progress:F,open:K,trigger:z,resetFiles:E,clearFiles:y,removeFiles:D,addFiles:M,addDataFiles:e=>{!l.multiple&&o.value.length>0&&y();const t=e.map(n=>L(n));o.value.push(...t)},cancelFiles:k}}exports.useUpload=H;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`./upload/local.cjs`);let t=require(`vue`),n=require(`lodash-es`),r=require(`@vueuse/core`);function i(i){i||={};let a=(0,t.ref)(!1),o=(0,t.ref)([]),s=(0,t.ref)(-1),c=(0,t.ref)(new Map),l=i.driver||e.createLocalUploadDriver(),u=(0,t.computed)(()=>{let{onProgress:e,onDataCallback:t,onCancel:n,onComplete:r,maxFileSize:a,maxFileCount:o,accept:s,multiple:c,autoUpload:l,options:u,onSuccess:d,onError:f,method:p,driver:m,params:h,...g}=i;return g}),d=(0,t.computed)(()=>i.method||`POST`),f=(0,t.computed)(()=>{let e=o.value.length,t=o.value.reduce((e,t)=>e+(t.filesize||0),0),n=0,r=0;return o.value.forEach((e,t)=>{t<s.value?n+=e.filesize||0:t===s.value&&(n+=Math.min(e.progress?.loaded||0,e.filesize||0))}),t>0&&(r=Math.max(0,Math.min(100,Math.round(n/t*100)))),{index:s.value>=0?s.value+1:0,totalFiles:e,currentFile:o.value[s.value],totalPercent:r,totalLoaded:n,totalSize:t}}),p=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return`${Number.parseFloat((e/t**r).toFixed(2))} ${n[r]}`},m=e=>{if(e===0)return`0 B/s`;let t=1024,n=[`B/s`,`KB/s`,`MB/s`,`GB/s`],r=Math.floor(Math.log(e)/Math.log(t));return`${Number.parseFloat((e/t**r).toFixed(2))} ${n[r]}`},h=()=>(0,n.uniqueId)(`upload-`),g=async(e,t,n)=>{switch(t){case`file`:if(!(e instanceof File))throw TypeError(`Payload must be a File when type is "file"`);return e;case`blob`:if(!(e instanceof Blob))throw TypeError(`Payload must be a Blob when type is "blob"`);return new File([e],n||`blob-file`,{type:e.type});case`base64`:{if(typeof e!=`string`)throw TypeError(`Payload must be a string when type is "base64"`);let t=e.includes(`,`)?e.split(`,`)[1]:e,r=e.includes(`,`)?e.split(`,`)[0].split(`:`)[1].split(`;`)[0]:`application/octet-stream`,i=atob(t),a=new Uint8Array(i.length);for(let e=0;e<i.length;e++)a[e]=i.charCodeAt(e);let o=new Blob([a],{type:r});return new File([o],n||`base64-file`,{type:r})}case`arrayBuffer`:{if(!(e instanceof ArrayBuffer))throw TypeError(`Payload must be ArrayBuffer when type is "arrayBuffer"`);let t=new Blob([e]);return new File([t],n||`array-buffer-file`,{type:`application/octet-stream`})}default:throw Error(`Unsupported upload type: ${t}`)}},_=e=>{if(i.maxFileSize&&e.size>i.maxFileSize)throw Error(`File size cannot exceed ${p(i.maxFileSize)}`);if(i.maxFileCount&&o.value.length>i.maxFileCount)throw Error(`File count cannot exceed ${i.maxFileCount}`)},v=async(e,t,n)=>{let r=await g(e,t,n);_(r);let i={id:h(),file:r,filename:r.name,filesize:r.size,filetype:r.type,filesizeText:p(r.size),status:`pending`,progress:{loaded:0,total:r.size,percent:0,speed:0,speedText:m(0),remainingTime:0,uploadTime:0}};return o.value.push(i),i},y=(e,t)=>{let n=o.value.findIndex(t=>t.id===e);n!==-1&&(o.value[n]={...o.value[n],...t})},b=()=>{o.value.every(e=>e.status!==`uploading`)&&i.onComplete?.(o.value)},x=e=>{let t=o.value.find(t=>t.id===e);if(!t||t.status!==`pending`&&t.status!==`uploading`)return!1;if(t.status===`uploading`){let t=c.value.get(e);t&&(t.abort(),c.value.delete(e))}return y(e,{status:`cancelled`}),i.onCancel?.(e),b(),!0},S=e=>{e?e.forEach(e=>x(e)):o.value.forEach(e=>x(e.id))},C=async e=>{if(!e.file)throw Error(`File not found`);_(e.file);let t=new AbortController;c.value.set(e.id,t);let n=Date.now();return y(e.id,{status:`uploading`}),l.upload(e.file,{...u.value,method:d.value,signal:t.signal,params:i.params,onUploadProgress:t=>{let r=(Date.now()-n)/1e3,a=r>0?t.loaded/r:0,o=(t.total||0)-t.loaded,s=a>0?o/a:0,c={loaded:t.total?Math.min(t.loaded,t.total):t.loaded,total:t.total,percent:Math.max(0,Math.min(100,t.percent||0)),speed:Math.round(a),speedText:m(a),uploadTime:Math.round(r),remainingTime:Math.round(s)};y(e.id,{status:`uploading`,progress:c}),i.onProgress?.(f.value)}}).then(t=>{if(e.status===`cancelled`)throw Error(`Upload cancelled`);let r=i.onDataCallback?.(t,e)||t.data,a=Math.round((Date.now()-n)/1e3),o={...e,status:`success`,data:t,...r,progress:{...e.progress,loaded:e.filesize||0,percent:100,speed:0,speedText:m(0),uploadTime:a,remainingTime:0}};return y(e.id,o),c.value.delete(e.id),i.onSuccess?.(t),o}).catch(t=>{throw t.message===`canceled`||e.status===`cancelled`?Error(`Upload cancelled`):(y(e.id,{status:`error`,error:t.message}),c.value.delete(e.id),t)}).finally(()=>{b()})},w=async()=>{let e=o.value.filter(e=>e.status===`pending`);if(e.length===0)return[];a.value=!0;try{let t=[];for(let n=0;n<e.length;n++){let r=e[n];s.value=o.value.findIndex(e=>e.id===r.id);let i=await C(r);t.push(i)}return t}catch(e){throw i.onError?.({status:e?.status||500,message:e?.message||`upload failed`}),e}finally{a.value=!1,s.value=-1}},T=()=>{o.value.forEach(e=>{x(e.id)}),c.value.clear(),o.value=[],s.value=-1},E=async(e,t=`file`)=>{try{if(!i.multiple&&e.length>1)throw Error(`Single file mode: only one file can be selected`);if(!i.multiple&&o.value.length>0&&T(),i.maxFileCount&&o.value.length+e.length>i.maxFileCount)throw Error(`Adding ${e.length} files would exceed the maximum limit of ${i.maxFileCount}`);for(let n of e)await v(n,t)}catch(e){throw i.onError?.({status:e?.status||400,message:e?.message||`Failed to add files`}),e}i.autoUpload&&w().catch(e=>{console.warn(`Auto upload failed:`,e)})},D=e=>{let t=o.value.find(t=>t.id===e);if(t&&t.status===`uploading`){y(e,{status:`cancelled`});let t=c.value.get(e);if(!t)return;t.abort(),c.value.delete(e)}let n=o.value.findIndex(t=>t.id===e);n!==-1&&o.value.splice(n,1)},O=e=>{e?e.forEach(e=>D(e)):o.value.forEach(e=>D(e.id))},{files:k,open:A,reset:j}=(0,r.useFileDialog)({accept:i.accept,multiple:i.multiple||!1}),M=e=>({id:h(),...e,filesizeText:e.filesize?p(e.filesize):void 0,status:e.url?`success`:`pending`,progress:{loaded:0,total:e.filesize||0,percent:e.url?100:0,speed:0,speedText:m(0),remainingTime:0,uploadTime:0}});return(0,t.watch)(k,async e=>{if(e&&e.length>0){let t=Array.from(e);j(),await E(t,`file`).catch(e=>{console.warn(`Failed to add selected files:`,e)})}}),{isUploading:a,uploadFiles:o,dataFiles:(0,t.computed)(()=>o.value.filter(e=>e.status===`success`).map(e=>({url:e.url,filename:e.filename,filesize:e.filesize,filetype:e.filetype}))),progress:f,open:A,trigger:w,resetFiles:j,clearFiles:T,removeFiles:O,addFiles:E,addDataFiles:e=>{!i.multiple&&o.value.length>0&&T();let t=e.map(e=>M(e));o.value.push(...t)},cancelFiles:S}}exports.useUpload=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/auth/can.cjs"),i=require("./components/common/logo.cjs"),a=require("./components/common/icon.cjs"),c=require("./components/loader/iframe.cjs"),d=require("./components/overlay/overlay.cjs"),q=require("./components/status/error.cjs"),p=require("./components/status/exception.cjs"),m=require("./components/status/notAuthorized.cjs"),l=require("./components/status/notFound.cjs"),v=require("./config/color.cjs"),r=require("./hooks/auth.cjs"),x=require("./hooks/config.cjs"),e=require("./hooks/data.cjs"),h=require("./hooks/export.cjs"),D=require("./hooks/exportCsv.cjs"),S=require("./hooks/form.cjs"),C=require("./hooks/formExtend.cjs"),t=require("./hooks/formValidate.cjs"),A=require("./hooks/i18n.cjs"),g=require("./hooks/import.cjs"),T=require("./hooks/importCsv.cjs"),u=require("./hooks/json.cjs"),I=require("./hooks/json/index.cjs"),M=require("./hooks/list.cjs"),L=require("./hooks/manage.cjs"),y=require("./hooks/menu.cjs"),P=require("./hooks/overlay.cjs"),f=require("./hooks/select.cjs"),F=require("./hooks/theme.cjs"),E=require("./hooks/tree.cjs"),U=require("./hooks/upload.cjs"),b=require("./hooks/upload/local.cjs"),O=require("./hooks/upload/s3.cjs"),w=require("./main.cjs"),$=require("./preset/authProvider.cjs"),R=require("./preset/dataProvider.cjs"),V=require("./preset/i18nProvider.cjs"),J=require("./provider/app.cjs"),N=require("./provider/tab.cjs"),j=require("./router/route.cjs"),z=require("./stores/auth.cjs"),k=require("./stores/i18n.cjs"),G=require("./stores/jsonSchema.cjs"),_=require("./stores/manage.cjs"),B=require("./stores/route.cjs"),s=require("./stores/tab.cjs"),H=require("./stores/theme.cjs"),K=require("./utils/bus.cjs"),Q=require("./utils/theme.cjs"),o=require("./utils/tree.cjs"),W=require("./hooks/json/vFor.cjs"),X=require("./hooks/json/vIf.cjs"),Y=require("./hooks/json/vModel.cjs"),Z=require("./hooks/json/vOn.cjs"),ee=require("./hooks/json/vShow.cjs"),re=require("./hooks/json/vText.cjs");exports.DuxCan=n.DuxCan;exports.DuxLogo=i.DuxLogo;exports.DuxLogoIcon=a.DuxLogoIcon;exports.DuxLoaderIframe=c.default;exports.DuxOverlay=d.DuxOverlay;exports.DuxError=q.DuxError;exports.DuxException=p.DuxException;exports.DuxNotAuthorized=m.DuxNotAuthorized;exports.DuxNotFound=l.DuxNotFound;exports.themeColor=v.themeColor;exports.useCan=r.useCan;exports.useCheck=r.useCheck;exports.useError=r.useError;exports.useForgotPassword=r.useForgotPassword;exports.useGetAuth=r.useGetAuth;exports.useIsLogin=r.useIsLogin;exports.useLogin=r.useLogin;exports.useLogout=r.useLogout;exports.useRegister=r.useRegister;exports.useUpdatePassword=r.useUpdatePassword;exports.useConfig=x.useConfig;exports.useClient=e.useClient;exports.useCreate=e.useCreate;exports.useCreateMany=e.useCreateMany;exports.useCustom=e.useCustom;exports.useCustomMutation=e.useCustomMutation;exports.useDelete=e.useDelete;exports.useDeleteMany=e.useDeleteMany;exports.useInfiniteList=e.useInfiniteList;exports.useInvalidate=e.useInvalidate;exports.useList=e.useList;exports.useMany=e.useMany;exports.useOne=e.useOne;exports.useUpdate=e.useUpdate;exports.useUpdateMany=e.useUpdateMany;exports.useExport=h.useExport;exports.useExportCsv=D.useExportCsv;exports.useForm=S.useForm;exports.useExtendForm=C.useExtendForm;exports.initFormValidate=t.initFormValidate;exports.useValidateForm=t.useValidateForm;exports.useI18n=A.useI18n;exports.useImport=g.useImport;exports.useImportCsv=T.useImportCsv;exports.initJsonSchemaComponents=u.initJsonSchemaComponents;exports.useJsonSchema=u.useJsonSchema;exports.defaultAdaptors=I.defaultAdaptors;exports.useExtendList=M.useExtendList;exports.useManage=L.useManage;exports.useMenu=y.useMenu;exports.useOverlay=P.useOverlay;exports.useSelect=f.useSelect;exports.useTheme=F.useTheme;exports.useTree=E.useTree;exports.useUpload=U.useUpload;exports.createLocalUploadDriver=b.createLocalUploadDriver;exports.createS3UploadDriver=O.createS3UploadDriver;exports.createDux=w.createDux;exports.simpleAuthProvider=$.simpleAuthProvider;exports.simpleDataProvider=R.simpleDataProvider;exports.i18nProvider=V.i18nProvider;exports.DuxAppProvider=J.DuxAppProvider;exports.DuxTabRouterView=N.DuxTabRouterView;exports.initRouter=j.initRouter;exports.useAuthStore=z.useAuthStore;exports.useI18nStore=k.useI18nStore;exports.useJsonSchemaStore=G.useJsonSchemaStore;exports.useManageStore=_.useManageStore;exports.useRouteStore=B.useRouteStore;exports.createTabStore=s.createTabStore;exports.useTabStore=s.useTabStore;exports.useThemeStore=H.useThemeStore;exports.emitter=K.emitter;exports.themePreset=Q.themePreset;exports.arrayToTree=o.arrayToTree;exports.searchTree=o.searchTree;exports.treeToArr=o.treeToArr;exports.vForAdaptor=W.vForAdaptor;exports.vIfAdaptor=X.vIfAdaptor;exports.vModelAdaptor=Y.vModelAdaptor;exports.vOnAdaptor=Z.vOnAdaptor;exports.vShowAdaptor=ee.vShowAdaptor;exports.vTextAdaptor=re.vTextAdaptor;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const ee=require(`./_virtual/_rolldown/runtime.cjs`),te=require(`./config/color.cjs`),e=require(`./stores/auth.cjs`),t=require(`./stores/i18n.cjs`),n=require(`./stores/jsonSchema.cjs`),r=require(`./stores/manage.cjs`),i=require(`./stores/route.cjs`),a=require(`./stores/tab.cjs`),o=require(`./stores/theme.cjs`);require(`./stores/index.cjs`);const s=require(`./hooks/manage.cjs`),c=require(`./hooks/auth.cjs`),l=require(`./hooks/config.cjs`),u=require(`./hooks/data.cjs`),d=require(`./hooks/export.cjs`),f=require(`./hooks/exportCsv.cjs`),p=require(`./hooks/form.cjs`),m=require(`./hooks/formValidate.cjs`),h=require(`./hooks/formExtend.cjs`),g=require(`./hooks/i18n.cjs`),_=require(`./hooks/import.cjs`),v=require(`./hooks/importCsv.cjs`),y=require(`./hooks/json/vFor.cjs`),b=require(`./hooks/json/vIf.cjs`),x=require(`./hooks/json/vModel.cjs`),S=require(`./hooks/json/vOn.cjs`),C=require(`./hooks/json/vShow.cjs`),w=require(`./hooks/json/vText.cjs`),T=require(`./hooks/json/index.cjs`),E=require(`./hooks/json.cjs`),D=require(`./hooks/list.cjs`),O=require(`./utils/bus.cjs`),k=require(`./utils/theme.cjs`),A=require(`./utils/tree.cjs`);require(`./utils/index.cjs`);const j=require(`./hooks/menu.cjs`),M=require(`./hooks/overlay.cjs`),N=require(`./hooks/select.cjs`),P=require(`./hooks/theme.cjs`),F=require(`./hooks/tree.cjs`),I=require(`./hooks/upload/local.cjs`),L=require(`./hooks/upload.cjs`),R=require(`./hooks/upload/s3.cjs`);require(`./hooks/index.cjs`);const z=require(`./components/auth/can.cjs`),B=require(`./components/common/logo.cjs`),V=require(`./components/common/icon.cjs`),H=require(`./components/loader/iframe.cjs`),U=require(`./components/overlay/overlay.cjs`),W=require(`./components/status/error.cjs`),G=require(`./components/status/exception.cjs`),K=require(`./components/status/notAuthorized.cjs`),q=require(`./components/status/notFound.cjs`);require(`./components/index.cjs`);const J=require(`./router/route.cjs`),Y=require(`./main.cjs`),X=require(`./preset/authProvider.cjs`),Z=require(`./preset/dataProvider.cjs`),Q=require(`./preset/i18nProvider.cjs`);require(`./preset/index.cjs`);const $=require(`./provider/app.cjs`),ne=require(`./provider/tab.cjs`);require(`./provider/index.cjs`),require(`./router/index.cjs`);var re=ee.__exportAll({DuxAppProvider:()=>$.DuxAppProvider,DuxCan:()=>z.DuxCan,DuxError:()=>W.DuxError,DuxException:()=>G.DuxException,DuxLoaderIframe:()=>H.default,DuxLogo:()=>B.DuxLogo,DuxLogoIcon:()=>V.DuxLogoIcon,DuxNotAuthorized:()=>K.DuxNotAuthorized,DuxNotFound:()=>q.DuxNotFound,DuxOverlay:()=>U.DuxOverlay,DuxTabRouterView:()=>ne.DuxTabRouterView,arrayToTree:()=>A.arrayToTree,createDux:()=>Y.createDux,createLocalUploadDriver:()=>I.createLocalUploadDriver,createS3UploadDriver:()=>R.createS3UploadDriver,createTabStore:()=>a.createTabStore,defaultAdaptors:()=>T.defaultAdaptors,emitter:()=>O.emitter,i18nProvider:()=>Q.i18nProvider,initFormValidate:()=>m.initFormValidate,initJsonSchemaComponents:()=>E.initJsonSchemaComponents,initRouter:()=>J.initRouter,searchTree:()=>A.searchTree,simpleAuthProvider:()=>X.simpleAuthProvider,simpleDataProvider:()=>Z.simpleDataProvider,themeColor:()=>te.themeColor,themePreset:()=>k.themePreset,treeToArr:()=>A.treeToArr,useAuthStore:()=>e.useAuthStore,useCan:()=>c.useCan,useCheck:()=>c.useCheck,useClient:()=>u.useClient,useConfig:()=>l.useConfig,useCreate:()=>u.useCreate,useCreateMany:()=>u.useCreateMany,useCustom:()=>u.useCustom,useCustomMutation:()=>u.useCustomMutation,useDelete:()=>u.useDelete,useDeleteMany:()=>u.useDeleteMany,useError:()=>c.useError,useExport:()=>d.useExport,useExportCsv:()=>f.useExportCsv,useExtendForm:()=>h.useExtendForm,useExtendList:()=>D.useExtendList,useForgotPassword:()=>c.useForgotPassword,useForm:()=>p.useForm,useGetAuth:()=>c.useGetAuth,useI18n:()=>g.useI18n,useI18nStore:()=>t.useI18nStore,useImport:()=>_.useImport,useImportCsv:()=>v.useImportCsv,useInfiniteList:()=>u.useInfiniteList,useInvalidate:()=>u.useInvalidate,useIsLogin:()=>c.useIsLogin,useJsonSchema:()=>E.useJsonSchema,useJsonSchemaStore:()=>n.useJsonSchemaStore,useList:()=>u.useList,useLogin:()=>c.useLogin,useLogout:()=>c.useLogout,useManage:()=>s.useManage,useManageStore:()=>r.useManageStore,useMany:()=>u.useMany,useMenu:()=>j.useMenu,useOne:()=>u.useOne,useOverlay:()=>M.useOverlay,useRegister:()=>c.useRegister,useRouteStore:()=>i.useRouteStore,useSelect:()=>N.useSelect,useTabStore:()=>a.useTabStore,useTheme:()=>P.useTheme,useThemeStore:()=>o.useThemeStore,useTree:()=>F.useTree,useUpdate:()=>u.useUpdate,useUpdateMany:()=>u.useUpdateMany,useUpdatePassword:()=>c.useUpdatePassword,useUpload:()=>L.useUpload,useValidateForm:()=>m.useValidateForm,vForAdaptor:()=>y.vForAdaptor,vIfAdaptor:()=>b.vIfAdaptor,vModelAdaptor:()=>x.vModelAdaptor,vOnAdaptor:()=>S.vOnAdaptor,vShowAdaptor:()=>C.vShowAdaptor,vTextAdaptor:()=>w.vTextAdaptor});exports.DuxAppProvider=$.DuxAppProvider,exports.DuxCan=z.DuxCan,exports.DuxError=W.DuxError,exports.DuxException=G.DuxException,exports.DuxLoaderIframe=H.default,exports.DuxLogo=B.DuxLogo,exports.DuxLogoIcon=V.DuxLogoIcon,exports.DuxNotAuthorized=K.DuxNotAuthorized,exports.DuxNotFound=q.DuxNotFound,exports.DuxOverlay=U.DuxOverlay,exports.DuxTabRouterView=ne.DuxTabRouterView,exports.arrayToTree=A.arrayToTree,exports.createDux=Y.createDux,exports.createLocalUploadDriver=I.createLocalUploadDriver,exports.createS3UploadDriver=R.createS3UploadDriver,exports.createTabStore=a.createTabStore,exports.defaultAdaptors=T.defaultAdaptors,exports.emitter=O.emitter,exports.i18nProvider=Q.i18nProvider,exports.initFormValidate=m.initFormValidate,exports.initJsonSchemaComponents=E.initJsonSchemaComponents,exports.initRouter=J.initRouter,exports.searchTree=A.searchTree,exports.simpleAuthProvider=X.simpleAuthProvider,exports.simpleDataProvider=Z.simpleDataProvider,Object.defineProperty(exports,`src_exports`,{enumerable:!0,get:function(){return re}}),exports.themeColor=te.themeColor,exports.themePreset=k.themePreset,exports.treeToArr=A.treeToArr,exports.useAuthStore=e.useAuthStore,exports.useCan=c.useCan,exports.useCheck=c.useCheck,exports.useClient=u.useClient,exports.useConfig=l.useConfig,exports.useCreate=u.useCreate,exports.useCreateMany=u.useCreateMany,exports.useCustom=u.useCustom,exports.useCustomMutation=u.useCustomMutation,exports.useDelete=u.useDelete,exports.useDeleteMany=u.useDeleteMany,exports.useError=c.useError,exports.useExport=d.useExport,exports.useExportCsv=f.useExportCsv,exports.useExtendForm=h.useExtendForm,exports.useExtendList=D.useExtendList,exports.useForgotPassword=c.useForgotPassword,exports.useForm=p.useForm,exports.useGetAuth=c.useGetAuth,exports.useI18n=g.useI18n,exports.useI18nStore=t.useI18nStore,exports.useImport=_.useImport,exports.useImportCsv=v.useImportCsv,exports.useInfiniteList=u.useInfiniteList,exports.useInvalidate=u.useInvalidate,exports.useIsLogin=c.useIsLogin,exports.useJsonSchema=E.useJsonSchema,exports.useJsonSchemaStore=n.useJsonSchemaStore,exports.useList=u.useList,exports.useLogin=c.useLogin,exports.useLogout=c.useLogout,exports.useManage=s.useManage,exports.useManageStore=r.useManageStore,exports.useMany=u.useMany,exports.useMenu=j.useMenu,exports.useOne=u.useOne,exports.useOverlay=M.useOverlay,exports.useRegister=c.useRegister,exports.useRouteStore=i.useRouteStore,exports.useSelect=N.useSelect,exports.useTabStore=a.useTabStore,exports.useTheme=P.useTheme,exports.useThemeStore=o.useThemeStore,exports.useTree=F.useTree,exports.useUpdate=u.useUpdate,exports.useUpdateMany=u.useUpdateMany,exports.useUpdatePassword=c.useUpdatePassword,exports.useUpload=L.useUpload,exports.useValidateForm=m.useValidateForm,exports.vForAdaptor=y.vForAdaptor,exports.vIfAdaptor=b.vIfAdaptor,exports.vModelAdaptor=x.vModelAdaptor,exports.vOnAdaptor=S.vOnAdaptor,exports.vShowAdaptor=C.vShowAdaptor,exports.vTextAdaptor=w.vTextAdaptor;
package/dist/cjs/main.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@tanstack/vue-query"),o=require("pinia"),c=require("pinia-plugin-persistedstate"),s=require("vue"),a=require("./directive/permission.cjs");require("vue-router");require("lodash-es");require("json-2-csv");const d=require("./hooks/formValidate.cjs");require("@vueuse/core");require("./hooks/json/index.cjs");require("./utils/bus.cjs");require("@overlastic/vue");require("clsx");require("colorizr");require("axios");const q=require("./router/route.cjs");function l(r){const i=o.createPinia();i.use(c);const n=new u.QueryClient({defaultOptions:{queries:{staleTime:60*1e3,refetchOnMount:!0,refetchOnWindowFocus:!0,refetchOnReconnect:!0}}});return{install(e){console.log("%c dux-vue %c dux.cn %c","background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff","background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff","background:transparent"),d.initFormValidate();const t=s.ref();e.provide("dux.config",r),e.provide("dux.manage",t),e.directive("can",a.permissionDirective),e.use(i),e.use(u.VueQueryPlugin,{queryClient:n}),e.use(q.initRouter(r))}}}exports.createDux=l;
1
+ const e=require(`./_virtual/_rolldown/runtime.cjs`),t=require(`./hooks/formValidate.cjs`);require(`./hooks/index.cjs`);const n=require(`./directive/permission.cjs`);require(`./directive/index.cjs`);const r=require(`./router/route.cjs`);let i=require(`vue`),a=require(`pinia`),o=require(`@tanstack/vue-query`),s=require(`pinia-plugin-persistedstate`);s=e.__toESM(s);function c(e){let c=(0,a.createPinia)();c.use(s.default);let l=new o.QueryClient({defaultOptions:{queries:{staleTime:60*1e3,refetchOnMount:!0,refetchOnWindowFocus:!0,refetchOnReconnect:!0}}});return{install(a){console.log(`%c dux-vue %c dux.cn %c`,`background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff`,`background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff`,`background:transparent`),t.initFormValidate();let s=(0,i.ref)();a.provide(`dux.config`,e),a.provide(`dux.manage`,s),a.directive(`can`,n.permissionDirective),a.use(c),a.use(o.VueQueryPlugin,{queryClient:l}),a.use(r.initRouter(e))}}}exports.createDux=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("axios");function n(s){return{login:async(t,r)=>await i.post(r.getApiUrl(s?.apiPath?.login||"/login",s?.dataProviderName),t).then(e=>({success:!0,message:e?.data?.message,redirectTo:s?.routePath?.index||"/",data:e?.data?.data})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),check:async(t,r,e)=>await i.get(r?.getApiUrl(s?.apiPath?.check||"/check",s?.dataProviderName)||"",{headers:{Authorization:e?.token||""}}).then(a=>({success:!0,logout:!1,message:a?.data?.message,data:a?.data?.data})).catch(a=>({success:!1,logout:a.status===401,message:a?.response?.data?.message||a?.message})),onError:async t=>t?.status===401?{logout:!0,redirectTo:s?.routePath?.login||"/login",error:t}:{logout:!1,error:t},logout:async()=>({success:!0,redirectTo:s?.routePath?.login||"/login"}),register:async(t,r)=>await i.post(r?.getApiUrl(s?.apiPath?.register||"/register",s?.dataProviderName)||"",t).then(e=>({success:!0,message:e?.data?.message,redirectTo:s?.routePath?.index||"/",data:e?.data?.data})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),forgotPassword:async(t,r)=>await i.post(r?.getApiUrl(s?.apiPath?.forgotPassword||"/forgot-password",s?.dataProviderName)||"",t).then(e=>({success:!0,message:e?.data?.message,redirectTo:s?.routePath?.login||"/login"})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),updatePassword:async(t,r)=>await i.post(r?.getApiUrl(s?.apiPath?.updatePassword||"/update-password",s?.dataProviderName)||"",t).then(e=>({success:!0,message:e?.data?.message,redirectTo:s?.routePath?.login||"/login"})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),can:(t,r,e,a)=>!a?.permission||Array.isArray(a?.permission)&&a?.permission?.length===0||typeof a?.permission=="object"&&Object.keys(a?.permission).length===0?!0:!(Array.isArray(a?.permission)&&!a?.permission?.includes(t)||typeof a?.permission=="object"&&a?.permission[t]===!1)}}exports.simpleAuthProvider=n;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`axios`);t=e.__toESM(t);function n(e){return{login:async(n,r)=>await t.default.post(r.getApiUrl(e?.apiPath?.login||`/login`,e?.dataProviderName),n).then(t=>({success:!0,message:t?.data?.message,redirectTo:e?.routePath?.index||`/`,data:t?.data?.data})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),check:async(n,r,i)=>await t.default.get(r?.getApiUrl(e?.apiPath?.check||`/check`,e?.dataProviderName)||``,{headers:{Authorization:i?.token||``}}).then(e=>({success:!0,logout:!1,message:e?.data?.message,data:e?.data?.data})).catch(e=>({success:!1,logout:e.status===401,message:e?.response?.data?.message||e?.message})),onError:async t=>t?.status===401?{logout:!0,redirectTo:e?.routePath?.login||`/login`,error:t}:{logout:!1,error:t},logout:async()=>({success:!0,redirectTo:e?.routePath?.login||`/login`}),register:async(n,r)=>await t.default.post(r?.getApiUrl(e?.apiPath?.register||`/register`,e?.dataProviderName)||``,n).then(t=>({success:!0,message:t?.data?.message,redirectTo:e?.routePath?.index||`/`,data:t?.data?.data})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),forgotPassword:async(n,r)=>await t.default.post(r?.getApiUrl(e?.apiPath?.forgotPassword||`/forgot-password`,e?.dataProviderName)||``,n).then(t=>({success:!0,message:t?.data?.message,redirectTo:e?.routePath?.login||`/login`})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),updatePassword:async(n,r)=>await t.default.post(r?.getApiUrl(e?.apiPath?.updatePassword||`/update-password`,e?.dataProviderName)||``,n).then(t=>({success:!0,message:t?.data?.message,redirectTo:e?.routePath?.login||`/login`})).catch(e=>({success:!1,message:e?.response?.data?.message||e?.message})),can:(e,t,n,r)=>!r?.permission||Array.isArray(r?.permission)&&r?.permission?.length===0||typeof r?.permission==`object`&&Object.keys(r?.permission).length===0?!0:!(Array.isArray(r?.permission)&&!r?.permission?.includes(e)||typeof r?.permission==`object`&&r?.permission[e]===!1)}}exports.simpleAuthProvider=n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("axios"),f=require("lodash-es");function b(e){return Object.values(e).some(r=>r instanceof File?!0:Array.isArray(r)?r.some(a=>a instanceof File):r&&typeof r=="object"?b(r):!1)}function m(e){const r=new FormData,a=(d,l="")=>{Object.entries(d).forEach(([t,c])=>{const i=l?`${l}[${t}]`:t;c instanceof File?r.append(i,c):Array.isArray(c)?c.forEach((s,k)=>{s instanceof File?r.append(`${i}[${k}]`,s):s!=null&&r.append(`${i}[${k}]`,String(s))}):c&&typeof c=="object"?a(c,i):c!=null&&r.append(i,String(c))})};return a(e),r}function C(e){const r=(a,d)=>{const l=`${f.trim(e.apiUrl,"/")}${d?`/${f.trim(d,"/")}`:""}`;return a?`${l}/${f.trim(a||"","/")}`:l};return{apiUrl:r,getList:(a,d,l)=>{const t={};return a.pagination&&typeof a.pagination=="object"&&(t.page=a.pagination.page,t.pageSize=a.pagination.pageSize),n.get(r(a.path,d?.config.apiBasePath)||"",{params:{...t,...a.filters,...a.sorters},headers:{Authorization:l?.token},...a.meta}).then(c=>e.successCallback?e.successCallback(c):h(c)).catch(c=>{throw e.errorCallback?e.errorCallback(c):u(c)})},create:(a,d,l)=>{let t=a.data;return a.data&&typeof a.data=="object"&&!Array.isArray(a.data)&&!(a.data instanceof FormData)&&b(a.data)&&(t=m(a.data)),n.post(r(a.path,d?.config.apiBasePath)||"",t,{headers:{Authorization:l?.token},...a.meta}).then(c=>e.successCallback?e.successCallback(c):h(c)).catch(c=>{throw e.errorCallback?e.errorCallback(c):u(c)})},update:(a,d,l)=>{let t=a.data;return a.data&&typeof a.data=="object"&&!Array.isArray(a.data)&&!(a.data instanceof FormData)&&b(a.data)&&(t=m(a.data)),n.put(r(a.id?`${a.path}/${a.id}`:a.path,d?.config.apiBasePath)||"",t,{headers:{Authorization:l?.token},...a.meta}).then(c=>e.successCallback?e.successCallback(c):h(c)).catch(c=>{throw e.errorCallback?e.errorCallback(c):u(c)})},deleteOne:(a,d,l)=>n.delete(r(a.id?`${a.path}/${a.id}`:a.path,d?.config.apiBasePath)||"",{headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),getOne:(a,d,l)=>n.get(r(a.id?`${a.path}/${a.id}`:a.path,d?.config.apiBasePath)||"",{headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),getMany:(a,d,l)=>n.get(r(a.path,d?.config.apiBasePath)||"",{params:{ids:a.ids},headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),createMany:(a,d,l)=>n.post(r(a.path,d?.config.apiBasePath)||"",a.data,{headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),updateMany:(a,d,l)=>n.put(r(a.path,d?.config.apiBasePath)||"",{ids:a.ids,data:a.data},{headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),deleteMany:(a,d,l)=>n.delete(r(a.path,d?.config.apiBasePath)||"",{params:{ids:a.ids},headers:{Authorization:l?.token},...a.meta}).then(t=>e.successCallback?e.successCallback(t):h(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):u(t)}),custom:(a,d,l)=>{let t={...a.query};return a.sorters&&typeof a.sorters=="object"&&(t={...t,...a.sorters}),a.filters&&typeof a.filters=="object"&&(t={...t,...a.filters}),n.request({url:r(a.path,d?.config.apiBasePath)||"",method:a.method||"GET",data:a.payload,params:t,signal:a.signal,headers:{Authorization:l?.token,...a.headers},onUploadProgress:c=>{const i=Math.round(c.loaded*100/(c.total||1));a.onUploadProgress?.({loaded:c.loaded,total:c.total,percent:i})},onDownloadProgress:c=>{const i=Math.round(c.loaded*100/(c.total||1));a.onDownloadProgress?.({loaded:c.loaded,total:c.total,percent:i})},...a.meta}).then(c=>e.successCallback?e.successCallback(c):h(c)).catch(c=>{throw e.errorCallback?e.errorCallback(c):u(c)})},getTotal:a=>e.getTotal?e.getTotal(a):a.meta?.total||0}}function h(e){const r=typeof e.data?.data>"u"?e.data:e.data?.data;return{message:e.data?.message,data:r,meta:e.data?.meta,raw:e.data,headers:e.headers,status:e.status}}function u(e){return{message:e.response?.data?.message||e?.message,data:e.response?.data?.data,meta:e.response?.data?.meta,status:e.response?.data?.code||e.response?.status||500,raw:e.response?.data}}exports.simpleDataProvider=C;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`lodash-es`),n=require(`axios`);n=e.__toESM(n);function r(e){return Object.values(e).some(e=>e instanceof File?!0:Array.isArray(e)?e.some(e=>e instanceof File):e&&typeof e==`object`?r(e):!1)}function i(e){let t=new FormData,n=(e,r=``)=>{Object.entries(e).forEach(([e,i])=>{let a=r?`${r}[${e}]`:e;i instanceof File?t.append(a,i):Array.isArray(i)?i.forEach((e,n)=>{e instanceof File?t.append(`${a}[${n}]`,e):e!=null&&t.append(`${a}[${n}]`,String(e))}):i&&typeof i==`object`?n(i,a):i!=null&&t.append(a,String(i))})};return n(e),t}function a(e){let a=(n,r)=>{let i=`${(0,t.trim)(e.apiUrl,`/`)}${r?`/${(0,t.trim)(r,`/`)}`:``}`;return n?`${i}/${(0,t.trim)(n||``,`/`)}`:i};return{apiUrl:a,getList:(t,r,i)=>{let c={};return t.pagination&&typeof t.pagination==`object`&&(c.page=t.pagination.page,c.pageSize=t.pagination.pageSize),n.default.get(a(t.path,r?.config.apiBasePath)||``,{params:{...c,...t.filters,...t.sorters},headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)})},create:(t,c,l)=>{let u=t.data;return t.data&&typeof t.data==`object`&&!Array.isArray(t.data)&&!(t.data instanceof FormData)&&r(t.data)&&(u=i(t.data)),n.default.post(a(t.path,c?.config.apiBasePath)||``,u,{headers:{Authorization:l?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)})},update:(t,c,l)=>{let u=t.data;return t.data&&typeof t.data==`object`&&!Array.isArray(t.data)&&!(t.data instanceof FormData)&&r(t.data)&&(u=i(t.data)),n.default.put(a(t.id?`${t.path}/${t.id}`:t.path,c?.config.apiBasePath)||``,u,{headers:{Authorization:l?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)})},deleteOne:(t,r,i)=>n.default.delete(a(t.id?`${t.path}/${t.id}`:t.path,r?.config.apiBasePath)||``,{headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),getOne:(t,r,i)=>n.default.get(a(t.id?`${t.path}/${t.id}`:t.path,r?.config.apiBasePath)||``,{headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),getMany:(t,r,i)=>n.default.get(a(t.path,r?.config.apiBasePath)||``,{params:{ids:t.ids},headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),createMany:(t,r,i)=>n.default.post(a(t.path,r?.config.apiBasePath)||``,t.data,{headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),updateMany:(t,r,i)=>n.default.put(a(t.path,r?.config.apiBasePath)||``,{ids:t.ids,data:t.data},{headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),deleteMany:(t,r,i)=>n.default.delete(a(t.path,r?.config.apiBasePath)||``,{params:{ids:t.ids},headers:{Authorization:i?.token},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)}),custom:(t,r,i)=>{let c={...t.query};return t.sorters&&typeof t.sorters==`object`&&(c={...c,...t.sorters}),t.filters&&typeof t.filters==`object`&&(c={...c,...t.filters}),n.default.request({url:a(t.path,r?.config.apiBasePath)||``,method:t.method||`GET`,data:t.payload,params:c,signal:t.signal,headers:{Authorization:i?.token,...t.headers},onUploadProgress:e=>{let n=Math.round(e.loaded*100/(e.total||1));t.onUploadProgress?.({loaded:e.loaded,total:e.total,percent:n})},onDownloadProgress:e=>{let n=Math.round(e.loaded*100/(e.total||1));t.onDownloadProgress?.({loaded:e.loaded,total:e.total,percent:n})},...t.meta}).then(t=>e.successCallback?e.successCallback(t):o(t)).catch(t=>{throw e.errorCallback?e.errorCallback(t):s(t)})},getTotal:t=>e.getTotal?e.getTotal(t):t.meta?.total||0}}function o(e){let t=e.data?.data===void 0?e.data:e.data?.data;return{message:e.data?.message,data:t,meta:e.data?.meta,raw:e.data,headers:e.headers,status:e.status}}function s(e){return{message:e.response?.data?.message||e?.message,data:e.response?.data?.data,meta:e.response?.data?.meta,status:e.response?.data?.code||e.response?.status||500,raw:e.response?.data}}exports.simpleDataProvider=a;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue-i18n");function t(r){const l=n.createI18n({legacy:!1,locale:r?.locale,fallbackLocale:r?.fallbackLocale,messages:r?.messages,missingWarn:!1,fallbackWarn:!1});return{t:(e,a,o)=>{const c=l.global.t(e,a);return c===e&&o?o:c},changeLocale:(e,a)=>new Promise(o=>{l.global.locale.value=e,o(e)}),loadLocale:(e,a)=>new Promise(o=>{l.global.setLocaleMessage(e,a),o(e)}),mergeLocale:(e,a)=>{l.global.mergeLocaleMessage(e,a)},getLocale:()=>l.global.locale.value,getLocales:()=>l.global.availableLocales.map(e=>e)}}exports.i18nProvider=t;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue-i18n`);function t(t){let n=(0,e.createI18n)({legacy:!1,locale:t?.locale,fallbackLocale:t?.fallbackLocale,messages:t?.messages,missingWarn:!1,fallbackWarn:!1});return{t:(e,t,r)=>{let i=n.global.t(e,t);return i===e&&r?r:i},changeLocale:(e,t)=>new Promise(t=>{n.global.locale.value=e,t(e)}),loadLocale:(e,t)=>new Promise(r=>{n.global.setLocaleMessage(e,t),r(e)}),mergeLocale:(e,t)=>{n.global.mergeLocaleMessage(e,t)},getLocale:()=>n.global.locale.value,getLocales:()=>n.global.availableLocales.map(e=>e)}}exports.i18nProvider=t;
@@ -0,0 +1 @@
1
+ require(`./authProvider.cjs`),require(`./dataProvider.cjs`),require(`./i18nProvider.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("vue"),$=require("@overlastic/vue"),A=require("vue-router"),S=require("../hooks/auth.cjs"),M=require("../hooks/config.cjs");require("@tanstack/vue-query");require("lodash-es");const k=require("../hooks/manage.cjs");require("json-2-csv");require("@vee-validate/rules");require("vee-validate");const z=require("../stores/auth.cjs"),D=require("../stores/i18n.cjs");require("pinia");const w=require("../stores/manage.cjs"),C=require("../stores/route.cjs");require("@vueuse/core");const E=require("../hooks/json.cjs");require("../hooks/json/index.cjs");require("../utils/bus.cjs");require("colorizr");require("axios");require("clsx");const F=require("../components/status/error.cjs"),I=require("../components/status/notAuthorized.cjs"),N=require("../components/status/notFound.cjs"),x=d.defineComponent({name:"DuxAppProvider",props:{},setup(y,{slots:R}){const m=d.inject("dux.manage"),s=M.useConfig(),p=A.useRouter();return p.beforeEach(async(a,j,u)=>{const e=a.meta.manageName,P=a.meta.authorization===!1;if(!e){const t=s.defaultManage||s.manages?.[0]?.name||"";return u({path:`/${t}`,replace:!0})}m&&(m.value=e);const f=w.useManageStore(e);f.isInit()||f.setConfig(s.manages?.find(t=>t.name===e),s);const c=C.useRouteStore(e),r=k.useManage(e),h=z.useAuthStore(e),l=D.useI18nStore(e);if(r.config?.i18nProvider&&!l.isInit()){const t=l.getLocale();t&&r.config?.i18nProvider.changeLocale(t)}if(E.initJsonSchemaComponents(s,e),!h.isLogin())return P?u():u({path:r.getRoutePath("login"),replace:!0});const g=t=>t?.map(i=>({...i,path:i.path?r.getRoutePath(i.path):void 0}));if(!c.getRouteInit()){const t=r.config?.components||{},i=[];return i.push({name:`${e}.notFound`,label:"404",path:":pathMatch(.*)*",component:t.notFound||N.DuxNotFound,hidden:!0,meta:{can:!1}}),i.push({name:`${e}.notAuthorized`,label:"403",path:"notAuthorized",component:t.notAuthorized||I.DuxNotAuthorized,hidden:!0,meta:{can:!1}}),i.push({name:`${e}.error`,label:"500",path:"error",component:t.error||F.DuxError,hidden:!0,meta:{can:!1}}),c.setRoutes(g(r.config?.menus||[])),r.config?.apiRoutePath&&await r.config?.dataProvider?.default?.custom({path:r.config.apiRoutePath,meta:{timeout:5e3}},r,h.getUser()).then(o=>{c.appendRoutes(g(o.data||[]))}).catch(o=>{throw r.config?.authProvider?.onError?.(o).then(n=>{n?.logout&&(h.logout(),p.push(r.getRoutePath(n.redirectTo||"/login")))}),o}),c.appendRoutes(i),c.getRoutes().forEach(o=>{if(!o.path)return;const n={name:o.name,path:o.path,meta:o.meta};switch(o.loader){case"iframe":n.component=r.config?.components?.iframe||(()=>Promise.resolve().then(()=>require("../components/loader/iframe.cjs")));break;case"remote":n.component=r.config?.components?.remote||(()=>Promise.resolve().then(()=>require("../components/loader/loader.cjs")));break;case"link":n.beforeEnter=()=>{const v=o.meta?.url||o.path;return v&&window.open(v,"_blank"),!1},n.component=()=>Promise.resolve({template:"<div></div>"});break;default:o.component&&(n.component=o.component);break}p.addRoute(`${e}.auth`,n)}),u({path:a.redirectedFrom?.path||a.path,replace:!0})}const q=["","/",`/${e}`,`/${e}/`];if(q.includes(a.path)){const t=c.getIndexRoute();return!t?.path||q.includes(t?.path)?(console.warn("[Dux] index route not found, skip redirect"),u()):u({path:t?.path||"/",replace:!0})}const b=S.useCan(e);return(a.meta?.can===void 0||a.meta?.can===!0)&&!b(a.name)?u({name:`${e}.notAuthorized`}):u()}),()=>d.createVNode($.OverlaysProvider,null,{default:()=>[R.default?.()]})}});exports.DuxAppProvider=x;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../stores/auth.cjs`),t=require(`../stores/i18n.cjs`),n=require(`../stores/manage.cjs`),r=require(`../stores/route.cjs`);require(`../stores/index.cjs`);const i=require(`../hooks/manage.cjs`),a=require(`../hooks/auth.cjs`),o=require(`../hooks/config.cjs`),s=require(`../hooks/json.cjs`);require(`../hooks/index.cjs`);const c=require(`../components/status/error.cjs`),l=require(`../components/status/notAuthorized.cjs`),u=require(`../components/status/notFound.cjs`);require(`../components/index.cjs`);let d=require(`vue`),f=require(`vue-router`),p=require(`@overlastic/vue`);const m=(0,d.defineComponent)({name:`DuxAppProvider`,props:{},setup(m,{slots:h}){let g=(0,d.inject)(`dux.manage`),_=o.useConfig(),v=(0,f.useRouter)();return v.beforeEach(async(o,d,f)=>{let p=o.meta.manageName,m=o.meta.authorization===!1;if(!p)return f({path:`/${_.defaultManage||_.manages?.[0]?.name||``}`,replace:!0});g&&(g.value=p);let h=n.useManageStore(p);h.isInit()||h.setConfig(_.manages?.find(e=>e.name===p),_);let y=r.useRouteStore(p),b=i.useManage(p),x=e.useAuthStore(p),S=t.useI18nStore(p);if(b.config?.i18nProvider&&!S.isInit()){let e=S.getLocale();e&&b.config?.i18nProvider.changeLocale(e)}if(s.initJsonSchemaComponents(_,p),!x.isLogin())return m?f():f({path:b.getRoutePath(`login`),replace:!0});let C=e=>e?.map(e=>({...e,path:e.path?b.getRoutePath(e.path):void 0}));if(!y.getRouteInit()){let e=b.config?.components||{},t=[];return t.push({name:`${p}.notFound`,label:`404`,path:`:pathMatch(.*)*`,component:e.notFound||u.DuxNotFound,hidden:!0,meta:{can:!1}}),t.push({name:`${p}.notAuthorized`,label:`403`,path:`notAuthorized`,component:e.notAuthorized||l.DuxNotAuthorized,hidden:!0,meta:{can:!1}}),t.push({name:`${p}.error`,label:`500`,path:`error`,component:e.error||c.DuxError,hidden:!0,meta:{can:!1}}),y.setRoutes(C(b.config?.menus||[])),b.config?.apiRoutePath&&await b.config?.dataProvider?.default?.custom({path:b.config.apiRoutePath,meta:{timeout:5e3}},b,x.getUser()).then(e=>{y.appendRoutes(C(e.data||[]))}).catch(e=>{throw b.config?.authProvider?.onError?.(e).then(e=>{e?.logout&&(x.logout(),v.push(b.getRoutePath(e.redirectTo||`/login`)))}),e}),y.appendRoutes(t),y.getRoutes().forEach(e=>{if(!e.path)return;let t={name:e.name,path:e.path,meta:e.meta};switch(e.loader){case`iframe`:t.component=b.config?.components?.iframe||(()=>Promise.resolve().then(()=>require(`../components/loader/iframe.cjs`)));break;case`remote`:t.component=b.config?.components?.remote||(()=>Promise.resolve().then(()=>require(`../components/loader/loader.cjs`)));break;case`link`:t.beforeEnter=()=>{let t=e.meta?.url||e.path;return t&&window.open(t,`_blank`),!1},t.component=()=>Promise.resolve({template:`<div></div>`});break;default:e.component&&(t.component=e.component);break}v.addRoute(`${p}.auth`,t)}),f({path:o.redirectedFrom?.path||o.path,replace:!0})}let w=[``,`/`,`/${p}`,`/${p}/`];if(w.includes(o.path)){let e=y.getIndexRoute();return!e?.path||w.includes(e?.path)?(console.warn(`[Dux] index route not found, skip redirect`),f()):f({path:e?.path||`/`,replace:!0})}let T=a.useCan(p);return(o.meta?.can===void 0||o.meta?.can===!0)&&!T(o.name)?f({name:`${p}.notAuthorized`}):f()}),()=>(0,d.createVNode)(p.OverlaysProvider,null,{default:()=>[h.default?.()]})}});exports.DuxAppProvider=m;
@@ -0,0 +1 @@
1
+ require(`./app.cjs`),require(`./tab.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),d=require("vue-router");require("pinia");require("lodash-es");const p=require("../stores/route.cjs"),l=require("../stores/tab.cjs"),b=a.defineComponent({name:"DuxTabRouterView",props:{},setup(){const u=d.useRoute(),s=l.useTabStore(),c=p.useRouteStore(),n=new Map,m=(t,r)=>{let e;const o=t;return n.has(o)?e=n.get(o):(e={name:o,render(){return r}},n.set(o,e)),e};s.$subscribe((t,r)=>{n.forEach(e=>{r.tabs.some(o=>o.path===e.name)||n.delete(e.name)})});const i=c.getIndexRoute();return i&&s.addTab({...i,meta:{...i.meta,lock:!0}}),a.watch([u,()=>c.routes],()=>{const t=c.searchRouteName(u.name);if(!t)return;const r={label:t.label,path:u.path,name:t.name};s.addTab(r)},{immediate:!0}),()=>a.createVNode(d.RouterView,null,{default:({Component:t})=>{const r=m(u.path,t);return a.createVNode(a.Transition,{name:"tab-fade",mode:"out-in",appear:!0},{default:()=>[a.createVNode(a.KeepAlive,{include:s.tabs.map(e=>e.path||"")},[a.createVNode(r,{key:u.path},null)])]})}})}});exports.DuxTabRouterView=b;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../stores/route.cjs`),t=require(`../stores/tab.cjs`);require(`../stores/index.cjs`);let n=require(`vue`),r=require(`vue-router`);const i=(0,n.defineComponent)({name:`DuxTabRouterView`,props:{},setup(){let i=(0,r.useRoute)(),a=t.useTabStore(),o=e.useRouteStore(),s=new Map,c=(e,t)=>{let n,r=e;return s.has(r)?n=s.get(r):(n={name:r,render(){return t}},s.set(r,n)),n};a.$subscribe((e,t)=>{s.forEach(e=>{t.tabs.some(t=>t.path===e.name)||s.delete(e.name)})});let l=o.getIndexRoute();return l&&a.addTab({...l,meta:{...l.meta,lock:!0}}),(0,n.watch)([i,()=>o.routes],()=>{let e=o.searchRouteName(i.name);if(!e)return;let t={label:e.label,path:i.path,name:e.name};a.addTab(t)},{immediate:!0}),()=>(0,n.createVNode)(r.RouterView,null,{default:({Component:e})=>{let t=c(i.path,e);return(0,n.createVNode)(n.Transition,{name:`tab-fade`,mode:`out-in`,appear:!0},{default:()=>[(0,n.createVNode)(n.KeepAlive,{include:a.tabs.map(e=>e.path||``)},[(0,n.createVNode)(t,{key:i.path},null)])]})}})}});exports.DuxTabRouterView=i;
@@ -0,0 +1 @@
1
+ require(`./route.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue-router");function h(e){const a=[...e.routes||[],{name:"default",path:"/:catchAll(.*)",redirect:`/${e.defaultManage||e.manages?.[0]?.name||""}`}];return e.manages?.forEach(t=>{const r=t.routes?.filter(o=>o.meta?.authorization===!0||o.meta?.authorization===void 0)||[],u=t.routes?.filter(o=>o.meta?.authorization===!1)||[];a.push({name:t.name,path:t.routePrefix||"",children:[{path:"",name:`${t.name}.auth`,component:t.components?.authLayout,children:r},{path:"",name:`${t.name}.noAuth`,component:t.components?.noAuthLayout,children:u},{path:":pathMatch(.*)*",name:`${t.name}.placeholder`,component:t.components?.authLayout,children:[]}],meta:{manageName:t.name}})}),n.createRouter({history:n.createWebHashHistory(),routes:a})}exports.initRouter=h;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue-router`);function t(t){let n=[...t.routes||[],{name:`default`,path:`/:catchAll(.*)`,redirect:`/${t.defaultManage||t.manages?.[0]?.name||``}`}];return t.manages?.forEach(e=>{let t=e.routes?.filter(e=>e.meta?.authorization===!0||e.meta?.authorization===void 0)||[],r=e.routes?.filter(e=>e.meta?.authorization===!1)||[];n.push({name:e.name,path:e.routePrefix||``,children:[{path:``,name:`${e.name}.auth`,component:e.components?.authLayout,children:t},{path:``,name:`${e.name}.noAuth`,component:e.components?.noAuthLayout,children:r},{path:`:pathMatch(.*)*`,name:`${e.name}.placeholder`,component:e.components?.authLayout,children:[]}],meta:{manageName:e.name}})}),(0,e.createRouter)({history:(0,e.createWebHashHistory)(),routes:n})}exports.initRouter=t;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("pinia"),n=require("vue");function s(o){const t=n.inject("dux.manage");if(o||(o=t?.value||""),!o)throw new Error("manage not found");return c(o)()}function c(o){return r.defineStore(`auths-${o}`,()=>{const t=n.ref();return{data:t,getUser:()=>t.value||{},login:e=>{t.value={token:e?.token,id:e?.id,info:e?.info,permission:e?.permission}},isLogin:()=>!!t.value?.token,logout:()=>{t.value=void 0},update:e=>{t.value={token:e?.token,id:e?.id,info:e?.info,permission:e?.permission}},updateKey:(e,i)=>{t.value={...t.value,[e]:i}}}},{persist:!0})}exports.useAuthStore=s;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`pinia`);function n(t){let n=(0,e.inject)(`dux.manage`);if(t||=n?.value||``,!t)throw Error(`manage not found`);return r(t)()}function r(n){return(0,t.defineStore)(`auths-${n}`,()=>{let t=(0,e.ref)();return{data:t,getUser:()=>t.value||{},login:e=>{t.value={token:e?.token,id:e?.id,info:e?.info,permission:e?.permission}},isLogin:()=>!!t.value?.token,logout:()=>{t.value=void 0},update:e=>{t.value={token:e?.token,id:e?.id,info:e?.info,permission:e?.permission}},updateKey:(e,n)=>{t.value={...t.value,[e]:n}}}},{persist:!0})}exports.useAuthStore=n;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("pinia"),o=require("vue");function u(e){const t=o.inject("dux.manage");if(e||(e=t?.value||""),!e)throw new Error("manage not found");return c(e)()}function c(e){return i.defineStore(`i18n-${e}`,()=>{const t=o.ref(""),n=o.ref(!1);return{lang:t,isInit:()=>{const r=n.value;return n.value=!0,r},setLocale:r=>{t.value=r},getLocale:()=>t.value}},{persist:{pick:["lang"]}})}exports.useI18nStore=u;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`pinia`);function n(t){let n=(0,e.inject)(`dux.manage`);if(t||=n?.value||``,!t)throw Error(`manage not found`);return r(t)()}function r(n){return(0,t.defineStore)(`i18n-${n}`,()=>{let t=(0,e.ref)(``),n=(0,e.ref)(!1);return{lang:t,isInit:()=>{let e=n.value;return n.value=!0,e},setLocale:e=>{t.value=e},getLocale:()=>t.value}},{persist:{pick:[`lang`]}})}exports.useI18nStore=n;
@@ -0,0 +1 @@
1
+ require(`./auth.cjs`),require(`./i18n.cjs`),require(`./jsonSchema.cjs`),require(`./manage.cjs`),require(`./route.cjs`),require(`./tab.cjs`),require(`./theme.cjs`);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("pinia"),a=require("vue");function i(t){const e=a.inject("dux.manage");if(t||(t=e?.value||""),!t)throw new Error("manage not found");return h(t)()}function h(t){return s.defineStore(`jsonSchema-${t}`,()=>{const e=a.ref(new Map),o=a.ref(new Map);return{componentCache:e,componentsByName:o,addComponent:(n,r,u)=>{const c=r;return e.value.has(c)||(e.value.set(c,{component:n,name:r,originalName:u||r,cacheKey:c}),o.value.set(r,n)),c},getComponent:n=>e.value.get(n)?.component,getComponentByName:n=>o.value.get(n),hasComponent:n=>e.value.has(n),clearCache:()=>{e.value.clear(),o.value.clear()},getCacheSize:()=>e.value.size}})}exports.useJsonSchemaStore=i;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`pinia`);function n(e){return e}function r(t){let n=(0,e.inject)(`dux.manage`);if(t||=n?.value||``,!t)throw Error(`manage not found`);return i(t)()}function i(r){return(0,t.defineStore)(`jsonSchema-${r}`,()=>{let t=(0,e.ref)(new Map),r=(0,e.ref)(new Map);return{componentCache:t,componentsByName:r,addComponent:(e,i,a)=>{let o=n(i);return t.value.has(o)||(t.value.set(o,{component:e,name:i,originalName:a||i,cacheKey:o}),r.value.set(i,e)),o},getComponent:e=>t.value.get(e)?.component,getComponentByName:e=>r.value.get(e),hasComponent:e=>t.value.has(e),clearCache:()=>{t.value.clear(),r.value.clear()},getCacheSize:()=>t.value.size}})}exports.useJsonSchemaStore=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("lodash-es"),P=require("pinia"),c=require("vue");function v(r){return r!=null&&typeof r=="object"&&!Array.isArray(r)&&typeof r.getList!="function"}function f(r){const n=c.inject("dux.manage");if(r||(r=n?.value||""),!r)throw new Error("manage not found");return m(r)()}function m(r){return P.defineStore(`manages-${r}`,()=>{const n=c.ref(),d=c.ref(!1);return{config:n,isInit:()=>{const s=d.value;return d.value=!0,s},setConfig:(s,t)=>{const e=p.cloneDeep(s),u=[];e.title&&u.push(e.title),t.title&&u.push(t.title),e.title=u.join(" - "),e.copyright=e.copyright||t.copyright,e.description=e.description||t.description,e.theme={...t?.theme,...e?.theme};const a={};t?.dataProvider&&(v(t.dataProvider)?Object.keys(t.dataProvider).forEach(i=>{a[i]=t.dataProvider[i]}):a.default=t.dataProvider),e?.dataProvider&&(v(e.dataProvider)?Object.keys(e.dataProvider).forEach(i=>{a[i]=e.dataProvider[i]}):a.default=e.dataProvider),e.authProvider=t?.authProvider||e?.authProvider,e.dataProvider=a,e.i18nProvider=t?.i18nProvider||e?.i18nProvider,e.layoutComponent={...t.layoutComponent,...e.layoutComponent};const o={...t.components,...e.components};o&&Object.keys(o).forEach(i=>{o[i]&&(o[i]=c.markRaw(o[i]))}),e.components=o,e.remote={...t.remote,...e.remote},n.value=e},getConfig:()=>n.value}})}exports.useManageStore=f;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`pinia`),n=require(`lodash-es`);function r(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.getList!=`function`}function i(t){let n=(0,e.inject)(`dux.manage`);if(t||=n?.value||``,!t)throw Error(`manage not found`);return a(t)()}function a(i){return(0,t.defineStore)(`manages-${i}`,()=>{let t=(0,e.ref)(),i=(0,e.ref)(!1);return{config:t,isInit:()=>{let e=i.value;return i.value=!0,e},setConfig:(i,a)=>{let o=(0,n.cloneDeep)(i),s=[];o.title&&s.push(o.title),a.title&&s.push(a.title),o.title=s.join(` - `),o.copyright=o.copyright||a.copyright,o.description=o.description||a.description,o.theme={...a?.theme,...o?.theme};let c={};a?.dataProvider&&(r(a.dataProvider)?Object.keys(a.dataProvider).forEach(e=>{c[e]=a.dataProvider[e]}):c.default=a.dataProvider),o?.dataProvider&&(r(o.dataProvider)?Object.keys(o.dataProvider).forEach(e=>{c[e]=o.dataProvider[e]}):c.default=o.dataProvider),o.authProvider=a?.authProvider||o?.authProvider,o.dataProvider=c,o.i18nProvider=a?.i18nProvider||o?.i18nProvider,o.layoutComponent={...a.layoutComponent,...o.layoutComponent};let l={...a.components,...o.components};l&&Object.keys(l).forEach(t=>{l[t]&&(l[t]=(0,e.markRaw)(l[t]))}),o.components=l,o.remote={...a.remote,...o.remote},t.value=o},getConfig:()=>t.value}})}exports.useManageStore=i;