@vipl520/dk-ui 1.0.53 → 1.0.54

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. package/dist/attributes.json +8 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.js +2012 -1428
  4. package/dist/index.min.js +4 -4
  5. package/dist/index.min.js.map +1 -1
  6. package/dist/index.min.mjs +4 -4
  7. package/dist/index.min.mjs.map +1 -1
  8. package/dist/index.mjs +2011 -1429
  9. package/dist/tags.json +7 -0
  10. package/dist/web-types.json +35 -1
  11. package/es/form/src/form.vue2.mjs +0 -1
  12. package/es/form/src/form.vue2.mjs.map +1 -1
  13. package/es/group/src/group.vue2.mjs +1 -0
  14. package/es/group/src/group.vue2.mjs.map +1 -1
  15. package/es/hot-area-input/src/component/hot-area-content.vue2.mjs +23 -21
  16. package/es/hot-area-input/src/component/hot-area-content.vue2.mjs.map +1 -1
  17. package/es/icon/style/index.css +0 -1
  18. package/es/icon/style/index.scss +1 -1
  19. package/es/index.d.ts +1 -0
  20. package/es/index.mjs +5 -2
  21. package/es/index.mjs.map +1 -1
  22. package/es/index.scss +1 -0
  23. package/es/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +81 -0
  24. package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs +114 -0
  25. package/es/page-diy/src/config/rule/min/common/DkMinGrid.mjs.map +1 -0
  26. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +8 -0
  27. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs +7 -1
  28. package/es/page-diy/src/config/rule/min/common/DkMinSwiperImage.mjs.map +1 -1
  29. package/es/page-diy/src/config/rule/min/common/DkMinTitle.d.ts +35 -30
  30. package/es/page-diy/src/config/rule/min/common/DkMinTitle.mjs +76 -62
  31. package/es/page-diy/src/config/rule/min/common/DkMinTitle.mjs.map +1 -1
  32. package/es/page-diy/src/config/rule/min/common/index.d.ts +240 -60
  33. package/es/page-diy/src/config/rule/min/common/index.mjs +4 -2
  34. package/es/page-diy/src/config/rule/min/common/index.mjs.map +1 -1
  35. package/es/page-diy/src/config/rule/min/index.d.ts +240 -60
  36. package/es/page-diy/src/config/rule/web/common/DkViewSwipe.mjs +1 -1
  37. package/es/page-diy/src/config/rule/web/common/DkViewSwipe.mjs.map +1 -1
  38. package/es/page-diy/src/props.mjs +1 -1
  39. package/es/page-diy/src/props.mjs.map +1 -1
  40. package/es/page-diy/src/views/min/DkMinGrid.vue.d.ts +22 -0
  41. package/es/page-diy/src/views/min/DkMinGrid.vue.mjs +65 -0
  42. package/es/page-diy/src/views/min/DkMinGrid.vue.mjs.map +1 -0
  43. package/es/page-diy/src/views/min/DkMinSwiperImage.vue.d.ts +9 -0
  44. package/es/page-diy/src/views/min/DkMinSwiperImage.vue.mjs +7 -2
  45. package/es/page-diy/src/views/min/DkMinSwiperImage.vue.mjs.map +1 -1
  46. package/es/page-diy/src/views/min/DkMinTitle.vue.d.ts +62 -17
  47. package/es/page-diy/src/views/min/DkMinTitle.vue.mjs +59 -30
  48. package/es/page-diy/src/views/min/DkMinTitle.vue.mjs.map +1 -1
  49. package/es/page-diy/src/views/min/index.mjs +3 -1
  50. package/es/page-diy/src/views/min/index.mjs.map +1 -1
  51. package/es/page-diy/style/drag-tool.css +1 -1
  52. package/es/page-diy/style/drag-tool.scss +4 -0
  53. package/es/page-diy/style/index.css +1 -1
  54. package/es/page-diy/style/minViews/index.scss +8 -0
  55. package/es/style-box-input/src/style-box-input.vue2.mjs +200 -130
  56. package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
  57. package/es/style-box-input/style/index.css +1 -1
  58. package/es/style-box-input/style/index.scss +13 -3
  59. package/es/style-font-input/src/style-font-input.vue2.mjs +105 -272
  60. package/es/style-font-input/src/style-font-input.vue2.mjs.map +1 -1
  61. package/es/style-input/src/style-input.vue2.mjs +1 -0
  62. package/es/style-input/src/style-input.vue2.mjs.map +1 -1
  63. package/es/style-shadow-input/src/style-shadow-input.vue2.mjs +1 -1
  64. package/es/style-shadow-input/src/style-shadow-input.vue2.mjs.map +1 -1
  65. package/es/test/index.d.ts +4 -2
  66. package/es/test/src/test.vue.d.ts +4 -2
  67. package/es/test/src/test.vue2.mjs +14 -3
  68. package/es/test/src/test.vue2.mjs.map +1 -1
  69. package/es/tiny-editor/src/tiny-editor.vue2.mjs +1 -1
  70. package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
  71. package/es/uni-icon/style/index.css +1 -1
  72. package/es/uni-icon/style/index.scss +1 -1
  73. package/es/url-input/index.d.ts +35 -0
  74. package/es/url-input/index.mjs +8 -0
  75. package/es/url-input/index.mjs.map +1 -0
  76. package/es/url-input/src/props.d.ts +16 -0
  77. package/es/url-input/src/props.mjs +13 -0
  78. package/es/url-input/src/props.mjs.map +1 -0
  79. package/es/url-input/src/url-input-content.vue.d.ts +25 -0
  80. package/es/url-input/src/url-input-content.vue.mjs +7 -0
  81. package/es/url-input/src/url-input-content.vue.mjs.map +1 -0
  82. package/es/url-input/src/url-input-content.vue2.mjs +301 -0
  83. package/es/url-input/src/url-input-content.vue2.mjs.map +1 -0
  84. package/es/url-input/src/url-input-table.vue.d.ts +16 -0
  85. package/es/url-input/src/url-input-table.vue.mjs +7 -0
  86. package/es/url-input/src/url-input-table.vue.mjs.map +1 -0
  87. package/es/url-input/src/url-input-table.vue2.mjs +63 -0
  88. package/es/url-input/src/url-input-table.vue2.mjs.map +1 -0
  89. package/es/url-input/src/url-input.vue.d.ts +34 -0
  90. package/es/url-input/src/url-input.vue.mjs +7 -0
  91. package/es/url-input/src/url-input.vue.mjs.map +1 -0
  92. package/es/url-input/src/url-input.vue2.mjs +69 -0
  93. package/es/url-input/src/url-input.vue2.mjs.map +1 -0
  94. package/es/url-input/style/index.css +1 -0
  95. package/es/url-input/style/index.scss +39 -0
  96. package/lib/form/src/form.vue2.js +0 -1
  97. package/lib/form/src/form.vue2.js.map +1 -1
  98. package/lib/group/src/group.vue2.js +1 -0
  99. package/lib/group/src/group.vue2.js.map +1 -1
  100. package/lib/hot-area-input/src/component/hot-area-content.vue2.js +23 -21
  101. package/lib/hot-area-input/src/component/hot-area-content.vue2.js.map +1 -1
  102. package/lib/icon/style/index.css +0 -1
  103. package/lib/icon/style/index.scss +1 -1
  104. package/lib/index.d.ts +1 -0
  105. package/lib/index.js +8 -3
  106. package/lib/index.js.map +1 -1
  107. package/lib/index.scss +1 -0
  108. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.d.ts +81 -0
  109. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js +118 -0
  110. package/lib/page-diy/src/config/rule/min/common/DkMinGrid.js.map +1 -0
  111. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.d.ts +8 -0
  112. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js +7 -1
  113. package/lib/page-diy/src/config/rule/min/common/DkMinSwiperImage.js.map +1 -1
  114. package/lib/page-diy/src/config/rule/min/common/DkMinTitle.d.ts +35 -30
  115. package/lib/page-diy/src/config/rule/min/common/DkMinTitle.js +76 -62
  116. package/lib/page-diy/src/config/rule/min/common/DkMinTitle.js.map +1 -1
  117. package/lib/page-diy/src/config/rule/min/common/index.d.ts +240 -60
  118. package/lib/page-diy/src/config/rule/min/common/index.js +4 -2
  119. package/lib/page-diy/src/config/rule/min/common/index.js.map +1 -1
  120. package/lib/page-diy/src/config/rule/min/index.d.ts +240 -60
  121. package/lib/page-diy/src/config/rule/web/common/DkViewSwipe.js +1 -1
  122. package/lib/page-diy/src/config/rule/web/common/DkViewSwipe.js.map +1 -1
  123. package/lib/page-diy/src/props.js +1 -1
  124. package/lib/page-diy/src/props.js.map +1 -1
  125. package/lib/page-diy/src/views/min/DkMinGrid.vue.d.ts +22 -0
  126. package/lib/page-diy/src/views/min/DkMinGrid.vue.js +69 -0
  127. package/lib/page-diy/src/views/min/DkMinGrid.vue.js.map +1 -0
  128. package/lib/page-diy/src/views/min/DkMinSwiperImage.vue.d.ts +9 -0
  129. package/lib/page-diy/src/views/min/DkMinSwiperImage.vue.js +7 -2
  130. package/lib/page-diy/src/views/min/DkMinSwiperImage.vue.js.map +1 -1
  131. package/lib/page-diy/src/views/min/DkMinTitle.vue.d.ts +62 -17
  132. package/lib/page-diy/src/views/min/DkMinTitle.vue.js +58 -29
  133. package/lib/page-diy/src/views/min/DkMinTitle.vue.js.map +1 -1
  134. package/lib/page-diy/src/views/min/index.js +3 -1
  135. package/lib/page-diy/src/views/min/index.js.map +1 -1
  136. package/lib/page-diy/style/drag-tool.css +1 -1
  137. package/lib/page-diy/style/drag-tool.scss +4 -0
  138. package/lib/page-diy/style/index.css +1 -1
  139. package/lib/page-diy/style/minViews/index.scss +8 -0
  140. package/lib/style-box-input/src/style-box-input.vue2.js +199 -129
  141. package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
  142. package/lib/style-box-input/style/index.css +1 -1
  143. package/lib/style-box-input/style/index.scss +13 -3
  144. package/lib/style-font-input/src/style-font-input.vue2.js +105 -272
  145. package/lib/style-font-input/src/style-font-input.vue2.js.map +1 -1
  146. package/lib/style-input/src/style-input.vue2.js +1 -0
  147. package/lib/style-input/src/style-input.vue2.js.map +1 -1
  148. package/lib/style-shadow-input/src/style-shadow-input.vue2.js +1 -1
  149. package/lib/style-shadow-input/src/style-shadow-input.vue2.js.map +1 -1
  150. package/lib/test/index.d.ts +4 -2
  151. package/lib/test/src/test.vue.d.ts +4 -2
  152. package/lib/test/src/test.vue2.js +14 -3
  153. package/lib/test/src/test.vue2.js.map +1 -1
  154. package/lib/tiny-editor/src/tiny-editor.vue2.js +1 -1
  155. package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
  156. package/lib/uni-icon/style/index.css +1 -1
  157. package/lib/uni-icon/style/index.scss +1 -1
  158. package/lib/url-input/index.d.ts +35 -0
  159. package/lib/url-input/index.js +14 -0
  160. package/lib/url-input/index.js.map +1 -0
  161. package/lib/url-input/src/props.d.ts +16 -0
  162. package/lib/url-input/src/props.js +15 -0
  163. package/lib/url-input/src/props.js.map +1 -0
  164. package/lib/url-input/src/url-input-content.vue.d.ts +25 -0
  165. package/lib/url-input/src/url-input-content.vue.js +11 -0
  166. package/lib/url-input/src/url-input-content.vue.js.map +1 -0
  167. package/lib/url-input/src/url-input-content.vue2.js +305 -0
  168. package/lib/url-input/src/url-input-content.vue2.js.map +1 -0
  169. package/lib/url-input/src/url-input-table.vue.d.ts +16 -0
  170. package/lib/url-input/src/url-input-table.vue.js +11 -0
  171. package/lib/url-input/src/url-input-table.vue.js.map +1 -0
  172. package/lib/url-input/src/url-input-table.vue2.js +67 -0
  173. package/lib/url-input/src/url-input-table.vue2.js.map +1 -0
  174. package/lib/url-input/src/url-input.vue.d.ts +34 -0
  175. package/lib/url-input/src/url-input.vue.js +11 -0
  176. package/lib/url-input/src/url-input.vue.js.map +1 -0
  177. package/lib/url-input/src/url-input.vue2.js +73 -0
  178. package/lib/url-input/src/url-input.vue2.js.map +1 -0
  179. package/lib/url-input/style/index.css +1 -0
  180. package/lib/url-input/style/index.scss +39 -0
  181. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue2.js","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n v-bind=\"dialogProps\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\n\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => props.formData,\n () => {\n _formData.value = props.formData\n },\n {\n deep: true,\n }\n)\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n const config = _formData.value?.config || {}\n console.log(config)\n if (config?.width) {\n return config?.width\n }\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (config?.defaultWidth) {\n defaultWidth = config?.defaultWidth\n }\n let minWidth = 768\n // 判断是否为百分比\n if (!defaultWidth.endsWith('%')) {\n minWidth = parseInt(defaultWidth)\n }\n return width.value < minWidth ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n if (_formData.value?.config?.style) {\n return _formData.value?.config?.style\n }\n if (props.dialog?.style) {\n return props.dialog?.style\n }\n return {}\n})\n// const draggable = computed(() => {\n// let draggable = false\n// if (props.dialog?.draggable) {\n// draggable = props.dialog?.draggable\n// }\n// if (_formData.value?.config?.draggable !== undefined) {\n// draggable = _formData.value?.config?.draggable\n// }\n// return draggable\n// })\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n const autoFullscreen = _formData.value?.config?.autoFullscreen !== false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n\n if (width.value < 768 && autoFullscreen) {\n defaultFullscreen = true\n }\n\n return defaultFullscreen\n})\n\nconst dialogProps = computed(() => {\n return Object.assign(props.dialog, _formData.value?.config?.dialog)\n})\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","createNamespace","value","isArray","config","reactive","_config","ref","computed","useWindowSize","watch","isObject","request","ElMessage","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"form.vue2.js","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n v-bind=\"dialogProps\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\n\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => props.formData,\n () => {\n _formData.value = props.formData\n },\n {\n deep: true,\n }\n)\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n const config = _formData.value?.config || {}\n if (config?.width) {\n return config?.width\n }\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (config?.defaultWidth) {\n defaultWidth = config?.defaultWidth\n }\n let minWidth = 768\n // 判断是否为百分比\n if (!defaultWidth.endsWith('%')) {\n minWidth = parseInt(defaultWidth)\n }\n return width.value < minWidth ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n if (_formData.value?.config?.style) {\n return _formData.value?.config?.style\n }\n if (props.dialog?.style) {\n return props.dialog?.style\n }\n return {}\n})\n// const draggable = computed(() => {\n// let draggable = false\n// if (props.dialog?.draggable) {\n// draggable = props.dialog?.draggable\n// }\n// if (_formData.value?.config?.draggable !== undefined) {\n// draggable = _formData.value?.config?.draggable\n// }\n// return draggable\n// })\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n const autoFullscreen = _formData.value?.config?.autoFullscreen !== false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n\n if (width.value < 768 && autoFullscreen) {\n defaultFullscreen = true\n }\n\n return defaultFullscreen\n})\n\nconst dialogProps = computed(() => {\n return Object.assign(props.dialog, _formData.value?.config?.dialog)\n})\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","createNamespace","value","isArray","config","reactive","_config","ref","computed","useWindowSize","watch","isObject","request","ElMessage","onMounted"],"mappings":"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"}
