@vipl520/dk-ui 1.0.15 → 1.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/dist/index.js +13 -8
  2. package/dist/index.min.js +7 -7
  3. package/dist/index.min.js.map +1 -1
  4. package/dist/index.min.mjs +7 -7
  5. package/dist/index.min.mjs.map +1 -1
  6. package/dist/index.mjs +10 -5
  7. package/dist/web-types.json +1 -1
  8. package/es/hot-area-input/src/component/hot-area-content.vue2.mjs +3 -3
  9. package/es/hot-area-input/src/component/hot-area-content.vue2.mjs.map +1 -1
  10. package/es/index.mjs +3 -1
  11. package/es/index.mjs.map +1 -1
  12. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +1 -0
  13. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs +1 -0
  14. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs.map +1 -1
  15. package/es/page-diy/src/config/rule/min/common/index.d.ts +2 -0
  16. package/es/page-diy/src/config/rule/min/index.d.ts +2 -0
  17. package/es/page-diy/src/views/web/DkViewTabbar.vue.d.ts +1 -1
  18. package/es/poster-input/src/component/poster.vue2.mjs +5 -4
  19. package/es/poster-input/src/component/poster.vue2.mjs.map +1 -1
  20. package/lib/hot-area-input/src/component/hot-area-content.vue2.js +2 -2
  21. package/lib/hot-area-input/src/component/hot-area-content.vue2.js.map +1 -1
  22. package/lib/index.js +3 -1
  23. package/lib/index.js.map +1 -1
  24. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +1 -0
  25. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js +1 -0
  26. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js.map +1 -1
  27. package/lib/page-diy/src/config/rule/min/common/index.d.ts +2 -0
  28. package/lib/page-diy/src/config/rule/min/index.d.ts +2 -0
  29. package/lib/page-diy/src/views/web/DkViewTabbar.vue.d.ts +1 -1
  30. package/lib/poster-input/src/component/poster.vue2.js +4 -3
  31. package/lib/poster-input/src/component/poster.vue2.js.map +1 -1
  32. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -7,8 +7,8 @@ import { Icon as Icon$1, disableCache, listIcons } from '@iconify/vue';
7
7
  import * as ElementPlusIconsVue from '@element-plus/icons-vue';
8
8
  import { Search, CircleClose } from '@element-plus/icons-vue';
9
9
  import icons from '@vant/icons';
10
- import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable';
11
10
  import formCreate from '@form-create/element-ui';
11
+ import Vue3DraggableResizable from 'vue3-draggable-resizable';
12
12
 
13
13
  const isObject$3 = (val) => val !== null && typeof val === "object";
14
14
  const isDef$1 = (val) => val !== void 0 && val !== null;
@@ -10811,6 +10811,7 @@ var _sfc_main$11 = /* @__PURE__ */ defineComponent({
10811
10811
  });
10812
10812
  };
