maooo-skyline-ui-system 0.1.21 → 0.1.23

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.
@@ -71,3 +71,5 @@ Compatibility notes:
71
71
  7. For generation instructions, read `design-system/prompts` and `design-system/skills`.
72
72
 
73
73
  AI output should not bypass schema. Evidence from design boards should be marked as evidence until it is promoted into token source, pattern documentation, schema, or component registry.
74
+
75
+ The dated [foundation correction evidence](references/figma-foundations-2026-11-05.md) documents promoted token values and their permitted roles; it is included in the published AI snapshot and read order. Read it with tokens before applying new spacing scales or explicit line-height variants.
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "package": {
3
3
  "name": "maooo-skyline-ui-system",
4
- "version": "0.1.21"
4
+ "version": "0.1.23"
5
5
  },
6
- "snapshotVersion": "0.1.21",
7
- "generatedAt": "2026-11-05T01:38:27.226Z",
6
+ "snapshotVersion": "0.1.23",
7
+ "generatedAt": "2026-11-05T02:27:17.167Z",
8
8
  "description": "Read-only design spec snapshot for AI page generation in business projects. Source of truth is design-system/ and packages/ui/.",
9
9
  "readOrder": [
10
10
  "DESIGN.md",
11
11
  "tokens.json",
12
12
  "references/figma-user-client-visual-evidence.md",
13
+ "references/figma-foundations-2026-11-05.md",
13
14
  "patterns",
14
15
  "schemas/page.schema.json",
15
16
  "component-registry.json",
@@ -61,7 +62,8 @@
61
62
  "patterns/navigation-tabbar.md"
62
63
  ],
63
64
  "references": [
64
- "references/figma-user-client-visual-evidence.md"
65
+ "references/figma-user-client-visual-evidence.md",
66
+ "references/figma-foundations-2026-11-05.md"
65
67
  ],
66
68
  "prompts": [
67
69
  "prompts/page-generation.prompt.md"
@@ -102,6 +104,7 @@
102
104
  "patterns/form-section.md",
103
105
  "patterns/navigation-tabbar.md",
104
106
  "prompts/page-generation.prompt.md",
107
+ "references/figma-foundations-2026-11-05.md",
105
108
  "references/figma-user-client-visual-evidence.md",
106
109
  "schemas/component.schema.json",
107
110
  "schemas/page.schema.json",
@@ -109,13 +112,15 @@
109
112
  "tokens.json"
110
113
  ],
111
114
  "sourceHashes": {
112
- "design-system/tokens/source/border-width.json": "sha256:8ac672de5e5912ff493646b74afc5304d15d9c13d6f83473742cb014bd30729e",
113
- "design-system/tokens/source/color.json": "sha256:6db4252b0409879d2e444e570fe200944c7e22798c3caebb480c507d57558e8a",
114
- "design-system/tokens/source/radius.json": "sha256:7ef7d9349d3e4caf5649b4715cb01c632c7ce20d1d330e94d086027bda9779ee",
115
+ "design-system/tokens/source/border-width.json": "sha256:a154bb433b3b4301e4da7ba9756821180aaae5c96bc503a6a2be2acf9ca85e53",
116
+ "design-system/tokens/source/color.json": "sha256:af317f01fc2ca5c2a54c61bb656214d457bfed69e39b6a1f8d8190fa47f47fd5",
117
+ "design-system/tokens/source/radius.json": "sha256:bfd50ac1fdf091ad94a00f201712cce42e889797270fb0be87ee6cb075c2ff5c",
115
118
  "design-system/tokens/source/shadow.json": "sha256:025bdabeb6b3e04c4174792506832f686f0662b12740dd3b5612846a4e063362",
116
- "design-system/tokens/source/spacing.json": "sha256:b0176c6eb256186a3e10ad6defa3ae46f81ce75ca4f4dfb8ccb9de6461e0ebfa",
117
- "design-system/tokens/source/typography.json": "sha256:9243057a115be33401b588011d1513e17c27e4977c0cd31fb20ee1700e410dd8",
118
- "design-system/DESIGN.md": "sha256:b00f2e5030df81c6d985eb46b9489b2ce98d0803134389d385053605aba66cbc",
119
+ "design-system/tokens/source/spacing.json": "sha256:0b656dab2b792aaf932014a34eb3e87307d42f9c5dedb5ac49f9909e52883c21",
120
+ "design-system/tokens/source/typography.json": "sha256:b62f8b976e994de39ea46f62e1618f673fade3efc481d05c5411ba0e7115a354",
121
+ "design-system/references/figma-user-client-visual-evidence.md": "sha256:2efa1c69fc6097d7eda863fe41b67ada604af2de5b7abfad6133a99f4dff134a",
122
+ "design-system/references/figma-foundations-2026-11-05.md": "sha256:22a22300ff6eff1af16d5a891263c920e32a25b1da04adebc8069a50c0edf92c",
123
+ "design-system/DESIGN.md": "sha256:3b903c674e54fdd762a42fa1e2a4b681aec42ad12cff3f1256dacdf113fde3af",
119
124
  "packages/ui/component-registry.json": "sha256:a4c6554280175ecfb14b93f47037ba5e0c546f602aaa1e2713e440dd56cea360"
120
125
  }
