morya-ui 0.3.5 → 0.3.7

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 (259) hide show
  1. package/CHANGELOG.md +573 -523
  2. package/LICENSE +21 -21
  3. package/README.md +150 -150
  4. package/README.zh-CN.md +150 -150
  5. package/dist/Input-DQiiKSm3.js +174 -0
  6. package/dist/accordion/style.css +1146 -1148
  7. package/dist/auto-complete/style.css +1688 -1690
  8. package/dist/avatar/style.css +1259 -1261
  9. package/dist/badge/style.css +1313 -1315
  10. package/dist/block-ui/style.css +1146 -1148
  11. package/dist/breadcrumb/style.css +1146 -1148
  12. package/dist/button/style.css +2136 -2138
  13. package/dist/card/style.css +1146 -1148
  14. package/dist/carousel/style.css +1247 -1249
  15. package/dist/cascade-select/style.css +1837 -1839
  16. package/dist/checkbox/style.css +1146 -1148
  17. package/dist/chip/style.css +1290 -1292
  18. package/dist/command-menu/style.css +1379 -1381
  19. package/dist/component-registry.d.ts.map +1 -1
  20. package/dist/components/AutoComplete/styles.css +209 -209
  21. package/dist/components/Avatar/styles.css +113 -113
  22. package/dist/components/Badge/styles.css +165 -165
  23. package/dist/components/Button/styles.css +962 -962
  24. package/dist/components/Carousel/styles.css +101 -101
  25. package/dist/components/CascadeSelect/styles.css +157 -157
  26. package/dist/components/Chip/styles.css +144 -144
  27. package/dist/components/CommandMenu/styles.css +102 -102
  28. package/dist/components/ConfigProvider/styles.css +6 -6
  29. package/dist/components/ConfirmDialog/styles.css +24 -24
  30. package/dist/components/ConfirmPopup/styles.css +35 -35
  31. package/dist/components/ContextMenu/styles.css +138 -138
  32. package/dist/components/DatePicker/styles.css +335 -335
  33. package/dist/components/Dialog/styles.css +421 -421
  34. package/dist/components/Dock/styles.css +84 -84
  35. package/dist/components/Drawer/Drawer.vue.d.ts +3 -1
  36. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  37. package/dist/components/Drawer/styles.css +346 -334
  38. package/dist/components/Dropdown/styles.css +130 -130
  39. package/dist/components/Empty/styles.css +146 -146
  40. package/dist/components/FileUpload/styles.css +359 -359
  41. package/dist/components/Form/styles.css +114 -114
  42. package/dist/components/Gallery/styles.css +100 -100
  43. package/dist/components/Input/styles.css +356 -356
  44. package/dist/components/InputColor/styles.css +129 -129
  45. package/dist/components/InputNumber/styles.css +261 -261
  46. package/dist/components/InputPassword/styles.css +178 -178
  47. package/dist/components/InputTags/styles.css +112 -112
  48. package/dist/components/Layout/styles.css +433 -433
  49. package/dist/components/Loading/styles.css +378 -378
  50. package/dist/components/MegaMenu/styles.css +97 -97
  51. package/dist/components/Menu/styles.css +564 -564
  52. package/dist/components/Menubar/styles.css +144 -144
  53. package/dist/components/Message/styles.css +250 -250
  54. package/dist/components/MeterGroup/styles.css +49 -49
  55. package/dist/components/Page/styles.css +430 -430
  56. package/dist/components/Pagination/styles.css +105 -105
  57. package/dist/components/Popover/styles.css +92 -92
  58. package/dist/components/Result/styles.css +146 -146
  59. package/dist/components/Scrollbar/styles.css +131 -131
  60. package/dist/components/Select/styles.css +192 -192
  61. package/dist/components/SelectButton/styles.css +105 -105
  62. package/dist/components/Sidebar/styles.css +74 -74
  63. package/dist/components/Slider/styles.css +211 -211
  64. package/dist/components/SplitButton/styles.css +216 -216
  65. package/dist/components/Status/styles.css +191 -191
  66. package/dist/components/Stepper/styles.css +135 -135
  67. package/dist/components/Switch/styles.css +129 -129
  68. package/dist/components/Table/Table.vue.d.ts +188 -733
  69. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  70. package/dist/components/Table/columns/keys.d.ts +13 -0
  71. package/dist/components/Table/columns/keys.d.ts.map +1 -0
  72. package/dist/components/Table/{hooks → columns}/useFixedColumn.d.ts +1 -1
  73. package/dist/components/Table/columns/useFixedColumn.d.ts.map +1 -0
  74. package/dist/components/Table/columns/useHeaders.d.ts +37 -0
  75. package/dist/components/Table/columns/useHeaders.d.ts.map +1 -0
  76. package/dist/components/Table/core/layout.d.ts +26 -0
  77. package/dist/components/Table/core/layout.d.ts.map +1 -0
  78. package/dist/components/Table/core/normalize.d.ts +30 -0
  79. package/dist/components/Table/core/normalize.d.ts.map +1 -0
  80. package/dist/components/Table/{tableQuery.d.ts → core/tableQuery.d.ts} +3 -2
  81. package/dist/components/Table/core/tableQuery.d.ts.map +1 -0
  82. package/dist/components/Table/core/tree.d.ts +31 -0
  83. package/dist/components/Table/core/tree.d.ts.map +1 -0
  84. package/dist/components/Table/core/treeSelection.d.ts +35 -0
  85. package/dist/components/Table/core/treeSelection.d.ts.map +1 -0
  86. package/dist/components/Table/core/utils.d.ts +15 -0
  87. package/dist/components/Table/core/utils.d.ts.map +1 -0
  88. package/dist/components/Table/hooks/index.d.ts +14 -10
  89. package/dist/components/Table/hooks/index.d.ts.map +1 -1
  90. package/dist/components/Table/index.d.ts +1 -1
  91. package/dist/components/Table/index.d.ts.map +1 -1
  92. package/dist/components/Table/render/TableDefaultCell.vue.d.ts +11 -0
  93. package/dist/components/Table/render/TableDefaultCell.vue.d.ts.map +1 -0
  94. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts +20 -0
  95. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts.map +1 -0
  96. package/dist/components/Table/render/TableLoadingLine.vue.d.ts.map +1 -0
  97. package/dist/components/Table/render/TableTbody.vue.d.ts +154 -0
  98. package/dist/components/Table/render/TableTbody.vue.d.ts.map +1 -0
  99. package/dist/components/Table/render/TableThead.vue.d.ts +76 -0
  100. package/dist/components/Table/render/TableThead.vue.d.ts.map +1 -0
  101. package/dist/components/Table/{hooks → state}/internal.d.ts +8 -2
  102. package/dist/components/Table/state/internal.d.ts.map +1 -0
  103. package/dist/components/Table/state/useClickRow.d.ts +7 -0
  104. package/dist/components/Table/state/useClickRow.d.ts.map +1 -0
  105. package/dist/components/Table/state/useColumnResize.d.ts +11 -0
  106. package/dist/components/Table/state/useColumnResize.d.ts.map +1 -0
  107. package/dist/components/Table/state/useExpandableRow.d.ts +25 -0
  108. package/dist/components/Table/state/useExpandableRow.d.ts.map +1 -0
  109. package/dist/components/Table/state/usePageItems.d.ts +15 -0
  110. package/dist/components/Table/state/usePageItems.d.ts.map +1 -0
  111. package/dist/components/Table/{hooks → state}/usePagination.d.ts.map +1 -1
  112. package/dist/components/Table/{hooks → state}/useRows.d.ts +2 -2
  113. package/dist/components/Table/{hooks → state}/useRows.d.ts.map +1 -1
  114. package/dist/components/Table/state/useServerOptions.d.ts.map +1 -0
  115. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts +2 -2
  116. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts.map +1 -1
  117. package/dist/components/Table/state/useTreeRows.d.ts +21 -0
  118. package/dist/components/Table/state/useTreeRows.d.ts.map +1 -0
  119. package/dist/components/Table/state/useVirtualRows.d.ts +23 -0
  120. package/dist/components/Table/state/useVirtualRows.d.ts.map +1 -0
  121. package/dist/components/Table/styles.css +182 -6
  122. package/dist/components/Table/types.d.ts +108 -25
  123. package/dist/components/Table/types.d.ts.map +1 -1
  124. package/dist/components/Tabs/styles.css +131 -131
  125. package/dist/components/Terminal/styles.css +74 -74
  126. package/dist/components/Textarea/styles.css +126 -126
  127. package/dist/components/TieredMenu/styles.css +125 -125
  128. package/dist/components/Timeline/styles.css +159 -159
  129. package/dist/components/Tree/Tree.vue.d.ts +2 -2
  130. package/dist/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
  131. package/dist/components/TreeSelect/styles.css +161 -161
  132. package/dist/components/VirtualScroller/styles.css +27 -27
  133. package/dist/config-provider/style.css +2470 -2472
  134. package/dist/confirm-dialog/style.css +2553 -2555
  135. package/dist/confirm-popup/style.css +2143 -2145
  136. package/dist/context-menu/style.css +1415 -1417
  137. package/dist/data-view/style.css +1629 -1631
  138. package/dist/date-picker/style.css +1481 -1483
  139. package/dist/dialog/style.css +2529 -2531
  140. package/dist/divider/style.css +1146 -1148
  141. package/dist/dock/style.css +1230 -1232
  142. package/dist/drawer/index.js +57 -50
  143. package/dist/drawer/style.css +1492 -1482
  144. package/dist/dropdown/style.css +1407 -1409
  145. package/dist/empty/style.css +1292 -1294
  146. package/dist/fieldset/style.css +1146 -1148
  147. package/dist/file-upload/style.css +1505 -1507
  148. package/dist/flex/style.css +1146 -1148
  149. package/dist/float-label/style.css +1146 -1148
  150. package/dist/fluid/style.css +1146 -1148
  151. package/dist/form/style.css +1262 -1264
  152. package/dist/gallery/style.css +1377 -1379
  153. package/dist/grid/style.css +1146 -1148
  154. package/dist/icon/style.css +1146 -1148
  155. package/dist/icon-field/style.css +1502 -1504
  156. package/dist/index.d.ts +1 -3
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +4899 -3591
  159. package/dist/inplace/style.css +1146 -1148
  160. package/dist/input/index.js +2 -174
  161. package/dist/input/style.css +1502 -1504
  162. package/dist/input-color/style.css +1277 -1279
  163. package/dist/input-group/style.css +1146 -1148
  164. package/dist/input-number/style.css +1407 -1409
  165. package/dist/input-otp/style.css +1146 -1148
  166. package/dist/input-password/style.css +1324 -1326
  167. package/dist/input-tags/style.css +1258 -1260
  168. package/dist/knob/style.css +1146 -1148
  169. package/dist/label/style.css +1146 -1148
  170. package/dist/layout/style.css +1710 -1712
  171. package/dist/listbox/style.css +1304 -1306
  172. package/dist/loading/style.css +1526 -1528
  173. package/dist/mega-menu/style.css +1243 -1245
  174. package/dist/menu/style.css +1999 -2001
  175. package/dist/menubar/style.css +1421 -1423
  176. package/dist/message/style.css +1396 -1398
  177. package/dist/meter-group/style.css +1197 -1199
  178. package/dist/order-list/style.css +1146 -1148
  179. package/dist/page/style.css +2802 -2804
  180. package/dist/pagination/style.css +1443 -1445
  181. package/dist/panel/style.css +1146 -1148
  182. package/dist/pick-list/style.css +1146 -1148
  183. package/dist/popover/style.css +1240 -1242
  184. package/dist/progress-bar/style.css +1146 -1148
  185. package/dist/progress-spinner/style.css +1146 -1148
  186. package/dist/radio/style.css +1146 -1148
  187. package/dist/rating/style.css +1146 -1148
  188. package/dist/resolver-map.d.ts.map +1 -1
  189. package/dist/resolver.js +0 -1
  190. package/dist/result/style.css +1292 -1294
  191. package/dist/scroll-top/style.css +1277 -1279
  192. package/dist/scrollbar/style.css +1279 -1281
  193. package/dist/select/style.css +1899 -1901
  194. package/dist/select-button/style.css +1253 -1255
  195. package/dist/shared/styles/control-affix-icon.css +110 -110
  196. package/dist/shared/styles/control-suffix.css +118 -118
  197. package/dist/shared/styles/select-overlay.css +175 -175
  198. package/dist/sidebar/style.css +1220 -1222
  199. package/dist/skeleton/style.css +1146 -1148
  200. package/dist/slider/style.css +1359 -1361
  201. package/dist/space/style.css +1146 -1148
  202. package/dist/speed-dial/style.css +1146 -1148
  203. package/dist/split-button/style.css +2324 -2326
  204. package/dist/splitter/style.css +1146 -1148
  205. package/dist/status/style.css +1337 -1339
  206. package/dist/stepper/style.css +1281 -1283
  207. package/dist/styles/base.css +788 -790
  208. package/dist/styles.css +1 -1
  209. package/dist/switch/style.css +1277 -1279
  210. package/dist/table/index.js +2027 -601
  211. package/dist/table/style.css +1940 -1917
  212. package/dist/table/style.js +0 -4
  213. package/dist/tabs/style.css +1408 -1410
  214. package/dist/tag/style.css +1146 -1148
  215. package/dist/terminal/style.css +1222 -1224
  216. package/dist/textarea/style.css +1272 -1274
  217. package/dist/theme/styles.css +358 -358
  218. package/dist/tiered-menu/style.css +1402 -1404
  219. package/dist/timeline/style.css +1436 -1438
  220. package/dist/toast/style.css +1146 -1148
  221. package/dist/toggle-button/style.css +1146 -1148
  222. package/dist/toolbar/style.css +1146 -1148
  223. package/dist/tooltip/style.css +1146 -1148
  224. package/dist/tree/style.css +1146 -1148
  225. package/dist/tree-select/style.css +1841 -1843
  226. package/dist/virtual-scroller/style.css +1307 -1309
  227. package/package.json +1 -8
  228. package/dist/components/Table/TableLoadingLine.vue.d.ts.map +0 -1
  229. package/dist/components/Table/hooks/internal.d.ts.map +0 -1
  230. package/dist/components/Table/hooks/useClickRow.d.ts +0 -7
  231. package/dist/components/Table/hooks/useClickRow.d.ts.map +0 -1
  232. package/dist/components/Table/hooks/useExpandableRow.d.ts +0 -9
  233. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +0 -1
  234. package/dist/components/Table/hooks/useFixedColumn.d.ts.map +0 -1
  235. package/dist/components/Table/hooks/useHeaders.d.ts +0 -14
  236. package/dist/components/Table/hooks/useHeaders.d.ts.map +0 -1
  237. package/dist/components/Table/hooks/usePageItems.d.ts +0 -17
  238. package/dist/components/Table/hooks/usePageItems.d.ts.map +0 -1
  239. package/dist/components/Table/hooks/useServerOptions.d.ts.map +0 -1
  240. package/dist/components/Table/normalize.d.ts +0 -9
  241. package/dist/components/Table/normalize.d.ts.map +0 -1
  242. package/dist/components/Table/tableQuery.d.ts.map +0 -1
  243. package/dist/components/Table/utils.d.ts +0 -10
  244. package/dist/components/Table/utils.d.ts.map +0 -1
  245. package/dist/components/TreeTable/TreeTable.vue.d.ts +0 -24
  246. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +0 -1
  247. package/dist/components/TreeTable/TreeTableRow.vue.d.ts +0 -17
  248. package/dist/components/TreeTable/TreeTableRow.vue.d.ts.map +0 -1
  249. package/dist/components/TreeTable/index.d.ts +0 -3
  250. package/dist/components/TreeTable/index.d.ts.map +0 -1
  251. package/dist/components/TreeTable/styles.css +0 -97
  252. package/dist/components/TreeTable/types.d.ts +0 -25
  253. package/dist/components/TreeTable/types.d.ts.map +0 -1
  254. package/dist/tree-table/index.js +0 -128
  255. package/dist/tree-table/style.css +0 -1296
  256. package/dist/tree-table/style.js +0 -4
  257. /package/dist/components/Table/{TableLoadingLine.vue.d.ts → render/TableLoadingLine.vue.d.ts} +0 -0
  258. /package/dist/components/Table/{hooks → state}/usePagination.d.ts +0 -0
  259. /package/dist/components/Table/{hooks → state}/useServerOptions.d.ts +0 -0
