@kp-ui/lowcode-pc 1.0.0-alpha.2 → 1.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/assets/CustomerModal.mjs +1 -0
  2. package/assets/CustomerModal.mjs.map +1 -0
  3. package/assets/bpmn-editor-widget.mjs +1 -0
  4. package/assets/bpmn-editor-widget.mjs.map +1 -0
  5. package/assets/button-list-widget.mjs +2 -2
  6. package/assets/button-list-widget.mjs.map +1 -0
  7. package/assets/button-widget.mjs +3 -3
  8. package/assets/button-widget.mjs.map +1 -0
  9. package/assets/cascader-widget.mjs +2 -2
  10. package/assets/cascader-widget.mjs.map +1 -0
  11. package/assets/checkbox-widget.mjs +2 -2
  12. package/assets/checkbox-widget.mjs.map +1 -0
  13. package/assets/code-editor-widget.mjs +1 -0
  14. package/assets/code-editor-widget.mjs.map +1 -0
  15. package/assets/color-widget.mjs +3 -3
  16. package/assets/color-widget.mjs.map +1 -0
  17. package/assets/data-table-widget.mjs +2 -1
  18. package/assets/data-table-widget.mjs.map +1 -0
  19. package/assets/date-range-widget.mjs +3 -3
  20. package/assets/date-range-widget.mjs.map +1 -0
  21. package/assets/date-widget.mjs +3 -3
  22. package/assets/date-widget.mjs.map +1 -0
  23. package/assets/divider-widget.mjs +1 -0
  24. package/assets/divider-widget.mjs.map +1 -0
  25. package/assets/diy-compontent-widget.mjs +1 -0
  26. package/assets/diy-compontent-widget.mjs.map +1 -0
  27. package/assets/dropdown-widget.mjs +1 -0
  28. package/assets/dropdown-widget.mjs.map +1 -0
  29. package/assets/en-US.mjs +2 -0
  30. package/assets/en-US.mjs.map +1 -0
  31. package/assets/en-US_extension.mjs +1 -0
  32. package/assets/en-US_extension.mjs.map +1 -0
  33. package/assets/en-US_render.mjs +1 -0
  34. package/assets/en-US_render.mjs.map +1 -0
  35. package/assets/file-upload-widget.mjs +28 -19
  36. package/assets/file-upload-widget.mjs.map +1 -0
  37. package/assets/form-item-wrapper.mjs +2 -1
  38. package/assets/form-item-wrapper.mjs.map +1 -0
  39. package/assets/grid-col-widget.mjs +2 -1
  40. package/assets/grid-col-widget.mjs.map +1 -0
  41. package/assets/grid-sub-form-widget.mjs +3 -2
  42. package/assets/grid-sub-form-widget.mjs.map +1 -0
  43. package/assets/grid-widget.mjs +11 -7
  44. package/assets/grid-widget.mjs.map +1 -0
  45. package/assets/html-text-widget.mjs +3 -3
  46. package/assets/html-text-widget.mjs.map +1 -0
  47. package/assets/input-widget.mjs +3 -3
  48. package/assets/input-widget.mjs.map +1 -0
  49. package/assets/install.mjs +1558 -1532
  50. package/assets/install.mjs.map +1 -0
  51. package/assets/number-widget.mjs +1 -0
  52. package/assets/number-widget.mjs.map +1 -0
  53. package/assets/radio-widget.mjs +3 -3
  54. package/assets/radio-widget.mjs.map +1 -0
  55. package/assets/rate-widget.mjs +3 -3
  56. package/assets/rate-widget.mjs.map +1 -0
  57. package/assets/rich-editor-widget.mjs +1 -0
  58. package/assets/rich-editor-widget.mjs.map +1 -0
  59. package/assets/select-widget.mjs +3 -3
  60. package/assets/select-widget.mjs.map +1 -0
  61. package/assets/slider-widget.mjs +2 -2
  62. package/assets/slider-widget.mjs.map +1 -0
  63. package/assets/static-text-widget.mjs +2 -2
  64. package/assets/static-text-widget.mjs.map +1 -0
  65. package/assets/styles/style.css +69 -65
  66. package/assets/switch-widget.mjs +3 -3
  67. package/assets/switch-widget.mjs.map +1 -0
  68. package/assets/tab-widget.mjs +2 -1
  69. package/assets/tab-widget.mjs.map +1 -0
  70. package/assets/textarea-widget.mjs +1 -0
  71. package/assets/textarea-widget.mjs.map +1 -0
  72. package/assets/time-range-widget.mjs +3 -3
  73. package/assets/time-range-widget.mjs.map +1 -0
  74. package/assets/time-widget.mjs +3 -3
  75. package/assets/time-widget.mjs.map +1 -0
  76. package/assets/tree-widget.mjs +3 -3
  77. package/assets/tree-widget.mjs.map +1 -0
  78. package/assets/treeSelect-widget.mjs +1 -0
  79. package/assets/treeSelect-widget.mjs.map +1 -0
  80. package/assets/useCustomerModal.mjs +1 -0
  81. package/assets/useCustomerModal.mjs.map +1 -0
  82. package/assets/useField.mjs +1 -0
  83. package/assets/useField.mjs.map +1 -0
  84. package/assets/useSelect.mjs +1 -0
  85. package/assets/useSelect.mjs.map +1 -0
  86. package/assets/vf-box-widget.mjs +3 -2
  87. package/assets/vf-box-widget.mjs.map +1 -0
  88. package/assets/vf-collapse-widget.mjs +4 -5
  89. package/assets/vf-collapse-widget.mjs.map +1 -0
  90. package/assets/vf-dialog-widget.mjs +2 -2
  91. package/assets/vf-dialog-widget.mjs.map +1 -0
  92. package/assets/vue-render-widget.mjs +1 -0
  93. package/assets/vue-render-widget.mjs.map +1 -0
  94. package/assets/zh-CN.mjs +17 -3
  95. package/assets/zh-CN.mjs.map +1 -0
  96. package/assets/zh-CN_extension.mjs +1 -0
  97. package/assets/zh-CN_extension.mjs.map +1 -0
  98. package/assets/zh-CN_render.mjs +1 -0
  99. package/assets/zh-CN_render.mjs.map +1 -0
  100. package/index.js +1 -0
  101. package/index.js.map +1 -0
  102. package/package.json +4 -1
  103. package/stats.html +4949 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload-widget.mjs","sources":["../../src/components/field-widget/file-upload-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <template v-if=\"!handleDisabled && !isReadMode\">\n <a-upload\n ref=\"fieldEditor\"\n :disabled=\"handleDisabled || isReadMode\"\n class=\"dynamicPseudoAfter\"\n :class=\"['tpf-upload', { isReadonly: isReadMode }]\"\n :multiple=\"field.options.multiple\"\n :accept=\"acceptType\"\n v-model:file-list=\"fieldModel\"\n :listType=\"field.options.uploadListType\"\n :customRequest=\"customRequest\"\n :iconRender=\"iconRender\"\n @preview=\"handlePreview\"\n @remove=\"removeFile\"\n >\n <a-space :size=\"10\" align=\"start\" v-if=\"isShowUploader\">\n <a-button\n :loading=\"loading\"\n class=\"tpf-button\"\n type=\"primary\"\n :disabled=\"handleDisabled\"\n >\n <SvgIcon icon-class=\"daochu\" /> 上传文件\n </a-button>\n </a-space>\n </a-upload>\n <div :gutter=\"20\" class=\"fileUploadTip\">\n <div v-for=\"(item, inx) in descCol\" :key=\"inx\">\n <span v-if=\"descCol.length > 1\">{{ inx + 1 }}、{{ item }}</span>\n <span v-else>{{ item }}</span>\n </div>\n </div>\n </template>\n <template v-else>\n <AttachmentRender :data=\"fieldModel\" />\n </template>\n <TpfModal v-model:visible=\"previewVisible\" :title=\"previewTitle\" :footer=\"null\">\n <img style=\"width: 100%\" :src=\"previewImage\" />\n </TpfModal>\n </form-item-wrapper>\n</template>\n\n<script lang=\"tsx\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { useField, type FieldProps } from '@kp-ui/lowcode-core';\n import { WidgetTypeEnum, ComponentNameEnum } from '@kp-ui/lowcode-core';\n import { computed, onMounted } from 'vue';\n import {\n AttachmentRender,\n useFilePreview,\n TpfModal,\n SvgIcon,\n useFilesystemApi,\n FileIcon\n } from 'tmgc2-share';\n import { message } from 'ant-design-vue';\n\n const filesystemApi = useFilesystemApi();\n defineOptions({\n name: WidgetTypeEnum.fileUpload,\n componentName: ComponentNameEnum.FieldWidget\n });\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const {\n loading,\n rules,\n i18nt,\n fieldEditor,\n field,\n fieldModel,\n isReadMode,\n size,\n designState,\n handleHidden,\n handleDisabled,\n defineExposed,\n executeFunction\n } = useField(props);\n\n const handleOnBeforeUpload = file => {\n if (field.options.onBeforeUpload) {\n const result = executeFunction({\n functionBody: field.options.onBeforeUpload,\n params: {\n file\n },\n keys: ['file']\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return true;\n }\n }\n return true;\n };\n\n const isShowUploader = computed(\n () => (fieldModel.value?.length || 0) < (field.options.limit || 1)\n );\n\n const customRequest = async upload => {\n const { accept, maxSize, limit, businessType, multiple } = field.options;\n const fileName = upload.file.name;\n const fieldTypesArr = accept.map(item => item.toLowerCase());\n const fieldTypes = fileName.slice(fileName.lastIndexOf('.'));\n\n if (!fieldTypesArr.includes(fieldTypes.toLowerCase())) {\n return message.error(`目前仅支持${accept}格式的文件`);\n }\n\n if (maxSize && upload.file.size > maxSize * 1024 * 1024) {\n message.error(`文件大小不能超过${maxSize}M`);\n return;\n }\n\n const flag = handleOnBeforeUpload(upload);\n\n if (!flag) return;\n loading.value = true;\n try {\n const res = await filesystemApi.uploadFileObject({\n businessType: businessType,\n file: upload.file\n });\n\n const { fileName: name } = res.data.object;\n\n if (limit > 1) {\n const findIndex = fieldModel.value.findIndex(item => item.name === name);\n if (findIndex > -1) {\n fieldModel.value.splice(findIndex, 1);\n }\n if (fieldModel.value.length < limit) {\n fieldModel.value.push({ ...res.data.object, name });\n }\n } else {\n fieldModel.value = [{ ...res.data.object, name }];\n }\n } finally {\n loading.value = false;\n }\n };\n\n /**\n * 初始化文件列表\n */\n const initFileListFieldModel = () => {\n // 初始化上传组件的已上传文件列表\n if (designState) {\n return;\n }\n\n if (fieldModel.value) {\n if (typeof fieldModel.value === 'string') {\n fieldModel.value = JSON.parse(fieldModel.value);\n }\n }\n };\n\n const acceptType = computed(() => {\n const { accept } = field.options;\n if (accept?.length) {\n return accept.join(',');\n } else {\n return '*';\n }\n });\n\n const { handlePreview, previewVisible, previewImage, previewTitle } = useFilePreview();\n\n const iconRender = ({ file }: { file: File }) => {\n const fileObj = {\n fileName: file.name,\n fileType: file.name.slice(file.name.lastIndexOf('.'))\n };\n return <FileIcon file={fileObj} />;\n };\n\n const removeFile = file => {\n const findInx = fieldModel.value.findIndex(item => item.uid === file.uid);\n fieldModel.value.splice(findInx, 1);\n };\n\n const descCol = computed(() => {\n const { accept, maxSize } = field.options;\n const acceptList = (accept || []).join(',');\n return [\n acceptList.length ? i18nt('支持扩展名') + `${acceptList}` : '',\n maxSize ? i18nt('支持文件大小') + `${maxSize}M` : ''\n ].filter(Boolean);\n });\n\n onMounted(() => {\n initFileListFieldModel();\n });\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .fileUploadTip {\n font-size: 12px;\n margin-top: 10px;\n }\n</style>\n"],"names":["filesystemApi","useFilesystemApi","props","__props","loading","rules","i18nt","fieldEditor","field","fieldModel","isReadMode","designState","handleHidden","handleDisabled","defineExposed","executeFunction","useField","handleOnBeforeUpload","file","options","onBeforeUpload","result","functionBody","params","keys","isShowUploader","computed","value","length","limit","customRequest","upload","accept","maxSize","businessType","multiple","fileName","name","fieldTypesArr","map","item","toLowerCase","fieldTypes","slice","lastIndexOf","includes","message","error","size","flag","res","uploadFileObject","data","object","findIndex","splice","push","initFileListFieldModel","JSON","parse","acceptType","join","handlePreview","previewVisible","previewImage","previewTitle","useFilePreview","iconRender","fileObj","fileType","_createVNode2","FileIcon","removeFile","findInx","uid","descCol","acceptList","filter","Boolean","onMounted","__expose","_unref","_openBlock","_createBlock","FormItemWrapper","_mergeProps","key","_createElementBlock","_Fragment","_createVNode","_component_a_upload","ref","disabled","class","_normalizeClass","isReadonly","$event","listType","uploadListType","onPreview","onRemove","_component_a_space","align","_component_a_button","type","SvgIcon","_createElementVNode","_hoisted_1","_renderList","inx","_hoisted_2","_toDisplayString","AttachmentRender","TpfModal","visible","title","footer","style","src"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, computed, resolveComponent, createElementBlock, openBlock, createVNode, unref, normalizeClass, withCtx, renderSlot, createElementVNode, createCommentVNode, Fragment, toDisplayString } from "vue";
