@qingmingmu/components 0.1.0-beta.0

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 (505) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -0
  3. package/es/components/app-layout/index.cjs +14 -0
  4. package/es/components/app-layout/index.d.cts +10 -0
  5. package/es/components/app-layout/index.d.mts +8 -0
  6. package/es/components/app-layout/index.d.ts +10 -0
  7. package/es/components/app-layout/index.mjs +8 -0
  8. package/es/components/app-layout/style/index.js +4 -0
  9. package/es/components/app-layout/style.css +36 -0
  10. package/es/components/badge/index.cjs +13 -0
  11. package/es/components/badge/index.d.cts +10 -0
  12. package/es/components/badge/index.d.mts +8 -0
  13. package/es/components/badge/index.d.ts +10 -0
  14. package/es/components/badge/index.mjs +8 -0
  15. package/es/components/badge/style/index.js +2 -0
  16. package/es/components/badge/style.css +36 -0
  17. package/es/components/breadcrumb/index.cjs +16 -0
  18. package/es/components/breadcrumb/index.d.cts +10 -0
  19. package/es/components/breadcrumb/index.d.mts +8 -0
  20. package/es/components/breadcrumb/index.d.ts +10 -0
  21. package/es/components/breadcrumb/index.mjs +8 -0
  22. package/es/components/breadcrumb/style/index.js +4 -0
  23. package/es/components/breadcrumb/style.css +43 -0
  24. package/es/components/button/index.cjs +14 -0
  25. package/es/components/button/index.d.cts +10 -0
  26. package/es/components/button/index.d.mts +10 -0
  27. package/es/components/button/index.d.ts +10 -0
  28. package/es/components/button/index.mjs +10 -0
  29. package/es/components/button/style/index.js +4 -0
  30. package/es/components/button/style.css +185 -0
  31. package/es/components/checkbox/index.cjs +18 -0
  32. package/es/components/checkbox/index.d.cts +8 -0
  33. package/es/components/checkbox/index.d.mts +8 -0
  34. package/es/components/checkbox/index.d.ts +8 -0
  35. package/es/components/checkbox/index.mjs +8 -0
  36. package/es/components/checkbox/style/index.js +4 -0
  37. package/es/components/checkbox/style.css +538 -0
  38. package/es/components/date-picker/index.cjs +22 -0
  39. package/es/components/date-picker/index.d.cts +13 -0
  40. package/es/components/date-picker/index.d.mts +11 -0
  41. package/es/components/date-picker/index.d.ts +13 -0
  42. package/es/components/date-picker/index.mjs +11 -0
  43. package/es/components/date-picker/style/index.js +4 -0
  44. package/es/components/date-picker/style.css +221 -0
  45. package/es/components/dialog/index.cjs +278 -0
  46. package/es/components/dialog/index.d.cts +133 -0
  47. package/es/components/dialog/index.d.mts +131 -0
  48. package/es/components/dialog/index.d.ts +133 -0
  49. package/es/components/dialog/index.mjs +269 -0
  50. package/es/components/dialog/style/index.js +4 -0
  51. package/es/components/dialog/style.css +157 -0
  52. package/es/components/divider/index.cjs +13 -0
  53. package/es/components/divider/index.d.cts +10 -0
  54. package/es/components/divider/index.d.mts +8 -0
  55. package/es/components/divider/index.d.ts +10 -0
  56. package/es/components/divider/index.mjs +8 -0
  57. package/es/components/divider/style/index.js +2 -0
  58. package/es/components/divider/style.css +49 -0
  59. package/es/components/drawer/index.cjs +18 -0
  60. package/es/components/drawer/index.d.cts +13 -0
  61. package/es/components/drawer/index.d.mts +11 -0
  62. package/es/components/drawer/index.d.ts +13 -0
  63. package/es/components/drawer/index.mjs +11 -0
  64. package/es/components/drawer/style/index.js +4 -0
  65. package/es/components/drawer/style.css +126 -0
  66. package/es/components/dropdown/index.cjs +19 -0
  67. package/es/components/dropdown/index.d.cts +11 -0
  68. package/es/components/dropdown/index.d.mts +9 -0
  69. package/es/components/dropdown/index.d.ts +11 -0
  70. package/es/components/dropdown/index.mjs +9 -0
  71. package/es/components/dropdown/style/index.js +4 -0
  72. package/es/components/dropdown/style.css +50 -0
  73. package/es/components/empty/index.cjs +15 -0
  74. package/es/components/empty/index.d.cts +12 -0
  75. package/es/components/empty/index.d.mts +10 -0
  76. package/es/components/empty/index.d.ts +12 -0
  77. package/es/components/empty/index.mjs +10 -0
  78. package/es/components/empty/style/index.js +4 -0
  79. package/es/components/empty/style.css +30 -0
  80. package/es/components/form/index.cjs +22 -0
  81. package/es/components/form/index.d.cts +10 -0
  82. package/es/components/form/index.d.mts +8 -0
  83. package/es/components/form/index.d.ts +10 -0
  84. package/es/components/form/index.mjs +8 -0
  85. package/es/components/form/style/index.js +4 -0
  86. package/es/components/form/style.css +70 -0
  87. package/es/components/grid/index.cjs +20 -0
  88. package/es/components/grid/index.d.cts +10 -0
  89. package/es/components/grid/index.d.mts +8 -0
  90. package/es/components/grid/index.d.ts +10 -0
  91. package/es/components/grid/index.mjs +8 -0
  92. package/es/components/grid/style/index.js +2 -0
  93. package/es/components/grid/style.css +45 -0
  94. package/es/components/icon/index.cjs +14 -0
  95. package/es/components/icon/index.d.cts +11 -0
  96. package/es/components/icon/index.d.mts +9 -0
  97. package/es/components/icon/index.d.ts +11 -0
  98. package/es/components/icon/index.mjs +9 -0
  99. package/es/components/icon/style/index.js +2 -0
  100. package/es/components/icon/style.css +437 -0
  101. package/es/components/input/index.cjs +18 -0
  102. package/es/components/input/index.d.cts +12 -0
  103. package/es/components/input/index.d.mts +10 -0
  104. package/es/components/input/index.d.ts +12 -0
  105. package/es/components/input/index.mjs +10 -0
  106. package/es/components/input/style/index.js +4 -0
  107. package/es/components/input/style.css +108 -0
  108. package/es/components/layout/index.cjs +13 -0
  109. package/es/components/layout/index.d.cts +10 -0
  110. package/es/components/layout/index.d.mts +8 -0
  111. package/es/components/layout/index.d.ts +10 -0
  112. package/es/components/layout/index.mjs +8 -0
  113. package/es/components/layout/style/index.js +2 -0
  114. package/es/components/layout/style.css +54 -0
  115. package/es/components/link/index.cjs +13 -0
  116. package/es/components/link/index.d.cts +10 -0
  117. package/es/components/link/index.d.mts +8 -0
  118. package/es/components/link/index.d.ts +10 -0
  119. package/es/components/link/index.mjs +8 -0
  120. package/es/components/link/style/index.js +2 -0
  121. package/es/components/link/style.css +39 -0
  122. package/es/components/list/index.cjs +13 -0
  123. package/es/components/list/index.d.cts +10 -0
  124. package/es/components/list/index.d.mts +8 -0
  125. package/es/components/list/index.d.ts +10 -0
  126. package/es/components/list/index.mjs +8 -0
  127. package/es/components/list/style/index.js +4 -0
  128. package/es/components/list/style.css +33 -0
  129. package/es/components/menu/index.cjs +18 -0
  130. package/es/components/menu/index.d.cts +12 -0
  131. package/es/components/menu/index.d.mts +10 -0
  132. package/es/components/menu/index.d.ts +12 -0
  133. package/es/components/menu/index.mjs +10 -0
  134. package/es/components/menu/style/index.js +4 -0
  135. package/es/components/menu/style.css +148 -0
  136. package/es/components/message/index.cjs +236 -0
  137. package/es/components/message/index.d.cts +92 -0
  138. package/es/components/message/index.d.mts +92 -0
  139. package/es/components/message/index.d.ts +92 -0
  140. package/es/components/message/index.mjs +232 -0
  141. package/es/components/message/style/index.js +4 -0
  142. package/es/components/message/style.css +121 -0
  143. package/es/components/notification/index.cjs +288 -0
  144. package/es/components/notification/index.d.cts +90 -0
  145. package/es/components/notification/index.d.mts +90 -0
  146. package/es/components/notification/index.d.ts +90 -0
  147. package/es/components/notification/index.mjs +284 -0
  148. package/es/components/notification/style/index.js +4 -0
  149. package/es/components/notification/style.css +191 -0
  150. package/es/components/pagination/index.cjs +16 -0
  151. package/es/components/pagination/index.d.cts +12 -0
  152. package/es/components/pagination/index.d.mts +10 -0
  153. package/es/components/pagination/index.d.ts +12 -0
  154. package/es/components/pagination/index.mjs +10 -0
  155. package/es/components/pagination/style/index.js +4 -0
  156. package/es/components/pagination/style.css +112 -0
  157. package/es/components/popover/index.cjs +17 -0
  158. package/es/components/popover/index.d.cts +11 -0
  159. package/es/components/popover/index.d.mts +9 -0
  160. package/es/components/popover/index.d.ts +11 -0
  161. package/es/components/popover/index.mjs +9 -0
  162. package/es/components/popover/style/index.js +4 -0
  163. package/es/components/popover/style.css +111 -0
  164. package/es/components/progress/index.cjs +15 -0
  165. package/es/components/progress/index.d.cts +10 -0
  166. package/es/components/progress/index.d.mts +8 -0
  167. package/es/components/progress/index.d.ts +10 -0
  168. package/es/components/progress/index.mjs +8 -0
  169. package/es/components/progress/style/index.js +4 -0
  170. package/es/components/progress/style.css +72 -0
  171. package/es/components/radio/index.cjs +20 -0
  172. package/es/components/radio/index.d.cts +8 -0
  173. package/es/components/radio/index.d.mts +8 -0
  174. package/es/components/radio/index.d.ts +8 -0
  175. package/es/components/radio/index.mjs +8 -0
  176. package/es/components/radio/style/index.js +4 -0
  177. package/es/components/radio/style.css +109 -0
  178. package/es/components/row/index.cjs +21 -0
  179. package/es/components/row/index.d.cts +287 -0
  180. package/es/components/row/index.d.mts +285 -0
  181. package/es/components/row/index.d.ts +287 -0
  182. package/es/components/row/index.mjs +3 -0
  183. package/es/components/row/style/index.js +2 -0
  184. package/es/components/row/style.css +2 -0
  185. package/es/components/select/index.cjs +20 -0
  186. package/es/components/select/index.d.cts +13 -0
  187. package/es/components/select/index.d.mts +11 -0
  188. package/es/components/select/index.d.ts +13 -0
  189. package/es/components/select/index.mjs +11 -0
  190. package/es/components/select/style/index.js +4 -0
  191. package/es/components/select/style.css +210 -0
  192. package/es/components/skeleton/index.cjs +13 -0
  193. package/es/components/skeleton/index.d.cts +10 -0
  194. package/es/components/skeleton/index.d.mts +8 -0
  195. package/es/components/skeleton/index.d.ts +10 -0
  196. package/es/components/skeleton/index.mjs +8 -0
  197. package/es/components/skeleton/style/index.js +4 -0
  198. package/es/components/skeleton/style.css +41 -0
  199. package/es/components/slider/index.cjs +18 -0
  200. package/es/components/slider/index.d.cts +10 -0
  201. package/es/components/slider/index.d.mts +8 -0
  202. package/es/components/slider/index.d.ts +10 -0
  203. package/es/components/slider/index.mjs +8 -0
  204. package/es/components/slider/style/index.js +4 -0
  205. package/es/components/slider/style.css +131 -0
  206. package/es/components/space/index.cjs +13 -0
  207. package/es/components/space/index.d.cts +10 -0
  208. package/es/components/space/index.d.mts +8 -0
  209. package/es/components/space/index.d.ts +10 -0
  210. package/es/components/space/index.mjs +8 -0
  211. package/es/components/space/style/index.js +2 -0
  212. package/es/components/space/style.css +38 -0
  213. package/es/components/splitter/index.cjs +15 -0
  214. package/es/components/splitter/index.d.cts +10 -0
  215. package/es/components/splitter/index.d.mts +8 -0
  216. package/es/components/splitter/index.d.ts +10 -0
  217. package/es/components/splitter/index.mjs +8 -0
  218. package/es/components/splitter/style/index.js +2 -0
  219. package/es/components/splitter/style.css +53 -0
  220. package/es/components/statistic/index.cjs +14 -0
  221. package/es/components/statistic/index.d.cts +10 -0
  222. package/es/components/statistic/index.d.mts +8 -0
  223. package/es/components/statistic/index.d.ts +10 -0
  224. package/es/components/statistic/index.mjs +8 -0
  225. package/es/components/statistic/style/index.js +4 -0
  226. package/es/components/statistic/style.css +30 -0
  227. package/es/components/steps/index.cjs +18 -0
  228. package/es/components/steps/index.d.cts +12 -0
  229. package/es/components/steps/index.d.mts +10 -0
  230. package/es/components/steps/index.d.ts +12 -0
  231. package/es/components/steps/index.mjs +10 -0
  232. package/es/components/steps/style/index.js +4 -0
  233. package/es/components/steps/style.css +123 -0
  234. package/es/components/switch/index.cjs +16 -0
  235. package/es/components/switch/index.d.cts +12 -0
  236. package/es/components/switch/index.d.mts +10 -0
  237. package/es/components/switch/index.d.ts +12 -0
  238. package/es/components/switch/index.mjs +10 -0
  239. package/es/components/switch/style/index.js +4 -0
  240. package/es/components/switch/style.css +128 -0
  241. package/es/components/table/index.cjs +15 -0
  242. package/es/components/table/index.d.cts +10 -0
  243. package/es/components/table/index.d.mts +8 -0
  244. package/es/components/table/index.d.ts +10 -0
  245. package/es/components/table/index.mjs +8 -0
  246. package/es/components/table/style/index.js +4 -0
  247. package/es/components/table/style.css +52 -0
  248. package/es/components/tabs/index.cjs +17 -0
  249. package/es/components/tabs/index.d.cts +12 -0
  250. package/es/components/tabs/index.d.mts +10 -0
  251. package/es/components/tabs/index.d.ts +12 -0
  252. package/es/components/tabs/index.mjs +10 -0
  253. package/es/components/tabs/style/index.js +4 -0
  254. package/es/components/tabs/style.css +123 -0
  255. package/es/components/tag/index.cjs +15 -0
  256. package/es/components/tag/index.d.cts +12 -0
  257. package/es/components/tag/index.d.mts +10 -0
  258. package/es/components/tag/index.d.ts +12 -0
  259. package/es/components/tag/index.mjs +10 -0
  260. package/es/components/tag/style/index.js +2 -0
  261. package/es/components/tag/style.css +160 -0
  262. package/es/components/theme-toggle/index.cjs +16 -0
  263. package/es/components/theme-toggle/index.d.cts +13 -0
  264. package/es/components/theme-toggle/index.d.mts +11 -0
  265. package/es/components/theme-toggle/index.d.ts +13 -0
  266. package/es/components/theme-toggle/index.mjs +11 -0
  267. package/es/components/theme-toggle/style/index.js +4 -0
  268. package/es/components/theme-toggle/style.css +35 -0
  269. package/es/components/title-bar/index.cjs +16 -0
  270. package/es/components/title-bar/index.d.cts +13 -0
  271. package/es/components/title-bar/index.d.mts +11 -0
  272. package/es/components/title-bar/index.d.ts +13 -0
  273. package/es/components/title-bar/index.mjs +11 -0
  274. package/es/components/title-bar/style/index.js +4 -0
  275. package/es/components/title-bar/style.css +46 -0
  276. package/es/components/tooltip/index.cjs +15 -0
  277. package/es/components/tooltip/index.d.cts +11 -0
  278. package/es/components/tooltip/index.d.mts +9 -0
  279. package/es/components/tooltip/index.d.ts +11 -0
  280. package/es/components/tooltip/index.mjs +9 -0
  281. package/es/components/tooltip/style/index.js +4 -0
  282. package/es/components/tooltip/style.css +71 -0
  283. package/es/components/tree/index.cjs +16 -0
  284. package/es/components/tree/index.d.cts +12 -0
  285. package/es/components/tree/index.d.mts +10 -0
  286. package/es/components/tree/index.d.ts +12 -0
  287. package/es/components/tree/index.mjs +10 -0
  288. package/es/components/tree/style/index.js +4 -0
  289. package/es/components/tree/style.css +62 -0
  290. package/es/components/window-controls/index.cjs +15 -0
  291. package/es/components/window-controls/index.d.cts +12 -0
  292. package/es/components/window-controls/index.d.mts +10 -0
  293. package/es/components/window-controls/index.d.ts +12 -0
  294. package/es/components/window-controls/index.mjs +10 -0
  295. package/es/components/window-controls/style/index.js +4 -0
  296. package/es/components/window-controls/style.css +35 -0
  297. package/es/index.cjs +221 -0
  298. package/es/index.d.cts +47 -0
  299. package/es/index.d.mts +47 -0
  300. package/es/index.d.ts +47 -0
  301. package/es/index.mjs +49 -0
  302. package/es/package.json +3 -0
  303. package/es/shared/components.1AjWnZ2u.cjs +557 -0
  304. package/es/shared/components.1J_ThqaI.d.cts +95 -0
  305. package/es/shared/components.3dqa2hsp.d.mts +132 -0
  306. package/es/shared/components.4UjasbrA.d.cts +51 -0
  307. package/es/shared/components.4UjasbrA.d.mts +51 -0
  308. package/es/shared/components.4UjasbrA.d.ts +51 -0
  309. package/es/shared/components.4lt7h-GW.d.ts +86 -0
  310. package/es/shared/components.54wxKDZE.mjs +156 -0
  311. package/es/shared/components.6EXCNxk1.cjs +160 -0
  312. package/es/shared/components.7VJcWbB3.mjs +61 -0
  313. package/es/shared/components.7wOMpfjy.d.mts +166 -0
  314. package/es/shared/components.B-epy07L.d.mts +586 -0
  315. package/es/shared/components.B0eSL1OS.d.cts +73 -0
  316. package/es/shared/components.B1zwpYHQ.d.cts +439 -0
  317. package/es/shared/components.B2Ry54jj.d.ts +272 -0
  318. package/es/shared/components.B4MHkqZP.d.ts +329 -0
  319. package/es/shared/components.B4xRhtj-.mjs +60 -0
  320. package/es/shared/components.B5WOm7ey.mjs +126 -0
  321. package/es/shared/components.B7BmMQPX.d.mts +97 -0
  322. package/es/shared/components.B7T7B9Ys.d.mts +73 -0
  323. package/es/shared/components.B8lNpbQ9.cjs +134 -0
  324. package/es/shared/components.BChm7h4j.d.ts +75 -0
  325. package/es/shared/components.BDSFrwdm.d.cts +166 -0
  326. package/es/shared/components.BEYwGpEo.d.ts +586 -0
  327. package/es/shared/components.BF2nXG8Y.cjs +64 -0
  328. package/es/shared/components.BG88vlnG.d.ts +159 -0
  329. package/es/shared/components.BGcESMXM.d.cts +192 -0
  330. package/es/shared/components.BGw_jYqb.d.cts +67 -0
  331. package/es/shared/components.BHiG-Upg.d.mts +359 -0
  332. package/es/shared/components.BIm7FYRN.d.ts +99 -0
  333. package/es/shared/components.BJSrGDgZ.d.mts +328 -0
  334. package/es/shared/components.BJz4u6YX.d.ts +359 -0
  335. package/es/shared/components.BL34tX_n.mjs +338 -0
  336. package/es/shared/components.BMUce5Uz.cjs +226 -0
  337. package/es/shared/components.BNXBaiBD.d.mts +269 -0
  338. package/es/shared/components.BPdCwk8C.d.ts +272 -0
  339. package/es/shared/components.BPsETG85.mjs +287 -0
  340. package/es/shared/components.BQFq0PXl.d.ts +298 -0
  341. package/es/shared/components.BR0HfmAS.d.mts +97 -0
  342. package/es/shared/components.BRHYPvpL.mjs +76 -0
  343. package/es/shared/components.BRK5jSxk.d.mts +192 -0
  344. package/es/shared/components.BUx4k59U.cjs +332 -0
  345. package/es/shared/components.BW1vukk6.mjs +135 -0
  346. package/es/shared/components.BWaRX3BY.d.ts +70 -0
  347. package/es/shared/components.BWrJKYmt.d.ts +338 -0
  348. package/es/shared/components.BZZxSpn4.d.mts +338 -0
  349. package/es/shared/components.BZeq4M6i.cjs +83 -0
  350. package/es/shared/components.B_aXqCE8.d.cts +34 -0
  351. package/es/shared/components.B_aXqCE8.d.mts +34 -0
  352. package/es/shared/components.B_aXqCE8.d.ts +34 -0
  353. package/es/shared/components.BaUizHWz.mjs +270 -0
  354. package/es/shared/components.Bar0M_1T.d.ts +132 -0
  355. package/es/shared/components.BcnhVfkA.d.cts +208 -0
  356. package/es/shared/components.Be0We_QJ.mjs +79 -0
  357. package/es/shared/components.BhK__sZJ.d.ts +67 -0
  358. package/es/shared/components.Bjw8eqP-.d.mts +327 -0
  359. package/es/shared/components.BkakIO1C.cjs +70 -0
  360. package/es/shared/components.BldJxPSz.cjs +80 -0
  361. package/es/shared/components.Bm5Cu9W3.mjs +358 -0
  362. package/es/shared/components.BmII0Zi4.d.cts +109 -0
  363. package/es/shared/components.Bn206h5z.d.cts +329 -0
  364. package/es/shared/components.Bo3WVnTy.d.ts +223 -0
  365. package/es/shared/components.BrbmPZbT.mjs +297 -0
  366. package/es/shared/components.BwmjBLGS.d.mts +126 -0
  367. package/es/shared/components.BxBfOAnD.d.cts +359 -0
  368. package/es/shared/components.BxOtwzkp.cjs +349 -0
  369. package/es/shared/components.By4TdR07.d.ts +327 -0
  370. package/es/shared/components.BzO68qwA.d.mts +95 -0
  371. package/es/shared/components.BzcvYRS3.d.mts +109 -0
  372. package/es/shared/components.BzhHVs0e.d.cts +338 -0
  373. package/es/shared/components.C183F57T.mjs +128 -0
  374. package/es/shared/components.C1PQgace.mjs +96 -0
  375. package/es/shared/components.C2qFTFYw.cjs +322 -0
  376. package/es/shared/components.C6sLxXPo.d.ts +96 -0
  377. package/es/shared/components.C8Nxn3Ut.d.mts +272 -0
  378. package/es/shared/components.C9TEQ_29.cjs +385 -0
  379. package/es/shared/components.C9WJVmII.mjs +71 -0
  380. package/es/shared/components.CAVYcOKF.cjs +132 -0
  381. package/es/shared/components.CBELcqkf.cjs +182 -0
  382. package/es/shared/components.CDS8XKPo.d.ts +257 -0
  383. package/es/shared/components.CDifg15S.cjs +292 -0
  384. package/es/shared/components.CF8Mj5bD.cjs +370 -0
  385. package/es/shared/components.CF_GZPuV.cjs +64 -0
  386. package/es/shared/components.CFfTemQ4.cjs +74 -0
  387. package/es/shared/components.CIjY6ZtZ.d.ts +499 -0
  388. package/es/shared/components.CJqqdhuY.d.cts +86 -0
  389. package/es/shared/components.CKbZKaMO.mjs +221 -0
  390. package/es/shared/components.CLBPin--.cjs +306 -0
  391. package/es/shared/components.CMtYH41Z.mjs +326 -0
  392. package/es/shared/components.CPjbxzIv.mjs +381 -0
  393. package/es/shared/components.CRZMSxSQ.mjs +77 -0
  394. package/es/shared/components.CRtd1JMp.cjs +86 -0
  395. package/es/shared/components.CTP-w8Dp.d.mts +85 -0
  396. package/es/shared/components.CUxPJ0rN.cjs +177 -0
  397. package/es/shared/components.CYrhfnMH.d.mts +439 -0
  398. package/es/shared/components.CZspoBJZ.mjs +314 -0
  399. package/es/shared/components.CaILt5c4.d.mts +288 -0
  400. package/es/shared/components.CerI7DmE.d.ts +192 -0
  401. package/es/shared/components.Cg0qdMDr.d.mts +272 -0
  402. package/es/shared/components.CgZUcq5d.d.mts +70 -0
  403. package/es/shared/components.ChFQqcD8.d.cts +99 -0
  404. package/es/shared/components.ChHlRGOd.d.mts +257 -0
  405. package/es/shared/components.ChaKATXZ.d.cts +132 -0
  406. package/es/shared/components.CjJ96MaL.d.cts +586 -0
  407. package/es/shared/components.CkYdyZh6.d.ts +97 -0
  408. package/es/shared/components.Cl7hvWLa.d.ts +208 -0
  409. package/es/shared/components.ClxGCZuy.cjs +67 -0
  410. package/es/shared/components.CmUTe-Bu.d.cts +314 -0
  411. package/es/shared/components.Cp1Zsk-X.mjs +231 -0
  412. package/es/shared/components.CpHuJl8N.cjs +109 -0
  413. package/es/shared/components.CqRoc5Cb.d.mts +298 -0
  414. package/es/shared/components.Ct1bqR7L.d.cts +82 -0
  415. package/es/shared/components.CtUfYC-G.cjs +256 -0
  416. package/es/shared/components.CtZrM_rh.mjs +58 -0
  417. package/es/shared/components.CwRwwkrw.mjs +397 -0
  418. package/es/shared/components.CxFKLC0I.mjs +68 -0
  419. package/es/shared/components.CxIEbUM8.d.cts +319 -0
  420. package/es/shared/components.CxuO1-ev.d.cts +272 -0
  421. package/es/shared/components.CyCDH-Vb.mjs +281 -0
  422. package/es/shared/components.D02eI26A.d.cts +257 -0
  423. package/es/shared/components.D0MDcB1D.cjs +276 -0
  424. package/es/shared/components.D2M7cpo2.d.cts +126 -0
  425. package/es/shared/components.D3HPYZ31.d.mts +223 -0
  426. package/es/shared/components.D3on6_fI.mjs +83 -0
  427. package/es/shared/components.D48GdgdJ.d.mts +208 -0
  428. package/es/shared/components.D4C1x9UP.cjs +318 -0
  429. package/es/shared/components.D4HPwnpE.mjs +363 -0
  430. package/es/shared/components.D4Yu07Ov.mjs +251 -0
  431. package/es/shared/components.D5-DJd7f.d.cts +328 -0
  432. package/es/shared/components.D7KK6ZxT.d.mts +67 -0
  433. package/es/shared/components.D8Ht88FR.mjs +100 -0
  434. package/es/shared/components.DB4_ULYr.cjs +405 -0
  435. package/es/shared/components.DCH8muDL.d.cts +75 -0
  436. package/es/shared/components.DCuPins-.d.mts +96 -0
  437. package/es/shared/components.DD-6M8N-.d.ts +314 -0
  438. package/es/shared/components.DDslVxoU.d.mts +86 -0
  439. package/es/shared/components.DEs15eJe.cjs +687 -0
  440. package/es/shared/components.DEwy484E.mjs +67 -0
  441. package/es/shared/components.DFar9ZQj.cjs +285 -0
  442. package/es/shared/components.DG3K9DCE.d.ts +439 -0
  443. package/es/shared/components.DG96RpCG.d.cts +288 -0
  444. package/es/shared/components.DHIKrYhN.d.ts +95 -0
  445. package/es/shared/components.DHeLTopf.d.mts +143 -0
  446. package/es/shared/components.DJ0m5kYN.mjs +548 -0
  447. package/es/shared/components.DJlTQabT.cjs +103 -0
  448. package/es/shared/components.DKtogC94.mjs +212 -0
  449. package/es/shared/components.DLVoUYPv.d.ts +328 -0
  450. package/es/shared/components.DLjhu3mO.cjs +53 -0
  451. package/es/shared/components.DNZ8j6Sz.d.cts +269 -0
  452. package/es/shared/components.DOWndnHb.d.ts +82 -0
  453. package/es/shared/components.DPGfB1k8.d.cts +223 -0
  454. package/es/shared/components.DScCDEoT.d.cts +97 -0
  455. package/es/shared/components.DUidQ77e.cjs +11 -0
  456. package/es/shared/components.Danqf6j7.d.cts +272 -0
  457. package/es/shared/components.DclwYyRy.mjs +50 -0
  458. package/es/shared/components.DdczIXhc.d.mts +82 -0
  459. package/es/shared/components.De49eXQJ.d.cts +97 -0
  460. package/es/shared/components.Dfe4D-8g.d.mts +99 -0
  461. package/es/shared/components.DiS0nfa_.d.mts +314 -0
  462. package/es/shared/components.DlTJ-jbM.cjs +235 -0
  463. package/es/shared/components.DnCclrOD.d.cts +70 -0
  464. package/es/shared/components.DnW9eqJM.cjs +79 -0
  465. package/es/shared/components.DoInWOkI.d.cts +85 -0
  466. package/es/shared/components.DpN4r8M6.d.ts +85 -0
  467. package/es/shared/components.DqdBSuxX.mjs +175 -0
  468. package/es/shared/components.DtZ1M9RX.d.mts +159 -0
  469. package/es/shared/components.DuT8IQV_.cjs +71 -0
  470. package/es/shared/components.Dy6mSGFp.d.ts +97 -0
  471. package/es/shared/components.Dy9SYm12.d.ts +73 -0
  472. package/es/shared/components.Dz2FXew2.cjs +371 -0
  473. package/es/shared/components.FNPonG8w.d.ts +269 -0
  474. package/es/shared/components.FkGOusVh.d.cts +143 -0
  475. package/es/shared/components.Mnb2AHkq.d.cts +298 -0
  476. package/es/shared/components.NdJ3_JnU.d.cts +499 -0
  477. package/es/shared/components.OJRSZE6i.d.cts +9 -0
  478. package/es/shared/components.OJRSZE6i.d.mts +9 -0
  479. package/es/shared/components.OJRSZE6i.d.ts +9 -0
  480. package/es/shared/components.P8ob4csG.d.mts +499 -0
  481. package/es/shared/components.PG8w8Qmv.mjs +64 -0
  482. package/es/shared/components.SHnZTfnN.d.ts +143 -0
  483. package/es/shared/components.VbnCY-yZ.cjs +58 -0
  484. package/es/shared/components.Xb8fQVYs.d.ts +109 -0
  485. package/es/shared/components.aCfs5Zx4.mjs +106 -0
  486. package/es/shared/components.aEHtkYll.mjs +176 -0
  487. package/es/shared/components.b0j47s07.d.ts +288 -0
  488. package/es/shared/components.b5GjJzDh.d.cts +96 -0
  489. package/es/shared/components.dIJZSGar.d.mts +329 -0
  490. package/es/shared/components.dk3Zmpq5.cjs +61 -0
  491. package/es/shared/components.e6NGwmyk.mjs +680 -0
  492. package/es/shared/components.l2LF8U7V.mjs +55 -0
  493. package/es/shared/components.ls2ruUoQ.cjs +140 -0
  494. package/es/shared/components.pAb-8zT2.mjs +316 -0
  495. package/es/shared/components.pcqpp-6-.mjs +9 -0
  496. package/es/shared/components.qRljarsw.d.cts +159 -0
  497. package/es/shared/components.r5I_hKLX.cjs +222 -0
  498. package/es/shared/components.rFCN7LCl.d.mts +75 -0
  499. package/es/shared/components.tMYsd3jV.d.ts +126 -0
  500. package/es/shared/components.tM_tp13v.d.mts +319 -0
  501. package/es/shared/components.uyAvjCWL.d.cts +327 -0
  502. package/es/shared/components.v_RwCQEf.d.ts +166 -0
  503. package/es/shared/components.w4bSE8TV.cjs +99 -0
  504. package/es/shared/components.x9BKOa3W.d.ts +319 -0
  505. package/package.json +72 -0
