@kp-ui/lowcode-pc 1.0.0-alpha.3 → 1.0.0-alpha.5

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 (450) hide show
  1. package/_virtual/_plugin-vue_export-helper.js +11 -0
  2. package/_virtual/_plugin-vue_export-helper.js.map +1 -0
  3. package/assets/styles/style.css +300 -292
  4. package/core/src/components/DragBtn.vue.js +8 -0
  5. package/core/src/components/DragBtn.vue.js.map +1 -0
  6. package/core/src/components/DragBtn.vue2.js +33 -0
  7. package/core/src/components/DragBtn.vue2.js.map +1 -0
  8. package/core/src/components/common/RenderWidgetList.vue.js +8 -0
  9. package/core/src/components/common/RenderWidgetList.vue.js.map +1 -0
  10. package/core/src/components/common/RenderWidgetList.vue2.js +94 -0
  11. package/core/src/components/common/RenderWidgetList.vue2.js.map +1 -0
  12. package/core/src/components/common/desginer/WidgetWrapper.vue.js +8 -0
  13. package/core/src/components/common/desginer/WidgetWrapper.vue.js.map +1 -0
  14. package/core/src/components/common/desginer/WidgetWrapper.vue2.js +67 -0
  15. package/core/src/components/common/desginer/WidgetWrapper.vue2.js.map +1 -0
  16. package/core/src/components/common/render/Debugger.vue.js +8 -0
  17. package/core/src/components/common/render/Debugger.vue.js.map +1 -0
  18. package/core/src/components/common/render/Debugger.vue2.js +73 -0
  19. package/core/src/components/common/render/Debugger.vue2.js.map +1 -0
  20. package/core/src/components/common/render/LowcodeRenderProvider.vue.js +51 -0
  21. package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -0
  22. package/core/src/components/common/render/LowcodeRenderProvider.vue2.js +5 -0
  23. package/core/src/components/common/render/LowcodeRenderProvider.vue2.js.map +1 -0
  24. package/core/src/components/common/render/RenderForm.vue.js +69 -0
  25. package/core/src/components/common/render/RenderForm.vue.js.map +1 -0
  26. package/core/src/components/common/render/RenderForm.vue2.js +5 -0
  27. package/core/src/components/common/render/RenderForm.vue2.js.map +1 -0
  28. package/core/src/components/common/render/useFormContext.js +262 -0
  29. package/core/src/components/common/render/useFormContext.js.map +1 -0
  30. package/core/src/components/contextMenu/WidgetContextMenu.vue.js +8 -0
  31. package/core/src/components/contextMenu/WidgetContextMenu.vue.js.map +1 -0
  32. package/core/src/components/contextMenu/WidgetContextMenu.vue2.js +125 -0
  33. package/core/src/components/contextMenu/WidgetContextMenu.vue2.js.map +1 -0
  34. package/core/src/components/contextMenu/useWidgetContextMenu.js +165 -0
  35. package/core/src/components/contextMenu/useWidgetContextMenu.js.map +1 -0
  36. package/core/src/constants/LayoutTypeEnum.js +10 -0
  37. package/core/src/constants/LayoutTypeEnum.js.map +1 -0
  38. package/core/src/constants/WidgetTypeEnum.js +63 -0
  39. package/core/src/constants/WidgetTypeEnum.js.map +1 -0
  40. package/core/src/constants/index.js +9 -0
  41. package/core/src/constants/index.js.map +1 -0
  42. package/core/src/hooks/useAppRef.js +56 -0
  43. package/core/src/hooks/useAppRef.js.map +1 -0
  44. package/core/src/hooks/useDataHttp.js +65 -0
  45. package/core/src/hooks/useDataHttp.js.map +1 -0
  46. package/core/src/hooks/useDesigner.js +56 -0
  47. package/core/src/hooks/useDesigner.js.map +1 -0
  48. package/core/src/hooks/useField.js +570 -0
  49. package/core/src/hooks/useField.js.map +1 -0
  50. package/core/src/hooks/useFormValidation.js +112 -0
  51. package/core/src/hooks/useFormValidation.js.map +1 -0
  52. package/core/src/hooks/useLowcode.js +94 -0
  53. package/core/src/hooks/useLowcode.js.map +1 -0
  54. package/core/src/hooks/useWidget.js +15 -0
  55. package/core/src/hooks/useWidget.js.map +1 -0
  56. package/{assets/en-US.mjs → core/src/lang/en-US.js} +3 -1
  57. package/core/src/lang/en-US.js.map +1 -0
  58. package/{assets/en-US_extension.mjs → core/src/lang/en-US_extension.js} +1 -1
  59. package/core/src/lang/en-US_extension.js.map +1 -0
  60. package/{assets/en-US_render.mjs → core/src/lang/en-US_render.js} +1 -1
  61. package/core/src/lang/en-US_render.js.map +1 -0
  62. package/{assets/zh-CN.mjs → core/src/lang/zh-CN.js} +19 -4
  63. package/core/src/lang/zh-CN.js.map +1 -0
  64. package/{assets/zh-CN_extension.mjs → core/src/lang/zh-CN_extension.js} +1 -1
  65. package/core/src/lang/zh-CN_extension.js.map +1 -0
  66. package/{assets/zh-CN_render.mjs → core/src/lang/zh-CN_render.js} +1 -1
  67. package/core/src/lang/zh-CN_render.js.map +1 -0
  68. package/core/src/utils/event-bus.js +8 -0
  69. package/core/src/utils/event-bus.js.map +1 -0
  70. package/core/src/utils/format.js +46 -0
  71. package/core/src/utils/format.js.map +1 -0
  72. package/core/src/utils/getFileName.js +10 -0
  73. package/core/src/utils/getFileName.js.map +1 -0
  74. package/core/src/utils/i18n.js +33 -0
  75. package/core/src/utils/i18n.js.map +1 -0
  76. package/core/src/utils/smart-vue-i18n/index.js +84 -0
  77. package/core/src/utils/smart-vue-i18n/index.js.map +1 -0
  78. package/core/src/utils/useEmitter.js +95 -0
  79. package/core/src/utils/useEmitter.js.map +1 -0
  80. package/core/src/utils/util.js +155 -0
  81. package/core/src/utils/util.js.map +1 -0
  82. package/core/src/utils/validators.js +114 -0
  83. package/core/src/utils/validators.js.map +1 -0
  84. package/install.js +29 -0
  85. package/install.js.map +1 -0
  86. package/package.json +34 -34
  87. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +8 -0
  88. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js.map +1 -0
  89. package/{assets/data-table-widget.mjs → src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js} +5 -4
  90. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -0
  91. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js +8 -0
  92. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -0
  93. package/{assets/grid-col-widget.mjs → src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js} +8 -15
  94. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -0
  95. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js +8 -0
  96. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -0
  97. package/{assets/grid-sub-form-widget.mjs → src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js} +4 -4
  98. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -0
  99. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js +2 -0
  100. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue3.js.map +1 -0
  101. package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js +8 -0
  102. package/src/components/desginer/form-widget/container-widget/grid-widget.vue.js.map +1 -0
  103. package/{assets/grid-widget.mjs → src/components/desginer/form-widget/container-widget/grid-widget.vue2.js} +13 -10
  104. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -0
  105. package/src/components/desginer/form-widget/container-widget/index.js +19 -0
  106. package/src/components/desginer/form-widget/container-widget/index.js.map +1 -0
  107. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +8 -0
  108. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js.map +1 -0
  109. package/{assets/tab-widget.mjs → src/components/desginer/form-widget/container-widget/tab-widget.vue2.js} +5 -4
  110. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -0
  111. package/src/components/desginer/form-widget/container-widget/useTableWidget.js +297 -0
  112. package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -0
  113. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +8 -0
  114. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -0
  115. package/{assets/vf-box-widget.mjs → src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js} +5 -4
  116. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -0
  117. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js +9 -0
  118. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue.js.map +1 -0
  119. package/{assets/vf-collapse-widget.mjs → src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js} +6 -7
  120. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -0
  121. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js +8 -0
  122. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -0
  123. package/{assets/vf-dialog-widget.mjs → src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js} +13 -5
  124. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -0
  125. package/src/components/desginer/form-widget/index.vue.js +2 -0
  126. package/src/components/desginer/form-widget/index.vue.js.map +1 -0
  127. package/src/components/desginer/widget-panel/advanced/bpmn-editor.js +30 -0
  128. package/src/components/desginer/widget-panel/advanced/bpmn-editor.js.map +1 -0
  129. package/src/components/desginer/widget-panel/advanced/cascader.js +68 -0
  130. package/src/components/desginer/widget-panel/advanced/cascader.js.map +1 -0
  131. package/src/components/desginer/widget-panel/advanced/code-editor.js +44 -0
  132. package/src/components/desginer/widget-panel/advanced/code-editor.js.map +1 -0
  133. package/src/components/desginer/widget-panel/advanced/data-table.js +102 -0
  134. package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -0
  135. package/src/components/desginer/widget-panel/advanced/diy-compontent.js +30 -0
  136. package/src/components/desginer/widget-panel/advanced/diy-compontent.js.map +1 -0
  137. package/src/components/desginer/widget-panel/advanced/file-upload.js +43 -0
  138. package/src/components/desginer/widget-panel/advanced/file-upload.js.map +1 -0
  139. package/src/components/desginer/widget-panel/advanced/rich-editor.js +40 -0
  140. package/src/components/desginer/widget-panel/advanced/rich-editor.js.map +1 -0
  141. package/src/components/desginer/widget-panel/advanced/tree-select.js +69 -0
  142. package/src/components/desginer/widget-panel/advanced/tree-select.js.map +1 -0
  143. package/src/components/desginer/widget-panel/advanced/tree.js +47 -0
  144. package/src/components/desginer/widget-panel/advanced/tree.js.map +1 -0
  145. package/src/components/desginer/widget-panel/advancedFieldsEnums.js +24 -0
  146. package/src/components/desginer/widget-panel/advancedFieldsEnums.js.map +1 -0
  147. package/src/components/desginer/widget-panel/basicFields/button.js +37 -0
  148. package/src/components/desginer/widget-panel/basicFields/button.js.map +1 -0
  149. package/src/components/desginer/widget-panel/basicFields/buttonList.js +45 -0
  150. package/src/components/desginer/widget-panel/basicFields/buttonList.js.map +1 -0
  151. package/src/components/desginer/widget-panel/basicFields/checkbox.js +64 -0
  152. package/src/components/desginer/widget-panel/basicFields/checkbox.js.map +1 -0
  153. package/src/components/desginer/widget-panel/basicFields/color.js +38 -0
  154. package/src/components/desginer/widget-panel/basicFields/color.js.map +1 -0
  155. package/src/components/desginer/widget-panel/basicFields/date.js +55 -0
  156. package/src/components/desginer/widget-panel/basicFields/date.js.map +1 -0
  157. package/src/components/desginer/widget-panel/basicFields/dateRange.js +55 -0
  158. package/src/components/desginer/widget-panel/basicFields/dateRange.js.map +1 -0
  159. package/src/components/desginer/widget-panel/basicFields/divider.js +31 -0
  160. package/src/components/desginer/widget-panel/basicFields/divider.js.map +1 -0
  161. package/src/components/desginer/widget-panel/basicFields/dropdown.js +42 -0
  162. package/src/components/desginer/widget-panel/basicFields/dropdown.js.map +1 -0
  163. package/src/components/desginer/widget-panel/basicFields/htmlText.js +29 -0
  164. package/src/components/desginer/widget-panel/basicFields/htmlText.js.map +1 -0
  165. package/src/components/desginer/widget-panel/basicFields/input.js +56 -0
  166. package/src/components/desginer/widget-panel/basicFields/input.js.map +1 -0
  167. package/src/components/desginer/widget-panel/basicFields/number.js +50 -0
  168. package/src/components/desginer/widget-panel/basicFields/number.js.map +1 -0
  169. package/src/components/desginer/widget-panel/basicFields/radio.js +70 -0
  170. package/src/components/desginer/widget-panel/basicFields/radio.js.map +1 -0
  171. package/src/components/desginer/widget-panel/basicFields/rate.js +45 -0
  172. package/src/components/desginer/widget-panel/basicFields/rate.js.map +1 -0
  173. package/src/components/desginer/widget-panel/basicFields/select.js +77 -0
  174. package/src/components/desginer/widget-panel/basicFields/select.js.map +1 -0
  175. package/src/components/desginer/widget-panel/basicFields/slider.js +47 -0
  176. package/src/components/desginer/widget-panel/basicFields/slider.js.map +1 -0
  177. package/src/components/desginer/widget-panel/basicFields/staticText.js +29 -0
  178. package/src/components/desginer/widget-panel/basicFields/staticText.js.map +1 -0
  179. package/src/components/desginer/widget-panel/basicFields/switch.js +41 -0
  180. package/src/components/desginer/widget-panel/basicFields/switch.js.map +1 -0
  181. package/src/components/desginer/widget-panel/basicFields/textarea.js +53 -0
  182. package/src/components/desginer/widget-panel/basicFields/textarea.js.map +1 -0
  183. package/src/components/desginer/widget-panel/basicFields/time.js +51 -0
  184. package/src/components/desginer/widget-panel/basicFields/time.js.map +1 -0
  185. package/src/components/desginer/widget-panel/basicFields/timeRange.js +52 -0
  186. package/src/components/desginer/widget-panel/basicFields/timeRange.js.map +1 -0
  187. package/src/components/desginer/widget-panel/basicFieldsEnums.js +46 -0
  188. package/src/components/desginer/widget-panel/basicFieldsEnums.js.map +1 -0
  189. package/src/components/desginer/widget-panel/containers/grid-col.js +29 -0
  190. package/src/components/desginer/widget-panel/containers/grid-col.js.map +1 -0
  191. package/src/components/desginer/widget-panel/containers/grid-sub-form.js +22 -0
  192. package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -0
  193. package/src/components/desginer/widget-panel/containers/grid.js +26 -0
  194. package/src/components/desginer/widget-panel/containers/grid.js.map +1 -0
  195. package/src/components/desginer/widget-panel/containers/index.js +19 -0
  196. package/{index.js.map → src/components/desginer/widget-panel/containers/index.js.map} +1 -1
  197. package/src/components/desginer/widget-panel/containers/tab-pane.js +23 -0
  198. package/src/components/desginer/widget-panel/containers/tab-pane.js.map +1 -0
  199. package/src/components/desginer/widget-panel/containers/tab.js +27 -0
  200. package/src/components/desginer/widget-panel/containers/tab.js.map +1 -0
  201. package/src/components/desginer/widget-panel/containers/vf-box.js +47 -0
  202. package/src/components/desginer/widget-panel/containers/vf-box.js.map +1 -0
  203. package/src/components/desginer/widget-panel/containers/vf-collapse.js +25 -0
  204. package/src/components/desginer/widget-panel/containers/vf-collapse.js.map +1 -0
  205. package/src/components/desginer/widget-panel/containers/vf-dialog.js +55 -0
  206. package/src/components/desginer/widget-panel/containers/vf-dialog.js.map +1 -0
  207. package/src/components/desginer/widget-panel/widgetsConfig.js +7 -0
  208. package/src/components/desginer/widget-panel/widgetsConfig.js.map +1 -0
  209. package/src/components/field-widget/bpmn-editor-widget.vue.js +8 -0
  210. package/src/components/field-widget/bpmn-editor-widget.vue.js.map +1 -0
  211. package/{assets/bpmn-editor-widget.mjs → src/components/field-widget/bpmn-editor-widget.vue2.js} +5 -6
  212. package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -0
  213. package/src/components/field-widget/button-list-widget.vue.js +8 -0
  214. package/src/components/field-widget/button-list-widget.vue.js.map +1 -0
  215. package/{assets/button-list-widget.mjs → src/components/field-widget/button-list-widget.vue2.js} +13 -6
  216. package/src/components/field-widget/button-list-widget.vue2.js.map +1 -0
  217. package/src/components/field-widget/button-widget.vue.js +8 -0
  218. package/src/components/field-widget/button-widget.vue.js.map +1 -0
  219. package/{assets/button-widget.mjs → src/components/field-widget/button-widget.vue2.js} +4 -5
  220. package/src/components/field-widget/button-widget.vue2.js.map +1 -0
  221. package/src/components/field-widget/cascader-widget.vue.js +5 -0
  222. package/src/components/field-widget/cascader-widget.vue.js.map +1 -0
  223. package/{assets/cascader-widget.mjs → src/components/field-widget/cascader-widget.vue2.js} +6 -5
  224. package/src/components/field-widget/cascader-widget.vue2.js.map +1 -0
  225. package/src/components/field-widget/checkbox-widget.vue.js +5 -0
  226. package/src/components/field-widget/checkbox-widget.vue.js.map +1 -0
  227. package/{assets/checkbox-widget.mjs → src/components/field-widget/checkbox-widget.vue2.js} +9 -11
  228. package/src/components/field-widget/checkbox-widget.vue2.js.map +1 -0
  229. package/src/components/field-widget/code-editor-widget.vue.js +5 -0
  230. package/src/components/field-widget/code-editor-widget.vue.js.map +1 -0
  231. package/{assets/code-editor-widget.mjs → src/components/field-widget/code-editor-widget.vue2.js} +4 -4
  232. package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -0
  233. package/src/components/field-widget/color-widget.vue.js +8 -0
  234. package/src/components/field-widget/color-widget.vue.js.map +1 -0
  235. package/{assets/color-widget.mjs → src/components/field-widget/color-widget.vue2.js} +5 -6
  236. package/src/components/field-widget/color-widget.vue2.js.map +1 -0
  237. package/src/components/field-widget/date-range-widget.vue.js +8 -0
  238. package/src/components/field-widget/date-range-widget.vue.js.map +1 -0
  239. package/{assets/date-range-widget.mjs → src/components/field-widget/date-range-widget.vue2.js} +5 -6
  240. package/src/components/field-widget/date-range-widget.vue2.js.map +1 -0
  241. package/src/components/field-widget/date-widget.vue.js +8 -0
  242. package/src/components/field-widget/date-widget.vue.js.map +1 -0
  243. package/{assets/date-widget.mjs → src/components/field-widget/date-widget.vue2.js} +5 -6
  244. package/src/components/field-widget/date-widget.vue2.js.map +1 -0
  245. package/src/components/field-widget/divider-widget.vue.js +5 -0
  246. package/src/components/field-widget/divider-widget.vue.js.map +1 -0
  247. package/{assets/divider-widget.mjs → src/components/field-widget/divider-widget.vue2.js} +3 -3
  248. package/src/components/field-widget/divider-widget.vue2.js.map +1 -0
  249. package/src/components/field-widget/diy-compontent-widget.vue.js +5 -0
  250. package/src/components/field-widget/diy-compontent-widget.vue.js.map +1 -0
  251. package/{assets/diy-compontent-widget.mjs → src/components/field-widget/diy-compontent-widget.vue2.js} +4 -4
  252. package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -0
  253. package/src/components/field-widget/dropdown-widget.vue.js +8 -0
  254. package/src/components/field-widget/dropdown-widget.vue.js.map +1 -0
  255. package/{assets/dropdown-widget.mjs → src/components/field-widget/dropdown-widget.vue2.js} +4 -5
  256. package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -0
  257. package/src/components/field-widget/file-upload-widget.vue.js +8 -0
  258. package/src/components/field-widget/file-upload-widget.vue.js.map +1 -0
  259. package/{assets/file-upload-widget.mjs → src/components/field-widget/file-upload-widget.vue2.js} +30 -22
  260. package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -0
  261. package/src/components/field-widget/form-item-wrapper.vue.js +8 -0
  262. package/src/components/field-widget/form-item-wrapper.vue.js.map +1 -0
  263. package/{assets/form-item-wrapper.mjs → src/components/field-widget/form-item-wrapper.vue2.js} +3 -4
  264. package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -0
  265. package/{assets/useSelect.mjs → src/components/field-widget/hooks/useSelect.js} +3 -3
  266. package/src/components/field-widget/hooks/useSelect.js.map +1 -0
  267. package/src/components/field-widget/html-text-widget.vue.js +8 -0
  268. package/src/components/field-widget/html-text-widget.vue.js.map +1 -0
  269. package/{assets/html-text-widget.mjs → src/components/field-widget/html-text-widget.vue2.js} +4 -5
  270. package/src/components/field-widget/html-text-widget.vue2.js.map +1 -0
  271. package/src/components/field-widget/html-text-widget.vue3.js +2 -0
  272. package/src/components/field-widget/html-text-widget.vue3.js.map +1 -0
  273. package/src/components/field-widget/index.js +12 -0
  274. package/src/components/field-widget/index.js.map +1 -0
  275. package/src/components/field-widget/input-widget.vue.js +8 -0
  276. package/src/components/field-widget/input-widget.vue.js.map +1 -0
  277. package/{assets/input-widget.mjs → src/components/field-widget/input-widget.vue2.js} +5 -6
  278. package/src/components/field-widget/input-widget.vue2.js.map +1 -0
  279. package/src/components/field-widget/number-widget.vue.js +5 -0
  280. package/src/components/field-widget/number-widget.vue.js.map +1 -0
  281. package/{assets/number-widget.mjs → src/components/field-widget/number-widget.vue2.js} +4 -4
  282. package/src/components/field-widget/number-widget.vue2.js.map +1 -0
  283. package/src/components/field-widget/radio-widget.vue.js +8 -0
  284. package/src/components/field-widget/radio-widget.vue.js.map +1 -0
  285. package/{assets/radio-widget.mjs → src/components/field-widget/radio-widget.vue2.js} +6 -7
  286. package/src/components/field-widget/radio-widget.vue2.js.map +1 -0
  287. package/src/components/field-widget/rate-widget.vue.js +8 -0
  288. package/src/components/field-widget/rate-widget.vue.js.map +1 -0
  289. package/{assets/rate-widget.mjs → src/components/field-widget/rate-widget.vue2.js} +5 -6
  290. package/src/components/field-widget/rate-widget.vue2.js.map +1 -0
  291. package/src/components/field-widget/rich-editor-widget.vue.js +8 -0
  292. package/src/components/field-widget/rich-editor-widget.vue.js.map +1 -0
  293. package/{assets/rich-editor-widget.mjs → src/components/field-widget/rich-editor-widget.vue2.js} +5 -6
  294. package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -0
  295. package/src/components/field-widget/select-widget.vue.js +8 -0
  296. package/src/components/field-widget/select-widget.vue.js.map +1 -0
  297. package/{assets/select-widget.mjs → src/components/field-widget/select-widget.vue2.js} +5 -7
  298. package/src/components/field-widget/select-widget.vue2.js.map +1 -0
  299. package/src/components/field-widget/slider-widget.vue.js +5 -0
  300. package/src/components/field-widget/slider-widget.vue.js.map +1 -0
  301. package/{assets/slider-widget.mjs → src/components/field-widget/slider-widget.vue2.js} +4 -4
  302. package/src/components/field-widget/slider-widget.vue2.js.map +1 -0
  303. package/src/components/field-widget/static-text-widget.vue.js +5 -0
  304. package/src/components/field-widget/static-text-widget.vue.js.map +1 -0
  305. package/{assets/static-text-widget.mjs → src/components/field-widget/static-text-widget.vue2.js} +3 -3
  306. package/src/components/field-widget/static-text-widget.vue2.js.map +1 -0
  307. package/src/components/field-widget/switch-widget.vue.js +8 -0
  308. package/src/components/field-widget/switch-widget.vue.js.map +1 -0
  309. package/{assets/switch-widget.mjs → src/components/field-widget/switch-widget.vue2.js} +5 -6
  310. package/src/components/field-widget/switch-widget.vue2.js.map +1 -0
  311. package/src/components/field-widget/textarea-widget.vue.js +8 -0
  312. package/src/components/field-widget/textarea-widget.vue.js.map +1 -0
  313. package/{assets/textarea-widget.mjs → src/components/field-widget/textarea-widget.vue2.js} +5 -6
  314. package/src/components/field-widget/textarea-widget.vue2.js.map +1 -0
  315. package/src/components/field-widget/time-range-widget.vue.js +8 -0
  316. package/src/components/field-widget/time-range-widget.vue.js.map +1 -0
  317. package/{assets/time-range-widget.mjs → src/components/field-widget/time-range-widget.vue2.js} +5 -6
  318. package/src/components/field-widget/time-range-widget.vue2.js.map +1 -0
  319. package/src/components/field-widget/time-widget.vue.js +8 -0
  320. package/src/components/field-widget/time-widget.vue.js.map +1 -0
  321. package/{assets/time-widget.mjs → src/components/field-widget/time-widget.vue2.js} +5 -6
  322. package/src/components/field-widget/time-widget.vue2.js.map +1 -0
  323. package/src/components/field-widget/tree-widget.vue.js +8 -0
  324. package/src/components/field-widget/tree-widget.vue.js.map +1 -0
  325. package/{assets/tree-widget.mjs → src/components/field-widget/tree-widget.vue2.js} +6 -7
  326. package/src/components/field-widget/tree-widget.vue2.js.map +1 -0
  327. package/src/components/field-widget/treeSelect-widget.vue.js +5 -0
  328. package/src/components/field-widget/treeSelect-widget.vue.js.map +1 -0
  329. package/{assets/treeSelect-widget.mjs → src/components/field-widget/treeSelect-widget.vue2.js} +6 -5
  330. package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -0
  331. package/{assets/useField.mjs → src/components/field-widget/useField.js} +7 -3
  332. package/src/components/field-widget/useField.js.map +1 -0
  333. package/src/components/field-widget/vue-render-widget.vue.js +5 -0
  334. package/src/components/field-widget/vue-render-widget.vue.js.map +1 -0
  335. package/{assets/vue-render-widget.mjs → src/components/field-widget/vue-render-widget.vue2.js} +4 -4
  336. package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -0
  337. package/src/components/form-render/RenderWigetList.vue.js +5 -0
  338. package/src/components/form-render/RenderWigetList.vue.js.map +1 -0
  339. package/src/components/form-render/RenderWigetList.vue2.js +46 -0
  340. package/src/components/form-render/RenderWigetList.vue2.js.map +1 -0
  341. package/src/components/form-render/container-items/data-table-widget.vue.js +8 -0
  342. package/src/components/form-render/container-items/data-table-widget.vue.js.map +1 -0
  343. package/src/components/form-render/container-items/data-table-widget.vue2.js +119 -0
  344. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -0
  345. package/src/components/form-render/container-items/grid-col-widget.vue.js +8 -0
  346. package/src/components/form-render/container-items/grid-col-widget.vue.js.map +1 -0
  347. package/src/components/form-render/container-items/grid-col-widget.vue2.js +56 -0
  348. package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -0
  349. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +8 -0
  350. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js.map +1 -0
  351. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +263 -0
  352. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -0
  353. package/src/components/form-render/container-items/grid-widget.vue.js +8 -0
  354. package/src/components/form-render/container-items/grid-widget.vue.js.map +1 -0
  355. package/src/components/form-render/container-items/grid-widget.vue2.js +61 -0
  356. package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -0
  357. package/src/components/form-render/container-items/grid-widget.vue3.js +2 -0
  358. package/src/components/form-render/container-items/grid-widget.vue3.js.map +1 -0
  359. package/src/components/form-render/container-items/index.js +21 -0
  360. package/src/components/form-render/container-items/index.js.map +1 -0
  361. package/src/components/form-render/container-items/tab-widget.vue.js +8 -0
  362. package/src/components/form-render/container-items/tab-widget.vue.js.map +1 -0
  363. package/src/components/form-render/container-items/tab-widget.vue2.js +66 -0
  364. package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -0
  365. package/src/components/form-render/container-items/vf-box-widget.vue.js +8 -0
  366. package/src/components/form-render/container-items/vf-box-widget.vue.js.map +1 -0
  367. package/src/components/form-render/container-items/vf-box-widget.vue2.js +59 -0
  368. package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -0
  369. package/src/components/form-render/container-items/vf-collapse-widget.vue.js +9 -0
  370. package/src/components/form-render/container-items/vf-collapse-widget.vue.js.map +1 -0
  371. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +70 -0
  372. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -0
  373. package/src/components/public/ActionButtonListRender.vue.js +53 -0
  374. package/src/components/public/ActionButtonListRender.vue.js.map +1 -0
  375. package/src/components/public/ActionButtonListRender.vue2.js +130 -0
  376. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -0
  377. package/src/components/public/ConfigView/CustomPageRender.vue.js +74 -0
  378. package/src/components/public/ConfigView/CustomPageRender.vue.js.map +1 -0
  379. package/src/components/public/ConfigView/CustomPageRender.vue2.js +5 -0
  380. package/src/components/public/ConfigView/CustomPageRender.vue2.js.map +1 -0
  381. package/src/components/public/CustomerModal/CustomerModal.vue.js +5 -0
  382. package/src/components/public/CustomerModal/CustomerModal.vue.js.map +1 -0
  383. package/{assets/CustomerModal.mjs → src/components/public/CustomerModal/CustomerModal.vue2.js} +5 -2
  384. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -0
  385. package/{assets/useCustomerModal.mjs → src/components/public/CustomerModal/useCustomerModal.js} +2 -2
  386. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -0
  387. package/src/components/public/DynamicDialog.vue.js +227 -0
  388. package/src/components/public/DynamicDialog.vue.js.map +1 -0
  389. package/src/components/public/DynamicDialog.vue3.js +6 -0
  390. package/src/components/public/DynamicDialog.vue3.js.map +1 -0
  391. package/src/components/render/index.vue.js +8 -0
  392. package/src/components/render/index.vue.js.map +1 -0
  393. package/src/components/render/index.vue2.js +107 -0
  394. package/src/components/render/index.vue2.js.map +1 -0
  395. package/src/components/render/useRenderWidget.js +11 -0
  396. package/src/components/render/useRenderWidget.js.map +1 -0
  397. package/src/hooks/useLowcode.js +113 -0
  398. package/src/hooks/useLowcode.js.map +1 -0
  399. package/stats.html +4949 -0
  400. package/assets/CustomerModal.mjs.map +0 -1
  401. package/assets/bpmn-editor-widget.mjs.map +0 -1
  402. package/assets/button-list-widget.mjs.map +0 -1
  403. package/assets/button-widget.mjs.map +0 -1
  404. package/assets/cascader-widget.mjs.map +0 -1
  405. package/assets/checkbox-widget.mjs.map +0 -1
  406. package/assets/code-editor-widget.mjs.map +0 -1
  407. package/assets/color-widget.mjs.map +0 -1
  408. package/assets/data-table-widget.mjs.map +0 -1
  409. package/assets/date-range-widget.mjs.map +0 -1
  410. package/assets/date-widget.mjs.map +0 -1
  411. package/assets/divider-widget.mjs.map +0 -1
  412. package/assets/diy-compontent-widget.mjs.map +0 -1
  413. package/assets/dropdown-widget.mjs.map +0 -1
  414. package/assets/en-US.mjs.map +0 -1
  415. package/assets/en-US_extension.mjs.map +0 -1
  416. package/assets/en-US_render.mjs.map +0 -1
  417. package/assets/file-upload-widget.mjs.map +0 -1
  418. package/assets/form-item-wrapper.mjs.map +0 -1
  419. package/assets/grid-col-widget.mjs.map +0 -1
  420. package/assets/grid-sub-form-widget.mjs.map +0 -1
  421. package/assets/grid-widget.mjs.map +0 -1
  422. package/assets/html-text-widget.mjs.map +0 -1
  423. package/assets/input-widget.mjs.map +0 -1
  424. package/assets/install.mjs +0 -5565
  425. package/assets/install.mjs.map +0 -1
  426. package/assets/number-widget.mjs.map +0 -1
  427. package/assets/radio-widget.mjs.map +0 -1
  428. package/assets/rate-widget.mjs.map +0 -1
  429. package/assets/rich-editor-widget.mjs.map +0 -1
  430. package/assets/select-widget.mjs.map +0 -1
  431. package/assets/slider-widget.mjs.map +0 -1
  432. package/assets/static-text-widget.mjs.map +0 -1
  433. package/assets/switch-widget.mjs.map +0 -1
  434. package/assets/tab-widget.mjs.map +0 -1
  435. package/assets/textarea-widget.mjs.map +0 -1
  436. package/assets/time-range-widget.mjs.map +0 -1
  437. package/assets/time-widget.mjs.map +0 -1
  438. package/assets/tree-widget.mjs.map +0 -1
  439. package/assets/treeSelect-widget.mjs.map +0 -1
  440. package/assets/useCustomerModal.mjs.map +0 -1
  441. package/assets/useField.mjs.map +0 -1
  442. package/assets/useSelect.mjs.map +0 -1
  443. package/assets/vf-box-widget.mjs.map +0 -1
  444. package/assets/vf-collapse-widget.mjs.map +0 -1
  445. package/assets/vf-dialog-widget.mjs.map +0 -1
  446. package/assets/vue-render-widget.mjs.map +0 -1
  447. package/assets/zh-CN.mjs.map +0 -1
  448. package/assets/zh-CN_extension.mjs.map +0 -1
  449. package/assets/zh-CN_render.mjs.map +0 -1
  450. package/index.js +0 -12