2
2
  import { SvgIcon } from "tmgc2-share";
3
3
  import { FormItem } from "ant-design-vue";
4
- import { u as useDesigner, _ as _export_sfc } from "./install.mjs";
4
+ import { e as useDesigner, _ as _export_sfc } from "./install.mjs";
5
5
  const _hoisted_1 = {
6
6
  class: "field-wrapper"
7
7
  };
@@ -138,3 +138,4 @@ const FormItemWrapper = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "d
138
138
  export {
139
139
  FormItemWrapper as default
140
140
  };
141
+ //# sourceMappingURL=form-item-wrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-item-wrapper.mjs","sources":["../../src/components/field-widget/form-item-wrapper.vue"],"sourcesContent":["<template>\n <div class=\"field-wrapper\">\n <FormItem\n :labelCol=\"{ style: { width: labelWidth + 'px' } }\"\n :title=\"label\"\n :size=\"size\"\n :rules=\"rules\"\n :name=\"getPropName\"\n :labelAlign=\"labelAlign\"\n :class=\"[customClass]\"\n >\n <template #label>\n <div class=\"label-box\">\n <span v-if=\"!!field.options.labelIconClass\" class=\"custom-label\">\n <template v-if=\"field.options.labelIconPosition === 'front'\">\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n <template v-else-if=\"field.options.labelIconPosition === 'rear'\">\n <div class=\"label-text\">\n {{ label }}\n </div>\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n </template>\n </span>\n <template v-else>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n </div>\n </template>\n <slot></slot>\n </FormItem>\n </div>\n</template>\n\n<script lang=\"tsx\" setup>\n import { SvgIcon } from 'tmgc2-share';\n import { FieldProps } from './useField';\n import { computed, inject } from 'vue';\n import { FormItem } from 'ant-design-vue';\n import { useDesigner } from '@kp-ui/lowcode-core';\n import { reactive } from 'vue';\n defineOptions({\n name: 'form-item-wrapper'\n });\n\n interface FormItemWrapperProps extends FieldProps {\n rules?: Array<any>;\n }\n const props = withDefaults(defineProps<FormItemWrapperProps>(), {\n parentWidget: null,\n indexOfParentList: 0\n });\n const getSubFormName = inject('getSubFormName', () => '');\n const getSubFormFieldFlag = inject('getSubFormFieldFlag', () => false);\n\n const { formConfig, designer, designState } = useDesigner();\n\n const labelWidth = computed(() => {\n if (props.field?.options?.labelHidden) {\n return 0;\n }\n\n if (props.field?.options?.labelWidth) {\n return props.field.options.labelWidth;\n }\n\n return formConfig.value?.labelWidth;\n });\n\n const label = computed(() => {\n if (props.field?.options?.labelHidden) {\n return '';\n }\n return props.field?.options?.label;\n });\n\n const labelAlign = computed(() => {\n if (props.field?.options?.labelAlign) {\n return props.field.options.labelAlign;\n }\n return formConfig.value?.labelAlign || 'right';\n });\n\n const subFormName = computed(() => () => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const size = computed(() => {\n if (props.field?.options?.size) {\n return props.field.options.size;\n }\n return formConfig.value?.size || 'middle';\n });\n\n const subFormItemFlag = computed(() => {\n return getSubFormFieldFlag ? getSubFormFieldFlag() : false;\n });\n\n const getPropName = computed(() => {\n if (subFormItemFlag.value && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else return props.field.options.name;\n });\n\n const customClass = computed(() =>\n props.field.options.customClass ? props.field.options.customClass.join(' ') : ''\n );\n</script>\n\n<style lang=\"scss\" scoped>\n .field-wrapper {\n position: relative;\n }\n\n .ant-form-item {\n position: relative;\n\n :deep(.ant-form-item-label) {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n span.custom-label {\n display: flex;\n i {\n margin: 0 3px;\n }\n }\n\n /* 隐藏Chrome浏览器中el-input数字输入框右侧的上下调整小箭头 */\n :deep(.hide-spin-button) input::-webkit-outer-spin-button,\n :deep(.hide-spin-button) input::-webkit-inner-spin-button {\n -webkit-appearance: none !important;\n }\n }\n</style>\n"],"names":["props","__props","getSubFormName","inject","getSubFormFieldFlag","formConfig","designState","useDesigner","labelWidth","computed","field","options","labelHidden","value","label","labelAlign","subFormName","size","subFormItemFlag","getPropName","subFormRowIndex","name","customClass","join","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","FormItem","labelCol","title","rules","class","_createElementVNode","_hoisted_2","labelIconClass","_hoisted_3","labelIconPosition","_Fragment","key","_component_a_tooltip","labelIconTooltip","SvgIcon","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_renderSlot","_ctx","$slots","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDI,UAAMA,QAAQC;AAId,UAAMC,iBAAiBC,OAAO,kBAAkB,MAAM,EAAE;AACxD,UAAMC,sBAAsBD,OAAO,uBAAuB,MAAM,KAAK;AAErE,UAAM;AAAA,MAAEE;AAAAA,MAAsBC;AAAAA,QAAgBC,YAAW;AAEzD,UAAMC,aAAaC,SAAS,MAAM;;AAC9B,WAAIT,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBY,aAAa;AACnC,eAAO;AAAA,MACX;AAEA,WAAIZ,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBQ,YAAY;AAClC,eAAOR,MAAMU,MAAMC,QAAQH;AAAAA,MAC/B;AAEA,cAAOH,gBAAWQ,UAAXR,mBAAkBG;AAAAA,IAC7B,CAAC;AAED,UAAMM,QAAQL,SAAS,MAAM;;AACzB,WAAIT,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBY,aAAa;AACnC,eAAO;AAAA,MACX;AACA,cAAOZ,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBc;AAAAA,IACjC,CAAC;AAED,UAAMC,aAAaN,SAAS,MAAM;;AAC9B,WAAIT,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBe,YAAY;AAClC,eAAOf,MAAMU,MAAMC,QAAQI;AAAAA,MAC/B;AACA,eAAOV,gBAAWQ,UAAXR,mBAAkBU,eAAc;AAAA,IAC3C,CAAC;AAED,UAAMC,cAAcP,SAAS,MAAM,MAAM;AACrC,aAAOP,iBAAiBA,eAAc,IAAK;AAAA,IAC/C,CAAC;AAED,UAAMe,OAAOR,SAAS,MAAM;;AACxB,WAAIT,iBAAMU,UAANV,mBAAaW,YAAbX,mBAAsBiB,MAAM;AAC5B,eAAOjB,MAAMU,MAAMC,QAAQM;AAAAA,MAC/B;AACA,eAAOZ,gBAAWQ,UAAXR,mBAAkBY,SAAQ;AAAA,IACrC,CAAC;AAED,UAAMC,kBAAkBT,SAAS,MAAM;AACnC,aAAOL,sBAAsBA,oBAAmB,IAAK;AAAA,IACzD,CAAC;AAED,UAAMe,cAAcV,SAAS,MAAM;AAC/B,UAAIS,gBAAgBL,SAAS,CAACP,aAAa;AACvC,eACIU,YAAYH,QACZ,MACAb,MAAMoB,kBACN,MACApB,MAAMU,MAAMC,QAAQU;AAAAA,MAG5B,MAAO,QAAOrB,MAAMU,MAAMC,QAAQU;AAAAA,IACtC,CAAC;AAED,UAAMC,cAAcb,SAAS,MACzBT,MAAMU,MAAMC,QAAQW,cAActB,MAAMU,MAAMC,QAAQW,YAAYC,KAAK,GAAG,IAAI,EAClF;;;AAzHA,aAAAC,UAAA,GAAAC,mBAuCM,OAvCNC,YAuCM,CAtCFC,YAqCWC,MAAAC,QAAA,GAAA;AAAA,QApCNC;;mBAA4BtB,WAAAK,QAAU;AAAA,UAAA;AAAA;QACtCkB,OAAOjB,MAAAD;AAAAA,QACPI,MAAMA,KAAAJ;AAAAA,QACNmB,OAAOA,KAAAA;AAAAA,QACPX,MAAMF,YAAAN;AAAAA,QACNE,YAAYA,WAAAF;AAAAA,QACZoB,uBAAQX,YAAAT,KAAW,CAAA;AAAA;QAETC,eACP,MAwBM,CAxBNoB,mBAwBM,OAxBNC,YAwBM,GAvBYzB,KAAAA,MAAMC,QAAQyB,kBAA5BZ,aAAAC,mBAiBO,QAjBPY,YAiBO,CAhBa3B,KAAAA,MAAMC,QAAQ2B,sBAAiB,wBAA/Cb,mBAOWc,UAAA;AAAA,UAAAC,KAAA;AAAA,QAAA,GAAA,CANPb,YAEYc,sBAAA;AAAA,UAFAV,OAAOrB,KAAAA,MAAMC,QAAQ+B;AAAAA;2BAC7B,MAAuD,CAAvDf,YAAuDC,MAAAe,OAAA,GAAA;AAAA,YAA5C,cAAYjC,KAAAA,MAAMC,QAAQyB;AAAAA;;0BAEzCF,mBAEM,OAFNU,YAEMC,gBADC/B,MAAAD,KAAK,GAAA,CAAA,CAAA,UAGKH,KAAAA,MAAMC,QAAQ2B,sBAAiB,uBAApDb,mBAOWc,UAAA;AAAA,UAAAC,KAAA;AAAA,WAAA,CANPN,mBAEM,OAFNY,YAEMD,gBADC/B,MAAAD,KAAK,GAAA,CAAA,GAEZc,YAEYc,sBAAA;AAAA,UAFAV,OAAOrB,KAAAA,MAAMC,QAAQ+B;AAAAA;2BAC7B,MAAuD,CAAvDf,YAAuDC,MAAAe,OAAA,GAAA;AAAA,YAA5C,cAAYjC,KAAAA,MAAMC,QAAQyB;AAAAA;;kFAK7CX,mBAEM,OAFNsB,YAEMF,gBADC/B,MAAAD,KAAK,GAAA,CAAA,EAAA;yBAKxB,MAAa,CAAbmC,WAAaC,KAAAC,QAAA,WAAA,CAAA,GAAAC,QAAA,IAAA,CAAA;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { computed, defineComponent, mergeModels, useModel, reactive, resolveComponent, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, mergeProps, withModifiers, unref, withCtx, createVNode } from "vue";
2
- import { C as ComponentNameEnum, e as ContainerTypeEnum, u as useDesigner, R as RenderWidgetList, g as WidgetContextMenu, _ as _export_sfc } from "./install.mjs";
2
+ import { C as ComponentNameEnum, g as ContainerTypeEnum, e as useDesigner, R as RenderWidgetList, h as WidgetContextMenu, _ as _export_sfc } from "./install.mjs";
3
3
  function useWidget(widget) {
4
4
  const options = computed(() => widget.options || {});
5
5
  const customClass = computed(
@@ -95,3 +95,4 @@ const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "dat
95
95
  export {
96
96
  GridColWidget as default
97
97
  };
98
+ //# sourceMappingURL=grid-col-widget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-col-widget.mjs","sources":["../../../core/src/hooks/useWidget.ts","../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["import { Widget } from '@kp-ui/lowcode-core';\nimport { computed } from 'vue';\n\nexport function useWidget(widget: Widget) {\n const options = computed(() => widget.options || {});\n\n const customClass = computed(() =>\n widget.options.customClass ? widget.options.customClass.join(' ') : ''\n );\n\n return {\n customClass,\n options\n };\n}\n","<template>\n <a-col\n class=\"grid-cell\"\n v-bind=\"layoutProps\"\n :class=\"[selected(widget.id) ? 'selected' : '', customClass]\"\n :style=\"colHeightStyle\"\n :key=\"widget.id\"\n @click.stop=\"selectWidget(widget)\"\n @contextmenu.prevent.stop=\"onContextMenu\"\n >\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </a-col>\n <!-- 右键菜单 -->\n <WidgetContextMenu\n v-if=\"contextMenuState.visible\"\n v-model:visible=\"contextMenuState.visible\"\n v-model:list=\"list\"\n :x=\"contextMenuState.x\"\n :y=\"contextMenuState.y\"\n :widget=\"widget\"\n :index=\"indexOfParentList\"\n :parentWidget=\"parentWidget\"\n />\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, reactive, ref } from 'vue';\n import {\n RenderWidgetList,\n useDesigner,\n useWidget,\n Widget,\n WidgetProps\n } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetContextMenu } from '@kp-ui/lowcode-core';\n\n defineOptions({\n name: ContainerTypeEnum.GridColWidget,\n componentName: ComponentNameEnum.ContainerWidget,\n inheritAttrs: false\n });\n\n const props = withDefaults(\n defineProps<\n WidgetProps & {\n colHeight?: number | string | null;\n }\n >(),\n {\n indexOfParentList: 0,\n colHeight: null\n }\n );\n const list = defineModel<Widget[]>('list', {\n default: () => []\n });\n\n const { customClass, options } = useWidget(props.widget);\n const { selected, selectWidget } = useDesigner();\n\n const colHeightStyle = computed(() => {\n return props.colHeight ? { height: props.colHeight } : {};\n });\n\n const layoutProps = computed(() => ({\n span: options.value.span || 12,\n offset: options.value.offset || 0,\n push: options.value.push || 0,\n pull: options.value.pull || 0\n }));\n\n const contextMenuState = reactive({\n visible: false,\n x: 0,\n y: 0\n });\n\n const onContextMenu = (event: MouseEvent) => {\n contextMenuState.x = event.clientX;\n contextMenuState.y = event.clientY;\n contextMenuState.visible = true;\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-cell {\n min-height: 38px !important;\n //margin: 6px 0; /* 设置了margin,栅格列的offset、push、pull会失效!! */\n padding: 3px;\n border: 1px dashed #336699;\n position: relative;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n :deep(.widget-wrapper.container-wrapper) {\n border-width: 1px !important;\n &.selected {\n outline: 1px solid var(--ant-primary-color) !important;\n }\n }\n .form-widget-list {\n min-height: 28px;\n }\n\n .grid-col-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 28px;\n line-height: 28px;\n background: var(--ant-primary-4);\n z-index: 999;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 5px;\n cursor: pointer;\n }\n }\n\n .grid-col-handler {\n position: absolute;\n top: -2px;\n left: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n z-index: 9;\n\n i {\n font-size: 14px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: default;\n }\n }\n }\n\n .grid-col-action,\n .grid-col-handler {\n :deep(.svg-icon) {\n margin-left: 0.1em;\n margin-right: 0.1em;\n }\n }\n</style>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","_unref","widget","_withModifiers","_createVNode","indexOfParentList","parentWidget"],"mappings":";;AAGO,SAAS,UAAU,QAAgB;AACtC,QAAM,UAAU,SAAS,MAAM,OAAO,WAAW,CAAA,CAAE;AAEnD,QAAM,cAAc;AAAA,IAAS,MACzB,OAAO,QAAQ,cAAc,OAAO,QAAQ,YAAY,KAAK,GAAG,IAAI;AAAA,EAAA;AAGxE,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EAAA;AAER;;;;;;;;;;;;;;;;;;;;;;;;AC4BI,UAAM,QAAQ;AAWd,UAAM,OAAOA,SAAqB,SAAC,MAElC;AAED,UAAM,EAAE,aAAa,QAAA,IAAY,UAAU,MAAM,MAAM;AACvD,UAAM,EAAE,UAAU,aAAA,IAAiB,YAAA;AAEnC,UAAM,iBAAiB,SAAS,MAAM;AAClC,aAAO,MAAM,YAAY,EAAE,QAAQ,MAAM,UAAA,IAAc,CAAA;AAAA,IAC3D,CAAC;AAED,UAAM,cAAc,SAAS,OAAO;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,QAAQ,QAAQ,MAAM,UAAU;AAAA,MAChC,MAAM,QAAQ,MAAM,QAAQ;AAAA,MAC5B,MAAM,QAAQ,MAAM,QAAQ;AAAA,IAAA,EAC9B;AAEF,UAAM,mBAAmB,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,IAAA,CACN;AAED,UAAM,gBAAgB,CAAC,UAAsB;AACzC,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,IAAI,MAAM;AAC3B,uBAAiB,UAAU;AAAA,IAC/B;;;;SAhFAC,UAAA,GAAAC,YAUQ,kBAVRC,WAUQ,EATJ,OAAM,YAAA,GACE,YAAA,OAAW;AAAA,UAClB,QAAQC,MAAA,QAAA,EAASC,YAAO,EAAE,qBAAqBD,MAAA,WAAA,CAAW;AAAA,UAC1D,OAAO,eAAA;AAAA,UACP,KAAKC,KAAAA,OAAO;AAAA,UACZ,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAAC,cAAA,CAAA,WAAOF,MAAA,YAAA,EAAaC,KAAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA,UAC/B,6BAA0B,eAAa,CAAA,WAAA,MAAA,CAAA;AAAA,QAAA;2BAExC,MAA4E;AAAA,YAA5EE,YAA4EH,MAAA,gBAAA,GAAA;AAAA,cAAlD,MAAMC,KAAAA,OAAO;AAAA,cAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,cAAG,cAAcA,KAAAA;AAAAA,YAAAA;;;;QAI5D,iBAAiB,wBAD3BH,YASEE,MAAA,iBAAA,GAAA;AAAA;UAPU,SAAS,iBAAiB;AAAA,UAAjB,oBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAA,iBAAiB,UAAO;AAAA,UACjC,MAAM,KAAA;AAAA,iEAAA,KAAI,QAAA;AAAA,UACjB,GAAG,iBAAiB;AAAA,UACpB,GAAG,iBAAiB;AAAA,UACpB,QAAQC,KAAAA;AAAAA,UACR,OAAOG,KAAAA;AAAAA,UACP,cAAcC,KAAAA;AAAAA,QAAAA;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, createVNode, unref } from "vue";
2
- import { C as ComponentNameEnum, e as ContainerTypeEnum, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
2
+ import { C as ComponentNameEnum, g as ContainerTypeEnum, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
3
3
  const _hoisted_1 = { class: "sub-form-container" };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  ...{
@@ -27,7 +27,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  };
28
28
  }
29
29
  });
30
- const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49c81f5e"]]);
30
+ const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84976375"]]);
31
31
  export {
32
32
  gridSubFormWidget as default
33
33
  };
34
+ //# sourceMappingURL=grid-sub-form-widget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.mjs","sources":["../../src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue"],"sourcesContent":["<template>\n <div class=\"sub-form-container\">\n <RenderWidgetList v-model:list=\"widget.widgetList\" :parentWidget=\"widget\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ComponentNameEnum, ContainerTypeEnum, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { GridSubFormWidget } from '../../widget-panel/containers';\n import { WidgetProps } from '@kp-ui/lowcode-core';\n const props = defineProps<WidgetProps<GridSubFormWidget>>();\n defineOptions({\n name: ContainerTypeEnum.GridSubFormWidget,\n componentName: ComponentNameEnum.ContainerWidget\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .sub-form-container {\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","widget"],"mappings":";;;;;;;;;;;;;;;;;;;AACI,aAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM;AAAA,QADFC,YAA4EC,MAAA,gBAAA,GAAA;AAAA,UAAlD,MAAMC,KAAAA,OAAO;AAAA,UAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,aAAU;AAAA,UAAG,cAAcA,KAAAA;AAAAA,QAAAA;;;;;;"}
@@ -1,6 +1,6 @@
1
- import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, withCtx, Fragment, renderList } from "vue";
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, unref, withCtx, Fragment, renderList } from "vue";
2
2
  import GridColWidget from "./grid-col-widget.mjs";
