@qxs-bns/components 0.0.89 → 0.0.90

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 (323) hide show
  1. package/es/_virtual/_commonjsHelpers.mjs +2 -0
  2. package/es/_virtual/_commonjsHelpers.mjs.map +1 -0
  3. package/es/_virtual/sortable.esm.mjs +2 -0
  4. package/es/_virtual/sortable.esm.mjs.map +1 -0
  5. package/es/_virtual/vuedraggable.umd.mjs +2 -0
  6. package/es/_virtual/vuedraggable.umd.mjs.map +1 -0
  7. package/es/_virtual/vuedraggable.umd2.mjs +2 -0
  8. package/es/_virtual/vuedraggable.umd2.mjs.map +1 -0
  9. package/es/index.mjs +1 -1
  10. package/es/index.mjs.map +1 -1
  11. 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 +1 -1
  12. 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 +1 -1
  13. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs +8 -0
  14. package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs.map +1 -0
  15. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs +2 -0
  16. package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs.map +1 -0
  17. package/es/package.json.mjs +1 -1
  18. package/es/src/alert/index.mjs +2 -0
  19. package/es/src/alert/index.mjs.map +1 -0
  20. package/es/src/alert/src/alert.mjs +2 -0
  21. package/es/src/alert/src/alert.mjs.map +1 -0
  22. package/es/src/components.mjs +1 -1
  23. package/es/src/data-chart/src/components/area.vue2.mjs +1 -1
  24. package/es/src/data-chart/src/components/area.vue2.mjs.map +1 -1
  25. package/es/src/data-chart/src/components/card.vue2.mjs +1 -1
  26. package/es/src/data-chart/src/components/card.vue2.mjs.map +1 -1
  27. package/es/src/data-chart/src/components/line.vue2.mjs +1 -1
  28. package/es/src/data-chart/src/components/line.vue2.mjs.map +1 -1
  29. package/es/src/data-chart/src/components/pie.vue2.mjs +1 -1
  30. package/es/src/data-chart/src/components/pie.vue2.mjs.map +1 -1
  31. package/es/src/data-chart/src/components/table.vue.mjs +1 -1
  32. package/es/src/data-chart/src/components/table.vue.mjs.map +1 -1
  33. package/es/src/data-chart/src/data-chart.vue.mjs +1 -1
  34. package/es/src/data-chart/src/data-chart.vue.mjs.map +1 -1
  35. package/es/src/data-chart/src/utils/config.mjs +1 -1
  36. package/es/src/data-chart/src/utils/config.mjs.map +1 -1
  37. package/es/src/data-chart/src/utils/safe-eval.mjs +1 -1
  38. package/es/src/data-chart/src/utils/safe-eval.mjs.map +1 -1
  39. package/es/src/data-chart/src/utils/useCharts.mjs +1 -1
  40. package/es/src/data-chart/src/utils/useCharts.mjs.map +1 -1
  41. package/es/src/dialog/src/dialog.mjs +2 -0
  42. package/es/src/dialog/src/dialog.mjs.map +1 -0
  43. package/es/src/feedback-plugin/index.mjs +2 -0
  44. package/es/src/feedback-plugin/index.mjs.map +1 -0
  45. package/es/src/file-upload/src/file-upload.vue.mjs +1 -1
  46. package/es/src/file-upload/src/file-upload.vue.mjs.map +1 -1
  47. package/es/src/file-upload/src/file-upload.vue2.mjs +1 -1
  48. package/es/src/file-upload/src/file-upload.vue2.mjs.map +1 -1
  49. package/es/src/file-upload/src/file-upload.vue3.mjs +2 -0
  50. package/es/src/file-upload/src/file-upload.vue3.mjs.map +1 -0
  51. package/es/src/image-upload/src/image-upload.vue.mjs +1 -1
  52. package/es/src/image-upload/src/image-upload.vue.mjs.map +1 -1
  53. package/es/src/image-upload/src/image-upload.vue2.mjs +1 -1
  54. package/es/src/image-upload/src/image-upload.vue2.mjs.map +1 -1
  55. package/es/src/image-upload/src/image-upload.vue3.mjs +2 -0
  56. package/es/src/image-upload/src/image-upload.vue3.mjs.map +1 -0
  57. package/es/src/make-installer.mjs +1 -1
  58. package/es/src/make-installer.mjs.map +1 -1
  59. package/es/src/message/src/message.mjs +2 -0
  60. package/es/src/message/src/message.mjs.map +1 -0
  61. package/es/src/subject-action/src/subject-action.vue.mjs +1 -1
  62. package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -1
  63. package/es/src/subject-layout/src/subject-layout.vue.mjs +1 -1
  64. package/es/src/subject-layout/src/subject-layout.vue.mjs.map +1 -1
  65. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +1 -1
  66. package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +1 -1
  67. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +1 -1
  68. package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +1 -1
  69. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +1 -1
  70. package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +1 -1
  71. package/es/src/subject-list/src/components/subject-scale.vue.mjs +1 -1
  72. package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +1 -1
  73. package/es/src/subject-list/src/components/subject-single.vue.mjs +1 -1
  74. package/es/src/subject-list/src/components/subject-single.vue.mjs.map +1 -1
  75. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +1 -1
  76. package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +1 -1
  77. package/es/src/subject-list/src/subject-list.vue.mjs +1 -1
  78. package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -1
  79. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +1 -1
  80. package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +1 -1
  81. package/es/src/ui/button/index.mjs +2 -0
  82. package/es/src/ui/button/index.mjs.map +1 -0
  83. package/es/src/ui/checkbox/index.mjs +2 -0
  84. package/es/src/ui/checkbox/index.mjs.map +1 -0
  85. package/es/src/ui/dialog/index.mjs +2 -0
  86. package/es/src/ui/dialog/index.mjs.map +1 -0
  87. package/es/src/ui/input/index.mjs +2 -0
  88. package/es/src/ui/input/index.mjs.map +1 -0
  89. package/es/src/ui/input-number/index.mjs +2 -0
  90. package/es/src/ui/input-number/index.mjs.map +1 -0
  91. package/es/src/ui/layout/index.mjs +2 -0
  92. package/es/src/ui/layout/index.mjs.map +1 -0
  93. package/es/src/ui/link/index.mjs +2 -0
  94. package/es/src/ui/link/index.mjs.map +1 -0
  95. package/es/src/ui/popover/index.mjs +2 -0
  96. package/es/src/ui/popover/index.mjs.map +1 -0
  97. package/es/src/ui/radio/index.mjs +2 -0
  98. package/es/src/ui/radio/index.mjs.map +1 -0
  99. package/es/src/ui/scrollbar/index.mjs +2 -0
  100. package/es/src/ui/scrollbar/index.mjs.map +1 -0
  101. package/es/src/ui/select/index.mjs +2 -0
  102. package/es/src/ui/select/index.mjs.map +1 -0
  103. package/es/src/ui/table/index.mjs +2 -0
  104. package/es/src/ui/table/index.mjs.map +1 -0
  105. package/es/src/ui/tag/index.mjs +2 -0
  106. package/es/src/ui/tag/index.mjs.map +1 -0
  107. package/lib/_virtual/_commonjsHelpers.cjs +2 -0
  108. package/lib/_virtual/_commonjsHelpers.cjs.map +1 -0
  109. package/lib/_virtual/sortable.esm.cjs +2 -0
  110. package/lib/_virtual/sortable.esm.cjs.map +1 -0
  111. package/lib/_virtual/vuedraggable.umd.cjs +2 -0
  112. package/lib/_virtual/vuedraggable.umd.cjs.map +1 -0
  113. package/lib/_virtual/vuedraggable.umd2.cjs +2 -0
  114. package/lib/_virtual/vuedraggable.umd2.cjs.map +1 -0
  115. package/lib/index.cjs +1 -1
  116. package/lib/index.cjs.map +1 -1
  117. 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 +1 -1
  118. 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 +1 -1
  119. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs +9 -0
  120. package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs.map +1 -0
  121. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs +2 -0
  122. package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs.map +1 -0
  123. package/lib/package.json.cjs +1 -1
  124. package/lib/src/alert/index.cjs +2 -0
  125. package/lib/src/alert/index.cjs.map +1 -0
  126. package/lib/src/alert/src/alert.cjs +2 -0
  127. package/lib/src/alert/src/alert.cjs.map +1 -0
  128. package/lib/src/components.cjs +1 -1
  129. package/lib/src/data-chart/src/components/area.vue2.cjs +1 -1
  130. package/lib/src/data-chart/src/components/area.vue2.cjs.map +1 -1
  131. package/lib/src/data-chart/src/components/card.vue2.cjs +1 -1
  132. package/lib/src/data-chart/src/components/card.vue2.cjs.map +1 -1
  133. package/lib/src/data-chart/src/components/line.vue2.cjs +1 -1
  134. package/lib/src/data-chart/src/components/line.vue2.cjs.map +1 -1
  135. package/lib/src/data-chart/src/components/pie.vue2.cjs +1 -1
  136. package/lib/src/data-chart/src/components/pie.vue2.cjs.map +1 -1
  137. package/lib/src/data-chart/src/components/table.vue.cjs +1 -1
  138. package/lib/src/data-chart/src/components/table.vue.cjs.map +1 -1
  139. package/lib/src/data-chart/src/data-chart.vue.cjs +1 -1
  140. package/lib/src/data-chart/src/data-chart.vue.cjs.map +1 -1
  141. package/lib/src/data-chart/src/utils/config.cjs +1 -1
  142. package/lib/src/data-chart/src/utils/config.cjs.map +1 -1
  143. package/lib/src/data-chart/src/utils/safe-eval.cjs +1 -1
  144. package/lib/src/data-chart/src/utils/safe-eval.cjs.map +1 -1
  145. package/lib/src/data-chart/src/utils/useCharts.cjs +1 -1
  146. package/lib/src/data-chart/src/utils/useCharts.cjs.map +1 -1
  147. package/lib/src/dialog/src/dialog.cjs +2 -0
  148. package/lib/src/dialog/src/dialog.cjs.map +1 -0
  149. package/lib/src/feedback-plugin/index.cjs +2 -0
  150. package/lib/src/feedback-plugin/index.cjs.map +1 -0
  151. package/lib/src/file-upload/src/file-upload.vue.cjs +1 -1
  152. package/lib/src/file-upload/src/file-upload.vue.cjs.map +1 -1
  153. package/lib/src/file-upload/src/file-upload.vue2.cjs +1 -1
  154. package/lib/src/file-upload/src/file-upload.vue2.cjs.map +1 -1
  155. package/lib/src/file-upload/src/file-upload.vue3.cjs +2 -0
  156. package/lib/src/file-upload/src/file-upload.vue3.cjs.map +1 -0
  157. package/lib/src/image-upload/src/image-upload.vue.cjs +1 -1
  158. package/lib/src/image-upload/src/image-upload.vue.cjs.map +1 -1
  159. package/lib/src/image-upload/src/image-upload.vue2.cjs +1 -1
  160. package/lib/src/image-upload/src/image-upload.vue2.cjs.map +1 -1
  161. package/lib/src/image-upload/src/image-upload.vue3.cjs +2 -0
  162. package/lib/src/image-upload/src/image-upload.vue3.cjs.map +1 -0
  163. package/lib/src/make-installer.cjs +1 -1
  164. package/lib/src/make-installer.cjs.map +1 -1
  165. package/lib/src/message/src/message.cjs +2 -0
  166. package/lib/src/message/src/message.cjs.map +1 -0
  167. package/lib/src/subject-action/src/subject-action.vue.cjs +1 -1
  168. package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -1
  169. package/lib/src/subject-layout/src/subject-layout.vue.cjs +1 -1
  170. package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +1 -1
  171. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +1 -1
  172. package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +1 -1
  173. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +1 -1
  174. package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +1 -1
  175. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +1 -1
  176. package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +1 -1
  177. package/lib/src/subject-list/src/components/subject-scale.vue.cjs +1 -1
  178. package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +1 -1
  179. package/lib/src/subject-list/src/components/subject-single.vue.cjs +1 -1
  180. package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +1 -1
  181. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +1 -1
  182. package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +1 -1
  183. package/lib/src/subject-list/src/subject-list.vue.cjs +1 -1
  184. package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -1
  185. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +1 -1
  186. package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +1 -1
  187. package/lib/src/ui/button/index.cjs +2 -0
  188. package/lib/src/ui/button/index.cjs.map +1 -0
  189. package/lib/src/ui/checkbox/index.cjs +2 -0
  190. package/lib/src/ui/checkbox/index.cjs.map +1 -0
  191. package/lib/src/ui/dialog/index.cjs +2 -0
  192. package/lib/src/ui/dialog/index.cjs.map +1 -0
  193. package/lib/src/ui/input/index.cjs +2 -0
  194. package/lib/src/ui/input/index.cjs.map +1 -0
  195. package/lib/src/ui/input-number/index.cjs +2 -0
  196. package/lib/src/ui/input-number/index.cjs.map +1 -0
  197. package/lib/src/ui/layout/index.cjs +2 -0
  198. package/lib/src/ui/layout/index.cjs.map +1 -0
  199. package/lib/src/ui/link/index.cjs +2 -0
  200. package/lib/src/ui/link/index.cjs.map +1 -0
  201. package/lib/src/ui/popover/index.cjs +2 -0
  202. package/lib/src/ui/popover/index.cjs.map +1 -0
  203. package/lib/src/ui/radio/index.cjs +2 -0
  204. package/lib/src/ui/radio/index.cjs.map +1 -0
  205. package/lib/src/ui/scrollbar/index.cjs +2 -0
  206. package/lib/src/ui/scrollbar/index.cjs.map +1 -0
  207. package/lib/src/ui/select/index.cjs +2 -0
  208. package/lib/src/ui/select/index.cjs.map +1 -0
  209. package/lib/src/ui/table/index.cjs +2 -0
  210. package/lib/src/ui/table/index.cjs.map +1 -0
  211. package/lib/src/ui/tag/index.cjs +2 -0
  212. package/lib/src/ui/tag/index.cjs.map +1 -0
  213. package/package.json +3 -12
  214. package/theme-chalk/index.css +1 -1
  215. package/theme-chalk/index.scss +6 -2
  216. package/theme-chalk/src/common/qxs-components.css +1 -0
  217. package/theme-chalk/src/common/qxs-components.scss +4 -0
  218. package/theme-chalk/src/common/qxs-variables.css +1 -0
  219. package/theme-chalk/src/common/qxs-variables.scss +81 -0
  220. package/theme-chalk/src/dialog.css +1 -0
  221. package/theme-chalk/src/dialog.scss +122 -0
  222. package/theme-chalk/src/file-upload.css +0 -1
  223. package/theme-chalk/src/file-upload.scss +5 -32
  224. package/theme-chalk/src/fixed-action-bar.scss +1 -1
  225. package/theme-chalk/src/icon.scss +1 -1
  226. package/theme-chalk/src/image-upload.css +1 -1
  227. package/theme-chalk/src/image-upload.scss +22 -30
  228. package/theme-chalk/src/photo-crop-tool.scss +1 -1
  229. package/theme-chalk/src/subject-action.css +1 -1
  230. package/theme-chalk/src/subject-action.scss +45 -4
  231. package/theme-chalk/src/subject-layout.scss +1 -1
  232. package/theme-chalk/src/subject-list.css +1 -1
  233. package/theme-chalk/src/subject-list.scss +371 -93
  234. package/theme-chalk/src/subject-template.scss +1 -1
  235. package/theme-chalk/src/subject-type.css +1 -1
  236. package/theme-chalk/src/subject-type.scss +22 -12
  237. package/theme-chalk/src/tiny-mce-editor.scss +1 -1
  238. package/theme-chalk/src/ui/button.css +1 -0
  239. package/theme-chalk/src/ui/button.scss +173 -0
  240. package/theme-chalk/src/ui/input.css +1 -0
  241. package/theme-chalk/src/ui/input.scss +128 -0
  242. package/theme-chalk/src/ui/table.css +1 -0
  243. package/theme-chalk/src/ui/table.scss +166 -0
  244. package/types/src/alert/index.d.ts +66 -0
  245. package/types/src/alert/index.d.ts.map +1 -0
  246. package/types/src/alert/src/alert.d.ts +73 -0
  247. package/types/src/alert/src/alert.d.ts.map +1 -0
  248. package/types/src/components.d.ts +3 -0
  249. package/types/src/components.d.ts.map +1 -1
  250. package/types/src/data-chart/src/components/table.vue.d.ts.map +1 -1
  251. package/types/src/data-chart/src/utils/config.d.ts +4 -4
  252. package/types/src/dialog/index.d.ts +3 -0
  253. package/types/src/dialog/index.d.ts.map +1 -0
  254. package/types/src/dialog/src/dialog.d.ts +25 -0
  255. package/types/src/dialog/src/dialog.d.ts.map +1 -0
  256. package/types/src/feedback-plugin/index.d.ts +9 -0
  257. package/types/src/feedback-plugin/index.d.ts.map +1 -0
  258. package/types/src/file-upload/index.d.ts +16 -27
  259. package/types/src/file-upload/index.d.ts.map +1 -1
  260. package/types/src/file-upload/src/file-upload.vue.d.ts +27 -13
  261. package/types/src/file-upload/src/file-upload.vue.d.ts.map +1 -1
  262. package/types/src/icon/index.d.ts +3 -3
  263. package/types/src/icon/src/icon.d.ts +3 -3
  264. package/types/src/image-upload/index.d.ts +23 -44
  265. package/types/src/image-upload/index.d.ts.map +1 -1
  266. package/types/src/image-upload/src/image-upload.vue.d.ts +32 -42
  267. package/types/src/image-upload/src/image-upload.vue.d.ts.map +1 -1
  268. package/types/src/make-installer.d.ts +1 -4
  269. package/types/src/make-installer.d.ts.map +1 -1
  270. package/types/src/message/index.d.ts +3 -0
  271. package/types/src/message/index.d.ts.map +1 -0
  272. package/types/src/message/src/message.d.ts +21 -0
  273. package/types/src/message/src/message.d.ts.map +1 -0
  274. package/types/src/message/src/toaster.vue.d.ts +3 -0
  275. package/types/src/message/src/toaster.vue.d.ts.map +1 -0
  276. package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
  277. package/types/src/subject-layout/index.d.ts +2 -2
  278. package/types/src/subject-layout/src/subject-layout.vue.d.ts +2 -2
  279. package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
  280. package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +2 -2
  281. package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +2 -2
  282. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +2 -2
  283. package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +1 -1
  284. package/types/src/subject-list/src/components/subject-scale.vue.d.ts +2 -2
  285. package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
  286. package/types/src/subject-list/src/components/subject-single.vue.d.ts +2 -2
  287. package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
  288. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +2 -2
  289. package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +1 -1
  290. package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
  291. package/types/src/ui/button/index.d.ts +96 -0
  292. package/types/src/ui/button/index.d.ts.map +1 -0
  293. package/types/src/ui/checkbox/index.d.ts +111 -0
  294. package/types/src/ui/checkbox/index.d.ts.map +1 -0
  295. package/types/src/ui/dialog/index.d.ts +134 -0
  296. package/types/src/ui/dialog/index.d.ts.map +1 -0
  297. package/types/src/ui/index.d.ts +16 -0
  298. package/types/src/ui/index.d.ts.map +1 -0
  299. package/types/src/ui/input/index.d.ts +132 -0
  300. package/types/src/ui/input/index.d.ts.map +1 -0
  301. package/types/src/ui/input-number/index.d.ts +106 -0
  302. package/types/src/ui/input-number/index.d.ts.map +1 -0
  303. package/types/src/ui/layout/index.d.ts +373 -0
  304. package/types/src/ui/layout/index.d.ts.map +1 -0
  305. package/types/src/ui/link/index.d.ts +57 -0
  306. package/types/src/ui/link/index.d.ts.map +1 -0
  307. package/types/src/ui/popover/index.d.ts +89 -0
  308. package/types/src/ui/popover/index.d.ts.map +1 -0
  309. package/types/src/ui/radio/index.d.ts +84 -0
  310. package/types/src/ui/radio/index.d.ts.map +1 -0
  311. package/types/src/ui/scrollbar/index.d.ts +35 -0
  312. package/types/src/ui/scrollbar/index.d.ts.map +1 -0
  313. package/types/src/ui/select/index.d.ts +113 -0
  314. package/types/src/ui/select/index.d.ts.map +1 -0
  315. package/types/src/ui/table/index.d.ts +152 -0
  316. package/types/src/ui/table/index.d.ts.map +1 -0
  317. package/types/src/ui/tag/index.d.ts +69 -0
  318. package/types/src/ui/tag/index.d.ts.map +1 -0
  319. package/types/tsconfig.tsbuildinfo +1 -1
  320. package/theme-chalk/src/common/element-plus-deps.css +0 -1
  321. package/theme-chalk/src/common/element-plus-deps.scss +0 -40
  322. package/theme-chalk/src/common/element-plus.css +0 -1
  323. package/theme-chalk/src/common/element-plus.scss +0 -606
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/src/ui/select/index.ts"],"sourcesContent":["import { defineComponent, h, ref, computed, provide, inject, watch, type PropType, type InjectionKey, type Ref } from 'vue'\n\nexport type SelectSize = 'large' | 'default' | 'small'\n\ninterface SelectContext {\n modelValue: Ref<any>\n multiple: Ref<boolean>\n handleSelect: (value: any, label: string) => void\n registerOption: (value: any, label: string) => void\n}\n\nconst SELECT_INJECTION_KEY: InjectionKey<SelectContext> = Symbol('QxsSelect')\n\nexport const QxsOption = defineComponent({\n name: 'QxsOption',\n props: {\n value: { type: [String, Number, Boolean, Object], required: true },\n label: { type: String, default: '' },\n disabled: { type: Boolean, default: false },\n },\n setup(props, { slots }) {\n const select = inject(SELECT_INJECTION_KEY)\n \n if (!select) {\n console.warn('QxsOption must be used inside QxsSelect')\n return () => null\n }\n\n select.registerOption(props.value, props.label || String(props.value))\n\n const isSelected = computed(() => {\n if (select.multiple.value) {\n return Array.isArray(select.modelValue.value) && \n select.modelValue.value.some(v => v === props.value)\n }\n return select.modelValue.value === props.value\n })\n\n const handleClick = () => {\n if (props.disabled) return\n select.handleSelect(props.value, props.label || String(props.value))\n }\n\n return () => h('div', {\n class: [\n 'qxs-option',\n {\n 'is-selected': isSelected.value,\n 'is-disabled': props.disabled,\n },\n ],\n onClick: handleClick,\n style: {\n padding: '4px 8px',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n backgroundColor: isSelected.value ? 'rgba(61, 97, 227, 0.1)' : 'transparent',\n color: isSelected.value ? 'var(--qxs-color-primary, #3D61E3)' : props.disabled ? '#c0c4cc' : '#606266',\n fontSize: '14px',\n lineHeight: '1.25',\n borderRadius: '4px',\n fontWeight: isSelected.value ? '500' : '400',\n marginBottom: '2px',\n },\n onMouseenter: (e: MouseEvent) => {\n if (!props.disabled) {\n (e.currentTarget as HTMLElement).style.backgroundColor = \n isSelected.value ? 'rgba(61, 97, 227, 0.1)' : '#f5f7fa'\n }\n },\n onMouseleave: (e: MouseEvent) => {\n if (!props.disabled) {\n (e.currentTarget as HTMLElement).style.backgroundColor = \n isSelected.value ? 'rgba(61, 97, 227, 0.1)' : 'transparent'\n }\n },\n }, slots.default?.() || props.label)\n },\n})\n\nexport const QxsSelect = defineComponent({\n name: 'QxsSelect',\n props: {\n modelValue: { type: [String, Number, Boolean, Array, Object], default: '' },\n disabled: { type: Boolean, default: false },\n placeholder: { type: String, default: '请选择' },\n clearable: { type: Boolean, default: false },\n multiple: { type: Boolean, default: false },\n size: { type: String as PropType<SelectSize>, default: 'default' },\n filterable: { type: Boolean, default: false },\n },\n emits: ['update:modelValue', 'change', 'clear', 'visible-change', 'remove-tag', 'focus', 'blur'],\n setup(props, { slots, emit }) {\n const visible = ref(false)\n const selectedLabel = ref('')\n const inputRef = ref<HTMLInputElement>()\n const selectedTags = ref<{value: any, label: string}[]>([])\n const optionsMap = ref<Map<any, string>>(new Map())\n\n const registerOption = (value: any, label: string) => {\n optionsMap.value.set(value, label)\n }\n\n watch(() => props.modelValue, (newVal) => {\n if (props.multiple && Array.isArray(newVal)) {\n selectedTags.value = newVal.map(v => ({\n value: v,\n label: optionsMap.value.get(v) || String(v)\n }))\n }\n }, { immediate: true, deep: true })\n\n const displayValue = computed(() => {\n if (props.multiple && Array.isArray(props.modelValue)) {\n return props.modelValue.length > 0 ? `已选择 ${props.modelValue.length} 项` : ''\n }\n return selectedLabel.value\n })\n\n const handleSelect = (value: any, label: string) => {\n if (props.multiple) {\n const values = Array.isArray(props.modelValue) ? [...props.modelValue] : []\n const index = values.findIndex(v => v === value)\n \n if (index > -1) {\n values.splice(index, 1)\n const tagIndex = selectedTags.value.findIndex(t => t.value === value)\n if (tagIndex > -1) {\n selectedTags.value.splice(tagIndex, 1)\n }\n emit('remove-tag', value)\n } else {\n values.push(value)\n selectedTags.value.push({ value, label })\n }\n \n emit('update:modelValue', values)\n emit('change', values)\n } else {\n selectedLabel.value = label\n emit('update:modelValue', value)\n emit('change', value)\n visible.value = false\n }\n }\n\n const removeTag = (value: any, e: MouseEvent) => {\n e.stopPropagation()\n if (props.multiple) {\n const values = Array.isArray(props.modelValue) ? [...props.modelValue] : []\n const index = values.findIndex(v => v === value)\n \n if (index > -1) {\n values.splice(index, 1)\n const tagIndex = selectedTags.value.findIndex(t => t.value === value)\n if (tagIndex > -1) {\n selectedTags.value.splice(tagIndex, 1)\n }\n emit('remove-tag', value)\n emit('update:modelValue', values)\n emit('change', values)\n }\n }\n }\n\n const handleClear = (e: MouseEvent) => {\n e.stopPropagation()\n if (props.multiple) {\n emit('update:modelValue', [])\n selectedTags.value = []\n } else {\n emit('update:modelValue', '')\n selectedLabel.value = ''\n }\n emit('clear')\n }\n\n const toggleDropdown = () => {\n if (props.disabled) return\n visible.value = !visible.value\n emit('visible-change', visible.value)\n }\n\n const handleFocus = (e: FocusEvent) => {\n emit('focus', e)\n }\n\n const handleBlur = (e: FocusEvent) => {\n emit('blur', e)\n }\n\n provide(SELECT_INJECTION_KEY, {\n modelValue: computed(() => props.modelValue),\n multiple: computed(() => props.multiple),\n handleSelect,\n registerOption,\n })\n\n const inputHeight = computed(() => {\n return props.size === 'large' ? '40px' : props.size === 'small' ? '24px' : '32px'\n })\n\n return () => h('div', {\n class: [\n 'qxs-select',\n `qxs-select--${props.size}`,\n {\n 'is-disabled': props.disabled,\n 'is-focus': visible.value,\n },\n ],\n style: {\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n },\n }, [\n h('div', {\n class: 'qxs-select__wrapper',\n onClick: toggleDropdown,\n style: {\n position: 'relative',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n },\n }, [\n props.multiple ? h('div', {\n class: 'qxs-select__tags',\n style: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '4px',\n padding: '4px 30px 4px 8px',\n minHeight: inputHeight.value,\n border: '1px solid hsl(214.3 31.8% 91.4%)',\n borderRadius: '6px',\n backgroundColor: props.disabled ? 'hsl(210 40% 96.1%)' : '#fff',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n alignItems: 'center',\n },\n }, [\n ...selectedTags.value.map(tag => h('span', {\n class: 'qxs-select__tag',\n style: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2px',\n padding: '1px 6px',\n backgroundColor: 'var(--qxs-color-primary, #3D61E3)',\n border: 'none',\n borderRadius: '4px',\n fontSize: '12px',\n color: '#fff',\n fontWeight: '500',\n lineHeight: '1.2',\n },\n }, [\n h('span', null, tag.label),\n !props.disabled && h('span', {\n class: 'qxs-select__tag-close',\n onClick: (e: MouseEvent) => removeTag(tag.value, e),\n style: {\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '12px',\n height: '12px',\n borderRadius: '50%',\n fontSize: '9px',\n color: '#fff',\n transition: 'all 0.2s',\n },\n onMouseenter: (e: MouseEvent) => {\n const el = e.currentTarget as HTMLElement\n el.style.backgroundColor = 'rgba(255, 255, 255, 0.2)'\n },\n onMouseleave: (e: MouseEvent) => {\n const el = e.currentTarget as HTMLElement\n el.style.backgroundColor = 'transparent'\n },\n }, '×'),\n ])),\n selectedTags.value.length === 0 && h('span', {\n style: {\n color: 'hsl(215 20.2% 65.1%)',\n fontSize: '14px',\n },\n }, props.placeholder),\n ]) : h('input', {\n ref: inputRef,\n class: 'qxs-select__inner',\n type: 'text',\n readonly: !props.filterable,\n value: displayValue.value,\n placeholder: props.placeholder,\n disabled: props.disabled,\n onFocus: handleFocus,\n onBlur: handleBlur,\n style: {\n width: '100%',\n height: inputHeight.value,\n padding: '0 30px 0 12px',\n border: '1px solid hsl(214.3 31.8% 91.4%)',\n borderRadius: '6px',\n outline: 'none',\n fontSize: '14px',\n backgroundColor: props.disabled ? 'hsl(210 40% 96.1%)' : '#fff',\n cursor: props.disabled ? 'not-allowed' : 'pointer',\n transition: 'border-color 0.2s',\n },\n }),\n h('span', {\n class: 'qxs-select__suffix',\n style: {\n position: 'absolute',\n right: '10px',\n top: '50%',\n transform: 'translateY(-50%)',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n },\n }, [\n props.clearable && displayValue.value && !props.disabled && h('span', {\n class: 'qxs-select__clear',\n onClick: handleClear,\n style: {\n fontSize: '14px',\n cursor: 'pointer',\n },\n }, '×'),\n h('span', {\n class: 'qxs-select__caret',\n style: {\n fontSize: '12px',\n transform: visible.value ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.3s',\n },\n }, '▼'),\n ]),\n ]),\n visible.value && h('div', {\n class: 'qxs-select__dropdown',\n style: {\n position: 'absolute',\n top: '100%',\n left: '0',\n right: '0',\n marginTop: '4px',\n backgroundColor: '#fff',\n border: '1px solid hsl(214.3 31.8% 91.4%)',\n borderRadius: '6px',\n boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',\n zIndex: 2000,\n maxHeight: '274px',\n overflowY: 'auto',\n padding: '4px',\n },\n }, slots.default?.()),\n ])\n },\n})\n\nexport default QxsSelect\n"],"names":["SELECT_INJECTION_KEY","Symbol","QxsOption","defineComponent","name","props","value","type","String","Number","Boolean","Object","required","label","default","disabled","setup","_ref","slots","select","inject","registerOption","isSelected","computed","multiple","Array","isArray","modelValue","some","v","handleClick","handleSelect","h","class","onClick","style","padding","cursor","backgroundColor","color","fontSize","lineHeight","borderRadius","fontWeight","marginBottom","onMouseenter","e","currentTarget","onMouseleave","QxsSelect","placeholder","clearable","size","filterable","emits","_ref2","emit","visible","ref","selectedLabel","inputRef","selectedTags","optionsMap","Map","watch","newVal","map","get","immediate","deep","displayValue","length","handleClear","stopPropagation","toggleDropdown","handleFocus","handleBlur","provide","values","index","findIndex","splice","tagIndex","t","push","set","inputHeight","position","display","width","flexWrap","gap","minHeight","border","alignItems","tag","removeTag","justifyContent","height","transition","readonly","onFocus","onBlur","outline","right","top","transform","left","marginTop","boxShadow","zIndex","maxHeight","overflowY"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue");const t=Symbol("tableColumns"),r=Symbol("tableRegisterColumn"),l=e.defineComponent({name:"QxsTableColumn",props:{prop:{type:String,default:""},label:{type:String,default:""},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},sortable:{type:Boolean,default:!1},fixed:{type:[String,Boolean],default:!1},showOverflowTooltip:{type:Boolean,default:!1}},setup(t,l){let{slots:a}=l;const s=e.inject(r),o={prop:t.prop,label:t.label,width:t.width,minWidth:t.minWidth,align:t.align,sortable:t.sortable,fixed:t.fixed,renderHeader:()=>a.header?e.h("div",{},a.header()):t.label,renderCell:r=>a.default?e.h("div",{},a.default({row:r})):t.prop?r[t.prop]??"--":"--"};return s&&s(o),()=>null}}),a=e.defineComponent({name:"QxsTable",props:{data:{type:Array,default:()=>[]},stripe:{type:Boolean,default:!1},border:{type:Boolean,default:!1},height:{type:[String,Number],default:""},rowKey:{type:[String,Function],default:""},emptyText:{type:String,default:"暂无数据"}},setup(l,a){let{slots:s}=a;const o=e.ref([]),n=e.reactive({prop:null,order:null});e.provide(r,e=>{o.value.push(e)}),e.provide(t,o);const d=e.computed(()=>{if(!n.prop||!n.order)return l.data;const e=[...l.data],{prop:t,order:r}=n;return e.sort((e,l)=>{const a=e[t],s=l[t];if(a===s)return 0;const o=a>s?1:-1;return"ascending"===r?o:-o})}),i=(e,t)=>"function"==typeof l.rowKey?l.rowKey(e):"string"==typeof l.rowKey&&l.rowKey?e[l.rowKey]:String(t),p=()=>e.h("thead",{class:"qxs-table__header"},[e.h("tr",{},o.value.map(t=>{const r=["qxs-table__cell",`qxs-table__cell--${t.align||"left"}`,{"qxs-table__cell--sortable":t.sortable,"is-sorting":n.prop===t.prop}],l={};t.width&&(l.width="number"==typeof t.width?`${t.width}px`:t.width),t.minWidth&&(l.minWidth="number"==typeof t.minWidth?`${t.minWidth}px`:t.minWidth);const a=t.renderHeader?t.renderHeader():t.label,s=t.sortable?e.h("span",{class:"qxs-table__sort-icon"},[e.h("i",{class:["qxs-table__sort-caret","ascending",{"is-active":n.prop===t.prop&&"ascending"===n.order}]}),e.h("i",{class:["qxs-table__sort-caret","descending",{"is-active":n.prop===t.prop&&"descending"===n.order}]})]):null;return e.h("th",{class:r,style:l,onClick:()=>(e=>{e.sortable&&e.prop&&(n.prop===e.prop?"ascending"===n.order?n.order="descending":"descending"===n.order?(n.prop=null,n.order=null):n.order="ascending":(n.prop=e.prop,n.order="ascending"))})(t)},[e.h("div",{class:"qxs-table__cell-content"},[a,s])])}))]);return()=>{s.default&&s.default();const t=["qxs-table",{"qxs-table--striped":l.stripe,"qxs-table--border":l.border}],r={};return l.height&&(r.height="number"==typeof l.height?`${l.height}px`:l.height),e.h("div",{class:"qxs-table-wrapper",style:r},[e.h("table",{class:t},[p(),d.value.length?e.h("tbody",{class:"qxs-table__body"},d.value.map((t,r)=>{const a=["qxs-table__row",{"qxs-table__row--striped":l.stripe&&r%2==1}];return e.h("tr",{class:a,key:i(t,r)},o.value.map(l=>{const a=["qxs-table__cell",`qxs-table__cell--${l.align||"left"}`],s={};l.width&&(s.width="number"==typeof l.width?`${l.width}px`:l.width),l.minWidth&&(s.minWidth="number"==typeof l.minWidth?`${l.minWidth}px`:l.minWidth);const o=l.renderCell?l.renderCell(t,r):"--";return e.h("td",{class:a,style:s},[e.h("div",{class:"qxs-table__cell-content"},[o])])}))})):e.h("tbody",{class:"qxs-table__body"},[e.h("tr",{class:"qxs-table__empty-row"},[e.h("td",{class:"qxs-table__empty-cell",colspan:o.value.length},[e.h("div",{class:"qxs-table__empty-text"},[s.empty?s.empty():l.emptyText])])])])])])}}});exports.QxsTable=a,exports.QxsTableColumn=l,exports.default=a;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/src/ui/table/index.ts"],"sourcesContent":["import { computed, defineComponent, h, inject, provide, reactive, ref, type PropType, type Ref, type VNode } from 'vue'\n\n// Types\nexport type TableColumnAlign = 'left' | 'center' | 'right'\nexport type TableColumnFixed = 'left' | 'right' | boolean\n\nexport interface TableColumnConfig {\n prop?: string\n label?: string\n width?: string | number\n minWidth?: string | number\n align?: TableColumnAlign\n sortable?: boolean\n fixed?: TableColumnFixed\n renderHeader?: () => VNode | string\n renderCell?: (row: any, index: number) => VNode | string\n}\n\ninterface SortState {\n prop: string | null\n order: 'ascending' | 'descending' | null\n}\n\n// Provide/Inject keys\nconst TABLE_COLUMNS_KEY = Symbol('tableColumns')\nconst TABLE_REGISTER_COLUMN_KEY = Symbol('tableRegisterColumn')\n\n// QxsTableColumn Component\nexport const QxsTableColumn = defineComponent({\n name: 'QxsTableColumn',\n props: {\n prop: { type: String, default: '' },\n label: { type: String, default: '' },\n width: { type: [String, Number], default: '' },\n minWidth: { type: [String, Number], default: '' },\n align: { type: String as PropType<TableColumnAlign>, default: 'left' },\n sortable: { type: Boolean, default: false },\n fixed: { type: [String, Boolean] as PropType<TableColumnFixed>, default: false },\n showOverflowTooltip: { type: Boolean, default: false },\n },\n setup(props, { slots }) {\n const registerColumn = inject<(config: TableColumnConfig) => void>(TABLE_REGISTER_COLUMN_KEY)\n\n const columnConfig: TableColumnConfig = {\n prop: props.prop,\n label: props.label,\n width: props.width,\n minWidth: props.minWidth,\n align: props.align,\n sortable: props.sortable,\n fixed: props.fixed,\n renderHeader: () => {\n if (slots.header) {\n return h('div', {}, slots.header())\n }\n return props.label\n },\n renderCell: (row: any) => {\n if (slots.default) {\n return h('div', {}, slots.default({ row }))\n }\n return props.prop ? (row[props.prop] ?? '--') : '--'\n },\n }\n\n if (registerColumn) {\n registerColumn(columnConfig)\n }\n\n return () => null\n },\n})\n\n// QxsTable Component\nexport const QxsTable = defineComponent({\n name: 'QxsTable',\n props: {\n data: { type: Array as PropType<any[]>, default: () => [] },\n stripe: { type: Boolean, default: false },\n border: { type: Boolean, default: false },\n height: { type: [String, Number], default: '' },\n rowKey: { type: [String, Function] as PropType<string | ((row: any) => string)>, default: '' },\n emptyText: { type: String, default: '暂无数据' },\n },\n setup(props, { slots }) {\n const columns: Ref<TableColumnConfig[]> = ref([])\n const sortState = reactive<SortState>({ prop: null, order: null })\n\n // Register column\n const registerColumn = (config: TableColumnConfig) => {\n columns.value.push(config)\n }\n\n provide(TABLE_REGISTER_COLUMN_KEY, registerColumn)\n provide(TABLE_COLUMNS_KEY, columns)\n\n // Sorted data\n const sortedData = computed(() => {\n if (!sortState.prop || !sortState.order) {\n return props.data\n }\n\n const data = [...props.data]\n const { prop, order } = sortState\n\n return data.sort((a, b) => {\n const aVal = a[prop]\n const bVal = b[prop]\n\n if (aVal === bVal) return 0\n\n const result = aVal > bVal ? 1 : -1\n return order === 'ascending' ? result : -result\n })\n })\n\n // Handle sort\n const handleSort = (column: TableColumnConfig) => {\n if (!column.sortable || !column.prop) return\n\n if (sortState.prop === column.prop) {\n if (sortState.order === 'ascending') {\n sortState.order = 'descending'\n }\n else if (sortState.order === 'descending') {\n sortState.prop = null\n sortState.order = null\n }\n else {\n sortState.order = 'ascending'\n }\n }\n else {\n sortState.prop = column.prop\n sortState.order = 'ascending'\n }\n }\n\n // Get row key\n const getRowKey = (row: any, index: number): string => {\n if (typeof props.rowKey === 'function') {\n return props.rowKey(row)\n }\n if (typeof props.rowKey === 'string' && props.rowKey) {\n return row[props.rowKey]\n }\n return String(index)\n }\n\n // Render table header\n const renderHeader = () => {\n return h('thead', { class: 'qxs-table__header' }, [\n h('tr', {}, columns.value.map((column) => {\n const thClass = [\n 'qxs-table__cell',\n `qxs-table__cell--${column.align || 'left'}`,\n {\n 'qxs-table__cell--sortable': column.sortable,\n 'is-sorting': sortState.prop === column.prop,\n },\n ]\n\n const thStyle: Record<string, string> = {}\n if (column.width) {\n thStyle.width = typeof column.width === 'number' ? `${column.width}px` : column.width\n }\n if (column.minWidth) {\n thStyle.minWidth = typeof column.minWidth === 'number' ? `${column.minWidth}px` : column.minWidth\n }\n\n const headerContent = column.renderHeader ? column.renderHeader() : column.label\n\n const sortIcon = column.sortable\n ? h('span', { class: 'qxs-table__sort-icon' }, [\n h('i', {\n class: [\n 'qxs-table__sort-caret',\n 'ascending',\n { 'is-active': sortState.prop === column.prop && sortState.order === 'ascending' },\n ],\n }),\n h('i', {\n class: [\n 'qxs-table__sort-caret',\n 'descending',\n { 'is-active': sortState.prop === column.prop && sortState.order === 'descending' },\n ],\n }),\n ])\n : null\n\n return h('th', {\n class: thClass,\n style: thStyle,\n onClick: () => handleSort(column),\n }, [\n h('div', { class: 'qxs-table__cell-content' }, [\n headerContent,\n sortIcon,\n ]),\n ])\n })),\n ])\n }\n\n // Render table body\n const renderBody = () => {\n if (!sortedData.value.length) {\n return h('tbody', { class: 'qxs-table__body' }, [\n h('tr', { class: 'qxs-table__empty-row' }, [\n h('td', {\n class: 'qxs-table__empty-cell',\n colspan: columns.value.length,\n }, [\n h('div', { class: 'qxs-table__empty-text' }, [\n slots.empty ? slots.empty() : props.emptyText,\n ]),\n ]),\n ]),\n ])\n }\n\n return h('tbody', { class: 'qxs-table__body' }, sortedData.value.map((row, rowIndex) => {\n const rowClass = [\n 'qxs-table__row',\n {\n 'qxs-table__row--striped': props.stripe && rowIndex % 2 === 1,\n },\n ]\n\n return h('tr', {\n class: rowClass,\n key: getRowKey(row, rowIndex),\n }, columns.value.map((column) => {\n const tdClass = [\n 'qxs-table__cell',\n `qxs-table__cell--${column.align || 'left'}`,\n ]\n\n const tdStyle: Record<string, string> = {}\n if (column.width) {\n tdStyle.width = typeof column.width === 'number' ? `${column.width}px` : column.width\n }\n if (column.minWidth) {\n tdStyle.minWidth = typeof column.minWidth === 'number' ? `${column.minWidth}px` : column.minWidth\n }\n\n const cellContent = column.renderCell ? column.renderCell(row, rowIndex) : '--'\n\n return h('td', {\n class: tdClass,\n style: tdStyle,\n }, [\n h('div', { class: 'qxs-table__cell-content' }, [cellContent]),\n ])\n }))\n }))\n }\n\n return () => {\n // Render default slot to collect columns\n if (slots.default) {\n slots.default()\n }\n\n const tableClass = [\n 'qxs-table',\n {\n 'qxs-table--striped': props.stripe,\n 'qxs-table--border': props.border,\n },\n ]\n\n const tableStyle: Record<string, string> = {}\n if (props.height) {\n tableStyle.height = typeof props.height === 'number' ? `${props.height}px` : props.height\n }\n\n return h('div', {\n class: 'qxs-table-wrapper',\n style: tableStyle,\n }, [\n h('table', { class: tableClass }, [\n renderHeader(),\n renderBody(),\n ]),\n ])\n }\n },\n})\n\nexport default QxsTable\n"],"names":["TABLE_COLUMNS_KEY","Symbol","TABLE_REGISTER_COLUMN_KEY","QxsTableColumn","defineComponent","name","props","prop","type","String","default","label","width","Number","minWidth","align","sortable","Boolean","fixed","showOverflowTooltip","setup","_ref","slots","registerColumn","inject","columnConfig","renderHeader","header","h","renderCell","row","QxsTable","data","Array","stripe","border","height","rowKey","Function","emptyText","_ref2","columns","ref","sortState","reactive","order","provide","config","value","push","sortedData","computed","sort","a","b","aVal","bVal","result","getRowKey","index","class","map","column","thClass","thStyle","headerContent","sortIcon","style","onClick","handleSort","tableClass","tableStyle","length","rowIndex","rowClass","key","tdClass","tdStyle","cellContent","colspan","empty"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue");const o=e.defineComponent({name:"QxsTag",props:{type:{type:String,default:"primary"},size:{type:String,default:"default"},effect:{type:String,default:"light"},closable:{type:Boolean,default:!1},round:{type:Boolean,default:!1},color:{type:String,default:""}},emits:["close","click"],setup(o,l){let{slots:r,emit:t}=l;const s=e=>{e.stopPropagation(),t("close",e)},a=e=>{t("click",e)};return()=>e.h("span",{class:["qxs-tag",`qxs-tag--${o.type}`,`qxs-tag--${o.size}`,`qxs-tag--${o.effect}`,{"is-round":o.round,"is-closable":o.closable}],style:{display:"inline-flex",alignItems:"center",padding:"large"===o.size?"8px 16px":"small"===o.size?"2px 8px":"4px 12px",fontSize:"large"===o.size?"14px":"small"===o.size?"12px":"13px",borderRadius:o.round?"9999px":"4px",border:"1px solid",lineHeight:"1",whiteSpace:"nowrap",...o.color?"dark"===o.effect?{backgroundColor:o.color,borderColor:o.color,color:"#fff"}:"light"===o.effect?{backgroundColor:`${o.color}1a`,borderColor:`${o.color}4d`,color:o.color}:{backgroundColor:"transparent",borderColor:o.color,color:o.color}:{}},onClick:a},[r.default?.(),o.closable&&e.h("span",{class:"qxs-tag__close",onClick:s,style:{marginLeft:"6px",cursor:"pointer",fontSize:"12px",fontWeight:"bold"}},"×")])}});exports.QxsTag=o,exports.default=o;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/src/ui/tag/index.ts"],"sourcesContent":["import { defineComponent, h, type PropType } from 'vue'\n\nexport type TagType = 'primary' | 'success' | 'warning' | 'danger' | 'info'\nexport type TagSize = 'large' | 'default' | 'small'\nexport type TagEffect = 'dark' | 'light' | 'plain'\n\nexport const QxsTag = defineComponent({\n name: 'QxsTag',\n props: {\n type: { type: String as PropType<TagType>, default: 'primary' },\n size: { type: String as PropType<TagSize>, default: 'default' },\n effect: { type: String as PropType<TagEffect>, default: 'light' },\n closable: { type: Boolean, default: false },\n round: { type: Boolean, default: false },\n color: { type: String, default: '' },\n },\n emits: ['close', 'click'],\n setup(props, { slots, emit }) {\n const handleClose = (e: MouseEvent) => {\n e.stopPropagation()\n emit('close', e)\n }\n\n const handleClick = (e: MouseEvent) => {\n emit('click', e)\n }\n\n const getColorStyles = () => {\n if (!props.color) return {}\n \n if (props.effect === 'dark') {\n return {\n backgroundColor: props.color,\n borderColor: props.color,\n color: '#fff',\n }\n } else if (props.effect === 'light') {\n return {\n backgroundColor: `${props.color}1a`,\n borderColor: `${props.color}4d`,\n color: props.color,\n }\n } else {\n return {\n backgroundColor: 'transparent',\n borderColor: props.color,\n color: props.color,\n }\n }\n }\n\n return () => h('span', {\n class: [\n 'qxs-tag',\n `qxs-tag--${props.type}`,\n `qxs-tag--${props.size}`,\n `qxs-tag--${props.effect}`,\n {\n 'is-round': props.round,\n 'is-closable': props.closable,\n },\n ],\n style: {\n display: 'inline-flex',\n alignItems: 'center',\n padding: props.size === 'large' ? '8px 16px' : props.size === 'small' ? '2px 8px' : '4px 12px',\n fontSize: props.size === 'large' ? '14px' : props.size === 'small' ? '12px' : '13px',\n borderRadius: props.round ? '9999px' : '4px',\n border: '1px solid',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n ...getColorStyles(),\n },\n onClick: handleClick,\n }, [\n slots.default?.(),\n props.closable && h('span', {\n class: 'qxs-tag__close',\n onClick: handleClose,\n style: {\n marginLeft: '6px',\n cursor: 'pointer',\n fontSize: '12px',\n fontWeight: 'bold',\n },\n }, '×'),\n ])\n },\n})\n\nexport default QxsTag\n"],"names":["QxsTag","defineComponent","name","props","type","String","default","size","effect","closable","Boolean","round","color","emits","setup","_ref","slots","emit","handleClose","e","stopPropagation","handleClick","h","class","style","display","alignItems","padding","fontSize","borderRadius","border","lineHeight","whiteSpace","backgroundColor","borderColor","onClick","marginLeft","cursor","fontWeight"],"mappings":"yFAMO,MAAMA,EAASC,EAAAA,gBAAgB,CACpCC,KAAM,SACNC,MAAO,CACLC,KAAM,CAAEA,KAAMC,OAA6BC,QAAS,WACpDC,KAAM,CAAEH,KAAMC,OAA6BC,QAAS,WACpDE,OAAQ,CAAEJ,KAAMC,OAA+BC,QAAS,SACxDG,SAAU,CAAEL,KAAMM,QAASJ,SAAS,GACpCK,MAAO,CAAEP,KAAMM,QAASJ,SAAS,GACjCM,MAAO,CAAER,KAAMC,OAAQC,QAAS,KAElCO,MAAO,CAAC,QAAS,SACjBC,KAAAA,CAAMX,EAAAY,GAAwB,IAAjBC,MAAEA,EAAAC,KAAOA,GAAKF,EACzB,MAAMG,EAAeC,IACnBA,EAAEC,kBACFH,EAAK,QAASE,IAGVE,EAAeF,IACnBF,EAAK,QAASE,IA2BhB,MAAO,IAAMG,EAAAA,EAAE,OAAQ,CACrBC,MAAO,CACL,UACA,YAAYpB,EAAMC,OAClB,YAAYD,EAAMI,OAClB,YAAYJ,EAAMK,SAClB,CACE,WAAYL,EAAMQ,MAClB,cAAeR,EAAMM,WAGzBe,MAAO,CACLC,QAAS,cACTC,WAAY,SACZC,QAAwB,UAAfxB,EAAMI,KAAmB,WAA4B,UAAfJ,EAAMI,KAAmB,UAAY,WACpFqB,SAAyB,UAAfzB,EAAMI,KAAmB,OAAwB,UAAfJ,EAAMI,KAAmB,OAAS,OAC9EsB,aAAc1B,EAAMQ,MAAQ,SAAW,MACvCmB,OAAQ,YACRC,WAAY,IACZC,WAAY,YA1CT7B,EAAMS,MAEU,SAAjBT,EAAMK,OACD,CACLyB,gBAAiB9B,EAAMS,MACvBsB,YAAa/B,EAAMS,MACnBA,MAAO,QAEiB,UAAjBT,EAAMK,OACR,CACLyB,gBAAiB,GAAG9B,EAAMS,UAC1BsB,YAAa,GAAG/B,EAAMS,UACtBA,MAAOT,EAAMS,OAGR,CACLqB,gBAAiB,cACjBC,YAAa/B,EAAMS,MACnBA,MAAOT,EAAMS,OAlBQ,CAAA,GA6CzBuB,QAASd,GACR,CACDL,EAAMV,YACNH,EAAMM,UAAYa,EAAAA,EAAE,OAAQ,CAC1BC,MAAO,iBACPY,QAASjB,EACTM,MAAO,CACLY,WAAY,MACZC,OAAQ,UACRT,SAAU,OACVU,WAAY,SAEb,MAEP"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qxs-bns/components",
3
3
  "type": "module",
4
- "version": "0.0.89",
4
+ "version": "0.0.90",
5
5
  "description": "Vue 3 Component Library",
6
6
  "license": "MIT",
7
7
  "homepage": "https://qxs-bns.pages.dev/guide/components/overview.html",
@@ -28,29 +28,20 @@
28
28
  "types"
29
29
  ],
30
30
  "peerDependencies": {
31
- "@element-plus/icons-vue": "^2.3.1",
32
- "element-plus": "^2.9.4",
33
31
  "vue": "^3.5.12"
34
32
  },
35
- "peerDependenciesMeta": {
36
- "@element-plus/icons-vue": {
37
- "optional": true
38
- },
39
- "element-plus": {
40
- "optional": true
41
- }
42
- },
43
33
  "dependencies": {
44
34
  "@amap/amap-jsapi-loader": "^1.0.1",
45
35
  "@iconify/vue": "^5.0.0",
46
36
  "@qxs-bns/directives": "0.0.19",
47
37
  "@qxs-bns/hooks": "0.0.7",
48
38
  "@qxs-bns/icons": "0.0.10",
49
- "@qxs-bns/utils": "0.0.34",
39
+ "@qxs-bns/utils": "0.0.44",
50
40
  "@vueuse/core": "^11.3.0",
51
41
  "echarts": "^5.5.1",
52
42
  "lodash-es": "^4.17.21",
53
43
  "nanoid": "^5.1.5",
44
+ "sonner": "^1.7.4",
54
45
  "tinymce": "^7.6.1"
55
46
  },
56
47
  "types": "./types/index.d.ts",