@@ -0,0 +1,114 @@
1
+ import { isNull } from "./util.js";
2
+ const commonRegExp = {
3
+ number: /^[-]?\d+(\.\d+)?$/,
4
+ letter: /^[A-Za-z]+$/,
5
+ letterAndNumber: /^[A-Za-z0-9]+$/,
6
+ mobilePhone: /^[1][3-9][0-9]{9}$/,
7
+ letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\d]*$/,
8
+ noChinese: /^[^\u4e00-\u9fa5]+$/,
9
+ chinese: /^[\u4e00-\u9fa5]+$/,
10
+ email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/,
11
+ url: /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/
12
+ };
13
+ const getRegExp = function(validatorName) {
14
+ return commonRegExp[validatorName];
15
+ };
16
+ const parseRegExpString = (regExpStr) => {
17
+ try {
18
+ const match = regExpStr.match(/^\/(.+)\/([gimsuy]*)$/);
19
+ if (match) {
20
+ return new RegExp(match[1], match[2]);
21
+ }
22
+ return new RegExp(regExpStr);
23
+ } catch {
24
+ return null;
25
+ }
26
+ };
27
+ const validateFn = function(validatorName, rule, value, defaultErrorMsg) {
28
+ try {
29
+ if (isNull(value) || typeof value === "string" && value.length <= 0) {
30
+ return Promise.resolve();
31
+ }
32
+ const reg = getRegExp(validatorName);
33
+ if (!reg) {
34
+ return Promise.resolve();
35
+ }
36
+ if (!reg.test(String(value))) {
37
+ const errTxt = rule.errorMsg || defaultErrorMsg;
38
+ return Promise.reject(errTxt);
39
+ } else {
40
+ return Promise.resolve();
41
+ }
42
+ } catch (error) {
43
+ return Promise.resolve();
44
+ }
45
+ };
46
+ const FormValidators = {
47
+ /* 数字 */
48
+ number(rule, value) {
49
+ return validateFn("number", rule, value, "[" + rule.label + "]包含非数字字符");
50
+ },
51
+ /* 字母 */
52
+ letter(rule, value) {
53
+ return validateFn("letter", rule, value, "[" + rule.label + "]包含非字母字符");
54
+ },
55
+ /* 字母和数字 */
56
+ letterAndNumber(rule, value) {
57
+ return validateFn("letterAndNumber", rule, value, "[" + rule.label + "]只能输入字母或数字");
58
+ },
59
+ /* 手机号码 */
60
+ mobilePhone(rule, value) {
61
+ return validateFn("mobilePhone", rule, value, "[" + rule.label + "]手机号码格式有误");
62
+ },
63
+ /* 禁止空白字符开头 */
64
+ noBlankStart(_rule, _value) {
65
+ },
66
+ /* 禁止空白字符结尾 */
67
+ noBlankEnd(_rule, _value) {
68
+ },
69
+ /* 字母开头,仅可包含数字 */
70
+ letterStartNumberIncluded(rule, value) {
71
+ return validateFn(
72
+ "letterStartNumberIncluded",
73
+ rule,
74
+ value,
75
+ "[" + rule.label + "]必须以字母开头,可包含数字"
76
+ );
77
+ },
78
+ /* 禁止中文输入 */
79
+ noChinese(rule, value) {
80
+ return validateFn("noChinese", rule, value, "[" + rule.label + "]不可输入中文字符");
81
+ },
82
+ /* 必须中文输入 */
83
+ chinese(rule, value) {
84
+ return validateFn("chinese", rule, value, "[" + rule.label + "]只能输入中文字符");
85
+ },
86
+ /* 电子邮箱 */
87
+ email(rule, value) {
88
+ return validateFn("email", rule, value, "[" + rule.label + "]邮箱格式有误");
89
+ },
90
+ /* URL网址 */
91
+ url(rule, value) {
92
+ return validateFn("url", rule, value, "[" + rule.label + "]URL格式有误");
93
+ },
94
+ regExp(rule, value) {
95
+ if (isNull(value) || typeof value === "string" && value.length <= 0) {
96
+ return Promise.resolve();
97
+ }
98
+ const pattern = parseRegExpString(rule.regExp || "");
99
+ if (!pattern) {
100
+ return Promise.resolve();
101
+ }
102
+ if (!pattern.test(String(value))) {
103
+ const errTxt = rule.errorMsg || "[" + rule.label + "]invalid value";
104
+ return Promise.reject(errTxt);
105
+ } else {
106
+ return Promise.resolve();
107
+ }
108
+ }
109
+ };
110
+ export {
111
+ FormValidators as default,
112
+ getRegExp
113
+ };
114
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sources":["../../../../../core/src/utils/validators.ts"],"sourcesContent":["import { isNull } from './util';\n\ntype RegExpName =\n | 'number'\n | 'letter'\n | 'letterAndNumber'\n | 'mobilePhone'\n | 'letterStartNumberIncluded'\n | 'noChinese'\n | 'chinese'\n | 'email'\n | 'url';\n\ninterface ValidationRule {\n label?: string;\n errorMsg?: string;\n regExp?: string;\n [key: string]: unknown;\n}\n\n// 直接存储 RegExp 对象,避免使用 eval\nconst commonRegExp: Record<RegExpName, RegExp> = {\n number: /^[-]?\\d+(\\.\\d+)?$/,\n letter: /^[A-Za-z]+$/,\n letterAndNumber: /^[A-Za-z0-9]+$/,\n mobilePhone: /^[1][3-9][0-9]{9}$/,\n letterStartNumberIncluded: /^[A-Za-z]+[A-Za-z\\d]*$/,\n noChinese: /^[^\\u4e00-\\u9fa5]+$/,\n chinese: /^[\\u4e00-\\u9fa5]+$/,\n email: /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+\\.)+[A-Za-z0-9]{2,3}$/,\n url: /^([hH][tT]{2}[pP]:\\/\\/|[hH][tT]{2}[pP][sS]:\\/\\/)(([A-Za-z0-9-~]+)\\.)+([A-Za-z0-9-~\\/])+$/\n};\n\nexport const getRegExp = function (validatorName: RegExpName): RegExp | undefined {\n return commonRegExp[validatorName];\n};\n\n/**\n * 将正则表达式字符串转换为 RegExp 对象\n * 支持格式: '/pattern/flags' 或 'pattern'\n */\nconst parseRegExpString = (regExpStr: string): RegExp | null => {\n try {\n // 处理 /pattern/flags 格式\n const match = regExpStr.match(/^\\/(.+)\\/([gimsuy]*)$/);\n if (match) {\n return new RegExp(match[1], match[2]);\n }\n // 普通字符串作为 pattern\n return new RegExp(regExpStr);\n } catch {\n return null;\n }\n};\n\nconst validateFn = function (\n validatorName: RegExpName,\n rule: ValidationRule,\n value: unknown,\n defaultErrorMsg: string\n): Promise<void> {\n try {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const reg = getRegExp(validatorName);\n if (!reg) {\n return Promise.resolve();\n }\n\n if (!reg.test(String(value))) {\n const errTxt = rule.errorMsg || defaultErrorMsg;\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n } catch (error) {\n return Promise.resolve();\n }\n};\n\ntype ValidatorFn = (rule: ValidationRule, value: unknown) => Promise<void> | void;\n\ninterface FormValidatorsType {\n number: ValidatorFn;\n letter: ValidatorFn;\n letterAndNumber: ValidatorFn;\n mobilePhone: ValidatorFn;\n noBlankStart: ValidatorFn;\n noBlankEnd: ValidatorFn;\n letterStartNumberIncluded: ValidatorFn;\n noChinese: ValidatorFn;\n chinese: ValidatorFn;\n email: ValidatorFn;\n url: ValidatorFn;\n regExp: ValidatorFn;\n}\n\nconst FormValidators: FormValidatorsType = {\n /* 数字 */\n number(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('number', rule, value, '[' + rule.label + ']包含非数字字符');\n },\n\n /* 字母 */\n letter(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letter', rule, value, '[' + rule.label + ']包含非字母字符');\n },\n\n /* 字母和数字 */\n letterAndNumber(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('letterAndNumber', rule, value, '[' + rule.label + ']只能输入字母或数字');\n },\n\n /* 手机号码 */\n mobilePhone(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('mobilePhone', rule, value, '[' + rule.label + ']手机号码格式有误');\n },\n\n /* 禁止空白字符开头 */\n noBlankStart(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 禁止空白字符结尾 */\n noBlankEnd(_rule: ValidationRule, _value: unknown): void {\n //暂未实现\n },\n\n /* 字母开头,仅可包含数字 */\n letterStartNumberIncluded(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn(\n 'letterStartNumberIncluded',\n rule,\n value,\n '[' + rule.label + ']必须以字母开头,可包含数字'\n );\n },\n\n /* 禁止中文输入 */\n noChinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('noChinese', rule, value, '[' + rule.label + ']不可输入中文字符');\n },\n\n /* 必须中文输入 */\n chinese(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('chinese', rule, value, '[' + rule.label + ']只能输入中文字符');\n },\n\n /* 电子邮箱 */\n email(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('email', rule, value, '[' + rule.label + ']邮箱格式有误');\n },\n\n /* URL网址 */\n url(rule: ValidationRule, value: unknown): Promise<void> {\n return validateFn('url', rule, value, '[' + rule.label + ']URL格式有误');\n },\n\n regExp(rule: ValidationRule, value: unknown): Promise<void> {\n // 空值不校验\n if (isNull(value) || (typeof value === 'string' && value.length <= 0)) {\n return Promise.resolve();\n }\n\n const pattern = parseRegExpString(rule.regExp || '');\n if (!pattern) {\n return Promise.resolve();\n }\n\n if (!pattern.test(String(value))) {\n const errTxt = rule.errorMsg || '[' + rule.label + ']invalid value';\n return Promise.reject(errTxt);\n } else {\n return Promise.resolve();\n }\n }\n};\n\nexport default FormValidators;\n"],"names":[],"mappings":";AAqBA,MAAM,eAA2C;AAAA,EAC7C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,2BAA2B;AAAA,EAC3B,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,KAAK;AACT;AAEO,MAAM,YAAY,SAAU,eAA+C;AAC9E,SAAO,aAAa,aAAa;AACrC;AAMA,MAAM,oBAAoB,CAAC,cAAqC;AAC5D,MAAI;AAEA,UAAM,QAAQ,UAAU,MAAM,uBAAuB;AACrD,QAAI,OAAO;AACP,aAAO,IAAI,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,IACxC;AAEA,WAAO,IAAI,OAAO,SAAS;AAAA,EAC/B,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAEA,MAAM,aAAa,SACf,eACA,MACA,OACA,iBACa;AACb,MAAI;AAEA,QAAI,OAAO,KAAK,KAAM,OAAO,UAAU,YAAY,MAAM,UAAU,GAAI;AACnE,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,UAAM,MAAM,UAAU,aAAa;AACnC,QAAI,CAAC,KAAK;AACN,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,QAAI,CAAC,IAAI,KAAK,OAAO,KAAK,CAAC,GAAG;AAC1B,YAAM,SAAS,KAAK,YAAY;AAChC,aAAO,QAAQ,OAAO,MAAM;AAAA,IAChC,OAAO;AACH,aAAO,QAAQ,QAAA;AAAA,IACnB;AAAA,EACJ,SAAS,OAAO;AACZ,WAAO,QAAQ,QAAA;AAAA,EACnB;AACJ;AAmBA,MAAM,iBAAqC;AAAA;AAAA,EAEvC,OAAO,MAAsB,OAA+B;AACxD,WAAO,WAAW,UAAU,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGA,OAAO,MAAsB,OAA+B;AACxD,WAAO,WAAW,UAAU,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EAC1E;AAAA;AAAA,EAGA,gBAAgB,MAAsB,OAA+B;AACjE,WAAO,WAAW,mBAAmB,MAAM,OAAO,MAAM,KAAK,QAAQ,YAAY;AAAA,EACrF;AAAA;AAAA,EAGA,YAAY,MAAsB,OAA+B;AAC7D,WAAO,WAAW,eAAe,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAChF;AAAA;AAAA,EAGA,aAAa,OAAuB,QAAuB;AAAA,EAE3D;AAAA;AAAA,EAGA,WAAW,OAAuB,QAAuB;AAAA,EAEzD;AAAA;AAAA,EAGA,0BAA0B,MAAsB,OAA+B;AAC3E,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAE3B;AAAA;AAAA,EAGA,UAAU,MAAsB,OAA+B;AAC3D,WAAO,WAAW,aAAa,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAC9E;AAAA;AAAA,EAGA,QAAQ,MAAsB,OAA+B;AACzD,WAAO,WAAW,WAAW,MAAM,OAAO,MAAM,KAAK,QAAQ,WAAW;AAAA,EAC5E;AAAA;AAAA,EAGA,MAAM,MAAsB,OAA+B;AACvD,WAAO,WAAW,SAAS,MAAM,OAAO,MAAM,KAAK,QAAQ,SAAS;AAAA,EACxE;AAAA;AAAA,EAGA,IAAI,MAAsB,OAA+B;AACrD,WAAO,WAAW,OAAO,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU;AAAA,EACvE;AAAA,EAEA,OAAO,MAAsB,OAA+B;AAExD,QAAI,OAAO,KAAK,KAAM,OAAO,UAAU,YAAY,MAAM,UAAU,GAAI;AACnE,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,UAAM,UAAU,kBAAkB,KAAK,UAAU,EAAE;AACnD,QAAI,CAAC,SAAS;AACV,aAAO,QAAQ,QAAA;AAAA,IACnB;AAEA,QAAI,CAAC,QAAQ,KAAK,OAAO,KAAK,CAAC,GAAG;AAC9B,YAAM,SAAS,KAAK,YAAY,MAAM,KAAK,QAAQ;AACnD,aAAO,QAAQ,OAAO,MAAM;AAAA,IAChC,OAAO;AACH,aAAO,QAAQ,QAAA;AAAA,IACnB;AAAA,EACJ;AACJ;"}
package/install.js ADDED
@@ -0,0 +1,29 @@
1
+ import { getLocat, getUserInfo } from "@kp-ui/tool";
2
+ import { VxeTooltip } from "vxe-pc-ui";
3
+ import dayjs from "dayjs";
4
+ import "virtual:svg-icons-register";
5
+ import { default as default2 } from "./src/components/render/index.vue.js";
6
+ import { useLowcode } from "./src/hooks/useLowcode.js";
7
+ import { default as default3 } from "./src/components/public/ConfigView/CustomPageRender.vue.js";
8
+ const registerLowcodeCore = (params) => {
9
+ const { app, factoryRender } = params;
10
+ app.config.globalProperties.$getLocat = getLocat;
11
+ app.config.globalProperties.$dayjs = dayjs;
12
+ app.config.globalProperties.$getUserInfo = getUserInfo;
13
+ app.config.globalProperties.$factoryRender = factoryRender;
14
+ app.config.globalProperties.$openCustomerModal = (ops) => {
15
+ import("./src/components/public/CustomerModal/useCustomerModal.js").then(
16
+ ({ openCustomerModal }) => {
17
+ openCustomerModal(ops, app);
18
+ }
19
+ );
20
+ };
21
+ app.component("VxeTooltip", VxeTooltip);
22
+ };
23
+ export {
24
+ default3 as CustomPageRender,
25
+ default2 as VFormRender,
26
+ registerLowcodeCore,
27
+ useLowcode
28
+ };
29
+ //# sourceMappingURL=install.js.map
package/install.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sources":["../install.ts"],"sourcesContent":["import { getLocat, getUserInfo } from '@kp-ui/tool';\nimport { VxeTooltip } from 'vxe-pc-ui';\nimport dayjs from 'dayjs';\nimport 'virtual:svg-icons-register';\nimport { App } from 'vue';\n\nexport { default as VFormRender } from './src/components/render/index.vue';\n\nexport * from './src/hooks/useLowcode';\n\nexport { default as CustomPageRender } from './src/components/public/ConfigView/CustomPageRender.vue';\ninterface RegisterLowcodeCoreParams {\n app: App;\n factoryRender: (name: any, props: any, ...args: any[]) => any;\n}\n\n// 注册 HTTP\nexport const registerLowcodeCore = (params: RegisterLowcodeCoreParams) => {\n const { app, factoryRender } = params;\n app.config.globalProperties.$getLocat = getLocat;\n app.config.globalProperties.$dayjs = dayjs;\n app.config.globalProperties.$getUserInfo = getUserInfo;\n app.config.globalProperties.$factoryRender = factoryRender;\n app.config.globalProperties.$openCustomerModal = ops => {\n import('./src/components/public/CustomerModal/useCustomerModal').then(\n ({ openCustomerModal }) => {\n openCustomerModal(ops, app);\n }\n );\n };\n app.component('VxeTooltip', VxeTooltip);\n};\n"],"names":[],"mappings":";;;;;;;AAiBO,MAAM,sBAAsB,CAAC,WAAsC;AACtE,QAAM,EAAE,KAAK,cAAA,IAAkB;AAC/B,MAAI,OAAO,iBAAiB,YAAY;AACxC,MAAI,OAAO,iBAAiB,SAAS;AACrC,MAAI,OAAO,iBAAiB,eAAe;AAC3C,MAAI,OAAO,iBAAiB,iBAAiB;AAC7C,MAAI,OAAO,iBAAiB,qBAAqB,CAAA,QAAO;AACpD,WAAO,2DAAwD,EAAE;AAAA,MAC7D,CAAC,EAAE,kBAAA,MAAwB;AACvB,0BAAkB,KAAK,GAAG;AAAA,MAC9B;AAAA,IAAA;AAAA,EAER;AACA,MAAI,UAAU,cAAc,UAAU;AAC1C;"}
package/package.json CHANGED
@@ -1,37 +1,37 @@
1
1
  {
2
- "name": "@kp-ui/lowcode-pc",
3
- "version": "1.0.0-alpha.3",
4
- "publishConfig": {
5
- "access": "public",
6
- "registry": "https://registry.npmjs.org/"
7
- },
8
- "module": "index.js",
9
- "dependencies": {
10
- "vuedraggable": "^4.0.0",
11
- "bpmn-js": "13.2.0",
12
- "vue-json-viewer": "^3.0.1",
13
- "ant-design-vue": "4.2.6",
14
- "query-string": "^6.14.1",
15
- "dayjs": "^1.11.7",
16
- "@kp-ui/tool": "2.14.1",
17
- "tailwindcss": "3.4.9",
18
- "vue": "3.5.17",
19
- "vue-echarts": "^8.0.1",
20
- "file-saver": "^2.0.5",
21
- "echarts": "^5.6.0"
22
- },
23
- "main": "index.js",
24
- "types": "types/pc/install.d.ts",
25
- "sideEffects": [
26
- "./assets/styles/*",
27
- "./_virtual/*"
28
- ],
29
- "exports": {
30
- ".": {
31
- "import": "./index.js",
32
- "types": "./types/pc/install.d.ts"
2
+ "name": "@kp-ui/lowcode-pc",
3
+ "version": "1.0.0-alpha.5",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org/"
33
7
  },
34
- "./style": "./assets/styles/style.css",
35
- "./styles/*": "./assets/styles/*"
36
- }
8
+ "module": "index.js",
9
+ "dependencies": {
10
+ "vuedraggable": "^4.0.0",
11
+ "bpmn-js": "13.2.0",
12
+ "vue-json-viewer": "^3.0.1",
13
+ "ant-design-vue": "4.2.6",
14
+ "query-string": "^6.14.1",
15
+ "dayjs": "^1.11.7",
16
+ "@kp-ui/tool": "2.14.1",
17
+ "tailwindcss": "3.4.9",
18
+ "vue": "3.5.17",
19
+ "vue-echarts": "^8.0.1",
20
+ "file-saver": "^2.0.5",
21
+ "echarts": "^5.6.0"
22
+ },
23
+ "main": "index.js",
24
+ "types": "types/pc/install.d.ts",
25
+ "sideEffects": [
26
+ "./assets/styles/*",
27
+ "./_virtual/*"
28
+ ],
29
+ "exports": {
30
+ ".": {
31
+ "import": "./install.js",
32
+ "types": "./types/pc/install.d.ts"
33
+ },
34
+ "./style": "./assets/styles/style.css",
35
+ "./styles/*": "./assets/styles/*"
36
+ }
37
37
  }
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./data-table-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ad6fb3c4"]]);
5
+ export {
6
+ dataTableWidget as default
7
+ };
8
+ //# sourceMappingURL=data-table-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,6 +1,8 @@
1
1
  import { defineComponent, watchEffect, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
2
- import { C as ComponentNameEnum, e as ContainerTypeEnum, h as useField, i as useTableWidget, _ as _export_sfc } from "./install.mjs";
2
+ import { useTableWidget } from "./useTableWidget.js";
3
3
  import { useVxeTable, Table } from "tmgc2-share";
4
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
5
+ import { useField } from "../../../../../core/src/hooks/useField.js";
4
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
7
  ...{
6
8
  name: ContainerTypeEnum.DataTable,
@@ -86,8 +88,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
86
88
  };
87
89
  }