121
126
  }
@@ -0,0 +1,94 @@
1
+ # Figma foundation corrections · 2026-11-05
2
+
3
+ File: `Zk2msFrLweYZezZLIZOoJX`. Inspected through Figma high-fidelity context plus read-only node properties. These additions address concrete missing roles; arbitrary page dimensions are not promoted to global tokens.
4
+
5
+ | Source node | Role | Canonical token | Exact value |
6
+ | --- | --- | --- | --- |
7
+ | 135:2 Font | Large body / form label | typography.size.bodyXl | 30rpx |
8
+ | 135:2 Font | Small caption | typography.size.captionSm | 18rpx |
9
+ | 834:1975 Layout | Looser body copy | typography.lineHeight.bodyLoose | 40rpx |
10
+ | 683:6701 TabBar | Subtle floating border | color.border.subtle | #F0F0F0 |
11
+ | 683:6701 TabBar | Floating navigation elevation | shadow.floating | 0 12rpx 24rpx rgba(0,0,0,0.047) |
12
+ | 671:5933 current homepage card | Gold badge background | color.tag.goldBackground | #FFF0C8 |
13
+ | 671:5933 current homepage card | Purple badge background | color.tag.purpleBackground | #E8E3FF |
14
+
15
+ Font-board text uses normal line-height; no fixed line-height is inferred from text bounding boxes. Existing guide geometry: page margin38, card36, item24, small tag12, tiny date8. TabBar radius100 on height112 clamps visually; existing pill is equivalent and does not require another token. Vector outline cornerRadius=0 does not establish a zero visual radius.
16
+
17
+ `mo-stepper variant="block"` is a component contract, not a global spacing scale: qualification frame1742:3294, background1742:3392 (674×100, radius24), buttons1742:3400/3407 (44×44, radius12), horizontal inset43. Label is owned by the page. The component uses the existing mo-core minus (two orthogonal strokes for the block plus), keeps native control hit targets, controlled values, min/max and disabled behavior. The default compact API remains compatible. Business adoption requires actual Skyline preview evidence.
18
+
19
+ The generation pipeline now emits runtime WXSS and TS together with the canonical snapshot. Previously missing existing tokens (spacing1/8/10, radiusnone, borderstrong, title/headline typography and palettes) are restored by generation, not recreated with alternate names. Publish validation rejects both runtime and snapshot drift.
20
+
21
+ Photo upload contract: Figma1740:2830/1740:2895/1740:2897, 538×372, radius36, background#F8F8F8, plus70×70 with8px stroke and#999999. `itemAspectRatio` defaults1; `triggerVariant=photo` does not alter file choice, crop, OSS, delete, or events. The exact SVG is uploaded to mo-core as plus-thin (icon48823338), avoiding the existing thicker record-action plus.
22
+
23
+ ## Measured layout roles
24
+
25
+ | Token | Value | Exact evidence |
26
+ | --- | --- | --- |
27
+ | spacing.fieldGap | 20rpx | Address form1054:2157: label1070:1541 bottom318 → field1070:1547 top338 |
28
+ | spacing.cardInset | 30rpx | Homecard671:5934 left38 → avatar671:5974 left68; mine menu1871:2296 children x30 |
29
+ | spacing.sectionInset | 40rpx | Mine user1871:2429 bottom315 → order1871:2422 top355; address1126:1525 first card top216 minus navigation176 |
30
+ | spacing.sectionGapLg | 60rpx | Address field1096:1720 bottom438 → next label1096:1721 top498; home trust665:4214 bottom1024 → card665:4213 bottom1084 |
31
+ | spacing.pageStart | 100rpx | Address1054:2157: navigation bottom176 → first label1070:1541 top276 |
32
+ | spacing.panelInset | 54rpx | Mine menu1871:2296 first row1871:2299 y54 and bottom823−(721+48)=54 |
33
+ | borderWidth.hairline | 1rpx | TabBar683:6701 strokeWeight1 |
34
+ | color.tag.goldText | #DC9416 | Homepage671:5947 |
35
+ | color.tag.purpleText | #806ED6 | Homepage671:5950/5953 |
36
+ | color.tag.defaultAddressBackground | rgba(255,134,201,0.12) | Default-address tag1126:1537 pink at12% over#FAFAFA (composite#FBECF4); retain the actual alpha |
37
+
38
+ Roles apply only to corresponding layout duties. Do not use spacing tokens to alias unrelated font, line-height, border-width, anchor geometry or icon sizes. No50/70 spacing is inferred from high raw-value frequency; those usages still require their actual page source. The measured home search separator bottom810 → button top864 is54, not50.
39
+
40
+ Large typography: `typography.size.display=50rpx` from certification heading1740:2841; `typography.size.amountLg=70rpx` from bond amount1743:3624. Both lineHeight=AUTO, so no fabricated70/98px line-height token accompanies these sizes.
41
+
42
+ Mine-page exact text/background properties:1871:2446 font36 with42px line-height → `typography.lineHeight.titleCompact`;1871:2300 font26 with36.4000015px line-height → `typography.lineHeight.bodyCompact=36.4rpx` (not36). Check-in1871:2431 fill#FC9517 at6% → `color.background.checkin`;profiletag1871:2444 fill#FF86C9 at10% → `color.tag.profileBackground`. Do not promote the incorrect prior check-in orangeFF8006@4%.
43
+
44
+ ## Follow-up batch 0.1.22
45
+
46
+ Direct node-property verification after0.1.21 was frozen:
47
+
48
+ | Token | Exact value | Figma source |
49
+ | --- | --- | --- |
50
+ | color.progress.track | #EEEEEE | 1740:2873 (270×12 track) |
51
+ | color.progress.active | #FF3E7A | 1740:2874 (90×12 fill) |
52
+ | color.background.guide | #D7E6FF | 665:4200 homepage service guide |
53
+ | color.background.heroPink | #FEDBEE | 1699:2569 certification hero |
54
+ | color.background.featureBlue | rgba(96,184,255,0.1) | 1743:3625 feature card, opacity0.1 |
55
+ | color.background.featureYellow | rgba(250,183,0,0.1) | 1743:3626 feature card, opacity0.1 |
56
+ | typography.lineHeight.bodyRelaxed | 36rpx | 1743:3629/3630 font24 with fixed36 |
57
+ | typography.lineHeight.bodyLgRelaxed | 45rpx | 1699:2615 security notice font26 with fixed45 |
58
+
59
+ Do not replace explicit36/45 line heights with normal or approximate36.4/44. The existing border.subtle#F0F0F0 also matches homepage separator665:4237/4243. Existing layout corrections need no new tokens: order entry1929:2092 icon1871:2476 y497+48 → label1871:2425 y565 gives20; TabBar683:6846 icon683:6848 y1465+48 → label683:6847 y1517 gives4.
60
+
61
+ Time mark sheet160:929 verified with full high-fidelity context and screenshot: backgrounds160:932/938/939/940/941 → `color.walkMark.{sniff,water,rest,stool,friend}Background` =#FFF4FA/#EAF4FF/#ECFFDF/#F7F5FF/#FFF9DD. Selected mark border160:932 is4px/#111 → `borderWidth.selection`; pet selection ellipse160:953 is3px/#111 → `borderWidth.avatarSelection`. Existing white4px/unselected outlines are not established by this evidence. Mark labels are28/AUTO at912 following100px circles at800, giving12px gap. Explicit typography:160:944/947 font34/line47.6 ;160:956 font36/line50.4 ;160:966 font28/line39.2 . Preserve fractions rather than substituting48/50/39. Existing historical rounded tokens remain compatible.
62
+
63
+ The three explicit text pairs all have exactly1.4 line-height ratio. Use one `typography.lineHeight.standard=1.4` unitless token with their actual font sizes instead of introducing three separately rounded constants. It yields47.6/50.4/39.2 at34/36/28rpx respectively. Do not apply it to AUTO text or fixed42/36/45 variants.
64
+
65
+ Six measured values promoted to a finite shared spacing scale: `spacing.scale.{20,30,40,54,60,100}`. Their values are identical to the directly evidenced roles above, retained as compatible semantic names. The explicit scale names distinguish physical rpx values from historical numbered indexes (`spacing.5=24`). Consumers may use this finite scale for actual padding/margin/gap when the page's source establishes the same distance; do not use it for font-size, line-height, stroke, icon dimensions or arbitrary anchors. This is a deliberate shared-scale promotion, not permission to add other raw values by frequency. Other values require further original-node evidence.
66
+
67
+ Walk result568:1136, cards568:1276/1277/1278: fills#FF86C9/#38A6FF/#FC9517 all atopacity0.1, radius24. Promote `color.walkStat.distanceBackground/durationBackground/markBackground` with10% alpha. Existing mini20% values are incorrect and are not promoted. Label positions568:1291/92/93 confirm role ordering; card y1086h182, labelx68y1122 versus firstcardx38 yields padding30/36, card gap24.
68
+
69
+ `spacing.scale.36=36rpx` is additionally promoted from walk-result stat-card top inset:568:1291 y1122 minus568:1276 y1086. It is an actual spacing measurement, not the unrelated36 font/line-height value.
70
+
71
+
72
+ ## Follow-up batch after 0.1.22
73
+
74
+ Evidence supplied by the coordinating page-restoration task after high-fidelity context, screenshot and node-property checks in user file Zk2msFrLweYZezZLIZOoJX (no bound variables returned):
75
+
76
+ | Token | Value | Exact evidence |
77
+ | --- | --- | --- |
78
+ | spacing.scale.34 | 34rpx | Address selection1036:1655: card1036:1717 x38, text1036:1728 x76; total content inset38 includes4px border, giving CSS padding34. Vertical inset40 includes4px border, giving existing36 padding. |
79
+ | typography.lineHeight.titleDense | 36rpx | Message page691:12, title nodes691:76/78/79: font30, explicit fixed36. This is a title role, distinct from body24/36 and AUTO text. |
80
+ | color.background.featurePink | rgba(255,134,201,0.1) | Certification1743:3699 feature cards1743:3748/3751, pink fill at10%. |
81
+ | color.background.featurePurple | rgba(149,163,253,0.1) | Same certification feature card1743:3749, purple fill at10%. |
82
+ | color.background.featureGreen | rgba(17,191,89,0.1) | Same certification feature card1743:3750, green fill at10%. |
83
+
84
+ The full six-card sequence1743:3746–3751 is blue/yellow/pink/purple/green/pink, each with10% alpha. Blue/yellow already exist in0.1.22. Preserve actual alpha; do not promote the previous flattened sample colors. The profile tag pink token shares a value but retains its narrower role. The34 spacing is a finite measured addition, not permission to promote unverified geometry.
85
+
86
+
87
+ Additional verified home665:4126 full context:665:4245/4247 city/address and665:4239 time all font28/fixed42;665:4215/4220/4225/4230 guarantee descriptions font24/fixed42. Promote a deliberately finite shared `typography.lineHeight.scale.42=42rpx` across these text roles rather than borrowing the narrower username titleCompact token. Do not apply fixed42 to AUTO text; guide665:4206 is font32/AUTO and must retain normal. No new line-height scale entries are permitted without evidence.
88
+
89
+ `spacing.scale.10=10rpx`: home tag671:5944 x230 minus container671:5943 x220 establishes actual horizontal padding10. This explicitly promotes the finite value for design-confirmed padding/margin/gap, never font or arbitrary geometry.
90
+
91
+
92
+ Direct readonly Figma node verification confirms countdown tiles1699:2468/2469/2470 are70×100 rectangles with all four radii10 → `radius.countdownTile=10rpx`. Colon text1699:2464/2465 font50 and unit labels1699:2474/2488 font28 all explicitly use lineHeight PIXELS60 → `typography.lineHeight.countdown=60rpx`; this shared countdown role is not a general spacing or font-height alias.
93
+
94
+ Rejected proposed document radius32:1739:2422 is a GROUP, not a rectangle. Its actual620×388 background1739:2423 and overlay1739:2430 both have all four radii36. Consumers must correct to existing `radius.xl=36rpx`; no32 token is added from the obsolete comment. Inner bars1739:2427/2428/2429 use pill100 (visually clamped), unrelated to the outer card.
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "borderWidth": {
3
- "hairline": "1rpx"
3
+ "hairline": "1rpx",
4
+ "selection": "4rpx",
5
+ "avatarSelection": "3rpx"
4
6
  },
