@qxs-bns/components 0.0.91 → 0.0.93

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,24 +1,24 @@
1
- import{css as e,LitElement as t,html as o}from"lit";import{property as i,state as s}from"lit/decorators.js";import{safeCustomElement as n}from"../base/define.mjs";import{subjectControlResetStyles as a}from"./shared-styles.mjs";var r=Object.defineProperty,l=Object.getOwnPropertyDescriptor,d=(e,t,o,i)=>{for(var s,n=i>1?void 0:i?l(t,o):t,a=e.length-1;a>=0;a--)(s=e[a])&&(n=(i?s(t,o,n):s(n))||n);return i&&n&&r(t,o,n),n};const c=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],p=[{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 h=class extends t{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 t=e.composedPath(),o=this.shadowRoot?.querySelector(".add-menu-wrap");o&&!t.includes(o)&&(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,t){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:t??null}))}get _answerText(){return c.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 o`
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
2
  <div class="left">
3
3
  <span class="inline-actions">
4
- ${this["show-add"]?o`
4
+ ${this["show-add"]?t`
5
5
  <span class="add-menu-wrap">
6
6
  <span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
7
7
  ${this._renderAddMenu()}
8
8
  </span>
9
9
  `:""}
10
- ${this["hide-add-rich-text"]?"":o`
10
+ ${this["hide-add-rich-text"]?"":t`
11
11
  <span class="link-btn" @click=${()=>this._emit("on-show-rich-text")}>
12
12
  ${this["show-rich-text"]?"删除题目描述(图文)":"+添加题目描述(图文)"}
13
13
  </span>
14
14
  `}
15
- ${this["show-jump"]?o`
15
+ ${this["show-jump"]?t`
16
16
  <span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
17
17
  `:""}
18
- ${this._showAnswerSetting?o`
18
+ ${this._showAnswerSetting?t`
19
19
  <span class="link-btn" @click=${()=>{this._modalOpen=!0}}>答题设置</span>
20
20
  `:""}
21
- ${this._showKey?o`
21
+ ${this._showKey?t`
22
22
  <label class="checkbox-label">
23
23
  <input type="checkbox" .checked=${this["is-key"]} @change=${e=>this._emit("set-key",{value:e.target.checked})} />
24
24
  核心题
@@ -27,42 +27,42 @@ import{css as e,LitElement as t,html as o}from"lit";import{property as i,state a
27
27
  </span>
28
28
  </div>
29
29
  <div class="right">
30
- ${this["show-delete-action"]?o`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
31
- ${this["show-save-action"]?o`<button class="text-btn text-btn--primary" @click=${()=>this._emit("save")}>完成编辑</button>`:""}
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
32
  </div>
33
- `}_renderViewMode(){return o`
33
+ `}_renderViewMode(){return t`
34
34
  <div class="left">
35
35
  <span class="inline-actions">
36
- ${this._showKey?o`
36
+ ${this._showKey?t`
37
37
  <label class="checkbox-label disabled">
38
38
  <input type="checkbox" disabled .checked=${this["is-key"]} /> 核心题
39
39
  </label>
40
40
  `:""}
41
- ${this._showAnswerSetting?o`
41
+ ${this._showAnswerSetting?t`
42
42
  <span class="answer-text">${this._answerText}</span>
43
43
  `:""}
44
- ${this["show-add"]?o`
44
+ ${this["show-add"]?t`
45
45
  <span class="add-menu-wrap">
46
46
  <span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
47
47
  ${this._renderAddMenu()}
48
48
  </span>
49
49
  `:""}
50
- ${this["show-jump"]?o`
50
+ ${this["show-jump"]?t`
51
51
  <span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
52
52
  `:""}
53
53
  </span>
54
54
  </div>
55
55
  <div class="right">
56
- ${!this["is-set"]&&this["show-move"]?o`
56
+ ${!this["is-set"]&&this["show-move"]?t`
57
57
  <button class="text-btn text-btn--default" @click=${()=>this._emit("move","up")}>上移</button>
58
58
  <button class="text-btn text-btn--default btn-margin" @click=${()=>this._emit("move","down")}>下移</button>
59
59
  `:""}
60
- ${!this["is-set"]&&this["show-delete-action"]?o`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
61
- ${this["page-end"]||this["is-set"]?"":o`
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
62
  <button class="text-btn text-btn--default" @click=${()=>this._emit("edit")}>编辑</button>
63
- `}
63
+ `:""}
64
64
  </div>
65
- `}_renderModal(){return this._modalOpen?o`
65
+ `}_renderModal(){return this._modalOpen?t`
66
66
  <div class="modal-backdrop" @click=${()=>{this._modalOpen=!1}}>
67
67
  <div class="modal" @click=${e=>e.stopPropagation()}>
68
68
  <div class="modal-header">
@@ -70,7 +70,7 @@ import{css as e,LitElement as t,html as o}from"lit";import{property as i,state a
70
70
  <button class="modal-close" @click=${()=>{this._modalOpen=!1}}>&#x2715;</button>
71
71
  </div>
72
72
  <div class="modal-body">
73
- ${c.map(e=>o`
73
+ ${b.map(e=>t`
74
74
  <label class="radio-item">
75
75
  <input type="radio" name="answer-check-type" .value=${String(e.value)}
76
76
  .checked=${this._currentCheckType===e.value}
@@ -85,20 +85,20 @@ import{css as e,LitElement as t,html as o}from"lit";import{property as i,state a
85
85
  </div>
86
86
  </div>
87
87
  </div>
88
- `:""}_renderAddMenu(){return this._addMenuOpen?o`
88
+ `:""}_renderAddMenu(){return this._addMenuOpen?t`
89
89
  <div class="add-menu">
90
- ${p.map(e=>o`
90
+ ${g.map(e=>t`
91
91
  <button class="add-item" @click=${()=>{this._addMenuOpen=!1,this._emit("add",e.type)}}>${e.label}</button>
92
92
  `)}
93
93
  </div>
94
- `:""}render(){return o`
94
+ `:""}render(){return t`
95
95
  <div class="action ${this["is-edit"]?"active":""}">
96
96
  ${this["is-edit"]?this._renderEditMode():this._renderViewMode()}
97
- ${this["is-set"]?o`<div class="has-set">*此题设置了跳题逻辑</div>`:""}
97
+ ${this["is-set"]?t`<div class="has-set">*此题设置了跳题逻辑</div>`:""}
98
98
  </div>
99
99
  ${this._renderModal()}
100
- `}};h.styles=[a,e`
101
- :host { display: block; font-family: inherit; font-size: 12px; }
100
+ `}};s.styles=[f,m,h`
101
+ :host { font-size: 12px; }
102
102
 
103
103
  .action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }
104
104
  .action.active { background: transparent; }
@@ -107,50 +107,50 @@ import{css as e,LitElement as t,html as o}from"lit";import{property as i,state a
107
107
 
108
108
  .action-icon {
109
109
  display: inline-flex; align-items: center; justify-content: center;
110
- width: 32px; height: 32px; font-size: 18px; color: #303133;
111
- cursor: pointer; border-radius: 6px; border: 1px solid #dcdfe6;
112
- background: #fff; transition: all 0.2s;
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
113
  }
114
- .action-icon:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }
115
- .action-icon--danger:hover { color: #f56c6c; border-color: #f56c6c; background: #fef0f0; }
116
- .action-icon:disabled { color: #c0c4cc; cursor: not-allowed; opacity: 0.6; }
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
117
 
118
118
  .text-btn {
119
119
  display: inline-flex; align-items: center; gap: 4px;
120
120
  padding: 6px 12px; font-size: 12px; border-radius: 3px;
121
121
  cursor: pointer; border: 1px solid; transition: all 0.2s;
122
122
  }
123
- .text-btn--primary { background: #3D61E3; border-color: #3D61E3; color: #fff; }
124
- .text-btn--primary:hover { background: #2D4CB8; border-color: #2D4CB8; }
125
- .text-btn--default { background: #fff; border-color: #dcdfe6; color: #606266; }
126
- .text-btn--default:hover { color: #3D61E3; border-color: #a0cfff; }
127
- .text-btn--danger { background: #f56c6c; border-color: #f56c6c; color: #fff; }
128
- .text-btn--danger:hover { background: #e05252; border-color: #e05252; }
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
129
 
130
- .link-btn { background: none; border: none; color: #3D61E3; cursor: pointer; font-size: 12px; }
131
- .link-btn:hover { color: #2D4CB8; }
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
132
 
133
- .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: #606266; user-select: none; font-size: 12px; }
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
134
  .checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }
135
135
  .has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }
136
- .answer-text { font-size: 11px; color: #909399; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
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
137
 
138
138
  .btn-margin { margin-right: 10px; }
139
139
 
140
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: #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 #e4e7ed; }
143
- .modal-title { font-size: 14px; font-weight: 600; color: #303133; }
144
- .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: #909399; padding: 0; line-height: 1; }
145
- .modal-close:hover { color: #3D61E3; }
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
146
  .modal-body { padding: 20px; }
147
- .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid #e4e7ed; }
148
- .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid #dcdfe6; background: #fff; color: #606266; }
149
- .modal-footer button:hover { color: #3D61E3; border-color: #a0cfff; }
150
- .modal-footer button.primary { background: #3D61E3; border-color: #3D61E3; color: #fff; }
151
- .modal-footer button.primary:hover { background: #2D4CB8; border-color: #2D4CB8; }
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
152
 
153
- .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: #606266; }
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
154
  .radio-item:last-child { margin-bottom: 0; }
155
155
 
156
156
  .inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
@@ -158,14 +158,14 @@ import{css as e,LitElement as t,html as o}from"lit";import{property as i,state a
158
158
  .add-menu {
159
159
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;
160
160
  display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;
161
- min-width: 196px; padding: 10px; background: #fff; border: 1px solid #e4e7ed;
162
- border-radius: 6px; box-shadow: 0 8px 20px rgba(0,0,0,.12);
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
163
  }
164
164
  .add-item {
165
165
  display: inline-flex; align-items: center; justify-content: center;
166
- min-height: 30px; padding: 0 10px; border: 1px solid #dcdfe6; border-radius: 4px;
167
- background: #fff; color: #606266; font-size: 12px; cursor: pointer; transition: all .2s;
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
168
  }
169
- .add-item:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }
170
- `],d([i({type:Boolean,attribute:"is-edit"})],h.prototype,"is-edit",2),d([i({type:Boolean,attribute:"is-set"})],h.prototype,"is-set",2),d([i({type:Boolean,attribute:"is-key"})],h.prototype,"is-key",2),d([i({type:Number,attribute:"answer-check-type"})],h.prototype,"answer-check-type",2),d([i({type:Boolean,attribute:"show-other-option"})],h.prototype,"show-other-option",2),d([i({type:Boolean,attribute:"show-answer-setting"})],h.prototype,"show-answer-setting",2),d([i({type:Boolean,attribute:"show-key"})],h.prototype,"show-key",2),d([i({type:Boolean,attribute:"show-rich-text"})],h.prototype,"show-rich-text",2),d([i({type:Boolean,attribute:"hide-add-rich-text"})],h.prototype,"hide-add-rich-text",2),d([i({type:Boolean,attribute:"show-delete-action"})],h.prototype,"show-delete-action",2),d([i({type:Boolean,attribute:"show-save-action"})],h.prototype,"show-save-action",2),d([i({type:Boolean,attribute:"page-end"})],h.prototype,"page-end",2),d([i({type:Boolean,attribute:"show-move"})],h.prototype,"show-move",2),d([i({type:Boolean,attribute:"show-add"})],h.prototype,"show-add",2),d([i({type:Boolean,attribute:"show-jump"})],h.prototype,"show-jump",2),d([i({type:Number,attribute:"exam-answer-relation-type"})],h.prototype,"exam-answer-relation-type",2),d([s()],h.prototype,"_modalOpen",2),d([s()],h.prototype,"_currentCheckType",2),d([s()],h.prototype,"_addMenuOpen",2),h=d([n("qxs-subject-action")],h);export{h as QxsSubjectAction};
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
171
  //# sourceMappingURL=action.mjs.map
@@ -1 +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 } 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 = [subjectControlResetStyles, css`\n :host { display: block; font-family: inherit; 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: #303133;\n cursor: pointer; border-radius: 6px; border: 1px solid #dcdfe6;\n background: #fff; transition: all 0.2s;\n }\n .action-icon:hover { color: #3D61E3; border-color: #3D61E3; background: #ecf5ff; }\n .action-icon--danger:hover { color: #f56c6c; border-color: #f56c6c; background: #fef0f0; }\n .action-icon:disabled { color: #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: #3D61E3; border-color: #3D61E3; color: #fff; }\n .text-btn--primary:hover { background: #2D4CB8; border-color: #2D4CB8; }\n .text-btn--default { background: #fff; border-color: #dcdfe6; color: #606266; }\n .text-btn--default:hover { color: #3D61E3; border-color: #a0cfff; }\n .text-btn--danger { background: #f56c6c; border-color: #f56c6c; color: #fff; }\n .text-btn--danger:hover { background: #e05252; border-color: #e05252; }\n\n .link-btn { background: none; border: none; color: #3D61E3; cursor: pointer; font-size: 12px; }\n .link-btn:hover { color: #2D4CB8; }\n\n .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: #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: #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: #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 #e4e7ed; }\n .modal-title { font-size: 14px; font-weight: 600; color: #303133; }\n .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: #909399; padding: 0; line-height: 1; }\n .modal-close:hover { color: #3D61E3; }\n .modal-body { padding: 20px; }\n .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid #e4e7ed; }\n .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid #dcdfe6; background: #fff; color: #606266; }\n .modal-footer button:hover { color: #3D61E3; border-color: #a0cfff; }\n .modal-footer button.primary { background: #3D61E3; border-color: #3D61E3; color: #fff; }\n .modal-footer button.primary:hover { background: #2D4CB8; border-color: #2D4CB8; }\n\n .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: #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: #fff; border: 1px solid #e4e7ed;\n border-radius: 6px; box-shadow: 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 #dcdfe6; border-radius: 4px;\n background: #fff; color: #606266; font-size: 12px; cursor: pointer; transition: all .2s;\n }\n .add-item:hover { color: #3D61E3; border-color: #3D61E3; background: #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","value","label","addSubjectOptions","type","QxsSubjectAction","LitElement","constructor","super","arguments","this","_modalOpen","_currentCheckType","_addMenuOpen","_handleDocumentClick","e","path","composedPath","wrap","shadowRoot","querySelector","includes","connectedCallback","document","addEventListener","disconnectedCallback","removeEventListener","updated","changed","has","_emit","name","detail","dispatchEvent","CustomEvent","bubbles","composed","_answerText","find","i","_showAnswerSetting","_showKey","_renderEditMode","html","_renderAddMenu","target","checked","_renderViewMode","_renderModal","stopPropagation","map","item","String","render","styles","subjectControlResetStyles","css","__decorateClass","property","Boolean","attribute","prototype","Number","state","safeCustomElement"],"mappings":"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"}
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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"}