@qxs-bns/components 0.0.27 → 0.0.29

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 (629) hide show
  1. package/es/_virtual/{_plugin-vue_export-helper.js → _plugin-vue_export-helper.mjs} +1 -1
  2. package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  3. package/es/index.mjs +2 -0
  4. package/es/index.mjs.map +1 -0
  5. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/{style-inject.es.js → style-inject.es.mjs} +1 -1
  6. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +1 -0
  7. package/es/package.json.mjs +2 -0
  8. package/es/package.json.mjs.map +1 -0
  9. package/es/src/components.mjs +2 -0
  10. package/es/src/components.mjs.map +1 -0
  11. package/es/src/data-chart/index.mjs +2 -0
  12. package/es/src/data-chart/index.mjs.map +1 -0
  13. package/es/src/data-chart/src/components/area.vue.mjs +2 -0
  14. package/es/src/data-chart/src/components/area.vue.mjs.map +1 -0
  15. package/es/src/data-chart/src/components/area.vue2.mjs +2 -0
  16. package/es/src/data-chart/src/components/area.vue2.mjs.map +1 -0
  17. package/es/src/data-chart/src/components/area.vue3.mjs +2 -0
  18. package/es/src/data-chart/src/components/area.vue3.mjs.map +1 -0
  19. package/es/src/data-chart/src/components/bar.vue.mjs +2 -0
  20. package/es/src/data-chart/src/components/bar.vue.mjs.map +1 -0
  21. package/es/src/data-chart/src/components/bar.vue2.mjs +2 -0
  22. package/es/src/data-chart/src/components/bar.vue2.mjs.map +1 -0
  23. package/es/src/data-chart/src/components/card.vue.mjs +2 -0
  24. package/es/src/data-chart/src/components/card.vue.mjs.map +1 -0
  25. package/es/src/data-chart/src/components/card.vue2.mjs +2 -0
  26. package/es/src/data-chart/src/components/card.vue2.mjs.map +1 -0
  27. package/es/src/data-chart/src/components/card.vue3.mjs +2 -0
  28. package/es/src/data-chart/src/components/card.vue3.mjs.map +1 -0
  29. package/es/src/data-chart/src/components/{empty.svg.js → empty.svg.mjs} +1 -1
  30. package/es/src/data-chart/src/components/empty.svg.mjs.map +1 -0
  31. package/es/src/data-chart/src/components/empty.vue.mjs +2 -0
  32. package/es/src/data-chart/src/components/empty.vue.mjs.map +1 -0
  33. package/es/src/data-chart/src/components/empty.vue2.mjs +2 -0
  34. package/es/src/data-chart/src/components/empty.vue2.mjs.map +1 -0
  35. package/es/src/data-chart/src/components/funnel.vue.mjs +2 -0
  36. package/es/src/data-chart/src/components/funnel.vue.mjs.map +1 -0
  37. package/es/src/data-chart/src/components/funnel.vue2.mjs +2 -0
  38. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +1 -0
  39. package/es/src/data-chart/src/components/line.vue.mjs +2 -0
  40. package/es/src/data-chart/src/components/line.vue.mjs.map +1 -0
  41. package/es/src/data-chart/src/components/line.vue2.mjs +2 -0
  42. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -0
  43. package/es/src/data-chart/src/components/line.vue3.mjs +2 -0
  44. package/es/src/data-chart/src/components/line.vue3.mjs.map +1 -0
  45. package/es/src/data-chart/src/components/pie.vue.mjs +2 -0
  46. package/es/src/data-chart/src/components/pie.vue.mjs.map +1 -0
  47. package/es/src/data-chart/src/components/pie.vue2.mjs +2 -0
  48. package/es/src/data-chart/src/components/pie.vue2.mjs.map +1 -0
  49. package/es/src/data-chart/src/components/radar.vue.mjs +2 -0
  50. package/es/src/data-chart/src/components/radar.vue.mjs.map +1 -0
  51. package/es/src/data-chart/src/components/radar.vue2.mjs +2 -0
  52. package/es/src/data-chart/src/components/radar.vue2.mjs.map +1 -0
  53. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +2 -0
  54. package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +1 -0
  55. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +2 -0
  56. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +1 -0
  57. package/es/src/data-chart/src/components/scatter.vue.mjs +2 -0
  58. package/es/src/data-chart/src/components/scatter.vue.mjs.map +1 -0
  59. package/es/src/data-chart/src/components/scatter.vue2.mjs +2 -0
  60. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +1 -0
  61. package/es/src/data-chart/src/components/table.vue.mjs +2 -0
  62. package/es/src/data-chart/src/components/table.vue.mjs.map +1 -0
  63. package/es/src/data-chart/src/components/table.vue2.mjs +2 -0
  64. package/es/src/data-chart/src/components/table.vue2.mjs.map +1 -0
  65. package/es/src/data-chart/src/data-chart.vue.mjs +2 -0
  66. package/es/src/data-chart/src/data-chart.vue.mjs.map +1 -0
  67. package/es/src/data-chart/src/data-chart.vue2.mjs +2 -0
  68. package/es/src/data-chart/src/data-chart.vue2.mjs.map +1 -0
  69. package/es/src/data-chart/src/utils/{config.js → config.mjs} +1 -1
  70. package/es/src/data-chart/src/utils/config.mjs.map +1 -0
  71. package/es/src/data-chart/src/utils/{injectionKeys.js → injectionKeys.mjs} +1 -1
  72. package/es/src/data-chart/src/utils/injectionKeys.mjs.map +1 -0
  73. package/es/src/data-chart/src/utils/useCharts.mjs +2 -0
  74. package/es/src/data-chart/src/utils/useCharts.mjs.map +1 -0
  75. package/es/src/defaults.mjs +2 -0
  76. package/es/src/defaults.mjs.map +1 -0
  77. package/es/src/file-upload/index.mjs +2 -0
  78. package/es/src/file-upload/index.mjs.map +1 -0
  79. package/es/src/file-upload/src/file-upload.vue.mjs +2 -0
  80. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -0
  81. package/es/src/file-upload/src/file-upload.vue2.mjs +2 -0
  82. package/es/src/file-upload/src/file-upload.vue2.mjs.map +1 -0
  83. package/es/src/fixed-action-bar/index.mjs +2 -0
  84. package/es/src/fixed-action-bar/index.mjs.map +1 -0
  85. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +2 -0
  86. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +1 -0
  87. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +2 -0
  88. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +1 -0
  89. package/es/src/image-upload/index.mjs +2 -0
  90. package/es/src/image-upload/index.mjs.map +1 -0
  91. package/es/src/image-upload/src/image-upload.vue.mjs +2 -0
  92. package/es/src/image-upload/src/image-upload.vue.mjs.map +1 -0
  93. package/es/src/image-upload/src/image-upload.vue2.mjs +2 -0
  94. package/es/src/image-upload/src/image-upload.vue2.mjs.map +1 -0
  95. package/es/src/make-installer.mjs +2 -0
  96. package/es/src/make-installer.mjs.map +1 -0
  97. package/es/src/photo-crop-tool/index.mjs +2 -0
  98. package/es/src/photo-crop-tool/index.mjs.map +1 -0
  99. package/es/src/photo-crop-tool/src/composables.mjs +2 -0
  100. package/es/src/photo-crop-tool/src/composables.mjs.map +1 -0
  101. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +2 -0
  102. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +1 -0
  103. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +2 -0
  104. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +1 -0
  105. package/es/src/subject-action/index.mjs +2 -0
  106. package/es/src/subject-action/index.mjs.map +1 -0
  107. package/es/src/subject-action/src/subject-action.vue.mjs +2 -0
  108. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -0
  109. package/es/src/subject-action/src/subject-action.vue2.mjs +2 -0
  110. package/es/src/subject-action/src/subject-action.vue2.mjs.map +1 -0
  111. package/es/src/subject-layout/index.mjs +2 -0
  112. package/es/src/subject-layout/index.mjs.map +1 -0
  113. package/es/src/subject-layout/src/{subject-layout.vue.js → subject-layout.vue.mjs} +1 -1
  114. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +1 -0
  115. package/es/src/subject-layout/src/subject-layout.vue2.mjs +2 -0
  116. package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +1 -0
  117. package/es/src/subject-list/index.mjs +2 -0
  118. package/es/src/subject-list/index.mjs.map +1 -0
  119. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +2 -0
  120. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -0
  121. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +2 -0
  122. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +1 -0
  123. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +2 -0
  124. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +1 -0
  125. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +2 -0
  126. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +1 -0
  127. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +2 -0
  128. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -0
  129. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +2 -0
  130. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +1 -0
  131. package/es/src/subject-list/src/components/subject-scale.vue.mjs +2 -0
  132. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -0
  133. package/es/src/subject-list/src/components/subject-scale.vue2.mjs +2 -0
  134. package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +1 -0
  135. package/es/src/subject-list/src/components/subject-single.vue.mjs +2 -0
  136. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -0
  137. package/es/src/subject-list/src/components/subject-single.vue2.mjs +2 -0
  138. package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +1 -0
  139. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +2 -0
  140. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -0
  141. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +2 -0
  142. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +1 -0
  143. package/es/src/subject-list/src/subject-list.vue.mjs +2 -0
  144. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -0
  145. package/es/src/subject-list/src/subject-list.vue2.mjs +2 -0
  146. package/es/src/subject-list/src/subject-list.vue2.mjs.map +1 -0
  147. package/es/src/subject-type/index.mjs +2 -0
  148. package/es/src/subject-type/index.mjs.map +1 -0
  149. package/es/src/subject-type/src/subject-type.vue.mjs +2 -0
  150. package/es/src/subject-type/src/subject-type.vue.mjs.map +1 -0
  151. package/es/src/subject-type/src/subject-type.vue2.mjs +2 -0
  152. package/es/src/subject-type/src/subject-type.vue2.mjs.map +1 -0
  153. package/es/src/tiny-mce-editor/index.mjs +2 -0
  154. package/es/src/tiny-mce-editor/index.mjs.map +1 -0
  155. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +2 -0
  156. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -0
  157. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +2 -0
  158. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +1 -0
  159. package/es/src/{withInstall.js → withInstall.mjs} +1 -1
  160. package/es/src/withInstall.mjs.map +1 -0
  161. package/lib/_virtual/{_plugin-vue_export-helper.js → _plugin-vue_export-helper.cjs} +1 -1
  162. package/lib/_virtual/_plugin-vue_export-helper.cjs.map +1 -0
  163. package/lib/index.cjs +2 -0
  164. package/lib/index.cjs.map +1 -0
  165. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/{style-inject.es.js → style-inject.es.cjs} +1 -1
  166. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +1 -0
  167. package/lib/package.json.cjs +2 -0
  168. package/lib/package.json.cjs.map +1 -0
  169. package/lib/src/components.cjs +2 -0
  170. package/lib/src/components.cjs.map +1 -0
  171. package/lib/src/data-chart/index.cjs +2 -0
  172. package/lib/src/data-chart/index.cjs.map +1 -0
  173. package/lib/src/data-chart/src/components/area.vue.cjs +2 -0
  174. package/lib/src/data-chart/src/components/area.vue.cjs.map +1 -0
  175. package/lib/src/data-chart/src/components/area.vue2.cjs +2 -0
  176. package/lib/src/data-chart/src/components/area.vue2.cjs.map +1 -0
  177. package/lib/src/data-chart/src/components/{area.vue3.js → area.vue3.cjs} +2 -2
  178. package/lib/src/data-chart/src/components/area.vue3.cjs.map +1 -0
  179. package/lib/src/data-chart/src/components/bar.vue.cjs +2 -0
  180. package/lib/src/data-chart/src/components/bar.vue.cjs.map +1 -0
  181. package/lib/src/data-chart/src/components/bar.vue2.cjs +2 -0
  182. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +1 -0
  183. package/lib/src/data-chart/src/components/card.vue.cjs +2 -0
  184. package/lib/src/data-chart/src/components/card.vue.cjs.map +1 -0
  185. package/lib/src/data-chart/src/components/card.vue2.cjs +2 -0
  186. package/lib/src/data-chart/src/components/card.vue2.cjs.map +1 -0
  187. package/lib/src/data-chart/src/components/{card.vue3.js → card.vue3.cjs} +2 -2
  188. package/lib/src/data-chart/src/components/card.vue3.cjs.map +1 -0
  189. package/lib/src/data-chart/src/components/{empty.svg.js → empty.svg.cjs} +1 -1
  190. package/lib/src/data-chart/src/components/empty.svg.cjs.map +1 -0
  191. package/lib/src/data-chart/src/components/empty.vue.cjs +2 -0
  192. package/lib/src/data-chart/src/components/empty.vue.cjs.map +1 -0
  193. package/lib/src/data-chart/src/components/empty.vue2.cjs +2 -0
  194. package/lib/src/data-chart/src/components/empty.vue2.cjs.map +1 -0
  195. package/lib/src/data-chart/src/components/funnel.vue.cjs +2 -0
  196. package/lib/src/data-chart/src/components/funnel.vue.cjs.map +1 -0
  197. package/lib/src/data-chart/src/components/funnel.vue2.cjs +2 -0
  198. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +1 -0
  199. package/lib/src/data-chart/src/components/line.vue.cjs +2 -0
  200. package/lib/src/data-chart/src/components/line.vue.cjs.map +1 -0
  201. package/lib/src/data-chart/src/components/line.vue2.cjs +2 -0
  202. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -0
  203. package/lib/src/data-chart/src/components/{line.vue3.js → line.vue3.cjs} +2 -2
  204. package/lib/src/data-chart/src/components/line.vue3.cjs.map +1 -0
  205. package/lib/src/data-chart/src/components/pie.vue.cjs +2 -0
  206. package/lib/src/data-chart/src/components/pie.vue.cjs.map +1 -0
  207. package/lib/src/data-chart/src/components/pie.vue2.cjs +2 -0
  208. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +1 -0
  209. package/lib/src/data-chart/src/components/radar.vue.cjs +2 -0
  210. package/lib/src/data-chart/src/components/radar.vue.cjs.map +1 -0
  211. package/lib/src/data-chart/src/components/radar.vue2.cjs +2 -0
  212. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +1 -0
  213. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +2 -0
  214. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +1 -0
  215. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +2 -0
  216. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +1 -0
  217. package/lib/src/data-chart/src/components/scatter.vue.cjs +2 -0
  218. package/lib/src/data-chart/src/components/scatter.vue.cjs.map +1 -0
  219. package/lib/src/data-chart/src/components/scatter.vue2.cjs +2 -0
  220. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +1 -0
  221. package/lib/src/data-chart/src/components/table.vue.cjs +2 -0
  222. package/lib/src/data-chart/src/components/table.vue.cjs.map +1 -0
  223. package/lib/src/data-chart/src/components/table.vue2.cjs +2 -0
  224. package/lib/src/data-chart/src/components/table.vue2.cjs.map +1 -0
  225. package/lib/src/data-chart/src/data-chart.vue.cjs +2 -0
  226. package/lib/src/data-chart/src/data-chart.vue.cjs.map +1 -0
  227. package/lib/src/data-chart/src/data-chart.vue2.cjs +2 -0
  228. package/lib/src/data-chart/src/data-chart.vue2.cjs.map +1 -0
  229. package/lib/src/data-chart/src/utils/{config.js → config.cjs} +1 -1
  230. package/lib/src/data-chart/src/utils/config.cjs.map +1 -0
  231. package/lib/src/data-chart/src/utils/{injectionKeys.js → injectionKeys.cjs} +1 -1
  232. package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +1 -0
  233. package/lib/src/data-chart/src/utils/useCharts.cjs +2 -0
  234. package/lib/src/data-chart/src/utils/useCharts.cjs.map +1 -0
  235. package/lib/src/defaults.cjs +2 -0
  236. package/lib/src/defaults.cjs.map +1 -0
  237. package/lib/src/file-upload/index.cjs +2 -0
  238. package/lib/src/file-upload/index.cjs.map +1 -0
  239. package/lib/src/file-upload/src/file-upload.vue.cjs +2 -0
  240. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -0
  241. package/lib/src/file-upload/src/file-upload.vue2.cjs +2 -0
  242. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +1 -0
  243. package/lib/src/fixed-action-bar/index.cjs +2 -0
  244. package/lib/src/fixed-action-bar/index.cjs.map +1 -0
  245. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +2 -0
  246. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +1 -0
  247. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +2 -0
  248. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +1 -0
  249. package/lib/src/image-upload/index.cjs +2 -0
  250. package/lib/src/image-upload/index.cjs.map +1 -0
  251. package/lib/src/image-upload/src/image-upload.vue.cjs +2 -0
  252. package/lib/src/image-upload/src/image-upload.vue.cjs.map +1 -0
  253. package/lib/src/image-upload/src/image-upload.vue2.cjs +2 -0
  254. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +1 -0
  255. package/lib/src/make-installer.cjs +2 -0
  256. package/lib/src/make-installer.cjs.map +1 -0
  257. package/lib/src/photo-crop-tool/index.cjs +2 -0
  258. package/lib/src/photo-crop-tool/index.cjs.map +1 -0
  259. package/lib/src/photo-crop-tool/src/composables.cjs +2 -0
  260. package/lib/src/photo-crop-tool/src/composables.cjs.map +1 -0
  261. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +2 -0
  262. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +1 -0
  263. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +2 -0
  264. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +1 -0
  265. package/lib/src/subject-action/index.cjs +2 -0
  266. package/lib/src/subject-action/index.cjs.map +1 -0
  267. package/lib/src/subject-action/src/subject-action.vue.cjs +2 -0
  268. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -0
  269. package/lib/src/subject-action/src/subject-action.vue2.cjs +2 -0
  270. package/lib/src/subject-action/src/subject-action.vue2.cjs.map +1 -0
  271. package/lib/src/subject-layout/index.cjs +2 -0
  272. package/lib/src/subject-layout/index.cjs.map +1 -0
  273. package/lib/src/subject-layout/src/{subject-layout.vue.js → subject-layout.vue.cjs} +1 -1
  274. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +1 -0
  275. package/lib/src/subject-layout/src/subject-layout.vue2.cjs +2 -0
  276. package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +1 -0
  277. package/lib/src/subject-list/index.cjs +2 -0
  278. package/lib/src/subject-list/index.cjs.map +1 -0
  279. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +2 -0
  280. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -0
  281. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +2 -0
  282. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +1 -0
  283. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +2 -0
  284. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +1 -0
  285. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +2 -0
  286. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +1 -0
  287. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +2 -0
  288. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -0
  289. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +2 -0
  290. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +1 -0
  291. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +2 -0
  292. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +1 -0
  293. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +2 -0
  294. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +1 -0
  295. package/lib/src/subject-list/src/components/subject-single.vue.cjs +2 -0
  296. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -0
  297. package/lib/src/subject-list/src/components/subject-single.vue2.cjs +2 -0
  298. package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +1 -0
  299. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +2 -0
  300. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -0
  301. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +2 -0
  302. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +1 -0
  303. package/lib/src/subject-list/src/subject-list.vue.cjs +2 -0
  304. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -0
  305. package/lib/src/subject-list/src/subject-list.vue2.cjs +2 -0
  306. package/lib/src/subject-list/src/subject-list.vue2.cjs.map +1 -0
  307. package/lib/src/subject-type/index.cjs +2 -0
  308. package/lib/src/subject-type/index.cjs.map +1 -0
  309. package/lib/src/subject-type/src/subject-type.vue.cjs +2 -0
  310. package/lib/src/subject-type/src/subject-type.vue.cjs.map +1 -0
  311. package/lib/src/subject-type/src/subject-type.vue2.cjs +2 -0
  312. package/lib/src/subject-type/src/subject-type.vue2.cjs.map +1 -0
  313. package/lib/src/tiny-mce-editor/index.cjs +2 -0
  314. package/lib/src/tiny-mce-editor/index.cjs.map +1 -0
  315. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +2 -0
  316. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -0
  317. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +2 -0
  318. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +1 -0
  319. package/lib/src/{withInstall.js → withInstall.cjs} +1 -1
  320. package/lib/src/withInstall.cjs.map +1 -0
  321. package/package.json +19 -17
  322. package/types/src/data-chart/src/utils/useCharts.d.ts.map +1 -1
  323. package/types/src/make-installer.d.ts +1 -1
  324. package/types/src/make-installer.d.ts.map +1 -1
  325. package/types/src/photo-crop-tool/src/composables.d.ts.map +1 -1
  326. package/types/tsconfig.tsbuildinfo +1 -1
  327. package/es/_virtual/_plugin-vue_export-helper.js.map +0 -1
  328. package/es/index.js +0 -2
  329. package/es/index.js.map +0 -1
  330. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  331. package/es/package.json.js +0 -2
  332. package/es/package.json.js.map +0 -1
  333. package/es/src/components.js +0 -2
  334. package/es/src/components.js.map +0 -1
  335. package/es/src/data-chart/index.js +0 -2
  336. package/es/src/data-chart/index.js.map +0 -1
  337. package/es/src/data-chart/src/components/area.vue.js +0 -2
  338. package/es/src/data-chart/src/components/area.vue.js.map +0 -1
  339. package/es/src/data-chart/src/components/area.vue2.js +0 -2
  340. package/es/src/data-chart/src/components/area.vue2.js.map +0 -1
  341. package/es/src/data-chart/src/components/area.vue3.js +0 -2
  342. package/es/src/data-chart/src/components/area.vue3.js.map +0 -1
  343. package/es/src/data-chart/src/components/bar.vue.js +0 -2
  344. package/es/src/data-chart/src/components/bar.vue.js.map +0 -1
  345. package/es/src/data-chart/src/components/bar.vue2.js +0 -2
  346. package/es/src/data-chart/src/components/bar.vue2.js.map +0 -1
  347. package/es/src/data-chart/src/components/card.vue.js +0 -2
  348. package/es/src/data-chart/src/components/card.vue.js.map +0 -1
  349. package/es/src/data-chart/src/components/card.vue2.js +0 -2
  350. package/es/src/data-chart/src/components/card.vue2.js.map +0 -1
  351. package/es/src/data-chart/src/components/card.vue3.js +0 -2
  352. package/es/src/data-chart/src/components/card.vue3.js.map +0 -1
  353. package/es/src/data-chart/src/components/empty.svg.js.map +0 -1
  354. package/es/src/data-chart/src/components/empty.vue.js +0 -2
  355. package/es/src/data-chart/src/components/empty.vue.js.map +0 -1
  356. package/es/src/data-chart/src/components/empty.vue2.js +0 -2
  357. package/es/src/data-chart/src/components/empty.vue2.js.map +0 -1
  358. package/es/src/data-chart/src/components/funnel.vue.js +0 -2
  359. package/es/src/data-chart/src/components/funnel.vue.js.map +0 -1
  360. package/es/src/data-chart/src/components/funnel.vue2.js +0 -2
  361. package/es/src/data-chart/src/components/funnel.vue2.js.map +0 -1
  362. package/es/src/data-chart/src/components/line.vue.js +0 -2
  363. package/es/src/data-chart/src/components/line.vue.js.map +0 -1
  364. package/es/src/data-chart/src/components/line.vue2.js +0 -2
  365. package/es/src/data-chart/src/components/line.vue2.js.map +0 -1
  366. package/es/src/data-chart/src/components/line.vue3.js +0 -2
  367. package/es/src/data-chart/src/components/line.vue3.js.map +0 -1
  368. package/es/src/data-chart/src/components/pie.vue.js +0 -2
  369. package/es/src/data-chart/src/components/pie.vue.js.map +0 -1
  370. package/es/src/data-chart/src/components/pie.vue2.js +0 -2
  371. package/es/src/data-chart/src/components/pie.vue2.js.map +0 -1
  372. package/es/src/data-chart/src/components/radar.vue.js +0 -2
  373. package/es/src/data-chart/src/components/radar.vue.js.map +0 -1
  374. package/es/src/data-chart/src/components/radar.vue2.js +0 -2
  375. package/es/src/data-chart/src/components/radar.vue2.js.map +0 -1
  376. package/es/src/data-chart/src/components/scatter-simple.vue.js +0 -2
  377. package/es/src/data-chart/src/components/scatter-simple.vue.js.map +0 -1
  378. package/es/src/data-chart/src/components/scatter-simple.vue2.js +0 -2
  379. package/es/src/data-chart/src/components/scatter-simple.vue2.js.map +0 -1
  380. package/es/src/data-chart/src/components/scatter.vue.js +0 -2
  381. package/es/src/data-chart/src/components/scatter.vue.js.map +0 -1
  382. package/es/src/data-chart/src/components/scatter.vue2.js +0 -2
  383. package/es/src/data-chart/src/components/scatter.vue2.js.map +0 -1
  384. package/es/src/data-chart/src/components/table.vue.js +0 -2
  385. package/es/src/data-chart/src/components/table.vue.js.map +0 -1
  386. package/es/src/data-chart/src/components/table.vue2.js +0 -2
  387. package/es/src/data-chart/src/components/table.vue2.js.map +0 -1
  388. package/es/src/data-chart/src/data-chart.vue.js +0 -2
  389. package/es/src/data-chart/src/data-chart.vue.js.map +0 -1
  390. package/es/src/data-chart/src/data-chart.vue2.js +0 -2
  391. package/es/src/data-chart/src/data-chart.vue2.js.map +0 -1
  392. package/es/src/data-chart/src/utils/config.js.map +0 -1
  393. package/es/src/data-chart/src/utils/injectionKeys.js.map +0 -1
  394. package/es/src/data-chart/src/utils/useCharts.js +0 -2
  395. package/es/src/data-chart/src/utils/useCharts.js.map +0 -1
  396. package/es/src/defaults.js +0 -2
  397. package/es/src/defaults.js.map +0 -1
  398. package/es/src/file-upload/index.js +0 -2
  399. package/es/src/file-upload/index.js.map +0 -1
  400. package/es/src/file-upload/src/file-upload.vue.js +0 -2
  401. package/es/src/file-upload/src/file-upload.vue.js.map +0 -1
  402. package/es/src/file-upload/src/file-upload.vue2.js +0 -2
  403. package/es/src/file-upload/src/file-upload.vue2.js.map +0 -1
  404. package/es/src/fixed-action-bar/index.js +0 -2
  405. package/es/src/fixed-action-bar/index.js.map +0 -1
  406. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.js +0 -2
  407. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.js.map +0 -1
  408. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.js +0 -2
  409. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.js.map +0 -1
  410. package/es/src/image-upload/index.js +0 -2
  411. package/es/src/image-upload/index.js.map +0 -1
  412. package/es/src/image-upload/src/image-upload.vue.js +0 -2
  413. package/es/src/image-upload/src/image-upload.vue.js.map +0 -1
  414. package/es/src/image-upload/src/image-upload.vue2.js +0 -2
  415. package/es/src/image-upload/src/image-upload.vue2.js.map +0 -1
  416. package/es/src/make-installer.js +0 -2
  417. package/es/src/make-installer.js.map +0 -1
  418. package/es/src/photo-crop-tool/index.js +0 -2
  419. package/es/src/photo-crop-tool/index.js.map +0 -1
  420. package/es/src/photo-crop-tool/src/composables.js +0 -2
  421. package/es/src/photo-crop-tool/src/composables.js.map +0 -1
  422. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.js +0 -2
  423. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.js.map +0 -1
  424. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.js +0 -2
  425. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.js.map +0 -1
  426. package/es/src/subject-action/index.js +0 -2
  427. package/es/src/subject-action/index.js.map +0 -1
  428. package/es/src/subject-action/src/subject-action.vue.js +0 -2
  429. package/es/src/subject-action/src/subject-action.vue.js.map +0 -1
  430. package/es/src/subject-action/src/subject-action.vue2.js +0 -2
  431. package/es/src/subject-action/src/subject-action.vue2.js.map +0 -1
  432. package/es/src/subject-layout/index.js +0 -2
  433. package/es/src/subject-layout/index.js.map +0 -1
  434. package/es/src/subject-layout/src/subject-layout.vue.js.map +0 -1
  435. package/es/src/subject-layout/src/subject-layout.vue2.js +0 -2
  436. package/es/src/subject-layout/src/subject-layout.vue2.js.map +0 -1
  437. package/es/src/subject-list/index.js +0 -2
  438. package/es/src/subject-list/index.js.map +0 -1
  439. package/es/src/subject-list/src/components/SubjectPageEnd.vue.js +0 -2
  440. package/es/src/subject-list/src/components/SubjectPageEnd.vue.js.map +0 -1
  441. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.js +0 -2
  442. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.js.map +0 -1
  443. package/es/src/subject-list/src/components/SubjectRichText.vue.js +0 -2
  444. package/es/src/subject-list/src/components/SubjectRichText.vue.js.map +0 -1
  445. package/es/src/subject-list/src/components/SubjectRichText.vue2.js +0 -2
  446. package/es/src/subject-list/src/components/SubjectRichText.vue2.js.map +0 -1
  447. package/es/src/subject-list/src/components/subject-blank-fill.vue.js +0 -2
  448. package/es/src/subject-list/src/components/subject-blank-fill.vue.js.map +0 -1
  449. package/es/src/subject-list/src/components/subject-blank-fill.vue2.js +0 -2
  450. package/es/src/subject-list/src/components/subject-blank-fill.vue2.js.map +0 -1
  451. package/es/src/subject-list/src/components/subject-scale.vue.js +0 -2
  452. package/es/src/subject-list/src/components/subject-scale.vue.js.map +0 -1
  453. package/es/src/subject-list/src/components/subject-scale.vue2.js +0 -2
  454. package/es/src/subject-list/src/components/subject-scale.vue2.js.map +0 -1
  455. package/es/src/subject-list/src/components/subject-single.vue.js +0 -2
  456. package/es/src/subject-list/src/components/subject-single.vue.js.map +0 -1
  457. package/es/src/subject-list/src/components/subject-single.vue2.js +0 -2
  458. package/es/src/subject-list/src/components/subject-single.vue2.js.map +0 -1
  459. package/es/src/subject-list/src/components/subject-text-fill.vue.js +0 -2
  460. package/es/src/subject-list/src/components/subject-text-fill.vue.js.map +0 -1
  461. package/es/src/subject-list/src/components/subject-text-fill.vue2.js +0 -2
  462. package/es/src/subject-list/src/components/subject-text-fill.vue2.js.map +0 -1
  463. package/es/src/subject-list/src/subject-list.vue.js +0 -2
  464. package/es/src/subject-list/src/subject-list.vue.js.map +0 -1
  465. package/es/src/subject-list/src/subject-list.vue2.js +0 -2
  466. package/es/src/subject-list/src/subject-list.vue2.js.map +0 -1
  467. package/es/src/subject-type/index.js +0 -2
  468. package/es/src/subject-type/index.js.map +0 -1
  469. package/es/src/subject-type/src/subject-type.vue.js +0 -2
  470. package/es/src/subject-type/src/subject-type.vue.js.map +0 -1
  471. package/es/src/subject-type/src/subject-type.vue2.js +0 -2
  472. package/es/src/subject-type/src/subject-type.vue2.js.map +0 -1
  473. package/es/src/tiny-mce-editor/index.js +0 -2
  474. package/es/src/tiny-mce-editor/index.js.map +0 -1
  475. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.js +0 -2
  476. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.js.map +0 -1
  477. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js +0 -2
  478. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js.map +0 -1
  479. package/es/src/withInstall.js.map +0 -1
  480. package/lib/_virtual/_plugin-vue_export-helper.js.map +0 -1
  481. package/lib/index.js +0 -2
  482. package/lib/index.js.map +0 -1
  483. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  484. package/lib/package.json.js +0 -2
  485. package/lib/package.json.js.map +0 -1
  486. package/lib/src/components.js +0 -2
  487. package/lib/src/components.js.map +0 -1
  488. package/lib/src/data-chart/index.js +0 -2
  489. package/lib/src/data-chart/index.js.map +0 -1
  490. package/lib/src/data-chart/src/components/area.vue.js +0 -2
  491. package/lib/src/data-chart/src/components/area.vue.js.map +0 -1
  492. package/lib/src/data-chart/src/components/area.vue2.js +0 -2
  493. package/lib/src/data-chart/src/components/area.vue2.js.map +0 -1
  494. package/lib/src/data-chart/src/components/area.vue3.js.map +0 -1
  495. package/lib/src/data-chart/src/components/bar.vue.js +0 -2
  496. package/lib/src/data-chart/src/components/bar.vue.js.map +0 -1
  497. package/lib/src/data-chart/src/components/bar.vue2.js +0 -2
  498. package/lib/src/data-chart/src/components/bar.vue2.js.map +0 -1
  499. package/lib/src/data-chart/src/components/card.vue.js +0 -2
  500. package/lib/src/data-chart/src/components/card.vue.js.map +0 -1
  501. package/lib/src/data-chart/src/components/card.vue2.js +0 -2
  502. package/lib/src/data-chart/src/components/card.vue2.js.map +0 -1
  503. package/lib/src/data-chart/src/components/card.vue3.js.map +0 -1
  504. package/lib/src/data-chart/src/components/empty.svg.js.map +0 -1
  505. package/lib/src/data-chart/src/components/empty.vue.js +0 -2
  506. package/lib/src/data-chart/src/components/empty.vue.js.map +0 -1
  507. package/lib/src/data-chart/src/components/empty.vue2.js +0 -2
  508. package/lib/src/data-chart/src/components/empty.vue2.js.map +0 -1
  509. package/lib/src/data-chart/src/components/funnel.vue.js +0 -2
  510. package/lib/src/data-chart/src/components/funnel.vue.js.map +0 -1
  511. package/lib/src/data-chart/src/components/funnel.vue2.js +0 -2
  512. package/lib/src/data-chart/src/components/funnel.vue2.js.map +0 -1
  513. package/lib/src/data-chart/src/components/line.vue.js +0 -2
  514. package/lib/src/data-chart/src/components/line.vue.js.map +0 -1
  515. package/lib/src/data-chart/src/components/line.vue2.js +0 -2
  516. package/lib/src/data-chart/src/components/line.vue2.js.map +0 -1
  517. package/lib/src/data-chart/src/components/line.vue3.js.map +0 -1
  518. package/lib/src/data-chart/src/components/pie.vue.js +0 -2
  519. package/lib/src/data-chart/src/components/pie.vue.js.map +0 -1
  520. package/lib/src/data-chart/src/components/pie.vue2.js +0 -2
  521. package/lib/src/data-chart/src/components/pie.vue2.js.map +0 -1
  522. package/lib/src/data-chart/src/components/radar.vue.js +0 -2
  523. package/lib/src/data-chart/src/components/radar.vue.js.map +0 -1
  524. package/lib/src/data-chart/src/components/radar.vue2.js +0 -2
  525. package/lib/src/data-chart/src/components/radar.vue2.js.map +0 -1
  526. package/lib/src/data-chart/src/components/scatter-simple.vue.js +0 -2
  527. package/lib/src/data-chart/src/components/scatter-simple.vue.js.map +0 -1
  528. package/lib/src/data-chart/src/components/scatter-simple.vue2.js +0 -2
  529. package/lib/src/data-chart/src/components/scatter-simple.vue2.js.map +0 -1
  530. package/lib/src/data-chart/src/components/scatter.vue.js +0 -2
  531. package/lib/src/data-chart/src/components/scatter.vue.js.map +0 -1
  532. package/lib/src/data-chart/src/components/scatter.vue2.js +0 -2
  533. package/lib/src/data-chart/src/components/scatter.vue2.js.map +0 -1
  534. package/lib/src/data-chart/src/components/table.vue.js +0 -2
  535. package/lib/src/data-chart/src/components/table.vue.js.map +0 -1
  536. package/lib/src/data-chart/src/components/table.vue2.js +0 -2
  537. package/lib/src/data-chart/src/components/table.vue2.js.map +0 -1
  538. package/lib/src/data-chart/src/data-chart.vue.js +0 -2
  539. package/lib/src/data-chart/src/data-chart.vue.js.map +0 -1
  540. package/lib/src/data-chart/src/data-chart.vue2.js +0 -2
  541. package/lib/src/data-chart/src/data-chart.vue2.js.map +0 -1
  542. package/lib/src/data-chart/src/utils/config.js.map +0 -1
  543. package/lib/src/data-chart/src/utils/injectionKeys.js.map +0 -1
  544. package/lib/src/data-chart/src/utils/useCharts.js +0 -2
  545. package/lib/src/data-chart/src/utils/useCharts.js.map +0 -1
  546. package/lib/src/defaults.js +0 -2
  547. package/lib/src/defaults.js.map +0 -1
  548. package/lib/src/file-upload/index.js +0 -2
  549. package/lib/src/file-upload/index.js.map +0 -1
  550. package/lib/src/file-upload/src/file-upload.vue.js +0 -2
  551. package/lib/src/file-upload/src/file-upload.vue.js.map +0 -1
  552. package/lib/src/file-upload/src/file-upload.vue2.js +0 -2
  553. package/lib/src/file-upload/src/file-upload.vue2.js.map +0 -1
  554. package/lib/src/fixed-action-bar/index.js +0 -2
  555. package/lib/src/fixed-action-bar/index.js.map +0 -1
  556. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.js +0 -2
  557. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.js.map +0 -1
  558. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.js +0 -2
  559. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.js.map +0 -1
  560. package/lib/src/image-upload/index.js +0 -2
  561. package/lib/src/image-upload/index.js.map +0 -1
  562. package/lib/src/image-upload/src/image-upload.vue.js +0 -2
  563. package/lib/src/image-upload/src/image-upload.vue.js.map +0 -1
  564. package/lib/src/image-upload/src/image-upload.vue2.js +0 -2
  565. package/lib/src/image-upload/src/image-upload.vue2.js.map +0 -1
  566. package/lib/src/make-installer.js +0 -2
  567. package/lib/src/make-installer.js.map +0 -1
  568. package/lib/src/photo-crop-tool/index.js +0 -2
  569. package/lib/src/photo-crop-tool/index.js.map +0 -1
  570. package/lib/src/photo-crop-tool/src/composables.js +0 -2
  571. package/lib/src/photo-crop-tool/src/composables.js.map +0 -1
  572. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.js +0 -2
  573. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.js.map +0 -1
  574. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.js +0 -2
  575. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.js.map +0 -1
  576. package/lib/src/subject-action/index.js +0 -2
  577. package/lib/src/subject-action/index.js.map +0 -1
  578. package/lib/src/subject-action/src/subject-action.vue.js +0 -2
  579. package/lib/src/subject-action/src/subject-action.vue.js.map +0 -1
  580. package/lib/src/subject-action/src/subject-action.vue2.js +0 -2
  581. package/lib/src/subject-action/src/subject-action.vue2.js.map +0 -1
  582. package/lib/src/subject-layout/index.js +0 -2
  583. package/lib/src/subject-layout/index.js.map +0 -1
  584. package/lib/src/subject-layout/src/subject-layout.vue.js.map +0 -1
  585. package/lib/src/subject-layout/src/subject-layout.vue2.js +0 -2
  586. package/lib/src/subject-layout/src/subject-layout.vue2.js.map +0 -1
  587. package/lib/src/subject-list/index.js +0 -2
  588. package/lib/src/subject-list/index.js.map +0 -1
  589. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.js +0 -2
  590. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.js.map +0 -1
  591. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js +0 -2
  592. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js.map +0 -1
  593. package/lib/src/subject-list/src/components/SubjectRichText.vue.js +0 -2
  594. package/lib/src/subject-list/src/components/SubjectRichText.vue.js.map +0 -1
  595. package/lib/src/subject-list/src/components/SubjectRichText.vue2.js +0 -2
  596. package/lib/src/subject-list/src/components/SubjectRichText.vue2.js.map +0 -1
  597. package/lib/src/subject-list/src/components/subject-blank-fill.vue.js +0 -2
  598. package/lib/src/subject-list/src/components/subject-blank-fill.vue.js.map +0 -1
  599. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.js +0 -2
  600. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.js.map +0 -1
  601. package/lib/src/subject-list/src/components/subject-scale.vue.js +0 -2
  602. package/lib/src/subject-list/src/components/subject-scale.vue.js.map +0 -1
  603. package/lib/src/subject-list/src/components/subject-scale.vue2.js +0 -2
  604. package/lib/src/subject-list/src/components/subject-scale.vue2.js.map +0 -1
  605. package/lib/src/subject-list/src/components/subject-single.vue.js +0 -2
  606. package/lib/src/subject-list/src/components/subject-single.vue.js.map +0 -1
  607. package/lib/src/subject-list/src/components/subject-single.vue2.js +0 -2
  608. package/lib/src/subject-list/src/components/subject-single.vue2.js.map +0 -1
  609. package/lib/src/subject-list/src/components/subject-text-fill.vue.js +0 -2
  610. package/lib/src/subject-list/src/components/subject-text-fill.vue.js.map +0 -1
  611. package/lib/src/subject-list/src/components/subject-text-fill.vue2.js +0 -2
  612. package/lib/src/subject-list/src/components/subject-text-fill.vue2.js.map +0 -1
  613. package/lib/src/subject-list/src/subject-list.vue.js +0 -2
  614. package/lib/src/subject-list/src/subject-list.vue.js.map +0 -1
  615. package/lib/src/subject-list/src/subject-list.vue2.js +0 -2
  616. package/lib/src/subject-list/src/subject-list.vue2.js.map +0 -1
  617. package/lib/src/subject-type/index.js +0 -2
  618. package/lib/src/subject-type/index.js.map +0 -1
  619. package/lib/src/subject-type/src/subject-type.vue.js +0 -2
  620. package/lib/src/subject-type/src/subject-type.vue.js.map +0 -1
  621. package/lib/src/subject-type/src/subject-type.vue2.js +0 -2
  622. package/lib/src/subject-type/src/subject-type.vue2.js.map +0 -1
  623. package/lib/src/tiny-mce-editor/index.js +0 -2
  624. package/lib/src/tiny-mce-editor/index.js.map +0 -1
  625. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.js +0 -2
  626. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.js.map +0 -1
  627. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js +0 -2
  628. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.js.map +0 -1
  629. package/lib/src/withInstall.js.map +0 -1
