morya-ui 0.2.3 → 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 (180) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/FlyoutSubmenu-BC_cl17_.js +49 -0
  3. package/dist/ScrollBody-CXFNhBvq.js +68 -0
  4. package/dist/accordion/style.css +625 -583
  5. package/dist/auto-complete/style.css +625 -583
  6. package/dist/avatar/style.css +625 -583
  7. package/dist/badge/style.css +625 -583
  8. package/dist/block-ui/style.css +625 -583
  9. package/dist/breadcrumb/style.css +625 -583
  10. package/dist/button/style.css +625 -583
  11. package/dist/card/style.css +625 -583
  12. package/dist/carousel/style.css +625 -583
  13. package/dist/cascade-select/style.css +625 -583
  14. package/dist/checkbox/style.css +625 -583
  15. package/dist/chip/style.css +625 -583
  16. package/dist/command-menu/style.css +625 -583
  17. package/dist/components/ContextMenu/ContextMenu.vue.d.ts.map +1 -1
  18. package/dist/components/ContextMenu/ContextMenuNodes.vue.d.ts.map +1 -1
  19. package/dist/components/ContextMenu/styles.css +33 -4
  20. package/dist/components/Dropdown/Dropdown.vue.d.ts +2 -2
  21. package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  22. package/dist/components/Dropdown/DropdownNodes.vue.d.ts +2 -2
  23. package/dist/components/Dropdown/DropdownNodes.vue.d.ts.map +1 -1
  24. package/dist/components/Dropdown/styles.css +11 -0
  25. package/dist/components/Gallery/Gallery.vue.d.ts +2 -2
  26. package/dist/components/Gallery/Gallery.vue.d.ts.map +1 -1
  27. package/dist/components/Gallery/styles.css +5 -1
  28. package/dist/components/Layout/Layout.vue.d.ts +3 -3
  29. package/dist/components/Layout/Layout.vue.d.ts.map +1 -1
  30. package/dist/components/Layout/LayoutContent.vue.d.ts +2 -2
  31. package/dist/components/Layout/LayoutContent.vue.d.ts.map +1 -1
  32. package/dist/components/Layout/LayoutScrollContext.vue.d.ts +20 -0
  33. package/dist/components/Layout/LayoutScrollContext.vue.d.ts.map +1 -0
  34. package/dist/components/Layout/LayoutScrollRegion.vue.d.ts +34 -0
  35. package/dist/components/Layout/LayoutScrollRegion.vue.d.ts.map +1 -0
  36. package/dist/components/Layout/LayoutSider.vue.d.ts +2 -2
  37. package/dist/components/Layout/LayoutSider.vue.d.ts.map +1 -1
  38. package/dist/components/Layout/composables/useLayoutScroll.d.ts +4 -1
  39. package/dist/components/Layout/composables/useLayoutScroll.d.ts.map +1 -1
  40. package/dist/components/Layout/styles.css +31 -13
  41. package/dist/components/Menu/Menu.vue.d.ts.map +1 -1
  42. package/dist/components/Menu/styles.css +10 -0
  43. package/dist/components/Menubar/Menubar.vue.d.ts +2 -2
  44. package/dist/components/Menubar/Menubar.vue.d.ts.map +1 -1
  45. package/dist/components/Menubar/styles.css +14 -0
  46. package/dist/components/OrderList/OrderList.vue.d.ts +4 -4
  47. package/dist/components/OrderList/OrderList.vue.d.ts.map +1 -1
  48. package/dist/components/PickList/PickList.vue.d.ts +7 -7
  49. package/dist/components/PickList/PickList.vue.d.ts.map +1 -1
  50. package/dist/components/ScrollTop/ScrollTop.vue.d.ts.map +1 -1
  51. package/dist/components/Tabs/Tabs.vue.d.ts +3 -3
  52. package/dist/components/Tabs/Tabs.vue.d.ts.map +1 -1
  53. package/dist/components/Tabs/styles.css +72 -77
  54. package/dist/components/Terminal/Terminal.vue.d.ts.map +1 -1
  55. package/dist/components/Terminal/styles.css +6 -2
  56. package/dist/components/TieredMenu/TieredMenu.vue.d.ts.map +1 -1
  57. package/dist/components/TieredMenu/styles.css +33 -4
  58. package/dist/components/Timeline/Timeline.vue.d.ts +35 -10
  59. package/dist/components/Timeline/Timeline.vue.d.ts.map +1 -1
  60. package/dist/components/Timeline/styles.css +159 -156
  61. package/dist/components/TreeSelect/TreeSelect.vue.d.ts.map +1 -1
  62. package/dist/components/TreeSelect/styles.css +15 -0
  63. package/dist/components/TreeTable/TreeTable.vue.d.ts +2 -2
  64. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +1 -1
  65. package/dist/components/TreeTable/styles.css +64 -61
  66. package/dist/components/VirtualScroller/VirtualScroller.vue.d.ts +2 -2
  67. package/dist/components/VirtualScroller/VirtualScroller.vue.d.ts.map +1 -1
  68. package/dist/components/VirtualScroller/styles.css +20 -17
  69. package/dist/config-provider/style.css +625 -583
  70. package/dist/confirm-dialog/style.css +625 -583
  71. package/dist/confirm-popup/style.css +625 -583
  72. package/dist/context-menu/index.js +131 -89
  73. package/dist/context-menu/style.css +781 -587
  74. package/dist/context-menu/style.js +1 -0
  75. package/dist/data-view/style.css +625 -583
  76. package/dist/date-picker/style.css +625 -583
  77. package/dist/dialog/style.css +625 -583
  78. package/dist/divider/style.css +625 -583
  79. package/dist/dock/style.css +625 -583
  80. package/dist/drawer/style.css +625 -583
  81. package/dist/dropdown/index.js +162 -122
  82. package/dist/dropdown/style.css +759 -583
  83. package/dist/dropdown/style.js +1 -0
  84. package/dist/fieldset/style.css +625 -583
  85. package/dist/file-upload/style.css +625 -583
  86. package/dist/flex/style.css +625 -583
  87. package/dist/float-label/style.css +625 -583
  88. package/dist/fluid/style.css +625 -583
  89. package/dist/form/style.css +625 -583
  90. package/dist/gallery/index.js +76 -67
  91. package/dist/gallery/style.css +753 -584
  92. package/dist/gallery/style.js +1 -0
  93. package/dist/grid/style.css +625 -583
  94. package/dist/icon/style.css +625 -583
  95. package/dist/icon-field/style.css +625 -583
  96. package/dist/index.js +1925 -1474
  97. package/dist/inplace/style.css +625 -583
  98. package/dist/input/style.css +625 -583
  99. package/dist/input-color/style.css +625 -583
  100. package/dist/input-group/style.css +625 -583
  101. package/dist/input-number/style.css +625 -583
  102. package/dist/input-otp/style.css +625 -583
  103. package/dist/input-password/style.css +625 -583
  104. package/dist/input-tags/style.css +625 -583
  105. package/dist/knob/style.css +625 -583
  106. package/dist/label/style.css +625 -583
  107. package/dist/layout/index.js +230 -136
  108. package/dist/layout/style.css +779 -596
  109. package/dist/layout/style.js +1 -0
  110. package/dist/listbox/style.css +625 -583
  111. package/dist/mega-menu/style.css +625 -583
  112. package/dist/menu/index.js +233 -216
  113. package/dist/menu/style.css +758 -583
  114. package/dist/menu/style.js +1 -0
  115. package/dist/menubar/index.js +77 -68
  116. package/dist/menubar/style.css +762 -583
  117. package/dist/menubar/style.js +1 -0
  118. package/dist/message/style.css +625 -583
  119. package/dist/meter-group/style.css +625 -583
  120. package/dist/order-list/index.js +66 -58
  121. package/dist/order-list/style.css +625 -583
  122. package/dist/page/style.css +625 -583
  123. package/dist/pagination/style.css +625 -583
  124. package/dist/panel/style.css +625 -583
  125. package/dist/pick-list/index.js +97 -84
  126. package/dist/pick-list/style.css +625 -583
  127. package/dist/popover/style.css +625 -583
  128. package/dist/progress-bar/style.css +625 -583
  129. package/dist/progress-spinner/style.css +625 -583
  130. package/dist/radio/style.css +625 -583
  131. package/dist/rating/style.css +625 -583
  132. package/dist/scroll-top/index.js +23 -13
  133. package/dist/scroll-top/style.css +748 -583
  134. package/dist/scroll-top/style.js +1 -0
  135. package/dist/scrollbar/style.css +625 -583
  136. package/dist/select/style.css +625 -583
  137. package/dist/select-button/style.css +625 -583
  138. package/dist/shared/FlyoutSubmenu.vue.d.ts +32 -0
  139. package/dist/shared/FlyoutSubmenu.vue.d.ts.map +1 -0
  140. package/dist/shared/ScrollBody.vue.d.ts +39 -0
  141. package/dist/shared/ScrollBody.vue.d.ts.map +1 -0
  142. package/dist/sidebar/style.css +625 -583
  143. package/dist/skeleton/style.css +625 -583
  144. package/dist/slider/style.css +625 -583
  145. package/dist/space/style.css +625 -583
  146. package/dist/speed-dial/style.css +625 -583
  147. package/dist/split-button/style.css +625 -583
  148. package/dist/splitter/style.css +625 -583
  149. package/dist/stepper/style.css +625 -583
  150. package/dist/styles/base.css +625 -583
  151. package/dist/styles.css +1 -1
  152. package/dist/switch/style.css +625 -583
  153. package/dist/table/style.css +625 -583
  154. package/dist/tabs/index.js +92 -81
  155. package/dist/tabs/style.css +818 -658
  156. package/dist/tabs/style.js +1 -0
  157. package/dist/tag/style.css +625 -583
  158. package/dist/terminal/index.js +47 -40
  159. package/dist/terminal/style.css +631 -585
  160. package/dist/textarea/style.css +625 -583
  161. package/dist/tiered-menu/index.js +130 -84
  162. package/dist/tiered-menu/style.css +781 -587
  163. package/dist/tiered-menu/style.js +1 -0
  164. package/dist/timeline/index.js +82 -37
  165. package/dist/timeline/style.css +907 -739
  166. package/dist/timeline/style.js +1 -0
  167. package/dist/toast/style.css +625 -583
  168. package/dist/toggle-button/style.css +625 -583
  169. package/dist/toolbar/style.css +625 -583
  170. package/dist/tooltip/style.css +625 -583
  171. package/dist/tree/style.css +625 -583
  172. package/dist/tree-select/index.js +202 -193
  173. package/dist/tree-select/style.css +763 -583
  174. package/dist/tree-select/style.js +1 -0
  175. package/dist/tree-table/index.js +57 -50
  176. package/dist/tree-table/style.css +689 -644
  177. package/dist/virtual-scroller/index.js +38 -34
  178. package/dist/virtual-scroller/style.css +775 -607
  179. package/dist/virtual-scroller/style.js +1 -0
  180. package/package.json +1 -1
