@duxweb/dvha-pro 1.0.23 → 1.0.25
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/component.cjs +1 -1
- package/dist/cjs/components/card/card.cjs +1 -1
- package/dist/cjs/components/card/store.cjs +1 -1
- package/dist/cjs/components/carousel/carousel.cjs +1 -1
- package/dist/cjs/components/chart/echart.cjs +1 -1
- package/dist/cjs/components/crop/imageCrop.cjs +1 -1
- package/dist/cjs/components/crop/imageCropModal.cjs +1 -1
- package/dist/cjs/components/dashboard/hello.cjs +1 -1
- package/dist/cjs/components/dashboard/helloBig.cjs +1 -1
- package/dist/cjs/components/dashboard/quick.cjs +1 -1
- package/dist/cjs/components/data/dynamicData.cjs +1 -1
- package/dist/cjs/components/data/dynamicSelect.cjs +1 -1
- package/dist/cjs/components/data/selectModal.cjs +1 -1
- package/dist/cjs/components/dialog/dialog.cjs +1 -1
- package/dist/cjs/components/drawer/drawer.cjs +1 -1
- package/dist/cjs/components/drawer/drawerPage.cjs +1 -1
- package/dist/cjs/components/editor/aiEditor.cjs +1 -1
- package/dist/cjs/components/form/drawerForm.cjs +1 -1
- package/dist/cjs/components/form/formItem.cjs +1 -1
- package/dist/cjs/components/form/formLayout.cjs +1 -1
- package/dist/cjs/components/form/modalForm.cjs +1 -1
- package/dist/cjs/components/form/pageForm.cjs +1 -1
- package/dist/cjs/components/form/settingForm.cjs +1 -1
- package/dist/cjs/components/icon/icon.cjs +1 -1
- package/dist/cjs/components/icon/iconPicker.cjs +1 -1
- package/dist/cjs/components/image/components/CanvasRuler.cjs +1 -0
- package/dist/cjs/components/image/elements/circle.cjs +1 -0
- package/dist/cjs/components/image/elements/image.cjs +1 -0
- package/dist/cjs/components/image/elements/index.cjs +1 -0
- package/dist/cjs/components/image/elements/rect.cjs +1 -0
- package/dist/cjs/components/image/elements/text.cjs +1 -0
- package/dist/cjs/components/image/hooks/usePosterEditor.cjs +1 -0
- package/dist/cjs/components/image/pages/LeftToolbar.cjs +1 -0
- package/dist/cjs/components/image/pages/Panel.cjs +1 -0
- package/dist/cjs/components/image/pages/PanelItem.cjs +1 -0
- package/dist/cjs/components/image/pages/RightPanel.cjs +1 -0
- package/dist/cjs/components/image/posterEditor.cjs +1 -0
- package/dist/cjs/components/layout/filter.cjs +1 -1
- package/dist/cjs/components/layout/filterLayout.cjs +1 -1
- package/dist/cjs/components/layout/list.cjs +1 -1
- package/dist/cjs/components/layout/table.cjs +1 -1
- package/dist/cjs/components/layout/tools.cjs +1 -1
- package/dist/cjs/components/level/level.cjs +1 -1
- package/dist/cjs/components/list/card.cjs +1 -1
- package/dist/cjs/components/list/list.cjs +1 -1
- package/dist/cjs/components/media/media.cjs +1 -1
- package/dist/cjs/components/modal/modal.cjs +1 -1
- package/dist/cjs/components/modal/modalPage.cjs +1 -1
- package/dist/cjs/components/modal/modalTab.cjs +1 -1
- package/dist/cjs/components/panel/alert.cjs +1 -1
- package/dist/cjs/components/panel/collapse.cjs +1 -1
- package/dist/cjs/components/panel/setting.cjs +1 -1
- package/dist/cjs/components/select/cardSelect.cjs +1 -1
- package/dist/cjs/components/status/listEmpty.cjs +1 -1
- package/dist/cjs/components/table/table.cjs +1 -1
- package/dist/cjs/components/table/tablePage.cjs +1 -1
- package/dist/cjs/components/tree/treeFilter.cjs +1 -1
- package/dist/cjs/components/upload/config.cjs +1 -1
- package/dist/cjs/components/upload/file.cjs +1 -1
- package/dist/cjs/components/upload/image.cjs +1 -1
- package/dist/cjs/components/upload/manage/item.cjs +1 -1
- package/dist/cjs/components/upload/manager.cjs +1 -1
- package/dist/cjs/components/widget/connect.cjs +1 -1
- package/dist/cjs/dvha-pro.css +1 -1
- package/dist/cjs/hooks/action.cjs +1 -1
- package/dist/cjs/hooks/dialog.cjs +1 -1
- package/dist/cjs/hooks/download.cjs +1 -1
- package/dist/cjs/hooks/drawer.cjs +1 -1
- package/dist/cjs/hooks/echart.cjs +1 -1
- package/dist/cjs/hooks/image.cjs +1 -1
- package/dist/cjs/hooks/level.cjs +1 -1
- package/dist/cjs/hooks/modal.cjs +1 -1
- package/dist/cjs/hooks/table/color.cjs +1 -0
- package/dist/cjs/hooks/table/column.cjs +1 -1
- package/dist/cjs/hooks/table/image.cjs +1 -1
- package/dist/cjs/hooks/table/input.cjs +1 -1
- package/dist/cjs/hooks/table/map.cjs +1 -1
- package/dist/cjs/hooks/table/media.cjs +1 -1
- package/dist/cjs/hooks/table/status.cjs +1 -1
- package/dist/cjs/hooks/table/switch.cjs +1 -1
- package/dist/cjs/hooks/table.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/pages/authLayout.cjs +1 -1
- package/dist/cjs/pages/layout/global.cjs +1 -1
- package/dist/cjs/pages/layout/page.cjs +1 -1
- package/dist/cjs/pages/layout/tab.cjs +1 -1
- package/dist/cjs/pages/layout.cjs +1 -1
- package/dist/cjs/pages/login.cjs +1 -1
- package/dist/cjs/pages/menu/avatar.cjs +1 -1
- package/dist/cjs/pages/menu/button.cjs +1 -1
- package/dist/cjs/pages/menu/cmd.cjs +1 -1
- package/dist/cjs/pages/menu/main.cjs +1 -1
- package/dist/cjs/pages/menu/mobile.cjs +1 -1
- package/dist/cjs/pages/page.cjs +1 -1
- package/dist/cjs/pages/page404.cjs +1 -1
- package/dist/cjs/pages/pageStatus.cjs +1 -1
- package/dist/cjs/stores/ui.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +26 -1
- package/dist/esm/component.js +49 -47
- package/dist/esm/components/card/card.js +24 -27
- package/dist/esm/components/card/store.js +33 -39
- package/dist/esm/components/carousel/carousel.js +16 -19
- package/dist/esm/components/chart/echart.js +15 -13
- package/dist/esm/components/crop/imageCrop.js +45 -46
- package/dist/esm/components/crop/imageCropModal.js +36 -37
- package/dist/esm/components/dashboard/hello.js +27 -30
- package/dist/esm/components/dashboard/helloBig.js +328 -331
- package/dist/esm/components/dashboard/quick.js +30 -33
- package/dist/esm/components/data/dynamicData.js +86 -98
- package/dist/esm/components/data/dynamicSelect.js +42 -42
- package/dist/esm/components/data/selectModal.js +58 -60
- package/dist/esm/components/dialog/dialog.js +54 -55
- package/dist/esm/components/drawer/drawer.js +23 -23
- package/dist/esm/components/drawer/drawerPage.js +39 -49
- package/dist/esm/components/editor/aiEditor.js +64 -70
- package/dist/esm/components/form/drawerForm.js +61 -59
- package/dist/esm/components/form/formItem.js +45 -51
- package/dist/esm/components/form/formLayout.js +7 -10
- package/dist/esm/components/form/modalForm.js +63 -61
- package/dist/esm/components/form/pageForm.js +56 -57
- package/dist/esm/components/form/settingForm.js +43 -44
- package/dist/esm/components/icon/icon.js +15 -13
- package/dist/esm/components/icon/iconPicker.js +54 -58
- package/dist/esm/components/image/components/CanvasRuler.js +113 -0
- package/dist/esm/components/image/elements/circle.js +127 -0
- package/dist/esm/components/image/elements/image.js +131 -0
- package/dist/esm/components/image/elements/index.js +46 -0
- package/dist/esm/components/image/elements/rect.js +171 -0
- package/dist/esm/components/image/elements/text.js +206 -0
- package/dist/esm/components/image/hooks/usePosterEditor.js +434 -0
- package/dist/esm/components/image/pages/LeftToolbar.js +40 -0
- package/dist/esm/components/image/pages/Panel.js +31 -0
- package/dist/esm/components/image/pages/PanelItem.js +22 -0
- package/dist/esm/components/image/pages/RightPanel.js +421 -0
- package/dist/esm/components/image/posterEditor.js +227 -0
- package/dist/esm/components/layout/filter.js +13 -16
- package/dist/esm/components/layout/filterLayout.js +7 -10
- package/dist/esm/components/layout/list.js +312 -337
- package/dist/esm/components/layout/table.js +281 -294
- package/dist/esm/components/layout/tools.js +38 -41
- package/dist/esm/components/level/level.js +15 -13
- package/dist/esm/components/list/card.js +35 -38
- package/dist/esm/components/list/list.js +15 -18
- package/dist/esm/components/media/media.js +35 -36
- package/dist/esm/components/modal/modal.js +10 -10
- package/dist/esm/components/modal/modalPage.js +32 -36
- package/dist/esm/components/modal/modalTab.js +39 -45
- package/dist/esm/components/panel/alert.js +19 -22
- package/dist/esm/components/panel/collapse.js +33 -36
- package/dist/esm/components/panel/setting.js +25 -31
- package/dist/esm/components/select/cardSelect.js +27 -28
- package/dist/esm/components/status/listEmpty.js +13 -13
- package/dist/esm/components/table/table.js +15 -13
- package/dist/esm/components/table/tablePage.js +25 -25
- package/dist/esm/components/tree/treeFilter.js +137 -147
- package/dist/esm/components/upload/config.js +15 -27
- package/dist/esm/components/upload/file.js +115 -109
- package/dist/esm/components/upload/image.js +135 -130
- package/dist/esm/components/upload/manage/item.js +59 -60
- package/dist/esm/components/upload/manager.js +203 -218
- package/dist/esm/components/widget/connect.js +103 -106
- package/dist/esm/dvha-pro.css +1 -1
- package/dist/esm/hooks/action.js +115 -131
- package/dist/esm/hooks/dialog.js +15 -13
- package/dist/esm/hooks/download.js +55 -56
- package/dist/esm/hooks/drawer.js +15 -13
- package/dist/esm/hooks/echart.js +156 -179
- package/dist/esm/hooks/image.js +14 -15
- package/dist/esm/hooks/level.js +7 -7
- package/dist/esm/hooks/modal.js +15 -13
- package/dist/esm/hooks/table/color.js +19 -0
- package/dist/esm/hooks/table/column.js +25 -23
- package/dist/esm/hooks/table/image.js +17 -15
- package/dist/esm/hooks/table/input.js +28 -28
- package/dist/esm/hooks/table/map.js +7 -7
- package/dist/esm/hooks/table/media.js +15 -13
- package/dist/esm/hooks/table/status.js +8 -9
- package/dist/esm/hooks/table/switch.js +19 -19
- package/dist/esm/hooks/table.js +27 -31
- package/dist/esm/index.js +213 -200
- package/dist/esm/pages/authLayout.js +15 -13
- package/dist/esm/pages/layout/global.js +12 -15
- package/dist/esm/pages/layout/page.js +15 -13
- package/dist/esm/pages/layout/tab.js +58 -71
- package/dist/esm/pages/layout.js +7 -6
- package/dist/esm/pages/login.js +95 -98
- package/dist/esm/pages/menu/avatar.js +151 -162
- package/dist/esm/pages/menu/button.js +29 -31
- package/dist/esm/pages/menu/cmd.js +83 -87
- package/dist/esm/pages/menu/main.js +25 -23
- package/dist/esm/pages/menu/mobile.js +15 -13
- package/dist/esm/pages/page.js +21 -25
- package/dist/esm/pages/page404.js +13 -11
- package/dist/esm/pages/pageStatus.js +33 -34
- package/dist/esm/stores/ui.js +15 -15
- package/dist/esm/theme/uno.css.js +26 -1
- package/dist/types/components/form/drawerForm.d.ts +6 -0
- package/dist/types/components/form/modalForm.d.ts +6 -0
- package/dist/types/components/form/pageForm.d.ts +6 -0
- package/dist/types/components/form/settingForm.d.ts +6 -0
- package/dist/types/components/image/components/CanvasRuler.d.ts +43 -0
- package/dist/types/components/image/components/index.d.ts +1 -0
- package/dist/types/components/image/elements/circle.d.ts +3 -0
- package/dist/types/components/image/elements/image.d.ts +3 -0
- package/dist/types/components/image/elements/index.d.ts +15 -0
- package/dist/types/components/image/elements/rect.d.ts +3 -0
- package/dist/types/components/image/elements/text.d.ts +3 -0
- package/dist/types/components/image/elements/types.d.ts +51 -0
- package/dist/types/components/image/hooks/index.d.ts +1 -0
- package/dist/types/components/image/hooks/usePosterEditor.d.ts +48 -0
- package/dist/types/components/image/index.d.ts +4 -0
- package/dist/types/components/image/pages/LeftToolbar.d.ts +33 -0
- package/dist/types/components/image/pages/Panel.d.ts +11 -0
- package/dist/types/components/image/pages/PanelItem.d.ts +11 -0
- package/dist/types/components/image/pages/RightPanel.d.ts +208 -0
- package/dist/types/components/image/pages/index.d.ts +4 -0
- package/dist/types/components/image/posterEditor.d.ts +61 -0
- package/dist/types/components/image/types/editor.d.ts +47 -0
- package/dist/types/components/index.d.ts +2 -2
- package/dist/types/components/layout/table.d.ts +9 -0
- package/dist/types/components/stats/number.d.ts +1 -1
- package/dist/types/components/table/tablePage.d.ts +9 -0
- package/dist/types/components/upload/file.d.ts +5 -3
- package/dist/types/hooks/table/color.d.ts +13 -0
- package/dist/types/hooks/table/column.d.ts +1 -0
- package/dist/types/hooks/table/index.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/pages/layout/global.d.ts +0 -1
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),t=require("@duxweb/dvha-core"),s=require("naive-ui");require("@overlastic/vue");require("vue-router");require("clsx");require("vue-echarts");require("@vueuse/core");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");require("dayjs");require("@tanstack/vue-query");require("@duxweb/dvha-naiveui");require("pinia");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");const m=require("../../pages/page.cjs");require("../../pages/page404.cjs");const f=r.defineComponent({name:"DuxSettingForm",props:{id:{type:[String,Number]},action:{type:String},path:{type:String},data:{type:Object},onSuccess:{type:Function},onError:{type:Function},tabs:{type:Boolean,default:!1},defaultTab:{type:String,default:""},size:{type:String,default:"medium"},invalidate:{type:String}},setup(e,{slots:i}){const a=r.ref(e.defaultTab),o=r.toRef(e,"data",{}),{t:n}=t.useI18n(),l=s.useMessage(),{invalidate:c}=t.useInvalidate(),q=t.useExtendForm({id:e.id,path:e.path,form:o,action:e.action,onError:u=>{l.error(u.message||n("components.form.error")),e.onError?.(u)},onSuccess:u=>{l.success(n("components.form.success")),e.onSuccess?.(u),e.invalidate&&c(e.invalidate)}}),d=r.computed(()=>{switch(e.size){case"small":return"lg:max-w-lg";case"large":return"lg:max-w-4xl";case"medium":default:return"lg:max-w-2xl"}});return()=>r.createVNode(m.DuxPage,null,{default:()=>[r.createVNode("div",{class:`flex flex-col gap-6 w-full ${d.value} mx-auto py-4`},[e.tabs?r.createVNode(s.NTabs,{defaultValue:e.defaultTab,value:a.value,onUpdateValue:u=>{a.value=u},type:"segment"},{default:()=>[i?.default?.(q)]}):i?.default?.(q)])]})}});exports.DuxSettingForm=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),q=require("@duxweb/dvha-core"),l=require("@vueuse/core"),a=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),q=require("@duxweb/dvha-core"),l=require("@vueuse/core"),a=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");const c=require("../../hooks/modal.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const s=r.defineComponent({name:"DuxIconPicker",props:{defaultValue:String,value:String},setup(u,{emit:o}){const e=l.useVModel(u,"value",o,{defaultValue:u.defaultValue,passive:!0}),n=c.useModal(),{t}=q.useI18n();return()=>r.createVNode(a.NButton,{dashed:!e.value,onClick:()=>{n.show({title:t("components.iconPicker.title"),component:()=>Promise.resolve().then(()=>require("./iconPicker.cjs"))}).then(i=>{e.value=i})},iconPlacement:"right"},{default:()=>r.createVNode("div",{class:"flex gap-2 items-center"},[e.value?r.createVNode("div",{class:`size-4 ${e.value||""}`},null):void 0,t("components.iconPicker.title")]),icon:()=>e.value?r.createVNode("div",{class:"rounded-full p-1 hover:bg-gray-2 hover:text-gray-7",onClick:i=>{i.stopPropagation(),e.value=void 0}},[r.createVNode("div",{class:"size-4 i-tabler:x"},null)]):void 0})}});exports.DuxIconPicker=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),P=require("@duxweb/dvha-core"),d=require("@iconify-json/tabler/icons.json"),h=require("@vueuse/core"),v=require("naive-ui"),m=e.defineComponent({name:"DuxIconPicker",props:{onConfirm:Function,onClose:Function},setup(g){const c=Object.keys(d.icons),l=e.ref(c),o=e.ref(""),u=e.ref([]),i=e.ref(c.length);function t({currentPage:a,currentPageSize:r}){u.value=l.value.slice((a-1)*r,a*r)}const{currentPage:n,currentPageSize:s,pageCount:p}=h.useOffsetPagination({total:()=>i.value,page:1,pageSize:42,onPageChange:t,onPageSizeChange:t,onPageCountChange:t});e.onMounted(()=>{t({currentPage:n.value,currentPageSize:42})}),e.watch(o,()=>{l.value=Object.keys(d.icons).filter(a=>a.includes(o.value)),i.value=l.value.length,n.value=1,t({currentPage:n.value,currentPageSize:s.value})},{immediate:!0});const{t:f}=P.useI18n();return()=>e.createVNode("div",{class:"p-4 flex flex-col gap-4"},[e.createVNode(v.NInput,{placeholder:f("common.keyword"),value:o.value,"onUpdate:value":a=>o.value=a,clearable:!0},null),e.createVNode("div",{class:"grid grid-cols-6"},[u.value?.map((a,r)=>e.createVNode("div",{key:r,class:"flex justify-center items-center",onClick:()=>{g.onConfirm?.(`i-tabler:${a}`)}},[e.createVNode("div",{class:"py-2 px-3 hover:bg-primary/10 border border-transparent hover:border-primary-hover rounded cursor-pointer transition-all"},[e.createVNode("div",{class:`i-tabler:${a} size-6`},null)])]))]),e.createVNode("div",{class:"flex justify-center"},[e.createVNode(v.NPagination,{page:n.value,pageSize:s.value,pageCount:p.value,onUpdatePage:a=>n.value=a},null)])])}});exports.default=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),h=t.defineComponent({name:"CanvasRuler",props:{canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0},canvasScale:{type:Number,required:!0},rulerSize:{type:Number,default:20}},setup(e){const o=(a,l)=>{const n=[];let i=10;l<.5?i=50:l<1&&(i=25);for(let r=0;r<=a;r+=i){const v=r*l,f=r%(i*5)===0;n.push({position:v,value:r,isMajor:f})}return n},c=t.computed(()=>o(e.canvasWidth,e.canvasScale)),d=t.computed(()=>o(e.canvasHeight,e.canvasScale)),s=t.computed(()=>e.canvasWidth*e.canvasScale),u=t.computed(()=>e.canvasHeight*e.canvasScale);return()=>t.createVNode("div",{class:"absolute inset-0 pointer-events-none"},[t.createVNode("div",{class:"absolute flex justify-center left-6 top-0 right-0 bg-default",style:{height:`${e.rulerSize}px`}},[t.createVNode("div",{class:"absolute top-0 bg-default",style:{left:"50%",transform:"translateX(-50%)",width:`${s.value}px`,height:`${e.rulerSize}px`}},[t.createVNode("svg",{width:s.value,height:e.rulerSize,class:"absolute top-0 left-0"},[c.value.map((a,l)=>t.createVNode("g",{key:l},[t.createVNode("line",{x1:a.position,y1:a.isMajor?0:e.rulerSize/2,x2:a.position,y2:e.rulerSize,stroke:"rgba(0,0,0, 0.1)","stroke-width":"1"},null),a.isMajor&&t.createVNode("text",{x:a.position+2,y:e.rulerSize-6,"font-size":"10",stroke:"rgba(0,0,0, 0.1)","font-family":"monospace",fill:"rgb(var(--ui-text-muted))"},[a.value])]))])])]),t.createVNode("div",{class:"absolute flex justify-center items-center flex-col top-6 left-0 bottom-0 bg-default border-r border-muted",style:{width:`${e.rulerSize}px`}},[t.createVNode("div",{class:"absolute left-0 bg-default",style:{top:"50%",transform:"translateY(-50%)",width:`${e.rulerSize}px`,height:`${u.value}px`}},[t.createVNode("svg",{width:e.rulerSize,height:u.value,class:"absolute top-0 left-0"},[d.value.map((a,l)=>t.createVNode("g",{key:l},[t.createVNode("line",{x1:a.isMajor?0:e.rulerSize/2,y1:a.position,x2:e.rulerSize,y2:a.position,stroke:"rgba(0,0,0, 0.1)","stroke-width":"1"},null),a.isMajor&&t.createVNode("text",{x:e.rulerSize-6,y:a.position-6,"font-size":"10",fill:"rgb(var(--ui-text-muted))","font-family":"monospace","text-anchor":"end",transform:`rotate(-90, ${e.rulerSize-2}, ${a.position-2})`},[a.value])]))])])]),t.createVNode("div",{class:"absolute size-6 bg-default top-0 left-0"},null)])}});exports.CanvasRuler=h;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("fabric"),r={type:"circle",name:"圆形",icon:"i-tabler:circle",category:"basic",defaultProps:{type:"circle",left:100,top:100,width:100,height:100,angle:0,scaleX:1,scaleY:1,visible:!0,locked:!1,radius:50,fill:"#00ff00",stroke:"",strokeWidth:0,strokeDashArray:null,opacity:1,label:""},createFabricObject:e=>{const l=new c.Circle({left:e.left,top:e.top,radius:e.radius,fill:e.fill,stroke:e.stroke||void 0,strokeWidth:e.strokeWidth,strokeDashArray:e.strokeDashArray,angle:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,opacity:e.opacity,visible:e.visible,selectable:!e.locked,evented:!e.locked,strokeUniform:!0,lockUniScaling:!0});return l.label=e.label,l},getPropsFromFabricObject:e=>{const l=e,t=l.scaleX||1,i=l.scaleY||1,a=Math.round((l.radius||50)*Math.max(t,i));return{type:"circle",left:Math.round(l.left||0),top:Math.round(l.top||0),width:a*2,height:a*2,angle:Math.round(l.angle||0),scaleX:1,scaleY:1,visible:l.visible!==!1,locked:!l.selectable,radius:a,fill:l.fill||"#00ff00",stroke:l.stroke||"",strokeWidth:Math.round(l.strokeWidth||0),strokeDashArray:l.strokeDashArray||null,opacity:l.opacity||1,label:l.label||""}},getToolbarControls:e=>[{key:"label",label:"标签",type:"text",value:e.label,options:{placeholder:"请输入标签"}},{key:"radius",label:"半径",type:"number",value:e.radius,options:{min:1,max:1e3,step:1}},{key:"fill",label:"填充颜色",type:"color",value:e.fill},{key:"stroke",label:"边框颜色",type:"color",value:e.stroke},{key:"strokeWidth",label:"边框宽度",type:"number",value:e.strokeWidth,options:{min:0,max:50,step:1}},{key:"opacity",label:"透明度",type:"slider",value:e.opacity,options:{min:0,max:1,step:.01}}],onPropsChange:(e,l)=>{const t=l;t.set({radius:e.radius,fill:e.fill,stroke:e.stroke||void 0,strokeWidth:e.strokeWidth,opacity:e.opacity}),t.label=e.label}};exports.default=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("fabric"),v={type:"image",name:"图片",icon:"i-tabler:photo",category:"basic",defaultProps:{id:"",type:"image",left:100,top:100,width:200,height:200,angle:0,scaleX:1,scaleY:1,visible:!0,locked:!1,src:"",opacity:1},createFabricObject:e=>m.FabricImage.fromURL(e.src||"",{crossOrigin:"anonymous"}).then(a=>(a.set({left:e.left,top:e.top,width:e.width,height:e.height,angle:e.angle,opacity:e.opacity,visible:e.visible,selectable:!e.locked,evented:!e.locked}),a)),getPropsFromFabricObject:e=>{const a=e,t=(a.width||200)*(a.scaleX||1),i=(a.height||200)*(a.scaleY||1);return{type:"image",left:Math.round(a.left||0),top:Math.round(a.top||0),width:Math.round(t),height:Math.round(i),angle:Math.round(a.angle||0),scaleX:a.scaleX||1,scaleY:a.scaleY||1,visible:a.visible!==!1,locked:!a.selectable,src:a.getSrc()||"",opacity:a.opacity||1,cropX:0,cropY:0,borderRadius:0}},getToolbarControls:e=>[{key:"src",label:"选择图片",type:"image",value:e.src,options:{placeholder:"点击选择图片文件"}},{key:"width",label:"宽度",type:"number",value:e.width,options:{min:10,max:2e3,step:1}},{key:"height",label:"高度",type:"number",value:e.height,options:{min:10,max:2e3,step:1}},{key:"opacity",label:"透明度",type:"slider",value:e.opacity,options:{min:0,max:1,step:.01}}],onPropsChange:(e,a)=>{const t=a;if(e.src&&e.src!==(t.getSrc()||"")){t.setSrc(e.src,{crossOrigin:"anonymous"}).then(()=>{const c=t.getElement().width,l=t.getElement().height,n=t.canvas,g=n?.width||800,r=n?.height||600,b=g/c,u=r/l,s=Math.min(b,u,1);t.set({left:e.left,top:e.top,width:c,height:l,scaleX:s,scaleY:s,angle:e.angle,opacity:e.opacity,visible:e.visible,selectable:!e.locked,evented:!e.locked}),t.setCoords(),t.canvas?.renderAll(),t.canvas?.fire("object:modified",{target:t})});return}if(!e.src){t.setSrc("").then(()=>{t.set({width:200,height:200}),t.setCoords(),t.canvas?.renderAll(),t.canvas?.fire("object:modified",{target:t})});return}const i=t.width||200,o=t.height||200,h=e.width/i,d=e.height/o;t.set({left:e.left,top:e.top,scaleX:h,scaleY:d,angle:e.angle,opacity:e.opacity,visible:e.visible,selectable:!e.locked,evented:!e.locked}),t.setCoords(),t.canvas?.renderAll(),t.canvas?.fire("object:modified",{target:t})}};exports.default=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./circle.cjs"),g=require("./image.cjs"),n=require("./rect.cjs"),i=require("./text.cjs");class o{elements=new Map;register(e){this.elements.set(e.type,e)}registerAll(e){e.forEach(t=>this.register(t))}get(e){return this.elements.get(e)||null}getAll(){return Array.from(this.elements.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}getCategories(){const e=new Set(this.getAll().map(t=>t.category));return Array.from(e)}}const r=new o;r.registerAll([i.default,n.default,s.default,g.default]);const a=r.getAll(),c=l=>r.get(l),m=l=>r.getByCategory(l);exports.elementConfigs=a;exports.elementRegistry=r;exports.getElementConfig=c;exports.getElementsByCategory=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("fabric"),r={type:"rect",name:"矩形",icon:"i-tabler:square",category:"basic",defaultProps:{id:"",type:"rect",left:100,top:100,width:100,height:100,angle:0,scaleX:1,scaleY:1,visible:!0,locked:!1,fill:"#ff0000",stroke:"",strokeWidth:0,strokeDashArray:null,rx:0,ry:0,opacity:1,label:""},createFabricObject:e=>{const t=new i.Rect({left:e.left,top:e.top,width:e.width,height:e.height,fill:e.fill,stroke:e.stroke||void 0,strokeWidth:e.strokeWidth,strokeDashArray:e.strokeDashArray,rx:e.rx,ry:e.ry,angle:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,opacity:e.opacity,visible:e.visible,selectable:!e.locked,evented:!e.locked,strokeUniform:!0,uniformScaling:!1});return t.setControlsVisibility({mtr:!0,mt:!0,mb:!0,ml:!0,mr:!0,tl:!0,tr:!0,bl:!0,br:!0}),t.label=e.label,t},getPropsFromFabricObject:e=>{const t=e,l=t.scaleX||1,a=t.scaleY||1;return{type:"rect",left:Math.round(t.left||0),top:Math.round(t.top||0),width:Math.round((t.width||100)*l),height:Math.round((t.height||100)*a),angle:Math.round(t.angle||0),scaleX:1,scaleY:1,visible:t.visible!==!1,locked:!t.selectable,fill:t.fill||"#ff0000",stroke:t.stroke||"",strokeWidth:Math.round(t.strokeWidth||0),strokeDashArray:t.strokeDashArray||null,rx:Math.round(t.rx||0),ry:Math.round(t.ry||0),opacity:t.opacity||1,label:t.label||""}},getToolbarControls:e=>[{key:"label",label:"标签",type:"text",value:e.label,options:{placeholder:"请输入标签"}},{key:"width",label:"宽度",type:"number",value:e.width,options:{min:1,max:2e3,step:1}},{key:"height",label:"高度",type:"number",value:e.height,options:{min:1,max:2e3,step:1}},{key:"fill",label:"填充颜色",type:"color",value:e.fill},{key:"stroke",label:"边框颜色",type:"color",value:e.stroke},{key:"strokeWidth",label:"边框宽度",type:"number",value:e.strokeWidth,options:{min:0,max:50,step:1}},{key:"rx",label:"圆角半径",type:"number",value:e.rx,options:{min:0,max:100,step:1}},{key:"opacity",label:"透明度",type:"slider",value:e.opacity,options:{min:0,max:1,step:.01}}],onPropsChange:(e,t)=>{const l=t;l.set({width:e.width,height:e.height,fill:e.fill,stroke:e.stroke||void 0,strokeWidth:e.strokeWidth,rx:e.rx,ry:e.rx,opacity:e.opacity}),l.label=e.label}};exports.default=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("fabric"),f={type:"text",name:"文本",icon:"i-tabler:typography",category:"basic",defaultProps:{id:"",type:"text",left:100,top:100,width:200,angle:0,scaleX:1,scaleY:1,visible:!0,locked:!1,text:"双击编辑文本",fontSize:20,fontFamily:"Arial",fill:"#000000",textAlign:"left",fontWeight:"normal",fontStyle:"normal",underline:!1,linethrough:!1},createFabricObject:e=>{const t=new o.Textbox(e.text,{left:e.left,top:e.top,width:e.width,angle:e.angle,scaleX:e.scaleX,scaleY:e.scaleY,visible:e.visible,selectable:!e.locked,evented:!e.locked,fontSize:e.fontSize,fontFamily:e.fontFamily,fill:e.fill,textAlign:e.textAlign,fontWeight:e.fontWeight,fontStyle:e.fontStyle,underline:e.underline,linethrough:e.linethrough,splitByGrapheme:!0,lockScalingY:!0,setControlsVisibility:{mt:!1,mb:!1}});let l=e.fontSize;return t.on("mousedown",()=>{l=t.fontSize||20}),t.on("scaling",()=>{const n=t.scaleX||1,i=Math.round(l*n),a=Math.max(8,Math.min(200,i));t.set({fontSize:a,scaleX:1,scaleY:1}),t.canvas?.requestRenderAll()}),t.on("mousedblclick",()=>{t.enterEditing(),t.selectAll()}),t},getPropsFromFabricObject:e=>{const t=e;return{left:Math.round(t.left||0),top:Math.round(t.top||0),width:Math.round(t.width||0),angle:Math.round(t.angle||0),scaleX:t.scaleX||1,scaleY:t.scaleY||1,visible:t.visible!==!1,locked:!t.selectable,text:t.text||"",fontSize:Math.round(t.fontSize||20),fontFamily:t.fontFamily||"Arial",fill:t.fill,textAlign:t.textAlign||"left",fontWeight:t.fontWeight||"normal",fontStyle:t.fontStyle||"normal",underline:t.underline||!1,linethrough:t.linethrough||!1}},onPropsChange:(e,t)=>{t.set({left:e.left,top:e.top,width:e.width,angle:e.angle,visible:e.visible,selectable:!e.locked,evented:!e.locked,text:e.text,fontSize:e.fontSize,fontFamily:e.fontFamily,fill:e.fill,textAlign:e.textAlign,fontWeight:e.fontWeight,fontStyle:e.fontStyle,underline:e.underline,linethrough:e.linethrough})},getToolbarControls:e=>[{key:"text",label:"文本内容",type:"text",value:e.text},{key:"fontSize",label:"字体大小",type:"number",value:e.fontSize,options:{min:8,max:200,step:1}},{key:"fontFamily",label:"字体",type:"select",value:e.fontFamily,options:{choices:[{label:"Arial",value:"Arial"},{label:"微软雅黑",value:"Microsoft YaHei"},{label:"宋体",value:"SimSun"},{label:"黑体",value:"SimHei"}]}},{key:"fill",label:"颜色",type:"color",value:e.fill},{key:"textAlign",label:"对齐",type:"select",value:e.textAlign,options:{choices:[{label:"左对齐",value:"left"},{label:"居中",value:"center"},{label:"右对齐",value:"right"}]}},{key:"fontWeight",label:"粗体",type:"select",value:e.fontWeight,options:{choices:[{label:"正常",value:"normal"},{label:"粗体",value:"bold"}]}},{key:"fontStyle",label:"斜体",type:"select",value:e.fontStyle,options:{choices:[{label:"正常",value:"normal"},{label:"斜体",value:"italic"}]}},{key:"underline",label:"下划线",type:"switch",value:e.underline},{key:"linethrough",label:"删除线",type:"switch",value:e.linethrough}]};exports.default=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const fe=require("@vueuse/core"),X=require("fabric"),g=require("vue"),p=require("../elements/index.cjs");function me(C={}){const n=g.ref(null),Y=g.ref(null),l=g.ref({width:C.width||750,height:C.height||1e3,backgroundColor:C.backgroundColor||"#ffffff",backgroundImage:C.backgroundImage||"",elements:[]}),h=g.ref([]),w=g.ref(!1),O=g.ref(1),R=g.ref(0),y=g.ref(0);let B=null,S=()=>{},P=0;const F=()=>`element_${++P}`,m=()=>{w.value||(w.value=!0,g.nextTick(()=>{S(JSON.stringify(l.value)),w.value=!1}))},k=()=>{if(!n.value)return;const t=n.value.getObjects(),e=[];t.forEach(o=>{const a=o.elementId;if(!a)return;const c=l.value.elements.find(i=>i.id===a);if(!c)return;const u=p.getElementConfig(c.type);if(!u)return;const r=u.getPropsFromFabricObject(o);e.push({...c,...r,id:c.id,type:c.type})}),l.value.elements=e},f=fe.useThrottleFn(()=>{k(),m()},100),I=()=>{if(!n.value)return;const t=n.value.getActiveObjects(),e=n.value.getActiveObject();t.length>0?h.value=[...t]:e?h.value=[e]:h.value=[]},T=()=>{h.value=[]},z=t=>{if(!t.target)return;const e=t.target,o=e.elementId,c=l.value.elements.find(i=>i.id===o)?.type,u=e.scaleX||1,r=e.scaleY||1;if(u!==1||r!==1){if(c==="circle"){const i=Math.max(u,r),d=Math.round((e.radius||50)*i);e.set({radius:d,scaleX:1,scaleY:1})}else if(c!=="image"){const i=Math.round(e.width*u),d=Math.round(e.height*r);e.set({width:i,height:d,scaleX:1,scaleY:1})}e.setCoords()}f()},L=t=>{const e=t.target;if(!e)return;const o=e.elementId;if(!o)return;const a=l.value.elements.find(c=>c.id===o);if(a){if(a.type==="circle"){const c=Math.max(e.scaleX||1,e.scaleY||1);e.set({scaleX:c,scaleY:c}),e.setCoords()}if(a.type==="rect"){const c=e.__corner;if(c&&["tl","tr","bl","br"].includes(c)){const r=Math.max(Math.abs(e.scaleX||1),Math.abs(e.scaleY||1));e.set({scaleX:e.scaleX>=0?r:-r,scaleY:e.scaleY>=0?r:-r}),e.setCoords()}}if(a.type==="image"){const c=e.__corner;if(c&&["tl","tr","bl","br"].includes(c)){const r=Math.max(Math.abs(e.scaleX||1),Math.abs(e.scaleY||1));e.set({scaleX:e.scaleX>=0?r:-r,scaleY:e.scaleY>=0?r:-r}),e.setCoords()}}}},H=()=>{n.value&&(n.value.on("selection:created",I),n.value.on("selection:updated",I),n.value.on("selection:cleared",T),n.value.on("mouse:down",()=>setTimeout(I,10)),n.value.on("mouse:up",()=>setTimeout(I,10)),n.value.on("object:modified",z),n.value.on("object:scaling",L),n.value.on("path:created",f),n.value.on("object:moving",f),n.value.on("object:rotating",f),n.value.on("object:skewing",f),n.value.on("object:added",f),n.value.on("object:removed",f),n.value.on("custom:text:changed",t=>{t.target&&t.newText!==void 0&&t.target.elementId&&f()}))},M=()=>{if(!n.value)return;const t=O.value||1;n.value.setZoom(t),n.value.setDimensions({width:l.value.width*t,height:l.value.height*t}),n.value.backgroundColor=l.value.backgroundColor,n.value.renderAll(),n.value.getObjects().forEach(e=>e.setCoords())},E=()=>{if(!B)return;const t=B.getBoundingClientRect();R.value=t.width-40,y.value=t.height-40;const e=R.value/l.value.width,o=y.value/l.value.height,a=Math.min(e,o,1);O.value=a,n.value&&(n.value.setZoom(a),n.value.setDimensions({width:l.value.width*a,height:l.value.height*a}),n.value.renderAll(),n.value.getObjects().forEach(c=>c.setCoords()))},A=t=>{B=t,g.nextTick(E);const e=new ResizeObserver(E);return e.observe(t),()=>e.disconnect()},_=(t,e)=>{const o=l.value.width,a=l.value.height,c=t.getBoundingRect();switch(e){case"center-horizontal":t.set("left",Math.round(t.left+(o/2-c.left-c.width/2)));break;case"center-vertical":t.set("top",Math.round(t.top+(a/2-c.top-c.height/2)));break;case"center-both":t.set({left:Math.round(t.left+(o/2-c.left-c.width/2)),top:Math.round(t.top+(a/2-c.top-c.height/2))});break;case"move-up":n.value?.bringObjectForward(t);break;case"move-down":n.value?.sendObjectBackwards(t);break;case"move-to-front":n.value?.bringObjectToFront(t);break;case"move-to-back":n.value?.sendObjectToBack(t);break}t.setCoords(),n.value?.renderAll()},q=t=>{if(t.length<3)return;const e=[...t].sort((d,s)=>d.getBoundingRect().left-s.getBoundingRect().left),o=e[0].getBoundingRect(),a=e[e.length-1].getBoundingRect(),c=a.left+a.width-o.left,u=e.reduce((d,s)=>d+s.getBoundingRect().width,0),r=(c-u)/(e.length-1);let i=o.left+o.width+r;for(let d=1;d<e.length-1;d++){const s=e[d],v=s.getBoundingRect();s.set("left",Math.round(s.left+(i-v.left))),i+=v.width+r}},J=t=>{if(t.length<3)return;const e=[...t].sort((d,s)=>d.getBoundingRect().top-s.getBoundingRect().top),o=e[0].getBoundingRect(),a=e[e.length-1].getBoundingRect(),c=a.top+a.height-o.top,u=e.reduce((d,s)=>d+s.getBoundingRect().height,0),r=(c-u)/(e.length-1);let i=o.top+o.height+r;for(let d=1;d<e.length-1;d++){const s=e[d],v=s.getBoundingRect();s.set("top",Math.round(s.top+(i-v.top))),i+=v.height+r}},K=(t,e)=>{if(t.length<2)return;const o=t.map(s=>s.getBoundingRect()),a=Math.min(...o.map(s=>s.left)),c=Math.max(...o.map(s=>s.left+s.width)),u=Math.min(...o.map(s=>s.top)),r=Math.max(...o.map(s=>s.top+s.height)),i=(a+c)/2,d=(u+r)/2;switch(e){case"left":t.forEach(s=>{const v=s.getBoundingRect();s.set("left",Math.round(s.left+(a-v.left)))});break;case"right":t.forEach(s=>{const v=s.getBoundingRect();s.set("left",Math.round(s.left+(c-v.left-v.width)))});break;case"top":t.forEach(s=>{const v=s.getBoundingRect();s.set("top",Math.round(s.top+(u-v.top)))});break;case"bottom":t.forEach(s=>{const v=s.getBoundingRect();s.set("top",Math.round(s.top+(r-v.top-v.height)))});break;case"center-horizontal":t.forEach(s=>{const v=s.getBoundingRect(),j=v.left+v.width/2;s.set("left",Math.round(s.left+(i-j)))});break;case"center-vertical":t.forEach(s=>{const v=s.getBoundingRect(),j=v.top+v.height/2;s.set("top",Math.round(s.top+(d-j)))});break;case"distribute-horizontal":q(t);break;case"distribute-vertical":J(t);break}t.forEach(s=>s.setCoords()),n.value?.renderAll()},U=(t,e)=>(Y.value=t,n.value=g.markRaw(new X.Canvas(t,{selection:!0,preserveObjectStacking:!0,uniformScaling:!1,uniScaleKey:"shiftKey",altActionKey:"altKey"})),H(),M(),e&&A(e),n.value),W=async(t,e={})=>{const o=p.getElementConfig(t);if(!o||!n.value)return;const a=F(),c=l.value.width/2,u=l.value.height/2,r={...o.defaultProps,left:Math.round(c-(o.defaultProps.width||100)/2),top:Math.round(u-(o.defaultProps.height||50)/2),...e,id:a},i=await o.createFabricObject(r);if(!i)return;i.elementId=a,n.value.add(i),i.setCoords(),n.value.setActiveObject(i),n.value.renderAll();const d=r;return l.value.elements.push(d),a},N=()=>{if(!n.value||h.value.length===0)return;n.value.getActiveObjects().forEach(e=>{const o=e.elementId;if(o){const a=l.value.elements.findIndex(c=>c.id===o);a!==-1&&l.value.elements.splice(a,1)}n.value?.remove(e)}),n.value.discardActiveObject(),h.value=[],n.value.renderAll()},Z=()=>{n.value?.discardActiveObject(),n.value?.renderAll()},$=(t,e,o)=>{const a=l.value.elements.findIndex(i=>i.id===t);if(a===-1)return;const c=l.value.elements[a],u=p.getElementConfig(c.type);if(!u)return;l.value.elements[a]={...c,[e]:o};const r=n.value?.getObjects().find(i=>i.elementId===t);r&&u.onPropsChange&&(u.onPropsChange(l.value.elements[a],r),r.setCoords(),n.value?.renderAll())},V=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;if(!e)return!1;const o=l.value.elements.findIndex(a=>a.id===e);return o!==-1&&o<l.value.elements.length-1}),G=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;return e?l.value.elements.findIndex(a=>a.id===e)>0:!1}),Q=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;if(!e)return!1;const o=l.value.elements.findIndex(a=>a.id===e);return o!==-1&&o<l.value.elements.length-1}),ee=g.computed(()=>{if(h.value.length!==1||l.value.elements.length<=1)return!1;const e=h.value[0].elementId;return e?l.value.elements.findIndex(a=>a.id===e)>0:!1}),te=t=>{const e=n.value?.getActiveObjects()||[];if(e.length===1){if(_(e[0],t),["move-up","move-down","move-to-front","move-to-back"].includes(t)){const o=e[0].elementId;if(o){const a=l.value.elements.findIndex(c=>c.id===o);if(a!==-1){const c=l.value.elements[a];switch(l.value.elements.splice(a,1),t){case"move-up":l.value.elements.splice(Math.min(a+1,l.value.elements.length),0,c);break;case"move-down":l.value.elements.splice(Math.max(a-1,0),0,c);break;case"move-to-front":l.value.elements.push(c);break;case"move-to-back":l.value.elements.unshift(c);break}}}}}else e.length>1&&K(e,t)},ne=()=>{n.value&&(n.value.clear(),l.value.elements=[],h.value=[])},ae=async t=>{if(t)try{const e=JSON.parse(t);if(l.value={width:e.width||750,height:e.height||1e3,backgroundColor:e.backgroundColor||"#ffffff",backgroundImage:e.backgroundImage||"",elements:e.elements||[]},n.value){n.value.clear(),n.value.setDimensions({width:l.value.width,height:l.value.height}),n.value.backgroundColor=l.value.backgroundColor,l.value.backgroundImage&&D(l.value.backgroundImage);const o=l.value.elements.map(async a=>{const c=p.getElementConfig(a.type);if(!c)return;const u=await c.createFabricObject(a);u&&(u.elementId=a.id,n.value?.add(u))});Promise.all(o).then(()=>{M(),n.value?.renderAll(),m()})}}catch(e){console.error("Failed to load data:",e)}},le=t=>{S=t?.onDataChange||(()=>{})},oe=()=>{n.value&&(n.value.dispose(),n.value=null)},x=g.computed(()=>h.value.length===1?h.value[0]:null),b=g.computed(()=>{if(!x.value)return null;const t=x.value.elementId;return l.value.elements.find(e=>e.id===t)||null}),ce=g.computed(()=>b.value?p.getElementConfig(b.value.type):null),se=g.computed(()=>h.value.length>1),re=t=>{if(b.value)return b.value[t]},ue=g.computed(()=>h.value.map(t=>{const e=t.elementId;return l.value.elements.find(o=>o.id===e)}).filter(t=>!!t)),ie=(t,e)=>{l.value.width=t,l.value.height=e,n.value&&(n.value.setDimensions({width:t,height:e}),E(),n.value.renderAll()),m()},de=t=>{l.value.backgroundColor=t,n.value&&(n.value.backgroundColor=t,n.value.renderAll()),m()},D=t=>{!n.value||!t||X.FabricImage.fromURL(t,{crossOrigin:"anonymous"}).then(e=>{n.value&&(n.value.backgroundImage=e,n.value.renderAll())}).catch(e=>{console.error("Failed to load background image:",e)})},ve=t=>{l.value.backgroundImage=t,t?D(t):n.value&&(n.value.backgroundImage=void 0,n.value.renderAll()),m()},ge=()=>{k(),m()},he=()=>{k();const t=JSON.stringify(l.value,null,2),e=new Blob([t],{type:"application/json"}),o=URL.createObjectURL(e),a=document.createElement("a");a.href=o,a.download=`poster-${Date.now()}.json`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(o)};return g.watch(l,()=>{f()},{deep:!0}),{initCanvas:U,destroy:oe,setCallbacks:le,addElement:W,deleteSelectedElements:N,updateElementProperty:$,alignElements:te,canMoveUp:V,canMoveDown:G,canMoveToFront:Q,canMoveToBack:ee,clearCanvas:ne,loadData:ae,updateData:m,canvas:n,canvasData:l,selectedElements:h,canvasScale:O,currentElement:x,currentElementData:b,currentElementConfig:ce,hasMultipleSelection:se,clearSelection:Z,updateCanvasSize:M,setupAutoResize:A,getSelectedElementProperty:re,selectedElementsData:ue,syncAllFabricObjectsToData:k,updateCanvasSettings:ie,updateCanvasBackground:de,updateCanvasBackgroundImage:ve,saveData:ge,exportJson:he}}exports.usePosterEditor=me;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("naive-ui"),n=require("../elements/index.cjs"),u=e.defineComponent({name:"LeftToolbar",props:{onAddElement:{type:Function,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0}},setup(o){return()=>e.createVNode("div",{class:"p-4 bg-default border-r border-default flex flex-col gap-6"},[n.elementConfigs.map(t=>e.createVNode(r.NTooltip,null,{default:()=>t.name,trigger:()=>e.createVNode(r.NButton,{key:t.type,text:!0,size:"large",onClick:()=>o.onAddElement(t.type)},{icon:()=>e.createVNode("div",{class:t.icon},null)})}))])}});exports.LeftToolbar=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("naive-ui"),o=e.defineComponent({name:"Panel",props:{title:{type:String,required:!0}},setup(r,{slots:l}){return()=>e.createVNode("div",{class:"flex flex-col h-full"},[e.createVNode("div",{class:"font-medium p-3 border-b border-default"},[r.title]),e.createVNode("div",{class:" flex-1 min-h-0"},[e.createVNode(t.NScrollbar,null,{default:()=>[e.createVNode("div",{class:"p-3 flex flex-col gap-2"},[l.default?.()])]})]),e.createVNode("div",{class:"border-t border-default p-3 flex flex-col gap-2"},[l.footer?.()])])}});exports.Panel=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=e.defineComponent({name:"PanelItem",props:{title:{type:String,required:!0}},setup(t,{slots:l}){return()=>e.createVNode("div",{class:"flex flex-col gap-1"},[e.createVNode("div",{class:"text-muted text-sm"},[t.title]),e.createVNode("div",null,[l.default?.()])])}});exports.PanelItem=r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("naive-ui");require("@duxweb/dvha-core");require("@vueuse/core");require("mime");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../elements/index.cjs");require("fabric");const o=require("./Panel.cjs"),n=require("./PanelItem.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const d=require("../../upload/image.cjs");function c(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const N=e.defineComponent({name:"RightPanel",props:{hasMultipleSelection:{type:Boolean,required:!0},selectedElementsCount:{type:Number,required:!0},currentElementData:{type:Object},currentElementConfig:{type:Object},canMoveUp:{type:Boolean,required:!0},canMoveDown:{type:Boolean,required:!0},canMoveToFront:{type:Boolean,required:!0},canMoveToBack:{type:Boolean,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0},canvasBackgroundColor:{type:String,required:!0},canvasBackgroundImage:{type:String},onDeleteSelectedElements:{type:Function,required:!0},onAlignElements:{type:Function,required:!0},onUpdateElementProperty:{type:Function,required:!0},onUpdateCanvasSize:{type:Function,required:!0},onUpdateCanvasBackground:{type:Function,required:!0},onUpdateCanvasBackgroundImage:{type:Function,required:!0},onSaveData:{type:Function,required:!0},onExportJson:{type:Function,required:!0},onRenderToolbarControl:{type:Function,required:!0},onClearCanvas:{type:Function,required:!0},canvasScale:{type:Number,required:!0}},setup(t){const i=()=>{if(t.hasMultipleSelection)return e.createVNode(o.Panel,{title:"多选操作"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("left"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-left"},null)},null),default:()=>"左对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("right"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-right"},null)},null),default:()=>"右对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("top"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-top"},null)},null),default:()=>"顶部对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("bottom"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-bottom"},null)},null),default:()=>"底部对齐"})])]}),e.createVNode(n.PanelItem,{title:"居中"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"水平分布"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-vertical"},null)},null),default:()=>"垂直分布"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])});if(t.currentElementData&&t.currentElementConfig){const l=t.currentElementConfig.getToolbarControls(t.currentElementData);return e.createVNode(o.Panel,{title:"元素设置"},{default:()=>e.createVNode(e.Fragment,null,[l.map(a=>{let u;return e.createVNode(n.PanelItem,{key:a.key,title:a.label},c(u=t.onRenderToolbarControl(a))?u:{default:()=>[u]})}),e.createVNode(n.PanelItem,{title:"X"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.left,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"left",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"Y"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.top,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"top",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"角度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.angle,min:-180,max:180,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"angle",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-3 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-both"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"居中"})])]}),e.createVNode(n.PanelItem,{title:"层级"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveUp,onClick:()=>t.onAlignElements("move-up"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-up"},null)},null),default:()=>"上移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveDown,onClick:()=>t.onAlignElements("move-down"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-down"},null)},null),default:()=>"下移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToFront,onClick:()=>t.onAlignElements("move-to-front"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-up"},null)},null),default:()=>"移到最前"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToBack,onClick:()=>t.onAlignElements("move-to-back"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-down"},null)},null),default:()=>"移到最后"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])})}else return e.createVNode(o.Panel,{title:"画布设置"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"宽度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasWidth,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(l||800,t.canvasHeight)},null)]}),e.createVNode(n.PanelItem,{title:"高度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasHeight,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(t.canvasWidth,l||600)},null)]}),e.createVNode(n.PanelItem,{title:"背景颜色"},{default:()=>[e.createVNode(r.NColorPicker,{value:t.canvasBackgroundColor,"onUpdate:value":l=>t.onUpdateCanvasBackground(l)},null)]}),e.createVNode(n.PanelItem,{title:"背景图片"},{default:()=>[e.createVNode(d.DuxImageUpload,{value:t.canvasBackgroundImage||"",onUpdateValue:l=>t.onUpdateCanvasBackgroundImage(typeof l=="string"?l:Array.isArray(l)&&l[0]||"")},null)]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{type:"primary",block:!0,onClick:t.onSaveData},{default:()=>[e.createTextVNode("保存")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onExportJson},{default:()=>[e.createTextVNode("导出 JSON")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onClearCanvas},{default:()=>[e.createTextVNode("清空画布")]})])})};return()=>e.createVNode("div",{class:"w-60 bg-default border-l border-default"},[i()])}});exports.RightPanel=N;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),u=require("naive-ui"),I=require("../card/card.cjs");require("clsx");require("@duxweb/dvha-core");require("@vueuse/core");require("mime");require("vue-router");require("@overlastic/vue");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("./elements/index.cjs");const T=require("./hooks/usePosterEditor.cjs"),B=require("./components/CanvasRuler.cjs"),R=require("./pages/LeftToolbar.cjs"),F=require("./pages/RightPanel.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const H=require("../upload/image.cjs"),W=a.defineComponent({name:"DuxPosterEditor",props:{data:{type:String,default:""},width:{type:Number,default:750},height:{type:Number,default:1e3},backgroundColor:{type:String,default:"#ffffff"},backgroundImage:{type:String,default:""},onDataUpdate:Function,onSave:Function},setup(t){const l=a.ref(),i=a.ref(),{initCanvas:v,destroy:g,setCallbacks:p,addElement:q,deleteSelectedElements:m,updateElementProperty:d,alignElements:h,canMoveUp:f,canMoveDown:b,canMoveToFront:C,canMoveToBack:N,clearCanvas:k,loadData:s,canvasData:n,selectedElements:x,canvasScale:c,currentElementData:o,currentElementConfig:E,hasMultipleSelection:S,updateCanvasSettings:y,updateCanvasBackground:U,updateCanvasBackgroundImage:V,saveData:w,exportJson:D}=T.usePosterEditor({width:t.width,height:t.height,backgroundColor:t.backgroundColor,backgroundImage:t.backgroundImage});p({onDataChange:t?.onDataUpdate});const M=e=>{const r=P=>{o.value&&d(o.value.id,e.key,P)};switch(e.type){case"text":return a.createVNode(u.NInput,{value:e.value,placeholder:e.options?.placeholder,"onUpdate:value":r},null);case"number":return a.createVNode(u.NInputNumber,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":r},null);case"color":return a.createVNode(u.NColorPicker,{value:e.value,"onUpdate:value":r},null);case"select":return a.createVNode(u.NSelect,{value:e.value,options:e.options?.choices||[],"onUpdate:value":r},null);case"switch":return a.createVNode(u.NSwitch,{value:e.value,"onUpdate:value":r},null);case"slider":return a.createVNode(u.NSlider,{value:e.value,min:e.options?.min,max:e.options?.max,step:e.options?.step,"onUpdate:value":r},null);case"image":return a.createVNode(H.DuxImageUpload,{value:e.value,onUpdateValue:r},null);default:return null}};return a.watch(()=>t.data,e=>{e&&s(e)},{immediate:!1}),a.onMounted(()=>{l.value&&i.value&&(v(l.value,i.value),s(t.data))}),a.onUnmounted(()=>{g()}),()=>a.createVNode(I.DuxCard,{class:"h-full",shadow:!0},{default:()=>[a.createVNode("div",{class:"h-full flex"},[a.createVNode(R.LeftToolbar,{onAddElement:q,canvasWidth:n.value.width,canvasHeight:n.value.height},null),a.createVNode("div",{ref:i,class:"flex-1 p-6 pl-12 pt-12 flex items-center justify-center overflow-hidden relative",style:"background: linear-gradient(45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0, 0.1) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0,0,0, 0.1) 75%), linear-gradient(-45deg, transparent 75%, rgba(0,0,0, 0.1) 75%); background-size: 20px 20px; background-position: 0 0, 0 10px, 10px -10px, -10px 0px;"},[a.createVNode(B.CanvasRuler,{canvasScale:c.value,canvasWidth:n.value.width,canvasHeight:n.value.height},null),a.createVNode("div",{class:"bg-default shadow-lg",style:"position: relative;"},[a.createVNode("canvas",{ref:l,style:"display: block;"},null)])]),a.createVNode(F.RightPanel,{onClearCanvas:k,hasMultipleSelection:S.value,selectedElementsCount:x.value.length,currentElementData:o.value||void 0,currentElementConfig:E.value||void 0,canMoveUp:f.value,canMoveDown:b.value,canMoveToFront:C.value,canMoveToBack:N.value,canvasWidth:n.value.width,canvasHeight:n.value.height,canvasBackgroundColor:n.value.backgroundColor,canvasBackgroundImage:n.value.backgroundImage,onDeleteSelectedElements:m,onAlignElements:e=>h(e),onUpdateElementProperty:d,onUpdateCanvasSize:(e,r)=>y(e,r),onUpdateCanvasBackground:U,onUpdateCanvasBackgroundImage:V,onSaveData:async()=>{await w(),await t?.onSave?.()},onExportJson:D,onRenderToolbarControl:M,canvasScale:c.value},null)])]})}});exports.DuxPosterEditor=W;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=e.defineComponent({name:"DuxTableFilter",props:{label:{type:String,default:""}},setup(l,{slots:a}){const t=e.inject("dux.filter",{showLabel:!1,labelPlacement:"left"});return()=>e.createVNode("div",{class:["flex gap-2 gap-2 flex-nowrap",t.labelPlacement==="left"?"flex-row items-center":"flex-col"]},[t.showLabel&&l.label&&e.createVNode("div",{class:"text-sm text-default whitespace-nowrap"},[l.label]),e.createVNode("div",{class:"flex-1 min-w-60"},[a.default?.()])])}});exports.DuxTableFilter=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),a=l.defineComponent({name:"DuxFilterLayout",props:{showLabel:{type:Boolean,default:!1},labelPlacement:{type:String,default:"left"},horizontal:{type:Boolean,default:!1}},setup(e,{slots:t}){return l.provide("dux.filter",{showLabel:e.showLabel,labelPlacement:e.labelPlacement}),()=>l.createVNode("div",{class:["flex flex-col gap-2",e.horizontal?"flex-row":"flex-col"]},[t.default?.()])}});exports.DuxFilterLayout=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),m=require("@duxweb/dvha-core"),G=require("@vueuse/core"),i=require("naive-ui"),H=require("../../hooks/action.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue-cropper");const X=require("../modal/modalPage.cjs");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const T=require("../drawer/drawerPage.cjs");require("aieditor");require("vee-validate");require("vue-router");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");const Y=require("../../pages/page.cjs");require("../../pages/page404.cjs");const Z=require("../../pages/pageEmpty.cjs");require("@iconify-json/tabler/icons.json");const ee=require("./filter.cjs"),te=require("./filterLayout.cjs"),ae=require("./tools.cjs");require("mime");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("dayjs");require("@tanstack/vue-query");require("pinia");function re(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!e.isVNode(r)}const ie=e.defineComponent({name:"DuxListLayout",props:{rowKey:{type:String,default:"id"},path:{type:String,required:!0},filter:{type:Object},filterSchema:{type:Array},pagination:{type:[Boolean,Object],default:!0},tabs:{type:Array},tools:{type:Object},actions:{type:Array,default:()=>[]},checkable:{type:Boolean},sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""},hookListProps:{type:Object}},setup(r,{slots:t}){var L;const A=e.toRef(r.filter||{}),{t:o}=m.useI18n(),{renderAction:D}=H.useAction(),j=e.toRef(r.pagination&&typeof r.pagination=="object"?r.pagination:{page:1,pageSize:20}),v=e.ref({}),F=()=>{Object.assign(v.value,A.value)},n=m.useExtendList({path:r.path,filters:v.value,pagination:j.value,...r.hookListProps}),{meta:b,list:q,isLoading:x,autoRefetch:U,autoCountdown:w,onAutoRefetch:B,isExporting:O,isExportingRows:E,isImporting:y,onExport:I,onExportRows:M,onImport:W}=n,J=e.computed(()=>({page:n.page.value,pageSize:n.pageSize.value,pageCount:n.pageCount.value,pageSizes:n.pageSizes,pageSlot:5,onUpdatePage:n.onUpdatePage,onUpdatePageSize:n.onUpdatePageSize,showSizePicker:!0,showQuickJumper:!0})),h=e.reactive({show:!1}),p=e.reactive({show:!1}),s=e.reactive({show:!1}),N=e.ref(((L=r.filterSchema)==null?void 0:L.length)||0),{width:u}=G.useWindowSize(),S=()=>{var f;if(!((f=r.filterSchema)!=null&&f.length))return 0;const l=r.filterSchema.length;if(l<=3)return l;const d=u.value||1024;let c=3;return d>=1280?c=4:d>=1024?c=3:d>=768?c=2:c=1,Math.min(l,c)};e.watch(u,()=>{N.value=S()}),e.onMounted(()=>{N.value=S()});const _=e.computed(()=>(r.filterSchema||[]).slice(0,N.value)),k=e.computed(()=>(r.filterSchema||[]).slice(N.value)),K=e.computed(()=>k.value.length>0),C=l=>l.map(d=>{const{title:c,...f}=d;return{tag:ee.DuxTableFilter,attrs:{label:c,class:"flex-1 min-w-0"},children:f}}),{render:Q}=m.useJsonSchema({data:e.computed(()=>C(_.value))}),{render:$}=m.useJsonSchema({data:e.computed(()=>C(k.value))}),V=e.computed(()=>({import:!1,export:!0,refresh:!0,...r.tools}));return()=>e.createVNode(Y.DuxPage,{padding:!1,scrollbar:!1},{sideLeft:()=>{var l;return t!=null&&t.sideLeft&&u.value>=1024?(l=t==null?void 0:t.sideLeft)==null?void 0:l.call(t):void 0},sideRight:()=>{var l;return t!=null&&t.sideRight&&u.value>=1024?(l=t==null?void 0:t.sideRight)==null?void 0:l.call(t):void 0},default:()=>{var l,d,c,f,P,z,R;return e.createVNode("div",{class:"flex flex-col h-full relative"},[e.createVNode("div",{class:"lg:justify-between gap-2 p-3"},[e.createVNode("div",{class:"flex flex-col lg:flex-row lg:items-center gap-2"},[r.checkable&&e.createVNode("div",{class:"hidden lg:flex items-center pl-2"},[e.createVNode(i.NTooltip,null,{trigger:()=>e.createVNode("div",{class:"flex items-center"},[e.createVNode(i.NCheckbox,{checked:n.isAllChecked.value,indeterminate:n.isIndeterminate.value,onUpdateChecked:n.toggleSelectAll},null)]),default:()=>o("components.list.selectAll")})]),r.tabs&&e.createVNode("div",null,[e.createVNode(i.NTabs,{type:"segment",size:"small",style:{"--n-tab-padding":"4px 10px"},"default-value":(d=(l=r.tabs)==null?void 0:l[0])==null?void 0:d.value,value:(c=v.value)==null?void 0:c.tab,onUpdateValue:a=>{v.value.tab=a}},{default:()=>{var a;return[(a=r.tabs)==null?void 0:a.map(g=>e.createVNode(i.NTab,{name:g.value,tab:g.label},null))]}})]),e.createVNode("div",{class:"flex gap-2"},[(t==null?void 0:t.sideLeft)&&u.value<1024&&e.createVNode(i.NButton,{class:"flex-none",secondary:!0,onClick:()=>{p.show=!p.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-inactive size-4"},null)}),e.createVNode("div",{class:"flex flex-wrap gap-2 items-center flex-1 lg:flex-none"},[e.h(Q)]),e.createVNode(i.NButton,{type:"primary",secondary:!0,onClick:F},{icon:()=>e.createVNode("div",{class:"i-tabler:search size-4"},null),default:()=>o("components.button.search")}),(t==null?void 0:t.sideRight)&&u.value<1024&&e.createVNode(i.NButton,{class:"flex-none",secondary:!0,onClick:()=>{s.show=!s.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-right-inactive size-4"},null)}),K.value&&e.createVNode(i.NButton,{iconPlacement:"right",onClick:()=>{h.show=!h.show}},{default:()=>o("components.button.advanced"),icon:()=>e.createVNode("div",{class:["i-tabler:chevrons-down size-4 transition-all"]},null)})])]),e.createVNode("div",{class:"flex gap-2"},[(f=t.actions)==null?void 0:f.call(t),((P=r.actions)==null?void 0:P.length)>0&&D({type:u.value<1024?"dropdown":"button",text:u.value<1024,items:r.actions})])]),e.createVNode(i.NSpin,{show:x.value,class:"flex-1 min-h-0",contentClass:"h-full"},{default:()=>{var a;return[e.createVNode("div",{class:["h-full overflow-auto rounded-lg px-3"]},[!x.value&&q.value.length===0&&e.createVNode("div",{class:"flex justify-center items-center h-full"},[e.createVNode(Z.DuxPageEmpty,null,null)]),q.value.length>0&&((a=t==null?void 0:t.default)==null?void 0:a.call(t,n))])]}}),e.createVNode("div",{class:"flex justify-between px-3 py-2 gap-2"},[e.createVNode("div",null,[e.createVNode("div",{class:"flex gap-1 items-center"},[r.checkable&&e.createVNode(i.NTooltip,null,{trigger:()=>e.createVNode(i.NButton,{loading:y.value,circle:!0,quaternary:!0},{default:()=>[e.createVNode(i.NCheckbox,{checked:n.isAllChecked.value,indeterminate:n.isIndeterminate.value,onUpdateChecked:n.toggleSelectAll},null)]}),default:()=>o("components.list.selectAll")}),(z=t==null?void 0:t.tools)==null?void 0:z.call(t),V.value.export&&e.createVNode(i.NTooltip,null,{trigger:()=>e.createVNode(i.NButton,{loading:O.value,onClick:I,circle:!0,quaternary:!0},{icon:()=>e.createVNode("div",{class:"i-tabler:database-export size-4"},null)}),default:()=>o("components.button.export")}),V.value.import&&e.createVNode(i.NTooltip,null,{trigger:()=>e.createVNode(i.NButton,{loading:y.value,onClick:W,circle:!0,quaternary:!0},{icon:()=>e.createVNode("div",{class:"i-tabler:database-import size-4"},null)}),default:()=>o("components.button.import")}),V.value.refresh&&e.createVNode(i.NTooltip,null,{trigger:()=>e.createVNode(i.NButton,{onClick:B,circle:!0,quaternary:!0},{icon:()=>U.value?e.createVNode(i.NProgress,{class:"size-4",type:"circle",percentage:w.value*10,strokeWidth:20,color:"rgba(var(--ui-color-primary))"},{default:()=>[e.createVNode("span",{class:"text-8px"},[w.value])]}):e.createVNode("div",{class:"i-tabler:refresh size-4"},null)}),default:()=>o("components.button.autoRefresh")})])]),e.createVNode("div",{class:"flex items-center gap-2"},[(R=t==null?void 0:t.bottom)==null?void 0:R.call(t),r.pagination&&e.createVNode(i.NPagination,e.mergeProps(J.value,{simple:u.value<768}),{prefix:()=>{var a;return e.createVNode("div",null,[o("components.list.total",{total:((a=b==null?void 0:b.value)==null?void 0:a.total)||0})])}})])]),e.createVNode(ae.DuxTableTools,{number:n.checkeds.value.length,group:[[{icon:"i-tabler:x",onClick:()=>{var a;n.checkeds.value=[],(a=n.onUpdateChecked)==null||a.call(n,[])}}],[{label:o("components.button.export"),icon:"i-tabler:file-export",loading:E.value,onClick:M},{label:o("components.button.delete"),type:"error",icon:"i-tabler:trash"}]]},null),e.createVNode(i.NModal,{draggable:!0,class:"bg-white rounded dark:shadow-gray-950/80 dark:bg-gray-800/60 backdrop-blur",show:h.show,onUpdateShow:a=>h.show=a},{default:({draggableClass:a})=>{let g;return e.createVNode(X.default,{title:o("components.button.filter"),handle:a,onClose:()=>h.show=!1},{default:()=>[e.createVNode(te.DuxFilterLayout,{showLabel:!0,labelPlacement:"top"},re(g=e.h($))?g:{default:()=>[g]})]})}}),e.createVNode(i.NDrawer,{show:p.show,onUpdateShow:a=>p.show=a,autoFocus:!1,placement:"left"},{default:()=>[e.createVNode(T.DuxDrawerPage,{title:r.sideLeftTitle||o("components.button.sideLeft"),onClose:()=>p.show=!1,scrollbar:!1},{default:()=>{var a;return[(a=t==null?void 0:t.sideLeft)==null?void 0:a.call(t)]}})]}),e.createVNode(i.NDrawer,{show:s.show,onUpdateShow:a=>s.show=a,autoFocus:!1,placement:"right"},{default:()=>[e.createVNode(T.DuxDrawerPage,{title:r.sideRightTitle||o("components.button.sideRight"),onClose:()=>s.show=!1,scrollbar:!1},{default:()=>{var a;return[(a=t==null?void 0:t.sideRight)==null?void 0:a.call(t)]}})]})])}})}});exports.DuxListLayout=ie;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),p=require("@duxweb/dvha-core"),W=require("@vueuse/core"),a=require("naive-ui"),J=require("../../hooks/action.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");const _=require("../modal/modalPage.cjs");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const y=require("../drawer/drawerPage.cjs");require("aieditor");require("vee-validate");require("vue-router");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");const K=require("../../pages/page.cjs");require("../../pages/page404.cjs");const Q=require("../../pages/pageEmpty.cjs");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");const $=require("./filter.cjs"),G=require("./filterLayout.cjs"),H=require("./tools.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");function X(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Y=e.defineComponent({name:"DuxListLayout",props:{rowKey:{type:String,default:"id"},path:{type:String,required:!0},filter:{type:Object},filterSchema:{type:Array},pagination:{type:[Boolean,Object],default:!0},tabs:{type:Array},tools:{type:Object},actions:{type:Array,default:()=>[]},checkable:{type:Boolean},sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""},hookListProps:{type:Object}},setup(t,{slots:i}){const S=e.toRef(t.filter||{}),{t:o}=p.useI18n(),{renderAction:k}=J.useAction(),C=e.toRef(t.pagination&&typeof t.pagination=="object"?t.pagination:{page:1,pageSize:20}),g=e.ref({}),L=()=>{Object.assign(g.value,S.value)},l=p.useExtendList({path:t.path,filters:g.value,pagination:C.value,...t.hookListProps}),{meta:P,list:m,isLoading:N,autoRefetch:z,autoCountdown:b,onAutoRefetch:R,isExporting:T,isExportingRows:A,isImporting:q,onExport:D,onExportRows:j,onImport:F}=l,U=e.computed(()=>({page:l.page.value,pageSize:l.pageSize.value,pageCount:l.pageCount.value,pageSizes:l.pageSizes,pageSlot:5,onUpdatePage:l.onUpdatePage,onUpdatePageSize:l.onUpdatePageSize,showSizePicker:!0,showQuickJumper:!0})),s=e.reactive({show:!1}),d=e.reactive({show:!1}),f=e.reactive({show:!1}),h=e.ref(t.filterSchema?.length||0),{width:n}=W.useWindowSize(),V=()=>{if(!t.filterSchema?.length)return 0;const r=t.filterSchema.length;if(r<=3)return r;const u=n.value||1024;let c=3;return u>=1280?c=4:u>=1024?c=3:u>=768?c=2:c=1,Math.min(r,c)};e.watch(n,()=>{h.value=V()}),e.onMounted(()=>{h.value=V()});const B=e.computed(()=>(t.filterSchema||[]).slice(0,h.value)),x=e.computed(()=>(t.filterSchema||[]).slice(h.value)),O=e.computed(()=>x.value.length>0),w=r=>r.map(u=>{const{title:c,...M}=u;return{tag:$.DuxTableFilter,attrs:{label:c,class:"flex-1 min-w-0"},children:M}}),{render:E}=p.useJsonSchema({data:e.computed(()=>w(B.value))}),{render:I}=p.useJsonSchema({data:e.computed(()=>w(x.value))}),v=e.computed(()=>({import:!1,export:!0,refresh:!0,...t.tools}));return()=>e.createVNode(K.DuxPage,{padding:!1,scrollbar:!1},{sideLeft:()=>i?.sideLeft&&n.value>=1024?i?.sideLeft?.():void 0,sideRight:()=>i?.sideRight&&n.value>=1024?i?.sideRight?.():void 0,default:()=>e.createVNode("div",{class:"flex flex-col h-full relative"},[e.createVNode("div",{class:"lg:justify-between gap-2 p-3"},[e.createVNode("div",{class:"flex flex-col lg:flex-row lg:items-center gap-2"},[t.checkable&&e.createVNode("div",{class:"hidden lg:flex items-center pl-2"},[e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode("div",{class:"flex items-center"},[e.createVNode(a.NCheckbox,{checked:l.isAllChecked.value,indeterminate:l.isIndeterminate.value,onUpdateChecked:l.toggleSelectAll},null)]),default:()=>o("components.list.selectAll")})]),t.tabs&&e.createVNode("div",null,[e.createVNode(a.NTabs,{type:"segment",size:"small",style:{"--n-tab-padding":"4px 10px"},"default-value":t.tabs?.[0]?.value,value:g.value?.tab,onUpdateValue:r=>{g.value.tab=r}},{default:()=>[t.tabs?.map(r=>e.createVNode(a.NTab,{name:r.value,tab:r.label},null))]})]),e.createVNode("div",{class:"flex gap-2"},[i?.sideLeft&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{d.show=!d.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-inactive size-4"},null)}),e.createVNode("div",{class:"flex flex-wrap gap-2 items-center flex-1 lg:flex-none"},[e.h(E)]),e.createVNode(a.NButton,{type:"primary",secondary:!0,onClick:L},{icon:()=>e.createVNode("div",{class:"i-tabler:search size-4"},null),default:()=>o("components.button.search")}),i?.sideRight&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{f.show=!f.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-right-inactive size-4"},null)}),O.value&&e.createVNode(a.NButton,{iconPlacement:"right",onClick:()=>{s.show=!s.show}},{default:()=>o("components.button.advanced"),icon:()=>e.createVNode("div",{class:["i-tabler:chevrons-down size-4 transition-all"]},null)})])]),e.createVNode("div",{class:"flex gap-2"},[i.actions?.(),t.actions?.length>0&&k({type:n.value<1024?"dropdown":"button",text:n.value<1024,items:t.actions})])]),e.createVNode(a.NSpin,{show:N.value,class:"flex-1 min-h-0",contentClass:"h-full"},{default:()=>[e.createVNode("div",{class:["h-full overflow-auto rounded-lg px-3"]},[!N.value&&m.value.length===0&&e.createVNode("div",{class:"flex justify-center items-center h-full"},[e.createVNode(Q.DuxPageEmpty,null,null)]),m.value.length>0&&i?.default?.(l)])]}),e.createVNode("div",{class:"flex justify-between px-3 py-2 gap-2"},[e.createVNode("div",null,[e.createVNode("div",{class:"flex gap-1 items-center"},[t.checkable&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{loading:q.value,circle:!0,quaternary:!0},{default:()=>[e.createVNode(a.NCheckbox,{checked:l.isAllChecked.value,indeterminate:l.isIndeterminate.value,onUpdateChecked:l.toggleSelectAll},null)]}),default:()=>o("components.list.selectAll")}),i?.tools?.(),v.value.export&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{loading:T.value,onClick:D,circle:!0,quaternary:!0},{icon:()=>e.createVNode("div",{class:"i-tabler:database-export size-4"},null)}),default:()=>o("components.button.export")}),v.value.import&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{loading:q.value,onClick:F,circle:!0,quaternary:!0},{icon:()=>e.createVNode("div",{class:"i-tabler:database-import size-4"},null)}),default:()=>o("components.button.import")}),v.value.refresh&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{onClick:R,circle:!0,quaternary:!0},{icon:()=>z.value?e.createVNode(a.NProgress,{class:"size-4",type:"circle",percentage:b.value*10,strokeWidth:20,color:"rgba(var(--ui-color-primary))"},{default:()=>[e.createVNode("span",{class:"text-8px"},[b.value])]}):e.createVNode("div",{class:"i-tabler:refresh size-4"},null)}),default:()=>o("components.button.autoRefresh")})])]),e.createVNode("div",{class:"flex items-center gap-2"},[i?.bottom?.(),t.pagination&&e.createVNode(a.NPagination,e.mergeProps(U.value,{simple:n.value<768}),{prefix:()=>e.createVNode("div",null,[o("components.list.total",{total:P?.value?.total||0})])})])]),e.createVNode(H.DuxTableTools,{number:l.checkeds.value.length,group:[[{icon:"i-tabler:x",onClick:()=>{l.checkeds.value=[],l.onUpdateChecked?.([])}}],[{label:o("components.button.export"),icon:"i-tabler:file-export",loading:A.value,onClick:j},{label:o("components.button.delete"),type:"error",icon:"i-tabler:trash"}]]},null),e.createVNode(a.NModal,{draggable:!0,class:"bg-white rounded dark:shadow-gray-950/80 dark:bg-gray-800/60 backdrop-blur",show:s.show,onUpdateShow:r=>s.show=r},{default:({draggableClass:r})=>{let u;return e.createVNode(_.default,{title:o("components.button.filter"),handle:r,onClose:()=>s.show=!1},{default:()=>[e.createVNode(G.DuxFilterLayout,{showLabel:!0,labelPlacement:"top"},X(u=e.h(I))?u:{default:()=>[u]})]})}}),e.createVNode(a.NDrawer,{show:d.show,onUpdateShow:r=>d.show=r,autoFocus:!1,placement:"left"},{default:()=>[e.createVNode(y.DuxDrawerPage,{title:t.sideLeftTitle||o("components.button.sideLeft"),onClose:()=>d.show=!1,scrollbar:!1},{default:()=>[i?.sideLeft?.()]})]}),e.createVNode(a.NDrawer,{show:f.show,onUpdateShow:r=>f.show=r,autoFocus:!1,placement:"right"},{default:()=>[e.createVNode(y.DuxDrawerPage,{title:t.sideRightTitle||o("components.button.sideRight"),onClose:()=>f.show=!1,scrollbar:!1},{default:()=>[i?.sideRight?.()]})]})])})}});exports.DuxListLayout=Y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("@duxweb/dvha-core"),E=require("@vueuse/core"),a=require("naive-ui"),F=require("../../hooks/action.cjs");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");const W=require("../modal/modalPage.cjs");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const v=require("../drawer/drawerPage.cjs");require("aieditor");require("vee-validate");require("vue-router");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");const I=require("../../pages/page.cjs");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");const J=require("./filter.cjs"),M=require("./filterLayout.cjs"),_=require("./tools.cjs");require("dayjs");require("@tanstack/vue-query");const $=require("../../hooks/table.cjs");require("pinia");function K(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const G=e.defineComponent({name:"DuxTableLayout",props:{path:{type:String,required:!0},filter:{type:Object},filterSchema:{type:Array},filterNumber:{type:Number,default:1},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0},tabs:{type:Array},actions:{type:Array,default:()=>[]},tools:{type:Object},sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""},hookTableProps:{type:Object}},setup(t,{slots:o}){const f=e.toRef(t,"filter",{}),q=e.toRef(t,"columns",[]),{t:l}=N.useI18n(),{renderAction:w}=F.useAction(),b=$.useTable({path:t.path,filters:f.value,columns:q,pagination:t.pagination,...t.hookTableProps}),{columns:p,tablePagination:y,table:V,onUpdateColumnSelected:x,onUpdateChecked:T,columnSelected:k,autoRefetch:C,autoCountdown:m,onAutoRefetch:R,isExporting:S,isExportingRows:j,isImporting:L,onExport:P,onExportRows:D,onImport:z}=b,B=e.computed(()=>p.value.filter(r=>"title"in r&&"key"in r).map(r=>({label:r.title,value:r.key}))),{width:n}=E.useWindowSize(),O=e.computed(()=>p.value.reduce((i,d)=>i+(Number(d?.width)||Number(d?.minWidth)||110),0)),u=e.reactive({show:!1}),c=e.reactive({show:!1}),s=e.reactive({show:!1}),h=e.computed(()=>(t.filterSchema||[]).map(r=>{const{label:i,...d}=r;return{tag:J.DuxTableFilter,attrs:{label:i},children:d}})),{render:U}=N.useJsonSchema({data:h.value?.slice(t.filterNumber)}),{render:A}=N.useJsonSchema({data:h.value?.slice(0,t.filterNumber)}),g=e.computed(()=>({import:!1,export:!0,refresh:!0,...t.tools}));return()=>e.createVNode(I.DuxPage,{actions:t.actions,scrollbar:!1},{sideLeft:()=>o?.sideLeft&&n.value>=1024?o?.sideLeft?.():void 0,sideRight:()=>o?.sideRight&&n.value>=1024?o?.sideRight?.():void 0,default:()=>e.createVNode("div",{class:"flex flex-col gap-2 h-full relative"},[e.createVNode("div",{class:"flex gap-2 justify-between flex-col lg:flex-row"},[t.tabs&&e.createVNode("div",{class:"flex flex-none"},[e.createVNode(a.NTabs,{type:"segment",size:"small",style:{"--n-tab-padding":"4px 10px"},"default-value":t.tabs?.[0]?.value,value:f.value?.tab,onUpdateValue:r=>{f.value.tab=r}},{default:()=>[t.tabs?.map(r=>e.createVNode(a.NTab,{name:r.value,tab:r.label},null))]})]),e.createVNode("div",{class:["overflow-hidden flex-1 flex gap-2"]},[o?.sideLeft&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{c.show=!c.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-inactive size-4"},null)}),e.createVNode("div",{class:["flex-1 flex flex-col lg:flex-row gap-2 flex-wrap",t.tabs?"justify-end":"justify-start"]},[e.h(A)]),o?.sideRight&&n.value<1024&&e.createVNode(a.NButton,{class:"flex-none",secondary:!0,onClick:()=>{s.show=!s.show}},{icon:()=>e.createVNode("div",{class:"i-tabler:layout-sidebar-right-inactive size-4"},null)})]),e.createVNode("div",{class:"flex gap-2 justify-between lg:justify-end"},[e.createVNode("div",{class:"flex gap-2 items-center"},[h.value.length>t.filterNumber&&e.createVNode(a.NButton,{iconPlacement:"right",onClick:()=>{u.show=!u.show}},{default:()=>l("components.button.filter"),icon:()=>e.createVNode("div",{class:["i-tabler:chevrons-down size-4 transition-all"]},null)}),o?.tools?.(),e.createVNode(a.NPopselect,{options:B.value,value:k.value,onUpdateValue:r=>{x(r)},multiple:!0,placement:"bottom-start",trigger:"click"},{default:()=>[e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,"icon-placement":"right"},{icon:()=>e.createVNode("div",{class:"i-tabler:columns size-4"},null)}),default:()=>l("components.list.columnSetting")})]}),g.value.export&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,loading:S.value,onClick:P},{icon:()=>e.createVNode("div",{class:"i-tabler:database-export size-4"},null)}),default:()=>l("components.button.export")}),g.value.import&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,loading:L.value,onClick:z},{icon:()=>e.createVNode("div",{class:"i-tabler:database-import size-4"},null)}),default:()=>l("components.button.import")}),g.value.refresh&&e.createVNode(a.NTooltip,null,{trigger:()=>e.createVNode(a.NButton,{secondary:!0,onClick:R},{icon:()=>C.value?e.createVNode(a.NProgress,{class:"size-4",type:"circle",percentage:m.value*10,strokeWidth:20,color:"rgba(var(--ui-color-primary))"},{default:()=>[e.createVNode("span",{class:"text-8px"},[m.value])]}):e.createVNode("div",{class:"i-tabler:refresh size-4"},null)}),default:()=>l("components.button.autoRefresh")})]),e.createVNode("div",{class:"flex gap-2 justify-end"},[o.actions?.(),t.actions?.length>0&&w({type:n.value<1024?"dropdown":"button",items:t.actions})])])]),e.createVNode("div",{class:"flex-1 min-h-0"},[o?.default?.({...b,width:O.value})]),e.createVNode("div",{class:"flex justify-between"},[e.createVNode("div",null,[o?.bottom?.()]),e.createVNode("div",null,[t.pagination&&e.createVNode(a.NPagination,e.mergeProps(y.value,{simple:n.value<768}),{prefix:()=>e.createVNode("div",null,[l("components.list.total",{total:b.total.value||0})])})])]),e.createVNode(_.DuxTableTools,{number:V.value.checkedRowKeys?.length||0||0,group:[[{icon:"i-tabler:x",onClick:()=>{T?.([])}}],[{label:l("components.button.export"),icon:"i-tabler:file-export",loading:j.value,onClick:D},{label:l("components.button.delete"),type:"error",icon:"i-tabler:trash"}]]},null),e.createVNode(a.NModal,{draggable:!0,class:"bg-white rounded dark:shadow-gray-950/80 dark:bg-gray-800/60 backdrop-blur min-w-110",show:u.show,onUpdateShow:r=>u.show=r},{default:({draggableClass:r})=>{let i;return e.createVNode(W.default,{title:l("components.button.filter"),handle:r,onClose:()=>u.show=!1},{default:()=>[e.createVNode(M.DuxFilterLayout,{showLabel:!0,labelPlacement:"top"},K(i=e.h(U))?i:{default:()=>[i]})]})}}),e.createVNode(a.NDrawer,{show:c.show,onUpdateShow:r=>c.show=r,autoFocus:!1,placement:"left"},{default:()=>[e.createVNode(v.DuxDrawerPage,{title:t.sideLeftTitle||l("components.button.sideLeft"),onClose:()=>c.show=!1,scrollbar:!1},{default:()=>[o?.sideLeft?.()]})]}),e.createVNode(a.NDrawer,{show:s.show,onUpdateShow:r=>s.show=r,autoFocus:!1,placement:"right"},{default:()=>[e.createVNode(v.DuxDrawerPage,{title:t.sideRightTitle||l("components.button.sideRight"),onClose:()=>s.show=!1,scrollbar:!1},{default:()=>[o?.sideRight?.()]})]})])})}});exports.DuxTableLayout=G;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("@duxweb/dvha-core"),r=require("naive-ui"),c=e.defineComponent({name:"DuxTableTools",props:{number:{type:Number},options:{type:Array},group:{type:Array},dropdown:{type:Array}},setup(t){const{t:l}=d.useI18n(),o=e.computed(()=>t.group?t.group:[t.options]),s=e.computed(()=>t.number&&t.number>0);return()=>e.createVNode("div",{class:"absolute bottom-0 left-0 right-0 pointer-events-none"},[e.createVNode(e.Transition,{name:"slide-up",appear:!0,enterActiveClass:"transition-all duration-200 ease-out",enterFromClass:"transform translate-y-full opacity-0",enterToClass:"transform translate-y-0 opacity-100",leaveActiveClass:"transition-all duration-200 ease-in",leaveFromClass:"transform translate-y-0 opacity-100",leaveToClass:"transform translate-y-full opacity-0"},{default:()=>[s.value?e.createVNode("div",{class:"flex h-12 px-1 justify-between lg:justify-center gap-2 pointer-events-auto backdrop-blur"},[o.value?.map((u,n)=>e.createVNode("div",{class:"h-10 mt-1 bg-gray-800 rounded px-4 py-1 shadow-lg flex items-center gap-4"},[n===o.value.length-1&&e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"text-gray-300"},[l("components.list.selectedItems",{num:t.number||0})]),e.createVNode("div",{class:"w-px h-4 bg-gray-600"},null)]),u?.map(a=>e.createVNode(r.NButton,{text:!0,onClick:a.onClick,class:"text-gray-300",loading:a.loading,disabled:a.disabled,type:a.type},{default:()=>a.label,icon:()=>e.createVNode("div",{class:a.icon},null)})),n===o.value.length-1&&t.dropdown&&t.dropdown.length>0&&e.createVNode(r.NDropdown,{options:t.dropdown},{default:()=>[e.createVNode(r.NButton,{text:!0,class:"text-gray-300"},{icon:()=>e.createVNode("div",{class:"i-tabler:dots-vertical size-4"},null)})]})]))]):null]})])}});exports.DuxTableTools=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),s=require("@vueuse/core"),c=require("naive-ui");require("@duxweb/dvha-core");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),s=require("@vueuse/core"),c=require("naive-ui");require("@duxweb/dvha-core");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");require("dayjs");const m=require("../../hooks/level.cjs");require("pinia");const g=i.defineComponent({name:"DuxLevel",props:{value:{type:Array,default:()=>[]},path:{type:String,default:"area"},maxLevel:{type:Number,default:4},nameField:{type:String,default:"name"},labelField:{type:String,default:"name"},valueField:{type:String,default:"value"}},emits:["update:value"],setup(e,{emit:l}){const a=s.useVModel(e,"value",l,{passive:!0,defaultValue:[]}),{regions:t,onChange:n,isLoading:q}=m.useLevel({value:a,path:e.path,nameField:e.nameField,maxLevel:e.maxLevel,labelField:e.labelField,valueField:e.valueField}),d=(r,u)=>{n(r,u)},o=i.computed(()=>Array.from({length:e.maxLevel},(r,u)=>{const v=t.value[u]||[];return{index:u,options:v,value:a.value[u]||null}}));return()=>i.createVNode("div",{class:["grid grid-cols-1 gap-2","lg:grid-cols-[repeat(auto-fit,minmax(120px,1fr))]"]},[o.value.map(r=>i.createVNode(c.NSelect,{key:r.index,value:r.value,options:r.options,clearable:!0,loading:q.value,onUpdateValue:u=>d(u,r.index)},null))])}});exports.DuxLevel=g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),u=require("@vueuse/core"),m=require("../layout/list.cjs"),y=a.defineComponent({name:"DuxCardPage",props:{colWidth:{type:Number,default:320},rows:{type:Number,default:4},maxRows:{type:Number,default:10},sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""}},extends:m.DuxListLayout,slots:Object,setup(e,{slots:o}){const h=a.ref(),{width:l}=u.useElementSize(h),{width:f}=u.useWindowSize(),w=a.computed(()=>e.colWidth||320),r=(t=0)=>{const n=t||f.value||1024,s=e.colWidth||320,d=e.rows||4,b=e.maxRows||10,c=.25*16*3,g=Math.max(1,Math.floor((n+c)/(s+c))),x=Math.floor((1920+c)/(s+c))*d,C=Math.ceil(x/g),v=Math.min(Math.max(C,d),b);return g*v},i=a.toRef(e.pagination&&typeof e.pagination=="object"?e.pagination:{page:1,pageSize:r()});u.watchDebounced([l],()=>{if(e.pagination&&typeof e.pagination=="object")return;const t=r(l.value);t!==i.value.pageSize&&(i.value.pageSize=t,i.value.page=1)},{debounce:300});const p=a.computed(()=>{const{maxRows:t,rows:n,colWidth:s,...d}=e;return{...d,pagination:i.value}});return()=>a.createVNode(m.DuxListLayout,p.value,{default:t=>a.createVNode("div",{class:"grid gap-3",style:{"grid-template-columns":`repeat(auto-fit, minmax(${w.value}px, 1fr))`}},[t.list.value.map(n=>o?.default?.({item:n,isChecked:t.isChecked,toggleChecked:t.toggleChecked}))]),actions:o.actions,tools:o.tools,bottom:o.bottom,sideLeft:o.sideLeft,sideRight:o.sideRight})}});exports.DuxCardPage=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),o=require("../layout/list.cjs"),u=i.defineComponent({name:"DuxListPage",props:{sideLeftTitle:{type:String,default:""},sideRightTitle:{type:String,default:""}},extends:o.DuxListLayout,slots:Object,setup(s,{slots:e}){const d=i.computed(()=>{const{...t}=s;return{...t}});return()=>i.createVNode(o.DuxListLayout,d.value,{default:t=>i.createVNode("div",{class:"flex flex-col gap-3"},[t.list.value.map(a=>e?.default?.({item:a,isChecked:t.isChecked,toggleChecked:t.toggleChecked}))]),actions:e.actions,tools:e.tools,bottom:e.bottom,sideLeft:e.sideLeft,sideRight:e.sideRight})}});exports.DuxListPage=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),u=require("clsx"),g=require("naive-ui"),l=require("../widget/avatar.cjs"),m=require("../widget/image.cjs");function o(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x=t.defineComponent({name:"DuxMedia",props:{title:String,avatar:Boolean,image:[String,Array],desc:[String,Array],extend:String,onClick:Function,imageWidth:{type:Number,default:42},imageHeight:{type:Number,default:42}},setup(e,{slots:a}){const c=t.computed(()=>Array.isArray(e.image)?e.image:e.image?[e.image]:[]),d=t.computed(()=>Array.isArray(e.desc)?e.desc:e.desc?[e.desc]:[]);return()=>{let n;return t.createVNode("div",{class:"flex gap-2 items-center"},[a?.image&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[a?.image?.()]),(e.avatar||c?.value.length>0)&&t.createVNode("div",{class:"flex-none flex items-center gap-2"},[e.avatar?t.createVNode(t.Fragment,null,[c.value.length>0?c.value.map((i,r)=>t.createVNode(l.DuxAvatar,{key:r,src:i,round:!0,size:e.imageWidth},null)):t.createVNode(l.DuxAvatar,{round:!0,size:e.imageWidth},null)]):t.createVNode(g.NImageGroup,null,o(n=c.value.map((i,r)=>t.createVNode(m.DuxImage,{key:r,src:i,class:"rounded",objectFit:"cover",width:e.imageWidth,height:e.imageHeight},null)))?n:{default:()=>[n]})]),t.createVNode("div",{class:"flex-1 flex-col gap-2 min-w-0 truncate items-center"},[t.createVNode("div",{class:"flex gap-2 items-center"},[a.prefix?.(),(e.title||a.default)&&t.createVNode("div",{onClick:()=>e.onClick?.(),class:u(["transition-all truncate",e?.onClick&&"hover:text-primary cursor-pointer"])},[e.title||a.default?.()])]),(d?.value.length>0||a.desc)&&t.createVNode("div",{class:"text-sm text-muted flex flex-col gap-0"},[d?.value.map?.((i,r)=>t.createVNode("div",{key:r,class:"truncate"},[i])),a.desc?.()])]),e?.extend&&t.createVNode("div",{class:"flex-none flex items-center gap-2 text-gray-7"},[e?.extend]),a?.extend&&t.createVNode("div",{class:"flex-none flex items-center gap-2 text-gray-7"},[a?.extend?.()])])}}});exports.DuxMedia=x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),s=require("@overlastic/vue"),n=require("naive-ui"),l=t.defineComponent({name:"DuxModal",props:{title:{type:String},component:{type:[Function,Object]},componentProps:Object,width:{type:[Number,String],default:500},modalProps:{type:Object},draggable:{type:Boolean,default:!0}},setup(e){const{visible:d,resolve:r,reject:a,vanish:u}=s.useExtendOverlay({duration:1e3}),o=
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),s=require("@overlastic/vue"),n=require("naive-ui"),l=t.defineComponent({name:"DuxModal",props:{title:{type:String},component:{type:[Function,Object]},componentProps:Object,width:{type:[Number,String],default:500},modalProps:{type:Object},draggable:{type:Boolean,default:!0}},setup(e){const{visible:d,resolve:r,reject:a,vanish:u}=s.useExtendOverlay({duration:1e3}),o=e?.componentProps||{};o.title=e.title,o.onConfirm=r,o.onClose=a;const i=typeof e.component=="function"?t.defineAsyncComponent(e.component):e.component;return()=>t.createVNode(n.NModal,t.mergeProps({displayDirective:"show",show:d.value,onAfterLeave:()=>{u()},onClose:()=>{a()},onEsc:()=>{a()},draggable:e.draggable,class:"bg-white rounded dark:shadow-gray-950/80 dark:bg-gray-800/60 backdrop-blur",role:"dialog","aria-modal":"true"},e.modalProps,{autoFocus:!1}),{default:({draggableClass:c})=>t.createVNode("div",{class:["max-w-full shadow-lg"],style:{width:typeof e.width=="number"?`${e.width}px`:e.width}},[t.createVNode(t.Suspense,null,{default:()=>t.createVNode(i,t.mergeProps(o,{title:e.title,handle:c}),null),fallback:()=>t.createVNode(n.NSpin,{show:!0},{default:()=>[t.createVNode("div",{class:"h-100"},null)]})})])})}});exports.DuxModal=l;exports.default=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("naive-ui"),l=e.defineComponent({name:"DuxModalPage",props:{title:{type:String,default:""},draggable:{type:Boolean,default:!1},handle:{type:String},onClose:{type:Function,default:()=>{}}},setup(t,{slots:a}){const d=e.ref();return e.watch(d,o=>{o&&e.nextTick(()=>{o.$el?.focus?.()})}),()=>e.createVNode("div",{class:"flex flex-col"},[e.createVNode("div",{class:["px-4 py-3 border-b border-muted rounded-t flex justify-between items-center bg-white dark:bg-gray-800/50",t.draggable&&"cursor-move",t.handle]},[e.createVNode("div",{class:"text-base font-bold"},[t.title]),e.createVNode("div",{class:"flex justify-end gap-2"},[e.createVNode(r.NButton,{text:!0,onClick:t.onClose,"aria-label":"close",ref:d},{icon:()=>e.createVNode("div",{class:"i-tabler:x"},null)})])]),e.createVNode("div",{class:"p-4"},[a.default?.()]),a.footer?.()&&e.createVNode("div",{class:"flex justify-end gap-2 p-3 rounded-b border-t border-muted bg-muted dark:bg-gray-800/50"},[a.footer?.()])])}});exports.default=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("naive-ui"),d=e.defineComponent({name:"ModalTab",props:{draggable:{type:Boolean,default:!1},defaultTab:{type:String,default:"0"},handle:{type:Object,default:()=>e.ref()},onClose:{type:Function,default:()=>{}}},setup(a,{slots:t}){return()=>e.createVNode("div",{class:"flex flex-col"},[e.createVNode(l.NTabs,{type:"line",defaultValue:a.defaultTab,class:"app-modal-tabs",size:"large",style:{"--n-pane-padding-right":"16px","--n-pane-padding-left":"16px"}},{default:()=>t.default?.(),prefix:()=>a.draggable?e.createVNode("div",{class:"pl-4 cursor-move flex items-center",ref:a.handle},[e.createVNode("div",{class:"i-tabler:grid-dots size-4"},null)]):null,suffix:()=>e.createVNode("div",{class:"pr-4 flex items-center"},[e.createVNode(l.NButton,{text:!0,onClick:a.onClose,"aria-label":"close"},{icon:()=>e.createVNode("div",{class:"i-tabler:x size-4"},null)})])}),t.footer?.()&&e.createVNode("div",{class:"flex justify-end gap-2 p-3 rounded-b border-t border-muted bg-muted dark:bg-gray-800/50"},[t.footer?.()])])}});exports.default=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=e.defineComponent({name:"DuxPanelAlert",props:{type:{type:String,default:"default"},title:{type:String,default:""},description:{type:String,default:""}},setup(r,{slots:t}){const a=e.computed(()=>{switch(r.type){case"error":return"to-error/20";case"warning":return"to-warning/20";case"info":return"to-info/20";case"success":return"to-success/20";default:return"to-gray/20"}});return()=>e.createVNode("div",{class:`relative flex rounded-lg ring ring-muted bg-linear-to-br from-transparent ${a.value}`},[e.createVNode("div",{class:"relative flex flex-col flex-1 lg:grid gap-x-8 gap-y-4 p-4 sm:p-6"},[e.createVNode("div",{class:"flex flex-col flex-1 items-start"},[e.createVNode("div",{class:"flex-1"},[e.createVNode("div",{class:"text-base text-pretty text-highlighted"},[t.title?.()||r.title]),e.createVNode("div",{class:"text-sm text-pretty text-muted mt-1"},[t.description?.()||r.description])]),t.actions&&e.createVNode("div",{class:"pt-4 mt-auto"},[t.actions?.()])])])])}});exports.DuxPanelAlert=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("clsx"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("clsx"),i=e.defineComponent({name:"DuxCollapsePanel",props:{title:String,desc:String,defaultShow:Boolean,highlight:Boolean},setup(t,{slots:r}){const a=e.ref(!!t.defaultShow);return()=>e.createVNode("div",{class:l(["border rounded-sm",t.highlight?"border-primary":"border-muted"])},[e.createVNode("div",{class:l(["px-4 py-3 flex justify-between items-center",t.highlight?"bg-primary/10":"bg-gray/5"])},[e.createVNode("div",{class:"flex gap-2 items-start"},[e.createVNode("div",{class:"pt-0.5"},[r.suffix?.()]),e.createVNode("div",{class:"flex flex-col"},[e.createVNode("div",{class:"font-medium text-base"},[t?.title]),t?.desc&&e.createVNode("div",{class:"text-muted"},[t.desc])])]),e.createVNode("div",{class:l(["p-2 rounded-full text-primary cursor-pointer",t.highlight?"bg-primary/10":"bg-gray/5"]),onClick:()=>a.value=!a.value},[e.createVNode("div",{class:l(["i-tabler:arrow-down size-4 transition-all",a.value?"":"rotate-180"])},null)])]),e.createVNode("div",{class:l("transition-all overflow-hidden",{"max-h-0":!a.value,"max-h-500":a.value})},[e.createVNode("div",{class:"p-4"},[r.default?.()])])])}});exports.DuxCollapsePanel=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("../card/card.cjs");require("clsx");require("naive-ui");const a=e.defineComponent({name:"DuxPanelCard",props:{title:{type:String,default:""},description:{type:String,default:""},padding:{type:String},bordered:{type:Boolean,default:!0}},setup(t,{slots:d}){return()=>e.createVNode("div",{class:"flex flex-col gap-4"},[e.createVNode("div",{class:"flex items-center px-2"},[e.createVNode("div",{class:"flex-1 flex flex-col"},[e.createVNode("div",{class:"text-base"},[t.title]),t.description&&e.createVNode("div",{class:"text-sm text-muted"},[t.description])]),e.createVNode("div",{class:"flex-none flex items-center"},[d.actions?.()])]),e.createVNode(r.DuxCard,{size:t.padding,shadow:!1,bordered:t.bordered},{default:()=>[d.default?.()]})])}});exports.DuxPanelCard=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),n=require("@vueuse/core"),f=l.defineComponent({name:"DuxSelectCard",props:{options:{type:Array,default:()=>[]},value:{type:[String,Number,Array],default:void 0},defaultValue:{type:[String,Number,Array],default:void 0},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},minWidth:{type:String,default:"150px"},maxWidth:{type:String,default:"200px"},onUpdateValue:{type:Function,default:void 0}},emits:["update:value","change"],setup(t,{emit:u}){const a=n.useVModel(t,"value",u,{passive:!0,defaultValue:t.defaultValue}),i=e=>{if(!t.disabled){if(t.multiple){const d=Array.isArray(a.value)?a.value:[];a.value=d.includes(e)?d.filter(s=>s!==e):[...d,e]}else a.value=e;t.onUpdateValue?.(a.value),u("update:value",a.value)}},r=e=>t.multiple?Array.isArray(a.value)&&a.value.includes(e):a.value===e,c=["grid gap-4","grid-cols-2",`lg:grid-cols-[repeat(auto-fit,minmax(${t.minWidth},${t.maxWidth}))]`];return()=>l.createVNode("div",{class:c},[t.options.map(e=>l.createVNode("div",{key:e.value,class:["relative cursor-pointer border rounded p-2.5 transition-all duration-200 hover:border-primary",{"border-primary bg-primary/10":r(e.value),"border-muted":!r(e.value),"opacity-50 cursor-not-allowed":e.disabled||t.disabled}],onClick:()=>!e.disabled&&i(e.value)},[r(e.value)&&l.createVNode("div",{class:"absolute top-2 right-2 size-4 bg-primary rounded-full flex items-center justify-center"},[l.createVNode("svg",{class:"size-3 text-white",fill:"currentColor",viewBox:"0 0 20 20"},[l.createVNode("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"},null)])]),l.createVNode("div",{class:["flex gap-3 px-2 items-center",{"flex-col items-center text-center":!e.icon,"flex-row items-start text-left":e.icon}]},[e.icon&&l.createVNode("div",{class:["flex items-center justify-center p-3 rounded-lg",`bg-${e.iconColor}/10`,`text-${e.iconColor}`]},[l.createVNode("div",{class:`${e.icon} size-4`},null)]),l.createVNode("div",{class:"flex flex-col flex-1"},[l.createVNode("div",{class:["text-sm font-medium",{"text-primary":r(e.value),"text-default":!r(e.value)}]},[e.label]),e.description&&l.createVNode("div",{class:["text-sm",{"text-primary":r(e.value),"text-muted":!r(e.value)}]},[e.description])])])]))])}});exports.DuxSelectCard=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 e=require("vue"),s=require("@duxweb/dvha-core"),o=require("../draw/drawEmptyForm.cjs"),c=e.defineComponent({name:"DuxListEmpty",props:{title:String,desc:String,bordered:Boolean},setup(t){const{t:r}=s.useI18n();return()=>e.createVNode("div",{class:"flex flex-col items-center justify-center gap-2 h-full"},[e.createVNode(o.DuxDrawEmptyForm,{class:"max-h-120px"},null),e.createVNode("div",{class:"text-lg text-default font-bold"},[t?.title||r("pages.empty.title")]),e.createVNode("div",{class:"text-muted"},[t?.desc||r("pages.empty.desc")])])}});exports.DuxListEmpty=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@duxweb/dvha-core"),c=require("@vueuse/core"),u=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const d=require("../status/listEmpty.cjs");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@duxweb/dvha-core"),c=require("@vueuse/core"),u=require("naive-ui");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");const d=require("../status/listEmpty.cjs");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../image/elements/index.cjs");require("fabric");require("mime");require("dayjs");require("@tanstack/vue-query");const f=require("../../hooks/table.cjs");require("pinia");const p=e.defineComponent({name:"DuxTable",props:{path:{type:String,required:!0},filter:{type:Object},columns:{type:Array},pagination:{type:[Boolean,Object],default:!0}},extends:u.NDataTable,setup(i){const a=e.computed(()=>{const{path:r,filter:b,columns:m,pagination:g,...q}=i;return q}),n=e.toRef(i.filter||{}),t=f.useTable({path:i.path,filters:n.value,columns:i.columns||[],pagination:i.pagination}),{width:l}=c.useWindowSize(),{t:o}=s.useI18n();return()=>e.createVNode("div",{class:"flex flex-col gap-2"},[e.createVNode(u.NDataTable,e.mergeProps(a.value,t.table.value,{class:"flex-1 min-h-0",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:r=>r.id,bordered:!1,renderCell:r=>r==null||r===""?"-":r}),{empty:()=>e.createVNode(d.DuxListEmpty,{bordered:!1},null)}),i.pagination&&e.createVNode("div",{class:"flex justify-end"},[e.createVNode(u.NPagination,e.mergeProps(t.tablePagination.value,{simple:l.value<768}),{prefix:()=>e.createVNode("div",null,[o("components.list.total",{total:t.total.value||0})])})])])}});exports.DuxTable=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),u=require("naive-ui"),i=require("../layout/table.cjs");require("@duxweb/dvha-core");require("clsx");const n=require("../status/listEmpty.cjs"),s=t.defineComponent({name:"DuxTablePage",props:{tableProps:{type:Object}},extends:i.DuxTableLayout,slots:Object,setup(a,{slots:r}){const l=t.computed(()=>{const{tableProps:o,...e}=a;return e});return()=>t.createVNode(i.DuxTableLayout,l.value,{default:o=>t.createVNode(u.NDataTable,t.mergeProps(o.table.value,a.tableProps,{class:"h-full",minHeight:200,tableLayout:"fixed",flexHeight:!0,rowKey:e=>e.id,bordered:!1,scrollX:o.width,renderCell:e=>e==null||e===""?"-":e}),{empty:()=>t.createVNode(n.DuxListEmpty,{bordered:!1},null)}),bottom:r?.bottom,tools:r?.tools,actions:r?.actions,sideLeft:r?.sideLeft,sideRight:r?.sideRight})}});exports.DuxTablePage=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),y=require("@duxweb/dvha-core"),B=require("@vueuse/core"),L=require("clsx"),s=require("naive-ui"),_=require("../card/card.cjs"),z=t.defineComponent({name:"DuxTreeFilter",props:{title:String,path:String,sortPath:String,params:Object,menus:Array,numField:String,iconField:String,treeOptions:Object,value:Array,defaultValue:Array,onUpdateValue:Function,draggable:Boolean,bordered:{type:Boolean,default:!1}},extends:s.NTree,setup(l,{emit:P,slots:p}){const N=B.useVModel(l,"value",P,{passive:!1,defaultValue:l.defaultValue}),D=t.toRef(l,"params",{}),O=t.toRef(l,"path",""),T=t.toRef(l,"sortPath",""),S=t.ref(),F=t.ref(0),g=t.ref(0),c=t.ref([]),b=t.ref(),{t:k}=y.useI18n(),{options:C,loading:U,expanded:q}=y.useTree({path:O.value,params:D.value,...l.treeOptions});t.watch(C,e=>{c.value=e},{immediate:!0,deep:!0});const v=t.ref(!1),I=t.computed(()=>l.menus?.map(e=>({label:e.label,key:e.value,icon:e?.icon?()=>t.createVNode("div",{class:e?.icon},null):void 0,onSelect:e.onSelect}))||[]),K=e=>{const a=l.menus?.find(n=>n.value===e);a&&a.onSelect(S.value),v.value=!1},j=y.useCustomMutation({path:T.value,method:"POST"}),V=(e,a)=>{for(const n of e)if(n.children){for(const m of n.children)if(m.id===a)return n;const d=V(n.children,a);if(d)return d}},A=({node:e,dragNode:a,dropPosition:n})=>{const d=V(c.value,a.id),m=!d,f=[...c.value];if(m){const r=c.value.findIndex(w=>w.id===a.id);r>=0&&f.splice(r,1)}else{const r=d?.children?.indexOf(a)||0;d?.children?.splice(r,1)}let u=V(f,e.id),x,o=u?.children||f,i=0;switch(n){case"before":i=o.findIndex(r=>r.id===e.id),i>0&&(x=o[i-1].id);break;case"inside":u=e,o=u.children=u.children||[],i=o.length;break;case"after":i=o.findIndex(r=>r.id===e.id)+1,x=e.id;break}o.splice(i,0,a),c.value=f,j.mutate({payload:{parent_id:u?.id,before_id:x,id:a.id}})},h=t.ref([]);t.watch(q,e=>{h?.value?.length>0||(h.value=e)},{immediate:!0});const M=t.computed(()=>{const{title:e,path:a,sortPath:n,params:d,menus:m,numField:f,iconField:u,treeOptions:x,value:o,defaultValue:i,onUpdateValue:r,bordered:w,...R}=l;return R});return()=>t.createVNode(_.DuxCard,{class:"h-full",contentClass:"flex flex-col",bordered:l.bordered},{default:()=>[l?.title&&t.createVNode("div",{class:"px-2 py-3 pb-1 text-base font-bold"},[l.title]),t.createVNode("div",{class:"p-2 flex gap-2 items-center"},[t.createVNode("div",{class:"flex-1"},[p.header?p.header():t.createVNode(s.NInput,{value:b.value,"onUpdate:value":e=>b.value=e,placeholder:k("common.keyword")},null)]),p.tools?.()]),t.createVNode(s.NScrollbar,{class:"flex-1 min-h-0",xScrollable:!0},{default:()=>[t.createVNode("div",{class:"p-2"},[t.createVNode(s.NSpin,{show:U.value,class:"h-full"},{default:()=>[t.createVNode(s.NTree,t.mergeProps(M.value,{data:c.value||[],expandedKeys:h.value,onUpdateExpandedKeys:e=>{h.value=e},blockLine:!0,selectedKeys:N.value,onUpdateSelectedKeys:e=>{N.value=e,l?.onUpdateValue?.(e)},onDrop:A,pattern:b.value,renderPrefix:l?.numField||l?.iconField?({option:e})=>t.createVNode(t.Fragment,null,[l.iconField&&e[l.iconField]&&t.createVNode("div",{class:L(e[l.iconField]||"","size-4")},null),l.numField&&t.createVNode("div",{class:"rounded-full bg-primary px-2 text-xs text-white"},[e[l.numField]||0])]):void 0,nodeProps:({option:e})=>({onContextmenu:a=>{S.value=e,v.value=!0,F.value=a.clientX,g.value=a.clientY,a.preventDefault()}})}),null)]})])]}),t.createVNode(s.NDropdown,{trigger:"manual",placement:"bottom-start",show:v.value,options:I.value,x:F.value,y:g.value,width:100,onSelect:K,onClickoutside:()=>{v.value=!1}},null)]})}});exports.DuxTreeFilter=z;
|