@@ -1,2 +1,2 @@
1
1
  const e=Symbol("merge");export{e as InjectionChartMerge};
2
- //# sourceMappingURL=injectionKeys.js.map
2
+ //# sourceMappingURL=injectionKeys.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectionKeys.mjs","sources":["../../../../../../../packages/components/src/data-chart/src/utils/injectionKeys.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\n\nexport const InjectionChartMerge: InjectionKey<(target: any, source: any) => any> = Symbol('merge')\n"],"names":["InjectionChartMerge","Symbol"],"mappings":"MAEaA,EAAuEC,OAAO"}
@@ -0,0 +1,2 @@
1
+ import{useMouseInElement as e,watchDebounced as t,useElementSize as o}from"@vueuse/core";import*as i from"echarts";import a from"../components/empty.svg.mjs";import{ref as n,onMounted as l,onUnmounted as r}from"vue-demi";function s(o){let{chartDOM:s,chartData:u,chartOptions:d,mountedBefore:v,initAfter:m,callback:f}=o,p=null;const g=n(!1),h=window.devicePixelRatio||1;function x(){p&&!p.isDisposed()&&(p.dispose(),p=null)}function y(){if(p&&g.value&&s.value){p.showLoading();try{p.isDisposed()&&(p=i.init(s.value,null,{devicePixelRatio:h,renderer:"svg"})),p.setOption(...arguments)}catch(e){console.log("error: ",e),x(),s.value&&(p=i.init(s.value,null,{devicePixelRatio:h,renderer:"svg"}),D("配置项错误"))}finally{p?.hideLoading()}}}const{isOutside:w}=e(s);function D(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"暂无数据";y({title:[{text:u.value?.modelName,...d.value.title},{subtext:e,top:"center",left:"center",text:" {a|}",itemGap:-20,textStyle:{align:"center",rich:{a:{color:"#000",fontSize:"16",height:80,width:160,backgroundColor:{image:a}}}},subtextStyle:{fontSize:16}}]},{notMerge:!0,replaceMerge:["xAxis","yAxis","series"],lazyUpdate:!1})}return t(w,(e=>{var t;"boolean"==typeof e&&(t=!e,p?.isDisposed()||p?.setOption({toolbox:{show:t}}))}),{debounce:200}),l((async()=>{v&&await v(),s.value&&(x(),p=i.init(s.value,null,{devicePixelRatio:h,renderer:"svg"}),f&&f(p),m&&await m(),c(p,s),g.value=!0,u.value?.data?.length?y(d.value,{}):D())})),r((()=>{p&&(p.getZr()?.off("mousemove"),p.getZr()?.off("mouseout"),x())})),{myChart:p}}function c(e,i){const{width:a,height:n}=o(i);t([a,n],(()=>{e&&e.resize()}))}function u(e){const{desc:{colDesc:t=[],groupByDesc:o=[]}={},data:i=[]}=e,a=[...o.map((e=>e.colDesc)),...t].filter((e=>e)),n=i.map((e=>a.map((t=>e[t]||""))));return[a,...n]}export{s as useCharts,u as useDataToExcelJson,c as useResize};
2
+ //# sourceMappingURL=useCharts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCharts.mjs","sources":["../../../../../../../packages/components/src/data-chart/src/utils/useCharts.ts"],"sourcesContent":["import type { ECharts, SetOptionOpts } from 'echarts'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { EChartData, EChartsOption, IFormatPublicData } from '../types'\nimport { useElementSize, useMouseInElement, watchDebounced } from '@vueuse/core'\nimport * as echarts from 'echarts'\n\n// 使用别名路径导入 SVG\nimport emptyImg from '../components/empty.svg'\n\nexport function useCharts({ chartDOM, chartData, chartOptions, mountedBefore, initAfter, callback }: {\n chartDOM: Ref<HTMLElement | null>\n chartData: ComputedRef<IFormatPublicData>\n chartOptions: ComputedRef<EChartsOption>\n mountedBefore?: () => void\n initAfter?: () => void\n callback?: (e: ECharts) => void\n}) {\n let myChart: ECharts | null = null\n const initChartSuccess = ref(false)\n\n // 获取设备像素比\n const dpr = window.devicePixelRatio || 1\n\n function disposeChart() {\n if (myChart && !myChart.isDisposed()) {\n myChart.dispose()\n myChart = null\n }\n }\n\n function initChart(...opt: [EChartsOption, SetOptionOpts]) {\n if (!myChart || !initChartSuccess.value || !chartDOM.value) {\n return\n }\n\n myChart.showLoading()\n try {\n if (myChart.isDisposed()) {\n // 如果实例已被销毁,重新创建\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n }\n myChart.setOption(...opt)\n }\n catch (error) {\n console.log('error: ', error)\n disposeChart()\n if (chartDOM.value) {\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n setEmpty('配置项错误')\n }\n }\n finally {\n myChart?.hideLoading()\n }\n }\n\n const { isOutside: mouseInChart } = useMouseInElement(chartDOM)\n watchDebounced(mouseInChart, (newVal) => {\n if (typeof newVal !== 'boolean') {\n return\n }\n toggleToolbox(!newVal)\n }, { debounce: 200 })\n\n function setEmpty(subtext = '暂无数据') {\n const obj: EChartsOption = {\n title: [{\n text: chartData.value?.modelName,\n ...chartOptions.value.title,\n }, {\n subtext,\n top: 'center',\n left: 'center',\n text: ' {a|}',\n itemGap: -20,\n textStyle: {\n align: 'center',\n rich: {\n a: {\n color: '#000',\n fontSize: '16',\n height: 80,\n width: 160,\n backgroundColor: {\n image: emptyImg,\n },\n },\n },\n },\n subtextStyle: {\n fontSize: 16,\n },\n }],\n }\n initChart(obj, {\n notMerge: true,\n replaceMerge: ['xAxis', 'yAxis', 'series'],\n lazyUpdate: false,\n })\n }\n\n function toggleToolbox(show: boolean) {\n if (!myChart?.isDisposed()) {\n myChart?.setOption({\n toolbox: {\n show,\n },\n })\n }\n }\n\n onMounted(async () => {\n if (mountedBefore) {\n await mountedBefore()\n }\n if (!chartDOM.value) {\n return\n }\n disposeChart() // 确保旧实例被清理\n myChart = echarts.init(chartDOM.value, null, {\n devicePixelRatio: dpr,\n renderer: 'svg',\n })\n if (callback) {\n callback(myChart)\n }\n if (initAfter) {\n await initAfter()\n }\n\n useResize(myChart, chartDOM)\n\n initChartSuccess.value = true\n\n if (chartData.value?.data?.length) {\n initChart(chartOptions.value, {})\n }\n else {\n setEmpty()\n }\n })\n\n onUnmounted(() => {\n if (myChart) {\n myChart.getZr()?.off('mousemove')\n myChart.getZr()?.off('mouseout')\n disposeChart()\n }\n })\n\n return {\n myChart,\n }\n}\n\nexport function useResize(myChart: ECharts, chartDOM: Ref<HTMLElement | null>) {\n const { width, height } = useElementSize(chartDOM)\n watchDebounced([width, height], () => {\n if (myChart) {\n myChart.resize()\n }\n })\n}\n\nexport function useDataToExcelJson(dataSource: EChartData) {\n const { desc: { colDesc = [], groupByDesc = [] } = {}, data = [] } = dataSource\n const header = [...groupByDesc.map(item => item.colDesc), ...colDesc].filter(v => v) as string[]\n const json = data.map((item) => {\n return header.map((headerItem) => {\n return item[headerItem as keyof typeof item] || ''\n })\n })\n return [header, ...json]\n}\n"],"names":["useCharts","_ref","chartDOM","chartData","chartOptions","mountedBefore","initAfter","callback","myChart","initChartSuccess","ref","dpr","window","devicePixelRatio","disposeChart","isDisposed","dispose","initChart","value","showLoading","echarts","init","renderer","setOption","arguments","error","console","log","setEmpty","hideLoading","isOutside","mouseInChart","useMouseInElement","subtext","title","text","modelName","top","left","itemGap","textStyle","align","rich","a","color","fontSize","height","width","backgroundColor","image","emptyImg","subtextStyle","notMerge","replaceMerge","lazyUpdate","watchDebounced","newVal","show","toolbox","debounce","onMounted","async","useResize","data","length","onUnmounted","getZr","off","useElementSize","resize","useDataToExcelJson","dataSource","desc","colDesc","groupByDesc","header","map","item","filter","v","json","headerItem"],"mappings":"6NASgB,SAAAA,EAAAC,GAOb,IAPuBC,SAAEA,EAAUC,UAAAA,EAAAC,aAAWA,gBAAcC,EAAeC,UAAAA,EAAAC,SAAWA,GAOtFN,EACGO,EAA0B,KACxB,MAAAC,EAAmBC,GAAI,GAGvBC,EAAMC,OAAOC,kBAAoB,EAEvC,SAASC,IACHN,IAAYA,EAAQO,eACtBP,EAAQQ,UACER,EAAA,KAEd,CAEA,SAASS,IACP,GAAKT,GAAYC,EAAiBS,OAAUhB,EAASgB,MAArD,CAIAV,EAAQW,cACJ,IACEX,EAAQO,eAEVP,EAAUY,EAAQC,KAAKnB,EAASgB,MAAO,KAAM,CAC3CL,iBAAkBF,EAClBW,SAAU,SAGNd,EAAAe,aAAUC,iBAEbC,GACGC,QAAAC,IAAI,UAAWF,GACVX,IACTZ,EAASgB,QACXV,EAAUY,EAAQC,KAAKnB,EAASgB,MAAO,KAAM,CAC3CL,iBAAkBF,EAClBW,SAAU,QAEZM,EAAS,SAEb,CACA,QACEpB,GAASqB,aACX,CA1BA,CA2BF,CAEA,MAAQC,UAAWC,GAAiBC,EAAkB9B,GAQ7C,SAAA0B,IAA2B,IAAlBK,yDAAU,OA8B1BhB,EA7B2B,CACzBiB,MAAO,CAAC,CACNC,KAAMhC,EAAUe,OAAOkB,aACpBhC,EAAac,MAAMgB,OACrB,CACDD,UACAI,IAAK,SACLC,KAAM,SACNH,KAAM,QACNI,SAAS,GACTC,UAAW,CACTC,MAAO,SACPC,KAAM,CACJC,EAAG,CACDC,MAAO,OACPC,SAAU,KACVC,OAAQ,GACRC,MAAO,IACPC,gBAAiB,CACfC,MAAOC,MAKfC,aAAc,CACZN,SAAU,OAID,CACbO,UAAU,EACVC,aAAc,CAAC,QAAS,QAAS,UACjCC,YAAY,GAEhB,CAmDO,OA7FQC,EAAAxB,GAAeyB,IA4C9B,IAAuBC,EA3CC,kBAAXD,IA2CUC,GAxCND,EAyCVhD,GAASO,cACZP,GAASe,UAAU,CACjBmC,QAAS,CACPD,UA5Ce,GACpB,CAAEE,SAAU,MAiDfC,GAAUC,UACJxD,SACIA,IAEHH,EAASgB,QAGDJ,IACbN,EAAUY,EAAQC,KAAKnB,EAASgB,MAAO,KAAM,CAC3CL,iBAAkBF,EAClBW,SAAU,QAERf,GACFA,EAASC,GAEPF,SACIA,IAGRwD,EAAUtD,EAASN,GAEnBO,EAAiBS,OAAQ,EAErBf,EAAUe,OAAO6C,MAAMC,OACf/C,EAAAb,EAAac,MAAO,IAGrBU,IACX,IAGFqC,GAAY,KACNzD,IACMA,EAAA0D,SAASC,IAAI,aACb3D,EAAA0D,SAASC,IAAI,YACRrD,IACf,IAGK,CACLN,UAEJ,CAEgB,SAAAsD,EAAUtD,EAAkBN,GAC1C,MAAM6C,MAAEA,EAAAD,OAAOA,GAAWsB,EAAelE,GACzCqD,EAAe,CAACR,EAAOD,IAAS,KAC1BtC,GACFA,EAAQ6D,QACV,GAEJ,CAEO,SAASC,EAAmBC,GACjC,MAAQC,MAAMC,QAAEA,EAAU,GAAIC,YAAAA,EAAc,IAAO,CAAC,EAAAX,KAAGA,EAAO,IAAOQ,EAC/DI,EAAS,IAAID,EAAYE,KAAYC,GAAAA,EAAKJ,aAAaA,GAASK,WAAYC,IAC5EC,EAAOjB,EAAKa,KAAKC,GACdF,EAAOC,KAAKK,GACVJ,EAAKI,IAAoC,OAG7C,MAAA,CAACN,KAAWK,EACrB"}
@@ -0,0 +1,2 @@
1
+ import*as m from"./components.mjs";import{makeInstaller as o}from"./make-installer.mjs";var r=o(m);export{r as default};
2
+ //# sourceMappingURL=defaults.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../packages/components/src/defaults.ts"],"sourcesContent":["import * as components from './components'\nimport { makeInstaller } from './make-installer'\n\nexport default makeInstaller(components)\n"],"names":["makeInstaller","components"],"mappings":"wFAGA,IAAeA,EAAAA,EAAcC"}
@@ -0,0 +1,2 @@
1
+ import{withInstall as o}from"../withInstall.mjs";import t from"./src/file-upload.vue.mjs";const m=o(t);export{m as QxsFileUpload,m as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/file-upload/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/file-upload.vue'\n\nconst QxsFileUpload = withInstall(component)\n\nexport {\n QxsFileUpload,\n}\n\nexport default QxsFileUpload\n"],"names":["QxsFileUpload","withInstall","component"],"mappings":"0FAGA,MAAMA,EAAgBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{ElUpload as e,ElIcon as t,ElAlert as i,ElMessage as l}from"element-plus/es";import{defineComponent as a,createBlock as r,openBlock as s,normalizeClass as o,unref as n,withCtx as u,createElementVNode as d,createVNode as p,createTextVNode as c,createElementBlock as m,createCommentVNode as f}from"vue";import{UploadFilled as y}from"@element-plus/icons-vue";import{useNamespace as q}from"@qxs-bns/hooks";import{computed as v}from"vue-demi";const x={class:"slot"},_={key:0,class:"el-upload__tip"},b={style:{display:"inline-block"}};var h=a({name:"QxsFileUpload",__name:"file-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},size:{type:Number,required:!1,default:20},max:{type:Number,required:!1,default:3},accept:{type:String,required:!1,default:"zip,rar"},files:{type:Array,required:!1,default:()=>[]},notip:{type:Boolean,required:!1,default:!1},ext:{type:Array,required:!1}},emits:["onSuccess"],setup(a,{emit:h}){const z=a,g=h,S=q("file-upload"),$=v((()=>z.accept.split(",").map((e=>e.split("/").pop())))),k=e=>{const t=e.name.split(".").at(-1)??"",i=$.value.includes(t),a=e.size/1024/1024<z.size;return i||l.error(`上传文件只支持 ${$.value.join(" / ")} 格式!`),a||l.error(`上传文件大小不能超过 ${z.size}MB!`),i&&a},B=()=>{l.warning("文件上传超过限制")},j=(e,t,i)=>{g("onSuccess",e,t,i)};return(l,a)=>{const q=t,v=i,h=e;return s(),r(h,{headers:l.headers,action:l.action,data:l.data,name:l.name,"before-upload":k,"on-exceed":B,"on-success":j,"file-list":l.files,limit:l.max,drag:"",class:o(n(S).e("control"))},{tip:u((()=>[l.notip?f("v-if",!0):(s(),m("div",_,[d("div",b,[p(v,{title:`上传文件支持 ${n($).join(" / ")} 格式,单个文件大小不超过 ${l.size}MB,且文件数量不超过 ${l.max} 个`,type:"info","show-icon":"",closable:!1},null,8,["title"])])]))])),default:u((()=>[d("div",x,[p(q,{class:"el-icon--upload"},{default:u((()=>[p(n(y))])),_:1}),a[0]||(a[0]=d("div",{class:"el-upload__text"},[c(" 将文件拖到此处,或"),d("em",null,"点击上传")],-1))])])),_:1},8,["headers","action","data","name","file-list","limit","class"])}}});export{h as default};
2
+ //# sourceMappingURL=file-upload.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.vue.mjs","sources":["../../../../../../packages/components/src/file-upload/src/file-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadProps, UploadUserFile } from 'element-plus'\nimport { UploadFilled } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsFileUpload',\n})\n\nconst props = withDefaults(\n defineProps<{\n action: UploadProps['action']\n headers?: UploadProps['headers']\n data?: UploadProps['data']\n name?: UploadProps['name']\n size?: number\n max?: number\n accept?: string\n files?: UploadUserFile[]\n notip?: boolean\n ext?: string[]\n }>(),\n {\n name: 'file',\n size: 20,\n max: 3,\n files: () => [],\n notip: false,\n accept: 'zip,rar',\n },\n)\n\nconst emit = defineEmits(['onSuccess'])\n\nconst ns = useNamespace('file-upload')\n\nconst exts = computed(() => {\n return props.accept.split(',').map(ext => ext.split('/').pop())\n})\nconst beforeUpload: UploadProps['beforeUpload'] = (file) => {\n const fileName = file.name.split('.')\n const fileExt = fileName.at(-1) ?? ''\n const isTypeOk = exts.value.includes(fileExt)\n const isSizeOk = file.size / 1024 / 1024 < props.size\n if (!isTypeOk) {\n ElMessage.error(`上传文件只支持 ${exts.value.join(' / ')} 格式!`)\n }\n if (!isSizeOk) {\n ElMessage.error(`上传文件大小不能超过 ${props.size}MB!`)\n }\n return isTypeOk && isSizeOk\n}\n\nconst onExceed: UploadProps['onExceed'] = () => {\n ElMessage.warning('文件上传超过限制')\n}\n\nconst onSuccess: UploadProps['onSuccess'] = (res, file, fileList) => {\n emit('onSuccess', res, file, fileList)\n}\n</script>\n\n<template>\n <el-upload\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :before-upload=\"beforeUpload\"\n :on-exceed=\"onExceed\"\n :on-success=\"onSuccess\"\n :file-list=\"files\"\n :limit=\"max\"\n drag\n :class=\"ns.e('control')\"\n >\n <div class=\"slot\">\n <el-icon class=\"el-icon--upload\">\n <UploadFilled />\n </el-icon>\n <div class=\"el-upload__text\">\n 将文件拖到此处,或<em>点击上传</em>\n </div>\n </div>\n <template #tip>\n <div v-if=\"!notip\" class=\"el-upload__tip\">\n <div style=\"display: inline-block;\">\n <el-alert\n :title=\"`上传文件支持 ${exts.join(' / ')} 格式,单个文件大小不超过 ${size}MB,且文件数量不超过 ${max} 个`\"\n type=\"info\"\n show-icon\n :closable=\"false\"\n />\n </div>\n </div>\n </template>\n </el-upload>\n</template>\n"],"names":["props","__props","emit","__emit","ns","useNamespace","exts","computed","accept","split","map","ext","pop","beforeUpload","file","fileExt","name","at","isTypeOk","value","includes","isSizeOk","size","ElMessage","error","join","onExceed","warning","onSuccess","res","fileList"],"mappings":"ggCASA,MAAMA,EAAQC,EAuBRC,EAAOC,EAEPC,EAAKC,EAAa,eAElBC,EAAOC,GAAS,IACbP,EAAMQ,OAAOC,MAAM,KAAKC,KAAWC,GAAAA,EAAIF,MAAM,KAAKG,UAErDC,EAA6CC,IACjD,MACMC,EADWD,EAAKE,KAAKP,MAAM,KACRQ,IAAG,IAAO,GAC7BC,EAAWZ,EAAKa,MAAMC,SAASL,GAC/BM,EAAWP,EAAKQ,KAAO,KAAO,KAAOtB,EAAMsB,KAOjD,OANKJ,GACHK,EAAUC,MAAM,WAAWlB,EAAKa,MAAMM,KAAK,cAExCJ,GACHE,EAAUC,MAAM,cAAcxB,EAAMsB,WAE/BJ,GAAYG,CAAA,EAGfK,EAAoC,KACxCH,EAAUI,QAAQ,WAAU,EAGxBC,EAAsC,CAACC,EAAKf,EAAMgB,KACjD5B,EAAA,YAAa2B,EAAKf,EAAMgB,EAAQ"}
@@ -0,0 +1,2 @@
1
+ import e from"./file-upload.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=file-upload.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import o from"./src/fixed-action-bar.vue.mjs";const r=t(o);export{r as QxsFixedActionBar,r as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/fixed-action-bar/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/fixed-action-bar.vue'\n\nconst QxsFixedActionBar = withInstall(component)\n\nexport {\n QxsFixedActionBar,\n}\n\nexport default QxsFixedActionBar\n"],"names":["QxsFixedActionBar","withInstall","component"],"mappings":"+FAGA,MAAMA,EAAoBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,useAttrs as t,ref as n,onMounted as l,onUnmounted as o,computed as a,createElementBlock as i,openBlock as s,normalizeStyle as c,createElementVNode as d,normalizeClass as r,unref as u,renderSlot as v}from"vue";import{useNamespace as h}from"@qxs-bns/hooks";import{getDeviceType as p}from"@qxs-bns/utils";var m=e({name:"QxsFixedActionBar",props:{padding:{type:Number,default:8}},setup(e){const m=e,w=h("fixed-action-bar"),f=t(),g=n(!1),b=n(null),x=n(null),$=n({width:0,height:0});let R;const E=n(null),y=n(0);let k;const z=n(0);function B(){const e=window.scrollY||document.documentElement.scrollTop,t=window.innerHeight||document.documentElement.clientHeight,n=document.documentElement.scrollHeight;g.value=Math.ceil(e+t)>=n}l((()=>{var e;b.value&&(e=b.value,R=new ResizeObserver((e=>{for(const t of e){const{width:e,height:n}=t.contentRect;$.value={width:e,height:n}}})),R.observe(e)),x.value&&(E.value=x.value.parentElement,E.value&&(k=new ResizeObserver((e=>{y.value=e[0].contentRect.width})),k.observe(E.value),(e=>{const t=()=>{const t=e.getBoundingClientRect();z.value=t.left};k=new ResizeObserver(t),k.observe(e),t()})(E.value))),B(),window.addEventListener("scroll",B)})),o((()=>{R?.disconnect(),k?.disconnect(),window.removeEventListener("scroll",B)}));const H=a((()=>({width:`${y.value||0}px`,left:`${z.value}px`,class:`${g.value?"":w.is("shadow")} ${f.class||""}`,...w.cssVarBlock({"actionbar-padding":`${m.padding}px`,"actionbar-padding-bottom":""+("Android"===p()?`${Math.max(m.padding,20)}px`:`${m.padding}px`)})})));return(e,t)=>(s(),i("div",{ref_key:"placeholderRef",ref:x,style:c(`width: 100%; height: ${$.value.height}px`)},[d("div",{ref_key:"actionbar",ref:b,style:c(H.value),class:r([H.value.class,u(w).e("actionbar")]),"data-fixed-calc-width":""},[v(e.$slots,"default")],6)],4))}});export{m as default};
2
+ //# sourceMappingURL=fixed-action-bar.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixed-action-bar.vue.mjs","sources":["../../../../../../packages/components/src/fixed-action-bar/src/fixed-action-bar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n name: \"QxsFixedActionBar\",\n};\n</script>\n<script setup lang=\"ts\">\nimport { useNamespace } from \"@qxs-bns/hooks\";\nimport { getDeviceType } from \"@qxs-bns/utils\";\nimport { onMounted, onUnmounted, ref, computed, useAttrs } from \"vue\";\n\nconst props = defineProps({\n padding: {\n type: Number,\n default: 8,\n },\n});\n\nconst ns = useNamespace(\"fixed-action-bar\");\nconst attr = useAttrs();\nconst isBottom = ref(false);\nconst actionbar = ref<HTMLElement | null>(null);\nconst placeholderRef = ref<HTMLElement | null>(null);\n\n// ========== 替换 useElementSize ==========\nconst elementSize = ref({ width: 0, height: 0 });\nlet resizeObserver: ResizeObserver;\n\nconst initSizeObserver = (el: HTMLElement) => {\n resizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n elementSize.value = { width, height };\n }\n });\n resizeObserver.observe(el);\n};\n\n// ========== 替换 useParentElement ==========\nconst parentEl = ref<HTMLElement | null>(null);\nconst parentWidth = ref(0);\nlet parentResizeObserver: ResizeObserver;\n\n// ========== 替换 useElementBounding ==========\nconst elementLeft = ref(0);\n\nconst initPositionObserver = (el: HTMLElement) => {\n const updatePosition = () => {\n const rect = el.getBoundingClientRect();\n elementLeft.value = rect.left;\n };\n\n parentResizeObserver = new ResizeObserver(updatePosition);\n parentResizeObserver.observe(el);\n updatePosition();\n};\n\nonMounted(() => {\n // 初始化尺寸观察\n if (actionbar.value) {\n initSizeObserver(actionbar.value);\n }\n\n // 获取父元素\n if (placeholderRef.value) {\n parentEl.value = placeholderRef.value.parentElement;\n if (parentEl.value) {\n // 初始化父元素宽度观察\n parentResizeObserver = new ResizeObserver(entries => {\n parentWidth.value = entries[0].contentRect.width;\n });\n parentResizeObserver.observe(parentEl.value);\n \n // 初始化位置观察\n initPositionObserver(parentEl.value);\n }\n }\n\n calculateScrollDetails();\n window.addEventListener(\"scroll\", calculateScrollDetails);\n});\n\nonUnmounted(() => {\n resizeObserver?.disconnect();\n parentResizeObserver?.disconnect();\n window.removeEventListener(\"scroll\", calculateScrollDetails);\n});\n\n// ========== 原有逻辑保持不变 ==========\nfunction calculateScrollDetails() {\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const windowHeight =\n window.innerHeight || document.documentElement.clientHeight;\n const scrollHeight = document.documentElement.scrollHeight;\n\n isBottom.value = Math.ceil(scrollTop + windowHeight) >= scrollHeight;\n}\n\nconst actionbarStyle = computed(() => ({\n width: `${parentWidth.value || 0}px`,\n left: `${elementLeft.value}px`,\n class: `${!isBottom.value ? ns.is(\"shadow\") : \"\"} ${attr.class || \"\"}`,\n ...ns.cssVarBlock({\n \"actionbar-padding\": `${props.padding}px`,\n \"actionbar-padding-bottom\": `${\n getDeviceType() === \"Android\"\n ? `${Math.max(props.padding, 20)}px`\n : `${props.padding}px`\n }`,\n }),\n}));\n</script>\n\n<template>\n <div ref=\"placeholderRef\" :style=\"`width: 100%; height: ${elementSize.height}px`\">\n <div\n ref=\"actionbar\"\n :style=\"actionbarStyle\"\n :class=\"[actionbarStyle.class, ns.e('actionbar')]\"\n data-fixed-calc-width\n >\n <slot />\n </div>\n </div>\n</template>"],"names":["name","props","__props","ns","useNamespace","attr","useAttrs","isBottom","ref","actionbar","placeholderRef","elementSize","width","height","resizeObserver","parentEl","parentWidth","parentResizeObserver","elementLeft","calculateScrollDetails","scrollTop","window","scrollY","document","documentElement","windowHeight","innerHeight","clientHeight","scrollHeight","value","Math","ceil","onMounted","el","ResizeObserver","entries","entry","contentRect","observe","parentElement","updatePosition","rect","getBoundingClientRect","left","initPositionObserver","addEventListener","onUnmounted","disconnect","removeEventListener","actionbarStyle","computed","class","is","cssVarBlock","padding","getDeviceType","max"],"mappings":"mVAEEA,KAAM,qEAQR,MAAMC,EAAQC,EAORC,EAAKC,EAAa,oBAClBC,EAAOC,IACPC,EAAWC,GAAI,GACfC,EAAYD,EAAwB,MACpCE,EAAiBF,EAAwB,MAGzCG,EAAcH,EAAI,CAAEI,MAAO,EAAGC,OAAQ,IACxC,IAAAC,EAEE,MAWAC,EAAWP,EAAwB,MACnCQ,EAAcR,EAAI,GACpB,IAAAS,EAGE,MAAAC,EAAcV,EAAI,GA6CxB,SAASW,IACP,MAAMC,EAAYC,OAAOC,SAAWC,SAASC,gBAAgBJ,UACvDK,EACJJ,OAAOK,aAAeH,SAASC,gBAAgBG,aAC3CC,EAAeL,SAASC,gBAAgBI,aAE9CrB,EAASsB,MAAQC,KAAKC,KAAKX,EAAYK,IAAiBG,CAAA,CAtC1DI,GAAU,KA7Be,IAACC,EA+BpBxB,EAAUoB,QA/BUI,EAgCLxB,EAAUoB,MA/BZf,EAAA,IAAIoB,gBAA0BC,IAC7C,IAAA,MAAWC,KAASD,EAAS,CAC3B,MAAMvB,MAAEA,EAAAC,OAAOA,GAAWuB,EAAMC,YACpB1B,EAAAkB,MAAQ,CAAEjB,QAAOC,SAAO,KAGxCC,EAAewB,QAAQL,IA6BnBvB,EAAemB,QACRd,EAAAc,MAAQnB,EAAemB,MAAMU,cAClCxB,EAASc,QAEYZ,EAAA,IAAIiB,gBAA0BC,IACnDnB,EAAYa,MAAQM,EAAQ,GAAGE,YAAYzB,KAAA,IAExBK,EAAAqB,QAAQvB,EAASc,OAzBf,CAACI,IAC5B,MAAMO,EAAiB,KACf,MAAAC,EAAOR,EAAGS,wBAChBxB,EAAYW,MAAQY,EAAKE,IAAA,EAGJ1B,EAAA,IAAIiB,eAAeM,GAC1CvB,EAAqBqB,QAAQL,GACdO,GAAA,EAoBXI,CAAqB7B,EAASc,SAIXV,IAChBE,OAAAwB,iBAAiB,SAAU1B,EAAsB,IAG1D2B,GAAY,KACVhC,GAAgBiC,aAChB9B,GAAsB8B,aACf1B,OAAA2B,oBAAoB,SAAU7B,EAAsB,IAavD,MAAA8B,EAAiBC,GAAS,KAAO,CACrCtC,MAAO,GAAGI,EAAYa,OAAS,MAC/Bc,KAAM,GAAGzB,EAAYW,UACrBsB,MAAO,GAAI5C,EAASsB,MAA0B,GAAlB1B,EAAGiD,GAAG,aAAkB/C,EAAK8C,OAAS,QAC/DhD,EAAGkD,YAAY,CAChB,oBAAqB,GAAGpD,EAAMqD,YAC9B,2BAA4B,IACN,YAApBC,IACI,GAAGzB,KAAK0B,IAAIvD,EAAMqD,QAAS,QAC3B,GAAGrD,EAAMqD"}
@@ -0,0 +1,2 @@
1
+ import a from"./fixed-action-bar.vue.mjs";export{a as default};
2
+ //# sourceMappingURL=fixed-action-bar.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixed-action-bar.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as m}from"../withInstall.mjs";import o from"./src/image-upload.vue.mjs";const t=m(o);export{t as QxsImageUpload,t as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/image-upload/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/image-upload.vue'\n\nconst QxsImageUpload = withInstall(component)\n\nexport {\n QxsImageUpload,\n}\n\nexport default QxsImageUpload\n"],"names":["QxsImageUpload","withInstall","component"],"mappings":"2FAGA,MAAMA,EAAiBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{ElUpload as e,ElImage as t,ElIcon as i,ElProgress as r,ElImageViewer as l,ElMessage as s}from"element-plus/es";import{defineComponent as a,createElementBlock as p,openBlock as u,normalizeClass as o,unref as d,createVNode as n,createCommentVNode as c,createBlock as h,withCtx as g,withDirectives as m,normalizeStyle as f,createElementVNode as y,toDisplayString as v,withModifiers as w,vShow as x}from"vue";import{Plus as $,ZoomIn as b,Delete as q}from"@element-plus/icons-vue";import{useNamespace as k}from"@qxs-bns/hooks";import{ref as _,computed as S}from"vue-demi";const V={key:1,class:"image"},U={class:"mask"},j={class:"actions"},z={key:0,class:"el-upload__tip-text"},B={style:{display:"inline-block"}};var C=a({name:"QxsImageUpload",__name:"image-upload",props:{action:{type:String,required:!0},headers:{type:null,required:!1},data:{type:null,required:!1},name:{type:String,required:!1,default:"file"},url:{type:String,required:!1,default:""},size:{type:Number,required:!1,default:20},width:{type:Number,required:!1,default:160},accept:{type:String,required:!1,default:"image/jpeg,image/jpg,image/png,image/gif"},height:{type:Number,required:!1,default:90},placeholder:{type:String,required:!1,default:"点击上传图片"},notip:{type:Boolean,required:!1,default:!1},tipText:{type:String,required:!1},beforeUpload:{type:null,required:!1}},emits:["update:url","onSuccess"],setup(a,{emit:C}){const M=a,N=C,L=k("image-upload"),R=_({imageViewerVisible:!1,progress:{preview:"",percent:0}}),T=S((()=>M.accept.split(",").map((e=>e.split("/").pop()))));function I(){R.value.imageViewerVisible=!0}function O(){R.value.imageViewerVisible=!1}function Q(){N("update:url","")}const A=e=>{const t=e.name.split(".").at(-1)??"",i=T.value.includes(t),r=e.size/1024/1024<M.size;return i?r?R.value.progress.preview=URL.createObjectURL(e):s.error(`上传图片大小不能超过 ${M.size}MB!`):s.error(`上传图片只支持${T.value.join(" / ")}格式!`),i&&r&&(!M.beforeUpload||M.beforeUpload(e))},D=e=>{R.value.progress.percent=~~e.percent},E=(...e)=>{R.value.progress.preview="",R.value.progress.percent=0,N("onSuccess",...e)};return(s,a)=>{const k=i,_=t,S=r,C=e,M=l;return u(),p("div",{class:o(d(L).e("upload-container"))},[n(C,{"show-file-list":!1,headers:s.headers,action:s.action,data:s.data,name:s.name,"before-upload":A,"on-progress":D,"on-success":E,drag:"",accept:s.accept,class:o(d(L).e("image-upload"))},{default:g((()=>[""===s.url?(u(),h(_,{key:0,src:""===s.url?s.placeholder:s.url,style:f(`width:${s.width}px;height:${s.height}px;`),fit:"fill"},{error:g((()=>[y("div",{class:"image-slot",style:f(`width:${s.width}px;height:${s.height}px;`)},[n(k,null,{default:g((()=>[n(d($))])),_:1}),y("p",null,v(s.placeholder),1)],4)])),_:1},8,["src","style"])):(u(),p("div",V,[n(_,{src:s.url,style:f(`width:${s.width}px;height:${s.height}px;`),fit:"fill"},null,8,["src","style"]),y("div",U,[y("div",j,[y("span",{title:"预览",onClick:w(I,["stop"])},[n(k,null,{default:g((()=>[n(d(b))])),_:1})]),y("span",{title:"移除",onClick:w(Q,["stop"])},[n(k,null,{default:g((()=>[n(d(q))])),_:1})])])])])),m(y("div",{class:"progress",style:f(`width:${s.width}px;height:${s.height}px;`)},[n(_,{src:d(R).progress.preview,style:f(`width:${s.width}px;height:${s.height}px;`),fit:"fill"},null,8,["src","style"]),n(S,{type:"circle",width:.8*Math.min(s.width,s.height),percentage:d(R).progress.percent},null,8,["width","percentage"])],4),[[x,""===s.url&&d(R).progress.percent]])])),_:1},8,["headers","action","data","name","accept","class"]),s.notip?c("v-if",!0):(u(),p("div",z,[y("div",B,v(s.tipText||`上传图片支持 ${d(T).join(" / ")} 格式,且图片大小不超过 ${s.size}MB,建议图片尺寸为 ${s.width}*${s.height}`),1)])),d(R).imageViewerVisible?(u(),h(M,{key:1,"url-list":[s.url],teleported:"",onClose:O},null,8,["url-list"])):c("v-if",!0)],2)}}});export{C as default};
2
+ //# sourceMappingURL=image-upload.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-upload.vue.mjs","sources":["../../../../../../packages/components/src/image-upload/src/image-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { UploadFile, UploadFiles, UploadProps } from 'element-plus'\nimport { Delete, Plus, ZoomIn } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsImageUpload',\n})\nconst props = withDefaults(\n defineProps<{\n action: UploadProps['action']\n headers?: UploadProps['headers']\n data?: UploadProps['data']\n name?: UploadProps['name']\n url?: string\n size?: number\n width?: number\n accept?: string\n height?: number\n placeholder?: string\n notip?: boolean\n tipText?: string\n beforeUpload?: UploadProps['beforeUpload']\n }>(),\n {\n name: 'file',\n url: '',\n size: 20,\n width: 160,\n height: 90,\n placeholder: '点击上传图片',\n notip: false,\n accept: 'image/jpeg,image/jpg,image/png,image/gif',\n },\n)\nconst emits = defineEmits<{\n 'update:url': [\n url: string,\n ]\n 'onSuccess': [\n res: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles,\n ]\n}>()\n\nconst ns = useNamespace('image-upload')\n\nconst uploadData = ref({\n imageViewerVisible: false,\n progress: {\n preview: '',\n percent: 0,\n },\n})\n\nconst exts = computed(() => {\n return props.accept.split(',').map(ext => ext.split('/').pop())\n})\n\n// 预览\nfunction preview() {\n uploadData.value.imageViewerVisible = true\n}\n// 关闭预览\nfunction previewClose() {\n uploadData.value.imageViewerVisible = false\n}\n// 移除\nfunction remove() {\n emits('update:url', '')\n}\nconst handleBeforeUpload: UploadProps['beforeUpload'] = (file) => {\n const fileName = file.name.split('.')\n const fileExt = fileName.at(-1) ?? ''\n const isTypeOk = exts.value.includes(fileExt)\n const isSizeOk = file.size / 1024 / 1024 < props.size\n\n if (!isTypeOk) {\n ElMessage.error(`上传图片只支持${exts.value.join(' / ')}格式!`)\n }\n\n else if (!isSizeOk) {\n ElMessage.error(`上传图片大小不能超过 ${props.size}MB!`)\n }\n else {\n uploadData.value.progress.preview = URL.createObjectURL(file)\n }\n\n return isTypeOk && isSizeOk && (!props.beforeUpload || props.beforeUpload(file))\n}\nconst onProgress: UploadProps['onProgress'] = (file) => {\n uploadData.value.progress.percent = ~~file.percent\n}\nconst onSuccess: UploadProps['onSuccess'] = (...res) => {\n uploadData.value.progress.preview = ''\n uploadData.value.progress.percent = 0\n emits('onSuccess', ...res)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('upload-container')\">\n <el-upload\n :show-file-list=\"false\"\n :headers=\"headers\"\n :action=\"action\"\n :data=\"data\"\n :name=\"name\"\n :before-upload=\"handleBeforeUpload\"\n :on-progress=\"onProgress\"\n :on-success=\"onSuccess\"\n drag\n :accept=\"accept\"\n :class=\"ns.e('image-upload')\"\n >\n <el-image\n v-if=\"url === ''\"\n :src=\"url === '' ? placeholder : url\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n >\n <template #error>\n <div class=\"image-slot\" :style=\"`width:${width}px;height:${height}px;`\">\n <el-icon>\n <Plus />\n </el-icon>\n <p>\n {{ placeholder }}\n </p>\n </div>\n </template>\n </el-image>\n <div v-else class=\"image\">\n <el-image\n :src=\"url\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n />\n <div class=\"mask\">\n <div class=\"actions\">\n <span title=\"预览\" @click.stop=\"preview\">\n <el-icon><ZoomIn /></el-icon>\n </span>\n <span title=\"移除\" @click.stop=\"remove\">\n <el-icon>\n <Delete />\n </el-icon>\n </span>\n </div>\n </div>\n </div>\n <div\n v-show=\"url === '' && uploadData.progress.percent\"\n class=\"progress\"\n :style=\"`width:${width}px;height:${height}px;`\"\n >\n <el-image\n :src=\"uploadData.progress.preview\"\n :style=\"`width:${width}px;height:${height}px;`\"\n fit=\"fill\"\n />\n <el-progress\n type=\"circle\"\n :width=\"Math.min(width, height) * 0.8\"\n :percentage=\"uploadData.progress.percent\"\n />\n </div>\n </el-upload>\n <div v-if=\"!notip\" class=\"el-upload__tip-text\">\n <div style=\"display: inline-block;\">\n {{ tipText || `上传图片支持 ${exts.join(' / ')} 格式,且图片大小不超过 ${size}MB,建议图片尺寸为 ${width}*${height}` }}\n </div>\n </div>\n <el-image-viewer\n v-if=\"uploadData.imageViewerVisible\"\n :url-list=\"[url]\"\n teleported\n @close=\"previewClose\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","ns","useNamespace","uploadData","ref","imageViewerVisible","progress","preview","percent","exts","computed","accept","split","map","ext","pop","value","previewClose","remove","handleBeforeUpload","file","fileExt","name","at","isTypeOk","includes","isSizeOk","size","URL","createObjectURL","ElMessage","error","join","beforeUpload","onProgress","onSuccess","res"],"mappings":"+2CAQA,MAAMA,EAAQC,EA2BRC,EAAQC,EAWRC,EAAKC,EAAa,gBAElBC,EAAaC,EAAI,CACrBC,oBAAoB,EACpBC,SAAU,CACRC,QAAS,GACTC,QAAS,KAIPC,EAAOC,GAAS,IACbb,EAAMc,OAAOC,MAAM,KAAKC,KAAWC,GAAAA,EAAIF,MAAM,KAAKG,UAI3D,SAASR,IACPJ,EAAWa,MAAMX,oBAAqB,CAAA,CAGxC,SAASY,IACPd,EAAWa,MAAMX,oBAAqB,CAAA,CAGxC,SAASa,IACPnB,EAAM,aAAc,GAAE,CAElB,MAAAoB,EAAmDC,IACvD,MACMC,EADWD,EAAKE,KAAKV,MAAM,KACRW,IAAG,IAAO,GAC7BC,EAAWf,EAAKO,MAAMS,SAASJ,GAC/BK,EAAWN,EAAKO,KAAO,KAAO,KAAO9B,EAAM8B,KAajD,OAXKH,EAIKE,EAIRvB,EAAWa,MAAMV,SAASC,QAAUqB,IAAIC,gBAAgBT,GAHxDU,EAAUC,MAAM,cAAclC,EAAM8B,WAJpCG,EAAUC,MAAM,UAAUtB,EAAKO,MAAMgB,KAAK,aAUrCR,GAAYE,KAAc7B,EAAMoC,cAAgBpC,EAAMoC,aAAab,GAAI,EAE1Ec,EAAyCd,IAC7CjB,EAAWa,MAAMV,SAASE,UAAYY,EAAKZ,OAAA,EAEvC2B,EAAsC,IAAIC,KACnCjC,EAAAa,MAAMV,SAASC,QAAU,GACzBJ,EAAAa,MAAMV,SAASE,QAAU,EAC9BT,EAAA,eAAgBqC,EAAG"}
@@ -0,0 +1,2 @@
1
+ import a from"./image-upload.vue.mjs";export{a as default};
2
+ //# sourceMappingURL=image-upload.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-upload.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{version as n}from"../package.json.mjs";function o(o){return{version:n,install:n=>{for(const r in o)n.use(o[r])}}}export{o as makeInstaller};
2
+ //# sourceMappingURL=make-installer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-installer.mjs","sources":["../../../../packages/components/src/make-installer.ts"],"sourcesContent":["import type { Plugin } from 'vue-demi'\nimport { version } from '../package.json'\n\nfunction makeInstaller(components: {\n [key: number]: Plugin\n}) {\n const install = (app: any) => {\n for (const n in components) {\n app.use(components[n])\n }\n }\n\n return {\n version,\n install,\n }\n}\n\nexport { makeInstaller }\n"],"names":["makeInstaller","components","version","install","app","n","use"],"mappings":"8CAGA,SAASA,EAAcC,GASd,MAAA,CACLC,UACAC,QAReC,IACf,IAAA,MAAWC,KAAKJ,EACVG,EAAAE,IAAIL,EAAWI,GACrB,EAOJ"}
@@ -0,0 +1,2 @@
1
+ import{withInstall as o}from"../withInstall.mjs";import t from"./src/photo-crop-tool.vue.mjs";const r=o(t);export{r as QxsPhotoCropTool,r as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/photo-crop-tool/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/photo-crop-tool.vue'\n\nconst QxsPhotoCropTool = withInstall(component)\n\nexport {\n QxsPhotoCropTool,\n}\n\nexport default QxsPhotoCropTool\n"],"names":["QxsPhotoCropTool","withInstall","component"],"mappings":"8FAGA,MAAMA,EAAmBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{ref as e}from"vue-demi";function l(l){const a=e(null);l&&(a.value=l.getContext("2d"));return{clearCanvas:()=>{a.value&&a.value.clearRect(0,0,l.width,l.height)},drawColor:(e,l,t,n,o)=>{a.value&&(a.value.fillStyle=o,a.value.fillRect(e,l,t,n))},drawImage:(e,l,t,n,o)=>{a.value.drawImage(e,l,t,n,o)},cropCanvas:(e,t,n,o)=>new Promise((i=>{if(a.value){const a=document.createElement("canvas");a.width=n,a.height=o;const r=a.getContext("2d");r?(r.drawImage(l,e,t,n,o,0,0,n,o),a.toBlob((e=>{if(e){const l=new File([e],"cropped_image.png",{type:"image/png"});i(l)}else i(null)}),"image/png")):i(null)}else i(null)}))}}export{l as useCanvas};
2
+ //# sourceMappingURL=composables.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composables.mjs","sources":["../../../../../../packages/components/src/photo-crop-tool/src/composables.ts"],"sourcesContent":["// useCanvas.ts\nimport type { Ref } from 'vue-demi'\nimport { ref } from 'vue-demi'\n\nexport function useCanvas(canvasElement: HTMLCanvasElement) {\n const context: Ref<CanvasRenderingContext2D | null> = ref(null)\n\n if (canvasElement) {\n context.value = canvasElement.getContext('2d')\n }\n\n const clearCanvas = () => {\n if (context.value) {\n context.value.clearRect(0, 0, canvasElement.width, canvasElement.height)\n }\n }\n\n const drawColor = (x: number, y: number, width: number, height: number, color: string) => {\n if (context.value) {\n context.value.fillStyle = color\n context.value.fillRect(x, y, width, height)\n }\n }\n\n const drawImage = (image: HTMLImageElement, x: number, y: number, width: number, height: number) => {\n context.value!.drawImage(image, x, y, width, height)\n }\n\n const cropCanvas = (x: number, y: number, width: number, height: number): Promise<File | null> => {\n return new Promise((resolve) => {\n if (context.value) {\n const croppedCanvas = document.createElement('canvas')\n croppedCanvas.width = width\n croppedCanvas.height = height\n const croppedContext = croppedCanvas.getContext('2d')\n if (croppedContext) {\n croppedContext.drawImage(canvasElement, x, y, width, height, 0, 0, width, height)\n croppedCanvas.toBlob((blob) => {\n if (blob) {\n const file = new File([blob], 'cropped_image.png', { type: 'image/png' })\n resolve(file)\n }\n else {\n resolve(null)\n }\n }, 'image/png')\n }\n else {\n resolve(null)\n }\n }\n else {\n resolve(null)\n }\n })\n }\n\n return {\n clearCanvas,\n drawColor,\n drawImage,\n cropCanvas,\n }\n}\n"],"names":["useCanvas","canvasElement","context","ref","value","getContext","clearCanvas","clearRect","width","height","drawColor","x","y","color","fillStyle","fillRect","drawImage","image","cropCanvas","Promise","resolve","croppedCanvas","document","createElement","croppedContext","toBlob","blob","file","File","type"],"mappings":"+BAIO,SAASA,EAAUC,GAClB,MAAAC,EAAgDC,EAAI,MAEtDF,IACMC,EAAAE,MAAQH,EAAcI,WAAW,OAiDpC,MAAA,CACLC,YA/CkBA,KACdJ,EAAQE,OACVF,EAAQE,MAAMG,UAAU,EAAG,EAAGN,EAAcO,MAAOP,EAAcQ,OACnE,EA6CAC,UA1CgBA,CAACC,EAAWC,EAAWJ,EAAeC,EAAgBI,KAClEX,EAAQE,QACVF,EAAQE,MAAMU,UAAYD,EAC1BX,EAAQE,MAAMW,SAASJ,EAAGC,EAAGJ,EAAOC,GACtC,EAuCAO,UApCgBA,CAACC,EAAyBN,EAAWC,EAAWJ,EAAeC,KAC/EP,EAAQE,MAAOY,UAAUC,EAAON,EAAGC,EAAGJ,EAAOC,EAAM,EAoCnDS,WAjCiBA,CAACP,EAAWC,EAAWJ,EAAeC,IAChD,IAAIU,SAASC,IAClB,GAAIlB,EAAQE,MAAO,CACX,MAAAiB,EAAgBC,SAASC,cAAc,UAC7CF,EAAcb,MAAQA,EACtBa,EAAcZ,OAASA,EACjB,MAAAe,EAAiBH,EAAchB,WAAW,MAC5CmB,GACaA,EAAAR,UAAUf,EAAeU,EAAGC,EAAGJ,EAAOC,EAAQ,EAAG,EAAGD,EAAOC,GAC5DY,EAAAI,QAAQC,IACpB,GAAIA,EAAM,CACF,MAAAC,EAAO,IAAIC,KAAK,CAACF,GAAO,oBAAqB,CAAEG,KAAM,cAC3DT,EAAQO,EACV,MAEEP,EAAQ,KACV,GACC,cAGHA,EAAQ,KAEZ,MAEEA,EAAQ,KACV,IAUN"}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,createElementBlock as t,openBlock as l,normalizeClass as a,unref as o,toDisplayString as i,Fragment as u,createElementVNode as v,normalizeStyle as h}from"vue";import{useNamespace as s}from"@qxs-bns/hooks";import{useElementSize as n,useDraggable as r}from"@vueuse/core";import{useCanvas as p}from"./composables.mjs";import{ref as c,computed as f,watch as d,onMounted as m,nextTick as g,onUnmounted as y}from"vue-demi";const w=["src"];var x=e({name:"QxsPhotoCropTool",__name:"photo-crop-tool",props:{imgFile:{type:Object,default:()=>null},aspectRatio:{type:String,default:()=>"16 / 9"},defaultWidth:{type:Number,default:()=>320},defaultHeight:{type:Number,default:()=>180},zoomType:{type:String,default:()=>"fixed"}},setup(e,{expose:x}){const b=e;let R=0,H=0,T=0,z=0;const F=s("photo-crop-tool"),N=c(null),W=c(null),k=c(null),L=c(""),M=c(""),E=c({x:0,y:0}),$=c({width:b.defaultWidth,height:b.defaultHeight,x:0,y:0}),{width:C,height:_}=n(N),{width:j}=n(k),{x:U,y:B,style:O}=r(N,{containerElement:W,draggingElement:N,disabled:f((()=>!!M.value)),exact:!0,initialValue:E}),S=f((()=>b.imgFile?URL.createObjectURL(b.imgFile):""));d((()=>b.imgFile),(e=>{e&&!e.type.startsWith("image/")?L.value="文件类型错误":L.value=""}));const P=f((()=>(k.value?.naturalWidth||0)/j.value)),V=f((()=>{const e={left:0,top:0};return"bottom-right"===M.value?(e.left=$.value.x,e.top=$.value.y):"top-left"===M.value?(e.left=$.value.x-C.value,e.top=$.value.y-_.value):"top-right"===M.value?(e.top=$.value.y-_.value,e.left=$.value.x):"bottom-left"===M.value&&(e.left=$.value.x-C.value,e.top=$.value.y),e})),X=f((()=>{const{aspectRatio:e}=b,t={width:`${$.value.width||b.defaultWidth}`,height:`${$.value.height||b.defaultHeight}`,"aspect-ratio":e,top:`${V.value.top}px`,left:`${V.value.left}px`};return"free"===b.zoomType?delete t["aspect-ratio"]:"fixed"===b.zoomType&&delete t.height,F.cssVarBlock(t)}));function Y(e){return e*P.value}function q(e,t){const l=W.value?.clientWidth||1/0,a=W.value?.clientHeight||1/0;return{width:Math.min(Math.max(e,0),l),height:Math.min(Math.max(t,0),a)}}function D(e){const t=e.clientX-R,l=e.clientY-H;if("bottom-right"===M.value){if("free"===b.zoomType){const{width:e,height:a}=q(T+t,z+l);$.value.width=e,$.value.height=a}else if("fixed"===b.zoomType){const e=Number.parseFloat(b.aspectRatio.split(" / ")[0])/Number.parseFloat(b.aspectRatio.split(" / ")[1]);let l=T+t,a=l/e;const{width:o,height:i}=q(l,a);i>(W.value?.clientHeight||1/0)&&(a=W.value?.clientHeight||1/0,l=a*e),$.value.width=o,$.value.height=i}}else if("top-left"===M.value){if("free"===b.zoomType){const{width:e,height:a}=q(T-t,z-l);$.value.width=e,$.value.height=a}else if("fixed"===b.zoomType){const e=Number.parseFloat(b.aspectRatio.split(" / ")[0])/Number.parseFloat(b.aspectRatio.split(" / ")[1]);let l=T-t,a=l/e;const{width:o,height:i}=q(l,a);i>(W.value?.clientHeight||1/0)&&(a=W.value?.clientHeight||1/0,l=a*e),$.value.width=o,$.value.height=i}U.value=V.value.left,B.value=V.value.top}else if("top-right"===M.value){if("free"===b.zoomType){const{width:e,height:a}=q(T+t,z-l);$.value.width=e,$.value.height=a}else if("fixed"===b.zoomType){const e=Number.parseFloat(b.aspectRatio.split(" / ")[0])/Number.parseFloat(b.aspectRatio.split(" / ")[1]);let l=T+t,a=l/e;const{width:o,height:i}=q(l,a);i>(W.value?.clientHeight||1/0)&&(a=W.value?.clientHeight||1/0,l=a*e),$.value.width=o,$.value.height=i}U.value=V.value.left,B.value=V.value.top}else if("bottom-left"===M.value){if("free"===b.zoomType){const{width:e,height:a}=q(T-t,z+l);$.value.width=e,$.value.height=a}else if("fixed"===b.zoomType){const e=Number.parseFloat(b.aspectRatio.split(" / ")[0])/Number.parseFloat(b.aspectRatio.split(" / ")[1]);let l=T-t,a=l/e;const{width:o,height:i}=q(l,a);i>(W.value?.clientHeight||1/0)&&(a=W.value?.clientHeight||1/0,l=a*e),$.value.width=o,$.value.height=i}U.value=V.value.left,B.value=V.value.top}e.preventDefault(),e.stopPropagation()}function I(e,t){M.value=t,R=e.clientX,H=e.clientY,T=$.value.width,z=$.value.height,"bottom-right"===t?($.value.x=U.value,$.value.y=B.value):"top-left"===t?($.value.x=U.value+C.value,$.value.y=B.value+_.value):"top-right"===t?($.value.x=U.value,$.value.y=B.value+_.value):"bottom-left"===t&&($.value.x=U.value+C.value,$.value.y=B.value)}function Q(){M.value=""}return document.addEventListener("mouseup",Q),document.addEventListener("mousemove",D),m((()=>{g((()=>{E.value.x=(W.value?.offsetWidth||0)/2-$.value.width/2,E.value.y=(W.value?.offsetHeight||0)/2-$.value.height/2}))})),y((()=>{S.value&&URL.revokeObjectURL(S.value),document.removeEventListener("mouseup",Q),document.removeEventListener("mousemove",D)})),x({crop:async function(e=k.value){let t="transparent";W.value&&(t=window.getComputedStyle(W.value).backgroundColor);const l=document.createElement("canvas");l.width=Y(W.value?.clientWidth||0),l.height=Y(W.value?.clientHeight||0);const{drawImage:a,cropCanvas:o,drawColor:i}=p(l);return i(0,0,l.width,l.height,t),a(e,Y(e.offsetLeft),Y(e.offsetTop),e.naturalWidth,e.naturalHeight),await o(Y(U.value),Y(B.value),Y(C.value),Y(_.value))},resize:function(){$.value.width=b.defaultWidth,$.value.height=b.defaultHeight,U.value=0,B.value=0}}),(e,s)=>(l(),t("div",{ref_key:"containerBoxRef",ref:W,class:a([o(F).e("img-box")])},[o(L)?(l(),t("div",{key:0,class:a([o(F).e("error-message")])},i(o(L)),3)):(l(),t(u,{key:1},[v("img",{ref_key:"imgRef",ref:k,class:a([o(F).e("image")]),src:o(S)},null,10,w),v("div",{ref_key:"cropBoxRef",ref:N,class:a([o(F).e("crop-tool-box")]),style:h([o(X),o(M)?`left: ${o(V).left}px;top: ${o(V).top}px`:o(O)])},[v("div",{class:a([o(F).e("top-left")]),onMousedown:s[0]||(s[0]=e=>I(e,"top-left"))},null,34),v("div",{class:a([o(F).e("top-right")]),onMousedown:s[1]||(s[1]=e=>I(e,"top-right"))},null,34),v("div",{class:a([o(F).e("bottom-right")]),onMousedown:s[2]||(s[2]=e=>I(e,"bottom-right"))},null,34),v("div",{class:a([o(F).e("bottom-left")]),onMousedown:s[3]||(s[3]=e=>I(e,"bottom-left"))},null,34)],6)],64))],2))}});export{x as default};
2
+ //# sourceMappingURL=photo-crop-tool.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photo-crop-tool.vue.mjs","sources":["../../../../../../packages/components/src/photo-crop-tool/src/photo-crop-tool.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { useDraggable, useElementSize } from '@vueuse/core'\nimport { useCanvas } from './composables'\n\ndefineOptions({\n name: 'QxsPhotoCropTool',\n})\n\nconst props = defineProps({\n imgFile: {\n type: Object as PropType<File>,\n default: () => null,\n },\n aspectRatio: {\n type: String,\n default: () => '16 / 9',\n },\n defaultWidth: {\n type: Number,\n default: () => 320,\n },\n defaultHeight: {\n type: Number,\n default: () => 180,\n },\n /**\n * free 自由缩放\n * fixed 固定比例缩放\n */\n zoomType: {\n type: String,\n default: () => 'fixed',\n },\n})\nlet startX = 0\nlet startY = 0\nlet startWidth = 0\nlet startHeight = 0\n\nconst ns = useNamespace('photo-crop-tool')\n\nconst cropBoxRef = ref<HTMLElement | null>(null)\nconst containerBoxRef = ref<HTMLElement | null>(null)\nconst imgRef = ref<HTMLImageElement | null>(null)\nconst errorMessage = ref('')\nconst dargPoint = ref('')\nconst initialValue = ref({\n x: 0,\n y: 0,\n})\nconst cropInfo = ref({\n width: props.defaultWidth,\n height: props.defaultHeight,\n x: 0,\n y: 0,\n})\n\nconst { width, height } = useElementSize(cropBoxRef)\nconst { width: imgWidth } = useElementSize(imgRef)\n\nconst { x, y, style } = useDraggable(cropBoxRef, {\n containerElement: containerBoxRef,\n draggingElement: cropBoxRef,\n disabled: computed(() => !!dargPoint.value),\n exact: true,\n initialValue,\n})\n\nconst imageUrl = computed(() => {\n if (!props.imgFile) {\n return ''\n }\n return URL.createObjectURL(props.imgFile)\n})\n\nwatch(\n () => props.imgFile,\n (newFile: File | null) => {\n if (newFile && !newFile.type.startsWith('image/')) {\n errorMessage.value = '文件类型错误'\n }\n else {\n errorMessage.value = ''\n }\n },\n)\n\nconst ratio = computed(() => {\n return (imgRef.value?.naturalWidth || 0) / imgWidth.value\n})\n\nconst customStyle = computed(() => {\n const position = {\n left: 0,\n top: 0,\n }\n if (dargPoint.value === 'bottom-right') {\n position.left = cropInfo.value.x\n position.top = cropInfo.value.y\n }\n else if (dargPoint.value === 'top-left') {\n position.left = cropInfo.value.x - width.value\n position.top = cropInfo.value.y - height.value\n }\n else if (dargPoint.value === 'top-right') {\n position.top = cropInfo.value.y - height.value\n position.left = cropInfo.value.x\n }\n else if (dargPoint.value === 'bottom-left') {\n position.left = cropInfo.value.x - width.value\n position.top = cropInfo.value.y\n }\n return position\n})\n\nconst sizeStyle = computed(() => {\n const { aspectRatio } = props\n\n const style: {\n 'height'?: string\n 'width': string\n 'aspect-ratio'?: string\n 'top': string\n 'left': string\n } = {\n 'width': `${cropInfo.value.width || props.defaultWidth}`,\n 'height': `${cropInfo.value.height || props.defaultHeight}`,\n 'aspect-ratio': aspectRatio,\n 'top': `${customStyle.value.top}px`,\n 'left': `${customStyle.value.left}px`,\n }\n if (props.zoomType === 'free') {\n delete style['aspect-ratio']\n }\n else if (props.zoomType === 'fixed') {\n delete style.height\n }\n return ns.cssVarBlock(style)\n})\n\nfunction zoom(pixel: number) {\n return pixel * ratio.value\n}\nasync function crop(img: HTMLImageElement = imgRef.value!) {\n let backgroundColor = 'transparent'\n if (containerBoxRef.value) {\n backgroundColor = window.getComputedStyle(\n containerBoxRef.value,\n ).backgroundColor\n }\n const canvas = document.createElement('canvas')\n canvas.width = zoom(containerBoxRef.value?.clientWidth || 0)\n canvas.height = zoom(containerBoxRef.value?.clientHeight || 0)\n const { drawImage, cropCanvas, drawColor } = useCanvas(canvas)\n drawColor(0, 0, canvas.width, canvas.height, backgroundColor)\n drawImage(\n img,\n zoom(img.offsetLeft),\n zoom(img.offsetTop),\n img.naturalWidth,\n img.naturalHeight,\n )\n return await cropCanvas(\n zoom(x.value),\n zoom(y.value),\n zoom(width.value),\n zoom(height.value),\n )\n}\n\nfunction checkBoundaries(\n newWidth: number,\n newHeight: number,\n): { width: number, height: number } {\n const maxWidth = containerBoxRef.value?.clientWidth || Infinity\n const maxHeight = containerBoxRef.value?.clientHeight || Infinity\n\n return {\n width: Math.min(Math.max(newWidth, 0), maxWidth),\n height: Math.min(Math.max(newHeight, 0), maxHeight),\n }\n}\n\nfunction mousemove(e: MouseEvent) {\n const deltaX = e.clientX - startX\n const deltaY = e.clientY - startY\n\n if (dargPoint.value === 'bottom-right') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth + deltaX,\n startHeight + deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth + deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n }\n else if (dargPoint.value === 'top-left') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth - deltaX,\n startHeight - deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth - deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n else if (dargPoint.value === 'top-right') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth + deltaX,\n startHeight - deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth + deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n else if (dargPoint.value === 'bottom-left') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth - deltaX,\n startHeight + deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth - deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n e.preventDefault()\n e.stopPropagation()\n}\n\nfunction mousedown(e: MouseEvent, point: string) {\n dargPoint.value = point\n startX = e.clientX\n startY = e.clientY\n startWidth = cropInfo.value.width\n startHeight = cropInfo.value.height\n\n if (point === 'bottom-right') {\n cropInfo.value.x = x.value\n cropInfo.value.y = y.value\n }\n else if (point === 'top-left') {\n cropInfo.value.x = x.value + width.value\n cropInfo.value.y = y.value + height.value\n }\n else if (point === 'top-right') {\n cropInfo.value.x = x.value\n cropInfo.value.y = y.value + height.value\n }\n else if (point === 'bottom-left') {\n cropInfo.value.x = x.value + width.value\n cropInfo.value.y = y.value\n }\n}\n\nfunction mouseup() {\n dargPoint.value = ''\n}\n\nfunction resize() {\n cropInfo.value.width = props.defaultWidth\n cropInfo.value.height = props.defaultHeight\n x.value = 0\n y.value = 0\n}\n\ndocument.addEventListener('mouseup', mouseup)\ndocument.addEventListener('mousemove', mousemove)\n\nonMounted(() => {\n nextTick(() => {\n // 初始化位置\n initialValue.value.x\n = (containerBoxRef.value?.offsetWidth || 0) / 2 - cropInfo.value.width / 2\n initialValue.value.y\n = (containerBoxRef.value?.offsetHeight || 0) / 2\n - cropInfo.value.height / 2\n })\n})\n\nonUnmounted(() => {\n if (imageUrl.value) {\n URL.revokeObjectURL(imageUrl.value)\n }\n document.removeEventListener('mouseup', mouseup)\n document.removeEventListener('mousemove', mousemove)\n})\n\ndefineExpose({\n crop,\n resize,\n})\n</script>\n\n<template>\n <div ref=\"containerBoxRef\" :class=\"[ns.e('img-box')]\">\n <div v-if=\"errorMessage\" :class=\"[ns.e('error-message')]\">\n {{ errorMessage }}\n </div>\n <template v-else>\n <img\n ref=\"imgRef\"\n :class=\"[ns.e('image')]\"\n :src=\"imageUrl\"\n >\n <div\n ref=\"cropBoxRef\"\n :class=\"[ns.e('crop-tool-box')]\"\n :style=\"[\n sizeStyle,\n dargPoint\n ? `left: ${customStyle.left}px;top: ${customStyle.top}px`\n : style,\n ]\"\n >\n <div\n :class=\"[ns.e('top-left')]\"\n @mousedown=\"mousedown($event, 'top-left')\"\n />\n <div\n :class=\"[ns.e('top-right')]\"\n @mousedown=\"mousedown($event, 'top-right')\"\n />\n <div\n :class=\"[ns.e('bottom-right')]\"\n @mousedown=\"mousedown($event, 'bottom-right')\"\n />\n <div\n :class=\"[ns.e('bottom-left')]\"\n @mousedown=\"mousedown($event, 'bottom-left')\"\n />\n </div>\n </template>\n </div>\n</template>\n"],"names":["props","__props","startX","startY","startWidth","startHeight","ns","useNamespace","cropBoxRef","ref","containerBoxRef","imgRef","errorMessage","dargPoint","initialValue","x","y","cropInfo","width","defaultWidth","height","defaultHeight","useElementSize","imgWidth","style","useDraggable","containerElement","draggingElement","disabled","computed","value","exact","imageUrl","imgFile","URL","createObjectURL","watch","newFile","type","startsWith","ratio","naturalWidth","customStyle","position","left","top","sizeStyle","aspectRatio","zoomType","cssVarBlock","zoom","pixel","checkBoundaries","newWidth","newHeight","maxWidth","clientWidth","Infinity","maxHeight","clientHeight","Math","min","max","mousemove","e","deltaX","clientX","deltaY","clientY","Number","parseFloat","split","preventDefault","stopPropagation","mousedown","point","mouseup","document","addEventListener","onMounted","nextTick","offsetWidth","offsetHeight","onUnmounted","revokeObjectURL","removeEventListener","__expose","crop","async","img","backgroundColor","window","getComputedStyle","canvas","createElement","drawImage","cropCanvas","drawColor","useCanvas","offsetLeft","offsetTop","naturalHeight","resize"],"mappings":"2vBAUA,MAAMA,EAAQC,EA0Bd,IAAIC,EAAS,EACTC,EAAS,EACTC,EAAa,EACbC,EAAc,EAEZ,MAAAC,EAAKC,EAAa,mBAElBC,EAAaC,EAAwB,MACrCC,EAAkBD,EAAwB,MAC1CE,EAASF,EAA6B,MACtCG,EAAeH,EAAI,IACnBI,EAAYJ,EAAI,IAChBK,EAAeL,EAAI,CACvBM,EAAG,EACHC,EAAG,IAECC,EAAWR,EAAI,CACnBS,MAAOlB,EAAMmB,aACbC,OAAQpB,EAAMqB,cACdN,EAAG,EACHC,EAAG,KAGCE,MAAEA,EAAAE,OAAOA,GAAWE,EAAed,IACjCU,MAAOK,GAAaD,EAAeX,IAErCI,EAAEA,EAAGC,EAAAA,EAAAQ,MAAGA,GAAUC,EAAajB,EAAY,CAC/CkB,iBAAkBhB,EAClBiB,gBAAiBnB,EACjBoB,SAAUC,GAAS,MAAQhB,EAAUiB,QACrCC,OAAO,EACPjB,iBAGIkB,EAAWH,GAAS,IACnB7B,EAAMiC,QAGJC,IAAIC,gBAAgBnC,EAAMiC,SAFxB,KAKXG,GACE,IAAMpC,EAAMiC,UACXI,IACKA,IAAYA,EAAQC,KAAKC,WAAW,UACtC3B,EAAakB,MAAQ,SAGrBlB,EAAakB,MAAQ,EAAA,IAKrB,MAAAU,EAAQX,GAAS,KACblB,EAAOmB,OAAOW,cAAgB,GAAKlB,EAASO,QAGhDY,EAAcb,GAAS,KAC3B,MAAMc,EAAW,CACfC,KAAM,EACNC,IAAK,GAkBA,MAhBiB,iBAApBhC,EAAUiB,OACHa,EAAAC,KAAO3B,EAASa,MAAMf,EACtB4B,EAAAE,IAAM5B,EAASa,MAAMd,GAEH,aAApBH,EAAUiB,OACjBa,EAASC,KAAO3B,EAASa,MAAMf,EAAIG,EAAMY,MACzCa,EAASE,IAAM5B,EAASa,MAAMd,EAAII,EAAOU,OAEd,cAApBjB,EAAUiB,OACjBa,EAASE,IAAM5B,EAASa,MAAMd,EAAII,EAAOU,MAChCa,EAAAC,KAAO3B,EAASa,MAAMf,GAEJ,gBAApBF,EAAUiB,QACjBa,EAASC,KAAO3B,EAASa,MAAMf,EAAIG,EAAMY,MAChCa,EAAAE,IAAM5B,EAASa,MAAMd,GAEzB2B,CAAA,IAGHG,EAAYjB,GAAS,KACnB,MAAAkB,YAAEA,GAAgB/C,EAElBwB,EAMF,CACFN,MAAS,GAAGD,EAASa,MAAMZ,OAASlB,EAAMmB,eAC1CC,OAAU,GAAGH,EAASa,MAAMV,QAAUpB,EAAMqB,gBAC5C,eAAgB0B,EAChBF,IAAO,GAAGH,EAAYZ,MAAMe,QAC5BD,KAAQ,GAAGF,EAAYZ,MAAMc,UAQxB,MANgB,SAAnB5C,EAAMgD,gBACDxB,EAAM,gBAEa,UAAnBxB,EAAMgD,iBACNxB,EAAMJ,OAERd,EAAG2C,YAAYzB,EAAK,IAG7B,SAAS0B,EAAKC,GACZ,OAAOA,EAAQX,EAAMV,KAAA,CA6Bd,SAAAsB,EACPC,EACAC,GAEM,MAAAC,EAAW7C,EAAgBoB,OAAO0B,aAAeC,IACjDC,EAAYhD,EAAgBoB,OAAO6B,cAAgBF,IAElD,MAAA,CACLvC,MAAO0C,KAAKC,IAAID,KAAKE,IAAIT,EAAU,GAAIE,GACvCnC,OAAQwC,KAAKC,IAAID,KAAKE,IAAIR,EAAW,GAAII,GAC3C,CAGF,SAASK,EAAUC,GACX,MAAAC,EAASD,EAAEE,QAAUhE,EACrBiE,EAASH,EAAEI,QAAUjE,EAEvB,GAAoB,iBAApBU,EAAUiB,OACR,GAAmB,SAAnB9B,EAAMgD,SAAqB,CAC7B,MAAQ9B,MAAAA,EAAOE,OAAAA,GAAWgC,EACxBhD,EAAa6D,EACb5D,EAAc8D,GAEhBlD,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,MAC1B,GAC4B,UAAnBpB,EAAMgD,SAAsB,CACnC,MAAMD,EACFsB,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACjDF,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACrD,IAAIlB,EAAWjD,EAAa6D,EACxBX,EAAYD,EAAWN,EACrB,MAAE7B,MAAAA,EAAOE,OAAAA,GAAWgC,EAAgBC,EAAUC,GAChDlC,GAAUV,EAAgBoB,OAAO6B,cAAgBF,OACvCH,EAAA5C,EAAgBoB,OAAO6B,cAAgBF,IACnDJ,EAAWC,EAAYP,GAEzB9B,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,OAE5B,GAC6B,aAApBP,EAAUiB,MAAsB,CACnC,GAAmB,SAAnB9B,EAAMgD,SAAqB,CAC7B,MAAQ9B,MAAAA,EAAOE,OAAAA,GAAWgC,EACxBhD,EAAa6D,EACb5D,EAAc8D,GAEhBlD,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,MAC1B,GAC4B,UAAnBpB,EAAMgD,SAAsB,CACnC,MAAMD,EACFsB,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACjDF,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACrD,IAAIlB,EAAWjD,EAAa6D,EACxBX,EAAYD,EAAWN,EACrB,MAAE7B,MAAAA,EAAOE,OAAAA,GAAWgC,EAAgBC,EAAUC,GAChDlC,GAAUV,EAAgBoB,OAAO6B,cAAgBF,OACvCH,EAAA5C,EAAgBoB,OAAO6B,cAAgBF,IACnDJ,EAAWC,EAAYP,GAEzB9B,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,CAExBL,EAAAe,MAAQY,EAAYZ,MAAMc,KAC1B5B,EAAAc,MAAQY,EAAYZ,MAAMe,GAAA,MAC9B,GAC6B,cAApBhC,EAAUiB,MAAuB,CACpC,GAAmB,SAAnB9B,EAAMgD,SAAqB,CAC7B,MAAQ9B,MAAAA,EAAOE,OAAAA,GAAWgC,EACxBhD,EAAa6D,EACb5D,EAAc8D,GAEhBlD,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,MAC1B,GAC4B,UAAnBpB,EAAMgD,SAAsB,CACnC,MAAMD,EACFsB,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACjDF,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACrD,IAAIlB,EAAWjD,EAAa6D,EACxBX,EAAYD,EAAWN,EACrB,MAAE7B,MAAAA,EAAOE,OAAAA,GAAWgC,EAAgBC,EAAUC,GAChDlC,GAAUV,EAAgBoB,OAAO6B,cAAgBF,OACvCH,EAAA5C,EAAgBoB,OAAO6B,cAAgBF,IACnDJ,EAAWC,EAAYP,GAEzB9B,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,CAExBL,EAAAe,MAAQY,EAAYZ,MAAMc,KAC1B5B,EAAAc,MAAQY,EAAYZ,MAAMe,GAAA,MAC9B,GAC6B,gBAApBhC,EAAUiB,MAAyB,CACtC,GAAmB,SAAnB9B,EAAMgD,SAAqB,CAC7B,MAAQ9B,MAAAA,EAAOE,OAAAA,GAAWgC,EACxBhD,EAAa6D,EACb5D,EAAc8D,GAEhBlD,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,MAC1B,GAC4B,UAAnBpB,EAAMgD,SAAsB,CACnC,MAAMD,EACFsB,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACjDF,OAAOC,WAAWtE,EAAM+C,YAAYwB,MAAM,OAAO,IACrD,IAAIlB,EAAWjD,EAAa6D,EACxBX,EAAYD,EAAWN,EACrB,MAAE7B,MAAAA,EAAOE,OAAAA,GAAWgC,EAAgBC,EAAUC,GAChDlC,GAAUV,EAAgBoB,OAAO6B,cAAgBF,OACvCH,EAAA5C,EAAgBoB,OAAO6B,cAAgBF,IACnDJ,EAAWC,EAAYP,GAEzB9B,EAASa,MAAMZ,MAAQA,EACvBD,EAASa,MAAMV,OAASA,CAAA,CAExBL,EAAAe,MAAQY,EAAYZ,MAAMc,KAC1B5B,EAAAc,MAAQY,EAAYZ,MAAMe,GAAA,CAE9BmB,EAAEQ,iBACFR,EAAES,iBAAgB,CAGX,SAAAC,EAAUV,EAAeW,GAChC9D,EAAUiB,MAAQ6C,EAClBzE,EAAS8D,EAAEE,QACX/D,EAAS6D,EAAEI,QACXhE,EAAaa,EAASa,MAAMZ,MAC5Bb,EAAcY,EAASa,MAAMV,OAEf,iBAAVuD,GACO1D,EAAAa,MAAMf,EAAIA,EAAEe,MACZb,EAAAa,MAAMd,EAAIA,EAAEc,OAEJ,aAAV6C,GACP1D,EAASa,MAAMf,EAAIA,EAAEe,MAAQZ,EAAMY,MACnCb,EAASa,MAAMd,EAAIA,EAAEc,MAAQV,EAAOU,OAEnB,cAAV6C,GACE1D,EAAAa,MAAMf,EAAIA,EAAEe,MACrBb,EAASa,MAAMd,EAAIA,EAAEc,MAAQV,EAAOU,OAEnB,gBAAV6C,IACP1D,EAASa,MAAMf,EAAIA,EAAEe,MAAQZ,EAAMY,MAC1Bb,EAAAa,MAAMd,EAAIA,EAAEc,MACvB,CAGF,SAAS8C,IACP/D,EAAUiB,MAAQ,EAAA,QAUX+C,SAAAC,iBAAiB,UAAWF,GAC5BC,SAAAC,iBAAiB,YAAaf,GAEvCgB,GAAU,KACRC,GAAS,KAEMlE,EAAAgB,MAAMf,GACdL,EAAgBoB,OAAOmD,aAAe,GAAK,EAAIhE,EAASa,MAAMZ,MAAQ,EAC9DJ,EAAAgB,MAAMd,GACdN,EAAgBoB,OAAOoD,cAAgB,GAAK,EAC7CjE,EAASa,MAAMV,OAAS,CAAA,GAC7B,IAGH+D,GAAY,KACNnD,EAASF,OACPI,IAAAkD,gBAAgBpD,EAASF,OAEtB+C,SAAAQ,oBAAoB,UAAWT,GAC/BC,SAAAQ,oBAAoB,YAAatB,EAAS,IAGxCuB,EAAA,CACXC,KAjNaC,eAAKC,EAAwB9E,EAAOmB,OACjD,IAAI4D,EAAkB,cAClBhF,EAAgBoB,QAClB4D,EAAkBC,OAAOC,iBACvBlF,EAAgBoB,OAChB4D,iBAEE,MAAAG,EAAShB,SAASiB,cAAc,UACtCD,EAAO3E,MAAQgC,EAAKxC,EAAgBoB,OAAO0B,aAAe,GAC1DqC,EAAOzE,OAAS8B,EAAKxC,EAAgBoB,OAAO6B,cAAgB,GAC5D,MAAMoC,UAAEA,EAAWC,WAAAA,EAAAC,UAAYA,GAAcC,EAAUL,GASvD,OARAI,EAAU,EAAG,EAAGJ,EAAO3E,MAAO2E,EAAOzE,OAAQsE,GAC7CK,EACEN,EACAvC,EAAKuC,EAAIU,YACTjD,EAAKuC,EAAIW,WACTX,EAAIhD,aACJgD,EAAIY,qBAEOL,EACX9C,EAAKnC,EAAEe,OACPoB,EAAKlC,EAAEc,OACPoB,EAAKhC,EAAMY,OACXoB,EAAK9B,EAAOU,OACd,EA0LAwE,OA/BF,WACWrF,EAAAa,MAAMZ,MAAQlB,EAAMmB,aACpBF,EAAAa,MAAMV,OAASpB,EAAMqB,cAC9BN,EAAEe,MAAQ,EACVd,EAAEc,MAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ import o from"./photo-crop-tool.vue.mjs";export{o as default};
2
+ //# sourceMappingURL=photo-crop-tool.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photo-crop-tool.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import o from"./src/subject-action.vue.mjs";const s=t(o);export{s as QxsSubjectAction,s as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-action/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-action.vue'\n\nconst QxsSubjectAction = withInstall(component)\n \nexport {\n QxsSubjectAction\n}\n \nexport default QxsSubjectAction"],"names":["QxsSubjectAction","withInstall","component"],"mappings":"6FAGA,MAAMA,EAAmBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{ElPopover as e,ElLink as l,ElCheckbox as a,ElButton as t,ElIcon as n,ElDialog as o,ElRadioGroup as i,ElRadio as u}from"element-plus/es";import{defineComponent as s,createElementBlock as d,openBlock as c,normalizeClass as r,unref as m,createElementVNode as p,createCommentVNode as f,createVNode as v,createBlock as y,withCtx as b,createTextVNode as k,isRef as _,Fragment as h,renderList as g,toDisplayString as w}from"vue";import{Edit as C,Delete as x,Top as V,Bottom as j}from"@element-plus/icons-vue";import{useNamespace as O}from"@qxs-bns/hooks";import S from"../../subject-type/src/subject-type.vue.mjs";import{ref as E,computed as T}from"vue-demi";const U={key:0,class:"flex-justify-between"},A={key:0,class:"has-set"},B={key:1,class:"flex flex-justify-end",style:{width:"100%"}};var K=s({name:"QxsSubjectAction",__name:"subject-action",props:{isEdit:{type:Boolean},isSet:{type:Boolean,default:!1},isKey:{type:Boolean,default:!1},answerCheckType:{type:Number,default:1},showOtherOption:{type:Boolean,default:!0},examAnswerRelationType:{type:Number,default:null},pageEnd:{type:Boolean,default:!1}},emits:["moveUp","moveDown","delete","save","edit","add","onShowRichText","setKey","setAnswerSetting"],setup(s,{emit:K}){const R=s,z=E(R.isKey),D=E(!1),N=K,q=E(R.answerCheckType),Q=O("subject-action"),F=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],G=T((()=>F.find((e=>e.value===q.value))?.label));function H(){D.value=!1,N("setAnswerSetting",q.value)}function I(e,l){N("add",e,l?R.examAnswerRelationType:null)}return(O,E)=>{const T=l,K=e,R=a,J=n,L=t,M=u,P=i,W=o;return c(),d("div",{class:r(m(Q).e("action-exam"))},[p("div",{class:r(["action flex",[{active:s.isEdit}]])},[s.isEdit?(c(),d("div",U,[v(K,{trigger:"click"},{reference:b((()=>[v(T,{type:"primary",class:"btn-margin"},{default:b((()=>E[14]||(E[14]=[k(" +在此题后加入新题 ")]))),_:1})])),default:b((()=>[v(S,{onSelect:I})])),_:1}),s.showOtherOption?(c(),y(T,{key:0,type:"primary",onClick:E[0]||(E[0]=e=>N("onShowRichText")),class:"btn-margin"},{default:b((()=>E[15]||(E[15]=[k(" +添加题目描述(图文) ")]))),_:1})):f("v-if",!0),s.showOtherOption?(c(),y(T,{key:1,type:"primary",onClick:E[1]||(E[1]=e=>D.value=!0),class:"btn-margin"},{default:b((()=>E[16]||(E[16]=[k(" 答题设置 ")]))),_:1})):f("v-if",!0),s.showOtherOption?(c(),y(R,{key:2,modelValue:m(z),"onUpdate:modelValue":E[2]||(E[2]=e=>_(z)?z.value=e:null),label:"核心题",onChange:E[3]||(E[3]=e=>N("setKey",m(z)))},null,8,["modelValue"])):f("v-if",!0)])):f("v-if",!0),p("div",null,[s.isSet?(c(),d("div",A," *此题设置了跳题逻辑 ")):(c(),d("div",B,[s.isEdit?(c(),d(h,{key:1},[v(L,{class:"btn-margin",onClick:E[9]||(E[9]=e=>N("delete"))},{default:b((()=>E[21]||(E[21]=[k(" 删除 ")]))),_:1}),v(L,{type:"primary",onClick:E[10]||(E[10]=e=>N("save"))},{default:b((()=>E[22]||(E[22]=[k(" 完成编辑 ")]))),_:1})],64)):(c(),d(h,{key:0},[v(R,{modelValue:m(z),"onUpdate:modelValue":E[4]||(E[4]=e=>_(z)?z.value=e:null),label:"核心题",disabled:""},null,8,["modelValue"]),v(R,{"v-model":!0,label:m(G),disabled:""},null,8,["label"]),s.pageEnd?f("v-if",!0):(c(),y(L,{key:0,class:"btn-margin",onClick:E[5]||(E[5]=e=>N("edit"))},{icon:b((()=>[v(J,null,{default:b((()=>[v(m(C))])),_:1})])),default:b((()=>[E[17]||(E[17]=k(" 编辑 "))])),_:1})),v(L,{class:"btn-margin",onClick:E[6]||(E[6]=e=>N("delete"))},{icon:b((()=>[v(J,null,{default:b((()=>[v(m(x))])),_:1})])),default:b((()=>[E[18]||(E[18]=k(" 删除 "))])),_:1}),v(L,{class:"btn-margin",onClick:E[7]||(E[7]=e=>N("moveUp"))},{icon:b((()=>[v(J,null,{default:b((()=>[v(m(V))])),_:1})])),default:b((()=>[E[19]||(E[19]=k(" 上移 "))])),_:1}),v(L,{class:"btn-margin",onClick:E[8]||(E[8]=e=>N("moveDown"))},{icon:b((()=>[v(J,null,{default:b((()=>[v(m(j))])),_:1})])),default:b((()=>[E[20]||(E[20]=k(" 下移 "))])),_:1})],64))]))]),v(W,{modelValue:m(D),"onUpdate:modelValue":E[13]||(E[13]=e=>_(D)?D.value=e:null),title:"答题设置",class:"customize-dialog"},{footer:b((()=>[v(L,{class:"customize-button",type:"primary",plain:"",onClick:E[12]||(E[12]=e=>D.value=!1)},{default:b((()=>E[23]||(E[23]=[k(" 取消 ")]))),_:1}),v(L,{class:"customize-button",type:"primary",plain:"",onClick:H},{default:b((()=>E[24]||(E[24]=[k(" 保存 ")]))),_:1})])),default:b((()=>[(c(),d(h,null,g(F,(e=>v(P,{modelValue:m(q),"onUpdate:modelValue":E[11]||(E[11]=e=>_(q)?q.value=e:null),class:"vertical-radio-group"},{default:b((()=>[v(M,{value:e.value},{default:b((()=>[k(w(e.label),1)])),_:2},1032,["value"])])),_:2},1032,["modelValue"]))),64))])),_:1},8,["modelValue"])],2)],2)}}});export{K as default};
2
+ //# sourceMappingURL=subject-action.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-action.vue.mjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\nconst props = defineProps({\n isEdit: {\n type: Boolean,\n },\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null\n },\n pageEnd: {\n type: Boolean,\n default: false\n }\n})\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst emits = defineEmits(['moveUp', 'moveDown', 'delete', 'save', 'edit', 'add', 'onShowRichText', 'setKey', 'setAnswerSetting'])\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步'\n },\n {\n value: 1,\n label: '无需判断是否是支持选项'\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步'\n }\n]\nconst answerText = computed(() => {\n return answerTextList.find(item => item.value === answerType.value)?.label\n})\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('setAnswerSetting', answerType.value)\n}\n\nfunction selectExam(type:string, canSet: boolean) {\n emits('add', type, canSet? props.examAnswerRelationType: null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div class=\"action flex\" :class=\"[{ active: isEdit }]\">\n <div v-if=\"isEdit\" class=\"flex-justify-between\">\n <el-popover trigger=\"click\">\n <template #reference>\n <el-link type=\"primary\" class=\"btn-margin\">\n +在此题后加入新题\n </el-link>\n </template>\n <SubjectType @select=\"selectExam\" />\n </el-popover>\n <el-link type=\"primary\" @click=\"emits('onShowRichText')\" v-if=\"showOtherOption\" class=\"btn-margin\">\n +添加题目描述(图文)\n </el-link>\n <el-link type=\"primary\" @click=\"showAnswerSetting = true\" v-if=\"showOtherOption\" class=\"btn-margin\">\n 答题设置\n </el-link>\n <el-checkbox v-model=\"isKey\" label=\"核心题\" @change=\"emits('setKey', isKey)\" v-if=\"showOtherOption\" />\n </div>\n <div>\n <div v-if=\"isSet\" class=\"has-set\">\n *此题设置了跳题逻辑\n </div>\n <div v-else class=\"flex flex-justify-end\" style=\"width: 100%;\">\n <template v-if=\"!isEdit\">\n <el-checkbox v-model=\"isKey\" label=\"核心题\" disabled />\n <el-checkbox :v-model=\"true\" :label=\"answerText\" disabled />\n <el-button class=\"btn-margin\" @click=\"emits('edit')\" v-if=\"!pageEnd\">\n <template #icon>\n <el-icon>\n <Edit />\n </el-icon>\n </template>\n 编辑\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n <template #icon>\n <el-icon>\n <Delete />\n </el-icon>\n </template>\n 删除\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('moveUp')\">\n <template #icon>\n <el-icon>\n <Top />\n </el-icon>\n </template>\n 上移\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('moveDown')\">\n <template #icon>\n <el-icon>\n <Bottom />\n </el-icon>\n </template>\n 下移\n </el-button>\n </template>\n <template v-else>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n 删除\n </el-button>\n <el-button type=\"primary\" @click=\"emits('save')\">\n 完成编辑\n </el-button>\n </template>\n </div>\n </div>\n <el-dialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n >\n <el-radio-group v-model=\"answerType\" class=\"vertical-radio-group\" v-for=\"item in answerTextList\">\n <el-radio :value=\"item.value\">{{ item.label }}</el-radio>\n </el-radio-group>\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n </div>\n</template>\n"],"names":["props","__props","isKey","ref","showAnswerSetting","emits","__emit","answerType","answerCheckType","ns","useNamespace","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","selectExam","type","canSet","examAnswerRelationType"],"mappings":"4sCAQA,MAAMA,EAAQC,EA6BRC,EAAQC,EAAIH,EAAME,OAClBE,EAAoBD,GAAI,GACxBE,EAAQC,EACRC,EAAaJ,EAAIH,EAAMQ,iBACvBC,EAAKC,EAAa,kBAClBC,EAAiB,CACrB,CACEC,MAAO,EACPC,MAAO,oBAET,CACED,MAAO,EACPC,MAAO,eAET,CACED,MAAO,EACPC,MAAO,mBAGLC,EAAaC,GAAS,IACnBJ,EAAeK,MAAKC,GAAQA,EAAKL,QAAUL,EAAWK,SAAQC,QAEvE,SAASK,IACPd,EAAkBQ,OAAQ,EACpBP,EAAA,mBAAoBE,EAAWK,MAAK,CAGnC,SAAAO,EAAWC,EAAaC,GAChChB,EAAM,MAAOe,EAAMC,EAAQrB,EAAMsB,uBAAwB,KAAI"}
@@ -0,0 +1,2 @@
1
+ import t from"./subject-action.vue.mjs";export{t as default};
2
+ //# sourceMappingURL=subject-action.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-action.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import o from"./src/subject-layout.vue.mjs";const s=t(o);export{s as QxsSubjectLayout,s as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-layout/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-layout.vue'\n\nconst QxsSubjectLayout = withInstall(component)\n \nexport {\n QxsSubjectLayout\n}\n \nexport default QxsSubjectLayout"],"names":["QxsSubjectLayout","withInstall","component"],"mappings":"6FAGA,MAAMA,EAAmBC,EAAYC"}
@@ -1,2 +1,2 @@
1
1
  import{defineComponent as s,createElementBlock as t,openBlock as e,normalizeClass as o,unref as a,createCommentVNode as l,renderSlot as u,createElementVNode as i}from"vue";import{useNamespace as r}from"@qxs-bns/hooks";const d={key:0,class:"edit"};var c=s({name:"QxsSubjectLayout",__name:"subject-layout",props:{showEdit:{type:Boolean,required:!0}},setup(s){const c=r("subject-layout");return(s,r)=>(e(),t("div",{class:o(a(c).e("layout-exam"))},[l(' <div class="subject-layout"> '),u(s.$slots,"preview"),s.showEdit?(e(),t("div",d,[r[0]||(r[0]=i("div",{class:"triangle-up"},null,-1)),u(s.$slots,"edit")])):l("v-if",!0),u(s.$slots,"default"),l(" </div> ")],2))}});export{c as default};
2
- //# sourceMappingURL=subject-layout.vue.js.map
2
+ //# sourceMappingURL=subject-layout.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-layout.vue.mjs","sources":["../../../../../../packages/components/src/subject-layout/src/subject-layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsSubjectLayout',\n})\ndefineProps<{\n showEdit: boolean\n}>()\n\nconst ns = useNamespace('subject-layout')\n</script>\n\n<template>\n <div :class=\"ns.e('layout-exam')\">\n <!-- <div class=\"subject-layout\"> -->\n <slot name=\"preview\" />\n <div v-if=\"showEdit\" class=\"edit\">\n <div class=\"triangle-up\" />\n <slot name=\"edit\" />\n </div>\n <slot />\n <!-- </div> -->\n</div>\n</template>\n"],"names":["ns","useNamespace"],"mappings":"qWAUM,MAAAA,EAAKC,EAAa"}
@@ -0,0 +1,2 @@
1
+ import t from"./subject-layout.vue.mjs";export{t as default};
2
+ //# sourceMappingURL=subject-layout.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-layout.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{withInstall as t}from"../withInstall.mjs";import s from"./src/subject-list.vue.mjs";const m=t(s);export{m as QxsSubjectList,m as default};
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/src/subject-list/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-list.vue'\n\nconst QxsSubjectList = withInstall(component)\n\nexport {\n QxsSubjectList\n}\n\nexport default QxsSubjectList"],"names":["QxsSubjectList","withInstall","component"],"mappings":"2FAGA,MAAMA,EAAiBC,EAAYC"}
@@ -0,0 +1,2 @@
1
+ import{ElRow as e}from"element-plus/es";import{defineComponent as t,createElementBlock as n,openBlock as o,normalizeClass as r,unref as a,createVNode as s,withCtx as i,createElementVNode as l,toDisplayString as u}from"vue";import{useNamespace as d}from"@qxs-bns/hooks";import m from"../../../subject-action/src/subject-action.vue.mjs";import{onMounted as p}from"vue-demi";var c=t({name:"QxsSubjectScale",__name:"SubjectPageEnd",props:{currentPageIndex:{type:Number,required:!0},totalPage:{type:Number,required:!0},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(t,{emit:c}){const v=t,y=c;p((function(){}));const x=d("subject-end");return(t,d)=>{const p=e;return o(),n("div",{class:r(a(x).e("end-exam"))},[s(p,{type:"flex",align:"middle"},{default:i((()=>[d[5]||(d[5]=l("span",{class:"auto-line"},null,-1)),l("span",null,"第"+u(v.currentPageIndex)+" / "+u(t.totalPage)+"页",1),d[6]||(d[6]=l("span",{class:"auto-line"},null,-1))])),_:1}),s(m,{"is-edit":!1,"is-set":t.isSet,pageEnd:!0,examAnswerRelationType:v.examAnswerRelationType,showOtherOption:!1,onMoveUp:d[0]||(d[0]=e=>y("move","up")),onMoveDown:d[1]||(d[1]=e=>y("move","down")),onDelete:d[2]||(d[2]=e=>y("delete")),onEdit:d[3]||(d[3]=e=>y("edit")),onAdd:d[4]||(d[4]=e=>y("add",e))},null,8,["is-set","examAnswerRelationType"])],2)}}});export{c as default};
2
+ //# sourceMappingURL=SubjectPageEnd.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubjectPageEnd.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectPageEnd.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n currentPageIndex: number\n totalPage: number\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nfunction init() {\n\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-end')\n</script>\n\n<template>\n <div :class=\"ns.e('end-exam')\">\n <el-row type=\"flex\" align=\"middle\">\n <span class=\"auto-line\" />\n <span>第{{ props.currentPageIndex }} / {{ totalPage }}页</span>\n <span class=\"auto-line\" />\n </el-row>\n <SubjectAction\n :is-edit=\"false\"\n :is-set=\"isSet\"\n :pageEnd=\"true\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n :showOtherOption=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","onMounted","ns","useNamespace"],"mappings":"6vBAOA,MAAMA,EAAQC,EASRC,EAAQC,EAMdC,GAJA,WAAgB,IAKV,MAAAC,EAAKC,EAAa"}
@@ -0,0 +1,2 @@
1
+ import e from"./SubjectPageEnd.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=SubjectPageEnd.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubjectPageEnd.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,createElementBlock as t,openBlock as o,normalizeClass as i,unref as r,createVNode as n,withCtx as s,createBlock as d,createCommentVNode as u,mergeProps as a,isRef as l,createElementVNode as m,createTextVNode as c,toDisplayString as p}from"vue";import{useNamespace as v}from"@qxs-bns/hooks";import{ElMessage as y}from"element-plus";import x from"../../../subject-action/src/subject-action.vue.mjs";import w from"../../../subject-layout/src/subject-layout.vue.mjs";import h from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{useAttrs as f,ref as T,onMounted as b}from"vue-demi";const j={class:"preview"},q=["innerHTML"];var S=e({name:"QxsSubjectScale",__name:"SubjectRichText",props:{orderIndex:{type:Number,required:!0},richTextContent:{type:String,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(e,{emit:S}){const A=e,R=S,B=f(),C=T("");function E(){C.value?R("save",{richTextContent:C.value||""}):y.error("富文本内容不能为空!")}b((function(){A.richTextContent&&(C.value=A.richTextContent)}));const M=v("subject-scale");return(e,v)=>(o(),t("div",{class:i(r(M).e("scale-exam"))},[n(w,{"show-edit":e.isEdit},{preview:s((()=>[m("div",j,[c(p(e.orderIndex+1)+".",1),m("div",{innerHTML:r(C)},null,8,q)])])),edit:s((()=>[n(h,a({"model-value":r(C),"onUpdate:modelValue":v[0]||(v[0]=e=>l(C)?C.value=e:null)},r(B),{style:{width:"100%"}}),null,16,["model-value"])])),default:s((()=>[e.showAction?(o(),d(x,{key:0,"is-edit":e.isEdit,"is-set":e.isSet,examAnswerRelationType:A.examAnswerRelationType,showOtherOption:!1,onMoveUp:v[1]||(v[1]=e=>R("move","up")),onMoveDown:v[2]||(v[2]=e=>R("move","down")),onDelete:v[3]||(v[3]=e=>R("delete")),onSave:E,onEdit:v[4]||(v[4]=e=>R("edit")),onAdd:v[5]||(v[5]=e=>R("add",e))},null,8,["is-edit","is-set","examAnswerRelationType"])):u("v-if",!0)])),_:1},8,["show-edit"])],2))}});export{S as default};
2
+ //# sourceMappingURL=SubjectRichText.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubjectRichText.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n richTextContent: string\n title?: string\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst richContent = ref('')\n\nfunction save() {\n if (!richContent.value) {\n ElMessage.error('富文本内容不能为空!')\n return\n }\n\n\n emits('save', {\n richTextContent: richContent.value ||'',\n })\n}\n\nfunction init() {\n if (props.richTextContent) {\n richContent.value = props.richTextContent\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n {{ orderIndex + 1 }}.<div v-html=\"richContent\" />\n </div>\n </template>\n <template #edit>\n <TinyMceEditor v-model:model-value=\"richContent\" v-bind=\"attrs\" style=\"width: 100%;\" />\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n :showOtherOption=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","richContent","ref","save","value","richTextContent","ElMessage","error","onMounted","ns","useNamespace"],"mappings":"+jCAUA,MAAMA,EAAQC,EAURC,EAAQC,EAERC,EAAQC,IAERC,EAAcC,EAAI,IAExB,SAASC,IACFF,EAAYG,MAMjBP,EAAM,OAAQ,CACZQ,gBAAiBJ,EAAYG,OAAQ,KANrCE,EAAUC,MAAM,aAOjB,CASHC,GANA,WACMb,EAAMU,kBACRJ,EAAYG,MAAQT,EAAMU,gBAC5B,IAII,MAAAI,EAAKC,EAAa"}
@@ -0,0 +1,2 @@
1
+ import e from"./SubjectRichText.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=SubjectRichText.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubjectRichText.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{ElInput as e,ElLink as l,ElCheckboxGroup as t,ElCheckbox as i,ElTag as a,ElButton as s,ElIcon as n}from"element-plus/es";import{defineComponent as o,createElementBlock as r,openBlock as u,normalizeClass as d,unref as v,createVNode as m,withCtx as c,createBlock as f,createCommentVNode as p,createElementVNode as x,isRef as y,createTextVNode as w,Fragment as g,renderList as h,toDisplayString as _,mergeProps as b}from"vue";import{Plus as k}from"@element-plus/icons-vue";import{useNamespace as j}from"@qxs-bns/hooks";import{ElMessage as A}from"element-plus";import C from"../../../subject-action/src/subject-action.vue.mjs";import I from"../../../subject-layout/src/subject-layout.vue.mjs";import V from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{useAttrs as S,ref as O,watch as q,onMounted as T}from"vue-demi";const R={class:"preview"},B={class:"content"},U={class:"title"},L={key:0},E=["innerHTML"],M={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},D={class:"flex"},H={style:{flex:"1"}},N={class:"flex flex-justify-end"},z={class:"margin-bottom flex flex-items-center"},F={class:"margin-bottom answer-list"},G={class:"label flex flex-justify-end"},J={class:"answer-tags"},K={key:0,class:"margin-bottom flex"},P={style:{flex:"1"}},Q={key:1,class:"margin-bottom flex"},W={style:{flex:"1"}},X={class:"flex flex-justify-end"};var Y=o({__name:"subject-blank-fill",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerSettingVO:{type:Object,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(o,{emit:Y}){const Z=o,$=Y,ee=S(),le=O([]),te=O(""),ie=O(""),ae=O(!1),se=O(""),ne=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],oe=O(["isIgnoreCase"]);function re(){te.value+=" ______",le.value.push({title:"",tag:"",showInput:!1})}function ue(){ae.value=!1,se.value=""}function de(){te.value?le.value.length<1?A.error("至少添加一个填空符!"):$("save",{title:te.value.replaceAll(/ ______/g,"<filter></filter>"),answers:le.value.map((e=>({title:e.title,isCorrect:!0}))),analysis:ie.value,isSetCorrectAnswer:!0,examAnswerSettingBO:{isIgnoreCase:oe.value?.includes("isIgnoreCase"),isInOrder:oe.value?.includes("isInOrder")},examRichTextContent:ae.value?se.value:""}):A.error("题目标题不能为空!")}q((()=>te.value),(()=>{const[...e]=te.value.matchAll(/ ______/g);if(e.length!==le.value.length){const l=le.value.length-e.length;le.value.splice(le.value.length-l,l)}})),T((function(){Z.title&&(te.value=Z.title.replaceAll(/<filter><\/filter>/g," ______")),Z.answerList&&Z.answerList.length&&(le.value=Z.answerList),Z.examAnswerSettingVO&&(oe.value=oe.value.filter((e=>"isIgnoreCase"===e&&Z.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&Z.examAnswerSettingVO?.isInOrder))),Z.analysis&&(ie.value=Z.analysis),Z.examRichTextContent&&(se.value=Z.examRichTextContent,ae.value=!0)}));const ve=j("subject-blank-fill");return(o,j)=>{const A=e,S=l,O=i,q=t,T=a,Y=n,me=s;return u(),r("div",{class:d(v(ve).e("blank-fill-exam"))},[m(I,{"show-edit":o.isEdit},{preview:c((()=>[x("div",R,[x("div",B,[x("span",U,_(o.orderIndex+1)+"."+_(v(te))+"(填空题)",1),v(ae)?(u(),r("div",L,[x("div",{innerHTML:v(se)},null,8,E)])):p("v-if",!0),v(le).some((e=>e.title))?(u(),r("div",M,[j[10]||(j[10]=x("span",{class:"title"},"正确答案:",-1)),(u(!0),r(g,null,h(v(le),((e,l)=>(u(),r("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[x("span",null,"填空"+_(l+1)+":",1),x("span",null,_(e.title),1)])))),128))])):p("v-if",!0)])])])),edit:c((()=>[x("div",D,[j[11]||(j[11]=x("div",{class:"label flex flex-justify-end"},[x("span",null,"题目:")],-1)),x("div",H,[m(A,{modelValue:v(te),"onUpdate:modelValue":j[0]||(j[0]=e=>y(te)?te.value=e:null),type:"textarea",rows:7,"show-word-limit":"",maxlength:"400",placeholder:"【填空题】请输入问题",disabled:o.isSave},null,8,["modelValue","disabled"])])]),x("div",N,[p(' <el-link\n v-if="!showRichText"\n type="primary"\n @click="showRichText = true"\n >\n 添加富文本\n </el-link> '),m(S,{class:"margin-left-10",type:"primary",disabled:o.isSave,onClick:re},{default:c((()=>j[12]||(j[12]=[w(" 插入填空符 ")]))),_:1},8,["disabled"])]),x("div",z,[j[13]||(j[13]=x("div",{class:"label flex flex-justify-end"},[x("span",null,"答题设置:")],-1)),(u(),r(g,null,h(ne,(e=>m(q,{key:e.value,modelValue:v(oe),"onUpdate:modelValue":j[1]||(j[1]=e=>y(oe)?oe.value=e:null)},{default:c((()=>[m(O,{value:e.value,class:"margin-left-10"},{default:c((()=>[w(_(e.label),1)])),_:2},1032,["value"])])),_:2},1032,["modelValue"]))),64))]),x("div",F,[(u(!0),r(g,null,h(v(le),((e,l)=>(u(),r("div",{key:l,class:"answer-item flex flex-items-center"},[x("div",G,[x("span",null,"第"+_(l+1)+"空答案:",1)]),x("div",J,[(u(!0),r(g,null,h(e.title.split(","),(l=>(u(),r(g,{key:l},[l?(u(),f(T,{key:0,closable:"",onClose:t=>function(e,l){if(e){const t=l.title.split(","),i=t.findIndex((l=>l===e));i>-1&&(t.splice(i,1),l.title=t.join(","))}}(l,e)},{default:c((()=>[w(_(l),1)])),_:2},1032,["onClose"])):p("v-if",!0)],64)))),128)),o.isSave?p("v-if",!0):(u(),r(g,{key:0},[e.showInput?(u(),f(A,{key:0,modelValue:e.tag,"onUpdate:modelValue":l=>e.tag=l,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(e)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(u(),f(me,{key:1,size:"small",onClick:l=>e.showInput=!0},{default:c((()=>[m(Y,null,{default:c((()=>[m(v(k))])),_:1}),x("span",null,_(e.title?"添加同义词":"添加答案"),1)])),_:2},1032,["onClick"]))],64))])])))),128))]),o.showAnalysis?(u(),r("div",K,[j[14]||(j[14]=x("div",{class:"label flex flex-justify-end"},[x("span",null,"解析:")],-1)),x("div",P,[m(A,{modelValue:v(ie),"onUpdate:modelValue":j[2]||(j[2]=e=>y(ie)?ie.value=e:null),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):p("v-if",!0),v(ae)?(u(),r("div",Q,[j[16]||(j[16]=x("div",{class:"label flex flex-justify-center"},[x("span",null,"富文本:")],-1)),x("div",W,[m(V,b({"model-value":v(se),"onUpdate:modelValue":j[3]||(j[3]=e=>y(se)?se.value=e:null)},v(ee),{style:{width:"100%"}}),null,16,["model-value"]),x("div",X,[m(S,{type:"danger",onClick:ue},{default:c((()=>j[15]||(j[15]=[w(" 删除富文本 ")]))),_:1})])])])):p("v-if",!0)])),default:c((()=>[o.showAction?(u(),f(C,{key:0,"is-edit":o.isEdit,"is-set":o.isSet,showOtherOption:!1,examAnswerRelationType:Z.examAnswerRelationType,onMoveUp:j[4]||(j[4]=e=>$("move","up")),onMoveDown:j[5]||(j[5]=e=>$("move","down")),onDelete:j[6]||(j[6]=e=>$("delete")),onSave:de,onEdit:j[7]||(j[7]=e=>$("edit")),onAdd:j[8]||(j[8]=e=>$("add",e)),onOnShowRichText:j[9]||(j[9]=e=>ae.value=!0)},null,8,["is-edit","is-set","examAnswerRelationType"])):p("v-if",!0)])),_:1},8,["show-edit"])],2)}}});export{Y as default};
2
+ //# sourceMappingURL=subject-blank-fill.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-blank-fill.vue.mjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-blank-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Plus } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { ElMessage } from 'element-plus'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([])\n\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addBlank() {\n title.value += ' ______'\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n ElMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n ElMessage.error('至少添加一个填空符!')\n return\n }\n\n emits('save', {\n title: title.value.replaceAll(/ ______/g, '<filter></filter>'),\n answers: answers.value.map((item: any) => {\n return { title: item.title, isCorrect: true }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: true,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title.replaceAll(/<filter><\\/filter>/g, ' ______')\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter((item: any) =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nwatch(() => title.value, () => {\n const [...matchs] = title.value.matchAll(/ ______/g)\n if (matchs.length !== answers.value.length) {\n const differ = answers.value.length - matchs.length\n answers.value.splice(answers.value.length - differ, differ)\n }\n})\n\nonMounted(init)\nconst ns = useNamespace('subject-blank-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('blank-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(填空题)</span>\n <div v-if=\"showRichText\">\n <div v-html=\"richText\" />\n </div>\n <div\n v-if=\"answers.some((item) => item.title)\"\n class=\"flex flex-wrap\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"flex flex-wrap flex-items-center\"\n style=\"margin-right: 10px;\"\n >\n <span>填空{{ index + 1 }}:</span>\n <span>{{ item.title }}</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex\">\n <div class=\"label flex flex-justify-end\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"7\"\n show-word-limit\n maxlength=\"400\"\n placeholder=\"【填空题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"flex flex-justify-end\">\n <!-- <el-link\n v-if=\"!showRichText\"\n type=\"primary\"\n @click=\"showRichText = true\"\n >\n 添加富文本\n </el-link> -->\n <el-link\n class=\"margin-left-10\"\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </el-link>\n </div>\n <div class=\"margin-bottom flex flex-items-center\">\n <div class=\"label flex flex-justify-end\">\n <span>答题设置:</span>\n </div>\n\n <el-checkbox-group\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <el-checkbox :value=\"item.value\" class=\"margin-left-10\">\n {{ item.label }}\n </el-checkbox>\n </el-checkbox-group>\n </div>\n <div class=\"margin-bottom answer-list\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label flex flex-justify-end\">\n <span>第{{ index + 1 }}空答案:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <el-tag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </el-tag>\n </template>\n <template v-if=\"!isSave\">\n <el-input\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <el-button\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <el-icon><Plus /></el-icon>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </el-button>\n </template>\n </div>\n </div>\n </div>\n <div v-if=\"showAnalysis\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-end\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <el-input\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div v-if=\"showRichText\" class=\"margin-bottom flex\">\n <div class=\"label flex flex-justify-center\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor v-model:model-value=\"richText\" v-bind=\"attrs\" style=\"width: 100%;\" />\n <div class=\"flex flex-justify-end\">\n <el-link\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </el-link>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :showOtherOption=\"false\"\n :examAnswerRelationType=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n @onShowRichText=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","showRichText","richText","checkList","label","value","isCheckList","addBlank","push","tag","showInput","deleteRichText","save","length","ElMessage","error","replaceAll","map","item","isCorrect","isSetCorrectAnswer","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","watch","matchs","matchAll","differ","splice","onMounted","answerList","examAnswerSettingVO","filter","ns","useNamespace","tags","split","index","findIndex","i","join"],"mappings":"q5DAQA,MAAMA,EAAQC,EAiBRC,EAAQC,EAERC,GAAQC,IAERC,GAAUC,EAIX,IAECC,GAAQD,EAAI,IACZE,GAAWF,EAAI,IACfG,GAAeH,GAAI,GACnBI,GAAWJ,EAAI,IAEfK,GAAY,CAChB,CACEC,MAAO,SACPC,MAAO,aAET,CACED,MAAO,QACPC,MAAO,iBAILC,GAAcR,EAAI,CAAC,iBAqBzB,SAASS,KACPR,GAAMM,OAAS,UACfR,GAAQQ,MAAMG,KAAK,CACjBT,MAAO,GACPU,IAAK,GACLC,WAAW,GACZ,CAGH,SAASC,KACPV,GAAaI,OAAQ,EACrBH,GAASG,MAAQ,EAAA,CAGnB,SAASO,KACFb,GAAMM,MAKPR,GAAQQ,MAAMQ,OAAS,EACzBC,EAAUC,MAAM,cAIlBtB,EAAM,OAAQ,CACZM,MAAOA,GAAMM,MAAMW,WAAW,WAAY,qBAC1CnB,QAASA,GAAQQ,MAAMY,KAAKC,IACnB,CAAEnB,MAAOmB,EAAKnB,MAAOoB,WAAW,MAEzCnB,SAAUA,GAASK,MACnBe,oBAAoB,EACpBC,oBAAqB,CACnBC,aAAchB,GAAYD,OAAOkB,SAAS,gBAC1CC,UAAWlB,GAAYD,OAAOkB,SAAS,cAEzCE,oBAAqBxB,GAAaI,MAAQH,GAASG,MAAQ,KApB3DS,EAAUC,MAAM,YAqBjB,CA8BGW,GAAA,IAAM3B,GAAMM,QAAO,KACvB,SAAUsB,GAAU5B,GAAMM,MAAMuB,SAAS,YACzC,GAAID,EAAOd,SAAWhB,GAAQQ,MAAMQ,OAAQ,CAC1C,MAAMgB,EAAShC,GAAQQ,MAAMQ,OAASc,EAAOd,OAC7ChB,GAAQQ,MAAMyB,OAAOjC,GAAQQ,MAAMQ,OAASgB,EAAQA,EAAM,KAI9DE,GAnCA,WACMxC,EAAMQ,QACRA,GAAMM,MAAQd,EAAMQ,MAAMiB,WAAW,sBAAuB,YAG1DzB,EAAMyC,YAAczC,EAAMyC,WAAWnB,SACvChB,GAAQQ,MAAQd,EAAMyC,YAGpBzC,EAAM0C,sBAEI3B,GAAAD,MAAQC,GAAYD,MAAM6B,QAAQhB,GAClC,iBAATA,GAA2B3B,EAAM0C,qBAAqBX,cAC1C,cAATJ,GAAwB3B,EAAM0C,qBAAqBT,aAIvDjC,EAAMS,WACRA,GAASK,MAAQd,EAAMS,UAGrBT,EAAMkC,sBACRvB,GAASG,MAAQd,EAAMkC,oBACvBxB,GAAaI,OAAQ,EACvB,IAYI,MAAA8B,GAAKC,EAAa,g6DAvFf,SAAS3B,EAAaS,GAC7B,GAAIT,EAAK,CACP,MAAM4B,EAAOnB,EAAKnB,MAAMuC,MAAM,KACxBC,EAAQF,EAAKG,WAAWC,GAAcA,IAAMhC,IAC9C8B,GAAQ,IACLF,EAAAP,OAAOS,EAAO,GACdrB,EAAAnB,MAAQsC,EAAKK,KAAK,KACzB,CACF,+OAhBF,SAAsBxB,GACpBA,EAAKR,WAAY,EACbQ,EAAKT,MACPS,EAAKnB,MAAQmB,EAAKnB,MAAQ,CAACmB,EAAKnB,MAAOmB,EAAKT,KAAKiC,KAAK,KAAOxB,EAAKT,IAClES,EAAKT,IAAM,GACb"}
@@ -0,0 +1,2 @@
1
+ import e from"./subject-blank-fill.vue.mjs";export{e as default};
2
+ //# sourceMappingURL=subject-blank-fill.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-blank-fill.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{ElInput as e,ElIcon as l,ElLink as t,ElRow as a,ElCol as s,ElRadio as i}from"element-plus/es";import{defineComponent as n,createElementBlock as o,openBlock as r,normalizeClass as u,unref as d,createVNode as c,withCtx as p,createBlock as v,createCommentVNode as m,createElementVNode as f,isRef as x,Fragment as y,renderList as h,toDisplayString as w,mergeProps as b,createTextVNode as g}from"vue";import{CirclePlus as j,Remove as C}from"@element-plus/icons-vue";import{useNamespace as S}from"@qxs-bns/hooks";import{ElMessage as k}from"element-plus";import V from"../../../subject-action/src/subject-action.vue.mjs";import q from"../../../subject-layout/src/subject-layout.vue.mjs";import T from"../../../tiny-mce-editor/src/tiny-mce-editor.vue.mjs";import{useAttrs as _,ref as L,computed as A,onMounted as R}from"vue-demi";const M={class:"preview"},U={class:"title"},E={key:0},O=["innerHTML"],Q={class:"answer-radio flex flex-col"},B={style:{flex:"1"}},D={class:"answer flex"},H={class:"flex"},I={class:"answer-list flex-col"},N={class:"order"},$={class:"flex",style:{"margin-bottom":"20px"}},P={style:{flex:"1"}},z={key:0,class:"margin-bottom flex"},F={style:{flex:"1"}},G={class:"flex flex-justify-end"};var J=n({name:"QxsSubjectScale",__name:"subject-scale",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},rowTitle:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},scaleQuestionList:{type:null,required:!1},examRichTextContent:{type:String,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(n,{emit:J}){const K=n,W=J,X=_(),Y=L([{title:""},{title:""},{title:""},{title:""},{title:""}]),Z=L(""),ee=L(""),le=L(""),te=L(!1),ae=L(""),se=L([]),ie=A((()=>Math.ceil(24/(Y.value.length+1))));function ne(){5!==Y.value.length&&Y.value.push({title:""})}function oe(){te.value=!1,ae.value=""}function re(){if(!Z.value)return void k.error("题目标题不能为空!");let e="";Y.value.forEach(((l,t)=>{l.title||(e+=`选项${String.fromCharCode(65+t)}未填写。`)})),e?k.error(e):le.value?(se.value=le.value.split("\n").filter((e=>e)),W("save",{title:Z.value,answers:Y.value,analysis:ee.value,scaleQuestionList:se.value,examRichTextContent:te.value?ae.value:""})):k.error("行标题不能为空!")}R((function(){K.title&&(Z.value=K.title),K.answerList&&K.answerList.length&&(Y.value=K.answerList),K.analysis&&(ee.value=K.analysis),K.scaleQuestionList&&(se.value=K.scaleQuestionList,le.value=se.value.join("\n")),K.examRichTextContent&&(ae.value=K.examRichTextContent,te.value=!0)}));const ue=S("subject-scale");return(n,S)=>{const k=s,_=a,L=i,A=e,R=l,J=t;return r(),o("div",{class:u(d(ue).e("scale-exam"))},[c(q,{"show-edit":n.isEdit},{preview:p((()=>[f("div",M,[f("div",null,[f("span",U,w(n.orderIndex+1)+"."+w(d(Z))+"(量表题)",1),d(te)?(r(),o("div",E,[f("div",{innerHTML:d(ae)},null,8,O)])):m("v-if",!0)]),f("div",Q,[c(_,{style:{padding:"10px 0"}},{default:p((()=>[c(k,{span:d(ie)},null,8,["span"]),(r(!0),o(y,null,h(d(Y),(e=>(r(),v(k,{key:e.title,class:"flex flex-center",span:d(ie)},{default:p((()=>[f("span",null,w(e.title),1)])),_:2},1032,["span"])))),128))])),_:1}),(r(!0),o(y,null,h(d(se),(e=>(r(),v(_,{key:e,style:{padding:"10px 0"}},{default:p((()=>[c(k,{span:d(ie),class:"flex flex-center"},{default:p((()=>[f("span",null,w(e),1)])),_:2},1032,["span"]),(r(!0),o(y,null,h(d(Y).length,(e=>(r(),v(k,{key:e,class:"radio-item flex flex-center",span:d(ie)},{default:p((()=>[c(L,{disabled:!0})])),_:2},1032,["span"])))),128))])),_:2},1024)))),128))])])])),edit:p((()=>[f("div",{class:u(["flex",[{"margin-bottom":d(te)}]])},[S[10]||(S[10]=f("div",{class:"label flex flex-justify-center"},[f("span",null,"题目:")],-1)),f("div",B,[c(A,{modelValue:d(Z),"onUpdate:modelValue":S[0]||(S[0]=e=>x(Z)?Z.value=e:null),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:n.isSave},null,8,["modelValue","disabled"])])],2),f("div",D,[S[11]||(S[11]=f("div",{class:"label flex flex-justify-center"},[f("span",null,"行标题:")],-1)),f("div",H,[c(A,{modelValue:d(le),"onUpdate:modelValue":S[1]||(S[1]=e=>x(le)?le.value=e:null),modelModifiers:{trim:!0},type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),f("div",I,[(r(!0),o(y,null,h(d(Y),((e,l)=>(r(),o("div",{key:l,class:"answer-item flex flex-items-center"},[f("span",N,w(String.fromCharCode(65+l))+".",1),c(A,{modelValue:e.title,"onUpdate:modelValue":l=>e.title=l,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+l)}`,disabled:n.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),m(' <PlusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length === 5 }]"\n @click="addAnswer"\n />\n <MinusCircleOutlined\n class="icon"\n :class="[{ disabled: answers.length < 3 }]"\n @click="deleteAnswer(index)"\n /> '),c(R,{class:"icon"},{default:p((()=>[c(d(j),{class:u([{disabled:5===d(Y).length}]),onClick:ne},null,8,["class"])])),_:1}),c(R,{class:"icon"},{default:p((()=>[c(d(C),{class:u([{disabled:d(Y).length<3}]),onClick:e=>function(e){Y.value.length<3||Y.value.splice(e,1)}(l)},null,8,["class","onClick"])])),_:2},1024)])))),128))])])]),f("div",$,[S[12]||(S[12]=f("div",{class:"label flex flex-justify-center"},[f("span",null,"解析:")],-1)),f("div",P,[c(A,{modelValue:d(ee),"onUpdate:modelValue":S[2]||(S[2]=e=>x(ee)?ee.value=e:null),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),d(te)?(r(),o("div",z,[S[14]||(S[14]=f("div",{class:"label flex flex-justify-center"},[f("span",null,"富文本:")],-1)),f("div",F,[c(T,b({"model-value":d(ae),"onUpdate:modelValue":S[3]||(S[3]=e=>x(ae)?ae.value=e:null)},d(X),{style:{width:"100%"}}),null,16,["model-value"]),f("div",G,[c(J,{type:"danger",onClick:oe},{default:p((()=>S[13]||(S[13]=[g(" 删除富文本 ")]))),_:1})])])])):m("v-if",!0)])),default:p((()=>[n.showAction?(r(),v(V,{key:0,"is-edit":n.isEdit,"is-set":n.isSet,showOtherOption:!1,examAnswerRelationType:K.examAnswerRelationType,onMoveUp:S[4]||(S[4]=e=>W("move","up")),onMoveDown:S[5]||(S[5]=e=>W("move","down")),onDelete:S[6]||(S[6]=e=>W("delete")),onSave:re,onEdit:S[7]||(S[7]=e=>W("edit")),onAdd:S[8]||(S[8]=e=>W("add",e)),onOnShowRichText:S[9]||(S[9]=e=>te.value=!0)},null,8,["is-edit","is-set","examAnswerRelationType"])):m("v-if",!0)])),_:1},8,["show-edit"])],2)}}});export{J as default};
2
+ //# sourceMappingURL=subject-scale.vue.mjs.map