@@ -270,589 +270,631 @@
270
270
  --m-table-expanded-bg: var(--m-color-fill-lighter);
271
271
  }
272
272
 
273
- /* Shared tokens consumption, type, focus, and mixed selectors. */
274
-
275
- :root {
276
- /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
277
- --m-menu-min-width: 12rem;
278
- }
279
-
280
- .m-button,
281
- .m-input,
282
- .m-card,
283
- .m-dialog,
284
- .m-drawer,
285
- .m-popover,
286
- .m-accordion,
287
- .m-scrollbar,
288
- .m-panel,
289
- .m-fieldset,
290
- .m-flex,
291
- .m-space,
292
- .m-grid,
293
- .m-layout,
294
- .m-layout-header,
295
- .m-layout-footer,
296
- .m-layout-sider,
297
- .m-splitter,
298
- .m-stepper,
299
- .m-toolbar,
300
- .m-menu,
301
- .m-menubar,
302
- .m-contextmenu,
303
- .m-tieredmenu,
304
- .m-datepicker,
305
- .m-listbox,
306
- .m-togglebutton,
307
- .m-inputotp,
308
- .m-knob,
309
- .m-autocomplete,
310
- .m-splitbutton,
311
- .m-tree,
312
- .m-timeline,
313
- .m-dataview,
314
- .m-confirmpopup,
315
- .m-scrolltop,
316
- .m-blockui,
317
- .m-inplace,
318
- .m-cascadeselect,
319
- .m-treeselect,
320
- .m-inputcolor,
321
- .m-inputtags,
322
- .m-label,
323
- .m-speeddial,
324
- .m-orderlist,
325
- .m-picklist,
326
- .m-virtualscroller,
327
- .m-treetable,
328
- .m-megamenu,
329
- .m-dock,
330
- .m-sidebar,
331
- .m-commandmenu,
332
- .m-fileupload,
333
- .m-carousel,
334
- .m-gallery,
335
- .m-metergroup,
336
- .m-fluid,
337
- .m-terminal {
338
- font-family: var(--m-font-sans);
339
- box-sizing: border-box;
340
- }
341
-
342
- .m-button:disabled,
343
- .m-input:disabled {
344
- cursor: not-allowed;
345
- opacity: var(--m-opacity-disabled);
346
- }
347
-
348
- .m-input-field__meta,
349
- .m-textarea-field__meta,
350
- .m-password-field__meta {
351
- align-items: baseline;
352
- display: flex;
353
- gap: var(--m-space-2);
354
- justify-content: space-between;
355
- }
356
-
357
- .m-input-field__meta:not(:has(.m-input-field__help)),
358
- .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
359
- .m-password-field__meta:not(:has(.m-password__feedback)) {
360
- justify-content: flex-end;
361
- }
362
-
363
- .m-input-field__count,
364
- .m-textarea-field__count,
365
- .m-password-field__count {
366
- color: var(--m-color-text-muted);
367
- flex: 0 0 auto;
368
- font-size: var(--m-font-size-xs);
369
- margin-left: auto;
370
- }
371
-
372
- .m-dropdown__item--parent {
373
- align-items: center;
374
- display: flex;
375
- justify-content: space-between;
376
- width: 100%;
377
- }
378
-
379
- .m-dropdown__icon,
380
- .m-dropdown__caret,
381
- .m-menu__icon,
382
- .m-menubar__icon {
383
- flex-shrink: 0;
384
- }
385
-
386
- .m-dropdown__submenu-wrap {
387
- position: relative;
388
- }
389
-
390
- .m-dropdown__submenu {
391
- background: var(--m-color-surface);
392
- border: var(--m-border-width) solid var(--m-color-border);
393
- border-radius: var(--m-radius-md);
394
- box-shadow: var(--m-shadow-md);
395
- left: 100%;
396
- min-width: 10rem;
397
- padding: var(--m-space-1);
398
- position: absolute;
399
- top: 0;
400
- z-index: var(--m-z-popper);
401
- }
402
-
403
- .m-fade-enter-active,
404
- .m-fade-leave-active {
405
- transition: opacity var(--m-motion-exit) var(--m-motion-ease);
406
- }
407
-
408
- .m-fade-enter-from,
409
- .m-fade-leave-to {
410
- opacity: 0;
411
- }
412
-
413
- .m-scale-fade-enter-active {
414
- transition:
415
- opacity var(--m-motion-enter) var(--m-motion-ease),
416
- transform var(--m-motion-enter) var(--m-motion-ease);
417
- }
418
-
419
- .m-scale-fade-leave-active {
420
- transition:
421
- opacity var(--m-motion-exit) var(--m-motion-ease),
422
- transform var(--m-motion-exit) var(--m-motion-ease);
423
- }
424
-
425
- .m-scale-fade-enter-from,
426
- .m-scale-fade-leave-to {
427
- opacity: 0;
428
- transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.98);
429
- }
430
-
431
- .m-slide-fade-enter-active {
432
- transition:
433
- opacity var(--m-motion-enter) var(--m-motion-ease),
434
- transform var(--m-motion-enter) var(--m-motion-ease);
435
- }
436
-
437
- .m-slide-fade-leave-active {
438
- transition:
439
- opacity var(--m-motion-exit) var(--m-motion-ease),
440
- transform var(--m-motion-exit) var(--m-motion-ease);
441
- }
442
-
443
- .m-slide-fade-enter-from,
444
- .m-slide-fade-leave-to {
445
- opacity: 0;
446
- transform: translateY(calc(var(--m-motion-distance) * -1));
447
- }
448
-
449
- /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
450
- @keyframes m-progress-spinner-rotate {
451
- 100% {
452
- transform: rotate(360deg);
453
- }
454
- }
455
-
456
- .m-checkbox,
457
- .m-radio,
458
- .m-switch {
459
- align-items: center;
460
- color: var(--m-color-text);
461
- cursor: pointer;
462
- display: inline-flex;
463
- font-family: var(--m-font-sans);
464
- gap: var(--m-space-2);
465
- /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
466
- position: relative;
467
- }
468
-
469
- .m-checkbox--disabled,
470
- .m-radio--disabled,
471
- .m-switch--disabled {
472
- color: var(--m-color-text-muted);
473
- cursor: not-allowed;
474
- opacity: var(--m-opacity-disabled);
475
- }
476
-
477
- .m-checkbox--invalid .m-checkbox__control,
478
- .m-radio--invalid .m-radio__control {
479
- border-color: var(--m-color-danger);
480
- }
481
-
482
- .m-checkbox__input,
483
- .m-radio__input,
484
- .m-switch__input {
485
- clip: rect(0, 0, 0, 0);
486
- clip-path: inset(50%);
487
- height: 1px;
488
- margin: -1px;
489
- overflow: hidden;
490
- opacity: 0;
491
- position: absolute;
492
- white-space: nowrap;
493
- width: 1px;
494
- }
495
-
496
- .m-checkbox__control,
497
- .m-radio__control {
498
- align-items: center;
499
- background: var(--m-color-surface);
500
- border: var(--m-border-width) solid var(--m-color-border);
501
- display: inline-flex;
502
- flex: 0 0 auto;
503
- height: var(--m-checkbox-control-size, 1.125rem);
504
- justify-content: center;
505
- transition:
506
- background-color var(--m-motion-fast) var(--m-motion-ease),
507
- border-color var(--m-motion-fast) var(--m-motion-ease);
508
- width: var(--m-checkbox-control-size, 1.125rem);
509
- }
510
-
511
- .m-checkbox__input:checked + .m-checkbox__control,
512
- .m-radio__input:checked + .m-radio__control {
513
- background: var(--m-color-primary);
514
- border-color: var(--m-color-primary);
515
- }
516
-
517
- .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
518
- .m-radio:not(.m-radio--disabled):hover .m-radio__control {
519
- border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
520
- }
521
-
522
- .m-checkbox__input:focus-visible + .m-checkbox__control,
523
- .m-radio__input:focus-visible + .m-radio__control,
524
- .m-switch__input:focus-visible + .m-switch__track {
525
- box-shadow: var(--m-focus-shadow);
526
- outline: none;
527
- }
528
-
529
- .m-checkbox__label,
530
- .m-radio__label,
531
- .m-switch__label {
532
- font-size: var(--m-font-size-md);
533
- }
534
-
535
- .m-textarea-field,
536
- .m-select-field {
537
- display: grid;
538
- font-family: var(--m-font-sans);
539
- gap: var(--m-space-2);
540
- max-width: 100%;
541
- min-width: var(--m-menu-min-width);
542
- position: relative;
543
- width: fit-content;
544
- }
545
-
546
- .m-textarea-field--fluid,
547
- .m-select-field--fluid {
548
- width: 100%;
549
- }
550
-
551
- .m-textarea-field__label,
552
- .m-select-field__label {
553
- color: var(--m-color-text);
554
- font-size: var(--m-font-size-md);
555
- font-weight: 600;
556
- }
557
-
558
- .m-textarea-field__help,
559
- .m-select-field__help {
560
- color: var(--m-color-text-muted);
561
- font-size: var(--m-font-size-xs);
562
- }
563
-
564
- .m-textarea-field__help--invalid,
565
- .m-select-field__help--invalid {
566
- color: var(--m-color-danger);
567
- }
568
-
569
- .m-textarea,
570
- .m-select {
571
- background: var(--m-color-surface);
572
- border: var(--m-border-width) solid var(--m-color-border);
573
- border-radius: var(--m-radius-control);
574
- color: var(--m-color-text);
575
- font: inherit;
576
- transition:
577
- border-color var(--m-motion-fast) var(--m-motion-ease),
578
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
579
- background-color var(--m-motion-fast) var(--m-motion-ease);
580
- width: 100%;
581
- }
582
-
583
- .m-textarea--invalid:focus-visible,
584
- .m-select--invalid.m-select--open,
585
- .m-select--invalid:focus-visible {
586
- border-color: var(--m-color-danger);
587
- box-shadow: var(--m-focus-shadow-danger);
588
- }
589
-
590
- .m-textarea:disabled,
591
- .m-select:disabled,
592
- .m-select--disabled {
593
- cursor: not-allowed;
594
- opacity: var(--m-opacity-disabled);
595
- }
596
-
597
- .m-icon-field--left :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
598
- padding-left: 2.5rem;
599
- }
600
-
601
- .m-icon-field--right :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
602
- padding-right: var(--m-control-affix-padding);
603
- }
604
-
605
- .m-inputgroup > .m-input,
606
- .m-inputgroup > .m-input-field,
607
- .m-inputgroup > .m-password-field,
608
- .m-inputgroup > .m-inputnumber-field {
609
- flex: 1 1 auto;
610
- min-width: 0;
611
- }
612
-
613
- .m-inputgroup > .m-input-field,
614
- .m-inputgroup > .m-password-field,
615
- .m-inputgroup > .m-inputnumber-field {
616
- display: flex;
617
- flex-direction: column;
618
- gap: 0;
619
- }
620
-
621
- .m-inputgroup > .m-input,
622
- .m-inputgroup .m-input,
623
- .m-inputgroup .m-password__input,
624
- .m-inputgroup .m-inputnumber__input {
625
- border-radius: 0;
626
- width: 100%;
627
- }
628
-
629
- .m-inputgroup > :first-child.m-input,
630
- .m-inputgroup > :first-child .m-input,
631
- .m-inputgroup > :first-child .m-password__input,
632
- .m-inputgroup > :first-child .m-inputnumber__input,
633
- .m-inputgroup > :first-child.m-inputgroup-addon {
634
- border-bottom-left-radius: var(--m-radius-control);
635
- border-top-left-radius: var(--m-radius-control);
636
- }
637
-
638
- .m-inputgroup > :last-child.m-input,
639
- .m-inputgroup > :last-child .m-input,
640
- .m-inputgroup > :last-child .m-password__input,
641
- .m-inputgroup > :last-child .m-inputnumber__input,
642
- .m-inputgroup > :last-child.m-inputgroup-addon {
643
- border-bottom-right-radius: var(--m-radius-control);
644
- border-top-right-radius: var(--m-radius-control);
645
- }
646
-
647
- .m-inputgroup > .m-inputgroup-addon + .m-input,
648
- .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
649
- .m-inputgroup > .m-input + .m-inputgroup-addon,
650
- .m-inputgroup > .m-input-field + .m-inputgroup-addon {
651
- margin-left: -1px;
652
- }
653
-
654
- .m-layout__scrollbar > .m-scrollbar__wrap {
655
- height: 100%;
656
- overflow-x: hidden;
657
- }
658
-
659
- .m-layout-sider__scrollbar > .m-scrollbar__wrap {
660
- height: 100%;
661
- overflow-x: hidden;
662
- }
663
-
664
- .m-orderlist__btn,
665
- .m-picklist__btn {
666
- align-items: center;
667
- background: var(--m-color-surface);
668
- border: var(--m-border-width) solid var(--m-color-border);
669
- border-radius: var(--m-radius-sm);
670
- color: var(--m-color-text);
671
- cursor: pointer;
672
- display: inline-flex;
673
- font: inherit;
674
- gap: 0;
675
- justify-content: center;
676
- min-height: var(--m-control-height-small, 1.75rem);
677
- min-width: var(--m-control-affix-size);
678
- padding: var(--m-space-1) var(--m-space-2);
679
- }
680
-
681
- .m-orderlist__btn:hover,
682
- .m-picklist__btn:hover {
683
- border-color: var(--m-color-primary);
684
- color: var(--m-color-primary);
685
- }
686
-
687
- .m-orderlist__btn:focus-visible,
688
- .m-picklist__btn:focus-visible {
689
- border-color: var(--m-color-primary);
690
- box-shadow: var(--m-focus-shadow);
691
- outline: none;
692
- }
693
-
694
- .m-picklist__btn .m-icon + .m-icon {
695
- margin-left: -0.35rem;
696
- }
697
-
698
- .m-orderlist__list,
699
- .m-picklist__list {
700
- background: var(--m-color-surface);
701
- border: var(--m-border-width) solid var(--m-color-border);
702
- border-radius: var(--m-radius-md);
703
- flex: 1;
704
- list-style: none;
705
- margin: 0;
706
- max-height: 16rem;
707
- min-height: 12rem;
708
- min-width: var(--m-menu-min-width);
709
- overflow: auto;
710
- padding: var(--m-space-1);
711
- }
712
-
713
- .m-orderlist__item,
714
- .m-picklist__item {
715
- border-radius: var(--m-radius-sm);
716
- cursor: pointer;
717
- padding: var(--m-space-2) var(--m-space-3);
718
- }
719
-
720
- .m-orderlist__item:hover,
721
- .m-picklist__item:hover {
722
- background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
723
- }
724
-
725
- .m-orderlist__item:focus-visible,
726
- .m-picklist__item:focus-visible {
727
- box-shadow: var(--m-focus-shadow);
728
- outline: none;
729
- }
730
-
731
- .m-orderlist__item--selected,
732
- .m-picklist__item--selected {
733
- background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
734
- color: var(--m-color-primary);
735
- font-weight: 600;
736
- }
737
-
738
- .m-carousel__nav,
739
- .m-gallery__nav {
740
- background: var(--m-color-surface);
741
- border: var(--m-border-width) solid var(--m-color-border);
742
- border-radius: var(--m-radius-full, 999px);
743
- color: var(--m-color-text);
744
- cursor: pointer;
745
- flex: 0 0 auto;
746
- font: inherit;
747
- height: var(--m-control-affix-size);
748
- width: var(--m-control-affix-size);
749
- }
750
-
751
- .m-carousel__nav:disabled,
752
- .m-gallery__nav:disabled {
753
- cursor: not-allowed;
754
- opacity: var(--m-opacity-disabled);
755
- }
756
-
757
- /* Shared Naive-like hover/focus for remaining form triggers */
758
- .m-inputnumber__input:hover:not(:disabled):not(:focus),
759
- .m-password__input:hover:not(:disabled):not(:focus),
760
- .m-datepicker__input:hover:not(:disabled):not(:focus),
761
- .m-inputotp__input:hover:not(:disabled):not(:focus),
762
- .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
763
- .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
764
- .m-inputcolor__text:hover:not(:disabled):not(:focus),
765
- .m-inputtags:hover:not(.m-inputtags--disabled),
766
- .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
767
- .m-inplace__display:hover {
768
- border-color: var(--m-color-primary-hover);
769
- }
770
-
771
- .m-inputnumber__input:focus-visible,
772
- .m-password__input:focus-visible,
773
- .m-datepicker__input:focus-visible,
774
- .m-inputotp__input:focus-visible,
775
- .m-cascadeselect__trigger:focus-visible,
776
- .m-treeselect__trigger:focus-visible,
777
- .m-inputcolor__text:focus-visible,
778
- .m-inputtags:focus-within,
779
- .m-togglebutton:focus-visible,
780
- .m-selectbutton__button:focus-visible,
781
- .m-splitbutton__main:focus-visible,
782
- .m-splitbutton__trigger:focus-visible,
783
- .m-inplace__display:focus-visible,
784
- .m-pagination__button:focus-visible {
785
- border-color: var(--m-color-primary-hover);
786
- box-shadow: var(--m-focus-shadow);
787
- outline: none;
788
- }
789
-
790
- .m-inputnumber--invalid .m-inputnumber__input:focus-visible,
791
- .m-password--invalid .m-password__input:focus-visible,
792
- .m-datepicker--invalid .m-datepicker__input:focus-visible {
793
- border-color: var(--m-color-danger);
794
- box-shadow: var(--m-focus-shadow-danger);
795
- }
796
-
797
- .m-checkbox-group,
798
- .m-radio-group {
799
- display: flex;
800
- flex-wrap: wrap;
801
- gap: var(--m-space-3);
802
- }
803
-
804
- .m-checkbox--small .m-checkbox__control,
805
- .m-radio--small .m-radio__control {
806
- height: 0.95rem;
807
- width: 0.95rem;
808
- }
809
-
810
- .m-checkbox--large .m-checkbox__control,
811
- .m-radio--large .m-radio__control {
812
- height: 1.35rem;
813
- width: 1.35rem;
814
- }
815
-
816
- .m-inputnumber__clear,
817
- .m-autocomplete__clear {
818
- background: transparent;
819
- border: 0;
820
- color: var(--m-color-text-muted);
821
- cursor: pointer;
822
- font: inherit;
823
- line-height: 1;
824
- }
825
-
826
- [data-m-motion="none"] *,
827
- [data-m-motion="none"] *::before,
828
- [data-m-motion="none"] *::after {
829
- animation-duration: 0.01ms !important;
830
- animation-iteration-count: 1 !important;
831
- scroll-behavior: auto !important;
832
- transition-duration: 0.01ms !important;
833
- }
834
-
835
- [data-m-motion="reduced"] .m-progress-spinner,
836
- [data-m-motion="reduced"] .m-progress-spinner__svg,
837
- [data-m-motion="reduced"] .m-skeleton,
838
- [data-m-motion="reduced"] .m-badge--pulse,
839
- [data-m-motion="reduced"] .m-icon--spin,
840
- [data-m-motion="reduced"] .m-button--loading .m-button__icon,
841
- [data-m-motion="reduced"] .m-select__loading-icon,
842
- [data-m-motion="reduced"] .m-switch__loading-icon {
843
- animation-duration: calc(var(--m-motion-spin) * 2) !important;
844
- }
845
-
846
- @media (prefers-reduced-motion: reduce) {
847
- html:not([data-m-ignore-reduced-motion]) *,
848
- html:not([data-m-ignore-reduced-motion]) *::before,
849
- html:not([data-m-ignore-reduced-motion]) *::after {
850
- animation-duration: 0.01ms !important;
851
- animation-iteration-count: 1 !important;
852
- scroll-behavior: auto !important;
853
- transition-duration: 0.01ms !important;
854
- }
855
- }
273
+ /* Shared tokens consumption, type, focus, and mixed selectors. */
274
+
275
+ :root {
276
+ /* Shared minimum width for menu-like panels (select/orderlist/picklist) */
277
+ --m-menu-min-width: 12rem;
278
+ }
279
+
280
+ .m-button,
281
+ .m-input,
282
+ .m-card,
283
+ .m-dialog,
284
+ .m-drawer,
285
+ .m-popover,
286
+ .m-accordion,
287
+ .m-scrollbar,
288
+ .m-panel,
289
+ .m-fieldset,
290
+ .m-flex,
291
+ .m-space,
292
+ .m-grid,
293
+ .m-layout,
294
+ .m-layout-header,
295
+ .m-layout-footer,
296
+ .m-layout-sider,
297
+ .m-splitter,
298
+ .m-stepper,
299
+ .m-toolbar,
300
+ .m-menu,
301
+ .m-menubar,
302
+ .m-contextmenu,
303
+ .m-tieredmenu,
304
+ .m-datepicker,
305
+ .m-listbox,
306
+ .m-togglebutton,
307
+ .m-inputotp,
308
+ .m-knob,
309
+ .m-autocomplete,
310
+ .m-splitbutton,
311
+ .m-tree,
312
+ .m-timeline,
313
+ .m-dataview,
314
+ .m-confirmpopup,
315
+ .m-scrolltop,
316
+ .m-blockui,
317
+ .m-inplace,
318
+ .m-cascadeselect,
319
+ .m-treeselect,
320
+ .m-inputcolor,
321
+ .m-inputtags,
322
+ .m-label,
323
+ .m-speeddial,
324
+ .m-orderlist,
325
+ .m-picklist,
326
+ .m-virtualscroller,
327
+ .m-treetable,
328
+ .m-megamenu,
329
+ .m-dock,
330
+ .m-sidebar,
331
+ .m-commandmenu,
332
+ .m-fileupload,
333
+ .m-carousel,
334
+ .m-gallery,
335
+ .m-metergroup,
336
+ .m-fluid,
337
+ .m-terminal {
338
+ font-family: var(--m-font-sans);
339
+ box-sizing: border-box;
340
+ }
341
+
342
+ .m-button:disabled,
343
+ .m-input:disabled {
344
+ cursor: not-allowed;
345
+ opacity: var(--m-opacity-disabled);
346
+ }
347
+
348
+ .m-input-field__meta,
349
+ .m-textarea-field__meta,
350
+ .m-password-field__meta {
351
+ align-items: baseline;
352
+ display: flex;
353
+ gap: var(--m-space-2);
354
+ justify-content: space-between;
355
+ }
356
+
357
+ .m-input-field__meta:not(:has(.m-input-field__help)),
358
+ .m-textarea-field__meta:not(:has(.m-textarea-field__help)),
359
+ .m-password-field__meta:not(:has(.m-password__feedback)) {
360
+ justify-content: flex-end;
361
+ }
362
+
363
+ .m-input-field__count,
364
+ .m-textarea-field__count,
365
+ .m-password-field__count {
366
+ color: var(--m-color-text-muted);
367
+ flex: 0 0 auto;
368
+ font-size: var(--m-font-size-xs);
369
+ margin-left: auto;
370
+ }
371
+
372
+ .m-dropdown__item--parent {
373
+ align-items: center;
374
+ display: flex;
375
+ justify-content: space-between;
376
+ width: 100%;
377
+ }
378
+
379
+ .m-dropdown__icon,
380
+ .m-dropdown__caret,
381
+ .m-menu__icon,
382
+ .m-menubar__icon {
383
+ flex-shrink: 0;
384
+ }
385
+
386
+ .m-dropdown__submenu-wrap {
387
+ position: relative;
388
+ }
389
+
390
+ .m-dropdown__submenu {
391
+ --m-dropdown-submenu-max-height: min(18rem, 45vh);
392
+ background: var(--m-color-surface);
393
+ border: var(--m-border-width) solid var(--m-color-border);
394
+ border-radius: var(--m-radius-md);
395
+ box-shadow: var(--m-shadow-md);
396
+ max-height: var(--m-dropdown-submenu-max-height);
397
+ min-width: 10rem;
398
+ overflow: hidden;
399
+ padding: var(--m-space-1);
400
+ }
401
+
402
+ .m-dropdown__submenu--teleported {
403
+ position: fixed;
404
+ z-index: var(--m-z-dropdown);
405
+ }
406
+
407
+ .m-dropdown__submenu-scroll {
408
+ max-height: calc(var(--m-dropdown-submenu-max-height) - var(--m-space-2));
409
+ min-height: 0;
410
+ }
411
+
412
+ .m-dropdown__submenu-view {
413
+ display: grid;
414
+ gap: var(--m-space-1);
415
+ }
416
+
417
+ .m-fade-enter-active,
418
+ .m-fade-leave-active {
419
+ transition: opacity var(--m-motion-exit) var(--m-motion-ease);
420
+ }
421
+
422
+ .m-fade-enter-from,
423
+ .m-fade-leave-to {
424
+ opacity: 0;
425
+ }
426
+
427
+ .m-scale-fade-enter-active {
428
+ transition:
429
+ opacity var(--m-motion-enter) var(--m-motion-ease),
430
+ transform var(--m-motion-enter) var(--m-motion-ease);
431
+ }
432
+
433
+ .m-scale-fade-leave-active {
434
+ transition:
435
+ opacity var(--m-motion-exit) var(--m-motion-ease),
436
+ transform var(--m-motion-exit) var(--m-motion-ease);
437
+ }
438
+
439
+ .m-scale-fade-enter-from,
440
+ .m-scale-fade-leave-to {
441
+ opacity: 0;
442
+ transform: translateY(calc(var(--m-motion-distance) * -1)) scale(0.98);
443
+ }
444
+
445
+ .m-slide-fade-enter-active {
446
+ transition:
447
+ opacity var(--m-motion-enter) var(--m-motion-ease),
448
+ transform var(--m-motion-enter) var(--m-motion-ease);
449
+ }
450
+
451
+ .m-slide-fade-leave-active {
452
+ transition:
453
+ opacity var(--m-motion-exit) var(--m-motion-ease),
454
+ transform var(--m-motion-exit) var(--m-motion-ease);
455
+ }
456
+
457
+ .m-slide-fade-enter-from,
458
+ .m-slide-fade-leave-to {
459
+ opacity: 0;
460
+ transform: translateY(calc(var(--m-motion-distance) * -1));
461
+ }
462
+
463
+ /* Shared loading spinner rotation (ProgressSpinner, Switch, ProgressBar, AutoComplete) */
464
+ @keyframes m-progress-spinner-rotate {
465
+ 100% {
466
+ transform: rotate(360deg);
467
+ }
468
+ }
469
+
470
+ .m-checkbox,
471
+ .m-radio,
472
+ .m-switch {
473
+ align-items: center;
474
+ color: var(--m-color-text);
475
+ cursor: pointer;
476
+ display: inline-flex;
477
+ font-family: var(--m-font-sans);
478
+ gap: var(--m-space-2);
479
+ /* 避免绝对定位 input 挂到上层 MScrollbar,聚焦时把滚动容器拽回顶部 */
480
+ position: relative;
481
+ }
482
+
483
+ .m-checkbox--disabled,
484
+ .m-radio--disabled,
485
+ .m-switch--disabled {
486
+ color: var(--m-color-text-muted);
487
+ cursor: not-allowed;
488
+ opacity: var(--m-opacity-disabled);
489
+ }
490
+
491
+ .m-checkbox--invalid .m-checkbox__control,
492
+ .m-radio--invalid .m-radio__control {
493
+ border-color: var(--m-color-danger);
494
+ }
495
+
496
+ .m-checkbox__input,
497
+ .m-radio__input,
498
+ .m-switch__input {
499
+ clip: rect(0, 0, 0, 0);
500
+ clip-path: inset(50%);
501
+ height: 1px;
502
+ margin: -1px;
503
+ overflow: hidden;
504
+ opacity: 0;
505
+ position: absolute;
506
+ white-space: nowrap;
507
+ width: 1px;
508
+ }
509
+
510
+ .m-checkbox__control,
511
+ .m-radio__control {
512
+ align-items: center;
513
+ background: var(--m-color-surface);
514
+ border: var(--m-border-width) solid var(--m-color-border);
515
+ display: inline-flex;
516
+ flex: 0 0 auto;
517
+ height: var(--m-checkbox-control-size, 1.125rem);
518
+ justify-content: center;
519
+ transition:
520
+ background-color var(--m-motion-fast) var(--m-motion-ease),
521
+ border-color var(--m-motion-fast) var(--m-motion-ease);
522
+ width: var(--m-checkbox-control-size, 1.125rem);
523
+ }
524
+
525
+ .m-checkbox__input:checked + .m-checkbox__control,
526
+ .m-radio__input:checked + .m-radio__control {
527
+ background: var(--m-color-primary);
528
+ border-color: var(--m-color-primary);
529
+ }
530
+
531
+ .m-checkbox:not(.m-checkbox--disabled):hover .m-checkbox__control,
532
+ .m-radio:not(.m-radio--disabled):hover .m-radio__control {
533
+ border-color: color-mix(in srgb, var(--m-color-primary) 45%, var(--m-color-border));
534
+ }
535
+
536
+ .m-checkbox__input:focus-visible + .m-checkbox__control,
537
+ .m-radio__input:focus-visible + .m-radio__control,
538
+ .m-switch__input:focus-visible + .m-switch__track {
539
+ box-shadow: var(--m-focus-shadow);
540
+ outline: none;
541
+ }
542
+
543
+ .m-checkbox__label,
544
+ .m-radio__label,
545
+ .m-switch__label {
546
+ font-size: var(--m-font-size-md);
547
+ }
548
+
549
+ .m-textarea-field,
550
+ .m-select-field {
551
+ display: grid;
552
+ font-family: var(--m-font-sans);
553
+ gap: var(--m-space-2);
554
+ max-width: 100%;
555
+ min-width: var(--m-menu-min-width);
556
+ position: relative;
557
+ width: fit-content;
558
+ }
559
+
560
+ .m-textarea-field--fluid,
561
+ .m-select-field--fluid {
562
+ width: 100%;
563
+ }
564
+
565
+ .m-textarea-field__label,
566
+ .m-select-field__label {
567
+ color: var(--m-color-text);
568
+ font-size: var(--m-font-size-md);
569
+ font-weight: 600;
570
+ }
571
+
572
+ .m-textarea-field__help,
573
+ .m-select-field__help {
574
+ color: var(--m-color-text-muted);
575
+ font-size: var(--m-font-size-xs);
576
+ }
577
+
578
+ .m-textarea-field__help--invalid,
579
+ .m-select-field__help--invalid {
580
+ color: var(--m-color-danger);
581
+ }
582
+
583
+ .m-textarea,
584
+ .m-select {
585
+ background: var(--m-color-surface);
586
+ border: var(--m-border-width) solid var(--m-color-border);
587
+ border-radius: var(--m-radius-control);
588
+ color: var(--m-color-text);
589
+ font: inherit;
590
+ transition:
591
+ border-color var(--m-motion-fast) var(--m-motion-ease),
592
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
593
+ background-color var(--m-motion-fast) var(--m-motion-ease);
594
+ width: 100%;
595
+ }
596
+
597
+ .m-textarea--invalid:focus-visible,
598
+ .m-select--invalid.m-select--open,
599
+ .m-select--invalid:focus-visible {
600
+ border-color: var(--m-color-danger);
601
+ box-shadow: var(--m-focus-shadow-danger);
602
+ }
603
+
604
+ .m-textarea:disabled,
605
+ .m-select:disabled,
606
+ .m-select--disabled {
607
+ cursor: not-allowed;
608
+ opacity: var(--m-opacity-disabled);
609
+ }
610
+
611
+ .m-icon-field--left :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
612
+ padding-left: 2.5rem;
613
+ }
614
+
615
+ .m-icon-field--right :is(.m-input, .m-password__input, .m-inputnumber__input, input) {
616
+ padding-right: var(--m-control-affix-padding);
617
+ }
618
+
619
+ .m-inputgroup > .m-input,
620
+ .m-inputgroup > .m-input-field,
621
+ .m-inputgroup > .m-password-field,
622
+ .m-inputgroup > .m-inputnumber-field {
623
+ flex: 1 1 auto;
624
+ min-width: 0;
625
+ }
626
+
627
+ .m-inputgroup > .m-input-field,
628
+ .m-inputgroup > .m-password-field,
629
+ .m-inputgroup > .m-inputnumber-field {
630
+ display: flex;
631
+ flex-direction: column;
632
+ gap: 0;
633
+ }
634
+
635
+ .m-inputgroup > .m-input,
636
+ .m-inputgroup .m-input,
637
+ .m-inputgroup .m-password__input,
638
+ .m-inputgroup .m-inputnumber__input {
639
+ border-radius: 0;
640
+ width: 100%;
641
+ }
642
+
643
+ .m-inputgroup > :first-child.m-input,
644
+ .m-inputgroup > :first-child .m-input,
645
+ .m-inputgroup > :first-child .m-password__input,
646
+ .m-inputgroup > :first-child .m-inputnumber__input,
647
+ .m-inputgroup > :first-child.m-inputgroup-addon {
648
+ border-bottom-left-radius: var(--m-radius-control);
649
+ border-top-left-radius: var(--m-radius-control);
650
+ }
651
+
652
+ .m-inputgroup > :last-child.m-input,
653
+ .m-inputgroup > :last-child .m-input,
654
+ .m-inputgroup > :last-child .m-password__input,
655
+ .m-inputgroup > :last-child .m-inputnumber__input,
656
+ .m-inputgroup > :last-child.m-inputgroup-addon {
657
+ border-bottom-right-radius: var(--m-radius-control);
658
+ border-top-right-radius: var(--m-radius-control);
659
+ }
660
+
661
+ .m-inputgroup > .m-inputgroup-addon + .m-input,
662
+ .m-inputgroup > .m-inputgroup-addon + .m-input-field .m-input,
663
+ .m-inputgroup > .m-input + .m-inputgroup-addon,
664
+ .m-inputgroup > .m-input-field + .m-inputgroup-addon {
665
+ margin-left: -1px;
666
+ }
667
+
668
+ .m-layout__scrollbar > .m-scrollbar__wrap {
669
+ height: 100%;
670
+ overflow-x: hidden;
671
+ }
672
+
673
+ .m-layout-sider__scrollbar > .m-scrollbar__wrap {
674
+ height: 100%;
675
+ overflow-x: hidden;
676
+ }
677
+
678
+ .m-treetable__scrollbar > .m-scrollbar__wrap,
679
+ .m-terminal__scrollbar > .m-scrollbar__wrap {
680
+ height: 100%;
681
+ overflow-x: hidden;
682
+ }
683
+
684
+ .m-scroll-body.m-scrollbar {
685
+ min-height: 0;
686
+ min-width: 0;
687
+ }
688
+
689
+ /* fit-content scroll wrappers: grow with content; max-height only clips when set on the wrapper */
690
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) {
691
+ width: 100%;
692
+ }
693
+
694
+ .m-scrollbar--fit-content.m-scrollbar--fill:not(.m-layout__scrollbar):not(.m-layout-sider__scrollbar):not(.m-scroll-body) .m-scrollbar__wrap {
695
+ overflow: auto;
696
+ }
697
+
698
+ .m-orderlist__btn,
699
+ .m-picklist__btn {
700
+ align-items: center;
701
+ background: var(--m-color-surface);
702
+ border: var(--m-border-width) solid var(--m-color-border);
703
+ border-radius: var(--m-radius-sm);
704
+ color: var(--m-color-text);
705
+ cursor: pointer;
706
+ display: inline-flex;
707
+ font: inherit;
708
+ gap: 0;
709
+ justify-content: center;
710
+ min-height: var(--m-control-height-small, 1.75rem);
711
+ min-width: var(--m-control-affix-size);
712
+ padding: var(--m-space-1) var(--m-space-2);
713
+ }
714
+
715
+ .m-orderlist__btn:hover,
716
+ .m-picklist__btn:hover {
717
+ border-color: var(--m-color-primary);
718
+ color: var(--m-color-primary);
719
+ }
720
+
721
+ .m-orderlist__btn:focus-visible,
722
+ .m-picklist__btn:focus-visible {
723
+ border-color: var(--m-color-primary);
724
+ box-shadow: var(--m-focus-shadow);
725
+ outline: none;
726
+ }
727
+
728
+ .m-picklist__btn .m-icon + .m-icon {
729
+ margin-left: -0.35rem;
730
+ }
731
+
732
+ .m-orderlist__scrollbar,
733
+ .m-picklist__scrollbar {
734
+ flex: 1;
735
+ max-height: 16rem;
736
+ min-height: 12rem;
737
+ min-width: var(--m-menu-min-width);
738
+ }
739
+
740
+ .m-orderlist__list,
741
+ .m-picklist__list {
742
+ background: var(--m-color-surface);
743
+ border: var(--m-border-width) solid var(--m-color-border);
744
+ border-radius: var(--m-radius-md);
745
+ padding: var(--m-space-1);
746
+ }
747
+
748
+ .m-orderlist__options,
749
+ .m-picklist__options {
750
+ list-style: none;
751
+ margin: 0;
752
+ padding: 0;
753
+ }
754
+
755
+ .m-orderlist__item,
756
+ .m-picklist__item {
757
+ border-radius: var(--m-radius-sm);
758
+ cursor: pointer;
759
+ padding: var(--m-space-2) var(--m-space-3);
760
+ }
761
+
762
+ .m-orderlist__item:hover,
763
+ .m-picklist__item:hover {
764
+ background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
765
+ }
766
+
767
+ .m-orderlist__item:focus-visible,
768
+ .m-picklist__item:focus-visible {
769
+ box-shadow: var(--m-focus-shadow);
770
+ outline: none;
771
+ }
772
+
773
+ .m-orderlist__item--selected,
774
+ .m-picklist__item--selected {
775
+ background: color-mix(in srgb, var(--m-color-primary) 14%, var(--m-color-surface));
776
+ color: var(--m-color-primary);
777
+ font-weight: 600;
778
+ }
779
+
780
+ .m-carousel__nav,
781
+ .m-gallery__nav {
782
+ background: var(--m-color-surface);
783
+ border: var(--m-border-width) solid var(--m-color-border);
784
+ border-radius: var(--m-radius-full, 999px);
785
+ color: var(--m-color-text);
786
+ cursor: pointer;
787
+ flex: 0 0 auto;
788
+ font: inherit;
789
+ height: var(--m-control-affix-size);
790
+ width: var(--m-control-affix-size);
791
+ }
792
+
793
+ .m-carousel__nav:disabled,
794
+ .m-gallery__nav:disabled {
795
+ cursor: not-allowed;
796
+ opacity: var(--m-opacity-disabled);
797
+ }
798
+
799
+ /* Shared Naive-like hover/focus for remaining form triggers */
800
+ .m-inputnumber__input:hover:not(:disabled):not(:focus),
801
+ .m-password__input:hover:not(:disabled):not(:focus),
802
+ .m-datepicker__input:hover:not(:disabled):not(:focus),
803
+ .m-inputotp__input:hover:not(:disabled):not(:focus),
804
+ .m-cascadeselect__trigger:hover:not(:disabled):not(:focus-visible),
805
+ .m-treeselect__trigger:hover:not(:disabled):not(:focus-visible),
806
+ .m-inputcolor__text:hover:not(:disabled):not(:focus),
807
+ .m-inputtags:hover:not(.m-inputtags--disabled),
808
+ .m-togglebutton:hover:not(:disabled):not(.m-togglebutton--checked),
809
+ .m-inplace__display:hover {
810
+ border-color: var(--m-color-primary-hover);
811
+ }
812
+
813
+ .m-inputnumber__input:focus-visible,
814
+ .m-password__input:focus-visible,
815
+ .m-datepicker__input:focus-visible,
816
+ .m-inputotp__input:focus-visible,
817
+ .m-cascadeselect__trigger:focus-visible,
818
+ .m-treeselect__trigger:focus-visible,
819
+ .m-inputcolor__text:focus-visible,
820
+ .m-inputtags:focus-within,
821
+ .m-togglebutton:focus-visible,
822
+ .m-selectbutton__button:focus-visible,
823
+ .m-splitbutton__main:focus-visible,
824
+ .m-splitbutton__trigger:focus-visible,
825
+ .m-inplace__display:focus-visible,
826
+ .m-pagination__button:focus-visible {
827
+ border-color: var(--m-color-primary-hover);
828
+ box-shadow: var(--m-focus-shadow);
829
+ outline: none;
830
+ }
831
+
832
+ .m-inputnumber--invalid .m-inputnumber__input:focus-visible,
833
+ .m-password--invalid .m-password__input:focus-visible,
834
+ .m-datepicker--invalid .m-datepicker__input:focus-visible {
835
+ border-color: var(--m-color-danger);
836
+ box-shadow: var(--m-focus-shadow-danger);
837
+ }
838
+
839
+ .m-checkbox-group,
840
+ .m-radio-group {
841
+ display: flex;
842
+ flex-wrap: wrap;
843
+ gap: var(--m-space-3);
844
+ }
845
+
846
+ .m-checkbox--small .m-checkbox__control,
847
+ .m-radio--small .m-radio__control {
848
+ height: 0.95rem;
849
+ width: 0.95rem;
850
+ }
851
+
852
+ .m-checkbox--large .m-checkbox__control,
853
+ .m-radio--large .m-radio__control {
854
+ height: 1.35rem;
855
+ width: 1.35rem;
856
+ }
857
+
858
+ .m-inputnumber__clear,
859
+ .m-autocomplete__clear {
860
+ background: transparent;
861
+ border: 0;
862
+ color: var(--m-color-text-muted);
863
+ cursor: pointer;
864
+ font: inherit;
865
+ line-height: 1;
866
+ }
867
+
868
+ [data-m-motion="none"] *,
869
+ [data-m-motion="none"] *::before,
870
+ [data-m-motion="none"] *::after {
871
+ animation-duration: 0.01ms !important;
872
+ animation-iteration-count: 1 !important;
873
+ scroll-behavior: auto !important;
874
+ transition-duration: 0.01ms !important;
875
+ }
876
+
877
+ [data-m-motion="reduced"] .m-progress-spinner,
878
+ [data-m-motion="reduced"] .m-progress-spinner__svg,
879
+ [data-m-motion="reduced"] .m-skeleton,
880
+ [data-m-motion="reduced"] .m-badge--pulse,
881
+ [data-m-motion="reduced"] .m-icon--spin,
882
+ [data-m-motion="reduced"] .m-button--loading .m-button__icon,
883
+ [data-m-motion="reduced"] .m-select__loading-icon,
884
+ [data-m-motion="reduced"] .m-switch__loading-icon {
885
+ animation-duration: calc(var(--m-motion-spin) * 2) !important;
886
+ }
887
+
888
+ @media (prefers-reduced-motion: reduce) {
889
+ html:not([data-m-ignore-reduced-motion]) *,
890
+ html:not([data-m-ignore-reduced-motion]) *::before,
891
+ html:not([data-m-ignore-reduced-motion]) *::after {
892
+ animation-duration: 0.01ms !important;
893
+ animation-iteration-count: 1 !important;
894
+ scroll-behavior: auto !important;
895
+ transition-duration: 0.01ms !important;
896
+ }
897
+ }
856
898
 
857
899
  /* —— Menu: Breadcrumb —— */
858
900
  .m-breadcrumb {