custom-variant-form 2.3.0 → 2.3.2

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 (331) hide show
  1. package/README.md +2 -180
  2. package/package.json +4 -29
  3. package/dist/build/css/app.911b9dc4.css +0 -1
  4. package/dist/build/css/chunk-vendors.a16c4353.css +0 -1
  5. package/dist/build/favicon.ico +0 -0
  6. package/dist/build/fonts/element-icons.535877f5.woff +0 -0
  7. package/dist/build/fonts/element-icons.732389de.ttf +0 -0
  8. package/dist/build/index.html +0 -1
  9. package/dist/build/js/app.dd7f94a2.js +0 -1
  10. package/dist/build/js/chunk-vendors.1519ed31.js +0 -80
  11. package/dist/build/report.html +0 -53
  12. package/dist/lib/VFormDesigner.common-report.html +0 -53
  13. package/dist/lib/VFormDesigner.common.js +0 -85865
  14. package/dist/lib/VFormDesigner.common.js.map +0 -1
  15. package/dist/lib/VFormDesigner.umd-report.html +0 -53
  16. package/dist/lib/VFormDesigner.umd.js +0 -85875
  17. package/dist/lib/VFormDesigner.umd.js.map +0 -1
  18. package/dist/lib/VFormDesigner.umd.min-report.html +0 -53
  19. package/dist/lib/demo.html +0 -10
  20. package/dist/lib-render/VFormRender.common-report.html +0 -53
  21. package/dist/lib-render/VFormRender.common.js +0 -46164
  22. package/dist/lib-render/VFormRender.common.js.map +0 -1
  23. package/dist/lib-render/VFormRender.umd-report.html +0 -53
  24. package/dist/lib-render/VFormRender.umd.js +0 -46174
  25. package/dist/lib-render/VFormRender.umd.js.map +0 -1
  26. package/dist/lib-render/VFormRender.umd.min-report.html +0 -53
  27. package/dist/lib-render/demo.html +0 -10
  28. package/install-render.js +0 -29
  29. package/install.js +0 -41
  30. package/src/App.vue +0 -45
  31. package/src/assets/ft-images/t1.png +0 -0
  32. package/src/assets/ft-images/t2.png +0 -0
  33. package/src/assets/ft-images/t3.png +0 -0
  34. package/src/assets/ft-images/t4.png +0 -0
  35. package/src/assets/ft-images/t5.png +0 -0
  36. package/src/assets/ft-images/t6.png +0 -0
  37. package/src/assets/ft-images/t7.png +0 -0
  38. package/src/assets/ft-images/t8.png +0 -0
  39. package/src/assets/vform-logo.png +0 -0
  40. package/src/components/code-editor/index.vue +0 -134
  41. package/src/components/form-designer/designer.js +0 -962
  42. package/src/components/form-designer/form-widget/container-widget/container-wrapper.vue +0 -107
  43. package/src/components/form-designer/form-widget/container-widget/containerMixin.js +0 -93
  44. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue +0 -314
  45. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue +0 -93
  46. package/src/components/form-designer/form-widget/container-widget/index.js +0 -24
  47. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue +0 -123
  48. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue +0 -347
  49. package/src/components/form-designer/form-widget/container-widget/table-widget.vue +0 -116
  50. package/src/components/form-designer/form-widget/field-widget/button-widget.vue +0 -87
  51. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue +0 -120
  52. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue +0 -105
  53. package/src/components/form-designer/form-widget/field-widget/color-widget.vue +0 -99
  54. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue +0 -104
  55. package/src/components/form-designer/form-widget/field-widget/date-widget.vue +0 -103
  56. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue +0 -83
  57. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +0 -613
  58. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue +0 -313
  59. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue +0 -331
  60. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue +0 -82
  61. package/src/components/form-designer/form-widget/field-widget/index.js +0 -10
  62. package/src/components/form-designer/form-widget/field-widget/input-widget.vue +0 -112
  63. package/src/components/form-designer/form-widget/field-widget/number-widget.vue +0 -103
  64. package/src/components/form-designer/form-widget/field-widget/picture-upload-widget.vue +0 -280
  65. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue +0 -105
  66. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue +0 -102
  67. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue +0 -123
  68. package/src/components/form-designer/form-widget/field-widget/select-widget.vue +0 -123
  69. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue +0 -100
  70. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue +0 -102
  71. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue +0 -196
  72. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue +0 -83
  73. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue +0 -101
  74. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue +0 -99
  75. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue +0 -104
  76. package/src/components/form-designer/form-widget/field-widget/time-widget.vue +0 -103
  77. package/src/components/form-designer/form-widget/index.vue +0 -272
  78. package/src/components/form-designer/index.vue +0 -500
  79. package/src/components/form-designer/refMixinDesign.js +0 -28
  80. package/src/components/form-designer/setting-panel/form-setting.vue +0 -354
  81. package/src/components/form-designer/setting-panel/index.vue +0 -367
  82. package/src/components/form-designer/setting-panel/option-items-setting.vue +0 -234
  83. package/src/components/form-designer/setting-panel/property-editor/allowCreate-editor.vue +0 -24
  84. package/src/components/form-designer/setting-panel/property-editor/appendButton-editor.vue +0 -28
  85. package/src/components/form-designer/setting-panel/property-editor/appendButtonDisabled-editor.vue +0 -23
  86. package/src/components/form-designer/setting-panel/property-editor/automaticDropdown-editor.vue +0 -23
  87. package/src/components/form-designer/setting-panel/property-editor/border-editor.vue +0 -23
  88. package/src/components/form-designer/setting-panel/property-editor/buttonIcon-editor.vue +0 -23
  89. package/src/components/form-designer/setting-panel/property-editor/buttonStyle-editor.vue +0 -23
  90. package/src/components/form-designer/setting-panel/property-editor/clearable-editor.vue +0 -23
  91. package/src/components/form-designer/setting-panel/property-editor/columnWidth-editor.vue +0 -26
  92. package/src/components/form-designer/setting-panel/property-editor/container-grid/colHeight-editor.vue +0 -28
  93. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +0 -81
  94. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-offset-editor.vue +0 -24
  95. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-pull-editor.vue +0 -24
  96. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-push-editor.vue +0 -24
  97. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-responsive-editor.vue +0 -23
  98. package/src/components/form-designer/setting-panel/property-editor/container-grid-col/grid-col-span-editor.vue +0 -48
  99. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showBlankRow-editor.vue +0 -23
  100. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/showRowNumber-editor.vue +0 -23
  101. package/src/components/form-designer/setting-panel/property-editor/container-sub-form/sub-form-labelAlign-editor.vue +0 -36
  102. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue +0 -119
  103. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellHeight-editor.vue +0 -23
  104. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/cellWidth-editor.vue +0 -23
  105. package/src/components/form-designer/setting-panel/property-editor/container-table-cell/wordBreak-editor.vue +0 -23
  106. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue +0 -40
  107. package/src/components/form-designer/setting-panel/property-editor/defaultValue-editor.vue +0 -25
  108. package/src/components/form-designer/setting-panel/property-editor/disabled-editor.vue +0 -23
  109. package/src/components/form-designer/setting-panel/property-editor/displayStyle-editor.vue +0 -26
  110. package/src/components/form-designer/setting-panel/property-editor/editable-editor.vue +0 -24
  111. package/src/components/form-designer/setting-panel/property-editor/endPlaceholder-editor.vue +0 -23
  112. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +0 -12
  113. package/src/components/form-designer/setting-panel/property-editor/event-handler/onAppendButtonClick-editor.vue +0 -30
  114. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBeforeUpload-editor.vue +0 -30
  115. package/src/components/form-designer/setting-panel/property-editor/event-handler/onBlur-editor.vue +0 -30
  116. package/src/components/form-designer/setting-panel/property-editor/event-handler/onChange-editor.vue +0 -30
  117. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +0 -30
  118. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCreated-editor.vue +0 -31
  119. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFileRemove.vue +0 -30
  120. package/src/components/form-designer/setting-panel/property-editor/event-handler/onFocus-editor.vue +0 -30
  121. package/src/components/form-designer/setting-panel/property-editor/event-handler/onInput-editor.vue +0 -30
  122. package/src/components/form-designer/setting-panel/property-editor/event-handler/onMounted-editor.vue +0 -30
  123. package/src/components/form-designer/setting-panel/property-editor/event-handler/onRemoteQuery-editor.vue +0 -30
  124. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowAdd-editor.vue +0 -30
  125. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowChange-editor.vue +0 -30
  126. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowDelete-editor.vue +0 -30
  127. package/src/components/form-designer/setting-panel/property-editor/event-handler/onSubFormRowInsert-editor.vue +0 -30
  128. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadError-editor.vue +0 -30
  129. package/src/components/form-designer/setting-panel/property-editor/event-handler/onUploadSuccess-editor.vue +0 -30
  130. package/src/components/form-designer/setting-panel/property-editor/event-handler/onValidate-editor.vue +0 -30
  131. package/src/components/form-designer/setting-panel/property-editor/field-button/button-type-editor.vue +0 -32
  132. package/src/components/form-designer/setting-panel/property-editor/field-button/circle-editor.vue +0 -23
  133. package/src/components/form-designer/setting-panel/property-editor/field-button/icon-editor.vue +0 -23
  134. package/src/components/form-designer/setting-panel/property-editor/field-button/plain-editor.vue +0 -24
  135. package/src/components/form-designer/setting-panel/property-editor/field-button/round-editor.vue +0 -23
  136. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-defaultValue-editor.vue +0 -18
  137. package/src/components/form-designer/setting-panel/property-editor/field-cascader/cascader-multiple-editor.vue +0 -24
  138. package/src/components/form-designer/setting-panel/property-editor/field-cascader/checkStrictly-editor.vue +0 -23
  139. package/src/components/form-designer/setting-panel/property-editor/field-cascader/showAllLevels-editor.vue +0 -23
  140. package/src/components/form-designer/setting-panel/property-editor/field-checkbox/checkbox-defaultValue-editor.vue +0 -18
  141. package/src/components/form-designer/setting-panel/property-editor/field-color/color-defaultValue-editor.vue +0 -25
  142. package/src/components/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +0 -26
  143. package/src/components/form-designer/setting-panel/property-editor/field-date/date-format-editor.vue +0 -30
  144. package/src/components/form-designer/setting-panel/property-editor/field-date/date-type-editor.vue +0 -30
  145. package/src/components/form-designer/setting-panel/property-editor/field-date/date-valueFormat-editor.vue +0 -26
  146. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +0 -26
  147. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-format-editor.vue +0 -30
  148. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-type-editor.vue +0 -27
  149. package/src/components/form-designer/setting-panel/property-editor/field-date-range/date-range-valueFormat-editor.vue +0 -26
  150. package/src/components/form-designer/setting-panel/property-editor/field-divider/contentPosition-editor.vue +0 -27
  151. package/src/components/form-designer/setting-panel/property-editor/field-file-upload/file-upload-fileTypes-editor.vue +0 -44
  152. package/src/components/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue +0 -29
  153. package/src/components/form-designer/setting-panel/property-editor/field-number/controlsPosition-editor.vue +0 -27
  154. package/src/components/form-designer/setting-panel/property-editor/field-picture-upload/picture-upload-fileTypes-editor.vue +0 -44
  155. package/src/components/form-designer/setting-panel/property-editor/field-radio/radio-defaultValue-editor.vue +0 -18
  156. package/src/components/form-designer/setting-panel/property-editor/field-rate/allowHalf-editor.vue +0 -23
  157. package/src/components/form-designer/setting-panel/property-editor/field-rate/highThreshold-editor.vue +0 -24
  158. package/src/components/form-designer/setting-panel/property-editor/field-rate/lowThreshold-editor.vue +0 -24
  159. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-defaultValue-editor.vue +0 -26
  160. package/src/components/form-designer/setting-panel/property-editor/field-rate/rate-max-editor.vue +0 -25
  161. package/src/components/form-designer/setting-panel/property-editor/field-rate/showScore-editor.vue +0 -23
  162. package/src/components/form-designer/setting-panel/property-editor/field-rate/showText-editor.vue +0 -23
  163. package/src/components/form-designer/setting-panel/property-editor/field-select/select-defaultValue-editor.vue +0 -18
  164. package/src/components/form-designer/setting-panel/property-editor/field-slider/range-editor.vue +0 -23
  165. package/src/components/form-designer/setting-panel/property-editor/field-slider/showStops-editor.vue +0 -23
  166. package/src/components/form-designer/setting-panel/property-editor/field-slider/vertical-editor.vue +0 -23
  167. package/src/components/form-designer/setting-panel/property-editor/field-static-text/fontSize-editor.vue +0 -23
  168. package/src/components/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +0 -23
  169. package/src/components/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +0 -23
  170. package/src/components/form-designer/setting-panel/property-editor/field-switch/activeColor-editor.vue +0 -23
  171. package/src/components/form-designer/setting-panel/property-editor/field-switch/activeText-editor.vue +0 -23
  172. package/src/components/form-designer/setting-panel/property-editor/field-switch/inactiveColor-editor.vue +0 -23
  173. package/src/components/form-designer/setting-panel/property-editor/field-switch/inactiveText-editor.vue +0 -23
  174. package/src/components/form-designer/setting-panel/property-editor/field-switch/switch-defaultValue-editor.vue +0 -25
  175. package/src/components/form-designer/setting-panel/property-editor/field-switch/switchWidth-editor.vue +0 -23
  176. package/src/components/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +0 -26
  177. package/src/components/form-designer/setting-panel/property-editor/field-time/time-format-editor.vue +0 -27
  178. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +0 -26
  179. package/src/components/form-designer/setting-panel/property-editor/field-time-range/time-range-format-editor.vue +0 -27
  180. package/src/components/form-designer/setting-panel/property-editor/fileMaxSize-editor.vue +0 -23
  181. package/src/components/form-designer/setting-panel/property-editor/filterable-editor.vue +0 -23
  182. package/src/components/form-designer/setting-panel/property-editor/hidden-editor.vue +0 -23
  183. package/src/components/form-designer/setting-panel/property-editor/index.js +0 -10
  184. package/src/components/form-designer/setting-panel/property-editor/label-editor.vue +0 -30
  185. package/src/components/form-designer/setting-panel/property-editor/labelAlign-editor.vue +0 -42
  186. package/src/components/form-designer/setting-panel/property-editor/labelHidden-editor.vue +0 -23
  187. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +0 -28
  188. package/src/components/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +0 -37
  189. package/src/components/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +0 -23
  190. package/src/components/form-designer/setting-panel/property-editor/labelWidth-editor.vue +0 -25
  191. package/src/components/form-designer/setting-panel/property-editor/limit-editor.vue +0 -24
  192. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue +0 -39
  193. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue +0 -40
  194. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue +0 -40
  195. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue +0 -41
  196. package/src/components/form-designer/setting-panel/property-editor/multiple-editor.vue +0 -24
  197. package/src/components/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +0 -24
  198. package/src/components/form-designer/setting-panel/property-editor/multipleSelect-editor.vue +0 -24
  199. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue +0 -89
  200. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue +0 -28
  201. package/src/components/form-designer/setting-panel/property-editor/placeholder-editor.vue +0 -24
  202. package/src/components/form-designer/setting-panel/property-editor/precision-editor.vue +0 -23
  203. package/src/components/form-designer/setting-panel/property-editor/prefixIcon-editor.vue +0 -23
  204. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js +0 -55
  205. package/src/components/form-designer/setting-panel/property-editor/readonly-editor.vue +0 -23
  206. package/src/components/form-designer/setting-panel/property-editor/remote-editor.vue +0 -25
  207. package/src/components/form-designer/setting-panel/property-editor/required-editor.vue +0 -23
  208. package/src/components/form-designer/setting-panel/property-editor/requiredHint-editor.vue +0 -24
  209. package/src/components/form-designer/setting-panel/property-editor/rows-editor.vue +0 -24
  210. package/src/components/form-designer/setting-panel/property-editor/showFileList-editor.vue +0 -23
  211. package/src/components/form-designer/setting-panel/property-editor/showPassword-editor.vue +0 -24
  212. package/src/components/form-designer/setting-panel/property-editor/showWordLimit-editor.vue +0 -23
  213. package/src/components/form-designer/setting-panel/property-editor/size-editor.vue +0 -38
  214. package/src/components/form-designer/setting-panel/property-editor/startPlaceholder-editor.vue +0 -23
  215. package/src/components/form-designer/setting-panel/property-editor/step-editor.vue +0 -23
  216. package/src/components/form-designer/setting-panel/property-editor/suffixIcon-editor.vue +0 -23
  217. package/src/components/form-designer/setting-panel/property-editor/textAlign-editor.vue +0 -35
  218. package/src/components/form-designer/setting-panel/property-editor/type-editor.vue +0 -33
  219. package/src/components/form-designer/setting-panel/property-editor/uploadTip-editor.vue +0 -24
  220. package/src/components/form-designer/setting-panel/property-editor/uploadURL-editor.vue +0 -28
  221. package/src/components/form-designer/setting-panel/property-editor/validation-editor.vue +0 -48
  222. package/src/components/form-designer/setting-panel/property-editor/validationHint-editor.vue +0 -23
  223. package/src/components/form-designer/setting-panel/property-editor/withCredentials-editor.vue +0 -23
  224. package/src/components/form-designer/setting-panel/property-editor-factory.js +0 -173
  225. package/src/components/form-designer/setting-panel/propertyRegister.js +0 -215
  226. package/src/components/form-designer/toolbar-panel/index.vue +0 -886
  227. package/src/components/form-designer/widget-panel/index.vue +0 -394
  228. package/src/components/form-designer/widget-panel/templatesConfig.js +0 -58
  229. package/src/components/form-designer/widget-panel/widgetsConfig.js +0 -934
  230. package/src/components/form-render/container-item/container-item-wrapper.vue +0 -37
  231. package/src/components/form-render/container-item/containerItemMixin.js +0 -221
  232. package/src/components/form-render/container-item/grid-col-item.vue +0 -126
  233. package/src/components/form-render/container-item/grid-item.vue +0 -59
  234. package/src/components/form-render/container-item/index.js +0 -24
  235. package/src/components/form-render/container-item/sub-form-item.vue +0 -417
  236. package/src/components/form-render/container-item/tab-item.vue +0 -99
  237. package/src/components/form-render/container-item/table-cell-item.vue +0 -72
  238. package/src/components/form-render/container-item/table-item.vue +0 -70
  239. package/src/components/form-render/index.vue +0 -721
  240. package/src/components/form-render/refMixin.js +0 -30
  241. package/src/components/svg-icon/index.vue +0 -49
  242. package/src/components/v-table/index.vue +0 -106
  243. package/src/extension/components/tag/index.js +0 -9
  244. package/src/extension/components/tag/tag-item.vue +0 -49
  245. package/src/extension/components/tag/tag-schema.js +0 -33
  246. package/src/extension/components/tag/tag-widget.vue +0 -53
  247. package/src/extension/extension-helper.js +0 -23
  248. package/src/extension/extension-loader.js +0 -174
  249. package/src/extension/samples/alert/alert-widget.vue +0 -72
  250. package/src/extension/samples/card/card-item.vue +0 -100
  251. package/src/extension/samples/card/card-widget.vue +0 -132
  252. package/src/extension/samples/extension-schema.js +0 -36
  253. package/src/extension/samples/extension-sfc-generator.js +0 -50
  254. package/src/iconfont/iconfont.css +0 -29
  255. package/src/iconfont/iconfont.eot +0 -0
  256. package/src/iconfont/iconfont.js +0 -1
  257. package/src/iconfont/iconfont.json +0 -37
  258. package/src/iconfont/iconfont.svg +0 -35
  259. package/src/iconfont/iconfont.ttf +0 -0
  260. package/src/iconfont/iconfont.woff +0 -0
  261. package/src/iconfont/iconfont.woff2 +0 -0
  262. package/src/icons/index.js +0 -3
  263. package/src/icons/svg/alert.svg +0 -1
  264. package/src/icons/svg/button.svg +0 -1
  265. package/src/icons/svg/card.svg +0 -1
  266. package/src/icons/svg/cascader-field.svg +0 -1
  267. package/src/icons/svg/checkbox-field.svg +0 -1
  268. package/src/icons/svg/color-field.svg +0 -1
  269. package/src/icons/svg/custom-component.svg +0 -1
  270. package/src/icons/svg/data-table.svg +0 -1
  271. package/src/icons/svg/date-field.svg +0 -1
  272. package/src/icons/svg/date-range-field.svg +0 -1
  273. package/src/icons/svg/divider.svg +0 -1
  274. package/src/icons/svg/document.svg +0 -1
  275. package/src/icons/svg/drag.svg +0 -1
  276. package/src/icons/svg/file-upload-field.svg +0 -1
  277. package/src/icons/svg/github.svg +0 -1
  278. package/src/icons/svg/grid.svg +0 -1
  279. package/src/icons/svg/html-text.svg +0 -1
  280. package/src/icons/svg/node-tree.svg +0 -1
  281. package/src/icons/svg/number-field.svg +0 -1
  282. package/src/icons/svg/picture-upload-field.svg +0 -1
  283. package/src/icons/svg/radio-field.svg +0 -1
  284. package/src/icons/svg/rate-field.svg +0 -1
  285. package/src/icons/svg/redo.svg +0 -1
  286. package/src/icons/svg/rich-editor-field.svg +0 -1
  287. package/src/icons/svg/section.svg +0 -1
  288. package/src/icons/svg/select-field.svg +0 -1
  289. package/src/icons/svg/slider-field.svg +0 -1
  290. package/src/icons/svg/slot-component.svg +0 -1
  291. package/src/icons/svg/slot-field.svg +0 -1
  292. package/src/icons/svg/static-text.svg +0 -1
  293. package/src/icons/svg/sub-form.svg +0 -1
  294. package/src/icons/svg/switch-field.svg +0 -1
  295. package/src/icons/svg/tab.svg +0 -1
  296. package/src/icons/svg/table.svg +0 -1
  297. package/src/icons/svg/tag-field.svg +0 -4
  298. package/src/icons/svg/text-field.svg +0 -1
  299. package/src/icons/svg/textarea-field.svg +0 -1
  300. package/src/icons/svg/time-field.svg +0 -1
  301. package/src/icons/svg/time-range-field.svg +0 -1
  302. package/src/icons/svg/undo.svg +0 -1
  303. package/src/icons/svg/vue-sfc.svg +0 -1
  304. package/src/lang/en-US.js +0 -354
  305. package/src/lang/en-US_extension.js +0 -35
  306. package/src/lang/en-US_render.js +0 -38
  307. package/src/lang/zh-CN.js +0 -354
  308. package/src/lang/zh-CN_extension.js +0 -35
  309. package/src/lang/zh-CN_render.js +0 -38
  310. package/src/main.js +0 -29
  311. package/src/styles/global.scss +0 -108
  312. package/src/styles/index.scss +0 -15
  313. package/src/utils/beautifierLoader.js +0 -77
  314. package/src/utils/code-generator.js +0 -91
  315. package/src/utils/config.js +0 -9
  316. package/src/utils/debug-console.js +0 -7
  317. package/src/utils/directive.js +0 -74
  318. package/src/utils/emitter.js +0 -34
  319. package/src/utils/format.js +0 -214
  320. package/src/utils/i18n.js +0 -95
  321. package/src/utils/sfc-generator.js +0 -583
  322. package/src/utils/smart-vue-i18n/index.js +0 -56
  323. package/src/utils/smart-vue-i18n/utils.js +0 -47
  324. package/src/utils/util.js +0 -376
  325. package/src/utils/validators.js +0 -127
  326. package/src/utils/vue2js-generator.js +0 -144
  327. package/src/utils/vue3js-generator.js +0 -70
  328. /package/dist/{lib/VFormDesigner.css → VFormDesigner.css} +0 -0
  329. /package/dist/{lib/VFormDesigner.umd.min.js → VFormDesigner.umd.min.js} +0 -0
  330. /package/dist/{lib-render/VFormRender.css → VFormRender.css} +0 -0
  331. /package/dist/{lib-render/VFormRender.umd.min.js → VFormRender.umd.min.js} +0 -0
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.automaticDropdown')">
3
- <el-switch v-model="optionModel.automaticDropdown"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "automaticDropdown-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.border')">
3
- <el-switch v-model="optionModel.border"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "border-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.appendButtonIcon')">
3
- <el-input type="text" v-model="optionModel.buttonIcon"></el-input>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "buttonIcon-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.buttonStyle')">
3
- <el-switch v-model="optionModel.buttonStyle"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "buttonStyle-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.clearable')">
3
- <el-switch v-model="optionModel.clearable"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "clearable-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,26 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form-item :label="i18nt('designer.setting.widgetColumnWidth')" v-show="!!isSubFormChildWidget()">
4
- <el-input type="text" v-model="optionModel.columnWidth"></el-input>
5
- </el-form-item>
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import i18n from "@/utils/i18n"
11
-
12
- export default {
13
- name: "columnWidth-editor",
14
- mixins: [i18n],
15
- props: {
16
- designer: Object,
17
- selectedWidget: Object,
18
- optionModel: Object,
19
- },
20
- inject: ['isSubFormChildWidget'],
21
- }
22
- </script>
23
-
24
- <style scoped>
25
-
26
- </style>
@@ -1,28 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form-item :label="i18nt('designer.setting.gridColHeight')">
4
- <el-input type="number" v-model="optionModel.colHeight" @input.native="inputNumberHandler"
5
- min="0" class="hide-spin-button"></el-input>
6
- </el-form-item>
7
- </div>
8
- </template>
9
-
10
- <script>
11
- import i18n from "@/utils/i18n"
12
- import propertyMixin from "@/components/form-designer/setting-panel/property-editor/propertyMixin"
13
-
14
- export default {
15
- name: "colHeight-editor",
16
- mixins: [i18n, propertyMixin],
17
- props: {
18
- designer: Object,
19
- selectedWidget: Object,
20
- optionModel: Object,
21
- },
22
-
23
- }
24
- </script>
25
-
26
- <style scoped>
27
-
28
- </style>
@@ -1,81 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form-item label-width="0">
4
- <el-divider class="custom-divider">{{i18nt('designer.setting.columnSetting')}}</el-divider>
5
- </el-form-item>
6
- <el-form-item :label="i18nt('designer.setting.gutter')">
7
- <el-input-number v-model="optionModel.gutter" style="width: 100%"></el-input-number>
8
- </el-form-item>
9
- <el-form-item :label="i18nt('designer.setting.colsOfGrid')"></el-form-item>
10
- <el-form-item label-width="0">
11
- <li v-for="(colItem, colIdx) in selectedWidget.cols" :key="colIdx" class="col-item">
12
- <span class="col-span-title">{{i18nt('designer.setting.colSpanTitle')}}{{colIdx + 1}}</span>
13
- <el-input-number v-model.number="colItem.options.span" :min="1" :max="24"
14
- @change="(newValue, oldValue) => spanChanged(selectedWidget, colItem, colIdx, newValue, oldValue)"
15
- class="cell-span-input"></el-input-number>
16
- <el-button circle plain size="mini" type="danger" @click="deleteCol(selectedWidget, colIdx)"
17
- icon="el-icon-minus" class="col-delete-button"></el-button>
18
- </li>
19
- <div>
20
- <el-button type="text" @click="addNewCol(selectedWidget)">{{i18nt('designer.setting.addColumn')}}</el-button>
21
- </div>
22
- </el-form-item>
23
- </div>
24
- </template>
25
-
26
- <script>
27
- import i18n from "@/utils/i18n"
28
-
29
- export default {
30
- name: "gutter-editor",
31
- mixins: [i18n],
32
- props: {
33
- designer: Object,
34
- selectedWidget: Object,
35
- optionModel: Object,
36
- },
37
- methods: {
38
- spanChanged(curGrid) {
39
- let spanSum = 0
40
- curGrid.cols.forEach((colItem) => {
41
- spanSum += colItem.options.span
42
- })
43
- if (spanSum > 24) {
44
- //this.$message.info('列栅格之和超出24')
45
- console.log('列栅格之和超出24')
46
- //TODO: 语言字符串资源化
47
- }
48
-
49
- this.designer.saveCurrentHistoryStep()
50
- },
51
-
52
- deleteCol(curGrid, colIdx) {
53
- this.designer.deleteColOfGrid(curGrid, colIdx)
54
- this.designer.emitHistoryChange()
55
- },
56
-
57
- addNewCol(curGrid) {
58
- this.designer.addNewColOfGrid(curGrid)
59
- this.designer.emitHistoryChange()
60
- },
61
-
62
- }
63
- }
64
- </script>
65
-
66
- <style lang="scss" scoped>
67
- li.col-item {
68
- list-style: none;
69
-
70
- span.col-span-title {
71
- display: inline-block;
72
- font-size: 13px;
73
- width: 120px;
74
- }
75
-
76
- .col-delete-button {
77
- margin-left: 6px;
78
- }
79
- }
80
-
81
- </style>
@@ -1,24 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.colOffsetTitle')">
3
- <el-input-number v-model.number="optionModel.offset" :min="0" :max="24"
4
- style="width: 100%"></el-input-number>
5
- </el-form-item>
6
- </template>
7
-
8
- <script>
9
- import i18n from "@/utils/i18n";
10
-
11
- export default {
12
- name: "grid-col-offset-editor",
13
- mixins: [i18n],
14
- props: {
15
- designer: Object,
16
- selectedWidget: Object,
17
- optionModel: Object,
18
- },
19
- }
20
- </script>
21
-
22
- <style scoped>
23
-
24
- </style>
@@ -1,24 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.colPullTitle')">
3
- <el-input-number v-model.number="optionModel.pull" :min="0" :max="24"
4
- style="width: 100%"></el-input-number>
5
- </el-form-item>
6
- </template>
7
-
8
- <script>
9
- import i18n from "@/utils/i18n";
10
-
11
- export default {
12
- name: "grid-col-pull-editor",
13
- mixins: [i18n],
14
- props: {
15
- designer: Object,
16
- selectedWidget: Object,
17
- optionModel: Object,
18
- },
19
- }
20
- </script>
21
-
22
- <style scoped>
23
-
24
- </style>
@@ -1,24 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.colPushTitle')">
3
- <el-input-number v-model.number="optionModel.push" :min="0" :max="24"
4
- style="width: 100%"></el-input-number>
5
- </el-form-item>
6
- </template>
7
-
8
- <script>
9
- import i18n from "@/utils/i18n";
10
-
11
- export default {
12
- name: "grid-col-push-editor",
13
- mixins: [i18n],
14
- props: {
15
- designer: Object,
16
- selectedWidget: Object,
17
- optionModel: Object,
18
- },
19
- }
20
- </script>
21
-
22
- <style scoped>
23
-
24
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.responsive')">
3
- <el-switch v-model="optionModel.responsive"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "grid-col-responsive-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style lang="scss" scoped>
22
-
23
- </style>
@@ -1,48 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form-item :label="i18nt('designer.setting.colSpanTitle')" v-if="!optionModel.responsive">
4
- <el-input-number v-model.number="optionModel.span" :min="1" :max="24"
5
- style="width: 100%"></el-input-number>
6
- </el-form-item>
7
- <el-form-item :label="i18nt('designer.setting.colSpanTitle') + '(PC)'"
8
- v-if="!!optionModel.responsive && (formConfig.layoutType === 'PC')">
9
- <el-input-number v-model.number="optionModel.md" :min="1" :max="24"
10
- style="width: 100%"></el-input-number>
11
- </el-form-item>
12
- <el-form-item :label="i18nt('designer.setting.colSpanTitle') + '(Pad)'"
13
- v-if="!!optionModel.responsive && (formConfig.layoutType === 'Pad')">
14
- <el-input-number v-model.number="optionModel.sm" :min="1" :max="24"
15
- style="width: 100%"></el-input-number>
16
- </el-form-item>
17
- <el-form-item :label="i18nt('designer.setting.colSpanTitle') + '(H5)'"
18
- v-if="!!optionModel.responsive && (formConfig.layoutType === 'H5')">
19
- <el-input-number v-model.number="optionModel.xs" :min="1" :max="24"
20
- style="width: 100%"></el-input-number>
21
- </el-form-item>
22
- </div>
23
- </template>
24
-
25
- <script>
26
- import i18n from "@/utils/i18n";
27
-
28
- export default {
29
- name: "grid-col-span-editor",
30
- mixins: [i18n],
31
- props: {
32
- designer: Object,
33
- selectedWidget: Object,
34
- optionModel: Object,
35
- },
36
- computed: {
37
- formConfig() {
38
- return this.designer.formConfig
39
- },
40
-
41
-
42
- }
43
- }
44
- </script>
45
-
46
- <style scoped>
47
-
48
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.showBlankRow')">
3
- <el-switch v-model="optionModel.showBlankRow"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "showBlankRow-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.showRowNumber')">
3
- <el-switch v-model="optionModel.showRowNumber"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "showRowNumber-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,36 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.labelAlign')">
3
- <el-radio-group v-model="optionModel.labelAlign" class="radio-group-custom">
4
- <el-radio-button label="label-left-align">
5
- {{i18nt('designer.setting.leftAlign')}}</el-radio-button>
6
- <el-radio-button label="label-center-align">
7
- {{i18nt('designer.setting.centerAlign')}}</el-radio-button>
8
- <el-radio-button label="label-right-align">
9
- {{i18nt('designer.setting.rightAlign')}}</el-radio-button>
10
- </el-radio-group>
11
- </el-form-item>
12
- </template>
13
-
14
- <script>
15
- import i18n from "@/utils/i18n";
16
-
17
- export default {
18
- name: "sub-form-labelAlign-editor",
19
- mixins: [i18n],
20
- props: {
21
- designer: Object,
22
- selectedWidget: Object,
23
- optionModel: Object,
24
- },
25
- }
26
- </script>
27
-
28
- <style lang="scss" scoped>
29
- .radio-group-custom {
30
- ::v-deep .el-radio-button__inner {
31
- padding-left: 12px;
32
- padding-right: 12px;
33
- }
34
- }
35
-
36
- </style>
@@ -1,119 +0,0 @@
1
- <!--
2
- 因tabs属性并不包含于options属性之中,故只能跟其他options属性之内的属性值合并设置,此处选择与customClass合并!!
3
- -->
4
-
5
- <template>
6
- <div>
7
- <el-form-item :label="i18nt('designer.setting.customClass')">
8
- <el-select v-model="optionModel.customClass" multiple filterable allow-create
9
- default-first-option>
10
- <el-option v-for="(item, idx) in cssClassList" :key="idx" :label="item" :value="item"></el-option>
11
- </el-select>
12
- </el-form-item>
13
- <el-form-item :label="i18nt('designer.setting.tabPaneSetting')"></el-form-item>
14
- <el-form-item label-width="0" class="panes-setting">
15
- <draggable tag="ul" :list="selectedWidget.tabs"
16
- v-bind="{group:'panesGroup', ghostClass: 'ghost', handle: '.drag-option'}">
17
- <li v-for="(tpItem, tpIdx) in selectedWidget.tabs" :key="tpIdx" class="col-item">
18
- <!-- span style="margin-right: 12px">{{tpIdx + 1}}</span -->
19
- <el-checkbox v-model="tpItem.options.active" disabled @change="(evt) => onTabPaneActiveChange(evt, tpItem)"
20
- style="margin-right: 8px">{{i18nt('designer.setting.paneActive')}}</el-checkbox>
21
- <el-input type="text" v-model="tpItem.options.label" style="width: 155px"></el-input>
22
- <i class="iconfont icon-drag drag-option"></i>
23
- <el-button circle plain size="mini" type="danger" @click="deleteTabPane(selectedWidget, tpIdx)"
24
- icon="el-icon-minus" class="col-delete-button"></el-button>
25
- </li>
26
- <div>
27
- <el-button type="text" @click="addTabPane(selectedWidget)">{{i18nt('designer.setting.addTabPane')}}</el-button>
28
- </div>
29
- </draggable>
30
- </el-form-item>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- import i18n from "@/utils/i18n"
36
- import Draggable from 'vuedraggable'
37
- import {deepClone} from "@/utils/util";
38
-
39
- export default {
40
- name: "tab-customClass-editor",
41
- componentName: 'PropertyEditor',
42
- mixins: [i18n],
43
- components: {
44
- Draggable,
45
- },
46
- props: {
47
- designer: Object,
48
- selectedWidget: Object,
49
- optionModel: Object,
50
- },
51
- data() {
52
- return {
53
- cssClassList: [],
54
- }
55
- },
56
- created() {
57
- this.cssClassList = deepClone(this.designer.getCssClassList())
58
- //监听表单css代码改动事件并重新加载!
59
- this.designer.handleEvent('form-css-updated', (cssClassList) => {
60
- this.cssClassList = cssClassList
61
- })
62
- },
63
- methods: {
64
- onTabPaneActiveChange(evt, tpItem) {
65
- //TODO: !!!
66
- },
67
-
68
- addTabPane(curTabs) {
69
- this.designer.addTabPaneOfTabs(curTabs)
70
- this.designer.emitHistoryChange()
71
- },
72
-
73
- deleteTabPane(curTabs, tpIdx) {
74
- if (curTabs.tabs.length === 1) {
75
- this.$message.info(this.i18nt('designer.hint.lastPaneCannotBeDeleted'))
76
- return
77
- }
78
-
79
- this.designer.deleteTabPaneOfTabs(curTabs, tpIdx)
80
- this.designer.emitHistoryChange()
81
- },
82
-
83
- }
84
- }
85
- </script>
86
-
87
- <style lang="scss" scoped>
88
- li.col-item {
89
- list-style: none;
90
-
91
- span.col-span-title {
92
- display: inline-block;
93
- font-size: 13px;
94
- width: 120px;
95
- }
96
-
97
- .col-delete-button {
98
- margin-left: 6px;
99
- }
100
- }
101
-
102
- .panes-setting {
103
- ul {
104
- padding-inline-start: 0;
105
- padding-left: 0; /* 重置IE11默认样式 */
106
- margin: 0;
107
- }
108
-
109
- .drag-option {
110
- cursor: move;
111
- }
112
-
113
- li.ghost {
114
- background: #fff;
115
- border: 2px dotted $--color-primary;
116
- }
117
- }
118
-
119
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.cellHeight')">
3
- <el-input type="text" v-model="optionModel.cellHeight"></el-input>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "cellHeight-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.cellWidth')">
3
- <el-input type="text" v-model="optionModel.cellWidth"></el-input>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "cellWidth-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>
@@ -1,23 +0,0 @@
1
- <template>
2
- <el-form-item :label="i18nt('designer.setting.wordBreak')">
3
- <el-switch v-model="optionModel.wordBreak"></el-switch>
4
- </el-form-item>
5
- </template>
6
-
7
- <script>
8
- import i18n from "@/utils/i18n"
9
-
10
- export default {
11
- name: "table-cell-wordBreak-editor",
12
- mixins: [i18n],
13
- props: {
14
- designer: Object,
15
- selectedWidget: Object,
16
- optionModel: Object,
17
- },
18
- }
19
- </script>
20
-
21
- <style scoped>
22
-
23
- </style>