@godxjp/ui 18.6.0 → 18.8.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/dist/components/data-display/card.d.ts +27 -3
- package/dist/components/data-display/card.js +4 -1
- package/dist/components/data-entry/input-otp.d.ts +1 -1
- package/dist/components/feedback/alert.d.ts +20 -2
- package/dist/components/feedback/alert.js +11 -1
- package/dist/components/feedback/index.d.ts +2 -2
- package/dist/components/feedback/index.js +3 -1
- package/dist/components/layout/auth-shell.d.ts +4 -2
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/index.js +2 -0
- package/dist/components/layout/page-container.d.ts +1 -1
- package/dist/components/layout/page-container.js +19 -41
- package/dist/components/layout/page-header.d.ts +22 -0
- package/dist/components/layout/page-header.js +89 -0
- package/dist/components/navigation/filter-bar.d.ts +2 -2
- package/dist/components/navigation/filter-bar.js +44 -1
- package/dist/components/navigation/index.d.ts +1 -1
- package/dist/components/navigation/steps.d.ts +2 -2
- package/dist/components/navigation/steps.js +4 -2
- package/dist/components/ui/avatar.d.ts +1 -1
- package/dist/components/ui/avatar.js +2 -1
- package/dist/components/ui/input-otp.d.ts +15 -3
- package/dist/components/ui/input-otp.js +2 -1
- package/dist/email/tokens.generated.d.ts +2 -2
- package/dist/email/tokens.generated.js +2 -2
- package/dist/i18n/messages/en.json +11 -0
- package/dist/i18n/messages/ja.json +8 -0
- package/dist/i18n/messages/vi.json +8 -0
- package/dist/props/components/data-display.prop.d.ts +16 -0
- package/dist/props/components/data-entry.prop.d.ts +7 -0
- package/dist/props/components/feedback.prop.d.ts +6 -0
- package/dist/props/components/layout.prop.d.ts +53 -0
- package/dist/props/components/navigation.prop.d.ts +61 -0
- package/dist/props/registry.d.ts +75 -1
- package/dist/props/registry.js +96 -1
- package/dist/props/vocabulary/interaction.prop.d.ts +10 -2
- package/dist/props/vocabulary/layout.prop.d.ts +5 -2
- package/dist/styles/alert-layout.css +36 -0
- package/dist/styles/card-layout.css +49 -13
- package/dist/styles/control.css +12 -2
- package/dist/styles/data-display-layout.css +16 -0
- package/dist/styles/layout.css +113 -0
- package/dist/styles/navigation-layout.css +8 -3
- package/dist/styles/shell-layout.css +44 -1
- package/dist/tokens/components/card.css +12 -0
- package/dist/tokens/components/control.css +16 -0
- package/dist/tokens/components/data-display.css +12 -0
- package/dist/tokens/components/email.css +8 -2
- package/dist/tokens/components/feedback.css +20 -0
- package/dist/tokens/components/navigation.css +35 -0
- package/dist/tokens/components/shell.css +64 -4
- package/dist/tokens/semantic/layout.css +13 -0
- package/package.json +2 -2
|
@@ -81,10 +81,21 @@
|
|
|
81
81
|
--topbar-height: auto;
|
|
82
82
|
--topbar-inset: 0px;
|
|
83
83
|
--topbar-gap: var(--space-2);
|
|
84
|
-
/*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
84
|
+
/* ⚠ THIS KNOB DELETES CONTENT AT 1100px AND BELOW — read before you ship a center slot.
|
|
85
|
+
* At compact desktop/tablet widths the docked sidebar leaves too little inline room for three
|
|
86
|
+
* intrinsically-sized clusters, so the package hides the optional center slot before it can
|
|
87
|
+
* cover the breadcrumb/title or end utilities (gh#244). The default is `none`, which means a
|
|
88
|
+
* global search trigger placed in `center` is INVISIBLE from 1100px down — including on every
|
|
89
|
+
* phone — unless the consumer opts back in. That default arrived in 18.6.0 and removed the slot
|
|
90
|
+
* for consumers who never changed a line of their own code (gh#12); it stays because the
|
|
91
|
+
* overlap it prevents is a real defect and flipping a shipped default twice is worse than
|
|
92
|
+
* documenting it once, but it is a DECISION, not an accident:
|
|
93
|
+
*
|
|
94
|
+
* :root { --topbar-center-compact-display: flex; } ← restore the slot at every width
|
|
95
|
+
*
|
|
96
|
+
* Opt back in only once the center content has a compact presentation of its own (an icon-only
|
|
97
|
+
* search trigger, a collapsing field). A page-local media query is the anti-pattern this knob
|
|
98
|
+
* replaces. */
|
|
88
99
|
--topbar-center-compact-display: none;
|
|
89
100
|
--org-switcher-trigger-height: 2.75rem;
|
|
90
101
|
--org-switcher-trigger-padding-x: var(--space-2);
|
|
@@ -181,6 +192,18 @@
|
|
|
181
192
|
--auth-shell-device-card-max-width: 23.75rem;
|
|
182
193
|
--auth-shell-device-main-padding: 1rem;
|
|
183
194
|
--auth-shell-device-main-padding-mobile: 0.9375rem 0.3125rem;
|
|
195
|
+
/* CODE FIELD measure — the preset owns it (gh#12). A device grant is the one canonical flow whose
|
|
196
|
+
* PRIMARY control is the code field, so leaving it on the generic square --otp-slot-size made the
|
|
197
|
+
* preset own the page but not its own subject: two 4-slot `appearance="grouped"` boxes rendered
|
|
198
|
+
* 146x38 (4 x the canonical 36px control tier + the 1px group border) against a 112x54 artboard.
|
|
199
|
+
* These are the per-slot boxes that ADD UP to that artboard group:
|
|
200
|
+
* inline 27.5px x 4 + 2 x 1px group border = 112px
|
|
201
|
+
* block 52px + 2 x 1px group border = 54px
|
|
202
|
+
* Literal artboard lengths, like every other preset measure here — they must not drift with
|
|
203
|
+
* --scaling. A service that groups its code differently overrides --otp-slot-inline-size /
|
|
204
|
+
* --otp-slot-block-size on its own field; the generic square knob is untouched everywhere else. */
|
|
205
|
+
--auth-shell-device-otp-slot-inline-size: 1.71875rem;
|
|
206
|
+
--auth-shell-device-otp-slot-block-size: 3.25rem;
|
|
184
207
|
|
|
185
208
|
/* Context-selection preset — 25rem card measure on desktop/tablet, edge-to-edge on mobile
|
|
186
209
|
* (0 inline gutter) with a 16px rhythm between the intro, the card and the remember row. */
|
|
@@ -201,6 +224,43 @@
|
|
|
201
224
|
--auth-shell-recovery-main-padding: 1rem;
|
|
202
225
|
--auth-shell-recovery-main-padding-mobile: 0.9375rem;
|
|
203
226
|
|
|
227
|
+
/* Registration preset (gh#256) — the canonical sign-up measure. Two things make it structurally
|
|
228
|
+
* different from every preset above, and both are the reason it could not be expressed by
|
|
229
|
+
* re-using `login`:
|
|
230
|
+
*
|
|
231
|
+
* 1. LONG-FORM SCROLLING. A registration card is the tallest surface in the hosted-identity set
|
|
232
|
+
* (name · email · password · confirm · strength meter · consent · submit · provider row), and
|
|
233
|
+
* a vertically CENTRED tall card clips its own top on a short viewport — the top overflows
|
|
234
|
+
* above the scroll origin and becomes unreachable. So the column is start-aligned and the
|
|
235
|
+
* block-start inset becomes ordinary page padding the user can scroll past.
|
|
236
|
+
* 2. FOOTER CLEARANCE. The legal/consent footer must never be flush against the submit button
|
|
237
|
+
* at the end of a long scroll, so the block-end inset is a knob of its own rather than
|
|
238
|
+
* mirroring the block-start one.
|
|
239
|
+
*
|
|
240
|
+
* The 360px form measure and the 15px mobile inline gutter match the canonical Login flow exactly
|
|
241
|
+
* (22.5rem card, x=15 at 390 ⇒ width=360), so a user moving sign-in → sign-up on a phone never
|
|
242
|
+
* sees the surface jump. */
|
|
243
|
+
--auth-shell-registration-card-max-width: 22.5rem;
|
|
244
|
+
/* Block-start offsets are DERIVED from the canonical SCR-002 artboard, not chosen: the card
|
|
245
|
+
* anchors at y=284 (1440x900) and y=274 (390x844), and the column is
|
|
246
|
+
* card y = padding-block-start + identity slot + stack gap
|
|
247
|
+
* so 284 - 112 - 20 = 152px (9.5rem) and 274 - 112 - 20 = 142px (8.875rem). Like every canonical
|
|
248
|
+
* screen in this family the page passes NO brand bar (the mark lives INSIDE the column as
|
|
249
|
+
* AuthIdentity), so `main` starts at the viewport top and the offset is the whole anchor. */
|
|
250
|
+
--auth-shell-registration-main-padding-block-start: 9.5rem;
|
|
251
|
+
--auth-shell-registration-main-padding-block-start-mobile: 8.875rem;
|
|
252
|
+
--auth-shell-registration-main-padding-inline: 1rem;
|
|
253
|
+
--auth-shell-registration-main-padding-inline-mobile: 0.9375rem;
|
|
254
|
+
/* Footer clearance — the gap the legal footer keeps below the end of a long form. */
|
|
255
|
+
--auth-shell-registration-main-padding-block-end: 3rem;
|
|
256
|
+
--auth-shell-registration-main-padding-block-end-mobile: 2rem;
|
|
257
|
+
--auth-shell-registration-card-stack-gap: 1.25rem;
|
|
258
|
+
/* Fixed identity track, the same 112px `login` proved (gh#237). Without it the card anchor moves
|
|
259
|
+
* with the title/requester line count — measured here at 82.69px for one wrapped requester — so
|
|
260
|
+
* the canonical y above would hold for exactly one copy length and drift for every other. The
|
|
261
|
+
* slot absorbs absent / one-line / two-line identity content instead. */
|
|
262
|
+
--auth-shell-registration-identity-slot-block-size: 7rem;
|
|
263
|
+
|
|
204
264
|
/* Labelled auth divider geometry. */
|
|
205
265
|
--auth-shell-divider-gap: 0.625rem;
|
|
206
266
|
--auth-shell-divider-label-font-size: 0.6875rem;
|
|
@@ -83,6 +83,19 @@
|
|
|
83
83
|
* page moves. 11rem = 176px, i.e. the control ends flush with the compact page gutter. */
|
|
84
84
|
--page-header-extra-measure: 11rem; /* 176px */
|
|
85
85
|
|
|
86
|
+
/* Inline gap between the `<h1>` and the PageHeader `meta` slot (a status Badge, a record ID) when
|
|
87
|
+
* they share the title band (gh#255). Only consumed when `meta` is passed — a header without it
|
|
88
|
+
* emits no band wrapper at all, so no existing page moves. */
|
|
89
|
+
--page-header-meta-gap: var(--space-inline-sm);
|
|
90
|
+
|
|
91
|
+
/* PageHeader `loading` placeholders (gh#255). The title/subtitle elements wear the shared
|
|
92
|
+
* `.ui-skeleton-block` skin, so they need only a MEASURE and a block size — a service retunes the
|
|
93
|
+
* pending band's proportions here instead of per page. */
|
|
94
|
+
--page-title-placeholder-measure: 14rem; /* 224px */
|
|
95
|
+
--page-title-placeholder-block-size: 1.5em;
|
|
96
|
+
--page-subtitle-placeholder-measure: 22rem; /* 352px */
|
|
97
|
+
--page-subtitle-placeholder-block-size: 1.25em;
|
|
98
|
+
|
|
86
99
|
/* Bounded page MEASURE (gh#245 / gh#247) — the shared inline cap applied to the page HEADER and
|
|
87
100
|
* BODY together, so the header `extra` action ends on the same edge as the body surface (the
|
|
88
101
|
* `variant="narrow"` complaint: it caps only `.ui-page-body`, leaving the header action out at
|