@duxweb/dvha-core 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/auth/can.cjs +1 -1
- package/dist/cjs/directive/permission.cjs +1 -1
- package/dist/cjs/hooks/overlay.cjs +1 -1
- package/dist/cjs/hooks/select.cjs +1 -1
- package/dist/cjs/hooks/theme.cjs +8 -1
- package/dist/cjs/hooks/themeColor.cjs +1 -0
- package/dist/cjs/hooks/upload.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/provider/app.cjs +1 -1
- package/dist/cjs/stores/theme.cjs +1 -0
- package/dist/cjs/utils/theme.cjs +1 -0
- package/dist/esm/components/auth/can.js +7 -6
- package/dist/esm/directive/permission.js +3 -2
- package/dist/esm/hooks/overlay.js +3 -2
- package/dist/esm/hooks/select.js +14 -14
- package/dist/esm/hooks/theme.js +177 -23
- package/dist/esm/hooks/themeColor.js +291 -0
- package/dist/esm/hooks/upload.js +53 -53
- package/dist/esm/index.js +55 -49
- package/dist/esm/provider/app.js +8 -7
- package/dist/esm/stores/theme.js +57 -0
- package/dist/esm/utils/theme.js +82 -0
- package/dist/types/hooks/index.d.ts +2 -0
- package/dist/types/hooks/theme.d.ts +252 -3
- package/dist/types/hooks/themeColor.d.ts +288 -0
- package/dist/types/hooks/tree.d.ts +18 -0
- package/dist/types/stores/index.d.ts +1 -0
- package/dist/types/stores/theme.d.ts +104 -0
- package/dist/types/types/theme.d.ts +2 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/theme.d.ts +52 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),q=require("../../hooks/auth.cjs");require("@tanstack/vue-query");require("lodash-es");require("pinia");require("vue-router");require("@vueuse/core");require("@overlastic/vue");require("clsx");require("json-2-csv");require("axios");const t=i.defineComponent({name:"DuxCan",props:{name:{type:String,required:!0},params:{type:Object}},setup(r,{slots:e}){const a=q.useCan();return()=>{var u,n;return a(r.name,r.params)?(u=e.default)==null?void 0:u.call(e):((n=e.fallback)==null?void 0:n.call(e))||null}}});exports.DuxCan=t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),q=require("../../hooks/auth.cjs");require("@tanstack/vue-query");require("lodash-es");require("pinia");require("vue-router");require("@vueuse/core");require("colorizr");require("@overlastic/vue");require("clsx");require("json-2-csv");require("axios");const t=i.defineComponent({name:"DuxCan",props:{name:{type:String,required:!0},params:{type:Object}},setup(r,{slots:e}){const a=q.useCan();return()=>{var u,n;return a(r.name,r.params)?(u=e.default)==null?void 0:u.call(e):((n=e.fallback)==null?void 0:n.call(e))||null}}});exports.DuxCan=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../hooks/auth.cjs");require("vue");require("@tanstack/vue-query");require("lodash-es");require("pinia");require("vue-router");require("@vueuse/core");require("@overlastic/vue");require("clsx");require("json-2-csv");require("axios");const n={mounted(e,u){var i;const{value:r}=u;if(!r)return;t.useCan()(r)||(i=e.parentElement)==null||i.removeChild(e)}};exports.permissionDirective=n;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../hooks/auth.cjs");require("vue");require("@tanstack/vue-query");require("lodash-es");require("pinia");require("vue-router");require("@vueuse/core");require("colorizr");require("@overlastic/vue");require("clsx");require("json-2-csv");require("axios");const n={mounted(e,u){var i;const{value:r}=u;if(!r)return;t.useCan()(r)||(i=e.parentElement)==null||i.removeChild(e)}};exports.permissionDirective=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@overlastic/vue");require("vue");require("clsx");require("vue-router");const i=require("../components/overlay/overlay.cjs");require("pinia");require("lodash-es");require("@tanstack/vue-query");require("@vueuse/core");require("json-2-csv");require("axios");function t(){const e=u.useOverlayInject(i.DuxOverlay);return{show:r=>e(r)}}exports.useOverlay=t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@overlastic/vue");require("vue");require("clsx");require("vue-router");const i=require("../components/overlay/overlay.cjs");require("pinia");require("lodash-es");require("@tanstack/vue-query");require("@vueuse/core");require("colorizr");require("json-2-csv");require("axios");function t(){const e=u.useOverlayInject(i.DuxOverlay);return{show:r=>e(r)}}exports.useOverlay=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("lodash-es"),o=require("vue"),h=require("./data.cjs");function N(t){const r=o.ref(),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("lodash-es"),o=require("vue"),h=require("./data.cjs");function N(t){const r=o.ref(),c=o.ref({page:1,pageSize:typeof t.pagination=="number"?t.pagination:t.pagination?20:0}),s=o.ref(!1),b=y.debounce(e=>{r.value=e},t.debounce||300),V=e=>{b(e)},{data:d,isLoading:S}=h.useList({get path(){return t.path||""},get filters(){const e={...t.params};return r.value&&(e[t.keywordField||"keyword"]=r.value),e},get pagination(){return t.pagination?c.value:void 0},get providerName(){return t.providerName}}),f=o.ref([]),v=e=>{const{optionField:n}=t;return typeof n=="string"?e[n]||e.value||e.id:e.value||e.id},w=e=>{const{optionLabel:n="label",optionValue:u="value"}=t;let l;typeof n=="function"?l=n(e):typeof n=="string"?l=e[n]||e.label||e.name||e.title||String(e.value||e.id||""):l=e.label||e.name||e.title||String(e.value||e.id||"");let a;return typeof u=="function"?a=u(e):typeof u=="string"?a=e[u]||e.value||e.id:a=e.value||e.id,{label:l,value:a,raw:e}},g=o.computed(()=>{var u;const e=((u=d.value)==null?void 0:u.data)||[],n=[...f.value];return e.forEach(l=>{n.some(i=>v(i)===v(l))||n.push(l)}),n.map(l=>w(l))}),x=o.computed(()=>{var e;return((e=d.value)==null?void 0:e.meta)||{}}),{refetch:E}=h.useMany({get path(){return t.path||""},get ids(){return t.defaultValue?y.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue]:[]},options:{enabled:!1},providerName:t.providerName});o.watch(()=>t.defaultValue,async e=>{var l;if(!(s.value||!e||(s.value=!0,(Array.isArray(e)?e:[e]).every(a=>g.value.some(i=>i.value===a)))))try{const a=await E();f.value=((l=a==null?void 0:a.data)==null?void 0:l.data)||[]}catch(a){console.warn("Failed to fetch selected items:",a)}},{immediate:!0});const F=o.computed(()=>S.value);return{onSearch:V,options:g,meta:x,loading:F,pagination:c}}exports.useSelect=N;
|
package/dist/cjs/hooks/theme.cjs
CHANGED
|
@@ -1 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("@vueuse/core"),f=require("vue"),J=require("./manage.cjs"),K=require("pinia");require("lodash-es");const Q=require("../stores/theme.cjs"),U=require("./themeColor.cjs"),E=require("colorizr");function W(){var q,V;const d=Q.useThemeStore(),{mode:M}=K.storeToRefs(d),v=S.useColorMode({storageRef:M}),m=J.useManage(),{state:C,next:I}=S.useCycleList(["dark","light","auto"],{initialValue:v.store.value});f.watchEffect(()=>{v.value=C.value});const g=f.computed(()=>{const{system:o,store:t}=v;return t.value==="auto"?o.value==="dark":t.value==="dark"}),L=f.computed(()=>{var o,t,e,u,r,i,n,s;return g.value?{logo:(t=(o=m.config)==null?void 0:o.theme)==null?void 0:t.darkLogo,banner:(u=(e=m.config)==null?void 0:e.theme)==null?void 0:u.darkBanner}:{logo:(i=(r=m.config)==null?void 0:r.theme)==null?void 0:i.logo,banner:(s=(n=m.config)==null?void 0:n.theme)==null?void 0:s.banner}}),c={...{colors:U.themeColor,colorTypes:["primary","info","success","warning","error","gray"],colorShades:["50","100","200","300","400","500","600","700","800","900","950"],colorScenes:{light:{default:{default:"500",hover:"600",pressed:"700",focus:"500",disabled:"300"}},dark:{default:{default:"500",hover:"400",pressed:"300",focus:"500",disabled:"600"}}},colorSemantic:{light:{text:{dimmed:"400",muted:"500",toned:"600",base:"700",highlighted:"900",inverted:"white"},bg:{base:"white",muted:"50",elevated:"100",accented:"200",inverted:"900"},border:{base:"200",muted:"200",accented:"300",inverted:"900"}},dark:{text:{dimmed:"600",muted:"500",toned:"400",base:"300",highlighted:"100",inverted:"black"},bg:{base:"950",muted:"900",elevated:"800",accented:"700",inverted:"100"},border:{base:"800",muted:"800",accented:"700",inverted:"100"}}},colorBase:{white:"#ffffff",black:"#000000"}},...(V=(q=m.config)==null?void 0:q.theme)==null?void 0:V.config},{colorShades:p,colorTypes:k}=c,b=f.computed(()=>d.theme),x=f.computed(()=>Object.keys(c.colors)),w=["default","hover","pressed","focus","disabled"];function O(){return g.value?c.colorScenes.dark:c.colorScenes.light}function T(o,t){var r;const e=O(),u=e.default;if((r=e.overrides)!=null&&r[o]){const i=e.overrides[o],n=i==null?void 0:i[t];if(n)return n}return u[t]||"500"}function y(o,t){var u;const e=b.value[o];return((u=c.colors[e])==null?void 0:u[t])||""}function a(o,t,e){const r=(g.value?c.colorSemantic.dark:c.colorSemantic.light)[o][t];return r==="white"||r==="black"?`var(--color-${r})`:`var(--base-color-${e}-${r})`}function $(){var r,i;const o=[];Object.entries(c.colors).forEach(([n,s])=>{typeof s=="object"&&Object.entries(s).forEach(([l,h])=>{try{const B=E.hex2rgb(h),H=E.formatCSS(B,{format:"rgb"});o.push(`--base-color-${n}-${l}: ${H};`)}catch{o.push(`--base-color-${n}-${l}: ${h};`)}})});const t=[];k.forEach(n=>{const s=b.value[n];p.forEach(l=>{t.push(`--ui-color-${n}-${l}: var(--base-color-${s}-${l});`)}),w.forEach(l=>{const h=T(n,l);l==="default"?t.push(`--ui-color-${n}: var(--base-color-${s}-${h});`):t.push(`--ui-color-${n}-${l}: var(--base-color-${s}-${h});`)})});const e=b.value.gray,u=[`--color-white: ${((r=c.colorBase)==null?void 0:r.white)||"#ffffff"};`,`--color-black: ${((i=c.colorBase)==null?void 0:i.black)||"#000000"};`,`--ui-text-dimmed: ${a("text","dimmed",e)};`,`--ui-text-muted: ${a("text","muted",e)};`,`--ui-text-toned: ${a("text","toned",e)};`,`--ui-text: ${a("text","base",e)};`,`--ui-text-highlighted: ${a("text","highlighted",e)};`,`--ui-text-inverted: ${a("text","inverted",e)};`,`--ui-bg: ${a("bg","base",e)};`,`--ui-bg-muted: ${a("bg","muted",e)};`,`--ui-bg-elevated: ${a("bg","elevated",e)};`,`--ui-bg-accented: ${a("bg","accented",e)};`,`--ui-bg-inverted: ${a("bg","inverted",e)};`,`--ui-border: ${a("border","base",e)};`,`--ui-border-muted: ${a("border","muted",e)};`,`--ui-border-accented: ${a("border","accented",e)};`,`--ui-border-inverted: ${a("border","inverted",e)};`];return`:root {
|
|
2
|
+
${o.join(`
|
|
3
|
+
`)}
|
|
4
|
+
${t.join(`
|
|
5
|
+
`)}
|
|
6
|
+
${u.join(`
|
|
7
|
+
`)}
|
|
8
|
+
}`}const{css:j}=S.useStyleTag($(),{id:"theme-variables"});function R(){d.cssInit||(d.setCssInit(),j.value=$())}f.watch([b,g],()=>{d.cssInit&&(j.value=$())},{deep:!0,immediate:!1});function z(o,t){x.value.includes(t)?d.setThemeColor(o,t):console.warn(`Color "${t}" is not available`)}function D(o){d.setThemeColors(o)}function G(){d.resetTheme()}function P(o,t){return y(o,t)}function A(o,t){t||(t="default");const e=T(o,t);return y(o,e)}function F(o,t){var i,n,s;const e=b.value.gray,r=(g.value?c.colorSemantic.dark:c.colorSemantic.light)[o][t];return r==="white"?((i=c.colorBase)==null?void 0:i.white)||"#ffffff":r==="black"?((n=c.colorBase)==null?void 0:n.black)||"#000000":((s=c.colors[e])==null?void 0:s[r])||""}return{toggle:I,mode:C,isDark:g,resources:L,config:f.readonly(c),colorMapping:f.readonly(b),colors:x,colorShades:p,colorTypes:k,colorScenes:w,cssInit:R,cssReset:G,setColor:z,setColors:D,getSceneColor:A,getShadeColor:P,getSemanticColor:F}}exports.useTheme=W;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f={slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"}};exports.themeColor=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const J=require("@vueuse/core"),Q=require("lodash-es"),u=require("vue"),R=require("./upload/local.cjs");function V(l){const v=u.ref(!1),i=u.ref([]),d=u.ref(-1),f=u.ref(new Map),P=l.driver||R.createLocalUploadDriver(),A=u.computed(()=>{const{onProgress:e,onDataCallback:n,onCancel:a,onComplete:t,maxFileSize:c,maxFileCount:o,accept:s,multiple:r,autoUpload:m,options:S,onSuccess:U,onError:F,method:X,driver:Y,...H}=l;return H}),$=u.computed(()=>l.method||"POST"),b=u.computed(()=>{const e=i.value.length,n=i.value.reduce((o,s)=>o+(s.filesize||0),0);let a=0,t=0;return i.value.forEach((o,s)=>{var r;s<d.value?a+=o.filesize||0:s===d.value&&(a+=((r=o.progress)==null?void 0:r.loaded)||0)}),n>0&&(t=Math.round(a/n*100)),{index:d.value>=0?d.value+1:0,totalFiles:e,currentFile:i.value[d.value],totalPercent:t,totalLoaded:a,totalSize:n}}),w=e=>{if(e===0)return"0 Bytes";const n=1024,a=["Bytes","KB","MB","GB"],t=Math.floor(Math.log(e)/Math.log(n));return`${Number.parseFloat((e/n**t).toFixed(2))} ${a[t]}`},h=e=>{if(e===0)return"0 B/s";const n=1024,a=["B/s","KB/s","MB/s","GB/s"],t=Math.floor(Math.log(e)/Math.log(n));return`${Number.parseFloat((e/n**t).toFixed(2))} ${a[t]}`},x=()=>Q.uniqueId("upload-"),I=async(e,n,a)=>{switch(n){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 t=e.includes(",")?e.split(",")[1]:e,c=e.includes(",")?e.split(",")[0].split(":")[1].split(";")[0]:"application/octet-stream",o=atob(t),s=new Uint8Array(o.length);for(let m=0;m<o.length;m++)s[m]=o.charCodeAt(m);const r=new Blob([s],{type:c});return new File([r],"base64-file",{type:c})}case"arrayBuffer":{if(!(e instanceof ArrayBuffer))throw new TypeError('Payload must be ArrayBuffer when type is "arrayBuffer"');const t=new Blob([e]);return new File([t],"array-buffer-file",{type:"application/octet-stream"})}default:throw new Error(`Unsupported upload type: ${n}`)}},T=e=>{if(l.maxFileSize&&e.size>l.maxFileSize)throw new Error(`File size cannot exceed ${w(l.maxFileSize)}`);if(l.maxFileCount&&i.value.length>=l.maxFileCount)throw new Error(`File count cannot exceed ${l.maxFileCount}`)},k=async(e,n,a)=>{const t=await I(e,n);T(t);const c={id:x(),file:t,filename:t.name,filesize:t.size,filetype:t.type,filesizeText:w(t.size),status:"pending",progress:{loaded:0,total:t.size,percent:0,speed:0,speedText:h(0),remainingTime:0,uploadTime:0}};return i.value.push(c),c},g=(e,n)=>{const a=i.value.findIndex(t=>t.id===e);a!==-1&&(i.value[a]={...i.value[a],...n})},z=()=>{var n;i.value.every(a=>a.status!=="uploading")&&((n=l.onComplete)==null||n.call(l,i.value))},y=e=>{var a;const n=i.value.find(t=>t.id===e);if(!n||n.status!=="pending"&&n.status!=="uploading")return!1;if(n.status==="uploading"){const t=f.value.get(e);t&&(t.abort(),f.value.delete(e))}return g(e,{status:"cancelled"}),(a=l.onCancel)==null||a.call(l,e),z(),!0},q=e=>{e?e.forEach(n=>y(n)):i.value.forEach(n=>y(n.id))},D=async e=>{if(!e.file)throw new Error("File not found");T(e.file);const n=new AbortController;f.value.set(e.id,n);const a=Date.now();g(e.id,{status:"uploading"}),await P.upload(e.file,{...A.value,method:$.value,signal:n.signal,onUploadProgress:t=>{var F;const s=(Date.now()-a)/1e3,r=s>0?t.loaded/s:0,m=(t.total||0)-t.loaded,S=r>0?m/r:0,U={loaded:t.loaded,total:t.total,percent:t.percent||0,speed:Math.round(r),speedText:h(r),uploadTime:Math.round(s),remainingTime:Math.round(S)};g(e.id,{status:"uploading",progress:U}),(F=l.onProgress)==null||F.call(l,b.value)}}).then(t=>{var s,r;if(e.status==="cancelled")return;const c=((s=l.onDataCallback)==null?void 0:s.call(l,t,e))||{},o=Math.round((Date.now()-a)/1e3);g(e.id,{status:"success",data:t,...c,progress:{...e.progress,loaded:e.filesize||0,percent:100,speed:0,speedText:h(0),uploadTime:o,remainingTime:0}}),f.value.delete(e.id),(r=l.onSuccess)==null||r.call(l,t)}).catch(t=>{if(!(t.message==="canceled"||e.status==="cancelled"))throw g(e.id,{status:"error",error:t.message}),f.value.delete(e.id),t}).finally(()=>{z()})},C=async()=>{var n;const e=i.value.filter(a=>a.status==="pending");if(e.length!==0){v.value=!0;try{for(let a=0;a<e.length;a++){const t=e[a],c=i.value.findIndex(o=>o.id===t.id);d.value=c,await D(t)}}catch(a){throw(n=l.onError)==null||n.call(l,{status:(a==null?void 0:a.status)||500,message:(a==null?void 0:a.message)||"upload failed"}),a}finally{v.value=!1,d.value=-1}}},B=async(e,n="file")=>{var a;try{if(!l.multiple&&e.length>1)throw new Error("Single file mode: only one file can be selected");if(l.maxFileCount&&i.value.length+e.length>l.maxFileCount)throw new Error(`Adding ${e.length} files would exceed the maximum limit of ${l.maxFileCount}`);for(const t of e)await k(t,n)}catch(t){throw(a=l.onError)==null||a.call(l,{status:(t==null?void 0:t.status)||400,message:(t==null?void 0:t.message)||"Failed to add files"}),t}l.autoUpload&&C()},G=()=>{i.value.forEach(e=>{y(e.id)}),f.value.clear(),i.value=[],d.value=-1},E=e=>{const n=i.value.find(t=>t.id===e);if(n&&n.status==="uploading"){g(e,{status:"cancelled"});const t=f.value.get(e);if(!t)return;t.abort(),f.value.delete(e)}const a=i.value.findIndex(t=>t.id===e);a!==-1&&i.value.splice(a,1)},K=e=>{e?e.forEach(n=>E(n)):i.value.forEach(n=>E(n.id))},{files:L,open:N,reset:M}=J.useFileDialog({accept:l.accept,multiple:l.multiple||!1}),O=e=>({id:x(),...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:h(0),remainingTime:0,uploadTime:0}});u.watch(L,async e=>{if(e&&e.length>0){const n=Array.from(e);M(),await B(n,"file").catch(a=>{console.warn("Failed to add selected files:",a)})}});const j=u.computed(()=>i.value.filter(e=>e.status==="success").map(e=>({url:e.url,filename:e.filename,filesize:e.filesize,filetype:e.filetype})));return{isUploading:v,uploadFiles:i,dataFiles:j,progress:b,open:N,trigger:C,resetFiles:M,clearFiles:G,removeFiles:K,addFiles:B,addDataFiles:e=>{const n=e.map(a=>O(a));i.value.push(...n)},cancelFiles:q}}exports.useUpload=V;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./main.cjs"),r=require("./hooks/auth.cjs"),t=require("./hooks/config.cjs"),e=require("./hooks/data.cjs"),o=require("./hooks/manage.cjs"),a=require("./hooks/menu.cjs"),i=require("./hooks/theme.cjs"),n=require("./hooks/overlay.cjs"),c=require("./hooks/i18n.cjs"),l=require("./hooks/select.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./main.cjs"),r=require("./hooks/auth.cjs"),t=require("./hooks/config.cjs"),e=require("./hooks/data.cjs"),o=require("./hooks/manage.cjs"),a=require("./hooks/menu.cjs"),i=require("./hooks/theme.cjs"),n=require("./hooks/overlay.cjs"),c=require("./hooks/i18n.cjs"),l=require("./hooks/select.cjs"),q=require("./hooks/form.cjs"),m=require("./hooks/export.cjs"),p=require("./hooks/import.cjs"),d=require("./hooks/exportCsv.cjs"),v=require("./hooks/importCsv.cjs"),C=require("./hooks/upload.cjs"),h=require("./hooks/upload/local.cjs"),g=require("./hooks/upload/s3.cjs"),D=require("./hooks/themeColor.cjs"),x=require("./router/route.cjs"),y=require("./stores/auth.cjs"),P=require("./stores/route.cjs"),S=require("./stores/tab.cjs"),M=require("./stores/manage.cjs"),T=require("./stores/i18n.cjs"),I=require("./stores/theme.cjs"),L=require("./components/common/logo.cjs"),U=require("./components/loader/iframe.cjs"),A=require("./components/overlay/overlay.cjs"),f=require("./components/auth/can.cjs"),u=require("./utils/tree.cjs"),b=require("./utils/theme.cjs"),R=require("./provider/app.cjs"),$=require("./provider/tab.cjs"),O=require("./preset/authProvider.cjs"),w=require("./preset/dataProvider.cjs"),E=require("./preset/i18nProvider.cjs");exports.createDux=s.createDux;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=t.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.useManage=o.useManage;exports.useMenu=a.useMenu;exports.useTheme=i.useTheme;exports.useOverlay=n.useOverlay;exports.useI18n=c.useI18n;exports.useSelect=l.useSelect;exports.useForm=q.useForm;exports.useExport=m.useExport;exports.useImport=p.useImport;exports.useExportCsv=d.useExportCsv;exports.useImportCsv=v.useImportCsv;exports.useUpload=C.useUpload;exports.createLocalUploadDriver=h.createLocalUploadDriver;exports.createS3UploadDriver=g.createS3UploadDriver;exports.themeColor=D.themeColor;exports.initRouter=x.initRouter;exports.useAuthStore=y.useAuthStore;exports.useRouteStore=P.useRouteStore;exports.useTabStore=S.useTabStore;exports.useManageStore=M.useManageStore;exports.useI18nStore=T.useI18nStore;exports.useThemeStore=I.useThemeStore;exports.DuxLogo=L.DuxLogo;exports.DuxLoaderIframe=U;exports.DuxOverlay=A.DuxOverlay;exports.DuxCan=f.DuxCan;exports.arrayToTree=u.arrayToTree;exports.searchTree=u.searchTree;exports.treeToArr=u.treeToArr;exports.themePreset=b.themePreset;exports.DuxAppProvider=R.DuxAppProvider;exports.DuxTabRouterView=$.DuxTabRouterView;exports.simpleAuthProvider=O.simpleAuthProvider;exports.simpleDataProvider=w.simpleDataProvider;exports.i18nProvider=E.i18nProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("vue"),U=require("@overlastic/vue"),V=require("vue-router"),B=require("../hooks/auth.cjs"),G=require("../hooks/config.cjs");require("@tanstack/vue-query");const H=require("../hooks/manage.cjs");require("lodash-es");require("pinia");const J=require("../stores/auth.cjs"),K=require("../stores/route.cjs"),Q=require("../stores/manage.cjs"),W=require("../stores/i18n.cjs");require("@vueuse/core");require("clsx");require("json-2-csv");require("axios");const p=l=>Object.freeze(Object.defineProperty({__proto__:null,default:l},Symbol.toStringTag,{value:"Module"})),X=h.defineComponent({name:"DuxAppProvider",props:{},setup(l,{slots:f}){const m=h.inject("dux.manage"),s=G.useConfig(),d=V.useRouter();return d.beforeEach(async(n,Y,a)=>{var $,S,R,A,M,y,_,k,z,w,D,I,O,j;const r=n.meta.manageName,L=n.meta.authorization===!1;if(!r){const e=s.defaultManage||((S=($=s.manages)==null?void 0:$[0])==null?void 0:S.name)||"";return a({path:`/${e}`,replace:!0})}m&&(m.value=r);const g=Q.useManageStore(r);g.isInit()||g.setConfig((R=s.manages)==null?void 0:R.find(e=>e.name===r),s);const i=K.useRouteStore(r),o=H.useManage(r),q=J.useAuthStore(r),v=W.useI18nStore(r);if((A=o.config)!=null&&A.i18nProvider&&!v.isInit()){const e=v.getLocale();e&&((M=o.config)==null||M.i18nProvider.changeLocale(e))}if(!q.isLogin())return L?a():a({path:o.getRoutePath("login"),replace:!0});const P=e=>e==null?void 0:e.map(u=>({...u,path:o.getRoutePath(u.path||"")}));if(!i.getRouteInit()){const e=((y=o.config)==null?void 0:y.components)||{},u=[];if(u.push({name:`${r}.notFound`,label:"404",path:":pathMatch(.*)*",component:e.notFound||(()=>Promise.resolve().then(()=>p(require("../components/status/notFound.cjs")))),hidden:!0,meta:{can:!1}}),u.push({name:`${r}.notAuthorized`,label:"403",path:"notAuthorized",component:e.notAuthorized||(()=>Promise.resolve().then(()=>p(require("../components/status/notAuthorized.cjs")))),hidden:!0,meta:{can:!1}}),u.push({name:`${r}.error`,label:"500",path:"error",component:e.error||(()=>Promise.resolve().then(()=>p(require("../components/status/error.cjs")))),hidden:!0,meta:{can:!1}}),i.setRoutes(P(((_=o.config)==null?void 0:_.menus)||[])),(k=o.config)!=null&&k.apiRoutePath)try{await((D=(w=(z=o.config)==null?void 0:z.dataProvider)==null?void 0:w.default)==null?void 0:D.custom({path:o.config.apiRoutePath,meta:{timeout:5e3}},o,q.getUser()).then(t=>{i.appendRoutes(P(t.data||[]))}))}catch(t){console.error(t)}return i.appendRoutes(u),i.getRoutes().forEach(t=>{var C,N;if(!t.path)return;const c={name:t.name,path:t.path,meta:t.meta};switch(t.loader){case"iframe":c.component=((N=(C=o.config)==null?void 0:C.components)==null?void 0:N.iframe)||(()=>Promise.resolve().then(()=>p(require("../components/loader/iframe.cjs"))));break;case"link":c.beforeEnter=()=>{var F;const E=((F=t.meta)==null?void 0:F.url)||t.path;return E&&window.open(E,"_blank"),!1},c.component=()=>Promise.resolve({template:"<div></div>"});break;default:t.component&&(c.component=t.component);break}d.addRoute(`${r}.auth`,c)}),a({path:((I=n.redirectedFrom)==null?void 0:I.path)||n.path,replace:!0})}const b=["","/",`/${r}`,`/${r}/`];if(b.includes(n.path)){const e=i.getIndexRoute();return!(e!=null&&e.path)||b.includes(e==null?void 0:e.path)?(console.warn("[Dux] index route not found, skip redirect"),a()):a({path:(e==null?void 0:e.path)||"/",replace:!0})}const T=B.useCan(r);return(((O=n.meta)==null?void 0:O.can)===void 0||((j=n.meta)==null?void 0:j.can)===!0)&&!T(n.name)?a({name:`${r}.notAuthorized`}):a()}),()=>h.createVNode(U.OverlaysProvider,null,{default:()=>{var n;return[(n=f.default)==null?void 0:n.call(f)]}})}});exports.DuxAppProvider=X;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("vue"),U=require("@overlastic/vue"),V=require("vue-router"),B=require("../hooks/auth.cjs"),G=require("../hooks/config.cjs");require("@tanstack/vue-query");const H=require("../hooks/manage.cjs");require("lodash-es");require("pinia");const J=require("../stores/auth.cjs"),K=require("../stores/route.cjs"),Q=require("../stores/manage.cjs"),W=require("../stores/i18n.cjs");require("@vueuse/core");require("colorizr");require("clsx");require("json-2-csv");require("axios");const p=l=>Object.freeze(Object.defineProperty({__proto__:null,default:l},Symbol.toStringTag,{value:"Module"})),X=h.defineComponent({name:"DuxAppProvider",props:{},setup(l,{slots:f}){const m=h.inject("dux.manage"),s=G.useConfig(),d=V.useRouter();return d.beforeEach(async(n,Y,a)=>{var $,S,R,A,M,y,_,k,z,w,D,I,O,j;const r=n.meta.manageName,L=n.meta.authorization===!1;if(!r){const e=s.defaultManage||((S=($=s.manages)==null?void 0:$[0])==null?void 0:S.name)||"";return a({path:`/${e}`,replace:!0})}m&&(m.value=r);const g=Q.useManageStore(r);g.isInit()||g.setConfig((R=s.manages)==null?void 0:R.find(e=>e.name===r),s);const i=K.useRouteStore(r),o=H.useManage(r),q=J.useAuthStore(r),v=W.useI18nStore(r);if((A=o.config)!=null&&A.i18nProvider&&!v.isInit()){const e=v.getLocale();e&&((M=o.config)==null||M.i18nProvider.changeLocale(e))}if(!q.isLogin())return L?a():a({path:o.getRoutePath("login"),replace:!0});const P=e=>e==null?void 0:e.map(u=>({...u,path:o.getRoutePath(u.path||"")}));if(!i.getRouteInit()){const e=((y=o.config)==null?void 0:y.components)||{},u=[];if(u.push({name:`${r}.notFound`,label:"404",path:":pathMatch(.*)*",component:e.notFound||(()=>Promise.resolve().then(()=>p(require("../components/status/notFound.cjs")))),hidden:!0,meta:{can:!1}}),u.push({name:`${r}.notAuthorized`,label:"403",path:"notAuthorized",component:e.notAuthorized||(()=>Promise.resolve().then(()=>p(require("../components/status/notAuthorized.cjs")))),hidden:!0,meta:{can:!1}}),u.push({name:`${r}.error`,label:"500",path:"error",component:e.error||(()=>Promise.resolve().then(()=>p(require("../components/status/error.cjs")))),hidden:!0,meta:{can:!1}}),i.setRoutes(P(((_=o.config)==null?void 0:_.menus)||[])),(k=o.config)!=null&&k.apiRoutePath)try{await((D=(w=(z=o.config)==null?void 0:z.dataProvider)==null?void 0:w.default)==null?void 0:D.custom({path:o.config.apiRoutePath,meta:{timeout:5e3}},o,q.getUser()).then(t=>{i.appendRoutes(P(t.data||[]))}))}catch(t){console.error(t)}return i.appendRoutes(u),i.getRoutes().forEach(t=>{var C,N;if(!t.path)return;const c={name:t.name,path:t.path,meta:t.meta};switch(t.loader){case"iframe":c.component=((N=(C=o.config)==null?void 0:C.components)==null?void 0:N.iframe)||(()=>Promise.resolve().then(()=>p(require("../components/loader/iframe.cjs"))));break;case"link":c.beforeEnter=()=>{var F;const E=((F=t.meta)==null?void 0:F.url)||t.path;return E&&window.open(E,"_blank"),!1},c.component=()=>Promise.resolve({template:"<div></div>"});break;default:t.component&&(c.component=t.component);break}d.addRoute(`${r}.auth`,c)}),a({path:((I=n.redirectedFrom)==null?void 0:I.path)||n.path,replace:!0})}const b=["","/",`/${r}`,`/${r}/`];if(b.includes(n.path)){const e=i.getIndexRoute();return!(e!=null&&e.path)||b.includes(e==null?void 0:e.path)?(console.warn("[Dux] index route not found, skip redirect"),a()):a({path:(e==null?void 0:e.path)||"/",replace:!0})}const T=B.useCan(r);return(((O=n.meta)==null?void 0:O.can)===void 0||((j=n.meta)==null?void 0:j.can)===!0)&&!T(n.name)?a({name:`${r}.notAuthorized`}):a()}),()=>h.createVNode(U.OverlaysProvider,null,{default:()=>{var n;return[(n=f.default)==null?void 0:n.call(f)]}})}});exports.DuxAppProvider=X;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("pinia"),n=require("vue"),s={primary:"blue",info:"cyan",success:"green",warning:"amber",error:"red",gray:"gray"};function v(t){const e=n.inject("dux.manage");if(t||(t=(e==null?void 0:e.value)||""),!t)throw new Error("manage not found");return T(t)()}function T(t){return d.defineStore(`theme-${t}`,()=>{const e=n.ref(s),o=n.ref("auto"),u=n.ref(!1);function i(){u.value=!0}function c(r){o.value=r}function f(r,m){e.value[r]=m}function l(r){Object.assign(e.value,r)}function a(){e.value={...s}}function h(){return e.value}return{mode:o,setMode:c,theme:e,cssInit:u,setCssInit:i,setThemeColor:f,setThemeColors:l,resetTheme:a,getTheme:h}},{persist:{pick:["theme","mode"]}})}exports.useThemeStore=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=i=>{const o={},c=["50","100","200","300","400","500","600","700","800","900","950"],u=["primary","info","success","warning","error","gray"],b=["hover","pressed","focus","disabled"];o.white={DEFAULT:"var(--color-white)"},o.black={DEFAULT:"var(--color-black)"},Object.keys(i).forEach(r=>{o[r]={},c.forEach(e=>{o[r][e]=`var(--base-color-${r}-${e})`})}),u.forEach(r=>{o[r]={},o[r].DEFAULT=`var(--ui-color-${r})`,c.forEach(e=>{o[r][e]=`var(--ui-color-${r}-${e})`}),b.forEach(e=>{o[r][e]=`var(--ui-color-${r}-${e})`})});const t={text:{color:"var(--ui-text)"},"text-dimmed":{color:"var(--ui-text-dimmed)"},"text-muted":{color:"var(--ui-text-muted)"},"text-toned":{color:"var(--ui-text-toned)"},"text-highlighted":{color:"var(--ui-text-highlighted)"},"text-inverted":{color:"var(--ui-text-inverted)"},bg:{"background-color":"var(--ui-bg)"},"bg-muted":{"background-color":"var(--ui-bg-muted)"},"bg-elevated":{"background-color":"var(--ui-bg-elevated)"},"bg-accented":{"background-color":"var(--ui-bg-accented)"},"bg-inverted":{"background-color":"var(--ui-bg-inverted)"},border:{"border-color":"var(--ui-border)"},"border-muted":{"border-color":"var(--ui-border-muted)"},"border-accented":{"border-color":"var(--ui-border-accented)"},"border-inverted":{"border-color":"var(--ui-border-inverted)"}},a={};Object.entries(t).forEach(([r,e])=>{a[`.${r}`]=e});const d=[];return Object.entries(t).forEach(([r,e])=>{d.push([r,e])}),{colors:o,classes:t,rules:d,utilities:a}};exports.themePreset=l;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useCan as
|
|
1
|
+
import { defineComponent as n } from "vue";
|
|
2
|
+
import { useCan as t } from "../../hooks/auth.js";
|
|
3
3
|
import "@tanstack/vue-query";
|
|
4
4
|
import "lodash-es";
|
|
5
5
|
import "pinia";
|
|
6
6
|
import "vue-router";
|
|
7
7
|
import "@vueuse/core";
|
|
8
|
+
import "colorizr";
|
|
8
9
|
import "@overlastic/vue";
|
|
9
10
|
import "clsx";
|
|
10
11
|
import "json-2-csv";
|
|
11
12
|
import "axios";
|
|
12
|
-
const
|
|
13
|
+
const j = /* @__PURE__ */ n({
|
|
13
14
|
name: "DuxCan",
|
|
14
15
|
props: {
|
|
15
16
|
name: {
|
|
@@ -23,13 +24,13 @@ const g = /* @__PURE__ */ a({
|
|
|
23
24
|
setup(m, {
|
|
24
25
|
slots: r
|
|
25
26
|
}) {
|
|
26
|
-
const
|
|
27
|
+
const i = t();
|
|
27
28
|
return () => {
|
|
28
29
|
var p, e;
|
|
29
|
-
return
|
|
30
|
+
return i(m.name, m.params) ? (p = r.default) == null ? void 0 : p.call(r) : ((e = r.fallback) == null ? void 0 : e.call(r)) || null;
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
});
|
|
33
34
|
export {
|
|
34
|
-
|
|
35
|
+
j as DuxCan
|
|
35
36
|
};
|
|
@@ -5,11 +5,12 @@ import "lodash-es";
|
|
|
5
5
|
import "pinia";
|
|
6
6
|
import "vue-router";
|
|
7
7
|
import "@vueuse/core";
|
|
8
|
+
import "colorizr";
|
|
8
9
|
import "@overlastic/vue";
|
|
9
10
|
import "clsx";
|
|
10
11
|
import "json-2-csv";
|
|
11
12
|
import "axios";
|
|
12
|
-
const
|
|
13
|
+
const x = {
|
|
13
14
|
mounted(t, i) {
|
|
14
15
|
var r;
|
|
15
16
|
const { value: o } = i;
|
|
@@ -19,5 +20,5 @@ const h = {
|
|
|
19
20
|
}
|
|
20
21
|
};
|
|
21
22
|
export {
|
|
22
|
-
|
|
23
|
+
x as permissionDirective
|
|
23
24
|
};
|
|
@@ -7,14 +7,15 @@ import "pinia";
|
|
|
7
7
|
import "lodash-es";
|
|
8
8
|
import "@tanstack/vue-query";
|
|
9
9
|
import "@vueuse/core";
|
|
10
|
+
import "colorizr";
|
|
10
11
|
import "json-2-csv";
|
|
11
12
|
import "axios";
|
|
12
|
-
function
|
|
13
|
+
function h() {
|
|
13
14
|
const r = t(m);
|
|
14
15
|
return {
|
|
15
16
|
show: (o) => r(o)
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
export {
|
|
19
|
-
|
|
20
|
+
h as useOverlay
|
|
20
21
|
};
|
package/dist/esm/hooks/select.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { debounce as N, isArray as k } from "lodash-es";
|
|
2
|
-
import { ref as o, computed as
|
|
2
|
+
import { ref as o, computed as c, watch as m } from "vue";
|
|
3
3
|
import { useList as p, useMany as A } from "./data.js";
|
|
4
4
|
function z(a) {
|
|
5
|
-
const r = o(),
|
|
5
|
+
const r = o(), s = o({
|
|
6
6
|
page: 1,
|
|
7
7
|
pageSize: typeof a.pagination == "number" ? a.pagination : a.pagination ? 20 : 0
|
|
8
|
-
}),
|
|
8
|
+
}), d = o(!1), h = N((e) => {
|
|
9
9
|
r.value = e;
|
|
10
10
|
}, a.debounce || 300), b = (e) => {
|
|
11
11
|
h(e);
|
|
12
|
-
}, { data:
|
|
12
|
+
}, { data: f, isLoading: V } = p({
|
|
13
13
|
get path() {
|
|
14
14
|
return a.path || "";
|
|
15
15
|
},
|
|
@@ -18,7 +18,7 @@ function z(a) {
|
|
|
18
18
|
return r.value && (e[a.keywordField || "keyword"] = r.value), e;
|
|
19
19
|
},
|
|
20
20
|
get pagination() {
|
|
21
|
-
return a.pagination ?
|
|
21
|
+
return a.pagination ? s.value : void 0;
|
|
22
22
|
},
|
|
23
23
|
get providerName() {
|
|
24
24
|
return a.providerName;
|
|
@@ -36,17 +36,17 @@ function z(a) {
|
|
|
36
36
|
value: t,
|
|
37
37
|
raw: e
|
|
38
38
|
};
|
|
39
|
-
}, y =
|
|
39
|
+
}, y = c(() => {
|
|
40
40
|
var u;
|
|
41
|
-
const e = ((u =
|
|
41
|
+
const e = ((u = f.value) == null ? void 0 : u.data) || [], n = [...v.value];
|
|
42
42
|
return e.forEach((l) => {
|
|
43
43
|
n.some(
|
|
44
|
-
(
|
|
44
|
+
(i) => g(i) === g(l)
|
|
45
45
|
) || n.push(l);
|
|
46
46
|
}), n.map((l) => w(l));
|
|
47
|
-
}), S =
|
|
47
|
+
}), S = c(() => {
|
|
48
48
|
var e;
|
|
49
|
-
return ((e =
|
|
49
|
+
return ((e = f.value) == null ? void 0 : e.meta) || {};
|
|
50
50
|
}), { refetch: x } = A({
|
|
51
51
|
get path() {
|
|
52
52
|
return a.path || "";
|
|
@@ -61,8 +61,8 @@ function z(a) {
|
|
|
61
61
|
});
|
|
62
62
|
m(() => a.defaultValue, async (e) => {
|
|
63
63
|
var l;
|
|
64
|
-
if (!(
|
|
65
|
-
(t) => y.value.some((
|
|
64
|
+
if (!(d.value || !e || (d.value = !0, (Array.isArray(e) ? e : [e]).every(
|
|
65
|
+
(t) => y.value.some((i) => i.value === t)
|
|
66
66
|
))))
|
|
67
67
|
try {
|
|
68
68
|
const t = await x();
|
|
@@ -71,13 +71,13 @@ function z(a) {
|
|
|
71
71
|
console.warn("Failed to fetch selected items:", t);
|
|
72
72
|
}
|
|
73
73
|
}, { immediate: !0 });
|
|
74
|
-
const F =
|
|
74
|
+
const F = c(() => V.value);
|
|
75
75
|
return {
|
|
76
76
|
onSearch: b,
|
|
77
77
|
options: y,
|
|
78
78
|
meta: S,
|
|
79
79
|
loading: F,
|
|
80
|
-
pagination:
|
|
80
|
+
pagination: s
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
export {
|
package/dist/esm/hooks/theme.js
CHANGED
|
@@ -1,31 +1,185 @@
|
|
|
1
|
-
import { useColorMode as
|
|
2
|
-
import { watchEffect as
|
|
3
|
-
import { useManage as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { useColorMode as J, useCycleList as K, useStyleTag as P } from "@vueuse/core";
|
|
2
|
+
import { watchEffect as Q, computed as h, watch as U, readonly as E } from "vue";
|
|
3
|
+
import { useManage as W } from "./manage.js";
|
|
4
|
+
import { storeToRefs as X } from "pinia";
|
|
5
|
+
import "lodash-es";
|
|
6
|
+
import { useThemeStore as Y } from "../stores/theme.js";
|
|
7
|
+
import { themeColor as Z } from "./themeColor.js";
|
|
8
|
+
import { hex2rgb as _, formatCSS as N } from "colorizr";
|
|
9
|
+
function le() {
|
|
10
|
+
var V, j;
|
|
11
|
+
const d = Y(), { mode: M } = X(d), v = J({
|
|
12
|
+
storageRef: M
|
|
13
|
+
}), g = W(), { state: S, next: I } = K(["dark", "light", "auto"], {
|
|
14
|
+
initialValue: v.store.value
|
|
7
15
|
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
Q(() => {
|
|
17
|
+
v.value = S.value;
|
|
18
|
+
});
|
|
19
|
+
const f = h(() => {
|
|
20
|
+
const { system: t, store: o } = v;
|
|
21
|
+
return o.value === "auto" ? t.value === "dark" : o.value === "dark";
|
|
22
|
+
}), L = h(() => {
|
|
23
|
+
var t, o, e, l, r, i, n, s;
|
|
24
|
+
return f.value ? {
|
|
25
|
+
logo: (o = (t = g.config) == null ? void 0 : t.theme) == null ? void 0 : o.darkLogo,
|
|
26
|
+
banner: (l = (e = g.config) == null ? void 0 : e.theme) == null ? void 0 : l.darkBanner
|
|
17
27
|
} : {
|
|
18
|
-
logo: (
|
|
19
|
-
banner: (s = (
|
|
28
|
+
logo: (i = (r = g.config) == null ? void 0 : r.theme) == null ? void 0 : i.logo,
|
|
29
|
+
banner: (s = (n = g.config) == null ? void 0 : n.theme) == null ? void 0 : s.banner
|
|
20
30
|
};
|
|
21
|
-
})
|
|
31
|
+
}), c = { ...{
|
|
32
|
+
colors: Z,
|
|
33
|
+
// 色彩类型
|
|
34
|
+
colorTypes: ["primary", "info", "success", "warning", "error", "gray"],
|
|
35
|
+
// 色彩色阶
|
|
36
|
+
colorShades: ["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"],
|
|
37
|
+
// 色彩场景
|
|
38
|
+
colorScenes: {
|
|
39
|
+
light: {
|
|
40
|
+
default: { default: "500", hover: "600", pressed: "700", focus: "500", disabled: "300" }
|
|
41
|
+
},
|
|
42
|
+
dark: {
|
|
43
|
+
default: { default: "500", hover: "400", pressed: "300", focus: "500", disabled: "600" }
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
// 语义颜色
|
|
47
|
+
colorSemantic: {
|
|
48
|
+
light: {
|
|
49
|
+
text: { dimmed: "400", muted: "500", toned: "600", base: "700", highlighted: "900", inverted: "white" },
|
|
50
|
+
bg: { base: "white", muted: "50", elevated: "100", accented: "200", inverted: "900" },
|
|
51
|
+
border: { base: "200", muted: "200", accented: "300", inverted: "900" }
|
|
52
|
+
},
|
|
53
|
+
dark: {
|
|
54
|
+
text: { dimmed: "600", muted: "500", toned: "400", base: "300", highlighted: "100", inverted: "black" },
|
|
55
|
+
bg: { base: "950", muted: "900", elevated: "800", accented: "700", inverted: "100" },
|
|
56
|
+
border: { base: "800", muted: "800", accented: "700", inverted: "100" }
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
colorBase: { white: "#ffffff", black: "#000000" }
|
|
60
|
+
}, ...(j = (V = g.config) == null ? void 0 : V.theme) == null ? void 0 : j.config }, { colorShades: C, colorTypes: p } = c, m = h(() => d.theme), k = h(() => Object.keys(c.colors)), x = ["default", "hover", "pressed", "focus", "disabled"];
|
|
61
|
+
function O() {
|
|
62
|
+
return f.value ? c.colorScenes.dark : c.colorScenes.light;
|
|
63
|
+
}
|
|
64
|
+
function w(t, o) {
|
|
65
|
+
var r;
|
|
66
|
+
const e = O(), l = e.default;
|
|
67
|
+
if ((r = e.overrides) != null && r[t]) {
|
|
68
|
+
const i = e.overrides[t], n = i == null ? void 0 : i[o];
|
|
69
|
+
if (n)
|
|
70
|
+
return n;
|
|
71
|
+
}
|
|
72
|
+
return l[o] || "500";
|
|
73
|
+
}
|
|
74
|
+
function T(t, o) {
|
|
75
|
+
var l;
|
|
76
|
+
const e = m.value[t];
|
|
77
|
+
return ((l = c.colors[e]) == null ? void 0 : l[o]) || "";
|
|
78
|
+
}
|
|
79
|
+
function a(t, o, e) {
|
|
80
|
+
const r = (f.value ? c.colorSemantic.dark : c.colorSemantic.light)[t][o];
|
|
81
|
+
return r === "white" || r === "black" ? `var(--color-${r})` : `var(--base-color-${e}-${r})`;
|
|
82
|
+
}
|
|
83
|
+
function $() {
|
|
84
|
+
var r, i;
|
|
85
|
+
const t = [];
|
|
86
|
+
Object.entries(c.colors).forEach(([n, s]) => {
|
|
87
|
+
typeof s == "object" && Object.entries(s).forEach(([u, b]) => {
|
|
88
|
+
try {
|
|
89
|
+
const B = _(b), H = N(B, { format: "rgb" });
|
|
90
|
+
t.push(`--base-color-${n}-${u}: ${H};`);
|
|
91
|
+
} catch {
|
|
92
|
+
t.push(`--base-color-${n}-${u}: ${b};`);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const o = [];
|
|
97
|
+
p.forEach((n) => {
|
|
98
|
+
const s = m.value[n];
|
|
99
|
+
C.forEach((u) => {
|
|
100
|
+
o.push(`--ui-color-${n}-${u}: var(--base-color-${s}-${u});`);
|
|
101
|
+
}), x.forEach((u) => {
|
|
102
|
+
const b = w(n, u);
|
|
103
|
+
u === "default" ? o.push(`--ui-color-${n}: var(--base-color-${s}-${b});`) : o.push(`--ui-color-${n}-${u}: var(--base-color-${s}-${b});`);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
const e = m.value.gray, l = [
|
|
107
|
+
`--color-white: ${((r = c.colorBase) == null ? void 0 : r.white) || "#ffffff"};`,
|
|
108
|
+
`--color-black: ${((i = c.colorBase) == null ? void 0 : i.black) || "#000000"};`,
|
|
109
|
+
`--ui-text-dimmed: ${a("text", "dimmed", e)};`,
|
|
110
|
+
`--ui-text-muted: ${a("text", "muted", e)};`,
|
|
111
|
+
`--ui-text-toned: ${a("text", "toned", e)};`,
|
|
112
|
+
`--ui-text: ${a("text", "base", e)};`,
|
|
113
|
+
`--ui-text-highlighted: ${a("text", "highlighted", e)};`,
|
|
114
|
+
`--ui-text-inverted: ${a("text", "inverted", e)};`,
|
|
115
|
+
`--ui-bg: ${a("bg", "base", e)};`,
|
|
116
|
+
`--ui-bg-muted: ${a("bg", "muted", e)};`,
|
|
117
|
+
`--ui-bg-elevated: ${a("bg", "elevated", e)};`,
|
|
118
|
+
`--ui-bg-accented: ${a("bg", "accented", e)};`,
|
|
119
|
+
`--ui-bg-inverted: ${a("bg", "inverted", e)};`,
|
|
120
|
+
`--ui-border: ${a("border", "base", e)};`,
|
|
121
|
+
`--ui-border-muted: ${a("border", "muted", e)};`,
|
|
122
|
+
`--ui-border-accented: ${a("border", "accented", e)};`,
|
|
123
|
+
`--ui-border-inverted: ${a("border", "inverted", e)};`
|
|
124
|
+
];
|
|
125
|
+
return `:root {
|
|
126
|
+
${t.join(`
|
|
127
|
+
`)}
|
|
128
|
+
${o.join(`
|
|
129
|
+
`)}
|
|
130
|
+
${l.join(`
|
|
131
|
+
`)}
|
|
132
|
+
}`;
|
|
133
|
+
}
|
|
134
|
+
const { css: y } = P($(), { id: "theme-variables" });
|
|
135
|
+
function R() {
|
|
136
|
+
d.cssInit || (d.setCssInit(), y.value = $());
|
|
137
|
+
}
|
|
138
|
+
U([m, f], () => {
|
|
139
|
+
d.cssInit && (y.value = $());
|
|
140
|
+
}, { deep: !0, immediate: !1 });
|
|
141
|
+
function D(t, o) {
|
|
142
|
+
k.value.includes(o) ? d.setThemeColor(t, o) : console.warn(`Color "${o}" is not available`);
|
|
143
|
+
}
|
|
144
|
+
function G(t) {
|
|
145
|
+
d.setThemeColors(t);
|
|
146
|
+
}
|
|
147
|
+
function q() {
|
|
148
|
+
d.resetTheme();
|
|
149
|
+
}
|
|
150
|
+
function z(t, o) {
|
|
151
|
+
return T(t, o);
|
|
152
|
+
}
|
|
153
|
+
function A(t, o) {
|
|
154
|
+
o || (o = "default");
|
|
155
|
+
const e = w(t, o);
|
|
156
|
+
return T(t, e);
|
|
157
|
+
}
|
|
158
|
+
function F(t, o) {
|
|
159
|
+
var i, n, s;
|
|
160
|
+
const e = m.value.gray, r = (f.value ? c.colorSemantic.dark : c.colorSemantic.light)[t][o];
|
|
161
|
+
return r === "white" ? ((i = c.colorBase) == null ? void 0 : i.white) || "#ffffff" : r === "black" ? ((n = c.colorBase) == null ? void 0 : n.black) || "#000000" : ((s = c.colors[e]) == null ? void 0 : s[r]) || "";
|
|
162
|
+
}
|
|
22
163
|
return {
|
|
23
|
-
toggle:
|
|
24
|
-
mode:
|
|
25
|
-
isDark:
|
|
26
|
-
|
|
164
|
+
toggle: I,
|
|
165
|
+
mode: S,
|
|
166
|
+
isDark: f,
|
|
167
|
+
resources: L,
|
|
168
|
+
config: E(c),
|
|
169
|
+
colorMapping: E(m),
|
|
170
|
+
colors: k,
|
|
171
|
+
colorShades: C,
|
|
172
|
+
colorTypes: p,
|
|
173
|
+
colorScenes: x,
|
|
174
|
+
cssInit: R,
|
|
175
|
+
cssReset: q,
|
|
176
|
+
setColor: D,
|
|
177
|
+
setColors: G,
|
|
178
|
+
getSceneColor: A,
|
|
179
|
+
getShadeColor: z,
|
|
180
|
+
getSemanticColor: F
|
|
27
181
|
};
|
|
28
182
|
}
|
|
29
183
|
export {
|
|
30
|
-
|
|
184
|
+
le as useTheme
|
|
31
185
|
};
|