@morya-ui/mcp 0.4.4 → 0.4.5
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.
- package/LICENSE +21 -21
- package/README.md +154 -154
- package/bin/morya-ui-mcp.js +2 -2
- package/data/catalog.json +949 -172
- package/data/example-coverage.json +30 -37
- package/data/golden-pages/dashboard-page.vue +161 -161
- package/data/golden-pages/detail-page.vue +147 -147
- package/data/golden-pages/empty-state.vue +56 -56
- package/data/golden-pages/form-in-dialog.vue +166 -166
- package/data/golden-pages/form-page.vue +107 -107
- package/data/golden-pages/landing-page.vue +382 -382
- package/data/golden-pages/list-page-dense.vue +168 -168
- package/data/golden-pages/list-page-rail.vue +272 -272
- package/data/golden-pages/list-page.vue +222 -222
- package/data/golden-pages/login-page.vue +244 -244
- package/data/golden-pages/result-page.vue +84 -84
- package/data/golden-pages/settings-page.vue +163 -163
- package/data/golden-pages/wizard-form.vue +167 -167
- package/dist/page-snippets.js +669 -669
- package/dist/style-shells.js +153 -153
- package/dist/tools.js +192 -192
- package/package.json +1 -1
package/dist/style-shells.js
CHANGED
|
@@ -14,14 +14,14 @@ export const styleShells = [
|
|
|
14
14
|
whenEn: 'List / form / dashboard / settings Operate surfaces',
|
|
15
15
|
htmlHintZh: '结构用 MLayout + MPage*;本壳几乎不需要自定义 CSS',
|
|
16
16
|
htmlHintEn: 'Compose with MLayout + MPage*; little custom CSS needed',
|
|
17
|
-
css: `/* Ops: prefer component spacing; optional page tweaks only */
|
|
18
|
-
.ops-page :is(.m-page-content) {
|
|
19
|
-
/* density via MPageContent density prop — do not invent a second scale */
|
|
20
|
-
}
|
|
21
|
-
.ops-page :is(td, th).is-numeric,
|
|
22
|
-
.ops-page .cell-numeric {
|
|
23
|
-
font-variant-numeric: tabular-nums;
|
|
24
|
-
text-align: end;
|
|
17
|
+
css: `/* Ops: prefer component spacing; optional page tweaks only */
|
|
18
|
+
.ops-page :is(.m-page-content) {
|
|
19
|
+
/* density via MPageContent density prop — do not invent a second scale */
|
|
20
|
+
}
|
|
21
|
+
.ops-page :is(td, th).is-numeric,
|
|
22
|
+
.ops-page .cell-numeric {
|
|
23
|
+
font-variant-numeric: tabular-nums;
|
|
24
|
+
text-align: end;
|
|
25
25
|
}`,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
@@ -35,69 +35,69 @@ export const styleShells = [
|
|
|
35
35
|
whenEn: 'Login / register / password recovery',
|
|
36
36
|
htmlHintZh: '对齐 auth-split-shell 片段;文案用产品名,不要「示例」',
|
|
37
37
|
htmlHintEn: 'Align with auth-split-shell snippet; use product copy, not placeholders',
|
|
38
|
-
css: `.login-shell {
|
|
39
|
-
display: grid;
|
|
40
|
-
grid-template-columns: minmax(16rem, 0.95fr) minmax(20rem, 1.05fr);
|
|
41
|
-
min-height: 100vh;
|
|
42
|
-
background: var(--m-color-surface);
|
|
43
|
-
}
|
|
44
|
-
.login-brand {
|
|
45
|
-
display: flex;
|
|
46
|
-
flex-direction: column;
|
|
47
|
-
justify-content: flex-end;
|
|
48
|
-
gap: var(--m-space-4);
|
|
49
|
-
padding: clamp(2rem, 6vw, 4.5rem);
|
|
50
|
-
background: color-mix(in srgb, var(--m-color-primary) 12%, var(--m-color-surface));
|
|
51
|
-
border-right: 1px solid var(--m-color-border);
|
|
52
|
-
}
|
|
53
|
-
.login-brand__mark {
|
|
54
|
-
margin: 0;
|
|
55
|
-
font-size: var(--m-font-size-sm);
|
|
56
|
-
letter-spacing: 0.08em;
|
|
57
|
-
text-transform: uppercase;
|
|
58
|
-
color: var(--m-color-text-muted);
|
|
59
|
-
}
|
|
60
|
-
.login-brand__title {
|
|
61
|
-
margin: 0;
|
|
62
|
-
font-size: clamp(1.75rem, 3vw, 2.25rem);
|
|
63
|
-
line-height: 1.2;
|
|
64
|
-
color: var(--m-color-text);
|
|
65
|
-
font-weight: 600;
|
|
66
|
-
}
|
|
67
|
-
.login-brand__lead {
|
|
68
|
-
margin: 0;
|
|
69
|
-
max-width: 28rem;
|
|
70
|
-
color: var(--m-color-text-muted);
|
|
71
|
-
font-size: var(--m-font-size-md);
|
|
72
|
-
}
|
|
73
|
-
.login-main {
|
|
74
|
-
display: flex;
|
|
75
|
-
align-items: center;
|
|
76
|
-
justify-content: center;
|
|
77
|
-
padding: var(--m-space-6);
|
|
78
|
-
}
|
|
79
|
-
.login-panel {
|
|
80
|
-
width: min(100%, 22rem);
|
|
81
|
-
display: flex;
|
|
82
|
-
flex-direction: column;
|
|
83
|
-
gap: var(--m-space-4);
|
|
84
|
-
}
|
|
85
|
-
.login-panel__header h2 {
|
|
86
|
-
margin: 0 0 var(--m-space-2);
|
|
87
|
-
font-size: var(--m-font-size-xl);
|
|
88
|
-
}
|
|
89
|
-
.login-panel__header p,
|
|
90
|
-
.login-alert {
|
|
91
|
-
margin: 0;
|
|
92
|
-
color: var(--m-color-text-muted);
|
|
93
|
-
font-size: var(--m-font-size-sm);
|
|
94
|
-
}
|
|
95
|
-
.login-alert {
|
|
96
|
-
color: var(--m-color-danger);
|
|
97
|
-
}
|
|
98
|
-
@media (max-width: 720px) {
|
|
99
|
-
.login-shell { grid-template-columns: 1fr; }
|
|
100
|
-
.login-brand { border-right: none; border-bottom: 1px solid var(--m-color-border); }
|
|
38
|
+
css: `.login-shell {
|
|
39
|
+
display: grid;
|
|
40
|
+
grid-template-columns: minmax(16rem, 0.95fr) minmax(20rem, 1.05fr);
|
|
41
|
+
min-height: 100vh;
|
|
42
|
+
background: var(--m-color-surface);
|
|
43
|
+
}
|
|
44
|
+
.login-brand {
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
justify-content: flex-end;
|
|
48
|
+
gap: var(--m-space-4);
|
|
49
|
+
padding: clamp(2rem, 6vw, 4.5rem);
|
|
50
|
+
background: color-mix(in srgb, var(--m-color-primary) 12%, var(--m-color-surface));
|
|
51
|
+
border-right: 1px solid var(--m-color-border);
|
|
52
|
+
}
|
|
53
|
+
.login-brand__mark {
|
|
54
|
+
margin: 0;
|
|
55
|
+
font-size: var(--m-font-size-sm);
|
|
56
|
+
letter-spacing: 0.08em;
|
|
57
|
+
text-transform: uppercase;
|
|
58
|
+
color: var(--m-color-text-muted);
|
|
59
|
+
}
|
|
60
|
+
.login-brand__title {
|
|
61
|
+
margin: 0;
|
|
62
|
+
font-size: clamp(1.75rem, 3vw, 2.25rem);
|
|
63
|
+
line-height: 1.2;
|
|
64
|
+
color: var(--m-color-text);
|
|
65
|
+
font-weight: 600;
|
|
66
|
+
}
|
|
67
|
+
.login-brand__lead {
|
|
68
|
+
margin: 0;
|
|
69
|
+
max-width: 28rem;
|
|
70
|
+
color: var(--m-color-text-muted);
|
|
71
|
+
font-size: var(--m-font-size-md);
|
|
72
|
+
}
|
|
73
|
+
.login-main {
|
|
74
|
+
display: flex;
|
|
75
|
+
align-items: center;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
padding: var(--m-space-6);
|
|
78
|
+
}
|
|
79
|
+
.login-panel {
|
|
80
|
+
width: min(100%, 22rem);
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: column;
|
|
83
|
+
gap: var(--m-space-4);
|
|
84
|
+
}
|
|
85
|
+
.login-panel__header h2 {
|
|
86
|
+
margin: 0 0 var(--m-space-2);
|
|
87
|
+
font-size: var(--m-font-size-xl);
|
|
88
|
+
}
|
|
89
|
+
.login-panel__header p,
|
|
90
|
+
.login-alert {
|
|
91
|
+
margin: 0;
|
|
92
|
+
color: var(--m-color-text-muted);
|
|
93
|
+
font-size: var(--m-font-size-sm);
|
|
94
|
+
}
|
|
95
|
+
.login-alert {
|
|
96
|
+
color: var(--m-color-danger);
|
|
97
|
+
}
|
|
98
|
+
@media (max-width: 720px) {
|
|
99
|
+
.login-shell { grid-template-columns: 1fr; }
|
|
100
|
+
.login-brand { border-right: none; border-bottom: 1px solid var(--m-color-border); }
|
|
101
101
|
}`,
|
|
102
102
|
},
|
|
103
103
|
{
|
|
@@ -111,34 +111,34 @@ export const styleShells = [
|
|
|
111
111
|
whenEn: 'Auth without a strong brand image, or mobile-first',
|
|
112
112
|
htmlHintZh: '单列居中;表单错误用 errorMessage 或 role=alert',
|
|
113
113
|
htmlHintEn: 'Single centered column; form errors via errorMessage or role=alert',
|
|
114
|
-
css: `.auth-center {
|
|
115
|
-
min-height: 100vh;
|
|
116
|
-
display: flex;
|
|
117
|
-
align-items: center;
|
|
118
|
-
justify-content: center;
|
|
119
|
-
padding: var(--m-space-6);
|
|
120
|
-
background: var(--m-color-surface);
|
|
121
|
-
}
|
|
122
|
-
.auth-center__card {
|
|
123
|
-
width: min(100%, 22rem);
|
|
124
|
-
padding: var(--m-space-6);
|
|
125
|
-
border: 1px solid var(--m-color-border);
|
|
126
|
-
border-radius: var(--m-radius-md);
|
|
127
|
-
background: var(--m-color-surface);
|
|
128
|
-
display: flex;
|
|
129
|
-
flex-direction: column;
|
|
130
|
-
gap: var(--m-space-4);
|
|
131
|
-
}
|
|
132
|
-
.auth-center__mark {
|
|
133
|
-
margin: 0;
|
|
134
|
-
font-size: var(--m-font-size-sm);
|
|
135
|
-
color: var(--m-color-text-muted);
|
|
136
|
-
letter-spacing: 0.06em;
|
|
137
|
-
}
|
|
138
|
-
.auth-center__title {
|
|
139
|
-
margin: 0;
|
|
140
|
-
font-size: var(--m-font-size-xl);
|
|
141
|
-
color: var(--m-color-text);
|
|
114
|
+
css: `.auth-center {
|
|
115
|
+
min-height: 100vh;
|
|
116
|
+
display: flex;
|
|
117
|
+
align-items: center;
|
|
118
|
+
justify-content: center;
|
|
119
|
+
padding: var(--m-space-6);
|
|
120
|
+
background: var(--m-color-surface);
|
|
121
|
+
}
|
|
122
|
+
.auth-center__card {
|
|
123
|
+
width: min(100%, 22rem);
|
|
124
|
+
padding: var(--m-space-6);
|
|
125
|
+
border: 1px solid var(--m-color-border);
|
|
126
|
+
border-radius: var(--m-radius-md);
|
|
127
|
+
background: var(--m-color-surface);
|
|
128
|
+
display: flex;
|
|
129
|
+
flex-direction: column;
|
|
130
|
+
gap: var(--m-space-4);
|
|
131
|
+
}
|
|
132
|
+
.auth-center__mark {
|
|
133
|
+
margin: 0;
|
|
134
|
+
font-size: var(--m-font-size-sm);
|
|
135
|
+
color: var(--m-color-text-muted);
|
|
136
|
+
letter-spacing: 0.06em;
|
|
137
|
+
}
|
|
138
|
+
.auth-center__title {
|
|
139
|
+
margin: 0;
|
|
140
|
+
font-size: var(--m-font-size-xl);
|
|
141
|
+
color: var(--m-color-text);
|
|
142
142
|
}`,
|
|
143
143
|
},
|
|
144
144
|
{
|
|
@@ -152,13 +152,13 @@ export const styleShells = [
|
|
|
152
152
|
whenEn: 'First use / no filter matches / cleared resources',
|
|
153
153
|
htmlHintZh: '优先用 empty-block 片段;框可选',
|
|
154
154
|
htmlHintEn: 'Prefer empty-block snippet; frame is optional',
|
|
155
|
-
css: `.empty-state-shell {
|
|
156
|
-
border: 1px dashed var(--m-color-border);
|
|
157
|
-
border-radius: var(--m-radius-md);
|
|
158
|
-
background: var(--m-color-surface);
|
|
159
|
-
padding: var(--m-space-6);
|
|
160
|
-
display: flex;
|
|
161
|
-
justify-content: center;
|
|
155
|
+
css: `.empty-state-shell {
|
|
156
|
+
border: 1px dashed var(--m-color-border);
|
|
157
|
+
border-radius: var(--m-radius-md);
|
|
158
|
+
background: var(--m-color-surface);
|
|
159
|
+
padding: var(--m-space-6);
|
|
160
|
+
display: flex;
|
|
161
|
+
justify-content: center;
|
|
162
162
|
}`,
|
|
163
163
|
},
|
|
164
164
|
{
|
|
@@ -172,13 +172,13 @@ export const styleShells = [
|
|
|
172
172
|
whenEn: 'Submit success/failure / 403 / 404 / 500',
|
|
173
173
|
htmlHintZh: '用 result-block;不要用 MEmpty 冒充结果页',
|
|
174
174
|
htmlHintEn: 'Use result-block; do not fake results with MEmpty',
|
|
175
|
-
css: `.result-shell {
|
|
176
|
-
min-height: 60vh;
|
|
177
|
-
display: flex;
|
|
178
|
-
align-items: center;
|
|
179
|
-
justify-content: center;
|
|
180
|
-
padding: var(--m-space-6);
|
|
181
|
-
background: var(--m-color-surface);
|
|
175
|
+
css: `.result-shell {
|
|
176
|
+
min-height: 60vh;
|
|
177
|
+
display: flex;
|
|
178
|
+
align-items: center;
|
|
179
|
+
justify-content: center;
|
|
180
|
+
padding: var(--m-space-6);
|
|
181
|
+
background: var(--m-color-surface);
|
|
182
182
|
}`,
|
|
183
183
|
},
|
|
184
184
|
{
|
|
@@ -192,46 +192,46 @@ export const styleShells = [
|
|
|
192
192
|
whenEn: 'Landing / pricing lead-in / product intro',
|
|
193
193
|
htmlHintZh: '控件仍用 MButton/MTag;禁止未要求的 aurora / 毛玻璃',
|
|
194
194
|
htmlHintEn: 'Controls stay MButton/MTag; no unsolicited aurora/glass',
|
|
195
|
-
css: `.landing-hero {
|
|
196
|
-
display: flex;
|
|
197
|
-
flex-direction: column;
|
|
198
|
-
gap: var(--m-space-4);
|
|
199
|
-
padding: clamp(2rem, 5vw, 4rem) var(--m-space-6);
|
|
200
|
-
background: var(--m-color-surface);
|
|
201
|
-
border-bottom: 1px solid var(--m-color-border);
|
|
202
|
-
}
|
|
203
|
-
.landing-hero__brand {
|
|
204
|
-
margin: 0;
|
|
205
|
-
font-size: var(--m-font-size-sm);
|
|
206
|
-
letter-spacing: 0.08em;
|
|
207
|
-
text-transform: uppercase;
|
|
208
|
-
color: var(--m-color-primary);
|
|
209
|
-
}
|
|
210
|
-
.landing-hero__title {
|
|
211
|
-
margin: 0;
|
|
212
|
-
max-width: 18ch;
|
|
213
|
-
font-size: clamp(2rem, 4vw, 3rem);
|
|
214
|
-
line-height: 1.15;
|
|
215
|
-
color: var(--m-color-text);
|
|
216
|
-
}
|
|
217
|
-
.landing-hero__lead {
|
|
218
|
-
margin: 0;
|
|
219
|
-
max-width: 36rem;
|
|
220
|
-
color: var(--m-color-text-muted);
|
|
221
|
-
font-size: var(--m-font-size-md);
|
|
222
|
-
}
|
|
223
|
-
.landing-hero__actions {
|
|
224
|
-
display: flex;
|
|
225
|
-
flex-wrap: wrap;
|
|
226
|
-
gap: var(--m-space-3);
|
|
227
|
-
}
|
|
228
|
-
.landing-hero__visual {
|
|
229
|
-
margin-top: var(--m-space-5);
|
|
230
|
-
min-height: 12rem;
|
|
231
|
-
padding: var(--m-space-5);
|
|
232
|
-
border: 1px solid var(--m-color-border);
|
|
233
|
-
border-radius: var(--m-radius-md);
|
|
234
|
-
background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
|
|
195
|
+
css: `.landing-hero {
|
|
196
|
+
display: flex;
|
|
197
|
+
flex-direction: column;
|
|
198
|
+
gap: var(--m-space-4);
|
|
199
|
+
padding: clamp(2rem, 5vw, 4rem) var(--m-space-6);
|
|
200
|
+
background: var(--m-color-surface);
|
|
201
|
+
border-bottom: 1px solid var(--m-color-border);
|
|
202
|
+
}
|
|
203
|
+
.landing-hero__brand {
|
|
204
|
+
margin: 0;
|
|
205
|
+
font-size: var(--m-font-size-sm);
|
|
206
|
+
letter-spacing: 0.08em;
|
|
207
|
+
text-transform: uppercase;
|
|
208
|
+
color: var(--m-color-primary);
|
|
209
|
+
}
|
|
210
|
+
.landing-hero__title {
|
|
211
|
+
margin: 0;
|
|
212
|
+
max-width: 18ch;
|
|
213
|
+
font-size: clamp(2rem, 4vw, 3rem);
|
|
214
|
+
line-height: 1.15;
|
|
215
|
+
color: var(--m-color-text);
|
|
216
|
+
}
|
|
217
|
+
.landing-hero__lead {
|
|
218
|
+
margin: 0;
|
|
219
|
+
max-width: 36rem;
|
|
220
|
+
color: var(--m-color-text-muted);
|
|
221
|
+
font-size: var(--m-font-size-md);
|
|
222
|
+
}
|
|
223
|
+
.landing-hero__actions {
|
|
224
|
+
display: flex;
|
|
225
|
+
flex-wrap: wrap;
|
|
226
|
+
gap: var(--m-space-3);
|
|
227
|
+
}
|
|
228
|
+
.landing-hero__visual {
|
|
229
|
+
margin-top: var(--m-space-5);
|
|
230
|
+
min-height: 12rem;
|
|
231
|
+
padding: var(--m-space-5);
|
|
232
|
+
border: 1px solid var(--m-color-border);
|
|
233
|
+
border-radius: var(--m-radius-md);
|
|
234
|
+
background: color-mix(in srgb, var(--m-color-primary) 8%, var(--m-color-surface));
|
|
235
235
|
}`,
|
|
236
236
|
},
|
|
237
237
|
];
|