@qxs-bns/components 0.0.90 → 0.0.92

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 (908) hide show
  1. package/es/base/define.mjs +2 -0
  2. package/es/base/define.mjs.map +1 -0
  3. package/es/base/uid.mjs +2 -0
  4. package/es/base/uid.mjs.map +1 -0
  5. package/es/data-chart.mjs +143 -0
  6. package/es/data-chart.mjs.map +1 -0
  7. package/es/editor/blocksuite-editor.mjs +1126 -0
  8. package/es/editor/blocksuite-editor.mjs.map +1 -0
  9. package/es/editor/content-format.mjs +9 -0
  10. package/es/editor/content-format.mjs.map +1 -0
  11. package/es/editor/index.mjs +2 -0
  12. package/es/editor/index.mjs.map +1 -0
  13. package/es/editor/toolbar.mjs +2 -0
  14. package/es/editor/toolbar.mjs.map +1 -0
  15. package/es/entry-data-chart.mjs +2 -0
  16. package/es/entry-data-chart.mjs.map +1 -0
  17. package/es/entry-editor.mjs +2 -0
  18. package/es/entry-editor.mjs.map +1 -0
  19. package/es/entry-file-upload.mjs +2 -0
  20. package/es/entry-file-upload.mjs.map +1 -0
  21. package/es/entry-fixed-action-bar.mjs +2 -0
  22. package/es/entry-fixed-action-bar.mjs.map +1 -0
  23. package/es/entry-icon.mjs +2 -0
  24. package/es/entry-icon.mjs.map +1 -0
  25. package/es/entry-image-upload.mjs +2 -0
  26. package/es/entry-image-upload.mjs.map +1 -0
  27. package/es/entry-photo-crop-tool.mjs +2 -0
  28. package/es/entry-photo-crop-tool.mjs.map +1 -0
  29. package/es/entry-subject.mjs +2 -0
  30. package/es/entry-subject.mjs.map +1 -0
  31. package/es/file-upload.mjs +164 -0
  32. package/es/file-upload.mjs.map +1 -0
  33. package/es/fixed-action-bar.mjs +39 -0
  34. package/es/fixed-action-bar.mjs.map +1 -0
  35. package/es/icon.mjs +20 -0
  36. package/es/icon.mjs.map +1 -0
  37. package/es/image-upload.mjs +333 -0
  38. package/es/image-upload.mjs.map +1 -0
  39. package/es/index.mjs +1 -1
  40. package/es/index.mjs.map +1 -1
  41. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs +60 -0
  42. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs.map +1 -0
  43. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs +17 -0
  44. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs.map +1 -0
  45. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs +62 -0
  46. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs.map +1 -0
  47. package/es/photo-crop-tool.mjs +147 -0
  48. package/es/photo-crop-tool.mjs.map +1 -0
  49. package/es/subject/action.mjs +171 -0
  50. package/es/subject/action.mjs.map +1 -0
  51. package/es/subject/blank-fill.mjs +385 -0
  52. package/es/subject/blank-fill.mjs.map +1 -0
  53. package/es/subject/draft.mjs +2 -0
  54. package/es/subject/draft.mjs.map +1 -0
  55. package/es/subject/layout.mjs +21 -0
  56. package/es/subject/layout.mjs.map +1 -0
  57. package/es/subject/page-end.mjs +28 -0
  58. package/es/subject/page-end.mjs.map +1 -0
  59. package/es/subject/pagination.mjs +2 -0
  60. package/es/subject/pagination.mjs.map +1 -0
  61. package/es/subject/runtime.mjs +2 -0
  62. package/es/subject/runtime.mjs.map +1 -0
  63. package/es/subject/scale.mjs +270 -0
  64. package/es/subject/scale.mjs.map +1 -0
  65. package/es/subject/shared-methods.mjs +2 -0
  66. package/es/subject/shared-methods.mjs.map +1 -0
  67. package/es/subject/shared-styles.mjs +113 -0
  68. package/es/subject/shared-styles.mjs.map +1 -0
  69. package/es/subject/single-interactions.mjs +2 -0
  70. package/es/subject/single-interactions.mjs.map +1 -0
  71. package/es/subject/single-model.mjs +2 -0
  72. package/es/subject/single-model.mjs.map +1 -0
  73. package/es/subject/single-state.mjs +2 -0
  74. package/es/subject/single-state.mjs.map +1 -0
  75. package/es/subject/single.mjs +600 -0
  76. package/es/subject/single.mjs.map +1 -0
  77. package/es/subject/sort-controller.mjs +2 -0
  78. package/es/subject/sort-controller.mjs.map +1 -0
  79. package/es/subject/sortable.mjs +30 -0
  80. package/es/subject/sortable.mjs.map +1 -0
  81. package/es/subject/sorting-card.mjs +52 -0
  82. package/es/subject/sorting-card.mjs.map +1 -0
  83. package/es/subject/subject-shared.mjs +2 -0
  84. package/es/subject/subject-shared.mjs.map +1 -0
  85. package/es/subject/text-fill.mjs +395 -0
  86. package/es/subject/text-fill.mjs.map +1 -0
  87. package/es/subject/title-prefix.mjs +2 -0
  88. package/es/subject/title-prefix.mjs.map +1 -0
  89. package/es/subject/types.mjs +2 -0
  90. package/es/subject/types.mjs.map +1 -0
  91. package/lib/base/define.cjs +2 -0
  92. package/lib/base/define.cjs.map +1 -0
  93. package/lib/base/uid.cjs +2 -0
  94. package/lib/base/uid.cjs.map +1 -0
  95. package/lib/data-chart.cjs +143 -0
  96. package/lib/data-chart.cjs.map +1 -0
  97. package/lib/editor/blocksuite-editor.cjs +1126 -0
  98. package/lib/editor/blocksuite-editor.cjs.map +1 -0
  99. package/lib/editor/content-format.cjs +9 -0
  100. package/lib/editor/content-format.cjs.map +1 -0
  101. package/lib/editor/index.cjs +2 -0
  102. package/lib/editor/index.cjs.map +1 -0
  103. package/lib/editor/toolbar.cjs +2 -0
  104. package/lib/editor/toolbar.cjs.map +1 -0
  105. package/lib/entry-data-chart.cjs +2 -0
  106. package/lib/entry-data-chart.cjs.map +1 -0
  107. package/lib/entry-editor.cjs +2 -0
  108. package/lib/entry-editor.cjs.map +1 -0
  109. package/lib/entry-file-upload.cjs +2 -0
  110. package/lib/entry-file-upload.cjs.map +1 -0
  111. package/lib/entry-fixed-action-bar.cjs +2 -0
  112. package/lib/entry-fixed-action-bar.cjs.map +1 -0
  113. package/lib/entry-icon.cjs +2 -0
  114. package/lib/entry-icon.cjs.map +1 -0
  115. package/lib/entry-image-upload.cjs +2 -0
  116. package/lib/entry-image-upload.cjs.map +1 -0
  117. package/lib/entry-photo-crop-tool.cjs +2 -0
  118. package/lib/entry-photo-crop-tool.cjs.map +1 -0
  119. package/lib/entry-subject.cjs +2 -0
  120. package/lib/entry-subject.cjs.map +1 -0
  121. package/lib/file-upload.cjs +164 -0
  122. package/lib/file-upload.cjs.map +1 -0
  123. package/lib/fixed-action-bar.cjs +39 -0
  124. package/lib/fixed-action-bar.cjs.map +1 -0
  125. package/lib/icon.cjs +20 -0
  126. package/lib/icon.cjs.map +1 -0
  127. package/lib/image-upload.cjs +333 -0
  128. package/lib/image-upload.cjs.map +1 -0
  129. package/lib/index.cjs +1 -1
  130. package/lib/index.cjs.map +1 -1
  131. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs +60 -0
  132. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs.map +1 -0
  133. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs +17 -0
  134. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs.map +1 -0
  135. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs +62 -0
  136. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs.map +1 -0
  137. package/lib/photo-crop-tool.cjs +147 -0
  138. package/lib/photo-crop-tool.cjs.map +1 -0
  139. package/lib/subject/action.cjs +171 -0
  140. package/lib/subject/action.cjs.map +1 -0
  141. package/lib/subject/blank-fill.cjs +385 -0
  142. package/lib/subject/blank-fill.cjs.map +1 -0
  143. package/lib/subject/draft.cjs +2 -0
  144. package/lib/subject/draft.cjs.map +1 -0
  145. package/lib/subject/layout.cjs +21 -0
  146. package/lib/subject/layout.cjs.map +1 -0
  147. package/lib/subject/page-end.cjs +28 -0
  148. package/lib/subject/page-end.cjs.map +1 -0
  149. package/lib/subject/pagination.cjs +2 -0
  150. package/lib/subject/pagination.cjs.map +1 -0
  151. package/lib/subject/runtime.cjs +2 -0
  152. package/lib/subject/runtime.cjs.map +1 -0
  153. package/lib/subject/scale.cjs +270 -0
  154. package/lib/subject/scale.cjs.map +1 -0
  155. package/lib/subject/shared-methods.cjs +2 -0
  156. package/lib/subject/shared-methods.cjs.map +1 -0
  157. package/lib/subject/shared-styles.cjs +113 -0
  158. package/lib/subject/shared-styles.cjs.map +1 -0
  159. package/lib/subject/single-interactions.cjs +2 -0
  160. package/lib/subject/single-interactions.cjs.map +1 -0
  161. package/lib/subject/single-model.cjs +2 -0
  162. package/lib/subject/single-model.cjs.map +1 -0
  163. package/lib/subject/single-state.cjs +2 -0
  164. package/lib/subject/single-state.cjs.map +1 -0
  165. package/lib/subject/single.cjs +600 -0
  166. package/lib/subject/single.cjs.map +1 -0
  167. package/lib/subject/sort-controller.cjs +2 -0
  168. package/lib/subject/sort-controller.cjs.map +1 -0
  169. package/lib/subject/sortable.cjs +30 -0
  170. package/lib/subject/sortable.cjs.map +1 -0
  171. package/lib/subject/sorting-card.cjs +52 -0
  172. package/lib/subject/sorting-card.cjs.map +1 -0
  173. package/lib/subject/subject-shared.cjs +2 -0
  174. package/lib/subject/subject-shared.cjs.map +1 -0
  175. package/lib/subject/text-fill.cjs +395 -0
  176. package/lib/subject/text-fill.cjs.map +1 -0
  177. package/lib/subject/title-prefix.cjs +2 -0
  178. package/lib/subject/title-prefix.cjs.map +1 -0
  179. package/lib/subject/types.cjs +2 -0
  180. package/lib/subject/types.cjs.map +1 -0
  181. package/package.json +98 -36
  182. package/types/base/define.d.ts +1 -0
  183. package/types/base/uid.d.ts +1 -0
  184. package/types/data-chart.d.ts +65 -0
  185. package/types/editor/blocksuite-editor.d.ts +193 -0
  186. package/types/editor/content-format.d.ts +4 -0
  187. package/types/editor/index.d.ts +4 -0
  188. package/types/editor/toolbar.d.ts +6 -0
  189. package/types/editor/types.d.ts +42 -0
  190. package/types/entry-data-chart.d.ts +1 -0
  191. package/types/entry-editor.d.ts +2 -0
  192. package/types/entry-file-upload.d.ts +1 -0
  193. package/types/entry-fixed-action-bar.d.ts +1 -0
  194. package/types/entry-icon.d.ts +2 -0
  195. package/types/entry-image-upload.d.ts +1 -0
  196. package/types/entry-photo-crop-tool.d.ts +1 -0
  197. package/types/entry-subject.d.ts +2 -0
  198. package/types/file-upload.d.ts +50 -0
  199. package/types/fixed-action-bar.d.ts +25 -0
  200. package/types/icon.d.ts +30 -0
  201. package/types/image-upload.d.ts +68 -0
  202. package/types/index.d.ts +21 -6
  203. package/types/photo-crop-tool.d.ts +43 -0
  204. package/types/subject/action.d.ts +37 -0
  205. package/types/subject/blank-fill.d.ts +79 -0
  206. package/types/subject/draft.d.ts +63 -0
  207. package/types/subject/index.d.ts +13 -0
  208. package/types/subject/layout.d.ts +7 -0
  209. package/types/subject/page-end.d.ts +16 -0
  210. package/types/subject/pagination.d.ts +23 -0
  211. package/types/subject/runtime.d.ts +12 -0
  212. package/types/subject/scale.d.ts +55 -0
  213. package/types/subject/shared-methods.d.ts +8 -0
  214. package/types/subject/shared-styles.d.ts +5 -0
  215. package/types/subject/single-interactions.d.ts +46 -0
  216. package/types/subject/single-model.d.ts +88 -0
  217. package/types/subject/single-state.d.ts +42 -0
  218. package/types/subject/single.d.ts +210 -0
  219. package/types/subject/sort-controller.d.ts +3 -0
  220. package/types/subject/sortable.d.ts +19 -0
  221. package/types/subject/sorting-card.d.ts +2 -0
  222. package/types/subject/subject-shared.d.ts +43 -0
  223. package/types/subject/text-fill.d.ts +88 -0
  224. package/types/subject/title-prefix.d.ts +2 -0
  225. package/types/subject/types.d.ts +12 -0
  226. package/README.md +0 -566
  227. package/es/_virtual/_commonjsHelpers.mjs +0 -2
  228. package/es/_virtual/_commonjsHelpers.mjs.map +0 -1
  229. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -2
  230. package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
  231. package/es/_virtual/sortable.esm.mjs +0 -2
  232. package/es/_virtual/sortable.esm.mjs.map +0 -1
  233. package/es/_virtual/vuedraggable.umd.mjs +0 -2
  234. package/es/_virtual/vuedraggable.umd.mjs.map +0 -1
  235. package/es/_virtual/vuedraggable.umd2.mjs +0 -2
  236. package/es/_virtual/vuedraggable.umd2.mjs.map +0 -1
  237. package/es/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.mjs +0 -2
  238. package/es/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.mjs.map +0 -1
  239. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs +0 -8
  240. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs.map +0 -1
  241. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -2
  242. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +0 -1
  243. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs +0 -2
  244. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs.map +0 -1
  245. package/es/package.json.mjs +0 -2
  246. package/es/package.json.mjs.map +0 -1
  247. package/es/src/alert/index.mjs +0 -2
  248. package/es/src/alert/index.mjs.map +0 -1
  249. package/es/src/alert/src/alert.mjs +0 -2
  250. package/es/src/alert/src/alert.mjs.map +0 -1
  251. package/es/src/components.mjs +0 -2
  252. package/es/src/components.mjs.map +0 -1
  253. package/es/src/data-chart/index.mjs +0 -2
  254. package/es/src/data-chart/index.mjs.map +0 -1
  255. package/es/src/data-chart/src/analyze.mjs +0 -2
  256. package/es/src/data-chart/src/analyze.mjs.map +0 -1
  257. package/es/src/data-chart/src/components/area.vue.mjs +0 -2
  258. package/es/src/data-chart/src/components/area.vue.mjs.map +0 -1
  259. package/es/src/data-chart/src/components/area.vue2.mjs +0 -2
  260. package/es/src/data-chart/src/components/area.vue2.mjs.map +0 -1
  261. package/es/src/data-chart/src/components/area.vue3.mjs +0 -2
  262. package/es/src/data-chart/src/components/area.vue3.mjs.map +0 -1
  263. package/es/src/data-chart/src/components/bar.vue.mjs +0 -2
  264. package/es/src/data-chart/src/components/bar.vue.mjs.map +0 -1
  265. package/es/src/data-chart/src/components/bar.vue2.mjs +0 -2
  266. package/es/src/data-chart/src/components/bar.vue2.mjs.map +0 -1
  267. package/es/src/data-chart/src/components/bar.vue3.mjs +0 -2
  268. package/es/src/data-chart/src/components/bar.vue3.mjs.map +0 -1
  269. package/es/src/data-chart/src/components/card.vue.mjs +0 -2
  270. package/es/src/data-chart/src/components/card.vue.mjs.map +0 -1
  271. package/es/src/data-chart/src/components/card.vue2.mjs +0 -2
  272. package/es/src/data-chart/src/components/card.vue2.mjs.map +0 -1
  273. package/es/src/data-chart/src/components/card.vue3.mjs +0 -2
  274. package/es/src/data-chart/src/components/card.vue3.mjs.map +0 -1
  275. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs +0 -2
  276. package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs.map +0 -1
  277. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs +0 -2
  278. package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs.map +0 -1
  279. package/es/src/data-chart/src/components/empty.svg.mjs +0 -2
  280. package/es/src/data-chart/src/components/empty.svg.mjs.map +0 -1
  281. package/es/src/data-chart/src/components/empty.vue.mjs +0 -2
  282. package/es/src/data-chart/src/components/empty.vue.mjs.map +0 -1
  283. package/es/src/data-chart/src/components/empty.vue2.mjs +0 -2
  284. package/es/src/data-chart/src/components/empty.vue2.mjs.map +0 -1
  285. package/es/src/data-chart/src/components/funnel.vue.mjs +0 -2
  286. package/es/src/data-chart/src/components/funnel.vue.mjs.map +0 -1
  287. package/es/src/data-chart/src/components/funnel.vue2.mjs +0 -2
  288. package/es/src/data-chart/src/components/funnel.vue2.mjs.map +0 -1
  289. package/es/src/data-chart/src/components/funnel.vue3.mjs +0 -2
  290. package/es/src/data-chart/src/components/funnel.vue3.mjs.map +0 -1
  291. package/es/src/data-chart/src/components/line.vue.mjs +0 -2
  292. package/es/src/data-chart/src/components/line.vue.mjs.map +0 -1
  293. package/es/src/data-chart/src/components/line.vue2.mjs +0 -2
  294. package/es/src/data-chart/src/components/line.vue2.mjs.map +0 -1
  295. package/es/src/data-chart/src/components/line.vue3.mjs +0 -2
  296. package/es/src/data-chart/src/components/line.vue3.mjs.map +0 -1
  297. package/es/src/data-chart/src/components/pie.vue.mjs +0 -2
  298. package/es/src/data-chart/src/components/pie.vue.mjs.map +0 -1
  299. package/es/src/data-chart/src/components/pie.vue2.mjs +0 -2
  300. package/es/src/data-chart/src/components/pie.vue2.mjs.map +0 -1
  301. package/es/src/data-chart/src/components/pie.vue3.mjs +0 -2
  302. package/es/src/data-chart/src/components/pie.vue3.mjs.map +0 -1
  303. package/es/src/data-chart/src/components/radar.vue.mjs +0 -2
  304. package/es/src/data-chart/src/components/radar.vue.mjs.map +0 -1
  305. package/es/src/data-chart/src/components/radar.vue2.mjs +0 -2
  306. package/es/src/data-chart/src/components/radar.vue2.mjs.map +0 -1
  307. package/es/src/data-chart/src/components/radar.vue3.mjs +0 -2
  308. package/es/src/data-chart/src/components/radar.vue3.mjs.map +0 -1
  309. package/es/src/data-chart/src/components/scatter-simple.vue.mjs +0 -2
  310. package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +0 -1
  311. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +0 -2
  312. package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +0 -1
  313. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs +0 -2
  314. package/es/src/data-chart/src/components/scatter-simple.vue3.mjs.map +0 -1
  315. package/es/src/data-chart/src/components/scatter.vue.mjs +0 -2
  316. package/es/src/data-chart/src/components/scatter.vue.mjs.map +0 -1
  317. package/es/src/data-chart/src/components/scatter.vue2.mjs +0 -2
  318. package/es/src/data-chart/src/components/scatter.vue2.mjs.map +0 -1
  319. package/es/src/data-chart/src/components/scatter.vue3.mjs +0 -2
  320. package/es/src/data-chart/src/components/scatter.vue3.mjs.map +0 -1
  321. package/es/src/data-chart/src/components/table.vue.mjs +0 -2
  322. package/es/src/data-chart/src/components/table.vue.mjs.map +0 -1
  323. package/es/src/data-chart/src/components/table.vue2.mjs +0 -2
  324. package/es/src/data-chart/src/components/table.vue2.mjs.map +0 -1
  325. package/es/src/data-chart/src/data-chart.vue.mjs +0 -2
  326. package/es/src/data-chart/src/data-chart.vue.mjs.map +0 -1
  327. package/es/src/data-chart/src/data-chart.vue2.mjs +0 -2
  328. package/es/src/data-chart/src/data-chart.vue2.mjs.map +0 -1
  329. package/es/src/data-chart/src/utils/config.mjs +0 -2
  330. package/es/src/data-chart/src/utils/config.mjs.map +0 -1
  331. package/es/src/data-chart/src/utils/injectionKeys.mjs +0 -2
  332. package/es/src/data-chart/src/utils/injectionKeys.mjs.map +0 -1
  333. package/es/src/data-chart/src/utils/mapData.mjs +0 -2
  334. package/es/src/data-chart/src/utils/mapData.mjs.map +0 -1
  335. package/es/src/data-chart/src/utils/safe-eval.mjs +0 -2
  336. package/es/src/data-chart/src/utils/safe-eval.mjs.map +0 -1
  337. package/es/src/data-chart/src/utils/types.mjs +0 -2
  338. package/es/src/data-chart/src/utils/types.mjs.map +0 -1
  339. package/es/src/data-chart/src/utils/useCharts.mjs +0 -2
  340. package/es/src/data-chart/src/utils/useCharts.mjs.map +0 -1
  341. package/es/src/defaults.mjs +0 -2
  342. package/es/src/defaults.mjs.map +0 -1
  343. package/es/src/dialog/src/dialog.mjs +0 -2
  344. package/es/src/dialog/src/dialog.mjs.map +0 -1
  345. package/es/src/feedback-plugin/index.mjs +0 -2
  346. package/es/src/feedback-plugin/index.mjs.map +0 -1
  347. package/es/src/file-upload/index.mjs +0 -2
  348. package/es/src/file-upload/index.mjs.map +0 -1
  349. package/es/src/file-upload/src/file-upload.vue.mjs +0 -2
  350. package/es/src/file-upload/src/file-upload.vue.mjs.map +0 -1
  351. package/es/src/file-upload/src/file-upload.vue2.mjs +0 -2
  352. package/es/src/file-upload/src/file-upload.vue2.mjs.map +0 -1
  353. package/es/src/file-upload/src/file-upload.vue3.mjs +0 -2
  354. package/es/src/file-upload/src/file-upload.vue3.mjs.map +0 -1
  355. package/es/src/fixed-action-bar/index.mjs +0 -2
  356. package/es/src/fixed-action-bar/index.mjs.map +0 -1
  357. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +0 -2
  358. package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +0 -1
  359. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +0 -2
  360. package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +0 -1
  361. package/es/src/icon/index.mjs +0 -2
  362. package/es/src/icon/index.mjs.map +0 -1
  363. package/es/src/icon/src/icon.mjs +0 -2
  364. package/es/src/icon/src/icon.mjs.map +0 -1
  365. package/es/src/image-upload/index.mjs +0 -2
  366. package/es/src/image-upload/index.mjs.map +0 -1
  367. package/es/src/image-upload/src/image-upload.vue.mjs +0 -2
  368. package/es/src/image-upload/src/image-upload.vue.mjs.map +0 -1
  369. package/es/src/image-upload/src/image-upload.vue2.mjs +0 -2
  370. package/es/src/image-upload/src/image-upload.vue2.mjs.map +0 -1
  371. package/es/src/image-upload/src/image-upload.vue3.mjs +0 -2
  372. package/es/src/image-upload/src/image-upload.vue3.mjs.map +0 -1
  373. package/es/src/make-installer.mjs +0 -2
  374. package/es/src/make-installer.mjs.map +0 -1
  375. package/es/src/message/src/message.mjs +0 -2
  376. package/es/src/message/src/message.mjs.map +0 -1
  377. package/es/src/photo-crop-tool/index.mjs +0 -2
  378. package/es/src/photo-crop-tool/index.mjs.map +0 -1
  379. package/es/src/photo-crop-tool/src/composables.mjs +0 -2
  380. package/es/src/photo-crop-tool/src/composables.mjs.map +0 -1
  381. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +0 -2
  382. package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +0 -1
  383. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +0 -2
  384. package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +0 -1
  385. package/es/src/subject-action/index.mjs +0 -2
  386. package/es/src/subject-action/index.mjs.map +0 -1
  387. package/es/src/subject-action/src/subject-action.vue.mjs +0 -2
  388. package/es/src/subject-action/src/subject-action.vue.mjs.map +0 -1
  389. package/es/src/subject-action/src/subject-action.vue2.mjs +0 -2
  390. package/es/src/subject-action/src/subject-action.vue2.mjs.map +0 -1
  391. package/es/src/subject-layout/index.mjs +0 -2
  392. package/es/src/subject-layout/index.mjs.map +0 -1
  393. package/es/src/subject-layout/src/subject-layout.vue.mjs +0 -2
  394. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +0 -1
  395. package/es/src/subject-layout/src/subject-layout.vue2.mjs +0 -2
  396. package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +0 -1
  397. package/es/src/subject-list/index.mjs +0 -2
  398. package/es/src/subject-list/index.mjs.map +0 -1
  399. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +0 -2
  400. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +0 -1
  401. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +0 -2
  402. package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +0 -1
  403. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +0 -2
  404. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +0 -1
  405. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +0 -2
  406. package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +0 -1
  407. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +0 -2
  408. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +0 -1
  409. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +0 -2
  410. package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +0 -1
  411. package/es/src/subject-list/src/components/subject-scale.vue.mjs +0 -2
  412. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +0 -1
  413. package/es/src/subject-list/src/components/subject-scale.vue2.mjs +0 -2
  414. package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +0 -1
  415. package/es/src/subject-list/src/components/subject-single.vue.mjs +0 -2
  416. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +0 -1
  417. package/es/src/subject-list/src/components/subject-single.vue2.mjs +0 -2
  418. package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +0 -1
  419. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +0 -2
  420. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +0 -1
  421. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +0 -2
  422. package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +0 -1
  423. package/es/src/subject-list/src/subject-list.vue.mjs +0 -2
  424. package/es/src/subject-list/src/subject-list.vue.mjs.map +0 -1
  425. package/es/src/subject-list/src/subject-list.vue2.mjs +0 -2
  426. package/es/src/subject-list/src/subject-list.vue2.mjs.map +0 -1
  427. package/es/src/subject-type/index.mjs +0 -2
  428. package/es/src/subject-type/index.mjs.map +0 -1
  429. package/es/src/subject-type/src/subject-type.vue.mjs +0 -2
  430. package/es/src/subject-type/src/subject-type.vue.mjs.map +0 -1
  431. package/es/src/subject-type/src/subject-type.vue2.mjs +0 -2
  432. package/es/src/subject-type/src/subject-type.vue2.mjs.map +0 -1
  433. package/es/src/tiny-mce-editor/index.mjs +0 -2
  434. package/es/src/tiny-mce-editor/index.mjs.map +0 -1
  435. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +0 -2
  436. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +0 -1
  437. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +0 -2
  438. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +0 -1
  439. package/es/src/ui/button/index.mjs +0 -2
  440. package/es/src/ui/button/index.mjs.map +0 -1
  441. package/es/src/ui/checkbox/index.mjs +0 -2
  442. package/es/src/ui/checkbox/index.mjs.map +0 -1
  443. package/es/src/ui/dialog/index.mjs +0 -2
  444. package/es/src/ui/dialog/index.mjs.map +0 -1
  445. package/es/src/ui/input/index.mjs +0 -2
  446. package/es/src/ui/input/index.mjs.map +0 -1
  447. package/es/src/ui/input-number/index.mjs +0 -2
  448. package/es/src/ui/input-number/index.mjs.map +0 -1
  449. package/es/src/ui/layout/index.mjs +0 -2
  450. package/es/src/ui/layout/index.mjs.map +0 -1
  451. package/es/src/ui/link/index.mjs +0 -2
  452. package/es/src/ui/link/index.mjs.map +0 -1
  453. package/es/src/ui/popover/index.mjs +0 -2
  454. package/es/src/ui/popover/index.mjs.map +0 -1
  455. package/es/src/ui/radio/index.mjs +0 -2
  456. package/es/src/ui/radio/index.mjs.map +0 -1
  457. package/es/src/ui/scrollbar/index.mjs +0 -2
  458. package/es/src/ui/scrollbar/index.mjs.map +0 -1
  459. package/es/src/ui/select/index.mjs +0 -2
  460. package/es/src/ui/select/index.mjs.map +0 -1
  461. package/es/src/ui/table/index.mjs +0 -2
  462. package/es/src/ui/table/index.mjs.map +0 -1
  463. package/es/src/ui/tag/index.mjs +0 -2
  464. package/es/src/ui/tag/index.mjs.map +0 -1
  465. package/es/src/withInstall.mjs +0 -2
  466. package/es/src/withInstall.mjs.map +0 -1
  467. package/lib/_virtual/_commonjsHelpers.cjs +0 -2
  468. package/lib/_virtual/_commonjsHelpers.cjs.map +0 -1
  469. package/lib/_virtual/_plugin-vue_export-helper.cjs +0 -2
  470. package/lib/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
  471. package/lib/_virtual/sortable.esm.cjs +0 -2
  472. package/lib/_virtual/sortable.esm.cjs.map +0 -1
  473. package/lib/_virtual/vuedraggable.umd.cjs +0 -2
  474. package/lib/_virtual/vuedraggable.umd.cjs.map +0 -1
  475. package/lib/_virtual/vuedraggable.umd2.cjs +0 -2
  476. package/lib/_virtual/vuedraggable.umd2.cjs.map +0 -1
  477. package/lib/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.cjs +0 -2
  478. package/lib/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.cjs.map +0 -1
  479. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs +0 -9
  480. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs.map +0 -1
  481. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs +0 -2
  482. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +0 -1
  483. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs +0 -2
  484. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs.map +0 -1
  485. package/lib/package.json.cjs +0 -2
  486. package/lib/package.json.cjs.map +0 -1
  487. package/lib/src/alert/index.cjs +0 -2
  488. package/lib/src/alert/index.cjs.map +0 -1
  489. package/lib/src/alert/src/alert.cjs +0 -2
  490. package/lib/src/alert/src/alert.cjs.map +0 -1
  491. package/lib/src/components.cjs +0 -2
  492. package/lib/src/components.cjs.map +0 -1
  493. package/lib/src/data-chart/index.cjs +0 -2
  494. package/lib/src/data-chart/index.cjs.map +0 -1
  495. package/lib/src/data-chart/src/analyze.cjs +0 -2
  496. package/lib/src/data-chart/src/analyze.cjs.map +0 -1
  497. package/lib/src/data-chart/src/components/area.vue.cjs +0 -2
  498. package/lib/src/data-chart/src/components/area.vue.cjs.map +0 -1
  499. package/lib/src/data-chart/src/components/area.vue2.cjs +0 -2
  500. package/lib/src/data-chart/src/components/area.vue2.cjs.map +0 -1
  501. package/lib/src/data-chart/src/components/area.vue3.cjs +0 -2
  502. package/lib/src/data-chart/src/components/area.vue3.cjs.map +0 -1
  503. package/lib/src/data-chart/src/components/bar.vue.cjs +0 -2
  504. package/lib/src/data-chart/src/components/bar.vue.cjs.map +0 -1
  505. package/lib/src/data-chart/src/components/bar.vue2.cjs +0 -2
  506. package/lib/src/data-chart/src/components/bar.vue2.cjs.map +0 -1
  507. package/lib/src/data-chart/src/components/bar.vue3.cjs +0 -2
  508. package/lib/src/data-chart/src/components/bar.vue3.cjs.map +0 -1
  509. package/lib/src/data-chart/src/components/card.vue.cjs +0 -2
  510. package/lib/src/data-chart/src/components/card.vue.cjs.map +0 -1
  511. package/lib/src/data-chart/src/components/card.vue2.cjs +0 -2
  512. package/lib/src/data-chart/src/components/card.vue2.cjs.map +0 -1
  513. package/lib/src/data-chart/src/components/card.vue3.cjs +0 -2
  514. package/lib/src/data-chart/src/components/card.vue3.cjs.map +0 -1
  515. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs +0 -2
  516. package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs.map +0 -1
  517. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs +0 -2
  518. package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs.map +0 -1
  519. package/lib/src/data-chart/src/components/empty.svg.cjs +0 -2
  520. package/lib/src/data-chart/src/components/empty.svg.cjs.map +0 -1
  521. package/lib/src/data-chart/src/components/empty.vue.cjs +0 -2
  522. package/lib/src/data-chart/src/components/empty.vue.cjs.map +0 -1
  523. package/lib/src/data-chart/src/components/empty.vue2.cjs +0 -2
  524. package/lib/src/data-chart/src/components/empty.vue2.cjs.map +0 -1
  525. package/lib/src/data-chart/src/components/funnel.vue.cjs +0 -2
  526. package/lib/src/data-chart/src/components/funnel.vue.cjs.map +0 -1
  527. package/lib/src/data-chart/src/components/funnel.vue2.cjs +0 -2
  528. package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +0 -1
  529. package/lib/src/data-chart/src/components/funnel.vue3.cjs +0 -2
  530. package/lib/src/data-chart/src/components/funnel.vue3.cjs.map +0 -1
  531. package/lib/src/data-chart/src/components/line.vue.cjs +0 -2
  532. package/lib/src/data-chart/src/components/line.vue.cjs.map +0 -1
  533. package/lib/src/data-chart/src/components/line.vue2.cjs +0 -2
  534. package/lib/src/data-chart/src/components/line.vue2.cjs.map +0 -1
  535. package/lib/src/data-chart/src/components/line.vue3.cjs +0 -2
  536. package/lib/src/data-chart/src/components/line.vue3.cjs.map +0 -1
  537. package/lib/src/data-chart/src/components/pie.vue.cjs +0 -2
  538. package/lib/src/data-chart/src/components/pie.vue.cjs.map +0 -1
  539. package/lib/src/data-chart/src/components/pie.vue2.cjs +0 -2
  540. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +0 -1
  541. package/lib/src/data-chart/src/components/pie.vue3.cjs +0 -2
  542. package/lib/src/data-chart/src/components/pie.vue3.cjs.map +0 -1
  543. package/lib/src/data-chart/src/components/radar.vue.cjs +0 -2
  544. package/lib/src/data-chart/src/components/radar.vue.cjs.map +0 -1
  545. package/lib/src/data-chart/src/components/radar.vue2.cjs +0 -2
  546. package/lib/src/data-chart/src/components/radar.vue2.cjs.map +0 -1
  547. package/lib/src/data-chart/src/components/radar.vue3.cjs +0 -2
  548. package/lib/src/data-chart/src/components/radar.vue3.cjs.map +0 -1
  549. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +0 -2
  550. package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +0 -1
  551. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +0 -2
  552. package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +0 -1
  553. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs +0 -2
  554. package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs.map +0 -1
  555. package/lib/src/data-chart/src/components/scatter.vue.cjs +0 -2
  556. package/lib/src/data-chart/src/components/scatter.vue.cjs.map +0 -1
  557. package/lib/src/data-chart/src/components/scatter.vue2.cjs +0 -2
  558. package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +0 -1
  559. package/lib/src/data-chart/src/components/scatter.vue3.cjs +0 -2
  560. package/lib/src/data-chart/src/components/scatter.vue3.cjs.map +0 -1
  561. package/lib/src/data-chart/src/components/table.vue.cjs +0 -2
  562. package/lib/src/data-chart/src/components/table.vue.cjs.map +0 -1
  563. package/lib/src/data-chart/src/components/table.vue2.cjs +0 -2
  564. package/lib/src/data-chart/src/components/table.vue2.cjs.map +0 -1
  565. package/lib/src/data-chart/src/data-chart.vue.cjs +0 -2
  566. package/lib/src/data-chart/src/data-chart.vue.cjs.map +0 -1
  567. package/lib/src/data-chart/src/data-chart.vue2.cjs +0 -2
  568. package/lib/src/data-chart/src/data-chart.vue2.cjs.map +0 -1
  569. package/lib/src/data-chart/src/utils/config.cjs +0 -2
  570. package/lib/src/data-chart/src/utils/config.cjs.map +0 -1
  571. package/lib/src/data-chart/src/utils/injectionKeys.cjs +0 -2
  572. package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +0 -1
  573. package/lib/src/data-chart/src/utils/mapData.cjs +0 -2
  574. package/lib/src/data-chart/src/utils/mapData.cjs.map +0 -1
  575. package/lib/src/data-chart/src/utils/safe-eval.cjs +0 -2
  576. package/lib/src/data-chart/src/utils/safe-eval.cjs.map +0 -1
  577. package/lib/src/data-chart/src/utils/types.cjs +0 -2
  578. package/lib/src/data-chart/src/utils/types.cjs.map +0 -1
  579. package/lib/src/data-chart/src/utils/useCharts.cjs +0 -2
  580. package/lib/src/data-chart/src/utils/useCharts.cjs.map +0 -1
  581. package/lib/src/defaults.cjs +0 -2
  582. package/lib/src/defaults.cjs.map +0 -1
  583. package/lib/src/dialog/src/dialog.cjs +0 -2
  584. package/lib/src/dialog/src/dialog.cjs.map +0 -1
  585. package/lib/src/feedback-plugin/index.cjs +0 -2
  586. package/lib/src/feedback-plugin/index.cjs.map +0 -1
  587. package/lib/src/file-upload/index.cjs +0 -2
  588. package/lib/src/file-upload/index.cjs.map +0 -1
  589. package/lib/src/file-upload/src/file-upload.vue.cjs +0 -2
  590. package/lib/src/file-upload/src/file-upload.vue.cjs.map +0 -1
  591. package/lib/src/file-upload/src/file-upload.vue2.cjs +0 -2
  592. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +0 -1
  593. package/lib/src/file-upload/src/file-upload.vue3.cjs +0 -2
  594. package/lib/src/file-upload/src/file-upload.vue3.cjs.map +0 -1
  595. package/lib/src/fixed-action-bar/index.cjs +0 -2
  596. package/lib/src/fixed-action-bar/index.cjs.map +0 -1
  597. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +0 -2
  598. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +0 -1
  599. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +0 -2
  600. package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +0 -1
  601. package/lib/src/icon/index.cjs +0 -2
  602. package/lib/src/icon/index.cjs.map +0 -1
  603. package/lib/src/icon/src/icon.cjs +0 -2
  604. package/lib/src/icon/src/icon.cjs.map +0 -1
  605. package/lib/src/image-upload/index.cjs +0 -2
  606. package/lib/src/image-upload/index.cjs.map +0 -1
  607. package/lib/src/image-upload/src/image-upload.vue.cjs +0 -2
  608. package/lib/src/image-upload/src/image-upload.vue.cjs.map +0 -1
  609. package/lib/src/image-upload/src/image-upload.vue2.cjs +0 -2
  610. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +0 -1
  611. package/lib/src/image-upload/src/image-upload.vue3.cjs +0 -2
  612. package/lib/src/image-upload/src/image-upload.vue3.cjs.map +0 -1
  613. package/lib/src/make-installer.cjs +0 -2
  614. package/lib/src/make-installer.cjs.map +0 -1
  615. package/lib/src/message/src/message.cjs +0 -2
  616. package/lib/src/message/src/message.cjs.map +0 -1
  617. package/lib/src/photo-crop-tool/index.cjs +0 -2
  618. package/lib/src/photo-crop-tool/index.cjs.map +0 -1
  619. package/lib/src/photo-crop-tool/src/composables.cjs +0 -2
  620. package/lib/src/photo-crop-tool/src/composables.cjs.map +0 -1
  621. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +0 -2
  622. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +0 -1
  623. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +0 -2
  624. package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +0 -1
  625. package/lib/src/subject-action/index.cjs +0 -2
  626. package/lib/src/subject-action/index.cjs.map +0 -1
  627. package/lib/src/subject-action/src/subject-action.vue.cjs +0 -2
  628. package/lib/src/subject-action/src/subject-action.vue.cjs.map +0 -1
  629. package/lib/src/subject-action/src/subject-action.vue2.cjs +0 -2
  630. package/lib/src/subject-action/src/subject-action.vue2.cjs.map +0 -1
  631. package/lib/src/subject-layout/index.cjs +0 -2
  632. package/lib/src/subject-layout/index.cjs.map +0 -1
  633. package/lib/src/subject-layout/src/subject-layout.vue.cjs +0 -2
  634. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +0 -1
  635. package/lib/src/subject-layout/src/subject-layout.vue2.cjs +0 -2
  636. package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +0 -1
  637. package/lib/src/subject-list/index.cjs +0 -2
  638. package/lib/src/subject-list/index.cjs.map +0 -1
  639. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +0 -2
  640. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +0 -1
  641. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +0 -2
  642. package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +0 -1
  643. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +0 -2
  644. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +0 -1
  645. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +0 -2
  646. package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +0 -1
  647. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +0 -2
  648. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +0 -1
  649. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +0 -2
  650. package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +0 -1
  651. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +0 -2
  652. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +0 -1
  653. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +0 -2
  654. package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +0 -1
  655. package/lib/src/subject-list/src/components/subject-single.vue.cjs +0 -2
  656. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +0 -1
  657. package/lib/src/subject-list/src/components/subject-single.vue2.cjs +0 -2
  658. package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +0 -1
  659. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +0 -2
  660. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +0 -1
  661. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +0 -2
  662. package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +0 -1
  663. package/lib/src/subject-list/src/subject-list.vue.cjs +0 -2
  664. package/lib/src/subject-list/src/subject-list.vue.cjs.map +0 -1
  665. package/lib/src/subject-list/src/subject-list.vue2.cjs +0 -2
  666. package/lib/src/subject-list/src/subject-list.vue2.cjs.map +0 -1
  667. package/lib/src/subject-type/index.cjs +0 -2
  668. package/lib/src/subject-type/index.cjs.map +0 -1
  669. package/lib/src/subject-type/src/subject-type.vue.cjs +0 -2
  670. package/lib/src/subject-type/src/subject-type.vue.cjs.map +0 -1
  671. package/lib/src/subject-type/src/subject-type.vue2.cjs +0 -2
  672. package/lib/src/subject-type/src/subject-type.vue2.cjs.map +0 -1
  673. package/lib/src/tiny-mce-editor/index.cjs +0 -2
  674. package/lib/src/tiny-mce-editor/index.cjs.map +0 -1
  675. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +0 -2
  676. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +0 -1
  677. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +0 -2
  678. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +0 -1
  679. package/lib/src/ui/button/index.cjs +0 -2
  680. package/lib/src/ui/button/index.cjs.map +0 -1
  681. package/lib/src/ui/checkbox/index.cjs +0 -2
  682. package/lib/src/ui/checkbox/index.cjs.map +0 -1
  683. package/lib/src/ui/dialog/index.cjs +0 -2
  684. package/lib/src/ui/dialog/index.cjs.map +0 -1
  685. package/lib/src/ui/input/index.cjs +0 -2
  686. package/lib/src/ui/input/index.cjs.map +0 -1
  687. package/lib/src/ui/input-number/index.cjs +0 -2
  688. package/lib/src/ui/input-number/index.cjs.map +0 -1
  689. package/lib/src/ui/layout/index.cjs +0 -2
  690. package/lib/src/ui/layout/index.cjs.map +0 -1
  691. package/lib/src/ui/link/index.cjs +0 -2
  692. package/lib/src/ui/link/index.cjs.map +0 -1
  693. package/lib/src/ui/popover/index.cjs +0 -2
  694. package/lib/src/ui/popover/index.cjs.map +0 -1
  695. package/lib/src/ui/radio/index.cjs +0 -2
  696. package/lib/src/ui/radio/index.cjs.map +0 -1
  697. package/lib/src/ui/scrollbar/index.cjs +0 -2
  698. package/lib/src/ui/scrollbar/index.cjs.map +0 -1
  699. package/lib/src/ui/select/index.cjs +0 -2
  700. package/lib/src/ui/select/index.cjs.map +0 -1
  701. package/lib/src/ui/table/index.cjs +0 -2
  702. package/lib/src/ui/table/index.cjs.map +0 -1
  703. package/lib/src/ui/tag/index.cjs +0 -2
  704. package/lib/src/ui/tag/index.cjs.map +0 -1
  705. package/lib/src/withInstall.cjs +0 -2
  706. package/lib/src/withInstall.cjs.map +0 -1
  707. package/theme-chalk/index.css +0 -1
  708. package/theme-chalk/index.scss +0 -21
  709. package/theme-chalk/src/base.css +0 -1
  710. package/theme-chalk/src/base.scss +0 -16
  711. package/theme-chalk/src/common/qxs-components.css +0 -1
  712. package/theme-chalk/src/common/qxs-components.scss +0 -4
  713. package/theme-chalk/src/common/qxs-variables.css +0 -1
  714. package/theme-chalk/src/common/qxs-variables.scss +0 -81
  715. package/theme-chalk/src/data-chart/empty.css +0 -1
  716. package/theme-chalk/src/data-chart/empty.scss +0 -24
  717. package/theme-chalk/src/data-chart/index.css +0 -1
  718. package/theme-chalk/src/data-chart/index.scss +0 -11
  719. package/theme-chalk/src/data-chart/table.css +0 -1
  720. package/theme-chalk/src/data-chart/table.scss +0 -43
  721. package/theme-chalk/src/dialog.css +0 -1
  722. package/theme-chalk/src/dialog.scss +0 -122
  723. package/theme-chalk/src/file-upload.css +0 -0
  724. package/theme-chalk/src/file-upload.scss +0 -7
  725. package/theme-chalk/src/fixed-action-bar.css +0 -1
  726. package/theme-chalk/src/fixed-action-bar.scss +0 -18
  727. package/theme-chalk/src/icon.css +0 -1
  728. package/theme-chalk/src/icon.scss +0 -35
  729. package/theme-chalk/src/image-upload.css +0 -1
  730. package/theme-chalk/src/image-upload.scss +0 -149
  731. package/theme-chalk/src/mixins/_var.css +0 -0
  732. package/theme-chalk/src/mixins/_var.scss +0 -24
  733. package/theme-chalk/src/mixins/config.css +0 -0
  734. package/theme-chalk/src/mixins/config.scss +0 -12
  735. package/theme-chalk/src/mixins/function.css +0 -0
  736. package/theme-chalk/src/mixins/function.scss +0 -95
  737. package/theme-chalk/src/mixins/mixins.css +0 -0
  738. package/theme-chalk/src/mixins/mixins.scss +0 -102
  739. package/theme-chalk/src/normalize.css +0 -1
  740. package/theme-chalk/src/normalize.scss +0 -11
  741. package/theme-chalk/src/photo-crop-tool.css +0 -1
  742. package/theme-chalk/src/photo-crop-tool.scss +0 -98
  743. package/theme-chalk/src/subject-action.css +0 -1
  744. package/theme-chalk/src/subject-action.scss +0 -78
  745. package/theme-chalk/src/subject-layout.css +0 -1
  746. package/theme-chalk/src/subject-layout.scss +0 -28
  747. package/theme-chalk/src/subject-list.css +0 -1
  748. package/theme-chalk/src/subject-list.scss +0 -568
  749. package/theme-chalk/src/subject-template.css +0 -1
  750. package/theme-chalk/src/subject-template.scss +0 -5
  751. package/theme-chalk/src/subject-type.css +0 -1
  752. package/theme-chalk/src/subject-type.scss +0 -42
  753. package/theme-chalk/src/tiny-mce-editor.css +0 -1
  754. package/theme-chalk/src/tiny-mce-editor.scss +0 -29
  755. package/theme-chalk/src/ui/button.css +0 -1
  756. package/theme-chalk/src/ui/button.scss +0 -173
  757. package/theme-chalk/src/ui/input.css +0 -1
  758. package/theme-chalk/src/ui/input.scss +0 -128
  759. package/theme-chalk/src/ui/table.css +0 -1
  760. package/theme-chalk/src/ui/table.scss +0 -166
  761. package/types/index.d.ts.map +0 -1
  762. package/types/src/alert/index.d.ts +0 -66
  763. package/types/src/alert/index.d.ts.map +0 -1
  764. package/types/src/alert/src/alert.d.ts +0 -73
  765. package/types/src/alert/src/alert.d.ts.map +0 -1
  766. package/types/src/components.d.ts +0 -15
  767. package/types/src/components.d.ts.map +0 -1
  768. package/types/src/data-chart/index.d.ts +0 -29
  769. package/types/src/data-chart/index.d.ts.map +0 -1
  770. package/types/src/data-chart/src/analyze.d.ts +0 -23
  771. package/types/src/data-chart/src/analyze.d.ts.map +0 -1
  772. package/types/src/data-chart/src/components/area.vue.d.ts +0 -12
  773. package/types/src/data-chart/src/components/area.vue.d.ts.map +0 -1
  774. package/types/src/data-chart/src/components/bar.vue.d.ts +0 -12
  775. package/types/src/data-chart/src/components/bar.vue.d.ts.map +0 -1
  776. package/types/src/data-chart/src/components/card.vue.d.ts +0 -27
  777. package/types/src/data-chart/src/components/card.vue.d.ts.map +0 -1
  778. package/types/src/data-chart/src/components/empty.vue.d.ts +0 -11
  779. package/types/src/data-chart/src/components/empty.vue.d.ts.map +0 -1
  780. package/types/src/data-chart/src/components/funnel.vue.d.ts +0 -11
  781. package/types/src/data-chart/src/components/funnel.vue.d.ts.map +0 -1
  782. package/types/src/data-chart/src/components/line.vue.d.ts +0 -12
  783. package/types/src/data-chart/src/components/line.vue.d.ts.map +0 -1
  784. package/types/src/data-chart/src/components/pie.vue.d.ts +0 -12
  785. package/types/src/data-chart/src/components/pie.vue.d.ts.map +0 -1
  786. package/types/src/data-chart/src/components/radar.vue.d.ts +0 -11
  787. package/types/src/data-chart/src/components/radar.vue.d.ts.map +0 -1
  788. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts +0 -11
  789. package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +0 -1
  790. package/types/src/data-chart/src/components/scatter.vue.d.ts +0 -11
  791. package/types/src/data-chart/src/components/scatter.vue.d.ts.map +0 -1
  792. package/types/src/data-chart/src/components/table.vue.d.ts +0 -27
  793. package/types/src/data-chart/src/components/table.vue.d.ts.map +0 -1
  794. package/types/src/data-chart/src/data-chart.vue.d.ts +0 -28
  795. package/types/src/data-chart/src/data-chart.vue.d.ts.map +0 -1
  796. package/types/src/data-chart/src/utils/config.d.ts +0 -41
  797. package/types/src/data-chart/src/utils/config.d.ts.map +0 -1
  798. package/types/src/data-chart/src/utils/injectionKeys.d.ts +0 -3
  799. package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +0 -1
  800. package/types/src/data-chart/src/utils/mapData.d.ts +0 -64
  801. package/types/src/data-chart/src/utils/mapData.d.ts.map +0 -1
  802. package/types/src/data-chart/src/utils/safe-eval.d.ts +0 -9
  803. package/types/src/data-chart/src/utils/safe-eval.d.ts.map +0 -1
  804. package/types/src/data-chart/src/utils/types.d.ts +0 -72
  805. package/types/src/data-chart/src/utils/types.d.ts.map +0 -1
  806. package/types/src/data-chart/src/utils/useCharts.d.ts +0 -16
  807. package/types/src/data-chart/src/utils/useCharts.d.ts.map +0 -1
  808. package/types/src/defaults.d.ts +0 -6
  809. package/types/src/defaults.d.ts.map +0 -1
  810. package/types/src/dialog/index.d.ts +0 -3
  811. package/types/src/dialog/index.d.ts.map +0 -1
  812. package/types/src/dialog/src/dialog.d.ts +0 -25
  813. package/types/src/dialog/src/dialog.d.ts.map +0 -1
  814. package/types/src/feedback-plugin/index.d.ts +0 -9
  815. package/types/src/feedback-plugin/index.d.ts.map +0 -1
  816. package/types/src/file-upload/index.d.ts +0 -19
  817. package/types/src/file-upload/index.d.ts.map +0 -1
  818. package/types/src/file-upload/src/file-upload.vue.d.ts +0 -34
  819. package/types/src/file-upload/src/file-upload.vue.d.ts.map +0 -1
  820. package/types/src/fixed-action-bar/index.d.ts +0 -56
  821. package/types/src/fixed-action-bar/index.d.ts.map +0 -1
  822. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +0 -31
  823. package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +0 -1
  824. package/types/src/icon/index.d.ts +0 -56
  825. package/types/src/icon/index.d.ts.map +0 -1
  826. package/types/src/icon/src/icon.d.ts +0 -62
  827. package/types/src/icon/src/icon.d.ts.map +0 -1
  828. package/types/src/image-upload/index.d.ts +0 -27
  829. package/types/src/image-upload/index.d.ts.map +0 -1
  830. package/types/src/image-upload/src/image-upload.vue.d.ts +0 -49
  831. package/types/src/image-upload/src/image-upload.vue.d.ts.map +0 -1
  832. package/types/src/make-installer.d.ts +0 -6
  833. package/types/src/make-installer.d.ts.map +0 -1
  834. package/types/src/message/index.d.ts +0 -3
  835. package/types/src/message/index.d.ts.map +0 -1
  836. package/types/src/message/src/message.d.ts +0 -21
  837. package/types/src/message/src/message.d.ts.map +0 -1
  838. package/types/src/message/src/toaster.vue.d.ts +0 -3
  839. package/types/src/message/src/toaster.vue.d.ts.map +0 -1
  840. package/types/src/photo-crop-tool/index.d.ts +0 -55
  841. package/types/src/photo-crop-tool/index.d.ts.map +0 -1
  842. package/types/src/photo-crop-tool/src/composables.d.ts +0 -7
  843. package/types/src/photo-crop-tool/src/composables.d.ts.map +0 -1
  844. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +0 -65
  845. package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +0 -1
  846. package/types/src/subject-action/index.d.ts +0 -93
  847. package/types/src/subject-action/index.d.ts.map +0 -1
  848. package/types/src/subject-action/src/subject-action.vue.d.ts +0 -92
  849. package/types/src/subject-action/src/subject-action.vue.d.ts.map +0 -1
  850. package/types/src/subject-layout/index.d.ts +0 -30
  851. package/types/src/subject-layout/index.d.ts.map +0 -1
  852. package/types/src/subject-layout/src/subject-layout.vue.d.ts +0 -20
  853. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +0 -1
  854. package/types/src/subject-list/index.d.ts +0 -20
  855. package/types/src/subject-list/index.d.ts.map +0 -1
  856. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +0 -24
  857. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +0 -1
  858. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +0 -25
  859. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +0 -1
  860. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +0 -32
  861. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +0 -1
  862. package/types/src/subject-list/src/components/subject-scale.vue.d.ts +0 -29
  863. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +0 -1
  864. package/types/src/subject-list/src/components/subject-single.vue.d.ts +0 -37
  865. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +0 -1
  866. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +0 -34
  867. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +0 -1
  868. package/types/src/subject-list/src/subject-list.vue.d.ts +0 -21
  869. package/types/src/subject-list/src/subject-list.vue.d.ts.map +0 -1
  870. package/types/src/subject-type/index.d.ts +0 -8
  871. package/types/src/subject-type/index.d.ts.map +0 -1
  872. package/types/src/subject-type/src/subject-type.vue.d.ts +0 -7
  873. package/types/src/subject-type/src/subject-type.vue.d.ts.map +0 -1
  874. package/types/src/tiny-mce-editor/index.d.ts +0 -20
  875. package/types/src/tiny-mce-editor/index.d.ts.map +0 -1
  876. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +0 -32
  877. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +0 -1
  878. package/types/src/ui/button/index.d.ts +0 -96
  879. package/types/src/ui/button/index.d.ts.map +0 -1
  880. package/types/src/ui/checkbox/index.d.ts +0 -111
  881. package/types/src/ui/checkbox/index.d.ts.map +0 -1
  882. package/types/src/ui/dialog/index.d.ts +0 -134
  883. package/types/src/ui/dialog/index.d.ts.map +0 -1
  884. package/types/src/ui/index.d.ts +0 -16
  885. package/types/src/ui/index.d.ts.map +0 -1
  886. package/types/src/ui/input/index.d.ts +0 -132
  887. package/types/src/ui/input/index.d.ts.map +0 -1
  888. package/types/src/ui/input-number/index.d.ts +0 -106
  889. package/types/src/ui/input-number/index.d.ts.map +0 -1
  890. package/types/src/ui/layout/index.d.ts +0 -373
  891. package/types/src/ui/layout/index.d.ts.map +0 -1
  892. package/types/src/ui/link/index.d.ts +0 -57
  893. package/types/src/ui/link/index.d.ts.map +0 -1
  894. package/types/src/ui/popover/index.d.ts +0 -89
  895. package/types/src/ui/popover/index.d.ts.map +0 -1
  896. package/types/src/ui/radio/index.d.ts +0 -84
  897. package/types/src/ui/radio/index.d.ts.map +0 -1
  898. package/types/src/ui/scrollbar/index.d.ts +0 -35
  899. package/types/src/ui/scrollbar/index.d.ts.map +0 -1
  900. package/types/src/ui/select/index.d.ts +0 -113
  901. package/types/src/ui/select/index.d.ts.map +0 -1
  902. package/types/src/ui/table/index.d.ts +0 -152
  903. package/types/src/ui/table/index.d.ts.map +0 -1
  904. package/types/src/ui/tag/index.d.ts +0 -69
  905. package/types/src/ui/tag/index.d.ts.map +0 -1
  906. package/types/src/withInstall.d.ts +0 -4
  907. package/types/src/withInstall.d.ts.map +0 -1
  908. package/types/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,147 @@