5
7
  "color": {
6
8
  "brand": {
@@ -52,7 +54,14 @@
52
54
  "muted": "#F2F2F2",
53
55
  "tab": "#F0F0F0",
54
56
  "icon": "#BBBBBB",
55
- "checkin": "rgba(252, 149, 23, 0.06)"
57
+ "checkin": "rgba(252, 149, 23, 0.06)",
58
+ "guide": "#D7E6FF",
59
+ "heroPink": "#FEDBEE",
60
+ "featureBlue": "rgba(96, 184, 255, 0.1)",
61
+ "featureYellow": "rgba(250, 183, 0, 0.1)",
62
+ "featurePink": "rgba(255, 134, 201, 0.1)",
63
+ "featurePurple": "rgba(149, 163, 253, 0.1)",
64
+ "featureGreen": "rgba(17, 191, 89, 0.1)"
56
65
  },
57
66
  "accent": {
58
67
  "amount": "#FF3E7A"
@@ -80,6 +89,22 @@
80
89
  "purpleText": "#806ED6",
81
90
  "defaultAddressBackground": "rgba(255, 134, 201, 0.12)",
82
91
  "profileBackground": "rgba(255, 134, 201, 0.1)"
92
+ },
93
+ "progress": {
94
+ "track": "#EEEEEE",
95
+ "active": "#FF3E7A"
96
+ },
97
+ "walkMark": {
98
+ "sniffBackground": "#FFF4FA",
99
+ "waterBackground": "#EAF4FF",
100
+ "restBackground": "#ECFFDF",
101
+ "stoolBackground": "#F7F5FF",
102
+ "friendBackground": "#FFF9DD"
103
+ },
104
+ "walkStat": {
105
+ "distanceBackground": "rgba(255, 134, 201, 0.1)",
106
+ "durationBackground": "rgba(56, 166, 255, 0.1)",
107
+ "markBackground": "rgba(252, 149, 23, 0.1)"
83
108
  }
84
109
  },
