@class-kit/vue 0.1.1 → 0.1.3

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 (444) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +5 -1
  3. package/dist/components/affix.cjs +71 -26
  4. package/dist/components/affix.cjs.map +1 -1
  5. package/dist/components/affix.js +72 -27
  6. package/dist/components/affix.js.map +1 -1
  7. package/dist/components/backtop.cjs +72 -26
  8. package/dist/components/backtop.cjs.map +1 -1
  9. package/dist/components/backtop.js +73 -27
  10. package/dist/components/backtop.js.map +1 -1
  11. package/dist/components/badge.cjs +51 -9
  12. package/dist/components/badge.cjs.map +1 -1
  13. package/dist/components/badge.js +52 -10
  14. package/dist/components/badge.js.map +1 -1
  15. package/dist/components/barcode.cjs +60 -16
  16. package/dist/components/barcode.cjs.map +1 -1
  17. package/dist/components/barcode.js +61 -17
  18. package/dist/components/barcode.js.map +1 -1
  19. package/dist/components/breadcrumb.cjs +49 -8
  20. package/dist/components/breadcrumb.cjs.map +1 -1
  21. package/dist/components/breadcrumb.js +50 -9
  22. package/dist/components/breadcrumb.js.map +1 -1
  23. package/dist/components/button.cjs +69 -25
  24. package/dist/components/button.cjs.map +1 -1
  25. package/dist/components/button.js +70 -26
  26. package/dist/components/button.js.map +1 -1
  27. package/dist/components/calendar.cjs +53 -10
  28. package/dist/components/calendar.cjs.map +1 -1
  29. package/dist/components/calendar.js +54 -11
  30. package/dist/components/calendar.js.map +1 -1
  31. package/dist/components/canvas-editor.cjs +198 -142
  32. package/dist/components/canvas-editor.cjs.map +1 -1
  33. package/dist/components/canvas-editor.js +199 -143
  34. package/dist/components/canvas-editor.js.map +1 -1
  35. package/dist/components/canvas-image.cjs +50 -9
  36. package/dist/components/canvas-image.cjs.map +1 -1
  37. package/dist/components/canvas-image.js +51 -10
  38. package/dist/components/canvas-image.js.map +1 -1
  39. package/dist/components/chat-textarea.cjs +279 -0
  40. package/dist/components/chat-textarea.cjs.map +1 -0
  41. package/dist/components/chat-textarea.d.ts +2 -0
  42. package/dist/components/chat-textarea.d.ts.map +1 -0
  43. package/dist/components/chat-textarea.js +277 -0
  44. package/dist/components/chat-textarea.js.map +1 -0
  45. package/dist/components/chat-virtual-list.cjs +165 -40
  46. package/dist/components/chat-virtual-list.cjs.map +1 -1
  47. package/dist/components/chat-virtual-list.js +166 -41
  48. package/dist/components/chat-virtual-list.js.map +1 -1
  49. package/dist/components/checkbox.cjs +63 -19
  50. package/dist/components/checkbox.cjs.map +1 -1
  51. package/dist/components/checkbox.js +64 -20
  52. package/dist/components/checkbox.js.map +1 -1
  53. package/dist/components/checked.cjs +63 -19
  54. package/dist/components/checked.cjs.map +1 -1
  55. package/dist/components/checked.js +64 -20
  56. package/dist/components/checked.js.map +1 -1
  57. package/dist/components/code-preview.cjs +395 -0
  58. package/dist/components/code-preview.cjs.map +1 -0
  59. package/dist/components/code-preview.d.ts +2 -0
  60. package/dist/components/code-preview.d.ts.map +1 -0
  61. package/dist/components/code-preview.js +393 -0
  62. package/dist/components/code-preview.js.map +1 -0
  63. package/dist/components/color-picker.cjs +69 -22
  64. package/dist/components/color-picker.cjs.map +1 -1
  65. package/dist/components/color-picker.js +70 -23
  66. package/dist/components/color-picker.js.map +1 -1
  67. package/dist/components/comic-reader.cjs +72 -27
  68. package/dist/components/comic-reader.cjs.map +1 -1
  69. package/dist/components/comic-reader.js +73 -28
  70. package/dist/components/comic-reader.js.map +1 -1
  71. package/dist/components/config-provider.cjs +49 -8
  72. package/dist/components/config-provider.cjs.map +1 -1
  73. package/dist/components/config-provider.js +50 -9
  74. package/dist/components/config-provider.js.map +1 -1
  75. package/dist/components/config-table.cjs +105 -53
  76. package/dist/components/config-table.cjs.map +1 -1
  77. package/dist/components/config-table.js +106 -54
  78. package/dist/components/config-table.js.map +1 -1
  79. package/dist/components/countdown.cjs +53 -9
  80. package/dist/components/countdown.cjs.map +1 -1
  81. package/dist/components/countdown.js +54 -10
  82. package/dist/components/countdown.js.map +1 -1
  83. package/dist/components/danmaku.cjs +73 -29
  84. package/dist/components/danmaku.cjs.map +1 -1
  85. package/dist/components/danmaku.js +74 -30
  86. package/dist/components/danmaku.js.map +1 -1
  87. package/dist/components/date-picker.cjs +64 -19
  88. package/dist/components/date-picker.cjs.map +1 -1
  89. package/dist/components/date-picker.js +65 -20
  90. package/dist/components/date-picker.js.map +1 -1
  91. package/dist/components/date-range-picker.cjs +64 -19
  92. package/dist/components/date-range-picker.cjs.map +1 -1
  93. package/dist/components/date-range-picker.js +65 -20
  94. package/dist/components/date-range-picker.js.map +1 -1
  95. package/dist/components/design-effect.cjs +51 -9
  96. package/dist/components/design-effect.cjs.map +1 -1
  97. package/dist/components/design-effect.js +52 -10
  98. package/dist/components/design-effect.js.map +1 -1
  99. package/dist/components/drag-drop-board.cjs +210 -131
  100. package/dist/components/drag-drop-board.cjs.map +1 -1
  101. package/dist/components/drag-drop-board.js +211 -132
  102. package/dist/components/drag-drop-board.js.map +1 -1
  103. package/dist/components/draggable.cjs +91 -44
  104. package/dist/components/draggable.cjs.map +1 -1
  105. package/dist/components/draggable.js +92 -45
  106. package/dist/components/draggable.js.map +1 -1
  107. package/dist/components/ellipsis-text.cjs +57 -14
  108. package/dist/components/ellipsis-text.cjs.map +1 -1
  109. package/dist/components/ellipsis-text.js +58 -15
  110. package/dist/components/ellipsis-text.js.map +1 -1
  111. package/dist/components/empty.cjs +58 -14
  112. package/dist/components/empty.cjs.map +1 -1
  113. package/dist/components/empty.js +59 -15
  114. package/dist/components/empty.js.map +1 -1
  115. package/dist/components/field.cjs +63 -19
  116. package/dist/components/field.cjs.map +1 -1
  117. package/dist/components/field.js +64 -20
  118. package/dist/components/field.js.map +1 -1
  119. package/dist/components/file-preview.cjs +99 -36
  120. package/dist/components/file-preview.cjs.map +1 -1
  121. package/dist/components/file-preview.js +100 -37
  122. package/dist/components/file-preview.js.map +1 -1
  123. package/dist/components/floating-ball.cjs +100 -51
  124. package/dist/components/floating-ball.cjs.map +1 -1
  125. package/dist/components/floating-ball.js +101 -52
  126. package/dist/components/floating-ball.js.map +1 -1
  127. package/dist/components/form.cjs +73 -28
  128. package/dist/components/form.cjs.map +1 -1
  129. package/dist/components/form.js +74 -29
  130. package/dist/components/form.js.map +1 -1
  131. package/dist/components/gradient-text.cjs +51 -9
  132. package/dist/components/gradient-text.cjs.map +1 -1
  133. package/dist/components/gradient-text.js +52 -10
  134. package/dist/components/gradient-text.js.map +1 -1
  135. package/dist/components/height-transition.cjs +163 -0
  136. package/dist/components/height-transition.cjs.map +1 -0
  137. package/dist/components/height-transition.d.ts +2 -0
  138. package/dist/components/height-transition.d.ts.map +1 -0
  139. package/dist/components/height-transition.js +161 -0
  140. package/dist/components/height-transition.js.map +1 -0
  141. package/dist/components/input.cjs +63 -19
  142. package/dist/components/input.cjs.map +1 -1
  143. package/dist/components/input.js +64 -20
  144. package/dist/components/input.js.map +1 -1
  145. package/dist/components/lazy-image.cjs +62 -21
  146. package/dist/components/lazy-image.cjs.map +1 -1
  147. package/dist/components/lazy-image.js +63 -22
  148. package/dist/components/lazy-image.js.map +1 -1
  149. package/dist/components/live-room.cjs +100 -46
  150. package/dist/components/live-room.cjs.map +1 -1
  151. package/dist/components/live-room.js +101 -47
  152. package/dist/components/live-room.js.map +1 -1
  153. package/dist/components/loading.cjs +63 -19
  154. package/dist/components/loading.cjs.map +1 -1
  155. package/dist/components/loading.js +64 -20
  156. package/dist/components/loading.js.map +1 -1
  157. package/dist/components/marquee.cjs +64 -17
  158. package/dist/components/marquee.cjs.map +1 -1
  159. package/dist/components/marquee.js +65 -18
  160. package/dist/components/marquee.js.map +1 -1
  161. package/dist/components/masonry-virtual-list.cjs +72 -25
  162. package/dist/components/masonry-virtual-list.cjs.map +1 -1
  163. package/dist/components/masonry-virtual-list.js +73 -26
  164. package/dist/components/masonry-virtual-list.js.map +1 -1
  165. package/dist/components/menu.cjs +303 -0
  166. package/dist/components/menu.cjs.map +1 -0
  167. package/dist/components/menu.d.ts +2 -0
  168. package/dist/components/menu.d.ts.map +1 -0
  169. package/dist/components/menu.js +301 -0
  170. package/dist/components/menu.js.map +1 -0
  171. package/dist/components/modal.cjs +64 -19
  172. package/dist/components/modal.cjs.map +1 -1
  173. package/dist/components/modal.js +65 -20
  174. package/dist/components/modal.js.map +1 -1
  175. package/dist/components/multi-column-picker.cjs +78 -28
  176. package/dist/components/multi-column-picker.cjs.map +1 -1
  177. package/dist/components/multi-column-picker.js +79 -29
  178. package/dist/components/multi-column-picker.js.map +1 -1
  179. package/dist/components/novel-reader.cjs +96 -54
  180. package/dist/components/novel-reader.cjs.map +1 -1
  181. package/dist/components/novel-reader.js +97 -55
  182. package/dist/components/novel-reader.js.map +1 -1
  183. package/dist/components/number-input.cjs +67 -21
  184. package/dist/components/number-input.cjs.map +1 -1
  185. package/dist/components/number-input.js +68 -22
  186. package/dist/components/number-input.js.map +1 -1
  187. package/dist/components/orbital-sphere.cjs +172 -0
  188. package/dist/components/orbital-sphere.cjs.map +1 -0
  189. package/dist/components/orbital-sphere.d.ts +2 -0
  190. package/dist/components/orbital-sphere.d.ts.map +1 -0
  191. package/dist/components/orbital-sphere.js +170 -0
  192. package/dist/components/orbital-sphere.js.map +1 -0
  193. package/dist/components/pagination.cjs +49 -8
  194. package/dist/components/pagination.cjs.map +1 -1
  195. package/dist/components/pagination.js +50 -9
  196. package/dist/components/pagination.js.map +1 -1
  197. package/dist/components/password-input.cjs +74 -33
  198. package/dist/components/password-input.cjs.map +1 -1
  199. package/dist/components/password-input.js +75 -34
  200. package/dist/components/password-input.js.map +1 -1
  201. package/dist/components/popconfirm.cjs +121 -36
  202. package/dist/components/popconfirm.cjs.map +1 -1
  203. package/dist/components/popconfirm.js +122 -37
  204. package/dist/components/popconfirm.js.map +1 -1
  205. package/dist/components/popup.cjs +68 -24
  206. package/dist/components/popup.cjs.map +1 -1
  207. package/dist/components/popup.js +69 -25
  208. package/dist/components/popup.js.map +1 -1
  209. package/dist/components/progress-bar.cjs +76 -25
  210. package/dist/components/progress-bar.cjs.map +1 -1
  211. package/dist/components/progress-bar.js +77 -26
  212. package/dist/components/progress-bar.js.map +1 -1
  213. package/dist/components/qr-code.cjs +52 -10
  214. package/dist/components/qr-code.cjs.map +1 -1
  215. package/dist/components/qr-code.js +53 -11
  216. package/dist/components/qr-code.js.map +1 -1
  217. package/dist/components/radio-group.cjs +63 -19
  218. package/dist/components/radio-group.cjs.map +1 -1
  219. package/dist/components/radio-group.js +64 -20
  220. package/dist/components/radio-group.js.map +1 -1
  221. package/dist/components/rating.cjs +67 -22
  222. package/dist/components/rating.cjs.map +1 -1
  223. package/dist/components/rating.js +68 -23
  224. package/dist/components/rating.js.map +1 -1
  225. package/dist/components/rolling-number.cjs +49 -8
  226. package/dist/components/rolling-number.cjs.map +1 -1
  227. package/dist/components/rolling-number.js +50 -9
  228. package/dist/components/rolling-number.js.map +1 -1
  229. package/dist/components/select.cjs +69 -24
  230. package/dist/components/select.cjs.map +1 -1
  231. package/dist/components/select.js +70 -25
  232. package/dist/components/select.js.map +1 -1
  233. package/dist/components/signature.cjs +78 -29
  234. package/dist/components/signature.cjs.map +1 -1
  235. package/dist/components/signature.js +79 -30
  236. package/dist/components/signature.js.map +1 -1
  237. package/dist/components/skeleton.cjs +52 -10
  238. package/dist/components/skeleton.cjs.map +1 -1
  239. package/dist/components/skeleton.js +53 -11
  240. package/dist/components/skeleton.js.map +1 -1
  241. package/dist/components/slide-captcha.cjs +74 -24
  242. package/dist/components/slide-captcha.cjs.map +1 -1
  243. package/dist/components/slide-captcha.js +75 -25
  244. package/dist/components/slide-captcha.js.map +1 -1
  245. package/dist/components/swiper.cjs +75 -21
  246. package/dist/components/swiper.cjs.map +1 -1
  247. package/dist/components/swiper.js +76 -22
  248. package/dist/components/swiper.js.map +1 -1
  249. package/dist/components/switch.cjs +63 -19
  250. package/dist/components/switch.cjs.map +1 -1
  251. package/dist/components/switch.js +64 -20
  252. package/dist/components/switch.js.map +1 -1
  253. package/dist/components/table.cjs +105 -53
  254. package/dist/components/table.cjs.map +1 -1
  255. package/dist/components/table.js +106 -54
  256. package/dist/components/table.js.map +1 -1
  257. package/dist/components/tabs.cjs +91 -43
  258. package/dist/components/tabs.cjs.map +1 -1
  259. package/dist/components/tabs.js +92 -44
  260. package/dist/components/tabs.js.map +1 -1
  261. package/dist/components/tag.cjs +51 -9
  262. package/dist/components/tag.cjs.map +1 -1
  263. package/dist/components/tag.js +52 -10
  264. package/dist/components/tag.js.map +1 -1
  265. package/dist/components/textarea.cjs +63 -19
  266. package/dist/components/textarea.cjs.map +1 -1
  267. package/dist/components/textarea.js +64 -20
  268. package/dist/components/textarea.js.map +1 -1
  269. package/dist/components/theme-box.cjs +132 -0
  270. package/dist/components/theme-box.cjs.map +1 -0
  271. package/dist/components/theme-box.d.ts +2 -0
  272. package/dist/components/theme-box.d.ts.map +1 -0
  273. package/dist/components/theme-box.js +130 -0
  274. package/dist/components/theme-box.js.map +1 -0
  275. package/dist/components/tilt-card.cjs +88 -41
  276. package/dist/components/tilt-card.cjs.map +1 -1
  277. package/dist/components/tilt-card.js +89 -42
  278. package/dist/components/tilt-card.js.map +1 -1
  279. package/dist/components/timeline.cjs +64 -20
  280. package/dist/components/timeline.cjs.map +1 -1
  281. package/dist/components/timeline.js +65 -21
  282. package/dist/components/timeline.js.map +1 -1
  283. package/dist/components/toast.cjs +220 -35
  284. package/dist/components/toast.cjs.map +1 -1
  285. package/dist/components/toast.d.ts +1 -1
  286. package/dist/components/toast.d.ts.map +1 -1
  287. package/dist/components/toast.js +218 -36
  288. package/dist/components/toast.js.map +1 -1
  289. package/dist/components/tooltip.cjs +112 -29
  290. package/dist/components/tooltip.cjs.map +1 -1
  291. package/dist/components/tooltip.js +113 -30
  292. package/dist/components/tooltip.js.map +1 -1
  293. package/dist/components/typewriter-text.cjs +66 -24
  294. package/dist/components/typewriter-text.cjs.map +1 -1
  295. package/dist/components/typewriter-text.js +67 -25
  296. package/dist/components/typewriter-text.js.map +1 -1
  297. package/dist/components/upload.cjs +68 -22
  298. package/dist/components/upload.cjs.map +1 -1
  299. package/dist/components/upload.js +69 -23
  300. package/dist/components/upload.js.map +1 -1
  301. package/dist/components/verification-code.cjs +119 -69
  302. package/dist/components/verification-code.cjs.map +1 -1
  303. package/dist/components/verification-code.js +120 -70
  304. package/dist/components/verification-code.js.map +1 -1
  305. package/dist/components/video-detail-transition.cjs +80 -28
  306. package/dist/components/video-detail-transition.cjs.map +1 -1
  307. package/dist/components/video-detail-transition.js +81 -29
  308. package/dist/components/video-detail-transition.js.map +1 -1
  309. package/dist/components/video-player.cjs +76 -25
  310. package/dist/components/video-player.cjs.map +1 -1
  311. package/dist/components/video-player.js +77 -26
  312. package/dist/components/video-player.js.map +1 -1
  313. package/dist/components/virtual-list.cjs +86 -37
  314. package/dist/components/virtual-list.cjs.map +1 -1
  315. package/dist/components/virtual-list.js +87 -38
  316. package/dist/components/virtual-list.js.map +1 -1
  317. package/dist/components/virtual-select.cjs +71 -25
  318. package/dist/components/virtual-select.cjs.map +1 -1
  319. package/dist/components/virtual-select.js +72 -26
  320. package/dist/components/virtual-select.js.map +1 -1
  321. package/dist/components/virtual-table.cjs +105 -53
  322. package/dist/components/virtual-table.cjs.map +1 -1
  323. package/dist/components/virtual-table.js +106 -54
  324. package/dist/components/virtual-table.js.map +1 -1
  325. package/dist/components/width-transition.cjs +163 -0
  326. package/dist/components/width-transition.cjs.map +1 -0
  327. package/dist/components/width-transition.d.ts +2 -0
  328. package/dist/components/width-transition.d.ts.map +1 -0
  329. package/dist/components/width-transition.js +161 -0
  330. package/dist/components/width-transition.js.map +1 -0
  331. package/dist/import-transform-B8NYJq5a.js +150 -0
  332. package/dist/import-transform-B8NYJq5a.js.map +1 -0
  333. package/dist/{import-transform-DLby8nRN.js → import-transform-D0YbYGmj.js} +10 -4
  334. package/dist/import-transform-D0YbYGmj.js.map +1 -0
  335. package/dist/{import-transform-BiXH181o.js → import-transform-DgmJXsp_.js} +10 -4
  336. package/dist/import-transform-DgmJXsp_.js.map +1 -0
  337. package/dist/import-transform-DydmFGaG.js +152 -0
  338. package/dist/import-transform-DydmFGaG.js.map +1 -0
  339. package/dist/import-transform.d.ts.map +1 -1
  340. package/dist/index.cjs +2408 -1119
  341. package/dist/index.cjs.map +1 -1
  342. package/dist/index.d.ts +635 -9
  343. package/dist/index.d.ts.map +1 -1
  344. package/dist/index.js +2381 -1123
  345. package/dist/index.js.map +1 -1
  346. package/dist/styles/base.css +156 -185
  347. package/dist/styles/components/backtop.css +8 -14
  348. package/dist/styles/components/barcode.css +196 -0
  349. package/dist/styles/components/button.css +17 -29
  350. package/dist/styles/components/calendar.css +2 -25
  351. package/dist/styles/components/canvas-editor.css +20 -23
  352. package/dist/styles/components/canvas-image.css +0 -23
  353. package/dist/styles/components/chat-textarea.css +125 -0
  354. package/dist/styles/components/chat-virtual-list.css +12 -27
  355. package/dist/styles/components/checkbox.css +39 -30
  356. package/dist/styles/components/checked.css +39 -30
  357. package/dist/styles/components/code-preview.css +198 -0
  358. package/dist/styles/components/color-picker.css +45 -42
  359. package/dist/styles/components/comic-reader.css +5 -23
  360. package/dist/styles/components/config-provider.css +87 -1
  361. package/dist/styles/components/config-table.css +16 -68
  362. package/dist/styles/components/date-picker.css +45 -33
  363. package/dist/styles/components/date-range-picker.css +51 -37
  364. package/dist/styles/components/design-effect.css +28 -85
  365. package/dist/styles/components/drag-drop-board.css +6 -1
  366. package/dist/styles/components/draggable.css +3 -10
  367. package/dist/styles/components/ellipsis-text.css +6 -7
  368. package/dist/styles/components/empty.css +13 -27
  369. package/dist/styles/components/field.css +36 -27
  370. package/dist/styles/components/file-preview.css +10 -25
  371. package/dist/styles/components/form.css +36 -27
  372. package/dist/styles/components/gradient-text.css +6 -16
  373. package/dist/styles/components/height-transition.css +50 -0
  374. package/dist/styles/components/input.css +36 -27
  375. package/dist/styles/components/live-room.css +5 -19
  376. package/dist/styles/components/loading.css +50 -8
  377. package/dist/styles/components/marquee.css +4 -0
  378. package/dist/styles/components/masonry-virtual-list.css +0 -1
  379. package/dist/styles/components/menu.css +286 -0
  380. package/dist/styles/components/modal.css +10 -24
  381. package/dist/styles/components/multi-column-picker.css +5 -3
  382. package/dist/styles/components/novel-reader.css +5 -28
  383. package/dist/styles/components/number-input.css +36 -27
  384. package/dist/styles/components/orbital-sphere.css +224 -0
  385. package/dist/styles/components/password-input.css +42 -28
  386. package/dist/styles/components/popconfirm.css +5 -0
  387. package/dist/styles/components/popup.css +10 -25
  388. package/dist/styles/components/qr-code.css +196 -0
  389. package/dist/styles/components/radio-group.css +39 -30
  390. package/dist/styles/components/rating.css +41 -27
  391. package/dist/styles/components/select.css +40 -29
  392. package/dist/styles/components/signature.css +39 -35
  393. package/dist/styles/components/skeleton.css +8 -8
  394. package/dist/styles/components/slide-captcha.css +15 -54
  395. package/dist/styles/components/swiper.css +2 -3
  396. package/dist/styles/components/switch.css +39 -34
  397. package/dist/styles/components/table.css +16 -68
  398. package/dist/styles/components/tabs.css +10 -0
  399. package/dist/styles/components/tag.css +3 -12
  400. package/dist/styles/components/textarea.css +36 -27
  401. package/dist/styles/components/theme-box.css +39 -0
  402. package/dist/styles/components/tilt-card.css +3 -28
  403. package/dist/styles/components/toast.css +116 -49
  404. package/dist/styles/components/tooltip.css +8 -23
  405. package/dist/styles/components/typewriter-text.css +4 -0
  406. package/dist/styles/components/upload.css +37 -29
  407. package/dist/styles/components/verification-code.css +36 -27
  408. package/dist/styles/components/video-detail-transition.css +20 -2
  409. package/dist/styles/components/video-player.css +0 -5
  410. package/dist/styles/components/virtual-list.css +9 -13
  411. package/dist/styles/components/virtual-select.css +47 -35
  412. package/dist/styles/components/virtual-table.css +16 -68
  413. package/dist/styles/components/width-transition.css +50 -0
  414. package/dist/styles/components.css +1671 -802
  415. package/dist/styles/themes/business-blue.css +384 -0
  416. package/dist/styles/themes/cartoon-3d.css +626 -0
  417. package/dist/styles/themes/creative-purple.css +385 -0
  418. package/dist/styles/themes/dark-tech.css +492 -0
  419. package/dist/styles/themes/liquid-glass.css +447 -30
  420. package/dist/styles/themes/minimal.css +410 -14
  421. package/dist/styles/themes/soft-pink.css +385 -0
  422. package/dist/styles.css +1671 -802
  423. package/dist/vite.cjs +2 -2
  424. package/dist/vite.cjs.map +1 -1
  425. package/dist/vite.d.ts +1 -1
  426. package/dist/vite.js +2 -2
  427. package/dist/vite.js.map +1 -1
  428. package/dist/webpack-loader.cjs +5 -4
  429. package/dist/webpack-loader.cjs.map +1 -1
  430. package/dist/webpack-loader.js +5 -4
  431. package/dist/webpack-loader.js.map +1 -1
  432. package/dist/webpack.cjs +11 -6
  433. package/dist/webpack.cjs.map +1 -1
  434. package/dist/webpack.d.ts.map +1 -1
  435. package/dist/webpack.js +11 -6
  436. package/dist/webpack.js.map +1 -1
  437. package/package.json +4 -3
  438. package/dist/import-transform-BiXH181o.js.map +0 -1
  439. package/dist/import-transform-DLby8nRN.js.map +0 -1
  440. package/dist/styles/themes/amber.css +0 -19
  441. package/dist/styles/themes/emerald.css +0 -19
  442. package/dist/styles/themes/rose.css +0 -19
  443. package/dist/styles/themes/sky.css +0 -19
  444. package/dist/styles/themes/violet.css +0 -19
