@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,20 +1,58 @@
1
- "use strict";var e=require("lit");const t=e.css`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("lit"),t=e.css`
2
2
  *, ::before, ::after { box-sizing: border-box; }
3
3
  input[type="radio"], input[type="checkbox"] { margin: 0; }
4
- `,i=e.css`
4
+ `,r=e.css`
5
5
  :host {
6
6
  display: block;
7
7
  font-family: inherit;
8
8
  font-size: 12px;
9
- color: #5a5a5a;
9
+ --qxs-subject-color-primary: var(--qxs-color-primary, #3D61E3);
10
+ --qxs-subject-color-primary-hover: var(--qxs-color-primary-hover, #2D4CB8);
11
+ --qxs-subject-color-success: var(--qxs-color-success, #67c23a);
12
+ --qxs-subject-color-warning: var(--qxs-color-warning, #e6a23c);
13
+ --qxs-subject-color-danger: var(--qxs-color-danger, #f56c6c);
14
+ --qxs-subject-color-danger-hover: var(--qxs-color-danger-hover, #e05252);
15
+ --qxs-subject-color-info: var(--qxs-color-info, #909399);
16
+ --qxs-subject-text-primary: var(--qxs-text-color-primary, #303133);
17
+ --qxs-subject-text-regular: var(--qxs-text-color-regular, #606266);
18
+ --qxs-subject-text-secondary: var(--qxs-text-color-secondary, #909399);
19
+ --qxs-subject-text-placeholder: var(--qxs-text-color-placeholder, #a8abb2);
20
+ --qxs-subject-text-disabled: var(--qxs-text-color-disabled, #c0c4cc);
21
+ --qxs-subject-text-muted: var(--qxs-subject-text-muted, #8b95a7);
22
+ --qxs-subject-text-soft: var(--qxs-subject-text-soft, #6b7280);
23
+ --qxs-subject-border: var(--qxs-border-color, #dcdfe6);
24
+ --qxs-subject-border-light: var(--qxs-border-color-light, #e4e7ed);
25
+ --qxs-subject-border-lighter: var(--qxs-border-color-lighter, #ebeef5);
26
+ --qxs-subject-border-extra-light: var(--qxs-border-color-extra-light, #f2f6fc);
27
+ --qxs-subject-border-strong: var(--qxs-subject-border-strong, #d6deea);
28
+ --qxs-subject-fill-blank: var(--qxs-fill-color-blank, #fff);
29
+ --qxs-subject-fill-light: var(--qxs-fill-color-light, #f5f7fa);
30
+ --qxs-subject-fill-lighter: var(--qxs-fill-color-lighter, #fafcff);
31
+ --qxs-subject-fill-extra-light: var(--qxs-fill-color-extra-light, #fafcff);
32
+ --qxs-subject-fill-dark: var(--qxs-fill-color-dark, #ebeef5);
33
+ --qxs-subject-fill-soft-primary: var(--qxs-subject-fill-soft-primary, #ecf5ff);
34
+ --qxs-subject-fill-soft-primary-hover: var(--qxs-subject-fill-soft-primary-hover, #f8fbff);
35
+ --qxs-subject-fill-soft-primary-border: var(--qxs-subject-fill-soft-primary-border, #d9ecff);
36
+ --qxs-subject-fill-soft-primary-border-strong: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff);
37
+ --qxs-subject-fill-soft-success: var(--qxs-subject-fill-soft-success, #f0f9eb);
38
+ --qxs-subject-fill-soft-success-border: var(--qxs-subject-fill-soft-success-border, #c2e7b0);
39
+ --qxs-subject-fill-soft-warning: var(--qxs-subject-fill-soft-warning, #fdf6ec);
40
+ --qxs-subject-fill-soft-warning-border: var(--qxs-subject-fill-soft-warning-border, #faecd8);
41
+ --qxs-subject-fill-soft-danger: var(--qxs-subject-fill-soft-danger, #fef0f0);
42
+ --qxs-subject-fill-soft-danger-border: var(--qxs-subject-fill-soft-danger-border, #fde2e2);
43
+ --qxs-subject-fill-soft-info: var(--qxs-color-info-light-9, #f4f4f5);
44
+ --qxs-subject-fill-soft-info-border: var(--qxs-subject-fill-soft-info-border, #e9e9eb);
45
+ --qxs-subject-shadow-soft: 0 8px 20px rgba(0, 0, 0, .12);
46
+ --qxs-subject-shadow-primary: 0 8px 20px rgba(61, 97, 227, .12);
47
+ color: var(--qxs-subject-text-regular, #606266);
10
48
  }
11
- `,o=e.css`
49
+ `,s=e.css`
12
50
  .preview { padding: 10px 0 4px; }
13
51
  .preview-header { display: flex; flex-direction: column; gap: 12px; }
14
52
  .preview-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
15
- .preview .title { font-size: 16px; line-height: 1.75; font-weight: 600; color: #303133; }
16
- .preview-type { font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; letter-spacing: 0.02em; }
17
- .preview .rich-text { font-size: 14px; line-height: 1.8; color: #4b5563; }
53
+ .preview .title { font-size: 16px; line-height: 1.75; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }
54
+ .preview-type { font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); letter-spacing: 0.02em; }
55
+ .preview .rich-text { font-size: 14px; line-height: 1.8; color: var(--qxs-subject-text-soft, #4b5563); }
18
56
  .preview .rich-text p { margin: 0; }
19
57
  .preview .rich-text p + p { margin-top: 0.75em; }
20
58
  .preview .rich-text img { max-width: 100%; }
@@ -22,10 +60,10 @@
22
60
  .preview .rich-text img[data-align="center"] { display: block !important; margin: 0 auto !important; }
23
61
  .preview .rich-text img[data-align="right"] { display: block !important; margin: 0 0 0 auto !important; }
24
62
  .preview-section { margin-top: 18px; }
25
- .preview-section-label { font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; }
63
+ .preview-section-label { font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); }
26
64
  .preview-section-body { margin-top: 8px; }
27
- `,r=e.css`
28
- .label { min-width: 72px; font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; letter-spacing: 0.02em; }
65
+ `,o=e.css`
66
+ .label { min-width: 72px; font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); letter-spacing: 0.02em; }
29
67
 
30
68
  .edit-form { display: flex; flex-direction: column; gap: 16px; }
31
69
  .edit-row,
@@ -43,9 +81,9 @@
43
81
  flex: 1;
44
82
  min-width: 0;
45
83
  }
46
- `,p=e.css`
84
+ `,i=e.css`
47
85
  textarea {
48
- border: 1px solid #dcdfe6;
86
+ border: 1px solid var(--qxs-subject-border, #dcdfe6);
49
87
  border-radius: 6px;
50
88
  padding: 7px 11px;
51
89
  font-size: 13px;
@@ -57,8 +95,8 @@
57
95
  display: block;
58
96
  box-sizing: border-box;
59
97
  }
60
- textarea:focus { border-color: #3D61E3; outline: none; }
61
- textarea:disabled { background: #f5f7fa; color: #c0c4cc; cursor: not-allowed; }
98
+ textarea:focus { border-color: var(--qxs-subject-color-primary, #3D61E3); outline: none; }
99
+ textarea:disabled { background: var(--qxs-subject-fill-light, #f5f7fa); color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; }
62
100
 
63
101
  .el-input { position: relative; display: block; }
64
102
  .el-input textarea { padding-bottom: 24px; }
@@ -67,9 +105,9 @@
67
105
  right: 12px;
68
106
  bottom: 8px;
69
107
  font-size: 12px;
70
- color: #909399;
108
+ color: var(--qxs-subject-text-secondary, #909399);
71
109
  line-height: 1;
72
110
  pointer-events: none;
73
111
  }
74
- `;exports.subjectControlResetStyles=t,exports.subjectFormBaseStyles=r,exports.subjectHostStyles=i,exports.subjectPreviewBaseStyles=o,exports.subjectTextareaStyles=p;
112
+ `;exports.subjectControlResetStyles=t;exports.subjectFormBaseStyles=o;exports.subjectHostStyles=r;exports.subjectPreviewBaseStyles=s;exports.subjectTextareaStyles=i;
75
113
  //# sourceMappingURL=shared-styles.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-styles.cjs","sources":["../../../../packages/components/src/subject/shared-styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const subjectControlResetStyles = css`\n *, ::before, ::after { box-sizing: border-box; }\n input[type=\"radio\"], input[type=\"checkbox\"] { margin: 0; }\n`\n\nexport const subjectHostStyles = css`\n :host {\n display: block;\n font-family: inherit;\n font-size: 12px;\n color: #5a5a5a;\n }\n`\n\nexport const subjectPreviewBaseStyles = css`\n .preview { padding: 10px 0 4px; }\n .preview-header { display: flex; flex-direction: column; gap: 12px; }\n .preview-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }\n .preview .title { font-size: 16px; line-height: 1.75; font-weight: 600; color: #303133; }\n .preview-type { font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; letter-spacing: 0.02em; }\n .preview .rich-text { font-size: 14px; line-height: 1.8; color: #4b5563; }\n .preview .rich-text p { margin: 0; }\n .preview .rich-text p + p { margin-top: 0.75em; }\n .preview .rich-text img { max-width: 100%; }\n .preview .rich-text img[data-align=\"left\"] { display: block !important; margin: 0 auto 0 0 !important; }\n .preview .rich-text img[data-align=\"center\"] { display: block !important; margin: 0 auto !important; }\n .preview .rich-text img[data-align=\"right\"] { display: block !important; margin: 0 0 0 auto !important; }\n .preview-section { margin-top: 18px; }\n .preview-section-label { font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; }\n .preview-section-body { margin-top: 8px; }\n`\n\nexport const subjectFormBaseStyles = css`\n .label { min-width: 72px; font-size: 12px; line-height: 1.4; font-weight: 600; color: #8b95a7; letter-spacing: 0.02em; }\n\n .edit-form { display: flex; flex-direction: column; gap: 16px; }\n .edit-row,\n .section-row {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n margin-top: 0;\n }\n .edit-row .label,\n .section-row .label {\n padding-top: 8px;\n }\n .row-body {\n flex: 1;\n min-width: 0;\n }\n`\n\nexport const subjectTextareaStyles = css`\n textarea {\n border: 1px solid #dcdfe6;\n border-radius: 6px;\n padding: 7px 11px;\n font-size: 13px;\n font-family: inherit;\n width: 100%;\n resize: none;\n transition: border-color .2s;\n line-height: 1.5;\n display: block;\n box-sizing: border-box;\n }\n textarea:focus { border-color: #3D61E3; outline: none; }\n textarea:disabled { background: #f5f7fa; color: #c0c4cc; cursor: not-allowed; }\n\n .el-input { position: relative; display: block; }\n .el-input textarea { padding-bottom: 24px; }\n .el-input .char-counter {\n position: absolute;\n right: 12px;\n bottom: 8px;\n font-size: 12px;\n color: #909399;\n line-height: 1;\n pointer-events: none;\n }\n`\n"],"names":["subjectControlResetStyles","css","subjectHostStyles","subjectPreviewBaseStyles","subjectFormBaseStyles","subjectTextareaStyles"],"mappings":"kCAEO,MAAMA,EAA4BC,EAAAA,GAAA;;;EAK5BC,EAAoBD,EAAAA,GAAA;;;;;;;EASpBE,EAA2BF,EAAAA,GAAA;;;;;;;;;;;;;;;;EAkB3BG,EAAwBH,EAAAA,GAAA;;;;;;;;;;;;;;;;;;;EAqBxBI,EAAwBJ,EAAAA,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"shared-styles.cjs","sources":["../../../../packages/components/src/subject/shared-styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const subjectControlResetStyles = css`\n *, ::before, ::after { box-sizing: border-box; }\n input[type=\"radio\"], input[type=\"checkbox\"] { margin: 0; }\n`\n\nexport const subjectHostStyles = css`\n :host {\n display: block;\n font-family: inherit;\n font-size: 12px;\n --qxs-subject-color-primary: var(--qxs-color-primary, #3D61E3);\n --qxs-subject-color-primary-hover: var(--qxs-color-primary-hover, #2D4CB8);\n --qxs-subject-color-success: var(--qxs-color-success, #67c23a);\n --qxs-subject-color-warning: var(--qxs-color-warning, #e6a23c);\n --qxs-subject-color-danger: var(--qxs-color-danger, #f56c6c);\n --qxs-subject-color-danger-hover: var(--qxs-color-danger-hover, #e05252);\n --qxs-subject-color-info: var(--qxs-color-info, #909399);\n --qxs-subject-text-primary: var(--qxs-text-color-primary, #303133);\n --qxs-subject-text-regular: var(--qxs-text-color-regular, #606266);\n --qxs-subject-text-secondary: var(--qxs-text-color-secondary, #909399);\n --qxs-subject-text-placeholder: var(--qxs-text-color-placeholder, #a8abb2);\n --qxs-subject-text-disabled: var(--qxs-text-color-disabled, #c0c4cc);\n --qxs-subject-text-muted: var(--qxs-subject-text-muted, #8b95a7);\n --qxs-subject-text-soft: var(--qxs-subject-text-soft, #6b7280);\n --qxs-subject-border: var(--qxs-border-color, #dcdfe6);\n --qxs-subject-border-light: var(--qxs-border-color-light, #e4e7ed);\n --qxs-subject-border-lighter: var(--qxs-border-color-lighter, #ebeef5);\n --qxs-subject-border-extra-light: var(--qxs-border-color-extra-light, #f2f6fc);\n --qxs-subject-border-strong: var(--qxs-subject-border-strong, #d6deea);\n --qxs-subject-fill-blank: var(--qxs-fill-color-blank, #fff);\n --qxs-subject-fill-light: var(--qxs-fill-color-light, #f5f7fa);\n --qxs-subject-fill-lighter: var(--qxs-fill-color-lighter, #fafcff);\n --qxs-subject-fill-extra-light: var(--qxs-fill-color-extra-light, #fafcff);\n --qxs-subject-fill-dark: var(--qxs-fill-color-dark, #ebeef5);\n --qxs-subject-fill-soft-primary: var(--qxs-subject-fill-soft-primary, #ecf5ff);\n --qxs-subject-fill-soft-primary-hover: var(--qxs-subject-fill-soft-primary-hover, #f8fbff);\n --qxs-subject-fill-soft-primary-border: var(--qxs-subject-fill-soft-primary-border, #d9ecff);\n --qxs-subject-fill-soft-primary-border-strong: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff);\n --qxs-subject-fill-soft-success: var(--qxs-subject-fill-soft-success, #f0f9eb);\n --qxs-subject-fill-soft-success-border: var(--qxs-subject-fill-soft-success-border, #c2e7b0);\n --qxs-subject-fill-soft-warning: var(--qxs-subject-fill-soft-warning, #fdf6ec);\n --qxs-subject-fill-soft-warning-border: var(--qxs-subject-fill-soft-warning-border, #faecd8);\n --qxs-subject-fill-soft-danger: var(--qxs-subject-fill-soft-danger, #fef0f0);\n --qxs-subject-fill-soft-danger-border: var(--qxs-subject-fill-soft-danger-border, #fde2e2);\n --qxs-subject-fill-soft-info: var(--qxs-color-info-light-9, #f4f4f5);\n --qxs-subject-fill-soft-info-border: var(--qxs-subject-fill-soft-info-border, #e9e9eb);\n --qxs-subject-shadow-soft: 0 8px 20px rgba(0, 0, 0, .12);\n --qxs-subject-shadow-primary: 0 8px 20px rgba(61, 97, 227, .12);\n color: var(--qxs-subject-text-regular, #606266);\n }\n`\n\nexport const subjectPreviewBaseStyles = css`\n .preview { padding: 10px 0 4px; }\n .preview-header { display: flex; flex-direction: column; gap: 12px; }\n .preview-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }\n .preview .title { font-size: 16px; line-height: 1.75; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }\n .preview-type { font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); letter-spacing: 0.02em; }\n .preview .rich-text { font-size: 14px; line-height: 1.8; color: var(--qxs-subject-text-soft, #4b5563); }\n .preview .rich-text p { margin: 0; }\n .preview .rich-text p + p { margin-top: 0.75em; }\n .preview .rich-text img { max-width: 100%; }\n .preview .rich-text img[data-align=\"left\"] { display: block !important; margin: 0 auto 0 0 !important; }\n .preview .rich-text img[data-align=\"center\"] { display: block !important; margin: 0 auto !important; }\n .preview .rich-text img[data-align=\"right\"] { display: block !important; margin: 0 0 0 auto !important; }\n .preview-section { margin-top: 18px; }\n .preview-section-label { font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); }\n .preview-section-body { margin-top: 8px; }\n`\n\nexport const subjectFormBaseStyles = css`\n .label { min-width: 72px; font-size: 12px; line-height: 1.4; font-weight: 600; color: var(--qxs-subject-text-muted, #8b95a7); letter-spacing: 0.02em; }\n\n .edit-form { display: flex; flex-direction: column; gap: 16px; }\n .edit-row,\n .section-row {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n margin-top: 0;\n }\n .edit-row .label,\n .section-row .label {\n padding-top: 8px;\n }\n .row-body {\n flex: 1;\n min-width: 0;\n }\n`\n\nexport const subjectTextareaStyles = css`\n textarea {\n border: 1px solid var(--qxs-subject-border, #dcdfe6);\n border-radius: 6px;\n padding: 7px 11px;\n font-size: 13px;\n font-family: inherit;\n width: 100%;\n resize: none;\n transition: border-color .2s;\n line-height: 1.5;\n display: block;\n box-sizing: border-box;\n }\n textarea:focus { border-color: var(--qxs-subject-color-primary, #3D61E3); outline: none; }\n textarea:disabled { background: var(--qxs-subject-fill-light, #f5f7fa); color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; }\n\n .el-input { position: relative; display: block; }\n .el-input textarea { padding-bottom: 24px; }\n .el-input .char-counter {\n position: absolute;\n right: 12px;\n bottom: 8px;\n font-size: 12px;\n color: var(--qxs-subject-text-secondary, #909399);\n line-height: 1;\n pointer-events: none;\n }\n`\n"],"names":["subjectControlResetStyles","css","subjectHostStyles","subjectPreviewBaseStyles","subjectFormBaseStyles","subjectTextareaStyles"],"mappings":"uGAEaA,EAA4BC,EAAAA;AAAAA;AAAAA;AAAAA,EAK5BC,EAAoBD,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;AAAAA;AAAAA;AAAAA,EA+CpBE,EAA2BF,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAkB3BG,EAAwBH,EAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAqBxBI,EAAwBJ,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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function a(e){return e==="single"?0:e==="multiple"?1:5}function g(e,n){return!!e||typeof n=="function"}function s(e){return(Array.isArray(e)?e:Array.isArray(e?.data)?e.data:[]).map(r=>({...r,value:r?.value||r?.title||""}))}function u(e,n,r){const i=new URLSearchParams({searchKey:n,answerType:String(r)});return`${e}${e.includes("?")?"&":"?"}${i.toString()}`}async function S({answerType:e,query:n,searchApi:r,searchHandler:i,fetcher:o=fetch}){const t=a(e);if(typeof i=="function"){const l=await i(n,t);return Array.isArray(l)?l:[]}if(!r)return[];const c=await o(u(r,n,t));if(!c.ok)throw new Error(`HTTP ${c.status}`);return s(await c.json())}function f(e,n=""){const r=e.value||e.title||"";return{selectedTitle:r,detail:{...e,id:e.id??e.examId??e.questionId,title:e.title||r,value:r,customId:n}}}function d({errors:e,hasShownCorrectHint:n,shouldShowCorrectHint:r}){const i=e.find(t=>t.code==="SINGLE_MULTI_CORRECT"),o=e.find(t=>t.code!=="SINGLE_MULTI_CORRECT");return o?{kind:"error",error:o}:i?{kind:"confirm-change-type"}:!n&&r?{kind:"confirm-correct-hint"}:{kind:"save"}}function h(e,n){return n.kind==="confirm-change-type"?{...e,correctHintDialogOpen:!1,changeTypeDialogOpen:!0}:n.kind==="confirm-correct-hint"?{...e,correctHintDialogOpen:!0,changeTypeDialogOpen:!1}:e}function p(e){return{...e,correctHintDialogOpen:!1}}function y(e){return{...e,correctHintDialogOpen:!1,hasShownCorrectHint:!0}}function T(e){return{...e,changeTypeDialogOpen:!1}}exports.acknowledgeSingleCorrectHint=y;exports.applySingleSaveDecisionToDialogs=h;exports.buildSingleSearchSelection=f;exports.buildSingleSearchUrl=u;exports.dismissSingleChangeTypeDialog=T;exports.dismissSingleCorrectHintDialog=p;exports.hasSingleSearchSource=g;exports.normalizeSingleSearchResults=s;exports.resolveSingleSaveDecision=d;exports.resolveSingleSearchAnswerType=a;exports.searchSingleSubjects=S;
2
+ //# sourceMappingURL=single-interactions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-interactions.cjs","sources":["../../../../packages/components/src/subject/single-interactions.ts"],"sourcesContent":["import type { AnswerType } from './types'\nimport { type SearchResult, SubjectError } from './subject-shared'\n\nexport interface SingleSearchDependencies {\n answerType: AnswerType\n query: string\n searchApi?: string\n searchHandler?: (query: string, answerType: number) => Promise<SearchResult[]>\n fetcher?: typeof fetch\n}\n\nexport interface SingleSearchSelection {\n selectedTitle: string\n detail: SearchResult & {\n id: string | number\n customId: string\n }\n}\n\nexport interface SingleDialogState {\n correctHintDialogOpen: boolean\n changeTypeDialogOpen: boolean\n hasShownCorrectHint: boolean\n}\n\nexport type SingleSaveDecision =\n | { kind: 'error', error: SubjectError }\n | { kind: 'confirm-change-type' }\n | { kind: 'confirm-correct-hint' }\n | { kind: 'save' }\n\nexport function resolveSingleSearchAnswerType(type: AnswerType) {\n if (type === 'single') {\n return 0\n }\n if (type === 'multiple') {\n return 1\n }\n return 5\n}\n\nexport function hasSingleSearchSource(searchApi?: string, searchHandler?: SingleSearchDependencies['searchHandler']) {\n return !!searchApi || typeof searchHandler === 'function'\n}\n\nexport function normalizeSingleSearchResults(payload: any): SearchResult[] {\n const list = Array.isArray(payload) ? payload : Array.isArray(payload?.data) ? payload.data : []\n return list.map((item: any) => ({\n ...item,\n value: item?.value || item?.title || '',\n }))\n}\n\nexport function buildSingleSearchUrl(searchApi: string, query: string, answerType: number) {\n const params = new URLSearchParams({\n searchKey: query,\n answerType: String(answerType),\n })\n return `${searchApi}${searchApi.includes('?') ? '&' : '?'}${params.toString()}`\n}\n\nexport async function searchSingleSubjects({\n answerType,\n query,\n searchApi,\n searchHandler,\n fetcher = fetch,\n}: SingleSearchDependencies): Promise<SearchResult[]> {\n const normalizedAnswerType = resolveSingleSearchAnswerType(answerType)\n\n if (typeof searchHandler === 'function') {\n const result = await searchHandler(query, normalizedAnswerType)\n return Array.isArray(result) ? result : []\n }\n\n if (!searchApi) {\n return []\n }\n\n const response = await fetcher(buildSingleSearchUrl(searchApi, query, normalizedAnswerType))\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}`)\n }\n\n return normalizeSingleSearchResults(await response.json())\n}\n\nexport function buildSingleSearchSelection(item: SearchResult, customId = ''): SingleSearchSelection {\n const selectedTitle = item.value || item.title || ''\n\n return {\n selectedTitle,\n detail: {\n ...item,\n id: item.id ?? item.examId ?? item.questionId,\n title: item.title || selectedTitle,\n value: selectedTitle,\n customId,\n },\n }\n}\n\nexport function resolveSingleSaveDecision({\n errors,\n hasShownCorrectHint,\n shouldShowCorrectHint,\n}: {\n errors: SubjectError[]\n hasShownCorrectHint: boolean\n shouldShowCorrectHint: boolean\n}): SingleSaveDecision {\n const convertWarning = errors.find(error => error.code === 'SINGLE_MULTI_CORRECT')\n const blockingError = errors.find(error => error.code !== 'SINGLE_MULTI_CORRECT')\n\n if (blockingError) {\n return { kind: 'error', error: blockingError }\n }\n if (convertWarning) {\n return { kind: 'confirm-change-type' }\n }\n if (!hasShownCorrectHint && shouldShowCorrectHint) {\n return { kind: 'confirm-correct-hint' }\n }\n\n return { kind: 'save' }\n}\n\nexport function applySingleSaveDecisionToDialogs(\n state: SingleDialogState,\n decision: SingleSaveDecision,\n): SingleDialogState {\n if (decision.kind === 'confirm-change-type') {\n return {\n ...state,\n correctHintDialogOpen: false,\n changeTypeDialogOpen: true,\n }\n }\n\n if (decision.kind === 'confirm-correct-hint') {\n return {\n ...state,\n correctHintDialogOpen: true,\n changeTypeDialogOpen: false,\n }\n }\n\n return state\n}\n\nexport function dismissSingleCorrectHintDialog(state: SingleDialogState): SingleDialogState {\n return {\n ...state,\n correctHintDialogOpen: false,\n }\n}\n\nexport function acknowledgeSingleCorrectHint(state: SingleDialogState): SingleDialogState {\n return {\n ...state,\n correctHintDialogOpen: false,\n hasShownCorrectHint: true,\n }\n}\n\nexport function dismissSingleChangeTypeDialog(state: SingleDialogState): SingleDialogState {\n return {\n ...state,\n changeTypeDialogOpen: false,\n }\n}\n"],"names":["resolveSingleSearchAnswerType","type","hasSingleSearchSource","searchApi","searchHandler","normalizeSingleSearchResults","payload","item","buildSingleSearchUrl","query","answerType","params","searchSingleSubjects","fetcher","normalizedAnswerType","result","response","buildSingleSearchSelection","customId","selectedTitle","resolveSingleSaveDecision","errors","hasShownCorrectHint","shouldShowCorrectHint","convertWarning","error","blockingError","applySingleSaveDecisionToDialogs","state","decision","dismissSingleCorrectHintDialog","acknowledgeSingleCorrectHint","dismissSingleChangeTypeDialog"],"mappings":"gFA+BO,SAASA,EAA8BC,EAAkB,CAC9D,OAAIA,IAAS,SACJ,EAELA,IAAS,WACJ,EAEF,CACT,CAEO,SAASC,EAAsBC,EAAoBC,EAA2D,CACnH,MAAO,CAAC,CAACD,GAAa,OAAOC,GAAkB,UACjD,CAEO,SAASC,EAA6BC,EAA8B,CAEzE,OADa,MAAM,QAAQA,CAAO,EAAIA,EAAU,MAAM,QAAQA,GAAS,IAAI,EAAIA,EAAQ,KAAO,CAAA,GAClF,IAAKC,IAAe,CAC9B,GAAGA,EACH,MAAOA,GAAM,OAASA,GAAM,OAAS,EAAA,EACrC,CACJ,CAEO,SAASC,EAAqBL,EAAmBM,EAAeC,EAAoB,CACzF,MAAMC,EAAS,IAAI,gBAAgB,CACjC,UAAWF,EACX,WAAY,OAAOC,CAAU,CAAA,CAC9B,EACD,MAAO,GAAGP,CAAS,GAAGA,EAAU,SAAS,GAAG,EAAI,IAAM,GAAG,GAAGQ,EAAO,SAAA,CAAU,EAC/E,CAEA,eAAsBC,EAAqB,CACzC,WAAAF,EACA,MAAAD,EACA,UAAAN,EACA,cAAAC,EACA,QAAAS,EAAU,KACZ,EAAsD,CACpD,MAAMC,EAAuBd,EAA8BU,CAAU,EAErE,GAAI,OAAON,GAAkB,WAAY,CACvC,MAAMW,EAAS,MAAMX,EAAcK,EAAOK,CAAoB,EAC9D,OAAO,MAAM,QAAQC,CAAM,EAAIA,EAAS,CAAA,CAC1C,CAEA,GAAI,CAACZ,EACH,MAAO,CAAA,EAGT,MAAMa,EAAW,MAAMH,EAAQL,EAAqBL,EAAWM,EAAOK,CAAoB,CAAC,EAC3F,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAM,QAAQA,EAAS,MAAM,EAAE,EAG3C,OAAOX,EAA6B,MAAMW,EAAS,MAAM,CAC3D,CAEO,SAASC,EAA2BV,EAAoBW,EAAW,GAA2B,CACnG,MAAMC,EAAgBZ,EAAK,OAASA,EAAK,OAAS,GAElD,MAAO,CACL,cAAAY,EACA,OAAQ,CACN,GAAGZ,EACH,GAAIA,EAAK,IAAMA,EAAK,QAAUA,EAAK,WACnC,MAAOA,EAAK,OAASY,EACrB,MAAOA,EACP,SAAAD,CAAA,CACF,CAEJ,CAEO,SAASE,EAA0B,CACxC,OAAAC,EACA,oBAAAC,EACA,sBAAAC,CACF,EAIuB,CACrB,MAAMC,EAAiBH,EAAO,KAAKI,GAASA,EAAM,OAAS,sBAAsB,EAC3EC,EAAgBL,EAAO,KAAKI,GAASA,EAAM,OAAS,sBAAsB,EAEhF,OAAIC,EACK,CAAE,KAAM,QAAS,MAAOA,CAAA,EAE7BF,EACK,CAAE,KAAM,qBAAA,EAEb,CAACF,GAAuBC,EACnB,CAAE,KAAM,sBAAA,EAGV,CAAE,KAAM,MAAA,CACjB,CAEO,SAASI,EACdC,EACAC,EACmB,CACnB,OAAIA,EAAS,OAAS,sBACb,CACL,GAAGD,EACH,sBAAuB,GACvB,qBAAsB,EAAA,EAItBC,EAAS,OAAS,uBACb,CACL,GAAGD,EACH,sBAAuB,GACvB,qBAAsB,EAAA,EAInBA,CACT,CAEO,SAASE,EAA+BF,EAA6C,CAC1F,MAAO,CACL,GAAGA,EACH,sBAAuB,EAAA,CAE3B,CAEO,SAASG,EAA6BH,EAA6C,CACxF,MAAO,CACL,GAAGA,EACH,sBAAuB,GACvB,oBAAqB,EAAA,CAEzB,CAEO,SAASI,EAA8BJ,EAA6C,CACzF,MAAO,CACL,GAAGA,EACH,qBAAsB,EAAA,CAE1B"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./subject-shared.cjs");function d(){return{title:"",isCorrect:!1}}function I(){return[d(),d(),d(),d()]}function m(e){return e==="multiple"||e==="sort"}function E(e,t){if(!m(t)||e===""||e===null||e===void 0)return null;const r=Number(e);return Number.isFinite(r)&&r>0?r:null}function T(e,t){return!m(t)||e===null?"":`,至少选${e}项${t==="sort"?"并排序":""}`}function g(e){const t={...e,title:a.trimText(e?.title??e?.answer??""),isCorrect:!!e?.isCorrect},r=e?.answerId??e?.examAnswerId;return r!==void 0&&(t.answerId=r),t}function h(e){const t=Array.isArray(e)?e:[];return t.length?t.map(r=>g(r)):I()}function x({examExpand:e,answers:t,labelForIndex:r}){return!e||!t?.length?[]:e.split(",").map(i=>{const l=t.findIndex((n,s)=>String(n.answerId??n.orderIndex??s+1)===String(i));return l>=0?r(l):""}).filter(Boolean)}function L({answerType:e,title:t,analysis:r,leastAnswerCount:i,answerCheckType:l,isKey:n,tagList:s,categoryId:u,richTextContent:c,answerList:o,examExpand:A,labelForIndex:C,includeOrderList:f=!1}){const S=Array.isArray(o)&&o.length?o.map(w=>g(w)):void 0,y=f&&Array.isArray(o)&&o.length&&A?x({examExpand:A,answers:o,labelForIndex:C}):void 0;return{title:t||"",analysis:r||"",leastAnswerCount:E(i,e),answerCheckType:l||1,isKey:!!n,selectedTagList:Array.isArray(s)?s.map(w=>({...w})):[],categoryId:u?String(u):"",richText:c||"",showRichText:!!c,answers:S,orderList:y}}function b({answerType:e,title:t,answers:r,analysis:i,leastAnswerCount:l,selectedTagList:n,examExpand:s,showRichText:u,richText:c,orderList:o,sortAnswerValue:A}){const C=(Array.isArray(r)?r:[]).map(S=>({...g(S),resultItem:a.trimText(S?.resultItem??"")})),f=Array.isArray(o)?o.filter(Boolean):[];return{title:a.trimText(t??""),answers:C,analysis:a.trimText(i??""),leastAnswerCount:E(l,e),selectedTagList:Array.isArray(n)?[...n]:[],examExpand:typeof A=="function"?f.map(S=>A(S)).join(","):s||"",showRichText:!!u,richText:c||"",orderList:f}}function p(e,t,r){const i=[];e.title||i.push(new a.SubjectError("题目标题不能为空!","EMPTY_TITLE","title",r));let l=!1,n=0;return e.answers.forEach((u,c)=>{u.title?.trim()||i.push(new a.SubjectError(`选项${String.fromCharCode(65+c)}未填写`,"ANSWER_EMPTY","answers",r)),t!=="sort"&&u.isCorrect&&(l=!0,n++)}),new Set(e.answers.map(u=>u.title)).size!==e.answers.length&&e.answers.length>0&&i.push(new a.SubjectError("选项不能重复","DUPLICATE_ANSWERS","answers",r)),t==="single"&&n>1&&i.push(new a.SubjectError("此题为单选题,设置了多个推荐/正确选项,请保存时确认是否切换为多选题","SINGLE_MULTI_CORRECT","answers",r)),t==="multiple"&&(n===1&&i.push(new a.SubjectError("请设置至少两个推荐/正确选项","CORRECT_COUNT_INVALID","answers",r)),n>0&&(l=!0),l&&e.leastAnswerCount!==null&&n<e.leastAnswerCount&&i.push(new a.SubjectError("至少选几项与推荐/正确选项数不符","LEAST_ANSWER_COUNT_INVALID","answers",r))),t==="sort"&&(l=e.orderList.length>0,e.leastAnswerCount!==null&&e.orderList.length<e.leastAnswerCount&&i.push(new a.SubjectError("至少选几项与推荐/正确选项数不符","LEAST_ANSWER_COUNT_INVALID","orderList",r))),{errors:i,isSetCorrectAnswer:l,correctAnswerCount:n}}function R(e,{answerType:t,isSetCorrectAnswer:r,examAnswerRelationType:i=0,customId:l=""}){const n={answerType:String(t),examTypeEnum:String(t),title:e.title,answers:e.answers.map((s,u)=>{const c=s.resultItem?1:Array.isArray(s.answerRelations)&&s.answerRelations.length?2:null,o={...s,orderIndex:u+1,answer:s.title,relationType:c};return s.answerId!==void 0&&(o.examAnswerId=s.answerId),c===null&&delete o.relationType,o}),examExpand:e.examExpand,analysis:e.analysis,isSetCorrectAnswer:r,examRichTextContent:e.showRichText?e.richText:""};return i&&(n.examAnswerRelationType=i),m(t)&&(n.leastAnswerCount=e.leastAnswerCount),l&&(n.customId=l),n}exports.buildSingleEditorState=L;exports.buildSingleSnapshot=b;exports.createDefaultSingleAnswers=I;exports.leastAnswerCountSuffix=T;exports.normalizeLeastAnswerCount=E;exports.normalizeSingleAnswerItem=g;exports.normalizeSingleAnswerList=h;exports.resolveSingleOrderList=x;exports.serializeSingleSnapshot=R;exports.supportsLeastAnswerCount=m;exports.validateSingleSnapshot=p;
2
+ //# sourceMappingURL=single-model.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-model.cjs","sources":["../../../../packages/components/src/subject/single-model.ts"],"sourcesContent":["import type { AnswerType } from './types'\nimport { SubjectError, type TagItem, trimText } from './subject-shared'\n\nexport interface SingleAnswer {\n title: string\n isCorrect: boolean\n customAnswerId?: string | number\n answerId?: string | number\n resultItem?: string\n orderIndex?: number\n answerRelations?: any[]\n relationType?: number | null\n [key: string]: any\n}\n\nexport interface SingleSnapshot {\n title: string\n answers: SingleAnswer[]\n analysis: string\n leastAnswerCount: number | null\n selectedTagList: TagItem[]\n examExpand: string\n showRichText: boolean\n richText: string\n orderList: string[]\n}\n\nexport interface SingleEditorState {\n title: string\n analysis: string\n leastAnswerCount: number | null\n answerCheckType: number\n isKey: boolean\n selectedTagList: TagItem[]\n categoryId: string\n richText: string\n showRichText: boolean\n answers?: SingleAnswer[]\n orderList?: string[]\n}\n\nexport interface SingleValidationResult {\n errors: SubjectError[]\n isSetCorrectAnswer: boolean\n correctAnswerCount: number\n}\n\nfunction createEmptySingleAnswer(): SingleAnswer {\n return { title: '', isCorrect: false }\n}\n\nexport function createDefaultSingleAnswers(): SingleAnswer[] {\n return [\n createEmptySingleAnswer(),\n createEmptySingleAnswer(),\n createEmptySingleAnswer(),\n createEmptySingleAnswer(),\n ]\n}\n\nexport function supportsLeastAnswerCount(answerType: AnswerType) {\n return answerType === 'multiple' || answerType === 'sort'\n}\n\nexport function normalizeLeastAnswerCount(value: unknown, answerType: AnswerType): number | null {\n if (!supportsLeastAnswerCount(answerType) || value === '' || value === null || value === undefined) {\n return null\n }\n const count = Number(value)\n return Number.isFinite(count) && count > 0 ? count : null\n}\n\nexport function leastAnswerCountSuffix(value: number | null, answerType: AnswerType) {\n if (!supportsLeastAnswerCount(answerType) || value === null) {\n return ''\n }\n return `,至少选${value}项${answerType === 'sort' ? '并排序' : ''}`\n}\n\nexport function normalizeSingleAnswerItem(answer: any): SingleAnswer {\n const next: SingleAnswer = {\n ...answer,\n title: trimText(answer?.title ?? answer?.answer ?? ''),\n isCorrect: !!answer?.isCorrect,\n }\n const answerId = answer?.answerId ?? answer?.examAnswerId\n if (answerId !== undefined) {\n next.answerId = answerId\n }\n return next\n}\n\nexport function normalizeSingleAnswerList(value: unknown): SingleAnswer[] {\n const answers = Array.isArray(value) ? value : []\n return answers.length\n ? answers.map(answer => normalizeSingleAnswerItem(answer))\n : createDefaultSingleAnswers()\n}\n\nexport function resolveSingleOrderList({\n examExpand,\n answers,\n labelForIndex,\n}: {\n examExpand?: string\n answers?: any[]\n labelForIndex: (index: number) => string\n}): string[] {\n if (!examExpand || !answers?.length) {\n return []\n }\n\n return examExpand\n .split(',')\n .map((id) => {\n const index = answers.findIndex((answer, answerIndex) =>\n String(answer.answerId ?? answer.orderIndex ?? (answerIndex + 1)) === String(id),\n )\n return index >= 0 ? labelForIndex(index) : ''\n })\n .filter(Boolean)\n}\n\nexport function buildSingleEditorState({\n answerType,\n title,\n analysis,\n leastAnswerCount,\n answerCheckType,\n isKey,\n tagList,\n categoryId,\n richTextContent,\n answerList,\n examExpand,\n labelForIndex,\n includeOrderList = false,\n}: {\n answerType: AnswerType\n title?: string\n analysis?: string\n leastAnswerCount?: unknown\n answerCheckType?: number\n isKey?: boolean\n tagList?: unknown\n categoryId?: unknown\n richTextContent?: string\n answerList?: unknown\n examExpand?: string\n labelForIndex: (index: number) => string\n includeOrderList?: boolean\n}): SingleEditorState {\n const answers = Array.isArray(answerList) && answerList.length\n ? answerList.map(answer => normalizeSingleAnswerItem(answer))\n : undefined\n\n const orderList = includeOrderList && Array.isArray(answerList) && answerList.length && examExpand\n ? resolveSingleOrderList({ examExpand, answers: answerList, labelForIndex })\n : undefined\n\n return {\n title: title || '',\n analysis: analysis || '',\n leastAnswerCount: normalizeLeastAnswerCount(leastAnswerCount, answerType),\n answerCheckType: answerCheckType || 1,\n isKey: !!isKey,\n selectedTagList: Array.isArray(tagList) ? tagList.map(item => ({ ...item })) : [],\n categoryId: categoryId ? String(categoryId) : '',\n richText: richTextContent || '',\n showRichText: !!richTextContent,\n answers,\n orderList,\n }\n}\n\nexport function buildSingleSnapshot({\n answerType,\n title,\n answers,\n analysis,\n leastAnswerCount,\n selectedTagList,\n examExpand,\n showRichText,\n richText,\n orderList,\n sortAnswerValue,\n}: {\n answerType: AnswerType\n title?: string\n answers?: any[]\n analysis?: string\n leastAnswerCount?: unknown\n selectedTagList?: TagItem[]\n examExpand?: string\n showRichText?: boolean\n richText?: string\n orderList?: string[]\n sortAnswerValue?: (letter: string) => string | number\n}): SingleSnapshot {\n const normalizedAnswers = (Array.isArray(answers) ? answers : []).map(answer => ({\n ...normalizeSingleAnswerItem(answer),\n resultItem: trimText(answer?.resultItem ?? ''),\n }))\n const normalizedOrderList = Array.isArray(orderList) ? orderList.filter(Boolean) : []\n\n return {\n title: trimText(title ?? ''),\n answers: normalizedAnswers,\n analysis: trimText(analysis ?? ''),\n leastAnswerCount: normalizeLeastAnswerCount(leastAnswerCount, answerType),\n selectedTagList: Array.isArray(selectedTagList) ? [...selectedTagList] : [],\n examExpand: typeof sortAnswerValue === 'function'\n ? normalizedOrderList.map(letter => sortAnswerValue(letter)).join(',')\n : (examExpand || ''),\n showRichText: !!showRichText,\n richText: richText || '',\n orderList: normalizedOrderList,\n }\n}\n\nexport function validateSingleSnapshot(\n snapshot: SingleSnapshot,\n answerType: AnswerType,\n row?: any,\n): SingleValidationResult {\n const errors: SubjectError[] = []\n\n if (!snapshot.title) {\n errors.push(new SubjectError('题目标题不能为空!', 'EMPTY_TITLE', 'title', row))\n }\n\n let isSetCorrectAnswer = false\n let correctAnswerCount = 0\n\n snapshot.answers.forEach((answer, index) => {\n if (!answer.title?.trim()) {\n errors.push(new SubjectError(`选项${String.fromCharCode(65 + index)}未填写`, 'ANSWER_EMPTY', 'answers', row))\n }\n if (answerType !== 'sort' && answer.isCorrect) {\n isSetCorrectAnswer = true\n correctAnswerCount++\n }\n })\n\n const titleSet = new Set(snapshot.answers.map(answer => answer.title))\n if (titleSet.size !== snapshot.answers.length && snapshot.answers.length > 0) {\n errors.push(new SubjectError('选项不能重复', 'DUPLICATE_ANSWERS', 'answers', row))\n }\n\n if (answerType === 'single' && correctAnswerCount > 1) {\n errors.push(new SubjectError(\n '此题为单选题,设置了多个推荐/正确选项,请保存时确认是否切换为多选题',\n 'SINGLE_MULTI_CORRECT',\n 'answers',\n row,\n ))\n }\n\n if (answerType === 'multiple') {\n if (correctAnswerCount === 1) {\n errors.push(new SubjectError('请设置至少两个推荐/正确选项', 'CORRECT_COUNT_INVALID', 'answers', row))\n }\n if (correctAnswerCount > 0) {\n isSetCorrectAnswer = true\n }\n if (isSetCorrectAnswer && snapshot.leastAnswerCount !== null && correctAnswerCount < snapshot.leastAnswerCount) {\n errors.push(new SubjectError('至少选几项与推荐/正确选项数不符', 'LEAST_ANSWER_COUNT_INVALID', 'answers', row))\n }\n }\n\n if (answerType === 'sort') {\n isSetCorrectAnswer = snapshot.orderList.length > 0\n if (snapshot.leastAnswerCount !== null && snapshot.orderList.length < snapshot.leastAnswerCount) {\n errors.push(new SubjectError('至少选几项与推荐/正确选项数不符', 'LEAST_ANSWER_COUNT_INVALID', 'orderList', row))\n }\n }\n\n return {\n errors,\n isSetCorrectAnswer,\n correctAnswerCount,\n }\n}\n\nexport function serializeSingleSnapshot(\n snapshot: SingleSnapshot,\n {\n answerType,\n isSetCorrectAnswer,\n examAnswerRelationType = 0,\n customId = '',\n }: {\n answerType: AnswerType\n isSetCorrectAnswer: boolean\n examAnswerRelationType?: number\n customId?: string\n },\n) {\n const result: any = {\n answerType: String(answerType),\n examTypeEnum: String(answerType),\n title: snapshot.title,\n answers: snapshot.answers.map((answer, index) => {\n const relationType = answer.resultItem\n ? 1\n : (Array.isArray(answer.answerRelations) && answer.answerRelations.length ? 2 : null)\n const next: any = { ...answer, orderIndex: index + 1, answer: answer.title, relationType }\n if (answer.answerId !== undefined) {\n next.examAnswerId = answer.answerId\n }\n if (relationType === null) {\n delete next.relationType\n }\n return next\n }),\n examExpand: snapshot.examExpand,\n analysis: snapshot.analysis,\n isSetCorrectAnswer,\n examRichTextContent: snapshot.showRichText ? snapshot.richText : '',\n }\n\n if (examAnswerRelationType) {\n result.examAnswerRelationType = examAnswerRelationType\n }\n if (supportsLeastAnswerCount(answerType)) {\n result.leastAnswerCount = snapshot.leastAnswerCount\n }\n if (customId) {\n result.customId = customId\n }\n\n return result\n}\n"],"names":["createEmptySingleAnswer","createDefaultSingleAnswers","supportsLeastAnswerCount","answerType","normalizeLeastAnswerCount","value","count","leastAnswerCountSuffix","normalizeSingleAnswerItem","answer","next","trimText","answerId","normalizeSingleAnswerList","answers","resolveSingleOrderList","examExpand","labelForIndex","id","index","answerIndex","buildSingleEditorState","title","analysis","leastAnswerCount","answerCheckType","isKey","tagList","categoryId","richTextContent","answerList","includeOrderList","orderList","item","buildSingleSnapshot","selectedTagList","showRichText","richText","sortAnswerValue","normalizedAnswers","normalizedOrderList","letter","validateSingleSnapshot","snapshot","row","errors","SubjectError","isSetCorrectAnswer","correctAnswerCount","serializeSingleSnapshot","examAnswerRelationType","customId","result","relationType"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function S(e){return e.replace(/^\d+\.\s*/,"").replace(/[\s,,。.!!??;;::、'"“”‘’()()[\]【】\-_/\\]+/g,"").toLowerCase()}function g({answers:e,aiAnswer:n,answerType:t}){const r=n.split(/\r?\n/).map(o=>S(o)).filter(Boolean);let i=0,l=!1;return{answers:e.map(o=>{const s=r.includes(S(o.title||""));if(t==="single"){const u=s&&!l;return u&&(l=!0,i+=1),{...o,isCorrect:u}}return s&&(i+=1),{...o,isCorrect:s}}),matchedCount:i}}function f(e,n,t,r){const i=t.slice(0,r);return e.map((l,c)=>c===n?{...l,title:i}:l)}function A(e,n,t){const r=[...e];return r.splice(n+1,0,{title:"",isCorrect:!1,customAnswerId:t()}),r}function a(e,n,t=2){return e.length<=t?e:e.filter((r,i)=>i!==n)}function d(e,n,t,r){return n==="single"?e.map((i,l)=>({...i,isCorrect:l===t?r:r?!1:!!i.isCorrect})):e.map((i,l)=>l===t?{...i,isCorrect:r}:i)}function p(e,n){return e.includes(n)?e.filter(t=>t!==n):[...e,n]}function w(e,n){return e.filter(t=>t!==n)}function C(e,n){const t=e.indexOf(n);return t>=0?t+1:null}function m(e,n){const t=e.charCodeAt(0)-65;return n[t]?.answerId??t+1}function h(e=[]){return e.reduce((n,t)=>n+(Array.isArray(t?.relationAnswers)?t.relationAnswers.length:0),0)}function x({answerType:e,answers:n,orderList:t}){return e==="sort"?!t.length:!n.some(r=>!!r.isCorrect)}exports.applySingleAiAnswer=g;exports.countSingleRelationAnswers=h;exports.deleteSingleAnswerAt=a;exports.getSingleSortOrder=C;exports.insertSingleAnswerAfter=A;exports.removeSingleSortLetter=w;exports.resolveSingleSortAnswerValue=m;exports.setSingleCorrectState=d;exports.shouldShowSingleCorrectHint=x;exports.toggleSingleSortLetter=p;exports.updateSingleAnswerTitle=f;
2
+ //# sourceMappingURL=single-state.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-state.cjs","sources":["../../../../packages/components/src/subject/single-state.ts"],"sourcesContent":["import type { AnswerType } from './types'\nimport type { SingleAnswer } from './single-model'\n\nfunction normalizeSingleAiTitle(text: string) {\n return text\n .replace(/^\\d+\\.\\s*/, '')\n .replace(/[\\s,,。.!!??;;::、'\"“”‘’()()[\\]【】\\-_/\\\\]+/g, '')\n .toLowerCase()\n}\n\nexport function applySingleAiAnswer({\n answers,\n aiAnswer,\n answerType,\n}: {\n answers: SingleAnswer[]\n aiAnswer: string\n answerType: AnswerType\n}) {\n const aiTitles = aiAnswer\n .split(/\\r?\\n/)\n .map(line => normalizeSingleAiTitle(line))\n .filter(Boolean)\n\n let matchedCount = 0\n let hasSelected = false\n\n const nextAnswers = answers.map((answer) => {\n const matched = aiTitles.includes(normalizeSingleAiTitle(answer.title || ''))\n\n if (answerType === 'single') {\n const isCorrect = matched && !hasSelected\n if (isCorrect) {\n hasSelected = true\n matchedCount += 1\n }\n return { ...answer, isCorrect }\n }\n\n if (matched) {\n matchedCount += 1\n }\n return { ...answer, isCorrect: matched }\n })\n\n return {\n answers: nextAnswers,\n matchedCount,\n }\n}\n\nexport function updateSingleAnswerTitle(\n answers: SingleAnswer[],\n answerIndex: number,\n value: string,\n maxLength: number,\n) {\n const nextTitle = value.slice(0, maxLength)\n return answers.map((answer, index) => index === answerIndex\n ? { ...answer, title: nextTitle }\n : answer)\n}\n\nexport function insertSingleAnswerAfter(\n answers: SingleAnswer[],\n answerIndex: number,\n createId: () => string | number,\n) {\n const nextAnswers = [...answers]\n nextAnswers.splice(answerIndex + 1, 0, {\n title: '',\n isCorrect: false,\n customAnswerId: createId(),\n })\n return nextAnswers\n}\n\nexport function deleteSingleAnswerAt(\n answers: SingleAnswer[],\n answerIndex: number,\n minimumLength = 2,\n) {\n if (answers.length <= minimumLength) {\n return answers\n }\n return answers.filter((_, index) => index !== answerIndex)\n}\n\nexport function setSingleCorrectState(\n answers: SingleAnswer[],\n answerType: AnswerType,\n answerIndex: number,\n value: boolean,\n) {\n if (answerType === 'single') {\n return answers.map((answer, index) => ({\n ...answer,\n isCorrect: index === answerIndex ? value : (value ? false : !!answer.isCorrect),\n }))\n }\n\n return answers.map((answer, index) => index === answerIndex\n ? { ...answer, isCorrect: value }\n : answer)\n}\n\nexport function toggleSingleSortLetter(orderList: string[], letter: string) {\n return orderList.includes(letter)\n ? orderList.filter(item => item !== letter)\n : [...orderList, letter]\n}\n\nexport function removeSingleSortLetter(orderList: string[], letter: string) {\n return orderList.filter(item => item !== letter)\n}\n\nexport function getSingleSortOrder(orderList: string[], letter: string) {\n const index = orderList.indexOf(letter)\n return index >= 0 ? index + 1 : null\n}\n\nexport function resolveSingleSortAnswerValue(letter: string, answers: SingleAnswer[]) {\n const index = letter.charCodeAt(0) - 65\n const answer = answers[index] as any\n return answer?.answerId ?? index + 1\n}\n\nexport function countSingleRelationAnswers(relations: any[] = []) {\n return relations.reduce((count, item) => {\n return count + (Array.isArray(item?.relationAnswers) ? item.relationAnswers.length : 0)\n }, 0)\n}\n\nexport function shouldShowSingleCorrectHint({\n answerType,\n answers,\n orderList,\n}: {\n answerType: AnswerType\n answers: SingleAnswer[]\n orderList: string[]\n}) {\n if (answerType === 'sort') {\n return !orderList.length\n }\n return !answers.some(answer => !!answer.isCorrect)\n}\n"],"names":["normalizeSingleAiTitle","text","applySingleAiAnswer","answers","aiAnswer","answerType","aiTitles","line","matchedCount","hasSelected","answer","matched","isCorrect","updateSingleAnswerTitle","answerIndex","value","maxLength","nextTitle","index","insertSingleAnswerAfter","createId","nextAnswers","deleteSingleAnswerAt","minimumLength","_","setSingleCorrectState","toggleSingleSortLetter","orderList","letter","item","removeSingleSortLetter","getSingleSortOrder","resolveSingleSortAnswerValue","countSingleRelationAnswers","relations","count","shouldShowSingleCorrectHint"],"mappings":"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"}