morya-ui 0.4.3 → 0.4.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 (173) hide show
  1. package/CHANGELOG.md +780 -769
  2. package/LICENSE +21 -21
  3. package/README.md +156 -150
  4. package/README.zh-CN.md +156 -150
  5. package/dist/accordion/style.css +1205 -1205
  6. package/dist/affix/style.css +1205 -1205
  7. package/dist/alert/style.css +1205 -1205
  8. package/dist/anchor/style.css +1205 -1205
  9. package/dist/auto-complete/style.css +1749 -1749
  10. package/dist/avatar/style.css +1318 -1318
  11. package/dist/badge/style.css +1371 -1371
  12. package/dist/block-ui/style.css +1205 -1205
  13. package/dist/breadcrumb/style.css +1205 -1205
  14. package/dist/button/style.css +1909 -1909
  15. package/dist/calendar/style.css +1880 -1880
  16. package/dist/card/style.css +1205 -1205
  17. package/dist/carousel/style.css +2208 -2208
  18. package/dist/cascade-select/style.css +1909 -1909
  19. package/dist/checkbox/style.css +1205 -1205
  20. package/dist/chip/style.css +1349 -1349
  21. package/dist/command-menu/style.css +1438 -1438
  22. package/dist/components/AutoComplete/styles.css +209 -209
  23. package/dist/components/Avatar/styles.css +113 -113
  24. package/dist/components/Badge/styles.css +164 -164
  25. package/dist/components/Button/styles.css +698 -698
  26. package/dist/components/Carousel/styles.css +302 -302
  27. package/dist/components/CascadeSelect/styles.css +168 -168
  28. package/dist/components/Chip/styles.css +144 -144
  29. package/dist/components/CommandMenu/styles.css +102 -102
  30. package/dist/components/ConfigProvider/styles.css +6 -6
  31. package/dist/components/ConfirmDialog/styles.css +24 -24
  32. package/dist/components/ConfirmPopup/styles.css +35 -35
  33. package/dist/components/ContextMenu/styles.css +138 -138
  34. package/dist/components/DatePicker/styles.css +453 -453
  35. package/dist/components/Dialog/styles.css +420 -420
  36. package/dist/components/Dock/styles.css +84 -84
  37. package/dist/components/Drawer/styles.css +346 -346
  38. package/dist/components/Dropdown/styles.css +135 -135
  39. package/dist/components/Empty/styles.css +146 -146
  40. package/dist/components/FileUpload/styles.css +359 -359
  41. package/dist/components/Form/Form.vue.d.ts.map +1 -1
  42. package/dist/components/Form/styles.css +125 -125
  43. package/dist/components/Gallery/styles.css +100 -100
  44. package/dist/components/Input/styles.css +392 -392
  45. package/dist/components/InputColor/styles.css +139 -139
  46. package/dist/components/InputNumber/styles.css +262 -262
  47. package/dist/components/InputPassword/styles.css +189 -189
  48. package/dist/components/InputTags/styles.css +121 -121
  49. package/dist/components/Layout/styles.css +433 -433
  50. package/dist/components/List/styles.css +229 -229
  51. package/dist/components/Listbox/styles.css +130 -130
  52. package/dist/components/Loading/styles.css +378 -378
  53. package/dist/components/MegaMenu/styles.css +97 -97
  54. package/dist/components/Menu/styles.css +565 -565
  55. package/dist/components/Menubar/styles.css +144 -144
  56. package/dist/components/Message/styles.css +248 -248
  57. package/dist/components/MeterGroup/styles.css +49 -49
  58. package/dist/components/Page/styles.css +430 -430
  59. package/dist/components/Pagination/styles.css +124 -124
  60. package/dist/components/Popover/styles.css +92 -92
  61. package/dist/components/Result/styles.css +146 -146
  62. package/dist/components/Scrollbar/styles.css +131 -131
  63. package/dist/components/Select/styles.css +222 -222
  64. package/dist/components/SelectButton/styles.css +107 -107
  65. package/dist/components/Sidebar/styles.css +74 -74
  66. package/dist/components/Slider/styles.css +211 -211
  67. package/dist/components/SplitButton/styles.css +216 -216
  68. package/dist/components/Status/styles.css +190 -190
  69. package/dist/components/Stepper/styles.css +152 -152
  70. package/dist/components/Switch/styles.css +129 -129
  71. package/dist/components/Tabs/styles.css +165 -165
  72. package/dist/components/Terminal/styles.css +75 -75
  73. package/dist/components/Textarea/styles.css +146 -146
  74. package/dist/components/TieredMenu/styles.css +125 -125
  75. package/dist/components/Timeline/styles.css +157 -157
  76. package/dist/components/TreeSelect/styles.css +172 -172
  77. package/dist/components/VirtualScroller/styles.css +27 -27
  78. package/dist/config-provider/style.css +2301 -2301
  79. package/dist/confirm-dialog/style.css +2347 -2347
  80. package/dist/confirm-popup/style.css +1938 -1938
  81. package/dist/context-menu/style.css +1474 -1474
  82. package/dist/data-view/style.css +1707 -1707
  83. package/dist/date-picker/style.css +1658 -1658
  84. package/dist/descriptions/style.css +1205 -1205
  85. package/dist/dialog/style.css +2323 -2323
  86. package/dist/divider/style.css +1205 -1205
  87. package/dist/dock/style.css +1289 -1289
  88. package/dist/drawer/style.css +1551 -1551
  89. package/dist/dropdown/style.css +1471 -1471
  90. package/dist/empty/style.css +1351 -1351
  91. package/dist/fieldset/style.css +1205 -1205
  92. package/dist/file-upload/style.css +1564 -1564
  93. package/dist/flex/style.css +1205 -1205
  94. package/dist/float-label/style.css +1205 -1205
  95. package/dist/fluid/style.css +1205 -1205
  96. package/dist/form/style.css +1332 -1332
  97. package/dist/gallery/style.css +1436 -1436
  98. package/dist/grid/style.css +1205 -1205
  99. package/dist/icon/style.css +1205 -1205
  100. package/dist/icon-field/style.css +1597 -1597
  101. package/dist/image/style.css +1205 -1205
  102. package/dist/inplace/style.css +1205 -1205
  103. package/dist/input/style.css +1722 -1722
  104. package/dist/input-color/style.css +1346 -1346
  105. package/dist/input-group/style.css +1205 -1205
  106. package/dist/input-number/style.css +1467 -1467
  107. package/dist/input-otp/style.css +1205 -1205
  108. package/dist/input-password/style.css +1519 -1519
  109. package/dist/input-tags/style.css +1326 -1326
  110. package/dist/knob/style.css +1205 -1205
  111. package/dist/label/style.css +1205 -1205
  112. package/dist/layout/style.css +1769 -1769
  113. package/dist/list/style.css +2087 -2087
  114. package/dist/listbox/style.css +1497 -1497
  115. package/dist/loading/style.css +1585 -1585
  116. package/dist/mega-menu/style.css +1302 -1302
  117. package/dist/mentions/style.css +1330 -1330
  118. package/dist/menu/style.css +2059 -2059
  119. package/dist/menubar/style.css +1480 -1480
  120. package/dist/message/style.css +1453 -1453
  121. package/dist/meter-group/style.css +1256 -1256
  122. package/dist/order-list/style.css +1205 -1205
  123. package/dist/page/style.css +2597 -2597
  124. package/dist/pagination/style.css +1551 -1551
  125. package/dist/panel/style.css +1205 -1205
  126. package/dist/pick-list/style.css +1205 -1205
  127. package/dist/popover/style.css +1299 -1299
  128. package/dist/progress-bar/style.css +1205 -1205
  129. package/dist/progress-spinner/style.css +1205 -1205
  130. package/dist/qr-code/style.css +1903 -1903
  131. package/dist/radio/style.css +1205 -1205
  132. package/dist/rating/style.css +1205 -1205
  133. package/dist/result/style.css +1351 -1351
  134. package/dist/scroll-top/style.css +1336 -1336
  135. package/dist/scrollbar/style.css +1338 -1338
  136. package/dist/segmented/style.css +1205 -1205
  137. package/dist/select/style.css +2115 -2115
  138. package/dist/select-button/style.css +1314 -1314
  139. package/dist/shared/styles/control-affix-icon.css +110 -110
  140. package/dist/shared/styles/control-suffix.css +118 -118
  141. package/dist/shared/styles/select-overlay.css +177 -177
  142. package/dist/sidebar/style.css +1279 -1279
  143. package/dist/skeleton/style.css +1205 -1205
  144. package/dist/slider/style.css +1418 -1418
  145. package/dist/space/style.css +1205 -1205
  146. package/dist/speed-dial/style.css +1205 -1205
  147. package/dist/split-button/style.css +2119 -2119
  148. package/dist/splitter/style.css +1205 -1205
  149. package/dist/statistic/style.css +1205 -1205
  150. package/dist/status/style.css +1395 -1395
  151. package/dist/stepper/style.css +1357 -1357
  152. package/dist/styles/base.css +804 -804
  153. package/dist/switch/style.css +1336 -1336
  154. package/dist/table/style.css +1840 -1840
  155. package/dist/tabs/style.css +1501 -1501
  156. package/dist/tag/style.css +1205 -1205
  157. package/dist/terminal/style.css +1282 -1282
  158. package/dist/textarea/style.css +1476 -1476
  159. package/dist/theme/styles.css +401 -401
  160. package/dist/tiered-menu/style.css +1461 -1461
  161. package/dist/time-picker/style.css +1660 -1660
  162. package/dist/timeline/style.css +1493 -1493
  163. package/dist/toast/style.css +1903 -1903
  164. package/dist/toggle-button/style.css +1205 -1205
  165. package/dist/toolbar/style.css +1205 -1205
  166. package/dist/tooltip/style.css +1205 -1205
  167. package/dist/tour/style.css +1903 -1903
  168. package/dist/tree/style.css +1205 -1205
  169. package/dist/tree-select/style.css +1913 -1913
  170. package/dist/typography/style.css +1351 -1351
  171. package/dist/virtual-scroller/style.css +1366 -1366
  172. package/dist/watermark/style.css +1205 -1205
  173. package/package.json +2 -1
