morya-ui 0.3.3 → 0.3.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 (176) hide show
  1. package/CHANGELOG.md +527 -520
  2. package/LICENSE +21 -21
  3. package/README.md +150 -150
  4. package/README.zh-CN.md +150 -150
  5. package/dist/accordion/style.css +1148 -1148
  6. package/dist/auto-complete/style.css +1690 -1690
  7. package/dist/avatar/style.css +1261 -1261
  8. package/dist/badge/style.css +1315 -1315
  9. package/dist/block-ui/style.css +1148 -1148
  10. package/dist/breadcrumb/style.css +1148 -1148
  11. package/dist/button/style.css +2134 -2134
  12. package/dist/card/style.css +1148 -1148
  13. package/dist/carousel/style.css +1249 -1249
  14. package/dist/cascade-select/style.css +1839 -1839
  15. package/dist/checkbox/style.css +1148 -1148
  16. package/dist/chip/style.css +1292 -1292
  17. package/dist/command-menu/style.css +1381 -1381
  18. package/dist/components/AutoComplete/styles.css +209 -209
  19. package/dist/components/Avatar/styles.css +113 -113
  20. package/dist/components/Badge/styles.css +165 -165
  21. package/dist/components/Button/styles.css +962 -962
  22. package/dist/components/Carousel/styles.css +101 -101
  23. package/dist/components/CascadeSelect/styles.css +157 -157
  24. package/dist/components/Chip/styles.css +144 -144
  25. package/dist/components/CommandMenu/styles.css +102 -102
  26. package/dist/components/ConfigProvider/styles.css +6 -6
  27. package/dist/components/ConfirmDialog/styles.css +24 -24
  28. package/dist/components/ConfirmPopup/styles.css +35 -35
  29. package/dist/components/ContextMenu/styles.css +138 -138
  30. package/dist/components/DatePicker/styles.css +335 -335
  31. package/dist/components/Dialog/styles.css +421 -421
  32. package/dist/components/Dock/styles.css +84 -84
  33. package/dist/components/Drawer/styles.css +334 -334
  34. package/dist/components/Dropdown/styles.css +130 -130
  35. package/dist/components/Empty/styles.css +146 -146
  36. package/dist/components/FileUpload/styles.css +359 -359
  37. package/dist/components/Form/styles.css +114 -114
  38. package/dist/components/Gallery/styles.css +100 -100
  39. package/dist/components/Input/styles.css +356 -356
  40. package/dist/components/InputColor/styles.css +129 -129
  41. package/dist/components/InputNumber/styles.css +261 -261
  42. package/dist/components/InputPassword/styles.css +178 -178
  43. package/dist/components/InputTags/styles.css +112 -112
  44. package/dist/components/Layout/styles.css +433 -433
  45. package/dist/components/Loading/styles.css +378 -378
  46. package/dist/components/MegaMenu/styles.css +97 -97
  47. package/dist/components/Menu/styles.css +564 -564
  48. package/dist/components/Menubar/styles.css +144 -144
  49. package/dist/components/Message/styles.css +250 -250
  50. package/dist/components/MeterGroup/styles.css +49 -49
  51. package/dist/components/Page/PageContent.vue.d.ts +1 -0
  52. package/dist/components/Page/PageContent.vue.d.ts.map +1 -1
  53. package/dist/components/Page/styles.css +412 -394
  54. package/dist/components/Page/types.d.ts +5 -0
  55. package/dist/components/Page/types.d.ts.map +1 -1
  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 +1 -0
  69. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  70. package/dist/components/Table/styles.css +28 -0
  71. package/dist/components/Table/types.d.ts +6 -0
  72. package/dist/components/Table/types.d.ts.map +1 -1
  73. package/dist/components/Tabs/styles.css +131 -131
  74. package/dist/components/Terminal/styles.css +74 -74
  75. package/dist/components/Textarea/styles.css +126 -126
  76. package/dist/components/TieredMenu/styles.css +125 -125
  77. package/dist/components/Timeline/styles.css +159 -159
  78. package/dist/components/TreeSelect/styles.css +161 -161
  79. package/dist/components/TreeTable/styles.css +97 -97
  80. package/dist/components/VirtualScroller/styles.css +27 -27
  81. package/dist/config-provider/style.css +2472 -2472
  82. package/dist/confirm-dialog/style.css +2555 -2555
  83. package/dist/confirm-popup/style.css +2145 -2145
  84. package/dist/context-menu/style.css +1417 -1417
  85. package/dist/data-view/style.css +1631 -1631
  86. package/dist/date-picker/style.css +1483 -1483
  87. package/dist/dialog/style.css +2531 -2531
  88. package/dist/divider/style.css +1148 -1148
  89. package/dist/dock/style.css +1232 -1232
  90. package/dist/drawer/style.css +1482 -1482
  91. package/dist/dropdown/style.css +1409 -1409
  92. package/dist/empty/style.css +1294 -1294
  93. package/dist/fieldset/style.css +1148 -1148
  94. package/dist/file-upload/style.css +1507 -1507
  95. package/dist/flex/index.js +1 -1
  96. package/dist/flex/style.css +1148 -1148
  97. package/dist/float-label/style.css +1148 -1148
  98. package/dist/fluid/style.css +1148 -1148
  99. package/dist/form/style.css +1264 -1264
  100. package/dist/gallery/style.css +1379 -1379
  101. package/dist/grid/index.js +1 -1
  102. package/dist/grid/style.css +1148 -1148
  103. package/dist/icon/style.css +1148 -1148
  104. package/dist/icon-field/style.css +1504 -1504
  105. package/dist/index.js +1209 -1204
  106. package/dist/inplace/style.css +1148 -1148
  107. package/dist/input/style.css +1504 -1504
  108. package/dist/input-color/style.css +1279 -1279
  109. package/dist/input-group/style.css +1148 -1148
  110. package/dist/input-number/style.css +1409 -1409
  111. package/dist/input-otp/style.css +1148 -1148
  112. package/dist/input-password/style.css +1326 -1326
  113. package/dist/input-tags/style.css +1260 -1260
  114. package/dist/knob/style.css +1148 -1148
  115. package/dist/label/style.css +1148 -1148
  116. package/dist/layout/style.css +1712 -1712
  117. package/dist/listbox/style.css +1306 -1306
  118. package/dist/loading/style.css +1528 -1528
  119. package/dist/mega-menu/style.css +1245 -1245
  120. package/dist/menu/style.css +2001 -2001
  121. package/dist/menubar/style.css +1423 -1423
  122. package/dist/message/style.css +1398 -1398
  123. package/dist/meter-group/style.css +1199 -1199
  124. package/dist/order-list/style.css +1148 -1148
  125. package/dist/page/index.js +7 -2
  126. package/dist/page/style.css +2668 -2650
  127. package/dist/pagination/style.css +1445 -1445
  128. package/dist/panel/style.css +1148 -1148
  129. package/dist/pick-list/style.css +1148 -1148
  130. package/dist/popover/style.css +1242 -1242
  131. package/dist/progress-bar/style.css +1148 -1148
  132. package/dist/progress-spinner/style.css +1148 -1148
  133. package/dist/radio/style.css +1148 -1148
  134. package/dist/rating/style.css +1148 -1148
  135. package/dist/result/style.css +1294 -1294
  136. package/dist/scroll-top/style.css +1279 -1279
  137. package/dist/scrollbar/style.css +1281 -1281
  138. package/dist/select/style.css +1901 -1901
  139. package/dist/select-button/style.css +1255 -1255
  140. package/dist/shared/gap.d.ts +4 -1
  141. package/dist/shared/gap.d.ts.map +1 -1
  142. package/dist/shared/styles/control-affix-icon.css +110 -110
  143. package/dist/shared/styles/control-suffix.css +118 -118
  144. package/dist/shared/styles/select-overlay.css +175 -175
  145. package/dist/sidebar/style.css +1222 -1222
  146. package/dist/skeleton/style.css +1148 -1148
  147. package/dist/slider/style.css +1361 -1361
  148. package/dist/space/index.js +1 -1
  149. package/dist/space/style.css +1148 -1148
  150. package/dist/speed-dial/style.css +1148 -1148
  151. package/dist/split-button/style.css +2326 -2326
  152. package/dist/splitter/style.css +1148 -1148
  153. package/dist/status/style.css +1339 -1339
  154. package/dist/stepper/style.css +1283 -1283
  155. package/dist/styles/base.css +790 -790
  156. package/dist/styles.css +1 -1
  157. package/dist/switch/style.css +1279 -1279
  158. package/dist/table/index.js +242 -237
  159. package/dist/table/style.css +1840 -1812
  160. package/dist/tabs/style.css +1410 -1410
  161. package/dist/tag/style.css +1148 -1148
  162. package/dist/terminal/style.css +1224 -1224
  163. package/dist/textarea/style.css +1274 -1274
  164. package/dist/theme/styles.css +358 -358
  165. package/dist/tiered-menu/style.css +1404 -1404
  166. package/dist/timeline/style.css +1438 -1438
  167. package/dist/toast/style.css +1148 -1148
  168. package/dist/toggle-button/style.css +1148 -1148
  169. package/dist/toolbar/style.css +1148 -1148
  170. package/dist/tooltip/style.css +1148 -1148
  171. package/dist/tree/style.css +1148 -1148
  172. package/dist/tree-select/style.css +1843 -1843
  173. package/dist/tree-table/style.css +1245 -1245
  174. package/dist/virtual-scroller/style.css +1309 -1309
  175. package/dist/{vnode-C7Y1SjKB.js → vnode-CmdNQlN7.js} +18 -23
  176. package/package.json +31 -29