88
90
  });
89
- const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ad6fb3c4"]]);
90
91
  export {
91
- dataTableWidget as default
92
+ _sfc_main as default
92
93
  };
93
- //# sourceMappingURL=data-table-widget.mjs.map
94
+ //# sourceMappingURL=data-table-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" v-if=\"!handleHidden\" :style=\"{ width: tableWidth }\">\n <Table\n :tableProps=\"tableProps\"\n @register=\"register\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n @change=\"handleTableChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useTableWidget } from './useTableWidget';\n import { onMounted, watchEffect } from 'vue';\n import { useField } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table } from 'tmgc2-share';\n import { DataTableWidget } from '../../widget-panel/advanced';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed } = useField(props);\n\n const {\n isLoading,\n tableProps,\n pagintion,\n tableWidth,\n setPagination,\n handleTableChange,\n setTableRef,\n initTableSoureData,\n tableDefinExpoed\n } = useTableWidget({\n fieldModel,\n props\n });\n\n watchEffect(() => {\n setPagination({\n total: props.field.options.showPagination ? 1 : 0\n });\n });\n\n const { tableRef, setTableProps, register } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n columnResizableChange: data => {\n const { field, resizeWidth } = data.resizeColumn;\n if (field) {\n const column = props.field.options.tableColumns.find(\n item => item.dataIndex === field\n );\n column.isAutoWidth = false;\n column.width = resizeWidth;\n }\n }\n }\n });\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n setPagination,\n fieldEditor: tableRef.value\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n // display: flex;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_unref","_createElementBlock","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBI,UAAM,QAAQ;AAMd,UAAM,EAAE,YAAY,cAAc,cAAA,IAAkB,SAAS,KAAK;AAElE,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,IAAA,CACH;AAED,gBAAY,MAAM;AACd,oBAAc;AAAA,QACV,OAAO,MAAM,MAAM,QAAQ,iBAAiB,IAAI;AAAA,MAAA,CACnD;AAAA,IACL,CAAC;AAED,UAAM,EAAE,UAAU,eAAe,SAAA,IAAa,YAAY;AAAA,MACtD,OAAO;AAAA,QACH,QAAQ,MAAM,MAAM,QAAQ;AAAA,QAC5B,eAAe,MAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,uBAAuB,CAAA,SAAQ;AAC3B,gBAAM,EAAE,OAAO,YAAA,IAAgB,KAAK;AACpC,cAAI,OAAO;AACP,kBAAM,SAAS,MAAM,MAAM,QAAQ,aAAa;AAAA,cAC5C,CAAA,SAAQ,KAAK,cAAc;AAAA,YAAA;AAE/B,mBAAO,cAAc;AACrB,mBAAO,QAAQ;AAAA,UACnB;AAAA,QACJ;AAAA,MAAA;AAAA,IACJ,CACH;AAED,gBAAY,MAAM;AACd,UAAI,SAAS,OAAO;AAChB,oBAAY,SAAS,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAED,cAAU,MAAM;AACZ,yBAAA;AAAA,IACJ,CAAC;AAED,aAAa;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,aAAa,SAAS;AAAA,IAAA,CACzB;;cAlFiCA,MAAA,YAAA,kBAAlCC,mBAQM,OAAA;AAAA;QARD,OAAM;AAAA,QAAsC,+BAAgBD,MAAA,UAAA,GAAU;AAAA,MAAA;QACvEE,YAMEF,MAAA,KAAA,GAAA;AAAA,UALG,YAAYA,MAAA,UAAA;AAAA,UACZ,YAAUA,MAAA,QAAA;AAAA,UACV,SAASA,MAAA,SAAA;AAAA,UACT,YAAYA,MAAA,SAAA;AAAA,UACZ,UAAQA,MAAA,iBAAA;AAAA,QAAA;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-col-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aac76d55"]]);
5
+ export {
6
+ GridColWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-col-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-col-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,15 +1,9 @@
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";
3
- function useWidget(widget) {
4
- const options = computed(() => widget.options || {});
5
- const customClass = computed(
6
- () => widget.options.customClass ? widget.options.customClass.join(" ") : ""
7
- );
8
- return {
9
- customClass,
10
- options
11
- };
12
- }
1
+ import { defineComponent, mergeModels, useModel, computed, reactive, resolveComponent, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, mergeProps, withModifiers, unref, withCtx, createVNode } from "vue";
2
+ import { useDesigner } from "../../../../../core/src/hooks/useDesigner.js";
3
+ import { useWidget } from "../../../../../core/src/hooks/useWidget.js";
4
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
5
+ import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
6
+ import WidgetContextMenu from "../../../../../core/src/components/contextMenu/WidgetContextMenu.vue.js";
13
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
14
8
  ...{
15
9
  name: ContainerTypeEnum.GridColWidget,
@@ -91,8 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
85
  };
92
86
  }