@@ -1,392 +1,392 @@
1
- .m-input:hover:not(:disabled):not(:focus):not(.m-input--invalid):not(
2
- .m-input--warning
3
- ) {
4
- border-color: var(--m-color-primary-hover);
5
- }
6
-
7
- /* Outlined active state: border color + soft control-outline shadow */
8
- .m-input:focus,
9
- .m-input:focus-visible {
10
- border-color: var(--m-color-primary);
11
- box-shadow: var(--m-focus-shadow);
12
- outline: 0;
13
- }
14
-
15
- .m-input--invalid:hover:not(:disabled):not(:focus) {
16
- border-color: var(--m-color-danger);
17
- }
18
-
19
- .m-input--invalid:focus,
20
- .m-input--invalid:focus-visible {
21
- border-color: var(--m-color-danger);
22
- box-shadow: var(--m-focus-shadow-danger);
23
- outline: 0;
24
- }
25
-
26
- .m-input--warning:hover:not(:disabled):not(:focus) {
27
- border-color: var(--m-color-warning);
28
- }
29
-
30
- .m-input--warning:focus,
31
- .m-input--warning:focus-visible {
32
- border-color: var(--m-color-warning);
33
- box-shadow: var(--m-focus-shadow-warning);
34
- outline: 0;
35
- }
36
-
37
- .m-input-field {
38
- display: grid;
39
- gap: var(--m-space-2);
40
- }
41
-
42
- .m-input-field--fluid {
43
- width: 100%;
44
- }
45
-
46
- .m-input-field__label {
47
- color: var(--m-color-text);
48
- font-family: var(--m-font-sans);
49
- font-size: var(--m-font-size-md);
50
- font-weight: 500;
51
- }
52
-
53
- .m-input-field__help {
54
- color: var(--m-color-text-muted);
55
- font-size: var(--m-font-size-xs);
56
- }
57
-
58
- .m-input-field__help--invalid {
59
- color: var(--m-color-danger);
60
- }
61
-
62
- .m-input-field__control {
63
- position: relative;
64
- }
65
-
66
- /*
67
- * Affix/clear shell: prefix/suffix participate in flex flow so long slot
68
- * content reserves real width instead of fighting fixed input padding.
69
- */
70
- .m-input-field__control--prefixed,
71
- .m-input-field__control--suffixed,
72
- .m-input-field__control--clearable {
73
- align-items: center;
74
- background: var(--m-color-surface);
75
- border: var(--m-border-width) solid var(--m-color-border);
76
- border-radius: var(--m-radius-control);
77
- box-sizing: border-box;
78
- display: flex;
79
- max-width: 100%;
80
- min-height: var(--m-control-height-medium);
81
- transition:
82
- border-color var(--m-motion-fast) var(--m-motion-ease),
83
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
84
- background-color var(--m-motion-fast) var(--m-motion-ease);
85
- }
86
-
87
- .m-input-field--fluid .m-input-field__control--prefixed,
88
- .m-input-field--fluid .m-input-field__control--suffixed,
89
- .m-input-field--fluid .m-input-field__control--clearable {
90
- width: 100%;
91
- }
92
-
93
- .m-input-field__control--prefixed:has(.m-input--small),
94
- .m-input-field__control--suffixed:has(.m-input--small),
95
- .m-input-field__control--clearable:has(.m-input--small),
96
- .m-input-field__control--prefixed:has(.m-input--sm),
97
- .m-input-field__control--suffixed:has(.m-input--sm),
98
- .m-input-field__control--clearable:has(.m-input--sm) {
99
- min-height: var(--m-control-height-small);
100
- }
101
-
102
- .m-input-field__control--prefixed:has(.m-input--large),
103
- .m-input-field__control--suffixed:has(.m-input--large),
104
- .m-input-field__control--clearable:has(.m-input--large),
105
- .m-input-field__control--prefixed:has(.m-input--lg),
106
- .m-input-field__control--suffixed:has(.m-input--lg),
107
- .m-input-field__control--clearable:has(.m-input--lg) {
108
- min-height: var(--m-control-height-large);
109
- }
110
-
111
- .m-input-field__control--prefixed:has(.m-input--filled),
112
- .m-input-field__control--suffixed:has(.m-input--filled),
113
- .m-input-field__control--clearable:has(.m-input--filled) {
114
- background: color-mix(
115
- in srgb,
116
- var(--m-color-text-muted) 12%,
117
- var(--m-color-surface)
118
- );
119
- border-color: transparent;
120
- }
121
-
122
- .m-input-field__control--prefixed:has(.m-input--invalid),
123
- .m-input-field__control--suffixed:has(.m-input--invalid),
124
- .m-input-field__control--clearable:has(.m-input--invalid) {
125
- border-color: var(--m-color-danger);
126
- }
127
-
128
- .m-input-field__control--prefixed:has(.m-input--warning),
129
- .m-input-field__control--suffixed:has(.m-input--warning),
130
- .m-input-field__control--clearable:has(.m-input--warning) {
131
- border-color: var(--m-color-warning);
132
- }
133
-
134
- .m-input-field__control--prefixed:hover:not(:focus-within):has(
135
- .m-input:not(:disabled)
136
- ),
137
- .m-input-field__control--suffixed:hover:not(:focus-within):has(
138
- .m-input:not(:disabled)
139
- ),
140
- .m-input-field__control--clearable:hover:not(:focus-within):has(
141
- .m-input:not(:disabled)
142
- ) {
143
- border-color: var(--m-color-primary-hover);
144
- }
145
-
146
- .m-input-field__control--prefixed:focus-within,
147
- .m-input-field__control--suffixed:focus-within,
148
- .m-input-field__control--clearable:focus-within {
149
- border-color: var(--m-color-primary);
150
- box-shadow: var(--m-focus-shadow);
151
- }
152
-
153
- .m-input-field__control--prefixed:has(.m-input--invalid):focus-within,
154
- .m-input-field__control--suffixed:has(.m-input--invalid):focus-within,
155
- .m-input-field__control--clearable:has(.m-input--invalid):focus-within {
156
- border-color: var(--m-color-danger);
157
- box-shadow: var(--m-focus-shadow-danger);
158
- }
159
-
160
- .m-input-field__control--prefixed:has(.m-input--warning):focus-within,
161
- .m-input-field__control--suffixed:has(.m-input--warning):focus-within,
162
- .m-input-field__control--clearable:has(.m-input--warning):focus-within {
163
- border-color: var(--m-color-warning);
164
- box-shadow: var(--m-focus-shadow-warning);
165
- }
166
-
167
- .m-input-field__control--prefixed:has(.m-input:disabled),
168
- .m-input-field__control--suffixed:has(.m-input:disabled),
169
- .m-input-field__control--clearable:has(.m-input:disabled) {
170
- background-color: var(--m-color-bg-disabled);
171
- color: var(--m-color-text-disabled);
172
- cursor: not-allowed;
173
- opacity: 1;
174
- }
175
-
176
- .m-input-field__control--prefixed .m-input,
177
- .m-input-field__control--suffixed .m-input,
178
- .m-input-field__control--clearable .m-input {
179
- background: transparent;
180
- border: 0;
181
- border-radius: 0;
182
- box-shadow: none;
183
- flex: 1 1 auto;
184
- height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
185
- line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
186
- min-height: 0;
187
- min-width: 0;
188
- width: auto;
189
- }
190
-
191
- .m-input-field__control--prefixed:has(.m-input--small) .m-input,
192
- .m-input-field__control--suffixed:has(.m-input--small) .m-input,
193
- .m-input-field__control--clearable:has(.m-input--small) .m-input,
194
- .m-input-field__control--prefixed:has(.m-input--sm) .m-input,
195
- .m-input-field__control--suffixed:has(.m-input--sm) .m-input,
196
- .m-input-field__control--clearable:has(.m-input--sm) .m-input {
197
- height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
198
- line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
199
- }
200
-
201
- .m-input-field__control--prefixed:has(.m-input--large) .m-input,
202
- .m-input-field__control--suffixed:has(.m-input--large) .m-input,
203
- .m-input-field__control--clearable:has(.m-input--large) .m-input,
204
- .m-input-field__control--prefixed:has(.m-input--lg) .m-input,
205
- .m-input-field__control--suffixed:has(.m-input--lg) .m-input,
206
- .m-input-field__control--clearable:has(.m-input--lg) .m-input {
207
- height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
208
- line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
209
- }
210
-
211
- .m-input-field__control--prefixed .m-input:hover:not(:disabled):not(:focus),
212
- .m-input-field__control--suffixed .m-input:hover:not(:disabled):not(:focus),
213
- .m-input-field__control--clearable .m-input:hover:not(:disabled):not(:focus),
214
- .m-input-field__control--prefixed .m-input:focus-visible,
215
- .m-input-field__control--suffixed .m-input:focus-visible,
216
- .m-input-field__control--clearable .m-input:focus-visible,
217
- .m-input-field__control--prefixed .m-input--invalid:focus-visible,
218
- .m-input-field__control--suffixed .m-input--invalid:focus-visible,
219
- .m-input-field__control--clearable .m-input--invalid:focus-visible {
220
- border-color: transparent;
221
- box-shadow: none;
222
- }
223
-
224
- .m-input-field__control--prefixed .m-input {
225
- padding-left: 0;
226
- }
227
-
228
- .m-input-field__control--suffixed .m-input,
229
- .m-input-field__control--clearable.m-input-field__control--suffixed .m-input {
230
- padding-right: 0;
231
- }
232
-
233
- .m-input__prefix,
234
- .m-input__suffix {
235
- align-items: center;
236
- color: var(--m-color-text-muted);
237
- display: inline-flex;
238
- flex: 0 0 auto;
239
- font-size: inherit;
240
- gap: var(--m-space-1);
241
- line-height: 1;
242
- padding-inline: var(--m-space-2);
243
- pointer-events: none;
244
- white-space: nowrap;
245
- }
246
-
247
- .m-input-field__control--prefixed .m-input__prefix,
248
- .m-input-field__control--suffixed .m-input__suffix {
249
- font-size: var(--m-control-font-medium);
250
- }
251
-
252
- .m-input-field__control:has(.m-input--small) .m-input__prefix,
253
- .m-input-field__control:has(.m-input--small) .m-input__suffix,
254
- .m-input-field__control:has(.m-input--sm) .m-input__prefix,
255
- .m-input-field__control:has(.m-input--sm) .m-input__suffix {
256
- font-size: var(--m-control-font-small);
257
- padding-inline: var(--m-space-2);
258
- }
259
-
260
- .m-input-field__control:has(.m-input--large) .m-input__prefix,
261
- .m-input-field__control:has(.m-input--large) .m-input__suffix,
262
- .m-input-field__control:has(.m-input--lg) .m-input__prefix,
263
- .m-input-field__control:has(.m-input--lg) .m-input__suffix {
264
- font-size: var(--m-control-font-large);
265
- padding-inline: var(--m-space-3);
266
- }
267
-
268
- .m-input__prefix button,
269
- .m-input__suffix button,
270
- .m-input__prefix a,
271
- .m-input__suffix a {
272
- pointer-events: auto;
273
- }
274
-
275
- .m-input {
276
- background: var(--m-color-surface);
277
- border: var(--m-border-width) solid var(--m-color-border);
278
- border-radius: var(--m-radius-control);
279
- color: var(--m-color-text);
280
- font-family: var(--m-font-sans);
281
- font-size: var(--m-control-font-medium);
282
- line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
283
- min-height: var(--m-control-height-medium);
284
- padding: 0 var(--m-control-padding-x-medium);
285
- transition:
286
- border-color var(--m-motion-fast) var(--m-motion-ease),
287
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
288
- background-color var(--m-motion-fast) var(--m-motion-ease),
289
- opacity var(--m-motion-fast) var(--m-motion-ease);
290
- }
291
-
292
- .m-input--filled {
293
- background: color-mix(
294
- in srgb,
295
- var(--m-color-text-muted) 12%,
296
- var(--m-color-surface)
297
- );
298
- border-color: transparent;
299
- }
300
-
301
- .m-input--fluid {
302
- width: 100%;
303
- }
304
-
305
- .m-input--invalid {
306
- border-color: var(--m-color-danger);
307
- }
308
-
309
- .m-input--warning {
310
- border-color: var(--m-color-warning);
311
- }
312
-
313
- .m-input--small,
314
- .m-input--sm {
315
- font-size: var(--m-control-font-small);
316
- line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
317
- min-height: var(--m-control-height-small);
318
- padding: 0 var(--m-control-padding-x-small);
319
- }
320
-
321
- .m-input--normal {
322
- font-size: var(--m-control-font-medium);
323
- line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
324
- min-height: var(--m-control-height-medium);
325
- padding: 0 var(--m-control-padding-x-medium);
326
- }
327
-
328
- .m-input--large,
329
- .m-input--lg {
330
- font-size: var(--m-control-font-large);
331
- line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
332
- min-height: var(--m-control-height-large);
333
- padding: 0 var(--m-control-padding-x-large);
334
- }
335
-
336
- .m-input-field__control .m-input {
337
- width: 100%;
338
- }
339
-
340
- .m-input-field__control--prefixed .m-input,
341
- .m-input-field__control--suffixed .m-input,
342
- .m-input-field__control--clearable .m-input {
343
- width: auto;
344
- }
345
-
346
- .m-input__clear {
347
- align-items: center;
348
- align-self: center;
349
- background: transparent;
350
- border: 0;
351
- border-radius: var(--m-radius-sm);
352
- color: var(--m-color-text-muted);
353
- cursor: pointer;
354
- display: flex;
355
- flex: 0 0 auto;
356
- font-size: var(--m-font-size-lg);
357
- height: min(
358
- var(--m-control-affix-size),
359
- calc(var(--m-control-height-medium) - 2 * var(--m-border-width))
360
- );
361
- justify-content: center;
362
- max-height: 100%;
363
- padding: 0;
364
- width: min(
365
- var(--m-control-affix-size),
366
- calc(var(--m-control-height-medium) - 2 * var(--m-border-width))
367
- );
368
- }
369
-
370
- .m-input-field__control:has(.m-input--small) .m-input__clear {
371
- height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
372
- width: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
373
- }
374
-
375
- .m-input-field__control:has(.m-input--large) .m-input__clear {
376
- height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
377
- width: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
378
- }
379
-
380
- .m-input__clear:hover:not(:disabled) {
381
- color: var(--m-color-text);
382
- }
383
-
384
- .m-input__clear:focus-visible {
385
- box-shadow: var(--m-focus-shadow);
386
- outline: none;
387
- }
388
-
389
- .m-input__clear:disabled {
390
- cursor: not-allowed;
391
- opacity: var(--m-opacity-disabled);
392
- }
1
+ .m-input:hover:not(:disabled):not(:focus):not(.m-input--invalid):not(
2
+ .m-input--warning
3
+ ) {
4
+ border-color: var(--m-color-primary-hover);
5
+ }
6
+
7
+ /* Outlined active state: border color + soft control-outline shadow */
8
+ .m-input:focus,
9
+ .m-input:focus-visible {
10
+ border-color: var(--m-color-primary);
11
+ box-shadow: var(--m-focus-shadow);
12
+ outline: 0;
13
+ }
14
+
15
+ .m-input--invalid:hover:not(:disabled):not(:focus) {
16
+ border-color: var(--m-color-danger);
17
+ }
18
+
19
+ .m-input--invalid:focus,
20
+ .m-input--invalid:focus-visible {
21
+ border-color: var(--m-color-danger);
22
+ box-shadow: var(--m-focus-shadow-danger);
23
+ outline: 0;
24
+ }
25
+
26
+ .m-input--warning:hover:not(:disabled):not(:focus) {
27
+ border-color: var(--m-color-warning);
28
+ }
29
+
30
+ .m-input--warning:focus,
31
+ .m-input--warning:focus-visible {
32
+ border-color: var(--m-color-warning);
33
+ box-shadow: var(--m-focus-shadow-warning);
34
+ outline: 0;
35
+ }
36
+
37
+ .m-input-field {
38
+ display: grid;
39
+ gap: var(--m-space-2);
40
+ }
41
+
42
+ .m-input-field--fluid {
43
+ width: 100%;
44
+ }
45
+
46
+ .m-input-field__label {
47
+ color: var(--m-color-text);
48
+ font-family: var(--m-font-sans);
49
+ font-size: var(--m-font-size-md);
50
+ font-weight: 500;
51
+ }
52
+
53
+ .m-input-field__help {
54
+ color: var(--m-color-text-muted);
55
+ font-size: var(--m-font-size-xs);
56
+ }
57
+
58
+ .m-input-field__help--invalid {
59
+ color: var(--m-color-danger);
60
+ }
61
+
62
+ .m-input-field__control {
63
+ position: relative;
64
+ }
65
+
66
+ /*
67
+ * Affix/clear shell: prefix/suffix participate in flex flow so long slot
68
+ * content reserves real width instead of fighting fixed input padding.
69
+ */
70
+ .m-input-field__control--prefixed,
71
+ .m-input-field__control--suffixed,
72
+ .m-input-field__control--clearable {
73
+ align-items: center;
74
+ background: var(--m-color-surface);
75
+ border: var(--m-border-width) solid var(--m-color-border);
76
+ border-radius: var(--m-radius-control);
77
+ box-sizing: border-box;
78
+ display: flex;
79
+ max-width: 100%;
80
+ min-height: var(--m-control-height-medium);
81
+ transition:
82
+ border-color var(--m-motion-fast) var(--m-motion-ease),
83
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
84
+ background-color var(--m-motion-fast) var(--m-motion-ease);
85
+ }
86
+
87
+ .m-input-field--fluid .m-input-field__control--prefixed,
88
+ .m-input-field--fluid .m-input-field__control--suffixed,
89
+ .m-input-field--fluid .m-input-field__control--clearable {
90
+ width: 100%;
91
+ }
92
+
93
+ .m-input-field__control--prefixed:has(.m-input--small),
94
+ .m-input-field__control--suffixed:has(.m-input--small),
95
+ .m-input-field__control--clearable:has(.m-input--small),
96
+ .m-input-field__control--prefixed:has(.m-input--sm),
97
+ .m-input-field__control--suffixed:has(.m-input--sm),
98
+ .m-input-field__control--clearable:has(.m-input--sm) {
99
+ min-height: var(--m-control-height-small);
100
+ }
101
+
102
+ .m-input-field__control--prefixed:has(.m-input--large),
103
+ .m-input-field__control--suffixed:has(.m-input--large),
104
+ .m-input-field__control--clearable:has(.m-input--large),
105
+ .m-input-field__control--prefixed:has(.m-input--lg),
106
+ .m-input-field__control--suffixed:has(.m-input--lg),
107
+ .m-input-field__control--clearable:has(.m-input--lg) {
108
+ min-height: var(--m-control-height-large);
109
+ }
110
+
111
+ .m-input-field__control--prefixed:has(.m-input--filled),
112
+ .m-input-field__control--suffixed:has(.m-input--filled),
113
+ .m-input-field__control--clearable:has(.m-input--filled) {
114
+ background: color-mix(
115
+ in srgb,
116
+ var(--m-color-text-muted) 12%,
117
+ var(--m-color-surface)
118
+ );
119
+ border-color: transparent;
120
+ }
121
+
122
+ .m-input-field__control--prefixed:has(.m-input--invalid),
123
+ .m-input-field__control--suffixed:has(.m-input--invalid),
124
+ .m-input-field__control--clearable:has(.m-input--invalid) {
125
+ border-color: var(--m-color-danger);
126
+ }
127
+
128
+ .m-input-field__control--prefixed:has(.m-input--warning),
129
+ .m-input-field__control--suffixed:has(.m-input--warning),
130
+ .m-input-field__control--clearable:has(.m-input--warning) {
131
+ border-color: var(--m-color-warning);
132
+ }
133
+
134
+ .m-input-field__control--prefixed:hover:not(:focus-within):has(
135
+ .m-input:not(:disabled)
136
+ ),
137
+ .m-input-field__control--suffixed:hover:not(:focus-within):has(
138
+ .m-input:not(:disabled)
139
+ ),
140
+ .m-input-field__control--clearable:hover:not(:focus-within):has(
141
+ .m-input:not(:disabled)
142
+ ) {
143
+ border-color: var(--m-color-primary-hover);
144
+ }
145
+
146
+ .m-input-field__control--prefixed:focus-within,
147
+ .m-input-field__control--suffixed:focus-within,
148
+ .m-input-field__control--clearable:focus-within {
149
+ border-color: var(--m-color-primary);
150
+ box-shadow: var(--m-focus-shadow);
151
+ }
152
+
153
+ .m-input-field__control--prefixed:has(.m-input--invalid):focus-within,
154
+ .m-input-field__control--suffixed:has(.m-input--invalid):focus-within,
155
+ .m-input-field__control--clearable:has(.m-input--invalid):focus-within {
156
+ border-color: var(--m-color-danger);
157
+ box-shadow: var(--m-focus-shadow-danger);
158
+ }
159
+
160
+ .m-input-field__control--prefixed:has(.m-input--warning):focus-within,
161
+ .m-input-field__control--suffixed:has(.m-input--warning):focus-within,
162
+ .m-input-field__control--clearable:has(.m-input--warning):focus-within {
163
+ border-color: var(--m-color-warning);
164
+ box-shadow: var(--m-focus-shadow-warning);
165
+ }
166
+
167
+ .m-input-field__control--prefixed:has(.m-input:disabled),
168
+ .m-input-field__control--suffixed:has(.m-input:disabled),
169
+ .m-input-field__control--clearable:has(.m-input:disabled) {
170
+ background-color: var(--m-color-bg-disabled);
171
+ color: var(--m-color-text-disabled);
172
+ cursor: not-allowed;
173
+ opacity: 1;
174
+ }
175
+
176
+ .m-input-field__control--prefixed .m-input,
177
+ .m-input-field__control--suffixed .m-input,
178
+ .m-input-field__control--clearable .m-input {
179
+ background: transparent;
180
+ border: 0;
181
+ border-radius: 0;
182
+ box-shadow: none;
183
+ flex: 1 1 auto;
184
+ height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
185
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
186
+ min-height: 0;
187
+ min-width: 0;
188
+ width: auto;
189
+ }
190
+
191
+ .m-input-field__control--prefixed:has(.m-input--small) .m-input,
192
+ .m-input-field__control--suffixed:has(.m-input--small) .m-input,
193
+ .m-input-field__control--clearable:has(.m-input--small) .m-input,
194
+ .m-input-field__control--prefixed:has(.m-input--sm) .m-input,
195
+ .m-input-field__control--suffixed:has(.m-input--sm) .m-input,
196
+ .m-input-field__control--clearable:has(.m-input--sm) .m-input {
197
+ height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
198
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
199
+ }
200
+
201
+ .m-input-field__control--prefixed:has(.m-input--large) .m-input,
202
+ .m-input-field__control--suffixed:has(.m-input--large) .m-input,
203
+ .m-input-field__control--clearable:has(.m-input--large) .m-input,
204
+ .m-input-field__control--prefixed:has(.m-input--lg) .m-input,
205
+ .m-input-field__control--suffixed:has(.m-input--lg) .m-input,
206
+ .m-input-field__control--clearable:has(.m-input--lg) .m-input {
207
+ height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
208
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
209
+ }
210
+
211
+ .m-input-field__control--prefixed .m-input:hover:not(:disabled):not(:focus),
212
+ .m-input-field__control--suffixed .m-input:hover:not(:disabled):not(:focus),
213
+ .m-input-field__control--clearable .m-input:hover:not(:disabled):not(:focus),
214
+ .m-input-field__control--prefixed .m-input:focus-visible,
215
+ .m-input-field__control--suffixed .m-input:focus-visible,
216
+ .m-input-field__control--clearable .m-input:focus-visible,
217
+ .m-input-field__control--prefixed .m-input--invalid:focus-visible,
218
+ .m-input-field__control--suffixed .m-input--invalid:focus-visible,
219
+ .m-input-field__control--clearable .m-input--invalid:focus-visible {
220
+ border-color: transparent;
221
+ box-shadow: none;
222
+ }
223
+
224
+ .m-input-field__control--prefixed .m-input {
225
+ padding-left: 0;
226
+ }
227
+
228
+ .m-input-field__control--suffixed .m-input,
229
+ .m-input-field__control--clearable.m-input-field__control--suffixed .m-input {
230
+ padding-right: 0;
231
+ }
232
+
233
+ .m-input__prefix,
234
+ .m-input__suffix {
235
+ align-items: center;
236
+ color: var(--m-color-text-muted);
237
+ display: inline-flex;
238
+ flex: 0 0 auto;
239
+ font-size: inherit;
240
+ gap: var(--m-space-1);
241
+ line-height: 1;
242
+ padding-inline: var(--m-space-2);
243
+ pointer-events: none;
244
+ white-space: nowrap;
245
+ }
246
+
247
+ .m-input-field__control--prefixed .m-input__prefix,
248
+ .m-input-field__control--suffixed .m-input__suffix {
249
+ font-size: var(--m-control-font-medium);
250
+ }
251
+
252
+ .m-input-field__control:has(.m-input--small) .m-input__prefix,
253
+ .m-input-field__control:has(.m-input--small) .m-input__suffix,
254
+ .m-input-field__control:has(.m-input--sm) .m-input__prefix,
255
+ .m-input-field__control:has(.m-input--sm) .m-input__suffix {
256
+ font-size: var(--m-control-font-small);
257
+ padding-inline: var(--m-space-2);
258
+ }
259
+
260
+ .m-input-field__control:has(.m-input--large) .m-input__prefix,
261
+ .m-input-field__control:has(.m-input--large) .m-input__suffix,
262
+ .m-input-field__control:has(.m-input--lg) .m-input__prefix,
263
+ .m-input-field__control:has(.m-input--lg) .m-input__suffix {
264
+ font-size: var(--m-control-font-large);
265
+ padding-inline: var(--m-space-3);
266
+ }
267
+
268
+ .m-input__prefix button,
269
+ .m-input__suffix button,
270
+ .m-input__prefix a,
271
+ .m-input__suffix a {
272
+ pointer-events: auto;
273
+ }
274
+
275
+ .m-input {
276
+ background: var(--m-color-surface);
277
+ border: var(--m-border-width) solid var(--m-color-border);
278
+ border-radius: var(--m-radius-control);
279
+ color: var(--m-color-text);
280
+ font-family: var(--m-font-sans);
281
+ font-size: var(--m-control-font-medium);
282
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
283
+ min-height: var(--m-control-height-medium);
284
+ padding: 0 var(--m-control-padding-x-medium);
285
+ transition:
286
+ border-color var(--m-motion-fast) var(--m-motion-ease),
287
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
288
+ background-color var(--m-motion-fast) var(--m-motion-ease),
289
+ opacity var(--m-motion-fast) var(--m-motion-ease);
290
+ }
291
+
292
+ .m-input--filled {
293
+ background: color-mix(
294
+ in srgb,
295
+ var(--m-color-text-muted) 12%,
296
+ var(--m-color-surface)
297
+ );
298
+ border-color: transparent;
299
+ }
300
+
301
+ .m-input--fluid {
302
+ width: 100%;
303
+ }
304
+
305
+ .m-input--invalid {
306
+ border-color: var(--m-color-danger);
307
+ }
308
+
309
+ .m-input--warning {
310
+ border-color: var(--m-color-warning);
311
+ }
312
+
313
+ .m-input--small,
314
+ .m-input--sm {
315
+ font-size: var(--m-control-font-small);
316
+ line-height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
317
+ min-height: var(--m-control-height-small);
318
+ padding: 0 var(--m-control-padding-x-small);
319
+ }
320
+
321
+ .m-input--normal {
322
+ font-size: var(--m-control-font-medium);
323
+ line-height: calc(var(--m-control-height-medium) - 2 * var(--m-border-width));
324
+ min-height: var(--m-control-height-medium);
325
+ padding: 0 var(--m-control-padding-x-medium);
326
+ }
327
+
328
+ .m-input--large,
329
+ .m-input--lg {
330
+ font-size: var(--m-control-font-large);
331
+ line-height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
332
+ min-height: var(--m-control-height-large);
333
+ padding: 0 var(--m-control-padding-x-large);
334
+ }
335
+
336
+ .m-input-field__control .m-input {
337
+ width: 100%;
338
+ }
339
+
340
+ .m-input-field__control--prefixed .m-input,
341
+ .m-input-field__control--suffixed .m-input,
342
+ .m-input-field__control--clearable .m-input {
343
+ width: auto;
344
+ }
345
+
346
+ .m-input__clear {
347
+ align-items: center;
348
+ align-self: center;
349
+ background: transparent;
350
+ border: 0;
351
+ border-radius: var(--m-radius-sm);
352
+ color: var(--m-color-text-muted);
353
+ cursor: pointer;
354
+ display: flex;
355
+ flex: 0 0 auto;
356
+ font-size: var(--m-font-size-lg);
357
+ height: min(
358
+ var(--m-control-affix-size),
359
+ calc(var(--m-control-height-medium) - 2 * var(--m-border-width))
360
+ );
361
+ justify-content: center;
362
+ max-height: 100%;
363
+ padding: 0;
364
+ width: min(
365
+ var(--m-control-affix-size),
366
+ calc(var(--m-control-height-medium) - 2 * var(--m-border-width))
367
+ );
368
+ }
369
+
370
+ .m-input-field__control:has(.m-input--small) .m-input__clear {
371
+ height: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
372
+ width: calc(var(--m-control-height-small) - 2 * var(--m-border-width));
373
+ }
374
+
375
+ .m-input-field__control:has(.m-input--large) .m-input__clear {
376
+ height: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
377
+ width: calc(var(--m-control-height-large) - 2 * var(--m-border-width));
378
+ }
379
+
380
+ .m-input__clear:hover:not(:disabled) {
381
+ color: var(--m-color-text);
382
+ }
383
+
384
+ .m-input__clear:focus-visible {
385
+ box-shadow: var(--m-focus-shadow);
386
+ outline: none;
387
+ }
388
+
389
+ .m-input__clear:disabled {
390
+ cursor: not-allowed;
391
+ opacity: var(--m-opacity-disabled);
392
+ }