3
- import { C as ComponentNameEnum, e as ContainerTypeEnum, a as useAppRef, _ as _export_sfc } from "./install.mjs";
3
+ import { C as ComponentNameEnum, g as ContainerTypeEnum, u as useField, _ as _export_sfc } from "./install.mjs";
4
4
  const _hoisted_1 = { class: "grid-container" };
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  ...{
@@ -17,14 +17,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  subFormRowId: {}
18
18
  },
19
19
  setup(__props) {
20
- const { initRefList } = useAppRef();
21
- initRefList();
20
+ const props = __props;
21
+ const { options } = useField(props, false);
22
22
  return (_ctx, _cache) => {
23
23
  const _component_a_row = resolveComponent("a-row");
24
24
  return openBlock(), createElementBlock("div", _hoisted_1, [
25
25
  (openBlock(), createBlock(_component_a_row, {
26
26
  key: _ctx.widget.id,
27
- gutter: _ctx.widget.options.gutter
27
+ gutter: _ctx.widget.options.gutter,
28
+ justify: unref(options).gridJustify ?? "start",
29
+ align: unref(options).gridAlign ?? "top",
30
+ wrap: unref(options).gridWrap ?? true
28
31
  }, {
29
32
  default: withCtx(() => [
30
33
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.cols, (colWidget, colIdx) => {
@@ -41,12 +44,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
44
  }), 128))
42
45
  ]),
43
46
  _: 1
44
- }, 8, ["gutter"]))
47
+ }, 8, ["gutter", "justify", "align", "wrap"]))
45
48
  ]);
