@qxs-bns/components 0.0.91 → 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 (415) hide show
  1. package/es/base/define.mjs +1 -1
  2. package/es/base/define.mjs.map +1 -1
  3. package/es/base/uid.mjs +1 -1
  4. package/es/base/uid.mjs.map +1 -1
  5. package/es/data-chart.mjs +15 -14
  6. package/es/data-chart.mjs.map +1 -1
  7. package/es/editor/blocksuite-editor.mjs +62 -51
  8. package/es/editor/blocksuite-editor.mjs.map +1 -1
  9. package/es/editor/content-format.mjs +8 -1
  10. package/es/editor/content-format.mjs.map +1 -1
  11. package/es/editor/index.mjs +1 -1
  12. package/es/editor/index.mjs.map +1 -1
  13. package/es/editor/toolbar.mjs +1 -1
  14. package/es/editor/toolbar.mjs.map +1 -1
  15. package/es/entry-data-chart.mjs +1 -1
  16. package/es/entry-editor.mjs +1 -1
  17. package/es/entry-file-upload.mjs +1 -1
  18. package/es/entry-fixed-action-bar.mjs +1 -1
  19. package/es/entry-icon.mjs +1 -1
  20. package/es/entry-image-upload.mjs +1 -1
  21. package/es/entry-photo-crop-tool.mjs +1 -1
  22. package/es/entry-subject.mjs +1 -1
  23. package/es/file-upload.mjs +25 -18
  24. package/es/file-upload.mjs.map +1 -1
  25. package/es/fixed-action-bar.mjs +5 -5
  26. package/es/fixed-action-bar.mjs.map +1 -1
  27. package/es/icon.mjs +7 -7
  28. package/es/icon.mjs.map +1 -1
  29. package/es/image-upload.mjs +26 -26
  30. package/es/image-upload.mjs.map +1 -1
  31. package/es/index.mjs +1 -1
  32. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs +59 -1
  33. package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs.map +1 -1
  34. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs +16 -1
  35. package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs.map +1 -1
  36. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs +62 -0
  37. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs.map +1 -0
  38. package/es/photo-crop-tool.mjs +12 -12
  39. package/es/photo-crop-tool.mjs.map +1 -1
  40. package/es/subject/action.mjs +58 -58
  41. package/es/subject/action.mjs.map +1 -1
  42. package/es/subject/blank-fill.mjs +80 -80
  43. package/es/subject/blank-fill.mjs.map +1 -1
  44. package/es/subject/draft.mjs +1 -1
  45. package/es/subject/draft.mjs.map +1 -1
  46. package/es/subject/layout.mjs +4 -4
  47. package/es/subject/layout.mjs.map +1 -1
  48. package/es/subject/page-end.mjs +5 -5
  49. package/es/subject/page-end.mjs.map +1 -1
  50. package/es/subject/pagination.mjs +1 -1
  51. package/es/subject/pagination.mjs.map +1 -1
  52. package/es/subject/runtime.mjs +1 -1
  53. package/es/subject/runtime.mjs.map +1 -1
  54. package/es/subject/scale.mjs +53 -50
  55. package/es/subject/scale.mjs.map +1 -1
  56. package/es/subject/shared-methods.mjs +1 -1
  57. package/es/subject/shared-methods.mjs.map +1 -1
  58. package/es/subject/shared-styles.mjs +53 -15
  59. package/es/subject/shared-styles.mjs.map +1 -1
  60. package/es/subject/single-interactions.mjs +2 -0
  61. package/es/subject/single-interactions.mjs.map +1 -0
  62. package/es/subject/single-model.mjs +2 -0
  63. package/es/subject/single-model.mjs.map +1 -0
  64. package/es/subject/single-state.mjs +2 -0
  65. package/es/subject/single-state.mjs.map +1 -0
  66. package/es/subject/single.mjs +177 -177
  67. package/es/subject/single.mjs.map +1 -1
  68. package/es/subject/sort-controller.mjs +1 -1
  69. package/es/subject/sort-controller.mjs.map +1 -1
  70. package/es/subject/sortable.mjs +13 -13
  71. package/es/subject/sortable.mjs.map +1 -1
  72. package/es/subject/sorting-card.mjs +12 -12
  73. package/es/subject/sorting-card.mjs.map +1 -1
  74. package/es/subject/subject-shared.mjs +2 -0
  75. package/es/subject/subject-shared.mjs.map +1 -0
  76. package/es/subject/text-fill.mjs +73 -73
  77. package/es/subject/text-fill.mjs.map +1 -1
  78. package/es/subject/title-prefix.mjs +1 -1
  79. package/es/subject/title-prefix.mjs.map +1 -1
  80. package/es/subject/types.mjs +1 -1
  81. package/es/subject/types.mjs.map +1 -1
  82. package/lib/base/define.cjs +1 -1
  83. package/lib/base/define.cjs.map +1 -1
  84. package/lib/base/uid.cjs +1 -1
  85. package/lib/base/uid.cjs.map +1 -1
  86. package/lib/data-chart.cjs +16 -15
  87. package/lib/data-chart.cjs.map +1 -1
  88. package/lib/editor/blocksuite-editor.cjs +62 -51
  89. package/lib/editor/blocksuite-editor.cjs.map +1 -1
  90. package/lib/editor/content-format.cjs +8 -1
  91. package/lib/editor/content-format.cjs.map +1 -1
  92. package/lib/editor/index.cjs +1 -1
  93. package/lib/editor/index.cjs.map +1 -1
  94. package/lib/editor/toolbar.cjs +1 -1
  95. package/lib/editor/toolbar.cjs.map +1 -1
  96. package/lib/entry-data-chart.cjs +1 -1
  97. package/lib/entry-editor.cjs +1 -1
  98. package/lib/entry-file-upload.cjs +1 -1
  99. package/lib/entry-fixed-action-bar.cjs +1 -1
  100. package/lib/entry-icon.cjs +1 -1
  101. package/lib/entry-image-upload.cjs +1 -1
  102. package/lib/entry-photo-crop-tool.cjs +1 -1
  103. package/lib/entry-subject.cjs +1 -1
  104. package/lib/file-upload.cjs +24 -17
  105. package/lib/file-upload.cjs.map +1 -1
  106. package/lib/fixed-action-bar.cjs +6 -6
  107. package/lib/fixed-action-bar.cjs.map +1 -1
  108. package/lib/icon.cjs +9 -9
  109. package/lib/icon.cjs.map +1 -1
  110. package/lib/image-upload.cjs +26 -26
  111. package/lib/image-upload.cjs.map +1 -1
  112. package/lib/index.cjs +1 -1
  113. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs +59 -1
  114. package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs.map +1 -1
  115. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs +16 -1
  116. package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs.map +1 -1
  117. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs +62 -0
  118. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs.map +1 -0
  119. package/lib/photo-crop-tool.cjs +11 -11
  120. package/lib/photo-crop-tool.cjs.map +1 -1
  121. package/lib/subject/action.cjs +42 -42
  122. package/lib/subject/action.cjs.map +1 -1
  123. package/lib/subject/blank-fill.cjs +80 -80
  124. package/lib/subject/blank-fill.cjs.map +1 -1
  125. package/lib/subject/draft.cjs +1 -1
  126. package/lib/subject/draft.cjs.map +1 -1
  127. package/lib/subject/layout.cjs +4 -4
  128. package/lib/subject/layout.cjs.map +1 -1
  129. package/lib/subject/page-end.cjs +4 -4
  130. package/lib/subject/page-end.cjs.map +1 -1
  131. package/lib/subject/pagination.cjs +1 -1
  132. package/lib/subject/pagination.cjs.map +1 -1
  133. package/lib/subject/runtime.cjs +1 -1
  134. package/lib/subject/runtime.cjs.map +1 -1
  135. package/lib/subject/scale.cjs +53 -50
  136. package/lib/subject/scale.cjs.map +1 -1
  137. package/lib/subject/shared-methods.cjs +1 -1
  138. package/lib/subject/shared-methods.cjs.map +1 -1
  139. package/lib/subject/shared-styles.cjs +54 -16
  140. package/lib/subject/shared-styles.cjs.map +1 -1
  141. package/lib/subject/single-interactions.cjs +2 -0
  142. package/lib/subject/single-interactions.cjs.map +1 -0
  143. package/lib/subject/single-model.cjs +2 -0
  144. package/lib/subject/single-model.cjs.map +1 -0
  145. package/lib/subject/single-state.cjs +2 -0
  146. package/lib/subject/single-state.cjs.map +1 -0
  147. package/lib/subject/single.cjs +177 -177
  148. package/lib/subject/single.cjs.map +1 -1
  149. package/lib/subject/sort-controller.cjs +1 -1
  150. package/lib/subject/sort-controller.cjs.map +1 -1
  151. package/lib/subject/sortable.cjs +15 -15
  152. package/lib/subject/sortable.cjs.map +1 -1
  153. package/lib/subject/sorting-card.cjs +12 -12
  154. package/lib/subject/sorting-card.cjs.map +1 -1
  155. package/lib/subject/subject-shared.cjs +2 -0
  156. package/lib/subject/subject-shared.cjs.map +1 -0
  157. package/lib/subject/text-fill.cjs +81 -81
  158. package/lib/subject/text-fill.cjs.map +1 -1
  159. package/lib/subject/title-prefix.cjs +1 -1
  160. package/lib/subject/title-prefix.cjs.map +1 -1
  161. package/lib/subject/types.cjs +1 -1
  162. package/lib/subject/types.cjs.map +1 -1
  163. package/package.json +5 -5
  164. package/types/editor/blocksuite-editor.d.ts +2 -0
  165. package/types/editor/toolbar.d.ts +1 -1
  166. package/types/file-upload.d.ts +2 -0
  167. package/types/subject/blank-fill.d.ts +1 -1
  168. package/types/subject/runtime.d.ts +1 -1
  169. package/types/subject/scale.d.ts +1 -1
  170. package/types/subject/single-interactions.d.ts +46 -0
  171. package/types/subject/single-model.d.ts +88 -0
  172. package/types/subject/single-state.d.ts +42 -0
  173. package/types/subject/single.d.ts +7 -85
  174. package/types/subject/sortable.d.ts +1 -1
  175. package/types/subject/subject-shared.d.ts +43 -0
  176. package/types/subject/text-fill.d.ts +1 -1
  177. package/README.md +0 -562
  178. 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
  179. 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
  180. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs +0 -2
  181. package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs.map +0 -1
  182. package/es/package.json.mjs +0 -2
  183. package/es/package.json.mjs.map +0 -1
  184. package/es/src/alert/index.mjs +0 -2
  185. package/es/src/alert/index.mjs.map +0 -1
  186. package/es/src/alert/src/alert.mjs +0 -2
  187. package/es/src/alert/src/alert.mjs.map +0 -1
  188. package/es/src/components.mjs +0 -2
  189. package/es/src/components.mjs.map +0 -1
  190. package/es/src/data-chart/index.mjs +0 -2
  191. package/es/src/data-chart/index.mjs.map +0 -1
  192. package/es/src/defaults.mjs +0 -2
  193. package/es/src/defaults.mjs.map +0 -1
  194. package/es/src/dialog/src/dialog.mjs +0 -2
  195. package/es/src/dialog/src/dialog.mjs.map +0 -1
  196. package/es/src/feedback-plugin/index.mjs +0 -2
  197. package/es/src/feedback-plugin/index.mjs.map +0 -1
  198. package/es/src/file-upload/index.mjs +0 -2
  199. package/es/src/file-upload/index.mjs.map +0 -1
  200. package/es/src/icon/index.mjs +0 -2
  201. package/es/src/icon/index.mjs.map +0 -1
  202. package/es/src/icon/src/icon.mjs +0 -2
  203. package/es/src/icon/src/icon.mjs.map +0 -1
  204. package/es/src/image-upload/index.mjs +0 -2
  205. package/es/src/image-upload/index.mjs.map +0 -1
  206. package/es/src/make-installer.mjs +0 -2
  207. package/es/src/make-installer.mjs.map +0 -1
  208. package/es/src/message/src/message.mjs +0 -2
  209. package/es/src/message/src/message.mjs.map +0 -1
  210. package/es/src/photo-crop-tool/index.mjs +0 -2
  211. package/es/src/photo-crop-tool/index.mjs.map +0 -1
  212. package/es/src/tiny-mce-editor/index.mjs +0 -2
  213. package/es/src/tiny-mce-editor/index.mjs.map +0 -1
  214. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +0 -2
  215. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +0 -1
  216. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +0 -2
  217. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +0 -1
  218. package/es/src/ui/button/index.mjs +0 -2
  219. package/es/src/ui/button/index.mjs.map +0 -1
  220. package/es/src/ui/checkbox/index.mjs +0 -2
  221. package/es/src/ui/checkbox/index.mjs.map +0 -1
  222. package/es/src/ui/dialog/index.mjs +0 -2
  223. package/es/src/ui/dialog/index.mjs.map +0 -1
  224. package/es/src/ui/input/index.mjs +0 -2
  225. package/es/src/ui/input/index.mjs.map +0 -1
  226. package/es/src/ui/input-number/index.mjs +0 -2
  227. package/es/src/ui/input-number/index.mjs.map +0 -1
  228. package/es/src/ui/layout/index.mjs +0 -2
  229. package/es/src/ui/layout/index.mjs.map +0 -1
  230. package/es/src/ui/link/index.mjs +0 -2
  231. package/es/src/ui/link/index.mjs.map +0 -1
  232. package/es/src/ui/popover/index.mjs +0 -2
  233. package/es/src/ui/popover/index.mjs.map +0 -1
  234. package/es/src/ui/radio/index.mjs +0 -2
  235. package/es/src/ui/radio/index.mjs.map +0 -1
  236. package/es/src/ui/scrollbar/index.mjs +0 -2
  237. package/es/src/ui/scrollbar/index.mjs.map +0 -1
  238. package/es/src/ui/select/index.mjs +0 -2
  239. package/es/src/ui/select/index.mjs.map +0 -1
  240. package/es/src/ui/table/index.mjs +0 -2
  241. package/es/src/ui/table/index.mjs.map +0 -1
  242. package/es/src/ui/tag/index.mjs +0 -2
  243. package/es/src/ui/tag/index.mjs.map +0 -1
  244. package/es/src/wc-bridge.mjs +0 -2
  245. package/es/src/wc-bridge.mjs.map +0 -1
  246. package/es/src/withInstall.mjs +0 -2
  247. package/es/src/withInstall.mjs.map +0 -1
  248. 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
  249. 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
  250. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs +0 -2
  251. package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs.map +0 -1
  252. package/lib/package.json.cjs +0 -2
  253. package/lib/package.json.cjs.map +0 -1
  254. package/lib/src/alert/index.cjs +0 -2
  255. package/lib/src/alert/index.cjs.map +0 -1
  256. package/lib/src/alert/src/alert.cjs +0 -2
  257. package/lib/src/alert/src/alert.cjs.map +0 -1
  258. package/lib/src/components.cjs +0 -2
  259. package/lib/src/components.cjs.map +0 -1
  260. package/lib/src/data-chart/index.cjs +0 -2
  261. package/lib/src/data-chart/index.cjs.map +0 -1
  262. package/lib/src/defaults.cjs +0 -2
  263. package/lib/src/defaults.cjs.map +0 -1
  264. package/lib/src/dialog/src/dialog.cjs +0 -2
  265. package/lib/src/dialog/src/dialog.cjs.map +0 -1
  266. package/lib/src/feedback-plugin/index.cjs +0 -2
  267. package/lib/src/feedback-plugin/index.cjs.map +0 -1
  268. package/lib/src/file-upload/index.cjs +0 -2
  269. package/lib/src/file-upload/index.cjs.map +0 -1
  270. package/lib/src/icon/index.cjs +0 -2
  271. package/lib/src/icon/index.cjs.map +0 -1
  272. package/lib/src/icon/src/icon.cjs +0 -2
  273. package/lib/src/icon/src/icon.cjs.map +0 -1
  274. package/lib/src/image-upload/index.cjs +0 -2
  275. package/lib/src/image-upload/index.cjs.map +0 -1
  276. package/lib/src/make-installer.cjs +0 -2
  277. package/lib/src/make-installer.cjs.map +0 -1
  278. package/lib/src/message/src/message.cjs +0 -2
  279. package/lib/src/message/src/message.cjs.map +0 -1
  280. package/lib/src/photo-crop-tool/index.cjs +0 -2
  281. package/lib/src/photo-crop-tool/index.cjs.map +0 -1
  282. package/lib/src/tiny-mce-editor/index.cjs +0 -2
  283. package/lib/src/tiny-mce-editor/index.cjs.map +0 -1
  284. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +0 -2
  285. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +0 -1
  286. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +0 -2
  287. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +0 -1
  288. package/lib/src/ui/button/index.cjs +0 -2
  289. package/lib/src/ui/button/index.cjs.map +0 -1
  290. package/lib/src/ui/checkbox/index.cjs +0 -2
  291. package/lib/src/ui/checkbox/index.cjs.map +0 -1
  292. package/lib/src/ui/dialog/index.cjs +0 -2
  293. package/lib/src/ui/dialog/index.cjs.map +0 -1
  294. package/lib/src/ui/input/index.cjs +0 -2
  295. package/lib/src/ui/input/index.cjs.map +0 -1
  296. package/lib/src/ui/input-number/index.cjs +0 -2
  297. package/lib/src/ui/input-number/index.cjs.map +0 -1
  298. package/lib/src/ui/layout/index.cjs +0 -2
  299. package/lib/src/ui/layout/index.cjs.map +0 -1
  300. package/lib/src/ui/link/index.cjs +0 -2
  301. package/lib/src/ui/link/index.cjs.map +0 -1
  302. package/lib/src/ui/popover/index.cjs +0 -2
  303. package/lib/src/ui/popover/index.cjs.map +0 -1
  304. package/lib/src/ui/radio/index.cjs +0 -2
  305. package/lib/src/ui/radio/index.cjs.map +0 -1
  306. package/lib/src/ui/scrollbar/index.cjs +0 -2
  307. package/lib/src/ui/scrollbar/index.cjs.map +0 -1
  308. package/lib/src/ui/select/index.cjs +0 -2
  309. package/lib/src/ui/select/index.cjs.map +0 -1
  310. package/lib/src/ui/table/index.cjs +0 -2
  311. package/lib/src/ui/table/index.cjs.map +0 -1
  312. package/lib/src/ui/tag/index.cjs +0 -2
  313. package/lib/src/ui/tag/index.cjs.map +0 -1
  314. package/lib/src/wc-bridge.cjs +0 -2
  315. package/lib/src/wc-bridge.cjs.map +0 -1
  316. package/lib/src/withInstall.cjs +0 -2
  317. package/lib/src/withInstall.cjs.map +0 -1
  318. package/types/index.d.ts.map +0 -1
  319. package/types/src/alert/index.d.ts +0 -66
  320. package/types/src/alert/index.d.ts.map +0 -1
  321. package/types/src/alert/src/alert.d.ts +0 -73
  322. package/types/src/alert/src/alert.d.ts.map +0 -1
  323. package/types/src/components.d.ts +0 -10
  324. package/types/src/components.d.ts.map +0 -1
  325. package/types/src/data-chart/index.d.ts +0 -13
  326. package/types/src/data-chart/index.d.ts.map +0 -1
  327. package/types/src/defaults.d.ts +0 -6
  328. package/types/src/defaults.d.ts.map +0 -1
  329. package/types/src/dialog/index.d.ts +0 -3
  330. package/types/src/dialog/index.d.ts.map +0 -1
  331. package/types/src/dialog/src/dialog.d.ts +0 -25
  332. package/types/src/dialog/src/dialog.d.ts.map +0 -1
  333. package/types/src/feedback-plugin/index.d.ts +0 -9
  334. package/types/src/feedback-plugin/index.d.ts.map +0 -1
  335. package/types/src/file-upload/index.d.ts +0 -12
  336. package/types/src/file-upload/index.d.ts.map +0 -1
  337. package/types/src/icon/index.d.ts +0 -56
  338. package/types/src/icon/index.d.ts.map +0 -1
  339. package/types/src/icon/src/icon.d.ts +0 -62
  340. package/types/src/icon/src/icon.d.ts.map +0 -1
  341. package/types/src/image-upload/index.d.ts +0 -12
  342. package/types/src/image-upload/index.d.ts.map +0 -1
  343. package/types/src/make-installer.d.ts +0 -6
  344. package/types/src/make-installer.d.ts.map +0 -1
  345. package/types/src/message/index.d.ts +0 -3
  346. package/types/src/message/index.d.ts.map +0 -1
  347. package/types/src/message/src/message.d.ts +0 -21
  348. package/types/src/message/src/message.d.ts.map +0 -1
  349. package/types/src/message/src/toaster.vue.d.ts +0 -3
  350. package/types/src/message/src/toaster.vue.d.ts.map +0 -1
  351. package/types/src/photo-crop-tool/index.d.ts +0 -12
  352. package/types/src/photo-crop-tool/index.d.ts.map +0 -1
  353. package/types/src/subject-action/index.d.ts +0 -93
  354. package/types/src/subject-action/index.d.ts.map +0 -1
  355. package/types/src/subject-action/src/subject-action.vue.d.ts +0 -92
  356. package/types/src/subject-action/src/subject-action.vue.d.ts.map +0 -1
  357. package/types/src/subject-layout/index.d.ts +0 -30
  358. package/types/src/subject-layout/index.d.ts.map +0 -1
  359. package/types/src/subject-layout/src/subject-layout.vue.d.ts +0 -20
  360. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +0 -1
  361. package/types/src/subject-list/index.d.ts +0 -20
  362. package/types/src/subject-list/index.d.ts.map +0 -1
  363. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +0 -24
  364. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts.map +0 -1
  365. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +0 -32
  366. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +0 -1
  367. package/types/src/subject-list/src/components/subject-scale.vue.d.ts +0 -29
  368. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +0 -1
  369. package/types/src/subject-list/src/components/subject-single.vue.d.ts +0 -37
  370. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +0 -1
  371. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +0 -34
  372. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +0 -1
  373. package/types/src/subject-list/src/subject-list.vue.d.ts +0 -21
  374. package/types/src/subject-list/src/subject-list.vue.d.ts.map +0 -1
  375. package/types/src/subject-type/index.d.ts +0 -8
  376. package/types/src/subject-type/index.d.ts.map +0 -1
  377. package/types/src/subject-type/src/subject-type.vue.d.ts +0 -7
  378. package/types/src/subject-type/src/subject-type.vue.d.ts.map +0 -1
  379. package/types/src/tiny-mce-editor/index.d.ts +0 -20
  380. package/types/src/tiny-mce-editor/index.d.ts.map +0 -1
  381. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +0 -32
  382. package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +0 -1
  383. package/types/src/ui/button/index.d.ts +0 -96
  384. package/types/src/ui/button/index.d.ts.map +0 -1
  385. package/types/src/ui/checkbox/index.d.ts +0 -111
  386. package/types/src/ui/checkbox/index.d.ts.map +0 -1
  387. package/types/src/ui/dialog/index.d.ts +0 -134
  388. package/types/src/ui/dialog/index.d.ts.map +0 -1
  389. package/types/src/ui/index.d.ts +0 -16
  390. package/types/src/ui/index.d.ts.map +0 -1
  391. package/types/src/ui/input/index.d.ts +0 -132
  392. package/types/src/ui/input/index.d.ts.map +0 -1
  393. package/types/src/ui/input-number/index.d.ts +0 -106
  394. package/types/src/ui/input-number/index.d.ts.map +0 -1
  395. package/types/src/ui/layout/index.d.ts +0 -373
  396. package/types/src/ui/layout/index.d.ts.map +0 -1
  397. package/types/src/ui/link/index.d.ts +0 -57
  398. package/types/src/ui/link/index.d.ts.map +0 -1
  399. package/types/src/ui/popover/index.d.ts +0 -89
  400. package/types/src/ui/popover/index.d.ts.map +0 -1
  401. package/types/src/ui/radio/index.d.ts +0 -84
  402. package/types/src/ui/radio/index.d.ts.map +0 -1
  403. package/types/src/ui/scrollbar/index.d.ts +0 -35
  404. package/types/src/ui/scrollbar/index.d.ts.map +0 -1
  405. package/types/src/ui/select/index.d.ts +0 -113
  406. package/types/src/ui/select/index.d.ts.map +0 -1
  407. package/types/src/ui/table/index.d.ts +0 -152
  408. package/types/src/ui/table/index.d.ts.map +0 -1
  409. package/types/src/ui/tag/index.d.ts +0 -69
  410. package/types/src/ui/tag/index.d.ts.map +0 -1
  411. package/types/src/wc-bridge.d.ts +0 -23
  412. package/types/src/wc-bridge.d.ts.map +0 -1
  413. package/types/src/withInstall.d.ts +0 -4
  414. package/types/src/withInstall.d.ts.map +0 -1
  415. package/types/tsconfig.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sortable.cjs","sources":["../../../../packages/components/src/subject/sortable.ts"],"sourcesContent":["import type { SubjectLikeItem } from './pagination'\nimport { css, html, LitElement } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport Sortable, { type SortableEvent, type SortableInstance } from 'sortablejs'\nimport { safeCustomElement } from '../base/define'\nimport { moveSubjectItem, reorderSubjects } from './sort-controller'\nimport { SubjectTypeLabel } from './types'\n\n@safeCustomElement('qxs-subject-sortable')\nexport class QxsSubjectSortable extends LitElement {\n static styles = css`\n :host { display: block; font-family: inherit; font-size: 13px; }\n *, ::before, ::after { box-sizing: border-box; }\n .sort-list { display: flex; flex-direction: column; gap: 10px; }\n .sort-item {\n display: flex; align-items: center; gap: 12px;\n padding: 12px 14px; background: #fff; border: 1px solid #e4e7ed; border-radius: 10px;\n cursor: grab; transition: all .2s;\n }\n .sort-item:hover { border-color: #bfd1ff; background: #f8fbff; }\n .sort-item.sort-ghost { opacity: .5; background: #ecf5ff; }\n .sort-item.sort-chosen { border-color: #3D61E3; box-shadow: 0 8px 20px rgba(61,97,227,.12); }\n .handle { color: #909399; font-size: 16px; user-select: none; }\n .content { flex: 1; min-width: 0; }\n .title { font-size: 13px; color: #303133; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .meta { margin-top: 4px; font-size: 12px; color: #909399; }\n `\n\n @property({ type: Array }) items: SubjectLikeItem[] = []\n @property({ type: Object, attribute: 'label-renderer' }) 'label-renderer'?: (item: SubjectLikeItem, index: number) => string\n\n @state() private _items: SubjectLikeItem[] = []\n private _sortable: SortableInstance | null = null\n\n willUpdate(changed: Map<string, unknown>) {\n if (changed.has('items')) {\n this._items = Array.isArray(this.items) ? this.items.map(item => ({ ...item })) : []\n }\n }\n\n firstUpdated() {\n this._initSortable()\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('_items')) {\n this._sortable?.destroy()\n this._sortable = null\n this.updateComplete.then(() => this._initSortable())\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this._sortable?.destroy()\n this._sortable = null\n }\n\n reorderByIds(orderedIds: string[]) {\n this._items = reorderSubjects(this._items, orderedIds)\n this._emitSortChange()\n }\n\n private _initSortable() {\n const list = this.renderRoot.querySelector<HTMLElement>('.sort-list')\n if (!list) {\n return\n }\n this._sortable = Sortable.create(list, {\n handle: '.handle',\n animation: 180,\n ghostClass: 'sort-ghost',\n chosenClass: 'sort-chosen',\n onEnd: (event: SortableEvent) => {\n const { oldIndex, newIndex } = event\n if (oldIndex == null || newIndex == null || oldIndex === newIndex) {\n return\n }\n this._items = moveSubjectItem(this._items, oldIndex, newIndex)\n this._emitSortChange(oldIndex, newIndex)\n },\n })\n }\n\n private _emitSortChange(oldIndex?: number, newIndex?: number) {\n this.dispatchEvent(new CustomEvent('sort-change', {\n bubbles: true,\n composed: true,\n detail: {\n items: this._items.map(item => ({ ...item })),\n newIndex,\n oldIndex,\n orderedIds: this._items.map(item => String(item.customId || '')).filter(Boolean),\n },\n }))\n }\n\n private _label(item: SubjectLikeItem, index: number) {\n if (typeof this['label-renderer'] === 'function') {\n return this['label-renderer'](item, index)\n }\n return item.title || `未命名${SubjectTypeLabel[item.answerType] || '题目'}`\n }\n\n render() {\n return html`\n <div class=\"sort-list\">\n ${this._items.map((item, index) => html`\n <div class=\"sort-item\" data-id=${item.customId || ''}>\n <span class=\"handle\">⋮⋮</span>\n <div class=\"content\">\n <div class=\"title\">${this._label(item, index)}</div>\n <div class=\"meta\">${SubjectTypeLabel[item.answerType] || item.answerType}</div>\n </div>\n </div>\n `)}\n </div>\n `\n }\n}\n\nexport function register() {}\n"],"names":["QxsSubjectSortable","LitElement","constructor","super","arguments","this","items","_items","_sortable","willUpdate","changed","has","Array","isArray","map","item","firstUpdated","_initSortable","updated","destroy","updateComplete","then","disconnectedCallback","reorderByIds","orderedIds","reorderSubjects","_emitSortChange","list","renderRoot","querySelector","Sortable","create","handle","animation","ghostClass","chosenClass","onEnd","event","oldIndex","newIndex","moveSubjectItem","dispatchEvent","CustomEvent","bubbles","composed","detail","String","customId","filter","Boolean","_label","index","title","SubjectTypeLabel","answerType","render","html","styles","css","__decorateClass","property","type","prototype","Object","attribute","state","safeCustomElement"],"mappings":"iXASaA,QAAAA,mBAAN,cAAiCC,EAAAA,WAAjCC,WAAAA,GAAAC,SAAAC,WAmBsBC,KAAAC,MAA2B,GAG7CD,KAAQE,OAA4B,GAC7CF,KAAQG,UAAqC,IAAA,CAE7CC,UAAAA,CAAWC,GACLA,EAAQC,IAAI,WACdN,KAAKE,OAASK,MAAMC,QAAQR,KAAKC,OAASD,KAAKC,MAAMQ,YAAkBC,KAAW,GAEtF,CAEAC,YAAAA,GACEX,KAAKY,eACP,CAEAC,OAAAA,CAAQR,GACFA,EAAQC,IAAI,YACdN,KAAKG,WAAWW,UAChBd,KAAKG,UAAY,KACjBH,KAAKe,eAAeC,KAAK,IAAMhB,KAAKY,iBAExC,CAEAK,oBAAAA,GACEnB,MAAMmB,uBACNjB,KAAKG,WAAWW,UAChBd,KAAKG,UAAY,IACnB,CAEAe,YAAAA,CAAaC,GACXnB,KAAKE,OAASkB,EAAAA,gBAAgBpB,KAAKE,OAAQiB,GAC3CnB,KAAKqB,iBACP,CAEQT,aAAAA,GACN,MAAMU,EAAOtB,KAAKuB,WAAWC,cAA2B,cACnDF,IAGLtB,KAAKG,UAAYsB,EAASC,OAAOJ,EAAM,CACrCK,OAAQ,UACRC,UAAW,IACXC,WAAY,aACZC,YAAa,cACbC,MAAQC,IACN,MAAMC,SAAEA,EAAAC,SAAUA,GAAaF,EACf,MAAZC,GAAgC,MAAZC,GAAoBD,IAAaC,IAGzDlC,KAAKE,OAASiC,EAAAA,gBAAgBnC,KAAKE,OAAQ+B,EAAUC,GACrDlC,KAAKqB,gBAAgBY,EAAUC,OAGrC,CAEQb,eAAAA,CAAgBY,EAAmBC,GACzClC,KAAKoC,cAAc,IAAIC,YAAY,cAAe,CAChDC,SAAS,EACTC,UAAU,EACVC,OAAQ,CACNvC,MAAOD,KAAKE,OAAOO,YAAkBC,KACrCwB,WACAD,WACAd,WAAYnB,KAAKE,OAAOO,IAAIC,GAAQ+B,OAAO/B,EAAKgC,UAAY,KAAKC,OAAOC,YAG9E,CAEQC,MAAAA,CAAOnC,EAAuBoC,GACpC,MAAsC,mBAA3B9C,KAAK,kBACPA,KAAK,kBAAkBU,EAAMoC,GAE/BpC,EAAKqC,OAAS,MAAMC,EAAAA,iBAAiBtC,EAAKuC,aAAe,MAClE,CAEAC,MAAAA,GACE,OAAOC,EAAAA,IAAA;;UAEDnD,KAAKE,OAAOO,IAAI,CAACC,EAAMoC,IAAUK,EAAAA,IAAA;2CACAzC,EAAKgC,UAAY;;;mCAGzB1C,KAAK6C,OAAOnC,EAAMoC;kCACnBE,EAAAA,iBAAiBtC,EAAKuC,aAAevC,EAAKuC;;;;;KAM1E,GA7GWtD,QAAAA,mBACJyD,OAASC,EAAAA,GAAA;;;;;;;;;;;;;;;;IAkBWC,EAAA,CAA1BC,EAAAA,SAAS,CAAEC,KAAMjD,SAnBPZ,QAAAA,mBAmBgB8D,UAAA,QAAA,GAC8BH,EAAA,CAAxDC,EAAAA,SAAS,CAAEC,KAAME,OAAQC,UAAW,oBApB1BhE,QAAAA,mBAoB8C8D,UAAA,iBAAA,GAExCH,EAAA,CAAhBM,EAAAA,SAtBUjE,QAAAA,mBAsBM8D,UAAA,SAAA,GAtBN9D,QAAAA,mBAAN2D,EAAA,CADNO,EAAAA,kBAAkB,yBACNlE,QAAAA"}