93
87
  });
94
- const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a00bba10"]]);
95
88
  export {
96
- GridColWidget as default
89
+ _sfc_main as default
97
90
  };
98
- //# sourceMappingURL=grid-col-widget.mjs.map
91
+ //# sourceMappingURL=grid-col-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-col-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/grid-col-widget.vue"],"sourcesContent":["<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 :deep(.designer-widget-list.empty-list) {\n min-height: 48px;\n .empty-drop-zone {\n height: 42px;\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CI,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;;;;;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-sub-form-widget.vue2.js";
2
+ import "./grid-sub-form-widget.vue3.js";
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84976375"]]);
5
+ export {
6
+ gridSubFormWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-sub-form-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,6 @@
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 { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
+ import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
3
4
  const _hoisted_1 = { class: "sub-form-container" };
4
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
6
  ...{
@@ -27,8 +28,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
28
  };
28
29
  }
29
30
  });
30
- const gridSubFormWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-49c81f5e"]]);
31
31
  export {
32
- gridSubFormWidget as default
32
+ _sfc_main as default
33
33
  };
34
- //# sourceMappingURL=grid-sub-form-widget.mjs.map
34
+ //# sourceMappingURL=grid-sub-form-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue2.js","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;;;;;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=grid-sub-form-widget.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sub-form-widget.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./grid-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d41dbfac"]]);
5
+ export {
6
+ gridWidget as default
7
+ };
8
+ //# sourceMappingURL=grid-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,6 +1,7 @@
1
- import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, withCtx, Fragment, renderList } from "vue";
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";
1
+ import { defineComponent, resolveComponent, createElementBlock, openBlock, createBlock, unref, withCtx, Fragment, renderList } from "vue";
2
+ import GridColWidget from "./grid-col-widget.vue.js";
3
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
4
+ import { useField } from "../../../../../core/src/hooks/useField.js";
4
5
  const _hoisted_1 = { class: "grid-container" };