85
110
  "radius": {
@@ -88,7 +113,8 @@
88
113
  "md": "12rpx",
89
114
  "lg": "24rpx",
90
115
  "xl": "36rpx",
91
- "pill": "999rpx"
116
+ "pill": "999rpx",
117
+ "countdownTile": "10rpx"
92
118
  },
93
119
  "shadow": {
94
120
  "none": "none",
@@ -112,7 +138,18 @@
112
138
  "sectionInset": "40rpx",
113
139
  "sectionGapLg": "60rpx",
114
140
  "pageStart": "100rpx",
115
- "panelInset": "54rpx"
141
+ "panelInset": "54rpx",
142
+ "scale": {
143
+ "10": "10rpx",
144
+ "20": "20rpx",
145
+ "30": "30rpx",
146
+ "34": "34rpx",
147
+ "36": "36rpx",
148
+ "40": "40rpx",
149
+ "54": "54rpx",
150
+ "60": "60rpx",
151
+ "100": "100rpx"
152
+ }
116
153
  },
117
154
  "typography": {
118
155
  "fontFamily": "system",
@@ -147,7 +184,15 @@
147
184
  "headline": "56rpx",
148
185
  "bodyLoose": "40rpx",
149
186
  "titleCompact": "42rpx",
150
- "bodyCompact": "36.4rpx"
187
+ "bodyCompact": "36.4rpx",
188
+ "bodyRelaxed": "36rpx",
189
+ "bodyLgRelaxed": "45rpx",
190
+ "standard": 1.4,
191
+ "titleDense": "36rpx",
192
+ "scale": {
193
+ "42": "42rpx"
194
+ },
195
+ "countdown": "60rpx"
151
196
  },
