morya-ui 0.3.0 → 0.3.2

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 (309) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/Button-dMqRmoYa.js +222 -0
  3. package/dist/{Card-Dsmnzong.js → Card-B1CB9Trm.js} +3 -5
  4. package/dist/Empty-C5tndBOm.js +147 -0
  5. package/dist/Icon-od9Ob-Ay.js +393 -0
  6. package/dist/Loading-BSsRs6v9.js +420 -0
  7. package/dist/Pagination-CqpC5EAs.js +166 -0
  8. package/dist/Select-CKGrSoaC.js +572 -0
  9. package/dist/Skeleton-DCYdXAH2.js +59 -0
  10. package/dist/accordion/style.css +20 -71
  11. package/dist/auto-complete/index.js +118 -120
  12. package/dist/auto-complete/style.css +24 -88
  13. package/dist/avatar/index.js +1 -1
  14. package/dist/avatar/style.css +10 -67
  15. package/dist/badge/style.css +10 -68
  16. package/dist/block-ui/style.css +10 -68
  17. package/dist/breadcrumb/style.css +10 -61
  18. package/dist/button/index.js +1 -1
  19. package/dist/button/style.css +72 -78
  20. package/dist/card/index.js +1 -1
  21. package/dist/card/style.css +30 -67
  22. package/dist/carousel/index.js +72 -64
  23. package/dist/carousel/style.css +36 -82
  24. package/dist/cascade-select/index.js +1 -1
  25. package/dist/cascade-select/style.css +24 -81
  26. package/dist/checkbox/style.css +10 -61
  27. package/dist/chip/index.js +1 -1
  28. package/dist/chip/style.css +10 -67
  29. package/dist/command-menu/index.js +37 -39
  30. package/dist/command-menu/style.css +10 -75
  31. package/dist/components/Accordion/styles.css +10 -10
  32. package/dist/components/AutoComplete/AutoComplete.vue.d.ts.map +1 -1
  33. package/dist/components/AutoComplete/styles.css +0 -7
  34. package/dist/components/Badge/styles.css +0 -7
  35. package/dist/components/BlockUI/styles.css +0 -7
  36. package/dist/components/Button/Button.vue.d.ts +2 -0
  37. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  38. package/dist/components/Button/styles.css +62 -11
  39. package/dist/components/Button/types.d.ts +4 -0
  40. package/dist/components/Button/types.d.ts.map +1 -1
  41. package/dist/components/Card/Card.vue.d.ts +2 -2
  42. package/dist/components/Card/Card.vue.d.ts.map +1 -1
  43. package/dist/components/Card/index.d.ts +1 -1
  44. package/dist/components/Card/index.d.ts.map +1 -1
  45. package/dist/components/Card/styles.css +20 -6
  46. package/dist/components/Card/types.d.ts +4 -2
  47. package/dist/components/Card/types.d.ts.map +1 -1
  48. package/dist/components/Carousel/Carousel.vue.d.ts.map +1 -1
  49. package/dist/components/Carousel/styles.css +26 -15
  50. package/dist/components/CommandMenu/CommandMenu.vue.d.ts.map +1 -1
  51. package/dist/components/ConfigProvider/ConfigProvider.vue.d.ts +2 -2
  52. package/dist/components/DataView/DataView.vue.d.ts +7 -7
  53. package/dist/components/DataView/DataView.vue.d.ts.map +1 -1
  54. package/dist/components/DataView/styles.css +0 -20
  55. package/dist/components/Dialog/styles.css +3 -46
  56. package/dist/components/Dock/styles.css +0 -10
  57. package/dist/components/Drawer/styles.css +2 -51
  58. package/dist/components/Dropdown/Dropdown.vue.d.ts +2 -2
  59. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  60. package/dist/components/Dropdown/DropdownNodes.vue.d.ts +8 -9
  61. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  62. package/dist/components/Dropdown/styles.css +24 -5
  63. package/dist/components/Fieldset/styles.css +0 -7
  64. package/dist/components/FileUpload/FileUpload.vue.d.ts.map +1 -1
  65. package/dist/components/FileUpload/fileUtils.d.ts +8 -0
  66. package/dist/components/FileUpload/fileUtils.d.ts.map +1 -0
  67. package/dist/components/Gallery/styles.css +0 -8
  68. package/dist/components/Icon/Icon.vue.d.ts.map +1 -1
  69. package/dist/components/Icon/icon-categories.d.ts.map +1 -1
  70. package/dist/components/Icon/icons-types.d.ts +4 -2
  71. package/dist/components/Icon/icons-types.d.ts.map +1 -1
  72. package/dist/components/Icon/icons.d.ts +250 -561
  73. package/dist/components/Icon/icons.d.ts.map +1 -1
  74. package/dist/components/Icon/index.d.ts +2 -2
  75. package/dist/components/Icon/index.d.ts.map +1 -1
  76. package/dist/components/Icon/styles.css +0 -6
  77. package/dist/components/Knob/styles.css +0 -6
  78. package/dist/components/Layout/styles.css +5 -14
  79. package/dist/components/Listbox/Listbox.vue.d.ts.map +1 -1
  80. package/dist/components/Loading/styles.css +0 -16
  81. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  82. package/dist/components/Menu/styles.css +6 -7
  83. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  84. package/dist/components/Menubar/styles.css +4 -0
  85. package/dist/components/Message/styles.css +0 -13
  86. package/dist/components/Page/PageContent.vue.d.ts +2 -1
  87. package/dist/components/Page/PageContent.vue.d.ts.map +1 -1
  88. package/dist/components/Page/PageFilterChips.vue.d.ts +16 -0
  89. package/dist/components/Page/PageFilterChips.vue.d.ts.map +1 -0
  90. package/dist/components/Page/PageFilters.vue.d.ts +15 -3
  91. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -1
  92. package/dist/components/Page/PageHeader.vue.d.ts +8 -4
  93. package/dist/components/Page/PageHeader.vue.d.ts.map +1 -1
  94. package/dist/components/Page/PagePlaceholder.vue.d.ts +6 -2
  95. package/dist/components/Page/PagePlaceholder.vue.d.ts.map +1 -1
  96. package/dist/components/Page/PageSection.vue.d.ts +8 -2
  97. package/dist/components/Page/PageSection.vue.d.ts.map +1 -1
  98. package/dist/components/Page/PageStat.vue.d.ts +8 -3
  99. package/dist/components/Page/PageStat.vue.d.ts.map +1 -1
  100. package/dist/components/Page/index.d.ts +2 -1
  101. package/dist/components/Page/index.d.ts.map +1 -1
  102. package/dist/components/Page/styles.css +239 -44
  103. package/dist/components/Page/types.d.ts +40 -0
  104. package/dist/components/Page/types.d.ts.map +1 -1
  105. package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
  106. package/dist/components/Pagination/styles.css +7 -10
  107. package/dist/components/Pagination/types.d.ts +1 -1
  108. package/dist/components/Pagination/types.d.ts.map +1 -1
  109. package/dist/components/Panel/styles.css +0 -7
  110. package/dist/components/Popover/styles.css +20 -17
  111. package/dist/components/ProgressBar/styles.css +0 -9
  112. package/dist/components/ProgressSpinner/styles.css +0 -7
  113. package/dist/components/ScrollTop/styles.css +0 -7
  114. package/dist/components/Scrollbar/Scrollbar.vue.d.ts +1 -1
  115. package/dist/components/Scrollbar/styles.css +0 -8
  116. package/dist/components/Select/Select.vue.d.ts +10 -8
  117. package/dist/components/Select/Select.vue.d.ts.map +1 -1
  118. package/dist/components/Select/selectOptions.d.ts +46 -0
  119. package/dist/components/Select/selectOptions.d.ts.map +1 -0
  120. package/dist/components/Select/styles.css +35 -8
  121. package/dist/components/Select/types.d.ts +11 -1
  122. package/dist/components/Select/types.d.ts.map +1 -1
  123. package/dist/components/Sidebar/styles.css +0 -6
  124. package/dist/components/Skeleton/styles.css +0 -6
  125. package/dist/components/Slider/styles.css +9 -0
  126. package/dist/components/SplitButton/styles.css +5 -0
  127. package/dist/components/Status/styles.css +0 -7
  128. package/dist/components/Switch/styles.css +0 -7
  129. package/dist/components/Table/Table.vue.d.ts +26 -26
  130. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  131. package/dist/components/Table/TableLoadingLine.vue.d.ts.map +1 -1
  132. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +1 -1
  133. package/dist/components/Table/hooks/useTotalItems.d.ts.map +1 -1
  134. package/dist/components/Table/styles.css +61 -44
  135. package/dist/components/Table/tableQuery.d.ts +30 -0
  136. package/dist/components/Table/tableQuery.d.ts.map +1 -0
  137. package/dist/components/Tree/Tree.vue.d.ts.map +1 -1
  138. package/dist/components/Tree/treeQuery.d.ts +31 -0
  139. package/dist/components/Tree/treeQuery.d.ts.map +1 -0
  140. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  141. package/dist/components/TreeSelect/styles.css +1 -1
  142. package/dist/config-provider/index.js +1 -1
  143. package/dist/config-provider/style.css +72 -72
  144. package/dist/confirm-dialog/index.js +2 -2
  145. package/dist/confirm-dialog/style.css +75 -124
  146. package/dist/confirm-popup/index.js +2 -2
  147. package/dist/confirm-popup/style.css +72 -78
  148. package/dist/context-menu/index.js +2 -2
  149. package/dist/context-menu/style.css +10 -75
  150. package/dist/data-view/index.js +47 -47
  151. package/dist/data-view/style.css +393 -174
  152. package/dist/data-view/style.js +1 -1
  153. package/dist/date-picker/index.js +1 -1
  154. package/dist/date-picker/style.css +10 -67
  155. package/dist/dialog/index.js +2 -2
  156. package/dist/dialog/style.css +75 -124
  157. package/dist/divider/style.css +10 -61
  158. package/dist/dock/index.js +2 -2
  159. package/dist/dock/style.css +10 -77
  160. package/dist/drawer/index.js +1 -1
  161. package/dist/drawer/style.css +12 -118
  162. package/dist/dropdown/index.js +110 -91
  163. package/dist/dropdown/style.css +34 -80
  164. package/dist/empty/index.js +5 -150
  165. package/dist/empty/style.css +10 -67
  166. package/dist/fieldset/index.js +1 -1
  167. package/dist/fieldset/style.css +10 -74
  168. package/dist/file-upload/index.js +148 -146
  169. package/dist/file-upload/style.css +10 -67
  170. package/dist/filterByQuery-Bczaxzih.js +17 -0
  171. package/dist/flex/style.css +10 -61
  172. package/dist/float-label/style.css +10 -61
  173. package/dist/fluid/style.css +10 -61
  174. package/dist/form/style.css +10 -61
  175. package/dist/gallery/index.js +1 -1
  176. package/dist/gallery/style.css +10 -83
  177. package/dist/grid/style.css +10 -61
  178. package/dist/icon/index.js +93 -39
  179. package/dist/icon/style.css +10 -67
  180. package/dist/icon-COrt_N8A.js +18 -0
  181. package/dist/icon-field/style.css +10 -61
  182. package/dist/index.d.ts +3 -2
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.js +5400 -5145
  185. package/dist/inplace/style.css +10 -61
  186. package/dist/input/index.js +1 -1
  187. package/dist/input/style.css +10 -67
  188. package/dist/input-color/style.css +10 -61
  189. package/dist/input-group/style.css +10 -61
  190. package/dist/input-number/index.js +1 -1
  191. package/dist/input-number/style.css +10 -67
  192. package/dist/input-otp/style.css +10 -61
  193. package/dist/input-password/index.js +1 -1
  194. package/dist/input-password/style.css +10 -67
  195. package/dist/input-tags/index.js +1 -1
  196. package/dist/input-tags/style.css +10 -67
  197. package/dist/knob/style.css +10 -67
  198. package/dist/label/style.css +10 -61
  199. package/dist/layout/index.js +1 -1
  200. package/dist/layout/style.css +15 -89
  201. package/dist/listbox/index.js +30 -32
  202. package/dist/listbox/style.css +10 -69
  203. package/dist/loading/index.js +32 -446
  204. package/dist/loading/style.css +10 -77
  205. package/dist/mega-menu/index.js +2 -2
  206. package/dist/mega-menu/style.css +10 -67
  207. package/dist/menu/index.js +265 -255
  208. package/dist/menu/style.css +36 -99
  209. package/dist/menubar/index.js +6 -3
  210. package/dist/menubar/style.css +14 -75
  211. package/dist/message/index.js +1 -1
  212. package/dist/message/style.css +10 -80
  213. package/dist/meter-group/style.css +10 -61
  214. package/dist/order-list/index.js +1 -1
  215. package/dist/order-list/style.css +10 -67
  216. package/dist/page/index.js +229 -70
  217. package/dist/page/style.css +1186 -113
  218. package/dist/page/style.js +3 -0
  219. package/dist/pagination/index.js +1 -1
  220. package/dist/pagination/style.css +210 -77
  221. package/dist/pagination/style.js +1 -0
  222. package/dist/panel/index.js +1 -1
  223. package/dist/panel/style.css +10 -74
  224. package/dist/pick-list/index.js +1 -1
  225. package/dist/pick-list/style.css +10 -67
  226. package/dist/popover/style.css +30 -78
  227. package/dist/progress-bar/style.css +10 -70
  228. package/dist/progress-spinner/index.js +105 -2
  229. package/dist/progress-spinner/style.css +10 -68
  230. package/dist/radio/style.css +10 -61
  231. package/dist/rating/index.js +1 -1
  232. package/dist/rating/style.css +10 -67
  233. package/dist/resolver-map.d.ts.map +1 -1
  234. package/dist/resolver.js +1 -0
  235. package/dist/result/index.js +1 -1
  236. package/dist/result/style.css +10 -67
  237. package/dist/scroll-top/index.js +1 -1
  238. package/dist/scroll-top/style.css +10 -82
  239. package/dist/scrollbar/style.css +10 -69
  240. package/dist/select/index.js +2 -478
  241. package/dist/select/style.css +59 -89
  242. package/dist/select-button/style.css +10 -61
  243. package/dist/shared/config.d.ts +2 -2
  244. package/dist/shared/filterByQuery.d.ts +14 -0
  245. package/dist/shared/filterByQuery.d.ts.map +1 -0
  246. package/dist/shared/menu/expand.d.ts +38 -0
  247. package/dist/shared/menu/expand.d.ts.map +1 -0
  248. package/dist/shared/menu/icon.d.ts.map +1 -1
  249. package/dist/shared/menu/index.d.ts +2 -0
  250. package/dist/shared/menu/index.d.ts.map +1 -1
  251. package/dist/shared/styles/select-overlay.css +14 -6
  252. package/dist/sidebar/index.js +2 -2
  253. package/dist/sidebar/style.css +10 -73
  254. package/dist/skeleton/index.js +2 -59
  255. package/dist/skeleton/style.css +10 -67
  256. package/dist/slider/style.css +19 -61
  257. package/dist/space/style.css +10 -61
  258. package/dist/speed-dial/index.js +2 -2
  259. package/dist/speed-dial/style.css +10 -67
  260. package/dist/split-button/index.js +1 -1
  261. package/dist/split-button/style.css +77 -78
  262. package/dist/splitter/style.css +10 -61
  263. package/dist/status/index.js +1 -1
  264. package/dist/status/style.css +10 -74
  265. package/dist/stepper/index.js +1 -1
  266. package/dist/stepper/style.css +10 -67
  267. package/dist/styles/base.css +5 -50
  268. package/dist/styles.css +1 -1
  269. package/dist/switch/style.css +10 -68
  270. package/dist/table/index.js +409 -373
  271. package/dist/table/style.css +457 -215
  272. package/dist/table/style.js +1 -1
  273. package/dist/tabs/index.js +1 -1
  274. package/dist/tabs/style.css +10 -75
  275. package/dist/tag/index.js +1 -1
  276. package/dist/tag/style.css +10 -67
  277. package/dist/terminal/style.css +10 -61
  278. package/dist/textarea/index.js +1 -1
  279. package/dist/textarea/style.css +10 -67
  280. package/dist/theme/styles.css +5 -11
  281. package/dist/theme/useMotion.d.ts +5 -1
  282. package/dist/theme/useMotion.d.ts.map +1 -1
  283. package/dist/tiered-menu/index.js +1 -1
  284. package/dist/tiered-menu/style.css +10 -75
  285. package/dist/timeline/index.js +1 -1
  286. package/dist/timeline/style.css +10 -75
  287. package/dist/toast/index.js +1 -1
  288. package/dist/toast/style.css +10 -67
  289. package/dist/toggle-button/index.js +2 -2
  290. package/dist/toggle-button/style.css +10 -67
  291. package/dist/toolbar/style.css +10 -61
  292. package/dist/tooltip/style.css +10 -61
  293. package/dist/tree/index.js +159 -173
  294. package/dist/tree/style.css +10 -67
  295. package/dist/tree-select/index.js +200 -213
  296. package/dist/tree-select/style.css +25 -82
  297. package/dist/tree-table/index.js +1 -1
  298. package/dist/tree-table/style.css +10 -67
  299. package/dist/treeQuery-CnHkyYOA.js +107 -0
  300. package/dist/virtual-scroller/style.css +10 -69
  301. package/package.json +1 -1
  302. package/dist/Button-B5X_R4Md.js +0 -156
  303. package/dist/Icon-lcN1rS87.js +0 -610
  304. package/dist/Pagination-CVrH8Ypi.js +0 -158
  305. package/dist/ProgressSpinner-BeWVF6Jv.js +0 -105
  306. package/dist/checkStrategy-CZzuUKDI.js +0 -63
  307. package/dist/components/Icon/icons-tabler.d.ts +0 -77
  308. package/dist/components/Icon/icons-tabler.d.ts.map +0 -1
  309. package/dist/icon-DWXkh-RM.js +0 -27