10813
10813
  return (_ctx, _cache) => {
10814
+ const _component_vue3_draggable_resizable = resolveComponent("vue3-draggable-resizable");
10814
10815
  const _component_el_empty = resolveComponent("el-empty");
10815
10816
  const _component_dk_image_input = resolveComponent("dk-image-input");
10816
10817
  const _component_el_form_item = resolveComponent("el-form-item");
@@ -10836,7 +10837,7 @@ var _sfc_main$11 = /* @__PURE__ */ defineComponent({
10836
10837
  Fragment,
10837
10838
  null,
10838
10839
  renderList(hotData.views, (item, key) => {
10839
- return openBlock(), createBlock(unref(Vue3DraggableResizable), {
10840
+ return openBlock(), createBlock(_component_vue3_draggable_resizable, {
10840
10841
  key,
10841
10842
  ref_for: true,
10842
10843
  ref: "draggables",
@@ -20535,6 +20536,7 @@ var DkMinSwiperImage$1 = {
20535
20536
  show: true
20536
20537
  }
20537
20538
  ],
20539
+ height: 160,
20538
20540
  autoplay: 2e3
20539
20541
  },
20540
20542
  showStyle: true
@@ -32223,6 +32225,8 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
32223
32225
  });
32224
32226
  return (_ctx, _cache) => {
32225
32227
  const _component_el_empty = resolveComponent("el-empty");
32228
+ const _component_vue3_draggable_resizable = resolveComponent("vue3-draggable-resizable");
32229
+ const _component_DraggableContainer = resolveComponent("DraggableContainer");
32226
32230
  const _component_el_switch = resolveComponent("el-switch");
32227
32231
  const _component_el_form_item = resolveComponent("el-form-item");
32228
32232
  const _component_el_form = resolveComponent("el-form");
@@ -32253,7 +32257,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
32253
32257
  description: "\u8BF7\u4E0A\u4F20\u4E00\u5F20\u80CC\u666F\u56FE",
32254
32258
  style: { "position": "absolute", "width": "100%", "height": "80%", "user-select": "none" }
32255
32259
  })) : createCommentVNode("v-if", true),
32256
- createVNode(unref(DraggableContainer), {
32260
+ createVNode(_component_DraggableContainer, {
32257
32261
  ref_key: "draggableContainer",
32258
32262
  ref: draggableContainer,
32259
32263
  "reference-line-visible": formTools.refLine,
@@ -32266,7 +32270,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
32266
32270
  Fragment,
32267
32271
  null,
32268
32272
  renderList(posterData.views, (item, key) => {
32269
- return openBlock(), createBlock(unref(Vue3DraggableResizable), {
32273
+ return openBlock(), createBlock(_component_vue3_draggable_resizable, {
32270
32274
  key,
32271
32275
  ref_for: true,
32272
32276
  ref_key: "draggables",
@@ -32743,7 +32747,8 @@ const components = [
32743
32747
  // 海报选择器
32744
32748
  PosterInput,
32745
32749
  // 海报
32746
- Poster
32750
+ Poster,
32751
+ Vue3DraggableResizable
32747
32752
  // TODO 普通上传 upload
32748
32753
  // TODO tag选择器 tag-input
32749
32754
  // TODO 链接选择器 link-input
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "framework": "vue",
4
4
  "name": "dk",
5
- "version": "1.0.14",
5
+ "version": "1.0.16",
6
6
  "js-types-syntax": "typescript",
7
7
  "description-markup": "markdown",
8
8
  "contributions": {
@@ -1,5 +1,4 @@
1
- import { createElementVNode, defineComponent, ref, reactive, onMounted, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, withModifiers, Fragment, renderList, createBlock, unref, withCtx, toDisplayString, createVNode, createTextVNode } from 'vue';
2
- import Vue3DraggableResizable from 'vue3-draggable-resizable';
1
+ import { createElementVNode, defineComponent, ref, reactive, onMounted, watch, resolveComponent, openBlock, createElementBlock, normalizeStyle, withModifiers, Fragment, renderList, createBlock, withCtx, toDisplayString, createVNode, createTextVNode } from 'vue';
3
2
 
4
3
  const _hoisted_1 = { class: "hot-area-content" };
5
4
  const _hoisted_2 = { class: "hot-area-draggable" };
@@ -110,6 +109,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
110
109
  });
111
110
  };
112
111
  return (_ctx, _cache) => {
112
+ const _component_vue3_draggable_resizable = resolveComponent("vue3-draggable-resizable");
113
113
  const _component_el_empty = resolveComponent("el-empty");
114
114
  const _component_dk_image_input = resolveComponent("dk-image-input");
115
115
  const _component_el_form_item = resolveComponent("el-form-item");
@@ -135,7 +135,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
135
135
  Fragment,
136
136
  null,
137
137
  renderList(hotData.views, (item, key) => {
138
- return openBlock(), createBlock(unref(Vue3DraggableResizable), {
138
+ return openBlock(), createBlock(_component_vue3_draggable_resizable, {
139
139
  key,
140
140
  ref_for: true,
141
141
  ref: "draggables",
@@ -1 +1 @@
1
- {"version":3,"file":"hot-area-content.vue2.mjs","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div class=\"hot-item-content\" style=\"position: relative; width: 100%; height: 100%; background: #0003\">\n {{ key + 1 }}\n </div>\n </vue3-draggable-resizable>\n </div>\n <div v-else style=\"width: 500px; height: 500px\">\n <el-empty description=\"请上传图片\"></el-empty>\n </div>\n </div>\n <div class=\"hot-area-form\">\n <h3 style=\"margin-top: 0; font-size: 16px; font-weight: 500\">热区管理</h3>\n <el-form label-width=\"80px\" label-position=\"left\">\n <el-form-item label=\"背景图 \">\n <dk-image-input v-model=\"hotData.background\" />\n </el-form-item>\n <el-form-item v-for=\"(item, key) in hotData.views\" :key=\"key\" :label=\"'热区' + (key + 1)\">\n <el-input v-model=\"hotData.views[key].url\" placeholder=\"填写跳转地址\">\n <template #append>\n <el-button @click=\"delView(key)\">删除</el-button>\n </template>\n </el-input>\n </el-form-item>\n </el-form>\n <el-button :disabled=\"!hotData.background\" type=\"primary\" @click=\"addView()\">{{\n hotData.background ? '添加热区' : '请先上传图片'\n }}</el-button>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport { reactive, ref, watch, onMounted } from 'vue'\n\n\nconst props = defineProps({\n hotDataValue: {\n default: () => {\n return {\n views: [],\n width: 400,\n height: 400,\n background: null,\n }\n },\n type: Object,\n },\n})\nconst index = ref(0)\nconst hotData = reactive(props.hotDataValue)\nconst addView = () => {\n // 这里hotData可以能没有views,如果没有就添加上views\n if (!Array.isArray(hotData.views)) {\n hotData.views = []\n }\n hotData.views.push({\n css: {\n left: 0,\n top: 0,\n width: 80,\n height: 80,\n borderRadius: 0,\n borderColor: '#fff',\n },\n url: '',\n })\n}\n\nconst delView = (indexToDelete: any) => {\n if (indexToDelete >= 0 && indexToDelete < hotData.views.length) {\n hotData.views.splice(indexToDelete, 1)\n }\n}\n\nconst onDrag = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\n\nonMounted(() => {\n resetSize()\n})\n\nwatch(\n () => hotData?.background,\n () => {\n resetSize()\n }\n)\n\nconst resetSize = () => {\n if (hotData.background) {\n getImageSize(hotData.background)\n .then((image: any) => {\n hotData.width = 500\n hotData.height = (image.height * 500) / image.width\n setTimeout(() => {\n // checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":"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"}
1
+ {"version":3,"file":"hot-area-content.vue2.mjs","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div class=\"hot-item-content\" style=\"position: relative; width: 100%; height: 100%; background: #0003\">\n {{ key + 1 }}\n </div>\n </vue3-draggable-resizable>\n </div>\n <div v-else style=\"width: 500px; height: 500px\">\n <el-empty description=\"请上传图片\"></el-empty>\n </div>\n </div>\n <div class=\"hot-area-form\">\n <h3 style=\"margin-top: 0; font-size: 16px; font-weight: 500\">热区管理</h3>\n <el-form label-width=\"80px\" label-position=\"left\">\n <el-form-item label=\"背景图 \">\n <dk-image-input v-model=\"hotData.background\" />\n </el-form-item>\n <el-form-item v-for=\"(item, key) in hotData.views\" :key=\"key\" :label=\"'热区' + (key + 1)\">\n <el-input v-model=\"hotData.views[key].url\" placeholder=\"填写跳转地址\">\n <template #append>\n <el-button @click=\"delView(key)\">删除</el-button>\n </template>\n </el-input>\n </el-form-item>\n </el-form>\n <el-button :disabled=\"!hotData.background\" type=\"primary\" @click=\"addView()\">{{\n hotData.background ? '添加热区' : '请先上传图片'\n }}</el-button>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\n// import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport { reactive, ref, watch, onMounted } from 'vue'\n\n\nconst props = defineProps({\n hotDataValue: {\n default: () => {\n return {\n views: [],\n width: 400,\n height: 400,\n background: null,\n }\n },\n type: Object,\n },\n})\nconst index = ref(0)\nconst hotData = reactive(props.hotDataValue)\nconst addView = () => {\n // 这里hotData可以能没有views,如果没有就添加上views\n if (!Array.isArray(hotData.views)) {\n hotData.views = []\n }\n hotData.views.push({\n css: {\n left: 0,\n top: 0,\n width: 80,\n height: 80,\n borderRadius: 0,\n borderColor: '#fff',\n },\n url: '',\n })\n}\n\nconst delView = (indexToDelete: any) => {\n if (indexToDelete >= 0 && indexToDelete < hotData.views.length) {\n hotData.views.splice(indexToDelete, 1)\n }\n}\n\nconst onDrag = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\n\nonMounted(() => {\n resetSize()\n})\n\nwatch(\n () => hotData?.background,\n () => {\n resetSize()\n }\n)\n\nconst resetSize = () => {\n if (hotData.background) {\n getImageSize(hotData.background)\n .then((image: any) => {\n hotData.width = 500\n hotData.height = (image.height * 500) / image.width\n setTimeout(() => {\n // checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":"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"}
package/es/index.mjs CHANGED
@@ -31,6 +31,7 @@ import { Table } from './table/index.mjs';
31
31
  import { Select } from './select/index.mjs';
32
32
  import { PosterInput, Poster } from './poster-input/index.mjs';
33
33
  import { directives, setGlobalConfig } from '@vipl520/utils';
34
+ import Vue3DraggableResizable from 'vue3-draggable-resizable';
34
35
  export { tinyEditorProps } from './tiny-editor/src/props.mjs';
35
36
  export { iconProps } from './icon/src/props.mjs';
36
37
  export { groupProps } from './group/src/props.mjs';
@@ -134,7 +135,8 @@ const components = [
134
135
  // 海报选择器
135
136
  PosterInput,
136
137
  // 海报
137
- Poster
138
+ Poster,
139
+ Vue3DraggableResizable
138
140
  // TODO 普通上传 upload
139
141
  // TODO tag选择器 tag-input
140
142
  // TODO 链接选择器 link-input
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { Test } from './test'\nimport { Group } from './group'\nimport { TinyEditor } from './tiny-editor'\nimport { Icon } from './icon'\nimport { ColorInput } from './color-input'\nimport { HotAreaInput } from './hot-area-input'\nimport { Dialog } from './dialog'\nimport { Form } from './form'\nimport { Attachment } from './attachment'\nimport { AttachmentDialog } from './attachment-dialog'\nimport { FileInput } from './file-input'\nimport { ImageInput } from './image-input'\nimport { AudioInput } from './audio-input'\nimport { VideoInput } from './video-input'\nimport { FileListInput } from './file-list-input'\nimport { ImageListInput } from './image-list-input'\nimport { AudioListInput } from './audio-list-input'\nimport { VideoListInput } from './video-list-input'\nimport { IconInput, IconContent, IconDialog } from './icon-input'\nimport { StyleInput } from './style-input'\nimport { BoxSizeInput } from './box-size-input'\nimport { StyleBoxInput } from './style-box-input'\nimport { StyleFontInput } from './style-font-input'\nimport { StyleBorderInput } from './style-border-input'\nimport { StyleBackgroundInput } from './style-background-input'\nimport { StyleShadowContent, StyleShadowInput } from './style-shadow-input'\nimport { StylePositionInput } from './style-position-input'\nimport { StyleNumberInput } from './style-number-input'\nimport { PageDiy } from './page-diy'\nimport { Table } from './table'\nimport { Select } from './select'\nimport { Poster, PosterInput } from './poster-input'\nimport { setGlobalConfig, directives } from '@vipl520/utils'\n\nexport * from './tiny-editor'\nexport * from './icon'\nexport * from './group'\nexport * from './color-input'\nexport * from './hot-area-input'\nexport * from './form'\nexport * from './attachment'\nexport * from './attachment-dialog'\nexport * from './file-input'\nexport * from './image-input'\nexport * from './audio-input'\nexport * from './video-input'\nexport * from './file-list-input'\nexport * from './image-list-input'\nexport * from './audio-list-input'\nexport * from './video-list-input'\nexport * from './icon-input'\nexport * from './page-diy'\nexport * from './box-size-input'\nexport * from './test'\nexport * from './style-input'\nexport * from './style-box-input'\nexport * from './style-font-input'\nexport * from './style-border-input'\nexport * from './style-shadow-input'\nexport * from './style-background-input'\nexport * from './style-position-input'\nexport * from './style-number-input'\nexport * from './table'\nexport * from './select'\nexport * from './poster-input'\n\nconst components = [\n Test,\n Group,\n // 富文本编辑器\n TinyEditor,\n // 图标\n Icon,\n // 颜色选择器\n ColorInput,\n // 热区选择器\n HotAreaInput,\n // 对话框\n Dialog,\n // json表单\n Form,\n // 附件\n Attachment,\n // 附件弹窗\n AttachmentDialog,\n // 文件选择器\n FileInput,\n // 图片选择器\n ImageInput,\n // 音频选择器\n AudioInput,\n // 视频选择器\n VideoInput,\n // 多文件选择器\n FileListInput,\n // 多图片选择器\n ImageListInput,\n // 多音频选择器\n AudioListInput,\n // 多视频选择器\n VideoListInput,\n // 图标选择器\n IconInput,\n // 图标展示框\n IconContent,\n // 图片弹出框\n IconDialog,\n // DIY编辑器\n PageDiy,\n // 尺寸输入框(带px/%/rem/等单位)\n BoxSizeInput,\n // DIV盒子编辑器(padding/margin/width/height)\n StyleBoxInput,\n // 文字样式编辑器\n StyleFontInput,\n // 边框样式编辑器\n StyleBorderInput,\n // 阴影编辑器\n StyleShadowInput,\n // 阴影编辑框\n StyleShadowContent,\n // 背景编辑器\n StyleBackgroundInput,\n // 合并样式编辑\n StyleInput,\n // 定位编辑器\n StylePositionInput,\n // 样式文字\n StyleNumberInput,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\n // TODO 海报编辑器 poster-input\n // TODO Layout布局组件 layout\n // TODO 应用信息组件 addon-info\n // TODO 用户信息组件 user-info\n // TODO 全局Hook组件 global-hook\n // TODO 前端DIY匹配\n // TODO 开发者工具(自动CRUD)\n // TODO 应用框架\n]\n\nexport const install = (app: App, option: any = {}) => {\n components.forEach((item) => {\n if (item.install!) {\n app.use(item)\n } else if (item.name) {\n app.component(item.name, item)\n }\n })\n directives(app)\n setGlobalConfig(option)\n}\n\nexport default {\n install,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAM,UAAa,GAAA;AAAA,EACjB,IAAA;AAAA,EACA,KAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,IAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,YAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA,EAEA,IAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAEA,YAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,kBAAA;AAAA;AAAA,EAEA,oBAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,kBAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,KAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA;AAAA,EAGA,WAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYF,CAAA,CAAA;AAEO,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,MAAA,GAAc,EAAO,KAAA;AACrD,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC3B,IAAA,IAAI,KAAK,OAAU,EAAA;AACjB,MAAA,GAAA,CAAI,IAAI,IAAI,CAAA,CAAA;AAAA,KACd,MAAA,IAAW,KAAK,IAAM,EAAA;AACpB,MAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,KAC/B;AAAA,GACD,CAAA,CAAA;AACD,EAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AACd,EAAA,eAAA,CAAgB,MAAM,CAAA,CAAA;AACxB,EAAA;AAEA,YAAe;AAAA,EACb,OAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { Test } from './test'\nimport { Group } from './group'\nimport { TinyEditor } from './tiny-editor'\nimport { Icon } from './icon'\nimport { ColorInput } from './color-input'\nimport { HotAreaInput } from './hot-area-input'\nimport { Dialog } from './dialog'\nimport { Form } from './form'\nimport { Attachment } from './attachment'\nimport { AttachmentDialog } from './attachment-dialog'\nimport { FileInput } from './file-input'\nimport { ImageInput } from './image-input'\nimport { AudioInput } from './audio-input'\nimport { VideoInput } from './video-input'\nimport { FileListInput } from './file-list-input'\nimport { ImageListInput } from './image-list-input'\nimport { AudioListInput } from './audio-list-input'\nimport { VideoListInput } from './video-list-input'\nimport { IconInput, IconContent, IconDialog } from './icon-input'\nimport { StyleInput } from './style-input'\nimport { BoxSizeInput } from './box-size-input'\nimport { StyleBoxInput } from './style-box-input'\nimport { StyleFontInput } from './style-font-input'\nimport { StyleBorderInput } from './style-border-input'\nimport { StyleBackgroundInput } from './style-background-input'\nimport { StyleShadowContent, StyleShadowInput } from './style-shadow-input'\nimport { StylePositionInput } from './style-position-input'\nimport { StyleNumberInput } from './style-number-input'\nimport { PageDiy } from './page-diy'\nimport { Table } from './table'\nimport { Select } from './select'\nimport { Poster, PosterInput } from './poster-input'\nimport { setGlobalConfig, directives } from '@vipl520/utils'\nimport Vue3DraggableResizable from 'vue3-draggable-resizable'\nexport * from './tiny-editor'\nexport * from './icon'\nexport * from './group'\nexport * from './color-input'\nexport * from './hot-area-input'\nexport * from './form'\nexport * from './attachment'\nexport * from './attachment-dialog'\nexport * from './file-input'\nexport * from './image-input'\nexport * from './audio-input'\nexport * from './video-input'\nexport * from './file-list-input'\nexport * from './image-list-input'\nexport * from './audio-list-input'\nexport * from './video-list-input'\nexport * from './icon-input'\nexport * from './page-diy'\nexport * from './box-size-input'\nexport * from './test'\nexport * from './style-input'\nexport * from './style-box-input'\nexport * from './style-font-input'\nexport * from './style-border-input'\nexport * from './style-shadow-input'\nexport * from './style-background-input'\nexport * from './style-position-input'\nexport * from './style-number-input'\nexport * from './table'\nexport * from './select'\nexport * from './poster-input'\n\nconst components = [\n Test,\n Group,\n // 富文本编辑器\n TinyEditor,\n // 图标\n Icon,\n // 颜色选择器\n ColorInput,\n // 热区选择器\n HotAreaInput,\n // 对话框\n Dialog,\n // json表单\n Form,\n // 附件\n Attachment,\n // 附件弹窗\n AttachmentDialog,\n // 文件选择器\n FileInput,\n // 图片选择器\n ImageInput,\n // 音频选择器\n AudioInput,\n // 视频选择器\n VideoInput,\n // 多文件选择器\n FileListInput,\n // 多图片选择器\n ImageListInput,\n // 多音频选择器\n AudioListInput,\n // 多视频选择器\n VideoListInput,\n // 图标选择器\n IconInput,\n // 图标展示框\n IconContent,\n // 图片弹出框\n IconDialog,\n // DIY编辑器\n PageDiy,\n // 尺寸输入框(带px/%/rem/等单位)\n BoxSizeInput,\n // DIV盒子编辑器(padding/margin/width/height)\n StyleBoxInput,\n // 文字样式编辑器\n StyleFontInput,\n // 边框样式编辑器\n StyleBorderInput,\n // 阴影编辑器\n StyleShadowInput,\n // 阴影编辑框\n StyleShadowContent,\n // 背景编辑器\n StyleBackgroundInput,\n // 合并样式编辑\n StyleInput,\n // 定位编辑器\n StylePositionInput,\n // 样式文字\n StyleNumberInput,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n Vue3DraggableResizable,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\n // TODO 海报编辑器 poster-input\n // TODO Layout布局组件 layout\n // TODO 应用信息组件 addon-info\n // TODO 用户信息组件 user-info\n // TODO 全局Hook组件 global-hook\n // TODO 前端DIY匹配\n // TODO 开发者工具(自动CRUD)\n // TODO 应用框架\n]\n\nexport const install = (app: App, option: any = {}) => {\n components.forEach((item) => {\n if (item.install!) {\n app.use(item)\n } else if (item.name) {\n app.component(item.name, item)\n }\n })\n directives(app)\n setGlobalConfig(option)\n}\n\nexport default {\n install,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAM,UAAa,GAAA;AAAA,EACjB,IAAA;AAAA,EACA,KAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,IAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,YAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA,EAEA,IAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAEA,YAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,kBAAA;AAAA;AAAA,EAEA,oBAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,kBAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,KAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA;AAAA,EAGA,WAAA;AAAA;AAAA,EAEA,MAAA;AAAA,EACA,sBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYF,CAAA,CAAA;AAEO,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,MAAA,GAAc,EAAO,KAAA;AACrD,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC3B,IAAA,IAAI,KAAK,OAAU,EAAA;AACjB,MAAA,GAAA,CAAI,IAAI,IAAI,CAAA,CAAA;AAAA,KACd,MAAA,IAAW,KAAK,IAAM,EAAA;AACpB,MAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,KAC/B;AAAA,GACD,CAAA,CAAA;AACD,EAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AACd,EAAA,eAAA,CAAgB,MAAM,CAAA,CAAA;AACxB,EAAA;AAEA,YAAe;AAAA,EACb,OAAA;AACF,CAAA;;;;"}
@@ -11,6 +11,7 @@ declare namespace _default {
11
11
  title: string;
12
12
  show: boolean;
13
13
  }[];
14
+ height: number;
14
15
  autoplay: number;
15
16
  };
16
17
  showStyle: boolean;
@@ -28,6 +28,7 @@ var DkMinSwiperImage = {
28
28
  show: true
29
29
  }
30
30
  ],
31
+ height: 160,
31
32
  autoplay: 2e3
32
33
  },
33
34
  showStyle: true
@@ -1 +1 @@
1
- {"version":3,"file":"DkMinSwiperImage.mjs","sources":["../../../../../../../src/page-diy/src/config/rule/min/common/DkMinSwiperImage.js"],"sourcesContent":["const label = '轮播图'\nconst name = 'DkMinSwiperImage'\n\nexport default {\n icon: 'dashicons:images-alt2',\n label,\n name,\n rule() {\n return {\n type: name,\n props: {\n swipeList: [\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/06/FsivVhWrSJsQWx0GhgOJKS_IOQp_.jpg?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称1',\n show: true,\n },\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/07/Fm30KtbmHzLJ96USZWFGI8FLQVss.png?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称2',\n show: true,\n },\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/01/Fj19dCrgsMyTYdrr89b9iheMVFZU.png?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称3',\n show: true,\n },\n ],\n autoplay: 2000,\n },\n showStyle: true,\n }\n },\n props() {\n return [\n {\n type: 'inputNumber',\n field: 'height',\n title: '图片高度',\n value: 200,\n props: { min: 0, max: 500 },\n },\n {\n type: 'select',\n field: 'imgMode',\n title: '裁剪缩放模式',\n value: 'aspectFill',\n options: [\n {\n label: 'scaleToFill:宽高完全拉伸至填满',\n value: 'scaleToFill',\n },\n {\n label: 'aspectFit:长边能完全显示出来',\n value: 'aspectFit',\n },\n {\n label: 'aspectFill:短边能完全显示出来',\n value: 'aspectFill',\n },\n { label: 'widthFix:宽度不变,高度自动变化', value: 'widthFix' },\n {\n label: 'heightFix:高度不变,宽度自动变化',\n value: 'heightFix',\n },\n {\n label: 'top:只显示图片的顶部区域',\n value: 'top',\n },\n {\n label: 'bottom:只显示图片的底部区域',\n value: 'bottom',\n },\n {\n label: 'center:只显示图片的中间区域',\n value: 'center',\n },\n {\n label: 'left:只显示图片的左边区域',\n value: 'left',\n },\n {\n label: 'right:只显示图片的右边区域',\n value: 'right',\n },\n {\n label: 'top left:只显示图片的左上边区域',\n value: 'top left',\n },\n {\n label: 'top right:只显示图片的右上边区域',\n value: 'top right',\n },\n {\n label: 'bottom left:只显示图片的左下边区域',\n value: 'bottom left',\n },\n {\n label: 'bottom right:只显示图片的右下边区域',\n value: 'bottom right',\n },\n ],\n effect: {\n help: '小程序图片的缩放剪裁模式,目前无法直接预览,可以参考:https://uniapp.dcloud.net.cn/component/image.html',\n },\n },\n\n {\n type: 'slider',\n field: 'autoplay',\n title: '轮播间隔',\n value: 3000,\n props: {\n min: 500,\n max: 10000,\n step: 100,\n formatTooltip: (val) => {\n return val / 1000 + '秒'\n },\n },\n },\n {\n type: 'switch',\n field: 'showTitle',\n title: '显示标题',\n value: false,\n },\n {\n type: 'DkGroup',\n field: 'swipeList',\n value: [],\n props: {\n title: '图片配置',\n // addTitle:'',\n defaultValue: {\n img: 'https://cdn.w7.cc/images/2019/03/25/j0C525ySgwApwp1gmIRUdDS6ZXL8lOrbxoiM6JZb.png',\n url: '',\n title: '新内容',\n },\n rule: [\n {\n type: 'input',\n field: 'title',\n value: '',\n title: '备注名称',\n },\n {\n type: 'DkImageInput',\n field: 'img',\n value: '',\n title: '选择图标',\n },\n {\n type: 'switch',\n field: 'show',\n value: true,\n title: '是否显示',\n },\n {\n type: 'input',\n field: 'url',\n props: {\n showInput: false,\n },\n value: {},\n title: '跳转地址',\n },\n ],\n },\n },\n ]\n },\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DkMinSwiperImage.mjs","sources":["../../../../../../../src/page-diy/src/config/rule/min/common/DkMinSwiperImage.js"],"sourcesContent":["const label = '轮播图'\nconst name = 'DkMinSwiperImage'\n\nexport default {\n icon: 'dashicons:images-alt2',\n label,\n name,\n rule() {\n return {\n type: name,\n props: {\n swipeList: [\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/06/FsivVhWrSJsQWx0GhgOJKS_IOQp_.jpg?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称1',\n show: true,\n },\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/07/Fm30KtbmHzLJ96USZWFGI8FLQVss.png?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称2',\n show: true,\n },\n {\n img: 'https://img01.yzcdn.cn/upload_files/2021/07/01/Fj19dCrgsMyTYdrr89b9iheMVFZU.png?imageMogr2/format/jpg/thumbnail/1484x/size-limit/300k!/interlace/1',\n url: '',\n title: '默认备注名称3',\n show: true,\n },\n ],\n height: 160,\n autoplay: 2000,\n },\n showStyle: true,\n }\n },\n props() {\n return [\n {\n type: 'inputNumber',\n field: 'height',\n title: '图片高度',\n value: 200,\n props: { min: 0, max: 500 },\n },\n {\n type: 'select',\n field: 'imgMode',\n title: '裁剪缩放模式',\n value: 'aspectFill',\n options: [\n {\n label: 'scaleToFill:宽高完全拉伸至填满',\n value: 'scaleToFill',\n },\n {\n label: 'aspectFit:长边能完全显示出来',\n value: 'aspectFit',\n },\n {\n label: 'aspectFill:短边能完全显示出来',\n value: 'aspectFill',\n },\n { label: 'widthFix:宽度不变,高度自动变化', value: 'widthFix' },\n {\n label: 'heightFix:高度不变,宽度自动变化',\n value: 'heightFix',\n },\n {\n label: 'top:只显示图片的顶部区域',\n value: 'top',\n },\n {\n label: 'bottom:只显示图片的底部区域',\n value: 'bottom',\n },\n {\n label: 'center:只显示图片的中间区域',\n value: 'center',\n },\n {\n label: 'left:只显示图片的左边区域',\n value: 'left',\n },\n {\n label: 'right:只显示图片的右边区域',\n value: 'right',\n },\n {\n label: 'top left:只显示图片的左上边区域',\n value: 'top left',\n },\n {\n label: 'top right:只显示图片的右上边区域',\n value: 'top right',\n },\n {\n label: 'bottom left:只显示图片的左下边区域',\n value: 'bottom left',\n },\n {\n label: 'bottom right:只显示图片的右下边区域',\n value: 'bottom right',\n },\n ],\n effect: {\n help: '小程序图片的缩放剪裁模式,目前无法直接预览,可以参考:https://uniapp.dcloud.net.cn/component/image.html',\n },\n },\n\n {\n type: 'slider',\n field: 'autoplay',\n title: '轮播间隔',\n value: 3000,\n props: {\n min: 500,\n max: 10000,\n step: 100,\n formatTooltip: (val) => {\n return val / 1000 + '秒'\n },\n },\n },\n {\n type: 'switch',\n field: 'showTitle',\n title: '显示标题',\n value: false,\n },\n {\n type: 'DkGroup',\n field: 'swipeList',\n value: [],\n props: {\n title: '图片配置',\n // addTitle:'',\n defaultValue: {\n img: 'https://cdn.w7.cc/images/2019/03/25/j0C525ySgwApwp1gmIRUdDS6ZXL8lOrbxoiM6JZb.png',\n url: '',\n title: '新内容',\n },\n rule: [\n {\n type: 'input',\n field: 'title',\n value: '',\n title: '备注名称',\n },\n {\n type: 'DkImageInput',\n field: 'img',\n value: '',\n title: '选择图标',\n },\n {\n type: 'switch',\n field: 'show',\n value: true,\n title: '是否显示',\n },\n {\n type: 'input',\n field: 'url',\n props: {\n showInput: false,\n },\n value: {},\n title: '跳转地址',\n },\n ],\n },\n },\n ]\n },\n}\n"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ export const commonMenu: ({
61
61
  title: string;
62
62
  show: boolean;
63
63
  }[];
64
+ height: number;
64
65
  autoplay: number;
65
66
  };
66
67
  showStyle: boolean;
@@ -371,6 +372,7 @@ export const commonRuleList: {
371
372
  title: string;
372
373
  show: boolean;
373
374
  }[];
375
+ height: number;
374
376
  autoplay: number;
375
377
  };
376
378
  showStyle: boolean;
@@ -62,6 +62,7 @@ export const minRuleList: {
62
62
  title: string;
63
63
  show: boolean;
64
64
  }[];
65
+ height: number;
65
66
  autoplay: number;
66
67
  };
67
68
  showStyle: boolean;
@@ -375,6 +376,7 @@ export function createMinMenu(): {
375
376
  title: string;
376
377
  show: boolean;
377
378
  }[];
379
+ height: number;
378
380
  autoplay: number;
379
381
  };
380
382
  showStyle: boolean;
@@ -43,10 +43,10 @@ declare const _default: import("vue").DefineComponent<{
43
43
  type: StringConstructor;
44
44
  };
45
45
  }>>, {
46
- active: number;
47
46
  bgColor: string;
48
47
  activeColor: string;
49
48
  inactiveColor: string;
49
+ active: number;
50
50
  tabBars: unknown[];
51
51
  }, {}>;
52
52
  export default _default;
@@ -1,6 +1,5 @@
1
- import { createElementVNode, createTextVNode, defineComponent, ref, reactive, computed, provide, watch, onMounted, resolveComponent, openBlock, createElementBlock, normalizeStyle, withModifiers, createBlock, createCommentVNode, createVNode, unref, withCtx, Fragment, renderList, resolveDynamicComponent, toDisplayString } from 'vue';
1
+ import { createElementVNode, createTextVNode, defineComponent, ref, reactive, computed, provide, watch, onMounted, resolveComponent, openBlock, createElementBlock, normalizeStyle, withModifiers, createBlock, createCommentVNode, createVNode, withCtx, Fragment, renderList, resolveDynamicComponent, toDisplayString } from 'vue';
2
2
  import { defaultViews } from './config.mjs';
3
- import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable';
4
3
  import 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css';
5
4
  import DkPosterViewName from './views/DkPosterViewName.vue.mjs';
6
5
  import DkPosterViewText from './views/DkPosterViewText.vue.mjs';
@@ -252,6 +251,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
252
251
  });
253
252
  return (_ctx, _cache) => {
254
253
  const _component_el_empty = resolveComponent("el-empty");
254
+ const _component_vue3_draggable_resizable = resolveComponent("vue3-draggable-resizable");
255
+ const _component_DraggableContainer = resolveComponent("DraggableContainer");
255
256
  const _component_el_switch = resolveComponent("el-switch");
256
257
  const _component_el_form_item = resolveComponent("el-form-item");
257
258
  const _component_el_form = resolveComponent("el-form");
@@ -282,7 +283,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
282
283
  description: "\u8BF7\u4E0A\u4F20\u4E00\u5F20\u80CC\u666F\u56FE",
283
284
  style: { "position": "absolute", "width": "100%", "height": "80%", "user-select": "none" }
284
285
  })) : createCommentVNode("v-if", true),
285
- createVNode(unref(DraggableContainer), {
286
+ createVNode(_component_DraggableContainer, {
286
287
  ref_key: "draggableContainer",
287
288
  ref: draggableContainer,
288
289
  "reference-line-visible": formTools.refLine,
@@ -295,7 +296,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
295
296
  Fragment,
296
297
  null,
297
298
  renderList(posterData.views, (item, key) => {
298
- return openBlock(), createBlock(unref(Vue3DraggableResizable), {
299
+ return openBlock(), createBlock(_component_vue3_draggable_resizable, {
299
300
  key,
300
301
  ref_for: true,
301
302
  ref_key: "draggables",
@@ -1 +1 @@
1
- {"version":3,"file":"poster.vue2.mjs","sources":["../../../../src/poster-input/src/component/poster.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkPoster',\n components: {\n DkPosterViewName,\n DkPosterViewImage,\n DkPosterViewText,\n DkPosterViewAvatar,\n DkPosterViewQrcode,\n },\n});\n</script>\n<template>\n <div class=\"dk-poster\">\n <div class=\"poster-draw\">\n <div class=\"poster-body\">\n <div\n class=\"poster-content\"\n :style=\"{\n width: posterData.width + 'px',\n height: posterData.height + 'px',\n borderRadius: posterData.borderRadius + 'px',\n backgroundImage: 'url(' + posterData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <el-empty\n v-if=\"!posterData.background\"\n description=\"请上传一张背景图\"\n style=\"position: absolute; width: 100%; height: 80%; user-select: none\"\n />\n <DraggableContainer\n ref=\"draggableContainer\"\n :reference-line-visible=\"formTools.refLine\"\n :disabled=\"!formTools.snap\"\n :adsorb-cols=\"adsorb.cols\"\n :adsorb-rows=\"adsorb.rows\"\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in posterData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :is-conflict-check=\"formTools.isConflictCheck\"\n :snap=\"formTools.snap\"\n :snap-tolerance=\"formTools.snapTolerance\"\n :min-width=\"20\"\n :min-height=\"20\"\n :lock-aspect-ratio=\"item.lockAspectRatio\"\n @resizing=\"onResize\"\n @mousedown=\"index = key\"\n >\n <div style=\"position: relative\">\n <component :is=\"item.component\" :key=\"key\" :item=\"item\" :style=\"getBgStyle(item)\" :index=\"index\" />\n </div>\n </vue3-draggable-resizable>\n </DraggableContainer>\n </div>\n </div>\n <!--悬浮控件-->\n <div class=\"snap-tolerance\">\n <el-form :inline=\"true\" :model=\"formTools\" class=\"form-inline\" size=\"small\">\n <el-form-item label=\"对齐检测\">\n <el-switch v-model=\"formTools.snap\" />\n </el-form-item>\n <el-form-item v-if=\"formTools.snap\" label=\"辅助线\">\n <el-switch v-model=\"formTools.refLine\" />\n </el-form-item>\n </el-form>\n </div>\n <!--悬浮控件-->\n </div>\n <!-- 海报组件-->\n <el-form ref=\"form\" label-width=\"50px\" label-position=\"left\">\n <h2 style=\"padding: 10px; margin: 10px; font-size: 20px\">海报配置</h2>\n <el-row :gutter=\"20\" style=\"width: 100%; height: 600px; padding: 0 20px\">\n <el-col :sm=\"24\">\n <el-form-item label=\"元素\">\n <div class=\"view-buttons\">\n <el-button type=\"primary\" size=\"small\" :disabled=\"viewCount['avatar'] >= 1\" @click=\"addView('avatar')\">\n 用户头像\n </el-button>\n <el-button type=\"warning\" size=\"small\" :disabled=\"viewCount['qrcode'] >= 1\" @click=\"addView('qrcode')\">\n 二维码\n </el-button>\n <el-button type=\"danger\" size=\"small\" :disabled=\"viewCount['name'] >= 1\" @click=\"addView('name')\">\n 用户昵称\n </el-button>\n <el-button\n v-for=\"(item, key) in props.views\"\n :key=\"key\"\n type=\"primary\"\n :disabled=\"viewCount[item.name] >= item.count\"\n size=\"small\"\n @click=\"addView(item.name)\"\n >{{ item.text }}\n </el-button>\n </div>\n <div style=\"font-size: 12px; color: #999\">\n 点击元素添加到左侧拖拽框中,<b style=\"color: #000\">右键</b>即可编辑模块\n </div>\n </el-form-item>\n </el-col>\n <el-col :sm=\"24\">\n <el-form-item label=\"背景\">\n <dk-image-input v-model=\"posterData.background\" @input=\"resetSize()\" />\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"宽度\">\n <el-slider v-model=\"posterData.width\" :min=\"100\" :max=\"600\" show-input @change=\"checkParentSize()\">\n <template #append>px</template>\n </el-slider>\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"高度\">\n <el-slider v-model=\"posterData.height\" :min=\"100\" :max=\"600\" show-input @change=\"checkParentSize()\">\n <template #append>px</template>\n </el-slider>\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"弧度\">\n <el-slider v-model=\"posterData.borderRadius\" :min=\"0\" :max=\"20\" show-input />\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <div style=\"width: 100%; text-align: center\">\n <el-button style=\"width: 30%\" @click=\"resetSize()\">重置</el-button>\n <el-button type=\"primary\" style=\"width: 50%\" @click=\"submit\">确定</el-button>\n </div>\n </el-col>\n </el-row>\n </el-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, computed, watch, provide, onMounted } from 'vue'\nimport { defaultViews } from './config'\nimport Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css'\nimport DkPosterViewName from './views/DkPosterViewName.vue'\nimport DkPosterViewText from './views/DkPosterViewText.vue'\nimport DkPosterViewImage from './views/DkPosterViewImage.vue'\nimport DkPosterViewAvatar from './views/DkPosterViewAvatar.vue'\nimport DkPosterViewQrcode from './views/DkPosterViewQrcode.vue'\n\n\nconst props = defineProps({\n modelValue: {\n default: () => {\n return {}\n },\n type: Object,\n },\n views: {\n default: () => {\n return []\n },\n type: Array as any,\n },\n})\nconst posterRef = ref()\n// const posterData = ref(props.modelValue)\nconst posterData: any = reactive({\n background: '',\n width: 320,\n height: 500,\n borderRadius: 0,\n views: [],\n})\nconst formTools: any = reactive({\n refLine: true,\n snap: true,\n edit: true,\n border: 10,\n})\n\nconst viewCount = computed(() => {\n const count: any = {}\n const views: any = posterData.views\n if (views) {\n for (let i = 0; i < views.length; i++) {\n if (!count[views[i].name]) {\n count[views[i].name] = 1\n } else {\n count[views[i].name]++\n }\n }\n }\n return count\n})\n\nconst emit = defineEmits(['input', 'update:modelValue', 'change', 'submit'])\n\nconst submit = () => {\n emit('input', posterData)\n emit('update:modelValue', posterData)\n emit('submit', posterData)\n emit('change', posterData)\n}\nconst resetSize = () => {\n if (posterData.background) {\n getImageSize(posterData.background)\n .then((image: any) => {\n let tempWidth\n let tempHeight\n const maxHeight = 600\n const maxWidth = 600\n if (image.width / image.height >= maxWidth / maxHeight) {\n if (image.width > maxWidth) {\n tempWidth = maxWidth\n // 按原图片的比例进行缩放\n tempHeight = (image.height * maxWidth) / image.width\n } else {\n tempWidth = image.width\n tempHeight = image.height\n }\n } else {\n if (image.height > maxHeight) {\n tempHeight = maxHeight\n // 按原图片的比例进行缩放\n tempWidth = (image.width * maxHeight) / image.height\n } else {\n tempWidth = image.width\n tempHeight = image.height\n }\n }\n posterData.width = parseInt(tempWidth)\n posterData.height = parseInt(tempHeight)\n setTimeout(() => {\n checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n// const checkParentSize = () => {\n// posterRef.value.checkParentSize()\n// }\n\nconst addView = (name: string) => {\n // if (name == 'text' || name == 'image') {\n // posterRef.value.add(name, viewNumber(name))\n // } else {\n // posterData.value.add(name)\n // }\n\n add(name)\n}\n\nconst viewNumber = (name: any) => {\n const views = posterData.views\n let count = 1\n for (let i = 0; i < views.length; i++) {\n if (views[i].name == name) {\n count++\n }\n }\n return count\n}\n\n// watch(\n// () => props.modelValue,\n// (n, o) => {\n// posterData = props.modelValue\n// }\n// )\n\n// content的\n\nconst draggables = ref()\nconst draggableContainer = ref()\n\nconst index = ref(0)\nprovide('posterData', posterData)\nconst test = () => {\n console.log(posterData.views)\n}\n\nconst onDrag = (p: any) => {\n const css = posterData.views[index.value].css\n console.log('onDrag', p)\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = posterData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\nconst getBgStyle = (item: any) => {\n if (item.type == 'image') {\n return {\n width: item.css.width + 'px',\n height: item.css.height + 'px',\n borderColor: item.css.borderColor || '#fff',\n borderStyle: 'solid',\n borderWidth: item.css.borderWidth + 'px',\n borderRadius: item.css.borderRadius + 'px',\n top: -parseInt(item.css.borderWidth) + 'px',\n left: -parseInt(item.css.borderWidth) + 'px',\n }\n } else {\n return {}\n }\n}\n\nconst add = (name = 'avatar') => {\n const allViews = defaultViews.concat(props.views as any)\n for (let i = 0; i < allViews.length; i++) {\n if (allViews[i].name == name) {\n // view\n const view = JSON.parse(JSON.stringify(allViews[i]))\n posterData.views.push(view)\n }\n }\n}\n\nconst checkParentSize = () => {\n // 刷新大小检测\n if (draggables.value) {\n console.log('draggables', draggables)\n for (let i = 0; i < draggables.value.length; i++) {\n const draggable = draggables.value[i]\n draggable.parentHeight = posterData.height\n draggable.parentWidth = posterData.width\n\n if (posterData.width < draggable.left + draggable.initW) {\n draggable.left = posterData.width\n }\n if (posterData.height < draggable.top + draggable.initH) {\n draggable.top = posterData.height\n }\n }\n }\n}\n\nconst adsorb = computed(() => {\n const border = formTools?.border\n const height = posterData.height\n const width = posterData.width\n return {\n cols: [border, width - border],\n rows: [border, height - border],\n }\n})\n\nwatch(\n () => props.modelValue,\n (n, o) => {\n console.log('1111')\n // initPosterDraggable()\n }\n)\n\nconst initPosterDraggable = () => {\n console.log('initPosterDraggable')\n posterData.background = props.modelValue.background\n posterData.width = props.modelValue.width\n posterData.height = props.modelValue.height\n posterData.borderRadius = props.modelValue.borderRadius\n posterData.views = []\n for (let i = 0; i < props.modelValue.views.length; i++) {\n posterData.views.push(props.modelValue.views[i])\n }\n}\n\nonMounted(() => {\n initPosterDraggable()\n})\n\ndefineExpose({\n checkParentSize,\n})\n</script>\n<style scoped></style>\n"],"names":["__MACROS_defineComponent"],"mappings":"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"}
1
+ {"version":3,"file":"poster.vue2.mjs","sources":["../../../../src/poster-input/src/component/poster.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkPoster',\n components: {\n DkPosterViewName,\n DkPosterViewImage,\n DkPosterViewText,\n DkPosterViewAvatar,\n DkPosterViewQrcode,\n },\n});\n</script>\n<template>\n <div class=\"dk-poster\">\n <div class=\"poster-draw\">\n <div class=\"poster-body\">\n <div\n class=\"poster-content\"\n :style=\"{\n width: posterData.width + 'px',\n height: posterData.height + 'px',\n borderRadius: posterData.borderRadius + 'px',\n backgroundImage: 'url(' + posterData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <el-empty\n v-if=\"!posterData.background\"\n description=\"请上传一张背景图\"\n style=\"position: absolute; width: 100%; height: 80%; user-select: none\"\n />\n <DraggableContainer\n ref=\"draggableContainer\"\n :reference-line-visible=\"formTools.refLine\"\n :disabled=\"!formTools.snap\"\n :adsorb-cols=\"adsorb.cols\"\n :adsorb-rows=\"adsorb.rows\"\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in posterData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :is-conflict-check=\"formTools.isConflictCheck\"\n :snap=\"formTools.snap\"\n :snap-tolerance=\"formTools.snapTolerance\"\n :min-width=\"20\"\n :min-height=\"20\"\n :lock-aspect-ratio=\"item.lockAspectRatio\"\n @resizing=\"onResize\"\n @mousedown=\"index = key\"\n >\n <div style=\"position: relative\">\n <component :is=\"item.component\" :key=\"key\" :item=\"item\" :style=\"getBgStyle(item)\" :index=\"index\" />\n </div>\n </vue3-draggable-resizable>\n </DraggableContainer>\n </div>\n </div>\n <!--悬浮控件-->\n <div class=\"snap-tolerance\">\n <el-form :inline=\"true\" :model=\"formTools\" class=\"form-inline\" size=\"small\">\n <el-form-item label=\"对齐检测\">\n <el-switch v-model=\"formTools.snap\" />\n </el-form-item>\n <el-form-item v-if=\"formTools.snap\" label=\"辅助线\">\n <el-switch v-model=\"formTools.refLine\" />\n </el-form-item>\n </el-form>\n </div>\n <!--悬浮控件-->\n </div>\n <!-- 海报组件-->\n <el-form ref=\"form\" label-width=\"50px\" label-position=\"left\">\n <h2 style=\"padding: 10px; margin: 10px; font-size: 20px\">海报配置</h2>\n <el-row :gutter=\"20\" style=\"width: 100%; height: 600px; padding: 0 20px\">\n <el-col :sm=\"24\">\n <el-form-item label=\"元素\">\n <div class=\"view-buttons\">\n <el-button type=\"primary\" size=\"small\" :disabled=\"viewCount['avatar'] >= 1\" @click=\"addView('avatar')\">\n 用户头像\n </el-button>\n <el-button type=\"warning\" size=\"small\" :disabled=\"viewCount['qrcode'] >= 1\" @click=\"addView('qrcode')\">\n 二维码\n </el-button>\n <el-button type=\"danger\" size=\"small\" :disabled=\"viewCount['name'] >= 1\" @click=\"addView('name')\">\n 用户昵称\n </el-button>\n <el-button\n v-for=\"(item, key) in props.views\"\n :key=\"key\"\n type=\"primary\"\n :disabled=\"viewCount[item.name] >= item.count\"\n size=\"small\"\n @click=\"addView(item.name)\"\n >{{ item.text }}\n </el-button>\n </div>\n <div style=\"font-size: 12px; color: #999\">\n 点击元素添加到左侧拖拽框中,<b style=\"color: #000\">右键</b>即可编辑模块\n </div>\n </el-form-item>\n </el-col>\n <el-col :sm=\"24\">\n <el-form-item label=\"背景\">\n <dk-image-input v-model=\"posterData.background\" @input=\"resetSize()\" />\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"宽度\">\n <el-slider v-model=\"posterData.width\" :min=\"100\" :max=\"600\" show-input @change=\"checkParentSize()\">\n <template #append>px</template>\n </el-slider>\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"高度\">\n <el-slider v-model=\"posterData.height\" :min=\"100\" :max=\"600\" show-input @change=\"checkParentSize()\">\n <template #append>px</template>\n </el-slider>\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <el-form-item label=\"弧度\">\n <el-slider v-model=\"posterData.borderRadius\" :min=\"0\" :max=\"20\" show-input />\n </el-form-item>\n </el-col>\n <el-col :span=\"24\">\n <div style=\"width: 100%; text-align: center\">\n <el-button style=\"width: 30%\" @click=\"resetSize()\">重置</el-button>\n <el-button type=\"primary\" style=\"width: 50%\" @click=\"submit\">确定</el-button>\n </div>\n </el-col>\n </el-row>\n </el-form>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, computed, watch, provide, onMounted } from 'vue'\nimport { defaultViews } from './config'\n// import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css'\nimport DkPosterViewName from './views/DkPosterViewName.vue'\nimport DkPosterViewText from './views/DkPosterViewText.vue'\nimport DkPosterViewImage from './views/DkPosterViewImage.vue'\nimport DkPosterViewAvatar from './views/DkPosterViewAvatar.vue'\nimport DkPosterViewQrcode from './views/DkPosterViewQrcode.vue'\n\n\nconst props = defineProps({\n modelValue: {\n default: () => {\n return {}\n },\n type: Object,\n },\n views: {\n default: () => {\n return []\n },\n type: Array as any,\n },\n})\nconst posterRef = ref()\n// const posterData = ref(props.modelValue)\nconst posterData: any = reactive({\n background: '',\n width: 320,\n height: 500,\n borderRadius: 0,\n views: [],\n})\nconst formTools: any = reactive({\n refLine: true,\n snap: true,\n edit: true,\n border: 10,\n})\n\nconst viewCount = computed(() => {\n const count: any = {}\n const views: any = posterData.views\n if (views) {\n for (let i = 0; i < views.length; i++) {\n if (!count[views[i].name]) {\n count[views[i].name] = 1\n } else {\n count[views[i].name]++\n }\n }\n }\n return count\n})\n\nconst emit = defineEmits(['input', 'update:modelValue', 'change', 'submit'])\n\nconst submit = () => {\n emit('input', posterData)\n emit('update:modelValue', posterData)\n emit('submit', posterData)\n emit('change', posterData)\n}\nconst resetSize = () => {\n if (posterData.background) {\n getImageSize(posterData.background)\n .then((image: any) => {\n let tempWidth\n let tempHeight\n const maxHeight = 600\n const maxWidth = 600\n if (image.width / image.height >= maxWidth / maxHeight) {\n if (image.width > maxWidth) {\n tempWidth = maxWidth\n // 按原图片的比例进行缩放\n tempHeight = (image.height * maxWidth) / image.width\n } else {\n tempWidth = image.width\n tempHeight = image.height\n }\n } else {\n if (image.height > maxHeight) {\n tempHeight = maxHeight\n // 按原图片的比例进行缩放\n tempWidth = (image.width * maxHeight) / image.height\n } else {\n tempWidth = image.width\n tempHeight = image.height\n }\n }\n posterData.width = parseInt(tempWidth)\n posterData.height = parseInt(tempHeight)\n setTimeout(() => {\n checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n// const checkParentSize = () => {\n// posterRef.value.checkParentSize()\n// }\n\nconst addView = (name: string) => {\n // if (name == 'text' || name == 'image') {\n // posterRef.value.add(name, viewNumber(name))\n // } else {\n // posterData.value.add(name)\n // }\n\n add(name)\n}\n\nconst viewNumber = (name: any) => {\n const views = posterData.views\n let count = 1\n for (let i = 0; i < views.length; i++) {\n if (views[i].name == name) {\n count++\n }\n }\n return count\n}\n\n// watch(\n// () => props.modelValue,\n// (n, o) => {\n// posterData = props.modelValue\n// }\n// )\n\n// content的\n\nconst draggables = ref()\nconst draggableContainer = ref()\n\nconst index = ref(0)\nprovide('posterData', posterData)\nconst test = () => {\n console.log(posterData.views)\n}\n\nconst onDrag = (p: any) => {\n const css = posterData.views[index.value].css\n console.log('onDrag', p)\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = posterData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\nconst getBgStyle = (item: any) => {\n if (item.type == 'image') {\n return {\n width: item.css.width + 'px',\n height: item.css.height + 'px',\n borderColor: item.css.borderColor || '#fff',\n borderStyle: 'solid',\n borderWidth: item.css.borderWidth + 'px',\n borderRadius: item.css.borderRadius + 'px',\n top: -parseInt(item.css.borderWidth) + 'px',\n left: -parseInt(item.css.borderWidth) + 'px',\n }\n } else {\n return {}\n }\n}\n\nconst add = (name = 'avatar') => {\n const allViews = defaultViews.concat(props.views as any)\n for (let i = 0; i < allViews.length; i++) {\n if (allViews[i].name == name) {\n // view\n const view = JSON.parse(JSON.stringify(allViews[i]))\n posterData.views.push(view)\n }\n }\n}\n\nconst checkParentSize = () => {\n // 刷新大小检测\n if (draggables.value) {\n console.log('draggables', draggables)\n for (let i = 0; i < draggables.value.length; i++) {\n const draggable = draggables.value[i]\n draggable.parentHeight = posterData.height\n draggable.parentWidth = posterData.width\n\n if (posterData.width < draggable.left + draggable.initW) {\n draggable.left = posterData.width\n }\n if (posterData.height < draggable.top + draggable.initH) {\n draggable.top = posterData.height\n }\n }\n }\n}\n\nconst adsorb = computed(() => {\n const border = formTools?.border\n const height = posterData.height\n const width = posterData.width\n return {\n cols: [border, width - border],\n rows: [border, height - border],\n }\n})\n\nwatch(\n () => props.modelValue,\n (n, o) => {\n console.log('1111')\n // initPosterDraggable()\n }\n)\n\nconst initPosterDraggable = () => {\n console.log('initPosterDraggable')\n posterData.background = props.modelValue.background\n posterData.width = props.modelValue.width\n posterData.height = props.modelValue.height\n posterData.borderRadius = props.modelValue.borderRadius\n posterData.views = []\n for (let i = 0; i < props.modelValue.views.length; i++) {\n posterData.views.push(props.modelValue.views[i])\n }\n}\n\nonMounted(() => {\n initPosterDraggable()\n})\n\ndefineExpose({\n checkParentSize,\n})\n</script>\n<style scoped></style>\n"],"names":["__MACROS_defineComponent"],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var Vue3DraggableResizable = require('vue3-draggable-resizable');
7
6
 
8
7
  const _hoisted_1 = { class: "hot-area-content" };
9
8
  const _hoisted_2 = { class: "hot-area-draggable" };
@@ -114,6 +113,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
114
113
  });
115
114
  };
116
115
  return (_ctx, _cache) => {
116
+ const _component_vue3_draggable_resizable = vue.resolveComponent("vue3-draggable-resizable");
117
117
  const _component_el_empty = vue.resolveComponent("el-empty");
118
118
  const _component_dk_image_input = vue.resolveComponent("dk-image-input");
119
119
  const _component_el_form_item = vue.resolveComponent("el-form-item");
@@ -139,7 +139,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
139
139
  vue.Fragment,
140
140
  null,
141
141
  vue.renderList(hotData.views, (item, key) => {
142
- return vue.openBlock(), vue.createBlock(vue.unref(Vue3DraggableResizable), {
142
+ return vue.openBlock(), vue.createBlock(_component_vue3_draggable_resizable, {
143
143
  key,
144
144
  ref_for: true,
145
145
  ref: "draggables",
@@ -1 +1 @@
1
- {"version":3,"file":"hot-area-content.vue2.js","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div class=\"hot-item-content\" style=\"position: relative; width: 100%; height: 100%; background: #0003\">\n {{ key + 1 }}\n </div>\n </vue3-draggable-resizable>\n </div>\n <div v-else style=\"width: 500px; height: 500px\">\n <el-empty description=\"请上传图片\"></el-empty>\n </div>\n </div>\n <div class=\"hot-area-form\">\n <h3 style=\"margin-top: 0; font-size: 16px; font-weight: 500\">热区管理</h3>\n <el-form label-width=\"80px\" label-position=\"left\">\n <el-form-item label=\"背景图 \">\n <dk-image-input v-model=\"hotData.background\" />\n </el-form-item>\n <el-form-item v-for=\"(item, key) in hotData.views\" :key=\"key\" :label=\"'热区' + (key + 1)\">\n <el-input v-model=\"hotData.views[key].url\" placeholder=\"填写跳转地址\">\n <template #append>\n <el-button @click=\"delView(key)\">删除</el-button>\n </template>\n </el-input>\n </el-form-item>\n </el-form>\n <el-button :disabled=\"!hotData.background\" type=\"primary\" @click=\"addView()\">{{\n hotData.background ? '添加热区' : '请先上传图片'\n }}</el-button>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport { reactive, ref, watch, onMounted } from 'vue'\n\n\nconst props = defineProps({\n hotDataValue: {\n default: () => {\n return {\n views: [],\n width: 400,\n height: 400,\n background: null,\n }\n },\n type: Object,\n },\n})\nconst index = ref(0)\nconst hotData = reactive(props.hotDataValue)\nconst addView = () => {\n // 这里hotData可以能没有views,如果没有就添加上views\n if (!Array.isArray(hotData.views)) {\n hotData.views = []\n }\n hotData.views.push({\n css: {\n left: 0,\n top: 0,\n width: 80,\n height: 80,\n borderRadius: 0,\n borderColor: '#fff',\n },\n url: '',\n })\n}\n\nconst delView = (indexToDelete: any) => {\n if (indexToDelete >= 0 && indexToDelete < hotData.views.length) {\n hotData.views.splice(indexToDelete, 1)\n }\n}\n\nconst onDrag = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\n\nonMounted(() => {\n resetSize()\n})\n\nwatch(\n () => hotData?.background,\n () => {\n resetSize()\n }\n)\n\nconst resetSize = () => {\n if (hotData.background) {\n getImageSize(hotData.background)\n .then((image: any) => {\n hotData.width = 500\n hotData.height = (image.height * 500) / image.width\n setTimeout(() => {\n // checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n</script>\n"],"names":["__MACROS_defineComponent","ref","reactive","onMounted","watch"],"mappings":"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"}
1
+ {"version":3,"file":"hot-area-content.vue2.js","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div class=\"hot-item-content\" style=\"position: relative; width: 100%; height: 100%; background: #0003\">\n {{ key + 1 }}\n </div>\n </vue3-draggable-resizable>\n </div>\n <div v-else style=\"width: 500px; height: 500px\">\n <el-empty description=\"请上传图片\"></el-empty>\n </div>\n </div>\n <div class=\"hot-area-form\">\n <h3 style=\"margin-top: 0; font-size: 16px; font-weight: 500\">热区管理</h3>\n <el-form label-width=\"80px\" label-position=\"left\">\n <el-form-item label=\"背景图 \">\n <dk-image-input v-model=\"hotData.background\" />\n </el-form-item>\n <el-form-item v-for=\"(item, key) in hotData.views\" :key=\"key\" :label=\"'热区' + (key + 1)\">\n <el-input v-model=\"hotData.views[key].url\" placeholder=\"填写跳转地址\">\n <template #append>\n <el-button @click=\"delView(key)\">删除</el-button>\n </template>\n </el-input>\n </el-form-item>\n </el-form>\n <el-button :disabled=\"!hotData.background\" type=\"primary\" @click=\"addView()\">{{\n hotData.background ? '添加热区' : '请先上传图片'\n }}</el-button>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\n// import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport { reactive, ref, watch, onMounted } from 'vue'\n\n\nconst props = defineProps({\n hotDataValue: {\n default: () => {\n return {\n views: [],\n width: 400,\n height: 400,\n background: null,\n }\n },\n type: Object,\n },\n})\nconst index = ref(0)\nconst hotData = reactive(props.hotDataValue)\nconst addView = () => {\n // 这里hotData可以能没有views,如果没有就添加上views\n if (!Array.isArray(hotData.views)) {\n hotData.views = []\n }\n hotData.views.push({\n css: {\n left: 0,\n top: 0,\n width: 80,\n height: 80,\n borderRadius: 0,\n borderColor: '#fff',\n },\n url: '',\n })\n}\n\nconst delView = (indexToDelete: any) => {\n if (indexToDelete >= 0 && indexToDelete < hotData.views.length) {\n hotData.views.splice(indexToDelete, 1)\n }\n}\n\nconst onDrag = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\n\nonMounted(() => {\n resetSize()\n})\n\nwatch(\n () => hotData?.background,\n () => {\n resetSize()\n }\n)\n\nconst resetSize = () => {\n if (hotData.background) {\n getImageSize(hotData.background)\n .then((image: any) => {\n hotData.width = 500\n hotData.height = (image.height * 500) / image.width\n setTimeout(() => {\n // checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n</script>\n"],"names":["__MACROS_defineComponent","ref","reactive","onMounted","watch"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -35,6 +35,7 @@ var index$t = require('./table/index.js');
35
35
  var index$u = require('./select/index.js');
36
36
  var index$v = require('./poster-input/index.js');
37
37
  var utils = require('@vipl520/utils');
38
+ var Vue3DraggableResizable = require('vue3-draggable-resizable');
38
39
  var props = require('./tiny-editor/src/props.js');
39
40
  var props$1 = require('./icon/src/props.js');
40
41
  var props$2 = require('./group/src/props.js');
@@ -138,7 +139,8 @@ const components = [
138
139
  // 海报选择器
139
140
  index$v.PosterInput,
140
141
  // 海报
141
- index$v.Poster
142
+ index$v.Poster,
143
+ Vue3DraggableResizable
142
144
  // TODO 普通上传 upload
143
145
  // TODO tag选择器 tag-input
144
146
  // TODO 链接选择器 link-input
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { Test } from './test'\nimport { Group } from './group'\nimport { TinyEditor } from './tiny-editor'\nimport { Icon } from './icon'\nimport { ColorInput } from './color-input'\nimport { HotAreaInput } from './hot-area-input'\nimport { Dialog } from './dialog'\nimport { Form } from './form'\nimport { Attachment } from './attachment'\nimport { AttachmentDialog } from './attachment-dialog'\nimport { FileInput } from './file-input'\nimport { ImageInput } from './image-input'\nimport { AudioInput } from './audio-input'\nimport { VideoInput } from './video-input'\nimport { FileListInput } from './file-list-input'\nimport { ImageListInput } from './image-list-input'\nimport { AudioListInput } from './audio-list-input'\nimport { VideoListInput } from './video-list-input'\nimport { IconInput, IconContent, IconDialog } from './icon-input'\nimport { StyleInput } from './style-input'\nimport { BoxSizeInput } from './box-size-input'\nimport { StyleBoxInput } from './style-box-input'\nimport { StyleFontInput } from './style-font-input'\nimport { StyleBorderInput } from './style-border-input'\nimport { StyleBackgroundInput } from './style-background-input'\nimport { StyleShadowContent, StyleShadowInput } from './style-shadow-input'\nimport { StylePositionInput } from './style-position-input'\nimport { StyleNumberInput } from './style-number-input'\nimport { PageDiy } from './page-diy'\nimport { Table } from './table'\nimport { Select } from './select'\nimport { Poster, PosterInput } from './poster-input'\nimport { setGlobalConfig, directives } from '@vipl520/utils'\n\nexport * from './tiny-editor'\nexport * from './icon'\nexport * from './group'\nexport * from './color-input'\nexport * from './hot-area-input'\nexport * from './form'\nexport * from './attachment'\nexport * from './attachment-dialog'\nexport * from './file-input'\nexport * from './image-input'\nexport * from './audio-input'\nexport * from './video-input'\nexport * from './file-list-input'\nexport * from './image-list-input'\nexport * from './audio-list-input'\nexport * from './video-list-input'\nexport * from './icon-input'\nexport * from './page-diy'\nexport * from './box-size-input'\nexport * from './test'\nexport * from './style-input'\nexport * from './style-box-input'\nexport * from './style-font-input'\nexport * from './style-border-input'\nexport * from './style-shadow-input'\nexport * from './style-background-input'\nexport * from './style-position-input'\nexport * from './style-number-input'\nexport * from './table'\nexport * from './select'\nexport * from './poster-input'\n\nconst components = [\n Test,\n Group,\n // 富文本编辑器\n TinyEditor,\n // 图标\n Icon,\n // 颜色选择器\n ColorInput,\n // 热区选择器\n HotAreaInput,\n // 对话框\n Dialog,\n // json表单\n Form,\n // 附件\n Attachment,\n // 附件弹窗\n AttachmentDialog,\n // 文件选择器\n FileInput,\n // 图片选择器\n ImageInput,\n // 音频选择器\n AudioInput,\n // 视频选择器\n VideoInput,\n // 多文件选择器\n FileListInput,\n // 多图片选择器\n ImageListInput,\n // 多音频选择器\n AudioListInput,\n // 多视频选择器\n VideoListInput,\n // 图标选择器\n IconInput,\n // 图标展示框\n IconContent,\n // 图片弹出框\n IconDialog,\n // DIY编辑器\n PageDiy,\n // 尺寸输入框(带px/%/rem/等单位)\n BoxSizeInput,\n // DIV盒子编辑器(padding/margin/width/height)\n StyleBoxInput,\n // 文字样式编辑器\n StyleFontInput,\n // 边框样式编辑器\n StyleBorderInput,\n // 阴影编辑器\n StyleShadowInput,\n // 阴影编辑框\n StyleShadowContent,\n // 背景编辑器\n StyleBackgroundInput,\n // 合并样式编辑\n StyleInput,\n // 定位编辑器\n StylePositionInput,\n // 样式文字\n StyleNumberInput,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\n // TODO 海报编辑器 poster-input\n // TODO Layout布局组件 layout\n // TODO 应用信息组件 addon-info\n // TODO 用户信息组件 user-info\n // TODO 全局Hook组件 global-hook\n // TODO 前端DIY匹配\n // TODO 开发者工具(自动CRUD)\n // TODO 应用框架\n]\n\nexport const install = (app: App, option: any = {}) => {\n components.forEach((item) => {\n if (item.install!) {\n app.use(item)\n } else if (item.name) {\n app.component(item.name, item)\n }\n })\n directives(app)\n setGlobalConfig(option)\n}\n\nexport default {\n install,\n}\n"],"names":["Test","Group","TinyEditor","Icon","ColorInput","HotAreaInput","Dialog","Form","Attachment","AttachmentDialog","FileInput","ImageInput","AudioInput","VideoInput","FileListInput","ImageListInput","AudioListInput","VideoListInput","IconInput","IconContent","IconDialog","PageDiy","BoxSizeInput","StyleBoxInput","StyleFontInput","StyleBorderInput","StyleShadowInput","StyleShadowContent","StyleBackgroundInput","StyleInput","StylePositionInput","StyleNumberInput","Table","Select","PosterInput","Poster","directives","setGlobalConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAM,UAAa,GAAA;AAAA,EACjBA,YAAA;AAAA,EACAC,aAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,YAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,oBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA,EAEAC,YAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,iBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,iBAAA;AAAA;AAAA,EAEAC,mBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,eAAA;AAAA;AAAA,EAEAC,oBAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,0BAAA;AAAA;AAAA,EAEAC,4BAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,0BAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,aAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA;AAAA,EAGAC,mBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYF,CAAA,CAAA;AAEO,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,MAAA,GAAc,EAAO,KAAA;AACrD,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC3B,IAAA,IAAI,KAAK,OAAU,EAAA;AACjB,MAAA,GAAA,CAAI,IAAI,IAAI,CAAA,CAAA;AAAA,KACd,MAAA,IAAW,KAAK,IAAM,EAAA;AACpB,MAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,KAC/B;AAAA,GACD,CAAA,CAAA;AACD,EAAAC,gBAAA,CAAW,GAAG,CAAA,CAAA;AACd,EAAAC,qBAAA,CAAgB,MAAM,CAAA,CAAA;AACxB,EAAA;AAEA,YAAe;AAAA,EACb,OAAA;AACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { App } from 'vue'\nimport { Test } from './test'\nimport { Group } from './group'\nimport { TinyEditor } from './tiny-editor'\nimport { Icon } from './icon'\nimport { ColorInput } from './color-input'\nimport { HotAreaInput } from './hot-area-input'\nimport { Dialog } from './dialog'\nimport { Form } from './form'\nimport { Attachment } from './attachment'\nimport { AttachmentDialog } from './attachment-dialog'\nimport { FileInput } from './file-input'\nimport { ImageInput } from './image-input'\nimport { AudioInput } from './audio-input'\nimport { VideoInput } from './video-input'\nimport { FileListInput } from './file-list-input'\nimport { ImageListInput } from './image-list-input'\nimport { AudioListInput } from './audio-list-input'\nimport { VideoListInput } from './video-list-input'\nimport { IconInput, IconContent, IconDialog } from './icon-input'\nimport { StyleInput } from './style-input'\nimport { BoxSizeInput } from './box-size-input'\nimport { StyleBoxInput } from './style-box-input'\nimport { StyleFontInput } from './style-font-input'\nimport { StyleBorderInput } from './style-border-input'\nimport { StyleBackgroundInput } from './style-background-input'\nimport { StyleShadowContent, StyleShadowInput } from './style-shadow-input'\nimport { StylePositionInput } from './style-position-input'\nimport { StyleNumberInput } from './style-number-input'\nimport { PageDiy } from './page-diy'\nimport { Table } from './table'\nimport { Select } from './select'\nimport { Poster, PosterInput } from './poster-input'\nimport { setGlobalConfig, directives } from '@vipl520/utils'\nimport Vue3DraggableResizable from 'vue3-draggable-resizable'\nexport * from './tiny-editor'\nexport * from './icon'\nexport * from './group'\nexport * from './color-input'\nexport * from './hot-area-input'\nexport * from './form'\nexport * from './attachment'\nexport * from './attachment-dialog'\nexport * from './file-input'\nexport * from './image-input'\nexport * from './audio-input'\nexport * from './video-input'\nexport * from './file-list-input'\nexport * from './image-list-input'\nexport * from './audio-list-input'\nexport * from './video-list-input'\nexport * from './icon-input'\nexport * from './page-diy'\nexport * from './box-size-input'\nexport * from './test'\nexport * from './style-input'\nexport * from './style-box-input'\nexport * from './style-font-input'\nexport * from './style-border-input'\nexport * from './style-shadow-input'\nexport * from './style-background-input'\nexport * from './style-position-input'\nexport * from './style-number-input'\nexport * from './table'\nexport * from './select'\nexport * from './poster-input'\n\nconst components = [\n Test,\n Group,\n // 富文本编辑器\n TinyEditor,\n // 图标\n Icon,\n // 颜色选择器\n ColorInput,\n // 热区选择器\n HotAreaInput,\n // 对话框\n Dialog,\n // json表单\n Form,\n // 附件\n Attachment,\n // 附件弹窗\n AttachmentDialog,\n // 文件选择器\n FileInput,\n // 图片选择器\n ImageInput,\n // 音频选择器\n AudioInput,\n // 视频选择器\n VideoInput,\n // 多文件选择器\n FileListInput,\n // 多图片选择器\n ImageListInput,\n // 多音频选择器\n AudioListInput,\n // 多视频选择器\n VideoListInput,\n // 图标选择器\n IconInput,\n // 图标展示框\n IconContent,\n // 图片弹出框\n IconDialog,\n // DIY编辑器\n PageDiy,\n // 尺寸输入框(带px/%/rem/等单位)\n BoxSizeInput,\n // DIV盒子编辑器(padding/margin/width/height)\n StyleBoxInput,\n // 文字样式编辑器\n StyleFontInput,\n // 边框样式编辑器\n StyleBorderInput,\n // 阴影编辑器\n StyleShadowInput,\n // 阴影编辑框\n StyleShadowContent,\n // 背景编辑器\n StyleBackgroundInput,\n // 合并样式编辑\n StyleInput,\n // 定位编辑器\n StylePositionInput,\n // 样式文字\n StyleNumberInput,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n Vue3DraggableResizable,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\n // TODO 海报编辑器 poster-input\n // TODO Layout布局组件 layout\n // TODO 应用信息组件 addon-info\n // TODO 用户信息组件 user-info\n // TODO 全局Hook组件 global-hook\n // TODO 前端DIY匹配\n // TODO 开发者工具(自动CRUD)\n // TODO 应用框架\n]\n\nexport const install = (app: App, option: any = {}) => {\n components.forEach((item) => {\n if (item.install!) {\n app.use(item)\n } else if (item.name) {\n app.component(item.name, item)\n }\n })\n directives(app)\n setGlobalConfig(option)\n}\n\nexport default {\n install,\n}\n"],"names":["Test","Group","TinyEditor","Icon","ColorInput","HotAreaInput","Dialog","Form","Attachment","AttachmentDialog","FileInput","ImageInput","AudioInput","VideoInput","FileListInput","ImageListInput","AudioListInput","VideoListInput","IconInput","IconContent","IconDialog","PageDiy","BoxSizeInput","StyleBoxInput","StyleFontInput","StyleBorderInput","StyleShadowInput","StyleShadowContent","StyleBackgroundInput","StyleInput","StylePositionInput","StyleNumberInput","Table","Select","PosterInput","Poster","directives","setGlobalConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAM,UAAa,GAAA;AAAA,EACjBA,YAAA;AAAA,EACAC,aAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,YAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,oBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA,EAEAC,YAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,iBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,iBAAA;AAAA;AAAA,EAEAC,mBAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,eAAA;AAAA;AAAA,EAEAC,oBAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,sBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,0BAAA;AAAA;AAAA,EAEAC,4BAAA;AAAA;AAAA,EAEAC,kBAAA;AAAA;AAAA,EAEAC,0BAAA;AAAA;AAAA,EAEAC,wBAAA;AAAA;AAAA,EAEAC,aAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA;AAAA,EAGAC,mBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA,EACA,sBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYF,CAAA,CAAA;AAEO,MAAM,OAAU,GAAA,CAAC,GAAU,EAAA,MAAA,GAAc,EAAO,KAAA;AACrD,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC3B,IAAA,IAAI,KAAK,OAAU,EAAA;AACjB,MAAA,GAAA,CAAI,IAAI,IAAI,CAAA,CAAA;AAAA,KACd,MAAA,IAAW,KAAK,IAAM,EAAA;AACpB,MAAI,GAAA,CAAA,SAAA,CAAU,IAAK,CAAA,IAAA,EAAM,IAAI,CAAA,CAAA;AAAA,KAC/B;AAAA,GACD,CAAA,CAAA;AACD,EAAAC,gBAAA,CAAW,GAAG,CAAA,CAAA;AACd,EAAAC,qBAAA,CAAgB,MAAM,CAAA,CAAA;AACxB,EAAA;AAEA,YAAe;AAAA,EACb,OAAA;AACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,6 +11,7 @@ declare namespace _default {
11
11
  title: string;
12
12
  show: boolean;
13
13
  }[];
14
+ height: number;
14
15
  autoplay: number;
15
16
  };
16
17
  showStyle: boolean;
@@ -32,6 +32,7 @@ var DkMinSwiperImage = {
32
32
  show: true
33
33
  }
34
34
  ],
35
+ height: 160,
35
36
  autoplay: 2e3
36
37
  },
37
38
  showStyle: true