152
197
  "weight": {
153
198
  "regular": 400,
@@ -1,4 +1,4 @@
1
1
  module.exports = {
2
- version: "0.1.21",
2
+ version: "0.1.23",
3
3
  components: ["button","calendar","card","countdown","form","form-group","form-input","form-textarea","icon","image-cropper","input","media-upload","navbar","notify","oss-upload","photo-slot","popup","popup-page","progress","rate","stepper","switch","tab","tabs","textarea","toast","upload"]
4
4
  };
@@ -2,6 +2,8 @@
2
2
  page,
3
3
  .theme-maooo {
4
4
  --mo-border-width-hairline: 1rpx;
5
+ --mo-border-width-selection: 4rpx;
6
+ --mo-border-width-avatar-selection: 3rpx;
5
7
  --mo-color-brand-primary: #FECBE7;
6
8
  --mo-color-brand-primary-active: #FF7688;
7
9
  --mo-color-brand-primary-subtle: #FFC2C2;
@@ -37,6 +39,13 @@ page,
37
39
  --mo-color-background-tab: #F0F0F0;
38
40
  --mo-color-background-icon: #BBBBBB;
39
41
  --mo-color-background-checkin: rgba(252, 149, 23, 0.06);
42
+ --mo-color-background-guide: #D7E6FF;
43
+ --mo-color-background-hero-pink: #FEDBEE;
44
+ --mo-color-background-feature-blue: rgba(96, 184, 255, 0.1);
45
+ --mo-color-background-feature-yellow: rgba(250, 183, 0, 0.1);
46
+ --mo-color-background-feature-pink: rgba(255, 134, 201, 0.1);
47
+ --mo-color-background-feature-purple: rgba(149, 163, 253, 0.1);
48
+ --mo-color-background-feature-green: rgba(17, 191, 89, 0.1);
40
49
  --mo-color-accent-amount: #FF3E7A;
41
50
  --mo-color-gender-female: #FF86C9;
42
51
  --mo-color-gender-male: #38A6FF;
@@ -54,12 +63,23 @@ page,
54
63
  --mo-color-tag-purple-text: #806ED6;
55
64
  --mo-color-tag-default-address-background: rgba(255, 134, 201, 0.12);
56
65
  --mo-color-tag-profile-background: rgba(255, 134, 201, 0.1);
66
+ --mo-color-progress-track: #EEEEEE;
67
+ --mo-color-progress-active: #FF3E7A;
68
+ --mo-color-walk-mark-sniff-background: #FFF4FA;
69
+ --mo-color-walk-mark-water-background: #EAF4FF;
70
+ --mo-color-walk-mark-rest-background: #ECFFDF;
71
+ --mo-color-walk-mark-stool-background: #F7F5FF;
72
+ --mo-color-walk-mark-friend-background: #FFF9DD;
73
+ --mo-color-walk-stat-distance-background: rgba(255, 134, 201, 0.1);
74
+ --mo-color-walk-stat-duration-background: rgba(56, 166, 255, 0.1);
75
+ --mo-color-walk-stat-mark-background: rgba(252, 149, 23, 0.1);
57
76
  --mo-radius-none: 0;
58
77
  --mo-radius-sm: 8rpx;
59
78
  --mo-radius-md: 12rpx;
60
79
  --mo-radius-lg: 24rpx;
61
80
  --mo-radius-xl: 36rpx;
62
81
  --mo-radius-pill: 999rpx;
82
+ --mo-radius-countdown-tile: 10rpx;
63
83
  --mo-shadow-none: none;
64
84
  --mo-shadow-sm: 0 2rpx 8rpx rgba(31, 35, 41, 0.08);
65
85
  --mo-shadow-md: 0 8rpx 24rpx rgba(31, 35, 41, 0.10);
@@ -80,6 +100,15 @@ page,
80
100
  --mo-spacing-section-gap-lg: 60rpx;
81
101
  --mo-spacing-page-start: 100rpx;
82
102
  --mo-spacing-panel-inset: 54rpx;
103
+ --mo-spacing-scale-10: 10rpx;
104
+ --mo-spacing-scale-20: 20rpx;
105
+ --mo-spacing-scale-30: 30rpx;
106
+ --mo-spacing-scale-34: 34rpx;
107
+ --mo-spacing-scale-36: 36rpx;
108
+ --mo-spacing-scale-40: 40rpx;
109
+ --mo-spacing-scale-54: 54rpx;
110
+ --mo-spacing-scale-60: 60rpx;
111
+ --mo-spacing-scale-100: 100rpx;
83
112
  --mo-font-size-headline-lg: 42rpx;
84
113
  --mo-font-size-title-1: 38rpx;
85
114
  --mo-font-size-title-2: 36rpx;
@@ -109,6 +138,12 @@ page,
109
138
  --mo-line-height-body-loose: 40rpx;
110
139
  --mo-line-height-title-compact: 42rpx;
111
140
  --mo-line-height-body-compact: 36.4rpx;
141
+ --mo-line-height-body-relaxed: 36rpx;
142
+ --mo-line-height-body-lg-relaxed: 45rpx;
143
+ --mo-line-height-standard: 1.4;
144
+ --mo-line-height-title-dense: 36rpx;
145
+ --mo-line-height-scale-42: 42rpx;
146
+ --mo-line-height-countdown: 60rpx;
112
147
  --mo-font-weight-regular: 400;
113
148
  --mo-font-weight-medium: 500;
114
149
  --mo-font-weight-semibold: 600;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maooo-skyline-ui-system",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "private": false,
5
5
  "description": "Skyline + AI design system workspace for WeChat Mini Program UI components.",
6
6
  "main": "miniprogram_dist/index.js",