46
49
  };
47
50
  }
48
51
  });
49
- const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40047deb"]]);
52
+ const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d41dbfac"]]);
50
53
  export {
51
54
  gridWidget as default
52
55
  };
56
+ //# sourceMappingURL=grid-widget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-widget.mjs","sources":["../../src/components/desginer/form-widget/container-widget/grid-widget.vue"],"sourcesContent":["<template>\n <div class=\"grid-container\">\n <a-row\n :key=\"widget.id\"\n :gutter=\"widget.options.gutter\"\n :justify=\"options.gridJustify ?? 'start'\"\n :align=\"options.gridAlign ?? 'top'\"\n :wrap=\"options.gridWrap ?? true\"\n >\n <grid-col-widget\n v-for=\"(colWidget, colIdx) in widget.cols\"\n :key=\"colWidget.id\"\n :field=\"colWidget\"\n :widget=\"colWidget\"\n v-model:list=\"widget.cols\"\n :index-of-parent-list=\"colIdx\"\n :parent-widget=\"widget\"\n :col-height=\"widget.options.colHeight\"\n />\n </a-row>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import GridColWidget from './grid-col-widget.vue';\n import {\n ContainerTypeEnum,\n ComponentNameEnum,\n WidgetProps,\n useField\n } from '@kp-ui/lowcode-core';\n import { GridWidget } from '../../widget-panel/containers';\n\n const props = defineProps<WidgetProps<GridWidget>>();\n defineOptions({\n name: ContainerTypeEnum.grid,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const { options } = useField(props, false);\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 3px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCI,UAAM,QAAQ;AAMd,UAAM,EAAE,QAAA,IAAY,SAAS,OAAO,KAAK;;;AAtCzC,aAAAA,UAAA,GAAAC,mBAmBM,OAnBN,YAmBM;AAAA,sBAlBFC,YAiBQ,kBAAA;AAAA,UAhBH,KAAKC,KAAAA,OAAO;AAAA,UACZ,QAAQA,KAAAA,OAAO,QAAQ;AAAA,UACvB,SAASC,MAAA,OAAA,EAAQ,eAAW;AAAA,UAC5B,OAAOA,MAAA,OAAA,EAAQ,aAAS;AAAA,UACxB,MAAMA,MAAA,OAAA,EAAQ,YAAQ;AAAA,QAAA;2BAGnB,MAA0C;AAAA,aAD9CJ,UAAA,IAAA,GAAAC,mBASEI,2BARgCF,KAAAA,OAAO,MAAI,CAAjC,WAAW,WAAM;kCAD7BD,YASE,eAAA;AAAA,gBAPG,KAAK,UAAU;AAAA,gBACf,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACD,MAAMC,KAAAA,OAAO;AAAA,gBAAPA,iBAAAA,OAAAA,CAAAA,MAAAA,OAAAA,CAAAA,IAAAA,CAAAA,WAAAA,KAAAA,OAAO,OAAI;AAAA,gBACxB,wBAAsB;AAAA,gBACtB,iBAAeA,KAAAA;AAAAA,gBACf,cAAYA,KAAAA,OAAO,QAAQ;AAAA,cAAA;;;;;;;;;;"}
@@ -1,6 +1,5 @@
1
1
  import { defineComponent, computed, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle } from "vue";
