morya-ui 0.3.4 → 0.3.6

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 (249) hide show
  1. package/CHANGELOG.md +536 -523
  2. package/LICENSE +21 -21
  3. package/README.md +150 -150
  4. package/README.zh-CN.md +150 -150
  5. package/dist/{Button-gBiRj7wz.js → Button-3vJoiEQC.js} +1 -1
  6. package/dist/{Checkbox-BzbAUfyZ.js → Checkbox-B2gcDJHM.js} +1 -1
  7. package/dist/{Empty-C5tndBOm.js → Empty-5pTDp3ZM.js} +1 -1
  8. package/dist/{FlyoutSubmenu-H_741alW.js → FlyoutSubmenu-C_OrDaPN.js} +1 -1
  9. package/dist/{Loading-qS2Yv_gm.js → Loading-Ba-Js5-u.js} +3 -3
  10. package/dist/{Pagination-Bvv2qvEK.js → Pagination-lJ7cce6g.js} +2 -2
  11. package/dist/{Popover-rnZG_ap0.js → Popover-CQ2VYpFJ.js} +2 -2
  12. package/dist/{Radio-rF6zdR5Y.js → Radio-BbJ_Jyil.js} +1 -1
  13. package/dist/{Select-CiXd074W.js → Select-DyxORH6Q.js} +3 -3
  14. package/dist/{Tooltip-B02o9BOW.js → Tooltip-D3WUemno.js} +2 -2
  15. package/dist/accordion/style.css +1148 -1148
  16. package/dist/auto-complete/index.js +3 -3
  17. package/dist/auto-complete/style.css +1690 -1690
  18. package/dist/avatar/style.css +1261 -1261
  19. package/dist/badge/style.css +1315 -1315
  20. package/dist/block-ui/index.js +1 -1
  21. package/dist/block-ui/style.css +1148 -1148
  22. package/dist/breadcrumb/index.js +1 -1
  23. package/dist/breadcrumb/style.css +1148 -1148
  24. package/dist/button/index.js +1 -1
  25. package/dist/button/style.css +2138 -2138
  26. package/dist/card/style.css +1148 -1148
  27. package/dist/carousel/index.js +1 -1
  28. package/dist/carousel/style.css +1249 -1249
  29. package/dist/cascade-select/index.js +3 -3
  30. package/dist/cascade-select/style.css +1839 -1839
  31. package/dist/checkbox/index.js +1 -1
  32. package/dist/checkbox/style.css +1148 -1148
  33. package/dist/chip/index.js +1 -1
  34. package/dist/chip/style.css +1292 -1292
  35. package/dist/command-menu/index.js +3 -3
  36. package/dist/command-menu/style.css +1381 -1381
  37. package/dist/components/AutoComplete/styles.css +209 -209
  38. package/dist/components/Avatar/styles.css +113 -113
  39. package/dist/components/Badge/styles.css +165 -165
  40. package/dist/components/Button/styles.css +962 -962
  41. package/dist/components/Carousel/styles.css +101 -101
  42. package/dist/components/CascadeSelect/styles.css +157 -157
  43. package/dist/components/Chip/styles.css +144 -144
  44. package/dist/components/CommandMenu/styles.css +102 -102
  45. package/dist/components/ConfigProvider/styles.css +6 -6
  46. package/dist/components/ConfirmDialog/styles.css +24 -24
  47. package/dist/components/ConfirmPopup/styles.css +35 -35
  48. package/dist/components/ContextMenu/styles.css +138 -138
  49. package/dist/components/DatePicker/styles.css +335 -335
  50. package/dist/components/Dialog/styles.css +421 -421
  51. package/dist/components/Dock/styles.css +84 -84
  52. package/dist/components/Drawer/styles.css +334 -334
  53. package/dist/components/Dropdown/styles.css +130 -130
  54. package/dist/components/Empty/styles.css +146 -146
  55. package/dist/components/FileUpload/styles.css +359 -359
  56. package/dist/components/Form/styles.css +114 -114
  57. package/dist/components/Gallery/styles.css +100 -100
  58. package/dist/components/Input/styles.css +356 -356
  59. package/dist/components/InputColor/styles.css +129 -129
  60. package/dist/components/InputNumber/styles.css +261 -261
  61. package/dist/components/InputPassword/styles.css +178 -178
  62. package/dist/components/InputTags/styles.css +112 -112
  63. package/dist/components/Layout/styles.css +433 -433
  64. package/dist/components/Loading/styles.css +378 -378
  65. package/dist/components/MegaMenu/styles.css +97 -97
  66. package/dist/components/Menu/styles.css +564 -564
  67. package/dist/components/Menubar/styles.css +144 -144
  68. package/dist/components/Message/styles.css +250 -250
  69. package/dist/components/MeterGroup/styles.css +49 -49
  70. package/dist/components/Page/PageFilters.vue.d.ts +5 -3
  71. package/dist/components/Page/PageFilters.vue.d.ts.map +1 -1
  72. package/dist/components/Page/styles.css +430 -412
  73. package/dist/components/Page/types.d.ts +2 -2
  74. package/dist/components/Page/types.d.ts.map +1 -1
  75. package/dist/components/Pagination/styles.css +105 -105
  76. package/dist/components/Popover/styles.css +92 -92
  77. package/dist/components/Result/styles.css +146 -146
  78. package/dist/components/Scrollbar/styles.css +131 -131
  79. package/dist/components/Select/styles.css +192 -192
  80. package/dist/components/SelectButton/styles.css +105 -105
  81. package/dist/components/Sidebar/styles.css +74 -74
  82. package/dist/components/Slider/styles.css +211 -211
  83. package/dist/components/SplitButton/styles.css +216 -216
  84. package/dist/components/Status/styles.css +191 -191
  85. package/dist/components/Stepper/styles.css +135 -135
  86. package/dist/components/Switch/styles.css +129 -129
  87. package/dist/components/Tabs/styles.css +131 -131
  88. package/dist/components/Terminal/styles.css +74 -74
  89. package/dist/components/Textarea/styles.css +126 -126
  90. package/dist/components/TieredMenu/styles.css +125 -125
  91. package/dist/components/Timeline/styles.css +159 -159
  92. package/dist/components/TreeSelect/styles.css +161 -161
  93. package/dist/components/TreeTable/styles.css +97 -97
  94. package/dist/components/VirtualScroller/styles.css +27 -27
  95. package/dist/{config-CapALqt3.js → config-De8ueCY-.js} +2 -0
  96. package/dist/config-provider/index.js +1 -1
  97. package/dist/config-provider/style.css +2472 -2472
  98. package/dist/confirm-dialog/index.js +4 -4
  99. package/dist/confirm-dialog/style.css +2555 -2555
  100. package/dist/confirm-popup/index.js +4 -4
  101. package/dist/confirm-popup/style.css +2145 -2145
  102. package/dist/context-menu/index.js +3 -3
  103. package/dist/context-menu/style.css +1417 -1417
  104. package/dist/data-view/index.js +3 -3
  105. package/dist/data-view/style.css +1631 -1631
  106. package/dist/date-picker/index.js +3 -3
  107. package/dist/date-picker/style.css +1483 -1483
  108. package/dist/dialog/index.js +4 -4
  109. package/dist/dialog/style.css +2531 -2531
  110. package/dist/divider/style.css +1148 -1148
  111. package/dist/dock/style.css +1232 -1232
  112. package/dist/drawer/index.js +3 -3
  113. package/dist/drawer/style.css +1482 -1482
  114. package/dist/dropdown/index.js +4 -4
  115. package/dist/dropdown/style.css +1409 -1409
  116. package/dist/empty/index.js +1 -1
  117. package/dist/empty/style.css +1294 -1294
  118. package/dist/fieldset/style.css +1148 -1148
  119. package/dist/file-upload/index.js +1 -1
  120. package/dist/file-upload/style.css +1507 -1507
  121. package/dist/flex/index.js +1 -1
  122. package/dist/flex/style.css +1148 -1148
  123. package/dist/float-label/style.css +1148 -1148
  124. package/dist/fluid/style.css +1148 -1148
  125. package/dist/form/index.js +1 -1
  126. package/dist/form/style.css +1264 -1264
  127. package/dist/gallery/index.js +1 -1
  128. package/dist/gallery/style.css +1379 -1379
  129. package/dist/grid/style.css +1148 -1148
  130. package/dist/icon/style.css +1148 -1148
  131. package/dist/icon-field/style.css +1504 -1504
  132. package/dist/index.js +84 -69
  133. package/dist/inplace/style.css +1148 -1148
  134. package/dist/input/index.js +2 -2
  135. package/dist/input/style.css +1504 -1504
  136. package/dist/input-color/index.js +2 -2
  137. package/dist/input-color/style.css +1279 -1279
  138. package/dist/input-group/style.css +1148 -1148
  139. package/dist/input-number/index.js +2 -2
  140. package/dist/input-number/style.css +1409 -1409
  141. package/dist/input-otp/index.js +2 -2
  142. package/dist/input-otp/style.css +1148 -1148
  143. package/dist/input-password/index.js +2 -2
  144. package/dist/input-password/style.css +1326 -1326
  145. package/dist/input-tags/index.js +2 -2
  146. package/dist/input-tags/style.css +1260 -1260
  147. package/dist/knob/style.css +1148 -1148
  148. package/dist/label/style.css +1148 -1148
  149. package/dist/layout/index.js +1 -1
  150. package/dist/layout/style.css +1712 -1712
  151. package/dist/listbox/index.js +2 -2
  152. package/dist/listbox/style.css +1306 -1306
  153. package/dist/loading/index.js +1 -1
  154. package/dist/loading/style.css +1528 -1528
  155. package/dist/locale/en-US.d.ts.map +1 -1
  156. package/dist/locale/types.d.ts +4 -0
  157. package/dist/locale/types.d.ts.map +1 -1
  158. package/dist/locale/zh-CN.d.ts.map +1 -1
  159. package/dist/{locale-Bzm2nbEp.js → locale-xavS6-Hw.js} +1 -1
  160. package/dist/mega-menu/index.js +3 -3
  161. package/dist/mega-menu/style.css +1245 -1245
  162. package/dist/menu/index.js +4 -4
  163. package/dist/menu/style.css +2001 -2001
  164. package/dist/menubar/index.js +3 -3
  165. package/dist/menubar/style.css +1423 -1423
  166. package/dist/message/index.js +3 -3
  167. package/dist/message/style.css +1398 -1398
  168. package/dist/meter-group/style.css +1199 -1199
  169. package/dist/order-list/index.js +1 -1
  170. package/dist/order-list/style.css +1148 -1148
  171. package/dist/page/index.js +63 -52
  172. package/dist/page/style.css +2806 -2788
  173. package/dist/pagination/index.js +1 -1
  174. package/dist/pagination/style.css +1445 -1445
  175. package/dist/panel/index.js +1 -1
  176. package/dist/panel/style.css +1148 -1148
  177. package/dist/pick-list/index.js +1 -1
  178. package/dist/pick-list/style.css +1148 -1148
  179. package/dist/popover/index.js +1 -1
  180. package/dist/popover/style.css +1242 -1242
  181. package/dist/progress-bar/style.css +1148 -1148
  182. package/dist/progress-spinner/index.js +1 -1
  183. package/dist/progress-spinner/style.css +1148 -1148
  184. package/dist/radio/index.js +1 -1
  185. package/dist/radio/style.css +1148 -1148
  186. package/dist/rating/index.js +2 -2
  187. package/dist/rating/style.css +1148 -1148
  188. package/dist/result/index.js +1 -1
  189. package/dist/result/style.css +1294 -1294
  190. package/dist/scroll-top/index.js +2 -2
  191. package/dist/scroll-top/style.css +1279 -1279
  192. package/dist/scrollbar/style.css +1281 -1281
  193. package/dist/select/index.js +1 -1
  194. package/dist/select/style.css +1901 -1901
  195. package/dist/select-button/index.js +1 -1
  196. package/dist/select-button/style.css +1255 -1255
  197. package/dist/shared/styles/control-affix-icon.css +110 -110
  198. package/dist/shared/styles/control-suffix.css +118 -118
  199. package/dist/shared/styles/select-overlay.css +175 -175
  200. package/dist/sidebar/index.js +1 -1
  201. package/dist/sidebar/style.css +1222 -1222
  202. package/dist/skeleton/style.css +1148 -1148
  203. package/dist/slider/index.js +2 -2
  204. package/dist/slider/style.css +1361 -1361
  205. package/dist/space/index.js +1 -1
  206. package/dist/space/style.css +1148 -1148
  207. package/dist/speed-dial/index.js +3 -3
  208. package/dist/speed-dial/style.css +1148 -1148
  209. package/dist/split-button/index.js +3 -3
  210. package/dist/split-button/style.css +2326 -2326
  211. package/dist/splitter/index.js +1 -1
  212. package/dist/splitter/style.css +1148 -1148
  213. package/dist/status/index.js +1 -1
  214. package/dist/status/style.css +1339 -1339
  215. package/dist/stepper/style.css +1283 -1283
  216. package/dist/styles/base.css +790 -790
  217. package/dist/styles.css +1 -1
  218. package/dist/switch/index.js +1 -1
  219. package/dist/switch/style.css +1279 -1279
  220. package/dist/table/index.js +7 -7
  221. package/dist/table/style.css +1812 -1812
  222. package/dist/tabs/index.js +1 -1
  223. package/dist/tabs/style.css +1410 -1410
  224. package/dist/tag/index.js +2 -2
  225. package/dist/tag/style.css +1148 -1148
  226. package/dist/terminal/index.js +1 -1
  227. package/dist/terminal/style.css +1224 -1224
  228. package/dist/textarea/index.js +2 -2
  229. package/dist/textarea/style.css +1274 -1274
  230. package/dist/theme/styles.css +358 -358
  231. package/dist/tiered-menu/index.js +3 -3
  232. package/dist/tiered-menu/style.css +1404 -1404
  233. package/dist/timeline/style.css +1438 -1438
  234. package/dist/toast/index.js +3 -3
  235. package/dist/toast/style.css +1148 -1148
  236. package/dist/toggle-button/index.js +1 -1
  237. package/dist/toggle-button/style.css +1148 -1148
  238. package/dist/toolbar/style.css +1148 -1148
  239. package/dist/tooltip/index.js +1 -1
  240. package/dist/tooltip/style.css +1148 -1148
  241. package/dist/tree/index.js +2 -2
  242. package/dist/tree/style.css +1148 -1148
  243. package/dist/tree-select/index.js +4 -4
  244. package/dist/tree-select/style.css +1843 -1843
  245. package/dist/tree-table/index.js +1 -1
  246. package/dist/tree-table/style.css +1245 -1245
  247. package/dist/{useMotionTransition-95Y79FoL.js → useMotionTransition-tW0yeJsy.js} +1 -1
  248. package/dist/virtual-scroller/style.css +1309 -1309
  249. package/package.json +29 -31
