morya-ui 0.3.5 → 0.3.7

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 (259) hide show
  1. package/CHANGELOG.md +573 -523
  2. package/LICENSE +21 -21
  3. package/README.md +150 -150
  4. package/README.zh-CN.md +150 -150
  5. package/dist/Input-DQiiKSm3.js +174 -0
  6. package/dist/accordion/style.css +1146 -1148
  7. package/dist/auto-complete/style.css +1688 -1690
  8. package/dist/avatar/style.css +1259 -1261
  9. package/dist/badge/style.css +1313 -1315
  10. package/dist/block-ui/style.css +1146 -1148
  11. package/dist/breadcrumb/style.css +1146 -1148
  12. package/dist/button/style.css +2136 -2138
  13. package/dist/card/style.css +1146 -1148
  14. package/dist/carousel/style.css +1247 -1249
  15. package/dist/cascade-select/style.css +1837 -1839
  16. package/dist/checkbox/style.css +1146 -1148
  17. package/dist/chip/style.css +1290 -1292
  18. package/dist/command-menu/style.css +1379 -1381
  19. package/dist/component-registry.d.ts.map +1 -1
  20. package/dist/components/AutoComplete/styles.css +209 -209
  21. package/dist/components/Avatar/styles.css +113 -113
  22. package/dist/components/Badge/styles.css +165 -165
  23. package/dist/components/Button/styles.css +962 -962
  24. package/dist/components/Carousel/styles.css +101 -101
  25. package/dist/components/CascadeSelect/styles.css +157 -157
  26. package/dist/components/Chip/styles.css +144 -144
  27. package/dist/components/CommandMenu/styles.css +102 -102
  28. package/dist/components/ConfigProvider/styles.css +6 -6
  29. package/dist/components/ConfirmDialog/styles.css +24 -24
  30. package/dist/components/ConfirmPopup/styles.css +35 -35
  31. package/dist/components/ContextMenu/styles.css +138 -138
  32. package/dist/components/DatePicker/styles.css +335 -335
  33. package/dist/components/Dialog/styles.css +421 -421
  34. package/dist/components/Dock/styles.css +84 -84
  35. package/dist/components/Drawer/Drawer.vue.d.ts +3 -1
  36. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  37. package/dist/components/Drawer/styles.css +346 -334
  38. package/dist/components/Dropdown/styles.css +130 -130
  39. package/dist/components/Empty/styles.css +146 -146
  40. package/dist/components/FileUpload/styles.css +359 -359
  41. package/dist/components/Form/styles.css +114 -114
  42. package/dist/components/Gallery/styles.css +100 -100
  43. package/dist/components/Input/styles.css +356 -356
  44. package/dist/components/InputColor/styles.css +129 -129
  45. package/dist/components/InputNumber/styles.css +261 -261
  46. package/dist/components/InputPassword/styles.css +178 -178
  47. package/dist/components/InputTags/styles.css +112 -112
  48. package/dist/components/Layout/styles.css +433 -433
  49. package/dist/components/Loading/styles.css +378 -378
  50. package/dist/components/MegaMenu/styles.css +97 -97
  51. package/dist/components/Menu/styles.css +564 -564
  52. package/dist/components/Menubar/styles.css +144 -144
  53. package/dist/components/Message/styles.css +250 -250
  54. package/dist/components/MeterGroup/styles.css +49 -49
  55. package/dist/components/Page/styles.css +430 -430
  56. package/dist/components/Pagination/styles.css +105 -105
  57. package/dist/components/Popover/styles.css +92 -92
  58. package/dist/components/Result/styles.css +146 -146
  59. package/dist/components/Scrollbar/styles.css +131 -131
  60. package/dist/components/Select/styles.css +192 -192
  61. package/dist/components/SelectButton/styles.css +105 -105
  62. package/dist/components/Sidebar/styles.css +74 -74
  63. package/dist/components/Slider/styles.css +211 -211
  64. package/dist/components/SplitButton/styles.css +216 -216
  65. package/dist/components/Status/styles.css +191 -191
  66. package/dist/components/Stepper/styles.css +135 -135
  67. package/dist/components/Switch/styles.css +129 -129
  68. package/dist/components/Table/Table.vue.d.ts +188 -733
  69. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  70. package/dist/components/Table/columns/keys.d.ts +13 -0
  71. package/dist/components/Table/columns/keys.d.ts.map +1 -0
  72. package/dist/components/Table/{hooks → columns}/useFixedColumn.d.ts +1 -1
  73. package/dist/components/Table/columns/useFixedColumn.d.ts.map +1 -0
  74. package/dist/components/Table/columns/useHeaders.d.ts +37 -0
  75. package/dist/components/Table/columns/useHeaders.d.ts.map +1 -0
  76. package/dist/components/Table/core/layout.d.ts +26 -0
  77. package/dist/components/Table/core/layout.d.ts.map +1 -0
  78. package/dist/components/Table/core/normalize.d.ts +30 -0
  79. package/dist/components/Table/core/normalize.d.ts.map +1 -0
  80. package/dist/components/Table/{tableQuery.d.ts → core/tableQuery.d.ts} +3 -2
  81. package/dist/components/Table/core/tableQuery.d.ts.map +1 -0
  82. package/dist/components/Table/core/tree.d.ts +31 -0
  83. package/dist/components/Table/core/tree.d.ts.map +1 -0
  84. package/dist/components/Table/core/treeSelection.d.ts +35 -0
  85. package/dist/components/Table/core/treeSelection.d.ts.map +1 -0
  86. package/dist/components/Table/core/utils.d.ts +15 -0
  87. package/dist/components/Table/core/utils.d.ts.map +1 -0
  88. package/dist/components/Table/hooks/index.d.ts +14 -10
  89. package/dist/components/Table/hooks/index.d.ts.map +1 -1
  90. package/dist/components/Table/index.d.ts +1 -1
  91. package/dist/components/Table/index.d.ts.map +1 -1
  92. package/dist/components/Table/render/TableDefaultCell.vue.d.ts +11 -0
  93. package/dist/components/Table/render/TableDefaultCell.vue.d.ts.map +1 -0
  94. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts +20 -0
  95. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts.map +1 -0
  96. package/dist/components/Table/render/TableLoadingLine.vue.d.ts.map +1 -0
  97. package/dist/components/Table/render/TableTbody.vue.d.ts +154 -0
  98. package/dist/components/Table/render/TableTbody.vue.d.ts.map +1 -0
  99. package/dist/components/Table/render/TableThead.vue.d.ts +76 -0
  100. package/dist/components/Table/render/TableThead.vue.d.ts.map +1 -0
  101. package/dist/components/Table/{hooks → state}/internal.d.ts +8 -2
  102. package/dist/components/Table/state/internal.d.ts.map +1 -0
  103. package/dist/components/Table/state/useClickRow.d.ts +7 -0
  104. package/dist/components/Table/state/useClickRow.d.ts.map +1 -0
  105. package/dist/components/Table/state/useColumnResize.d.ts +11 -0
  106. package/dist/components/Table/state/useColumnResize.d.ts.map +1 -0
  107. package/dist/components/Table/state/useExpandableRow.d.ts +25 -0
  108. package/dist/components/Table/state/useExpandableRow.d.ts.map +1 -0
  109. package/dist/components/Table/state/usePageItems.d.ts +15 -0
  110. package/dist/components/Table/state/usePageItems.d.ts.map +1 -0
  111. package/dist/components/Table/{hooks → state}/usePagination.d.ts.map +1 -1
  112. package/dist/components/Table/{hooks → state}/useRows.d.ts +2 -2
  113. package/dist/components/Table/{hooks → state}/useRows.d.ts.map +1 -1
  114. package/dist/components/Table/state/useServerOptions.d.ts.map +1 -0
  115. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts +2 -2
  116. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts.map +1 -1
  117. package/dist/components/Table/state/useTreeRows.d.ts +21 -0
  118. package/dist/components/Table/state/useTreeRows.d.ts.map +1 -0
  119. package/dist/components/Table/state/useVirtualRows.d.ts +23 -0
  120. package/dist/components/Table/state/useVirtualRows.d.ts.map +1 -0
  121. package/dist/components/Table/styles.css +182 -6
  122. package/dist/components/Table/types.d.ts +108 -25
  123. package/dist/components/Table/types.d.ts.map +1 -1
  124. package/dist/components/Tabs/styles.css +131 -131
  125. package/dist/components/Terminal/styles.css +74 -74
  126. package/dist/components/Textarea/styles.css +126 -126
  127. package/dist/components/TieredMenu/styles.css +125 -125
  128. package/dist/components/Timeline/styles.css +159 -159
  129. package/dist/components/Tree/Tree.vue.d.ts +2 -2
  130. package/dist/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
  131. package/dist/components/TreeSelect/styles.css +161 -161
  132. package/dist/components/VirtualScroller/styles.css +27 -27
  133. package/dist/config-provider/style.css +2470 -2472
  134. package/dist/confirm-dialog/style.css +2553 -2555
  135. package/dist/confirm-popup/style.css +2143 -2145
  136. package/dist/context-menu/style.css +1415 -1417
  137. package/dist/data-view/style.css +1629 -1631
  138. package/dist/date-picker/style.css +1481 -1483
  139. package/dist/dialog/style.css +2529 -2531
  140. package/dist/divider/style.css +1146 -1148
  141. package/dist/dock/style.css +1230 -1232
  142. package/dist/drawer/index.js +57 -50
  143. package/dist/drawer/style.css +1492 -1482
  144. package/dist/dropdown/style.css +1407 -1409
  145. package/dist/empty/style.css +1292 -1294
  146. package/dist/fieldset/style.css +1146 -1148
  147. package/dist/file-upload/style.css +1505 -1507
  148. package/dist/flex/style.css +1146 -1148
  149. package/dist/float-label/style.css +1146 -1148
  150. package/dist/fluid/style.css +1146 -1148
  151. package/dist/form/style.css +1262 -1264
  152. package/dist/gallery/style.css +1377 -1379
  153. package/dist/grid/style.css +1146 -1148
  154. package/dist/icon/style.css +1146 -1148
  155. package/dist/icon-field/style.css +1502 -1504
  156. package/dist/index.d.ts +1 -3
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +4899 -3591
  159. package/dist/inplace/style.css +1146 -1148
  160. package/dist/input/index.js +2 -174
  161. package/dist/input/style.css +1502 -1504
  162. package/dist/input-color/style.css +1277 -1279
  163. package/dist/input-group/style.css +1146 -1148
  164. package/dist/input-number/style.css +1407 -1409
  165. package/dist/input-otp/style.css +1146 -1148
  166. package/dist/input-password/style.css +1324 -1326
  167. package/dist/input-tags/style.css +1258 -1260
  168. package/dist/knob/style.css +1146 -1148
  169. package/dist/label/style.css +1146 -1148
  170. package/dist/layout/style.css +1710 -1712
  171. package/dist/listbox/style.css +1304 -1306
  172. package/dist/loading/style.css +1526 -1528
  173. package/dist/mega-menu/style.css +1243 -1245
  174. package/dist/menu/style.css +1999 -2001
  175. package/dist/menubar/style.css +1421 -1423
  176. package/dist/message/style.css +1396 -1398
  177. package/dist/meter-group/style.css +1197 -1199
  178. package/dist/order-list/style.css +1146 -1148
  179. package/dist/page/style.css +2802 -2804
  180. package/dist/pagination/style.css +1443 -1445
  181. package/dist/panel/style.css +1146 -1148
  182. package/dist/pick-list/style.css +1146 -1148
  183. package/dist/popover/style.css +1240 -1242
  184. package/dist/progress-bar/style.css +1146 -1148
  185. package/dist/progress-spinner/style.css +1146 -1148
  186. package/dist/radio/style.css +1146 -1148
  187. package/dist/rating/style.css +1146 -1148
  188. package/dist/resolver-map.d.ts.map +1 -1
  189. package/dist/resolver.js +0 -1
  190. package/dist/result/style.css +1292 -1294
  191. package/dist/scroll-top/style.css +1277 -1279
  192. package/dist/scrollbar/style.css +1279 -1281
  193. package/dist/select/style.css +1899 -1901
  194. package/dist/select-button/style.css +1253 -1255
  195. package/dist/shared/styles/control-affix-icon.css +110 -110
  196. package/dist/shared/styles/control-suffix.css +118 -118
  197. package/dist/shared/styles/select-overlay.css +175 -175
  198. package/dist/sidebar/style.css +1220 -1222
  199. package/dist/skeleton/style.css +1146 -1148
  200. package/dist/slider/style.css +1359 -1361
  201. package/dist/space/style.css +1146 -1148
  202. package/dist/speed-dial/style.css +1146 -1148
  203. package/dist/split-button/style.css +2324 -2326
  204. package/dist/splitter/style.css +1146 -1148
  205. package/dist/status/style.css +1337 -1339
  206. package/dist/stepper/style.css +1281 -1283
  207. package/dist/styles/base.css +788 -790
  208. package/dist/styles.css +1 -1
  209. package/dist/switch/style.css +1277 -1279
  210. package/dist/table/index.js +2027 -601
  211. package/dist/table/style.css +1940 -1917
  212. package/dist/table/style.js +0 -4
  213. package/dist/tabs/style.css +1408 -1410
  214. package/dist/tag/style.css +1146 -1148
  215. package/dist/terminal/style.css +1222 -1224
  216. package/dist/textarea/style.css +1272 -1274
  217. package/dist/theme/styles.css +358 -358
  218. package/dist/tiered-menu/style.css +1402 -1404
  219. package/dist/timeline/style.css +1436 -1438
  220. package/dist/toast/style.css +1146 -1148
  221. package/dist/toggle-button/style.css +1146 -1148
  222. package/dist/toolbar/style.css +1146 -1148
  223. package/dist/tooltip/style.css +1146 -1148
  224. package/dist/tree/style.css +1146 -1148
  225. package/dist/tree-select/style.css +1841 -1843
  226. package/dist/virtual-scroller/style.css +1307 -1309
  227. package/package.json +1 -8
  228. package/dist/components/Table/TableLoadingLine.vue.d.ts.map +0 -1
  229. package/dist/components/Table/hooks/internal.d.ts.map +0 -1
  230. package/dist/components/Table/hooks/useClickRow.d.ts +0 -7
  231. package/dist/components/Table/hooks/useClickRow.d.ts.map +0 -1
  232. package/dist/components/Table/hooks/useExpandableRow.d.ts +0 -9
  233. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +0 -1
  234. package/dist/components/Table/hooks/useFixedColumn.d.ts.map +0 -1
  235. package/dist/components/Table/hooks/useHeaders.d.ts +0 -14
  236. package/dist/components/Table/hooks/useHeaders.d.ts.map +0 -1
  237. package/dist/components/Table/hooks/usePageItems.d.ts +0 -17
  238. package/dist/components/Table/hooks/usePageItems.d.ts.map +0 -1
  239. package/dist/components/Table/hooks/useServerOptions.d.ts.map +0 -1
  240. package/dist/components/Table/normalize.d.ts +0 -9
  241. package/dist/components/Table/normalize.d.ts.map +0 -1
  242. package/dist/components/Table/tableQuery.d.ts.map +0 -1
  243. package/dist/components/Table/utils.d.ts +0 -10
  244. package/dist/components/Table/utils.d.ts.map +0 -1
  245. package/dist/components/TreeTable/TreeTable.vue.d.ts +0 -24
  246. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +0 -1
  247. package/dist/components/TreeTable/TreeTableRow.vue.d.ts +0 -17
  248. package/dist/components/TreeTable/TreeTableRow.vue.d.ts.map +0 -1
  249. package/dist/components/TreeTable/index.d.ts +0 -3
  250. package/dist/components/TreeTable/index.d.ts.map +0 -1
  251. package/dist/components/TreeTable/styles.css +0 -97
  252. package/dist/components/TreeTable/types.d.ts +0 -25
  253. package/dist/components/TreeTable/types.d.ts.map +0 -1
  254. package/dist/tree-table/index.js +0 -128
  255. package/dist/tree-table/style.css +0 -1296
  256. package/dist/tree-table/style.js +0 -4
  257. /package/dist/components/Table/{TableLoadingLine.vue.d.ts → render/TableLoadingLine.vue.d.ts} +0 -0
  258. /package/dist/components/Table/{hooks → state}/usePagination.d.ts +0 -0
  259. /package/dist/components/Table/{hooks → state}/useServerOptions.d.ts +0 -0
