morya-ui 0.2.2 → 0.2.4

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 (209) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/Card-BQfmv5Iw.js +62 -0
  3. package/dist/FlyoutSubmenu-BC_cl17_.js +49 -0
  4. package/dist/ScrollBody-CXFNhBvq.js +68 -0
  5. package/dist/accordion/style.css +625 -583
  6. package/dist/auto-complete/style.css +625 -583
  7. package/dist/avatar/style.css +625 -583
  8. package/dist/badge/style.css +625 -583
  9. package/dist/block-ui/style.css +625 -583
  10. package/dist/breadcrumb/style.css +625 -583
  11. package/dist/button/style.css +625 -583
  12. package/dist/card/index.js +2 -62
  13. package/dist/card/style.css +625 -583
  14. package/dist/carousel/style.css +625 -583
  15. package/dist/cascade-select/style.css +625 -583
  16. package/dist/checkbox/style.css +625 -583
  17. package/dist/chip/style.css +625 -583
  18. package/dist/command-menu/style.css +625 -583
  19. package/dist/components/ContextMenu/ContextMenu.vue.d.ts.map +1 -1
  20. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  21. package/dist/components/ContextMenu/styles.css +33 -4
  22. package/dist/components/Dropdown/Dropdown.vue.d.ts +2 -2
  23. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  24. package/dist/components/Dropdown/DropdownNodes.vue.d.ts +2 -2
  25. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  26. package/dist/components/Dropdown/styles.css +11 -0
  27. package/dist/components/Gallery/Gallery.vue.d.ts +2 -2
  28. package/dist/components/Gallery/Gallery.vue.d.ts.map +1 -1
  29. package/dist/components/Gallery/styles.css +5 -1
  30. package/dist/components/Layout/Layout.vue.d.ts +4 -3
  31. package/dist/components/Layout/Layout.vue.d.ts.map +1 -1
  32. package/dist/components/Layout/LayoutContent.vue.d.ts +2 -2
  33. package/dist/components/Layout/LayoutContent.vue.d.ts.map +1 -1
  34. package/dist/components/Layout/LayoutScrollContext.vue.d.ts +20 -0
  35. package/dist/components/Layout/LayoutScrollContext.vue.d.ts.map +1 -0
  36. package/dist/components/Layout/LayoutScrollRegion.vue.d.ts +34 -0
  37. package/dist/components/Layout/LayoutScrollRegion.vue.d.ts.map +1 -0
  38. package/dist/components/Layout/LayoutSider.vue.d.ts +2 -2
  39. package/dist/components/Layout/LayoutSider.vue.d.ts.map +1 -1
  40. package/dist/components/Layout/composables/useLayoutScroll.d.ts +4 -1
  41. package/dist/components/Layout/composables/useLayoutScroll.d.ts.map +1 -1
  42. package/dist/components/Layout/styles.css +35 -13
  43. package/dist/components/Layout/types.d.ts +2 -0
  44. package/dist/components/Layout/types.d.ts.map +1 -1
  45. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  46. package/dist/components/Menu/styles.css +10 -0
  47. package/dist/components/Menubar/Menubar.vue.d.ts +2 -2
  48. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  49. package/dist/components/Menubar/styles.css +14 -0
  50. package/dist/components/OrderList/OrderList.vue.d.ts +4 -4
  51. package/dist/components/OrderList/OrderList.vue.d.ts.map +1 -1
  52. package/dist/components/Page/PageContent.vue.d.ts +19 -0
  53. package/dist/components/Page/PageContent.vue.d.ts.map +1 -0
  54. package/dist/components/Page/PageFilters.vue.d.ts +16 -0
  55. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -0
  56. package/dist/components/Page/PageHeader.vue.d.ts +22 -0
  57. package/dist/components/Page/PageHeader.vue.d.ts.map +1 -0
  58. package/dist/components/Page/PagePlaceholder.vue.d.ts +20 -0
  59. package/dist/components/Page/PagePlaceholder.vue.d.ts.map +1 -0
  60. package/dist/components/Page/PageSection.vue.d.ts +19 -0
  61. package/dist/components/Page/PageSection.vue.d.ts.map +1 -0
  62. package/dist/components/Page/PageStat.vue.d.ts +18 -0
  63. package/dist/components/Page/PageStat.vue.d.ts.map +1 -0
  64. package/dist/components/Page/PageToolbar.vue.d.ts +20 -0
  65. package/dist/components/Page/PageToolbar.vue.d.ts.map +1 -0
  66. package/dist/components/Page/index.d.ts +9 -0
  67. package/dist/components/Page/index.d.ts.map +1 -0
  68. package/dist/components/Page/styles.css +193 -0
  69. package/dist/components/Page/types.d.ts +54 -0
  70. package/dist/components/Page/types.d.ts.map +1 -0
  71. package/dist/components/PickList/PickList.vue.d.ts +7 -7
  72. package/dist/components/PickList/PickList.vue.d.ts.map +1 -1
  73. package/dist/components/ScrollTop/ScrollTop.vue.d.ts.map +1 -1
  74. package/dist/components/Tabs/Tabs.vue.d.ts +3 -3
  75. package/dist/components/Tabs/Tabs.vue.d.ts.map +1 -1
  76. package/dist/components/Tabs/styles.css +72 -77
  77. package/dist/components/Terminal/Terminal.vue.d.ts.map +1 -1
  78. package/dist/components/Terminal/styles.css +6 -2
  79. package/dist/components/TieredMenu/TieredMenu.vue.d.ts.map +1 -1
  80. package/dist/components/TieredMenu/styles.css +33 -4
  81. package/dist/components/Timeline/Timeline.vue.d.ts +35 -10
  82. package/dist/components/Timeline/Timeline.vue.d.ts.map +1 -1
  83. package/dist/components/Timeline/styles.css +159 -156
  84. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  85. package/dist/components/TreeSelect/styles.css +15 -0
  86. package/dist/components/TreeTable/TreeTable.vue.d.ts +2 -2
  87. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +1 -1
  88. package/dist/components/TreeTable/styles.css +64 -61
  89. package/dist/components/VirtualScroller/VirtualScroller.vue.d.ts +2 -2
  90. package/dist/components/VirtualScroller/VirtualScroller.vue.d.ts.map +1 -1
  91. package/dist/components/VirtualScroller/styles.css +20 -17
  92. package/dist/config-provider/style.css +625 -583
  93. package/dist/confirm-dialog/style.css +625 -583
  94. package/dist/confirm-popup/style.css +625 -583
  95. package/dist/context-menu/index.js +131 -89
  96. package/dist/context-menu/style.css +781 -587
  97. package/dist/context-menu/style.js +1 -0
  98. package/dist/data-view/style.css +625 -583
  99. package/dist/date-picker/style.css +625 -583
  100. package/dist/dialog/style.css +625 -583
  101. package/dist/divider/style.css +625 -583
  102. package/dist/dock/style.css +625 -583
  103. package/dist/drawer/style.css +625 -583
  104. package/dist/dropdown/index.js +162 -122
  105. package/dist/dropdown/style.css +759 -583
  106. package/dist/dropdown/style.js +1 -0
  107. package/dist/fieldset/style.css +625 -583
  108. package/dist/file-upload/style.css +625 -583
  109. package/dist/flex/style.css +625 -583
  110. package/dist/float-label/style.css +625 -583
  111. package/dist/fluid/style.css +625 -583
  112. package/dist/form/style.css +625 -583
  113. package/dist/gallery/index.js +76 -67
  114. package/dist/gallery/style.css +753 -584
  115. package/dist/gallery/style.js +1 -0
  116. package/dist/grid/style.css +625 -583
  117. package/dist/icon/style.css +625 -583
  118. package/dist/icon-field/style.css +625 -583
  119. package/dist/index.d.ts +8 -0
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +2366 -1745
  122. package/dist/inplace/style.css +625 -583
  123. package/dist/input/style.css +625 -583
  124. package/dist/input-color/style.css +625 -583
  125. package/dist/input-group/style.css +625 -583
  126. package/dist/input-number/style.css +625 -583
  127. package/dist/input-otp/style.css +625 -583
  128. package/dist/input-password/style.css +625 -583
  129. package/dist/input-tags/style.css +625 -583
  130. package/dist/knob/style.css +625 -583
  131. package/dist/label/style.css +625 -583
  132. package/dist/layout/index.js +235 -136
  133. package/dist/layout/style.css +783 -596
  134. package/dist/layout/style.js +1 -0
  135. package/dist/listbox/style.css +625 -583
  136. package/dist/mega-menu/style.css +625 -583
  137. package/dist/menu/index.js +233 -216
  138. package/dist/menu/style.css +758 -583
  139. package/dist/menu/style.js +1 -0
  140. package/dist/menubar/index.js +77 -68
  141. package/dist/menubar/style.css +762 -583
  142. package/dist/menubar/style.js +1 -0
  143. package/dist/message/style.css +625 -583
  144. package/dist/meter-group/style.css +625 -583
  145. package/dist/order-list/index.js +66 -58
  146. package/dist/order-list/style.css +625 -583
  147. package/dist/page/index.js +176 -0
  148. package/dist/page/style.css +1199 -0
  149. package/dist/page/style.js +5 -0
  150. package/dist/pagination/style.css +625 -583
  151. package/dist/panel/style.css +625 -583
  152. package/dist/pick-list/index.js +97 -84
  153. package/dist/pick-list/style.css +625 -583
  154. package/dist/popover/style.css +625 -583
  155. package/dist/progress-bar/style.css +625 -583
  156. package/dist/progress-spinner/style.css +625 -583
  157. package/dist/radio/style.css +625 -583
  158. package/dist/rating/style.css +625 -583
  159. package/dist/resolver-map.d.ts.map +1 -1
  160. package/dist/resolver.js +7 -0
  161. package/dist/scroll-top/index.js +23 -13
  162. package/dist/scroll-top/style.css +748 -583
  163. package/dist/scroll-top/style.js +1 -0
  164. package/dist/scrollbar/style.css +625 -583
  165. package/dist/select/style.css +625 -583
  166. package/dist/select-button/style.css +625 -583
  167. package/dist/shared/FlyoutSubmenu.vue.d.ts +32 -0
  168. package/dist/shared/FlyoutSubmenu.vue.d.ts.map +1 -0
  169. package/dist/shared/ScrollBody.vue.d.ts +39 -0
  170. package/dist/shared/ScrollBody.vue.d.ts.map +1 -0
  171. package/dist/sidebar/style.css +625 -583
  172. package/dist/skeleton/style.css +625 -583
  173. package/dist/slider/style.css +625 -583
  174. package/dist/space/style.css +625 -583
  175. package/dist/speed-dial/style.css +625 -583
  176. package/dist/split-button/style.css +625 -583
  177. package/dist/splitter/style.css +625 -583
  178. package/dist/stepper/style.css +625 -583
  179. package/dist/styles/base.css +625 -583
  180. package/dist/styles.css +1 -1
  181. package/dist/switch/style.css +625 -583
  182. package/dist/table/style.css +625 -583
  183. package/dist/tabs/index.js +92 -81
  184. package/dist/tabs/style.css +818 -658
  185. package/dist/tabs/style.js +1 -0
  186. package/dist/tag/style.css +625 -583
  187. package/dist/terminal/index.js +47 -40
  188. package/dist/terminal/style.css +631 -585
  189. package/dist/textarea/style.css +625 -583
  190. package/dist/tiered-menu/index.js +130 -84
  191. package/dist/tiered-menu/style.css +781 -587
  192. package/dist/tiered-menu/style.js +1 -0
  193. package/dist/timeline/index.js +82 -37
  194. package/dist/timeline/style.css +907 -739
  195. package/dist/timeline/style.js +1 -0
  196. package/dist/toast/style.css +625 -583
  197. package/dist/toggle-button/style.css +625 -583
  198. package/dist/toolbar/style.css +625 -583
  199. package/dist/tooltip/style.css +625 -583
  200. package/dist/tree/style.css +625 -583
  201. package/dist/tree-select/index.js +202 -193
  202. package/dist/tree-select/style.css +763 -583
  203. package/dist/tree-select/style.js +1 -0
  204. package/dist/tree-table/index.js +57 -50
  205. package/dist/tree-table/style.css +689 -644
  206. package/dist/virtual-scroller/index.js +38 -34
  207. package/dist/virtual-scroller/style.css +775 -607
  208. package/dist/virtual-scroller/style.js +1 -0
  209. package/package.json +8 -1