5
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
7
  ...{
@@ -17,14 +18,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  subFormRowId: {}
18
19
  },
19
20
  setup(__props) {
20
- const { initRefList } = useAppRef();
21
- initRefList();
21
+ const props = __props;
22
+ const { options } = useField(props, false);
22
23
  return (_ctx, _cache) => {
23
24
  const _component_a_row = resolveComponent("a-row");
24
25
  return openBlock(), createElementBlock("div", _hoisted_1, [
25
26
  (openBlock(), createBlock(_component_a_row, {
26
27
  key: _ctx.widget.id,
27
- gutter: _ctx.widget.options.gutter
28
+ gutter: _ctx.widget.options.gutter,
29
+ justify: unref(options).gridJustify ?? "start",
30
+ align: unref(options).gridAlign ?? "top",
31
+ wrap: unref(options).gridWrap ?? true
28
32
  }, {
29
33
  default: withCtx(() => [
30
34
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.cols, (colWidget, colIdx) => {
@@ -41,13 +45,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
45
  }), 128))
42
46
  ]),
43
47
  _: 1
44
- }, 8, ["gutter"]))
48
+ }, 8, ["gutter", "justify", "align", "wrap"]))
45
49
  ]);
46
50
  };
47
51
  }
48
52
  });
49
- const gridWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-40047deb"]]);
50
53
  export {
51
- gridWidget as default
54
+ _sfc_main as default
52
55
  };
