@hirobius/design-system 0.14.0 → 0.16.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 +4 -4
- package/dist/chunks/TokenDisplayContext-B3gxyQN7.js +1 -0
- package/dist/chunks/form-DnGRy27o.js +1 -0
- package/dist/contexts.js +1 -0
- package/dist/form.js +1 -0
- package/dist/hirobius-ui.js +5884 -4425
- package/dist/manifest.js +8 -8
- package/dist/scroll.js +1 -0
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tokens.js +40 -22
- package/dist/types/src/app/components/alert.d.ts +1 -1
- package/dist/types/src/app/components/asset-img.d.ts +1 -1
- package/dist/types/src/app/components/bleed.d.ts +1 -1
- package/dist/types/src/app/components/card.d.ts +3 -3
- package/dist/types/src/app/components/center.d.ts +1 -1
- package/dist/types/src/app/components/checkbox.d.ts +1 -2
- package/dist/types/src/app/components/cinematic-link.d.ts +8 -3
- package/dist/types/src/app/components/cluster.d.ts +1 -1
- package/dist/types/src/app/components/code-block.d.ts +1 -1
- package/dist/types/src/app/components/component-instance-matrix.d.ts +7 -1
- package/dist/types/src/app/components/container.d.ts +1 -1
- package/dist/types/src/app/components/cover.d.ts +1 -1
- package/dist/types/src/app/components/disclosure.d.ts +1 -1
- package/dist/types/src/app/components/doc-link-card.d.ts +1 -1
- package/dist/types/src/app/components/error-boundary.d.ts +1 -1
- package/dist/types/src/app/components/error-pattern.d.ts +1 -2
- package/dist/types/src/app/components/foundation-swatch.d.ts +6 -0
- package/dist/types/src/app/components/frame.d.ts +1 -1
- package/dist/types/src/app/components/grid.d.ts +2 -2
- package/dist/types/src/app/components/heading-stack.d.ts +1 -1
- package/dist/types/src/app/components/icon-button.d.ts +1 -2
- package/dist/types/src/app/components/image-lightbox.d.ts +1 -2
- package/dist/types/src/app/components/inline-code.d.ts +1 -1
- package/dist/types/src/app/components/inline-link.d.ts +1 -2
- package/dist/types/src/app/components/nav-group.d.ts +1 -1
- package/dist/types/src/app/components/nav-item.d.ts +1 -1
- package/dist/types/src/app/components/page.d.ts +1 -1
- package/dist/types/src/app/components/pin.d.ts +1 -2
- package/dist/types/src/app/components/radio.d.ts +1 -2
- package/dist/types/src/app/components/reveal.d.ts +1 -2
- package/dist/types/src/app/components/segmented-control.d.ts +1 -1
- package/dist/types/src/app/components/select.d.ts +29 -0
- package/dist/types/src/app/components/sidebar.d.ts +1 -1
- package/dist/types/src/app/components/sketch.d.ts +6 -0
- package/dist/types/src/app/components/slider.d.ts +1 -2
- package/dist/types/src/app/components/stack.d.ts +1 -1
- package/dist/types/src/app/components/stepper-field.d.ts +1 -2
- package/dist/types/src/app/components/surface.d.ts +1 -1
- package/dist/types/src/app/components/switcher.d.ts +1 -1
- package/dist/types/src/app/components/toggle.d.ts +1 -2
- package/dist/types/src/app/components/token.d.ts +8 -2
- package/dist/types/src/app/design-system/generated-token-refs.d.ts +3 -6
- package/dist/types/src/app/design-system/generated-token-values.d.ts +2 -6
- package/dist/types/src/app/design-system/tokens.d.ts +0 -5
- package/dist/types/src/app/layouts/CaseStudyLayout.d.ts +2 -3
- package/dist/types/src/app/layouts/DocLayout.d.ts +0 -2
- package/dist/types/src/app/layouts/HdsDocsShell.d.ts +72 -0
- package/dist/types/src/app/layouts/HdsSystemDocLayout.d.ts +8 -1
- package/dist/types/src/index.d.ts +23 -31
- package/dist/variables.css +58 -6
- package/hirobius.tokens.json +21 -31
- package/package.json +34 -22
- package/public/hds-manifest.json +1466 -179
- /package/dist/types/src/app/components/{lab/tokenUtils.d.ts → tokenUtils.d.ts} +0 -0
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import React from 'react';
|
|
22
22
|
type LayoutGap = 'tight' | 'normal' | 'inset' | 'spacious';
|
|
23
|
-
interface SwitcherProps {
|
|
23
|
+
export interface SwitcherProps {
|
|
24
24
|
/** Switcher content — peer items that flip between row and column as a unit. */
|
|
25
25
|
children: React.ReactNode;
|
|
26
26
|
/** Container width below which items stack vertically (CSS length, e.g. '30rem'). Defaults to '30rem'. */
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { InputHTMLAttributes } from 'react';
|
|
8
8
|
/** HdsToggle — boolean on/off toggle with animated thumb. */
|
|
9
9
|
export type HdsToggleDemoState = 'rest' | 'hover' | 'focused' | 'pressed' | 'disabled';
|
|
10
|
-
interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'onChange'> {
|
|
10
|
+
export interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'onChange'> {
|
|
11
11
|
/** Toggle label displayed next to the control. */
|
|
12
12
|
label: string;
|
|
13
13
|
/** Current checked state. */
|
|
@@ -16,4 +16,3 @@ interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
|
|
|
16
16
|
onChange: (v: boolean) => void;
|
|
17
17
|
}
|
|
18
18
|
export declare const HdsToggle: import("react").ForwardRefExoticComponent<ToggleProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
19
|
-
export {};
|
|
@@ -69,7 +69,7 @@ type TokenDiagramProps = TokenBaseProps & {
|
|
|
69
69
|
rawValue?: React.ReactNode;
|
|
70
70
|
onClick?: () => void;
|
|
71
71
|
};
|
|
72
|
-
type TokenProps = TokenNodeSurfaceProps | TokenDiagramProps;
|
|
72
|
+
export type TokenProps = TokenNodeSurfaceProps | TokenDiagramProps;
|
|
73
73
|
/**
|
|
74
74
|
* Token - unified token component.
|
|
75
75
|
*
|
|
@@ -78,7 +78,13 @@ type TokenProps = TokenNodeSurfaceProps | TokenDiagramProps;
|
|
|
78
78
|
* @removeIn 1.0.0) that now resolves to the same node treatment.
|
|
79
79
|
* Node content can use a left-side slot for swatches or other compact previews.
|
|
80
80
|
*/
|
|
81
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Token - reflective token specimen for unified node-based token views. The `variant` axis (node | diagram — diagram is a deprecated alias that resolves to the same node treatment) plus the `selected` / `fullWidth` / `asButton` / `nowrap` / `sourceNode` states used to be a Token.module.css `[data-*]` attribute stylesheet, with a duplicate `isSelected` branch re-painted inline on top of it. Both now live as one `cva` variant set — same `--semantic-*`/`--component-*`/`--primitive-*` custom properties, same pixels, no CSS module.
|
|
83
|
+
*
|
|
84
|
+
* @public
|
|
85
|
+
* @deprecated Token is an HDS docs/lab internal (reflective token specimen for the token/foundation doc pages), not a consumer-facing HDS surface. It will be retiered to `utility` (dropped from the published barrel) at the named major.
|
|
86
|
+
* @removeIn 1.0.0
|
|
87
|
+
*/
|
|
82
88
|
export declare function Token(props: TokenProps): import("react/jsx-runtime").JSX.Element;
|
|
83
89
|
/** @internal — CVA variant helpers; compose via Token props instead. */
|
|
84
90
|
export { tokenShellVariants, tokenNodeInlineVariants, tokenLabelVariants };
|
|
@@ -138,7 +138,6 @@ export declare const tokenRefs: {
|
|
|
138
138
|
readonly mono: "var(--primitive-typography-family-mono)";
|
|
139
139
|
};
|
|
140
140
|
readonly size: {
|
|
141
|
-
readonly "2xs": "var(--primitive-typography-size-2xs)";
|
|
142
141
|
readonly xs: "var(--primitive-typography-size-xs)";
|
|
143
142
|
readonly sm: "var(--primitive-typography-size-sm)";
|
|
144
143
|
readonly base: "var(--primitive-typography-size-base)";
|
|
@@ -151,10 +150,8 @@ export declare const tokenRefs: {
|
|
|
151
150
|
readonly "6xl": "var(--primitive-typography-size-6xl)";
|
|
152
151
|
};
|
|
153
152
|
readonly weight: {
|
|
154
|
-
readonly light: "var(--primitive-typography-weight-light)";
|
|
155
153
|
readonly regular: "var(--primitive-typography-weight-regular)";
|
|
156
154
|
readonly medium: "var(--primitive-typography-weight-medium)";
|
|
157
|
-
readonly semibold: "var(--primitive-typography-weight-semibold)";
|
|
158
155
|
readonly bold: "var(--primitive-typography-weight-bold)";
|
|
159
156
|
};
|
|
160
157
|
readonly lineHeight: {
|
|
@@ -166,11 +163,8 @@ export declare const tokenRefs: {
|
|
|
166
163
|
readonly relaxed: "var(--primitive-typography-lineHeight-relaxed)";
|
|
167
164
|
};
|
|
168
165
|
readonly letterSpacing: {
|
|
169
|
-
readonly tighter: "var(--primitive-typography-letterSpacing-tighter)";
|
|
170
166
|
readonly tight: "var(--primitive-typography-letterSpacing-tight)";
|
|
171
167
|
readonly normal: "var(--primitive-typography-letterSpacing-normal)";
|
|
172
|
-
readonly wide: "var(--primitive-typography-letterSpacing-wide)";
|
|
173
|
-
readonly wider: "var(--primitive-typography-letterSpacing-wider)";
|
|
174
168
|
readonly caps: "var(--primitive-typography-letterSpacing-caps)";
|
|
175
169
|
};
|
|
176
170
|
};
|
|
@@ -211,9 +205,11 @@ export declare const tokenRefs: {
|
|
|
211
205
|
readonly "96": "var(--primitive-size-96)";
|
|
212
206
|
readonly interactive: {
|
|
213
207
|
readonly min: "var(--primitive-size-interactive-min)";
|
|
208
|
+
readonly minCompact: "var(--primitive-size-interactive-minCompact)";
|
|
214
209
|
};
|
|
215
210
|
readonly width: {
|
|
216
211
|
readonly "96": "var(--primitive-size-width-96)";
|
|
212
|
+
readonly "280": "var(--primitive-size-width-280)";
|
|
217
213
|
readonly "760": "var(--primitive-size-width-760)";
|
|
218
214
|
readonly "1200": "var(--primitive-size-width-1200)";
|
|
219
215
|
readonly "50ch": "var(--primitive-size-width-50ch)";
|
|
@@ -335,6 +331,7 @@ export declare const tokenRefs: {
|
|
|
335
331
|
readonly gap: "var(--semantic-space-sidebar-gap)";
|
|
336
332
|
readonly sectionGap: "var(--semantic-space-sidebar-sectionGap)";
|
|
337
333
|
readonly railPadding: "var(--semantic-space-sidebar-railPadding)";
|
|
334
|
+
readonly railWidth: "var(--semantic-space-sidebar-railWidth)";
|
|
338
335
|
};
|
|
339
336
|
};
|
|
340
337
|
readonly layout: {
|
|
@@ -139,7 +139,6 @@ export declare const tokenValues: {
|
|
|
139
139
|
readonly mono: readonly ["Geist Mono", "Courier New", "monospace"];
|
|
140
140
|
};
|
|
141
141
|
readonly size: {
|
|
142
|
-
readonly "2xs": "10px";
|
|
143
142
|
readonly xs: "13px";
|
|
144
143
|
readonly sm: "15px";
|
|
145
144
|
readonly base: "17px";
|
|
@@ -152,10 +151,8 @@ export declare const tokenValues: {
|
|
|
152
151
|
readonly "6xl": "80px";
|
|
153
152
|
};
|
|
154
153
|
readonly weight: {
|
|
155
|
-
readonly light: "300";
|
|
156
154
|
readonly regular: "400";
|
|
157
155
|
readonly medium: "500";
|
|
158
|
-
readonly semibold: "600";
|
|
159
156
|
readonly bold: "700";
|
|
160
157
|
};
|
|
161
158
|
readonly lineHeight: {
|
|
@@ -167,11 +164,8 @@ export declare const tokenValues: {
|
|
|
167
164
|
readonly relaxed: "1.625";
|
|
168
165
|
};
|
|
169
166
|
readonly letterSpacing: {
|
|
170
|
-
readonly tighter: "-0.02em";
|
|
171
167
|
readonly tight: "-0.01em";
|
|
172
168
|
readonly normal: "0em";
|
|
173
|
-
readonly wide: "0.01em";
|
|
174
|
-
readonly wider: "0.02em";
|
|
175
169
|
readonly caps: "0.06em";
|
|
176
170
|
};
|
|
177
171
|
};
|
|
@@ -212,9 +206,11 @@ export declare const tokenValues: {
|
|
|
212
206
|
readonly "96": "96px";
|
|
213
207
|
readonly interactive: {
|
|
214
208
|
readonly min: "44px";
|
|
209
|
+
readonly minCompact: "24px";
|
|
215
210
|
};
|
|
216
211
|
readonly width: {
|
|
217
212
|
readonly "96": "96px";
|
|
213
|
+
readonly "280": "280px";
|
|
218
214
|
readonly "760": "760px";
|
|
219
215
|
readonly "1200": "1200px";
|
|
220
216
|
readonly "50ch": "50ch";
|
|
@@ -67,7 +67,6 @@ declare const hds: {
|
|
|
67
67
|
fontFamily: string;
|
|
68
68
|
monoFamily: string;
|
|
69
69
|
fontSize: {
|
|
70
|
-
'2xs': string;
|
|
71
70
|
xs: string;
|
|
72
71
|
sm: string;
|
|
73
72
|
base: string;
|
|
@@ -81,7 +80,6 @@ declare const hds: {
|
|
|
81
80
|
fontWeight: {
|
|
82
81
|
regular: string;
|
|
83
82
|
medium: string;
|
|
84
|
-
semibold: string;
|
|
85
83
|
bold: string;
|
|
86
84
|
};
|
|
87
85
|
lineHeight: {
|
|
@@ -93,11 +91,8 @@ declare const hds: {
|
|
|
93
91
|
relaxed: string;
|
|
94
92
|
};
|
|
95
93
|
letterSpacing: {
|
|
96
|
-
tighter: string;
|
|
97
94
|
tight: string;
|
|
98
95
|
normal: string;
|
|
99
|
-
wide: string;
|
|
100
|
-
wider: string;
|
|
101
96
|
};
|
|
102
97
|
semantic: {
|
|
103
98
|
color: {
|
|
@@ -10,12 +10,11 @@
|
|
|
10
10
|
* contentSlot → full-width (maxWidth="max") — chapters, galleries, learnings
|
|
11
11
|
*/
|
|
12
12
|
import type { ReactNode } from 'react';
|
|
13
|
-
interface CaseStudyLayoutProps {
|
|
13
|
+
export interface CaseStudyLayoutProps {
|
|
14
14
|
heroSlot: ReactNode;
|
|
15
15
|
introSlot: ReactNode;
|
|
16
16
|
metricsSlot?: ReactNode;
|
|
17
17
|
contentSlot: ReactNode;
|
|
18
18
|
}
|
|
19
19
|
/** @public */
|
|
20
|
-
export declare function CaseStudyLayout({ heroSlot, introSlot, metricsSlot, contentSlot }: CaseStudyLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export {};
|
|
20
|
+
export declare function CaseStudyLayout({ heroSlot, introSlot, metricsSlot, contentSlot, }: CaseStudyLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
export declare const DOC_LAYOUT_STICKY_OFFSET: string;
|
|
3
|
-
export declare const DOC_LAYOUT_STICKY_VIEWPORT_HEIGHT: string;
|
|
4
2
|
declare const DOC_LAYOUT_CONTENT_WIDTHS: {
|
|
5
3
|
readonly content: "var(--semantic-layout-width-content)";
|
|
6
4
|
readonly max: "var(--semantic-layout-width-max)";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HdsDocsShell — three-region docs shell (left nav rail, content, right TOC
|
|
3
|
+
* rail), driven by grid columns that default to 0 and are set per breakpoint.
|
|
4
|
+
* @category Layout
|
|
5
|
+
* @tier pattern
|
|
6
|
+
* @public
|
|
7
|
+
*
|
|
8
|
+
* hds#280 slice: this is the SHELL MECHANICS ONLY — the smallest shippable
|
|
9
|
+
* piece of the docs-shell epic. It ships:
|
|
10
|
+
*
|
|
11
|
+
* - A 3-column grid (`leftRail | content | rightRail`), both rail columns
|
|
12
|
+
* defaulting to `0px` and set to `semantic.space.sidebar.railWidth`
|
|
13
|
+
* (hds#280 token, our own 280px — not HeroUI's 268px) per breakpoint via
|
|
14
|
+
* Tailwind's arbitrary-property + responsive-variant syntax, the same
|
|
15
|
+
* technique Fumadocs/HeroUI uses. `md768:` brings in the left rail,
|
|
16
|
+
* `xl1280:` brings in the right rail — matching the three-stage table in
|
|
17
|
+
* hds#280.
|
|
18
|
+
* - Each rail is `position: sticky` and scrolls independently of content
|
|
19
|
+
* and of the other rail, clipped to the viewport minus `topOffset`.
|
|
20
|
+
* - `topOffset` composes (it is one CSS length a caller supplies, e.g. its
|
|
21
|
+
* own sticky header's height token) rather than a hardcoded pixel value —
|
|
22
|
+
* the first stage of the row-cascade pattern hds#280 asks for. A second
|
|
23
|
+
* region (a tabs row, hds#280's PR-comment addendum) would extend this by
|
|
24
|
+
* adding its own height into the same `calc()` chain, not by hardcoding a
|
|
25
|
+
* second offset.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately NOT in this slice (tracked as proposed follow-up issues, not
|
|
28
|
+
* filed — see the PR/commit this ships in):
|
|
29
|
+
* - Below the TOC breakpoint, `rightRail` is omitted from the grid rather
|
|
30
|
+
* than becoming a reachable popover. The DoD explicitly wants a popover,
|
|
31
|
+
* not "merely hidden" — that is real, separate UI work (a sticky
|
|
32
|
+
* current-section breadcrumb bar), not shell mechanics.
|
|
33
|
+
* - Left-rail collapsible groups (chevron, active-section pill) and
|
|
34
|
+
* right-rail active-anchor styling (vertical rule, filled pill) are
|
|
35
|
+
* content the caller supplies via `leftRail`/`rightRail` — this shell
|
|
36
|
+
* does not build SideNav/Disclosure/NavItem composition for the caller.
|
|
37
|
+
* - `check-rendered-geometry` verification at every breakpoint in the DoD's
|
|
38
|
+
* table (needs a built Storybook + a live run, not exercised here).
|
|
39
|
+
* - Named CSS `grid-template-areas` (the DoD's literal ask) — this ships a
|
|
40
|
+
* 3-column grid with DOM order instead, which is behaviorally identical
|
|
41
|
+
* for a single linear row of regions and needs no separate stylesheet.
|
|
42
|
+
* Areas earn their keep once a 4th region (a tabs row spanning full
|
|
43
|
+
* width) is added — call out then, not before.
|
|
44
|
+
*/
|
|
45
|
+
import * as React from 'react';
|
|
46
|
+
/** @public */
|
|
47
|
+
export interface HdsDocsShellProps {
|
|
48
|
+
/** Left nav rail. Hidden below the `md768` breakpoint (grid column width 0). */
|
|
49
|
+
leftRail?: React.ReactNode;
|
|
50
|
+
/** Main content column. Always rendered, always fluid. */
|
|
51
|
+
children: React.ReactNode;
|
|
52
|
+
/**
|
|
53
|
+
* Right "on this page" rail. Hidden below the `xl1280` breakpoint (grid
|
|
54
|
+
* column width 0) — see the deferred-popover note above; it is REMOVED
|
|
55
|
+
* from the grid at that breakpoint, not merely visually hidden, so no
|
|
56
|
+
* hidden interactive content sits in the DOM unreachable.
|
|
57
|
+
*/
|
|
58
|
+
rightRail?: React.ReactNode;
|
|
59
|
+
/**
|
|
60
|
+
* CSS length a caller supplies for a sticky header ABOVE this shell (e.g.
|
|
61
|
+
* TopNav's height token), so each rail's sticky offset and scrollable
|
|
62
|
+
* height compose against it instead of assuming the shell owns the whole
|
|
63
|
+
* viewport. Defaults to `'0px'`.
|
|
64
|
+
*/
|
|
65
|
+
topOffset?: string;
|
|
66
|
+
/** Escape hatch: only for narrow layout adjustments that don't belong in the primitive API. */
|
|
67
|
+
className?: string;
|
|
68
|
+
/** Escape hatch: only for narrow layout adjustments that don't belong in the primitive API. */
|
|
69
|
+
style?: React.CSSProperties;
|
|
70
|
+
}
|
|
71
|
+
/** @public */
|
|
72
|
+
export declare const HdsDocsShell: React.ForwardRefExoticComponent<HdsDocsShellProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import { type DocLayoutContentMaxWidth } from './DocLayout.js';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* HdsSystemDocLayout — single centered content column for documentation pages.
|
|
5
|
+
* Thin wrapper around DocLayout: takes only `contentSlot` and `contentMaxWidth`,
|
|
6
|
+
* with no sidebar or nav region to pass one into. Not the three-column docs
|
|
7
|
+
* shell (left rail + content + right rail) — that is tracked as its own shell
|
|
8
|
+
* component (hds#280).
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
4
11
|
export declare function HdsSystemDocLayout({ contentSlot, contentMaxWidth, }: {
|
|
5
12
|
contentSlot: ReactNode;
|
|
6
13
|
contentMaxWidth?: DocLayoutContentMaxWidth;
|
|
@@ -36,6 +36,7 @@ export * from './app/components/progress.js';
|
|
|
36
36
|
export * from './app/components/skeleton.js';
|
|
37
37
|
export * from './app/components/spinner.js';
|
|
38
38
|
export * from './app/components/segmented-control.js';
|
|
39
|
+
export * from './app/components/select.js';
|
|
39
40
|
export * from './app/components/stack.js';
|
|
40
41
|
export * from './app/components/surface.js';
|
|
41
42
|
export * from './app/components/table.js';
|
|
@@ -108,6 +109,7 @@ export * from './app/components/toast.js';
|
|
|
108
109
|
export * from './app/layouts/CaseStudyLayout.js';
|
|
109
110
|
export * from './app/components/error-pattern.js';
|
|
110
111
|
export * from './app/layouts/HdsSystemDocLayout.js';
|
|
112
|
+
export * from './app/layouts/HdsDocsShell.js';
|
|
111
113
|
export { default as hds } from './app/design-system/tokens.js';
|
|
112
114
|
/** Raw DTCG design tokens (the contents of `hirobius.tokens.json`). */
|
|
113
115
|
export declare const tokens: {
|
|
@@ -593,12 +595,6 @@ export declare const tokens: {
|
|
|
593
595
|
};
|
|
594
596
|
size: {
|
|
595
597
|
$type: string;
|
|
596
|
-
"2xs": {
|
|
597
|
-
$value: {
|
|
598
|
-
value: number;
|
|
599
|
-
unit: string;
|
|
600
|
-
};
|
|
601
|
-
};
|
|
602
598
|
xs: {
|
|
603
599
|
$value: {
|
|
604
600
|
value: number;
|
|
@@ -663,19 +659,12 @@ export declare const tokens: {
|
|
|
663
659
|
};
|
|
664
660
|
weight: {
|
|
665
661
|
$type: string;
|
|
666
|
-
light: {
|
|
667
|
-
$value: number;
|
|
668
|
-
$description: string;
|
|
669
|
-
};
|
|
670
662
|
regular: {
|
|
671
663
|
$value: number;
|
|
672
664
|
};
|
|
673
665
|
medium: {
|
|
674
666
|
$value: number;
|
|
675
667
|
};
|
|
676
|
-
semibold: {
|
|
677
|
-
$value: number;
|
|
678
|
-
};
|
|
679
668
|
bold: {
|
|
680
669
|
$value: number;
|
|
681
670
|
};
|
|
@@ -705,12 +694,6 @@ export declare const tokens: {
|
|
|
705
694
|
};
|
|
706
695
|
letterSpacing: {
|
|
707
696
|
$type: string;
|
|
708
|
-
tighter: {
|
|
709
|
-
$value: {
|
|
710
|
-
value: number;
|
|
711
|
-
unit: string;
|
|
712
|
-
};
|
|
713
|
-
};
|
|
714
697
|
tight: {
|
|
715
698
|
$value: {
|
|
716
699
|
value: number;
|
|
@@ -723,18 +706,6 @@ export declare const tokens: {
|
|
|
723
706
|
unit: string;
|
|
724
707
|
};
|
|
725
708
|
};
|
|
726
|
-
wide: {
|
|
727
|
-
$value: {
|
|
728
|
-
value: number;
|
|
729
|
-
unit: string;
|
|
730
|
-
};
|
|
731
|
-
};
|
|
732
|
-
wider: {
|
|
733
|
-
$value: {
|
|
734
|
-
value: number;
|
|
735
|
-
unit: string;
|
|
736
|
-
};
|
|
737
|
-
};
|
|
738
709
|
caps: {
|
|
739
710
|
$value: {
|
|
740
711
|
value: number;
|
|
@@ -961,6 +932,14 @@ export declare const tokens: {
|
|
|
961
932
|
};
|
|
962
933
|
$description: string;
|
|
963
934
|
};
|
|
935
|
+
minCompact: {
|
|
936
|
+
$type: string;
|
|
937
|
+
$value: {
|
|
938
|
+
value: number;
|
|
939
|
+
unit: string;
|
|
940
|
+
};
|
|
941
|
+
$description: string;
|
|
942
|
+
};
|
|
964
943
|
};
|
|
965
944
|
width: {
|
|
966
945
|
"96": {
|
|
@@ -992,6 +971,14 @@ export declare const tokens: {
|
|
|
992
971
|
unit: string;
|
|
993
972
|
};
|
|
994
973
|
};
|
|
974
|
+
"280": {
|
|
975
|
+
$type: string;
|
|
976
|
+
$value: {
|
|
977
|
+
value: number;
|
|
978
|
+
unit: string;
|
|
979
|
+
};
|
|
980
|
+
$description: string;
|
|
981
|
+
};
|
|
995
982
|
};
|
|
996
983
|
};
|
|
997
984
|
grid: {
|
|
@@ -1629,6 +1616,11 @@ export declare const tokens: {
|
|
|
1629
1616
|
$value: string;
|
|
1630
1617
|
$description: string;
|
|
1631
1618
|
};
|
|
1619
|
+
railWidth: {
|
|
1620
|
+
$type: string;
|
|
1621
|
+
$value: string;
|
|
1622
|
+
$description: string;
|
|
1623
|
+
};
|
|
1632
1624
|
};
|
|
1633
1625
|
};
|
|
1634
1626
|
layout: {
|
package/dist/variables.css
CHANGED
|
@@ -108,7 +108,6 @@
|
|
|
108
108
|
--primitive-typography-family-primary: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
109
109
|
--primitive-typography-family-display: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
110
110
|
--primitive-typography-family-mono: "Geist Mono", "Courier New", monospace;
|
|
111
|
-
--primitive-typography-size-2xs: 10px;
|
|
112
111
|
--primitive-typography-size-xs: 13px;
|
|
113
112
|
--primitive-typography-size-sm: 15px;
|
|
114
113
|
--primitive-typography-size-base: 17px;
|
|
@@ -119,10 +118,8 @@
|
|
|
119
118
|
--primitive-typography-size-4xl: 48px;
|
|
120
119
|
--primitive-typography-size-5xl: 72px;
|
|
121
120
|
--primitive-typography-size-6xl: 80px;
|
|
122
|
-
--primitive-typography-weight-light: 300;
|
|
123
121
|
--primitive-typography-weight-regular: 400;
|
|
124
122
|
--primitive-typography-weight-medium: 500;
|
|
125
|
-
--primitive-typography-weight-semibold: 600;
|
|
126
123
|
--primitive-typography-weight-bold: 700;
|
|
127
124
|
--primitive-typography-lineHeight-compact: 0.95;
|
|
128
125
|
--primitive-typography-lineHeight-none: 1;
|
|
@@ -130,11 +127,8 @@
|
|
|
130
127
|
--primitive-typography-lineHeight-snug: 1.375;
|
|
131
128
|
--primitive-typography-lineHeight-normal: 1.5;
|
|
132
129
|
--primitive-typography-lineHeight-relaxed: 1.625;
|
|
133
|
-
--primitive-typography-letterSpacing-tighter: -0.02em;
|
|
134
130
|
--primitive-typography-letterSpacing-tight: -0.01em;
|
|
135
131
|
--primitive-typography-letterSpacing-normal: 0em;
|
|
136
|
-
--primitive-typography-letterSpacing-wide: 0.01em;
|
|
137
|
-
--primitive-typography-letterSpacing-wider: 0.02em;
|
|
138
132
|
--primitive-typography-letterSpacing-caps: 0.06em;
|
|
139
133
|
--primitive-duration-instant: 100ms;
|
|
140
134
|
--primitive-duration-short: 150ms;
|
|
@@ -163,7 +157,9 @@
|
|
|
163
157
|
--primitive-size-80: 80px;
|
|
164
158
|
--primitive-size-96: 96px;
|
|
165
159
|
--primitive-size-interactive-min: 44px;
|
|
160
|
+
--primitive-size-interactive-minCompact: 24px;
|
|
166
161
|
--primitive-size-width-96: 96px;
|
|
162
|
+
--primitive-size-width-280: 280px;
|
|
167
163
|
--primitive-size-width-760: 760px;
|
|
168
164
|
--primitive-size-width-1200: 1200px;
|
|
169
165
|
--primitive-size-width-50ch: 50ch;
|
|
@@ -247,6 +243,7 @@
|
|
|
247
243
|
--semantic-space-sidebar-gap: var(--primitive-space-4);
|
|
248
244
|
--semantic-space-sidebar-sectionGap: var(--primitive-space-3);
|
|
249
245
|
--semantic-space-sidebar-railPadding: var(--primitive-space-5);
|
|
246
|
+
--semantic-space-sidebar-railWidth: var(--primitive-size-width-280);
|
|
250
247
|
--semantic-layout-width-content: var(--primitive-size-width-760);
|
|
251
248
|
--semantic-layout-width-max: var(--primitive-size-width-1200);
|
|
252
249
|
--semantic-layout-container-maxWidth: var(--primitive-size-width-1200);
|
|
@@ -505,4 +502,59 @@
|
|
|
505
502
|
--semantic-accent-subtle: var(--primitive-color-neutral-800);
|
|
506
503
|
--component-badge-bg: var(--semantic-color-feedback-bg-info);
|
|
507
504
|
--component-button-primary-textDisabled: var(--semantic-color-content-disabled);
|
|
505
|
+
--semantic-elevation-flat-surface: var(--semantic-color-surface-page);
|
|
506
|
+
--semantic-elevation-flat-border: var(--semantic-color-border-subtle);
|
|
507
|
+
--semantic-elevation-raised-surface: var(--semantic-color-surface-raised);
|
|
508
|
+
--semantic-elevation-floating-surface: var(--semantic-color-surface-raised);
|
|
509
|
+
--semantic-elevation-overlay-surface: var(--semantic-color-surface-overlay);
|
|
510
|
+
--component-nav-bg: var(--semantic-color-surface-page);
|
|
511
|
+
--component-nav-bgActive: var(--semantic-accent-subtle);
|
|
512
|
+
--component-nav-borderActive: var(--semantic-color-surface-accent);
|
|
513
|
+
--component-nav-text: var(--semantic-color-content-secondary);
|
|
514
|
+
--component-nav-textActive: var(--semantic-color-content-primary);
|
|
515
|
+
--component-tag-background: var(--semantic-accent-subtle);
|
|
516
|
+
--component-tag-text: var(--semantic-color-content-primary);
|
|
517
|
+
--component-tag-border: var(--semantic-color-border-default);
|
|
518
|
+
--component-tag-activeText: var(--semantic-color-content-onAccent);
|
|
519
|
+
--component-tag-activeBackground: var(--semantic-accent-rest);
|
|
520
|
+
--component-tag-activeBorder: var(--semantic-accent-rest);
|
|
521
|
+
--component-tag-activeHover: var(--semantic-accent-hover);
|
|
522
|
+
--component-badge-text: var(--semantic-color-content-primary);
|
|
523
|
+
--component-button-bg: var(--semantic-color-surface-accent);
|
|
524
|
+
--component-button-bgHover: var(--semantic-accent-hover);
|
|
525
|
+
--component-button-text: var(--semantic-color-content-onAccent);
|
|
526
|
+
--component-button-primary-bgDisabled: var(--semantic-color-surface-accentSubtle);
|
|
527
|
+
--component-button-secondary-bg-rest: var(--semantic-color-surface-page);
|
|
528
|
+
--component-button-secondary-bg-hover: var(--semantic-color-surface-raised);
|
|
529
|
+
--component-button-secondary-bg-pressed: var(--semantic-color-surface-overlay);
|
|
530
|
+
--component-button-secondary-border-rest: var(--semantic-color-border-interactive);
|
|
531
|
+
--component-button-secondary-border-hover: var(--semantic-color-border-interactive);
|
|
532
|
+
--component-button-secondary-border-pressed: var(--semantic-color-border-interactive);
|
|
533
|
+
--component-button-secondary-border-disabled: var(--semantic-color-border-subdued);
|
|
534
|
+
--component-button-secondary-text: var(--semantic-color-content-primary);
|
|
535
|
+
--component-input-bg: var(--semantic-color-surface-raised);
|
|
536
|
+
--component-input-text: var(--semantic-color-content-primary);
|
|
537
|
+
--component-input-border: var(--semantic-color-border-interactive);
|
|
538
|
+
--component-input-borderError: var(--semantic-color-feedback-error);
|
|
539
|
+
--component-card-bg: var(--semantic-color-surface-raised);
|
|
540
|
+
--component-card-border: var(--semantic-color-border-default);
|
|
541
|
+
--role-background: var(--semantic-color-surface-page);
|
|
542
|
+
--role-foreground: var(--semantic-color-content-primary);
|
|
543
|
+
--role-card: var(--semantic-color-surface-raised);
|
|
544
|
+
--role-card-foreground: var(--semantic-color-content-primary);
|
|
545
|
+
--role-popover: var(--semantic-color-surface-overlay);
|
|
546
|
+
--role-popover-foreground: var(--semantic-color-content-primary);
|
|
547
|
+
--role-primary: var(--semantic-color-surface-accent);
|
|
548
|
+
--role-primary-foreground: var(--semantic-color-content-onAccent);
|
|
549
|
+
--role-secondary: var(--semantic-color-surface-raised);
|
|
550
|
+
--role-secondary-foreground: var(--semantic-color-content-primary);
|
|
551
|
+
--role-muted: var(--semantic-color-surface-overlay);
|
|
552
|
+
--role-muted-foreground: var(--semantic-color-content-secondary);
|
|
553
|
+
--role-accent: var(--semantic-color-surface-accentSubtle);
|
|
554
|
+
--role-accent-foreground: var(--semantic-color-content-accent);
|
|
555
|
+
--role-destructive: var(--semantic-color-feedback-error);
|
|
556
|
+
--role-destructive-foreground: var(--semantic-color-content-inverse);
|
|
557
|
+
--role-border: var(--semantic-color-border-default);
|
|
558
|
+
--role-input: var(--semantic-color-border-interactive);
|
|
559
|
+
--role-ring: var(--semantic-color-border-accent);
|
|
508
560
|
}
|
package/hirobius.tokens.json
CHANGED
|
@@ -495,12 +495,6 @@
|
|
|
495
495
|
},
|
|
496
496
|
"size": {
|
|
497
497
|
"$type": "dimension",
|
|
498
|
-
"2xs": {
|
|
499
|
-
"$value": {
|
|
500
|
-
"value": 10,
|
|
501
|
-
"unit": "px"
|
|
502
|
-
}
|
|
503
|
-
},
|
|
504
498
|
"xs": {
|
|
505
499
|
"$value": {
|
|
506
500
|
"value": 13,
|
|
@@ -565,19 +559,12 @@
|
|
|
565
559
|
},
|
|
566
560
|
"weight": {
|
|
567
561
|
"$type": "fontWeight",
|
|
568
|
-
"light": {
|
|
569
|
-
"$value": 300,
|
|
570
|
-
"$description": "Swiss-canon heading weight. Display and h1/h2 composites only."
|
|
571
|
-
},
|
|
572
562
|
"regular": {
|
|
573
563
|
"$value": 400
|
|
574
564
|
},
|
|
575
565
|
"medium": {
|
|
576
566
|
"$value": 500
|
|
577
567
|
},
|
|
578
|
-
"semibold": {
|
|
579
|
-
"$value": 600
|
|
580
|
-
},
|
|
581
568
|
"bold": {
|
|
582
569
|
"$value": 700
|
|
583
570
|
}
|
|
@@ -607,12 +594,6 @@
|
|
|
607
594
|
},
|
|
608
595
|
"letterSpacing": {
|
|
609
596
|
"$type": "dimension",
|
|
610
|
-
"tighter": {
|
|
611
|
-
"$value": {
|
|
612
|
-
"value": -0.02,
|
|
613
|
-
"unit": "em"
|
|
614
|
-
}
|
|
615
|
-
},
|
|
616
597
|
"tight": {
|
|
617
598
|
"$value": {
|
|
618
599
|
"value": -0.01,
|
|
@@ -625,18 +606,6 @@
|
|
|
625
606
|
"unit": "em"
|
|
626
607
|
}
|
|
627
608
|
},
|
|
628
|
-
"wide": {
|
|
629
|
-
"$value": {
|
|
630
|
-
"value": 0.01,
|
|
631
|
-
"unit": "em"
|
|
632
|
-
}
|
|
633
|
-
},
|
|
634
|
-
"wider": {
|
|
635
|
-
"$value": {
|
|
636
|
-
"value": 0.02,
|
|
637
|
-
"unit": "em"
|
|
638
|
-
}
|
|
639
|
-
},
|
|
640
609
|
"caps": {
|
|
641
610
|
"$value": {
|
|
642
611
|
"value": 0.06,
|
|
@@ -862,6 +831,14 @@
|
|
|
862
831
|
"unit": "px"
|
|
863
832
|
},
|
|
864
833
|
"$description": "Minimum interactive hit target size."
|
|
834
|
+
},
|
|
835
|
+
"minCompact": {
|
|
836
|
+
"$type": "dimension",
|
|
837
|
+
"$value": {
|
|
838
|
+
"value": 24,
|
|
839
|
+
"unit": "px"
|
|
840
|
+
},
|
|
841
|
+
"$description": "WCAG 2.2 AA (2.5.8) minimum target size for a compact inline control, such as a tokenizer chip's remove button, where the 44px AAA floor (2.5.5) does not apply."
|
|
865
842
|
}
|
|
866
843
|
},
|
|
867
844
|
"width": {
|
|
@@ -893,6 +870,14 @@
|
|
|
893
870
|
"value": 50,
|
|
894
871
|
"unit": "ch"
|
|
895
872
|
}
|
|
873
|
+
},
|
|
874
|
+
"280": {
|
|
875
|
+
"$type": "dimension",
|
|
876
|
+
"$value": {
|
|
877
|
+
"value": 280,
|
|
878
|
+
"unit": "px"
|
|
879
|
+
},
|
|
880
|
+
"$description": "Docs-shell rail width (hds#280). Our own number, not HeroUI's 268px — wide enough for the longest top-level nav label at the default type ramp with room to spare."
|
|
896
881
|
}
|
|
897
882
|
}
|
|
898
883
|
},
|
|
@@ -1530,6 +1515,11 @@
|
|
|
1530
1515
|
"railPadding": {
|
|
1531
1516
|
"$value": "{primitive.space.5}",
|
|
1532
1517
|
"$description": "20px outer padding for sidebar and TOC rails."
|
|
1518
|
+
},
|
|
1519
|
+
"railWidth": {
|
|
1520
|
+
"$type": "dimension",
|
|
1521
|
+
"$value": "{primitive.size.width.280}",
|
|
1522
|
+
"$description": "Docs-shell left nav rail and right TOC rail width (hds#280). Both rails share one width token; default 0 below their breakpoint (see HdsDocsShell)."
|
|
1533
1523
|
}
|
|
1534
1524
|
}
|
|
1535
1525
|
},
|