@@ -0,0 +1,303 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var core = require('@class-kit/core');
5
+
6
+ const classIconPaths = {
7
+ chevronDown: ["M6 9l6 6 6-6"],
8
+ chevronLeft: ["M15 18l-6-6 6-6"],
9
+ chevronRight: ["M9 18l6-6-6-6"],
10
+ chevronUp: ["M18 15l-6-6-6 6"],
11
+ check: ["M20 6 9 17l-5-5"],
12
+ settings: [
13
+ "M12 15.5A3.5 3.5 0 1 0 12 8a3.5 3.5 0 0 0 0 7.5Z",
14
+ "M19.4 15a1.8 1.8 0 0 0 .36 1.98l.04.04a2.18 2.18 0 0 1-3.08 3.08l-.04-.04a1.8 1.8 0 0 0-1.98-.36 1.8 1.8 0 0 0-1 1.62V21a2.2 2.2 0 0 1-4.4 0v-.06a1.8 1.8 0 0 0-1-1.62 1.8 1.8 0 0 0-1.98.36l-.04.04A2.18 2.18 0 0 1 3.2 16.64l.04-.04A1.8 1.8 0 0 0 3.6 14.6a1.8 1.8 0 0 0-1.62-1H2a2.2 2.2 0 0 1 0-4.4h.06a1.8 1.8 0 0 0 1.62-1 1.8 1.8 0 0 0-.36-1.98l-.04-.04A2.18 2.18 0 0 1 6.36 3.1l.04.04a1.8 1.8 0 0 0 1.98.36h.08A1.8 1.8 0 0 0 9.4 1.88V1.8a2.2 2.2 0 0 1 4.4 0v.06a1.8 1.8 0 0 0 1 1.62 1.8 1.8 0 0 0 1.98-.36l.04-.04A2.18 2.18 0 0 1 19.9 6.16l-.04.04a1.8 1.8 0 0 0-.36 1.98v.08a1.8 1.8 0 0 0 1.62.94h.08a2.2 2.2 0 0 1 0 4.4h-.06A1.8 1.8 0 0 0 19.4 15Z",
15
+ ],
16
+ star: [
17
+ "M12 2l3.09 6.26 6.91 1-5 4.87 1.18 6.87L12 17.77 5.82 21 7 14.13l-5-4.87 6.91-1L12 2Z",
18
+ ],
19
+ x: ["M18 6 6 18", "M6 6l12 12"],
20
+ };
21
+ function classIcon(name, className = "cc-icon") {
22
+ return vue.h("svg", {
23
+ "aria-hidden": "true",
24
+ class: className,
25
+ fill: name === "star" ? "currentColor" : "none",
26
+ focusable: "false",
27
+ viewBox: "0 0 24 24",
28
+ }, classIconPaths[name].map((d) => vue.h("path", {
29
+ d,
30
+ "stroke-linecap": "round",
31
+ "stroke-linejoin": "round",
32
+ "stroke-width": name === "star" ? 0 : 2,
33
+ stroke: "currentColor",
34
+ })));
35
+ }
36
+ function resolveClassKitThemeName(theme) {
37
+ var _a;
38
+ if (typeof theme === "string")
39
+ return theme;
40
+ return (_a = theme === null || theme === void 0 ? void 0 : theme.name) !== null && _a !== void 0 ? _a : "minimal";
41
+ }
42
+ function applyDocumentTheme(themeName) {
43
+ if (typeof document === "undefined")
44
+ return undefined;
45
+ const root = document.documentElement;
46
+ const previousTheme = root.getAttribute("data-cc-theme");
47
+ const previousPage = root.getAttribute("data-cc-theme-page");
48
+ root.setAttribute("data-cc-theme", themeName);
49
+ root.setAttribute("data-cc-theme-page", "true");
50
+ return () => {
51
+ if (previousTheme === null)
52
+ root.removeAttribute("data-cc-theme");
53
+ else
54
+ root.setAttribute("data-cc-theme", previousTheme);
55
+ if (previousPage === null)
56
+ root.removeAttribute("data-cc-theme-page");
57
+ else
58
+ root.setAttribute("data-cc-theme-page", previousPage);
59
+ };
60
+ }
61
+ vue.defineComponent({
62
+ name: "ClassConfigProvider",
63
+ props: {
64
+ applyGlobalTheme: {
65
+ type: Boolean,
66
+ default: true,
67
+ },
68
+ class: {
69
+ type: String,
70
+ default: "",
71
+ },
72
+ locale: {
73
+ type: Object,
74
+ default: undefined,
75
+ },
76
+ style: {
77
+ type: [String, Object, Array],
78
+ default: undefined,
79
+ },
80
+ theme: {
81
+ type: [String, Object],
82
+ default: "minimal",
83
+ },
84
+ },
85
+ setup(props, { slots }) {
86
+ const version = vue.ref(0);
87
+ let restoreDocumentTheme;
88
+ const applyConfig = () => {
89
+ core.configureClassComponents({
90
+ locale: props.locale,
91
+ theme: props.theme,
92
+ });
93
+ version.value += 1;
94
+ };
95
+ const applyGlobalTheme = () => {
96
+ restoreDocumentTheme === null || restoreDocumentTheme === void 0 ? void 0 : restoreDocumentTheme();
97
+ restoreDocumentTheme = props.applyGlobalTheme
98
+ ? applyDocumentTheme(resolveClassKitThemeName(props.theme))
99
+ : undefined;
100
+ };
101
+ vue.watch(() => [props.locale, props.theme], applyConfig, {
102
+ deep: true,
103
+ immediate: true,
104
+ });
105
+ vue.watch(() => [props.applyGlobalTheme, props.theme], applyGlobalTheme, {
106
+ deep: true,
107
+ immediate: true,
108
+ });
109
+ vue.onBeforeUnmount(() => {
110
+ restoreDocumentTheme === null || restoreDocumentTheme === void 0 ? void 0 : restoreDocumentTheme();
111
+ });
112
+ return () => {
113
+ var _a;
114
+ return vue.h("div", {
115
+ class: ["cc-config-provider", props.class].filter(Boolean),
116
+ "data-cc-theme": resolveClassKitThemeName(props.theme),
117
+ style: props.style,
118
+ }, [
119
+ vue.h("div", { key: version.value, class: "cc-config-provider__content" }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)),
120
+ ]);
121
+ };
122
+ },
123
+ });
124
+ const ClassHeightTransition = /*#__PURE__*/ vue.defineComponent({
125
+ name: "ClassHeightTransition",
126
+ inheritAttrs: false,
127
+ props: {
128
+ className: { type: String, default: "cc-height-transition" },
129
+ contentClass: { type: String, default: "cc-height-transition__content" },
130
+ duration: { type: Number, default: 220 },
131
+ easing: { type: String, default: "cubic-bezier(0.22, 0.8, 0.28, 1)" },
132
+ expanded: { type: Boolean, default: false },
133
+ mode: {
134
+ type: String,
135
+ default: "auto",
136
+ },
137
+ },
138
+ setup(props, { attrs, slots }) {
139
+ const contentRef = vue.ref(null);
140
+ const height = vue.ref(0);
141
+ const controller = new core.HeightTransitionController({
142
+ duration: props.duration,
143
+ easing: props.easing,
144
+ expanded: props.expanded,
145
+ mode: props.mode,
146
+ });
147
+ const state = vue.ref(controller.getState());
148
+ let observer;
149
+ const measure = () => {
150
+ var _a, _b;
151
+ height.value = (_b = (_a = contentRef.value) === null || _a === void 0 ? void 0 : _a.scrollHeight) !== null && _b !== void 0 ? _b : 0;
152
+ };
153
+ vue.watch(() => [props.duration, props.easing, props.expanded, props.mode], () => {
154
+ state.value = controller.update({
155
+ duration: props.duration,
156
+ easing: props.easing,
157
+ expanded: props.expanded,
158
+ mode: props.mode,
159
+ });
160
+ vue.nextTick(measure);
161
+ }, { immediate: true });
162
+ vue.onMounted(() => {
163
+ measure();
164
+ if (typeof ResizeObserver !== "undefined" && contentRef.value) {
165
+ observer = new ResizeObserver(measure);
166
+ observer.observe(contentRef.value);
167
+ }
168
+ });
169
+ vue.onBeforeUnmount(() => observer === null || observer === void 0 ? void 0 : observer.disconnect());
170
+ return () => {
171
+ var _a;
172
+ return vue.h("div", {
173
+ ...attrs,
174
+ class: props.className,
175
+ "data-expanded": state.value.expanded,
176
+ "data-mode": state.value.mode,
177
+ style: [
178
+ attrs.style,
179
+ {
180
+ "--cc-height-transition-duration": `${state.value.duration}ms`,
181
+ "--cc-height-transition-easing": state.value.easing,
182
+ "--cc-height-transition-height": `${height.value}px`,
183
+ },
184
+ ],
185
+ }, [
186
+ vue.h("div", { ref: contentRef, class: props.contentClass }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)),
187
+ ]);
188
+ };
189
+ },
190
+ });
191
+ function renderVueMenuItems(items, collapsed, slots, toggle, select) {
192
+ return items.map((item) => {
193
+ var _a, _b, _c;
194
+ const hasChildren = item.children.length > 0;
195
+ const icon = (_c = (_b = (_a = slots.icon) === null || _a === void 0 ? void 0 : _a.call(slots, { item })) !== null && _b !== void 0 ? _b : item.icon) !== null && _c !== void 0 ? _c : (collapsed ? item.label.slice(0, 1) : undefined);
196
+ return vue.h("li", {
197
+ class: "cc-menu__item",
198
+ "data-active": item.isActive,
199
+ "data-disabled": item.disabled,
200
+ "data-expanded": item.expanded,
201
+ "data-level": item.level,
202
+ key: item.key,
203
+ }, [
204
+ vue.h("button", {
205
+ "aria-current": item.isActive ? "page" : undefined,
206
+ "aria-expanded": hasChildren ? item.expanded : undefined,
207
+ class: "cc-menu__button",
208
+ disabled: item.disabled,
209
+ title: collapsed ? item.label : undefined,
210
+ type: "button",
211
+ onClick: () => {
212
+ if (hasChildren && !collapsed)
213
+ toggle(item.key);
214
+ select(item.key, item);
215
+ },
216
+ }, [
217
+ icon
218
+ ? vue.h("span", { class: "cc-menu__icon", "aria-hidden": "true" }, icon)
219
+ : null,
220
+ vue.h("span", { class: "cc-menu__label" }, item.label),
221
+ hasChildren ? classIcon("chevronDown", "cc-menu__arrow") : null,
222
+ ]),
223
+ hasChildren
224
+ ? vue.h(ClassHeightTransition, {
225
+ className: "cc-height-transition cc-menu__transition",
226
+ contentClass: "cc-height-transition__content cc-menu__transition-content",
227
+ duration: 180,
228
+ expanded: !collapsed && item.expanded,
229
+ mode: "grid",
230
+ }, () => vue.h("ul", { class: "cc-menu__list cc-menu__list--child" }, renderVueMenuItems(item.children, collapsed, slots, toggle, select)))
231
+ : null,
232
+ ]);
233
+ });
234
+ }
235
+ const ClassMenu = /*#__PURE__*/ vue.defineComponent({
236
+ name: "ClassMenu",
237
+ props: {
238
+ activeKey: String,
239
+ className: { type: String, default: "cc-menu" },
240
+ collapsed: Boolean,
241
+ collapsible: { type: Boolean, default: true },
242
+ defaultExpandedKeys: {
243
+ type: Array,
244
+ default: () => [],
245
+ },
246
+ items: { type: Array, default: () => [] },
247
+ },
248
+ emits: ["collapsed-change", "select", "update:activeKey", "update:collapsed"],
249
+ setup(props, { attrs, emit, slots }) {
250
+ const controller = new core.MenuController({
251
+ activeKey: props.activeKey,
252
+ collapsed: props.collapsed,
253
+ defaultExpandedKeys: props.defaultExpandedKeys,
254
+ items: props.items,
255
+ });
256
+ const state = vue.ref(controller.getState());
257
+ vue.watch(() => [
258
+ props.activeKey,
259
+ props.collapsed,
260
+ props.defaultExpandedKeys,
261
+ props.items,
262
+ ], () => {
263
+ state.value = controller.update({
264
+ activeKey: props.activeKey,
265
+ collapsed: props.collapsed,
266
+ defaultExpandedKeys: props.defaultExpandedKeys,
267
+ items: props.items,
268
+ });
269
+ }, { deep: true });
270
+ const toggle = (key) => {
271
+ state.value = controller.toggleExpanded(key);
272
+ };
273
+ const select = (key, item) => {
274
+ state.value = controller.activate(key);
275
+ emit("update:activeKey", key);
276
+ emit("select", key, item);
277
+ };
278
+ const toggleCollapsed = () => {
279
+ state.value = controller.toggleCollapsed();
280
+ emit("update:collapsed", state.value.collapsed);
281
+ emit("collapsed-change", state.value.collapsed);
282
+ };
283
+ return () => vue.h("nav", {
284
+ ...attrs,
285
+ class: props.className,
286
+ "data-collapsed": state.value.collapsed,
287
+ "data-collapsible": props.collapsible,
288
+ }, [
289
+ props.collapsible
290
+ ? vue.h("button", {
291
+ "aria-label": state.value.collapsed ? "展开菜单" : "收起菜单",
292
+ class: "cc-menu__collapse",
293
+ type: "button",
294
+ onClick: toggleCollapsed,
295
+ }, classIcon(state.value.collapsed ? "chevronRight" : "chevronLeft"))
296
+ : null,
297
+ vue.h("ul", { class: "cc-menu__list" }, renderVueMenuItems(state.value.items, state.value.collapsed, slots, toggle, select)),
298
+ ]);
299
+ },
300
+ });
301
+
302
+ exports.ClassMenu = ClassMenu;
303
+ //# sourceMappingURL=menu.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.cjs","sources":["../../src/index.ts"],"names":["h","defineComponent","ref","configureClassComponents","watch","onBeforeUnmount","HeightTransitionController","nextTick","onMounted","MenuController"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { ClassMenu } from "../index";
2
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/components/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,301 @@
1
+ import { defineComponent, ref, watch, onBeforeUnmount, h, nextTick, onMounted } from 'vue';
2
+ import { MenuController, configureClassComponents, HeightTransitionController } from '@class-kit/core';
3
+
4
+ const classIconPaths = {
5
+ chevronDown: ["M6 9l6 6 6-6"],
6
+ chevronLeft: ["M15 18l-6-6 6-6"],
7
+ chevronRight: ["M9 18l6-6-6-6"],
8
+ chevronUp: ["M18 15l-6-6-6 6"],
9
+ check: ["M20 6 9 17l-5-5"],
10
+ settings: [
11
+ "M12 15.5A3.5 3.5 0 1 0 12 8a3.5 3.5 0 0 0 0 7.5Z",
12
+ "M19.4 15a1.8 1.8 0 0 0 .36 1.98l.04.04a2.18 2.18 0 0 1-3.08 3.08l-.04-.04a1.8 1.8 0 0 0-1.98-.36 1.8 1.8 0 0 0-1 1.62V21a2.2 2.2 0 0 1-4.4 0v-.06a1.8 1.8 0 0 0-1-1.62 1.8 1.8 0 0 0-1.98.36l-.04.04A2.18 2.18 0 0 1 3.2 16.64l.04-.04A1.8 1.8 0 0 0 3.6 14.6a1.8 1.8 0 0 0-1.62-1H2a2.2 2.2 0 0 1 0-4.4h.06a1.8 1.8 0 0 0 1.62-1 1.8 1.8 0 0 0-.36-1.98l-.04-.04A2.18 2.18 0 0 1 6.36 3.1l.04.04a1.8 1.8 0 0 0 1.98.36h.08A1.8 1.8 0 0 0 9.4 1.88V1.8a2.2 2.2 0 0 1 4.4 0v.06a1.8 1.8 0 0 0 1 1.62 1.8 1.8 0 0 0 1.98-.36l.04-.04A2.18 2.18 0 0 1 19.9 6.16l-.04.04a1.8 1.8 0 0 0-.36 1.98v.08a1.8 1.8 0 0 0 1.62.94h.08a2.2 2.2 0 0 1 0 4.4h-.06A1.8 1.8 0 0 0 19.4 15Z",
13
+ ],
14
+ star: [
15
+ "M12 2l3.09 6.26 6.91 1-5 4.87 1.18 6.87L12 17.77 5.82 21 7 14.13l-5-4.87 6.91-1L12 2Z",
16
+ ],
17
+ x: ["M18 6 6 18", "M6 6l12 12"],
18
+ };
19
+ function classIcon(name, className = "cc-icon") {
20
+ return h("svg", {
21
+ "aria-hidden": "true",
22
+ class: className,
23
+ fill: name === "star" ? "currentColor" : "none",
24
+ focusable: "false",
25
+ viewBox: "0 0 24 24",
26
+ }, classIconPaths[name].map((d) => h("path", {
27
+ d,
28
+ "stroke-linecap": "round",
29
+ "stroke-linejoin": "round",
30
+ "stroke-width": name === "star" ? 0 : 2,
31
+ stroke: "currentColor",
32
+ })));
33
+ }
34
+ function resolveClassKitThemeName(theme) {
35
+ var _a;
36
+ if (typeof theme === "string")
37
+ return theme;
38
+ return (_a = theme === null || theme === void 0 ? void 0 : theme.name) !== null && _a !== void 0 ? _a : "minimal";
39
+ }
40
+ function applyDocumentTheme(themeName) {
41
+ if (typeof document === "undefined")
42
+ return undefined;
43
+ const root = document.documentElement;
44
+ const previousTheme = root.getAttribute("data-cc-theme");
45
+ const previousPage = root.getAttribute("data-cc-theme-page");
46
+ root.setAttribute("data-cc-theme", themeName);
47
+ root.setAttribute("data-cc-theme-page", "true");
48
+ return () => {
49
+ if (previousTheme === null)
50
+ root.removeAttribute("data-cc-theme");
51
+ else
52
+ root.setAttribute("data-cc-theme", previousTheme);
53
+ if (previousPage === null)
54
+ root.removeAttribute("data-cc-theme-page");
55
+ else
56
+ root.setAttribute("data-cc-theme-page", previousPage);
57
+ };
58
+ }
59
+ defineComponent({
60
+ name: "ClassConfigProvider",
61
+ props: {
62
+ applyGlobalTheme: {
63
+ type: Boolean,
64
+ default: true,
65
+ },
66
+ class: {
67
+ type: String,
68
+ default: "",
69
+ },
70
+ locale: {
71
+ type: Object,
72
+ default: undefined,
73
+ },
74
+ style: {
75
+ type: [String, Object, Array],
76
+ default: undefined,
77
+ },
78
+ theme: {
79
+ type: [String, Object],
80
+ default: "minimal",
81
+ },
82
+ },
83
+ setup(props, { slots }) {
84
+ const version = ref(0);
85
+ let restoreDocumentTheme;
86
+ const applyConfig = () => {
87
+ configureClassComponents({
88
+ locale: props.locale,
89
+ theme: props.theme,
90
+ });
91
+ version.value += 1;
92
+ };
93
+ const applyGlobalTheme = () => {
94
+ restoreDocumentTheme === null || restoreDocumentTheme === void 0 ? void 0 : restoreDocumentTheme();
95
+ restoreDocumentTheme = props.applyGlobalTheme
96
+ ? applyDocumentTheme(resolveClassKitThemeName(props.theme))
97
+ : undefined;
98
+ };
99
+ watch(() => [props.locale, props.theme], applyConfig, {
100
+ deep: true,
101
+ immediate: true,
102
+ });
103
+ watch(() => [props.applyGlobalTheme, props.theme], applyGlobalTheme, {
104
+ deep: true,
105
+ immediate: true,
106
+ });
107
+ onBeforeUnmount(() => {
108
+ restoreDocumentTheme === null || restoreDocumentTheme === void 0 ? void 0 : restoreDocumentTheme();
109
+ });
110
+ return () => {
111
+ var _a;
112
+ return h("div", {
113
+ class: ["cc-config-provider", props.class].filter(Boolean),
114
+ "data-cc-theme": resolveClassKitThemeName(props.theme),
115
+ style: props.style,
116
+ }, [
117
+ h("div", { key: version.value, class: "cc-config-provider__content" }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)),
118
+ ]);
119
+ };
120
+ },
121
+ });
122
+ const ClassHeightTransition = /*#__PURE__*/ defineComponent({
123
+ name: "ClassHeightTransition",
124
+ inheritAttrs: false,
125
+ props: {
126
+ className: { type: String, default: "cc-height-transition" },
127
+ contentClass: { type: String, default: "cc-height-transition__content" },
128
+ duration: { type: Number, default: 220 },
129
+ easing: { type: String, default: "cubic-bezier(0.22, 0.8, 0.28, 1)" },
130
+ expanded: { type: Boolean, default: false },
131
+ mode: {
132
+ type: String,
133
+ default: "auto",
134
+ },
135
+ },
136
+ setup(props, { attrs, slots }) {
137
+ const contentRef = ref(null);
138
+ const height = ref(0);
139
+ const controller = new HeightTransitionController({
140
+ duration: props.duration,
141
+ easing: props.easing,
142
+ expanded: props.expanded,
143
+ mode: props.mode,
144
+ });
145
+ const state = ref(controller.getState());
146
+ let observer;
147
+ const measure = () => {
148
+ var _a, _b;
149
+ height.value = (_b = (_a = contentRef.value) === null || _a === void 0 ? void 0 : _a.scrollHeight) !== null && _b !== void 0 ? _b : 0;
150
+ };
151
+ watch(() => [props.duration, props.easing, props.expanded, props.mode], () => {
152
+ state.value = controller.update({
153
+ duration: props.duration,
154
+ easing: props.easing,
155
+ expanded: props.expanded,
156
+ mode: props.mode,
157
+ });
158
+ nextTick(measure);
159
+ }, { immediate: true });
160
+ onMounted(() => {
161
+ measure();
162
+ if (typeof ResizeObserver !== "undefined" && contentRef.value) {
163
+ observer = new ResizeObserver(measure);
164
+ observer.observe(contentRef.value);
165
+ }
166
+ });
167
+ onBeforeUnmount(() => observer === null || observer === void 0 ? void 0 : observer.disconnect());
168
+ return () => {
169
+ var _a;
170
+ return h("div", {
171
+ ...attrs,
172
+ class: props.className,
173
+ "data-expanded": state.value.expanded,
174
+ "data-mode": state.value.mode,
175
+ style: [
176
+ attrs.style,
177
+ {
178
+ "--cc-height-transition-duration": `${state.value.duration}ms`,
179
+ "--cc-height-transition-easing": state.value.easing,
180
+ "--cc-height-transition-height": `${height.value}px`,
181
+ },
182
+ ],
183
+ }, [
184
+ h("div", { ref: contentRef, class: props.contentClass }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)),
185
+ ]);
186
+ };
187
+ },
188
+ });
189
+ function renderVueMenuItems(items, collapsed, slots, toggle, select) {
190
+ return items.map((item) => {
191
+ var _a, _b, _c;
192
+ const hasChildren = item.children.length > 0;
193
+ const icon = (_c = (_b = (_a = slots.icon) === null || _a === void 0 ? void 0 : _a.call(slots, { item })) !== null && _b !== void 0 ? _b : item.icon) !== null && _c !== void 0 ? _c : (collapsed ? item.label.slice(0, 1) : undefined);
194
+ return h("li", {
195
+ class: "cc-menu__item",
196
+ "data-active": item.isActive,
197
+ "data-disabled": item.disabled,
198
+ "data-expanded": item.expanded,
199
+ "data-level": item.level,
200
+ key: item.key,
201
+ }, [
202
+ h("button", {
203
+ "aria-current": item.isActive ? "page" : undefined,
204
+ "aria-expanded": hasChildren ? item.expanded : undefined,
205
+ class: "cc-menu__button",
206
+ disabled: item.disabled,
207
+ title: collapsed ? item.label : undefined,
208
+ type: "button",
209
+ onClick: () => {
210
+ if (hasChildren && !collapsed)
211
+ toggle(item.key);
212
+ select(item.key, item);
213
+ },
214
+ }, [
215
+ icon
216
+ ? h("span", { class: "cc-menu__icon", "aria-hidden": "true" }, icon)
217
+ : null,
218
+ h("span", { class: "cc-menu__label" }, item.label),
219
+ hasChildren ? classIcon("chevronDown", "cc-menu__arrow") : null,
220
+ ]),
221
+ hasChildren
222
+ ? h(ClassHeightTransition, {
223
+ className: "cc-height-transition cc-menu__transition",
224
+ contentClass: "cc-height-transition__content cc-menu__transition-content",
225
+ duration: 180,
226
+ expanded: !collapsed && item.expanded,
227
+ mode: "grid",
228
+ }, () => h("ul", { class: "cc-menu__list cc-menu__list--child" }, renderVueMenuItems(item.children, collapsed, slots, toggle, select)))
229
+ : null,
230
+ ]);
231
+ });
232
+ }
233
+ const ClassMenu = /*#__PURE__*/ defineComponent({
234
+ name: "ClassMenu",
235
+ props: {
236
+ activeKey: String,
237
+ className: { type: String, default: "cc-menu" },
238
+ collapsed: Boolean,
239
+ collapsible: { type: Boolean, default: true },
240
+ defaultExpandedKeys: {
241
+ type: Array,
242
+ default: () => [],
243
+ },
244
+ items: { type: Array, default: () => [] },
245
+ },
246
+ emits: ["collapsed-change", "select", "update:activeKey", "update:collapsed"],
247
+ setup(props, { attrs, emit, slots }) {
248
+ const controller = new MenuController({
249
+ activeKey: props.activeKey,
250
+ collapsed: props.collapsed,
251
+ defaultExpandedKeys: props.defaultExpandedKeys,
252
+ items: props.items,
253
+ });
254
+ const state = ref(controller.getState());
255
+ watch(() => [
256
+ props.activeKey,
257
+ props.collapsed,
258
+ props.defaultExpandedKeys,
259
+ props.items,
260
+ ], () => {
261
+ state.value = controller.update({
262
+ activeKey: props.activeKey,
263
+ collapsed: props.collapsed,
264
+ defaultExpandedKeys: props.defaultExpandedKeys,
265
+ items: props.items,
266
+ });
267
+ }, { deep: true });
268
+ const toggle = (key) => {
269
+ state.value = controller.toggleExpanded(key);
270
+ };
271
+ const select = (key, item) => {
272
+ state.value = controller.activate(key);
273
+ emit("update:activeKey", key);
274
+ emit("select", key, item);
275
+ };
276
+ const toggleCollapsed = () => {
277
+ state.value = controller.toggleCollapsed();
278
+ emit("update:collapsed", state.value.collapsed);
279
+ emit("collapsed-change", state.value.collapsed);
280
+ };
281
+ return () => h("nav", {
282
+ ...attrs,
283
+ class: props.className,
284
+ "data-collapsed": state.value.collapsed,
285
+ "data-collapsible": props.collapsible,
286
+ }, [
287
+ props.collapsible
288
+ ? h("button", {
289
+ "aria-label": state.value.collapsed ? "展开菜单" : "收起菜单",
290
+ class: "cc-menu__collapse",
291
+ type: "button",
292
+ onClick: toggleCollapsed,
293
+ }, classIcon(state.value.collapsed ? "chevronRight" : "chevronLeft"))
294
+ : null,
295
+ h("ul", { class: "cc-menu__list" }, renderVueMenuItems(state.value.items, state.value.collapsed, slots, toggle, select)),
296
+ ]);
297
+ },
298
+ });
299
+
300
+ export { ClassMenu };
301
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sources":["../../src/index.ts"],"names":[],"mappings":"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"}