@@ -0,0 +1,319 @@
1
+ import { PropType, Ref, ComputedRef, defineComponent, ref, toRef, onBeforeUnmount, computed, openBlock, createElementBlock, normalizeClass, createCommentVNode, createElementVNode, normalizeStyle, Fragment, renderList, withModifiers, toDisplayString } from 'vue';
2
+ import { _ as _export_sfc } from './components.OJRSZE6i.mjs';
3
+
4
+ /**
5
+ * QmSlider 组件类型定义(组件体系设计 §6.4:类型先行)
6
+ * 04-T9:单值 / 范围双滑块 / 步长 / 刻度标记 / 禁用 / 拖拽与键盘
7
+ */
8
+
9
+ /** 滑块值:单值 number 或范围 [low, high] */
10
+ type SliderValue = number | [number, number];
11
+ /** 刻度标记:value → label */
12
+ type SliderMarks = Record<number, string>;
13
+ /** props 声明(纯类型 + 默认值,供 SFC 与行为层复用) */
14
+ declare const sliderProps: {
15
+ /** 受控值(v-model):单值 number;range 模式为 [low, high] */
16
+ readonly modelValue: {
17
+ readonly type: PropType<SliderValue>;
18
+ readonly default: 0;
19
+ };
20
+ /** 最小值 */
21
+ readonly min: {
22
+ readonly type: NumberConstructor;
23
+ readonly default: 0;
24
+ };
25
+ /** 最大值 */
26
+ readonly max: {
27
+ readonly type: NumberConstructor;
28
+ readonly default: 100;
29
+ };
30
+ /** 步长(>0 生效;拖拽/键盘均按步长吸附) */
31
+ readonly step: {
32
+ readonly type: NumberConstructor;
33
+ readonly default: 1;
34
+ };
35
+ /** 范围选择(双滑块,值类型为数组) */
36
+ readonly range: {
37
+ readonly type: BooleanConstructor;
38
+ readonly default: false;
39
+ };
40
+ /** 禁用态:视觉 + 行为(不可拖拽/点击/键盘) */
41
+ readonly disabled: {
42
+ readonly type: BooleanConstructor;
43
+ readonly default: false;
44
+ };
45
+ /** 拖拽/悬停/聚焦时显示值提示 */
46
+ readonly showTooltip: {
47
+ readonly type: BooleanConstructor;
48
+ readonly default: true;
49
+ };
50
+ /** 刻度标记 { value: label } */
51
+ readonly marks: {
52
+ readonly type: PropType<SliderMarks>;
53
+ readonly default: () => {};
54
+ };
55
+ };
56
+ /** emits 声明 */
57
+ interface SliderEmits {
58
+ /** 值同步(v-model):拖拽过程中持续触发 */
59
+ 'update:modelValue': [value: SliderValue];
60
+ /** 值变化(拖拽结束 / 轨道点击 / 键盘调整) */
61
+ 'change': [value: SliderValue];
62
+ }
63
+
64
+ /**
65
+ * useSlider 行为层(04-T9)
66
+ *
67
+ * 职责(与视图解耦,可独立单测):
68
+ * - 值归一化:单值/范围统一为 [low, high];clamp 到 [min, max];
69
+ * - 步长吸附:snapToStep 按 step 取整并修正浮点精度;
70
+ * - 拖拽:knob mousedown → document mousemove/mouseup(监听 document 支持拖出组件范围);
71
+ * - 轨道点击跳转:range 模式靠近哪端改哪端;点击后进入拖拽(连续拖动);
72
+ * - 键盘契约(ARIA slider pattern):←/→/↑/↓ 步进,Home/End 到边界;
73
+ * - 禁用守卫:disabled 时拦截一切交互。
74
+ */
75
+
76
+ interface UseSliderOptions {
77
+ /** 受控值(props.modelValue) */
78
+ modelValue: Ref<SliderValue>;
79
+ min: Ref<number>;
80
+ max: Ref<number>;
81
+ step: Ref<number>;
82
+ range: Ref<boolean>;
83
+ disabled: Ref<boolean>;
84
+ marks: Ref<SliderMarks>;
85
+ /** 轨道元素(拖拽/点击的坐标基准) */
86
+ trackRef: Ref<HTMLElement | null>;
87
+ emitUpdate: (value: SliderValue) => void;
88
+ emitChange: (value: SliderValue) => void;
89
+ }
90
+ interface SliderMarkItem {
91
+ value: number;
92
+ label: string;
93
+ /** 相对轨道百分比(0-100) */
94
+ percent: number;
95
+ }
96
+ interface UseSliderReturn {
97
+ isRange: ComputedRef<boolean>;
98
+ /** 归一化后的值 [low, high](单值模式两元素相等) */
99
+ values: ComputedRef<[number, number]>;
100
+ /** 当前拖拽中的滑块索引(-1 未拖拽) */
101
+ draggingIndex: Ref<0 | 1 | -1>;
102
+ /** 拖拽中的实时值(tooltip 显示) */
103
+ draggingValue: Ref<number | null>;
104
+ /** 值 → 轨道百分比 */
105
+ percentOf: (value: number) => number;
106
+ /** 已选区间样式(单值从 0 到值;范围两端之间) */
107
+ rangeStyle: ComputedRef<Record<string, string>>;
108
+ /** 某滑块定位样式(left 百分比) */
109
+ knobStyle: (index: 0 | 1) => Record<string, string>;
110
+ /** 刻度标记列表(升序、过滤出 [min, max] 内) */
111
+ marksList: ComputedRef<SliderMarkItem[]>;
112
+ /** 轨道 mousedown:点击跳转 + 进入拖拽 */
113
+ handleTrackMouseDown: (event: MouseEvent) => void;
114
+ /** knob mousedown:开始拖拽 */
115
+ handleKnobMouseDown: (index: 0 | 1, event: MouseEvent) => void;
116
+ /** knob 键盘:方向键步进 / Home / End */
117
+ handleKnobKeydown: (index: 0 | 1, event: KeyboardEvent) => void;
118
+ /** 清理:解绑 document 监听(无泄漏契约) */
119
+ dispose: () => void;
120
+ }
121
+ /** 小数位数(用于步长吸附的精度修正) */
122
+ declare function countDecimals(value: number): number;
123
+ /** clamp 到 [min, max](min > max 时自动交换) */
124
+ declare function clamp(value: number, min: number, max: number): number;
125
+ /** 步长吸附:按 step 取整 + 浮点精度修正 + clamp */
126
+ declare function snapToStep(value: number, min: number, max: number, step: number): number;
127
+ /** 归一化:任意 SliderValue → [low, high](单值两元素相等;range 保证 low <= high) */
128
+ declare function normalizeValue(value: SliderValue, min: number, max: number, range: boolean): [number, number];
129
+ declare function useSlider(options: UseSliderOptions): UseSliderReturn;
130
+
131
+ var _sfc_main = /* @__PURE__ */ defineComponent({
132
+ ...{ name: "QmSlider" },
133
+ __name: "slider",
134
+ props: sliderProps,
135
+ emits: ["update:modelValue", "change"],
136
+ setup(__props, { expose: __expose, emit: __emit }) {
137
+ __expose();
138
+ const props = __props;
139
+ const emit = __emit;
140
+ const trackRef = ref(null);
141
+ const slider = useSlider({
142
+ modelValue: toRef(props, "modelValue"),
143
+ min: toRef(props, "min"),
144
+ max: toRef(props, "max"),
145
+ step: toRef(props, "step"),
146
+ range: toRef(props, "range"),
147
+ disabled: toRef(props, "disabled"),
148
+ marks: toRef(props, "marks"),
149
+ trackRef,
150
+ emitUpdate: (value) => emit("update:modelValue", value),
151
+ emitChange: (value) => emit("change", value)
152
+ });
153
+ const {
154
+ isRange,
155
+ values,
156
+ draggingIndex,
157
+ draggingValue,
158
+ rangeStyle,
159
+ knobStyle,
160
+ marksList,
161
+ handleTrackMouseDown,
162
+ handleKnobMouseDown,
163
+ handleKnobKeydown,
164
+ dispose
165
+ } = slider;
166
+ onBeforeUnmount(() => dispose());
167
+ const thumbs = computed(() => isRange.value ? [0, 1] : [0]);
168
+ const rootClass = computed(() => [
169
+ "qm-slider",
170
+ {
171
+ "qm-slider--range": isRange.value,
172
+ "qm-slider--disabled": props.disabled,
173
+ "qm-slider--dragging": draggingIndex.value >= 0
174
+ }
175
+ ]);
176
+ function thumbValue(index) {
177
+ return draggingIndex.value === index && draggingValue.value !== null ? draggingValue.value : values.value[index];
178
+ }
179
+ function ariaNow(index) {
180
+ return draggingIndex.value === index && draggingValue.value !== null ? draggingValue.value : values.value[index];
181
+ }
182
+ const __returned__ = { props, emit, trackRef, slider, isRange, values, draggingIndex, draggingValue, rangeStyle, knobStyle, marksList, handleTrackMouseDown, handleKnobMouseDown, handleKnobKeydown, dispose, thumbs, rootClass, thumbValue, ariaNow };
183
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
184
+ return __returned__;
185
+ }
186
+ });
187
+
188
+ const _hoisted_1 = [
189
+ "tabindex",
190
+ "aria-valuemin",
191
+ "aria-valuemax",
192
+ "aria-valuenow",
193
+ "aria-disabled",
194
+ "onMousedown",
195
+ "onKeydown"
196
+ ];
197
+ const _hoisted_2 = {
198
+ key: 0,
199
+ class: "qm-slider__tooltip",
200
+ "aria-hidden": "true"
201
+ };
202
+ const _hoisted_3 = {
203
+ key: 0,
204
+ class: "qm-slider__marks",
205
+ "aria-hidden": "true"
206
+ };
207
+ const _hoisted_4 = { class: "qm-slider__mark-label" };
208
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
209
+ return openBlock(), createElementBlock(
210
+ "div",
211
+ {
212
+ class: normalizeClass($setup.rootClass),
213
+ "data-qm": "slider"
214
+ },
215
+ [
216
+ createCommentVNode(" 轨道:点击跳转 + 拖拽坐标基准 "),
217
+ createElementVNode(
218
+ "div",
219
+ {
220
+ ref: "trackRef",
221
+ class: "qm-slider__track",
222
+ onMousedown: _cache[0] || (_cache[0] = (...args) => $setup.handleTrackMouseDown && $setup.handleTrackMouseDown(...args))
223
+ },
224
+ [
225
+ _cache[1] || (_cache[1] = createElementVNode(
226
+ "div",
227
+ {
228
+ class: "qm-slider__rail",
229
+ "aria-hidden": "true"
230
+ },
231
+ null,
232
+ -1
233
+ /* CACHED */
234
+ )),
235
+ createElementVNode(
236
+ "div",
237
+ {
238
+ class: "qm-slider__range",
239
+ style: normalizeStyle($setup.rangeStyle),
240
+ "aria-hidden": "true"
241
+ },
242
+ null,
243
+ 4
244
+ /* STYLE */
245
+ ),
246
+ createCommentVNode(" 滑块(单值 1 个 / 范围 2 个) "),
247
+ (openBlock(true), createElementBlock(
248
+ Fragment,
249
+ null,
250
+ renderList($setup.thumbs, (index) => {
251
+ return openBlock(), createElementBlock("div", {
252
+ key: index,
253
+ class: normalizeClass(["qm-slider__knob", { "qm-slider__knob--dragging": $setup.draggingIndex === index }]),
254
+ style: normalizeStyle($setup.knobStyle(index)),
255
+ role: "slider",
256
+ tabindex: _ctx.disabled ? -1 : 0,
257
+ "aria-valuemin": _ctx.min,
258
+ "aria-valuemax": _ctx.max,
259
+ "aria-valuenow": $setup.ariaNow(index),
260
+ "aria-orientation": "horizontal",
261
+ "aria-disabled": _ctx.disabled || undefined,
262
+ onMousedown: withModifiers(($event) => $setup.handleKnobMouseDown(index, $event), ["stop"]),
263
+ onKeydown: ($event) => $setup.handleKnobKeydown(index, $event)
264
+ }, [_ctx.showTooltip ? (openBlock(), createElementBlock(
265
+ "span",
266
+ _hoisted_2,
267
+ toDisplayString($setup.thumbValue(index)),
268
+ 1
269
+ /* TEXT */
270
+ )) : createCommentVNode("v-if", true)], 46, _hoisted_1);
271
+ }),
272
+ 128
273
+ /* KEYED_FRAGMENT */
274
+ ))
275
+ ],
276
+ 544
277
+ /* NEED_HYDRATION, NEED_PATCH */
278
+ ),
279
+ createCommentVNode(" 刻度标记 "),
280
+ $setup.marksList.length ? (openBlock(), createElementBlock("div", _hoisted_3, [(openBlock(true), createElementBlock(
281
+ Fragment,
282
+ null,
283
+ renderList($setup.marksList, (mark) => {
284
+ return openBlock(), createElementBlock(
285
+ "span",
286
+ {
287
+ key: mark.value,
288
+ class: "qm-slider__mark",
289
+ style: normalizeStyle({ left: `${mark.percent}%` })
290
+ },
291
+ [_cache[2] || (_cache[2] = createElementVNode(
292
+ "span",
293
+ { class: "qm-slider__mark-dot" },
294
+ null,
295
+ -1
296
+ /* CACHED */
297
+ )), createElementVNode(
298
+ "span",
299
+ _hoisted_4,
300
+ toDisplayString(mark.label),
301
+ 1
302
+ /* TEXT */
303
+ )],
304
+ 4
305
+ /* STYLE */
306
+ );
307
+ }),
308
+ 128
309
+ /* KEYED_FRAGMENT */
310
+ ))])) : createCommentVNode("v-if", true)
311
+ ],
312
+ 2
313
+ /* CLASS */
314
+ );
315
+ }
316
+ var Slider = /*#__PURE__*/ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\slider\\slider.vue"]]);
317
+
318
+ export { Slider as S, clamp as f, countDecimals as g, snapToStep as h, normalizeValue as n, sliderProps as s, useSlider as u };
319
+ export type { UseSliderOptions as U, SliderEmits as a, SliderMarkItem as b, SliderMarks as c, SliderValue as d, UseSliderReturn as e };
@@ -0,0 +1,327 @@
1
+ import { PropType, InjectionKey, Ref, ComputedRef, defineComponent, toRef, computed, openBlock, createElementBlock, withModifiers, normalizeClass, renderSlot, useId, onMounted, normalizeStyle, createCommentVNode, createTextVNode, toDisplayString, createElementVNode } from 'vue';
2
+ import { _ as _export_sfc } from './components.OJRSZE6i.cjs';
3
+
4
+ /**
5
+ * QmForm / QmFormItem 组件类型定义(组件体系设计 §6.4:类型先行)
6
+ * 04-T11:标签布局(left/right/top)/ 行内 / 禁用 / 校验规则 / validate/reset/clear
7
+ */
8
+
9
+ /** 标签位置 */
10
+ type FormLabelPosition = 'left' | 'right' | 'top';
11
+ /**
12
+ * 校验规则项(async-validator 风格子集):
13
+ * - required:非空(undefined/null/空串/空数组);
14
+ * - type:email / number / string;
15
+ * - min/max:字符串/数组长度;
16
+ * - pattern:正则匹配;
17
+ * - validator:自定义函数(支持 callback 风格与返回值风格,均可异步)。
18
+ */
19
+ interface FormItemRule {
20
+ required?: boolean;
21
+ message?: string;
22
+ type?: 'email' | 'number' | 'string';
23
+ min?: number;
24
+ max?: number;
25
+ pattern?: RegExp;
26
+ validator?: (rule: FormItemRule, value: unknown, callback: (error?: Error | string | boolean | null) => void) => void | boolean | string | Error | Promise<boolean | string | Error | void>;
27
+ /** 触发时机(预留:当前 validate() 全量校验) */
28
+ trigger?: string | string[];
29
+ }
30
+ /** 校验规则表:prop → 规则数组 */
31
+ type FormRules = Record<string, FormItemRule[]>;
32
+ /** QmForm props 声明 */
33
+ declare const formProps: {
34
+ /** 表单数据对象(QmFormItem 通过 prop 名取值) */
35
+ readonly model: {
36
+ readonly type: PropType<Record<string, unknown>>;
37
+ readonly default: () => {};
38
+ };
39
+ /** 标签宽度(string 原样 / number 转 px;空串时走 CSS Token --qm-form-label-width) */
40
+ readonly labelWidth: {
41
+ readonly type: PropType<string | number>;
42
+ readonly default: "";
43
+ };
44
+ /** 标签位置:left / right / top */
45
+ readonly labelPosition: {
46
+ readonly type: PropType<FormLabelPosition>;
47
+ readonly default: "right";
48
+ };
49
+ /** 行内表单(Item 横排) */
50
+ readonly inline: {
51
+ readonly type: BooleanConstructor;
52
+ readonly default: false;
53
+ };
54
+ /** 整表单禁用(视觉降权 + 交互提示,具体控件禁用需各自传入 disabled) */
55
+ readonly disabled: {
56
+ readonly type: BooleanConstructor;
57
+ readonly default: false;
58
+ };
59
+ /** 校验规则表 */
60
+ readonly rules: {
61
+ readonly type: PropType<FormRules>;
62
+ readonly default: () => {};
63
+ };
64
+ };
65
+ /** QmFormItem props 声明 */
66
+ declare const formItemProps: {
67
+ /** 标签文案 */
68
+ readonly label: {
69
+ readonly type: StringConstructor;
70
+ readonly default: "";
71
+ };
72
+ /** 字段名(从 form.model 取值 + 匹配 form.rules) */
73
+ readonly prop: {
74
+ readonly type: StringConstructor;
75
+ readonly default: "";
76
+ };
77
+ /** 必填标记(红 * + 必填校验;与 rules 中的 required 等效) */
78
+ readonly required: {
79
+ readonly type: BooleanConstructor;
80
+ readonly default: false;
81
+ };
82
+ };
83
+ /** QmForm emits 声明 */
84
+ interface FormEmits {
85
+ /** 提交时触发(已 preventDefault,可自行异步处理) */
86
+ submit: [event: Event];
87
+ }
88
+
89
+ /**
90
+ * useForm 行为层(04-T11)
91
+ *
92
+ * 职责(与视图解耦,可独立单测):
93
+ * - 纯校验函数:validateRule / validateValue(required / type / min-max 长度 / pattern / validator);
94
+ * - 表单上下文 provide/inject:model / rules / 布局 / disabled / 字段注册表;
95
+ * - useFormItem:从 form.model 按 prop 取值、合并(required + rules)校验、错误态维护、
96
+ * resetField(回写 initialModel 快照)/ clearValidate;
97
+ * - 初始值快照:QmForm 挂载时深拷贝 model,作为 resetFields 基准。
98
+ */
99
+
100
+ /** 是否为空值(undefined / null / 空串 / 空数组) */
101
+ declare function isEmptyValue(value: unknown): boolean;
102
+ /** 单条规则校验 → 错误文案(通过返回 null) */
103
+ declare function validateRule(rule: FormItemRule, value: unknown): Promise<string | null>;
104
+ /** 值 × 规则数组 → 错误文案列表(逐条收集,全部通过为空数组) */
105
+ declare function validateValue(value: unknown, rules: FormItemRule[]): Promise<string[]>;
106
+ /** 注册到表单的字段项(由 QmFormItem 提供) */
107
+ interface FormFieldItem {
108
+ /** 字段名(getter 动态跟随 props.prop) */
109
+ prop: string;
110
+ validate: () => Promise<boolean>;
111
+ resetField: () => void;
112
+ clearValidate: () => void;
113
+ }
114
+ interface FormContext {
115
+ model: Ref<Record<string, unknown>>;
116
+ rules: Ref<FormRules>;
117
+ labelWidth: Ref<string | number>;
118
+ labelPosition: Ref<FormLabelPosition>;
119
+ inline: Ref<boolean>;
120
+ disabled: Ref<boolean>;
121
+ /** 初始值快照(resetFields 基准,挂载时深拷贝) */
122
+ initialModel: Record<string, unknown>;
123
+ fields: Ref<FormFieldItem[]>;
124
+ addField: (field: FormFieldItem) => void;
125
+ removeField: (field: FormFieldItem) => void;
126
+ }
127
+ /** provide/inject key */
128
+ declare const FORM_KEY: InjectionKey<FormContext>;
129
+ /**
130
+ * 深拷贝快照(resetFields 基准):
131
+ * model 可能为 Vue 响应式代理 → 先 toRaw 解包;structuredClone 失败(含函数等非结构化数据)降级浅拷贝。
132
+ */
133
+ declare function snapshotModel(model: Record<string, unknown>): Record<string, unknown>;
134
+ interface UseFormProvideOptions {
135
+ model: Ref<Record<string, unknown>>;
136
+ rules: Ref<FormRules>;
137
+ labelWidth: Ref<string | number>;
138
+ labelPosition: Ref<FormLabelPosition>;
139
+ inline: Ref<boolean>;
140
+ disabled: Ref<boolean>;
141
+ }
142
+ declare function useFormProvide(options: UseFormProvideOptions): FormContext;
143
+ interface UseFormItemOptions {
144
+ label: Ref<string>;
145
+ prop: Ref<string>;
146
+ required: Ref<boolean>;
147
+ }
148
+ interface UseFormItemReturn {
149
+ /** 表单上下文(不在 QmForm 内为 undefined) */
150
+ form: FormContext | undefined;
151
+ /** 当前字段值(form.model[prop]) */
152
+ value: ComputedRef<unknown>;
153
+ /** 错误文案(空串 = 无错误) */
154
+ errorMessage: Ref<string>;
155
+ /** 生效规则(required prop 合并进 rules) */
156
+ rules: ComputedRef<FormItemRule[]>;
157
+ /** 是否展示必填星标 */
158
+ showRequired: ComputedRef<boolean>;
159
+ /** 标签宽度样式(top 布局 / 空 labelWidth 时返回 undefined 走 CSS Token) */
160
+ labelStyle: ComputedRef<Record<string, string> | undefined>;
161
+ /** 校验当前字段(错误写入 errorMessage) */
162
+ validate: () => Promise<boolean>;
163
+ /** 重置字段值(回写初始快照)+ 清除错误 */
164
+ resetField: () => void;
165
+ /** 仅清除错误 */
166
+ clearValidate: () => void;
167
+ /** 注册到表单(onMounted 调用) */
168
+ registerSelf: () => void;
169
+ }
170
+ declare function useFormItem(options: UseFormItemOptions): UseFormItemReturn;
171
+
172
+ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
173
+ ...{ name: "QmForm" },
174
+ __name: "form",
175
+ props: formProps,
176
+ emits: ["submit"],
177
+ setup(__props, { expose: __expose, emit: __emit }) {
178
+ const props = __props;
179
+ const emit = __emit;
180
+ const formCtx = useFormProvide({
181
+ model: toRef(props, "model"),
182
+ rules: toRef(props, "rules"),
183
+ labelWidth: toRef(props, "labelWidth"),
184
+ labelPosition: toRef(props, "labelPosition"),
185
+ inline: toRef(props, "inline"),
186
+ disabled: toRef(props, "disabled")
187
+ });
188
+ const rootClass = computed(() => [
189
+ "qm-form",
190
+ `qm-form--${props.labelPosition}`,
191
+ {
192
+ "qm-form--inline": props.inline,
193
+ "qm-form--disabled": props.disabled
194
+ }
195
+ ]);
196
+ async function validate() {
197
+ const results = await Promise.all(formCtx.fields.value.map((field) => field.validate()));
198
+ return results.every(Boolean);
199
+ }
200
+ function validateField(prop) {
201
+ const field = formCtx.fields.value.find((f) => f.prop === prop);
202
+ if (!field) {
203
+ const message = `[QmForm] validateField: \u672A\u627E\u5230\u5B57\u6BB5 "${prop}"\uFF08\u8BF7\u786E\u8BA4 form-item \u7684 prop \u4E0E rules/model \u4E00\u81F4\uFF09`;
204
+ console.warn(message);
205
+ return Promise.reject(new Error(message));
206
+ }
207
+ return field.validate();
208
+ }
209
+ function resetFields() {
210
+ formCtx.fields.value.forEach((field) => field.resetField());
211
+ }
212
+ function clearValidate() {
213
+ formCtx.fields.value.forEach((field) => field.clearValidate());
214
+ }
215
+ function onSubmit(event) {
216
+ emit("submit", event);
217
+ }
218
+ __expose({ validate, validateField, resetFields, clearValidate });
219
+ const __returned__ = { props, emit, formCtx, rootClass, validate, validateField, resetFields, clearValidate, onSubmit };
220
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
221
+ return __returned__;
222
+ }
223
+ });
224
+
225
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
226
+ return openBlock(), createElementBlock(
227
+ "form",
228
+ {
229
+ class: normalizeClass($setup.rootClass),
230
+ "data-qm": "form",
231
+ onSubmit: withModifiers($setup.onSubmit, ["prevent"])
232
+ },
233
+ [renderSlot(_ctx.$slots, "default")],
234
+ 34
235
+ /* CLASS, NEED_HYDRATION */
236
+ );
237
+ }
238
+ var Form = /*#__PURE__*/ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\form\\form.vue"]]);
239
+
240
+ var _sfc_main = /* @__PURE__ */ defineComponent({
241
+ ...{ name: "QmFormItem" },
242
+ __name: "form-item",
243
+ props: formItemProps,
244
+ setup(__props, { expose: __expose }) {
245
+ const props = __props;
246
+ const controlId = `qm-form-item-control-${useId()}`;
247
+ const labelId = `qm-form-item-label-${useId()}`;
248
+ const {
249
+ errorMessage,
250
+ showRequired,
251
+ labelStyle,
252
+ validate,
253
+ resetField,
254
+ clearValidate,
255
+ registerSelf
256
+ } = useFormItem({
257
+ label: toRef(props, "label"),
258
+ prop: toRef(props, "prop"),
259
+ required: toRef(props, "required")
260
+ });
261
+ onMounted(registerSelf);
262
+ const rootClass = computed(() => [
263
+ "qm-form-item",
264
+ {
265
+ "qm-form-item--error": Boolean(errorMessage.value),
266
+ "qm-form-item--required": showRequired.value
267
+ }
268
+ ]);
269
+ __expose({ validate, resetField, clearValidate });
270
+ const __returned__ = { props, controlId, labelId, errorMessage, showRequired, labelStyle, validate, resetField, clearValidate, registerSelf, rootClass };
271
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
272
+ return __returned__;
273
+ }
274
+ });
275
+
276
+ const _hoisted_1 = {
277
+ key: 0,
278
+ class: "qm-form-item__asterisk",
279
+ "aria-hidden": "true"
280
+ };
281
+ const _hoisted_2 = { class: "qm-form-item__content" };
282
+ const _hoisted_3 = {
283
+ key: 0,
284
+ class: "qm-form-item__error",
285
+ role: "alert"
286
+ };
287
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
288
+ return openBlock(), createElementBlock(
289
+ "div",
290
+ {
291
+ class: normalizeClass($setup.rootClass),
292
+ "data-qm": "form-item"
293
+ },
294
+ [_ctx.label || $setup.showRequired ? (openBlock(), createElementBlock(
295
+ "label",
296
+ {
297
+ key: 0,
298
+ id: $setup.labelId,
299
+ for: $setup.controlId,
300
+ class: "qm-form-item__label",
301
+ style: normalizeStyle($setup.labelStyle)
302
+ },
303
+ [$setup.showRequired ? (openBlock(), createElementBlock("span", _hoisted_1, "*")) : createCommentVNode("v-if", true), createTextVNode(
304
+ " " + toDisplayString(_ctx.label),
305
+ 1
306
+ /* TEXT */
307
+ )],
308
+ 4
309
+ /* STYLE */
310
+ )) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {
311
+ id: $setup.controlId,
312
+ ariaLabelledby: $setup.labelId
313
+ }), $setup.errorMessage ? (openBlock(), createElementBlock(
314
+ "div",
315
+ _hoisted_3,
316
+ toDisplayString($setup.errorMessage),
317
+ 1
318
+ /* TEXT */
319
+ )) : createCommentVNode("v-if", true)])],
320
+ 2
321
+ /* CLASS */
322
+ );
323
+ }
324
+ var formItem = /*#__PURE__*/ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\form\\form-item.vue"]]);
325
+
326
+ export { FORM_KEY as F, Form as g, formItem as h, formItemProps as k, formProps as l, isEmptyValue as m, useFormProvide as n, validateValue as o, snapshotModel as s, useFormItem as u, validateRule as v };
327
+ export type { UseFormItemOptions as U, FormContext as a, FormEmits as b, FormFieldItem as c, FormItemRule as d, FormLabelPosition as e, FormRules as f, UseFormItemReturn as i, UseFormProvideOptions as j };