@chenzy-design/svelte 0.1.0 → 0.2.1

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 (974) hide show
  1. package/README.md +66 -0
  2. package/dist/badge/Badge.svelte +5 -2
  3. package/dist/badge/Badge.svelte.d.ts.map +1 -1
  4. package/dist/components.json +1 -1
  5. package/package.json +9 -9
  6. package/dist/anchor/Anchor.a11y.test.d.ts +0 -2
  7. package/dist/anchor/Anchor.a11y.test.d.ts.map +0 -1
  8. package/dist/anchor/Anchor.a11y.test.js +0 -44
  9. package/dist/anchor/Anchor.kbd.test.d.ts +0 -2
  10. package/dist/anchor/Anchor.kbd.test.d.ts.map +0 -1
  11. package/dist/anchor/Anchor.kbd.test.js +0 -59
  12. package/dist/anchor/AnchorKbdFixture.svelte +0 -24
  13. package/dist/anchor/AnchorKbdFixture.svelte.d.ts +0 -19
  14. package/dist/anchor/AnchorKbdFixture.svelte.d.ts.map +0 -1
  15. package/dist/autocomplete/AutoComplete.a11y.test.d.ts +0 -2
  16. package/dist/autocomplete/AutoComplete.a11y.test.d.ts.map +0 -1
  17. package/dist/autocomplete/AutoComplete.a11y.test.js +0 -45
  18. package/dist/autocomplete/AutoComplete.kbd.test.d.ts +0 -2
  19. package/dist/autocomplete/AutoComplete.kbd.test.d.ts.map +0 -1
  20. package/dist/autocomplete/AutoComplete.kbd.test.js +0 -60
  21. package/dist/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
  22. package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts +0 -4
  23. package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts.map +0 -1
  24. package/dist/avatar/Avatar.a11y.test.d.ts +0 -2
  25. package/dist/avatar/Avatar.a11y.test.d.ts.map +0 -1
  26. package/dist/avatar/Avatar.a11y.test.js +0 -34
  27. package/dist/back-top/BackTop.a11y.test.d.ts +0 -2
  28. package/dist/back-top/BackTop.a11y.test.d.ts.map +0 -1
  29. package/dist/back-top/BackTop.a11y.test.js +0 -37
  30. package/dist/badge/Badge.a11y.test.d.ts +0 -2
  31. package/dist/badge/Badge.a11y.test.d.ts.map +0 -1
  32. package/dist/badge/Badge.a11y.test.js +0 -32
  33. package/dist/badge/BadgeA11yFixture.svelte +0 -18
  34. package/dist/badge/BadgeA11yFixture.svelte.d.ts +0 -7
  35. package/dist/badge/BadgeA11yFixture.svelte.d.ts.map +0 -1
  36. package/dist/banner/Banner.a11y.test.d.ts +0 -2
  37. package/dist/banner/Banner.a11y.test.d.ts.map +0 -1
  38. package/dist/banner/Banner.a11y.test.js +0 -43
  39. package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts +0 -2
  40. package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts.map +0 -1
  41. package/dist/breadcrumb/Breadcrumb.a11y.test.js +0 -31
  42. package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts +0 -2
  43. package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts.map +0 -1
  44. package/dist/breadcrumb/Breadcrumb.kbd.test.js +0 -37
  45. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
  46. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts +0 -19
  47. package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts.map +0 -1
  48. package/dist/button/Button.a11y.test.d.ts +0 -2
  49. package/dist/button/Button.a11y.test.d.ts.map +0 -1
  50. package/dist/button/Button.a11y.test.js +0 -49
  51. package/dist/calendar/Calendar.a11y.test.d.ts +0 -2
  52. package/dist/calendar/Calendar.a11y.test.d.ts.map +0 -1
  53. package/dist/calendar/Calendar.a11y.test.js +0 -46
  54. package/dist/calendar/Calendar.kbd.test.d.ts +0 -2
  55. package/dist/calendar/Calendar.kbd.test.d.ts.map +0 -1
  56. package/dist/calendar/Calendar.kbd.test.js +0 -50
  57. package/dist/calendar/CalendarKbdFixture.svelte +0 -23
  58. package/dist/calendar/CalendarKbdFixture.svelte.d.ts +0 -19
  59. package/dist/calendar/CalendarKbdFixture.svelte.d.ts.map +0 -1
  60. package/dist/card/Card.a11y.test.d.ts +0 -2
  61. package/dist/card/Card.a11y.test.d.ts.map +0 -1
  62. package/dist/card/Card.a11y.test.js +0 -35
  63. package/dist/carousel/Carousel.a11y.test.d.ts +0 -2
  64. package/dist/carousel/Carousel.a11y.test.d.ts.map +0 -1
  65. package/dist/carousel/Carousel.a11y.test.js +0 -43
  66. package/dist/carousel/Carousel.kbd.test.d.ts +0 -2
  67. package/dist/carousel/Carousel.kbd.test.d.ts.map +0 -1
  68. package/dist/carousel/Carousel.kbd.test.js +0 -51
  69. package/dist/carousel/CarouselA11yFixture.svelte +0 -25
  70. package/dist/carousel/CarouselA11yFixture.svelte.d.ts +0 -8
  71. package/dist/carousel/CarouselA11yFixture.svelte.d.ts.map +0 -1
  72. package/dist/carousel/CarouselKbdFixture.svelte +0 -24
  73. package/dist/carousel/CarouselKbdFixture.svelte.d.ts +0 -19
  74. package/dist/carousel/CarouselKbdFixture.svelte.d.ts.map +0 -1
  75. package/dist/cascader/Cascader.a11y.test.d.ts +0 -2
  76. package/dist/cascader/Cascader.a11y.test.d.ts.map +0 -1
  77. package/dist/cascader/Cascader.a11y.test.js +0 -55
  78. package/dist/cascader/Cascader.kbd.test.d.ts +0 -2
  79. package/dist/cascader/Cascader.kbd.test.d.ts.map +0 -1
  80. package/dist/cascader/Cascader.kbd.test.js +0 -47
  81. package/dist/cascader/CascaderKbdFixture.svelte +0 -31
  82. package/dist/cascader/CascaderKbdFixture.svelte.d.ts +0 -19
  83. package/dist/cascader/CascaderKbdFixture.svelte.d.ts.map +0 -1
  84. package/dist/checkbox/CheckboxGroup.a11y.test.d.ts +0 -2
  85. package/dist/checkbox/CheckboxGroup.a11y.test.d.ts.map +0 -1
  86. package/dist/checkbox/CheckboxGroup.a11y.test.js +0 -38
  87. package/dist/checkbox/CheckboxGroup.kbd.test.d.ts +0 -2
  88. package/dist/checkbox/CheckboxGroup.kbd.test.d.ts.map +0 -1
  89. package/dist/checkbox/CheckboxGroup.kbd.test.js +0 -33
  90. package/dist/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
  91. package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts +0 -19
  92. package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts.map +0 -1
  93. package/dist/collapse/Collapse.a11y.test.d.ts +0 -2
  94. package/dist/collapse/Collapse.a11y.test.d.ts.map +0 -1
  95. package/dist/collapse/Collapse.a11y.test.js +0 -46
  96. package/dist/collapse/Collapse.kbd.test.d.ts +0 -2
  97. package/dist/collapse/Collapse.kbd.test.d.ts.map +0 -1
  98. package/dist/collapse/Collapse.kbd.test.js +0 -70
  99. package/dist/collapse/CollapseA11yFixture.svelte +0 -27
  100. package/dist/collapse/CollapseA11yFixture.svelte.d.ts +0 -9
  101. package/dist/collapse/CollapseA11yFixture.svelte.d.ts.map +0 -1
  102. package/dist/collapse/CollapseKbdFixture.svelte +0 -25
  103. package/dist/collapse/CollapseKbdFixture.svelte.d.ts +0 -19
  104. package/dist/collapse/CollapseKbdFixture.svelte.d.ts.map +0 -1
  105. package/dist/color-picker/ColorPicker.a11y.test.d.ts +0 -2
  106. package/dist/color-picker/ColorPicker.a11y.test.d.ts.map +0 -1
  107. package/dist/color-picker/ColorPicker.a11y.test.js +0 -54
  108. package/dist/color-picker/ColorPicker.kbd.test.d.ts +0 -2
  109. package/dist/color-picker/ColorPicker.kbd.test.d.ts.map +0 -1
  110. package/dist/color-picker/ColorPicker.kbd.test.js +0 -59
  111. package/dist/color-picker/ColorPickerKbdFixture.svelte +0 -25
  112. package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts +0 -4
  113. package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts.map +0 -1
  114. package/dist/date-picker/DatePicker.a11y.test.d.ts +0 -2
  115. package/dist/date-picker/DatePicker.a11y.test.d.ts.map +0 -1
  116. package/dist/date-picker/DatePicker.a11y.test.js +0 -42
  117. package/dist/date-picker/DatePicker.kbd.test.d.ts +0 -2
  118. package/dist/date-picker/DatePicker.kbd.test.d.ts.map +0 -1
  119. package/dist/date-picker/DatePicker.kbd.test.js +0 -59
  120. package/dist/date-picker/DatePickerKbdFixture.svelte +0 -26
  121. package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts +0 -4
  122. package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts.map +0 -1
  123. package/dist/date-picker/RangePicker.kbd.test.d.ts +0 -2
  124. package/dist/date-picker/RangePicker.kbd.test.d.ts.map +0 -1
  125. package/dist/date-picker/RangePicker.kbd.test.js +0 -60
  126. package/dist/date-picker/RangePickerKbdFixture.svelte +0 -30
  127. package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts +0 -7
  128. package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts.map +0 -1
  129. package/dist/descriptions/Descriptions.a11y.test.d.ts +0 -2
  130. package/dist/descriptions/Descriptions.a11y.test.d.ts.map +0 -1
  131. package/dist/descriptions/Descriptions.a11y.test.js +0 -31
  132. package/dist/divider/Divider.a11y.test.d.ts +0 -2
  133. package/dist/divider/Divider.a11y.test.d.ts.map +0 -1
  134. package/dist/divider/Divider.a11y.test.js +0 -21
  135. package/dist/drawer/Drawer.a11y.test.d.ts +0 -2
  136. package/dist/drawer/Drawer.a11y.test.d.ts.map +0 -1
  137. package/dist/drawer/Drawer.a11y.test.js +0 -33
  138. package/dist/drawer/Drawer.kbd.test.d.ts +0 -2
  139. package/dist/drawer/Drawer.kbd.test.d.ts.map +0 -1
  140. package/dist/drawer/Drawer.kbd.test.js +0 -53
  141. package/dist/drawer/DrawerKbdFixture.svelte +0 -28
  142. package/dist/drawer/DrawerKbdFixture.svelte.d.ts +0 -4
  143. package/dist/drawer/DrawerKbdFixture.svelte.d.ts.map +0 -1
  144. package/dist/dropdown/Dropdown.a11y.test.d.ts +0 -2
  145. package/dist/dropdown/Dropdown.a11y.test.d.ts.map +0 -1
  146. package/dist/dropdown/Dropdown.a11y.test.js +0 -39
  147. package/dist/dropdown/Dropdown.kbd.test.d.ts +0 -2
  148. package/dist/dropdown/Dropdown.kbd.test.d.ts.map +0 -1
  149. package/dist/dropdown/Dropdown.kbd.test.js +0 -47
  150. package/dist/dropdown/DropdownA11yFixture.svelte +0 -24
  151. package/dist/dropdown/DropdownA11yFixture.svelte.d.ts +0 -11
  152. package/dist/dropdown/DropdownA11yFixture.svelte.d.ts.map +0 -1
  153. package/dist/dropdown/DropdownKbdFixture.svelte +0 -26
  154. package/dist/dropdown/DropdownKbdFixture.svelte.d.ts +0 -19
  155. package/dist/dropdown/DropdownKbdFixture.svelte.d.ts.map +0 -1
  156. package/dist/dropdown/types.test.d.ts +0 -2
  157. package/dist/dropdown/types.test.d.ts.map +0 -1
  158. package/dist/dropdown/types.test.js +0 -40
  159. package/dist/empty/Empty.a11y.test.d.ts +0 -2
  160. package/dist/empty/Empty.a11y.test.d.ts.map +0 -1
  161. package/dist/empty/Empty.a11y.test.js +0 -22
  162. package/dist/form/Form.a11y.test.d.ts +0 -2
  163. package/dist/form/Form.a11y.test.d.ts.map +0 -1
  164. package/dist/form/Form.a11y.test.js +0 -36
  165. package/dist/form/FormA11yFixture.svelte +0 -31
  166. package/dist/form/FormA11yFixture.svelte.d.ts +0 -19
  167. package/dist/form/FormA11yFixture.svelte.d.ts.map +0 -1
  168. package/dist/grid/Grid.a11y.test.d.ts +0 -2
  169. package/dist/grid/Grid.a11y.test.d.ts.map +0 -1
  170. package/dist/grid/Grid.a11y.test.js +0 -13
  171. package/dist/grid/GridA11yFixture.svelte +0 -12
  172. package/dist/grid/GridA11yFixture.svelte.d.ts +0 -19
  173. package/dist/grid/GridA11yFixture.svelte.d.ts.map +0 -1
  174. package/dist/highlight/Highlight.a11y.test.d.ts +0 -2
  175. package/dist/highlight/Highlight.a11y.test.d.ts.map +0 -1
  176. package/dist/highlight/Highlight.a11y.test.js +0 -23
  177. package/dist/image/Image.a11y.test.d.ts +0 -2
  178. package/dist/image/Image.a11y.test.d.ts.map +0 -1
  179. package/dist/image/Image.a11y.test.js +0 -27
  180. package/dist/image/ImagePreview.kbd.test.d.ts +0 -2
  181. package/dist/image/ImagePreview.kbd.test.d.ts.map +0 -1
  182. package/dist/image/ImagePreview.kbd.test.js +0 -44
  183. package/dist/image/ImagePreviewKbdFixture.svelte +0 -32
  184. package/dist/image/ImagePreviewKbdFixture.svelte.d.ts +0 -4
  185. package/dist/image/ImagePreviewKbdFixture.svelte.d.ts.map +0 -1
  186. package/dist/input/Input.a11y.test.d.ts +0 -2
  187. package/dist/input/Input.a11y.test.d.ts.map +0 -1
  188. package/dist/input/Input.a11y.test.js +0 -53
  189. package/dist/input-number/InputNumber.a11y.test.d.ts +0 -2
  190. package/dist/input-number/InputNumber.a11y.test.d.ts.map +0 -1
  191. package/dist/input-number/InputNumber.a11y.test.js +0 -40
  192. package/dist/input-number/InputNumber.kbd.test.d.ts +0 -2
  193. package/dist/input-number/InputNumber.kbd.test.d.ts.map +0 -1
  194. package/dist/input-number/InputNumber.kbd.test.js +0 -35
  195. package/dist/input-number/InputNumberKbdFixture.svelte +0 -15
  196. package/dist/input-number/InputNumberKbdFixture.svelte.d.ts +0 -19
  197. package/dist/input-number/InputNumberKbdFixture.svelte.d.ts.map +0 -1
  198. package/dist/layout/Layout.a11y.test.d.ts +0 -2
  199. package/dist/layout/Layout.a11y.test.d.ts.map +0 -1
  200. package/dist/layout/Layout.a11y.test.js +0 -32
  201. package/dist/layout/LayoutA11yFixture.svelte +0 -21
  202. package/dist/layout/LayoutA11yFixture.svelte.d.ts +0 -7
  203. package/dist/layout/LayoutA11yFixture.svelte.d.ts.map +0 -1
  204. package/dist/list/List.a11y.test.d.ts +0 -2
  205. package/dist/list/List.a11y.test.d.ts.map +0 -1
  206. package/dist/list/List.a11y.test.js +0 -62
  207. package/dist/list/List.bench.d.ts +0 -2
  208. package/dist/list/List.bench.d.ts.map +0 -1
  209. package/dist/list/List.bench.js +0 -16
  210. package/dist/list/List.kbd.test.d.ts +0 -2
  211. package/dist/list/List.kbd.test.d.ts.map +0 -1
  212. package/dist/list/List.kbd.test.js +0 -60
  213. package/dist/list/ListA11yFixture.svelte +0 -38
  214. package/dist/list/ListA11yFixture.svelte.d.ts +0 -10
  215. package/dist/list/ListA11yFixture.svelte.d.ts.map +0 -1
  216. package/dist/list/ListBenchFixture.svelte +0 -22
  217. package/dist/list/ListBenchFixture.svelte.d.ts +0 -7
  218. package/dist/list/ListBenchFixture.svelte.d.ts.map +0 -1
  219. package/dist/list/ListKbdFixture.svelte +0 -31
  220. package/dist/list/ListKbdFixture.svelte.d.ts +0 -19
  221. package/dist/list/ListKbdFixture.svelte.d.ts.map +0 -1
  222. package/dist/menu/Menu.a11y.test.d.ts +0 -2
  223. package/dist/menu/Menu.a11y.test.d.ts.map +0 -1
  224. package/dist/menu/Menu.a11y.test.js +0 -49
  225. package/dist/menu/Menu.kbd.test.d.ts +0 -2
  226. package/dist/menu/Menu.kbd.test.d.ts.map +0 -1
  227. package/dist/menu/Menu.kbd.test.js +0 -56
  228. package/dist/menu/MenuKbdFixture.svelte +0 -22
  229. package/dist/menu/MenuKbdFixture.svelte.d.ts +0 -19
  230. package/dist/menu/MenuKbdFixture.svelte.d.ts.map +0 -1
  231. package/dist/meta.test.d.ts +0 -2
  232. package/dist/meta.test.d.ts.map +0 -1
  233. package/dist/meta.test.js +0 -164
  234. package/dist/modal/Modal.a11y.test.d.ts +0 -2
  235. package/dist/modal/Modal.a11y.test.d.ts.map +0 -1
  236. package/dist/modal/Modal.a11y.test.js +0 -38
  237. package/dist/modal/Modal.kbd.test.d.ts +0 -2
  238. package/dist/modal/Modal.kbd.test.d.ts.map +0 -1
  239. package/dist/modal/Modal.kbd.test.js +0 -52
  240. package/dist/modal/ModalKbdFixture.svelte +0 -24
  241. package/dist/modal/ModalKbdFixture.svelte.d.ts +0 -4
  242. package/dist/modal/ModalKbdFixture.svelte.d.ts.map +0 -1
  243. package/dist/notification/NotificationItem.a11y.test.d.ts +0 -2
  244. package/dist/notification/NotificationItem.a11y.test.d.ts.map +0 -1
  245. package/dist/notification/NotificationItem.a11y.test.js +0 -64
  246. package/dist/overflow-list/OverflowList.a11y.test.d.ts +0 -2
  247. package/dist/overflow-list/OverflowList.a11y.test.d.ts.map +0 -1
  248. package/dist/overflow-list/OverflowList.a11y.test.js +0 -41
  249. package/dist/overflow-list/OverflowList.kbd.test.d.ts +0 -2
  250. package/dist/overflow-list/OverflowList.kbd.test.d.ts.map +0 -1
  251. package/dist/overflow-list/OverflowList.kbd.test.js +0 -28
  252. package/dist/overflow-list/OverflowListA11yFixture.svelte +0 -22
  253. package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts +0 -8
  254. package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts.map +0 -1
  255. package/dist/overflow-list/OverflowListKbdFixture.svelte +0 -21
  256. package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts +0 -19
  257. package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts.map +0 -1
  258. package/dist/pagination/Pagination.a11y.test.d.ts +0 -2
  259. package/dist/pagination/Pagination.a11y.test.d.ts.map +0 -1
  260. package/dist/pagination/Pagination.a11y.test.js +0 -57
  261. package/dist/pagination/Pagination.kbd.test.d.ts +0 -2
  262. package/dist/pagination/Pagination.kbd.test.d.ts.map +0 -1
  263. package/dist/pagination/Pagination.kbd.test.js +0 -54
  264. package/dist/pagination/PaginationKbdFixture.svelte +0 -15
  265. package/dist/pagination/PaginationKbdFixture.svelte.d.ts +0 -19
  266. package/dist/pagination/PaginationKbdFixture.svelte.d.ts.map +0 -1
  267. package/dist/popconfirm/Popconfirm.a11y.test.d.ts +0 -2
  268. package/dist/popconfirm/Popconfirm.a11y.test.d.ts.map +0 -1
  269. package/dist/popconfirm/Popconfirm.a11y.test.js +0 -37
  270. package/dist/popconfirm/Popconfirm.kbd.test.d.ts +0 -2
  271. package/dist/popconfirm/Popconfirm.kbd.test.d.ts.map +0 -1
  272. package/dist/popconfirm/Popconfirm.kbd.test.js +0 -36
  273. package/dist/popconfirm/PopconfirmA11yFixture.svelte +0 -34
  274. package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts +0 -11
  275. package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts.map +0 -1
  276. package/dist/popconfirm/PopconfirmKbdFixture.svelte +0 -17
  277. package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts +0 -19
  278. package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts.map +0 -1
  279. package/dist/popover/Popover.a11y.test.d.ts +0 -2
  280. package/dist/popover/Popover.a11y.test.d.ts.map +0 -1
  281. package/dist/popover/Popover.a11y.test.js +0 -47
  282. package/dist/popover/Popover.kbd.test.d.ts +0 -2
  283. package/dist/popover/Popover.kbd.test.d.ts.map +0 -1
  284. package/dist/popover/Popover.kbd.test.js +0 -36
  285. package/dist/popover/PopoverA11yFixture.svelte +0 -35
  286. package/dist/popover/PopoverA11yFixture.svelte.d.ts +0 -11
  287. package/dist/popover/PopoverA11yFixture.svelte.d.ts.map +0 -1
  288. package/dist/popover/PopoverKbdFixture.svelte +0 -18
  289. package/dist/popover/PopoverKbdFixture.svelte.d.ts +0 -19
  290. package/dist/popover/PopoverKbdFixture.svelte.d.ts.map +0 -1
  291. package/dist/progress/Progress.a11y.test.d.ts +0 -2
  292. package/dist/progress/Progress.a11y.test.d.ts.map +0 -1
  293. package/dist/progress/Progress.a11y.test.js +0 -34
  294. package/dist/radio/RadioGroup.a11y.test.d.ts +0 -2
  295. package/dist/radio/RadioGroup.a11y.test.d.ts.map +0 -1
  296. package/dist/radio/RadioGroup.a11y.test.js +0 -38
  297. package/dist/radio/RadioGroup.kbd.test.d.ts +0 -2
  298. package/dist/radio/RadioGroup.kbd.test.d.ts.map +0 -1
  299. package/dist/radio/RadioGroup.kbd.test.js +0 -59
  300. package/dist/radio/RadioGroupKbdFixture.svelte +0 -21
  301. package/dist/radio/RadioGroupKbdFixture.svelte.d.ts +0 -19
  302. package/dist/radio/RadioGroupKbdFixture.svelte.d.ts.map +0 -1
  303. package/dist/rating/Rating.a11y.test.d.ts +0 -2
  304. package/dist/rating/Rating.a11y.test.d.ts.map +0 -1
  305. package/dist/rating/Rating.a11y.test.js +0 -38
  306. package/dist/rating/Rating.kbd.test.d.ts +0 -2
  307. package/dist/rating/Rating.kbd.test.d.ts.map +0 -1
  308. package/dist/rating/Rating.kbd.test.js +0 -41
  309. package/dist/rating/RatingKbdFixture.svelte +0 -15
  310. package/dist/rating/RatingKbdFixture.svelte.d.ts +0 -19
  311. package/dist/rating/RatingKbdFixture.svelte.d.ts.map +0 -1
  312. package/dist/select/Select.a11y.test.d.ts +0 -2
  313. package/dist/select/Select.a11y.test.d.ts.map +0 -1
  314. package/dist/select/Select.a11y.test.js +0 -53
  315. package/dist/select/Select.kbd.test.d.ts +0 -2
  316. package/dist/select/Select.kbd.test.d.ts.map +0 -1
  317. package/dist/select/Select.kbd.test.js +0 -47
  318. package/dist/select/SelectKbdFixture.svelte +0 -29
  319. package/dist/select/SelectKbdFixture.svelte.d.ts +0 -4
  320. package/dist/select/SelectKbdFixture.svelte.d.ts.map +0 -1
  321. package/dist/side-sheet/SideSheet.a11y.test.d.ts +0 -2
  322. package/dist/side-sheet/SideSheet.a11y.test.d.ts.map +0 -1
  323. package/dist/side-sheet/SideSheet.a11y.test.js +0 -46
  324. package/dist/side-sheet/SideSheet.kbd.test.d.ts +0 -2
  325. package/dist/side-sheet/SideSheet.kbd.test.d.ts.map +0 -1
  326. package/dist/side-sheet/SideSheet.kbd.test.js +0 -49
  327. package/dist/side-sheet/SideSheetKbdFixture.svelte +0 -30
  328. package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts +0 -4
  329. package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts.map +0 -1
  330. package/dist/skeleton/Skeleton.a11y.test.d.ts +0 -2
  331. package/dist/skeleton/Skeleton.a11y.test.d.ts.map +0 -1
  332. package/dist/skeleton/Skeleton.a11y.test.js +0 -32
  333. package/dist/slider/Slider.a11y.test.d.ts +0 -2
  334. package/dist/slider/Slider.a11y.test.d.ts.map +0 -1
  335. package/dist/slider/Slider.a11y.test.js +0 -40
  336. package/dist/slider/Slider.kbd.test.d.ts +0 -2
  337. package/dist/slider/Slider.kbd.test.d.ts.map +0 -1
  338. package/dist/slider/Slider.kbd.test.js +0 -63
  339. package/dist/slider/SliderKbdFixture.svelte +0 -21
  340. package/dist/slider/SliderKbdFixture.svelte.d.ts +0 -19
  341. package/dist/slider/SliderKbdFixture.svelte.d.ts.map +0 -1
  342. package/dist/space/Space.a11y.test.d.ts +0 -2
  343. package/dist/space/Space.a11y.test.d.ts.map +0 -1
  344. package/dist/space/Space.a11y.test.js +0 -20
  345. package/dist/space/SpaceA11yFixture.svelte +0 -17
  346. package/dist/space/SpaceA11yFixture.svelte.d.ts +0 -7
  347. package/dist/space/SpaceA11yFixture.svelte.d.ts.map +0 -1
  348. package/dist/spin/Spin.a11y.test.d.ts +0 -2
  349. package/dist/spin/Spin.a11y.test.d.ts.map +0 -1
  350. package/dist/spin/Spin.a11y.test.js +0 -27
  351. package/dist/spin/SpinA11yFixture.svelte +0 -18
  352. package/dist/spin/SpinA11yFixture.svelte.d.ts +0 -7
  353. package/dist/spin/SpinA11yFixture.svelte.d.ts.map +0 -1
  354. package/dist/steps/Steps.a11y.test.d.ts +0 -2
  355. package/dist/steps/Steps.a11y.test.d.ts.map +0 -1
  356. package/dist/steps/Steps.a11y.test.js +0 -35
  357. package/dist/steps/Steps.kbd.test.d.ts +0 -2
  358. package/dist/steps/Steps.kbd.test.d.ts.map +0 -1
  359. package/dist/steps/Steps.kbd.test.js +0 -59
  360. package/dist/steps/StepsKbdFixture.svelte +0 -21
  361. package/dist/steps/StepsKbdFixture.svelte.d.ts +0 -19
  362. package/dist/steps/StepsKbdFixture.svelte.d.ts.map +0 -1
  363. package/dist/switch/Switch.a11y.test.d.ts +0 -2
  364. package/dist/switch/Switch.a11y.test.d.ts.map +0 -1
  365. package/dist/switch/Switch.a11y.test.js +0 -42
  366. package/dist/switch/Switch.kbd.test.d.ts +0 -2
  367. package/dist/switch/Switch.kbd.test.d.ts.map +0 -1
  368. package/dist/switch/Switch.kbd.test.js +0 -34
  369. package/dist/switch/SwitchKbdFixture.svelte +0 -22
  370. package/dist/switch/SwitchKbdFixture.svelte.d.ts +0 -4
  371. package/dist/switch/SwitchKbdFixture.svelte.d.ts.map +0 -1
  372. package/dist/table/Table.a11y.test.d.ts +0 -2
  373. package/dist/table/Table.a11y.test.d.ts.map +0 -1
  374. package/dist/table/Table.a11y.test.js +0 -59
  375. package/dist/table/Table.bench.d.ts +0 -2
  376. package/dist/table/Table.bench.d.ts.map +0 -1
  377. package/dist/table/Table.bench.js +0 -31
  378. package/dist/table/Table.kbd.test.d.ts +0 -2
  379. package/dist/table/Table.kbd.test.d.ts.map +0 -1
  380. package/dist/table/Table.kbd.test.js +0 -74
  381. package/dist/table/TableKbdFixture.svelte +0 -35
  382. package/dist/table/TableKbdFixture.svelte.d.ts +0 -19
  383. package/dist/table/TableKbdFixture.svelte.d.ts.map +0 -1
  384. package/dist/table/grid-nav.test.d.ts +0 -2
  385. package/dist/table/grid-nav.test.d.ts.map +0 -1
  386. package/dist/table/grid-nav.test.js +0 -133
  387. package/dist/tabs/Tabs.a11y.test.d.ts +0 -2
  388. package/dist/tabs/Tabs.a11y.test.d.ts.map +0 -1
  389. package/dist/tabs/Tabs.a11y.test.js +0 -43
  390. package/dist/tabs/Tabs.kbd.test.d.ts +0 -2
  391. package/dist/tabs/Tabs.kbd.test.d.ts.map +0 -1
  392. package/dist/tabs/Tabs.kbd.test.js +0 -63
  393. package/dist/tabs/TabsA11yFixture.svelte +0 -20
  394. package/dist/tabs/TabsA11yFixture.svelte.d.ts +0 -8
  395. package/dist/tabs/TabsA11yFixture.svelte.d.ts.map +0 -1
  396. package/dist/tabs/TabsKbdFixture.svelte +0 -25
  397. package/dist/tabs/TabsKbdFixture.svelte.d.ts +0 -7
  398. package/dist/tabs/TabsKbdFixture.svelte.d.ts.map +0 -1
  399. package/dist/tag/Tag.a11y.test.d.ts +0 -2
  400. package/dist/tag/Tag.a11y.test.d.ts.map +0 -1
  401. package/dist/tag/Tag.a11y.test.js +0 -30
  402. package/dist/tag/TagA11yFixture.svelte +0 -18
  403. package/dist/tag/TagA11yFixture.svelte.d.ts +0 -8
  404. package/dist/tag/TagA11yFixture.svelte.d.ts.map +0 -1
  405. package/dist/tag-input/TagInput.a11y.test.d.ts +0 -2
  406. package/dist/tag-input/TagInput.a11y.test.d.ts.map +0 -1
  407. package/dist/tag-input/TagInput.a11y.test.js +0 -38
  408. package/dist/tag-input/reorder.test.d.ts +0 -2
  409. package/dist/tag-input/reorder.test.d.ts.map +0 -1
  410. package/dist/tag-input/reorder.test.js +0 -48
  411. package/dist/test-utils/LocaleHarness.svelte +0 -29
  412. package/dist/test-utils/LocaleHarness.svelte.d.ts +0 -11
  413. package/dist/test-utils/LocaleHarness.svelte.d.ts.map +0 -1
  414. package/dist/test-utils/a11y.d.ts +0 -36
  415. package/dist/test-utils/a11y.d.ts.map +0 -1
  416. package/dist/test-utils/a11y.js +0 -68
  417. package/dist/test-utils/kbd.d.ts +0 -26
  418. package/dist/test-utils/kbd.d.ts.map +0 -1
  419. package/dist/test-utils/kbd.js +0 -38
  420. package/dist/textarea/TextArea.a11y.test.d.ts +0 -2
  421. package/dist/textarea/TextArea.a11y.test.d.ts.map +0 -1
  422. package/dist/textarea/TextArea.a11y.test.js +0 -41
  423. package/dist/time-picker/TimePicker.a11y.test.d.ts +0 -2
  424. package/dist/time-picker/TimePicker.a11y.test.d.ts.map +0 -1
  425. package/dist/time-picker/TimePicker.a11y.test.js +0 -42
  426. package/dist/time-picker/TimePicker.kbd.test.d.ts +0 -2
  427. package/dist/time-picker/TimePicker.kbd.test.d.ts.map +0 -1
  428. package/dist/time-picker/TimePicker.kbd.test.js +0 -59
  429. package/dist/time-picker/TimePickerKbdFixture.svelte +0 -23
  430. package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts +0 -4
  431. package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts.map +0 -1
  432. package/dist/timeline/Timeline.a11y.test.d.ts +0 -2
  433. package/dist/timeline/Timeline.a11y.test.d.ts.map +0 -1
  434. package/dist/timeline/Timeline.a11y.test.js +0 -51
  435. package/dist/toast/Toast.a11y.test.d.ts +0 -2
  436. package/dist/toast/Toast.a11y.test.d.ts.map +0 -1
  437. package/dist/toast/Toast.a11y.test.js +0 -58
  438. package/dist/tooltip/Tooltip.a11y.test.d.ts +0 -2
  439. package/dist/tooltip/Tooltip.a11y.test.d.ts.map +0 -1
  440. package/dist/tooltip/Tooltip.a11y.test.js +0 -33
  441. package/dist/tooltip/Tooltip.kbd.test.d.ts +0 -2
  442. package/dist/tooltip/Tooltip.kbd.test.d.ts.map +0 -1
  443. package/dist/tooltip/Tooltip.kbd.test.js +0 -31
  444. package/dist/tooltip/TooltipA11yFixture.svelte +0 -31
  445. package/dist/tooltip/TooltipA11yFixture.svelte.d.ts +0 -11
  446. package/dist/tooltip/TooltipA11yFixture.svelte.d.ts.map +0 -1
  447. package/dist/tooltip/TooltipKbdFixture.svelte +0 -16
  448. package/dist/tooltip/TooltipKbdFixture.svelte.d.ts +0 -19
  449. package/dist/tooltip/TooltipKbdFixture.svelte.d.ts.map +0 -1
  450. package/dist/transfer/Transfer.a11y.test.d.ts +0 -2
  451. package/dist/transfer/Transfer.a11y.test.d.ts.map +0 -1
  452. package/dist/transfer/Transfer.a11y.test.js +0 -59
  453. package/dist/transfer/Transfer.kbd.test.d.ts +0 -2
  454. package/dist/transfer/Transfer.kbd.test.d.ts.map +0 -1
  455. package/dist/transfer/Transfer.kbd.test.js +0 -64
  456. package/dist/transfer/TransferKbdFixture.svelte +0 -23
  457. package/dist/transfer/TransferKbdFixture.svelte.d.ts +0 -4
  458. package/dist/transfer/TransferKbdFixture.svelte.d.ts.map +0 -1
  459. package/dist/transfer/group.test.d.ts +0 -2
  460. package/dist/transfer/group.test.d.ts.map +0 -1
  461. package/dist/transfer/group.test.js +0 -47
  462. package/dist/transfer/reorder.test.d.ts +0 -2
  463. package/dist/transfer/reorder.test.d.ts.map +0 -1
  464. package/dist/transfer/reorder.test.js +0 -42
  465. package/dist/transfer/tree.test.d.ts +0 -2
  466. package/dist/transfer/tree.test.d.ts.map +0 -1
  467. package/dist/transfer/tree.test.js +0 -39
  468. package/dist/tree/Tree.a11y.test.d.ts +0 -2
  469. package/dist/tree/Tree.a11y.test.d.ts.map +0 -1
  470. package/dist/tree/Tree.a11y.test.js +0 -56
  471. package/dist/tree/Tree.kbd.test.d.ts +0 -2
  472. package/dist/tree/Tree.kbd.test.d.ts.map +0 -1
  473. package/dist/tree/Tree.kbd.test.js +0 -78
  474. package/dist/tree/TreeKbdFixture.svelte +0 -30
  475. package/dist/tree/TreeKbdFixture.svelte.d.ts +0 -19
  476. package/dist/tree/TreeKbdFixture.svelte.d.ts.map +0 -1
  477. package/dist/tree-select/TreeSelect.a11y.test.d.ts +0 -2
  478. package/dist/tree-select/TreeSelect.a11y.test.d.ts.map +0 -1
  479. package/dist/tree-select/TreeSelect.a11y.test.js +0 -48
  480. package/dist/tree-select/TreeSelect.kbd.test.d.ts +0 -2
  481. package/dist/tree-select/TreeSelect.kbd.test.d.ts.map +0 -1
  482. package/dist/tree-select/TreeSelect.kbd.test.js +0 -46
  483. package/dist/tree-select/TreeSelectKbdFixture.svelte +0 -20
  484. package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts +0 -19
  485. package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts.map +0 -1
  486. package/dist/tree-select/virtual.test.d.ts +0 -2
  487. package/dist/tree-select/virtual.test.d.ts.map +0 -1
  488. package/dist/tree-select/virtual.test.js +0 -86
  489. package/dist/typography/Typography.a11y.test.d.ts +0 -2
  490. package/dist/typography/Typography.a11y.test.d.ts.map +0 -1
  491. package/dist/typography/Typography.a11y.test.js +0 -31
  492. package/dist/typography/TypographyA11yFixture.svelte +0 -27
  493. package/dist/typography/TypographyA11yFixture.svelte.d.ts +0 -9
  494. package/dist/typography/TypographyA11yFixture.svelte.d.ts.map +0 -1
  495. package/dist/upload/Upload.a11y.test.d.ts +0 -2
  496. package/dist/upload/Upload.a11y.test.d.ts.map +0 -1
  497. package/dist/upload/Upload.a11y.test.js +0 -49
  498. package/dist/upload/UploadA11yFixture.svelte +0 -23
  499. package/dist/upload/UploadA11yFixture.svelte.d.ts +0 -10
  500. package/dist/upload/UploadA11yFixture.svelte.d.ts.map +0 -1
  501. package/src/_floating/use-floating.ts +0 -208
  502. package/src/anchor/Anchor.a11y.test.ts +0 -49
  503. package/src/anchor/Anchor.kbd.test.ts +0 -70
  504. package/src/anchor/Anchor.svelte +0 -359
  505. package/src/anchor/AnchorKbdFixture.svelte +0 -24
  506. package/src/anchor/index.ts +0 -3
  507. package/src/anchor/meta.ts +0 -70
  508. package/src/anchor/types.ts +0 -8
  509. package/src/autocomplete/AutoComplete.a11y.test.ts +0 -49
  510. package/src/autocomplete/AutoComplete.kbd.test.ts +0 -69
  511. package/src/autocomplete/AutoComplete.svelte +0 -706
  512. package/src/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
  513. package/src/autocomplete/index.ts +0 -2
  514. package/src/autocomplete/meta.ts +0 -41
  515. package/src/avatar/Avatar.a11y.test.ts +0 -37
  516. package/src/avatar/Avatar.svelte +0 -315
  517. package/src/avatar/AvatarGroup.svelte +0 -142
  518. package/src/avatar/context.ts +0 -21
  519. package/src/avatar/index.ts +0 -10
  520. package/src/avatar/meta.ts +0 -73
  521. package/src/back-top/BackTop.a11y.test.ts +0 -40
  522. package/src/back-top/BackTop.svelte +0 -314
  523. package/src/back-top/index.ts +0 -2
  524. package/src/back-top/meta.ts +0 -108
  525. package/src/badge/Badge.a11y.test.ts +0 -35
  526. package/src/badge/Badge.svelte +0 -328
  527. package/src/badge/BadgeA11yFixture.svelte +0 -18
  528. package/src/badge/index.ts +0 -2
  529. package/src/badge/meta.ts +0 -62
  530. package/src/banner/Banner.a11y.test.ts +0 -48
  531. package/src/banner/Banner.svelte +0 -368
  532. package/src/banner/index.ts +0 -3
  533. package/src/banner/meta.ts +0 -121
  534. package/src/breadcrumb/Breadcrumb.a11y.test.ts +0 -35
  535. package/src/breadcrumb/Breadcrumb.kbd.test.ts +0 -45
  536. package/src/breadcrumb/Breadcrumb.svelte +0 -414
  537. package/src/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
  538. package/src/breadcrumb/Item.svelte +0 -77
  539. package/src/breadcrumb/context.ts +0 -27
  540. package/src/breadcrumb/index.ts +0 -21
  541. package/src/breadcrumb/meta.ts +0 -128
  542. package/src/breadcrumb/types.ts +0 -4
  543. package/src/button/Button.a11y.test.ts +0 -54
  544. package/src/button/Button.svelte +0 -176
  545. package/src/button/index.ts +0 -2
  546. package/src/button/meta.ts +0 -28
  547. package/src/calendar/Calendar.a11y.test.ts +0 -51
  548. package/src/calendar/Calendar.kbd.test.ts +0 -59
  549. package/src/calendar/Calendar.svelte +0 -1344
  550. package/src/calendar/CalendarKbdFixture.svelte +0 -23
  551. package/src/calendar/index.ts +0 -3
  552. package/src/calendar/meta.ts +0 -117
  553. package/src/card/Card.a11y.test.ts +0 -38
  554. package/src/card/Card.svelte +0 -341
  555. package/src/card/CardMeta.svelte +0 -60
  556. package/src/card/index.ts +0 -8
  557. package/src/card/meta.ts +0 -83
  558. package/src/carousel/Carousel.a11y.test.ts +0 -53
  559. package/src/carousel/Carousel.kbd.test.ts +0 -67
  560. package/src/carousel/Carousel.svelte +0 -806
  561. package/src/carousel/CarouselA11yFixture.svelte +0 -25
  562. package/src/carousel/CarouselKbdFixture.svelte +0 -24
  563. package/src/carousel/index.ts +0 -2
  564. package/src/carousel/meta.ts +0 -74
  565. package/src/cascader/Cascader.a11y.test.ts +0 -59
  566. package/src/cascader/Cascader.kbd.test.ts +0 -56
  567. package/src/cascader/Cascader.svelte +0 -1570
  568. package/src/cascader/CascaderKbdFixture.svelte +0 -31
  569. package/src/cascader/index.ts +0 -3
  570. package/src/cascader/meta.ts +0 -57
  571. package/src/cascader/types.ts +0 -9
  572. package/src/checkbox/Checkbox.svelte +0 -281
  573. package/src/checkbox/CheckboxGroup.a11y.test.ts +0 -43
  574. package/src/checkbox/CheckboxGroup.kbd.test.ts +0 -40
  575. package/src/checkbox/CheckboxGroup.svelte +0 -122
  576. package/src/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
  577. package/src/checkbox/context.ts +0 -31
  578. package/src/checkbox/index.ts +0 -4
  579. package/src/checkbox/meta.ts +0 -67
  580. package/src/collapse/Collapse.a11y.test.ts +0 -53
  581. package/src/collapse/Collapse.kbd.test.ts +0 -89
  582. package/src/collapse/Collapse.svelte +0 -406
  583. package/src/collapse/CollapseA11yFixture.svelte +0 -27
  584. package/src/collapse/CollapseKbdFixture.svelte +0 -25
  585. package/src/collapse/CollapsePanel.svelte +0 -102
  586. package/src/collapse/context.ts +0 -54
  587. package/src/collapse/index.ts +0 -17
  588. package/src/collapse/meta.ts +0 -79
  589. package/src/collapse/types.ts +0 -5
  590. package/src/color-picker/ColorPicker.a11y.test.ts +0 -60
  591. package/src/color-picker/ColorPicker.kbd.test.ts +0 -73
  592. package/src/color-picker/ColorPicker.svelte +0 -985
  593. package/src/color-picker/ColorPickerKbdFixture.svelte +0 -25
  594. package/src/color-picker/index.ts +0 -2
  595. package/src/color-picker/meta.ts +0 -47
  596. package/src/config-provider/ConfigProvider.svelte +0 -227
  597. package/src/config-provider/context.ts +0 -29
  598. package/src/config-provider/index.ts +0 -48
  599. package/src/config-provider/meta.ts +0 -128
  600. package/src/date-picker/DatePicker.a11y.test.ts +0 -45
  601. package/src/date-picker/DatePicker.kbd.test.ts +0 -71
  602. package/src/date-picker/DatePicker.svelte +0 -1798
  603. package/src/date-picker/DatePickerKbdFixture.svelte +0 -26
  604. package/src/date-picker/RangePicker.kbd.test.ts +0 -69
  605. package/src/date-picker/RangePicker.svelte +0 -775
  606. package/src/date-picker/RangePickerKbdFixture.svelte +0 -30
  607. package/src/date-picker/index.ts +0 -4
  608. package/src/date-picker/meta.ts +0 -67
  609. package/src/date-picker/range-meta.ts +0 -44
  610. package/src/descriptions/Descriptions.a11y.test.ts +0 -33
  611. package/src/descriptions/Descriptions.svelte +0 -287
  612. package/src/descriptions/DescriptionsItem.svelte +0 -43
  613. package/src/descriptions/context.ts +0 -21
  614. package/src/descriptions/index.ts +0 -16
  615. package/src/descriptions/meta.ts +0 -45
  616. package/src/descriptions/types.ts +0 -6
  617. package/src/divider/Divider.a11y.test.ts +0 -23
  618. package/src/divider/Divider.svelte +0 -154
  619. package/src/divider/index.ts +0 -2
  620. package/src/divider/meta.ts +0 -23
  621. package/src/drawer/Drawer.a11y.test.ts +0 -41
  622. package/src/drawer/Drawer.kbd.test.ts +0 -67
  623. package/src/drawer/Drawer.svelte +0 -554
  624. package/src/drawer/DrawerKbdFixture.svelte +0 -28
  625. package/src/drawer/index.ts +0 -2
  626. package/src/drawer/meta.ts +0 -127
  627. package/src/dropdown/Dropdown.a11y.test.ts +0 -46
  628. package/src/dropdown/Dropdown.kbd.test.ts +0 -56
  629. package/src/dropdown/Dropdown.svelte +0 -573
  630. package/src/dropdown/DropdownA11yFixture.svelte +0 -24
  631. package/src/dropdown/DropdownDivider.svelte +0 -17
  632. package/src/dropdown/DropdownItem.svelte +0 -127
  633. package/src/dropdown/DropdownItemNode.svelte +0 -355
  634. package/src/dropdown/DropdownKbdFixture.svelte +0 -26
  635. package/src/dropdown/DropdownMenu.svelte +0 -24
  636. package/src/dropdown/DropdownSubMenu.svelte +0 -212
  637. package/src/dropdown/DropdownTitle.svelte +0 -34
  638. package/src/dropdown/context.ts +0 -13
  639. package/src/dropdown/index.ts +0 -36
  640. package/src/dropdown/meta.ts +0 -97
  641. package/src/dropdown/types.test.ts +0 -50
  642. package/src/dropdown/types.ts +0 -67
  643. package/src/empty/Empty.a11y.test.ts +0 -24
  644. package/src/empty/Empty.svelte +0 -304
  645. package/src/empty/index.ts +0 -2
  646. package/src/empty/meta.ts +0 -41
  647. package/src/form/Field.svelte +0 -492
  648. package/src/form/FieldArray.svelte +0 -75
  649. package/src/form/Form.a11y.test.ts +0 -39
  650. package/src/form/Form.svelte +0 -243
  651. package/src/form/FormA11yFixture.svelte +0 -31
  652. package/src/form/FormCascader.svelte +0 -82
  653. package/src/form/FormCheckbox.svelte +0 -83
  654. package/src/form/FormDatePicker.svelte +0 -80
  655. package/src/form/FormErrorMessage.svelte +0 -44
  656. package/src/form/FormInput.svelte +0 -95
  657. package/src/form/FormLabel.svelte +0 -46
  658. package/src/form/FormRadio.svelte +0 -83
  659. package/src/form/FormRating.svelte +0 -85
  660. package/src/form/FormSection.svelte +0 -45
  661. package/src/form/FormSelect.svelte +0 -96
  662. package/src/form/FormSlider.svelte +0 -95
  663. package/src/form/FormSlot.svelte +0 -51
  664. package/src/form/FormSwitch.svelte +0 -82
  665. package/src/form/FormTagInput.svelte +0 -79
  666. package/src/form/FormTreeSelect.svelte +0 -85
  667. package/src/form/FormUpload.svelte +0 -92
  668. package/src/form/context.ts +0 -47
  669. package/src/form/index.ts +0 -22
  670. package/src/form/meta.ts +0 -85
  671. package/src/grid/Col.svelte +0 -142
  672. package/src/grid/Grid.a11y.test.ts +0 -14
  673. package/src/grid/GridA11yFixture.svelte +0 -12
  674. package/src/grid/Row.svelte +0 -116
  675. package/src/grid/index.ts +0 -3
  676. package/src/grid/meta.ts +0 -72
  677. package/src/grid/use-breakpoint.svelte.ts +0 -48
  678. package/src/highlight/Highlight.a11y.test.ts +0 -25
  679. package/src/highlight/Highlight.svelte +0 -99
  680. package/src/highlight/index.ts +0 -2
  681. package/src/highlight/meta.ts +0 -80
  682. package/src/icon/Icon.svelte +0 -156
  683. package/src/icon/index.ts +0 -2
  684. package/src/icon/meta.ts +0 -41
  685. package/src/image/Image.a11y.test.ts +0 -30
  686. package/src/image/Image.svelte +0 -387
  687. package/src/image/ImagePreview.kbd.test.ts +0 -52
  688. package/src/image/ImagePreview.svelte +0 -309
  689. package/src/image/ImagePreviewGroup.svelte +0 -93
  690. package/src/image/ImagePreviewKbdFixture.svelte +0 -32
  691. package/src/image/context.ts +0 -26
  692. package/src/image/index.ts +0 -15
  693. package/src/image/meta.ts +0 -131
  694. package/src/index.ts +0 -208
  695. package/src/input/Input.a11y.test.ts +0 -58
  696. package/src/input/Input.svelte +0 -505
  697. package/src/input/index.ts +0 -2
  698. package/src/input/meta.ts +0 -40
  699. package/src/input-number/InputNumber.a11y.test.ts +0 -43
  700. package/src/input-number/InputNumber.kbd.test.ts +0 -41
  701. package/src/input-number/InputNumber.svelte +0 -674
  702. package/src/input-number/InputNumberKbdFixture.svelte +0 -15
  703. package/src/input-number/index.ts +0 -2
  704. package/src/input-number/meta.ts +0 -65
  705. package/src/layout/Content.svelte +0 -37
  706. package/src/layout/Footer.svelte +0 -49
  707. package/src/layout/Header.svelte +0 -46
  708. package/src/layout/Layout.a11y.test.ts +0 -34
  709. package/src/layout/Layout.svelte +0 -60
  710. package/src/layout/LayoutA11yFixture.svelte +0 -21
  711. package/src/layout/Sider.svelte +0 -207
  712. package/src/layout/index.ts +0 -26
  713. package/src/layout/meta.ts +0 -116
  714. package/src/list/List.a11y.test.ts +0 -69
  715. package/src/list/List.bench.ts +0 -26
  716. package/src/list/List.kbd.test.ts +0 -71
  717. package/src/list/List.svelte +0 -920
  718. package/src/list/ListA11yFixture.svelte +0 -38
  719. package/src/list/ListBenchFixture.svelte +0 -22
  720. package/src/list/ListItem.svelte +0 -175
  721. package/src/list/ListKbdFixture.svelte +0 -31
  722. package/src/list/ListMeta.svelte +0 -73
  723. package/src/list/context.ts +0 -39
  724. package/src/list/index.ts +0 -21
  725. package/src/list/meta.ts +0 -99
  726. package/src/locale-provider/LocaleProvider.svelte +0 -110
  727. package/src/locale-provider/context.ts +0 -22
  728. package/src/locale-provider/index.ts +0 -21
  729. package/src/locale-provider/meta.ts +0 -93
  730. package/src/locale-provider/use-locale.ts +0 -25
  731. package/src/lottie-icon/LottieIcon.svelte +0 -330
  732. package/src/lottie-icon/index.ts +0 -9
  733. package/src/lottie-icon/meta.ts +0 -162
  734. package/src/menu/Menu.a11y.test.ts +0 -54
  735. package/src/menu/Menu.kbd.test.ts +0 -69
  736. package/src/menu/Menu.svelte +0 -762
  737. package/src/menu/MenuKbdFixture.svelte +0 -22
  738. package/src/menu/MenuPopupNode.svelte +0 -525
  739. package/src/menu/index.ts +0 -4
  740. package/src/menu/meta.ts +0 -137
  741. package/src/menu/types.ts +0 -120
  742. package/src/meta.test.ts +0 -173
  743. package/src/modal/ConfirmModal.svelte +0 -173
  744. package/src/modal/Modal.a11y.test.ts +0 -46
  745. package/src/modal/Modal.kbd.test.ts +0 -65
  746. package/src/modal/Modal.svelte +0 -511
  747. package/src/modal/ModalKbdFixture.svelte +0 -24
  748. package/src/modal/command.svelte.ts +0 -103
  749. package/src/modal/index.ts +0 -30
  750. package/src/modal/meta.ts +0 -165
  751. package/src/modal/z-stack.ts +0 -26
  752. package/src/notification/NotificationContainer.svelte +0 -192
  753. package/src/notification/NotificationItem.a11y.test.ts +0 -73
  754. package/src/notification/NotificationItem.svelte +0 -368
  755. package/src/notification/index.ts +0 -9
  756. package/src/notification/meta.ts +0 -120
  757. package/src/notification/store.ts +0 -191
  758. package/src/overflow-list/OverflowList.a11y.test.ts +0 -46
  759. package/src/overflow-list/OverflowList.kbd.test.ts +0 -34
  760. package/src/overflow-list/OverflowList.svelte +0 -539
  761. package/src/overflow-list/OverflowListA11yFixture.svelte +0 -22
  762. package/src/overflow-list/OverflowListKbdFixture.svelte +0 -21
  763. package/src/overflow-list/index.ts +0 -2
  764. package/src/overflow-list/meta.ts +0 -138
  765. package/src/pagination/Pagination.a11y.test.ts +0 -62
  766. package/src/pagination/Pagination.kbd.test.ts +0 -66
  767. package/src/pagination/Pagination.svelte +0 -428
  768. package/src/pagination/PaginationKbdFixture.svelte +0 -15
  769. package/src/pagination/index.ts +0 -2
  770. package/src/pagination/meta.ts +0 -73
  771. package/src/popconfirm/Popconfirm.a11y.test.ts +0 -46
  772. package/src/popconfirm/Popconfirm.kbd.test.ts +0 -42
  773. package/src/popconfirm/Popconfirm.svelte +0 -724
  774. package/src/popconfirm/PopconfirmA11yFixture.svelte +0 -34
  775. package/src/popconfirm/PopconfirmKbdFixture.svelte +0 -17
  776. package/src/popconfirm/index.ts +0 -2
  777. package/src/popconfirm/meta.ts +0 -200
  778. package/src/popover/Popover.a11y.test.ts +0 -58
  779. package/src/popover/Popover.kbd.test.ts +0 -42
  780. package/src/popover/Popover.svelte +0 -643
  781. package/src/popover/PopoverA11yFixture.svelte +0 -35
  782. package/src/popover/PopoverKbdFixture.svelte +0 -18
  783. package/src/popover/index.ts +0 -2
  784. package/src/popover/meta.ts +0 -103
  785. package/src/progress/Progress.a11y.test.ts +0 -37
  786. package/src/progress/Progress.svelte +0 -423
  787. package/src/progress/index.ts +0 -3
  788. package/src/progress/meta.ts +0 -132
  789. package/src/radio/Radio.svelte +0 -330
  790. package/src/radio/RadioGroup.a11y.test.ts +0 -43
  791. package/src/radio/RadioGroup.kbd.test.ts +0 -75
  792. package/src/radio/RadioGroup.svelte +0 -199
  793. package/src/radio/RadioGroupKbdFixture.svelte +0 -21
  794. package/src/radio/context.ts +0 -42
  795. package/src/radio/index.ts +0 -4
  796. package/src/radio/meta.ts +0 -68
  797. package/src/rating/Rating.a11y.test.ts +0 -41
  798. package/src/rating/Rating.kbd.test.ts +0 -48
  799. package/src/rating/Rating.svelte +0 -407
  800. package/src/rating/RatingKbdFixture.svelte +0 -15
  801. package/src/rating/index.ts +0 -2
  802. package/src/rating/meta.ts +0 -40
  803. package/src/resize-observer/ResizeObserver.svelte +0 -169
  804. package/src/resize-observer/action.ts +0 -80
  805. package/src/resize-observer/index.ts +0 -9
  806. package/src/resize-observer/meta.ts +0 -102
  807. package/src/scroll-list/ScrollColumn.svelte +0 -592
  808. package/src/scroll-list/ScrollList.svelte +0 -257
  809. package/src/scroll-list/index.ts +0 -4
  810. package/src/scroll-list/meta.ts +0 -93
  811. package/src/scroll-list/types.ts +0 -18
  812. package/src/select/Select.a11y.test.ts +0 -59
  813. package/src/select/Select.kbd.test.ts +0 -59
  814. package/src/select/Select.svelte +0 -1155
  815. package/src/select/SelectKbdFixture.svelte +0 -29
  816. package/src/select/index.ts +0 -3
  817. package/src/select/meta.ts +0 -78
  818. package/src/select/types.ts +0 -2
  819. package/src/side-sheet/SideSheet.a11y.test.ts +0 -53
  820. package/src/side-sheet/SideSheet.kbd.test.ts +0 -63
  821. package/src/side-sheet/SideSheet.svelte +0 -659
  822. package/src/side-sheet/SideSheetKbdFixture.svelte +0 -30
  823. package/src/side-sheet/index.ts +0 -2
  824. package/src/side-sheet/meta.ts +0 -116
  825. package/src/skeleton/Skeleton.a11y.test.ts +0 -35
  826. package/src/skeleton/Skeleton.svelte +0 -131
  827. package/src/skeleton/SkeletonAvatar.svelte +0 -82
  828. package/src/skeleton/SkeletonButton.svelte +0 -90
  829. package/src/skeleton/SkeletonImage.svelte +0 -100
  830. package/src/skeleton/SkeletonParagraph.svelte +0 -103
  831. package/src/skeleton/SkeletonTitle.svelte +0 -74
  832. package/src/skeleton/context.ts +0 -11
  833. package/src/skeleton/index.ts +0 -8
  834. package/src/skeleton/meta.ts +0 -65
  835. package/src/slider/Slider.a11y.test.ts +0 -44
  836. package/src/slider/Slider.kbd.test.ts +0 -74
  837. package/src/slider/Slider.svelte +0 -716
  838. package/src/slider/SliderKbdFixture.svelte +0 -21
  839. package/src/slider/index.ts +0 -2
  840. package/src/slider/meta.ts +0 -55
  841. package/src/space/Space.a11y.test.ts +0 -22
  842. package/src/space/Space.svelte +0 -109
  843. package/src/space/SpaceA11yFixture.svelte +0 -17
  844. package/src/space/index.ts +0 -2
  845. package/src/space/meta.ts +0 -27
  846. package/src/spin/Spin.a11y.test.ts +0 -29
  847. package/src/spin/Spin.svelte +0 -293
  848. package/src/spin/SpinA11yFixture.svelte +0 -18
  849. package/src/spin/index.ts +0 -2
  850. package/src/spin/meta.ts +0 -72
  851. package/src/steps/Steps.a11y.test.ts +0 -39
  852. package/src/steps/Steps.kbd.test.ts +0 -73
  853. package/src/steps/Steps.svelte +0 -392
  854. package/src/steps/StepsKbdFixture.svelte +0 -21
  855. package/src/steps/index.ts +0 -3
  856. package/src/steps/meta.ts +0 -59
  857. package/src/steps/types.ts +0 -8
  858. package/src/switch/Switch.a11y.test.ts +0 -46
  859. package/src/switch/Switch.kbd.test.ts +0 -40
  860. package/src/switch/Switch.svelte +0 -310
  861. package/src/switch/SwitchKbdFixture.svelte +0 -22
  862. package/src/switch/index.ts +0 -2
  863. package/src/switch/meta.ts +0 -44
  864. package/src/table/Table.a11y.test.ts +0 -70
  865. package/src/table/Table.bench.ts +0 -51
  866. package/src/table/Table.kbd.test.ts +0 -94
  867. package/src/table/Table.svelte +0 -2327
  868. package/src/table/TableKbdFixture.svelte +0 -35
  869. package/src/table/grid-nav.test.ts +0 -173
  870. package/src/table/grid-nav.ts +0 -146
  871. package/src/table/index.ts +0 -13
  872. package/src/table/meta.ts +0 -121
  873. package/src/table/types.ts +0 -133
  874. package/src/tabs/TabPane.svelte +0 -92
  875. package/src/tabs/Tabs.a11y.test.ts +0 -47
  876. package/src/tabs/Tabs.kbd.test.ts +0 -74
  877. package/src/tabs/Tabs.svelte +0 -1128
  878. package/src/tabs/TabsA11yFixture.svelte +0 -20
  879. package/src/tabs/TabsKbdFixture.svelte +0 -25
  880. package/src/tabs/context.ts +0 -43
  881. package/src/tabs/index.ts +0 -14
  882. package/src/tabs/meta.ts +0 -152
  883. package/src/tabs/types.ts +0 -6
  884. package/src/tag/Tag.a11y.test.ts +0 -33
  885. package/src/tag/Tag.svelte +0 -366
  886. package/src/tag/TagA11yFixture.svelte +0 -18
  887. package/src/tag/index.ts +0 -2
  888. package/src/tag/meta.ts +0 -92
  889. package/src/tag-input/TagInput.a11y.test.ts +0 -41
  890. package/src/tag-input/TagInput.svelte +0 -544
  891. package/src/tag-input/index.ts +0 -2
  892. package/src/tag-input/meta.ts +0 -43
  893. package/src/tag-input/reorder.test.ts +0 -59
  894. package/src/tag-input/reorder.ts +0 -41
  895. package/src/test-utils/LocaleHarness.svelte +0 -29
  896. package/src/test-utils/a11y.ts +0 -108
  897. package/src/test-utils/kbd.ts +0 -52
  898. package/src/textarea/TextArea.a11y.test.ts +0 -44
  899. package/src/textarea/TextArea.svelte +0 -420
  900. package/src/textarea/index.ts +0 -2
  901. package/src/textarea/meta.ts +0 -104
  902. package/src/time-picker/TimePicker.a11y.test.ts +0 -45
  903. package/src/time-picker/TimePicker.kbd.test.ts +0 -70
  904. package/src/time-picker/TimePicker.svelte +0 -1023
  905. package/src/time-picker/TimePickerKbdFixture.svelte +0 -23
  906. package/src/time-picker/index.ts +0 -2
  907. package/src/time-picker/meta.ts +0 -64
  908. package/src/timeline/Timeline.a11y.test.ts +0 -54
  909. package/src/timeline/Timeline.svelte +0 -599
  910. package/src/timeline/TimelineItem.svelte +0 -164
  911. package/src/timeline/context.ts +0 -28
  912. package/src/timeline/index.ts +0 -16
  913. package/src/timeline/meta.ts +0 -129
  914. package/src/timeline/types.ts +0 -9
  915. package/src/toast/Toast.a11y.test.ts +0 -67
  916. package/src/toast/ToastContainer.svelte +0 -184
  917. package/src/toast/ToastItem.svelte +0 -247
  918. package/src/toast/index.ts +0 -9
  919. package/src/toast/live-region.ts +0 -78
  920. package/src/toast/meta.ts +0 -95
  921. package/src/toast/store.ts +0 -187
  922. package/src/tooltip/Tooltip.a11y.test.ts +0 -41
  923. package/src/tooltip/Tooltip.kbd.test.ts +0 -37
  924. package/src/tooltip/Tooltip.svelte +0 -416
  925. package/src/tooltip/TooltipA11yFixture.svelte +0 -31
  926. package/src/tooltip/TooltipKbdFixture.svelte +0 -16
  927. package/src/tooltip/index.ts +0 -2
  928. package/src/tooltip/meta.ts +0 -59
  929. package/src/tooltip/placement.ts +0 -6
  930. package/src/transfer/Transfer.a11y.test.ts +0 -63
  931. package/src/transfer/Transfer.kbd.test.ts +0 -75
  932. package/src/transfer/Transfer.svelte +0 -1451
  933. package/src/transfer/TransferKbdFixture.svelte +0 -23
  934. package/src/transfer/group.test.ts +0 -55
  935. package/src/transfer/group.ts +0 -61
  936. package/src/transfer/index.ts +0 -3
  937. package/src/transfer/meta.ts +0 -55
  938. package/src/transfer/reorder.test.ts +0 -52
  939. package/src/transfer/reorder.ts +0 -42
  940. package/src/transfer/tree.test.ts +0 -44
  941. package/src/transfer/tree.ts +0 -52
  942. package/src/transfer/types.ts +0 -32
  943. package/src/tree/Tree.a11y.test.ts +0 -63
  944. package/src/tree/Tree.kbd.test.ts +0 -91
  945. package/src/tree/Tree.svelte +0 -1500
  946. package/src/tree/TreeKbdFixture.svelte +0 -30
  947. package/src/tree/index.ts +0 -3
  948. package/src/tree/meta.ts +0 -152
  949. package/src/tree-select/TreeSelect.a11y.test.ts +0 -52
  950. package/src/tree-select/TreeSelect.kbd.test.ts +0 -53
  951. package/src/tree-select/TreeSelect.svelte +0 -1611
  952. package/src/tree-select/TreeSelectKbdFixture.svelte +0 -20
  953. package/src/tree-select/index.ts +0 -3
  954. package/src/tree-select/meta.ts +0 -73
  955. package/src/tree-select/types.ts +0 -11
  956. package/src/tree-select/virtual.test.ts +0 -104
  957. package/src/typography/Link.svelte +0 -120
  958. package/src/typography/Paragraph.svelte +0 -92
  959. package/src/typography/Text.svelte +0 -93
  960. package/src/typography/Title.svelte +0 -91
  961. package/src/typography/Typography.a11y.test.ts +0 -34
  962. package/src/typography/TypographyA11yFixture.svelte +0 -27
  963. package/src/typography/TypographyBase.svelte +0 -807
  964. package/src/typography/index.ts +0 -16
  965. package/src/typography/meta.ts +0 -158
  966. package/src/upload/Upload.a11y.test.ts +0 -58
  967. package/src/upload/Upload.svelte +0 -1094
  968. package/src/upload/UploadA11yFixture.svelte +0 -23
  969. package/src/upload/index.ts +0 -3
  970. package/src/upload/meta.ts +0 -64
  971. package/src/upload/types.ts +0 -16
  972. package/src/virtual-list/VirtualList.svelte +0 -401
  973. package/src/virtual-list/index.ts +0 -2
  974. package/src/virtual-list/meta.ts +0 -106