2
- import { u as useField } from "./useField.mjs";
3
- import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
2
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, u as useField, _ as _export_sfc } from "./install.mjs";
4
3
  const _hoisted_1 = ["innerHTML"];
5
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
5
  ...{
@@ -38,7 +37,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
37
  };
39
38
  }
40
39
  });
41
- const htmlTextWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6895d562"]]);
40
+ const htmlTextWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8edcabb4"]]);
42
41
  export {
43
42
  htmlTextWidget as default
44
43
  };
44
+ //# sourceMappingURL=html-text-widget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-text-widget.mjs","sources":["../../src/components/field-widget/html-text-widget.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!handleHidden\"\n ref=\"fieldEditor\"\n :style=\"displayStyle\"\n class=\"htmlContent\"\n v-html=\"field.options.htmlContent\"\n ></div>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed } from 'vue';\n import { useField, type FieldProps } from '@kp-ui/lowcode-core';\n import { WidgetTypeEnum, ComponentNameEnum } from '@kp-ui/lowcode-core';\n defineOptions({\n name: WidgetTypeEnum.htmlText,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const { rules, fieldEditor, field, handleHidden, defineExposed } = useField(props);\n\n const displayStyle = computed(() => field.options.bodyStyle || {});\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .htmlContent {\n // v-bind(field.options.bodyStyle)\n }\n</style>\n"],"names":["_unref","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBI,UAAM,QAAQ;AAEd,UAAM,EAAS,aAAa,OAAO,cAAc,cAAA,IAAkB,SAAS,KAAK;AAEjF,UAAM,eAAe,SAAS,MAAM,MAAM,QAAQ,aAAa,EAAE;AAEjE,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;cAzBUA,MAAA,YAAA,kBADXC,mBAMO,OAAA;AAAA;iBAJC;AAAA,QAAJ,KAAI;AAAA,QACH,sBAAO,aAAA,KAAY;AAAA,QACpB,OAAM;AAAA,QACN,WAAQD,MAAA,KAAA,EAAM,QAAQ;AAAA,MAAA;;;;;"}
@@ -1,8 +1,7 @@
1
1
  import { defineComponent, computed, resolveComponent, createBlock, createCommentVNode, unref, openBlock, mergeProps, withCtx, withDirectives, createElementBlock, createVNode, isRef, createSlots, vShow, toDisplayString } from "vue";