@@ -1,49 +1,54 @@
1
1
  import { a as e } from "../useComponentAttrs-e-5QAjdw.js";
2
- import { t } from "../Icon-lcN1rS87.js";
2
+ import { t } from "../Icon-od9Ob-Ay.js";
3
3
  import { t as n } from "../useMotionTransition-Bxnnb_9u.js";
4
4
  import { n as r, t as i } from "../overlay-oR-5MDuE.js";
5
5
  import { t as a } from "../overlayPlacement-Cd20JTD_.js";
6
6
  import { t as o } from "../useFloatingViewportSync-DZdJ7W8n.js";
7
7
  import { t as s } from "../Scrollbar-DTeJ8P5b.js";
8
- import { t as c } from "../icon-DWXkh-RM.js";
8
+ import { t as c } from "../icon-COrt_N8A.js";
9
9
  import { t as l } from "../key-CaQYVkjh.js";
10
10
  import { t as u } from "../FlyoutSubmenu-BrUPmJa1.js";
11
11
  import { c as d } from "../config-CapALqt3.js";
12
12
  import { n as f } from "../locale-Bzm2nbEp.js";
13
13
  import "./style.js";
14
- import { Fragment as p, Teleport as m, Transition as h, computed as g, createBlock as ee, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createSlots as b, createTextVNode as x, createVNode as S, defineComponent as C, mergeProps as w, nextTick as te, normalizeClass as T, normalizeStyle as E, onBeforeUnmount as ne, openBlock as D, ref as O, renderList as k, renderSlot as A, toDisplayString as j, unref as M, useAttrs as re, watch as ie, withCtx as N } from "vue";
14
+ import { Fragment as p, Teleport as m, Transition as h, computed as g, createBlock as ee, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createSlots as b, createTextVNode as x, createVNode as S, defineComponent as C, mergeProps as w, nextTick as te, normalizeClass as T, normalizeStyle as E, onBeforeUnmount as D, openBlock as O, ref as k, renderList as A, renderSlot as j, toDisplayString as M, unref as N, useAttrs as ne, watch as re, withCtx as P } from "vue";
15
15
  //#region src/components/Dropdown/DropdownNodes.vue?vue&type=script&setup=true&lang.ts