@@ -1,101 +1,101 @@
1
- /* —— Media: Carousel —— */
2
- .m-carousel {
3
- --m-carousel-indicator-size: 0.45rem;
4
- --m-carousel-gap: var(--m-space-2);
5
- align-items: center;
6
- display: flex;
7
- gap: var(--m-space-2);
8
- width: 100%;
9
- }
10
-
11
- .m-carousel__viewport {
12
- margin-inline: calc(var(--m-carousel-gap) / -2);
13
- overflow: hidden;
14
- touch-action: pan-y;
15
- width: 100%;
16
- }
17
-
18
- .m-carousel__track {
19
- --m-carousel-page: 0;
20
- --m-carousel-count: 1;
21
- --m-carousel-visible: 1;
22
- display: flex;
23
- transform: translate3d(
24
- calc(-100% * var(--m-carousel-page) / var(--m-carousel-count)),
25
- 0,
26
- 0
27
- );
28
- transition: transform var(--m-motion-normal) var(--m-motion-ease);
29
- width: calc(100% * var(--m-carousel-count) / var(--m-carousel-visible));
30
- will-change: transform;
31
- }
32
-
33
- .m-carousel__track--instant {
34
- transition: none;
35
- }
36
-
37
- .m-carousel__item {
38
- box-sizing: border-box;
39
- flex: 0 0 calc(100% / var(--m-carousel-count));
40
- min-width: 0;
41
- padding-inline: calc(var(--m-carousel-gap) / 2);
42
- }
43
-
44
- .m-carousel__main {
45
- display: flex;
46
- flex: 1;
47
- flex-direction: column;
48
- gap: var(--m-space-2);
49
- min-width: 0;
50
- }
51
-
52
- .m-carousel__indicators {
53
- display: flex;
54
- gap: var(--m-space-1);
55
- justify-content: center;
56
- }
57
-
58
- .m-carousel__indicator {
59
- background: color-mix(in srgb, var(--m-color-text-muted) 40%, transparent);
60
- border: 0;
61
- border-radius: var(--m-radius-full);
62
- cursor: pointer;
63
- height: var(--m-carousel-indicator-size);
64
- padding: 0;
65
- position: relative;
66
- width: var(--m-carousel-indicator-size);
67
- }
68
-
69
- .m-carousel__indicator::after {
70
- content: '';
71
- inset: -0.45rem;
72
- position: absolute;
73
- }
74
-
75
- .m-carousel__indicator:hover {
76
- background: color-mix(in srgb, var(--m-color-text-muted) 70%, transparent);
77
- }
78
-
79
- .m-carousel__indicator:focus-visible {
80
- box-shadow: var(--m-focus-shadow);
81
- outline: none;
82
- }
83
-
84
- .m-carousel__indicator--active,
85
- .m-carousel__indicator--active:hover {
86
- background: var(--m-color-primary);
87
- }
88
-
89
- .m-carousel__nav:hover:not(:disabled) {
90
- background: color-mix(in srgb, var(--m-color-primary) 8%, transparent);
91
- }
92
-
93
- .m-carousel__nav:focus-visible {
94
- box-shadow: var(--m-focus-shadow);
95
- outline: none;
96
- }
97
-
98
- [data-m-motion="reduced"] .m-carousel__track,
99
- [data-m-motion="none"] .m-carousel__track {
100
- transition: none;
101
- }
1
+ /* —— Media: Carousel —— */
2
+ .m-carousel {
3
+ --m-carousel-indicator-size: 0.45rem;
4
+ --m-carousel-gap: var(--m-space-2);
5
+ align-items: center;
6
+ display: flex;
7
+ gap: var(--m-space-2);
8
+ width: 100%;
9
+ }
10
+
11
+ .m-carousel__viewport {
12
+ margin-inline: calc(var(--m-carousel-gap) / -2);
13
+ overflow: hidden;
14
+ touch-action: pan-y;
15
+ width: 100%;
16
+ }
17
+
18
+ .m-carousel__track {
19
+ --m-carousel-page: 0;
20
+ --m-carousel-count: 1;
21
+ --m-carousel-visible: 1;
22
+ display: flex;
23
+ transform: translate3d(
24
+ calc(-100% * var(--m-carousel-page) / var(--m-carousel-count)),
25
+ 0,
26
+ 0
27
+ );
28
+ transition: transform var(--m-motion-normal) var(--m-motion-ease);
29
+ width: calc(100% * var(--m-carousel-count) / var(--m-carousel-visible));
30
+ will-change: transform;
31
+ }
32
+
33
+ .m-carousel__track--instant {
34
+ transition: none;
35
+ }
36
+
37
+ .m-carousel__item {
38
+ box-sizing: border-box;
39
+ flex: 0 0 calc(100% / var(--m-carousel-count));
40
+ min-width: 0;
41
+ padding-inline: calc(var(--m-carousel-gap) / 2);
42
+ }
43
+
44
+ .m-carousel__main {
45
+ display: flex;
46
+ flex: 1;
47
+ flex-direction: column;
48
+ gap: var(--m-space-2);
49
+ min-width: 0;
50
+ }
51
+
52
+ .m-carousel__indicators {
53
+ display: flex;
54
+ gap: var(--m-space-1);
55
+ justify-content: center;
56
+ }
57
+
58
+ .m-carousel__indicator {
59
+ background: color-mix(in srgb, var(--m-color-text-muted) 40%, transparent);
60
+ border: 0;
61
+ border-radius: var(--m-radius-full);
62
+ cursor: pointer;
63
+ height: var(--m-carousel-indicator-size);
64
+ padding: 0;
65
+ position: relative;
66
+ width: var(--m-carousel-indicator-size);
67
+ }
68
+
69
+ .m-carousel__indicator::after {
70
+ content: '';
71
+ inset: -0.45rem;
72
+ position: absolute;
73
+ }
74
+
75
+ .m-carousel__indicator:hover {
76
+ background: color-mix(in srgb, var(--m-color-text-muted) 70%, transparent);
77
+ }
78
+
79
+ .m-carousel__indicator:focus-visible {
80
+ box-shadow: var(--m-focus-shadow);
81
+ outline: none;
82
+ }
83
+
84
+ .m-carousel__indicator--active,
85
+ .m-carousel__indicator--active:hover {
86
+ background: var(--m-color-primary);
87
+ }
88
+
89
+ .m-carousel__nav:hover:not(:disabled) {
90
+ background: color-mix(in srgb, var(--m-color-primary) 8%, transparent);
91
+ }
92
+
93
+ .m-carousel__nav:focus-visible {
94
+ box-shadow: var(--m-focus-shadow);
95
+ outline: none;
96
+ }
97
+
98
+ [data-m-motion="reduced"] .m-carousel__track,
99
+ [data-m-motion="none"] .m-carousel__track {
100
+ transition: none;
101
+ }
@@ -1,157 +1,157 @@
1
- /* —— Form: CascadeSelect —— */
2
- .m-cascadeselect {
3
- --m-cascadeselect-min-width: 12rem;
4
- display: inline-block;
5
- max-width: 100%;
6
- position: relative;
7
- }
8
-
9
- .m-cascadeselect__control {
10
- display: inline-block;
11
- max-width: 100%;
12
- min-width: var(--m-cascadeselect-min-width);
13
- }
14
-
15
- .m-select-field--fluid .m-cascadeselect__control {
16
- min-width: 0;
17
- width: 100%;
18
- }
19
-
20
- .m-cascadeselect__trigger {
21
- align-items: center;
22
- background: var(--m-color-surface);
23
- border: var(--m-border-width) solid var(--m-color-border);
24
- border-radius: var(--m-radius-control);
25
- box-sizing: border-box;
26
- color: var(--m-color-text);
27
- cursor: pointer;
28
- display: inline-flex;
29
- font-family: var(--m-font-sans);
30
- font-size: var(--m-control-font-medium);
31
- min-height: var(--m-control-height-medium);
32
- padding: 0 var(--m-control-padding-x-medium);
33
- padding-right: var(--m-control-end-padding);
34
- transition:
35
- border-color var(--m-motion-fast) var(--m-motion-ease),
36
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
37
- opacity var(--m-motion-fast) var(--m-motion-ease);
38
- width: 100%;
39
- }
40
-
41
- .m-cascadeselect--small .m-cascadeselect__trigger {
42
- font-size: var(--m-control-font-small);
43
- min-height: var(--m-control-height-small);
44
- padding-left: var(--m-control-padding-x-small);
45
- padding-right: var(--m-control-end-padding);
46
- }
47
-
48
- .m-cascadeselect--large .m-cascadeselect__trigger {
49
- font-size: var(--m-control-font-large);
50
- min-height: var(--m-control-height-large);
51
- padding-left: var(--m-control-padding-x-large);
52
- padding-right: var(--m-control-end-padding);
53
- }
54
-
55
- .m-cascadeselect__trigger:focus-visible {
56
- box-shadow: var(--m-focus-shadow);
57
- outline: none;
58
- }
59
-
60
- .m-cascadeselect__trigger--invalid {
61
- border-color: var(--m-color-danger);
62
- }
63
-
64
- .m-cascadeselect__trigger--invalid:focus-visible {
65
- box-shadow: var(--m-focus-shadow-danger);
66
- }
67
-
68
- .m-cascadeselect--disabled .m-cascadeselect__trigger {
69
- cursor: not-allowed;
70
- opacity: var(--m-opacity-disabled);
71
- }
72
-
73
- .m-cascadeselect__label {
74
- flex: 1 1 auto;
75
- min-width: 0;
76
- overflow: hidden;
77
- text-align: left;
78
- text-overflow: ellipsis;
79
- white-space: nowrap;
80
- }
81
-
82
- .m-cascadeselect__trigger--placeholder .m-cascadeselect__label {
83
- color: var(--m-color-text-muted);
84
- }
85
-
86
- .m-cascadeselect__panel {
87
- --m-cascadeselect-column-min-width: 10rem;
88
- --m-cascadeselect-column-max-height: min(18rem, 45vh);
89
- box-sizing: border-box;
90
- display: flex;
91
- left: 0;
92
- position: absolute;
93
- top: 100%;
94
- width: max-content;
95
- }
96
-
97
- .m-cascadeselect__panel--teleported {
98
- top: auto;
99
- }
100
-
101
- .m-cascadeselect__column {
102
- box-sizing: border-box;
103
- flex: 0 0 auto;
104
- margin: 0;
105
- width: max-content;
106
- }
107
-
108
- /*
109
- * First column keeps the trigger-width floor (panel min-width from JS).
110
- * Later columns only add width — they must not redistribute/shrink the first.
111
- */
112
- .m-cascadeselect__column:first-child {
113
- min-width: inherit;
114
- }
115
-
116
- .m-cascadeselect__column:not(:first-child) {
117
- min-width: var(--m-cascadeselect-column-min-width);
118
- }
119
-
120
- /* Lone column still fills the panel edge-to-edge. */
121
- .m-cascadeselect__column:only-child {
122
- width: auto;
123
- min-width: 100%;
124
- }
125
-
126
- .m-cascadeselect__column .m-scrollbar__wrap,
127
- .m-cascadeselect__column .m-scrollbar__view {
128
- box-sizing: border-box;
129
- width: 100%;
130
- }
131
-
132
- .m-cascadeselect__column-list {
133
- list-style: none;
134
- margin: 0;
135
- padding: var(--m-space-1);
136
- width: 100%;
137
- }
138
-
139
- .m-cascadeselect__column-list > li {
140
- width: 100%;
141
- }
142
-
143
- .m-cascadeselect__column + .m-cascadeselect__column {
144
- border-left: var(--m-border-width) solid var(--m-color-border);
145
- }
146
-
147
- .m-cascadeselect__option {
148
- width: 100%;
149
- }
150
-
151
- .m-cascadeselect__option > span {
152
- min-width: 0;
153
- }
154
-
155
- .m-cascadeselect__option .m-icon {
156
- flex-shrink: 0;
157
- }
1
+ /* —— Form: CascadeSelect —— */
2
+ .m-cascadeselect {
3
+ --m-cascadeselect-min-width: 12rem;
4
+ display: inline-block;
5
+ max-width: 100%;
6
+ position: relative;
7
+ }
8
+
9
+ .m-cascadeselect__control {
10
+ display: inline-block;
11
+ max-width: 100%;
12
+ min-width: var(--m-cascadeselect-min-width);
13
+ }
14
+
15
+ .m-select-field--fluid .m-cascadeselect__control {
16
+ min-width: 0;
17
+ width: 100%;
18
+ }
19
+
20
+ .m-cascadeselect__trigger {
21
+ align-items: center;
22
+ background: var(--m-color-surface);
23
+ border: var(--m-border-width) solid var(--m-color-border);
24
+ border-radius: var(--m-radius-control);
25
+ box-sizing: border-box;
26
+ color: var(--m-color-text);
27
+ cursor: pointer;
28
+ display: inline-flex;
29
+ font-family: var(--m-font-sans);
30
+ font-size: var(--m-control-font-medium);
31
+ min-height: var(--m-control-height-medium);
32
+ padding: 0 var(--m-control-padding-x-medium);
33
+ padding-right: var(--m-control-end-padding);
34
+ transition:
35
+ border-color var(--m-motion-fast) var(--m-motion-ease),
36
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
37
+ opacity var(--m-motion-fast) var(--m-motion-ease);
38
+ width: 100%;
39
+ }
40
+
41
+ .m-cascadeselect--small .m-cascadeselect__trigger {
42
+ font-size: var(--m-control-font-small);
43
+ min-height: var(--m-control-height-small);
44
+ padding-left: var(--m-control-padding-x-small);
45
+ padding-right: var(--m-control-end-padding);
46
+ }
47
+
48
+ .m-cascadeselect--large .m-cascadeselect__trigger {
49
+ font-size: var(--m-control-font-large);
50
+ min-height: var(--m-control-height-large);
51
+ padding-left: var(--m-control-padding-x-large);
52
+ padding-right: var(--m-control-end-padding);
53
+ }
54
+
55
+ .m-cascadeselect__trigger:focus-visible {
56
+ box-shadow: var(--m-focus-shadow);
57
+ outline: none;
58
+ }
59
+
60
+ .m-cascadeselect__trigger--invalid {
61
+ border-color: var(--m-color-danger);
62
+ }
63
+
64
+ .m-cascadeselect__trigger--invalid:focus-visible {
65
+ box-shadow: var(--m-focus-shadow-danger);
66
+ }
67
+
68
+ .m-cascadeselect--disabled .m-cascadeselect__trigger {
69
+ cursor: not-allowed;
70
+ opacity: var(--m-opacity-disabled);
71
+ }
72
+
73
+ .m-cascadeselect__label {
74
+ flex: 1 1 auto;
75
+ min-width: 0;
76
+ overflow: hidden;
77
+ text-align: left;
78
+ text-overflow: ellipsis;
79
+ white-space: nowrap;
80
+ }
81
+
82
+ .m-cascadeselect__trigger--placeholder .m-cascadeselect__label {
83
+ color: var(--m-color-text-muted);
84
+ }
85
+
86
+ .m-cascadeselect__panel {
87
+ --m-cascadeselect-column-min-width: 10rem;
88
+ --m-cascadeselect-column-max-height: min(18rem, 45vh);
89
+ box-sizing: border-box;
90
+ display: flex;
91
+ left: 0;
92
+ position: absolute;
93
+ top: 100%;
94
+ width: max-content;
95
+ }
96
+
97
+ .m-cascadeselect__panel--teleported {
98
+ top: auto;
99
+ }
100
+
101
+ .m-cascadeselect__column {
102
+ box-sizing: border-box;
103
+ flex: 0 0 auto;
104
+ margin: 0;
105
+ width: max-content;
106
+ }
107
+
108
+ /*
109
+ * First column keeps the trigger-width floor (panel min-width from JS).
110
+ * Later columns only add width — they must not redistribute/shrink the first.
111
+ */
112
+ .m-cascadeselect__column:first-child {
113
+ min-width: inherit;
114
+ }
115
+
116
+ .m-cascadeselect__column:not(:first-child) {
117
+ min-width: var(--m-cascadeselect-column-min-width);
118
+ }
119
+
120
+ /* Lone column still fills the panel edge-to-edge. */
121
+ .m-cascadeselect__column:only-child {
122
+ width: auto;
123
+ min-width: 100%;
124
+ }
125
+
126
+ .m-cascadeselect__column .m-scrollbar__wrap,
127
+ .m-cascadeselect__column .m-scrollbar__view {
128
+ box-sizing: border-box;
129
+ width: 100%;
130
+ }
131
+
132
+ .m-cascadeselect__column-list {
133
+ list-style: none;
134
+ margin: 0;
135
+ padding: var(--m-space-1);
136
+ width: 100%;
137
+ }
138
+
139
+ .m-cascadeselect__column-list > li {
140
+ width: 100%;
141
+ }
142
+
143
+ .m-cascadeselect__column + .m-cascadeselect__column {
144
+ border-left: var(--m-border-width) solid var(--m-color-border);
145
+ }
146
+
147
+ .m-cascadeselect__option {
148
+ width: 100%;
149
+ }
150
+
151
+ .m-cascadeselect__option > span {
152
+ min-width: 0;
153
+ }
154
+
155
+ .m-cascadeselect__option .m-icon {
156
+ flex-shrink: 0;
157
+ }