@@ -1,394 +1,412 @@
1
- /* —— Layout: Page ——
2
- * Surface contract (kept in sync with Card / Table / controls):
3
- * - Page chrome stays flat: whitespace and type hierarchy, not a second kit.
4
- * - Recessive bands (filled filters, muted section) = Table-header fill, no radius.
5
- * - Elevated surfaces reuse Card: surface + 1px border + radius-lg, same padding.
6
- * - Never invent glow, dashed frames, or pill chips on Ops page chrome.
7
- */
8
- .m-page-content {
9
- --m-page-content-body-lead: var(--m-space-2);
10
- --m-page-content-tools-pull: var(--m-space-2);
11
- box-sizing: border-box;
12
- display: flex;
13
- flex-direction: column;
14
- font-family: var(--m-font-sans);
15
- gap: var(--m-page-content-gap, var(--m-space-4));
16
- padding: var(--m-page-content-padding, var(--m-space-6));
17
- width: 100%;
18
- }
19
-
20
- .m-page-content > .m-page-header + :is(.m-page-filters, .m-page-toolbar) {
21
- margin-top: calc(var(--m-space-1) - var(--m-page-content-gap, var(--m-space-4)));
22
- }
23
-
24
- .m-page-content > .m-page-filters + .m-page-toolbar {
25
- margin-top: calc(var(--m-page-content-tools-pull) * -1);
26
- }
27
-
28
- .m-page-content
29
- > :is(.m-page-filters, .m-page-toolbar)
30
- + :is(.m-table, .m-grid, .m-page-section:not(.m-page-section--actions)) {
31
- margin-top: var(--m-page-content-body-lead);
32
- }
33
-
34
- .m-page-content--compact {
35
- --m-page-content-body-lead: var(--m-space-1);
36
- --m-page-content-gap: var(--m-space-3);
37
- --m-page-content-padding: var(--m-space-4);
38
- --m-page-content-tools-pull: var(--m-space-1);
39
- }
40
-
41
- .m-page-content--spacious {
42
- --m-page-content-body-lead: var(--m-space-4);
43
- --m-page-content-gap: var(--m-space-6);
44
- --m-page-content-tools-pull: var(--m-space-3);
45
- }
46
-
47
- .m-page-content--narrow {
48
- max-width: 42rem;
49
- }
50
-
51
- .m-page-content--bands-uniform {
52
- --m-page-content-body-lead: 0;
53
- --m-page-content-tools-pull: 0;
54
- }
55
-
56
- .m-page-content--bands-uniform > .m-page-header + :is(.m-page-filters, .m-page-toolbar) {
57
- margin-top: 0;
58
- }
59
-
60
- .m-page-content--bands-uniform
61
- > :is(.m-page-filters, .m-page-toolbar)
62
- + :is(.m-table, .m-grid, .m-page-section:not(.m-page-section--actions)) {
63
- margin-top: 0;
64
- }
65
-
66
- .m-page-filters {
67
- box-sizing: border-box;
68
- display: grid;
69
- gap: var(--m-space-3);
70
- width: 100%;
71
- }
72
-
73
- .m-page-filters__row {
74
- align-items: flex-start;
75
- display: flex;
76
- flex-wrap: wrap;
77
- gap: var(--m-space-3);
78
- justify-content: space-between;
79
- width: 100%;
80
- }
81
-
82
- .m-page-filters__controls {
83
- flex: 1 1 auto;
84
- min-width: 0;
85
- }
86
-
87
- .m-page-filters__toggle {
88
- flex-shrink: 0;
89
- }
90
-
91
- .m-page-filters__advanced {
92
- width: 100%;
93
- }
94
-
95
- .m-page-filters--filled {
96
- background: var(--m-color-fill-light);
97
- padding: var(--m-space-3) var(--m-space-4);
98
- }
99
-
100
- .m-page-filters--filled .m-page-filters__advanced {
101
- padding-top: var(--m-space-1);
102
- }
103
-
104
- .m-page-filter-chips {
105
- align-items: center;
106
- display: flex;
107
- flex-wrap: wrap;
108
- gap: var(--m-space-2);
109
- width: 100%;
110
- }
111
-
112
- .m-page-filter-chips__label {
113
- color: var(--m-color-text-muted);
114
- flex-shrink: 0;
115
- font-size: var(--m-font-size-sm);
116
- line-height: 1.4;
117
- }
118
-
119
- .m-page-filter-chips__items {
120
- align-items: center;
121
- display: flex;
122
- flex: 1 1 auto;
123
- flex-wrap: wrap;
124
- gap: var(--m-space-2);
125
- min-width: 0;
126
- }
127
-
128
- .m-page-toolbar {
129
- align-items: center;
130
- box-sizing: border-box;
131
- display: flex;
132
- flex-wrap: wrap;
133
- gap: var(--m-space-3);
134
- justify-content: space-between;
135
- width: 100%;
136
- }
137
-
138
- .m-page-toolbar__title {
139
- color: var(--m-color-text);
140
- font-family: var(--m-font-sans);
141
- font-size: var(--m-font-size-md);
142
- font-weight: 600;
143
- line-height: 1.4;
144
- margin: 0;
145
- }
146
-
147
- .m-page-toolbar__actions {
148
- align-items: center;
149
- display: flex;
150
- flex-wrap: wrap;
151
- gap: var(--m-space-2);
152
- margin-left: auto;
153
- }
154
-
155
- .m-page-header {
156
- align-items: flex-start;
157
- box-sizing: border-box;
158
- display: flex;
159
- flex-wrap: wrap;
160
- gap: var(--m-space-3);
161
- justify-content: space-between;
162
- width: 100%;
163
- }
164
-
165
- .m-page-header__main {
166
- display: grid;
167
- gap: var(--m-space-1);
168
- min-width: 0;
169
- }
170
-
171
- .m-page-header__breadcrumb {
172
- margin: 0 0 var(--m-space-1);
173
- }
174
-
175
- .m-page-header__heading {
176
- align-items: center;
177
- display: flex;
178
- flex-wrap: wrap;
179
- gap: var(--m-space-2);
180
- min-width: 0;
181
- }
182
-
183
- .m-page-header__title {
184
- color: var(--m-color-text);
185
- font-family: var(--m-font-sans);
186
- font-size: var(--m-font-size-xl);
187
- font-weight: 600;
188
- letter-spacing: -0.01em;
189
- line-height: 1.4;
190
- margin: 0;
191
- }
192
-
193
- .m-page-header__tags {
194
- align-items: center;
195
- display: inline-flex;
196
- flex-wrap: wrap;
197
- gap: var(--m-space-2);
198
- }
199
-
200
- .m-page-header__description {
201
- color: var(--m-color-text-muted);
202
- font-size: var(--m-font-size-md);
203
- line-height: 1.55;
204
- margin: 0;
205
- max-width: 65ch;
206
- }
207
-
208
- .m-page-header__actions {
209
- align-items: center;
210
- display: flex;
211
- flex-shrink: 0;
212
- flex-wrap: wrap;
213
- gap: var(--m-space-2);
214
- }
215
-
216
- .m-page-section {
217
- box-sizing: border-box;
218
- width: 100%;
219
- }
220
-
221
- .m-page-section__header {
222
- align-items: center;
223
- display: flex;
224
- flex-wrap: wrap;
225
- gap: var(--m-space-3);
226
- justify-content: space-between;
227
- margin: 0 0 var(--m-space-3);
228
- }
229
-
230
- .m-page-section__title {
231
- color: var(--m-color-text);
232
- font-size: var(--m-font-size-md);
233
- font-weight: 600;
234
- line-height: 1.4;
235
- margin: 0;
236
- }
237
-
238
- .m-page-section__actions {
239
- align-items: center;
240
- display: flex;
241
- flex-wrap: wrap;
242
- gap: var(--m-space-2);
243
- }
244
-
245
- .m-page-section--muted {
246
- background: var(--m-color-fill-light);
247
- padding: var(--m-space-4);
248
- }
249
-
250
- .m-page-section--form .m-page-section__header {
251
- margin: 0;
252
- width: 100%;
253
- }
254
-
255
- .m-page-section--actions {
256
- border-top: var(--m-border-width) solid var(--m-color-border);
257
- margin-top: var(--m-space-4);
258
- padding-top: var(--m-space-4);
259
- }
260
-
261
- .m-page-stat__body {
262
- align-items: flex-start;
263
- display: flex;
264
- gap: var(--m-space-3);
265
- justify-content: space-between;
266
- }
267
-
268
- .m-page-stat__content {
269
- display: grid;
270
- gap: var(--m-space-1);
271
- justify-items: start;
272
- min-width: 0;
273
- }
274
-
275
- .m-page-stat__label {
276
- color: var(--m-color-text-muted);
277
- font-size: var(--m-font-size-sm);
278
- line-height: 1.4;
279
- margin: 0;
280
- }
281
-
282
- .m-page-stat__value {
283
- --m-page-stat-value-size: var(--m-font-size-2xl);
284
- color: var(--m-color-text);
285
- font-family: var(--m-font-sans);
286
- font-size: var(--m-page-stat-value-size);
287
- font-variant-numeric: tabular-nums;
288
- font-weight: 600;
289
- letter-spacing: -0.01em;
290
- line-height: 1.25;
291
- margin: 0;
292
- }
293
-
294
- .m-page-stat__meta {
295
- align-items: center;
296
- display: flex;
297
- flex-wrap: wrap;
298
- gap: var(--m-space-2);
299
- }
300
-
301
- .m-page-stat__trend {
302
- align-items: center;
303
- display: inline-flex;
304
- font-size: var(--m-font-size-sm);
305
- font-weight: 500;
306
- gap: var(--m-space-1);
307
- line-height: 1.25;
308
- margin: 0;
309
- }
310
-
311
- .m-page-stat__trend .m-page-stat__trend-icon {
312
- height: var(--m-font-size-sm);
313
- width: var(--m-font-size-sm);
314
- }
315
-
316
- .m-page-stat__trend--primary {
317
- color: var(--m-color-primary);
318
- }
319
-
320
- .m-page-stat__trend--success {
321
- color: var(--m-color-success);
322
- }
323
-
324
- .m-page-stat__trend--warn {
325
- color: var(--m-color-warn);
326
- }
327
-
328
- .m-page-stat__trend--danger {
329
- color: var(--m-color-danger);
330
- }
331
-
332
- .m-page-stat__trend--secondary {
333
- color: var(--m-color-text-muted);
334
- }
335
-
336
- .m-page-stat__trend-label {
337
- color: var(--m-color-text-muted);
338
- font-size: var(--m-font-size-sm);
339
- }
340
-
341
- .m-page-stat__icon {
342
- align-items: center;
343
- color: var(--m-color-text-muted);
344
- display: inline-flex;
345
- flex-shrink: 0;
346
- justify-content: center;
347
- }
348
-
349
- .m-page-stat__icon :is(.m-icon, svg) {
350
- display: block;
351
- height: 1.25rem;
352
- width: 1.25rem;
353
- }
354
-
355
- .m-page-stat--compact .m-page-stat__value {
356
- --m-page-stat-value-size: var(--m-font-size-xl);
357
- }
358
-
359
- .m-page-stat--compact .m-page-stat__icon :is(.m-icon, svg) {
360
- height: 1rem;
361
- width: 1rem;
362
- }
363
-
364
- .m-page-stat--plain {
365
- padding: var(--m-space-2) 0;
366
- }
367
-
368
- .m-page-stat--inline .m-page-stat__content {
369
- align-items: baseline;
370
- display: flex;
371
- flex-wrap: wrap;
372
- gap: var(--m-space-2) var(--m-space-3);
373
- row-gap: var(--m-space-1);
374
- }
375
-
376
- .m-page-stat--inline .m-page-stat__label {
377
- margin: 0;
378
- }
379
-
380
- .m-page-stat--inline .m-page-stat__meta {
381
- flex-basis: 100%;
382
- }
383
-
384
- .m-page-placeholder {
385
- box-sizing: border-box;
386
- display: flex;
387
- min-height: var(--m-page-placeholder-min-height, 12rem);
388
- width: 100%;
389
- }
390
-
391
- .m-page-placeholder__empty {
392
- flex: 1;
393
- min-width: 0;
394
- }
1
+ /* —— Layout: Page ——
2
+ * Surface contract (kept in sync with Card / Table / controls):
3
+ * - Page chrome stays flat: whitespace and type hierarchy, not a second kit.
4
+ * - Recessive bands (filled filters, muted section) = Table-header fill, no radius.
5
+ * - Elevated surfaces reuse Card: surface + 1px border + radius-lg, same padding.
6
+ * - Never invent glow, dashed frames, or pill chips on Ops page chrome.
7
+ */
8
+ .m-page-content {
9
+ --m-page-content-body-lead: var(--m-space-2);
10
+ --m-page-content-tools-pull: var(--m-space-2);
11
+ box-sizing: border-box;
12
+ display: flex;
13
+ flex-direction: column;
14
+ font-family: var(--m-font-sans);
15
+ gap: var(--m-page-content-gap, var(--m-space-4));
16
+ padding: var(--m-page-content-padding, var(--m-space-6));
17
+ width: 100%;
18
+ }
19
+
20
+ .m-page-content > .m-page-header + :is(.m-page-filters, .m-page-toolbar) {
21
+ margin-top: calc(var(--m-space-1) - var(--m-page-content-gap, var(--m-space-4)));
22
+ }
23
+
24
+ .m-page-content > .m-page-filters + .m-page-toolbar {
25
+ margin-top: calc(var(--m-page-content-tools-pull) * -1);
26
+ }
27
+
28
+ .m-page-content
29
+ > :is(.m-page-filters, .m-page-toolbar)
30
+ + :is(.m-table, .m-grid, .m-page-section:not(.m-page-section--actions)) {
31
+ margin-top: var(--m-page-content-body-lead);
32
+ }
33
+
34
+ .m-page-content--compact {
35
+ --m-page-content-body-lead: var(--m-space-1);
36
+ --m-page-content-gap: var(--m-space-3);
37
+ --m-page-content-padding: var(--m-space-4);
38
+ --m-page-content-tools-pull: var(--m-space-1);
39
+ }
40
+
41
+ .m-page-content--spacious {
42
+ --m-page-content-body-lead: var(--m-space-4);
43
+ --m-page-content-gap: var(--m-space-6);
44
+ --m-page-content-tools-pull: var(--m-space-3);
45
+ }
46
+
47
+ .m-page-content--narrow {
48
+ max-width: 42rem;
49
+ }
50
+
51
+ /* Full-viewport main lists only: fill LayoutContent; pair with MTable fill. Skip for embedded/short pages. */
52
+ .m-page-content--fill {
53
+ flex: 1 1 auto;
54
+ height: 100%;
55
+ min-height: 0;
56
+ overflow: hidden;
57
+ }
58
+
59
+ .m-page-content--fill
60
+ > :is(.m-page-header, .m-page-filters, .m-page-filter-chips, .m-page-toolbar, .m-pagination) {
61
+ flex-shrink: 0;
62
+ }
63
+
64
+ .m-page-content--fill > .m-table {
65
+ flex: 1 1 auto;
66
+ min-height: 0;
67
+ }
68
+
69
+ .m-page-content--bands-uniform {
70
+ --m-page-content-body-lead: 0;
71
+ --m-page-content-tools-pull: 0;
72
+ }
73
+
74
+ .m-page-content--bands-uniform > .m-page-header + :is(.m-page-filters, .m-page-toolbar) {
75
+ margin-top: 0;
76
+ }
77
+
78
+ .m-page-content--bands-uniform
79
+ > :is(.m-page-filters, .m-page-toolbar)
80
+ + :is(.m-table, .m-grid, .m-page-section:not(.m-page-section--actions)) {
81
+ margin-top: 0;
82
+ }
83
+
84
+ .m-page-filters {
85
+ box-sizing: border-box;
86
+ display: grid;
87
+ gap: var(--m-space-3);
88
+ width: 100%;
89
+ }
90
+
91
+ .m-page-filters__row {
92
+ align-items: flex-start;
93
+ display: flex;
94
+ flex-wrap: wrap;
95
+ gap: var(--m-space-3);
96
+ justify-content: space-between;
97
+ width: 100%;
98
+ }
99
+
100
+ .m-page-filters__controls {
101
+ flex: 1 1 auto;
102
+ min-width: 0;
103
+ }
104
+
105
+ .m-page-filters__toggle {
106
+ flex-shrink: 0;
107
+ }
108
+
109
+ .m-page-filters__advanced {
110
+ width: 100%;
111
+ }
112
+
113
+ .m-page-filters--filled {
114
+ background: var(--m-color-fill-light);
115
+ padding: var(--m-space-3) var(--m-space-4);
116
+ }
117
+
118
+ .m-page-filters--filled .m-page-filters__advanced {
119
+ padding-top: var(--m-space-1);
120
+ }
121
+
122
+ .m-page-filter-chips {
123
+ align-items: center;
124
+ display: flex;
125
+ flex-wrap: wrap;
126
+ gap: var(--m-space-2);
127
+ width: 100%;
128
+ }
129
+
130
+ .m-page-filter-chips__label {
131
+ color: var(--m-color-text-muted);
132
+ flex-shrink: 0;
133
+ font-size: var(--m-font-size-sm);
134
+ line-height: 1.4;
135
+ }
136
+
137
+ .m-page-filter-chips__items {
138
+ align-items: center;
139
+ display: flex;
140
+ flex: 1 1 auto;
141
+ flex-wrap: wrap;
142
+ gap: var(--m-space-2);
143
+ min-width: 0;
144
+ }
145
+
146
+ .m-page-toolbar {
147
+ align-items: center;
148
+ box-sizing: border-box;
149
+ display: flex;
150
+ flex-wrap: wrap;
151
+ gap: var(--m-space-3);
152
+ justify-content: space-between;
153
+ width: 100%;
154
+ }
155
+
156
+ .m-page-toolbar__title {
157
+ color: var(--m-color-text);
158
+ font-family: var(--m-font-sans);
159
+ font-size: var(--m-font-size-md);
160
+ font-weight: 600;
161
+ line-height: 1.4;
162
+ margin: 0;
163
+ }
164
+
165
+ .m-page-toolbar__actions {
166
+ align-items: center;
167
+ display: flex;
168
+ flex-wrap: wrap;
169
+ gap: var(--m-space-2);
170
+ margin-left: auto;
171
+ }
172
+
173
+ .m-page-header {
174
+ align-items: flex-start;
175
+ box-sizing: border-box;
176
+ display: flex;
177
+ flex-wrap: wrap;
178
+ gap: var(--m-space-3);
179
+ justify-content: space-between;
180
+ width: 100%;
181
+ }
182
+
183
+ .m-page-header__main {
184
+ display: grid;
185
+ gap: var(--m-space-1);
186
+ min-width: 0;
187
+ }
188
+
189
+ .m-page-header__breadcrumb {
190
+ margin: 0 0 var(--m-space-1);
191
+ }
192
+
193
+ .m-page-header__heading {
194
+ align-items: center;
195
+ display: flex;
196
+ flex-wrap: wrap;
197
+ gap: var(--m-space-2);
198
+ min-width: 0;
199
+ }
200
+
201
+ .m-page-header__title {
202
+ color: var(--m-color-text);
203
+ font-family: var(--m-font-sans);
204
+ font-size: var(--m-font-size-xl);
205
+ font-weight: 600;
206
+ letter-spacing: -0.01em;
207
+ line-height: 1.4;
208
+ margin: 0;
209
+ }
210
+
211
+ .m-page-header__tags {
212
+ align-items: center;
213
+ display: inline-flex;
214
+ flex-wrap: wrap;
215
+ gap: var(--m-space-2);
216
+ }
217
+
218
+ .m-page-header__description {
219
+ color: var(--m-color-text-muted);
220
+ font-size: var(--m-font-size-md);
221
+ line-height: 1.55;
222
+ margin: 0;
223
+ max-width: 65ch;
224
+ }
225
+
226
+ .m-page-header__actions {
227
+ align-items: center;
228
+ display: flex;
229
+ flex-shrink: 0;
230
+ flex-wrap: wrap;
231
+ gap: var(--m-space-2);
232
+ }
233
+
234
+ .m-page-section {
235
+ box-sizing: border-box;
236
+ width: 100%;
237
+ }
238
+
239
+ .m-page-section__header {
240
+ align-items: center;
241
+ display: flex;
242
+ flex-wrap: wrap;
243
+ gap: var(--m-space-3);
244
+ justify-content: space-between;
245
+ margin: 0 0 var(--m-space-3);
246
+ }
247
+
248
+ .m-page-section__title {
249
+ color: var(--m-color-text);
250
+ font-size: var(--m-font-size-md);
251
+ font-weight: 600;
252
+ line-height: 1.4;
253
+ margin: 0;
254
+ }
255
+
256
+ .m-page-section__actions {
257
+ align-items: center;
258
+ display: flex;
259
+ flex-wrap: wrap;
260
+ gap: var(--m-space-2);
261
+ }
262
+
263
+ .m-page-section--muted {
264
+ background: var(--m-color-fill-light);
265
+ padding: var(--m-space-4);
266
+ }
267
+
268
+ .m-page-section--form .m-page-section__header {
269
+ margin: 0;
270
+ width: 100%;
271
+ }
272
+
273
+ .m-page-section--actions {
274
+ border-top: var(--m-border-width) solid var(--m-color-border);
275
+ margin-top: var(--m-space-4);
276
+ padding-top: var(--m-space-4);
277
+ }
278
+
279
+ .m-page-stat__body {
280
+ align-items: flex-start;
281
+ display: flex;
282
+ gap: var(--m-space-3);
283
+ justify-content: space-between;
284
+ }
285
+
286
+ .m-page-stat__content {
287
+ display: grid;
288
+ gap: var(--m-space-1);
289
+ justify-items: start;
290
+ min-width: 0;
291
+ }
292
+
293
+ .m-page-stat__label {
294
+ color: var(--m-color-text-muted);
295
+ font-size: var(--m-font-size-sm);
296
+ line-height: 1.4;
297
+ margin: 0;
298
+ }
299
+
300
+ .m-page-stat__value {
301
+ --m-page-stat-value-size: var(--m-font-size-2xl);
302
+ color: var(--m-color-text);
303
+ font-family: var(--m-font-sans);
304
+ font-size: var(--m-page-stat-value-size);
305
+ font-variant-numeric: tabular-nums;
306
+ font-weight: 600;
307
+ letter-spacing: -0.01em;
308
+ line-height: 1.25;
309
+ margin: 0;
310
+ }
311
+
312
+ .m-page-stat__meta {
313
+ align-items: center;
314
+ display: flex;
315
+ flex-wrap: wrap;
316
+ gap: var(--m-space-2);
317
+ }
318
+
319
+ .m-page-stat__trend {
320
+ align-items: center;
321
+ display: inline-flex;
322
+ font-size: var(--m-font-size-sm);
323
+ font-weight: 500;
324
+ gap: var(--m-space-1);
325
+ line-height: 1.25;
326
+ margin: 0;
327
+ }
328
+
329
+ .m-page-stat__trend .m-page-stat__trend-icon {
330
+ height: var(--m-font-size-sm);
331
+ width: var(--m-font-size-sm);
332
+ }
333
+
334
+ .m-page-stat__trend--primary {
335
+ color: var(--m-color-primary);
336
+ }
337
+
338
+ .m-page-stat__trend--success {
339
+ color: var(--m-color-success);
340
+ }
341
+
342
+ .m-page-stat__trend--warn {
343
+ color: var(--m-color-warn);
344
+ }
345
+
346
+ .m-page-stat__trend--danger {
347
+ color: var(--m-color-danger);
348
+ }
349
+
350
+ .m-page-stat__trend--secondary {
351
+ color: var(--m-color-text-muted);
352
+ }
353
+
354
+ .m-page-stat__trend-label {
355
+ color: var(--m-color-text-muted);
356
+ font-size: var(--m-font-size-sm);
357
+ }
358
+
359
+ .m-page-stat__icon {
360
+ align-items: center;
361
+ color: var(--m-color-text-muted);
362
+ display: inline-flex;
363
+ flex-shrink: 0;
364
+ justify-content: center;
365
+ }
366
+
367
+ .m-page-stat__icon :is(.m-icon, svg) {
368
+ display: block;
369
+ height: 1.25rem;
370
+ width: 1.25rem;
371
+ }
372
+
373
+ .m-page-stat--compact .m-page-stat__value {
374
+ --m-page-stat-value-size: var(--m-font-size-xl);
375
+ }
376
+
377
+ .m-page-stat--compact .m-page-stat__icon :is(.m-icon, svg) {
378
+ height: 1rem;
379
+ width: 1rem;
380
+ }
381
+
382
+ .m-page-stat--plain {
383
+ padding: var(--m-space-2) 0;
384
+ }
385
+
386
+ .m-page-stat--inline .m-page-stat__content {
387
+ align-items: baseline;
388
+ display: flex;
389
+ flex-wrap: wrap;
390
+ gap: var(--m-space-2) var(--m-space-3);
391
+ row-gap: var(--m-space-1);
392
+ }
393
+
394
+ .m-page-stat--inline .m-page-stat__label {
395
+ margin: 0;
396
+ }
397
+
398
+ .m-page-stat--inline .m-page-stat__meta {
399
+ flex-basis: 100%;
400
+ }
401
+
402
+ .m-page-placeholder {
403
+ box-sizing: border-box;
404
+ display: flex;
405
+ min-height: var(--m-page-placeholder-min-height, 12rem);
406
+ width: 100%;
407
+ }
408
+
409
+ .m-page-placeholder__empty {
410
+ flex: 1;
411
+ min-width: 0;
412
+ }