1
+ import{css as b,LitElement as v,html as f}from"lit";import{property as u,state as y,query as R}from"lit/decorators.js";import{styleMap as x}from"lit/directives/style-map.js";import{safeCustomElement as z}from"./base/define.mjs";var M=Object.defineProperty,S=Object.getOwnPropertyDescriptor,d=(e,t,i,h)=>{for(var r=h>1?void 0:h?S(t,i):t,s=e.length-1,o;s>=0;s--)(o=e[s])&&(r=(h?o(t,i,r):o(r))||r);return h&&r&&M(t,i,r),r};function c(e,t,i){return Math.min(Math.max(e,t),i)}function w(e){const[t,i]=e.split("/").map(h=>Number.parseFloat(h.trim()));return!t||!i||Number.isNaN(t)||Number.isNaN(i)?16/9:t/i}let g=class extends v{constructor(){super(...arguments),this.imgFile=null,this.aspectRatio="16 / 9",this.defaultWidth=320,this.defaultHeight=180,this.zoomType="fixed",this._errorMessage="",this._imageUrl="",this._cropRect={x:0,y:0,width:320,height:180},this._imageRect={x:0,y:0,width:0,height:0},this._resizeObserver=null,this._dragType=null,this._dragOrigin=null,this._dragStartRect=null,this._pendingReset=!0,this._rafId=0,this._handleImageLoad=()=>{this._scheduleLayoutSync()},this._handlePointerDown=(e,t)=>{t.preventDefault(),t.stopPropagation(),this._dragType=e,this._dragOrigin={x:t.clientX,y:t.clientY},this._dragStartRect={...this._cropRect}},this._handlePointerMove=e=>{if(!this._dragType||!this._dragOrigin||!this._dragStartRect)return;e.preventDefault();const t=e.clientX-this._dragOrigin.x,i=e.clientY-this._dragOrigin.y;if(this._dragType==="move"){this._cropRect=this._clampMoveRect({...this._dragStartRect,x:this._dragStartRect.x+t,y:this._dragStartRect.y+i});return}this._cropRect=this._resizeByHandle(this._dragType,this._dragStartRect,t,i)},this._handlePointerUp=()=>{this._dragType=null,this._dragOrigin=null,this._dragStartRect=null}}connectedCallback(){super.connectedCallback(),window.addEventListener("pointermove",this._handlePointerMove),window.addEventListener("pointerup",this._handlePointerUp),window.addEventListener("pointercancel",this._handlePointerUp)}firstUpdated(){typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(()=>{this._scheduleLayoutSync()}),this._resizeObserver.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this._revokeImageUrl(),this._resizeObserver?.disconnect(),this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=0),window.removeEventListener("pointermove",this._handlePointerMove),window.removeEventListener("pointerup",this._handlePointerUp),window.removeEventListener("pointercancel",this._handlePointerUp)}updated(e){e.has("imgFile")&&this._applyImageFile(),(e.has("defaultWidth")||e.has("defaultHeight")||e.has("aspectRatio")||e.has("zoomType"))&&(this._pendingReset=!0,this._scheduleLayoutSync())}async crop(){if(!this._image||!this._imageRect.width||!this._image.naturalWidth||!this._image.naturalHeight)return null;const e=this._image.naturalWidth/this._imageRect.width,t=Math.max(this._cropRect.x-this._imageRect.x,0)*e,i=Math.max(this._cropRect.y-this._imageRect.y,0)*e,h=Math.max(this._cropRect.width*e,1),r=Math.max(this._cropRect.height*e,1),s=document.createElement("canvas");s.width=Math.round(h),s.height=Math.round(r);const o=s.getContext("2d");return o?(o.drawImage(this._image,t,i,h,r,0,0,s.width,s.height),await new Promise(n=>{s.toBlob(l=>{if(!l){n(null);return}n(new File([l],"cropped_image.png",{type:"image/png"}))},"image/png")})):null}resize(){this._pendingReset=!0,this._resetCropRect()}_applyImageFile(){if(this._revokeImageUrl(),!this.imgFile){this._errorMessage="",this._imageUrl="",this._pendingReset=!0,this._cropRect={x:0,y:0,width:this.defaultWidth,height:this.defaultHeight};return}if(!this.imgFile.type.startsWith("image/")){this._errorMessage="文件类型错误",this._imageUrl="";return}this._errorMessage="",this._imageUrl=URL.createObjectURL(this.imgFile),this._pendingReset=!0}_revokeImageUrl(){this._imageUrl&&URL.revokeObjectURL(this._imageUrl)}_scheduleLayoutSync(){this._rafId&&cancelAnimationFrame(this._rafId),this._rafId=requestAnimationFrame(()=>{this._rafId=0,this._syncImageRect()})}_syncImageRect(){if(!this._container||!this._image||!this._image.naturalWidth||!this._image.naturalHeight)return;const e=this._container.clientWidth||this.clientWidth,t=this._container.clientHeight||this.clientHeight;if(!e||!t)return;const i=Math.min(e/this._image.naturalWidth,t/this._image.naturalHeight),h=this._image.naturalWidth*i,r=this._image.naturalHeight*i,s=(e-h)/2,o=(t-r)/2;this._imageRect={x:s,y:o,width:h,height:r},this._pendingReset?(this._resetCropRect(),this._pendingReset=!1):this._cropRect=this._clampMoveRect(this._cropRect)}_resetCropRect(){const e=w(this.aspectRatio),t=this._imageRect.width||this.defaultWidth,i=this._imageRect.height||this.defaultHeight;let h=Math.min(this.defaultWidth,t),r=Math.min(this.defaultHeight,i);this.zoomType==="fixed"&&(r=h/e,r>i&&(r=i,h=r*e)),h=Math.min(h,t),r=Math.min(r,i),this._cropRect={x:this._imageRect.x+(t-h)/2,y:this._imageRect.y+(i-r)/2,width:h,height:r}}_clampMoveRect(e){const t=this._imageRect.x+this._imageRect.width-e.width,i=this._imageRect.y+this._imageRect.height-e.height;return{...e,x:c(e.x,this._imageRect.x,t),y:c(e.y,this._imageRect.y,i)}}_resizeByHandle(e,t,i,h){return this.zoomType==="free"?this._resizeFree(e,t,i,h):this._resizeFixed(e,t,i)}_resizeFree(e,t,i,h){const s=t.x,o=t.y,n=t.x+t.width,l=t.y+t.height;if(e==="top-left"){const _=c(s+i,this._imageRect.x,n-40),m=c(o+h,this._imageRect.y,l-40);return{x:_,y:m,width:n-_,height:l-m}}if(e==="top-right"){const _=c(n+i,s+40,this._imageRect.x+this._imageRect.width),m=c(o+h,this._imageRect.y,l-40);return{x:s,y:m,width:_-s,height:l-m}}if(e==="bottom-right"){const _=c(n+i,s+40,this._imageRect.x+this._imageRect.width),m=c(l+h,o+40,this._imageRect.y+this._imageRect.height);return{x:s,y:o,width:_-s,height:m-o}}const a=c(s+i,this._imageRect.x,n-40),p=c(l+h,o+40,this._imageRect.y+this._imageRect.height);return{x:a,y:o,width:n-a,height:p-o}}_resizeFixed(e,t,i){const h=w(this.aspectRatio),r=40,s=t.x+t.width,o=t.y+t.height;if(e==="top-left"){let a=c(t.width-i,r,s-this._imageRect.x);a=Math.min(a,(o-this._imageRect.y)*h);const p=a/h;return{x:s-a,y:o-p,width:a,height:p}}if(e==="top-right"){let a=c(t.width+i,r,this._imageRect.x+this._imageRect.width-t.x);a=Math.min(a,(o-this._imageRect.y)*h);const p=a/h;return{x:t.x,y:o-p,width:a,height:p}}if(e==="bottom-right"){let a=c(t.width+i,r,this._imageRect.x+this._imageRect.width-t.x);a=Math.min(a,(this._imageRect.y+this._imageRect.height-t.y)*h);const p=a/h;return{x:t.x,y:t.y,width:a,height:p}}let n=c(t.width-i,r,s-this._imageRect.x);n=Math.min(n,(this._imageRect.y+this._imageRect.height-t.y)*h);const l=n/h;return{x:s-n,y:t.y,width:n,height:l}}render(){const e=this._imageRect.width?x({left:`${this._imageRect.x}px`,top:`${this._imageRect.y}px`,width:`${this._imageRect.width}px`,height:`${this._imageRect.height}px`}):"",t=x({left:`${this._cropRect.x}px`,top:`${this._cropRect.y}px`,width:`${this._cropRect.width}px`,height:`${this._cropRect.height}px`,aspectRatio:this.zoomType==="fixed"?this.aspectRatio:""});return f`
2
+ <div part="container" class="img-box">
3
+ ${this._errorMessage?f`<div part="error-message" class="error-message">${this._errorMessage}</div>`:this._imageUrl?f`
4
+ <img
5
+ part="image"
6
+ class="image"
7
+ style=${e}
8
+ src=${this._imageUrl}
9
+ alt=""
10
+ @load=${this._handleImageLoad}
11
+ />
12
+ <div
13
+ part="crop-box"
14
+ class="crop-tool-box"
15
+ style=${t}
16
+ @pointerdown=${i=>this._handlePointerDown("move",i)}
17
+ >
18
+ <div
19
+ part="handle top-left"
20
+ class="handle top-left"
21
+ @pointerdown=${i=>this._handlePointerDown("top-left",i)}
22
+ ></div>
23
+ <div
24
+ part="handle top-right"
25
+ class="handle top-right"
26
+ @pointerdown=${i=>this._handlePointerDown("top-right",i)}
27
+ ></div>
28
+ <div
29
+ part="handle bottom-right"
30
+ class="handle bottom-right"
31
+ @pointerdown=${i=>this._handlePointerDown("bottom-right",i)}
32
+ ></div>
33
+ <div
34
+ part="handle bottom-left"
35
+ class="handle bottom-left"
36
+ @pointerdown=${i=>this._handlePointerDown("bottom-left",i)}
37
+ ></div>
38
+ </div>
39
+ `:f`<div part="placeholder" class="placeholder">请选择图片</div>`}
40
+ </div>
41
+ `}};g.styles=b`
42
+ :host {
43
+ display: block;
44
+ width: 100%;
45
+ height: 100%;
46
+ min-height: 240px;
47
+ }
48
+
49
+ .img-box {
50
+ position: relative;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ width: 100%;
55
+ height: 100%;
56
+ overflow: hidden;
57
+ background: #fafafa;
58
+ border-radius: 12px;
59
+ }
60
+
61
+ .placeholder,
62
+ .error-message {
63
+ padding: 20px;
64
+ font-size: 14px;
65
+ line-height: 1.6;
66
+ color: #64748b;
67
+ text-align: center;
68
+ }
69
+
70
+ .error-message {
71
+ color: #dc2626;
72
+ }
73
+
74
+ .image {
75
+ position: absolute;
76
+ inset: 0;
77
+ user-select: none;
78
+ -webkit-user-drag: none;
79
+ pointer-events: none;
80
+ }
81
+
82
+ .crop-tool-box {
83
+ position: absolute;
84
+ box-sizing: border-box;
85
+ overflow: visible;
86
+ cursor: move;
87
+ border: 1px dashed #fff;
88
+ box-shadow: 0 0 0 9999px rgb(0 0 0 / 40%);
89
+ touch-action: none;
90
+ }
91
+
92
+ .handle {
93
+ position: absolute;
94
+ z-index: 2;
95
+ width: 28%;
96
+ aspect-ratio: 1 / 1;
97
+ background-color: rgb(2 2 2 / 1%);
98
+ border-radius: 50%;
99
+ transition: background-color 0.2s ease;
100
+ }
101
+
102
+ .handle::after {
103
+ position: absolute;
104
+ top: 50%;
105
+ left: 50%;
106
+ width: 10px;
107
+ height: 10px;
108
+ content: '';
109
+ background: var(--vp-c-brand-1, #3d61e3);
110
+ border-radius: 50%;
111
+ transform: translate(-50%, -50%);
112
+ }
113
+
114
+ .handle:hover,
115
+ .handle:active {
116
+ background-color: rgb(2 2 2 / 50%);
117
+ }
118
+
119
+ .top-left {
120
+ top: 0;
121
+ left: 0;
122
+ cursor: nwse-resize;
123
+ transform: translate(-50%, -50%);
124
+ }
125
+
126
+ .top-right {
127
+ top: 0;
128
+ right: 0;
129
+ cursor: nesw-resize;
130
+ transform: translate(50%, -50%);
131
+ }
132
+
133
+ .bottom-right {
134
+ right: 0;
135
+ bottom: 0;
136
+ cursor: nwse-resize;
137
+ transform: translate(50%, 50%);
138
+ }
139
+
140
+ .bottom-left {
141
+ bottom: 0;
142
+ left: 0;
143
+ cursor: nesw-resize;
144
+ transform: translate(-50%, 50%);
145
+ }
146
+ `;d([u({attribute:!1})],g.prototype,"imgFile",2);d([u({type:String,attribute:"aspect-ratio"})],g.prototype,"aspectRatio",2);d([u({type:Number,attribute:"default-width"})],g.prototype,"defaultWidth",2);d([u({type:Number,attribute:"default-height"})],g.prototype,"defaultHeight",2);d([u({type:String,attribute:"zoom-type"})],g.prototype,"zoomType",2);d([y()],g.prototype,"_errorMessage",2);d([y()],g.prototype,"_imageUrl",2);d([y()],g.prototype,"_cropRect",2);d([y()],g.prototype,"_imageRect",2);d([R(".img-box")],g.prototype,"_container",2);d([R(".image")],g.prototype,"_image",2);g=d([z("qxs-photo-crop-tool")],g);export{g as QxsPhotoCropTool};
147
+ //# sourceMappingURL=photo-crop-tool.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photo-crop-tool.mjs","sources":["../../../packages/components/src/photo-crop-tool.ts"],"sourcesContent":["import { LitElement, css, html } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { safeCustomElement } from './base/define'\n\ntype ZoomType = 'fixed' | 'free'\ntype HandleType = 'move' | 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left'\n\ntype CropRect = {\n x: number\n y: number\n width: number\n height: number\n}\n\ntype DisplayRect = CropRect\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n\nfunction parseAspectRatio(value: string) {\n const [left, right] = value.split('/').map(part => Number.parseFloat(part.trim()))\n if (!left || !right || Number.isNaN(left) || Number.isNaN(right)) {\n return 16 / 9\n }\n return left / right\n}\n\n@safeCustomElement('qxs-photo-crop-tool')\nexport class QxsPhotoCropTool extends LitElement {\n static styles = css`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n min-height: 240px;\n }\n\n .img-box {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background: #fafafa;\n border-radius: 12px;\n }\n\n .placeholder,\n .error-message {\n padding: 20px;\n font-size: 14px;\n line-height: 1.6;\n color: #64748b;\n text-align: center;\n }\n\n .error-message {\n color: #dc2626;\n }\n\n .image {\n position: absolute;\n inset: 0;\n user-select: none;\n -webkit-user-drag: none;\n pointer-events: none;\n }\n\n .crop-tool-box {\n position: absolute;\n box-sizing: border-box;\n overflow: visible;\n cursor: move;\n border: 1px dashed #fff;\n box-shadow: 0 0 0 9999px rgb(0 0 0 / 40%);\n touch-action: none;\n }\n\n .handle {\n position: absolute;\n z-index: 2;\n width: 28%;\n aspect-ratio: 1 / 1;\n background-color: rgb(2 2 2 / 1%);\n border-radius: 50%;\n transition: background-color 0.2s ease;\n }\n\n .handle::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 10px;\n height: 10px;\n content: '';\n background: var(--vp-c-brand-1, #3d61e3);\n border-radius: 50%;\n transform: translate(-50%, -50%);\n }\n\n .handle:hover,\n .handle:active {\n background-color: rgb(2 2 2 / 50%);\n }\n\n .top-left {\n top: 0;\n left: 0;\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n }\n\n .top-right {\n top: 0;\n right: 0;\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n }\n\n .bottom-right {\n right: 0;\n bottom: 0;\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n }\n\n .bottom-left {\n bottom: 0;\n left: 0;\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n }\n `\n\n @property({ attribute: false }) imgFile: File | null = null\n @property({ type: String, attribute: 'aspect-ratio' }) aspectRatio = '16 / 9'\n @property({ type: Number, attribute: 'default-width' }) defaultWidth = 320\n @property({ type: Number, attribute: 'default-height' }) defaultHeight = 180\n @property({ type: String, attribute: 'zoom-type' }) zoomType: ZoomType = 'fixed'\n\n @state() private _errorMessage = ''\n @state() private _imageUrl = ''\n @state() private _cropRect: CropRect = { x: 0, y: 0, width: 320, height: 180 }\n @state() private _imageRect: DisplayRect = { x: 0, y: 0, width: 0, height: 0 }\n\n @query('.img-box') private _container?: HTMLDivElement\n @query('.image') private _image?: HTMLImageElement\n\n private _resizeObserver: ResizeObserver | null = null\n private _dragType: HandleType | null = null\n private _dragOrigin: { x: number, y: number } | null = null\n private _dragStartRect: CropRect | null = null\n private _pendingReset = true\n private _rafId = 0\n\n connectedCallback() {\n super.connectedCallback()\n window.addEventListener('pointermove', this._handlePointerMove)\n window.addEventListener('pointerup', this._handlePointerUp)\n window.addEventListener('pointercancel', this._handlePointerUp)\n }\n\n firstUpdated() {\n if (typeof ResizeObserver === 'undefined') {\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._scheduleLayoutSync()\n })\n this._resizeObserver.observe(this)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this._revokeImageUrl()\n this._resizeObserver?.disconnect()\n if (this._rafId) {\n cancelAnimationFrame(this._rafId)\n this._rafId = 0\n }\n window.removeEventListener('pointermove', this._handlePointerMove)\n window.removeEventListener('pointerup', this._handlePointerUp)\n window.removeEventListener('pointercancel', this._handlePointerUp)\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('imgFile')) {\n this._applyImageFile()\n }\n\n if (changed.has('defaultWidth') || changed.has('defaultHeight') || changed.has('aspectRatio') || changed.has('zoomType')) {\n this._pendingReset = true\n this._scheduleLayoutSync()\n }\n }\n\n async crop() {\n if (!this._image || !this._imageRect.width || !this._image.naturalWidth || !this._image.naturalHeight) {\n return null\n }\n\n const scale = this._image.naturalWidth / this._imageRect.width\n const cropX = Math.max(this._cropRect.x - this._imageRect.x, 0) * scale\n const cropY = Math.max(this._cropRect.y - this._imageRect.y, 0) * scale\n const cropWidth = Math.max(this._cropRect.width * scale, 1)\n const cropHeight = Math.max(this._cropRect.height * scale, 1)\n\n const canvas = document.createElement('canvas')\n canvas.width = Math.round(cropWidth)\n canvas.height = Math.round(cropHeight)\n const context = canvas.getContext('2d')\n\n if (!context) {\n return null\n }\n\n context.drawImage(\n this._image,\n cropX,\n cropY,\n cropWidth,\n cropHeight,\n 0,\n 0,\n canvas.width,\n canvas.height,\n )\n\n return await new Promise<File | null>((resolve) => {\n canvas.toBlob((blob) => {\n if (!blob) {\n resolve(null)\n return\n }\n\n resolve(new File([blob], 'cropped_image.png', { type: 'image/png' }))\n }, 'image/png')\n })\n }\n\n resize() {\n this._pendingReset = true\n this._resetCropRect()\n }\n\n private _applyImageFile() {\n this._revokeImageUrl()\n\n if (!this.imgFile) {\n this._errorMessage = ''\n this._imageUrl = ''\n this._pendingReset = true\n this._cropRect = {\n x: 0,\n y: 0,\n width: this.defaultWidth,\n height: this.defaultHeight,\n }\n return\n }\n\n if (!this.imgFile.type.startsWith('image/')) {\n this._errorMessage = '文件类型错误'\n this._imageUrl = ''\n return\n }\n\n this._errorMessage = ''\n this._imageUrl = URL.createObjectURL(this.imgFile)\n this._pendingReset = true\n }\n\n private _revokeImageUrl() {\n if (this._imageUrl) {\n URL.revokeObjectURL(this._imageUrl)\n }\n }\n\n private _scheduleLayoutSync() {\n if (this._rafId) {\n cancelAnimationFrame(this._rafId)\n }\n\n this._rafId = requestAnimationFrame(() => {\n this._rafId = 0\n this._syncImageRect()\n })\n }\n\n private _syncImageRect() {\n if (!this._container || !this._image || !this._image.naturalWidth || !this._image.naturalHeight) {\n return\n }\n\n const containerWidth = this._container.clientWidth || this.clientWidth\n const containerHeight = this._container.clientHeight || this.clientHeight\n if (!containerWidth || !containerHeight) {\n return\n }\n\n const scale = Math.min(\n containerWidth / this._image.naturalWidth,\n containerHeight / this._image.naturalHeight,\n )\n\n const width = this._image.naturalWidth * scale\n const height = this._image.naturalHeight * scale\n const x = (containerWidth - width) / 2\n const y = (containerHeight - height) / 2\n\n this._imageRect = { x, y, width, height }\n\n if (this._pendingReset) {\n this._resetCropRect()\n this._pendingReset = false\n }\n else {\n this._cropRect = this._clampMoveRect(this._cropRect)\n }\n }\n\n private _resetCropRect() {\n const aspect = parseAspectRatio(this.aspectRatio)\n const availableWidth = this._imageRect.width || this.defaultWidth\n const availableHeight = this._imageRect.height || this.defaultHeight\n\n let width = Math.min(this.defaultWidth, availableWidth)\n let height = Math.min(this.defaultHeight, availableHeight)\n\n if (this.zoomType === 'fixed') {\n height = width / aspect\n if (height > availableHeight) {\n height = availableHeight\n width = height * aspect\n }\n }\n\n width = Math.min(width, availableWidth)\n height = Math.min(height, availableHeight)\n\n this._cropRect = {\n x: this._imageRect.x + (availableWidth - width) / 2,\n y: this._imageRect.y + (availableHeight - height) / 2,\n width,\n height,\n }\n }\n\n private _handleImageLoad = () => {\n this._scheduleLayoutSync()\n }\n\n private _handlePointerDown = (type: HandleType, event: PointerEvent) => {\n event.preventDefault()\n event.stopPropagation()\n this._dragType = type\n this._dragOrigin = { x: event.clientX, y: event.clientY }\n this._dragStartRect = { ...this._cropRect }\n }\n\n private _handlePointerMove = (event: PointerEvent) => {\n if (!this._dragType || !this._dragOrigin || !this._dragStartRect) {\n return\n }\n\n event.preventDefault()\n const deltaX = event.clientX - this._dragOrigin.x\n const deltaY = event.clientY - this._dragOrigin.y\n\n if (this._dragType === 'move') {\n this._cropRect = this._clampMoveRect({\n ...this._dragStartRect,\n x: this._dragStartRect.x + deltaX,\n y: this._dragStartRect.y + deltaY,\n })\n return\n }\n\n this._cropRect = this._resizeByHandle(this._dragType, this._dragStartRect, deltaX, deltaY)\n }\n\n private _handlePointerUp = () => {\n this._dragType = null\n this._dragOrigin = null\n this._dragStartRect = null\n }\n\n private _clampMoveRect(rect: CropRect) {\n const maxX = this._imageRect.x + this._imageRect.width - rect.width\n const maxY = this._imageRect.y + this._imageRect.height - rect.height\n\n return {\n ...rect,\n x: clamp(rect.x, this._imageRect.x, maxX),\n y: clamp(rect.y, this._imageRect.y, maxY),\n }\n }\n\n private _resizeByHandle(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number, deltaY: number) {\n if (this.zoomType === 'free') {\n return this._resizeFree(handle, startRect, deltaX, deltaY)\n }\n\n return this._resizeFixed(handle, startRect, deltaX)\n }\n\n private _resizeFree(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number, deltaY: number) {\n const minSize = 40\n const left = startRect.x\n const top = startRect.y\n const right = startRect.x + startRect.width\n const bottom = startRect.y + startRect.height\n\n if (handle === 'top-left') {\n const x = clamp(left + deltaX, this._imageRect.x, right - minSize)\n const y = clamp(top + deltaY, this._imageRect.y, bottom - minSize)\n return { x, y, width: right - x, height: bottom - y }\n }\n\n if (handle === 'top-right') {\n const newRight = clamp(right + deltaX, left + minSize, this._imageRect.x + this._imageRect.width)\n const y = clamp(top + deltaY, this._imageRect.y, bottom - minSize)\n return { x: left, y, width: newRight - left, height: bottom - y }\n }\n\n if (handle === 'bottom-right') {\n const newRight = clamp(right + deltaX, left + minSize, this._imageRect.x + this._imageRect.width)\n const newBottom = clamp(bottom + deltaY, top + minSize, this._imageRect.y + this._imageRect.height)\n return { x: left, y: top, width: newRight - left, height: newBottom - top }\n }\n\n const x = clamp(left + deltaX, this._imageRect.x, right - minSize)\n const newBottom = clamp(bottom + deltaY, top + minSize, this._imageRect.y + this._imageRect.height)\n return { x, y: top, width: right - x, height: newBottom - top }\n }\n\n private _resizeFixed(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number) {\n const aspect = parseAspectRatio(this.aspectRatio)\n const minWidth = 40\n const startRight = startRect.x + startRect.width\n const startBottom = startRect.y + startRect.height\n\n if (handle === 'top-left') {\n let width = clamp(startRect.width - deltaX, minWidth, startRight - this._imageRect.x)\n width = Math.min(width, (startBottom - this._imageRect.y) * aspect)\n const height = width / aspect\n return { x: startRight - width, y: startBottom - height, width, height }\n }\n\n if (handle === 'top-right') {\n let width = clamp(startRect.width + deltaX, minWidth, this._imageRect.x + this._imageRect.width - startRect.x)\n width = Math.min(width, (startBottom - this._imageRect.y) * aspect)\n const height = width / aspect\n return { x: startRect.x, y: startBottom - height, width, height }\n }\n\n if (handle === 'bottom-right') {\n let width = clamp(startRect.width + deltaX, minWidth, this._imageRect.x + this._imageRect.width - startRect.x)\n width = Math.min(width, (this._imageRect.y + this._imageRect.height - startRect.y) * aspect)\n const height = width / aspect\n return { x: startRect.x, y: startRect.y, width, height }\n }\n\n let width = clamp(startRect.width - deltaX, minWidth, startRight - this._imageRect.x)\n width = Math.min(width, (this._imageRect.y + this._imageRect.height - startRect.y) * aspect)\n const height = width / aspect\n return { x: startRight - width, y: startRect.y, width, height }\n }\n\n render() {\n const imageStyle = this._imageRect.width\n ? styleMap({\n left: `${this._imageRect.x}px`,\n top: `${this._imageRect.y}px`,\n width: `${this._imageRect.width}px`,\n height: `${this._imageRect.height}px`,\n })\n : ''\n\n const cropStyle = styleMap({\n left: `${this._cropRect.x}px`,\n top: `${this._cropRect.y}px`,\n width: `${this._cropRect.width}px`,\n height: `${this._cropRect.height}px`,\n aspectRatio: this.zoomType === 'fixed' ? this.aspectRatio : '',\n })\n\n return html`\n <div part=\"container\" class=\"img-box\">\n ${this._errorMessage\n ? html`<div part=\"error-message\" class=\"error-message\">${this._errorMessage}</div>`\n : this._imageUrl\n ? html`\n <img\n part=\"image\"\n class=\"image\"\n style=${imageStyle}\n src=${this._imageUrl}\n alt=\"\"\n @load=${this._handleImageLoad}\n />\n <div\n part=\"crop-box\"\n class=\"crop-tool-box\"\n style=${cropStyle}\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('move', event)}\n >\n <div\n part=\"handle top-left\"\n class=\"handle top-left\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('top-left', event)}\n ></div>\n <div\n part=\"handle top-right\"\n class=\"handle top-right\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('top-right', event)}\n ></div>\n <div\n part=\"handle bottom-right\"\n class=\"handle bottom-right\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('bottom-right', event)}\n ></div>\n <div\n part=\"handle bottom-left\"\n class=\"handle bottom-left\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('bottom-left', event)}\n ></div>\n </div>\n `\n : html`<div part=\"placeholder\" class=\"placeholder\">请选择图片</div>`}\n </div>\n `\n }\n}\n"],"names":["clamp","value","min","max","parseAspectRatio","left","right","part","QxsPhotoCropTool","LitElement","type","event","deltaX","deltaY","changed","scale","cropX","cropY","cropWidth","cropHeight","canvas","context","resolve","blob","containerWidth","containerHeight","width","height","x","y","aspect","availableWidth","availableHeight","rect","maxX","maxY","handle","startRect","top","bottom","newRight","newBottom","minWidth","startRight","startBottom","imageStyle","styleMap","cropStyle","html","css","__decorateClass","property","state","query","safeCustomElement"],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ import{css as h,LitElement as u,html as t}from"lit";import{property as r,state as p}from"lit/decorators.js";import{safeCustomElement as x}from"../base/define.mjs";import{subjectHostStyles as f,subjectControlResetStyles as m}from"./shared-styles.mjs";var y=Object.defineProperty,v=Object.getOwnPropertyDescriptor,o=(e,a,n,l)=>{for(var i=l>1?void 0:l?v(a,n):a,c=e.length-1,d;c>=0;c--)(d=e[c])&&(i=(l?d(a,n,i):d(i))||i);return l&&i&&y(a,n,i),i};const b=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],g=[{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"},{type:"page_end",label:"分页符"}];let s=class extends u{constructor(){super(...arguments),this["is-edit"]=!1,this["is-set"]=!1,this["is-key"]=!1,this["answer-check-type"]=1,this["show-other-option"]=!1,this["show-answer-setting"]=!1,this["show-key"]=!1,this["show-rich-text"]=!1,this["hide-add-rich-text"]=!1,this["show-delete-action"]=!0,this["show-save-action"]=!0,this["page-end"]=!1,this["show-move"]=!1,this["show-add"]=!0,this["show-jump"]=!1,this["exam-answer-relation-type"]=0,this._modalOpen=!1,this._currentCheckType=1,this._addMenuOpen=!1,this._handleDocumentClick=e=>{const a=e.composedPath(),n=this.shadowRoot?.querySelector(".add-menu-wrap");n&&!a.includes(n)&&(this._addMenuOpen=!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleDocumentClick)}updated(e){e.has("answer-check-type")&&(this._currentCheckType=this["answer-check-type"])}_emit(e,a){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:a??null}))}get _answerText(){return b.find(e=>e.value===this["answer-check-type"])?.label??""}get _showAnswerSetting(){return this["show-other-option"]||this["show-answer-setting"]}get _showKey(){return this["show-other-option"]||this["show-key"]}_renderEditMode(){return t`
2
+ <div class="left">
3
+ <span class="inline-actions">
4
+ ${this["show-add"]?t`
5
+ <span class="add-menu-wrap">
6
+ <span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
7
+ ${this._renderAddMenu()}
8
+ </span>
9
+ `:""}
10
+ ${this["hide-add-rich-text"]?"":t`
11
+ <span class="link-btn" @click=${()=>this._emit("on-show-rich-text")}>
12
+ ${this["show-rich-text"]?"删除题目描述(图文)":"+添加题目描述(图文)"}
13
+ </span>
14
+ `}
15
+ ${this["show-jump"]?t`
16
+ <span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
17
+ `:""}
18
+ ${this._showAnswerSetting?t`
19
+ <span class="link-btn" @click=${()=>{this._modalOpen=!0}}>答题设置</span>
20
+ `:""}
21
+ ${this._showKey?t`
22
+ <label class="checkbox-label">
23
+ <input type="checkbox" .checked=${this["is-key"]} @change=${e=>this._emit("set-key",{value:e.target.checked})} />
24
+ 核心题
25
+ </label>
26
+ `:""}
27
+ </span>
28
+ </div>
29
+ <div class="right">
30
+ ${this["show-delete-action"]?t`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
31
+ ${this["show-save-action"]?t`<button class="text-btn text-btn--primary" @click=${()=>this._emit("save")}>完成编辑</button>`:""}
32
+ </div>
33
+ `}_renderViewMode(){return t`
34
+ <div class="left">
35
+ <span class="inline-actions">
36
+ ${this._showKey?t`
37
+ <label class="checkbox-label disabled">
38
+ <input type="checkbox" disabled .checked=${this["is-key"]} /> 核心题
39
+ </label>
40
+ `:""}
41
+ ${this._showAnswerSetting?t`
42
+ <span class="answer-text">${this._answerText}</span>
43
+ `:""}
44
+ ${this["show-add"]?t`
45
+ <span class="add-menu-wrap">
46
+ <span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
47
+ ${this._renderAddMenu()}
48
+ </span>
49
+ `:""}
50
+ ${this["show-jump"]?t`
51
+ <span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
52
+ `:""}
53
+ </span>
54
+ </div>
55
+ <div class="right">
56
+ ${!this["is-set"]&&this["show-move"]?t`
57
+ <button class="text-btn text-btn--default" @click=${()=>this._emit("move","up")}>上移</button>
58
+ <button class="text-btn text-btn--default btn-margin" @click=${()=>this._emit("move","down")}>下移</button>
59
+ `:""}
60
+ ${!this["is-set"]&&this["show-delete-action"]?t`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
61
+ ${!this["page-end"]&&!this["is-set"]?t`
62
+ <button class="text-btn text-btn--default" @click=${()=>this._emit("edit")}>编辑</button>
63
+ `:""}
64
+ </div>
65
+ `}_renderModal(){return this._modalOpen?t`
66
+ <div class="modal-backdrop" @click=${()=>{this._modalOpen=!1}}>
67
+ <div class="modal" @click=${e=>e.stopPropagation()}>
68
+ <div class="modal-header">
69
+ <span class="modal-title">答题设置</span>
70
+ <button class="modal-close" @click=${()=>{this._modalOpen=!1}}>&#x2715;</button>
71
+ </div>
72
+ <div class="modal-body">
73
+ ${b.map(e=>t`
74
+ <label class="radio-item">
75
+ <input type="radio" name="answer-check-type" .value=${String(e.value)}
76
+ .checked=${this._currentCheckType===e.value}
77
+ @change=${()=>{this._currentCheckType=e.value}} />
78
+ ${e.label}
79
+ </label>
80
+ `)}
81
+ </div>
82
+ <div class="modal-footer">
83
+ <button @click=${()=>{this._modalOpen=!1}}>取消</button>
84
+ <button class="primary" @click=${()=>{this._emit("set-answer-setting",{value:this._currentCheckType}),this._modalOpen=!1}}>保存</button>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ `:""}_renderAddMenu(){return this._addMenuOpen?t`
89
+ <div class="add-menu">
90
+ ${g.map(e=>t`
91
+ <button class="add-item" @click=${()=>{this._addMenuOpen=!1,this._emit("add",e.type)}}>${e.label}</button>
92
+ `)}
93
+ </div>
94
+ `:""}render(){return t`
95
+ <div class="action ${this["is-edit"]?"active":""}">
96
+ ${this["is-edit"]?this._renderEditMode():this._renderViewMode()}
97
+ ${this["is-set"]?t`<div class="has-set">*此题设置了跳题逻辑</div>`:""}
98
+ </div>
99
+ ${this._renderModal()}
100
+ `}};s.styles=[f,m,h`
101
+ :host { font-size: 12px; }
102
+
103
+ .action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }
104
+ .action.active { background: transparent; }
105
+ .left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
106
+ .right { display: flex; align-items: center; gap: 4px; }
107
+
108
+ .action-icon {
109
+ display: inline-flex; align-items: center; justify-content: center;
110
+ width: 32px; height: 32px; font-size: 18px; color: var(--qxs-subject-text-primary, #303133);
111
+ cursor: pointer; border-radius: 6px; border: 1px solid var(--qxs-subject-border, #dcdfe6);
112
+ background: var(--qxs-subject-fill-blank, #fff); transition: all 0.2s;
113
+ }
114
+ .action-icon:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }
115
+ .action-icon--danger:hover { color: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); background: var(--qxs-subject-fill-soft-danger, #fef0f0); }
116
+ .action-icon:disabled { color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; opacity: 0.6; }
117
+
118
+ .text-btn {
119
+ display: inline-flex; align-items: center; gap: 4px;
120
+ padding: 6px 12px; font-size: 12px; border-radius: 3px;
121
+ cursor: pointer; border: 1px solid; transition: all 0.2s;
122
+ }
123
+ .text-btn--primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }
124
+ .text-btn--primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
125
+ .text-btn--default { background: var(--qxs-subject-fill-blank, #fff); border-color: var(--qxs-subject-border, #dcdfe6); color: var(--qxs-subject-text-regular, #606266); }
126
+ .text-btn--default:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }
127
+ .text-btn--danger { background: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); color: var(--qxs-subject-fill-blank, #fff); }
128
+ .text-btn--danger:hover { background: var(--qxs-subject-color-danger-hover, #e05252); border-color: var(--qxs-subject-color-danger-hover, #e05252); }
129
+
130
+ .link-btn { background: none; border: none; color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; }
131
+ .link-btn:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
132
+
133
+ .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: var(--qxs-subject-text-regular, #606266); user-select: none; font-size: 12px; }
134
+ .checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }
135
+ .has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }
136
+ .answer-text { font-size: 11px; color: var(--qxs-subject-text-secondary, #909399); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
137
+
138
+ .btn-margin { margin-right: 10px; }
139
+
140
+ .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; display: flex; align-items: center; justify-content: center; }
141
+ .modal { background: var(--qxs-subject-fill-blank, #fff); border-radius: 4px; min-width: 360px; max-width: 460px; box-shadow: 0 12px 32px rgba(0,0,0,.1); }
142
+ .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 12px; border-bottom: 1px solid var(--qxs-subject-border-light, #e4e7ed); }
143
+ .modal-title { font-size: 14px; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }
144
+ .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--qxs-subject-text-secondary, #909399); padding: 0; line-height: 1; }
145
+ .modal-close:hover { color: var(--qxs-subject-color-primary, #3D61E3); }
146
+ .modal-body { padding: 20px; }
147
+ .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--qxs-subject-border-light, #e4e7ed); }
148
+ .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid var(--qxs-subject-border, #dcdfe6); background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); }
149
+ .modal-footer button:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }
150
+ .modal-footer button.primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }
151
+ .modal-footer button.primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
152
+
153
+ .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: var(--qxs-subject-text-regular, #606266); }
154
+ .radio-item:last-child { margin-bottom: 0; }
155
+
156
+ .inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
157
+ .add-menu-wrap { position: relative; display: inline-flex; }
158
+ .add-menu {
159
+ position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;
160
+ display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;
161
+ min-width: 196px; padding: 10px; background: var(--qxs-subject-fill-blank, #fff); border: 1px solid var(--qxs-subject-border-light, #e4e7ed);
162
+ border-radius: 6px; box-shadow: var(--qxs-subject-shadow-soft, 0 8px 20px rgba(0,0,0,.12));
163
+ }
164
+ .add-item {
165
+ display: inline-flex; align-items: center; justify-content: center;
166
+ min-height: 30px; padding: 0 10px; border: 1px solid var(--qxs-subject-border, #dcdfe6); border-radius: 4px;
167
+ background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); font-size: 12px; cursor: pointer; transition: all .2s;
168
+ }
169
+ .add-item:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }
170
+ `];o([r({type:Boolean,attribute:"is-edit"})],s.prototype,"is-edit",2);o([r({type:Boolean,attribute:"is-set"})],s.prototype,"is-set",2);o([r({type:Boolean,attribute:"is-key"})],s.prototype,"is-key",2);o([r({type:Number,attribute:"answer-check-type"})],s.prototype,"answer-check-type",2);o([r({type:Boolean,attribute:"show-other-option"})],s.prototype,"show-other-option",2);o([r({type:Boolean,attribute:"show-answer-setting"})],s.prototype,"show-answer-setting",2);o([r({type:Boolean,attribute:"show-key"})],s.prototype,"show-key",2);o([r({type:Boolean,attribute:"show-rich-text"})],s.prototype,"show-rich-text",2);o([r({type:Boolean,attribute:"hide-add-rich-text"})],s.prototype,"hide-add-rich-text",2);o([r({type:Boolean,attribute:"show-delete-action"})],s.prototype,"show-delete-action",2);o([r({type:Boolean,attribute:"show-save-action"})],s.prototype,"show-save-action",2);o([r({type:Boolean,attribute:"page-end"})],s.prototype,"page-end",2);o([r({type:Boolean,attribute:"show-move"})],s.prototype,"show-move",2);o([r({type:Boolean,attribute:"show-add"})],s.prototype,"show-add",2);o([r({type:Boolean,attribute:"show-jump"})],s.prototype,"show-jump",2);o([r({type:Number,attribute:"exam-answer-relation-type"})],s.prototype,"exam-answer-relation-type",2);o([p()],s.prototype,"_modalOpen",2);o([p()],s.prototype,"_currentCheckType",2);o([p()],s.prototype,"_addMenuOpen",2);s=o([x("qxs-subject-action")],s);export{s as QxsSubjectAction};
171
+ //# sourceMappingURL=action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","sources":["../../../../packages/components/src/subject/action.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { safeCustomElement } from '../base/define'\nimport { subjectControlResetStyles, subjectHostStyles } from './shared-styles'\n\nconst answerTextList = [\n { value: 2, label: '必须全部都是支持选项,方可下一步' },\n { value: 1, label: '无需判断是否是支持选项' },\n { value: 3, label: '包含全部支持选项,即可下一步' },\n]\n\nconst addSubjectOptions = [\n { type: 'single', label: '单选题' },\n { type: 'multiple', label: '多选题' },\n { type: 'blank_fill', label: '填空题' },\n { type: 'text_fill', label: '问答题' },\n { type: 'scale', label: '量表题' },\n { type: 'sort', label: '排序题' },\n { type: 'page_end', label: '分页符' },\n]\n\n@safeCustomElement('qxs-subject-action')\nexport class QxsSubjectAction extends LitElement {\n static styles = [subjectHostStyles, subjectControlResetStyles, css`\n :host { font-size: 12px; }\n\n .action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }\n .action.active { background: transparent; }\n .left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n .right { display: flex; align-items: center; gap: 4px; }\n\n .action-icon {\n display: inline-flex; align-items: center; justify-content: center;\n width: 32px; height: 32px; font-size: 18px; color: var(--qxs-subject-text-primary, #303133);\n cursor: pointer; border-radius: 6px; border: 1px solid var(--qxs-subject-border, #dcdfe6);\n background: var(--qxs-subject-fill-blank, #fff); transition: all 0.2s;\n }\n .action-icon:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }\n .action-icon--danger:hover { color: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); background: var(--qxs-subject-fill-soft-danger, #fef0f0); }\n .action-icon:disabled { color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; opacity: 0.6; }\n\n .text-btn {\n display: inline-flex; align-items: center; gap: 4px;\n padding: 6px 12px; font-size: 12px; border-radius: 3px;\n cursor: pointer; border: 1px solid; transition: all 0.2s;\n }\n .text-btn--primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }\n .text-btn--primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n .text-btn--default { background: var(--qxs-subject-fill-blank, #fff); border-color: var(--qxs-subject-border, #dcdfe6); color: var(--qxs-subject-text-regular, #606266); }\n .text-btn--default:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }\n .text-btn--danger { background: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); color: var(--qxs-subject-fill-blank, #fff); }\n .text-btn--danger:hover { background: var(--qxs-subject-color-danger-hover, #e05252); border-color: var(--qxs-subject-color-danger-hover, #e05252); }\n\n .link-btn { background: none; border: none; color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; }\n .link-btn:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n\n .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: var(--qxs-subject-text-regular, #606266); user-select: none; font-size: 12px; }\n .checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }\n .has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }\n .answer-text { font-size: 11px; color: var(--qxs-subject-text-secondary, #909399); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n .btn-margin { margin-right: 10px; }\n\n .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; display: flex; align-items: center; justify-content: center; }\n .modal { background: var(--qxs-subject-fill-blank, #fff); border-radius: 4px; min-width: 360px; max-width: 460px; box-shadow: 0 12px 32px rgba(0,0,0,.1); }\n .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 12px; border-bottom: 1px solid var(--qxs-subject-border-light, #e4e7ed); }\n .modal-title { font-size: 14px; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }\n .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--qxs-subject-text-secondary, #909399); padding: 0; line-height: 1; }\n .modal-close:hover { color: var(--qxs-subject-color-primary, #3D61E3); }\n .modal-body { padding: 20px; }\n .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--qxs-subject-border-light, #e4e7ed); }\n .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid var(--qxs-subject-border, #dcdfe6); background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); }\n .modal-footer button:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }\n .modal-footer button.primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }\n .modal-footer button.primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n\n .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: var(--qxs-subject-text-regular, #606266); }\n .radio-item:last-child { margin-bottom: 0; }\n\n .inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }\n .add-menu-wrap { position: relative; display: inline-flex; }\n .add-menu {\n position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;\n display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;\n min-width: 196px; padding: 10px; background: var(--qxs-subject-fill-blank, #fff); border: 1px solid var(--qxs-subject-border-light, #e4e7ed);\n border-radius: 6px; box-shadow: var(--qxs-subject-shadow-soft, 0 8px 20px rgba(0,0,0,.12));\n }\n .add-item {\n display: inline-flex; align-items: center; justify-content: center;\n min-height: 30px; padding: 0 10px; border: 1px solid var(--qxs-subject-border, #dcdfe6); border-radius: 4px;\n background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); font-size: 12px; cursor: pointer; transition: all .2s;\n }\n .add-item:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }\n `]\n\n @property({ type: Boolean, attribute: 'is-edit' }) 'is-edit' = false\n @property({ type: Boolean, attribute: 'is-set' }) 'is-set' = false\n @property({ type: Boolean, attribute: 'is-key' }) 'is-key' = false\n @property({ type: Number, attribute: 'answer-check-type' }) 'answer-check-type' = 1\n @property({ type: Boolean, attribute: 'show-other-option' }) 'show-other-option' = false\n @property({ type: Boolean, attribute: 'show-answer-setting' }) 'show-answer-setting' = false\n @property({ type: Boolean, attribute: 'show-key' }) 'show-key' = false\n @property({ type: Boolean, attribute: 'show-rich-text' }) 'show-rich-text' = false\n @property({ type: Boolean, attribute: 'hide-add-rich-text' }) 'hide-add-rich-text' = false\n @property({ type: Boolean, attribute: 'show-delete-action' }) 'show-delete-action' = true\n @property({ type: Boolean, attribute: 'show-save-action' }) 'show-save-action' = true\n @property({ type: Boolean, attribute: 'page-end' }) 'page-end' = false\n @property({ type: Boolean, attribute: 'show-move' }) 'show-move' = false\n @property({ type: Boolean, attribute: 'show-add' }) 'show-add' = true\n @property({ type: Boolean, attribute: 'show-jump' }) 'show-jump' = false\n @property({ type: Number, attribute: 'exam-answer-relation-type' }) 'exam-answer-relation-type' = 0\n\n @state() private _modalOpen = false\n @state() private _currentCheckType = 1\n @state() private _addMenuOpen = false\n\n connectedCallback() {\n super.connectedCallback()\n document.addEventListener('click', this._handleDocumentClick)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this._handleDocumentClick)\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('answer-check-type')) {\n this._currentCheckType = this['answer-check-type']\n }\n }\n\n private _handleDocumentClick = (e: MouseEvent) => {\n const path = e.composedPath()\n const wrap = this.shadowRoot?.querySelector('.add-menu-wrap')\n if (wrap && !path.includes(wrap)) {\n this._addMenuOpen = false\n }\n }\n\n private _emit(name: string, detail?: unknown) {\n this.dispatchEvent(new CustomEvent(name, { bubbles: true, composed: true, detail: detail ?? null }))\n }\n\n private get _answerText() {\n return answerTextList.find(i => i.value === this['answer-check-type'])?.label ?? ''\n }\n\n private get _showAnswerSetting() {\n return this['show-other-option'] || this['show-answer-setting']\n }\n\n private get _showKey() {\n return this['show-other-option'] || this['show-key']\n }\n\n private _renderEditMode() {\n return html`\n <div class=\"left\">\n <span class=\"inline-actions\">\n ${this['show-add']\n ? html`\n <span class=\"add-menu-wrap\">\n <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n ${this._renderAddMenu()}\n </span>\n `\n : ''}\n ${!this['hide-add-rich-text']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('on-show-rich-text')}>\n ${this['show-rich-text'] ? '删除题目描述(图文)' : '+添加题目描述(图文)'}\n </span>\n `\n : ''}\n ${this['show-jump']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n `\n : ''}\n ${this._showAnswerSetting\n ? html`\n <span class=\"link-btn\" @click=${() => { this._modalOpen = true }}>答题设置</span>\n `\n : ''}\n ${this._showKey\n ? html`\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" .checked=${this['is-key']} @change=${(e: Event) => this._emit('set-key', { value: (e.target as HTMLInputElement).checked })} />\n 核心题\n </label>\n `\n : ''}\n </span>\n </div>\n <div class=\"right\">\n ${this['show-delete-action']\n ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n : ''}\n ${this['show-save-action']\n ? html`<button class=\"text-btn text-btn--primary\" @click=${() => this._emit('save')}>完成编辑</button>`\n : ''}\n </div>\n `\n }\n\n private _renderViewMode() {\n return html`\n <div class=\"left\">\n <span class=\"inline-actions\">\n ${this._showKey\n ? html`\n <label class=\"checkbox-label disabled\">\n <input type=\"checkbox\" disabled .checked=${this['is-key']} /> 核心题\n </label>\n `\n : ''}\n ${this._showAnswerSetting\n ? html`\n <span class=\"answer-text\">${this._answerText}</span>\n `\n : ''}\n ${this['show-add']\n ? html`\n <span class=\"add-menu-wrap\">\n <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n ${this._renderAddMenu()}\n </span>\n `\n : ''}\n ${this['show-jump']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n `\n : ''}\n </span>\n </div>\n <div class=\"right\">\n ${!this['is-set'] && this['show-move']\n ? html`\n <button class=\"text-btn text-btn--default\" @click=${() => this._emit('move', 'up')}>上移</button>\n <button class=\"text-btn text-btn--default btn-margin\" @click=${() => this._emit('move', 'down')}>下移</button>\n `\n : ''}\n ${!this['is-set'] && this['show-delete-action']\n ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n : ''}\n ${!this['page-end'] && !this['is-set']\n ? html`\n <button class=\"text-btn text-btn--default\" @click=${() => this._emit('edit')}>编辑</button>\n `\n : ''}\n </div>\n `\n }\n\n private _renderModal() {\n if (!this._modalOpen) { return '' }\n return html`\n <div class=\"modal-backdrop\" @click=${() => { this._modalOpen = false }}>\n <div class=\"modal\" @click=${(e: Event) => e.stopPropagation()}>\n <div class=\"modal-header\">\n <span class=\"modal-title\">答题设置</span>\n <button class=\"modal-close\" @click=${() => { this._modalOpen = false }}>&#x2715;</button>\n </div>\n <div class=\"modal-body\">\n ${answerTextList.map(item => html`\n <label class=\"radio-item\">\n <input type=\"radio\" name=\"answer-check-type\" .value=${String(item.value)}\n .checked=${this._currentCheckType === item.value}\n @change=${() => { this._currentCheckType = item.value }} />\n ${item.label}\n </label>\n `)}\n </div>\n <div class=\"modal-footer\">\n <button @click=${() => { this._modalOpen = false }}>取消</button>\n <button class=\"primary\" @click=${() => {\n this._emit('set-answer-setting', { value: this._currentCheckType })\n this._modalOpen = false\n }}>保存</button>\n </div>\n </div>\n </div>\n `\n }\n\n private _renderAddMenu() {\n if (!this._addMenuOpen) { return '' }\n return html`\n <div class=\"add-menu\">\n ${addSubjectOptions.map(item => html`\n <button class=\"add-item\" @click=${() => {\n this._addMenuOpen = false\n this._emit('add', item.type)\n }}>${item.label}</button>\n `)}\n </div>\n `\n }\n\n render() {\n return html`\n <div class=\"action ${this['is-edit'] ? 'active' : ''}\">\n ${this['is-edit'] ? this._renderEditMode() : this._renderViewMode()}\n ${this['is-set'] ? html`<div class=\"has-set\">*此题设置了跳题逻辑</div>` : ''}\n </div>\n ${this._renderModal()}\n `\n }\n}\n\nexport function register() {}\n"],"names":["answerTextList","addSubjectOptions","QxsSubjectAction","LitElement","path","wrap","changed","name","detail","i","html","item","subjectHostStyles","subjectControlResetStyles","css","__decorateClass","property","state","safeCustomElement"],"mappings":"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"}