@umkmall/proto 0.1.0-h726308542f5a → 0.1.0-ha04bbbde2f13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umkmall/proto",
3
- "version": "0.1.0-h726308542f5a",
3
+ "version": "0.1.0-ha04bbbde2f13",
4
4
  "description": "UMKMall design-system assets and prototyping docs, served from jsDelivr. Generated — see README.",
5
5
  "license": "UNLICENSED",
6
6
  "files": [
@@ -6,7 +6,7 @@ Every component below is published on `window.UmkmallUI` by the browser bundle.
6
6
  axis values listed, and pass every REQUIRED prop an entry names.
7
7
 
8
8
  ```
9
- UMKMall UI — 56 components, and the values each axis accepts.
9
+ UMKMall UI — 57 components, and the values each axis accepts.
10
10
  Generated from packages/ui/src/contract/variants.ts. Do not hand-edit.
11
11
 
12
12
  Button (Foundations)
@@ -21,32 +21,42 @@ Alert (Feedback)
21
21
  function: success | info | warning | danger
22
22
  size: large | medium | small
23
23
  treatment: full | accent | coach | banner
24
+ appearance: default | a2ui
24
25
 
25
26
  Badge (Content)
26
27
  color: primary | warning | success | danger | light | bestseller | gradient
27
28
  size: xlarge | medium | small | micro
29
+ appearance: default | a2ui
28
30
  booleans: showIconLeft, showIconRight
29
31
 
30
32
  Chip (Content)
31
33
  state: default | active
32
34
  size: huge | xlarge | large | medium | small | micro
35
+ appearance: default | a2ui
33
36
  booleans: showIconLeft, showIconRight
34
37
 
35
38
  TextField (Form)
36
- size: large | small
39
+ size: large | small | xsmall
40
+ appearance: default | a2ui | bare
41
+ counterPlacement: below | inside
42
+ prefixPlacement: inside | outside
37
43
  booleans: error, disabled
38
- REQUIRED props (not axes): label
39
44
 
40
45
  CheckBox (Form)
41
46
  size: xlarge | large | medium | small
47
+ appearance: default | native
42
48
  booleans: error, disabled, indeterminate
43
- REQUIRED props (not axes): label
44
49
 
45
50
  Radio (Form)
46
51
  size: large | medium | small
47
52
  booleans: error, disabled
48
53
  REQUIRED props (not axes): label
49
54
 
55
+ SegmentedControl (Form)
56
+ size: medium | small
57
+ booleans: disabled
58
+ REQUIRED props (not axes): options, value, onChange
59
+
50
60
  Switch (Form)
51
61
  size: large | medium | small
52
62
  booleans: disabled, loading
@@ -59,6 +69,7 @@ Slider (Form)
59
69
  DateTimeInput (Form)
60
70
  size: large | small
61
71
  selection: single | range
72
+ appearance: default | a2ui
62
73
  booleans: error, disabled, withTime, portal
63
74
 
64
75
  OtpInput (Form)
@@ -67,8 +78,9 @@ OtpInput (Form)
67
78
  REQUIRED props (not axes): value, onChange
68
79
 
69
80
  Tabs (Navigation)
70
- size: large | small
81
+ size: large | small | xsmall
71
82
  state: default | active
83
+ appearance: default | a2ui
72
84
  booleans: showIconLeft, showNotif, showTitle
73
85
 
74
86
  Tooltip (Feedback)
@@ -117,24 +129,29 @@ ChatDrawer (Chat)
117
129
  booleans: collapsed
118
130
 
119
131
  ChatAttachment (Chat)
120
- variant: image | file
132
+ variant: image | file | tile
133
+ size: default | large
121
134
  booleans: showSize
122
135
  REQUIRED props (not axes): name
123
136
 
124
137
  ChatToolsButton (Chat)
125
138
  state: default | active
139
+ size: compact | landing
126
140
  REQUIRED props (not axes): label
127
141
 
128
142
  ChatAttachmentButton (Chat)
129
143
  state: default | active
144
+ size: compact | landing
130
145
  REQUIRED props (not axes): label
131
146
 
132
147
  ChatVoiceButton (Chat)
133
148
  state: default | active
149
+ size: compact | landing
134
150
  REQUIRED props (not axes): label
135
151
 
136
152
  ChatSendButton (Chat)
137
153
  state: send | stop | waiting
154
+ size: compact | landing
138
155
  REQUIRED props (not axes): label
139
156
 
140
157
  ChatSoundWave (Chat)
@@ -176,7 +193,7 @@ ChatMessageTTSButton (Chat)
176
193
  Dialog (Overlays)
177
194
  size: small | medium | large | xlarge
178
195
  side: none | left | right
179
- booleans: centered, showCloseButton
196
+ booleans: centered, showCloseButton, dismissible, closeDisabled
180
197
  REQUIRED props (not axes): open, onOpenChange
181
198
 
182
199
  Menu (Overlays)
@@ -190,31 +207,37 @@ Popover (Overlays)
190
207
  Card (Content)
191
208
  variant: elevated | outlined | plain
192
209
  padding: none | small | medium | large
210
+ appearance: default | a2ui | a2ui-hero
193
211
 
194
212
  Divider (Content)
195
213
  variant: default | dashed
196
214
  orientation: horizontal | vertical
215
+ appearance: default | a2ui
197
216
 
198
217
  List (Content)
199
218
 
200
219
  Disclosure (Content)
220
+ appearance: default | a2ui
201
221
  REQUIRED props (not axes): title
202
222
 
203
223
  Image (Content)
204
224
  type: thumbnail | banner | natural | avatar
205
225
  size: regular | small | blog
226
+ appearance: default | a2ui
206
227
  booleans: hover
207
228
 
208
229
  SelectionCard (Form)
209
230
  size: large | small
210
231
  state: default | selected | disabled
211
232
  layout: row | tile
233
+ appearance: default | choice
212
234
  REQUIRED props (not axes): options
213
235
 
214
236
  Upload (Form)
215
237
  size: large | small
216
238
  status: default | filled | error | disabled | busy
217
239
  border: solid | dashed
240
+ appearance: default | a2ui
218
241
 
219
242
  Select (Form)
220
243
  size: large | small
@@ -224,6 +247,7 @@ Select (Form)
224
247
 
225
248
  CodeBlock (Content)
226
249
  size: large | small
250
+ appearance: default | a2ui
227
251
 
228
252
  Stepper (Navigation)
229
253
  position: first | middle | last
@@ -233,10 +257,12 @@ Stepper (Navigation)
233
257
 
234
258
  Pagination (Navigation)
235
259
  size: large | small
260
+ density: compact | comfortable
236
261
  booleans: disabled
237
262
  REQUIRED props (not axes): page, onPageChange
238
263
 
239
264
  Table (Content)
265
+ density: compact | comfortable
240
266
  booleans: loading, serverSide, hidePagination, fixedLayout, noBorder, slimScrollbar
241
267
 
242
268
  Spinner (Feedback)
@@ -254,6 +280,7 @@ Toaster (Feedback)
254
280
  Label (Form)
255
281
  variant: default | error | success
256
282
  size: sm | md | lg
283
+ look: default | field-large | field-small
257
284
  booleans: required
258
285
 
259
286
  TRAPS — each of these renders or ignores silently, with no error:
@@ -18,8 +18,8 @@ HOW TO USE THIS FILE
18
18
  WHAT THIS FILE NEEDS FROM THE NETWORK
19
19
  Four hosts, every time it is opened — not just the first time:
20
20
 
21
- https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-tailwind.js
22
- https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-ui.js
21
+ https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-tailwind.js
22
+ https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-ui.js
23
23
  https://cdn.jsdelivr.net/npm/@babel/standalone@7.26.4/babel.min.js
24
24
  — all on jsDelivr: the design system's assets (pinned) and the JSX compiler.
25
25
  The token CSS is NOT fetched: it is inlined in the <style> below, because a claude.ai
@@ -33,11 +33,11 @@ WHAT THIS FILE NEEDS FROM THE NETWORK
33
33
 
34
34
  YOU DO NOT HAVE TO START FROM THIS FILE
35
35
  Four tags add UMKMall styling to a page you already have: the token CSS as a <link> to
36
- https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-tokens.css
36
+ https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-tokens.css
37
37
  then the Play CDN, the config and the bundle below. Keep the order — the config must come after
38
38
  the Play CDN script, or the theme arrives too late and every class resolves to nothing.
39
39
 
40
- UMKMall UI — 56 components, and the values each axis accepts.
40
+ UMKMall UI — 57 components, and the values each axis accepts.
41
41
  Generated from packages/ui/src/contract/variants.ts. Do not hand-edit.
42
42
 
43
43
  Button (Foundations)
@@ -52,32 +52,42 @@ Alert (Feedback)
52
52
  function: success | info | warning | danger
53
53
  size: large | medium | small
54
54
  treatment: full | accent | coach | banner
55
+ appearance: default | a2ui
55
56
 
56
57
  Badge (Content)
57
58
  color: primary | warning | success | danger | light | bestseller | gradient
58
59
  size: xlarge | medium | small | micro
60
+ appearance: default | a2ui
59
61
  booleans: showIconLeft, showIconRight
60
62
 
61
63
  Chip (Content)
62
64
  state: default | active
63
65
  size: huge | xlarge | large | medium | small | micro
66
+ appearance: default | a2ui
64
67
  booleans: showIconLeft, showIconRight
65
68
 
66
69
  TextField (Form)
67
- size: large | small
70
+ size: large | small | xsmall
71
+ appearance: default | a2ui | bare
72
+ counterPlacement: below | inside
73
+ prefixPlacement: inside | outside
68
74
  booleans: error, disabled
69
- REQUIRED props (not axes): label
70
75
 
71
76
  CheckBox (Form)
72
77
  size: xlarge | large | medium | small
78
+ appearance: default | native
73
79
  booleans: error, disabled, indeterminate
74
- REQUIRED props (not axes): label
75
80
 
76
81
  Radio (Form)
77
82
  size: large | medium | small
78
83
  booleans: error, disabled
79
84
  REQUIRED props (not axes): label
80
85
 
86
+ SegmentedControl (Form)
87
+ size: medium | small
88
+ booleans: disabled
89
+ REQUIRED props (not axes): options, value, onChange
90
+
81
91
  Switch (Form)
82
92
  size: large | medium | small
83
93
  booleans: disabled, loading
@@ -90,6 +100,7 @@ Slider (Form)
90
100
  DateTimeInput (Form)
91
101
  size: large | small
92
102
  selection: single | range
103
+ appearance: default | a2ui
93
104
  booleans: error, disabled, withTime, portal
94
105
 
95
106
  OtpInput (Form)
@@ -98,8 +109,9 @@ OtpInput (Form)
98
109
  REQUIRED props (not axes): value, onChange
99
110
 
100
111
  Tabs (Navigation)
101
- size: large | small
112
+ size: large | small | xsmall
102
113
  state: default | active
114
+ appearance: default | a2ui
103
115
  booleans: showIconLeft, showNotif, showTitle
104
116
 
105
117
  Tooltip (Feedback)
@@ -148,24 +160,29 @@ ChatDrawer (Chat)
148
160
  booleans: collapsed
149
161
 
150
162
  ChatAttachment (Chat)
151
- variant: image | file
163
+ variant: image | file | tile
164
+ size: default | large
152
165
  booleans: showSize
153
166
  REQUIRED props (not axes): name
154
167
 
155
168
  ChatToolsButton (Chat)
156
169
  state: default | active
170
+ size: compact | landing
157
171
  REQUIRED props (not axes): label
158
172
 
159
173
  ChatAttachmentButton (Chat)
160
174
  state: default | active
175
+ size: compact | landing
161
176
  REQUIRED props (not axes): label
162
177
 
163
178
  ChatVoiceButton (Chat)
164
179
  state: default | active
180
+ size: compact | landing
165
181
  REQUIRED props (not axes): label
166
182
 
167
183
  ChatSendButton (Chat)
168
184
  state: send | stop | waiting
185
+ size: compact | landing
169
186
  REQUIRED props (not axes): label
170
187
 
171
188
  ChatSoundWave (Chat)
@@ -207,7 +224,7 @@ ChatMessageTTSButton (Chat)
207
224
  Dialog (Overlays)
208
225
  size: small | medium | large | xlarge
209
226
  side: none | left | right
210
- booleans: centered, showCloseButton
227
+ booleans: centered, showCloseButton, dismissible, closeDisabled
211
228
  REQUIRED props (not axes): open, onOpenChange
212
229
 
213
230
  Menu (Overlays)
@@ -221,31 +238,37 @@ Popover (Overlays)
221
238
  Card (Content)
222
239
  variant: elevated | outlined | plain
223
240
  padding: none | small | medium | large
241
+ appearance: default | a2ui | a2ui-hero
224
242
 
225
243
  Divider (Content)
226
244
  variant: default | dashed
227
245
  orientation: horizontal | vertical
246
+ appearance: default | a2ui
228
247
 
229
248
  List (Content)
230
249
 
231
250
  Disclosure (Content)
251
+ appearance: default | a2ui
232
252
  REQUIRED props (not axes): title
233
253
 
234
254
  Image (Content)
235
255
  type: thumbnail | banner | natural | avatar
236
256
  size: regular | small | blog
257
+ appearance: default | a2ui
237
258
  booleans: hover
238
259
 
239
260
  SelectionCard (Form)
240
261
  size: large | small
241
262
  state: default | selected | disabled
242
263
  layout: row | tile
264
+ appearance: default | choice
243
265
  REQUIRED props (not axes): options
244
266
 
245
267
  Upload (Form)
246
268
  size: large | small
247
269
  status: default | filled | error | disabled | busy
248
270
  border: solid | dashed
271
+ appearance: default | a2ui
249
272
 
250
273
  Select (Form)
251
274
  size: large | small
@@ -255,6 +278,7 @@ Select (Form)
255
278
 
256
279
  CodeBlock (Content)
257
280
  size: large | small
281
+ appearance: default | a2ui
258
282
 
259
283
  Stepper (Navigation)
260
284
  position: first | middle | last
@@ -264,10 +288,12 @@ Stepper (Navigation)
264
288
 
265
289
  Pagination (Navigation)
266
290
  size: large | small
291
+ density: compact | comfortable
267
292
  booleans: disabled
268
293
  REQUIRED props (not axes): page, onPageChange
269
294
 
270
295
  Table (Content)
296
+ density: compact | comfortable
271
297
  booleans: loading, serverSide, hidePagination, fixedLayout, noBorder, slimScrollbar
272
298
 
273
299
  Spinner (Feedback)
@@ -285,6 +311,7 @@ Toaster (Feedback)
285
311
  Label (Form)
286
312
  variant: default | error | success
287
313
  size: sm | md | lg
314
+ look: default | field-large | field-small
288
315
  booleans: required
289
316
 
290
317
  TRAPS — each of these renders or ignores silently, with no error:
@@ -326,6 +353,7 @@ TRAPS — each of these renders or ignores silently, with no error:
326
353
  --red-r600: 124 0 0;
327
354
  --red-r500: 162 0 0;
328
355
  --red-r400: 231 0 0;
356
+ --red-r450: 219 0 0;
329
357
  --red-r300: 235 43 43;
330
358
  --red-r200: 241 107 107;
331
359
  --red-r100: 245 150 150;
@@ -418,7 +446,7 @@ TRAPS — each of these renders or ignores silently, with no error:
418
446
  --text-default-invert: 255 255 255;
419
447
  --text-default-brand: 0 116 231;
420
448
  --text-default-success: 14 160 110;
421
- --text-default-error: 231 0 0;
449
+ --text-default-error: 219 0 0;
422
450
  --text-default-warning: 245 158 11;
423
451
  --text-hover-primary: 3 32 61;
424
452
  --text-hover-secondary: 97 118 140;
@@ -438,7 +466,7 @@ TRAPS — each of these renders or ignores silently, with no error:
438
466
  --text-focus-invert: 255 255 255;
439
467
  --text-focus-brand: 0 116 231;
440
468
  --text-focus-success: 14 160 110;
441
- --text-focus-error: 231 0 0;
469
+ --text-focus-error: 219 0 0;
442
470
  --text-focus-warning: 245 158 11;
443
471
  --text-disable-primary: 195 203 211;
444
472
  --text-disable-brand: 150 198 245;
@@ -451,7 +479,7 @@ TRAPS — each of these renders or ignores silently, with no error:
451
479
  --icon-default-invert: 255 255 255;
452
480
  --icon-default-brand: 0 116 231;
453
481
  --icon-default-success: 14 160 110;
454
- --icon-default-error: 231 0 0;
482
+ --icon-default-error: 219 0 0;
455
483
  --icon-default-warning: 245 158 11;
456
484
  --icon-hover-primary: 3 32 61;
457
485
  --icon-hover-secondary: 97 118 140;
@@ -471,7 +499,7 @@ TRAPS — each of these renders or ignores silently, with no error:
471
499
  --icon-focus-invert: 255 255 255;
472
500
  --icon-focus-brand: 0 116 231;
473
501
  --icon-focus-success: 14 160 110;
474
- --icon-focus-error: 231 0 0;
502
+ --icon-focus-error: 219 0 0;
475
503
  --icon-focus-warning: 245 158 11;
476
504
  --icon-disable-primary: 195 203 211;
477
505
  --icon-disable-brand: 150 198 245;
@@ -526,6 +554,7 @@ TRAPS — each of these renders or ignores silently, with no error:
526
554
  --surface-gradient-callout-end: 8 118 96;
527
555
  --surface-hover-neutral: 247 248 250;
528
556
  --surface-selected-hover: 227 239 252;
557
+ --surface-default-subtle: 249 250 251;
529
558
  --border-default-primary: 240 240 240;
530
559
  --border-default-invert: 195 203 211;
531
560
  --border-default-brand: 0 116 231;
@@ -620,86 +649,86 @@ TRAPS — each of these renders or ignores silently, with no error:
620
649
  --callout-neg-border: 231 0 0;
621
650
  --callout-neg-text: 4 38 72;
622
651
  --focus-halo: 150 198 245;
623
- --typography-mobile-display-bold: 700 36px/40px 'Be Vietnam Pro';
624
- --typography-mobile-display-semibold: 600 36px/40px 'Be Vietnam Pro';
625
- --typography-mobile-h1-bold: 700 28px/32px 'Be Vietnam Pro';
626
- --typography-mobile-h1-semibold: 600 28px/32px 'Be Vietnam Pro';
627
- --typography-mobile-h2-bold: 700 24px/28px 'Be Vietnam Pro';
628
- --typography-mobile-h2-semibold: 600 24px/28px 'Be Vietnam Pro';
629
- --typography-mobile-h2-medium: 500 24px/28px 'Be Vietnam Pro';
630
- --typography-mobile-h2-regular: 400 24px/28px 'Be Vietnam Pro';
631
- --typography-mobile-h3-bold: 700 20px/26px 'Be Vietnam Pro';
632
- --typography-mobile-h3-semibold: 600 20px/26px 'Be Vietnam Pro';
633
- --typography-mobile-h3-medium: 500 20px/26px 'Be Vietnam Pro';
634
- --typography-mobile-h3-regular: 400 20px/26px 'Be Vietnam Pro';
635
- --typography-mobile-h4-bold: 700 20px/26px 'Be Vietnam Pro';
636
- --typography-mobile-h4-semibold: 600 20px/26px 'Be Vietnam Pro';
637
- --typography-mobile-h4-medium: 500 20px/26px 'Be Vietnam Pro';
638
- --typography-mobile-h4-regular: 400 20px/26px 'Be Vietnam Pro';
639
- --typography-mobile-h5-bold: 700 18px/24px 'Be Vietnam Pro';
640
- --typography-mobile-h5-semibold: 600 18px/24px 'Be Vietnam Pro';
641
- --typography-mobile-h5-medium: 500 18px/24px 'Be Vietnam Pro';
642
- --typography-mobile-h5-regular: 400 18px/24px 'Be Vietnam Pro';
643
- --typography-mobile-h6-bold: 700 16px/24px 'Be Vietnam Pro';
644
- --typography-mobile-h6-semibold: 600 16px/24px 'Be Vietnam Pro';
645
- --typography-mobile-h6-medium: 500 16px/24px 'Be Vietnam Pro';
646
- --typography-mobile-h6-regular: 400 16px/24px 'Be Vietnam Pro';
647
- --typography-mobile-paragraph-bold: 700 14px/20px 'Be Vietnam Pro';
648
- --typography-mobile-paragraph-semibold: 600 14px/20px 'Be Vietnam Pro';
649
- --typography-mobile-paragraph-medium: 500 14px/20px 'Be Vietnam Pro';
650
- --typography-mobile-paragraph-regular: 400 14px/20px 'Be Vietnam Pro';
651
- --typography-mobile-body-lg-bold: 700 12px/18px 'Be Vietnam Pro';
652
- --typography-mobile-body-lg-semibold: 600 12px/18px 'Be Vietnam Pro';
653
- --typography-mobile-body-lg-medium: 500 12px/18px 'Be Vietnam Pro';
654
- --typography-mobile-body-lg-regular: 400 12px/18px 'Be Vietnam Pro';
655
- --typography-mobile-body-md-bold: 700 10px/16px 'Be Vietnam Pro';
656
- --typography-mobile-body-md-semibold: 600 10px/16px 'Be Vietnam Pro';
657
- --typography-mobile-body-md-medium: 500 10px/16px 'Be Vietnam Pro';
658
- --typography-mobile-body-md-regular: 400 10px/16px 'Be Vietnam Pro';
659
- --typography-mobile-body-sm-bold: 700 8px/14px 'Be Vietnam Pro';
660
- --typography-mobile-body-sm-semibold: 600 8px/14px 'Be Vietnam Pro';
661
- --typography-mobile-body-sm-medium: 500 8px/14px 'Be Vietnam Pro';
662
- --typography-mobile-body-sm-regular: 400 8px/14px 'Be Vietnam Pro';
663
- --typography-desktop-display-bold: 700 56px/64px 'Be Vietnam Pro';
664
- --typography-desktop-display-semibold: 600 56px/64px 'Be Vietnam Pro';
665
- --typography-desktop-h1-bold: 700 40px/48px 'Be Vietnam Pro';
666
- --typography-desktop-h1-semibold: 600 40px/48px 'Be Vietnam Pro';
667
- --typography-desktop-h2-bold: 700 32px/40px 'Be Vietnam Pro';
668
- --typography-desktop-h2-semibold: 600 32px/40px 'Be Vietnam Pro';
669
- --typography-desktop-h2-medium: 500 32px/40px 'Be Vietnam Pro';
670
- --typography-desktop-h2-regular: 400 32px/40px 'Be Vietnam Pro';
671
- --typography-desktop-h3-bold: 700 28px/36px 'Be Vietnam Pro';
672
- --typography-desktop-h3-semibold: 600 28px/36px 'Be Vietnam Pro';
673
- --typography-desktop-h3-medium: 500 28px/36px 'Be Vietnam Pro';
674
- --typography-desktop-h3-regular: 400 28px/36px 'Be Vietnam Pro';
675
- --typography-desktop-h4-bold: 700 24px/32px 'Be Vietnam Pro';
676
- --typography-desktop-h4-semibold: 600 24px/32px 'Be Vietnam Pro';
677
- --typography-desktop-h4-medium: 500 24px/32px 'Be Vietnam Pro';
678
- --typography-desktop-h4-regular: 400 24px/32px 'Be Vietnam Pro';
679
- --typography-desktop-h5-bold: 700 20px/28px 'Be Vietnam Pro';
680
- --typography-desktop-h5-semibold: 600 20px/28px 'Be Vietnam Pro';
681
- --typography-desktop-h5-medium: 500 20px/28px 'Be Vietnam Pro';
682
- --typography-desktop-h5-regular: 400 20px/28px 'Be Vietnam Pro';
683
- --typography-desktop-h6-bold: 700 18px/28px 'Be Vietnam Pro';
684
- --typography-desktop-h6-semibold: 600 18px/28px 'Be Vietnam Pro';
685
- --typography-desktop-h6-medium: 500 18px/28px 'Be Vietnam Pro';
686
- --typography-desktop-h6-regular: 400 18px/28px 'Be Vietnam Pro';
687
- --typography-desktop-paragraph-bold: 700 16px/24px 'Be Vietnam Pro';
688
- --typography-desktop-paragraph-semibold: 600 16px/24px 'Be Vietnam Pro';
689
- --typography-desktop-paragraph-medium: 500 16px/24px 'Be Vietnam Pro';
690
- --typography-desktop-paragraph-regular: 400 16px/24px 'Be Vietnam Pro';
691
- --typography-desktop-body-lg-bold: 700 14px/20px 'Be Vietnam Pro';
692
- --typography-desktop-body-lg-semibold: 600 14px/20px 'Be Vietnam Pro';
693
- --typography-desktop-body-lg-medium: 500 14px/20px 'Be Vietnam Pro';
694
- --typography-desktop-body-lg-regular: 400 14px/20px 'Be Vietnam Pro';
695
- --typography-desktop-body-md-bold: 700 12px/18px 'Be Vietnam Pro';
696
- --typography-desktop-body-md-semibold: 600 12px/18px 'Be Vietnam Pro';
697
- --typography-desktop-body-md-medium: 500 12px/18px 'Be Vietnam Pro';
698
- --typography-desktop-body-md-regular: 400 12px/18px 'Be Vietnam Pro';
699
- --typography-desktop-body-sm-bold: 700 10px/16px 'Be Vietnam Pro';
700
- --typography-desktop-body-sm-semibold: 600 10px/16px 'Be Vietnam Pro';
701
- --typography-desktop-body-sm-medium: 500 10px/16px 'Be Vietnam Pro';
702
- --typography-desktop-body-sm-regular: 400 10px/16px 'Be Vietnam Pro';
652
+ --typography-mobile-display-bold: 700 calc(2.25rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
653
+ --typography-mobile-display-semibold: 600 calc(2.25rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
654
+ --typography-mobile-h1-bold: 700 calc(1.75rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
655
+ --typography-mobile-h1-semibold: 600 calc(1.75rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
656
+ --typography-mobile-h2-bold: 700 calc(1.5rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
657
+ --typography-mobile-h2-semibold: 600 calc(1.5rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
658
+ --typography-mobile-h2-medium: 500 calc(1.5rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
659
+ --typography-mobile-h2-regular: 400 calc(1.5rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
660
+ --typography-mobile-h3-bold: 700 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
661
+ --typography-mobile-h3-semibold: 600 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
662
+ --typography-mobile-h3-medium: 500 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
663
+ --typography-mobile-h3-regular: 400 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
664
+ --typography-mobile-h4-bold: 700 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
665
+ --typography-mobile-h4-semibold: 600 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
666
+ --typography-mobile-h4-medium: 500 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
667
+ --typography-mobile-h4-regular: 400 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.625rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
668
+ --typography-mobile-h5-bold: 700 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
669
+ --typography-mobile-h5-semibold: 600 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
670
+ --typography-mobile-h5-medium: 500 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
671
+ --typography-mobile-h5-regular: 400 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
672
+ --typography-mobile-h6-bold: 700 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
673
+ --typography-mobile-h6-semibold: 600 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
674
+ --typography-mobile-h6-medium: 500 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
675
+ --typography-mobile-h6-regular: 400 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
676
+ --typography-mobile-paragraph-bold: 700 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
677
+ --typography-mobile-paragraph-semibold: 600 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
678
+ --typography-mobile-paragraph-medium: 500 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
679
+ --typography-mobile-paragraph-regular: 400 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
680
+ --typography-mobile-body-lg-bold: 700 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
681
+ --typography-mobile-body-lg-semibold: 600 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
682
+ --typography-mobile-body-lg-medium: 500 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
683
+ --typography-mobile-body-lg-regular: 400 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
684
+ --typography-mobile-body-md-bold: 700 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
685
+ --typography-mobile-body-md-semibold: 600 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
686
+ --typography-mobile-body-md-medium: 500 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
687
+ --typography-mobile-body-md-regular: 400 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
688
+ --typography-mobile-body-sm-bold: 700 calc(0.5rem * var(--ds-text-scale, 1))/calc(0.875rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
689
+ --typography-mobile-body-sm-semibold: 600 calc(0.5rem * var(--ds-text-scale, 1))/calc(0.875rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
690
+ --typography-mobile-body-sm-medium: 500 calc(0.5rem * var(--ds-text-scale, 1))/calc(0.875rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
691
+ --typography-mobile-body-sm-regular: 400 calc(0.5rem * var(--ds-text-scale, 1))/calc(0.875rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
692
+ --typography-desktop-display-bold: 700 calc(3.5rem * var(--ds-text-scale, 1))/calc(4rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
693
+ --typography-desktop-display-semibold: 600 calc(3.5rem * var(--ds-text-scale, 1))/calc(4rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
694
+ --typography-desktop-h1-bold: 700 calc(2.5rem * var(--ds-text-scale, 1))/calc(3rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
695
+ --typography-desktop-h1-semibold: 600 calc(2.5rem * var(--ds-text-scale, 1))/calc(3rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
696
+ --typography-desktop-h2-bold: 700 calc(2rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
697
+ --typography-desktop-h2-semibold: 600 calc(2rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
698
+ --typography-desktop-h2-medium: 500 calc(2rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
699
+ --typography-desktop-h2-regular: 400 calc(2rem * var(--ds-text-scale, 1))/calc(2.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
700
+ --typography-desktop-h3-bold: 700 calc(1.75rem * var(--ds-text-scale, 1))/calc(2.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
701
+ --typography-desktop-h3-semibold: 600 calc(1.75rem * var(--ds-text-scale, 1))/calc(2.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
702
+ --typography-desktop-h3-medium: 500 calc(1.75rem * var(--ds-text-scale, 1))/calc(2.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
703
+ --typography-desktop-h3-regular: 400 calc(1.75rem * var(--ds-text-scale, 1))/calc(2.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
704
+ --typography-desktop-h4-bold: 700 calc(1.5rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
705
+ --typography-desktop-h4-semibold: 600 calc(1.5rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
706
+ --typography-desktop-h4-medium: 500 calc(1.5rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
707
+ --typography-desktop-h4-regular: 400 calc(1.5rem * var(--ds-text-scale, 1))/calc(2rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
708
+ --typography-desktop-h5-bold: 700 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
709
+ --typography-desktop-h5-semibold: 600 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
710
+ --typography-desktop-h5-medium: 500 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
711
+ --typography-desktop-h5-regular: 400 calc(1.25rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
712
+ --typography-desktop-h6-bold: 700 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
713
+ --typography-desktop-h6-semibold: 600 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
714
+ --typography-desktop-h6-medium: 500 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
715
+ --typography-desktop-h6-regular: 400 calc(1.125rem * var(--ds-text-scale, 1))/calc(1.75rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
716
+ --typography-desktop-paragraph-bold: 700 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
717
+ --typography-desktop-paragraph-semibold: 600 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
718
+ --typography-desktop-paragraph-medium: 500 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
719
+ --typography-desktop-paragraph-regular: 400 calc(1rem * var(--ds-text-scale, 1))/calc(1.5rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
720
+ --typography-desktop-body-lg-bold: 700 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
721
+ --typography-desktop-body-lg-semibold: 600 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
722
+ --typography-desktop-body-lg-medium: 500 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
723
+ --typography-desktop-body-lg-regular: 400 calc(0.875rem * var(--ds-text-scale, 1))/calc(1.25rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
724
+ --typography-desktop-body-md-bold: 700 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
725
+ --typography-desktop-body-md-semibold: 600 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
726
+ --typography-desktop-body-md-medium: 500 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
727
+ --typography-desktop-body-md-regular: 400 calc(0.75rem * var(--ds-text-scale, 1))/calc(1.125rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
728
+ --typography-desktop-body-sm-bold: 700 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
729
+ --typography-desktop-body-sm-semibold: 600 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
730
+ --typography-desktop-body-sm-medium: 500 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
731
+ --typography-desktop-body-sm-regular: 400 calc(0.625rem * var(--ds-text-scale, 1))/calc(1rem * var(--ds-text-scale, 1)) 'Be Vietnam Pro';
703
732
  --elevation-overlay: 99999;
704
733
  }
705
734
 
@@ -714,8 +743,8 @@ TRAPS — each of these renders or ignores silently, with no error:
714
743
  body { color: rgb(var(--text-default-primary)); }
715
744
  </style>
716
745
  <script src="https://cdn.tailwindcss.com"></script>
717
- <script src="https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-tailwind.js"></script>
718
- <script src="https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-ui.js"></script>
746
+ <script src="https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-tailwind.js"></script>
747
+ <script src="https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-ui.js"></script>
719
748
  <script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.26.4/babel.min.js"></script>
720
749
  </head>
721
750
  <body class="bg-default-primary text-default-primary">
package/umkmall-rules.md CHANGED
@@ -29,10 +29,10 @@ When I answer, build the whole thing in one file and hand it back.
29
29
  Each of these is plain markdown, published for you rather than for a person.
30
30
  Fetch them if you have web access; they are always current.
31
31
 
32
- the whole starter, in a code block https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-starter.md
33
- the demo block on its own https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-starter-app.md
34
- the component vocabulary https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-components.md
35
- the starter as a raw .html file https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-prototype-starter.html
32
+ the whole starter, in a code block https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-starter.md
33
+ the demo block on its own https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-starter-app.md
34
+ the component vocabulary https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-components.md
35
+ the starter as a raw .html file https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-prototype-starter.html
36
36
 
37
37
  TAKE THE FIRST ONE. It is the entire working file — <head>, mount node and a
38
38
  demo that already renders a chat room — inside a single fenced block, so you
@@ -150,7 +150,7 @@ THE COMPONENT LIST
150
150
  Not written here. It is a published file, always current, and it carries each
151
151
  component's axes AND the props it will not render without:
152
152
 
153
- https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-h726308542f5a/umkmall-components.md
153
+ https://cdn.jsdelivr.net/npm/@umkmall/proto@0.1.0-ha04bbbde2f13/umkmall-components.md
154
154
 
155
155
  Fetch it, or ask me to paste it. Do not work from memory of another design
156
156
  system — an invented axis value renders unstyled with no error, and a missing