16
- var P = {
16
+ var F = {
17
17
  key: 0,
18
18
  class: "m-dropdown__separator",
19
19
  role: "separator"
20
- }, F = {
20
+ }, I = {
21
21
  key: 1,
22
22
  class: "m-dropdown__group"
23
- }, I = { class: "m-dropdown__group-label" }, L = ["onMouseenter"], R = ["disabled"], z = {
23
+ }, L = { class: "m-dropdown__group-label" }, R = ["onMouseenter"], z = ["disabled"], B = {
24
24
  key: 0,
25
25
  class: "m-dropdown__icon",
26
26
  "aria-hidden": "true"
27
- }, B = {
27
+ }, V = {
28
28
  class: "m-dropdown__caret",
29
29
  "aria-hidden": "true"
30
- }, V = [
30
+ }, H = [
31
31
  "disabled",
32
32
  "onMouseenter",
33
33
  "onClick"
34
- ], H = {
34
+ ], U = {
35
35
  key: 0,
36
36
  class: "m-dropdown__icon",
37
37
  "aria-hidden": "true"
38
- }, U = /* @__PURE__ */ C({
38
+ }, W = /* @__PURE__ */ C({
39
39
  __name: "DropdownNodes",
40
40
  props: {
41
41
  items: {},
42
42
  highlightedValue: {}
43
43
  },
44
- emits: ["select", "highlight"],
44
+ emits: [
45
+ "select",
46
+ "highlight",
47
+ "submenuEnter",
48
+ "submenuLeave"
49
+ ],
45
50
  setup(e, { emit: n }) {
46
- let r = n, i = O(null), a = O(null), o;
51
+ let r = n, i = k(null), a = k(null), o;
47
52
  function d() {
48
53
  o && clearTimeout(o), o = void 0;
49
54
  }
@@ -61,35 +66,41 @@ var P = {
61
66
  function g(e, t) {
62
67
  return l(e, t, "dd");
63
68
  }
64
- function b(e) {
69
+ function C(e) {
65
70
  return c(e.icon);
66
71
  }
67
- function C(e, t, n) {
72
+ function w(e, t, n) {
68
73
  if (e.disabled || m(e) || h(e) || (d(), r("highlight", e.value), !e.items?.length)) return;
69
74
  i.value = g(e, t);
70
75
  let o = n.currentTarget;
71
76
  a.value = o?.querySelector(".m-dropdown__item--parent") ?? o;
72
77
  }
73
- function w() {
74
- f();
75
- }
76
78
  function te() {
77
- d();
79
+ f();
78
80
  }
79
81
  function E() {
80
- f();
82
+ d(), r("submenuEnter");
81
83
  }
82
- return (n, r) => (D(!0), v(p, null, k(e.items, (o, c) => (D(), v(p, { key: g(o, c) }, [m(o) ? (D(), v("div", P)) : h(o) ? (D(), v("div", F, [y("div", I, j(o.label), 1), o.items?.length ? (D(), ee(U, {
84
+ function D() {
85
+ f(), r("submenuLeave");
86
+ }
87
+ return (n, r) => (O(!0), v(p, null, A(e.items, (o, c) => (O(), v(p, { key: g(o, c) }, [m(o) ? (O(), v("div", F)) : h(o) ? (O(), v("div", I, [y("div", L, M(o.label), 1), o.items?.length ? (O(), ee(W, {
83
88
  key: 0,
84
89
  items: o.items,
85
90
  "highlighted-value": e.highlightedValue,
86
91
  onSelect: r[0] ||= (e) => n.$emit("select", e),
87
- onHighlight: r[1] ||= (e) => n.$emit("highlight", e)
88
- }, null, 8, ["items", "highlighted-value"])) : _("", !0)])) : o.items?.length ? (D(), v("div", {
92
+ onHighlight: r[1] ||= (e) => n.$emit("highlight", e),
93
+ onSubmenuEnter: E,
94
+ onSubmenuLeave: D
95
+ }, b({ _: 2 }, [n.$slots.item ? {
96
+ name: "item",
97
+ fn: P(({ item: e }) => [j(n.$slots, "item", { item: e })]),
98
+ key: "0"
99
+ } : void 0]), 1032, ["items", "highlighted-value"])) : _("", !0)])) : o.items?.length ? (O(), v("div", {
89
100
  key: 2,
90
101
  class: "m-dropdown__submenu-wrap",
91
- onMouseenter: (e) => C(o, c, e),
92
- onMouseleave: w
102
+ onMouseenter: (e) => w(o, c, e),
103
+ onMouseleave: te
93
104
  }, [y("button", {
94
105
  type: "button",
95
106
  class: T(["m-dropdown__item m-dropdown__item--parent", { "m-dropdown__item--highlighted": e.highlightedValue === o.value }]),
@@ -97,38 +108,44 @@ var P = {
97
108
  disabled: o.disabled,
98
109
  "aria-haspopup": !0
99
110
  }, [
100
- b(o) ? (D(), v("span", z, [S(t, {
101
- name: b(o),
111
+ C(o) ? (O(), v("span", B, [S(t, {
112
+ name: C(o),
102
113
  size: "sm"
103
114
  }, null, 8, ["name"])])) : _("", !0),
104
- A(n.$slots, "item", { item: o }, () => [x(j(o.label), 1)]),
105
- y("span", B, [S(t, {
115
+ j(n.$slots, "item", { item: o }, () => [x(M(o.label), 1)]),
116
+ y("span", V, [S(t, {
106
117
  name: "chevron-right",
107
118
  size: "sm"
108
119
  })])
109
- ], 10, R), S(u, {
120
+ ], 10, z), S(u, {
110
121
  open: i.value === g(o, c),
111
122
  anchor: i.value === g(o, c) ? a.value : null,
112
123
  "panel-class": "m-dropdown__submenu",
113
- onEnter: te,
114
- onLeave: E
124
+ onEnter: E,
125
+ onLeave: D
115
126
  }, {
116
- default: N(() => [S(s, {
127
+ default: P(() => [S(s, {
117
128
  class: "m-dropdown__submenu-scroll",
118
129
  "fit-content": "",
119
130
  "wrap-class": "m-dropdown__submenu-wrap-inner",
120
131
  "view-class": "m-dropdown__submenu-view"
121
132
  }, {
122
- default: N(() => [S(U, {
133
+ default: P(() => [S(W, {
123
134
  items: o.items,
124
135
  "highlighted-value": e.highlightedValue,
125
136
  onSelect: r[2] ||= (e) => n.$emit("select", e),
126
- onHighlight: r[3] ||= (e) => n.$emit("highlight", e)
127
- }, null, 8, ["items", "highlighted-value"])]),
137
+ onHighlight: r[3] ||= (e) => n.$emit("highlight", e),
138
+ onSubmenuEnter: E,
139
+ onSubmenuLeave: D
140
+ }, b({ _: 2 }, [n.$slots.item ? {
141
+ name: "item",
142
+ fn: P(({ item: e }) => [j(n.$slots, "item", { item: e })]),
143
+ key: "0"
144
+ } : void 0]), 1032, ["items", "highlighted-value"])]),
128
145
  _: 2
129
146
  }, 1024)]),
130
147
  _: 2
131
- }, 1032, ["open", "anchor"])], 40, L)) : (D(), v("button", {
148
+ }, 1032, ["open", "anchor"])], 40, R)) : (O(), v("button", {
132
149
  key: 3,
133
150
  type: "button",
134
151
  class: T(["m-dropdown__item", { "m-dropdown__item--highlighted": e.highlightedValue === o.value }]),
@@ -136,12 +153,12 @@ var P = {
136
153
  disabled: o.disabled,
137
154
  onMouseenter: (e) => !o.disabled && n.$emit("highlight", o.value),
138
155
  onClick: (e) => n.$emit("select", o)
139
- }, [b(o) ? (D(), v("span", H, [S(t, {
140
- name: b(o),
156
+ }, [C(o) ? (O(), v("span", U, [S(t, {
157
+ name: C(o),
141
158
  size: "sm"
142
- }, null, 8, ["name"])])) : _("", !0), A(n.$slots, "item", { item: o }, () => [x(j(o.label), 1)])], 42, V))], 64))), 128));
159
+ }, null, 8, ["name"])])) : _("", !0), j(n.$slots, "item", { item: o }, () => [x(M(o.label), 1)])], 42, H))], 64))), 128));
143
160
  }
144
- }), ae = ["aria-expanded"], W = /* @__PURE__ */ C({
161
+ }), ie = ["aria-expanded"], G = /* @__PURE__ */ C({
145
162
  inheritAttrs: !1,
146
163
  __name: "Dropdown",
147
164
  props: {
@@ -171,104 +188,104 @@ var P = {
171
188
  },
172
189
  emits: ["update:modelValue", "select"],
173
190
  setup(t, { emit: c }) {
174
- let l = t, u = c, p = re(), { rootAttrs: C } = e(p, () => l.pt), k = d(), { transitionName: P, transitionCss: F } = n({
191
+ let l = t, u = c, p = ne(), { rootAttrs: C } = e(p, () => l.pt), A = d(), { transitionName: F, transitionCss: I } = n({
175
192
  role: "popup",
176
193
  local: () => l.transition,
177
194
  componentName: "Dropdown",
178
195
  fallback: "scale-fade"
179
- }), I = f(), L = O(null), R = O(null), z = O(null), B = O({}), V = O(-1), H = g(() => l.items.filter((e) => !e.disabled && !e.separator && e.type !== "divider" && e.type !== "group" && !e.items?.length && e.value != null)), W = g(() => H.value[V.value]?.value), G, K, q = g(() => r(l, k.value.appendTo)), J = g(() => i(l, k.value.appendTo));
180
- function oe() {
181
- V.value = H.value.length ? 0 : -1;
196
+ }), L = f(), R = k(null), z = k(null), B = k(null), V = k({}), H = k(-1), U = g(() => l.items.filter((e) => !e.disabled && !e.separator && e.type !== "divider" && e.type !== "group" && !e.items?.length && e.value != null)), G = g(() => U.value[H.value]?.value), K, q, J = g(() => r(l, A.value.appendTo)), Y = g(() => i(l, A.value.appendTo));
197
+ function ae() {
198
+ H.value = U.value.length ? 0 : -1;
182
199
  }
183
- function Y() {
184
- if (!J.value || !R.value) return;
185
- let e = R.value.getBoundingClientRect();
186
- B.value = a(e, l.placement === "bottom-end" ? "bottom-end" : "bottom-start", { minWidth: `${e.width}px` });
200
+ function X() {
201
+ if (!Y.value || !z.value) return;
202
+ let e = z.value.getBoundingClientRect();
203
+ V.value = a(e, l.placement === "bottom-end" ? "bottom-end" : "bottom-start", { minWidth: `${e.width}px` });
187
204
  }
188
- function X(e) {
189
- u("update:modelValue", e), e && (oe(), te(() => {
190
- Y(), z.value?.focus({ preventScroll: !0 });
205
+ function Z(e) {
206
+ u("update:modelValue", e), e && (ae(), te(() => {
207
+ X(), B.value?.focus({ preventScroll: !0 });
191
208
  }));
192
209
  }
193
- function se() {
194
- X(!l.modelValue);
210
+ function oe() {
211
+ Z(!l.modelValue);
195
212
  }
196
- function ce() {
197
- l.modelValue && Y();
213
+ function se() {
214
+ l.modelValue && X();
198
215
  }
199
- function Z(e) {
200
- e.disabled || e.separator || e.type === "divider" || e.type === "group" || (e.command?.(), u("select", e), l.closeOnSelect && X(!1));
216
+ function ce(e) {
217
+ e.disabled || e.separator || e.type === "divider" || e.type === "group" || (e.command?.(), u("select", e), l.closeOnSelect && Z(!1));
201
218
  }
202
219
  function Q() {
203
- G && clearTimeout(G), K && clearTimeout(K), G = void 0, K = void 0;
220
+ K && clearTimeout(K), q && clearTimeout(q), K = void 0, q = void 0;
204
221
  }
205
222
  function le() {
206
- l.trigger === "hover" && (Q(), G = setTimeout(X, l.showDelay, !0));
223
+ l.trigger === "hover" && (Q(), K = setTimeout(Z, l.showDelay, !0));
207
224
  }
208
225
  function ue() {
209
- l.trigger === "hover" && (Q(), K = setTimeout(X, l.hideDelay, !1));
226
+ l.trigger === "hover" && (Q(), q = setTimeout(Z, l.hideDelay, !1));
210
227
  }
211
228
  function de() {
212
229
  l.trigger === "hover" && Q();
213
230
  }
214
231
  function fe() {
215
- l.trigger === "hover" && (Q(), K = setTimeout(X, l.hideDelay, !1));
232
+ l.trigger === "hover" && (Q(), q = setTimeout(Z, l.hideDelay, !1));
216
233
  }
217
234
  function pe(e) {
218
235
  if (l.modelValue) {
219
236
  if (e.key === "Escape") {
220
- e.preventDefault(), X(!1), R.value?.focus({ preventScroll: !0 });
237
+ e.preventDefault(), Z(!1), z.value?.focus({ preventScroll: !0 });
221
238
  return;
222
239
  }
223
240
  if (e.key === "ArrowDown" || e.key === "ArrowUp") {
224
241
  e.preventDefault();
225
- let t = e.key === "ArrowDown" ? 1 : -1, n = H.value.length;
226
- n && (V.value = (V.value + t + n) % n);
242
+ let t = e.key === "ArrowDown" ? 1 : -1, n = U.value.length;
243
+ n && (H.value = (H.value + t + n) % n);
227
244
  }
228
- if (e.key === "Home" && (e.preventDefault(), V.value = 0), e.key === "End" && (e.preventDefault(), V.value = H.value.length - 1), e.key === "Enter" || e.key === " ") {
229
- let t = H.value[V.value];
230
- V.value >= 0 && t && (e.preventDefault(), Z(t));
245
+ if (e.key === "Home" && (e.preventDefault(), H.value = 0), e.key === "End" && (e.preventDefault(), H.value = U.value.length - 1), e.key === "Enter" || e.key === " ") {
246
+ let t = U.value[H.value];
247
+ H.value >= 0 && t && (e.preventDefault(), ce(t));
231
248
  }
232
249
  }
233
250
  }
234
251
  function me(e) {
235
- (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), l.modelValue || X(!0));
252
+ (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), l.modelValue || Z(!0));
236
253
  }
237
254
  function $(e) {
238
- l.modelValue && L.value && !L.value.contains(e.target) && !z.value?.contains(e.target) && X(!1);
255
+ l.modelValue && R.value && !R.value.contains(e.target) && !B.value?.contains(e.target) && Z(!1);
239
256
  }
240
- return ie(() => l.modelValue, (e) => {
257
+ return re(() => l.modelValue, (e) => {
241
258
  e ? document.addEventListener("click", $) : document.removeEventListener("click", $);
242
- }, { immediate: !0 }), o(() => l.modelValue && J.value, ce), ne(() => {
259
+ }, { immediate: !0 }), o(() => l.modelValue && Y.value, se), D(() => {
243
260
  document.removeEventListener("click", $), Q();
244
- }), (e, n) => (D(), v("div", w({
261
+ }), (e, n) => (O(), v("div", w({
245
262
  ref_key: "root",
246
- ref: L
247
- }, M(C), { class: "m-dropdown" }), [y("span", {
263
+ ref: R
264
+ }, N(C), { class: "m-dropdown" }), [y("span", {
248
265
  ref_key: "trigger",
249
- ref: R,
266
+ ref: z,
250
267
  class: "m-dropdown__trigger",
251
268
  role: "button",
252
269
  tabindex: "0",
253
270
  "aria-expanded": t.modelValue,
254
271
  "aria-haspopup": "menu",
255
- onClick: n[0] ||= (e) => l.trigger === "click" && se(),
272
+ onClick: n[0] ||= (e) => l.trigger === "click" && oe(),
256
273
  onMouseenter: le,
257
274
  onMouseleave: ue,
258
275
  onKeydown: me
259
- }, [A(e.$slots, "trigger", {}, () => [x(j(M(I).openMenu), 1)])], 40, ae), (D(), ee(m, {
260
- to: q.value.to,
261
- disabled: q.value.disabled
276
+ }, [j(e.$slots, "trigger", {}, () => [x(M(N(L).openMenu), 1)])], 40, ie), (O(), ee(m, {
277
+ to: J.value.to,
278
+ disabled: J.value.disabled
262
279
  }, [S(h, {
263
- name: M(P),
264
- css: M(F)
280
+ name: N(F),
281
+ css: N(I)
265
282
  }, {
266
- default: N(() => [t.modelValue ? (D(), v("div", {
283
+ default: P(() => [t.modelValue ? (O(), v("div", {
267
284
  key: 0,
268
285
  ref_key: "menu",
269
- ref: z,
270
- class: T(["m-dropdown__menu", [`m-dropdown__menu--${t.placement}`, { "m-dropdown__menu--teleported": J.value }]]),
271
- style: E(J.value ? B.value : void 0),
286
+ ref: B,
287
+ class: T(["m-dropdown__menu", [`m-dropdown__menu--${t.placement}`, { "m-dropdown__menu--teleported": Y.value }]]),
288
+ style: E(Y.value ? V.value : void 0),
272
289
  role: "menu",
273
290
  tabindex: "-1",
274
291
  onKeydown: pe,
@@ -280,14 +297,16 @@ var P = {
280
297
  "wrap-class": "m-dropdown__scroll-wrap",
281
298
  "view-class": "m-dropdown__scroll-view"
282
299
  }, {
283
- default: N(() => [S(U, {
300
+ default: P(() => [S(W, {
284
301
  items: t.items,
285
- "highlighted-value": W.value,
286
- onSelect: Z,
287
- onHighlight: n[1] ||= (e) => V.value = H.value.findIndex((t) => t.value === e)
302
+ "highlighted-value": G.value,
303
+ onSelect: ce,
304
+ onHighlight: n[1] ||= (e) => H.value = U.value.findIndex((t) => t.value === e),
305
+ onSubmenuEnter: de,
306
+ onSubmenuLeave: fe
288
307
  }, b({ _: 2 }, [e.$slots.item ? {
289
308
  name: "item",
290
- fn: N(({ item: t }) => [A(e.$slots, "item", { item: t })]),
309
+ fn: P(({ item: t }) => [j(e.$slots, "item", { item: t })]),
291
310
  key: "0"
292
311
  } : void 0]), 1032, ["items", "highlighted-value"])]),
293
312
  _: 3
@@ -297,4 +316,4 @@ var P = {
297
316
  }
298
317
  });
299
318
  //#endregion
300
- export { W as MDropdown };
319
+ export { G as MDropdown };
@@ -50,6 +50,10 @@
50
50
  --m-font-size-sm: 0.8125rem;
51
51
  --m-font-size-md: 0.875rem;
52
52
  --m-font-size-lg: 1.125rem;
53
+ /* Display scale (page titles, KPI figures) */
54
+ --m-font-size-xl: 1.25rem;
55
+ --m-font-size-2xl: 1.5rem;
56
+ --m-font-size-3xl: 1.75rem;
53
57
  --m-opacity-disabled: 0.55;
54
58
  /* Layering: override --m-z-base via ConfigProvider / createMoryaUI */
55
59
  --m-z-base: 1000;
@@ -192,20 +196,10 @@
192
196
 
193
197
  /*
194
198
  * Global motion policy (complements per-component rules):
195
- * - `reduced` / OS prefers-reduced-motion: keep short paint transitions; stop loops
199
+ * - `reduced`: keep short paint transitions; stop loops
196
200
  * and layout/transform size animation.
197
201
  * - `none`: zero all transition/animation durations.
198
202
  */
199
- @media (prefers-reduced-motion: reduce) {
200
- html:not([data-m-ignore-reduced-motion]) *,
201
- html:not([data-m-ignore-reduced-motion]) *::before,
202
- html:not([data-m-ignore-reduced-motion]) *::after {
203
- animation-duration: 0.01ms !important;
204
- animation-iteration-count: 1 !important;
205
- transition-property: background-color, border-color, color, opacity, box-shadow,
206
- outline, fill, stroke, stroke-dashoffset !important;
207
- }
208
- }
209
203
 
210
204
  [data-m-motion="reduced"] *,
211
205
  [data-m-motion="reduced"] *::before,
@@ -529,9 +523,13 @@
529
523
  border-radius: var(--m-radius-md);
530
524
  box-shadow: var(--m-shadow-md);
531
525
  max-height: var(--m-dropdown-submenu-max-height);
526
+ max-width: calc(100vw - 2 * var(--m-space-4));
532
527
  min-width: 10rem;
533
528
  overflow: hidden;
534
529
  padding: var(--m-space-1);
530
+ /* Same as .m-dropdown__menu: size to content instead of being clamped
531
+ by the space left of the anchor in the viewport. */
532
+ width: max-content;
535
533
  }
536
534
 
537
535
  .m-dropdown__submenu--teleported {
@@ -611,7 +609,7 @@
611
609
  .m-zoom-enter-from,
612
610
  .m-zoom-leave-to {
613
611
  opacity: 0;
614
- transform: scale(0.9);
612
+ transform: scale(0.95);
615
613
  }
616
614
 
617
615
  .m-slide-up-enter-active,
@@ -656,44 +654,6 @@
656
654
  transform: translateX(calc(var(--m-motion-distance) * -1));
657
655
  }
658
656
 
659
- @media (prefers-reduced-motion: reduce) {
660
- html:not([data-m-ignore-reduced-motion]) .m-fade-enter-active,
661
- html:not([data-m-ignore-reduced-motion]) .m-fade-leave-active,
662
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-active,
663
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-active,
664
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-active,
665
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-active,
666
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-active,
667
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-active,
668
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-active,
669
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-active,
670
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-active,
671
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-active,
672
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-active,
673
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-active,
674
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-active,
675
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-active {
676
- transition: none;
677
- }
678
-
679
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-enter-from,
680
- html:not([data-m-ignore-reduced-motion]) .m-scale-fade-leave-to,
681
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-enter-from,
682
- html:not([data-m-ignore-reduced-motion]) .m-slide-fade-leave-to,
683
- html:not([data-m-ignore-reduced-motion]) .m-zoom-enter-from,
684
- html:not([data-m-ignore-reduced-motion]) .m-zoom-leave-to,
685
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-enter-from,
686
- html:not([data-m-ignore-reduced-motion]) .m-slide-up-leave-to,
687
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-enter-from,
688
- html:not([data-m-ignore-reduced-motion]) .m-slide-down-leave-to,
689
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-enter-from,
690
- html:not([data-m-ignore-reduced-motion]) .m-slide-left-leave-to,
691
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-enter-from,
692
- html:not([data-m-ignore-reduced-motion]) .m-slide-right-leave-to {
693
- transform: none;
694
- }
695
- }
696
-
697
657
  [data-m-motion="reduced"] .m-fade-enter-active,
698
658
  [data-m-motion="reduced"] .m-fade-leave-active,
699
659
  [data-m-motion="reduced"] .m-scale-fade-enter-active,
@@ -1188,17 +1148,6 @@
1188
1148
  animation: none !important;
1189
1149
  }
1190
1150
 
1191
- @media (prefers-reduced-motion: reduce) {
1192
- html:not([data-m-ignore-reduced-motion]) *,
1193
- html:not([data-m-ignore-reduced-motion]) *::before,
1194
- html:not([data-m-ignore-reduced-motion]) *::after {
1195
- animation-duration: 0.01ms !important;
1196
- animation-iteration-count: 1 !important;
1197
- scroll-behavior: auto !important;
1198
- transition-duration: 0.01ms !important;
1199
- }
1200
- }
1201
-
1202
1151
  .m-icon {
1203
1152
  color: currentColor;
1204
1153
  display: inline-flex;
@@ -1243,12 +1192,6 @@
1243
1192
  }
1244
1193
  }
1245
1194
 
1246
- @media (prefers-reduced-motion: reduce) {
1247
- html:not([data-m-ignore-reduced-motion]) .m-icon--spin svg {
1248
- animation: none;
1249
- }
1250
- }
1251
-
1252
1195
  :root[data-m-motion='none'] .m-icon--spin svg,
1253
1196
  :root[data-m-motion='reduced'] .m-icon--spin svg {
1254
1197
  animation: none;
@@ -1378,14 +1321,6 @@
1378
1321
  opacity: 0;
1379
1322
  }
1380
1323
 
1381
- @media (prefers-reduced-motion: reduce) {
1382
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar__thumb,
1383
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-enter-active,
1384
- html:not([data-m-ignore-reduced-motion]) .m-scrollbar-fade-leave-active {
1385
- transition: none;
1386
- }
1387
- }
1388
-
1389
1324
  :root[data-m-motion='none'] .m-scrollbar__thumb,
1390
1325
  :root[data-m-motion='none'] .m-scrollbar-fade-enter-active,
1391
1326
  :root[data-m-motion='none'] .m-scrollbar-fade-leave-active,
@@ -1426,10 +1361,16 @@
1426
1361
  box-shadow: var(--m-shadow-md);
1427
1362
  display: grid;
1428
1363
  gap: var(--m-space-1);
1364
+ max-width: calc(100vw - 2 * var(--m-space-4));
1429
1365
  min-width: var(--m-dropdown-menu-min-width);
1366
+ overflow: hidden;
1430
1367
  padding: var(--m-space-1);
1431
1368
  position: absolute;
1432
1369
  top: calc(100% + var(--m-space-2));
1370
+ /* Grow with the content: the default shrink-to-fit width of an abs/fixed
1371
+ box is clamped by its containing block (the trigger width when not
1372
+ teleported), so long items would be clipped instead of widening the menu. */
1373
+ width: max-content;
1433
1374
  z-index: var(--m-z-popper);
1434
1375
  }
1435
1376
 
@@ -1467,9 +1408,10 @@
1467
1408
  cursor: pointer;
1468
1409
  display: flex;
1469
1410
  font-family: var(--m-font-sans);
1470
- font-size: var(--m-font-size-md);
1471
- min-height: var(--m-menu-item-height);
1472
- padding: var(--m-space-2) var(--m-space-3);
1411
+ font-size: var(--m-control-font-medium);
1412
+ gap: var(--m-space-2);
1413
+ min-height: var(--m-control-height-medium);
1414
+ padding: 0 var(--m-control-padding-x-medium);
1473
1415
  text-align: left;
1474
1416
  transition:
1475
1417
  background-color var(--m-motion-fast) var(--m-motion-ease),
@@ -1477,6 +1419,10 @@
1477
1419
  white-space: nowrap;
1478
1420
  }
1479
1421
 
1422
+ .m-dropdown__caret {
1423
+ margin-left: auto;
1424
+ }
1425
+
1480
1426
  .m-dropdown__item:hover:not(:disabled),
1481
1427
  .m-dropdown__item--highlighted:not(:disabled) {
1482
1428
  background: color-mix(in srgb, var(--m-color-primary) 10%, transparent);
@@ -1484,7 +1430,8 @@
1484
1430
  }
1485
1431
 
1486
1432
  .m-dropdown__item:focus-visible {
1487
- box-shadow: var(--m-focus-shadow);
1433
+ background: color-mix(in srgb, var(--m-color-primary) 10%, transparent);
1434
+ box-shadow: none;
1488
1435
  outline: none;
1489
1436
  }
1490
1437
 
@@ -1500,8 +1447,15 @@
1500
1447
  margin: var(--m-space-1) 0;
1501
1448
  }
1502
1449
 
1450
+ /* Groups nest items in a wrapper div, outside the scroll-view grid: restate
1451
+ the grid so grouped items keep the same gap rhythm and stretch full width. */
1452
+ .m-dropdown__group {
1453
+ display: grid;
1454
+ gap: var(--m-space-1);
1455
+ }
1456
+
1503
1457
  .m-dropdown__group-label {
1504
1458
  color: var(--m-color-text-muted);
1505
1459
  font-size: var(--m-font-size-xs);
1506
- padding: var(--m-space-2) var(--m-space-3) var(--m-space-1);
1460
+ padding: var(--m-space-2) var(--m-control-padding-x-medium) var(--m-space-1);
1507
1461
  }