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,359 +1,359 @@
1
- /* —— Form: FileUpload —— */
2
- .m-fileupload {
3
- --m-fileupload-dropzone-min-height: 10rem;
4
- --m-fileupload-icon-size: 2.5rem;
5
- --m-fileupload-thumb-size: 2.5rem;
6
- --m-fileupload-card-size: 7.5rem;
7
- --m-fileupload-progress-height: 0.25rem;
8
- display: flex;
9
- flex-direction: column;
10
- font-family: var(--m-font-sans);
11
- gap: var(--m-space-2);
12
- }
13
-
14
- .m-fileupload__input {
15
- display: none;
16
- }
17
-
18
- .m-fileupload__choose,
19
- .m-fileupload__clear {
20
- align-self: flex-start;
21
- background: var(--m-color-primary);
22
- border: 0;
23
- border-radius: var(--m-radius-control);
24
- color: var(--m-color-on-emphasis);
25
- cursor: pointer;
26
- font-family: var(--m-font-sans);
27
- font-weight: 600;
28
- padding: var(--m-space-2) var(--m-space-3);
29
- transition:
30
- background-color var(--m-motion-fast) var(--m-motion-ease),
31
- border-color var(--m-motion-fast) var(--m-motion-ease),
32
- color var(--m-motion-fast) var(--m-motion-ease),
33
- box-shadow var(--m-motion-fast) var(--m-motion-ease),
34
- opacity var(--m-motion-fast) var(--m-motion-ease);
35
- }
36
-
37
- .m-fileupload__clear {
38
- background: transparent;
39
- border: var(--m-border-width) solid var(--m-color-border);
40
- color: var(--m-color-text);
41
- }
42
-
43
- .m-fileupload__choose:hover:not(:disabled) {
44
- background: var(--m-color-primary-hover);
45
- }
46
-
47
- .m-fileupload__choose:disabled,
48
- .m-fileupload__clear:disabled {
49
- cursor: not-allowed;
50
- opacity: var(--m-opacity-disabled);
51
- }
52
-
53
- .m-fileupload__choose:focus-visible,
54
- .m-fileupload__clear:focus-visible {
55
- box-shadow: var(--m-focus-shadow);
56
- outline: none;
57
- }
58
-
59
- .m-fileupload__clear:hover:not(:disabled) {
60
- background: color-mix(
61
- in srgb,
62
- var(--m-color-primary) 10%,
63
- var(--m-color-surface)
64
- );
65
- }
66
-
67
- .m-fileupload--disabled .m-fileupload__choose,
68
- .m-fileupload--disabled .m-fileupload__dragger {
69
- cursor: not-allowed;
70
- opacity: var(--m-opacity-disabled);
71
- pointer-events: none;
72
- }
73
-
74
- .m-fileupload__dragger {
75
- align-items: center;
76
- background: color-mix(
77
- in srgb,
78
- var(--m-color-surface) 92%,
79
- var(--m-color-primary) 8%
80
- );
81
- border: var(--m-border-width) dashed var(--m-color-border);
82
- border-radius: var(--m-radius-md);
83
- cursor: pointer;
84
- display: flex;
85
- flex-direction: column;
86
- gap: var(--m-space-2);
87
- justify-content: center;
88
- min-height: var(--m-fileupload-dropzone-min-height);
89
- padding: var(--m-space-6) var(--m-space-4);
90
- text-align: center;
91
- transition:
92
- background-color var(--m-motion-fast) var(--m-motion-ease),
93
- border-color var(--m-motion-fast) var(--m-motion-ease);
94
- width: 100%;
95
- }
96
-
97
- .m-fileupload__dragger:hover,
98
- .m-fileupload__dragger--over {
99
- background: color-mix(
100
- in srgb,
101
- var(--m-color-primary) 10%,
102
- var(--m-color-surface)
103
- );
104
- border-color: var(--m-color-primary);
105
- }
106
-
107
- .m-fileupload__dragger:focus-visible {
108
- border-color: var(--m-color-primary);
109
- box-shadow: var(--m-focus-shadow);
110
- outline: none;
111
- }
112
-
113
- .m-fileupload__icon {
114
- color: var(--m-color-primary);
115
- height: var(--m-fileupload-icon-size);
116
- width: var(--m-fileupload-icon-size);
117
- }
118
-
119
- .m-fileupload__icon svg {
120
- height: 100%;
121
- width: 100%;
122
- }
123
-
124
- .m-fileupload__text {
125
- color: var(--m-color-text);
126
- font-size: var(--m-font-size-md);
127
- margin: 0;
128
- }
129
-
130
- .m-fileupload__text em {
131
- color: var(--m-color-primary);
132
- font-style: normal;
133
- font-weight: 600;
134
- }
135
-
136
- .m-fileupload__tip {
137
- color: var(--m-color-text-muted);
138
- font-size: var(--m-font-size-sm);
139
- }
140
-
141
- .m-fileupload__list {
142
- border: var(--m-border-width) solid var(--m-color-border);
143
- border-radius: var(--m-radius-md);
144
- list-style: none;
145
- margin: 0;
146
- padding: var(--m-space-2);
147
- }
148
-
149
- .m-fileupload__file {
150
- display: flex;
151
- flex-direction: column;
152
- gap: var(--m-space-1);
153
- padding: var(--m-space-2) 0;
154
- }
155
-
156
- .m-fileupload__file + .m-fileupload__file {
157
- border-top: var(--m-border-width) solid var(--m-color-border);
158
- }
159
-
160
- .m-fileupload__file-body {
161
- align-items: center;
162
- display: flex;
163
- gap: var(--m-space-3);
164
- min-width: 0;
165
- }
166
-
167
- .m-fileupload__name {
168
- flex: 1 1 auto;
169
- min-width: 0;
170
- overflow: hidden;
171
- text-overflow: ellipsis;
172
- white-space: nowrap;
173
- }
174
-
175
- .m-fileupload__file--fail .m-fileupload__name,
176
- .m-fileupload__status {
177
- color: var(--m-color-danger);
178
- }
179
-
180
- .m-fileupload__size,
181
- .m-fileupload__status {
182
- flex: 0 0 auto;
183
- font-size: var(--m-font-size-sm);
184
- }
185
-
186
- .m-fileupload__size {
187
- color: var(--m-color-text-muted);
188
- }
189
-
190
- .m-fileupload__thumb {
191
- border-radius: var(--m-radius-sm);
192
- cursor: pointer;
193
- flex: 0 0 auto;
194
- height: var(--m-fileupload-thumb-size);
195
- object-fit: cover;
196
- width: var(--m-fileupload-thumb-size);
197
- }
198
-
199
- .m-fileupload__actions {
200
- display: inline-flex;
201
- flex: 0 0 auto;
202
- gap: var(--m-space-1);
203
- margin-left: auto;
204
- }
205
-
206
- .m-fileupload__action {
207
- align-items: center;
208
- background: transparent;
209
- border: 0;
210
- border-radius: var(--m-radius-sm);
211
- color: var(--m-color-text-muted);
212
- cursor: pointer;
213
- display: inline-flex;
214
- height: var(--m-control-affix-size);
215
- justify-content: center;
216
- padding: 0;
217
- transition: color var(--m-motion-fast) var(--m-motion-ease);
218
- width: var(--m-control-affix-size);
219
- }
220
-
221
- .m-fileupload__action:hover {
222
- color: var(--m-color-primary);
223
- }
224
-
225
- .m-fileupload__action:focus-visible {
226
- box-shadow: var(--m-focus-shadow);
227
- outline: none;
228
- }
229
-
230
- .m-fileupload__action:disabled {
231
- cursor: not-allowed;
232
- opacity: var(--m-opacity-disabled);
233
- }
234
-
235
- .m-fileupload__progress {
236
- background: var(--m-color-primary);
237
- border-radius: var(--m-radius-full, 999px);
238
- height: var(--m-fileupload-progress-height);
239
- max-width: 100%;
240
- }
241
-
242
- .m-fileupload__toolbar {
243
- display: flex;
244
- flex-wrap: wrap;
245
- gap: var(--m-space-2);
246
- }
247
-
248
- .m-fileupload__cards {
249
- display: flex;
250
- flex-wrap: wrap;
251
- gap: var(--m-space-3);
252
- }
253
-
254
- .m-fileupload__card {
255
- background: var(--m-color-surface);
256
- border: var(--m-border-width) solid var(--m-color-border);
257
- border-radius: var(--m-radius-md);
258
- box-sizing: border-box;
259
- height: var(--m-fileupload-card-size);
260
- overflow: hidden;
261
- position: relative;
262
- width: var(--m-fileupload-card-size);
263
- }
264
-
265
- .m-fileupload__card-image {
266
- cursor: pointer;
267
- display: block;
268
- height: 100%;
269
- object-fit: cover;
270
- width: 100%;
271
- }
272
-
273
- .m-fileupload__card-name {
274
- align-items: center;
275
- color: var(--m-color-text-muted);
276
- display: flex;
277
- font-size: var(--m-font-size-sm);
278
- height: 100%;
279
- justify-content: center;
280
- overflow: hidden;
281
- padding: var(--m-space-2);
282
- text-align: center;
283
- word-break: break-all;
284
- }
285
-
286
- .m-fileupload__card-mask,
287
- .m-fileupload__card-progress {
288
- align-items: center;
289
- display: flex;
290
- inset: 0;
291
- justify-content: center;
292
- position: absolute;
293
- }
294
-
295
- .m-fileupload__card-mask {
296
- background: color-mix(in srgb, var(--m-color-text) 48%, transparent);
297
- gap: var(--m-space-1);
298
- opacity: 0;
299
- transition: opacity var(--m-motion-fast) var(--m-motion-ease);
300
- }
301
-
302
- .m-fileupload__card:hover .m-fileupload__card-mask,
303
- .m-fileupload__card:focus-within .m-fileupload__card-mask {
304
- opacity: 1;
305
- }
306
-
307
- .m-fileupload__card-mask .m-fileupload__action {
308
- color: var(--m-color-on-emphasis);
309
- }
310
-
311
- .m-fileupload__card-mask .m-fileupload__action:hover {
312
- color: var(--m-color-primary);
313
- }
314
-
315
- .m-fileupload__card-progress {
316
- background: color-mix(in srgb, var(--m-color-surface) 78%, transparent);
317
- color: var(--m-color-text);
318
- font-size: var(--m-font-size-sm);
319
- }
320
-
321
- .m-fileupload__card--add {
322
- align-items: center;
323
- background: color-mix(
324
- in srgb,
325
- var(--m-color-surface) 92%,
326
- var(--m-color-primary) 8%
327
- );
328
- border-style: dashed;
329
- color: var(--m-color-text-muted);
330
- cursor: pointer;
331
- display: flex;
332
- font-family: var(--m-font-sans);
333
- justify-content: center;
334
- padding: 0;
335
- transition:
336
- border-color var(--m-motion-fast) var(--m-motion-ease),
337
- color var(--m-motion-fast) var(--m-motion-ease);
338
- }
339
-
340
- .m-fileupload__card--add:hover,
341
- .m-fileupload__cards--over .m-fileupload__card--add {
342
- border-color: var(--m-color-primary);
343
- color: var(--m-color-primary);
344
- }
345
-
346
- .m-fileupload__card--add:focus-visible {
347
- box-shadow: var(--m-focus-shadow);
348
- outline: none;
349
- }
350
-
351
- .m-fileupload__card--fail {
352
- border-color: var(--m-color-danger);
353
- }
354
-
355
- .m-fileupload--disabled .m-fileupload__card--add {
356
- cursor: not-allowed;
357
- opacity: var(--m-opacity-disabled);
358
- pointer-events: none;
359
- }
1
+ /* —— Form: FileUpload —— */
2
+ .m-fileupload {
3
+ --m-fileupload-dropzone-min-height: 10rem;
4
+ --m-fileupload-icon-size: 2.5rem;
5
+ --m-fileupload-thumb-size: 2.5rem;
6
+ --m-fileupload-card-size: 7.5rem;
7
+ --m-fileupload-progress-height: 0.25rem;
8
+ display: flex;
9
+ flex-direction: column;
10
+ font-family: var(--m-font-sans);
11
+ gap: var(--m-space-2);
12
+ }
13
+
14
+ .m-fileupload__input {
15
+ display: none;
16
+ }
17
+
18
+ .m-fileupload__choose,
19
+ .m-fileupload__clear {
20
+ align-self: flex-start;
21
+ background: var(--m-color-primary);
22
+ border: 0;
23
+ border-radius: var(--m-radius-control);
24
+ color: var(--m-color-on-emphasis);
25
+ cursor: pointer;
26
+ font-family: var(--m-font-sans);
27
+ font-weight: 600;
28
+ padding: var(--m-space-2) var(--m-space-3);
29
+ transition:
30
+ background-color var(--m-motion-fast) var(--m-motion-ease),
31
+ border-color var(--m-motion-fast) var(--m-motion-ease),
32
+ color var(--m-motion-fast) var(--m-motion-ease),
33
+ box-shadow var(--m-motion-fast) var(--m-motion-ease),
34
+ opacity var(--m-motion-fast) var(--m-motion-ease);
35
+ }
36
+
37
+ .m-fileupload__clear {
38
+ background: transparent;
39
+ border: var(--m-border-width) solid var(--m-color-border);
40
+ color: var(--m-color-text);
41
+ }
42
+
43
+ .m-fileupload__choose:hover:not(:disabled) {
44
+ background: var(--m-color-primary-hover);
45
+ }
46
+
47
+ .m-fileupload__choose:disabled,
48
+ .m-fileupload__clear:disabled {
49
+ cursor: not-allowed;
50
+ opacity: var(--m-opacity-disabled);
51
+ }
52
+
53
+ .m-fileupload__choose:focus-visible,
54
+ .m-fileupload__clear:focus-visible {
55
+ box-shadow: var(--m-focus-shadow);
56
+ outline: none;
57
+ }
58
+
59
+ .m-fileupload__clear:hover:not(:disabled) {
60
+ background: color-mix(
61
+ in srgb,
62
+ var(--m-color-primary) 10%,
63
+ var(--m-color-surface)
64
+ );
65
+ }
66
+
67
+ .m-fileupload--disabled .m-fileupload__choose,
68
+ .m-fileupload--disabled .m-fileupload__dragger {
69
+ cursor: not-allowed;
70
+ opacity: var(--m-opacity-disabled);
71
+ pointer-events: none;
72
+ }
73
+
74
+ .m-fileupload__dragger {
75
+ align-items: center;
76
+ background: color-mix(
77
+ in srgb,
78
+ var(--m-color-surface) 92%,
79
+ var(--m-color-primary) 8%
80
+ );
81
+ border: var(--m-border-width) dashed var(--m-color-border);
82
+ border-radius: var(--m-radius-md);
83
+ cursor: pointer;
84
+ display: flex;
85
+ flex-direction: column;
86
+ gap: var(--m-space-2);
87
+ justify-content: center;
88
+ min-height: var(--m-fileupload-dropzone-min-height);
89
+ padding: var(--m-space-6) var(--m-space-4);
90
+ text-align: center;
91
+ transition:
92
+ background-color var(--m-motion-fast) var(--m-motion-ease),
93
+ border-color var(--m-motion-fast) var(--m-motion-ease);
94
+ width: 100%;
95
+ }
96
+
97
+ .m-fileupload__dragger:hover,
98
+ .m-fileupload__dragger--over {
99
+ background: color-mix(
100
+ in srgb,
101
+ var(--m-color-primary) 10%,
102
+ var(--m-color-surface)
103
+ );
104
+ border-color: var(--m-color-primary);
105
+ }
106
+
107
+ .m-fileupload__dragger:focus-visible {
108
+ border-color: var(--m-color-primary);
109
+ box-shadow: var(--m-focus-shadow);
110
+ outline: none;
111
+ }
112
+
113
+ .m-fileupload__icon {
114
+ color: var(--m-color-primary);
115
+ height: var(--m-fileupload-icon-size);
116
+ width: var(--m-fileupload-icon-size);
117
+ }
118
+
119
+ .m-fileupload__icon svg {
120
+ height: 100%;
121
+ width: 100%;
122
+ }
123
+
124
+ .m-fileupload__text {
125
+ color: var(--m-color-text);
126
+ font-size: var(--m-font-size-md);
127
+ margin: 0;
128
+ }
129
+
130
+ .m-fileupload__text em {
131
+ color: var(--m-color-primary);
132
+ font-style: normal;
133
+ font-weight: 600;
134
+ }
135
+
136
+ .m-fileupload__tip {
137
+ color: var(--m-color-text-muted);
138
+ font-size: var(--m-font-size-sm);
139
+ }
140
+
141
+ .m-fileupload__list {
142
+ border: var(--m-border-width) solid var(--m-color-border);
143
+ border-radius: var(--m-radius-md);
144
+ list-style: none;
145
+ margin: 0;
146
+ padding: var(--m-space-2);
147
+ }
148
+
149
+ .m-fileupload__file {
150
+ display: flex;
151
+ flex-direction: column;
152
+ gap: var(--m-space-1);
153
+ padding: var(--m-space-2) 0;
154
+ }
155
+
156
+ .m-fileupload__file + .m-fileupload__file {
157
+ border-top: var(--m-border-width) solid var(--m-color-border);
158
+ }
159
+
160
+ .m-fileupload__file-body {
161
+ align-items: center;
162
+ display: flex;
163
+ gap: var(--m-space-3);
164
+ min-width: 0;
165
+ }
166
+
167
+ .m-fileupload__name {
168
+ flex: 1 1 auto;
169
+ min-width: 0;
170
+ overflow: hidden;
171
+ text-overflow: ellipsis;
172
+ white-space: nowrap;
173
+ }
174
+
175
+ .m-fileupload__file--fail .m-fileupload__name,
176
+ .m-fileupload__status {
177
+ color: var(--m-color-danger);
178
+ }
179
+
180
+ .m-fileupload__size,
181
+ .m-fileupload__status {
182
+ flex: 0 0 auto;
183
+ font-size: var(--m-font-size-sm);
184
+ }
185
+
186
+ .m-fileupload__size {
187
+ color: var(--m-color-text-muted);
188
+ }
189
+
190
+ .m-fileupload__thumb {
191
+ border-radius: var(--m-radius-sm);
192
+ cursor: pointer;
193
+ flex: 0 0 auto;
194
+ height: var(--m-fileupload-thumb-size);
195
+ object-fit: cover;
196
+ width: var(--m-fileupload-thumb-size);
197
+ }
198
+
199
+ .m-fileupload__actions {
200
+ display: inline-flex;
201
+ flex: 0 0 auto;
202
+ gap: var(--m-space-1);
203
+ margin-left: auto;
204
+ }
205
+
206
+ .m-fileupload__action {
207
+ align-items: center;
208
+ background: transparent;
209
+ border: 0;
210
+ border-radius: var(--m-radius-sm);
211
+ color: var(--m-color-text-muted);
212
+ cursor: pointer;
213
+ display: inline-flex;
214
+ height: var(--m-control-affix-size);
215
+ justify-content: center;
216
+ padding: 0;
217
+ transition: color var(--m-motion-fast) var(--m-motion-ease);
218
+ width: var(--m-control-affix-size);
219
+ }
220
+
221
+ .m-fileupload__action:hover {
222
+ color: var(--m-color-primary);
223
+ }
224
+
225
+ .m-fileupload__action:focus-visible {
226
+ box-shadow: var(--m-focus-shadow);
227
+ outline: none;
228
+ }
229
+
230
+ .m-fileupload__action:disabled {
231
+ cursor: not-allowed;
232
+ opacity: var(--m-opacity-disabled);
233
+ }
234
+
235
+ .m-fileupload__progress {
236
+ background: var(--m-color-primary);
237
+ border-radius: var(--m-radius-full, 999px);
238
+ height: var(--m-fileupload-progress-height);
239
+ max-width: 100%;
240
+ }
241
+
242
+ .m-fileupload__toolbar {
243
+ display: flex;
244
+ flex-wrap: wrap;
245
+ gap: var(--m-space-2);
246
+ }
247
+
248
+ .m-fileupload__cards {
249
+ display: flex;
250
+ flex-wrap: wrap;
251
+ gap: var(--m-space-3);
252
+ }
253
+
254
+ .m-fileupload__card {
255
+ background: var(--m-color-surface);
256
+ border: var(--m-border-width) solid var(--m-color-border);
257
+ border-radius: var(--m-radius-md);
258
+ box-sizing: border-box;
259
+ height: var(--m-fileupload-card-size);
260
+ overflow: hidden;
261
+ position: relative;
262
+ width: var(--m-fileupload-card-size);
263
+ }
264
+
265
+ .m-fileupload__card-image {
266
+ cursor: pointer;
267
+ display: block;
268
+ height: 100%;
269
+ object-fit: cover;
270
+ width: 100%;
271
+ }
272
+
273
+ .m-fileupload__card-name {
274
+ align-items: center;
275
+ color: var(--m-color-text-muted);
276
+ display: flex;
277
+ font-size: var(--m-font-size-sm);
278
+ height: 100%;
279
+ justify-content: center;
280
+ overflow: hidden;
281
+ padding: var(--m-space-2);
282
+ text-align: center;
283
+ word-break: break-all;
284
+ }
285
+
286
+ .m-fileupload__card-mask,
287
+ .m-fileupload__card-progress {
288
+ align-items: center;
289
+ display: flex;
290
+ inset: 0;
291
+ justify-content: center;
292
+ position: absolute;
293
+ }
294
+
295
+ .m-fileupload__card-mask {
296
+ background: color-mix(in srgb, var(--m-color-text) 48%, transparent);
297
+ gap: var(--m-space-1);
298
+ opacity: 0;
299
+ transition: opacity var(--m-motion-fast) var(--m-motion-ease);
300
+ }
301
+
302
+ .m-fileupload__card:hover .m-fileupload__card-mask,
303
+ .m-fileupload__card:focus-within .m-fileupload__card-mask {
304
+ opacity: 1;
305
+ }
306
+
307
+ .m-fileupload__card-mask .m-fileupload__action {
308
+ color: var(--m-color-on-emphasis);
309
+ }
310
+
311
+ .m-fileupload__card-mask .m-fileupload__action:hover {
312
+ color: var(--m-color-primary);
313
+ }
314
+
315
+ .m-fileupload__card-progress {
316
+ background: color-mix(in srgb, var(--m-color-surface) 78%, transparent);
317
+ color: var(--m-color-text);
318
+ font-size: var(--m-font-size-sm);
319
+ }
320
+
321
+ .m-fileupload__card--add {
322
+ align-items: center;
323
+ background: color-mix(
324
+ in srgb,
325
+ var(--m-color-surface) 92%,
326
+ var(--m-color-primary) 8%
327
+ );
328
+ border-style: dashed;
329
+ color: var(--m-color-text-muted);
330
+ cursor: pointer;
331
+ display: flex;
332
+ font-family: var(--m-font-sans);
333
+ justify-content: center;
334
+ padding: 0;
335
+ transition:
336
+ border-color var(--m-motion-fast) var(--m-motion-ease),
337
+ color var(--m-motion-fast) var(--m-motion-ease);
338
+ }
339
+
340
+ .m-fileupload__card--add:hover,
341
+ .m-fileupload__cards--over .m-fileupload__card--add {
342
+ border-color: var(--m-color-primary);
343
+ color: var(--m-color-primary);
344
+ }
345
+
346
+ .m-fileupload__card--add:focus-visible {
347
+ box-shadow: var(--m-focus-shadow);
348
+ outline: none;
349
+ }
350
+
351
+ .m-fileupload__card--fail {
352
+ border-color: var(--m-color-danger);
353
+ }
354
+
355
+ .m-fileupload--disabled .m-fileupload__card--add {
356
+ cursor: not-allowed;
357
+ opacity: var(--m-opacity-disabled);
358
+ pointer-events: none;
359
+ }