53
- //# sourceMappingURL=grid-widget.mjs.map
56
+ //# sourceMappingURL=grid-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-widget.vue2.js","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;;;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ import { defineAsyncComponent } from "vue";
2
+ import { ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
+ ({
4
+ [ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import("./grid-col-widget.vue.js")),
5
+ [ContainerTypeEnum.grid]: defineAsyncComponent(() => import("./grid-widget.vue.js")),
6
+ [ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import("./data-table-widget.vue.js")),
7
+ [ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(
8
+ () => import("./grid-sub-form-widget.vue.js")
9
+ ),
10
+ [ContainerTypeEnum.Tab]: defineAsyncComponent(() => import("./tab-widget.vue.js")),
11
+ [ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(
12
+ () => import("./vf-collapse-widget.vue.js")
13
+ ),
14
+ [ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(
15
+ () => import("./vf-dialog-widget.vue.js")
16
+ ),
17
+ [ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import("./vf-box-widget.vue.js"))
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/index.ts"],"sourcesContent":["import { ContainerTypeEnum } from '@kp-ui/lowcode-core';\nimport { defineAsyncComponent } from 'vue';\n\nexport const RenderDesignerWidgetList = {\n [ContainerTypeEnum.GridColWidget]: defineAsyncComponent(() => import('./grid-col-widget.vue')),\n [ContainerTypeEnum.grid]: defineAsyncComponent(() => import('./grid-widget.vue')),\n [ContainerTypeEnum.DataTable]: defineAsyncComponent(() => import('./data-table-widget.vue')),\n [ContainerTypeEnum.GridSubFormWidget]: defineAsyncComponent(\n () => import('./grid-sub-form-widget.vue')\n ),\n [ContainerTypeEnum.Tab]: defineAsyncComponent(() => import('./tab-widget.vue')),\n [ContainerTypeEnum.VfCollapseWidget]: defineAsyncComponent(\n () => import('./vf-collapse-widget.vue')\n ),\n [ContainerTypeEnum.VfDialogWidget]: defineAsyncComponent(\n () => import('./vf-dialog-widget.vue')\n ),\n [ContainerTypeEnum.VfBoxWidget]: defineAsyncComponent(() => import('./vf-box-widget.vue'))\n};\n"],"names":[],"mappings":";;CAGwC;AAAA,EACpC,CAAC,kBAAkB,aAAa,GAAG,qBAAqB,MAAM,OAAO,0BAAuB,CAAC;AAAA,EAC7F,CAAC,kBAAkB,IAAI,GAAG,qBAAqB,MAAM,OAAO,sBAAmB,CAAC;AAAA,EAChF,CAAC,kBAAkB,SAAS,GAAG,qBAAqB,MAAM,OAAO,4BAAyB,CAAC;AAAA,EAC3F,CAAC,kBAAkB,iBAAiB,GAAG;AAAA,IACnC,MAAM,OAAO,+BAA4B;AAAA,EAAA;AAAA,EAE7C,CAAC,kBAAkB,GAAG,GAAG,qBAAqB,MAAM,OAAO,qBAAkB,CAAC;AAAA,EAC9E,CAAC,kBAAkB,gBAAgB,GAAG;AAAA,IAClC,MAAM,OAAO,6BAA0B;AAAA,EAAA;AAAA,EAE3C,CAAC,kBAAkB,cAAc,GAAG;AAAA,IAChC,MAAM,OAAO,2BAAwB;AAAA,EAAA;AAAA,EAEzC,CAAC,kBAAkB,WAAW,GAAG,qBAAqB,MAAM,OAAO,wBAAqB,CAAC;AAC7F;"}
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./tab-widget.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3280ee5e"]]);
5
+ export {
6
+ tabWidget as default
7
+ };
8
+ //# sourceMappingURL=tab-widget.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-widget.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,7 @@
1
1
  import { defineComponent, resolveComponent, createElementBlock, openBlock, createVNode, withCtx, Fragment, renderList, createBlock, createElementVNode, unref } from "vue";
2
- import { C as ComponentNameEnum, e as ContainerTypeEnum, a as useAppRef, R as RenderWidgetList, _ as _export_sfc } from "./install.mjs";
2
+ import { ComponentNameEnum, ContainerTypeEnum } from "../../../../../core/src/constants/WidgetTypeEnum.js";
3
+ import { useAppRef } from "../../../../../core/src/hooks/useAppRef.js";
4
+ import RenderWidgetList from "../../../../../core/src/components/common/RenderWidgetList.vue.js";
3
5
  const _hoisted_1 = { class: "tab-content-wrapper" };
4
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
7
  ...{
@@ -62,8 +64,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
64
  };
63
65
  }
64
66
  });
65
- const tabWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3280ee5e"]]);
66
67
  export {
67
- tabWidget as default
68
+ _sfc_main as default
68
69
  };
69
- //# sourceMappingURL=tab-widget.mjs.map
70
+ //# sourceMappingURL=tab-widget.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-widget.vue2.js","sources":["../../../../../../src/components/desginer/form-widget/container-widget/tab-widget.vue"],"sourcesContent":["<template>\n <div :key=\"widget.id\" class=\"tab-container container-design-widget\">\n <a-tabs\n :type=\"widget.options.type\"\n :tabBarGutter=\"widget.options.tabBarGutter\"\n :tabPosition=\"widget.options.tabPosition\"\n v-model:activeKey=\"widget.options.activeTab\"\n @tab-click=\"onTabClick\"\n >\n <a-tab-pane\n v-for=\"tab in widget.tabs\"\n :tab=\"tab.options.label\"\n :key=\"tab.options.label\"\n >\n <div class=\"tab-content-wrapper\">\n <RenderWidgetList v-model:list=\"tab.widgetList\" :parentWidget=\"widget\" />\n </div>\n </a-tab-pane>\n </a-tabs>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useAppRef, RenderWidgetList } from '@kp-ui/lowcode-core';\n import { ComponentNameEnum, ContainerTypeEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { TabWidget } from '../../widget-panel/containers';\n\n defineOptions({\n name: ContainerTypeEnum.Tab,\n componentName: ComponentNameEnum.ContainerWidget\n });\n\n const props = defineProps<WidgetProps<TabWidget>>();\n const { initRefList } = useAppRef();\n\n const onTabClick = key => {\n props.widget.options.activeTab = key;\n };\n\n initRefList();\n</script>\n\n<style lang=\"scss\" scoped>\n .tab-container {\n .form-widget-list {\n min-height: 28px;\n }\n :deep(.ant-tabs) {\n &.ant-tabs-bottom .ant-tabs-nav-wrap,\n &.ant-tabs-top .ant-tabs-nav-wrap {\n padding-left: 26px;\n }\n }\n }\n</style>\n"],"names":["_createElementBlock","widget","_createVNode","_openBlock","_Fragment","_renderList","_createBlock","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgCI,UAAM,QAAQ;AACd,UAAM,EAAE,YAAA,IAAgB,UAAA;AAExB,UAAM,aAAa,CAAA,QAAO;AACtB,YAAM,OAAO,QAAQ,YAAY;AAAA,IACrC;AAEA,gBAAA;;;;0BAtCAA,mBAkBM,OAAA;AAAA,QAlBA,KAAKC,KAAAA,OAAO;AAAA,QAAI,OAAM;AAAA,MAAA;QACxBC,YAgBS,mBAAA;AAAA,UAfJ,MAAMD,KAAAA,OAAO,QAAQ;AAAA,UACrB,cAAcA,KAAAA,OAAO,QAAQ;AAAA,UAC7B,aAAaA,KAAAA,OAAO,QAAQ;AAAA,UACrB,WAAWA,KAAAA,OAAO,QAAQ;AAAA,sEAAfA,KAAAA,OAAO,QAAQ,YAAS;AAAA,UAC1C;AAAA,QAAA;2BAGG,MAA0B;AAAA,aAD9BE,UAAA,IAAA,GAAAH,mBAQaI,UAAA,MAAAC,WAPKJ,KAAAA,OAAO,OAAd,QAAG;kCADdK,YAQa,uBAAA;AAAA,gBANR,KAAK,IAAI,QAAQ;AAAA,gBACjB,KAAK,IAAI,QAAQ;AAAA,cAAA;iCAElB,MAEM;AAAA,kBAFNC,mBAEM,OAFN,YAEM;AAAA,oBADFL,YAAyEM,MAAA,gBAAA,GAAA;AAAA,sBAA/C,MAAM,IAAI;AAAA,sBAAJ,iBAAA,CAAA,WAAA,IAAI,aAAU;AAAA,sBAAG,cAAcP,KAAAA;AAAAA,oBAAAA;;;;;;;;;;;;;"}