2
2
  import FormItemWrapper from "./form-item-wrapper.mjs";
3
3
  import { SvgIcon } from "tmgc2-share";
4
- import { u as useField } from "./useField.mjs";
5
- import { C as ComponentNameEnum, W as WidgetTypeEnum, _ as _export_sfc } from "./install.mjs";
4
+ import { C as ComponentNameEnum, W as WidgetTypeEnum, u as useField, _ as _export_sfc } from "./install.mjs";
6
5
  const _hoisted_1 = {
7
6
  key: 0,
8
7
  class: "readonly-mode-field"
@@ -92,7 +91,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
92
91
  };
93
92
  }
94
93
  });
95
- const inputWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-85e49c87"]]);
94
+ const inputWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e0fbe62c"]]);
96
95
  export {
97
96
  inputWidget as default
98
97
  };
98
+ //# sourceMappingURL=input-widget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-widget.mjs","sources":["../../src/components/field-widget/input-widget.vue"],"sourcesContent":["<template>\n <form-item-wrapper v-bind=\"props\" v-if=\"!handleHidden\" :rules=\"rules\">\n <a-input\n ref=\"fieldEditor\"\n v-model:value=\"fieldModel\"\n v-show=\"!isReadMode\"\n :disabled=\"handleDisabled\"\n :readonly=\"field.options.readonly\"\n :size=\"size\"\n class=\"hide-spin-button\"\n :type=\"inputType\"\n :show-password=\"field.options.showPassword\"\n :placeholder=\"field.options.placeholder\"\n :allowClear=\"field.options.allowClear\"\n :maxlength=\"field.options.maxLength\"\n :showCount=\"field.options.showCount\"\n @focus=\"handleFocusCustomEvent\"\n @blur=\"handleBlurCustomEvent\"\n >\n <template #addonAfter v-if=\"field.options.useModal\">\n <svg-icon icon-class=\"icon-sousuo\" @click=\"handleClickIcon\" />\n </template>\n </a-input>\n <template v-if=\"isReadMode\">\n <span class=\"readonly-mode-field\">{{ fieldModel }}</span>\n </template>\n </form-item-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import FormItemWrapper from './form-item-wrapper.vue';\n import { SvgIcon } from 'tmgc2-share';\n import { useField, type FieldProps } from '@kp-ui/lowcode-core';\n import { computed } from 'vue';\n import { WidgetTypeEnum, ComponentNameEnum } from '@kp-ui/lowcode-core';\n defineOptions({\n inheritAttrs: false,\n name: WidgetTypeEnum.input,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const props = withDefaults(defineProps<FieldProps>(), {});\n\n const {\n rules,\n fieldEditor,\n field,\n fieldModel,\n isReadMode,\n size,\n handleHidden,\n handleDisabled,\n handleClickIcon,\n handleFocusCustomEvent,\n handleBlurCustomEvent,\n defineExposed\n } = useField(props);\n\n const inputType = computed(() => {\n if (field.options.type === 'number') {\n return 'text'; //当input的type设置为number时,如果输入非数字字符,则v-model拿到的值为空字符串,无法实现输入校验!故屏蔽之!!\n }\n return field.options.type;\n });\n\n defineExpose({\n ...defineExposed\n });\n</script>\n\n<style lang=\"scss\" scoped>\n /* form-item-wrapper已引入,还需要重复引入吗? */\n</style>\n"],"names":["_unref","_openBlock","_createBlock","_mergeProps","_createVNode","_createElementBlock","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCI,UAAM,QAAQ;AAEd,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,SAAS,KAAK;AAElB,UAAM,YAAY,SAAS,MAAM;AAC7B,UAAI,MAAM,QAAQ,SAAS,UAAU;AACjC,eAAO;AAAA,MACX;AACA,aAAO,MAAM,QAAQ;AAAA,IACzB,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,IAAA,CACN;;;cAlEwCA,MAAA,YAAA,KAAzCC,aAAAC,YAyBoB,iBAzBpBC,WAyBoB,EAAA,KAAA,EAAA,GAzBO,OAAK,EAAwB,OAAOH,MAAA,KAAA,EAAA,CAAK,GAAA;AAAA,yBAChE,MAoBU;AAAA,yBApBVI,YAoBU,oBAAA;AAAA,qBAnBF;AAAA,YAAJ,KAAI;AAAA,YACI,OAAOJ,MAAA,UAAA;AAAA,wFAAA,WAAU,QAAA,SAAA;AAAA,YAExB,UAAUA,MAAA,cAAA;AAAA,YACV,UAAUA,MAAA,KAAA,EAAM,QAAQ;AAAA,YACxB,MAAMA,MAAA,IAAA;AAAA,YACP,OAAM;AAAA,YACL,MAAM,UAAA;AAAA,YACN,iBAAeA,MAAA,KAAA,EAAM,QAAQ;AAAA,YAC7B,aAAaA,MAAA,KAAA,EAAM,QAAQ;AAAA,YAC3B,YAAYA,MAAA,KAAA,EAAM,QAAQ;AAAA,YAC1B,WAAWA,MAAA,KAAA,EAAM,QAAQ;AAAA,YACzB,WAAWA,MAAA,KAAA,EAAM,QAAQ;AAAA,YACzB,SAAOA,MAAA,sBAAA;AAAA,YACP,QAAMA,MAAA,qBAAA;AAAA,UAAA;YAEqBA,MAAA,KAAA,EAAM,QAAQ;oBAA/B;AAAA,0BACP,MAA8D;AAAA,gBAA9DI,YAA8DJ,MAAA,OAAA,GAAA;AAAA,kBAApD,cAAW;AAAA,kBAAe,SAAOA,MAAA,eAAA;AAAA,gBAAA;;;;;qBAftCA,MAAA,UAAA,CAAU;AAAA,UAAA;UAkBPA,MAAA,UAAA,kBACZK,mBAAyD,QAAzD,YAAyDC,gBAApBN,MAAA,UAAA,CAAU,GAAA,CAAA;;;;;;;;"}