@@ -1,583 +1,625 @@
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-menu,
29
- .m-menubar,
30
- .m-contextmenu,
31
- .m-tieredmenu,
32
- .m-datepicker,
33
- .m-listbox,
34
- .m-togglebutton,
35
- .m-inputotp,
36
- .m-knob,
37
- .m-autocomplete,
38
- .m-splitbutton,
39
- .m-tree,
40
- .m-timeline,
41
- .m-dataview,
42
- .m-confirmpopup,
43
- .m-scrolltop,
44
- .m-blockui,
45
- .m-inplace,
46
- .m-cascadeselect,
47
- .m-treeselect,
48
- .m-inputcolor,
49
- .m-inputtags,
50
- .m-label,
51
- .m-speeddial,
52
- .m-orderlist,
53
- .m-picklist,
54
- .m-virtualscroller,
55
- .m-treetable,
56
- .m-megamenu,
57
- .m-dock,
58
- .m-sidebar,
59
- .m-commandmenu,
60
- .m-fileupload,
61
- .m-carousel,
62
- .m-gallery,
63
- .m-metergroup,
64
- .m-fluid,
65
- .m-terminal {
66
- font-family: var(--m-font-sans);
67
- box-sizing: border-box;
68
- }
69
-
70
- .m-button:disabled,
71
- .m-input:disabled {
72
- cursor: not-allowed;
73
- opacity: var(--m-opacity-disabled);
74
- }
75
-
76
- .m-input-field__meta,
77
- .m-textarea-field__meta,
78
- .m-password-field__meta {
79
- align-items: baseline;
80
- display: flex;
81
- gap: var(--m-space-2);
82
- justify-content: space-between;
83
- }
84
-
85
- .m-input-field__meta:not(:has(.m-input-field__help)),
86
- .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
87
- .m-password-field__meta:not(:has(.m-password__feedback)) {
88
- justify-content: flex-end;
89
- }
90
-
91
- .m-input-field__count,
92
- .m-textarea-field__count,
93
- .m-password-field__count {
94
- color: var(--m-color-text-muted);
95
- flex: 0 0 auto;
96
- font-size: var(--m-font-size-xs);
97
- margin-left: auto;
98
- }
99
-
100
- .m-dropdown__item--parent {
101
- align-items: center;
102
- display: flex;
103
- justify-content: space-between;
104
- width: 100%;
105
- }
106
-
107
- .m-dropdown__icon,
108
- .m-dropdown__caret,
109
- .m-menu__icon,
110
- .m-menubar__icon {
111
- flex-shrink: 0;
112
- }
113
-
114
- .m-dropdown__submenu-wrap {
115
- position: relative;
116
- }
117
-
118
- .m-dropdown__submenu {
119
- background: var(--m-color-surface);
120
- border: var(--m-border-width) solid var(--m-color-border);
121
- border-radius: var(--m-radius-md);
122
- box-shadow: var(--m-shadow-md);
123
- left: 100%;
124
- min-width: 10rem;
125
- padding: var(--m-space-1);
126
- position: absolute;
127
- top: 0;
128
- z-index: var(--m-z-popper);
129
- }
130
-
131
- .m-fade-enter-active,
132
- .m-fade-leave-active {
133
- transition: opacity var(--m-motion-exit) var(--m-motion-ease);
134
- }
135
-
136
- .m-fade-enter-from,
137
- .m-fade-leave-to {
138
- opacity: 0;
139
- }
140
-
141
- .m-scale-fade-enter-active {
142
- transition:
143
- opacity var(--m-motion-enter) var(--m-motion-ease),
144
- transform var(--m-motion-enter) var(--m-motion-ease);
145
- }
146
-
147
- .m-scale-fade-leave-active {
148
- transition:
149
- opacity var(--m-motion-exit) var(--m-motion-ease),
150
- transform var(--m-motion-exit) var(--m-motion-ease);
151
- }
152
-
153
- .m-scale-fade-enter-from,
154
- .m-scale-fade-leave-to {
155
- opacity: 0;
156
- transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.98);
157
- }
158
-
159
- .m-slide-fade-enter-active {
160
- transition:
161
- opacity var(--m-motion-enter) var(--m-motion-ease),
162
- transform var(--m-motion-enter) var(--m-motion-ease);
163
- }
164
-
165
- .m-slide-fade-leave-active {
166
- transition:
167
- opacity var(--m-motion-exit) var(--m-motion-ease),
168
- transform var(--m-motion-exit) var(--m-motion-ease);
169
- }
170
-
171
- .m-slide-fade-enter-from,
172
- .m-slide-fade-leave-to {
173
- opacity: 0;
174
- transform: translateY(calc(var(--m-motion-distance) * -1));
175
- }
176
-
177
- /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
178
- @keyframes m-progress-spinner-rotate {
179
- 100% {
180
- transform: rotate(360deg);
181
- }
182
- }
183
-
184
- .m-checkbox,
185
- .m-radio,
186
- .m-switch {
187
- align-items: center;
188
- color: var(--m-color-text);
189
- cursor: pointer;
190
- display: inline-flex;
191
- font-family: var(--m-font-sans);
192
- gap: var(--m-space-2);
193
- /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
194
- position: relative;
195
- }
196
-
197
- .m-checkbox--disabled,
198
- .m-radio--disabled,
199
- .m-switch--disabled {
200
- color: var(--m-color-text-muted);
201
- cursor: not-allowed;
202
- opacity: var(--m-opacity-disabled);
203
- }
204
-
205
- .m-checkbox--invalid .m-checkbox__control,
206
- .m-radio--invalid .m-radio__control {
207
- border-color: var(--m-color-danger);
208
- }
209
-
210
- .m-checkbox__input,
211
- .m-radio__input,
212
- .m-switch__input {
213
- clip: rect(0, 0, 0, 0);
214
- clip-path: inset(50%);
215
- height: 1px;
216
- margin: -1px;
217
- overflow: hidden;
218
- opacity: 0;
219
- position: absolute;
220
- white-space: nowrap;
221
- width: 1px;
222
- }
223
-
224
- .m-checkbox__control,
225
- .m-radio__control {
226
- align-items: center;
227
- background: var(--m-color-surface);
228
- border: var(--m-border-width) solid var(--m-color-border);
229
- display: inline-flex;
230
- flex: 0 0 auto;
231
- height: var(--m-checkbox-control-size, 1.125rem);
232
- justify-content: center;
233
- transition:
234
- background-color var(--m-motion-fast) var(--m-motion-ease),
235
- border-color var(--m-motion-fast) var(--m-motion-ease);
236
- width: var(--m-checkbox-control-size, 1.125rem);
237
- }
238
-
239
- .m-checkbox__input:checked + .m-checkbox__control,
240
- .m-radio__input:checked + .m-radio__control {
241
- background: var(--m-color-primary);
242
- border-color: var(--m-color-primary);
243
- }
244
-
245
- .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
246
- .m-radio:not(.m-radio--disabled):hover .m-radio__control {
247
- border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
248
- }
249
-
250
- .m-checkbox__input:focus-visible + .m-checkbox__control,
251
- .m-radio__input:focus-visible + .m-radio__control,
252
- .m-switch__input:focus-visible + .m-switch__track {
253
- box-shadow: var(--m-focus-shadow);
254
- outline: none;
255
- }
256
-
257
- .m-checkbox__label,
258
- .m-radio__label,
259
- .m-switch__label {
260
- font-size: var(--m-font-size-md);
261
- }
262
-
263
- .m-textarea-field,
264
- .m-select-field {
265
- display: grid;
266
- font-family: var(--m-font-sans);
267
- gap: var(--m-space-2);
268
- max-width: 100%;
269
- min-width: var(--m-menu-min-width);
270
- position: relative;
271
- width: fit-content;
272
- }
273
-
274
- .m-textarea-field--fluid,
275
- .m-select-field--fluid {
276
- width: 100%;
277
- }
278
-
279
- .m-textarea-field__label,
280
- .m-select-field__label {
281
- color: var(--m-color-text);
282
- font-size: var(--m-font-size-md);
283
- font-weight: 600;
284
- }
285
-
286
- .m-textarea-field__help,
287
- .m-select-field__help {
288
- color: var(--m-color-text-muted);
289
- font-size: var(--m-font-size-xs);
290
- }
291
-
292
- .m-textarea-field__help--invalid,
293
- .m-select-field__help--invalid {
294
- color: var(--m-color-danger);
295
- }
296
-
297
- .m-textarea,
298
- .m-select {
299
- background: var(--m-color-surface);
300
- border: var(--m-border-width) solid var(--m-color-border);
301
- border-radius: var(--m-radius-control);
302
- color: var(--m-color-text);
303
- font: inherit;
304
- transition:
305
- border-color var(--m-motion-fast) var(--m-motion-ease),
306
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
307
- background-color var(--m-motion-fast) var(--m-motion-ease);
308
- width: 100%;
309
- }
310
-
311
- .m-textarea--invalid:focus-visible,
312
- .m-select--invalid.m-select--open,
313
- .m-select--invalid:focus-visible {
314
- border-color: var(--m-color-danger);
315
- box-shadow: var(--m-focus-shadow-danger);
316
- }
317
-
318
- .m-textarea:disabled,
319
- .m-select:disabled,
320
- .m-select--disabled {
321
- cursor: not-allowed;
322
- opacity: var(--m-opacity-disabled);
323
- }
324
-
325
- .m-icon-field--left :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
326
- padding-left: 2.5rem;
327
- }
328
-
329
- .m-icon-field--right :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
330
- padding-right: var(--m-control-affix-padding);
331
- }
332
-
333
- .m-inputgroup > .m-input,
334
- .m-inputgroup > .m-input-field,
335
- .m-inputgroup > .m-password-field,
336
- .m-inputgroup > .m-inputnumber-field {
337
- flex: 1 1 auto;
338
- min-width: 0;
339
- }
340
-
341
- .m-inputgroup > .m-input-field,
342
- .m-inputgroup > .m-password-field,
343
- .m-inputgroup > .m-inputnumber-field {
344
- display: flex;
345
- flex-direction: column;
346
- gap: 0;
347
- }
348
-
349
- .m-inputgroup > .m-input,
350
- .m-inputgroup .m-input,
351
- .m-inputgroup .m-password__input,
352
- .m-inputgroup .m-inputnumber__input {
353
- border-radius: 0;
354
- width: 100%;
355
- }
356
-
357
- .m-inputgroup > :first-child.m-input,
358
- .m-inputgroup > :first-child .m-input,
359
- .m-inputgroup > :first-child .m-password__input,
360
- .m-inputgroup > :first-child .m-inputnumber__input,
361
- .m-inputgroup > :first-child.m-inputgroup-addon {
362
- border-bottom-left-radius: var(--m-radius-control);
363
- border-top-left-radius: var(--m-radius-control);
364
- }
365
-
366
- .m-inputgroup > :last-child.m-input,
367
- .m-inputgroup > :last-child .m-input,
368
- .m-inputgroup > :last-child .m-password__input,
369
- .m-inputgroup > :last-child .m-inputnumber__input,
370
- .m-inputgroup > :last-child.m-inputgroup-addon {
371
- border-bottom-right-radius: var(--m-radius-control);
372
- border-top-right-radius: var(--m-radius-control);
373
- }
374
-
375
- .m-inputgroup > .m-inputgroup-addon + .m-input,
376
- .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
377
- .m-inputgroup > .m-input + .m-inputgroup-addon,
378
- .m-inputgroup > .m-input-field + .m-inputgroup-addon {
379
- margin-left: -1px;
380
- }
381
-
382
- .m-layout__scrollbar > .m-scrollbar__wrap {
383
- height: 100%;
384
- overflow-x: hidden;
385
- }
386
-
387
- .m-layout-sider__scrollbar > .m-scrollbar__wrap {
388
- height: 100%;
389
- overflow-x: hidden;
390
- }
391
-
392
- .m-orderlist__btn,
393
- .m-picklist__btn {
394
- align-items: center;
395
- background: var(--m-color-surface);
396
- border: var(--m-border-width) solid var(--m-color-border);
397
- border-radius: var(--m-radius-sm);
398
- color: var(--m-color-text);
399
- cursor: pointer;
400
- display: inline-flex;
401
- font: inherit;
402
- gap: 0;
403
- justify-content: center;
404
- min-height: var(--m-control-height-small, 1.75rem);
405
- min-width: var(--m-control-affix-size);
406
- padding: var(--m-space-1) var(--m-space-2);
407
- }
408
-
409
- .m-orderlist__btn:hover,
410
- .m-picklist__btn:hover {
411
- border-color: var(--m-color-primary);
412
- color: var(--m-color-primary);
413
- }
414
-
415
- .m-orderlist__btn:focus-visible,
416
- .m-picklist__btn:focus-visible {
417
- border-color: var(--m-color-primary);
418
- box-shadow: var(--m-focus-shadow);
419
- outline: none;
420
- }
421
-
422
- .m-picklist__btn .m-icon + .m-icon {
423
- margin-left: -0.35rem;
424
- }
425
-
426
- .m-orderlist__list,
427
- .m-picklist__list {
428
- background: var(--m-color-surface);
429
- border: var(--m-border-width) solid var(--m-color-border);
430
- border-radius: var(--m-radius-md);
431
- flex: 1;
432
- list-style: none;
433
- margin: 0;
434
- max-height: 16rem;
435
- min-height: 12rem;
436
- min-width: var(--m-menu-min-width);
437
- overflow: auto;
438
- padding: var(--m-space-1);
439
- }
440
-
441
- .m-orderlist__item,
442
- .m-picklist__item {
443
- border-radius: var(--m-radius-sm);
444
- cursor: pointer;
445
- padding: var(--m-space-2) var(--m-space-3);
446
- }
447
-
448
- .m-orderlist__item:hover,
449
- .m-picklist__item:hover {
450
- background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
451
- }
452
-
453
- .m-orderlist__item:focus-visible,
454
- .m-picklist__item:focus-visible {
455
- box-shadow: var(--m-focus-shadow);
456
- outline: none;
457
- }
458
-
459
- .m-orderlist__item--selected,
460
- .m-picklist__item--selected {
461
- background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
462
- color: var(--m-color-primary);
463
- font-weight: 600;
464
- }
465
-
466
- .m-carousel__nav,
467
- .m-gallery__nav {
468
- background: var(--m-color-surface);
469
- border: var(--m-border-width) solid var(--m-color-border);
470
- border-radius: var(--m-radius-full, 999px);
471
- color: var(--m-color-text);
472
- cursor: pointer;
473
- flex: 0 0 auto;
474
- font: inherit;
475
- height: var(--m-control-affix-size);
476
- width: var(--m-control-affix-size);
477
- }
478
-
479
- .m-carousel__nav:disabled,
480
- .m-gallery__nav:disabled {
481
- cursor: not-allowed;
482
- opacity: var(--m-opacity-disabled);
483
- }
484
-
485
- /* Shared Naive-like hover/focus for remaining form triggers */
486
- .m-inputnumber__input:hover:not(:disabled):not(:focus),
487
- .m-password__input:hover:not(:disabled):not(:focus),
488
- .m-datepicker__input:hover:not(:disabled):not(:focus),
489
- .m-inputotp__input:hover:not(:disabled):not(:focus),
490
- .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
491
- .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
492
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
493
- .m-inputtags:hover:not(.m-inputtags--disabled),
494
- .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
495
- .m-inplace__display:hover {
496
- border-color: var(--m-color-primary-hover);
497
- }
498
-
499
- .m-inputnumber__input:focus-visible,
500
- .m-password__input:focus-visible,
501
- .m-datepicker__input:focus-visible,
502
- .m-inputotp__input:focus-visible,
503
- .m-cascadeselect__trigger:focus-visible,
504
- .m-treeselect__trigger:focus-visible,
505
- .m-inputcolor__text:focus-visible,
506
- .m-inputtags:focus-within,
507
- .m-togglebutton:focus-visible,
508
- .m-selectbutton__button:focus-visible,
509
- .m-splitbutton__main:focus-visible,
510
- .m-splitbutton__trigger:focus-visible,
511
- .m-inplace__display:focus-visible,
512
- .m-pagination__button:focus-visible {
513
- border-color: var(--m-color-primary-hover);
514
- box-shadow: var(--m-focus-shadow);
515
- outline: none;
516
- }
517
-
518
- .m-inputnumber--invalid .m-inputnumber__input:focus-visible,
519
- .m-password--invalid .m-password__input:focus-visible,
520
- .m-datepicker--invalid .m-datepicker__input:focus-visible {
521
- border-color: var(--m-color-danger);
522
- box-shadow: var(--m-focus-shadow-danger);
523
- }
524
-
525
- .m-checkbox-group,
526
- .m-radio-group {
527
- display: flex;
528
- flex-wrap: wrap;
529
- gap: var(--m-space-3);
530
- }
531
-
532
- .m-checkbox--small .m-checkbox__control,
533
- .m-radio--small .m-radio__control {
534
- height: 0.95rem;
535
- width: 0.95rem;
536
- }
537
-
538
- .m-checkbox--large .m-checkbox__control,
539
- .m-radio--large .m-radio__control {
540
- height: 1.35rem;
541
- width: 1.35rem;
542
- }
543
-
544
- .m-inputnumber__clear,
545
- .m-autocomplete__clear {
546
- background: transparent;
547
- border: 0;
548
- color: var(--m-color-text-muted);
549
- cursor: pointer;
550
- font: inherit;
551
- line-height: 1;
552
- }
553
-
554
- [data-m-motion="none"] *,
555
- [data-m-motion="none"] *::before,
556
- [data-m-motion="none"] *::after {
557
- animation-duration: 0.01ms !important;
558
- animation-iteration-count: 1 !important;
559
- scroll-behavior: auto !important;
560
- transition-duration: 0.01ms !important;
561
- }
562
-
563
- [data-m-motion="reduced"] .m-progress-spinner,
564
- [data-m-motion="reduced"] .m-progress-spinner__svg,
565
- [data-m-motion="reduced"] .m-skeleton,
566
- [data-m-motion="reduced"] .m-badge--pulse,
567
- [data-m-motion="reduced"] .m-icon--spin,
568
- [data-m-motion="reduced"] .m-button--loading .m-button__icon,
569
- [data-m-motion="reduced"] .m-select__loading-icon,
570
- [data-m-motion="reduced"] .m-switch__loading-icon {
571
- animation-duration: calc(var(--m-motion-spin) * 2) !important;
572
- }
573
-
574
- @media (prefers-reduced-motion: reduce) {
575
- html:not([data-m-ignore-reduced-motion]) *,
576
- html:not([data-m-ignore-reduced-motion]) *::before,
577
- html:not([data-m-ignore-reduced-motion]) *::after {
578
- animation-duration: 0.01ms !important;
579
- animation-iteration-count: 1 !important;
580
- scroll-behavior: auto !important;
581
- transition-duration: 0.01ms !important;
582
- }
583
- }
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-menu,
29
+ .m-menubar,
30
+ .m-contextmenu,
31
+ .m-tieredmenu,
32
+ .m-datepicker,
33
+ .m-listbox,
34
+ .m-togglebutton,
35
+ .m-inputotp,
36
+ .m-knob,
37
+ .m-autocomplete,
38
+ .m-splitbutton,
39
+ .m-tree,
40
+ .m-timeline,
41
+ .m-dataview,
42
+ .m-confirmpopup,
43
+ .m-scrolltop,
44
+ .m-blockui,
45
+ .m-inplace,
46
+ .m-cascadeselect,
47
+ .m-treeselect,
48
+ .m-inputcolor,
49
+ .m-inputtags,
50
+ .m-label,
51
+ .m-speeddial,
52
+ .m-orderlist,
53
+ .m-picklist,
54
+ .m-virtualscroller,
55
+ .m-treetable,
56
+ .m-megamenu,
57
+ .m-dock,
58
+ .m-sidebar,
59
+ .m-commandmenu,
60
+ .m-fileupload,
61
+ .m-carousel,
62
+ .m-gallery,
63
+ .m-metergroup,
64
+ .m-fluid,
65
+ .m-terminal {
66
+ font-family: var(--m-font-sans);
67
+ box-sizing: border-box;
68
+ }
69
+
70
+ .m-button:disabled,
71
+ .m-input:disabled {
72
+ cursor: not-allowed;
73
+ opacity: var(--m-opacity-disabled);
74
+ }
75
+
76
+ .m-input-field__meta,
77
+ .m-textarea-field__meta,
78
+ .m-password-field__meta {
79
+ align-items: baseline;
80
+ display: flex;
81
+ gap: var(--m-space-2);
82
+ justify-content: space-between;
83
+ }
84
+
85
+ .m-input-field__meta:not(:has(.m-input-field__help)),
86
+ .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
87
+ .m-password-field__meta:not(:has(.m-password__feedback)) {
88
+ justify-content: flex-end;
89
+ }
90
+
91
+ .m-input-field__count,
92
+ .m-textarea-field__count,
93
+ .m-password-field__count {
94
+ color: var(--m-color-text-muted);
95
+ flex: 0 0 auto;
96
+ font-size: var(--m-font-size-xs);
97
+ margin-left: auto;
98
+ }
99
+
100
+ .m-dropdown__item--parent {
101
+ align-items: center;
102
+ display: flex;
103
+ justify-content: space-between;
104
+ width: 100%;
105
+ }
106
+
107
+ .m-dropdown__icon,
108
+ .m-dropdown__caret,
109
+ .m-menu__icon,
110
+ .m-menubar__icon {
111
+ flex-shrink: 0;
112
+ }
113
+
114
+ .m-dropdown__submenu-wrap {
115
+ position: relative;
116
+ }
117
+
118
+ .m-dropdown__submenu {
119
+ --m-dropdown-submenu-max-height: min(18rem, 45vh);
120
+ background: var(--m-color-surface);
121
+ border: var(--m-border-width) solid var(--m-color-border);
122
+ border-radius: var(--m-radius-md);
123
+ box-shadow: var(--m-shadow-md);
124
+ max-height: var(--m-dropdown-submenu-max-height);
125
+ min-width: 10rem;
126
+ overflow: hidden;
127
+ padding: var(--m-space-1);
128
+ }
129
+
130
+ .m-dropdown__submenu--teleported {
131
+ position: fixed;
132
+ z-index: var(--m-z-dropdown);
133
+ }
134
+
135
+ .m-dropdown__submenu-scroll {
136
+ max-height: calc(var(--m-dropdown-submenu-max-height) - var(--m-space-2));
137
+ min-height: 0;
138
+ }
139
+
140
+ .m-dropdown__submenu-view {
141
+ display: grid;
142
+ gap: var(--m-space-1);
143
+ }
144
+
145
+ .m-fade-enter-active,
146
+ .m-fade-leave-active {
147
+ transition: opacity var(--m-motion-exit) var(--m-motion-ease);
148
+ }
149
+
150
+ .m-fade-enter-from,
151
+ .m-fade-leave-to {
152
+ opacity: 0;
153
+ }
154
+
155
+ .m-scale-fade-enter-active {
156
+ transition:
157
+ opacity var(--m-motion-enter) var(--m-motion-ease),
158
+ transform var(--m-motion-enter) var(--m-motion-ease);
159
+ }
160
+
161
+ .m-scale-fade-leave-active {
162
+ transition:
163
+ opacity var(--m-motion-exit) var(--m-motion-ease),
164
+ transform var(--m-motion-exit) var(--m-motion-ease);
165
+ }
166
+
167
+ .m-scale-fade-enter-from,
168
+ .m-scale-fade-leave-to {
169
+ opacity: 0;
170
+ transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.98);
171
+ }
172
+
173
+ .m-slide-fade-enter-active {
174
+ transition:
175
+ opacity var(--m-motion-enter) var(--m-motion-ease),
176
+ transform var(--m-motion-enter) var(--m-motion-ease);
177
+ }
178
+
179
+ .m-slide-fade-leave-active {
180
+ transition:
181
+ opacity var(--m-motion-exit) var(--m-motion-ease),
182
+ transform var(--m-motion-exit) var(--m-motion-ease);
183
+ }
184
+
185
+ .m-slide-fade-enter-from,
186
+ .m-slide-fade-leave-to {
187
+ opacity: 0;
188
+ transform: translateY(calc(var(--m-motion-distance) * -1));
189
+ }
190
+
191
+ /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
192
+ @keyframes m-progress-spinner-rotate {
193
+ 100% {
194
+ transform: rotate(360deg);
195
+ }
196
+ }
197
+
198
+ .m-checkbox,
199
+ .m-radio,
200
+ .m-switch {
201
+ align-items: center;
202
+ color: var(--m-color-text);
203
+ cursor: pointer;
204
+ display: inline-flex;
205
+ font-family: var(--m-font-sans);
206
+ gap: var(--m-space-2);
207
+ /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
208
+ position: relative;
209
+ }
210
+
211
+ .m-checkbox--disabled,
212
+ .m-radio--disabled,
213
+ .m-switch--disabled {
214
+ color: var(--m-color-text-muted);
215
+ cursor: not-allowed;
216
+ opacity: var(--m-opacity-disabled);
217
+ }
218
+
219
+ .m-checkbox--invalid .m-checkbox__control,
220
+ .m-radio--invalid .m-radio__control {
221
+ border-color: var(--m-color-danger);
222
+ }
223
+
224
+ .m-checkbox__input,
225
+ .m-radio__input,
226
+ .m-switch__input {
227
+ clip: rect(0, 0, 0, 0);
228
+ clip-path: inset(50%);
229
+ height: 1px;
230
+ margin: -1px;
231
+ overflow: hidden;
232
+ opacity: 0;
233
+ position: absolute;
234
+ white-space: nowrap;
235
+ width: 1px;
236
+ }
237
+
238
+ .m-checkbox__control,
239
+ .m-radio__control {
240
+ align-items: center;
241
+ background: var(--m-color-surface);
242
+ border: var(--m-border-width) solid var(--m-color-border);
243
+ display: inline-flex;
244
+ flex: 0 0 auto;
245
+ height: var(--m-checkbox-control-size, 1.125rem);
246
+ justify-content: center;
247
+ transition:
248
+ background-color var(--m-motion-fast) var(--m-motion-ease),
249
+ border-color var(--m-motion-fast) var(--m-motion-ease);
250
+ width: var(--m-checkbox-control-size, 1.125rem);
251
+ }
252
+
253
+ .m-checkbox__input:checked + .m-checkbox__control,
254
+ .m-radio__input:checked + .m-radio__control {
255
+ background: var(--m-color-primary);
256
+ border-color: var(--m-color-primary);
257
+ }
258
+
259
+ .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
260
+ .m-radio:not(.m-radio--disabled):hover .m-radio__control {
261
+ border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
262
+ }
263
+
264
+ .m-checkbox__input:focus-visible + .m-checkbox__control,
265
+ .m-radio__input:focus-visible + .m-radio__control,
266
+ .m-switch__input:focus-visible + .m-switch__track {
267
+ box-shadow: var(--m-focus-shadow);
268
+ outline: none;
269
+ }
270
+
271
+ .m-checkbox__label,
272
+ .m-radio__label,
273
+ .m-switch__label {
274
+ font-size: var(--m-font-size-md);
275
+ }
276
+
277
+ .m-textarea-field,
278
+ .m-select-field {
279
+ display: grid;
280
+ font-family: var(--m-font-sans);
281
+ gap: var(--m-space-2);
282
+ max-width: 100%;
283
+ min-width: var(--m-menu-min-width);
284
+ position: relative;
285
+ width: fit-content;
286
+ }
287
+
288
+ .m-textarea-field--fluid,
289
+ .m-select-field--fluid {
290
+ width: 100%;
291
+ }
292
+
293
+ .m-textarea-field__label,
294
+ .m-select-field__label {
295
+ color: var(--m-color-text);
296
+ font-size: var(--m-font-size-md);
297
+ font-weight: 600;
298
+ }
299
+
300
+ .m-textarea-field__help,
301
+ .m-select-field__help {
302
+ color: var(--m-color-text-muted);
303
+ font-size: var(--m-font-size-xs);
304
+ }
305
+
306
+ .m-textarea-field__help--invalid,
307
+ .m-select-field__help--invalid {
308
+ color: var(--m-color-danger);
309
+ }
310
+
311
+ .m-textarea,
312
+ .m-select {
313
+ background: var(--m-color-surface);
314
+ border: var(--m-border-width) solid var(--m-color-border);
315
+ border-radius: var(--m-radius-control);
316
+ color: var(--m-color-text);
317
+ font: inherit;
318
+ transition:
319
+ border-color var(--m-motion-fast) var(--m-motion-ease),
320
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
321
+ background-color var(--m-motion-fast) var(--m-motion-ease);
322
+ width: 100%;
323
+ }
324
+
325
+ .m-textarea--invalid:focus-visible,
326
+ .m-select--invalid.m-select--open,
327
+ .m-select--invalid:focus-visible {
328
+ border-color: var(--m-color-danger);
329
+ box-shadow: var(--m-focus-shadow-danger);
330
+ }
331
+
332
+ .m-textarea:disabled,
333
+ .m-select:disabled,
334
+ .m-select--disabled {
335
+ cursor: not-allowed;
336
+ opacity: var(--m-opacity-disabled);
337
+ }
338
+
339
+ .m-icon-field--left :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
340
+ padding-left: 2.5rem;
341
+ }
342
+
343
+ .m-icon-field--right :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
344
+ padding-right: var(--m-control-affix-padding);
345
+ }
346
+
347
+ .m-inputgroup > .m-input,
348
+ .m-inputgroup > .m-input-field,
349
+ .m-inputgroup > .m-password-field,
350
+ .m-inputgroup > .m-inputnumber-field {
351
+ flex: 1 1 auto;
352
+ min-width: 0;
353
+ }
354
+
355
+ .m-inputgroup > .m-input-field,
356
+ .m-inputgroup > .m-password-field,
357
+ .m-inputgroup > .m-inputnumber-field {
358
+ display: flex;
359
+ flex-direction: column;
360
+ gap: 0;
361
+ }
362
+
363
+ .m-inputgroup > .m-input,
364
+ .m-inputgroup .m-input,
365
+ .m-inputgroup .m-password__input,
366
+ .m-inputgroup .m-inputnumber__input {
367
+ border-radius: 0;
368
+ width: 100%;
369
+ }
370
+
371
+ .m-inputgroup > :first-child.m-input,
372
+ .m-inputgroup > :first-child .m-input,
373
+ .m-inputgroup > :first-child .m-password__input,
374
+ .m-inputgroup > :first-child .m-inputnumber__input,
375
+ .m-inputgroup > :first-child.m-inputgroup-addon {
376
+ border-bottom-left-radius: var(--m-radius-control);
377
+ border-top-left-radius: var(--m-radius-control);
378
+ }
379
+
380
+ .m-inputgroup > :last-child.m-input,
381
+ .m-inputgroup > :last-child .m-input,
382
+ .m-inputgroup > :last-child .m-password__input,
383
+ .m-inputgroup > :last-child .m-inputnumber__input,
384
+ .m-inputgroup > :last-child.m-inputgroup-addon {
385
+ border-bottom-right-radius: var(--m-radius-control);
386
+ border-top-right-radius: var(--m-radius-control);
387
+ }
388
+
389
+ .m-inputgroup > .m-inputgroup-addon + .m-input,
390
+ .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
391
+ .m-inputgroup > .m-input + .m-inputgroup-addon,
392
+ .m-inputgroup > .m-input-field + .m-inputgroup-addon {
393
+ margin-left: -1px;
394
+ }
395
+
396
+ .m-layout__scrollbar > .m-scrollbar__wrap {
397
+ height: 100%;
398
+ overflow-x: hidden;
399
+ }
400
+
401
+ .m-layout-sider__scrollbar > .m-scrollbar__wrap {
402
+ height: 100%;
403
+ overflow-x: hidden;
404
+ }
405
+
406
+ .m-treetable__scrollbar > .m-scrollbar__wrap,
407
+ .m-terminal__scrollbar > .m-scrollbar__wrap {
408
+ height: 100%;
409
+ overflow-x: hidden;
410
+ }
411
+
412
+ .m-scroll-body.m-scrollbar {
413
+ min-height: 0;
414
+ min-width: 0;
415
+ }
416
+
417
+ /* fit-content scroll wrappers: grow with content; max-height only clips when set on the wrapper */
418
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) {
419
+ width: 100%;
420
+ }
421
+
422
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) .m-scrollbar__wrap {
423
+ overflow: auto;
424
+ }
425
+
426
+ .m-orderlist__btn,
427
+ .m-picklist__btn {
428
+ align-items: center;
429
+ background: var(--m-color-surface);
430
+ border: var(--m-border-width) solid var(--m-color-border);
431
+ border-radius: var(--m-radius-sm);
432
+ color: var(--m-color-text);
433
+ cursor: pointer;
434
+ display: inline-flex;
435
+ font: inherit;
436
+ gap: 0;
437
+ justify-content: center;
438
+ min-height: var(--m-control-height-small, 1.75rem);
439
+ min-width: var(--m-control-affix-size);
440
+ padding: var(--m-space-1) var(--m-space-2);
441
+ }
442
+
443
+ .m-orderlist__btn:hover,
444
+ .m-picklist__btn:hover {
445
+ border-color: var(--m-color-primary);
446
+ color: var(--m-color-primary);
447
+ }
448
+
449
+ .m-orderlist__btn:focus-visible,
450
+ .m-picklist__btn:focus-visible {
451
+ border-color: var(--m-color-primary);
452
+ box-shadow: var(--m-focus-shadow);
453
+ outline: none;
454
+ }
455
+
456
+ .m-picklist__btn .m-icon + .m-icon {
457
+ margin-left: -0.35rem;
458
+ }
459
+
460
+ .m-orderlist__scrollbar,
461
+ .m-picklist__scrollbar {
462
+ flex: 1;
463
+ max-height: 16rem;
464
+ min-height: 12rem;
465
+ min-width: var(--m-menu-min-width);
466
+ }
467
+
468
+ .m-orderlist__list,
469
+ .m-picklist__list {
470
+ background: var(--m-color-surface);
471
+ border: var(--m-border-width) solid var(--m-color-border);
472
+ border-radius: var(--m-radius-md);
473
+ padding: var(--m-space-1);
474
+ }
475
+
476
+ .m-orderlist__options,
477
+ .m-picklist__options {
478
+ list-style: none;
479
+ margin: 0;
480
+ padding: 0;
481
+ }
482
+
483
+ .m-orderlist__item,
484
+ .m-picklist__item {
485
+ border-radius: var(--m-radius-sm);
486
+ cursor: pointer;
487
+ padding: var(--m-space-2) var(--m-space-3);
488
+ }
489
+
490
+ .m-orderlist__item:hover,
491
+ .m-picklist__item:hover {
492
+ background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
493
+ }
494
+
495
+ .m-orderlist__item:focus-visible,
496
+ .m-picklist__item:focus-visible {
497
+ box-shadow: var(--m-focus-shadow);
498
+ outline: none;
499
+ }
500
+
501
+ .m-orderlist__item--selected,
502
+ .m-picklist__item--selected {
503
+ background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
504
+ color: var(--m-color-primary);
505
+ font-weight: 600;
506
+ }
507
+
508
+ .m-carousel__nav,
509
+ .m-gallery__nav {
510
+ background: var(--m-color-surface);
511
+ border: var(--m-border-width) solid var(--m-color-border);
512
+ border-radius: var(--m-radius-full, 999px);
513
+ color: var(--m-color-text);
514
+ cursor: pointer;
515
+ flex: 0 0 auto;
516
+ font: inherit;
517
+ height: var(--m-control-affix-size);
518
+ width: var(--m-control-affix-size);
519
+ }
520
+
521
+ .m-carousel__nav:disabled,
522
+ .m-gallery__nav:disabled {
523
+ cursor: not-allowed;
524
+ opacity: var(--m-opacity-disabled);
525
+ }
526
+
527
+ /* Shared Naive-like hover/focus for remaining form triggers */
528
+ .m-inputnumber__input:hover:not(:disabled):not(:focus),
529
+ .m-password__input:hover:not(:disabled):not(:focus),
530
+ .m-datepicker__input:hover:not(:disabled):not(:focus),
531
+ .m-inputotp__input:hover:not(:disabled):not(:focus),
532
+ .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
533
+ .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
534
+ .m-inputcolor__text:hover:not(:disabled):not(:focus),
535
+ .m-inputtags:hover:not(.m-inputtags--disabled),
536
+ .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
537
+ .m-inplace__display:hover {
538
+ border-color: var(--m-color-primary-hover);
539
+ }
540
+
541
+ .m-inputnumber__input:focus-visible,
542
+ .m-password__input:focus-visible,
543
+ .m-datepicker__input:focus-visible,
544
+ .m-inputotp__input:focus-visible,
545
+ .m-cascadeselect__trigger:focus-visible,
546
+ .m-treeselect__trigger:focus-visible,
547
+ .m-inputcolor__text:focus-visible,
548
+ .m-inputtags:focus-within,
549
+ .m-togglebutton:focus-visible,
550
+ .m-selectbutton__button:focus-visible,
551
+ .m-splitbutton__main:focus-visible,
552
+ .m-splitbutton__trigger:focus-visible,
553
+ .m-inplace__display:focus-visible,
554
+ .m-pagination__button:focus-visible {
555
+ border-color: var(--m-color-primary-hover);
556
+ box-shadow: var(--m-focus-shadow);
557
+ outline: none;
558
+ }
559
+
560
+ .m-inputnumber--invalid .m-inputnumber__input:focus-visible,
561
+ .m-password--invalid .m-password__input:focus-visible,
562
+ .m-datepicker--invalid .m-datepicker__input:focus-visible {
563
+ border-color: var(--m-color-danger);
564
+ box-shadow: var(--m-focus-shadow-danger);
565
+ }
566
+
567
+ .m-checkbox-group,
568
+ .m-radio-group {
569
+ display: flex;
570
+ flex-wrap: wrap;
571
+ gap: var(--m-space-3);
572
+ }
573
+
574
+ .m-checkbox--small .m-checkbox__control,
575
+ .m-radio--small .m-radio__control {
576
+ height: 0.95rem;
577
+ width: 0.95rem;
578
+ }
579
+
580
+ .m-checkbox--large .m-checkbox__control,
581
+ .m-radio--large .m-radio__control {
582
+ height: 1.35rem;
583
+ width: 1.35rem;
584
+ }
585
+
586
+ .m-inputnumber__clear,
587
+ .m-autocomplete__clear {
588
+ background: transparent;
589
+ border: 0;
590
+ color: var(--m-color-text-muted);
591
+ cursor: pointer;
592
+ font: inherit;
593
+ line-height: 1;
594
+ }
595
+
596
+ [data-m-motion="none"] *,
597
+ [data-m-motion="none"] *::before,
598
+ [data-m-motion="none"] *::after {
599
+ animation-duration: 0.01ms !important;
600
+ animation-iteration-count: 1 !important;
601
+ scroll-behavior: auto !important;
602
+ transition-duration: 0.01ms !important;
603
+ }
604
+
605
+ [data-m-motion="reduced"] .m-progress-spinner,
606
+ [data-m-motion="reduced"] .m-progress-spinner__svg,
607
+ [data-m-motion="reduced"] .m-skeleton,
608
+ [data-m-motion="reduced"] .m-badge--pulse,
609
+ [data-m-motion="reduced"] .m-icon--spin,
610
+ [data-m-motion="reduced"] .m-button--loading .m-button__icon,
611
+ [data-m-motion="reduced"] .m-select__loading-icon,
612
+ [data-m-motion="reduced"] .m-switch__loading-icon {
613
+ animation-duration: calc(var(--m-motion-spin) * 2) !important;
614
+ }
615
+
616
+ @media (prefers-reduced-motion: reduce) {
617
+ html:not([data-m-ignore-reduced-motion]) *,
618
+ html:not([data-m-ignore-reduced-motion]) *::before,
619
+ html:not([data-m-ignore-reduced-motion]) *::after {
620
+ animation-duration: 0.01ms !important;
621
+ animation-iteration-count: 1 !important;
622
+ scroll-behavior: auto !important;
623
+ transition-duration: 0.01ms !important;
624
+ }
625
+ }