@kp-ui/lowcode-pc 1.0.0-alpha.3 → 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 (61) hide show
  1. package/assets/button-list-widget.mjs +1 -2
  2. package/assets/button-list-widget.mjs.map +1 -1
  3. package/assets/button-widget.mjs +2 -3
  4. package/assets/button-widget.mjs.map +1 -1
  5. package/assets/cascader-widget.mjs +1 -2
  6. package/assets/cascader-widget.mjs.map +1 -1
  7. package/assets/checkbox-widget.mjs +1 -2
  8. package/assets/checkbox-widget.mjs.map +1 -1
  9. package/assets/color-widget.mjs +2 -3
  10. package/assets/color-widget.mjs.map +1 -1
  11. package/assets/data-table-widget.mjs +1 -1
  12. package/assets/date-range-widget.mjs +2 -3
  13. package/assets/date-range-widget.mjs.map +1 -1
  14. package/assets/date-widget.mjs +2 -3
  15. package/assets/date-widget.mjs.map +1 -1
  16. package/assets/en-US.mjs +1 -0
  17. package/assets/en-US.mjs.map +1 -1
  18. package/assets/file-upload-widget.mjs +27 -19
  19. package/assets/file-upload-widget.mjs.map +1 -1
  20. package/assets/form-item-wrapper.mjs +1 -1
  21. package/assets/grid-col-widget.mjs +1 -1
  22. package/assets/grid-sub-form-widget.mjs +2 -2
  23. package/assets/grid-sub-form-widget.mjs.map +1 -1
  24. package/assets/grid-widget.mjs +10 -7
  25. package/assets/grid-widget.mjs.map +1 -1
  26. package/assets/html-text-widget.mjs +2 -3
  27. package/assets/html-text-widget.mjs.map +1 -1
  28. package/assets/input-widget.mjs +2 -3
  29. package/assets/input-widget.mjs.map +1 -1
  30. package/assets/install.mjs +1491 -1466
  31. package/assets/install.mjs.map +1 -1
  32. package/assets/radio-widget.mjs +2 -3
  33. package/assets/radio-widget.mjs.map +1 -1
  34. package/assets/rate-widget.mjs +2 -3
  35. package/assets/rate-widget.mjs.map +1 -1
  36. package/assets/select-widget.mjs +2 -3
  37. package/assets/select-widget.mjs.map +1 -1
  38. package/assets/slider-widget.mjs +1 -2
  39. package/assets/slider-widget.mjs.map +1 -1
  40. package/assets/static-text-widget.mjs +1 -2
  41. package/assets/static-text-widget.mjs.map +1 -1
  42. package/assets/styles/style.css +69 -65
  43. package/assets/switch-widget.mjs +2 -3
  44. package/assets/switch-widget.mjs.map +1 -1
  45. package/assets/tab-widget.mjs +1 -1
  46. package/assets/time-range-widget.mjs +2 -3
  47. package/assets/time-range-widget.mjs.map +1 -1
  48. package/assets/time-widget.mjs +2 -3
  49. package/assets/time-widget.mjs.map +1 -1
  50. package/assets/tree-widget.mjs +2 -3
  51. package/assets/tree-widget.mjs.map +1 -1
  52. package/assets/vf-box-widget.mjs +2 -2
  53. package/assets/vf-box-widget.mjs.map +1 -1
  54. package/assets/vf-collapse-widget.mjs +3 -5
  55. package/assets/vf-collapse-widget.mjs.map +1 -1
  56. package/assets/vf-dialog-widget.mjs +1 -2
  57. package/assets/vf-dialog-widget.mjs.map +1 -1
  58. package/assets/zh-CN.mjs +16 -3
  59. package/assets/zh-CN.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/stats.html +4949 -0
@@ -1 +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 <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 <div\n :loading=\"loading\"\n class=\"tpf-button\"\n type=\"primary\"\n :disabled=\"handleDisabled\"\n >\n <SvgIcon icon-class=\"daochu\" /> 上传文件\n </div>\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 <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 './useField';\n import { WidgetTypeEnum, ComponentNameEnum } from '@kp-ui/lowcode-core';\n import { computed, onMounted } from 'vue';\n import { useFilePreview, TpfModal, SvgIcon, useFilesystemApi, FileIcon } 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","_createVNode","_component_a_upload","ref","disabled","class","_normalizeClass","isReadonly","$event","listType","uploadListType","onPreview","onRemove","_component_a_space","align","_createElementVNode","type","SvgIcon","_hoisted_2","_createElementBlock","_Fragment","_renderList","inx","_hoisted_3","_toDisplayString","TpfModal","visible","title","footer","style","src"],"mappings":"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"}
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
  };
@@ -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(
@@ -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,7 @@ 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
  };
@@ -1 +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 min-height: 100px;\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
+ {"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,12 @@ 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
  };
@@ -1 +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 :key=\"widget.id\" :gutter=\"widget.options.gutter\">\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 { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useAppRef } 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 { initRefList } = useAppRef();\n\n initRefList();\n</script>\n\n<style lang=\"scss\" scoped>\n .grid-container {\n min-height: 50px;\n padding: 5px 10px;\n\n .form-widget-list {\n min-height: 28px;\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","widget","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BI,UAAM,EAAE,YAAA,IAAgB,UAAA;AAExB,gBAAA;;;AA9BA,aAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM;AAAA,sBAZFC,YAWQ,kBAAA;AAAA,UAXA,KAAKC,KAAAA,OAAO;AAAA,UAAK,QAAQA,KAAAA,OAAO,QAAQ;AAAA,QAAA;2BAExC,MAA0C;AAAA,aAD9CH,UAAA,IAAA,GAAAC,mBASEG,2BARgCD,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
+ {"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,7 @@ 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
  };
@@ -1 +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 './useField';\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
+ {"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,7 @@ 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
  };
@@ -1 +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 './useField';\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;;;;;;;;"}
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;;;;;;;;"}