@@ -261,6 +261,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
261
261
  (vue.openBlock(), vue.createBlock(_component_el_button, {
262
262
  key: "a_def",
263
263
  style: { "width": "100%" },
264
+ type: "primary",
264
265
  onClick: add
265
266
  }, {
266
267
  default: vue.withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"group.vue2.js","sources":["../../../src/group/src/group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkGroup',\n});\n</script>\n<template>\n <div :class=\"'dk-group _fc-group ' + (disabled ? '_fc-group-disabled' : '')\">\n <el-divider v-if=\"props.title\">{{ props.title }}</el-divider>\n <div v-if=\"data.sort.length === 0\">\n <el-button :key=\"'a_def'\" style=\"width: 100%\" @click=\"add\"> 添加数据 </el-button>\n </div>\n <draggable\n tag=\"el-collapse\"\n :list=\"props.modelValue\"\n :component-data=\"collapseComponentData\"\n item-key=\"id\"\n handle=\".collapse-title-rank\"\n >\n <template #item=\"{ element, index }\">\n <el-collapse-item :title=\"element.title\" :name=\"index\">\n <template #title>\n <div class=\"collapse-title\">\n <dk-icon icon=\"Rank\" class=\"collapse-title-rank\"></dk-icon>\n <span>{{ getTitle(index) }}</span>\n </div>\n </template>\n <template #default>\n <div :key=\"index\" class=\"_dk-group-container\">\n <Type\n :key=\"index\"\n :in-for=\"true\"\n :model-value=\"getFieldValue(index)\"\n :rule=\"data.cacheRule[index].rule\"\n :option=\"data.cacheRule[index].options\"\n :extend-option=\"true\"\n @update:modelValue=\"formData(index, $event)\"\n @emit-event=\"(name: any, ...args: any) => emitEvent(name, args, index)\"\n @update:api=\"($f: any) => add$f(index, $f)\"\n />\n <div class=\"_dk-group-handle\">\n <el-button-group>\n <el-button icon=\"Plus\" plain @click=\"add\" />\n <el-button icon=\"Delete\" plain @click=\"del(index, index + 1)\" />\n </el-button-group>\n </div>\n </div>\n </template>\n </el-collapse-item>\n </template>\n </draggable>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { markRaw, nextTick, reactive, watch, onMounted } from 'vue'\nimport { deepCopy, deepExtend, hasProperty } from '../utils/utils'\nimport extend from '../utils/extend'\n// import draggable from 'vuedraggable'\nimport { groupProps } from './props'\n\n\n\nconst props = defineProps(groupProps)\nconst emit = defineEmits(['update:modelValue', 'change', 'itemMounted', 'remove', 'add'])\nconst data: any = reactive({\n len: 0,\n cacheRule: {},\n cacheValue: {},\n sort: [],\n form: markRaw(props.formCreateInject.form.$form()),\n loading: true,\n})\n\nconst collapseComponentData = reactive({\n modelValue: [0],\n})\n\nconst Type = data.form\n\nwatch(\n () => props.rule, // 侦听 rule 属性\n (n, o) => {\n // 您原来的 handler 逻辑\n Object.keys(data.cacheRule).forEach((v) => {\n const item = data.cacheRule[v]\n if (item.$f) {\n const val = item.$f.formData()\n if (n === o) {\n item.$f.deferSyncValue(() => {\n deepExtend(item.rule, n, false)\n item.$f.setValue(val)\n }, true)\n } else {\n const val = item.$f.formData()\n item.$f.once('reloading', () => {\n item.$f.setValue(val)\n })\n item.rule = deepCopy(n)\n }\n }\n })\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => props.disabled, // 侦听 disabled 属性\n (n) => {\n // 您原来的 disabled 逻辑\n if (props.syncDisabled) {\n const lst = data.cacheRule\n Object.keys(lst).forEach((k) => {\n lst[k].$f.disabled(n)\n })\n }\n }\n)\n\nwatch(\n () => props.expand, // 侦听 expand 属性\n (n) => {\n // 您原来的 expand 逻辑\n const d = n - props.modelValue.length\n if (d > 0) {\n expandRule(d)\n }\n }\n)\n\nwatch(\n () => props.modelValue, // 侦听 modelValue 属性\n (n) => {\n // 您原来的 modelValue 逻辑\n n = n || []\n const keys = Object.keys(data.cacheRule)\n const total = keys.length // 缓存数\n const len = total - n.length // 缓存数-value数\n if (len < 0) {\n for (let i = len; i < 0; i++) {\n addRule(n.length - 1, true)\n }\n for (let i = 0; i < total; i++) {\n setValue(keys[i], n[i])\n }\n } else {\n if (len > 0) {\n for (let i = 0; i < len; i++) {\n console.log('keys[total - i - 1]', keys[total - i - 1])\n removeRule(keys[total - i - 1])\n }\n }\n n.forEach((val, i) => {\n setValue(keys[i], n[i])\n })\n }\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => ({ ...data.cacheRule }),\n (n) => {\n data.sort = Object.keys(n)\n },\n { immediate: true }\n)\n\nconst getFieldValue = (index: number) => {\n if (props.field) {\n return { [props.field]: _value(props.modelValue[index]) }\n } else {\n return props.modelValue[index]\n }\n}\n\nconst getTitle = (index: number) => {\n if (data.cacheRule[index]) {\n const { rule } = data.cacheRule[index]\n const defaultField = props.titleField ? props.titleField : rule[0]?.field\n return data.cacheRule[index].$f?.getValue(defaultField) || '点击展开'\n } else {\n return '点击展开'\n }\n}\nconst _value = (v: any) => {\n return v && hasProperty(v, props.field) ? v[props.field] : v\n}\nconst cache = (k: any, val: any) => {\n data.cacheValue[k] = JSON.stringify(val)\n}\nconst input = (value: any) => {\n emit('update:modelValue', value)\n emit('change', value)\n}\nconst formData = (index: any, formData: any) => {\n nextTick(() => {\n const keys = Object.keys(data.cacheRule)\n const value = keys.map((k: any) => {\n const _data = index === k ? formData : { ...data.cacheRule[k].$f.form }\n const value = props.field ? _data[props.field] || null : _data\n cache(k, value)\n return value\n })\n input(value)\n })\n}\n\nconst add$f = (index: any, $f: any) => {\n data.cacheRule[index].$f = $f\n nextTick(() => {\n if (props.syncDisabled) {\n $f.disabled(props.disabled)\n }\n emit('itemMounted', $f, Object.keys(data.cacheRule).indexOf(index))\n })\n}\n\nonMounted(() => {\n data.loading = false\n})\n\nconst setValue = (key: any, value: any) => {\n const field = props.field\n if (field) {\n value = { [field]: _value(value) }\n }\n if (data.cacheValue[key] === JSON.stringify(field ? value[field] : value)) {\n return\n }\n cache(key, value)\n}\nconst addRule = (index: any, isEmit = false) => {\n const rule = props.formCreateInject.form.copyRules(props.rule || [])\n const options: any = props.options\n ? { ...props.options }\n : {\n submitBtn: false,\n resetBtn: false,\n }\n if (props.defaultValue) {\n if (!options.formData) options.formData = {}\n const defVal = deepCopy(props.defaultValue)\n extend(options.formData, props.field ? { [props.field]: defVal } : defVal)\n }\n props.parse && props.parse({ rule, options, index: data.sort.length })\n data.cacheRule[index] = { rule, options }\n if (isEmit) {\n nextTick(() => emit('add', rule, Object.keys(data.cacheRule).length - 1))\n }\n}\n\nconst removeRule = (index: any, isEmit = false) => {\n delete data.cacheRule[index]\n delete data.cacheValue[index]\n if (isEmit) {\n nextTick(() => emit('remove', index))\n }\n}\nconst add = () => {\n if (props.disabled || props.onBeforeAdd(props.modelValue) === false) {\n return\n }\n const value = [...props.modelValue]\n value.push(props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {})\n input(value)\n collapseComponentData.modelValue = [value.length - 1]\n}\nconst del = (index: number, key: number) => {\n if (props.disabled || props.onBeforeRemove(props.modelValue, index) === false) {\n return\n }\n const value = [...props.modelValue]\n value.splice(index, 1)\n input(value)\n}\n\nconst emitEvent = (name: any, args: any, index: any) => {\n emit(name, ...args, data.cacheRule[index].$f, index)\n}\n\nconst expandRule = (n: any) => {\n for (let i = 0; i < n; i++) {\n // eslint-disable-next-line vue/no-mutating-props\n props.modelValue.push(props.field ? null : {})\n }\n}\n\nconst d = (props.expand || 0) - props.modelValue.length\nfor (let i = 0; i < props.modelValue.length; i++) {\n addRule(i)\n}\nif (d > 0) {\n expandRule(d)\n}\n</script>\n"],"names":["__MACROS_defineComponent","reactive","markRaw","watch","deepExtend","val","deepCopy","d","hasProperty","formData","nextTick","value","onMounted","extend"],"mappings":"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"}
1
+ {"version":3,"file":"group.vue2.js","sources":["../../../src/group/src/group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkGroup',\n});\n</script>\n<template>\n <div :class=\"'dk-group _fc-group ' + (disabled ? '_fc-group-disabled' : '')\">\n <el-divider v-if=\"props.title\">{{ props.title }}</el-divider>\n <div v-if=\"data.sort.length === 0\">\n <el-button :key=\"'a_def'\" style=\"width: 100%\" type=\"primary\" @click=\"add\"> 添加数据 </el-button>\n </div>\n <draggable\n tag=\"el-collapse\"\n :list=\"props.modelValue\"\n :component-data=\"collapseComponentData\"\n item-key=\"id\"\n handle=\".collapse-title-rank\"\n >\n <template #item=\"{ element, index }\">\n <el-collapse-item :title=\"element.title\" :name=\"index\">\n <template #title>\n <div class=\"collapse-title\">\n <dk-icon icon=\"Rank\" class=\"collapse-title-rank\"></dk-icon>\n <span>{{ getTitle(index) }}</span>\n </div>\n </template>\n <template #default>\n <div :key=\"index\" class=\"_dk-group-container\">\n <Type\n :key=\"index\"\n :in-for=\"true\"\n :model-value=\"getFieldValue(index)\"\n :rule=\"data.cacheRule[index].rule\"\n :option=\"data.cacheRule[index].options\"\n :extend-option=\"true\"\n @update:modelValue=\"formData(index, $event)\"\n @emit-event=\"(name: any, ...args: any) => emitEvent(name, args, index)\"\n @update:api=\"($f: any) => add$f(index, $f)\"\n />\n <div class=\"_dk-group-handle\">\n <el-button-group>\n <el-button icon=\"Plus\" plain @click=\"add\" />\n <el-button icon=\"Delete\" plain @click=\"del(index, index + 1)\" />\n </el-button-group>\n </div>\n </div>\n </template>\n </el-collapse-item>\n </template>\n </draggable>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { markRaw, nextTick, reactive, watch, onMounted } from 'vue'\nimport { deepCopy, deepExtend, hasProperty } from '../utils/utils'\nimport extend from '../utils/extend'\n// import draggable from 'vuedraggable'\nimport { groupProps } from './props'\n\n\n\nconst props = defineProps(groupProps)\nconst emit = defineEmits(['update:modelValue', 'change', 'itemMounted', 'remove', 'add'])\nconst data: any = reactive({\n len: 0,\n cacheRule: {},\n cacheValue: {},\n sort: [],\n form: markRaw(props.formCreateInject.form.$form()),\n loading: true,\n})\n\nconst collapseComponentData = reactive({\n modelValue: [0],\n})\n\nconst Type = data.form\n\nwatch(\n () => props.rule, // 侦听 rule 属性\n (n, o) => {\n // 您原来的 handler 逻辑\n Object.keys(data.cacheRule).forEach((v) => {\n const item = data.cacheRule[v]\n if (item.$f) {\n const val = item.$f.formData()\n if (n === o) {\n item.$f.deferSyncValue(() => {\n deepExtend(item.rule, n, false)\n item.$f.setValue(val)\n }, true)\n } else {\n const val = item.$f.formData()\n item.$f.once('reloading', () => {\n item.$f.setValue(val)\n })\n item.rule = deepCopy(n)\n }\n }\n })\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => props.disabled, // 侦听 disabled 属性\n (n) => {\n // 您原来的 disabled 逻辑\n if (props.syncDisabled) {\n const lst = data.cacheRule\n Object.keys(lst).forEach((k) => {\n lst[k].$f.disabled(n)\n })\n }\n }\n)\n\nwatch(\n () => props.expand, // 侦听 expand 属性\n (n) => {\n // 您原来的 expand 逻辑\n const d = n - props.modelValue.length\n if (d > 0) {\n expandRule(d)\n }\n }\n)\n\nwatch(\n () => props.modelValue, // 侦听 modelValue 属性\n (n) => {\n // 您原来的 modelValue 逻辑\n n = n || []\n const keys = Object.keys(data.cacheRule)\n const total = keys.length // 缓存数\n const len = total - n.length // 缓存数-value数\n if (len < 0) {\n for (let i = len; i < 0; i++) {\n addRule(n.length - 1, true)\n }\n for (let i = 0; i < total; i++) {\n setValue(keys[i], n[i])\n }\n } else {\n if (len > 0) {\n for (let i = 0; i < len; i++) {\n console.log('keys[total - i - 1]', keys[total - i - 1])\n removeRule(keys[total - i - 1])\n }\n }\n n.forEach((val, i) => {\n setValue(keys[i], n[i])\n })\n }\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => ({ ...data.cacheRule }),\n (n) => {\n data.sort = Object.keys(n)\n },\n { immediate: true }\n)\n\nconst getFieldValue = (index: number) => {\n if (props.field) {\n return { [props.field]: _value(props.modelValue[index]) }\n } else {\n return props.modelValue[index]\n }\n}\n\nconst getTitle = (index: number) => {\n if (data.cacheRule[index]) {\n const { rule } = data.cacheRule[index]\n const defaultField = props.titleField ? props.titleField : rule[0]?.field\n return data.cacheRule[index].$f?.getValue(defaultField) || '点击展开'\n } else {\n return '点击展开'\n }\n}\nconst _value = (v: any) => {\n return v && hasProperty(v, props.field) ? v[props.field] : v\n}\nconst cache = (k: any, val: any) => {\n data.cacheValue[k] = JSON.stringify(val)\n}\nconst input = (value: any) => {\n emit('update:modelValue', value)\n emit('change', value)\n}\nconst formData = (index: any, formData: any) => {\n nextTick(() => {\n const keys = Object.keys(data.cacheRule)\n const value = keys.map((k: any) => {\n const _data = index === k ? formData : { ...data.cacheRule[k].$f.form }\n const value = props.field ? _data[props.field] || null : _data\n cache(k, value)\n return value\n })\n input(value)\n })\n}\n\nconst add$f = (index: any, $f: any) => {\n data.cacheRule[index].$f = $f\n nextTick(() => {\n if (props.syncDisabled) {\n $f.disabled(props.disabled)\n }\n emit('itemMounted', $f, Object.keys(data.cacheRule).indexOf(index))\n })\n}\n\nonMounted(() => {\n data.loading = false\n})\n\nconst setValue = (key: any, value: any) => {\n const field = props.field\n if (field) {\n value = { [field]: _value(value) }\n }\n if (data.cacheValue[key] === JSON.stringify(field ? value[field] : value)) {\n return\n }\n cache(key, value)\n}\nconst addRule = (index: any, isEmit = false) => {\n const rule = props.formCreateInject.form.copyRules(props.rule || [])\n const options: any = props.options\n ? { ...props.options }\n : {\n submitBtn: false,\n resetBtn: false,\n }\n if (props.defaultValue) {\n if (!options.formData) options.formData = {}\n const defVal = deepCopy(props.defaultValue)\n extend(options.formData, props.field ? { [props.field]: defVal } : defVal)\n }\n props.parse && props.parse({ rule, options, index: data.sort.length })\n data.cacheRule[index] = { rule, options }\n if (isEmit) {\n nextTick(() => emit('add', rule, Object.keys(data.cacheRule).length - 1))\n }\n}\n\nconst removeRule = (index: any, isEmit = false) => {\n delete data.cacheRule[index]\n delete data.cacheValue[index]\n if (isEmit) {\n nextTick(() => emit('remove', index))\n }\n}\nconst add = () => {\n if (props.disabled || props.onBeforeAdd(props.modelValue) === false) {\n return\n }\n const value = [...props.modelValue]\n value.push(props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {})\n input(value)\n collapseComponentData.modelValue = [value.length - 1]\n}\nconst del = (index: number, key: number) => {\n if (props.disabled || props.onBeforeRemove(props.modelValue, index) === false) {\n return\n }\n const value = [...props.modelValue]\n value.splice(index, 1)\n input(value)\n}\n\nconst emitEvent = (name: any, args: any, index: any) => {\n emit(name, ...args, data.cacheRule[index].$f, index)\n}\n\nconst expandRule = (n: any) => {\n for (let i = 0; i < n; i++) {\n // eslint-disable-next-line vue/no-mutating-props\n props.modelValue.push(props.field ? null : {})\n }\n}\n\nconst d = (props.expand || 0) - props.modelValue.length\nfor (let i = 0; i < props.modelValue.length; i++) {\n addRule(i)\n}\nif (d > 0) {\n expandRule(d)\n}\n</script>\n"],"names":["__MACROS_defineComponent","reactive","markRaw","watch","deepExtend","val","deepCopy","d","hasProperty","formData","nextTick","value","onMounted","extend"],"mappings":"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"}
@@ -22,6 +22,7 @@ const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode(
22
22
  -1
23
23
  /* HOISTED */
24
24
  );
25
+ const _hoisted_7 = { style: { "width": "100%", "display": "flex", "justify-content": "space-between" } };
25
26
  const __default__ = vue.defineComponent({
26
27
  name: "HotAreaContent"
27
28
  });
@@ -117,8 +118,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
117
118
  const _component_el_empty = vue.resolveComponent("el-empty");
118
119
  const _component_dk_image_input = vue.resolveComponent("dk-image-input");
119
120
  const _component_el_form_item = vue.resolveComponent("el-form-item");
121
+ const _component_dk_url_input = vue.resolveComponent("dk-url-input");
122
+ const _component_dk_icon = vue.resolveComponent("dk-icon");
120
123
  const _component_el_button = vue.resolveComponent("el-button");
121
- const _component_el_input = vue.resolveComponent("el-input");
122
124
  const _component_el_form = vue.resolveComponent("el-form");
123
125
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
124
126
  vue.createElementVNode("div", _hoisted_2, [
@@ -207,28 +209,28 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
207
209
  vue.renderList(hotData.views, (item, key) => {
208
210
  return vue.openBlock(), vue.createBlock(_component_el_form_item, {
209
211
  key,
210
- label: "\u70ED\u533A" + (key + 1)
212
+ label: "\u70ED\u533A\u5730\u5740" + (key + 1)
211
213
  }, {
212
214
  default: vue.withCtx(() => [
213
- vue.createVNode(_component_el_input, {
214
- modelValue: hotData.views[key].url,
215
- "onUpdate:modelValue": ($event) => hotData.views[key].url = $event,
216
- placeholder: "\u586B\u5199\u8DF3\u8F6C\u5730\u5740"
217
- }, {
218
- append: vue.withCtx(() => [
219
- vue.createVNode(_component_el_button, {
220
- onClick: ($event) => delView(key)
221
- }, {
222
- default: vue.withCtx(() => [
223
- vue.createTextVNode("\u5220\u9664")
224
- ]),
225
- _: 2
226
- /* DYNAMIC */
227
- }, 1032, ["onClick"])
228
- ]),
229
- _: 2
230
- /* DYNAMIC */
231
- }, 1032, ["modelValue", "onUpdate:modelValue"])
215
+ vue.createElementVNode("div", _hoisted_7, [
216
+ vue.createVNode(_component_dk_url_input, {
217
+ modelValue: hotData.views[key].url,
218
+ "onUpdate:modelValue": ($event) => hotData.views[key].url = $event,
219
+ placeholder: "\u586B\u5199\u8DF3\u8F6C\u5730\u5740",
220
+ style: { "width": "100%", "margin-right": "5px" }
221
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
222
+ vue.createVNode(_component_el_button, {
223
+ type: "danger",
224
+ plain: "",
225
+ onClick: ($event) => delView(key)
226
+ }, {
227
+ default: vue.withCtx(() => [
228
+ vue.createVNode(_component_dk_icon, { icon: "Delete" })
229
+ ]),
230
+ _: 2
231
+ /* DYNAMIC */
232
+ }, 1032, ["onClick"])
233
+ ])
232
234
  ]),
233
235
  _: 2
234
236
  /* DYNAMIC */
@@ -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\">\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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"}
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 <div style=\"width: 100%; display: flex; justify-content: space-between\">\n <dk-url-input\n v-model=\"hotData.views[key].url\"\n placeholder=\"填写跳转地址\"\n style=\"width: 100%; margin-right: 5px\"\n />\n <el-button type=\"danger\" plain @click=\"delView(key)\">\n <dk-icon icon=\"Delete\"></dk-icon>\n </el-button>\n </div>\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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"}
@@ -1 +0,0 @@
1
- .dk-icon:hover{color:var(--hover-color)!important}
@@ -1,3 +1,3 @@
1
1
  .dk-icon:hover {
2
- color: var(--hover-color) !important;
2
+ //color: var(--hover-color) !important;
3
3
  }
package/lib/index.d.ts CHANGED
@@ -34,6 +34,7 @@ export * from './style-animation-input';
34
34
  export * from './animate-select';
35
35
  export * from './uni-icon';
36
36
  export * from './uni-icon-input';
37
+ export * from './url-input';
37
38
  export declare const install: (app: App, option?: any) => void;
38
39
  declare const _default: {
39
40
  install: (app: App<any>, option?: any) => void;
package/lib/index.js CHANGED
@@ -10,7 +10,7 @@ var index$1 = require('./tiny-editor/index.js');
10
10
  var index$2 = require('./icon/index.js');
11
11
  var index$4 = require('./color-input/index.js');
12
12
  var index$5 = require('./hot-area-input/index.js');
13
- var index$A = require('./dialog/index.js');
13
+ var index$B = require('./dialog/index.js');
14
14
  var index$6 = require('./form/index.js');
15
15
  var index$7 = require('./attachment/index.js');
16
16
  var index$8 = require('./attachment-dialog/index.js');
@@ -40,6 +40,7 @@ var index$w = require('./style-animation-input/index.js');
40
40
  var index$x = require('./animate-select/index.js');
41
41
  var index$z = require('./uni-icon-input/index.js');
42
42
  var index$y = require('./uni-icon/index.js');
43
+ var index$A = require('./url-input/index.js');
43
44
  var utils = require('@vipl520/utils');
44
45
  var props = require('./tiny-editor/src/props.js');
45
46
  var props$1 = require('./icon/src/props.js');
@@ -76,6 +77,7 @@ var props$v = require('./style-animation-input/src/props.js');
76
77
  var props$w = require('./animate-select/src/props.js');
77
78
  var props$x = require('./uni-icon/src/props.js');
78
79
  var props$y = require('./uni-icon-input/src/props.js');
80
+ var props$z = require('./url-input/src/props.js');
79
81
 
80
82
  const components = [
81
83
  index$k.Test,
@@ -89,7 +91,7 @@ const components = [
89
91
  // 热区选择器
90
92
  index$5.HotAreaInput,
91
93
  // 对话框
92
- index$A.Dialog,
94
+ index$B.Dialog,
93
95
  // json表单
94
96
  index$6.Form,
95
97
  // 附件
@@ -156,7 +158,8 @@ const components = [
156
158
  Vue3DraggableResizable,
157
159
  draggable,
158
160
  index$z.UniIconInput,
159
- index$y.UniIcon
161
+ index$y.UniIcon,
162
+ index$A.UrlInput
160
163
  // TODO 普通上传 upload
161
164
  // TODO tag选择器 tag-input
162
165
  // TODO 链接选择器 link-input
@@ -216,6 +219,7 @@ exports.StyleAnimationInput = index$w.StyleAnimationInput;
216
219
  exports.AnimateSelect = index$x.AnimateSelect;
217
220
  exports.UniIconInput = index$z.UniIconInput;
218
221
  exports.UniIcon = index$y.UniIcon;
222
+ exports.UrlInput = index$A.UrlInput;
219
223
  exports.tinyEditorProps = props.tinyEditorProps;
220
224
  exports.iconProps = props$1.iconProps;
221
225
  exports.groupProps = props$2.groupProps;
@@ -253,6 +257,7 @@ exports.styleAnimationInputProps = props$v.styleAnimationInputProps;
253
257
  exports.animateSelectProps = props$w.animateSelectProps;
254
258
  exports.uniIconProps = props$x.uniIconProps;
255
259
  exports.uniIconInputProps = props$y.uniIconInputProps;
260
+ exports.urlInputProps = props$z.urlInputProps;
256
261
  exports.default = index;
257
262
  exports.install = install;
258
263
  //# sourceMappingURL=index.js.map
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 draggable from 'vuedraggable'\nimport Vue3DraggableResizable from 'vue3-draggable-resizable'\n\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 { StyleAnimationInput } from './style-animation-input'\nimport { AnimateSelect } from './animate-select'\nimport { UniIconInput } from './uni-icon-input'\nimport { UniIcon } from './uni-icon'\n\nimport { setGlobalConfig, directives } from '@vipl520/utils'\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'\nexport * from './style-animation-input'\nexport * from './animate-select'\nexport * from './uni-icon'\nexport * from './uni-icon-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 StyleAnimationInput,\n // 动画class选择\n AnimateSelect,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n Vue3DraggableResizable,\n draggable,\n UniIconInput,\n UniIcon,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\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","StyleAnimationInput","AnimateSelect","Table","Select","PosterInput","Poster","UniIconInput","UniIcon","directives","setGlobalConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,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,2BAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,aAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA;AAAA,EAGAC,mBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA,EACA,sBAAA;AAAA,EACA,SAAA;AAAA,EACAC,oBAAA;AAAA,EACAC,eAAA;AAAA;AAAA;AAAA;AAAA;AAKF,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 draggable from 'vuedraggable'\nimport Vue3DraggableResizable from 'vue3-draggable-resizable'\n\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 { StyleAnimationInput } from './style-animation-input'\nimport { AnimateSelect } from './animate-select'\nimport { UniIconInput } from './uni-icon-input'\nimport { UniIcon } from './uni-icon'\nimport { UrlInput } from './url-input'\n\nimport { setGlobalConfig, directives } from '@vipl520/utils'\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'\nexport * from './style-animation-input'\nexport * from './animate-select'\nexport * from './uni-icon'\nexport * from './uni-icon-input'\nexport * from './url-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 StyleAnimationInput,\n // 动画class选择\n AnimateSelect,\n // 数据表格\n Table,\n // 选择\n Select,\n // 表单组/对象表单\n // 海报选择器\n PosterInput,\n // 海报\n Poster,\n Vue3DraggableResizable,\n draggable,\n UniIconInput,\n UniIcon,\n UrlInput,\n // TODO 普通上传 upload\n // TODO tag选择器 tag-input\n // TODO 链接选择器 link-input\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","StyleAnimationInput","AnimateSelect","Table","Select","PosterInput","Poster","UniIconInput","UniIcon","UrlInput","directives","setGlobalConfig"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFA,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,2BAAA;AAAA;AAAA,EAEAC,qBAAA;AAAA;AAAA,EAEAC,aAAA;AAAA;AAAA,EAEAC,cAAA;AAAA;AAAA;AAAA,EAGAC,mBAAA;AAAA;AAAA,EAEAC,cAAA;AAAA,EACA,sBAAA;AAAA,EACA,SAAA;AAAA,EACAC,oBAAA;AAAA,EACAC,eAAA;AAAA,EACAC,gBAAA;AAAA;AAAA;AAAA;AAAA;AAKF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.scss CHANGED
@@ -26,6 +26,7 @@
26
26
  @import './style-animation-input/style/index.scss';
27
27
  @import './uni-icon/style/index.scss';
28
28
  @import './uni-icon-input/style/index.scss';
29
+ @import './url-input/style/index.scss';
29
30
 
30
31
  //
31
32
  ::-webkit-scrollbar {
@@ -0,0 +1,81 @@
1
+ declare namespace _default {
2
+ export let icon: string;
3
+ export { label };
4
+ export { name };
5
+ export function rule(): {
6
+ type: string;
7
+ props: {
8
+ imageStyle: {
9
+ width: string;
10
+ height: string;
11
+ marginBottom: string;
12
+ borderRadius: string;
13
+ };
14
+ list: {
15
+ title: string;
16
+ image: string;
17
+ }[];
18
+ };
19
+ showStyle: boolean;
20
+ children: never[];
21
+ style: {};
22
+ setting: {
23
+ style: {
24
+ backgroundColor: string;
25
+ };
26
+ };
27
+ };
28
+ export function props(): ({
29
+ type: string;
30
+ field: string;
31
+ title: string;
32
+ value: number;
33
+ props?: undefined;
34
+ } | {
35
+ type: string;
36
+ field: string;
37
+ title: string;
38
+ props: {
39
+ title: string;
40
+ defaultValue: {
41
+ title: string;
42
+ image: string;
43
+ };
44
+ rule: {
45
+ type: string;
46
+ field: string;
47
+ title: string;
48
+ }[];
49
+ isDrawer?: undefined;
50
+ drawerProps?: undefined;
51
+ hideComponents?: undefined;
52
+ };
53
+ value: never[];
54
+ } | {
55
+ type: string;
56
+ field: string;
57
+ title: string;
58
+ value?: undefined;
59
+ props?: undefined;
60
+ } | {
61
+ type: string;
62
+ field: string;
63
+ title: string;
64
+ props: {
65
+ isDrawer: boolean;
66
+ drawerProps: {
67
+ title: string;
68
+ size: string;
69
+ zIndex: number;
70
+ };
71
+ hideComponents: string[];
72
+ title?: undefined;
73
+ defaultValue?: undefined;
74
+ rule?: undefined;
75
+ };
76
+ value?: undefined;
77
+ })[];
78
+ }
79
+ export default _default;
80
+ declare const label: "宫格";
81
+ declare const name: "DkMinGrid";
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const label = "\u5BAB\u683C";
6
+ const name = "DkMinGrid";
7
+ var DkMinGrid = {
8
+ icon: "mdi:grid",
9
+ label,
10
+ name,
11
+ rule() {
12
+ return {
13
+ type: name,
14
+ props: {
15
+ imageStyle: {
16
+ width: "40px",
17
+ height: "40px",
18
+ marginBottom: "10px",
19
+ borderRadius: "10px"
20
+ },
21
+ list: [
22
+ { title: "\u8FD9\u662F\u6807\u9898", image: "" },
23
+ { title: "\u8FD9\u662F\u6807\u9898", image: "" },
24
+ { title: "\u8FD9\u662F\u6807\u9898", image: "" },
25
+ { title: "\u8FD9\u662F\u6807\u9898", image: "" }
26
+ ]
27
+ },
28
+ showStyle: true,
29
+ children: [],
30
+ style: {},
31
+ setting: {
32
+ style: {
33
+ backgroundColor: "#fff"
34
+ }
35
+ }
36
+ };
37
+ },
38
+ props() {
39
+ return [
40
+ { type: "number", field: "columnNum", title: "\u6BCF\u884C\u4E2A\u6570", value: 4 },
41
+ {
42
+ type: "DkGroup",
43
+ field: "list",
44
+ title: "",
45
+ props: {
46
+ title: "\u5BAB\u683C\u5185\u5BB9",
47
+ defaultValue: {
48
+ title: "\u8FD9\u662F\u6807\u9898",
49
+ image: ""
50
+ },
51
+ rule: [
52
+ { type: "input", field: "title", title: "\u6807\u9898" },
53
+ { type: "DkImageInput", field: "image", title: "\u56FE\u7247" },
54
+ { type: "DkUrlInput", field: "path", title: "\u5730\u5740" }
55
+ ]
56
+ },
57
+ value: []
58
+ },
59
+ {
60
+ type: "DkStyleFontInput",
61
+ field: "fontStyle",
62
+ title: "\u6587\u5B57\u6837\u5F0F"
63
+ // props: {
64
+ // isDrawer: true,
65
+ // drawerProps: {
66
+ // title: '文字样式',
67
+ // size: '400px',
68
+ // zIndex: 100,
69
+ // },
70
+ // // hideComponents: ['DkStyleFontInput', 'DkStyleBackgroundInput'],
71
+ // },
72
+ },
73
+ {
74
+ type: "DkStyleInput",
75
+ field: "imageStyle",
76
+ title: "\u56FE\u7247\u914D\u7F6E",
77
+ props: {
78
+ isDrawer: true,
79
+ drawerProps: {
80
+ title: "\u5361\u7247\u6837\u5F0F",
81
+ size: "400px",
82
+ zIndex: 100
83
+ },
84
+ hideComponents: ["DkStyleFontInput", "DkStyleBackgroundInput"]
85
+ }
86
+ }
87
+ // {
88
+ // type: 'switch',
89
+ // field: 'useImageStyle',
90
+ // title: '图片样式',
91
+ // control: [
92
+ // {
93
+ // value: true,
94
+ // rule: [
95
+ // {
96
+ // type: 'DkStyleInput',
97
+ // field: 'imageStyle',
98
+ // // title: '样式配置',
99
+ // props: {
100
+ // isDrawer: true,
101
+ // drawerProps: {
102
+ // title: '卡片样式',
103
+ // size: '400px',
104
+ // zIndex: 100,
105
+ // },
106
+ // hideComponents: ['DkStyleFontInput', 'DkStyleBackgroundInput'],
107
+ // },
108
+ // },
109
+ // ],
110
+ // },
111
+ // ],
112
+ // },
113
+ ];
114
+ }
115
+ };
116
+
117
+ exports.default = DkMinGrid;
118
+ //# sourceMappingURL=DkMinGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DkMinGrid.js","sources":["../../../../../../../src/page-diy/src/config/rule/min/common/DkMinGrid.js"],"sourcesContent":["const label = '宫格'\nconst name = 'DkMinGrid'\n\nexport default {\n icon: 'mdi:grid',\n label,\n name,\n rule() {\n return {\n type: name,\n props: {\n imageStyle: {\n width: '40px',\n height: '40px',\n marginBottom: '10px',\n borderRadius: '10px',\n },\n list: [\n { title: '这是标题', image: '' },\n { title: '这是标题', image: '' },\n { title: '这是标题', image: '' },\n { title: '这是标题', image: '' },\n ],\n },\n showStyle: true,\n children: [],\n style: {},\n setting: {\n style: {\n backgroundColor: '#fff',\n },\n },\n }\n },\n props() {\n return [\n { type: 'number', field: 'columnNum', title: '每行个数', value: 4 },\n {\n type: 'DkGroup',\n field: 'list',\n title: '',\n props: {\n title: '宫格内容',\n defaultValue: {\n title: '这是标题',\n image: '',\n },\n rule: [\n { type: 'input', field: 'title', title: '标题' },\n { type: 'DkImageInput', field: 'image', title: '图片' },\n { type: 'DkUrlInput', field: 'path', title: '地址' },\n ],\n },\n value: [],\n },\n {\n type: 'DkStyleFontInput',\n field: 'fontStyle',\n title: '文字样式',\n // props: {\n // isDrawer: true,\n // drawerProps: {\n // title: '文字样式',\n // size: '400px',\n // zIndex: 100,\n // },\n // // hideComponents: ['DkStyleFontInput', 'DkStyleBackgroundInput'],\n // },\n },\n {\n type: 'DkStyleInput',\n field: 'imageStyle',\n title: '图片配置',\n props: {\n isDrawer: true,\n drawerProps: {\n title: '卡片样式',\n size: '400px',\n zIndex: 100,\n },\n hideComponents: ['DkStyleFontInput', 'DkStyleBackgroundInput'],\n },\n },\n // {\n // type: 'switch',\n // field: 'useImageStyle',\n // title: '图片样式',\n // control: [\n // {\n // value: true,\n // rule: [\n // {\n // type: 'DkStyleInput',\n // field: 'imageStyle',\n // // title: '样式配置',\n // props: {\n // isDrawer: true,\n // drawerProps: {\n // title: '卡片样式',\n // size: '400px',\n // zIndex: 100,\n // },\n // hideComponents: ['DkStyleFontInput', 'DkStyleBackgroundInput'],\n // },\n // },\n // ],\n // },\n // ],\n // },\n ]\n },\n}\n"],"names":[],"mappings":"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"}