@@ -1,378 +1,378 @@
1
- /* —— Feedback: Loading —— */
2
-
3
- .m-loading {
4
- position: relative;
5
- }
6
-
7
- .m-loading--fullscreen {
8
- inset: 0;
9
- position: fixed;
10
- z-index: var(--m-loading-z-index, calc(var(--m-z-base) + 200));
11
- }
12
-
13
- .m-loading__content {
14
- position: relative;
15
- }
16
-
17
- .m-loading--active .m-loading__content {
18
- pointer-events: none;
19
- user-select: none;
20
- }
21
-
22
- .m-loading-parent--relative {
23
- position: relative;
24
- }
25
-
26
- .m-loading-mask {
27
- --m-loading-z-index: calc(var(--m-z-base) + 200);
28
- --m-loading-mask-bg: color-mix(in srgb, var(--m-color-surface) 80%, transparent);
29
- align-items: center;
30
- background: var(--m-loading-mask-bg);
31
- display: flex;
32
- inset: 0;
33
- justify-content: center;
34
- position: absolute;
35
- z-index: 10;
36
- }
37
-
38
- .m-loading-mask--fullscreen,
39
- .m-loading-mask--body {
40
- position: fixed;
41
- z-index: var(--m-loading-z-index);
42
- }
43
-
44
- .m-loading-mask--body {
45
- inset: auto;
46
- }
47
-
48
- .m-loading-enter-active {
49
- transition: opacity var(--m-motion-enter) var(--m-motion-ease);
50
- }
51
-
52
- .m-loading-leave-active {
53
- transition: opacity var(--m-motion-exit) var(--m-motion-ease);
54
- }
55
-
56
- .m-loading-enter-from,
57
- .m-loading-leave-to {
58
- opacity: 0;
59
- }
60
-
61
- .m-loading-indicator {
62
- --m-loading-c1: var(--m-color-primary);
63
- --m-loading-c2: color-mix(in srgb, var(--m-color-primary) 62%, white);
64
- --m-loading-c3: var(--m-color-success);
65
- --m-loading-c4: var(--m-color-warning);
66
- --m-loading-c5: var(--m-color-danger);
67
- --m-loading-c6: var(--m-color-text-muted);
68
- --m-loading-spin: var(--m-motion-spin);
69
- --m-loading-aurora-glow: var(--m-motion-loading-aurora);
70
- --m-loading-bounce: var(--m-motion-loading-bounce);
71
- --m-loading-wave: var(--m-motion-spin-medium);
72
- --m-loading-pulse: var(--m-motion-loading-pulse);
73
- --m-loading-stardust: var(--m-motion-loading-stardust);
74
- --m-loading-circular-rotate: var(--m-motion-loading-circular-rotate);
75
- --m-loading-circular-dash: var(--m-motion-spin-dash);
76
- --m-loading-scale: 1;
77
-
78
- align-items: center;
79
- display: inline-flex;
80
- flex-direction: column;
81
- font-family: var(--m-font-sans);
82
- gap: var(--m-space-3);
83
- justify-content: center;
84
- }
85
-
86
- .m-loading-indicator__graphic {
87
- align-items: center;
88
- display: inline-flex;
89
- justify-content: center;
90
- transform: scale(var(--m-loading-scale));
91
- }
92
-
93
- .m-loading-indicator__tip {
94
- color: var(--m-color-text-muted);
95
- font-size: var(--m-font-size-sm);
96
- line-height: 1;
97
- margin: 0;
98
- }
99
-
100
- .m-loading-indicator--small {
101
- --m-loading-scale: 0.85;
102
- }
103
-
104
- .m-loading-indicator--large {
105
- --m-loading-scale: 1.15;
106
- }
107
-
108
- .m-loading-aurora,
109
- .m-loading-pulse,
110
- .m-loading-stardust {
111
- height: 3.75rem;
112
- position: relative;
113
- width: 3.75rem;
114
- }
115
-
116
- .m-loading-aurora__ring {
117
- animation: m-loading-spin var(--m-loading-spin) cubic-bezier(0.5, 0, 0.5, 1) infinite;
118
- border: 4px solid transparent;
119
- border-bottom-color: var(--m-loading-c2);
120
- border-left-color: var(--m-loading-c3);
121
- border-radius: 50%;
122
- border-right-color: var(--m-loading-c5);
123
- border-top-color: var(--m-loading-c1);
124
- box-sizing: border-box;
125
- height: 100%;
126
- position: relative;
127
- width: 100%;
128
- z-index: 2;
129
- }
130
-
131
- .m-loading-aurora__glow {
132
- animation: m-loading-spin var(--m-loading-aurora-glow) linear infinite reverse;
133
- /* Soft radial layers instead of animated blur (≤8px / no continuous filter). */
134
- background:
135
- radial-gradient(
136
- circle at 30% 30%,
137
- color-mix(in srgb, var(--m-loading-c1) 55%, transparent),
138
- transparent 62%
139
- ),
140
- radial-gradient(
141
- circle at 70% 65%,
142
- color-mix(in srgb, var(--m-loading-c5) 45%, transparent),
143
- transparent 58%
144
- ),
145
- radial-gradient(
146
- circle at 50% 50%,
147
- color-mix(in srgb, var(--m-loading-c2) 35%, transparent),
148
- transparent 70%
149
- );
150
- border-radius: 50%;
151
- inset: -10px;
152
- opacity: 0.55;
153
- position: absolute;
154
- z-index: 1;
155
- }
156
-
157
- .m-loading-bounce {
158
- align-items: flex-end;
159
- display: flex;
160
- gap: var(--m-space-3);
161
- height: 3.125rem;
162
- }
163
-
164
- .m-loading-bounce__ball {
165
- animation: m-loading-bounce var(--m-loading-bounce) cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate;
166
- background: var(--m-loading-c1);
167
- border-radius: 50%;
168
- display: block;
169
- height: 1rem;
170
- width: 1rem;
171
- }
172
-
173
- .m-loading-bounce__ball:nth-child(1) {
174
- animation-delay: 0s;
175
- background: var(--m-loading-c5);
176
- }
177
-
178
- .m-loading-bounce__ball:nth-child(2) {
179
- animation-delay: 0.15s;
180
- background: var(--m-loading-c2);
181
- }
182
-
183
- .m-loading-bounce__ball:nth-child(3) {
184
- animation-delay: 0.3s;
185
- background: var(--m-loading-c6);
186
- }
187
-
188
- .m-loading-wave {
189
- align-items: center;
190
- display: flex;
191
- gap: var(--m-space-1);
192
- height: 3.125rem;
193
- }
194
-
195
- .m-loading-wave__bar {
196
- animation: m-loading-wave var(--m-loading-wave) ease-in-out infinite alternate;
197
- background: var(--m-loading-c1);
198
- border-radius: 0.375rem;
199
- display: block;
200
- height: 2.875rem;
201
- transform-origin: center center;
202
- width: 0.5rem;
203
- }
204
-
205
- .m-loading-wave__bar:nth-child(1) {
206
- animation-delay: 0s;
207
- background: var(--m-loading-c1);
208
- }
209
-
210
- .m-loading-wave__bar:nth-child(2) {
211
- animation-delay: 0.09s;
212
- background: var(--m-loading-c5);
213
- }
214
-
215
- .m-loading-wave__bar:nth-child(3) {
216
- animation-delay: 0.18s;
217
- background: var(--m-loading-c2);
218
- }
219
-
220
- .m-loading-wave__bar:nth-child(4) {
221
- animation-delay: 0.27s;
222
- background: var(--m-loading-c3);
223
- }
224
-
225
- .m-loading-wave__bar:nth-child(5) {
226
- animation-delay: 0.36s;
227
- background: var(--m-loading-c6);
228
- }
229
-
230
- .m-loading-pulse__ring {
231
- animation: m-loading-pulse var(--m-loading-pulse) ease-out infinite;
232
- border: 3px solid var(--m-loading-c2);
233
- border-radius: 50%;
234
- box-sizing: border-box;
235
- inset: 0;
236
- position: absolute;
237
- }
238
-
239
- .m-loading-pulse__ring:nth-child(1) {
240
- animation-delay: 0s;
241
- border-color: var(--m-loading-c1);
242
- }
243
-
244
- .m-loading-pulse__ring:nth-child(2) {
245
- animation-delay: 0.45s;
246
- border-color: var(--m-loading-c5);
247
- }
248
-
249
- .m-loading-pulse__ring:nth-child(3) {
250
- animation-delay: 0.9s;
251
- border-color: var(--m-loading-c2);
252
- }
253
-
254
- .m-loading-pulse__ring:nth-child(4) {
255
- animation-delay: 1.35s;
256
- border-color: var(--m-loading-c3);
257
- }
258
-
259
- .m-loading-stardust__dot {
260
- --i: 0;
261
- animation: m-loading-stardust var(--m-loading-stardust) ease-in-out infinite;
262
- background: var(--m-loading-c1);
263
- border-radius: 50%;
264
- height: 0.5rem;
265
- left: 50%;
266
- position: absolute;
267
- top: 50%;
268
- transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px);
269
- width: 0.5rem;
270
- }
271
-
272
- .m-loading-stardust__dot:nth-child(1) { animation-delay: 0s; background: var(--m-loading-c1); }
273
- .m-loading-stardust__dot:nth-child(2) { animation-delay: 0.08s; background: var(--m-loading-c5); }
274
- .m-loading-stardust__dot:nth-child(3) { animation-delay: 0.16s; background: var(--m-loading-c4); }
275
- .m-loading-stardust__dot:nth-child(4) { animation-delay: 0.24s; background: var(--m-loading-c2); }
276
- .m-loading-stardust__dot:nth-child(5) { animation-delay: 0.32s; background: var(--m-loading-c3); }
277
- .m-loading-stardust__dot:nth-child(6) { animation-delay: 0.4s; background: var(--m-loading-c6); }
278
- .m-loading-stardust__dot:nth-child(7) { animation-delay: 0.48s; background: color-mix(in srgb, var(--m-loading-c1) 55%, white); }
279
- .m-loading-stardust__dot:nth-child(8) { animation-delay: 0.56s; background: var(--m-loading-c2); }
280
-
281
- .m-loading-circular {
282
- align-items: center;
283
- display: inline-flex;
284
- justify-content: center;
285
- }
286
-
287
- .m-loading-circular__svg {
288
- animation: m-loading-circular-rotate var(--m-loading-circular-rotate) linear infinite;
289
- display: inline-block;
290
- height: 2.625rem;
291
- width: 2.625rem;
292
- }
293
-
294
- .m-loading-circular__path {
295
- animation: m-loading-circular-dash var(--m-loading-circular-dash) ease-in-out infinite;
296
- fill: none;
297
- stroke: var(--m-loading-c1);
298
- stroke-linecap: round;
299
- stroke-width: 2;
300
- }
301
-
302
- @keyframes m-loading-spin {
303
- from { transform: rotate(0deg); }
304
- to { transform: rotate(360deg); }
305
- }
306
-
307
- @keyframes m-loading-bounce {
308
- from { transform: translateY(0) scale(1); }
309
- to { transform: translateY(-34px) scale(1.1); }
310
- }
311
-
312
- @keyframes m-loading-wave {
313
- from { transform: scaleY(0.26); }
314
- to { transform: scaleY(1); }
315
- }
316
-
317
- @keyframes m-loading-pulse {
318
- from { opacity: 1; transform: scale(0.15); }
319
- to { opacity: 0; transform: scale(1.6); }
320
- }
321
-
322
- @keyframes m-loading-stardust {
323
- 0%,
324
- 100% {
325
- opacity: 0.2;
326
- transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px) scale(0.3);
327
- }
328
-
329
- 50% {
330
- opacity: 1;
331
- transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg + 180deg)) translateX(28px) scale(1.2);
332
- }
333
- }
334
-
335
- @keyframes m-loading-circular-rotate {
336
- to { transform: rotate(360deg); }
337
- }
338
-
339
- @keyframes m-loading-circular-dash {
340
- 0% {
341
- stroke-dasharray: 1, 200;
342
- stroke-dashoffset: 0;
343
- }
344
-
345
- 50% {
346
- stroke-dasharray: 90, 150;
347
- stroke-dashoffset: -40px;
348
- }
349
-
350
- 100% {
351
- stroke-dasharray: 90, 150;
352
- stroke-dashoffset: -120px;
353
- }
354
- }
355
-
356
- [data-m-motion="reduced"] .m-loading-aurora__ring,
357
- [data-m-motion="reduced"] .m-loading-aurora__glow,
358
- [data-m-motion="reduced"] .m-loading-bounce__ball,
359
- [data-m-motion="reduced"] .m-loading-wave__bar,
360
- [data-m-motion="reduced"] .m-loading-pulse__ring,
361
- [data-m-motion="reduced"] .m-loading-stardust__dot,
362
- [data-m-motion="reduced"] .m-loading-circular__svg,
363
- [data-m-motion="reduced"] .m-loading-circular__path,
364
- [data-m-motion="reduced"] .m-loading-enter-active,
365
- [data-m-motion="reduced"] .m-loading-leave-active,
366
- [data-m-motion="none"] .m-loading-aurora__ring,
367
- [data-m-motion="none"] .m-loading-aurora__glow,
368
- [data-m-motion="none"] .m-loading-bounce__ball,
369
- [data-m-motion="none"] .m-loading-wave__bar,
370
- [data-m-motion="none"] .m-loading-pulse__ring,
371
- [data-m-motion="none"] .m-loading-stardust__dot,
372
- [data-m-motion="none"] .m-loading-circular__svg,
373
- [data-m-motion="none"] .m-loading-circular__path,
374
- [data-m-motion="none"] .m-loading-enter-active,
375
- [data-m-motion="none"] .m-loading-leave-active {
376
- animation: none;
377
- transition: none;
378
- }
1
+ /* —— Feedback: Loading —— */
2
+
3
+ .m-loading {
4
+ position: relative;
5
+ }
6
+
7
+ .m-loading--fullscreen {
8
+ inset: 0;
9
+ position: fixed;
10
+ z-index: var(--m-loading-z-index, calc(var(--m-z-base) + 200));
11
+ }
12
+
13
+ .m-loading__content {
14
+ position: relative;
15
+ }
16
+
17
+ .m-loading--active .m-loading__content {
18
+ pointer-events: none;
19
+ user-select: none;
20
+ }
21
+
22
+ .m-loading-parent--relative {
23
+ position: relative;
24
+ }
25
+
26
+ .m-loading-mask {
27
+ --m-loading-z-index: calc(var(--m-z-base) + 200);
28
+ --m-loading-mask-bg: color-mix(in srgb, var(--m-color-surface) 80%, transparent);
29
+ align-items: center;
30
+ background: var(--m-loading-mask-bg);
31
+ display: flex;
32
+ inset: 0;
33
+ justify-content: center;
34
+ position: absolute;
35
+ z-index: 10;
36
+ }
37
+
38
+ .m-loading-mask--fullscreen,
39
+ .m-loading-mask--body {
40
+ position: fixed;
41
+ z-index: var(--m-loading-z-index);
42
+ }
43
+
44
+ .m-loading-mask--body {
45
+ inset: auto;
46
+ }
47
+
48
+ .m-loading-enter-active {
49
+ transition: opacity var(--m-motion-enter) var(--m-motion-ease);
50
+ }
51
+
52
+ .m-loading-leave-active {
53
+ transition: opacity var(--m-motion-exit) var(--m-motion-ease);
54
+ }
55
+
56
+ .m-loading-enter-from,
57
+ .m-loading-leave-to {
58
+ opacity: 0;
59
+ }
60
+
61
+ .m-loading-indicator {
62
+ --m-loading-c1: var(--m-color-primary);
63
+ --m-loading-c2: color-mix(in srgb, var(--m-color-primary) 62%, white);
64
+ --m-loading-c3: var(--m-color-success);
65
+ --m-loading-c4: var(--m-color-warning);
66
+ --m-loading-c5: var(--m-color-danger);
67
+ --m-loading-c6: var(--m-color-text-muted);
68
+ --m-loading-spin: var(--m-motion-spin);
69
+ --m-loading-aurora-glow: var(--m-motion-loading-aurora);
70
+ --m-loading-bounce: var(--m-motion-loading-bounce);
71
+ --m-loading-wave: var(--m-motion-spin-medium);
72
+ --m-loading-pulse: var(--m-motion-loading-pulse);
73
+ --m-loading-stardust: var(--m-motion-loading-stardust);
74
+ --m-loading-circular-rotate: var(--m-motion-loading-circular-rotate);
75
+ --m-loading-circular-dash: var(--m-motion-spin-dash);
76
+ --m-loading-scale: 1;
77
+
78
+ align-items: center;
79
+ display: inline-flex;
80
+ flex-direction: column;
81
+ font-family: var(--m-font-sans);
82
+ gap: var(--m-space-3);
83
+ justify-content: center;
84
+ }
85
+
86
+ .m-loading-indicator__graphic {
87
+ align-items: center;
88
+ display: inline-flex;
89
+ justify-content: center;
90
+ transform: scale(var(--m-loading-scale));
91
+ }
92
+
93
+ .m-loading-indicator__tip {
94
+ color: var(--m-color-text-muted);
95
+ font-size: var(--m-font-size-sm);
96
+ line-height: 1;
97
+ margin: 0;
98
+ }
99
+
100
+ .m-loading-indicator--small {
101
+ --m-loading-scale: 0.85;
102
+ }
103
+
104
+ .m-loading-indicator--large {
105
+ --m-loading-scale: 1.15;
106
+ }
107
+
108
+ .m-loading-aurora,
109
+ .m-loading-pulse,
110
+ .m-loading-stardust {
111
+ height: 3.75rem;
112
+ position: relative;
113
+ width: 3.75rem;
114
+ }
115
+
116
+ .m-loading-aurora__ring {
117
+ animation: m-loading-spin var(--m-loading-spin) cubic-bezier(0.5, 0, 0.5, 1) infinite;
118
+ border: 4px solid transparent;
119
+ border-bottom-color: var(--m-loading-c2);
120
+ border-left-color: var(--m-loading-c3);
121
+ border-radius: 50%;
122
+ border-right-color: var(--m-loading-c5);
123
+ border-top-color: var(--m-loading-c1);
124
+ box-sizing: border-box;
125
+ height: 100%;
126
+ position: relative;
127
+ width: 100%;
128
+ z-index: 2;
129
+ }
130
+
131
+ .m-loading-aurora__glow {
132
+ animation: m-loading-spin var(--m-loading-aurora-glow) linear infinite reverse;
133
+ /* Soft radial layers instead of animated blur (≤8px / no continuous filter). */
134
+ background:
135
+ radial-gradient(
136
+ circle at 30% 30%,
137
+ color-mix(in srgb, var(--m-loading-c1) 55%, transparent),
138
+ transparent 62%
139
+ ),
140
+ radial-gradient(
141
+ circle at 70% 65%,
142
+ color-mix(in srgb, var(--m-loading-c5) 45%, transparent),
143
+ transparent 58%
144
+ ),
145
+ radial-gradient(
146
+ circle at 50% 50%,
147
+ color-mix(in srgb, var(--m-loading-c2) 35%, transparent),
148
+ transparent 70%
149
+ );
150
+ border-radius: 50%;
151
+ inset: -10px;
152
+ opacity: 0.55;
153
+ position: absolute;
154
+ z-index: 1;
155
+ }
156
+
157
+ .m-loading-bounce {
158
+ align-items: flex-end;
159
+ display: flex;
160
+ gap: var(--m-space-3);
161
+ height: 3.125rem;
162
+ }
163
+
164
+ .m-loading-bounce__ball {
165
+ animation: m-loading-bounce var(--m-loading-bounce) cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate;
166
+ background: var(--m-loading-c1);
167
+ border-radius: 50%;
168
+ display: block;
169
+ height: 1rem;
170
+ width: 1rem;
171
+ }
172
+
173
+ .m-loading-bounce__ball:nth-child(1) {
174
+ animation-delay: 0s;
175
+ background: var(--m-loading-c5);
176
+ }
177
+
178
+ .m-loading-bounce__ball:nth-child(2) {
179
+ animation-delay: 0.15s;
180
+ background: var(--m-loading-c2);
181
+ }
182
+
183
+ .m-loading-bounce__ball:nth-child(3) {
184
+ animation-delay: 0.3s;
185
+ background: var(--m-loading-c6);
186
+ }
187
+
188
+ .m-loading-wave {
189
+ align-items: center;
190
+ display: flex;
191
+ gap: var(--m-space-1);
192
+ height: 3.125rem;
193
+ }
194
+
195
+ .m-loading-wave__bar {
196
+ animation: m-loading-wave var(--m-loading-wave) ease-in-out infinite alternate;
197
+ background: var(--m-loading-c1);
198
+ border-radius: 0.375rem;
199
+ display: block;
200
+ height: 2.875rem;
201
+ transform-origin: center center;
202
+ width: 0.5rem;
203
+ }
204
+
205
+ .m-loading-wave__bar:nth-child(1) {
206
+ animation-delay: 0s;
207
+ background: var(--m-loading-c1);
208
+ }
209
+
210
+ .m-loading-wave__bar:nth-child(2) {
211
+ animation-delay: 0.09s;
212
+ background: var(--m-loading-c5);
213
+ }
214
+
215
+ .m-loading-wave__bar:nth-child(3) {
216
+ animation-delay: 0.18s;
217
+ background: var(--m-loading-c2);
218
+ }
219
+
220
+ .m-loading-wave__bar:nth-child(4) {
221
+ animation-delay: 0.27s;
222
+ background: var(--m-loading-c3);
223
+ }
224
+
225
+ .m-loading-wave__bar:nth-child(5) {
226
+ animation-delay: 0.36s;
227
+ background: var(--m-loading-c6);
228
+ }
229
+
230
+ .m-loading-pulse__ring {
231
+ animation: m-loading-pulse var(--m-loading-pulse) ease-out infinite;
232
+ border: 3px solid var(--m-loading-c2);
233
+ border-radius: 50%;
234
+ box-sizing: border-box;
235
+ inset: 0;
236
+ position: absolute;
237
+ }
238
+
239
+ .m-loading-pulse__ring:nth-child(1) {
240
+ animation-delay: 0s;
241
+ border-color: var(--m-loading-c1);
242
+ }
243
+
244
+ .m-loading-pulse__ring:nth-child(2) {
245
+ animation-delay: 0.45s;
246
+ border-color: var(--m-loading-c5);
247
+ }
248
+
249
+ .m-loading-pulse__ring:nth-child(3) {
250
+ animation-delay: 0.9s;
251
+ border-color: var(--m-loading-c2);
252
+ }
253
+
254
+ .m-loading-pulse__ring:nth-child(4) {
255
+ animation-delay: 1.35s;
256
+ border-color: var(--m-loading-c3);
257
+ }
258
+
259
+ .m-loading-stardust__dot {
260
+ --i: 0;
261
+ animation: m-loading-stardust var(--m-loading-stardust) ease-in-out infinite;
262
+ background: var(--m-loading-c1);
263
+ border-radius: 50%;
264
+ height: 0.5rem;
265
+ left: 50%;
266
+ position: absolute;
267
+ top: 50%;
268
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px);
269
+ width: 0.5rem;
270
+ }
271
+
272
+ .m-loading-stardust__dot:nth-child(1) { animation-delay: 0s; background: var(--m-loading-c1); }
273
+ .m-loading-stardust__dot:nth-child(2) { animation-delay: 0.08s; background: var(--m-loading-c5); }
274
+ .m-loading-stardust__dot:nth-child(3) { animation-delay: 0.16s; background: var(--m-loading-c4); }
275
+ .m-loading-stardust__dot:nth-child(4) { animation-delay: 0.24s; background: var(--m-loading-c2); }
276
+ .m-loading-stardust__dot:nth-child(5) { animation-delay: 0.32s; background: var(--m-loading-c3); }
277
+ .m-loading-stardust__dot:nth-child(6) { animation-delay: 0.4s; background: var(--m-loading-c6); }
278
+ .m-loading-stardust__dot:nth-child(7) { animation-delay: 0.48s; background: color-mix(in srgb, var(--m-loading-c1) 55%, white); }
279
+ .m-loading-stardust__dot:nth-child(8) { animation-delay: 0.56s; background: var(--m-loading-c2); }
280
+
281
+ .m-loading-circular {
282
+ align-items: center;
283
+ display: inline-flex;
284
+ justify-content: center;
285
+ }
286
+
287
+ .m-loading-circular__svg {
288
+ animation: m-loading-circular-rotate var(--m-loading-circular-rotate) linear infinite;
289
+ display: inline-block;
290
+ height: 2.625rem;
291
+ width: 2.625rem;
292
+ }
293
+
294
+ .m-loading-circular__path {
295
+ animation: m-loading-circular-dash var(--m-loading-circular-dash) ease-in-out infinite;
296
+ fill: none;
297
+ stroke: var(--m-loading-c1);
298
+ stroke-linecap: round;
299
+ stroke-width: 2;
300
+ }
301
+
302
+ @keyframes m-loading-spin {
303
+ from { transform: rotate(0deg); }
304
+ to { transform: rotate(360deg); }
305
+ }
306
+
307
+ @keyframes m-loading-bounce {
308
+ from { transform: translateY(0) scale(1); }
309
+ to { transform: translateY(-34px) scale(1.1); }
310
+ }
311
+
312
+ @keyframes m-loading-wave {
313
+ from { transform: scaleY(0.26); }
314
+ to { transform: scaleY(1); }
315
+ }
316
+
317
+ @keyframes m-loading-pulse {
318
+ from { opacity: 1; transform: scale(0.15); }
319
+ to { opacity: 0; transform: scale(1.6); }
320
+ }
321
+
322
+ @keyframes m-loading-stardust {
323
+ 0%,
324
+ 100% {
325
+ opacity: 0.2;
326
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg)) translateX(22px) scale(0.3);
327
+ }
328
+
329
+ 50% {
330
+ opacity: 1;
331
+ transform: translate(-50%, -50%) rotate(calc(var(--i) * 45deg + 180deg)) translateX(28px) scale(1.2);
332
+ }
333
+ }
334
+
335
+ @keyframes m-loading-circular-rotate {
336
+ to { transform: rotate(360deg); }
337
+ }
338
+
339
+ @keyframes m-loading-circular-dash {
340
+ 0% {
341
+ stroke-dasharray: 1, 200;
342
+ stroke-dashoffset: 0;
343
+ }
344
+
345
+ 50% {
346
+ stroke-dasharray: 90, 150;
347
+ stroke-dashoffset: -40px;
348
+ }
349
+
350
+ 100% {
351
+ stroke-dasharray: 90, 150;
352
+ stroke-dashoffset: -120px;
353
+ }
354
+ }
355
+
356
+ [data-m-motion="reduced"] .m-loading-aurora__ring,
357
+ [data-m-motion="reduced"] .m-loading-aurora__glow,
358
+ [data-m-motion="reduced"] .m-loading-bounce__ball,
359
+ [data-m-motion="reduced"] .m-loading-wave__bar,
360
+ [data-m-motion="reduced"] .m-loading-pulse__ring,
361
+ [data-m-motion="reduced"] .m-loading-stardust__dot,
362
+ [data-m-motion="reduced"] .m-loading-circular__svg,
363
+ [data-m-motion="reduced"] .m-loading-circular__path,
364
+ [data-m-motion="reduced"] .m-loading-enter-active,
365
+ [data-m-motion="reduced"] .m-loading-leave-active,
366
+ [data-m-motion="none"] .m-loading-aurora__ring,
367
+ [data-m-motion="none"] .m-loading-aurora__glow,
368
+ [data-m-motion="none"] .m-loading-bounce__ball,
369
+ [data-m-motion="none"] .m-loading-wave__bar,
370
+ [data-m-motion="none"] .m-loading-pulse__ring,
371
+ [data-m-motion="none"] .m-loading-stardust__dot,
372
+ [data-m-motion="none"] .m-loading-circular__svg,
373
+ [data-m-motion="none"] .m-loading-circular__path,
374
+ [data-m-motion="none"] .m-loading-enter-active,
375
+ [data-m-motion="none"] .m-loading-leave-active {
376
+ animation: none;
377
+ transition: none;
378
+ }