@@ -1,762 +0,0 @@
1
- <!--
2
- Menu — see specs/components/navigation/Menu.spec.md
3
- 基础子集: vertical + inline 模式, 数据驱动 items (含 SubMenu 子项),
4
- selectedKeys 单选, openKeys 展开/收起, navigation 语义 (role=menu/menuitem)。
5
- 受控/非受控 (红线 #1: 不回写 prop, 仅 onChange/onOpenChange)。
6
- 展开状态用本地 Set $state (红线 #2: 不读挂载 registry)。
7
- vertical 模式: SubMenu 改为 hover 弹出浮层 (复用 _floating, 顶层 bottomStart + 嵌套 rightStart, 多级嵌套),
8
- 进入/离开带延迟避免缝隙抖动; inline 模式保持内联展开。
9
- horizontal 模式: 顶部菜单栏 (role=menubar), 顶层项横排 + ←→ roving 键盘切换, SubMenu 向下弹浮层 (复用 MenuPopupNode)。
10
- multiple 多选: 点叶子项 toggle 选中态, selectedKeys 可含多项同时高亮 + 勾选标记 (role=menuitemcheckbox/aria-checked);
11
- 受控不回写 (红线 #1), 父组件据 onSelect(key) 自行 toggle; 非受控内部维护多选 Set。
12
- purpose 语义区分 (红线 #2: role 由 deriveMenuSemantics 纯函数派生):
13
- 'menu' (默认, 命令式菜单): role=menu/menuitem + roving tabindex, 叶子 button + onClick, 行为完全向后兼容;
14
- 'navigation' (站点导航): <nav> landmark 包裹 ul, 含 href 的叶子渲染原生 <a href> 走浏览器链接 + Tab 键序,
15
- 不用 menuitem role (改用原生 list/link 语义)。
16
- -->
17
- <script lang="ts">
18
- import { SvelteSet } from 'svelte/reactivity';
19
- import MenuPopupNode from './MenuPopupNode.svelte';
20
- import { deriveMenuSemantics, isDivider, isGroup } from './types.js';
21
- import type { Snippet } from 'svelte';
22
- import type { MenuItemDef, MenuItemNode, MenuKey, MenuPurpose } from './types.js';
23
-
24
- type Mode = 'vertical' | 'inline' | 'horizontal';
25
- type Size = 'small' | 'default' | 'large';
26
- type Status = 'default' | 'warning' | 'error';
27
- type TriggerSubMenuAction = 'hover' | 'click';
28
-
29
- interface TooltipProps {
30
- content?: string;
31
- position?: string;
32
- theme?: 'dark' | 'light';
33
- mouseEnterDelay?: number;
34
- mouseLeaveDelay?: number;
35
- }
36
-
37
- interface Props {
38
- items?: MenuItemDef[];
39
- mode?: Mode;
40
- selectedKeys?: MenuKey[];
41
- defaultSelectedKeys?: MenuKey[];
42
- openKeys?: MenuKey[];
43
- defaultOpenKeys?: MenuKey[];
44
- size?: Size;
45
- inlineIndent?: number;
46
- /** inline 模式下折叠为图标轨:仅显图标、容器变窄,有子菜单的项 hover 向右弹浮层 */
47
- inlineCollapsed?: boolean;
48
- /** 多选模式:点击叶子项 toggle 其选中态,selectedKeys 可含多项同时高亮(默认单选) */
49
- multiple?: boolean;
50
- /**
51
- * 浮层子菜单触发方式(仅 vertical/horizontal/collapsed 浮层模式生效):
52
- * 'hover'(默认推导)= 鼠标悬停带 open/close 延迟展开/收起;
53
- * 'click' = 点击 title 切换浮层(不随 hover 开合)。
54
- * 缺省时按 mode 推导:horizontal 默认 hover,其余 hover(inline 内联不涉及浮层)。
55
- */
56
- triggerSubMenuAction?: TriggerSubMenuAction;
57
- /** hover 触发时子菜单浮层展开延迟(ms) */
58
- subMenuOpenDelay?: number;
59
- /** hover 触发时子菜单浮层收起延迟(ms) */
60
- subMenuCloseDelay?: number;
61
- /** 浮层子菜单挂载容器,缺省 document.body(透传 floating action getContainer) */
62
- getPopupContainer?: () => HTMLElement | null | undefined;
63
- /**
64
- * 校验态(用于表单内菜单选择,少见):'default' | 'warning' | 'error'。
65
- * 非 default 时给根节点加 cd-menu--{status} 类并以 token 着色选中指示条/边框,
66
- * error 时根节点 aria-invalid=true。默认 'default'。
67
- */
68
- status?: Status;
69
- /**
70
- * 浮层子菜单隐藏时是否卸载其内容 DOM(默认 false:保留 DOM 仅隐藏,重显不重建)。
71
- * 仅作用于 vertical/horizontal/collapsed 浮层模式的 hover/click 子菜单浮层;
72
- * inline 内联展开不涉及浮层,始终随展开态挂载/卸载。
73
- */
74
- destroyOnHide?: boolean;
75
- /** 整体禁用:所有项不可交互(叶子/子菜单 title 均 disabled) */
76
- disabled?: boolean;
77
- /**
78
- * 语义用途(默认 'menu'):
79
- * 'menu' = 命令式菜单(role=menu/menuitem + roving,执行操作);
80
- * 'navigation' = 站点导航(nav landmark + 含 href 叶子渲染 <a>,原生链接语义)。
81
- */
82
- purpose?: MenuPurpose;
83
- onSelect?: (key: MenuKey) => void;
84
- onOpenChange?: (keys: MenuKey[]) => void;
85
- ariaLabel?: string;
86
- /**
87
- * 折叠模式(inlineCollapsed=true)下顶层项的 Tooltip 配置。
88
- * content 默认为项 label;position→placement、theme、mouseEnterDelay、mouseLeaveDelay 透传给 Tooltip。
89
- */
90
- tooltipProps?: TooltipProps;
91
- /**
92
- * 自定义叶子项内容包裹 Snippet,接收 { item, children }。
93
- * children 为默认的 <a> 或 <button>,可在外层包一层自定义容器。
94
- */
95
- renderWrapper?: Snippet<[{ item: MenuItemNode; children: Snippet }]>;
96
- }
97
-
98
- let {
99
- items = [],
100
- mode = 'vertical',
101
- selectedKeys,
102
- defaultSelectedKeys = [],
103
- openKeys,
104
- defaultOpenKeys = [],
105
- size = 'default',
106
- inlineIndent = 24,
107
- inlineCollapsed = false,
108
- multiple = false,
109
- triggerSubMenuAction,
110
- subMenuOpenDelay = 100,
111
- subMenuCloseDelay = 100,
112
- status = 'default',
113
- destroyOnHide = false,
114
- getPopupContainer,
115
- disabled = false,
116
- purpose = 'menu',
117
- onSelect,
118
- onOpenChange,
119
- ariaLabel,
120
- tooltipProps,
121
- renderWrapper,
122
- }: Props = $props();
123
-
124
- // 浮层子菜单触发方式:未显式指定时按 mode 推导(全部默认 hover;inline 走内联不涉及浮层)。
125
- const subTrigger = $derived<TriggerSubMenuAction>(triggerSubMenuAction ?? 'hover');
126
-
127
- // 折叠仅在 inline 模式生效;其它模式忽略以保持向后兼容。
128
- const collapsed = $derived(mode === 'inline' && inlineCollapsed);
129
-
130
- // role/语义由纯函数派生(红线 #2):navigation 用原生 nav/list/link,menu 用 menu/menuitem。
131
- const sem = $derived(deriveMenuSemantics(purpose, mode, multiple));
132
- const navigation = $derived(sem.navigation);
133
-
134
- function getInitialSelected(): SvelteSet<MenuKey> {
135
- return new SvelteSet(defaultSelectedKeys);
136
- }
137
- function getInitialOpen(): SvelteSet<MenuKey> {
138
- return new SvelteSet(defaultOpenKeys);
139
- }
140
-
141
- // --- 受控 selectedKeys (红线 #1): 不回写 prop, 仅 onSelect ---
142
- const isSelectControlled = $derived(selectedKeys !== undefined);
143
- const innerSelected = $state<SvelteSet<MenuKey>>(getInitialSelected());
144
- const currentSelected = $derived<ReadonlySet<MenuKey>>(
145
- isSelectControlled ? new SvelteSet(selectedKeys) : innerSelected,
146
- );
147
-
148
- // --- 受控 openKeys (红线 #1 + #2): 本地 Set 兜底, 仅 onOpenChange ---
149
- const isOpenControlled = $derived(openKeys !== undefined);
150
- const innerOpen = $state<SvelteSet<MenuKey>>(getInitialOpen());
151
- const currentOpen = $derived<ReadonlySet<MenuKey>>(
152
- isOpenControlled ? new SvelteSet(openKeys) : innerOpen,
153
- );
154
-
155
- function isSelected(key: MenuKey): boolean {
156
- return currentSelected.has(key);
157
- }
158
-
159
- function isOpen(key: MenuKey): boolean {
160
- return currentOpen.has(key);
161
- }
162
-
163
- function hasChildren(item: MenuItemNode): boolean {
164
- return !!item.children && item.children.length > 0;
165
- }
166
-
167
- // 整体 disabled 叠加单项 disabled:模板据此渲染 aria-disabled/disabled。
168
- function isItemDisabled(item: MenuItemNode): boolean {
169
- return disabled || !!item.disabled;
170
- }
171
-
172
- function selectLeaf(item: MenuItemNode) {
173
- if (disabled || item.disabled) return;
174
- // 非受控才回写内部 Set:multiple 下 toggle(已选取消/未选加入),单选下替换。
175
- if (!isSelectControlled) {
176
- if (multiple) {
177
- if (innerSelected.has(item.key)) innerSelected.delete(item.key);
178
- else innerSelected.add(item.key);
179
- } else {
180
- innerSelected.clear();
181
- innerSelected.add(item.key);
182
- }
183
- }
184
- // 受控由父组件依据 onSelect(key) 自行维护 selectedKeys(红线 #1:不回写 prop)。
185
- onSelect?.(item.key);
186
- }
187
-
188
- function toggleSub(item: MenuItemNode) {
189
- if (disabled || item.disabled) return;
190
- const willOpen = !currentOpen.has(item.key);
191
- const next = [...currentOpen].filter((k) => k !== item.key);
192
- if (willOpen) next.push(item.key);
193
- if (!isOpenControlled) {
194
- innerOpen.clear();
195
- for (const k of next) innerOpen.add(k);
196
- }
197
- onOpenChange?.(next);
198
- }
199
-
200
- const cls = $derived(
201
- [
202
- 'cd-menu',
203
- `cd-menu--${mode}`,
204
- `cd-menu--${size}`,
205
- status !== 'default' ? `cd-menu--${status}` : '',
206
- collapsed ? 'cd-menu--collapsed' : '',
207
- ]
208
- .filter(Boolean)
209
- .join(' '),
210
- );
211
-
212
- // --- roving tabindex / 键盘导航(a11y §6 / WAI-ARIA APG Menu)---
213
- // rootEl 普通引用(bind:this),命令式 focus()/tabindex 写入用,非 render 期读 DOM。
214
- let rootEl = $state<HTMLUListElement | null>(null);
215
-
216
- // horizontal menubar 顶层项:每个顶层 li 内第一个 menuitem(←→ roving 用)。
217
- function menubarTops(): HTMLElement[] {
218
- if (!rootEl) return [];
219
- return [...rootEl.children]
220
- .map((li) => li.querySelector<HTMLElement>('[role="menuitem"]'))
221
- .filter((el): el is HTMLElement => el !== null);
222
- }
223
-
224
- // vertical/inline:当前可见、可聚焦的 menuitem,按 DOM 顺序漫游
225
- // (inline renderItems 与 vertical MenuPopupNode 均产出 [role="menuitem"] 按钮)。
226
- // 排除 disabled(原生 disabled 已移出焦点序)与隐藏浮层内的项(仅漫游当前可见层)。
227
- function verticalItems(): HTMLElement[] {
228
- if (!rootEl) return [];
229
- return [...rootEl.querySelectorAll<HTMLElement>('[role="menuitem"]')].filter(
230
- (el) =>
231
- !el.hasAttribute('disabled') &&
232
- // 隐藏浮层子菜单(cd-menu__sub--hidden / aria-hidden)内的项不参与漫游
233
- el.closest('[aria-hidden="true"]') === null &&
234
- el.offsetParent !== null,
235
- );
236
- }
237
-
238
- // 把 roving tabindex 收敛到单一停靠点:仅 active 项 tabindex=0,其余 -1
239
- // (命令式写 DOM,非 render 期;红线 #2:不在 render 期写状态)。
240
- function applyRovingTabindex(items: HTMLElement[], active: HTMLElement | null) {
241
- const stop = active ?? items[0] ?? null;
242
- for (const el of items) el.tabIndex = el === stop ? 0 : -1;
243
- }
244
-
245
- // 挂载后 / items 变化后:vertical/inline 模式收敛 roving 停靠点为首项。
246
- $effect(() => {
247
- if (sem.navigation || mode === 'horizontal') return;
248
- void items; // items 变化重算
249
- const list = verticalItems();
250
- if (list.length === 0) return;
251
- const focused = list.find((el) => el === document.activeElement) ?? null;
252
- applyRovingTabindex(list, focused);
253
- });
254
-
255
- // typeahead 缓冲(普通簿记变量,不参与 render 响应式;红线 #2)。
256
- let typeBuffer = '';
257
- let typeTimer: ReturnType<typeof setTimeout> | undefined;
258
- function pushType(ch: string): string {
259
- if (typeTimer !== undefined) clearTimeout(typeTimer);
260
- typeBuffer += ch.toLowerCase();
261
- typeTimer = setTimeout(() => {
262
- typeBuffer = '';
263
- typeTimer = undefined;
264
- }, 500);
265
- return typeBuffer;
266
- }
267
- $effect(() => () => {
268
- if (typeTimer !== undefined) clearTimeout(typeTimer);
269
- });
270
-
271
- function itemText(el: HTMLElement): string {
272
- return (el.querySelector('.cd-menu__label')?.textContent ?? el.textContent ?? '')
273
- .trim()
274
- .toLowerCase();
275
- }
276
-
277
- function onMenuKeydown(e: KeyboardEvent) {
278
- // navigation 用途用原生链接 + Tab 键序,不接管 roving(红线: 不破坏原生导航)。
279
- if (sem.navigation) return;
280
-
281
- if (mode === 'horizontal') {
282
- if (e.key !== 'ArrowRight' && e.key !== 'ArrowLeft' && e.key !== 'Home' && e.key !== 'End') return;
283
- const tops = menubarTops();
284
- if (tops.length === 0) return;
285
- const cur = tops.findIndex((el) => el === document.activeElement);
286
- e.preventDefault();
287
- let next = cur;
288
- if (e.key === 'ArrowRight') next = cur < 0 ? 0 : (cur + 1) % tops.length;
289
- else if (e.key === 'ArrowLeft') next = cur < 0 ? tops.length - 1 : (cur - 1 + tops.length) % tops.length;
290
- else if (e.key === 'Home') next = 0;
291
- else if (e.key === 'End') next = tops.length - 1;
292
- tops[next]?.focus();
293
- applyRovingTabindex(tops, tops[next] ?? null);
294
- return;
295
- }
296
-
297
- // vertical / inline:↑↓ 漫游、Home/End 跳首末、typeahead 首字母、Esc 收起/关闭子菜单。
298
- const list = verticalItems();
299
- if (list.length === 0) return;
300
- const cur = list.findIndex((el) => el === document.activeElement);
301
-
302
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Home' || e.key === 'End') {
303
- e.preventDefault();
304
- let next = cur;
305
- if (e.key === 'ArrowDown') next = cur < 0 ? 0 : (cur + 1) % list.length;
306
- else if (e.key === 'ArrowUp') next = cur < 0 ? list.length - 1 : (cur - 1 + list.length) % list.length;
307
- else if (e.key === 'Home') next = 0;
308
- else if (e.key === 'End') next = list.length - 1;
309
- const target = list[next];
310
- if (target) {
311
- target.focus();
312
- applyRovingTabindex(list, target);
313
- }
314
- return;
315
- }
316
-
317
- if (e.key === 'Escape') {
318
- // 收起当前聚焦项所在的展开子菜单,焦点返回其触发器(APG)。
319
- const active = document.activeElement as HTMLElement | null;
320
- const titleEl = active?.closest<HTMLElement>('.cd-menu__item--submenu')?.querySelector<HTMLElement>('.cd-menu__title[aria-expanded="true"]');
321
- const sub = active?.closest<HTMLElement>('.cd-menu__sub');
322
- const parentTitle = sub?.previousElementSibling as HTMLElement | null;
323
- if (parentTitle?.matches('.cd-menu__title')) {
324
- // 焦点在子列表内:收起父级子菜单并把焦点返回父触发器。
325
- const key = parentTitle.dataset.menuKey;
326
- if (key !== undefined) {
327
- collapseByKey(key);
328
- parentTitle.focus();
329
- e.preventDefault();
330
- }
331
- return;
332
- }
333
- if (titleEl?.dataset.menuKey !== undefined) {
334
- // 焦点在已展开的 SubMenu 触发器上:收起自身。
335
- collapseByKey(titleEl.dataset.menuKey);
336
- e.preventDefault();
337
- }
338
- return;
339
- }
340
-
341
- // typeahead:单字符(可打印、非组合键)→ 跳到首字母匹配项。
342
- if (e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && /\S/.test(e.key)) {
343
- const buf = pushType(e.key);
344
- const start = cur < 0 ? 0 : cur;
345
- // 从当前项之后开始环绕查找,单字符重复时跳到下一个同首字母项。
346
- const offset = buf.length === 1 ? 1 : 0;
347
- for (let i = 0; i < list.length; i += 1) {
348
- const idx = (start + offset + i) % list.length;
349
- if (itemText(list[idx]!).startsWith(buf)) {
350
- e.preventDefault();
351
- list[idx]!.focus();
352
- applyRovingTabindex(list, list[idx]!);
353
- return;
354
- }
355
- }
356
- }
357
- }
358
-
359
- // 焦点进入某 menuitem(含鼠标点击)→ 把 roving 停靠点同步到它(单一 Tab 停靠点)。
360
- function onMenuFocusin(e: FocusEvent) {
361
- if (sem.navigation || mode === 'horizontal') return;
362
- const t = e.target as HTMLElement | null;
363
- if (!t || t.getAttribute('role') !== 'menuitem') return;
364
- applyRovingTabindex(verticalItems(), t);
365
- }
366
-
367
- // 按 key 收起内联展开的 SubMenu(data-menu-key 为字符串,需按 String 匹配原 key)。
368
- function collapseByKey(key: string) {
369
- const matched = [...currentOpen].find((k) => String(k) === key);
370
- if (matched === undefined) return;
371
- const next = [...currentOpen].filter((k) => k !== matched);
372
- if (!isOpenControlled) {
373
- innerOpen.clear();
374
- for (const k of next) innerOpen.add(k);
375
- }
376
- onOpenChange?.(next);
377
- }
378
- </script>
379
-
380
- {#snippet renderItems(list: MenuItemDef[], level: number)}
381
- {#each list as item, i (item.key ?? `__cd-menu-${level}-${i}`)}
382
- {@const indent = `calc(var(--cd-menu-item-padding) + ${level} * ${inlineIndent}px)`}
383
- {#if isDivider(item)}
384
- <li class="cd-menu__divider" role={sem.navigation ? undefined : 'separator'}></li>
385
- {:else if isGroup(item)}
386
- <li class="cd-menu__item cd-menu__item--group" role={sem.structuralRole}>
387
- <div
388
- class="cd-menu__group-title"
389
- style="padding-inline-start: {indent}"
390
- id="cd-menu-group-{item.key ?? `${level}-${i}`}"
391
- >
392
- {item.label}
393
- </div>
394
- <ul
395
- class="cd-menu__group-list"
396
- role={sem.groupListRole}
397
- aria-labelledby="cd-menu-group-{item.key ?? `${level}-${i}`}"
398
- >
399
- {@render renderItems(item.children, level)}
400
- </ul>
401
- </li>
402
- {:else if hasChildren(item)}
403
- {@const open = isOpen(item.key)}
404
- <li class="cd-menu__item cd-menu__item--submenu" role={sem.structuralRole}>
405
- <button
406
- type="button"
407
- class="cd-menu__title"
408
- role={sem.submenuTitleRole}
409
- data-menu-key={String(item.key)}
410
- aria-haspopup="true"
411
- aria-expanded={open}
412
- aria-disabled={isItemDisabled(item) || undefined}
413
- disabled={isItemDisabled(item) || undefined}
414
- style="padding-inline-start: {indent}"
415
- onclick={() => toggleSub(item)}
416
- onkeydown={(e) => {
417
- // 内联 SubMenu 触发器:→/Enter/Space 展开,←/Esc 收起(APG disclosure)。
418
- if (e.key === 'ArrowRight' || e.key === 'Enter' || e.key === ' ') {
419
- if (!isItemDisabled(item) && !isOpen(item.key)) {
420
- e.preventDefault();
421
- toggleSub(item);
422
- }
423
- } else if (e.key === 'ArrowLeft') {
424
- if (isOpen(item.key)) {
425
- e.preventDefault();
426
- toggleSub(item);
427
- }
428
- }
429
- }}
430
- >
431
- {#if item.icon}<span class="cd-menu__icon" aria-hidden="true">{@render item.icon()}</span>{/if}
432
- <span class="cd-menu__label">{item.label}</span>
433
- <span
434
- class="cd-menu__arrow"
435
- class:cd-menu__arrow--open={open}
436
- aria-hidden="true"
437
- >
438
- <svg viewBox="0 0 16 16" width="10" height="10" focusable="false">
439
- <path fill="currentColor" d="M6 4l4 4-4 4V4Z" />
440
- </svg>
441
- </span>
442
- </button>
443
- {#if open}
444
- <ul class="cd-menu__sub" role={sem.subListRole}>
445
- {@render renderItems(item.children ?? [], level + 1)}
446
- </ul>
447
- {/if}
448
- </li>
449
- {:else}
450
- {@const selected = isSelected(item.key)}
451
- <li class="cd-menu__item" role={sem.structuralRole}>
452
- {#if sem.navigation && item.href !== undefined}
453
- <!-- navigation 用途:含 href 叶子渲染原生 <a>,走浏览器链接 + Tab 键序 -->
454
- {#snippet inlineLeafLink()}
455
- <a
456
- class="cd-menu__link"
457
- class:cd-menu__link--selected={selected}
458
- href={isItemDisabled(item) ? undefined : item.href}
459
- target={item.target}
460
- rel={item.rel}
461
- aria-current={selected ? 'page' : undefined}
462
- aria-disabled={isItemDisabled(item) || undefined}
463
- style="padding-inline-start: {indent}"
464
- onclick={() => selectLeaf(item)}
465
- >
466
- {#if item.icon}<span class="cd-menu__icon" aria-hidden="true">{@render item.icon()}</span>{/if}
467
- <span class="cd-menu__label">{item.label}</span>
468
- </a>
469
- {/snippet}
470
- {#if renderWrapper}
471
- {@render renderWrapper({ item: item as MenuItemNode, children: inlineLeafLink })}
472
- {:else}
473
- {@render inlineLeafLink()}
474
- {/if}
475
- {:else}
476
- {#snippet inlineLeafButton()}
477
- <button
478
- type="button"
479
- class="cd-menu__link"
480
- class:cd-menu__link--selected={selected}
481
- role={sem.leafRole}
482
- aria-current={!sem.navigation && !multiple && selected ? 'true' : undefined}
483
- aria-checked={multiple ? selected : undefined}
484
- aria-disabled={isItemDisabled(item) || undefined}
485
- disabled={isItemDisabled(item) || undefined}
486
- style="padding-inline-start: {indent}"
487
- onclick={() => selectLeaf(item)}
488
- >
489
- {#if item.icon}<span class="cd-menu__icon" aria-hidden="true">{@render item.icon()}</span>{/if}
490
- <span class="cd-menu__label">{item.label}</span>
491
- {#if multiple}
492
- <span class="cd-menu__check" class:cd-menu__check--on={selected} aria-hidden="true">
493
- <svg viewBox="0 0 16 16" width="12" height="12" focusable="false">
494
- <path fill="none" stroke="currentColor" stroke-width="2" d="M3 8.5l3.5 3.5L13 5" />
495
- </svg>
496
- </span>
497
- {/if}
498
- </button>
499
- {/snippet}
500
- {#if renderWrapper}
501
- {@render renderWrapper({ item: item as MenuItemNode, children: inlineLeafButton })}
502
- {:else}
503
- {@render inlineLeafButton()}
504
- {/if}
505
- {/if}
506
- </li>
507
- {/if}
508
- {/each}
509
- {/snippet}
510
-
511
- {#snippet menuList()}
512
- <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
513
- <ul
514
- class={cls}
515
- role={sem.listRole}
516
- aria-label={sem.navigation ? undefined : ariaLabel}
517
- aria-orientation={!sem.navigation && mode === 'horizontal' ? 'horizontal' : undefined}
518
- aria-invalid={status === 'error' || undefined}
519
- bind:this={rootEl}
520
- onkeydown={onMenuKeydown}
521
- onfocusin={onMenuFocusin}
522
- >
523
- {#if collapsed}
524
- {#each items as item, i (item.key ?? `__cd-menu-top-${i}`)}
525
- <MenuPopupNode
526
- {item}
527
- placement="rightStart"
528
- collapsed
529
- {multiple}
530
- {navigation}
531
- {isSelected}
532
- trigger={subTrigger}
533
- openDelay={subMenuOpenDelay}
534
- closeDelay={subMenuCloseDelay}
535
- {destroyOnHide}
536
- {getPopupContainer}
537
- parentDisabled={disabled}
538
- {tooltipProps}
539
- {renderWrapper}
540
- onSelectLeaf={selectLeaf}
541
- onCloseAll={() => {}}
542
- />
543
- {/each}
544
- {:else if mode === 'vertical' || mode === 'horizontal'}
545
- {#each items as item, i (item.key ?? `__cd-menu-top-${i}`)}
546
- <MenuPopupNode
547
- {item}
548
- placement="bottomStart"
549
- {multiple}
550
- {navigation}
551
- {isSelected}
552
- trigger={subTrigger}
553
- openDelay={subMenuOpenDelay}
554
- closeDelay={subMenuCloseDelay}
555
- {destroyOnHide}
556
- {getPopupContainer}
557
- parentDisabled={disabled}
558
- {renderWrapper}
559
- onSelectLeaf={selectLeaf}
560
- onCloseAll={() => {}}
561
- />
562
- {/each}
563
- {:else}
564
- {@render renderItems(items, 0)}
565
- {/if}
566
- </ul>
567
- {/snippet}
568
-
569
- {#if sem.navigation}
570
- <!-- navigation 用途:nav landmark 包裹原生 list/link,提供站点导航地标语义 -->
571
- <nav class="cd-menu-nav" aria-label={ariaLabel}>
572
- {@render menuList()}
573
- </nav>
574
- {:else}
575
- {@render menuList()}
576
- {/if}
577
-
578
- <style>
579
- /* navigation 用途的 nav landmark 包裹:不引入额外盒模型,仅作语义地标 */
580
- .cd-menu-nav {
581
- display: contents;
582
- }
583
- .cd-menu {
584
- margin: 0;
585
- padding: 0;
586
- list-style: none;
587
- background: var(--cd-menu-bg);
588
- color: var(--cd-menu-item-color);
589
- }
590
- /* navigation 叶子用 <a> 渲染:抹平默认下划线/颜色,复用 link 视觉 */
591
- .cd-menu a.cd-menu__link {
592
- text-decoration: none;
593
- }
594
- .cd-menu a.cd-menu__link[aria-disabled='true'] {
595
- color: var(--cd-menu-item-color-disabled);
596
- cursor: not-allowed;
597
- pointer-events: none;
598
- }
599
- /* horizontal 菜单栏:顶层项横排。顶层 li/控件由 MenuPopupNode 渲染(独立组件),
600
- 故用 :global 穿透 scoped 边界控制其方向与宽度。 */
601
- .cd-menu--horizontal {
602
- display: flex;
603
- align-items: stretch;
604
- border-block-end: 1px solid var(--cd-menu-border-color, var(--cd-color-border));
605
- }
606
- .cd-menu--horizontal > :global(.cd-menu__item) {
607
- display: flex;
608
- }
609
- .cd-menu--horizontal > :global(.cd-menu__item) > :global(.cd-menu__link),
610
- .cd-menu--horizontal > :global(.cd-menu__item) > :global(.cd-menu__title) {
611
- inline-size: auto;
612
- }
613
- /* 折叠图标轨:容器收窄到仅容图标 + padding */
614
- .cd-menu--collapsed {
615
- inline-size: var(--cd-menu-collapsed-width, calc(var(--cd-menu-item-height) + var(--cd-spacing-2)));
616
- }
617
- .cd-menu__item {
618
- margin: 0;
619
- padding: 0;
620
- }
621
- .cd-menu__sub {
622
- margin: 0;
623
- padding: 0;
624
- list-style: none;
625
- }
626
- /* 分隔符:水平细线,不可交互 */
627
- .cd-menu__divider {
628
- block-size: 1px;
629
- margin-block: var(--cd-spacing-1);
630
- background: var(--cd-menu-border-color, var(--cd-color-border));
631
- }
632
- /* 分组:始终展开的分区标题 + 组内项列表 */
633
- .cd-menu__group-list {
634
- margin: 0;
635
- padding: 0;
636
- list-style: none;
637
- }
638
- .cd-menu__group-title {
639
- display: flex;
640
- align-items: center;
641
- block-size: var(--cd-menu-item-height);
642
- padding-inline: var(--cd-menu-item-padding);
643
- color: var(--cd-menu-item-color-disabled);
644
- font-size: var(--cd-font-size-1);
645
- cursor: default;
646
- user-select: none;
647
- }
648
- .cd-menu__link,
649
- .cd-menu__title {
650
- display: flex;
651
- align-items: center;
652
- gap: var(--cd-spacing-2);
653
- inline-size: 100%;
654
- block-size: var(--cd-menu-item-height);
655
- padding-inline: var(--cd-menu-item-padding);
656
- border: none;
657
- background: transparent;
658
- color: var(--cd-menu-item-color);
659
- font: inherit;
660
- text-align: start;
661
- cursor: pointer;
662
- transition: background var(--cd-motion-duration-fast)
663
- var(--cd-motion-ease-standard);
664
- }
665
- .cd-menu--small .cd-menu__link,
666
- .cd-menu--small .cd-menu__title {
667
- font-size: var(--cd-font-size-1);
668
- }
669
- .cd-menu--large .cd-menu__link,
670
- .cd-menu--large .cd-menu__title {
671
- font-size: var(--cd-font-size-3);
672
- }
673
- .cd-menu__link:hover,
674
- .cd-menu__title:hover {
675
- background: var(--cd-menu-item-bg-hover);
676
- }
677
- .cd-menu__link:focus-visible,
678
- .cd-menu__title:focus-visible {
679
- outline: none;
680
- box-shadow: var(--cd-focus-ring);
681
- }
682
- .cd-menu__link--selected {
683
- position: relative;
684
- color: var(--cd-menu-item-color-selected);
685
- background: var(--cd-menu-item-bg-selected);
686
- }
687
- .cd-menu__link--selected::before {
688
- content: '';
689
- position: absolute;
690
- inset-block: 0;
691
- inset-inline-start: 0;
692
- inline-size: 3px;
693
- background: var(--cd-menu-item-indicator);
694
- }
695
- .cd-menu__link[aria-disabled='true'],
696
- .cd-menu__title[aria-disabled='true'] {
697
- color: var(--cd-menu-item-color-disabled);
698
- cursor: not-allowed;
699
- }
700
- /* 校验态:用 token 着色选中指示条与选中文字(表单内菜单少见场景)。
701
- 选中叶子可能由子组件 MenuPopupNode 渲染(vertical/horizontal/collapsed 浮层模式),
702
- 故用 :global 穿透 scoped 边界匹配后代 link。 */
703
- .cd-menu--warning :global(.cd-menu__link--selected) {
704
- color: var(--cd-menu-color-warning, var(--cd-color-warning));
705
- }
706
- .cd-menu--warning :global(.cd-menu__link--selected::before) {
707
- background: var(--cd-menu-color-warning, var(--cd-color-warning));
708
- }
709
- .cd-menu--error :global(.cd-menu__link--selected) {
710
- color: var(--cd-menu-color-danger, var(--cd-color-danger));
711
- }
712
- .cd-menu--error :global(.cd-menu__link--selected::before) {
713
- background: var(--cd-menu-color-danger, var(--cd-color-danger));
714
- }
715
- .cd-menu__label {
716
- flex: 1 1 auto;
717
- overflow: hidden;
718
- white-space: nowrap;
719
- text-overflow: ellipsis;
720
- }
721
- .cd-menu__icon {
722
- display: inline-flex;
723
- align-items: center;
724
- justify-content: center;
725
- flex: 0 0 auto;
726
- inline-size: 1rem;
727
- block-size: 1rem;
728
- color: var(--cd-menu-item-color);
729
- }
730
- .cd-menu__check {
731
- display: inline-flex;
732
- align-items: center;
733
- justify-content: center;
734
- flex: 0 0 auto;
735
- inline-size: 1rem;
736
- block-size: 1rem;
737
- color: var(--cd-menu-item-color-selected);
738
- opacity: 0;
739
- }
740
- .cd-menu__check--on {
741
- opacity: 1;
742
- }
743
- .cd-menu__arrow {
744
- display: inline-flex;
745
- align-items: center;
746
- justify-content: center;
747
- flex: 0 0 auto;
748
- color: var(--cd-menu-submenu-arrow-color);
749
- transition: transform var(--cd-motion-duration-fast)
750
- var(--cd-motion-ease-standard);
751
- }
752
- .cd-menu__arrow--open {
753
- transform: rotate(90deg);
754
- }
755
- @media (prefers-reduced-motion: reduce) {
756
- .cd-menu__link,
757
- .cd-menu__title,
758
- .cd-menu__arrow {
759
- transition: none;
760
- }
761
- }
762
- </style>