1
+ {"version":3,"file":"sortable.cjs","sources":["../../../../packages/components/src/subject/sortable.ts"],"sourcesContent":["import type { SubjectLikeItem } from './pagination'\nimport { css, html, LitElement } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport Sortable, { type SortableEvent, type SortableInstance } from 'sortablejs'\nimport { safeCustomElement } from '../base/define'\nimport { moveSubjectItem, reorderSubjects } from './sort-controller'\nimport { subjectHostStyles } from './shared-styles'\nimport { SubjectTypeLabel } from './types'\n\n@safeCustomElement('qxs-subject-sortable')\nexport class QxsSubjectSortable extends LitElement {\n static styles = [subjectHostStyles, css`\n :host { font-size: 13px; }\n *, ::before, ::after { box-sizing: border-box; }\n .sort-list { display: flex; flex-direction: column; gap: 10px; }\n .sort-item {\n display: flex; align-items: center; gap: 12px;\n padding: 12px 14px; background: var(--qxs-subject-fill-blank, #fff); border: 1px solid var(--qxs-subject-border-light, #e4e7ed); border-radius: 10px;\n cursor: grab; transition: all .2s;\n }\n .sort-item:hover { border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); background: var(--qxs-subject-fill-soft-primary-hover, #f8fbff); }\n .sort-item.sort-ghost { opacity: .5; background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }\n .sort-item.sort-chosen { border-color: var(--qxs-subject-color-primary, #3D61E3); box-shadow: var(--qxs-subject-shadow-primary, 0 8px 20px rgba(61,97,227,.12)); }\n .handle { color: var(--qxs-subject-text-secondary, #909399); font-size: 16px; user-select: none; }\n .content { flex: 1; min-width: 0; }\n .title { font-size: 13px; color: var(--qxs-subject-text-primary, #303133); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n .meta { margin-top: 4px; font-size: 12px; color: var(--qxs-subject-text-secondary, #909399); }\n `]\n\n @property({ type: Array }) items: SubjectLikeItem[] = []\n @property({ type: Object, attribute: 'label-renderer' }) 'label-renderer'?: (item: SubjectLikeItem, index: number) => string\n\n @state() private _items: SubjectLikeItem[] = []\n private _sortable: SortableInstance | null = null\n\n willUpdate(changed: Map<string, unknown>) {\n if (changed.has('items')) {\n this._items = Array.isArray(this.items) ? this.items.map(item => ({ ...item })) : []\n }\n }\n\n firstUpdated() {\n this._initSortable()\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('_items')) {\n this._sortable?.destroy()\n this._sortable = null\n this.updateComplete.then(() => this._initSortable())\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this._sortable?.destroy()\n this._sortable = null\n }\n\n reorderByIds(orderedIds: string[]) {\n this._items = reorderSubjects(this._items, orderedIds)\n this._emitSortChange()\n }\n\n private _initSortable() {\n const list = this.renderRoot.querySelector<HTMLElement>('.sort-list')\n if (!list) {\n return\n }\n this._sortable = Sortable.create(list, {\n handle: '.handle',\n animation: 180,\n ghostClass: 'sort-ghost',\n chosenClass: 'sort-chosen',\n onEnd: (event: SortableEvent) => {\n const { oldIndex, newIndex } = event\n if (oldIndex == null || newIndex == null || oldIndex === newIndex) {\n return\n }\n this._items = moveSubjectItem(this._items, oldIndex, newIndex)\n this._emitSortChange(oldIndex, newIndex)\n },\n })\n }\n\n private _emitSortChange(oldIndex?: number, newIndex?: number) {\n this.dispatchEvent(new CustomEvent('sort-change', {\n bubbles: true,\n composed: true,\n detail: {\n items: this._items.map(item => ({ ...item })),\n newIndex,\n oldIndex,\n orderedIds: this._items.map(item => String(item.customId || '')).filter(Boolean),\n },\n }))\n }\n\n private _label(item: SubjectLikeItem, index: number) {\n if (typeof this['label-renderer'] === 'function') {\n return this['label-renderer'](item, index)\n }\n return item.title || `未命名${SubjectTypeLabel[item.answerType] || '题目'}`\n }\n\n render() {\n return html`\n <div class=\"sort-list\">\n ${this._items.map((item, index) => html`\n <div class=\"sort-item\" data-id=${item.customId || ''}>\n <span class=\"handle\">⋮⋮</span>\n <div class=\"content\">\n <div class=\"title\">${this._label(item, index)}</div>\n <div class=\"meta\">${SubjectTypeLabel[item.answerType] || item.answerType}</div>\n </div>\n </div>\n `)}\n </div>\n `\n }\n}\n\nexport function register() {}\n"],"names":["QxsSubjectSortable","LitElement","changed","item","orderedIds","reorderSubjects","list","Sortable","event","oldIndex","newIndex","moveSubjectItem","index","SubjectTypeLabel","html","subjectHostStyles","css","__decorateClass","property","state","safeCustomElement"],"mappings":"2dAUaA,QAAAA,mBAAN,cAAiCC,EAAAA,UAAW,CAA5C,aAAA,CAAA,MAAA,GAAA,SAAA,EAmBsB,KAAA,MAA2B,CAAA,EAG7C,KAAQ,OAA4B,CAAA,EAC7C,KAAQ,UAAqC,IAAA,CAE7C,WAAWC,EAA+B,CACpCA,EAAQ,IAAI,OAAO,IACrB,KAAK,OAAS,MAAM,QAAQ,KAAK,KAAK,EAAI,KAAK,MAAM,QAAa,CAAE,GAAGC,CAAA,EAAO,EAAI,CAAA,EAEtF,CAEA,cAAe,CACb,KAAK,cAAA,CACP,CAEA,QAAQD,EAA+B,CACjCA,EAAQ,IAAI,QAAQ,IACtB,KAAK,WAAW,QAAA,EAChB,KAAK,UAAY,KACjB,KAAK,eAAe,KAAK,IAAM,KAAK,eAAe,EAEvD,CAEA,sBAAuB,CACrB,MAAM,qBAAA,EACN,KAAK,WAAW,QAAA,EAChB,KAAK,UAAY,IACnB,CAEA,aAAaE,EAAsB,CACjC,KAAK,OAASC,EAAAA,gBAAgB,KAAK,OAAQD,CAAU,EACrD,KAAK,gBAAA,CACP,CAEQ,eAAgB,CACtB,MAAME,EAAO,KAAK,WAAW,cAA2B,YAAY,EAC/DA,IAGL,KAAK,UAAYC,EAAS,OAAOD,EAAM,CACrC,OAAQ,UACR,UAAW,IACX,WAAY,aACZ,YAAa,cACb,MAAQE,GAAyB,CAC/B,KAAM,CAAE,SAAAC,EAAU,SAAAC,CAAA,EAAaF,EAC3BC,GAAY,MAAQC,GAAY,MAAQD,IAAaC,IAGzD,KAAK,OAASC,EAAAA,gBAAgB,KAAK,OAAQF,EAAUC,CAAQ,EAC7D,KAAK,gBAAgBD,EAAUC,CAAQ,EACzC,CAAA,CACD,EACH,CAEQ,gBAAgBD,EAAmBC,EAAmB,CAC5D,KAAK,cAAc,IAAI,YAAY,cAAe,CAChD,QAAS,GACT,SAAU,GACV,OAAQ,CACN,MAAO,KAAK,OAAO,QAAa,CAAE,GAAGP,GAAO,EAC5C,SAAAO,EACA,SAAAD,EACA,WAAY,KAAK,OAAO,IAAIN,GAAQ,OAAOA,EAAK,UAAY,EAAE,CAAC,EAAE,OAAO,OAAO,CAAA,CACjF,CACD,CAAC,CACJ,CAEQ,OAAOA,EAAuBS,EAAe,CACnD,OAAI,OAAO,KAAK,gBAAgB,GAAM,WAC7B,KAAK,gBAAgB,EAAET,EAAMS,CAAK,EAEpCT,EAAK,OAAS,MAAMU,EAAAA,iBAAiBV,EAAK,UAAU,GAAK,IAAI,EACtE,CAEA,QAAS,CACP,OAAOW,EAAAA;AAAAA;AAAAA,UAED,KAAK,OAAO,IAAI,CAACX,EAAMS,IAAUE,EAAAA;AAAAA,2CACAX,EAAK,UAAY,EAAE;AAAA;AAAA;AAAA,mCAG3B,KAAK,OAAOA,EAAMS,CAAK,CAAC;AAAA,kCACzBC,EAAAA,iBAAiBV,EAAK,UAAU,GAAKA,EAAK,UAAU;AAAA;AAAA;AAAA,SAG7E,CAAC;AAAA;AAAA,KAGR,CACF,EA9GaH,QAAAA,mBACJ,OAAS,CAACe,EAAAA,kBAAmBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,GAgBnC,EAE0BC,EAAA,CAA1BC,WAAS,CAAE,KAAM,KAAA,CAAO,CAAA,EAnBdlB,2BAmBgB,UAAA,QAAA,CAAA,EAC8BiB,EAAA,CAAxDC,EAAAA,SAAS,CAAE,KAAM,OAAQ,UAAW,iBAAkB,CAAA,EApB5ClB,2BAoB8C,UAAA,iBAAA,CAAA,EAExCiB,EAAA,CAAhBE,EAAAA,MAAA,CAAM,EAtBInB,2BAsBM,UAAA,SAAA,CAAA,EAtBNA,QAAAA,mBAANiB,EAAA,CADNG,EAAAA,kBAAkB,sBAAsB,CAAA,EAC5BpB,0BAAA"}
@@ -1,22 +1,22 @@
1
- "use strict";var r=require("lit");const i=r.css`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("lit"),s=r.css`
2
2
  .sorting-card {
3
3
  display: flex;
4
4
  align-items: center;
5
5
  gap: 12px;
6
6
  padding: 12px 14px;
7
- background: #fff;
8
- border: 1px solid #e4e7ed;
7
+ background: var(--qxs-subject-fill-blank, #fff);
8
+ border: 1px solid var(--qxs-subject-border-light, #e4e7ed);
9
9
  border-radius: 10px;
10
10
  transition: all 0.2s;
11
11
  }
12
12
 
13
13
  .sorting-card:hover {
14
- border-color: #bfd1ff;
15
- background: #f8fbff;
14
+ border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff);
15
+ background: var(--qxs-subject-fill-soft-primary-hover, #f8fbff);
16
16
  }
17
17
 
18
18
  .sorting-handle {
19
- color: #909399;
19
+ color: var(--qxs-subject-text-secondary, #909399);
20
20
  font-size: 16px;
21
21
  line-height: 1;
22
22
  user-select: none;
@@ -29,7 +29,7 @@
29
29
 
30
30
  .sorting-title {
31
31
  font-size: 13px;
32
- color: #303133;
32
+ color: var(--qxs-subject-text-primary, #303133);
33
33
  white-space: nowrap;
34
34
  overflow: hidden;
35
35
  text-overflow: ellipsis;
@@ -38,15 +38,15 @@
38
38
  .sorting-meta {
39
39
  margin-top: 4px;
40
40
  font-size: 12px;
41
- color: #909399;
41
+ color: var(--qxs-subject-text-secondary, #909399);
42
42
  }
43
- `;exports.renderSortingCard=function(i,t){return r.html`
43
+ `;function i(t,e){return r.html`
44
44
  <div class="sorting-card">
45
45
  <span class="sorting-handle">⋮⋮</span>
46
46
  <div class="sorting-content">
47
- <div class="sorting-title">${i}</div>
48
- <div class="sorting-meta">${t}</div>
47
+ <div class="sorting-title">${t}</div>
48
+ <div class="sorting-meta">${e}</div>
49
49
  </div>
50
50
  </div>
51
- `},exports.sortingCardStyles=i;
51
+ `}exports.renderSortingCard=i;exports.sortingCardStyles=s;
52
52
  //# sourceMappingURL=sorting-card.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sorting-card.cjs","sources":["../../../../packages/components/src/subject/sorting-card.ts"],"sourcesContent":["import { css, html } from 'lit'\n\nexport const sortingCardStyles = css`\n .sorting-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 14px;\n background: #fff;\n border: 1px solid #e4e7ed;\n border-radius: 10px;\n transition: all 0.2s;\n }\n\n .sorting-card:hover {\n border-color: #bfd1ff;\n background: #f8fbff;\n }\n\n .sorting-handle {\n color: #909399;\n font-size: 16px;\n line-height: 1;\n user-select: none;\n }\n\n .sorting-content {\n flex: 1;\n min-width: 0;\n }\n\n .sorting-title {\n font-size: 13px;\n color: #303133;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sorting-meta {\n margin-top: 4px;\n font-size: 12px;\n color: #909399;\n }\n`\n\nexport function renderSortingCard(title: string, meta: string) {\n return html`\n <div class=\"sorting-card\">\n <span class=\"sorting-handle\">⋮⋮</span>\n <div class=\"sorting-content\">\n <div class=\"sorting-title\">${title}</div>\n <div class=\"sorting-meta\">${meta}</div>\n </div>\n </div>\n `\n}\n"],"names":["sortingCardStyles","css","title","meta","html"],"mappings":"kCAEO,MAAMA,EAAoBC,EAAAA,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA4C1B,SAA2BC,EAAeC,GAC/C,OAAOC,EAAAA,IAAA;;;;qCAI4BF;oCACDC;;;GAIpC"}
1
+ {"version":3,"file":"sorting-card.cjs","sources":["../../../../packages/components/src/subject/sorting-card.ts"],"sourcesContent":["import { css, html } from 'lit'\n\nexport const sortingCardStyles = css`\n .sorting-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 14px;\n background: var(--qxs-subject-fill-blank, #fff);\n border: 1px solid var(--qxs-subject-border-light, #e4e7ed);\n border-radius: 10px;\n transition: all 0.2s;\n }\n\n .sorting-card:hover {\n border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff);\n background: var(--qxs-subject-fill-soft-primary-hover, #f8fbff);\n }\n\n .sorting-handle {\n color: var(--qxs-subject-text-secondary, #909399);\n font-size: 16px;\n line-height: 1;\n user-select: none;\n }\n\n .sorting-content {\n flex: 1;\n min-width: 0;\n }\n\n .sorting-title {\n font-size: 13px;\n color: var(--qxs-subject-text-primary, #303133);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .sorting-meta {\n margin-top: 4px;\n font-size: 12px;\n color: var(--qxs-subject-text-secondary, #909399);\n }\n`\n\nexport function renderSortingCard(title: string, meta: string) {\n return html`\n <div class=\"sorting-card\">\n <span class=\"sorting-handle\">⋮⋮</span>\n <div class=\"sorting-content\">\n <div class=\"sorting-title\">${title}</div>\n <div class=\"sorting-meta\">${meta}</div>\n </div>\n </div>\n `\n}\n"],"names":["sortingCardStyles","css","renderSortingCard","title","meta","html"],"mappings":"uGAEaA,EAAoBC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EA4C1B,SAASC,EAAkBC,EAAeC,EAAc,CAC7D,OAAOC,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA,qCAI4BF,CAAK;AAAA,oCACNC,CAAI;AAAA;AAAA;AAAA,GAIxC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class e extends Error{constructor(r,i="VALIDATION_ERROR",m,o){super(r),this.code=i,this.field=m,this.row=o,this.name="SubjectError"}static from(r){return new e(r.message,r.code,r.field,r.row)}}function a(t){return String(t??"").trim()}function n(t){return String(t??"").split(",").map(r=>r.trim()).filter(Boolean).join(",")}exports.SubjectError=e;exports.trimCommaSeparatedText=n;exports.trimText=a;
2
+ //# sourceMappingURL=subject-shared.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject-shared.cjs","sources":["../../../../packages/components/src/subject/subject-shared.ts"],"sourcesContent":["export interface SubjectErrorOptions {\n message: string\n code?: string\n field?: string\n row?: any\n}\n\nexport class SubjectError extends Error {\n constructor(\n message: string,\n public code: string = 'VALIDATION_ERROR',\n public field?: string,\n public row?: any,\n ) {\n super(message)\n this.name = 'SubjectError'\n }\n\n static from(options: SubjectErrorOptions): SubjectError {\n return new SubjectError(options.message, options.code, options.field, options.row)\n }\n}\n\nexport function trimText(value: unknown) {\n return String(value ?? '').trim()\n}\n\nexport function trimCommaSeparatedText(value: unknown) {\n return String(value ?? '')\n .split(',')\n .map(item => item.trim())\n .filter(Boolean)\n .join(',')\n}\n\nexport interface TagItem {\n tagId: string | number\n tagName: string\n knowledgePointInfos?: KnowledgePointInfo[]\n}\n\nexport interface KnowledgePointInfo {\n knowledgePointId: string | number\n knowledgePointName: string\n}\n\nexport interface Category {\n categoryId: string | number\n title: string\n}\n\nexport interface SearchResult {\n id: string | number\n title: string\n value: string\n [key: string]: any\n}\n\nexport interface Resource {\n resourceType: 1 | 2\n resource: {\n url?: string\n middle?: string\n videoId?: string\n [key: string]: any\n }\n}\n"],"names":["SubjectError","message","code","field","row","options","trimText","value","trimCommaSeparatedText","item"],"mappings":"gFAOO,MAAMA,UAAqB,KAAM,CACtC,YACEC,EACOC,EAAe,mBACfC,EACAC,EACP,CACA,MAAMH,CAAO,EAJN,KAAA,KAAAC,EACA,KAAA,MAAAC,EACA,KAAA,IAAAC,EAGP,KAAK,KAAO,cACd,CAEA,OAAO,KAAKC,EAA4C,CACtD,OAAO,IAAIL,EAAaK,EAAQ,QAASA,EAAQ,KAAMA,EAAQ,MAAOA,EAAQ,GAAG,CACnF,CACF,CAEO,SAASC,EAASC,EAAgB,CACvC,OAAO,OAAOA,GAAS,EAAE,EAAE,KAAA,CAC7B,CAEO,SAASC,EAAuBD,EAAgB,CACrD,OAAO,OAAOA,GAAS,EAAE,EACtB,MAAM,GAAG,EACT,IAAIE,GAAQA,EAAK,MAAM,EACvB,OAAO,OAAO,EACd,KAAK,GAAG,CACb"}
@@ -1,54 +1,54 @@
1
- "use strict";var t=require("lit"),e=require("lit/decorators.js"),s=require("../base/define.cjs"),i=require("../editor/toolbar.cjs"),r=require("./shared-methods.cjs"),o=require("./shared-styles.cjs"),a=require("./single.cjs"),n=require("./sorting-card.cjs"),l=require("./types.cjs"),p=Object.defineProperty,d=Object.getOwnPropertyDescriptor,h=(t,e,s,i)=>{for(var r,o=i>1?void 0:i?d(e,s):e,a=t.length-1;a>=0;a--)(r=t[a])&&(o=(i?r(e,s,o):r(o))||o);return i&&o&&p(e,s,o),o};const c=[{bg:"#ecf5ff",color:"#3D61E3",border:"#d9ecff"},{bg:"#f0f9eb",color:"#67c23a",border:"#c2e7b0"},{bg:"#fdf6ec",color:"#e6a23c",border:"#faecd8"},{bg:"#fef0f0",color:"#f56c6c",border:"#fde2e2"},{bg:"#f4f4f5",color:"#909399",border:"#e9e9eb"}];exports.QxsTextFill=class extends t.LitElement{constructor(){super(...arguments),this._iconPlus=t.html`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>`,this._iconRemove=t.html`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"/></svg>`,this["order-index"]=0,this.title="",this["custom-id"]="",this["is-edit"]=!1,this["is-save"]=!1,this["is-set"]=!1,this["is-key"]=!1,this["show-action"]=!0,this["show-add"]=!0,this["hide-add-rich-text"]=!1,this["show-rich-text"]=!1,this["show-delete-action"]=!0,this["show-save-action"]=!0,this.sorting=!1,this["show-answer-setting"]=!1,this["show-analysis"]=!1,this["rich-text-content"]="",this.analysis="",this["exam-answer-relation-type"]=0,this["exam-expand"]="",this["exam-id"]=0,this["category-id"]="",this["exam-answer-setting"]={isInOrder:!1,isIgnoreCase:!0},this["upload-image"]=async t=>new Promise((e,s)=>{const i=new FileReader;i.onload=t=>e(t.target?.result),i.onerror=s,i.readAsDataURL(t)}),this["answer-list"]=[],this["tag-list"]=[],this["category-list"]=[],this["resource-list"]=[],this["show-tag"]=!1,this["show-category"]=!1,this["show-resource"]=!1,this["model-value"]="",this["use-model"]=!1,this._answers=[{title:"",tag:"",showInput:!1}],this._title="",this._analysis="",this._isInOrder=!1,this._isIgnoreCase=!0,this._keywordCount=null,this._correct="",this._showRichText=!1,this._richText="",this._selectedTagList=[],this._categoryId="",this.TITLE_MAX=200}willUpdate(t){t.has("is-edit")&&this["is-edit"]&&this._syncProps(),!this["is-edit"]&&(t.has("title")||t.has("answer-list")||t.has("analysis")||t.has("exam-answer-setting")||t.has("rich-text-content")||t.has("exam-expand")||t.has("tag-list")||t.has("category-id"))&&this._syncProps(),t.has("model-value")&&this["use-model"]&&(this._title=this["model-value"]),t.has("tag-list")&&(this._selectedTagList=Array.isArray(this["tag-list"])?this["tag-list"].map(t=>({...t})):[]),t.has("category-id")&&(this._categoryId=this["category-id"]?String(this["category-id"]):"")}_normalizeAnswerTitle(t){return a.trimCommaSeparatedText(t?.title??t?.answer??"")}_normalizedAnswerList(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return(Array.isArray(t)?t:[]).map(t=>({...t,answerId:t?.answerId??t?.examAnswerId,title:this._normalizeAnswerTitle(t)}))}_filledAnswers(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(t=>this._normalizeAnswerTitle(t))}_previewKeywordItems(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this._filledAnswers(t).flatMap(t=>this._normalizeAnswerTitle(t).split(",").map(t=>t.trim()).filter(Boolean))}_readKeywordCount(t){return t&&void 0!==t.keywordCount&&null!==t.keywordCount?Number(t.keywordCount):null}_syncProps(){this._title=this.title||"",this._analysis=this.analysis||"",this["answer-list"]?.length?this._answers=this._normalizedAnswerList(this["answer-list"]).map(t=>({title:t.title||"",tag:"",showInput:!1,answerId:t.answerId,customAnswerId:t.customAnswerId})):this._answers=[{title:"",tag:"",showInput:!1}],this._isInOrder=!!this["exam-answer-setting"]?.isInOrder,this._isIgnoreCase=this["exam-answer-setting"]?.isIgnoreCase??!0,this._keywordCount=this._readKeywordCount(this["exam-answer-setting"]),this._richText=this["rich-text-content"]||"",this._showRichText=!!this["rich-text-content"],this._correct=this["exam-expand"]||"",this._selectedTagList=Array.isArray(this["tag-list"])?this["tag-list"].map(t=>({...t})):[],this._categoryId=this["category-id"]?String(this["category-id"]):""}_emit(t,e){r.emitSubjectEvent(this,t,e)}_onTitleInput(t){const e=t.target;e.value.length>this.TITLE_MAX&&(e.value=e.value.slice(0,this.TITLE_MAX)),this._title=e.value,this["use-model"]&&r.emitSubjectModelValue(this,this._title)}_addTag(t){const e={...this._answers[t]};e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag=""),e.showInput=!1,this._answers=this._answers.map((s,i)=>i===t?e:s)}_closeTag(t,e){const s={...this._answers[e]};s.title=s.title.split(",").filter(e=>e!==t).join(","),this._answers=this._answers.map((t,i)=>i===e?s:t)}_addAnswer(){this._answers=[...this._answers,{title:"",tag:"",showInput:!1}]}_deleteAnswer(t){this._answers.length<2||(this._answers=this._answers.filter((e,s)=>s!==t))}_onCategoryChange(t){this._categoryId=t,this._emit("category-change",{value:t,customId:this["custom-id"]||"",examId:this["exam-id"]||0})}_imageResources(){return r.getSubjectImageResources(this["resource-list"]||[])}_videoResource(){return r.getSubjectVideoResource(this["resource-list"]||[])}_categoryLabel(){return r.resolveSubjectCategoryLabel(this["category-list"],this._categoryId)}_validateState(t){const{row:e,title:s,answers:i,correct:r,keywordCount:o}=t;if(!s)return new a.SubjectError("题目标题不能为空!","EMPTY_TITLE","title",e);const n=this._filledAnswers(i);return!!r||null!==o||n.length>0?r?!o||o<1?new a.SubjectError("请完善答题设置!","NO_KEYWORD_COUNT","keywordCount",e):n.length?o>n.length?new a.SubjectError("关键词个数设置有误!","KEYWORD_COUNT_MISMATCH","answers",e):null:new a.SubjectError("请设置关键词","NO_KEYWORDS","answers",e):new a.SubjectError("请输入问题正确答案!","NO_CORRECT_ANSWER","correct",e):null}async toJSON(){return new Promise((t,e)=>{const s={customId:this["custom-id"]||void 0,answerType:"text_fill",orderIndex:this["order-index"]},i=a.trimText(this["is-edit"]?this._title:this.title||""),r=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),o=a.trimText(this["is-edit"]?this._analysis:this.analysis||""),n=a.trimText(this["is-edit"]?this._correct:this["exam-expand"]||""),p=this["is-edit"]?this._keywordCount:this._readKeywordCount(this["exam-answer-setting"]),d=this["is-edit"]?this._isInOrder:this["exam-answer-setting"]?.isInOrder??!1,h=this["is-edit"]?this._isIgnoreCase:this["exam-answer-setting"]?.isIgnoreCase??!0,c=this["is-edit"]?this._showRichText:!!this["rich-text-content"],x=this["is-edit"]?this._richText:this["rich-text-content"]||"",w=this._validateState({row:s,title:i,answers:r,correct:n,keywordCount:p});if(w)return void e(w);const u={answerType:l.SubjectType.TEXT_FILL,examTypeEnum:l.SubjectType.TEXT_FILL,title:i,answers:this._filledAnswers(r).map((t,e)=>{const s=this._normalizeAnswerTitle(t),i={title:s,answer:s,orderIndex:e+1};return t.answerId&&(i.answerId=t.answerId,i.examAnswerId=t.answerId),t.customAnswerId&&(i.customAnswerId=t.customAnswerId),i}),analysis:o,isSetCorrectAnswer:!!n,isKey:this["is-key"],examExpand:n,examAnswerSettingBO:{isIgnoreCase:h,isInOrder:d,...null!==p?{keywordCount:p}:{}},examAnswerSettingVO:{isIgnoreCase:h,isInOrder:d,...null!==p?{keywordCount:p}:{}},examRichTextContent:c?x:""};this["custom-id"]&&(u.customId=this["custom-id"]),t(u)})}async _save(t){t?.stopImmediatePropagation();try{const t=await this.toJSON();this._emit("save",t)}catch(t){r.showSubjectToast(t.message)}}validate(){const t={customId:this["custom-id"]||void 0,answerType:"text_fill",orderIndex:this["order-index"]},e=a.trimText(this["is-edit"]?this._title:this.title||""),s=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),i=a.trimText(this["is-edit"]?this._correct:this["exam-expand"]||""),r=this["is-edit"]?this._keywordCount:this._readKeywordCount(this["exam-answer-setting"]),o=this._validateState({row:t,title:e,answers:s,correct:i,keywordCount:r});return o?[o]:[]}_renderPreview(){const e=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),s=this["is-edit"]?this._correct:this["exam-expand"]||"",i=r.buildSubjectPreviewTitle(this["subject-prefix"],this["order-index"],this.title),o=this._previewKeywordItems(e);return t.html`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("lit"),i=require("lit/decorators.js"),q=require("../base/define.cjs"),S=require("../editor/toolbar.cjs"),d=require("./shared-methods.cjs"),u=require("./shared-styles.cjs"),c=require("./subject-shared.cjs"),j=require("./sorting-card.cjs"),y=require("./types.cjs");var C=Object.defineProperty,F=Object.getOwnPropertyDescriptor,s=(g,t,e,r)=>{for(var o=r>1?void 0:r?F(t,e):t,l=g.length-1,n;l>=0;l--)(n=g[l])&&(o=(r?n(t,e,o):n(o))||o);return r&&o&&C(t,e,o),o};const T=[{bg:"var(--qxs-subject-fill-soft-primary, #ecf5ff)",color:"var(--qxs-subject-color-primary, #3D61E3)",border:"var(--qxs-subject-fill-soft-primary-border, #d9ecff)"},{bg:"var(--qxs-subject-fill-soft-success, #f0f9eb)",color:"var(--qxs-subject-color-success, #67c23a)",border:"var(--qxs-subject-fill-soft-success-border, #c2e7b0)"},{bg:"var(--qxs-subject-fill-soft-warning, #fdf6ec)",color:"var(--qxs-subject-color-warning, #e6a23c)",border:"var(--qxs-subject-fill-soft-warning-border, #faecd8)"},{bg:"var(--qxs-subject-fill-soft-danger, #fef0f0)",color:"var(--qxs-subject-color-danger, #f56c6c)",border:"var(--qxs-subject-fill-soft-danger-border, #fde2e2)"},{bg:"var(--qxs-subject-fill-soft-info, #f4f4f5)",color:"var(--qxs-subject-text-secondary, #909399)",border:"var(--qxs-subject-fill-soft-info-border, #e9e9eb)"}];exports.QxsTextFill=class extends a.LitElement{constructor(){super(...arguments),this._iconPlus=a.html`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>`,this._iconRemove=a.html`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="5" y1="12" x2="19" y2="12"/></svg>`,this["order-index"]=0,this.title="",this["custom-id"]="",this["is-edit"]=!1,this["is-save"]=!1,this["is-set"]=!1,this["is-key"]=!1,this["show-action"]=!0,this["show-add"]=!0,this["hide-add-rich-text"]=!1,this["show-rich-text"]=!1,this["show-delete-action"]=!0,this["show-save-action"]=!0,this.sorting=!1,this["show-answer-setting"]=!1,this["show-analysis"]=!1,this["rich-text-content"]="",this.analysis="",this["exam-answer-relation-type"]=0,this["exam-expand"]="",this["exam-id"]=0,this["category-id"]="",this["exam-answer-setting"]={isInOrder:!1,isIgnoreCase:!0},this["upload-image"]=async t=>new Promise((e,r)=>{const o=new FileReader;o.onload=l=>e(l.target?.result),o.onerror=r,o.readAsDataURL(t)}),this["answer-list"]=[],this["tag-list"]=[],this["category-list"]=[],this["resource-list"]=[],this["show-tag"]=!1,this["show-category"]=!1,this["show-resource"]=!1,this["model-value"]="",this["use-model"]=!1,this._answers=[{title:"",tag:"",showInput:!1}],this._title="",this._analysis="",this._isInOrder=!1,this._isIgnoreCase=!0,this._keywordCount=null,this._correct="",this._showRichText=!1,this._richText="",this._selectedTagList=[],this._categoryId="",this.TITLE_MAX=200}willUpdate(t){t.has("is-edit")&&this["is-edit"]&&this._syncProps(),!this["is-edit"]&&(t.has("title")||t.has("answer-list")||t.has("analysis")||t.has("exam-answer-setting")||t.has("rich-text-content")||t.has("exam-expand")||t.has("tag-list")||t.has("category-id"))&&this._syncProps(),t.has("model-value")&&this["use-model"]&&(this._title=this["model-value"]),t.has("tag-list")&&(this._selectedTagList=Array.isArray(this["tag-list"])?this["tag-list"].map(e=>({...e})):[]),t.has("category-id")&&(this._categoryId=this["category-id"]?String(this["category-id"]):"")}_normalizeAnswerTitle(t){return c.trimCommaSeparatedText(t?.title??t?.answer??"")}_normalizedAnswerList(t=[]){return(Array.isArray(t)?t:[]).map(e=>({...e,answerId:e?.answerId??e?.examAnswerId,title:this._normalizeAnswerTitle(e)}))}_filledAnswers(t=[]){return t.filter(e=>this._normalizeAnswerTitle(e))}_previewKeywordItems(t=[]){return this._filledAnswers(t).flatMap(e=>this._normalizeAnswerTitle(e).split(",").map(r=>r.trim()).filter(Boolean))}_readKeywordCount(t){return!t||t.keywordCount===void 0||t.keywordCount===null?null:Number(t.keywordCount)}_syncProps(){this._title=this.title||"",this._analysis=this.analysis||"",this["answer-list"]?.length?this._answers=this._normalizedAnswerList(this["answer-list"]).map(t=>({title:t.title||"",tag:"",showInput:!1,answerId:t.answerId,customAnswerId:t.customAnswerId})):this._answers=[{title:"",tag:"",showInput:!1}],this._isInOrder=!!this["exam-answer-setting"]?.isInOrder,this._isIgnoreCase=this["exam-answer-setting"]?.isIgnoreCase??!0,this._keywordCount=this._readKeywordCount(this["exam-answer-setting"]),this._richText=this["rich-text-content"]||"",this._showRichText=!!this["rich-text-content"],this._correct=this["exam-expand"]||"",this._selectedTagList=Array.isArray(this["tag-list"])?this["tag-list"].map(t=>({...t})):[],this._categoryId=this["category-id"]?String(this["category-id"]):""}_emit(t,e){d.emitSubjectEvent(this,t,e)}_onTitleInput(t){const e=t.target;e.value.length>this.TITLE_MAX&&(e.value=e.value.slice(0,this.TITLE_MAX)),this._title=e.value,this["use-model"]&&d.emitSubjectModelValue(this,this._title)}_addTag(t){const e={...this._answers[t]};e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag=""),e.showInput=!1,this._answers=this._answers.map((r,o)=>o===t?e:r)}_closeTag(t,e){const r={...this._answers[e]};r.title=r.title.split(",").filter(o=>o!==t).join(","),this._answers=this._answers.map((o,l)=>l===e?r:o)}_addAnswer(){this._answers=[...this._answers,{title:"",tag:"",showInput:!1}]}_deleteAnswer(t){this._answers.length<2||(this._answers=this._answers.filter((e,r)=>r!==t))}_onCategoryChange(t){this._categoryId=t,this._emit("category-change",{value:t,customId:this["custom-id"]||"",examId:this["exam-id"]||0})}_imageResources(){return d.getSubjectImageResources(this["resource-list"]||[])}_videoResource(){return d.getSubjectVideoResource(this["resource-list"]||[])}_categoryLabel(){return d.resolveSubjectCategoryLabel(this["category-list"],this._categoryId)}_validateState(t){const{row:e,title:r,answers:o,correct:l,keywordCount:n}=t;if(!r)return new c.SubjectError("题目标题不能为空!","EMPTY_TITLE","title",e);const h=this._filledAnswers(o);return!!l||n!==null||h.length>0?l?!n||n<1?new c.SubjectError("请完善答题设置!","NO_KEYWORD_COUNT","keywordCount",e):h.length?n>h.length?new c.SubjectError("关键词个数设置有误!","KEYWORD_COUNT_MISMATCH","answers",e):null:new c.SubjectError("请设置关键词","NO_KEYWORDS","answers",e):new c.SubjectError("请输入问题正确答案!","NO_CORRECT_ANSWER","correct",e):null}async toJSON(){return new Promise((t,e)=>{const r={customId:this["custom-id"]||void 0,answerType:"text_fill",orderIndex:this["order-index"]},o=c.trimText(this["is-edit"]?this._title:this.title||""),l=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),n=c.trimText(this["is-edit"]?this._analysis:this.analysis||""),h=c.trimText(this["is-edit"]?this._correct:this["exam-expand"]||""),p=this["is-edit"]?this._keywordCount:this._readKeywordCount(this["exam-answer-setting"]),m=this["is-edit"]?this._isInOrder:this["exam-answer-setting"]?.isInOrder??!1,b=this["is-edit"]?this._isIgnoreCase:this["exam-answer-setting"]?.isIgnoreCase??!0,$=this["is-edit"]?this._showRichText:!!this["rich-text-content"],I=this["is-edit"]?this._richText:this["rich-text-content"]||"",v=this._validateState({row:r,title:o,answers:l,correct:h,keywordCount:p});if(v){e(v);return}const f={answerType:y.SubjectType.TEXT_FILL,examTypeEnum:y.SubjectType.TEXT_FILL,title:o,answers:this._filledAnswers(l).map((x,k)=>{const _=this._normalizeAnswerTitle(x),w={title:_,answer:_,orderIndex:k+1};return x.answerId&&(w.answerId=x.answerId,w.examAnswerId=x.answerId),x.customAnswerId&&(w.customAnswerId=x.customAnswerId),w}),analysis:n,isSetCorrectAnswer:!!h,isKey:this["is-key"],examExpand:h,examAnswerSettingBO:{isIgnoreCase:b,isInOrder:m,...p!==null?{keywordCount:p}:{}},examAnswerSettingVO:{isIgnoreCase:b,isInOrder:m,...p!==null?{keywordCount:p}:{}},examRichTextContent:$?I:""};this["custom-id"]&&(f.customId=this["custom-id"]),t(f)})}async _save(t){t?.stopImmediatePropagation();try{const e=await this.toJSON();this._emit("save",e)}catch(e){d.showSubjectToast(e.message)}}validate(){const t={customId:this["custom-id"]||void 0,answerType:"text_fill",orderIndex:this["order-index"]},e=c.trimText(this["is-edit"]?this._title:this.title||""),r=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),o=c.trimText(this["is-edit"]?this._correct:this["exam-expand"]||""),l=this["is-edit"]?this._keywordCount:this._readKeywordCount(this["exam-answer-setting"]),n=this._validateState({row:t,title:e,answers:r,correct:o,keywordCount:l});return n?[n]:[]}_renderPreview(){const t=this["is-edit"]?this._answers:this._normalizedAnswerList(this["answer-list"]||[]),e=this["is-edit"]?this._correct:this["exam-expand"]||"",r=d.buildSubjectPreviewTitle(this["subject-prefix"],this["order-index"],this.title),o=this._previewKeywordItems(t);return a.html`
2
2
  <div class="preview">
3
3
  <div class="preview-header">
4
4
  <div class="preview-title-row">
5
- <span class="title">${i}</span>
5
+ <span class="title">${r}</span>
6
6
  <span class="preview-type">问答题</span>
7
7
  </div>
8
- ${this["show-rich-text"]&&this["rich-text-content"]?t.html`<div class="rich-text" .innerHTML=${this["rich-text-content"]}></div>`:""}
8
+ ${this["show-rich-text"]&&this["rich-text-content"]?a.html`<div class="rich-text" .innerHTML=${this["rich-text-content"]}></div>`:""}
9
9
  </div>
10
- ${o.length?t.html`
10
+ ${o.length?a.html`
11
11
  <div class="preview-keyword-list">
12
- ${o.map(e=>t.html`
13
- <span class="preview-answer-key">${e}</span>
12
+ ${o.map(l=>a.html`
13
+ <span class="preview-answer-key">${l}</span>
14
14
  `)}
15
15
  </div>
16
16
  `:""}
17
- ${s?t.html`<div class="preview-answer-body">${s}</div>`:""}
18
- ${this.analysis?t.html`<div class="preview-analysis">${this.analysis}</div>`:""}
19
- ${this["show-category"]&&this._categoryId?t.html`<div class="section-row"><span class="value-text">分类:${this._categoryLabel()}</span></div>`:""}
17
+ ${e?a.html`<div class="preview-answer-body">${e}</div>`:""}
18
+ ${this.analysis?a.html`<div class="preview-analysis">${this.analysis}</div>`:""}
19
+ ${this["show-category"]&&this._categoryId?a.html`<div class="section-row"><span class="value-text">分类:${this._categoryLabel()}</span></div>`:""}
20
20
  ${this._renderResourceSection()}
21
21
  </div>
22
- `}_renderSorting(){const t=a.trimText(this["is-edit"]?this._title:this.title||"")||"未命名题目",e=r.buildSubjectSortingTitle(this["subject-prefix"],this["order-index"],t);return n.renderSortingCard(e,l.SubjectTypeLabel[l.SubjectType.TEXT_FILL]||l.SubjectType.TEXT_FILL)}_renderCategorySection(){return this["show-category"]?t.html`
22
+ `}_renderSorting(){const t=c.trimText(this["is-edit"]?this._title:this.title||"")||"未命名题目",e=d.buildSubjectSortingTitle(this["subject-prefix"],this["order-index"],t);return j.renderSortingCard(e,y.SubjectTypeLabel[y.SubjectType.TEXT_FILL]||y.SubjectType.TEXT_FILL)}_renderCategorySection(){return this["show-category"]?a.html`
23
23
  <div class="flex-items-start section-row">
24
24
  <div class="label"><span>分类:</span></div>
25
25
  <div style="flex:1">
26
- ${this["is-edit"]?t.html`
26
+ ${this["is-edit"]?a.html`
27
27
  <select class="el-select" .value=${String(this._categoryId)}
28
28
  @change=${t=>this._onCategoryChange(t.target.value)}>
29
29
  <option value="">选择分类</option>
30
- ${this["category-list"].map(e=>t.html`
31
- <option value=${String(e.categoryId)} ?selected=${String(e.categoryId)===String(this._categoryId)}>${e.title||e.categoryName}</option>
30
+ ${this["category-list"].map(t=>a.html`
31
+ <option value=${String(t.categoryId)} ?selected=${String(t.categoryId)===String(this._categoryId)}>${t.title||t.categoryName}</option>
32
32
  `)}
33
33
  </select>
34
- `:t.html`<span class="value-text">${this._categoryLabel()}</span>`}
34
+ `:a.html`<span class="value-text">${this._categoryLabel()}</span>`}
35
35
  </div>
36
36
  </div>
37
- `:""}_renderResourceSection(){if(!this["show-resource"])return"";const e=this._imageResources(),s=this._videoResource();return t.html`
37
+ `:""}_renderResourceSection(){if(!this["show-resource"])return"";const t=this._imageResources(),e=this._videoResource();return a.html`
38
38
  <div class="flex-items-start section-row">
39
39
  <div class="label"><span>资源:</span></div>
40
40
  <div style="flex:1">
41
- <div class="resource-summary">图片 ${e.length} 张${s?.url?",含视频资源":""}</div>
42
- ${e.length?t.html`
41
+ <div class="resource-summary">图片 ${t.length} 张${e?.url?",含视频资源":""}</div>
42
+ ${t.length?a.html`
43
43
  <div class="resource-thumbs">
44
- ${e.slice(0,4).map(e=>t.html`<img class="resource-thumb" src=${e} alt="resource" />`)}
44
+ ${t.slice(0,4).map(r=>a.html`<img class="resource-thumb" src=${r} alt="resource" />`)}
45
45
  </div>
46
46
  `:""}
47
- ${s?.url?t.html`<div style="margin-top:8px"><a class="el-link" href=${s.url} target="_blank" rel="noreferrer">查看视频</a></div>`:""}
48
- ${e.length||s?.url?"":t.html`<div class="tag-hint">暂无资源</div>`}
47
+ ${e?.url?a.html`<div style="margin-top:8px"><a class="el-link" href=${e.url} target="_blank" rel="noreferrer">查看视频</a></div>`:""}
48
+ ${!t.length&&!e?.url?a.html`<div class="tag-hint">暂无资源</div>`:""}
49
49
  </div>
50
50
  </div>
51
- `}_renderEdit(){return t.html`
51
+ `}_renderEdit(){return a.html`
52
52
  <div class="edit-form">
53
53
  <div class="edit-row">
54
54
  <div class="label"><span>题目:</span></div>
@@ -70,9 +70,9 @@
70
70
  <input
71
71
  type="number"
72
72
  class="setting-number"
73
- .value=${null===this._keywordCount?"":String(this._keywordCount)}
73
+ .value=${this._keywordCount===null?"":String(this._keywordCount)}
74
74
  min="1"
75
- @change=${t=>{const e=t.target.value;this._keywordCount=""===e?null:Number(e)}} />
75
+ @change=${t=>{const e=t.target.value;this._keywordCount=e===""?null:Number(e)}} />
76
76
  <span class="setting-copy">个关键词,算是正确的</span>
77
77
  <label class="setting-toggle">
78
78
  <input type="checkbox" .checked=${this._isInOrder}
@@ -112,32 +112,32 @@
112
112
  <div class="keyword-section">
113
113
  <div class="edit-note">如遇特殊字符关键词,请补充同义词,例如 “CO₂” 同时补充 “CO2”。</div>
114
114
  <div class="answer-list">
115
- ${this._answers.map((e,s)=>t.html`
115
+ ${this._answers.map((t,e)=>a.html`
116
116
  <div class="answer-item">
117
- <span class="answer-item-label">关键词${s+1}:</span>
117
+ <span class="answer-item-label">关键词${e+1}:</span>
118
118
  <div class="answer-tags">
119
- ${e.title.split(",").filter(Boolean).map(e=>{const i=c[s%c.length];return t.html`
120
- <span style="display:inline-flex;align-items:center;background:${i.bg};color:${i.color};border:1px solid ${i.border};border-radius:6px;padding:2px 8px;font-size:12px;line-height:16px">
121
- ${e}
122
- <span style="cursor:pointer;margin-left:4px;color:#909399" @click=${()=>this._closeTag(e,s)}>×</span>
119
+ ${t.title.split(",").filter(Boolean).map(r=>{const o=T[e%T.length];return a.html`
120
+ <span style="display:inline-flex;align-items:center;background:${o.bg};color:${o.color};border:1px solid ${o.border};border-radius:6px;padding:2px 8px;font-size:12px;line-height:16px">
121
+ ${r}
122
+ <span style="cursor:pointer;margin-left:4px;color:var(--qxs-subject-text-secondary, #909399)" @click=${()=>this._closeTag(r,e)}>×</span>
123
123
  </span>
124
124
  `})}
125
- ${t.html`
126
- ${e.showInput?t.html`
125
+ ${a.html`
126
+ ${t.showInput?a.html`
127
127
  <input type="text" class="keyword-input"
128
- @keydown=${t=>{"Enter"===t.key&&this._addTag(s)}}
129
- @input=${t=>{e.tag=t.target.value}}
130
- @blur=${()=>this._addTag(s)} />
131
- <button class="el-link" @click=${()=>this._addTag(s)}>确认</button>
132
- `:t.html`
133
- <button class="link" @click=${()=>{this._answers=this._answers.map((t,e)=>e===s?{...t,showInput:!0}:t),this.updateComplete.then(()=>{this.shadowRoot?.querySelector(".keyword-input")?.focus()})}}>
134
- ${e.title?"添加同义词":"添加关键词"}
128
+ @keydown=${r=>{r.key==="Enter"&&this._addTag(e)}}
129
+ @input=${r=>{t.tag=r.target.value}}
130
+ @blur=${()=>this._addTag(e)} />
131
+ <button class="el-link" @click=${()=>this._addTag(e)}>确认</button>
132
+ `:a.html`
133
+ <button class="link" @click=${()=>{this._answers=this._answers.map((r,o)=>o===e?{...r,showInput:!0}:r),this.updateComplete.then(()=>{this.shadowRoot?.querySelector(".keyword-input")?.focus()})}}>
134
+ ${t.title?"添加同义词":"添加关键词"}
135
135
  </button>
136
136
  `}
137
137
  `}
138
138
  </div>
139
139
  <span class="icon" @click=${()=>this._addAnswer()}>${this._iconPlus}</span>
140
- <span class="icon ${this._answers.length<2?"disabled":""}" @click=${()=>this._deleteAnswer(s)}>${this._iconRemove}</span>
140
+ <span class="icon ${this._answers.length<2?"disabled":""}" @click=${()=>this._deleteAnswer(e)}>${this._iconRemove}</span>
141
141
  </div>
142
142
  `)}
143
143
  </div>
@@ -145,25 +145,25 @@
145
145
  </div>
146
146
  </div>
147
147
 
148
- ${this["show-rich-text"]&&this._showRichText?t.html`
148
+ ${this["show-rich-text"]&&this._showRichText?a.html`
149
149
  <div class="edit-row section-row">
150
150
  <div class="label"><span>副文本:</span></div>
151
151
  <div class="row-body">
152
152
  <slot name="sub-text">
153
153
  <qxs-blocksuite-editor
154
154
  .content=${this._richText}
155
- .toolbar=${i.SUB_TEXT_EDITOR_TOOLBAR}
155
+ .toolbar=${S.SUB_TEXT_EDITOR_TOOLBAR}
156
156
  .upload-image=${this["upload-image"]}
157
157
  ?is-edit=${!0}
158
158
  @input=${t=>{this._richText=t.target.getContent()}}
159
159
  ></qxs-blocksuite-editor>
160
160
  </slot>
161
- ${this["show-action"]?"":t.html`<div class="flex-justify-end" style="margin-top:8px"><span class="el-link danger" @click=${()=>{this._showRichText=!1,this._richText=""}}>删除富文本</span></div>`}
161
+ ${this["show-action"]?"":a.html`<div class="flex-justify-end" style="margin-top:8px"><span class="el-link danger" @click=${()=>{this._showRichText=!1,this._richText=""}}>删除富文本</span></div>`}
162
162
  </div>
163
163
  </div>
164
164
  `:""}
165
165
 
166
- ${this["show-analysis"]?t.html`
166
+ ${this["show-analysis"]?a.html`
167
167
  <div class="edit-row section-row">
168
168
  <div class="label"><span>解析:</span></div>
169
169
  <div class="row-body">
@@ -176,10 +176,10 @@
176
176
  </div>
177
177
  `:""}
178
178
  </div>
179
- `}render(){if(this.sorting)return this._renderSorting();const e=this["is-edit"]?t.html`<div slot="edit">${this._renderEdit()}</div>`:t.html`<div slot="preview">${this._renderPreview()}</div>`;return t.html`
179
+ `}render(){if(this.sorting)return this._renderSorting();const t=this["is-edit"]?a.html`<div slot="edit">${this._renderEdit()}</div>`:a.html`<div slot="preview">${this._renderPreview()}</div>`;return a.html`
180
180
  <qxs-subject-layout .show-edit=${this["is-edit"]}>
181
- ${e}
182
- ${this["show-action"]?t.html`
181
+ ${t}
182
+ ${this["show-action"]?a.html`
183
183
  <qxs-subject-action
184
184
  .is-edit=${this["is-edit"]}
185
185
  .is-set=${this["is-set"]}
@@ -192,14 +192,14 @@
192
192
  @delete=${()=>this._emit("delete")}
193
193
  @save=${this._save}
194
194
  @edit=${()=>this._emit("edit")}
195
- @add=${t=>this._emit("add",t.detail)}
196
- @set-key=${t=>{this._emit("set-key",t.detail)}}
195
+ @add=${e=>this._emit("add",e.detail)}
196
+ @set-key=${e=>{this._emit("set-key",e.detail)}}
197
197
  @on-show-rich-text=${()=>{this._showRichText=!this._showRichText,this._showRichText||(this._richText="")}}
198
198
  ></qxs-subject-action>
199
199
  `:""}
200
200
  <slot name="action"></slot>
201
201
  </qxs-subject-layout>
202
- `}},exports.QxsTextFill.styles=[n.sortingCardStyles,o.subjectHostStyles,o.subjectControlResetStyles,o.subjectPreviewBaseStyles,o.subjectFormBaseStyles,o.subjectTextareaStyles,t.css`
202
+ `}};exports.QxsTextFill.styles=[j.sortingCardStyles,u.subjectHostStyles,u.subjectControlResetStyles,u.subjectPreviewBaseStyles,u.subjectFormBaseStyles,u.subjectTextareaStyles,a.css`
203
203
  .preview-keyword-list {
204
204
  display: flex;
205
205
  flex-wrap: wrap;
@@ -211,11 +211,11 @@
211
211
  align-items: center;
212
212
  padding: 2px 10px;
213
213
  border-radius: 999px;
214
- background: #f3f6fb;
214
+ background: var(--qxs-subject-fill-extra-light, #f3f6fb);
215
215
  font-size: 12px;
216
216
  line-height: 1.6;
217
217
  font-weight: 500;
218
- color: #6b7280;
218
+ color: var(--qxs-subject-text-soft, #6b7280);
219
219
  }
220
220
  .preview-answer-body {
221
221
  position: relative;
@@ -224,7 +224,7 @@
224
224
  font-size: 14px;
225
225
  line-height: 1.85;
226
226
  font-weight: 600;
227
- color: #3c4758;
227
+ color: var(--qxs-subject-text-primary, #3c4758);
228
228
  white-space: pre-wrap;
229
229
  }
230
230
  .preview-answer-body::before {
@@ -235,15 +235,15 @@
235
235
  width: 6px;
236
236
  height: 6px;
237
237
  border-radius: 999px;
238
- background: #c9d5ff;
238
+ background: var(--qxs-subject-fill-soft-primary-border-strong, #c9d5ff);
239
239
  }
240
240
  .preview-analysis {
241
241
  margin-top: 20px;
242
242
  padding-left: 10px;
243
- border-left: 2px solid #e5eaf3;
243
+ border-left: 2px solid var(--qxs-subject-border-lighter, #e5eaf3);
244
244
  font-size: 13px;
245
245
  line-height: 1.8;
246
- color: #6b7280;
246
+ color: var(--qxs-subject-text-soft, #6b7280);
247
247
  }
248
248
 
249
249
  .flex { display: flex; }
@@ -259,12 +259,12 @@
259
259
  }
260
260
  .setting-copy {
261
261
  font-size: 13px;
262
- color: #606266;
262
+ color: var(--qxs-subject-text-regular, #606266);
263
263
  }
264
264
  .setting-number {
265
265
  width: 68px;
266
266
  height: 32px;
267
- border: 1px solid #dcdfe6;
267
+ border: 1px solid var(--qxs-subject-border, #dcdfe6);
268
268
  border-radius: 6px;
269
269
  padding: 0 10px;
270
270
  font-size: 13px;
@@ -272,7 +272,7 @@
272
272
  font-family: inherit;
273
273
  }
274
274
  .setting-number:focus {
275
- border-color: #3D61E3;
275
+ border-color: var(--qxs-subject-color-primary, #3D61E3);
276
276
  outline: none;
277
277
  }
278
278
  .setting-toggle {
@@ -281,14 +281,14 @@
281
281
  gap: 4px;
282
282
  cursor: pointer;
283
283
  font-size: 12px;
284
- color: #606266;
284
+ color: var(--qxs-subject-text-regular, #606266);
285
285
  user-select: none;
286
286
  }
287
287
  .edit-note {
288
288
  margin-bottom: 8px;
289
289
  font-size: 12px;
290
290
  line-height: 1.6;
291
- color: #909399;
291
+ color: var(--qxs-subject-text-secondary, #909399);
292
292
  }
293
293
 
294
294
  .answer-list { display: flex; flex-direction: column; gap: 10px; }
@@ -304,46 +304,46 @@
304
304
  font-size: 13px;
305
305
  line-height: 1.5;
306
306
  font-weight: 600;
307
- color: #6b7280;
307
+ color: var(--qxs-subject-text-soft, #6b7280);
308
308
  letter-spacing: 0;
309
309
  }
310
310
  .answer-item .icon {
311
311
  margin-left: 6px; cursor: pointer; display: inline-flex;
312
312
  align-items: center; justify-content: center;
313
313
  width: 24px; height: 24px; border-radius: 4px;
314
- border: 1px solid #dcdfe6; background: #fff; color: #909399;
314
+ border: 1px solid var(--qxs-subject-border, #dcdfe6); background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-secondary, #909399);
315
315
  transition: all 0.2s;
316
316
  }
317
- .answer-item .icon:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }
318
- .answer-item .icon.disabled { color: #e4e7ed; border-color: #e4e7ed; cursor: not-allowed; }
319
- .answer-item .link { color: #3D61E3; cursor: pointer; font-size: 12px; white-space: nowrap; background: none; border: none; padding: 0; margin: 0; font-family: inherit; }
320
- .answer-item .link:hover { color: #2D4CB8; }
317
+ .answer-item .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); }
318
+ .answer-item .icon.disabled { color: var(--qxs-subject-border-light, #e4e7ed); border-color: var(--qxs-subject-border-light, #e4e7ed); cursor: not-allowed; }
319
+ .answer-item .link { color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; white-space: nowrap; background: none; border: none; padding: 0; margin: 0; font-family: inherit; }
320
+ .answer-item .link:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
321
321
 
322
- .el-link { color: #3D61E3; cursor: pointer; font-size: 12px; background: none; border: none; padding: 0; margin: 0; font-family: inherit; line-height: 1; }
323
- .el-link:hover { color: #2D4CB8; }
324
- .el-link.danger { color: #f56c6c; }
322
+ .el-link { color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; background: none; border: none; padding: 0; margin: 0; font-family: inherit; line-height: 1; }
323
+ .el-link:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
324
+ .el-link.danger { color: var(--qxs-subject-color-danger, #f56c6c); }
325
325
 
326
- .value-text { font-size: 13px; color: #606266; white-space: pre-wrap; }
326
+ .value-text { font-size: 13px; color: var(--qxs-subject-text-regular, #606266); white-space: pre-wrap; }
327
327
  .tag-list { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 32px; }
328
328
  .tag-item {
329
329
  display: inline-flex; align-items: center; gap: 4px;
330
330
  padding: 4px 8px; font-size: 12px; line-height: 1;
331
- color: #3D61E3; background: #ecf5ff; border: 1px solid #d9ecff; border-radius: 4px;
331
+ color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); border: 1px solid var(--qxs-subject-fill-soft-primary-border, #d9ecff); border-radius: 4px;
332
332
  }
333
- .tag-item .close { cursor: pointer; color: #909399; }
334
- .tag-item .close:hover { color: #f56c6c; }
335
- .tag-hint { font-size: 12px; color: #909399; }
333
+ .tag-item .close { cursor: pointer; color: var(--qxs-subject-text-secondary, #909399); }
334
+ .tag-item .close:hover { color: var(--qxs-subject-color-danger, #f56c6c); }
335
+ .tag-hint { font-size: 12px; color: var(--qxs-subject-text-secondary, #909399); }
336
336
  .el-select {
337
- width: 150px; height: 34px; border: 1px solid #dcdfe6; border-radius: 6px;
338
- padding: 0 8px; font-size: 13px; background: #fff; appearance: none;
337
+ width: 150px; height: 34px; border: 1px solid var(--qxs-subject-border, #dcdfe6); border-radius: 6px;
338
+ padding: 0 8px; font-size: 13px; background: var(--qxs-subject-fill-blank, #fff); appearance: none;
339
339
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c0c4cc' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
340
340
  background-repeat: no-repeat; background-position: right 8px center;
341
341
  }
342
- .resource-summary { font-size: 12px; color: #606266; }
342
+ .resource-summary { font-size: 12px; color: var(--qxs-subject-text-regular, #606266); }
343
343
  .resource-thumbs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
344
344
  .resource-thumb {
345
345
  width: 72px; height: 72px; object-fit: cover; border-radius: 6px;
346
- border: 1px solid #e4e7ed; background: #f5f7fa;
346
+ border: 1px solid var(--qxs-subject-border-light, #e4e7ed); background: var(--qxs-subject-fill-light, #f5f7fa);
347
347
  }
348
348
  .answer-tags {
349
349
  display: flex;
@@ -359,14 +359,14 @@
359
359
  .keyword-input {
360
360
  width: 88px;
361
361
  height: 28px;
362
- border: 1px solid #dcdfe6;
362
+ border: 1px solid var(--qxs-subject-border, #dcdfe6);
363
363
  border-radius: 6px;
364
364
  padding: 0 8px;
365
365
  font-size: 12px;
366
366
  font-family: inherit;
367
367
  }
368
368
  .keyword-input:focus {
369
- border-color: #3D61E3;
369
+ border-color: var(--qxs-subject-color-primary, #3D61E3);
370
370
  outline: none;
371
371
  }
372
372
 
@@ -391,5 +391,5 @@
391
391
  max-width: none;
392
392
  }
393
393
  }
394
- `],h([e.property({type:Number,attribute:"order-index"})],exports.QxsTextFill.prototype,"order-index",2),h([e.property({type:String,attribute:"subject-prefix"})],exports.QxsTextFill.prototype,"subject-prefix",2),h([e.property({type:String})],exports.QxsTextFill.prototype,"title",2),h([e.property({type:String,attribute:"custom-id"})],exports.QxsTextFill.prototype,"custom-id",2),h([e.property({type:Boolean,attribute:"is-edit"})],exports.QxsTextFill.prototype,"is-edit",2),h([e.property({type:Boolean,attribute:"is-save"})],exports.QxsTextFill.prototype,"is-save",2),h([e.property({type:Boolean,attribute:"is-set"})],exports.QxsTextFill.prototype,"is-set",2),h([e.property({type:Boolean,attribute:"is-key"})],exports.QxsTextFill.prototype,"is-key",2),h([e.property({type:Boolean,attribute:"show-action"})],exports.QxsTextFill.prototype,"show-action",2),h([e.property({type:Boolean,attribute:"show-add"})],exports.QxsTextFill.prototype,"show-add",2),h([e.property({type:Boolean,attribute:"hide-add-rich-text"})],exports.QxsTextFill.prototype,"hide-add-rich-text",2),h([e.property({type:Boolean,attribute:"show-rich-text"})],exports.QxsTextFill.prototype,"show-rich-text",2),h([e.property({type:Boolean,attribute:"show-delete-action"})],exports.QxsTextFill.prototype,"show-delete-action",2),h([e.property({type:Boolean,attribute:"show-save-action"})],exports.QxsTextFill.prototype,"show-save-action",2),h([e.property({type:Boolean,reflect:!0})],exports.QxsTextFill.prototype,"sorting",2),h([e.property({type:Boolean,attribute:"show-answer-setting"})],exports.QxsTextFill.prototype,"show-answer-setting",2),h([e.property({type:Boolean,attribute:"show-analysis"})],exports.QxsTextFill.prototype,"show-analysis",2),h([e.property({type:String,attribute:"rich-text-content"})],exports.QxsTextFill.prototype,"rich-text-content",2),h([e.property({type:String})],exports.QxsTextFill.prototype,"analysis",2),h([e.property({type:Number,attribute:"exam-answer-relation-type"})],exports.QxsTextFill.prototype,"exam-answer-relation-type",2),h([e.property({type:String,attribute:"exam-expand"})],exports.QxsTextFill.prototype,"exam-expand",2),h([e.property({type:Number,attribute:"exam-id"})],exports.QxsTextFill.prototype,"exam-id",2),h([e.property({type:String,attribute:"category-id"})],exports.QxsTextFill.prototype,"category-id",2),h([e.property({type:Object,attribute:"exam-answer-setting"})],exports.QxsTextFill.prototype,"exam-answer-setting",2),h([e.property({type:Object,attribute:"upload-image"})],exports.QxsTextFill.prototype,"upload-image",2),h([e.property({type:Array,attribute:"answer-list"})],exports.QxsTextFill.prototype,"answer-list",2),h([e.property({type:Array,attribute:"tag-list"})],exports.QxsTextFill.prototype,"tag-list",2),h([e.property({type:Array,attribute:"category-list"})],exports.QxsTextFill.prototype,"category-list",2),h([e.property({type:Array,attribute:"resource-list"})],exports.QxsTextFill.prototype,"resource-list",2),h([e.property({type:Boolean,attribute:"show-tag"})],exports.QxsTextFill.prototype,"show-tag",2),h([e.property({type:Boolean,attribute:"show-category"})],exports.QxsTextFill.prototype,"show-category",2),h([e.property({type:Boolean,attribute:"show-resource"})],exports.QxsTextFill.prototype,"show-resource",2),h([e.property({type:Object,attribute:"search-handler"})],exports.QxsTextFill.prototype,"search-handler",2),h([e.property({type:String,attribute:"model-value"})],exports.QxsTextFill.prototype,"model-value",2),h([e.property({type:Boolean,attribute:"use-model"})],exports.QxsTextFill.prototype,"use-model",2),h([e.state()],exports.QxsTextFill.prototype,"_answers",2),h([e.state()],exports.QxsTextFill.prototype,"_title",2),h([e.state()],exports.QxsTextFill.prototype,"_analysis",2),h([e.state()],exports.QxsTextFill.prototype,"_isInOrder",2),h([e.state()],exports.QxsTextFill.prototype,"_isIgnoreCase",2),h([e.state()],exports.QxsTextFill.prototype,"_keywordCount",2),h([e.state()],exports.QxsTextFill.prototype,"_correct",2),h([e.state()],exports.QxsTextFill.prototype,"_showRichText",2),h([e.state()],exports.QxsTextFill.prototype,"_richText",2),h([e.state()],exports.QxsTextFill.prototype,"_selectedTagList",2),h([e.state()],exports.QxsTextFill.prototype,"_categoryId",2),exports.QxsTextFill=h([s.safeCustomElement("qxs-text-fill")],exports.QxsTextFill);
394
+ `];s([i.property({type:Number,attribute:"order-index"})],exports.QxsTextFill.prototype,"order-index",2);s([i.property({type:String,attribute:"subject-prefix"})],exports.QxsTextFill.prototype,"subject-prefix",2);s([i.property({type:String})],exports.QxsTextFill.prototype,"title",2);s([i.property({type:String,attribute:"custom-id"})],exports.QxsTextFill.prototype,"custom-id",2);s([i.property({type:Boolean,attribute:"is-edit"})],exports.QxsTextFill.prototype,"is-edit",2);s([i.property({type:Boolean,attribute:"is-save"})],exports.QxsTextFill.prototype,"is-save",2);s([i.property({type:Boolean,attribute:"is-set"})],exports.QxsTextFill.prototype,"is-set",2);s([i.property({type:Boolean,attribute:"is-key"})],exports.QxsTextFill.prototype,"is-key",2);s([i.property({type:Boolean,attribute:"show-action"})],exports.QxsTextFill.prototype,"show-action",2);s([i.property({type:Boolean,attribute:"show-add"})],exports.QxsTextFill.prototype,"show-add",2);s([i.property({type:Boolean,attribute:"hide-add-rich-text"})],exports.QxsTextFill.prototype,"hide-add-rich-text",2);s([i.property({type:Boolean,attribute:"show-rich-text"})],exports.QxsTextFill.prototype,"show-rich-text",2);s([i.property({type:Boolean,attribute:"show-delete-action"})],exports.QxsTextFill.prototype,"show-delete-action",2);s([i.property({type:Boolean,attribute:"show-save-action"})],exports.QxsTextFill.prototype,"show-save-action",2);s([i.property({type:Boolean,reflect:!0})],exports.QxsTextFill.prototype,"sorting",2);s([i.property({type:Boolean,attribute:"show-answer-setting"})],exports.QxsTextFill.prototype,"show-answer-setting",2);s([i.property({type:Boolean,attribute:"show-analysis"})],exports.QxsTextFill.prototype,"show-analysis",2);s([i.property({type:String,attribute:"rich-text-content"})],exports.QxsTextFill.prototype,"rich-text-content",2);s([i.property({type:String})],exports.QxsTextFill.prototype,"analysis",2);s([i.property({type:Number,attribute:"exam-answer-relation-type"})],exports.QxsTextFill.prototype,"exam-answer-relation-type",2);s([i.property({type:String,attribute:"exam-expand"})],exports.QxsTextFill.prototype,"exam-expand",2);s([i.property({type:Number,attribute:"exam-id"})],exports.QxsTextFill.prototype,"exam-id",2);s([i.property({type:String,attribute:"category-id"})],exports.QxsTextFill.prototype,"category-id",2);s([i.property({type:Object,attribute:"exam-answer-setting"})],exports.QxsTextFill.prototype,"exam-answer-setting",2);s([i.property({type:Object,attribute:"upload-image"})],exports.QxsTextFill.prototype,"upload-image",2);s([i.property({type:Array,attribute:"answer-list"})],exports.QxsTextFill.prototype,"answer-list",2);s([i.property({type:Array,attribute:"tag-list"})],exports.QxsTextFill.prototype,"tag-list",2);s([i.property({type:Array,attribute:"category-list"})],exports.QxsTextFill.prototype,"category-list",2);s([i.property({type:Array,attribute:"resource-list"})],exports.QxsTextFill.prototype,"resource-list",2);s([i.property({type:Boolean,attribute:"show-tag"})],exports.QxsTextFill.prototype,"show-tag",2);s([i.property({type:Boolean,attribute:"show-category"})],exports.QxsTextFill.prototype,"show-category",2);s([i.property({type:Boolean,attribute:"show-resource"})],exports.QxsTextFill.prototype,"show-resource",2);s([i.property({type:Object,attribute:"search-handler"})],exports.QxsTextFill.prototype,"search-handler",2);s([i.property({type:String,attribute:"model-value"})],exports.QxsTextFill.prototype,"model-value",2);s([i.property({type:Boolean,attribute:"use-model"})],exports.QxsTextFill.prototype,"use-model",2);s([i.state()],exports.QxsTextFill.prototype,"_answers",2);s([i.state()],exports.QxsTextFill.prototype,"_title",2);s([i.state()],exports.QxsTextFill.prototype,"_analysis",2);s([i.state()],exports.QxsTextFill.prototype,"_isInOrder",2);s([i.state()],exports.QxsTextFill.prototype,"_isIgnoreCase",2);s([i.state()],exports.QxsTextFill.prototype,"_keywordCount",2);s([i.state()],exports.QxsTextFill.prototype,"_correct",2);s([i.state()],exports.QxsTextFill.prototype,"_showRichText",2);s([i.state()],exports.QxsTextFill.prototype,"_richText",2);s([i.state()],exports.QxsTextFill.prototype,"_selectedTagList",2);s([i.state()],exports.QxsTextFill.prototype,"_categoryId",2);exports.QxsTextFill=s([q.safeCustomElement("qxs-text-fill")],exports.QxsTextFill);
395
395
  //# sourceMappingURL=text-fill.cjs.map