@vmz/ui 0.0.4 → 0.1.0
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/README.md +7 -2
- package/contracts/token-requirements.v0.json +43 -4
- package/package.json +1 -1
- package/src/components/Button.vmz +7 -1
- package/src/components/Card.vmz +4 -5
- package/src/components/DatePicker.vmz +513 -15
- package/src/components/Select.vmz +5 -1
- package/src/components/Upload.vmz +1153 -22
package/README.md
CHANGED
|
@@ -21,18 +21,23 @@ Headline surface for this cut:
|
|
|
21
21
|
|
|
22
22
|
- Commercial / Console / Document-Product composition dogfood (homepage)
|
|
23
23
|
- Form depth, Structure, Overlay stacking, DataTable (ordinary HTML table — not `@vmz/ui-data-grid`)
|
|
24
|
+
- DatePicker owned calendar overlay (not native `input[type=date]` popup)
|
|
25
|
+
- Upload multipart binary (parent-owned FormData → `#server` File/Blob; progress/cancel)
|
|
24
26
|
- Density / RTL / preset materialize
|
|
25
27
|
- Motion continuity + interrupt/cancel
|
|
26
28
|
- Motion compiler IR thin gate (`pnpm verify -- motion-ir`)
|
|
27
29
|
- UI7 conformance pack (`@vmz/ui/conformance` + `pnpm verify -- ui7`)
|
|
30
|
+
- `@vmz/ui-data-grid` thin gate (virtualization + pinned column — not tree/group/pivot/edit)
|
|
28
31
|
|
|
29
32
|
Verify:
|
|
30
33
|
|
|
31
34
|
```bash
|
|
32
35
|
pnpm verify -- ui-automation
|
|
33
36
|
pnpm verify -- ui7
|
|
37
|
+
pnpm verify -- ui-data-grid
|
|
34
38
|
pnpm verify -- official-dogfood
|
|
35
39
|
```
|
|
36
40
|
|
|
37
|
-
Still open relative to Browser Production Profile v1: `browser-production` aggregate core gaps,
|
|
38
|
-
|
|
41
|
+
Still open relative to Browser Production Profile v1: `browser-production` aggregate core gaps,
|
|
42
|
+
`@vmz/ui-data-grid` deep capabilities, Upload cross-page session / multi-file parallel chunks,
|
|
43
|
+
`@vmz/test` Browser Host U0–U1, sibling `vmz-panel` product app.
|
|
@@ -116,17 +116,56 @@
|
|
|
116
116
|
"status.danger.foreground",
|
|
117
117
|
"focus.ring",
|
|
118
118
|
"density.control.padding-y",
|
|
119
|
-
"density.control.padding-x"
|
|
119
|
+
"density.control.padding-x",
|
|
120
|
+
"surface.paper"
|
|
120
121
|
],
|
|
121
122
|
"surfaces": ["WebSurface"],
|
|
122
|
-
"contracts": [
|
|
123
|
+
"contracts": [
|
|
124
|
+
"label",
|
|
125
|
+
"description",
|
|
126
|
+
"error",
|
|
127
|
+
"calendar-overlay",
|
|
128
|
+
"no-native-date-popup",
|
|
129
|
+
"parent-owned-value",
|
|
130
|
+
"overlay-escape-outside"
|
|
131
|
+
]
|
|
123
132
|
},
|
|
124
133
|
"Upload": {
|
|
125
134
|
"source": "src/components/Upload.vmz",
|
|
126
135
|
"stableHint": "ui.Upload",
|
|
127
|
-
"tokens": [
|
|
136
|
+
"tokens": [
|
|
137
|
+
"status.danger.foreground",
|
|
138
|
+
"status.success.foreground",
|
|
139
|
+
"action.primary.background",
|
|
140
|
+
"surface.paper",
|
|
141
|
+
"line.default",
|
|
142
|
+
"text.ink",
|
|
143
|
+
"text.steel",
|
|
144
|
+
"font.mono",
|
|
145
|
+
"focus.ring",
|
|
146
|
+
"density.control.padding-y",
|
|
147
|
+
"density.compact.padding-y",
|
|
148
|
+
"density.compact.padding-x",
|
|
149
|
+
"motion.control.duration",
|
|
150
|
+
"motion.control.easing"
|
|
151
|
+
],
|
|
128
152
|
"surfaces": ["WebSurface"],
|
|
129
|
-
"contracts": [
|
|
153
|
+
"contracts": [
|
|
154
|
+
"label",
|
|
155
|
+
"description",
|
|
156
|
+
"error",
|
|
157
|
+
"drop-zone",
|
|
158
|
+
"selection-constraints",
|
|
159
|
+
"queue",
|
|
160
|
+
"progress",
|
|
161
|
+
"cancel",
|
|
162
|
+
"destination-client",
|
|
163
|
+
"destination-server",
|
|
164
|
+
"destination-object",
|
|
165
|
+
"all-in-one-transport",
|
|
166
|
+
"parent-owned-result-value",
|
|
167
|
+
"no-useUpload"
|
|
168
|
+
]
|
|
130
169
|
},
|
|
131
170
|
"Field": {
|
|
132
171
|
"source": "src/components/Field.vmz",
|
package/package.json
CHANGED
|
@@ -19,9 +19,10 @@
|
|
|
19
19
|
align-items: center;
|
|
20
20
|
justify-content: center;
|
|
21
21
|
gap: 0.35rem;
|
|
22
|
+
min-height: 2.25rem;
|
|
22
23
|
padding: var(--vmz-density-control-padding-y) var(--vmz-density-control-padding-x);
|
|
23
24
|
border: 1px solid transparent;
|
|
24
|
-
border-radius:
|
|
25
|
+
border-radius: 7px;
|
|
25
26
|
font: inherit;
|
|
26
27
|
font-weight: 600;
|
|
27
28
|
line-height: 1.2;
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
border-color var(--vmz-motion-control-duration) var(--vmz-motion-control-easing),
|
|
35
36
|
color var(--vmz-motion-control-duration) var(--vmz-motion-control-easing),
|
|
36
37
|
box-shadow var(--vmz-motion-control-duration) var(--vmz-motion-control-easing);
|
|
38
|
+
box-shadow: 0 1px 2px rgba(16,24,40,.08);
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
.vmz-ui-btn:hover:not(:disabled) {
|
|
@@ -49,6 +51,10 @@
|
|
|
49
51
|
color: var(--vmz-action-secondary-foreground);
|
|
50
52
|
border-color: var(--vmz-action-secondary-border);
|
|
51
53
|
}
|
|
54
|
+
.vmz-ui-btn[data-variant='default'] { background:#fff; color:var(--vmz-text-ink); border-color:var(--vmz-line-default); }
|
|
55
|
+
.vmz-ui-btn[data-variant='default']:hover:not(:disabled) { color:var(--vmz-action-primary-background); border-color:var(--vmz-action-primary-background); background:#f5faff; }
|
|
56
|
+
.vmz-ui-btn[data-variant='text'], .vmz-ui-btn[data-variant='link'] { min-height:auto; padding:.35rem .45rem; border-color:transparent; background:transparent; color:var(--vmz-action-primary-background); box-shadow:none; }
|
|
57
|
+
.vmz-ui-btn[data-variant='dashed'] { background:#fff; color:var(--vmz-text-ink); border:1px dashed var(--vmz-line-default); box-shadow:none; }
|
|
52
58
|
|
|
53
59
|
.vmz-ui-btn[data-variant='secondary']:hover:not(:disabled) {
|
|
54
60
|
background: var(--vmz-action-secondary-hover);
|
package/src/components/Card.vmz
CHANGED
|
@@ -14,14 +14,13 @@
|
|
|
14
14
|
.vmz-ui-card {
|
|
15
15
|
display: flex;
|
|
16
16
|
flex-direction: column;
|
|
17
|
-
gap:
|
|
18
|
-
padding:
|
|
19
|
-
calc(var(--vmz-density-control-padding-x) + 0.25rem);
|
|
17
|
+
gap: 1rem;
|
|
18
|
+
padding: 1.25rem;
|
|
20
19
|
border: 1px solid var(--vmz-line-default);
|
|
21
|
-
border-radius:
|
|
20
|
+
border-radius: 10px;
|
|
22
21
|
background: var(--vmz-surface-paper);
|
|
23
22
|
color: var(--vmz-text-ink);
|
|
24
|
-
box-shadow: 0 1px
|
|
23
|
+
box-shadow: 0 1px 3px rgba(16,24,40,.06);
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
:where([data-density='compact']) .vmz-ui-card {
|