@@ -1,790 +1,788 @@
1
- /* Shared tokens consumption, type, focus, and mixed selectors. */
2
-
3
- :root {
4
- /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
5
- --m-menu-min-width: 12rem;
6
- }
7
-
8
- .m-button,
9
- .m-input,
10
- .m-card,
11
- .m-dialog,
12
- .m-drawer,
13
- .m-popover,
14
- .m-accordion,
15
- .m-scrollbar,
16
- .m-panel,
17
- .m-fieldset,
18
- .m-flex,
19
- .m-space,
20
- .m-grid,
21
- .m-layout,
22
- .m-layout-header,
23
- .m-layout-footer,
24
- .m-layout-sider,
25
- .m-splitter,
26
- .m-stepper,
27
- .m-toolbar,
28
- .m-page-content,
29
- .m-page-header,
30
- .m-page-toolbar,
31
- .m-menu,
32
- .m-menubar,
33
- .m-contextmenu,
34
- .m-tieredmenu,
35
- .m-dropdown,
36
- .m-breadcrumb,
37
- .m-tabs,
38
- .m-datepicker,
39
- .m-listbox,
40
- .m-togglebutton,
41
- .m-select,
42
- .m-textarea,
43
- .m-selectbutton,
44
- .m-inputotp,
45
- .m-knob,
46
- .m-autocomplete,
47
- .m-splitbutton,
48
- .m-tree,
49
- .m-timeline,
50
- .m-dataview,
51
- .m-confirmpopup,
52
- .m-scrolltop,
53
- .m-blockui,
54
- .m-inplace,
55
- .m-message,
56
- .m-toast,
57
- .m-tooltip,
58
- .m-empty,
59
- .m-result,
60
- .m-progress-spinner,
61
- .m-cascadeselect,
62
- .m-treeselect,
63
- .m-inputcolor,
64
- .m-inputtags,
65
- .m-label,
66
- .m-speeddial,
67
- .m-orderlist,
68
- .m-picklist,
69
- .m-virtualscroller,
70
- .m-treetable,
71
- .m-megamenu,
72
- .m-dock,
73
- .m-sidebar,
74
- .m-commandmenu,
75
- .m-fileupload,
76
- .m-carousel,
77
- .m-gallery,
78
- .m-metergroup,
79
- .m-fluid,
80
- .m-terminal {
81
- font-family: var(--m-font-sans);
82
- box-sizing: border-box;
83
- }
84
-
85
- .m-button:disabled,
86
- .m-input:disabled,
87
- .m-password__input:disabled,
88
- .m-inputnumber__input:disabled,
89
- .m-inputotp__input:disabled,
90
- .m-inputcolor__text:disabled,
91
- .m-inputcolor__swatch:disabled,
92
- .m-inputtags--disabled {
93
- cursor: not-allowed;
94
- opacity: var(--m-opacity-disabled);
95
- }
96
-
97
- .m-input-field__control--prefixed .m-input:disabled,
98
- .m-input-field__control--suffixed .m-input:disabled,
99
- .m-input-field__control--clearable .m-input:disabled,
100
- .m-password--disabled .m-password__input,
101
- .m-inputnumber--disabled .m-inputnumber__input,
102
- .m-datepicker--disabled .m-datepicker__input,
103
- .m-icon-field--anchored .m-input:disabled,
104
- .m-icon-field--anchored .m-textarea:disabled {
105
- opacity: 1;
106
- }
107
-
108
- .m-input::placeholder,
109
- .m-textarea::placeholder,
110
- .m-password__input::placeholder,
111
- .m-inputnumber__input::placeholder,
112
- .m-inputtags__input::placeholder,
113
- .m-inputcolor__text::placeholder {
114
- color: var(--m-color-text-muted);
115
- opacity: 1;
116
- }
117
-
118
- .m-input-field__meta,
119
- .m-textarea-field__meta,
120
- .m-password-field__meta {
121
- align-items: baseline;
122
- display: flex;
123
- gap: var(--m-space-2);
124
- justify-content: space-between;
125
- }
126
-
127
- .m-input-field__meta:not(:has(.m-input-field__help)),
128
- .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
129
- .m-password-field__meta:not(:has(.m-password__feedback)) {
130
- justify-content: flex-end;
131
- }
132
-
133
- .m-input-field__count,
134
- .m-textarea-field__count,
135
- .m-password-field__count {
136
- color: var(--m-color-text-muted);
137
- flex: 0 0 auto;
138
- font-size: var(--m-font-size-xs);
139
- margin-left: auto;
140
- }
141
-
142
- .m-dropdown__item--parent {
143
- align-items: center;
144
- display: flex;
145
- justify-content: space-between;
146
- width: 100%;
147
- }
148
-
149
- .m-dropdown__icon,
150
- .m-dropdown__caret,
151
- .m-menu__icon,
152
- .m-menubar__icon {
153
- flex-shrink: 0;
154
- }
155
-
156
- .m-dropdown__submenu-wrap {
157
- position: relative;
158
- }
159
-
160
- .m-dropdown__submenu {
161
- --m-dropdown-submenu-max-height: min(18rem, 45vh);
162
- background: var(--m-color-surface);
163
- border: var(--m-border-width) solid var(--m-color-border);
164
- border-radius: var(--m-radius-md);
165
- box-shadow: var(--m-shadow-md);
166
- max-height: var(--m-dropdown-submenu-max-height);
167
- max-width: calc(100vw - 2 * var(--m-space-4));
168
- min-width: 10rem;
169
- overflow: hidden;
170
- padding: var(--m-space-1);
171
- /* Same as .m-dropdown__menu: size to content instead of being clamped
172
- by the space left of the anchor in the viewport. */
173
- width: max-content;
174
- }
175
-
176
- .m-dropdown__submenu--teleported {
177
- position: fixed;
178
- z-index: var(--m-z-dropdown);
179
- }
180
-
181
- .m-dropdown__submenu-scroll {
182
- max-height: calc(var(--m-dropdown-submenu-max-height) - var(--m-space-2));
183
- min-height: 0;
184
- }
185
-
186
- .m-dropdown__submenu-view {
187
- display: grid;
188
- gap: var(--m-space-1);
189
- }
190
-
191
- .m-fade-enter-active,
192
- .m-fade-leave-active {
193
- transition: opacity var(--m-motion-exit) var(--m-motion-ease);
194
- }
195
-
196
- .m-fade-enter-from,
197
- .m-fade-leave-to {
198
- opacity: 0;
199
- }
200
-
201
- .m-scale-fade-enter-active {
202
- transition:
203
- opacity var(--m-motion-enter) var(--m-motion-ease),
204
- transform var(--m-motion-enter) var(--m-motion-ease);
205
- }
206
-
207
- .m-scale-fade-leave-active {
208
- transition:
209
- opacity var(--m-motion-exit) var(--m-motion-ease),
210
- transform var(--m-motion-exit) var(--m-motion-ease);
211
- }
212
-
213
- .m-scale-fade-enter-from,
214
- .m-scale-fade-leave-to {
215
- opacity: 0;
216
- transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.96);
217
- }
218
-
219
- .m-slide-fade-enter-active {
220
- transition:
221
- opacity var(--m-motion-enter) var(--m-motion-ease),
222
- transform var(--m-motion-enter) var(--m-motion-ease);
223
- }
224
-
225
- .m-slide-fade-leave-active {
226
- transition:
227
- opacity var(--m-motion-exit) var(--m-motion-ease),
228
- transform var(--m-motion-exit) var(--m-motion-ease);
229
- }
230
-
231
- .m-slide-fade-enter-from,
232
- .m-slide-fade-leave-to {
233
- opacity: 0;
234
- transform: translateY(calc(var(--m-motion-distance) * -1));
235
- }
236
-
237
- /* Generic center zoom (opacity + scale on the transitioning root) */
238
- .m-zoom-enter-active {
239
- transition:
240
- opacity var(--m-motion-enter) var(--m-motion-ease),
241
- transform var(--m-motion-enter) var(--m-motion-ease);
242
- }
243
-
244
- .m-zoom-leave-active {
245
- transition:
246
- opacity var(--m-motion-exit) var(--m-motion-ease),
247
- transform var(--m-motion-exit) var(--m-motion-ease);
248
- }
249
-
250
- .m-zoom-enter-from,
251
- .m-zoom-leave-to {
252
- opacity: 0;
253
- transform: scale(0.95);
254
- }
255
-
256
- .m-slide-up-enter-active,
257
- .m-slide-down-enter-active,
258
- .m-slide-left-enter-active,
259
- .m-slide-right-enter-active {
260
- transition:
261
- opacity var(--m-motion-enter) var(--m-motion-ease),
262
- transform var(--m-motion-enter) var(--m-motion-ease);
263
- }
264
-
265
- .m-slide-up-leave-active,
266
- .m-slide-down-leave-active,
267
- .m-slide-left-leave-active,
268
- .m-slide-right-leave-active {
269
- transition:
270
- opacity var(--m-motion-exit) var(--m-motion-ease),
271
- transform var(--m-motion-exit) var(--m-motion-ease);
272
- }
273
-
274
- .m-slide-up-enter-from,
275
- .m-slide-up-leave-to {
276
- opacity: 0;
277
- transform: translateY(var(--m-motion-distance));
278
- }
279
-
280
- .m-slide-down-enter-from,
281
- .m-slide-down-leave-to {
282
- opacity: 0;
283
- transform: translateY(calc(var(--m-motion-distance) * -1));
284
- }
285
-
286
- .m-slide-left-enter-from,
287
- .m-slide-left-leave-to {
288
- opacity: 0;
289
- transform: translateX(var(--m-motion-distance));
290
- }
291
-
292
- .m-slide-right-enter-from,
293
- .m-slide-right-leave-to {
294
- opacity: 0;
295
- transform: translateX(calc(var(--m-motion-distance) * -1));
296
- }
297
-
298
- [data-m-motion="reduced"] .m-fade-enter-active,
299
- [data-m-motion="reduced"] .m-fade-leave-active,
300
- [data-m-motion="reduced"] .m-scale-fade-enter-active,
301
- [data-m-motion="reduced"] .m-scale-fade-leave-active,
302
- [data-m-motion="reduced"] .m-slide-fade-enter-active,
303
- [data-m-motion="reduced"] .m-slide-fade-leave-active,
304
- [data-m-motion="reduced"] .m-zoom-enter-active,
305
- [data-m-motion="reduced"] .m-zoom-leave-active,
306
- [data-m-motion="reduced"] .m-slide-up-enter-active,
307
- [data-m-motion="reduced"] .m-slide-up-leave-active,
308
- [data-m-motion="reduced"] .m-slide-down-enter-active,
309
- [data-m-motion="reduced"] .m-slide-down-leave-active,
310
- [data-m-motion="reduced"] .m-slide-left-enter-active,
311
- [data-m-motion="reduced"] .m-slide-left-leave-active,
312
- [data-m-motion="reduced"] .m-slide-right-enter-active,
313
- [data-m-motion="reduced"] .m-slide-right-leave-active,
314
- [data-m-motion="none"] .m-fade-enter-active,
315
- [data-m-motion="none"] .m-fade-leave-active,
316
- [data-m-motion="none"] .m-scale-fade-enter-active,
317
- [data-m-motion="none"] .m-scale-fade-leave-active,
318
- [data-m-motion="none"] .m-slide-fade-enter-active,
319
- [data-m-motion="none"] .m-slide-fade-leave-active,
320
- [data-m-motion="none"] .m-zoom-enter-active,
321
- [data-m-motion="none"] .m-zoom-leave-active,
322
- [data-m-motion="none"] .m-slide-up-enter-active,
323
- [data-m-motion="none"] .m-slide-up-leave-active,
324
- [data-m-motion="none"] .m-slide-down-enter-active,
325
- [data-m-motion="none"] .m-slide-down-leave-active,
326
- [data-m-motion="none"] .m-slide-left-enter-active,
327
- [data-m-motion="none"] .m-slide-left-leave-active,
328
- [data-m-motion="none"] .m-slide-right-enter-active,
329
- [data-m-motion="none"] .m-slide-right-leave-active {
330
- transition: none;
331
- }
332
-
333
- [data-m-motion="reduced"] .m-scale-fade-enter-from,
334
- [data-m-motion="reduced"] .m-scale-fade-leave-to,
335
- [data-m-motion="reduced"] .m-slide-fade-enter-from,
336
- [data-m-motion="reduced"] .m-slide-fade-leave-to,
337
- [data-m-motion="reduced"] .m-zoom-enter-from,
338
- [data-m-motion="reduced"] .m-zoom-leave-to,
339
- [data-m-motion="reduced"] .m-slide-up-enter-from,
340
- [data-m-motion="reduced"] .m-slide-up-leave-to,
341
- [data-m-motion="reduced"] .m-slide-down-enter-from,
342
- [data-m-motion="reduced"] .m-slide-down-leave-to,
343
- [data-m-motion="reduced"] .m-slide-left-enter-from,
344
- [data-m-motion="reduced"] .m-slide-left-leave-to,
345
- [data-m-motion="reduced"] .m-slide-right-enter-from,
346
- [data-m-motion="reduced"] .m-slide-right-leave-to,
347
- [data-m-motion="none"] .m-scale-fade-enter-from,
348
- [data-m-motion="none"] .m-scale-fade-leave-to,
349
- [data-m-motion="none"] .m-slide-fade-enter-from,
350
- [data-m-motion="none"] .m-slide-fade-leave-to,
351
- [data-m-motion="none"] .m-zoom-enter-from,
352
- [data-m-motion="none"] .m-zoom-leave-to,
353
- [data-m-motion="none"] .m-slide-up-enter-from,
354
- [data-m-motion="none"] .m-slide-up-leave-to,
355
- [data-m-motion="none"] .m-slide-down-enter-from,
356
- [data-m-motion="none"] .m-slide-down-leave-to,
357
- [data-m-motion="none"] .m-slide-left-enter-from,
358
- [data-m-motion="none"] .m-slide-left-leave-to,
359
- [data-m-motion="none"] .m-slide-right-enter-from,
360
- [data-m-motion="none"] .m-slide-right-leave-to {
361
- transform: none;
362
- }
363
-
364
- /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
365
- @keyframes m-progress-spinner-rotate {
366
- 100% {
367
- transform: rotate(360deg);
368
- }
369
- }
370
-
371
- .m-checkbox,
372
- .m-radio,
373
- .m-switch {
374
- align-items: center;
375
- color: var(--m-color-text);
376
- cursor: pointer;
377
- display: inline-flex;
378
- font-family: var(--m-font-sans);
379
- gap: var(--m-space-2);
380
- /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
381
- position: relative;
382
- }
383
-
384
- .m-checkbox--disabled,
385
- .m-radio--disabled,
386
- .m-switch--disabled {
387
- color: var(--m-color-text-muted);
388
- cursor: not-allowed;
389
- opacity: var(--m-opacity-disabled);
390
- }
391
-
392
- .m-checkbox--invalid .m-checkbox__control,
393
- .m-radio--invalid .m-radio__control {
394
- border-color: var(--m-color-danger);
395
- }
396
-
397
- .m-checkbox__input,
398
- .m-radio__input,
399
- .m-switch__input {
400
- clip: rect(0, 0, 0, 0);
401
- clip-path: inset(50%);
402
- height: 1px;
403
- margin: -1px;
404
- overflow: hidden;
405
- opacity: 0;
406
- position: absolute;
407
- white-space: nowrap;
408
- width: 1px;
409
- }
410
-
411
- .m-checkbox__control,
412
- .m-radio__control {
413
- align-items: center;
414
- background: var(--m-color-surface);
415
- border: var(--m-border-width) solid var(--m-color-border);
416
- display: inline-flex;
417
- flex: 0 0 auto;
418
- height: var(--m-checkbox-control-size, 1.125rem);
419
- justify-content: center;
420
- transition:
421
- background-color var(--m-motion-fast) var(--m-motion-ease),
422
- border-color var(--m-motion-fast) var(--m-motion-ease),
423
- box-shadow var(--m-motion-fast) var(--m-motion-ease);
424
- width: var(--m-checkbox-control-size, 1.125rem);
425
- }
426
-
427
- .m-checkbox__input:checked + .m-checkbox__control,
428
- .m-radio__input:checked + .m-radio__control {
429
- background: var(--m-color-primary);
430
- border-color: var(--m-color-primary);
431
- }
432
-
433
- .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
434
- .m-radio:not(.m-radio--disabled):hover .m-radio__control {
435
- border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
436
- }
437
-
438
- .m-checkbox__input:focus-visible + .m-checkbox__control,
439
- .m-radio__input:focus-visible + .m-radio__control,
440
- .m-switch__input:focus-visible + .m-switch__track {
441
- box-shadow: var(--m-focus-shadow);
442
- outline: none;
443
- }
444
-
445
- .m-checkbox__label,
446
- .m-radio__label,
447
- .m-switch__label {
448
- font-size: var(--m-font-size-md);
449
- }
450
-
451
- .m-textarea-field,
452
- .m-select-field {
453
- display: grid;
454
- font-family: var(--m-font-sans);
455
- gap: var(--m-space-2);
456
- max-width: 100%;
457
- min-width: var(--m-menu-min-width);
458
- position: relative;
459
- width: fit-content;
460
- }
461
-
462
- .m-textarea-field--fluid,
463
- .m-select-field--fluid {
464
- width: 100%;
465
- }
466
-
467
- .m-textarea-field__label,
468
- .m-select-field__label {
469
- color: var(--m-color-text);
470
- font-family: var(--m-font-sans);
471
- font-size: var(--m-font-size-md);
472
- font-weight: 600;
473
- }
474
-
475
- .m-textarea-field__help,
476
- .m-select-field__help {
477
- color: var(--m-color-text-muted);
478
- font-size: var(--m-font-size-xs);
479
- }
480
-
481
- .m-textarea-field__help--invalid,
482
- .m-select-field__help--invalid {
483
- color: var(--m-color-danger);
484
- }
485
-
486
- .m-textarea,
487
- .m-select {
488
- background: var(--m-color-surface);
489
- border: var(--m-border-width) solid var(--m-color-border);
490
- border-radius: var(--m-radius-control);
491
- color: var(--m-color-text);
492
- font: inherit;
493
- transition:
494
- border-color var(--m-motion-fast) var(--m-motion-ease),
495
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
496
- background-color var(--m-motion-fast) var(--m-motion-ease);
497
- width: 100%;
498
- }
499
-
500
- .m-textarea--invalid:focus-visible,
501
- .m-select--invalid.m-select--open,
502
- .m-select--invalid:focus-visible {
503
- border-color: var(--m-color-danger);
504
- box-shadow: var(--m-focus-shadow-danger);
505
- }
506
-
507
- .m-textarea:disabled,
508
- .m-select:disabled,
509
- .m-select--disabled {
510
- cursor: not-allowed;
511
- opacity: var(--m-opacity-disabled);
512
- }
513
-
514
- .m-inputgroup > .m-input,
515
- .m-inputgroup > .m-input-field,
516
- .m-inputgroup > .m-password-field,
517
- .m-inputgroup > .m-inputnumber-field {
518
- flex: 1 1 auto;
519
- min-width: 0;
520
- }
521
-
522
- .m-inputgroup > .m-input-field,
523
- .m-inputgroup > .m-password-field,
524
- .m-inputgroup > .m-inputnumber-field {
525
- display: flex;
526
- flex-direction: column;
527
- gap: 0;
528
- }
529
-
530
- .m-inputgroup > .m-input,
531
- .m-inputgroup .m-input,
532
- .m-inputgroup .m-password,
533
- .m-inputgroup .m-inputnumber__input-wrap,
534
- .m-inputgroup .m-input-field__control--prefixed,
535
- .m-inputgroup .m-input-field__control--suffixed,
536
- .m-inputgroup .m-input-field__control--clearable {
537
- border-radius: 0;
538
- width: 100%;
539
- }
540
-
541
- .m-inputgroup > :first-child.m-input,
542
- .m-inputgroup > :first-child .m-input,
543
- .m-inputgroup > :first-child .m-password,
544
- .m-inputgroup > :first-child .m-inputnumber__input-wrap,
545
- .m-inputgroup > :first-child .m-input-field__control--prefixed,
546
- .m-inputgroup > :first-child .m-input-field__control--suffixed,
547
- .m-inputgroup > :first-child .m-input-field__control--clearable,
548
- .m-inputgroup > :first-child.m-inputgroup-addon {
549
- border-bottom-left-radius: var(--m-radius-control);
550
- border-top-left-radius: var(--m-radius-control);
551
- }
552
-
553
- .m-inputgroup > :last-child.m-input,
554
- .m-inputgroup > :last-child .m-input,
555
- .m-inputgroup > :last-child .m-password,
556
- .m-inputgroup > :last-child .m-inputnumber__input-wrap,
557
- .m-inputgroup > :last-child .m-input-field__control--prefixed,
558
- .m-inputgroup > :last-child .m-input-field__control--suffixed,
559
- .m-inputgroup > :last-child .m-input-field__control--clearable,
560
- .m-inputgroup > :last-child.m-inputgroup-addon {
561
- border-bottom-right-radius: var(--m-radius-control);
562
- border-top-right-radius: var(--m-radius-control);
563
- }
564
-
565
- .m-inputgroup > .m-inputgroup-addon + .m-input,
566
- .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
567
- .m-inputgroup > .m-input + .m-inputgroup-addon,
568
- .m-inputgroup > .m-input-field + .m-inputgroup-addon {
569
- margin-left: calc(var(--m-border-width) * -1);
570
- }
571
-
572
- .m-layout__scrollbar > .m-scrollbar__wrap {
573
- height: 100%;
574
- overflow-x: hidden;
575
- }
576
-
577
- .m-layout-sider__scrollbar > .m-scrollbar__wrap {
578
- height: 100%;
579
- overflow-x: hidden;
580
- }
581
-
582
- .m-treetable__scrollbar > .m-scrollbar__wrap,
583
- .m-terminal__scrollbar > .m-scrollbar__wrap {
584
- height: 100%;
585
- overflow-x: hidden;
586
- }
587
-
588
- .m-scroll-body.m-scrollbar {
589
- min-height: 0;
590
- min-width: 0;
591
- }
592
-
593
- /* fit-content scroll wrappers: grow with content; max-height only clips when set on the wrapper */
594
- .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) {
595
- width: 100%;
596
- }
597
-
598
- .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) .m-scrollbar__wrap {
599
- overflow: auto;
600
- }
601
-
602
- .m-orderlist__btn,
603
- .m-picklist__btn {
604
- align-items: center;
605
- background: var(--m-color-surface);
606
- border: var(--m-border-width) solid var(--m-color-border);
607
- border-radius: var(--m-radius-sm);
608
- color: var(--m-color-text);
609
- cursor: pointer;
610
- display: inline-flex;
611
- font: inherit;
612
- gap: 0;
613
- justify-content: center;
614
- min-height: var(--m-control-height-small, 1.75rem);
615
- min-width: var(--m-control-affix-size);
616
- padding: var(--m-space-1) var(--m-space-2);
617
- }
618
-
619
- .m-orderlist__btn:hover:not(:disabled),
620
- .m-picklist__btn:hover:not(:disabled) {
621
- border-color: var(--m-color-primary);
622
- color: var(--m-color-primary);
623
- }
624
-
625
- .m-orderlist__btn:disabled,
626
- .m-picklist__btn:disabled {
627
- cursor: not-allowed;
628
- opacity: var(--m-opacity-disabled);
629
- }
630
-
631
- .m-orderlist__btn:focus-visible,
632
- .m-picklist__btn:focus-visible {
633
- border-color: var(--m-color-primary);
634
- box-shadow: var(--m-focus-shadow);
635
- outline: none;
636
- }
637
-
638
- .m-picklist__btn .m-icon + .m-icon {
639
- margin-left: -0.35rem;
640
- }
641
-
642
- .m-orderlist__scrollbar,
643
- .m-picklist__scrollbar {
644
- flex: 1;
645
- max-height: 16rem;
646
- min-height: 12rem;
647
- min-width: var(--m-menu-min-width);
648
- }
649
-
650
- .m-orderlist__list,
651
- .m-picklist__list {
652
- background: var(--m-color-surface);
653
- border: var(--m-border-width) solid var(--m-color-border);
654
- border-radius: var(--m-radius-md);
655
- padding: var(--m-space-1);
656
- }
657
-
658
- .m-orderlist__options,
659
- .m-picklist__options {
660
- list-style: none;
661
- margin: 0;
662
- padding: 0;
663
- }
664
-
665
- .m-orderlist__item,
666
- .m-picklist__item {
667
- border-radius: var(--m-radius-sm);
668
- cursor: pointer;
669
- padding: var(--m-space-2) var(--m-space-3);
670
- }
671
-
672
- .m-orderlist__item:hover,
673
- .m-picklist__item:hover {
674
- background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
675
- }
676
-
677
- .m-orderlist__item:focus-visible,
678
- .m-picklist__item:focus-visible {
679
- box-shadow: var(--m-focus-shadow);
680
- outline: none;
681
- }
682
-
683
- .m-orderlist__item--selected,
684
- .m-picklist__item--selected {
685
- background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
686
- color: var(--m-color-primary);
687
- font-weight: 600;
688
- }
689
-
690
- .m-carousel__nav,
691
- .m-gallery__nav {
692
- background: var(--m-color-surface);
693
- border: var(--m-border-width) solid var(--m-color-border);
694
- border-radius: var(--m-radius-full, 999px);
695
- color: var(--m-color-text);
696
- cursor: pointer;
697
- flex: 0 0 auto;
698
- font: inherit;
699
- height: var(--m-control-affix-size);
700
- width: var(--m-control-affix-size);
701
- }
702
-
703
- .m-carousel__nav:disabled,
704
- .m-gallery__nav:disabled {
705
- cursor: not-allowed;
706
- opacity: var(--m-opacity-disabled);
707
- }
708
-
709
- /* Shared Naive-like hover/focus for remaining form triggers */
710
- .m-inputotp__input:hover:not(:disabled):not(:focus),
711
- .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
712
- .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
713
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
714
- .m-inputtags:hover:not(.m-inputtags--disabled),
715
- .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
716
- .m-inplace__display:hover {
717
- border-color: var(--m-color-primary-hover);
718
- }
719
-
720
- .m-inputotp__input:focus-visible,
721
- .m-cascadeselect__trigger:focus-visible,
722
- .m-treeselect__trigger:focus-visible,
723
- .m-inputcolor__text:focus-visible,
724
- .m-inputtags:focus-within,
725
- .m-togglebutton:focus-visible,
726
- .m-selectbutton__button:focus-visible,
727
- .m-splitbutton__main:focus-visible,
728
- .m-splitbutton__trigger:focus-visible,
729
- .m-inplace__display:focus-visible,
730
- .m-pagination__button:focus-visible {
731
- border-color: var(--m-color-primary-hover);
732
- box-shadow: var(--m-focus-shadow);
733
- outline: none;
734
- }
735
-
736
- .m-inputotp--invalid .m-inputotp__input:focus-visible,
737
- .m-inputtags--invalid:focus-within,
738
- .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
739
- border-color: var(--m-color-danger);
740
- box-shadow: var(--m-focus-shadow-danger);
741
- }
742
-
743
- .m-checkbox-group,
744
- .m-radio-group {
745
- display: flex;
746
- flex-wrap: wrap;
747
- gap: var(--m-space-3);
748
- }
749
-
750
- .m-checkbox--small .m-checkbox__control,
751
- .m-radio--small .m-radio__control {
752
- height: 0.95rem;
753
- width: 0.95rem;
754
- }
755
-
756
- .m-checkbox--large .m-checkbox__control,
757
- .m-radio--large .m-radio__control {
758
- height: 1.35rem;
759
- width: 1.35rem;
760
- }
761
-
762
- .m-inputnumber__clear,
763
- .m-autocomplete__clear {
764
- background: transparent;
765
- border: 0;
766
- color: var(--m-color-text-muted);
767
- cursor: pointer;
768
- font: inherit;
769
- line-height: 1;
770
- }
771
-
772
- [data-m-motion="none"] *,
773
- [data-m-motion="none"] *::before,
774
- [data-m-motion="none"] *::after {
775
- animation-duration: 0.01ms !important;
776
- animation-iteration-count: 1 !important;
777
- scroll-behavior: auto !important;
778
- transition-duration: 0.01ms !important;
779
- }
780
-
781
- [data-m-motion="reduced"] .m-progress-spinner,
782
- [data-m-motion="reduced"] .m-progress-spinner__circle,
783
- [data-m-motion="reduced"] .m-skeleton,
784
- [data-m-motion="reduced"] .m-badge--processing,
785
- [data-m-motion="reduced"] .m-icon--spin,
786
- [data-m-motion="reduced"] .m-button__spinner,
787
- [data-m-motion="reduced"] .m-select__loading-icon,
788
- [data-m-motion="reduced"] .m-switch__loading-icon {
789
- animation: none !important;
790
- }
1
+ /* Shared tokens consumption, type, focus, and mixed selectors. */
2
+
3
+ :root {
4
+ /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
5
+ --m-menu-min-width: 12rem;
6
+ }
7
+
8
+ .m-button,
9
+ .m-input,
10
+ .m-card,
11
+ .m-dialog,
12
+ .m-drawer,
13
+ .m-popover,
14
+ .m-accordion,
15
+ .m-scrollbar,
16
+ .m-panel,
17
+ .m-fieldset,
18
+ .m-flex,
19
+ .m-space,
20
+ .m-grid,
21
+ .m-layout,
22
+ .m-layout-header,
23
+ .m-layout-footer,
24
+ .m-layout-sider,
25
+ .m-splitter,
26
+ .m-stepper,
27
+ .m-toolbar,
28
+ .m-page-content,
29
+ .m-page-header,
30
+ .m-page-toolbar,
31
+ .m-menu,
32
+ .m-menubar,
33
+ .m-contextmenu,
34
+ .m-tieredmenu,
35
+ .m-dropdown,
36
+ .m-breadcrumb,
37
+ .m-tabs,
38
+ .m-datepicker,
39
+ .m-listbox,
40
+ .m-togglebutton,
41
+ .m-select,
42
+ .m-textarea,
43
+ .m-selectbutton,
44
+ .m-inputotp,
45
+ .m-knob,
46
+ .m-autocomplete,
47
+ .m-splitbutton,
48
+ .m-tree,
49
+ .m-timeline,
50
+ .m-dataview,
51
+ .m-confirmpopup,
52
+ .m-scrolltop,
53
+ .m-blockui,
54
+ .m-inplace,
55
+ .m-message,
56
+ .m-toast,
57
+ .m-tooltip,
58
+ .m-empty,
59
+ .m-result,
60
+ .m-progress-spinner,
61
+ .m-cascadeselect,
62
+ .m-treeselect,
63
+ .m-inputcolor,
64
+ .m-inputtags,
65
+ .m-label,
66
+ .m-speeddial,
67
+ .m-orderlist,
68
+ .m-picklist,
69
+ .m-virtualscroller,
70
+ .m-megamenu,
71
+ .m-dock,
72
+ .m-sidebar,
73
+ .m-commandmenu,
74
+ .m-fileupload,
75
+ .m-carousel,
76
+ .m-gallery,
77
+ .m-metergroup,
78
+ .m-fluid,
79
+ .m-terminal {
80
+ font-family: var(--m-font-sans);
81
+ box-sizing: border-box;
82
+ }
83
+
84
+ .m-button:disabled,
85
+ .m-input:disabled,
86
+ .m-password__input:disabled,
87
+ .m-inputnumber__input:disabled,
88
+ .m-inputotp__input:disabled,
89
+ .m-inputcolor__text:disabled,
90
+ .m-inputcolor__swatch:disabled,
91
+ .m-inputtags--disabled {
92
+ cursor: not-allowed;
93
+ opacity: var(--m-opacity-disabled);
94
+ }
95
+
96
+ .m-input-field__control--prefixed .m-input:disabled,
97
+ .m-input-field__control--suffixed .m-input:disabled,
98
+ .m-input-field__control--clearable .m-input:disabled,
99
+ .m-password--disabled .m-password__input,
100
+ .m-inputnumber--disabled .m-inputnumber__input,
101
+ .m-datepicker--disabled .m-datepicker__input,
102
+ .m-icon-field--anchored .m-input:disabled,
103
+ .m-icon-field--anchored .m-textarea:disabled {
104
+ opacity: 1;
105
+ }
106
+
107
+ .m-input::placeholder,
108
+ .m-textarea::placeholder,
109
+ .m-password__input::placeholder,
110
+ .m-inputnumber__input::placeholder,
111
+ .m-inputtags__input::placeholder,
112
+ .m-inputcolor__text::placeholder {
113
+ color: var(--m-color-text-muted);
114
+ opacity: 1;
115
+ }
116
+
117
+ .m-input-field__meta,
118
+ .m-textarea-field__meta,
119
+ .m-password-field__meta {
120
+ align-items: baseline;
121
+ display: flex;
122
+ gap: var(--m-space-2);
123
+ justify-content: space-between;
124
+ }
125
+
126
+ .m-input-field__meta:not(:has(.m-input-field__help)),
127
+ .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
128
+ .m-password-field__meta:not(:has(.m-password__feedback)) {
129
+ justify-content: flex-end;
130
+ }
131
+
132
+ .m-input-field__count,
133
+ .m-textarea-field__count,
134
+ .m-password-field__count {
135
+ color: var(--m-color-text-muted);
136
+ flex: 0 0 auto;
137
+ font-size: var(--m-font-size-xs);
138
+ margin-left: auto;
139
+ }
140
+
141
+ .m-dropdown__item--parent {
142
+ align-items: center;
143
+ display: flex;
144
+ justify-content: space-between;
145
+ width: 100%;
146
+ }
147
+
148
+ .m-dropdown__icon,
149
+ .m-dropdown__caret,
150
+ .m-menu__icon,
151
+ .m-menubar__icon {
152
+ flex-shrink: 0;
153
+ }
154
+
155
+ .m-dropdown__submenu-wrap {
156
+ position: relative;
157
+ }
158
+
159
+ .m-dropdown__submenu {
160
+ --m-dropdown-submenu-max-height: min(18rem, 45vh);
161
+ background: var(--m-color-surface);
162
+ border: var(--m-border-width) solid var(--m-color-border);
163
+ border-radius: var(--m-radius-md);
164
+ box-shadow: var(--m-shadow-md);
165
+ max-height: var(--m-dropdown-submenu-max-height);
166
+ max-width: calc(100vw - 2 * var(--m-space-4));
167
+ min-width: 10rem;
168
+ overflow: hidden;
169
+ padding: var(--m-space-1);
170
+ /* Same as .m-dropdown__menu: size to content instead of being clamped
171
+ by the space left of the anchor in the viewport. */
172
+ width: max-content;
173
+ }
174
+
175
+ .m-dropdown__submenu--teleported {
176
+ position: fixed;
177
+ z-index: var(--m-z-dropdown);
178
+ }
179
+
180
+ .m-dropdown__submenu-scroll {
181
+ max-height: calc(var(--m-dropdown-submenu-max-height) - var(--m-space-2));
182
+ min-height: 0;
183
+ }
184
+
185
+ .m-dropdown__submenu-view {
186
+ display: grid;
187
+ gap: var(--m-space-1);
188
+ }
189
+
190
+ .m-fade-enter-active,
191
+ .m-fade-leave-active {
192
+ transition: opacity var(--m-motion-exit) var(--m-motion-ease);
193
+ }
194
+
195
+ .m-fade-enter-from,
196
+ .m-fade-leave-to {
197
+ opacity: 0;
198
+ }
199
+
200
+ .m-scale-fade-enter-active {
201
+ transition:
202
+ opacity var(--m-motion-enter) var(--m-motion-ease),
203
+ transform var(--m-motion-enter) var(--m-motion-ease);
204
+ }
205
+
206
+ .m-scale-fade-leave-active {
207
+ transition:
208
+ opacity var(--m-motion-exit) var(--m-motion-ease),
209
+ transform var(--m-motion-exit) var(--m-motion-ease);
210
+ }
211
+
212
+ .m-scale-fade-enter-from,
213
+ .m-scale-fade-leave-to {
214
+ opacity: 0;
215
+ transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.96);
216
+ }
217
+
218
+ .m-slide-fade-enter-active {
219
+ transition:
220
+ opacity var(--m-motion-enter) var(--m-motion-ease),
221
+ transform var(--m-motion-enter) var(--m-motion-ease);
222
+ }
223
+
224
+ .m-slide-fade-leave-active {
225
+ transition:
226
+ opacity var(--m-motion-exit) var(--m-motion-ease),
227
+ transform var(--m-motion-exit) var(--m-motion-ease);
228
+ }
229
+
230
+ .m-slide-fade-enter-from,
231
+ .m-slide-fade-leave-to {
232
+ opacity: 0;
233
+ transform: translateY(calc(var(--m-motion-distance) * -1));
234
+ }
235
+
236
+ /* Generic center zoom (opacity + scale on the transitioning root) */
237
+ .m-zoom-enter-active {
238
+ transition:
239
+ opacity var(--m-motion-enter) var(--m-motion-ease),
240
+ transform var(--m-motion-enter) var(--m-motion-ease);
241
+ }
242
+
243
+ .m-zoom-leave-active {
244
+ transition:
245
+ opacity var(--m-motion-exit) var(--m-motion-ease),
246
+ transform var(--m-motion-exit) var(--m-motion-ease);
247
+ }
248
+
249
+ .m-zoom-enter-from,
250
+ .m-zoom-leave-to {
251
+ opacity: 0;
252
+ transform: scale(0.95);
253
+ }
254
+
255
+ .m-slide-up-enter-active,
256
+ .m-slide-down-enter-active,
257
+ .m-slide-left-enter-active,
258
+ .m-slide-right-enter-active {
259
+ transition:
260
+ opacity var(--m-motion-enter) var(--m-motion-ease),
261
+ transform var(--m-motion-enter) var(--m-motion-ease);
262
+ }
263
+
264
+ .m-slide-up-leave-active,
265
+ .m-slide-down-leave-active,
266
+ .m-slide-left-leave-active,
267
+ .m-slide-right-leave-active {
268
+ transition:
269
+ opacity var(--m-motion-exit) var(--m-motion-ease),
270
+ transform var(--m-motion-exit) var(--m-motion-ease);
271
+ }
272
+
273
+ .m-slide-up-enter-from,
274
+ .m-slide-up-leave-to {
275
+ opacity: 0;
276
+ transform: translateY(var(--m-motion-distance));
277
+ }
278
+
279
+ .m-slide-down-enter-from,
280
+ .m-slide-down-leave-to {
281
+ opacity: 0;
282
+ transform: translateY(calc(var(--m-motion-distance) * -1));
283
+ }
284
+
285
+ .m-slide-left-enter-from,
286
+ .m-slide-left-leave-to {
287
+ opacity: 0;
288
+ transform: translateX(var(--m-motion-distance));
289
+ }
290
+
291
+ .m-slide-right-enter-from,
292
+ .m-slide-right-leave-to {
293
+ opacity: 0;
294
+ transform: translateX(calc(var(--m-motion-distance) * -1));
295
+ }
296
+
297
+ [data-m-motion="reduced"] .m-fade-enter-active,
298
+ [data-m-motion="reduced"] .m-fade-leave-active,
299
+ [data-m-motion="reduced"] .m-scale-fade-enter-active,
300
+ [data-m-motion="reduced"] .m-scale-fade-leave-active,
301
+ [data-m-motion="reduced"] .m-slide-fade-enter-active,
302
+ [data-m-motion="reduced"] .m-slide-fade-leave-active,
303
+ [data-m-motion="reduced"] .m-zoom-enter-active,
304
+ [data-m-motion="reduced"] .m-zoom-leave-active,
305
+ [data-m-motion="reduced"] .m-slide-up-enter-active,
306
+ [data-m-motion="reduced"] .m-slide-up-leave-active,
307
+ [data-m-motion="reduced"] .m-slide-down-enter-active,
308
+ [data-m-motion="reduced"] .m-slide-down-leave-active,
309
+ [data-m-motion="reduced"] .m-slide-left-enter-active,
310
+ [data-m-motion="reduced"] .m-slide-left-leave-active,
311
+ [data-m-motion="reduced"] .m-slide-right-enter-active,
312
+ [data-m-motion="reduced"] .m-slide-right-leave-active,
313
+ [data-m-motion="none"] .m-fade-enter-active,
314
+ [data-m-motion="none"] .m-fade-leave-active,
315
+ [data-m-motion="none"] .m-scale-fade-enter-active,
316
+ [data-m-motion="none"] .m-scale-fade-leave-active,
317
+ [data-m-motion="none"] .m-slide-fade-enter-active,
318
+ [data-m-motion="none"] .m-slide-fade-leave-active,
319
+ [data-m-motion="none"] .m-zoom-enter-active,
320
+ [data-m-motion="none"] .m-zoom-leave-active,
321
+ [data-m-motion="none"] .m-slide-up-enter-active,
322
+ [data-m-motion="none"] .m-slide-up-leave-active,
323
+ [data-m-motion="none"] .m-slide-down-enter-active,
324
+ [data-m-motion="none"] .m-slide-down-leave-active,
325
+ [data-m-motion="none"] .m-slide-left-enter-active,
326
+ [data-m-motion="none"] .m-slide-left-leave-active,
327
+ [data-m-motion="none"] .m-slide-right-enter-active,
328
+ [data-m-motion="none"] .m-slide-right-leave-active {
329
+ transition: none;
330
+ }
331
+
332
+ [data-m-motion="reduced"] .m-scale-fade-enter-from,
333
+ [data-m-motion="reduced"] .m-scale-fade-leave-to,
334
+ [data-m-motion="reduced"] .m-slide-fade-enter-from,
335
+ [data-m-motion="reduced"] .m-slide-fade-leave-to,
336
+ [data-m-motion="reduced"] .m-zoom-enter-from,
337
+ [data-m-motion="reduced"] .m-zoom-leave-to,
338
+ [data-m-motion="reduced"] .m-slide-up-enter-from,
339
+ [data-m-motion="reduced"] .m-slide-up-leave-to,
340
+ [data-m-motion="reduced"] .m-slide-down-enter-from,
341
+ [data-m-motion="reduced"] .m-slide-down-leave-to,
342
+ [data-m-motion="reduced"] .m-slide-left-enter-from,
343
+ [data-m-motion="reduced"] .m-slide-left-leave-to,
344
+ [data-m-motion="reduced"] .m-slide-right-enter-from,
345
+ [data-m-motion="reduced"] .m-slide-right-leave-to,
346
+ [data-m-motion="none"] .m-scale-fade-enter-from,
347
+ [data-m-motion="none"] .m-scale-fade-leave-to,
348
+ [data-m-motion="none"] .m-slide-fade-enter-from,
349
+ [data-m-motion="none"] .m-slide-fade-leave-to,
350
+ [data-m-motion="none"] .m-zoom-enter-from,
351
+ [data-m-motion="none"] .m-zoom-leave-to,
352
+ [data-m-motion="none"] .m-slide-up-enter-from,
353
+ [data-m-motion="none"] .m-slide-up-leave-to,
354
+ [data-m-motion="none"] .m-slide-down-enter-from,
355
+ [data-m-motion="none"] .m-slide-down-leave-to,
356
+ [data-m-motion="none"] .m-slide-left-enter-from,
357
+ [data-m-motion="none"] .m-slide-left-leave-to,
358
+ [data-m-motion="none"] .m-slide-right-enter-from,
359
+ [data-m-motion="none"] .m-slide-right-leave-to {
360
+ transform: none;
361
+ }
362
+
363
+ /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
364
+ @keyframes m-progress-spinner-rotate {
365
+ 100% {
366
+ transform: rotate(360deg);
367
+ }
368
+ }
369
+
370
+ .m-checkbox,
371
+ .m-radio,
372
+ .m-switch {
373
+ align-items: center;
374
+ color: var(--m-color-text);
375
+ cursor: pointer;
376
+ display: inline-flex;
377
+ font-family: var(--m-font-sans);
378
+ gap: var(--m-space-2);
379
+ /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
380
+ position: relative;
381
+ }
382
+
383
+ .m-checkbox--disabled,
384
+ .m-radio--disabled,
385
+ .m-switch--disabled {
386
+ color: var(--m-color-text-muted);
387
+ cursor: not-allowed;
388
+ opacity: var(--m-opacity-disabled);
389
+ }
390
+
391
+ .m-checkbox--invalid .m-checkbox__control,
392
+ .m-radio--invalid .m-radio__control {
393
+ border-color: var(--m-color-danger);
394
+ }
395
+
396
+ .m-checkbox__input,
397
+ .m-radio__input,
398
+ .m-switch__input {
399
+ clip: rect(0, 0, 0, 0);
400
+ clip-path: inset(50%);
401
+ height: 1px;
402
+ margin: -1px;
403
+ overflow: hidden;
404
+ opacity: 0;
405
+ position: absolute;
406
+ white-space: nowrap;
407
+ width: 1px;
408
+ }
409
+
410
+ .m-checkbox__control,
411
+ .m-radio__control {
412
+ align-items: center;
413
+ background: var(--m-color-surface);
414
+ border: var(--m-border-width) solid var(--m-color-border);
415
+ display: inline-flex;
416
+ flex: 0 0 auto;
417
+ height: var(--m-checkbox-control-size, 1.125rem);
418
+ justify-content: center;
419
+ transition:
420
+ background-color var(--m-motion-fast) var(--m-motion-ease),
421
+ border-color var(--m-motion-fast) var(--m-motion-ease),
422
+ box-shadow var(--m-motion-fast) var(--m-motion-ease);
423
+ width: var(--m-checkbox-control-size, 1.125rem);
424
+ }
425
+
426
+ .m-checkbox__input:checked + .m-checkbox__control,
427
+ .m-radio__input:checked + .m-radio__control {
428
+ background: var(--m-color-primary);
429
+ border-color: var(--m-color-primary);
430
+ }
431
+
432
+ .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
433
+ .m-radio:not(.m-radio--disabled):hover .m-radio__control {
434
+ border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
435
+ }
436
+
437
+ .m-checkbox__input:focus-visible + .m-checkbox__control,
438
+ .m-radio__input:focus-visible + .m-radio__control,
439
+ .m-switch__input:focus-visible + .m-switch__track {
440
+ box-shadow: var(--m-focus-shadow);
441
+ outline: none;
442
+ }
443
+
444
+ .m-checkbox__label,
445
+ .m-radio__label,
446
+ .m-switch__label {
447
+ font-size: var(--m-font-size-md);
448
+ }
449
+
450
+ .m-textarea-field,
451
+ .m-select-field {
452
+ display: grid;
453
+ font-family: var(--m-font-sans);
454
+ gap: var(--m-space-2);
455
+ max-width: 100%;
456
+ min-width: var(--m-menu-min-width);
457
+ position: relative;
458
+ width: fit-content;
459
+ }
460
+
461
+ .m-textarea-field--fluid,
462
+ .m-select-field--fluid {
463
+ width: 100%;
464
+ }
465
+
466
+ .m-textarea-field__label,
467
+ .m-select-field__label {
468
+ color: var(--m-color-text);
469
+ font-family: var(--m-font-sans);
470
+ font-size: var(--m-font-size-md);
471
+ font-weight: 600;
472
+ }
473
+
474
+ .m-textarea-field__help,
475
+ .m-select-field__help {
476
+ color: var(--m-color-text-muted);
477
+ font-size: var(--m-font-size-xs);
478
+ }
479
+
480
+ .m-textarea-field__help--invalid,
481
+ .m-select-field__help--invalid {
482
+ color: var(--m-color-danger);
483
+ }
484
+
485
+ .m-textarea,
486
+ .m-select {
487
+ background: var(--m-color-surface);
488
+ border: var(--m-border-width) solid var(--m-color-border);
489
+ border-radius: var(--m-radius-control);
490
+ color: var(--m-color-text);
491
+ font: inherit;
492
+ transition:
493
+ border-color var(--m-motion-fast) var(--m-motion-ease),
494
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
495
+ background-color var(--m-motion-fast) var(--m-motion-ease);
496
+ width: 100%;
497
+ }
498
+
499
+ .m-textarea--invalid:focus-visible,
500
+ .m-select--invalid.m-select--open,
501
+ .m-select--invalid:focus-visible {
502
+ border-color: var(--m-color-danger);
503
+ box-shadow: var(--m-focus-shadow-danger);
504
+ }
505
+
506
+ .m-textarea:disabled,
507
+ .m-select:disabled,
508
+ .m-select--disabled {
509
+ cursor: not-allowed;
510
+ opacity: var(--m-opacity-disabled);
511
+ }
512
+
513
+ .m-inputgroup > .m-input,
514
+ .m-inputgroup > .m-input-field,
515
+ .m-inputgroup > .m-password-field,
516
+ .m-inputgroup > .m-inputnumber-field {
517
+ flex: 1 1 auto;
518
+ min-width: 0;
519
+ }
520
+
521
+ .m-inputgroup > .m-input-field,
522
+ .m-inputgroup > .m-password-field,
523
+ .m-inputgroup > .m-inputnumber-field {
524
+ display: flex;
525
+ flex-direction: column;
526
+ gap: 0;
527
+ }
528
+
529
+ .m-inputgroup > .m-input,
530
+ .m-inputgroup .m-input,
531
+ .m-inputgroup .m-password,
532
+ .m-inputgroup .m-inputnumber__input-wrap,
533
+ .m-inputgroup .m-input-field__control--prefixed,
534
+ .m-inputgroup .m-input-field__control--suffixed,
535
+ .m-inputgroup .m-input-field__control--clearable {
536
+ border-radius: 0;
537
+ width: 100%;
538
+ }
539
+
540
+ .m-inputgroup > :first-child.m-input,
541
+ .m-inputgroup > :first-child .m-input,
542
+ .m-inputgroup > :first-child .m-password,
543
+ .m-inputgroup > :first-child .m-inputnumber__input-wrap,
544
+ .m-inputgroup > :first-child .m-input-field__control--prefixed,
545
+ .m-inputgroup > :first-child .m-input-field__control--suffixed,
546
+ .m-inputgroup > :first-child .m-input-field__control--clearable,
547
+ .m-inputgroup > :first-child.m-inputgroup-addon {
548
+ border-bottom-left-radius: var(--m-radius-control);
549
+ border-top-left-radius: var(--m-radius-control);
550
+ }
551
+
552
+ .m-inputgroup > :last-child.m-input,
553
+ .m-inputgroup > :last-child .m-input,
554
+ .m-inputgroup > :last-child .m-password,
555
+ .m-inputgroup > :last-child .m-inputnumber__input-wrap,
556
+ .m-inputgroup > :last-child .m-input-field__control--prefixed,
557
+ .m-inputgroup > :last-child .m-input-field__control--suffixed,
558
+ .m-inputgroup > :last-child .m-input-field__control--clearable,
559
+ .m-inputgroup > :last-child.m-inputgroup-addon {
560
+ border-bottom-right-radius: var(--m-radius-control);
561
+ border-top-right-radius: var(--m-radius-control);
562
+ }
563
+
564
+ .m-inputgroup > .m-inputgroup-addon + .m-input,
565
+ .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
566
+ .m-inputgroup > .m-input + .m-inputgroup-addon,
567
+ .m-inputgroup > .m-input-field + .m-inputgroup-addon {
568
+ margin-left: calc(var(--m-border-width) * -1);
569
+ }
570
+
571
+ .m-layout__scrollbar > .m-scrollbar__wrap {
572
+ height: 100%;
573
+ overflow-x: hidden;
574
+ }
575
+
576
+ .m-layout-sider__scrollbar > .m-scrollbar__wrap {
577
+ height: 100%;
578
+ overflow-x: hidden;
579
+ }
580
+
581
+ .m-terminal__scrollbar > .m-scrollbar__wrap {
582
+ height: 100%;
583
+ overflow-x: hidden;
584
+ }
585
+
586
+ .m-scroll-body.m-scrollbar {
587
+ min-height: 0;
588
+ min-width: 0;
589
+ }
590
+
591
+ /* fit-content scroll wrappers: grow with content; max-height only clips when set on the wrapper */
592
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) {
593
+ width: 100%;
594
+ }
595
+
596
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) .m-scrollbar__wrap {
597
+ overflow: auto;
598
+ }
599
+
600
+ .m-orderlist__btn,
601
+ .m-picklist__btn {
602
+ align-items: center;
603
+ background: var(--m-color-surface);
604
+ border: var(--m-border-width) solid var(--m-color-border);
605
+ border-radius: var(--m-radius-sm);
606
+ color: var(--m-color-text);
607
+ cursor: pointer;
608
+ display: inline-flex;
609
+ font: inherit;
610
+ gap: 0;
611
+ justify-content: center;
612
+ min-height: var(--m-control-height-small, 1.75rem);
613
+ min-width: var(--m-control-affix-size);
614
+ padding: var(--m-space-1) var(--m-space-2);
615
+ }
616
+
617
+ .m-orderlist__btn:hover:not(:disabled),
618
+ .m-picklist__btn:hover:not(:disabled) {
619
+ border-color: var(--m-color-primary);
620
+ color: var(--m-color-primary);
621
+ }
622
+
623
+ .m-orderlist__btn:disabled,
624
+ .m-picklist__btn:disabled {
625
+ cursor: not-allowed;
626
+ opacity: var(--m-opacity-disabled);
627
+ }
628
+
629
+ .m-orderlist__btn:focus-visible,
630
+ .m-picklist__btn:focus-visible {
631
+ border-color: var(--m-color-primary);
632
+ box-shadow: var(--m-focus-shadow);
633
+ outline: none;
634
+ }
635
+
636
+ .m-picklist__btn .m-icon + .m-icon {
637
+ margin-left: -0.35rem;
638
+ }
639
+
640
+ .m-orderlist__scrollbar,
641
+ .m-picklist__scrollbar {
642
+ flex: 1;
643
+ max-height: 16rem;
644
+ min-height: 12rem;
645
+ min-width: var(--m-menu-min-width);
646
+ }
647
+
648
+ .m-orderlist__list,
649
+ .m-picklist__list {
650
+ background: var(--m-color-surface);
651
+ border: var(--m-border-width) solid var(--m-color-border);
652
+ border-radius: var(--m-radius-md);
653
+ padding: var(--m-space-1);
654
+ }
655
+
656
+ .m-orderlist__options,
657
+ .m-picklist__options {
658
+ list-style: none;
659
+ margin: 0;
660
+ padding: 0;
661
+ }
662
+
663
+ .m-orderlist__item,
664
+ .m-picklist__item {
665
+ border-radius: var(--m-radius-sm);
666
+ cursor: pointer;
667
+ padding: var(--m-space-2) var(--m-space-3);
668
+ }
669
+
670
+ .m-orderlist__item:hover,
671
+ .m-picklist__item:hover {
672
+ background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
673
+ }
674
+
675
+ .m-orderlist__item:focus-visible,
676
+ .m-picklist__item:focus-visible {
677
+ box-shadow: var(--m-focus-shadow);
678
+ outline: none;
679
+ }
680
+
681
+ .m-orderlist__item--selected,
682
+ .m-picklist__item--selected {
683
+ background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
684
+ color: var(--m-color-primary);
685
+ font-weight: 600;
686
+ }
687
+
688
+ .m-carousel__nav,
689
+ .m-gallery__nav {
690
+ background: var(--m-color-surface);
691
+ border: var(--m-border-width) solid var(--m-color-border);
692
+ border-radius: var(--m-radius-full, 999px);
693
+ color: var(--m-color-text);
694
+ cursor: pointer;
695
+ flex: 0 0 auto;
696
+ font: inherit;
697
+ height: var(--m-control-affix-size);
698
+ width: var(--m-control-affix-size);
699
+ }
700
+
701
+ .m-carousel__nav:disabled,
702
+ .m-gallery__nav:disabled {
703
+ cursor: not-allowed;
704
+ opacity: var(--m-opacity-disabled);
705
+ }
706
+
707
+ /* Shared Naive-like hover/focus for remaining form triggers */
708
+ .m-inputotp__input:hover:not(:disabled):not(:focus),
709
+ .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
710
+ .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
711
+ .m-inputcolor__text:hover:not(:disabled):not(:focus),
712
+ .m-inputtags:hover:not(.m-inputtags--disabled),
713
+ .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
714
+ .m-inplace__display:hover {
715
+ border-color: var(--m-color-primary-hover);
716
+ }
717
+
718
+ .m-inputotp__input:focus-visible,
719
+ .m-cascadeselect__trigger:focus-visible,
720
+ .m-treeselect__trigger:focus-visible,
721
+ .m-inputcolor__text:focus-visible,
722
+ .m-inputtags:focus-within,
723
+ .m-togglebutton:focus-visible,
724
+ .m-selectbutton__button:focus-visible,
725
+ .m-splitbutton__main:focus-visible,
726
+ .m-splitbutton__trigger:focus-visible,
727
+ .m-inplace__display:focus-visible,
728
+ .m-pagination__button:focus-visible {
729
+ border-color: var(--m-color-primary-hover);
730
+ box-shadow: var(--m-focus-shadow);
731
+ outline: none;
732
+ }
733
+
734
+ .m-inputotp--invalid .m-inputotp__input:focus-visible,
735
+ .m-inputtags--invalid:focus-within,
736
+ .m-inputcolor--invalid .m-inputcolor__text:focus-visible {
737
+ border-color: var(--m-color-danger);
738
+ box-shadow: var(--m-focus-shadow-danger);
739
+ }
740
+
741
+ .m-checkbox-group,
742
+ .m-radio-group {
743
+ display: flex;
744
+ flex-wrap: wrap;
745
+ gap: var(--m-space-3);
746
+ }
747
+
748
+ .m-checkbox--small .m-checkbox__control,
749
+ .m-radio--small .m-radio__control {
750
+ height: 0.95rem;
751
+ width: 0.95rem;
752
+ }
753
+
754
+ .m-checkbox--large .m-checkbox__control,
755
+ .m-radio--large .m-radio__control {
756
+ height: 1.35rem;
757
+ width: 1.35rem;
758
+ }
759
+
760
+ .m-inputnumber__clear,
761
+ .m-autocomplete__clear {
762
+ background: transparent;
763
+ border: 0;
764
+ color: var(--m-color-text-muted);
765
+ cursor: pointer;
766
+ font: inherit;
767
+ line-height: 1;
768
+ }
769
+
770
+ [data-m-motion="none"] *,
771
+ [data-m-motion="none"] *::before,
772
+ [data-m-motion="none"] *::after {
773
+ animation-duration: 0.01ms !important;
774
+ animation-iteration-count: 1 !important;
775
+ scroll-behavior: auto !important;
776
+ transition-duration: 0.01ms !important;
777
+ }
778
+
779
+ [data-m-motion="reduced"] .m-progress-spinner,
780
+ [data-m-motion="reduced"] .m-progress-spinner__circle,
781
+ [data-m-motion="reduced"] .m-skeleton,
782
+ [data-m-motion="reduced"] .m-badge--processing,
783
+ [data-m-motion="reduced"] .m-icon--spin,
784
+ [data-m-motion="reduced"] .m-button__spinner,
785
+ [data-m-motion="reduced"] .m-select__loading-icon,
786
+ [data-m-motion="reduced"] .m-switch__loading-icon {
787
+ animation: none !important;
788
+ }