@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,359 @@
1
+ import { InjectionKey, ComputedRef, PropType, defineComponent, ref, computed, watch, onMounted, nextTick, provide, openBlock, createElementBlock, normalizeClass, renderSlot, inject, withKeys, withModifiers, createElementVNode, toDisplayString, createCommentVNode, createVNode, withDirectives, vShow } from 'vue';
2
+ import { _ as _export_sfc } from './components.OJRSZE6i.cjs';
3
+ import { a as Icon } from './components.b5GjJzDh.cjs';
4
+
5
+ /**
6
+ * QmMenu 组件类型定义(导航 + 桌面端 task)
7
+ * 类型先行:MenuKey 同时作为菜单项选中值与子菜单展开标识。
8
+ */
9
+ /** 菜单项选中值 / 子菜单 key(字符串或数字) */
10
+ type MenuKey = string | number;
11
+ /** 菜单方向:horizontal(顶部导航)/ vertical(侧边导航) */
12
+ type MenuMode = 'horizontal' | 'vertical';
13
+ /** props 声明 */
14
+ declare const menuProps: {
15
+ /** 受控选中项 key(v-model) */
16
+ readonly modelValue: {
17
+ readonly type: PropType<MenuKey | undefined>;
18
+ readonly default: undefined;
19
+ };
20
+ /** 非受控模式的初始选中项 key(未绑定 v-model 时作为默认选中) */
21
+ readonly defaultSelectedKey: {
22
+ readonly type: PropType<MenuKey | undefined>;
23
+ readonly default: undefined;
24
+ };
25
+ /** 排列方向 */
26
+ readonly mode: {
27
+ readonly type: PropType<MenuMode>;
28
+ readonly default: "vertical";
29
+ };
30
+ /** 初始展开的子菜单 key 列表 */
31
+ readonly defaultOpenedKeys: {
32
+ readonly type: PropType<MenuKey[]>;
33
+ readonly default: () => never[];
34
+ };
35
+ /** 垂直模式折叠(只显示图标) */
36
+ readonly collapse: {
37
+ readonly type: BooleanConstructor;
38
+ readonly default: false;
39
+ };
40
+ };
41
+ /** emits 声明 */
42
+ interface MenuEmits {
43
+ 'update:modelValue': [key: MenuKey];
44
+ /** 点击菜单项选中 */
45
+ 'select': [key: MenuKey];
46
+ /** 子菜单展开/收起后,当前展开的 key 列表 */
47
+ 'openChange': [keys: MenuKey[]];
48
+ }
49
+ /** 菜单上下文(provide/inject 供 QmMenuItem / QmSubMenu 消费) */
50
+ interface MenuContext {
51
+ /** 排列方向 */
52
+ mode: ComputedRef<MenuMode>;
53
+ /** 是否折叠 */
54
+ collapse: ComputedRef<boolean>;
55
+ /** 当前选中 key */
56
+ selectedKey: ComputedRef<MenuKey | undefined>;
57
+ /** 选中菜单项(父级统一 emit update:modelValue + select) */
58
+ selectKey: (key: MenuKey) => void;
59
+ /** 子菜单是否展开 */
60
+ isOpen: (key: MenuKey) => boolean;
61
+ /** 切换子菜单展开/收起 */
62
+ toggleSubMenu: (key: MenuKey) => void;
63
+ }
64
+ /** 注入键 */
65
+ declare const MENU_CONTEXT_KEY: InjectionKey<MenuContext>;
66
+
67
+ var _sfc_main$2 = /* @__PURE__ */ defineComponent({
68
+ ...{ name: "QmMenu" },
69
+ __name: "menu",
70
+ props: menuProps,
71
+ emits: ["update:modelValue", "select", "openChange"],
72
+ setup(__props, { expose: __expose, emit: __emit }) {
73
+ __expose();
74
+ const props = __props;
75
+ const emit = __emit;
76
+ const openedKeys = ref([...props.defaultOpenedKeys]);
77
+ const innerSelectedKey = ref(props.defaultSelectedKey);
78
+ const effectiveSelectedKey = computed(
79
+ () => props.modelValue ?? innerSelectedKey.value
80
+ );
81
+ watch(
82
+ () => props.modelValue,
83
+ (v) => {
84
+ if (v !== void 0)
85
+ innerSelectedKey.value = v;
86
+ }
87
+ );
88
+ const menuRef = ref(null);
89
+ function focusableItems() {
90
+ const root = menuRef.value;
91
+ if (!root)
92
+ return [];
93
+ return [
94
+ ...root.querySelectorAll(
95
+ '.qm-menu-item:not([aria-disabled="true"]), .qm-sub-menu__trigger:not([aria-disabled="true"])'
96
+ )
97
+ ];
98
+ }
99
+ function normalizeRoving(target) {
100
+ const items = focusableItems();
101
+ for (const el of items) el.setAttribute("tabindex", el === target ? "0" : "-1");
102
+ }
103
+ function onMenuFocusin(event) {
104
+ const target = event.target;
105
+ if (target && menuRef.value?.contains(target))
106
+ normalizeRoving(target);
107
+ }
108
+ function onMenuKeydown(event) {
109
+ const items = focusableItems();
110
+ if (!items.length)
111
+ return;
112
+ const current = document.activeElement;
113
+ let index = current ? items.indexOf(current) : -1;
114
+ if (event.key === "Home") {
115
+ event.preventDefault();
116
+ index = 0;
117
+ } else if (event.key === "End") {
118
+ event.preventDefault();
119
+ index = items.length - 1;
120
+ } else if (event.key === "ArrowDown" || event.key === "ArrowRight") {
121
+ event.preventDefault();
122
+ index = index < 0 ? 0 : (index + 1) % items.length;
123
+ } else if (event.key === "ArrowUp" || event.key === "ArrowLeft") {
124
+ event.preventDefault();
125
+ index = index < 0 ? items.length - 1 : (index - 1 + items.length) % items.length;
126
+ } else {
127
+ return;
128
+ }
129
+ const target = items[index];
130
+ if (target) {
131
+ target.focus();
132
+ normalizeRoving(target);
133
+ }
134
+ }
135
+ onMounted(() => {
136
+ void nextTick(() => {
137
+ const items = focusableItems();
138
+ if (!items.length)
139
+ return;
140
+ const selected = items.find((el) => el.getAttribute("aria-selected") === "true");
141
+ const initial = selected ?? items[0];
142
+ normalizeRoving(initial);
143
+ });
144
+ });
145
+ const context = {
146
+ mode: computed(() => props.mode),
147
+ collapse: computed(() => props.collapse),
148
+ selectedKey: effectiveSelectedKey,
149
+ selectKey: (key) => {
150
+ innerSelectedKey.value = key;
151
+ if (props.modelValue !== key)
152
+ emit("update:modelValue", key);
153
+ emit("select", key);
154
+ },
155
+ isOpen: (key) => openedKeys.value.includes(key),
156
+ toggleSubMenu: (key) => {
157
+ const index = openedKeys.value.indexOf(key);
158
+ if (index >= 0)
159
+ openedKeys.value.splice(index, 1);
160
+ else openedKeys.value.push(key);
161
+ emit("openChange", [...openedKeys.value]);
162
+ }
163
+ };
164
+ provide(MENU_CONTEXT_KEY, context);
165
+ const __returned__ = { props, emit, openedKeys, innerSelectedKey, effectiveSelectedKey, menuRef, focusableItems, normalizeRoving, onMenuFocusin, onMenuKeydown, context };
166
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
167
+ return __returned__;
168
+ }
169
+ });
170
+
171
+ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
172
+ return openBlock(), createElementBlock(
173
+ "ul",
174
+ {
175
+ ref: "menuRef",
176
+ class: normalizeClass(["qm-menu", [`qm-menu--${_ctx.mode}`, { "qm-menu--collapsed": _ctx.collapse }]]),
177
+ "data-qm": "menu",
178
+ role: "menu",
179
+ onFocusin: $setup.onMenuFocusin,
180
+ onKeydown: $setup.onMenuKeydown
181
+ },
182
+ [renderSlot(_ctx.$slots, "default")],
183
+ 34
184
+ /* CLASS, NEED_HYDRATION */
185
+ );
186
+ }
187
+ var Menu = /*#__PURE__*/ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\menu\\menu.vue"]]);
188
+
189
+ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
190
+ ...{ name: "QmMenuItem" },
191
+ __name: "menu-item",
192
+ props: {
193
+ /** 菜单项唯一 key(选中值,即菜单 modelValue) */
194
+ index: { type: [String, Number], required: true },
195
+ /** 禁用(不可选中) */
196
+ disabled: { type: Boolean, default: false }
197
+ },
198
+ emits: ["select"],
199
+ setup(__props, { expose: __expose, emit: __emit }) {
200
+ __expose();
201
+ const props = __props;
202
+ const emit = __emit;
203
+ const context = inject(MENU_CONTEXT_KEY, void 0);
204
+ const isSelected = computed(() => context?.selectedKey.value === props.index);
205
+ function onClick() {
206
+ if (props.disabled)
207
+ return;
208
+ emit("select", props.index);
209
+ context?.selectKey?.(props.index);
210
+ }
211
+ const __returned__ = { props, emit, context, isSelected, onClick };
212
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
213
+ return __returned__;
214
+ }
215
+ });
216
+
217
+ const _hoisted_1$1 = [
218
+ "aria-selected",
219
+ "aria-disabled",
220
+ "tabindex",
221
+ "onKeydown"
222
+ ];
223
+ const _hoisted_2$1 = {
224
+ class: "qm-menu-item__icon",
225
+ "aria-hidden": "true"
226
+ };
227
+ const _hoisted_3$1 = { class: "qm-menu-item__label" };
228
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
229
+ return openBlock(), createElementBlock("li", {
230
+ class: normalizeClass(["qm-menu-item", {
231
+ "qm-menu-item--selected": $setup.isSelected,
232
+ "qm-menu-item--disabled": $props.disabled
233
+ }]),
234
+ "data-qm": "menu-item",
235
+ role: "menuitem",
236
+ "aria-selected": $setup.isSelected,
237
+ "aria-disabled": $props.disabled || undefined,
238
+ tabindex: $props.disabled ? -1 : 0,
239
+ onClick: $setup.onClick,
240
+ onKeydown: [withKeys(withModifiers($setup.onClick, ["prevent"]), ["enter"]), withKeys(withModifiers($setup.onClick, ["prevent"]), ["space"])]
241
+ }, [createElementVNode("span", _hoisted_2$1, [renderSlot(_ctx.$slots, "icon")]), createElementVNode("span", _hoisted_3$1, [renderSlot(_ctx.$slots, "default")])], 42, _hoisted_1$1);
242
+ }
243
+ var menuItem = /*#__PURE__*/ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\menu\\menu-item.vue"]]);
244
+
245
+ var _sfc_main = /* @__PURE__ */ defineComponent({
246
+ ...{ name: "QmSubMenu" },
247
+ __name: "sub-menu",
248
+ props: {
249
+ /** 子菜单唯一 key(展开状态标识) */
250
+ index: { type: [String, Number], required: true },
251
+ /** 子菜单标题 */
252
+ title: { type: String, default: "" },
253
+ /** 禁用(不可展开) */
254
+ disabled: { type: Boolean, default: false }
255
+ },
256
+ setup(__props, { expose: __expose }) {
257
+ __expose();
258
+ const props = __props;
259
+ const context = inject(MENU_CONTEXT_KEY, void 0);
260
+ const open = computed(() => context?.isOpen(props.index) ?? false);
261
+ const popupRef = ref(null);
262
+ const flip = ref(false);
263
+ watch(open, async (val) => {
264
+ if (!val) {
265
+ flip.value = false;
266
+ return;
267
+ }
268
+ await nextTick();
269
+ const popup = popupRef.value;
270
+ if (!popup || context?.mode.value !== "horizontal")
271
+ return;
272
+ const rect = popup.getBoundingClientRect();
273
+ flip.value = rect.bottom > window.innerHeight;
274
+ });
275
+ function toggle() {
276
+ if (props.disabled)
277
+ return;
278
+ context?.toggleSubMenu?.(props.index);
279
+ }
280
+ const __returned__ = { props, context, open, popupRef, flip, toggle, get QmIcon() {
281
+ return Icon;
282
+ } };
283
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
284
+ return __returned__;
285
+ }
286
+ });
287
+
288
+ const _hoisted_1 = [
289
+ "aria-expanded",
290
+ "aria-disabled",
291
+ "tabindex",
292
+ "onKeydown"
293
+ ];
294
+ const _hoisted_2 = {
295
+ class: "qm-sub-menu__icon",
296
+ "aria-hidden": "true"
297
+ };
298
+ const _hoisted_3 = {
299
+ key: 0,
300
+ class: "qm-sub-menu__title"
301
+ };
302
+ const _hoisted_4 = {
303
+ key: 1,
304
+ class: "qm-sub-menu__arrow",
305
+ "aria-hidden": "true"
306
+ };
307
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
308
+ return openBlock(), createElementBlock(
309
+ "li",
310
+ {
311
+ class: normalizeClass(["qm-sub-menu", {
312
+ "qm-sub-menu--open": $setup.open,
313
+ "qm-sub-menu--disabled": $props.disabled,
314
+ "qm-sub-menu--collapsed": $setup.context?.collapse.value
315
+ }]),
316
+ "data-qm": "sub-menu",
317
+ role: "none"
318
+ },
319
+ [createElementVNode("div", {
320
+ class: "qm-sub-menu__trigger",
321
+ role: "menuitem",
322
+ "aria-haspopup": true,
323
+ "aria-expanded": $setup.open,
324
+ "aria-disabled": $props.disabled || undefined,
325
+ tabindex: $props.disabled ? -1 : 0,
326
+ onClick: $setup.toggle,
327
+ onKeydown: [withKeys(withModifiers($setup.toggle, ["prevent"]), ["enter"]), withKeys(withModifiers($setup.toggle, ["prevent"]), ["space"])]
328
+ }, [
329
+ createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "icon")]),
330
+ !$setup.context?.collapse.value ? (openBlock(), createElementBlock(
331
+ "span",
332
+ _hoisted_3,
333
+ toDisplayString($props.title),
334
+ 1
335
+ /* TEXT */
336
+ )) : createCommentVNode("v-if", true),
337
+ !$setup.context?.collapse.value ? (openBlock(), createElementBlock("span", _hoisted_4, [createVNode($setup["QmIcon"], {
338
+ name: "chevron-down",
339
+ class: "qm-sub-menu__arrow-icon"
340
+ })])) : createCommentVNode("v-if", true)
341
+ ], 40, _hoisted_1), withDirectives(createElementVNode(
342
+ "ul",
343
+ {
344
+ ref: "popupRef",
345
+ class: normalizeClass(["qm-sub-menu__popup", { "qm-sub-menu__popup--flip": $setup.flip }]),
346
+ role: "menu"
347
+ },
348
+ [renderSlot(_ctx.$slots, "default")],
349
+ 2
350
+ /* CLASS */
351
+ ), [[vShow, $setup.open]])],
352
+ 2
353
+ /* CLASS */
354
+ );
355
+ }
356
+ var subMenu = /*#__PURE__*/ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\menu\\sub-menu.vue"]]);
357
+
358
+ export { MENU_CONTEXT_KEY as M, Menu as e, menuProps as f, menuItem as m, subMenu as s };
359
+ export type { MenuContext as a, MenuEmits as b, MenuKey as c, MenuMode as d };
@@ -0,0 +1,349 @@
1
+ 'use strict';
2
+
3
+ const vue = require('vue');
4
+ const exportHelper = require('./components.DUidQ77e.cjs');
5
+
6
+ const radioProps = {
7
+ /** 受控值:单独使用即自身选中态;组模式下由 QmRadioGroup 注入,勿直传 */
8
+ modelValue: {
9
+ type: [String, Number, Boolean],
10
+ default: void 0
11
+ },
12
+ /** 选项值(组模式下用于选中比对;必填) */
13
+ value: {
14
+ type: [String, Number, Boolean],
15
+ required: true
16
+ },
17
+ /** 禁用单项(整组禁用由 group.disabled 统一接管) */
18
+ disabled: { type: Boolean, default: false },
19
+ /** 标签文案(缺省时回退默认插槽内容) */
20
+ label: { type: String, default: "" },
21
+ /** 尺寸:缺省回退组 size,再回退 medium */
22
+ size: {
23
+ type: String,
24
+ default: void 0
25
+ },
26
+ /** 原生 name:组模式下由 group 注入以共享浏览器原生单选行为 */
27
+ name: { type: String, default: "" }
28
+ };
29
+ const radioGroupProps = {
30
+ /** 受控值(v-model):选中项的 value */
31
+ modelValue: {
32
+ type: [String, Number, Boolean],
33
+ default: void 0
34
+ },
35
+ /** 整组禁用 */
36
+ disabled: { type: Boolean, default: false },
37
+ /** 统一尺寸(子项未单独指定时回退到此) */
38
+ size: { type: String, default: "medium" },
39
+ /** 排列方向 */
40
+ direction: {
41
+ type: String,
42
+ default: "horizontal"
43
+ },
44
+ /** 原生 name:组内所有 QmRadio 共享,确保浏览器原生单选行为 */
45
+ name: { type: String, default: "" }
46
+ };
47
+
48
+ const RADIO_GROUP_KEY = Symbol("qm-radio-group");
49
+ function findNextEnabledIndex(items, fromIndex, delta) {
50
+ const len = items.length;
51
+ if (len === 0)
52
+ return -1;
53
+ let i = fromIndex;
54
+ for (let step = 0; step < len; step++) {
55
+ i = (i + delta + len) % len;
56
+ if (!items[i].disabled.value)
57
+ return i;
58
+ }
59
+ return -1;
60
+ }
61
+ function isNextKey(key) {
62
+ return key === "ArrowDown" || key === "ArrowRight";
63
+ }
64
+ function isPrevKey(key) {
65
+ return key === "ArrowUp" || key === "ArrowLeft";
66
+ }
67
+ function useRadioGroup(options) {
68
+ const { modelValue, disabled, size, name, emitUpdate, emitChange } = options;
69
+ const items = vue.shallowRef([]);
70
+ function register(item) {
71
+ if (!items.value.includes(item))
72
+ items.value.push(item);
73
+ }
74
+ function unregister(item) {
75
+ const idx = items.value.indexOf(item);
76
+ if (idx >= 0)
77
+ items.value.splice(idx, 1);
78
+ }
79
+ function select(value) {
80
+ if (disabled.value)
81
+ return;
82
+ if (modelValue.value === value)
83
+ return;
84
+ emitUpdate(value);
85
+ emitChange(value);
86
+ }
87
+ function onItemKeydown(item, event) {
88
+ if (disabled.value || item.disabled.value)
89
+ return;
90
+ const key = event.key;
91
+ let delta = 0;
92
+ if (isNextKey(key))
93
+ delta = 1;
94
+ else if (isPrevKey(key))
95
+ delta = -1;
96
+ else return;
97
+ event.preventDefault();
98
+ const fromIndex = items.value.indexOf(item);
99
+ const nextIndex = findNextEnabledIndex(items.value, fromIndex, delta);
100
+ if (nextIndex < 0)
101
+ return;
102
+ const next = items.value[nextIndex];
103
+ if (!next)
104
+ return;
105
+ select(next.value);
106
+ next.el.value?.focus();
107
+ }
108
+ const ctx = {
109
+ modelValue,
110
+ disabled,
111
+ size,
112
+ name,
113
+ items,
114
+ select,
115
+ register,
116
+ unregister,
117
+ onItemKeydown
118
+ };
119
+ vue.provide(RADIO_GROUP_KEY, ctx);
120
+ return ctx;
121
+ }
122
+ function useRadioItem(options) {
123
+ const { value, disabled, size, name, modelValue, el, emitUpdate, emitChange } = options;
124
+ const group = vue.inject(RADIO_GROUP_KEY, void 0);
125
+ const innerValue = vue.ref(modelValue.value);
126
+ vue.watch(modelValue, (val) => innerValue.value = val);
127
+ const inGroup = vue.computed(() => Boolean(group));
128
+ const currentValue = vue.computed(() => {
129
+ if (group)
130
+ return group.modelValue.value;
131
+ return modelValue.value ?? innerValue.value;
132
+ });
133
+ const checked = vue.computed(() => currentValue.value === value.value);
134
+ const isDisabled = vue.computed(() => (group ? group.disabled.value : false) || disabled.value);
135
+ const effectiveSize = vue.computed(() => {
136
+ if (size.value)
137
+ return size.value;
138
+ if (group)
139
+ return group.size.value;
140
+ return "medium";
141
+ });
142
+ const effectiveName = vue.computed(() => {
143
+ if (group && group.name.value)
144
+ return group.name.value;
145
+ return name.value;
146
+ });
147
+ const tabindex = vue.computed(() => {
148
+ if (isDisabled.value)
149
+ return -1;
150
+ if (group)
151
+ return checked.value ? 0 : -1;
152
+ return 0;
153
+ });
154
+ function check() {
155
+ if (isDisabled.value)
156
+ return;
157
+ if (group) {
158
+ group.select(value.value);
159
+ return;
160
+ }
161
+ if (checked.value)
162
+ return;
163
+ emitUpdate(value.value);
164
+ emitChange(value.value);
165
+ innerValue.value = value.value;
166
+ }
167
+ const itemRef = {
168
+ get value() {
169
+ return value.value;
170
+ },
171
+ disabled,
172
+ el
173
+ };
174
+ function onKeydown(event) {
175
+ if (isDisabled.value)
176
+ return;
177
+ if (group && (isNextKey(event.key) || isPrevKey(event.key))) {
178
+ group.onItemKeydown(itemRef, event);
179
+ return;
180
+ }
181
+ if (event.key === " " || event.key === "Enter") {
182
+ event.preventDefault();
183
+ check();
184
+ }
185
+ }
186
+ function registerSelf() {
187
+ group?.register(itemRef);
188
+ }
189
+ vue.onBeforeUnmount(() => {
190
+ group?.unregister(itemRef);
191
+ });
192
+ return {
193
+ inGroup,
194
+ checked,
195
+ isDisabled,
196
+ effectiveSize,
197
+ effectiveName,
198
+ tabindex,
199
+ check,
200
+ onKeydown,
201
+ registerSelf
202
+ };
203
+ }
204
+
205
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
206
+ ...{ name: "QmRadio" },
207
+ __name: "radio",
208
+ props: radioProps,
209
+ emits: ["update:modelValue", "change"],
210
+ setup(__props, { expose: __expose, emit: __emit }) {
211
+ __expose();
212
+ const props = __props;
213
+ const emit = __emit;
214
+ const rootRef = vue.ref(null);
215
+ const inputRef = vue.ref(null);
216
+ const item = useRadioItem({
217
+ value: vue.toRef(props, "value"),
218
+ disabled: vue.toRef(props, "disabled"),
219
+ size: vue.toRef(props, "size"),
220
+ name: vue.toRef(props, "name"),
221
+ modelValue: vue.toRef(props, "modelValue"),
222
+ el: rootRef,
223
+ emitUpdate: (value) => emit("update:modelValue", value),
224
+ emitChange: (value) => emit("change", value)
225
+ });
226
+ const { checked, isDisabled, effectiveSize, effectiveName, tabindex, check, onKeydown } = item;
227
+ const rootClass = vue.computed(() => [
228
+ "qm-radio",
229
+ `qm-radio--${effectiveSize.value}`,
230
+ {
231
+ "qm-radio--checked": checked.value,
232
+ "qm-radio--disabled": isDisabled.value
233
+ }
234
+ ]);
235
+ function onChange() {
236
+ check();
237
+ }
238
+ vue.onMounted(() => {
239
+ item.registerSelf();
240
+ });
241
+ const __returned__ = { props, emit, rootRef, inputRef, item, checked, isDisabled, effectiveSize, effectiveName, tabindex, check, onKeydown, rootClass, onChange };
242
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
243
+ return __returned__;
244
+ }
245
+ });
246
+
247
+ const _hoisted_1$1 = [
248
+ "name",
249
+ "value",
250
+ "checked",
251
+ "disabled",
252
+ "tabindex",
253
+ "aria-checked"
254
+ ];
255
+ const _hoisted_2 = { class: "qm-radio__label" };
256
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
257
+ return vue.openBlock(), vue.createElementBlock(
258
+ "label",
259
+ {
260
+ ref: "rootRef",
261
+ class: vue.normalizeClass($setup.rootClass)
262
+ },
263
+ [
264
+ vue.createCommentVNode(" 原生 radio:视觉隐藏但覆盖整个 label,保留聚焦/点击/键盘可访问性 "),
265
+ vue.createElementVNode("input", {
266
+ ref: "inputRef",
267
+ class: "qm-radio__original",
268
+ type: "radio",
269
+ name: $setup.effectiveName,
270
+ value: _ctx.value,
271
+ checked: $setup.checked,
272
+ disabled: $setup.isDisabled,
273
+ tabindex: $setup.tabindex,
274
+ "aria-checked": $setup.checked,
275
+ onChange: $setup.onChange,
276
+ onKeydown: _cache[0] || (_cache[0] = (...args) => $setup.onKeydown && $setup.onKeydown(...args))
277
+ }, null, 40, _hoisted_1$1),
278
+ vue.createCommentVNode(" 自定义圆点(视觉层,aria-hidden 避免与原生 input 语义重复;选中态纯色填满) "),
279
+ _cache[1] || (_cache[1] = vue.createElementVNode(
280
+ "span",
281
+ {
282
+ class: "qm-radio__dot",
283
+ "aria-hidden": "true"
284
+ },
285
+ null,
286
+ -1
287
+ /* CACHED */
288
+ )),
289
+ vue.createCommentVNode(" 文案 "),
290
+ vue.createElementVNode("span", _hoisted_2, [vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createTextVNode(
291
+ vue.toDisplayString(_ctx.label),
292
+ 1
293
+ /* TEXT */
294
+ )])])
295
+ ],
296
+ 2
297
+ /* CLASS */
298
+ );
299
+ }
300
+ const Radio = /*#__PURE__*/ exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\radio\\radio.vue"]]);
301
+
302
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
303
+ ...{ name: "QmRadioGroup" },
304
+ __name: "radio-group",
305
+ props: radioGroupProps,
306
+ emits: ["update:modelValue", "change"],
307
+ setup(__props, { expose: __expose, emit: __emit }) {
308
+ __expose();
309
+ const props = __props;
310
+ const emit = __emit;
311
+ useRadioGroup({
312
+ modelValue: vue.toRef(props, "modelValue"),
313
+ disabled: vue.toRef(props, "disabled"),
314
+ size: vue.toRef(props, "size"),
315
+ name: vue.toRef(props, "name"),
316
+ emitUpdate: (value) => emit("update:modelValue", value),
317
+ emitChange: (value) => emit("change", value)
318
+ });
319
+ const rootClass = vue.computed(() => [
320
+ "qm-radio-group",
321
+ `qm-radio-group--${props.direction}`,
322
+ { "qm-radio-group--disabled": props.disabled }
323
+ ]);
324
+ const __returned__ = { props, emit, rootClass };
325
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
326
+ return __returned__;
327
+ }
328
+ });
329
+
330
+ const _hoisted_1 = ["aria-disabled"];
331
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
332
+ return vue.openBlock(), vue.createElementBlock("div", {
333
+ class: vue.normalizeClass($setup.rootClass),
334
+ role: "radiogroup",
335
+ "aria-disabled": _ctx.disabled || undefined
336
+ }, [vue.renderSlot(_ctx.$slots, "default")], 10, _hoisted_1);
337
+ }
338
+ const radioGroup = /*#__PURE__*/ exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "F:\\软件开发\\青冥组件系统\\packages\\components\\src\\components\\radio\\radio-group.vue"]]);
339
+
340
+ exports.RADIO_GROUP_KEY = RADIO_GROUP_KEY;
341
+ exports.Radio = Radio;
342
+ exports.findNextEnabledIndex = findNextEnabledIndex;
343
+ exports.isNextKey = isNextKey;
344
+ exports.isPrevKey = isPrevKey;
345
+ exports.radioGroup = radioGroup;
346
+ exports.radioGroupProps = radioGroupProps;
347
+ exports.radioProps = radioProps;
348
+ exports.useRadioGroup = useRadioGroup;
349
+ exports.useRadioItem = useRadioItem;