@hirobius/design-system 0.19.1 → 0.21.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/AGENTS.md +123 -0
- package/CONSUMING.md +11 -6
- package/DESIGN.md +34 -21
- package/NOTICE.md +1 -1
- package/README.md +48 -13
- package/codemods/hds-prefix.mjs +231 -0
- package/codemods/jsx-fold.mjs +515 -0
- package/codemods/not-found-pattern.mjs +71 -0
- package/codemods/patterns-subpath.mjs +242 -81
- package/codemods/patterns-subpath.names.json +41 -15
- package/codemods/removed-0.20.json +194 -0
- package/codemods/tile-grid.mjs +283 -0
- package/codemods/unrewritable.mjs +291 -0
- package/dist/chunks/DemoStateContext-Cz5TmrYu.js +32 -0
- package/dist/chunks/empty-state-DNoThgfV.js +1227 -0
- package/dist/chunks/form-By82qZcC.js +66 -0
- package/dist/contexts.js +157 -78
- package/dist/fonts/geist-mono-400.woff2 +0 -0
- package/dist/fonts/satoshi-400.woff2 +0 -0
- package/dist/fonts/satoshi-500.woff2 +0 -0
- package/dist/fonts/satoshi-700.woff2 +0 -0
- package/dist/fonts.css +53 -0
- package/dist/form.js +1 -1
- package/dist/hirobius-ui.js +1600 -5354
- package/dist/manifest.js +12 -13
- package/dist/patterns.js +796 -510
- package/dist/styles.css +2 -2
- package/dist/tokens.css +1 -1
- package/dist/tokens.js +165 -65
- package/dist/types/src/app/components/alert-dialog.d.ts +5 -0
- package/dist/types/src/app/components/asset-img.d.ts +1 -0
- package/dist/types/src/app/components/avatar-group.d.ts +2 -2
- package/dist/types/src/app/components/badge.d.ts +8 -3
- package/dist/types/src/app/components/blockquote.d.ts +2 -2
- package/dist/types/src/app/components/box-sx.d.ts +110 -13
- package/dist/types/src/app/components/box.d.ts +6 -3
- package/dist/types/src/app/components/breadcrumb.d.ts +0 -5
- package/dist/types/src/app/components/button.d.ts +35 -4
- package/dist/types/src/app/components/card.d.ts +10 -10
- package/dist/types/src/app/components/combobox.d.ts +47 -11
- package/dist/types/src/app/components/container.d.ts +2 -2
- package/dist/types/src/app/components/data-table-section.d.ts +2 -1
- package/dist/types/src/app/components/destructive-section.d.ts +1 -0
- package/dist/types/src/app/components/dialog.d.ts +8 -1
- package/dist/types/src/app/components/disclosure.d.ts +1 -5
- package/dist/types/src/app/components/error-pattern.d.ts +6 -1
- package/dist/types/src/app/components/field.d.ts +1 -2
- package/dist/types/src/app/components/form-actions.d.ts +1 -0
- package/dist/types/src/app/components/form-control.d.ts +10 -0
- package/dist/types/src/app/components/grid.d.ts +15 -6
- package/dist/types/src/app/components/hds-tooltip.d.ts +12 -2
- package/dist/types/src/app/components/icon.d.ts +1 -0
- package/dist/types/src/app/components/inline-code.d.ts +1 -2
- package/dist/types/src/app/components/input.d.ts +8 -5
- package/dist/types/src/app/components/kbd.d.ts +2 -2
- package/dist/types/src/app/components/metadata-list.d.ts +2 -2
- package/dist/types/src/app/components/metric-tiles.d.ts +1 -0
- package/dist/types/src/app/components/page-header.d.ts +0 -2
- package/dist/types/src/app/components/popover.d.ts +8 -0
- package/dist/types/src/app/components/progress.d.ts +33 -6
- package/dist/types/src/app/components/segmented-control.d.ts +2 -26
- package/dist/types/src/app/components/select.d.ts +10 -1
- package/dist/types/src/app/components/skeleton.d.ts +3 -4
- package/dist/types/src/app/components/spinner.d.ts +1 -2
- package/dist/types/src/app/components/stack.d.ts +4 -1
- package/dist/types/src/app/components/stat.d.ts +5 -5
- package/dist/types/src/app/components/status-list-item.d.ts +1 -2
- package/dist/types/src/app/components/status-tile.d.ts +3 -2
- package/dist/types/src/app/components/surface.d.ts +2 -3
- package/dist/types/src/app/components/switcher.d.ts +1 -1
- package/dist/types/src/app/components/table.d.ts +6 -15
- package/dist/types/src/app/components/tag.d.ts +0 -6
- package/dist/types/src/app/components/text.d.ts +54 -8
- package/dist/types/src/app/components/textarea.d.ts +1 -2
- package/dist/types/src/app/components/timestamp.d.ts +1 -0
- package/dist/types/src/app/components/toast.d.ts +1 -2
- package/dist/types/src/app/components/tooltip.d.ts +1 -1
- package/dist/types/src/app/context/DemoStateContext.d.ts +1 -1
- package/dist/types/src/app/context/RouterContext.d.ts +5 -5
- package/dist/types/src/app/data/manifest-types.d.ts +10 -5
- package/dist/types/src/app/design-system/generated-token-refs.d.ts +45 -28
- package/dist/types/src/app/design-system/generated-token-values.d.ts +4 -0
- package/dist/types/src/app/design-system/tokens.d.ts +139 -18
- package/dist/types/src/icons.d.ts +1 -1
- package/dist/types/src/index.d.ts +76 -164
- package/dist/types/src/patterns.d.ts +20 -25
- package/dist/variables.css +47 -33
- package/docs/CONSUMING.md +80 -48
- package/hirobius.tokens.json +125 -88
- package/llms.txt +166 -59
- package/mcp/catalog.mjs +366 -0
- package/mcp/guide.mjs +315 -0
- package/mcp/hds-mcp.mjs +49 -0
- package/mcp/server.mjs +94 -0
- package/package.json +48 -27
- package/public/hds-manifest.json +2667 -6705
- package/public/llms/components.txt +45 -426
- package/public/llms/layout.txt +5 -5
- package/public/llms-full.txt +245 -506
- package/public/llms.txt +166 -59
- package/scripts/eslint-plugin-hds/index.d.mts +29 -0
- package/scripts/eslint-plugin-hds/index.mjs +55 -0
- package/scripts/eslint-plugin-hds/package.json +30 -0
- package/scripts/eslint-plugin-hds/rules/no-raw-controls.mjs +47 -0
- package/scripts/eslint-plugin-hds/rules/no-raw-hex.mjs +70 -0
- package/scripts/eslint-plugin-hds/rules/no-raw-px-spacing.mjs +125 -0
- package/scripts/eslint-plugin-hds/rules/prefer-hds-layout-primitive.mjs +54 -0
- package/scripts/eslint-plugin-hds/rules/sx-token-first.mjs +111 -0
- package/scripts/eslint-plugin-hds/rules/utils.mjs +66 -0
- package/src/app/data/component-api.json +1082 -2913
- package/dist/chunks/LanguageContext-BxdCwiFg.js +0 -95
- package/dist/chunks/TokenDisplayContext-DKYJMVWk.js +0 -26
- package/dist/chunks/activity-feed-BGQ6v3wc.js +0 -22040
- package/dist/chunks/form-COP3vK9_.js +0 -66
- package/dist/types/src/app/components/activity-feed.d.ts +0 -73
- package/dist/types/src/app/components/app-shell.d.ts +0 -40
- package/dist/types/src/app/components/aspect-ratio.d.ts +0 -25
- package/dist/types/src/app/components/bleed.d.ts +0 -39
- package/dist/types/src/app/components/button-group.d.ts +0 -22
- package/dist/types/src/app/components/calendar.d.ts +0 -22
- package/dist/types/src/app/components/carousel.d.ts +0 -26
- package/dist/types/src/app/components/center.d.ts +0 -36
- package/dist/types/src/app/components/cinematic-link.d.ts +0 -18
- package/dist/types/src/app/components/circular-progress.d.ts +0 -28
- package/dist/types/src/app/components/cluster.d.ts +0 -39
- package/dist/types/src/app/components/command-palette.d.ts +0 -46
- package/dist/types/src/app/components/component-instance-matrix.d.ts +0 -27
- package/dist/types/src/app/components/context-menu.d.ts +0 -78
- package/dist/types/src/app/components/cover.d.ts +0 -43
- package/dist/types/src/app/components/date-input.d.ts +0 -31
- package/dist/types/src/app/components/date-range-input.d.ts +0 -34
- package/dist/types/src/app/components/date-time-input.d.ts +0 -30
- package/dist/types/src/app/components/doc-link-card.d.ts +0 -32
- package/dist/types/src/app/components/error-boundary.d.ts +0 -25
- package/dist/types/src/app/components/file-input.d.ts +0 -30
- package/dist/types/src/app/components/foundation-swatch.d.ts +0 -45
- package/dist/types/src/app/components/frame.d.ts +0 -38
- package/dist/types/src/app/components/heading-stack.d.ts +0 -52
- package/dist/types/src/app/components/history-card.d.ts +0 -12
- package/dist/types/src/app/components/hover-card.d.ts +0 -46
- package/dist/types/src/app/components/icon-button.d.ts +0 -22
- package/dist/types/src/app/components/image-lightbox.d.ts +0 -14
- package/dist/types/src/app/components/input-group.d.ts +0 -23
- package/dist/types/src/app/components/multi-selector.d.ts +0 -40
- package/dist/types/src/app/components/nav-group.d.ts +0 -29
- package/dist/types/src/app/components/nav-item.d.ts +0 -33
- package/dist/types/src/app/components/not-found-pattern.d.ts +0 -1
- package/dist/types/src/app/components/overflow-list.d.ts +0 -21
- package/dist/types/src/app/components/selectable-card.d.ts +0 -29
- package/dist/types/src/app/components/side-nav.d.ts +0 -23
- package/dist/types/src/app/components/sketch.d.ts +0 -19
- package/dist/types/src/app/components/stacked-card-rail.d.ts +0 -32
- package/dist/types/src/app/components/status-dot.d.ts +0 -25
- package/dist/types/src/app/components/stepper-field.d.ts +0 -12
- package/dist/types/src/app/components/stepper.d.ts +0 -33
- package/dist/types/src/app/components/text-lockup.d.ts +0 -38
- package/dist/types/src/app/components/tile-grid.d.ts +0 -17
- package/dist/types/src/app/components/time-input.d.ts +0 -24
- package/dist/types/src/app/components/toggle-button.d.ts +0 -32
- package/dist/types/src/app/components/token.d.ts +0 -90
- package/dist/types/src/app/components/tokenUtils.d.ts +0 -38
- package/dist/types/src/app/components/tokenizer.d.ts +0 -24
- package/dist/types/src/app/components/toolbar.d.ts +0 -36
- package/dist/types/src/app/components/top-nav.d.ts +0 -23
- package/dist/types/src/app/components/tree-list.d.ts +0 -30
- package/dist/types/src/app/data/nav-model.d.ts +0 -39
- package/dist/types/src/app/hooks/useFocusVisible.d.ts +0 -9
- package/dist/types/src/app/layouts/CaseStudyLayout.d.ts +0 -20
- package/dist/types/src/app/layouts/DocLayout.d.ts +0 -14
- package/dist/types/src/app/layouts/EmbeddedDocLayoutContext.d.ts +0 -6
- package/dist/types/src/app/layouts/HdsDocsShell.d.ts +0 -72
- package/dist/types/src/app/layouts/HdsSystemDocLayout.d.ts +0 -14
- package/dist/types/src/app/lib/hds-search.d.ts +0 -45
- package/dist/types/src/app/lib/nav-active.d.ts +0 -16
- package/dist/types/src/app/lib/navLevels.d.ts +0 -4
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
import * as React from 'react';
|
|
12
12
|
import { type VariantProps } from 'class-variance-authority';
|
|
13
13
|
declare const skeletonVariants: (props?: ({
|
|
14
|
-
variant?: "text" | "
|
|
14
|
+
variant?: "text" | "circular" | "rectangular" | null | undefined;
|
|
15
15
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
16
16
|
type SkeletonVariantProps = VariantProps<typeof skeletonVariants>;
|
|
17
17
|
/** @public */
|
|
18
18
|
export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement>, SkeletonVariantProps {
|
|
19
19
|
/** Explicit width (number → px, or any CSS length). */
|
|
20
20
|
width?: number | string;
|
|
21
|
-
/** Explicit height (number → px, or any CSS length). For `text`, defaults to 1em. */
|
|
21
|
+
/** Explicit height (number → px, or any CSS length). For `text`, defaults to 1em; for `rectangular`, 5rem. */
|
|
22
22
|
height?: number | string;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
@@ -26,5 +26,4 @@ export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement>, Ske
|
|
|
26
26
|
* state on the surrounding region (e.g. aria-busy) rather than per skeleton.
|
|
27
27
|
*/
|
|
28
28
|
export declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
-
|
|
30
|
-
export { skeletonVariants };
|
|
29
|
+
export {};
|
|
@@ -21,5 +21,4 @@ export interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement>, Spi
|
|
|
21
21
|
}
|
|
22
22
|
/** Indeterminate spinner. Inherits the surrounding text color via currentColor. */
|
|
23
23
|
export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
|
|
24
|
-
|
|
25
|
-
export { spinnerVariants };
|
|
24
|
+
export {};
|
|
@@ -23,7 +23,10 @@ export interface StackProps {
|
|
|
23
23
|
children: React.ReactNode;
|
|
24
24
|
/** Flex direction for the stack. */
|
|
25
25
|
direction?: 'row' | 'column';
|
|
26
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Gap token: semantic (tight, normal, inset, spacious) or primitive (px4, px8, etc). Defaults to 'tight' (16px).
|
|
28
|
+
* Not the t-shirt scale: Stack's 'xs' is the 2px subgrid step, while Box `sx` 'xs' is scale.xs (8px), until the 1.0 rename (hds#206).
|
|
29
|
+
*/
|
|
27
30
|
gap?: GapOption;
|
|
28
31
|
/** Cross-axis alignment: start | center | end | stretch. */
|
|
29
32
|
align?: FlexAlign;
|
|
@@ -16,12 +16,12 @@ export interface StatProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'c
|
|
|
16
16
|
sub?: React.ReactNode;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Headline metric — large value,
|
|
20
|
-
* @usage Show one
|
|
21
|
-
* @whenNot A figure inside a Card, or a status with a trailing badge.
|
|
19
|
+
* Headline metric — large value, caption label, optional sub-line.
|
|
20
|
+
* @usage Show one headline figure inline, inside prose or a dense list, with its label and an optional sub-line.
|
|
21
|
+
* @whenNot A row of headline numbers on a screen, a figure inside a Card, or a status with a trailing badge.
|
|
22
|
+
* @useInstead MetricTiles a row of headline numbers (one MetricTile per number)
|
|
22
23
|
* @useInstead Card.Metric a figure inside a Card (hds#254 folds Stat into the Card slot)
|
|
23
24
|
* @useInstead StatusTile a titled status with notes and a trailing badge
|
|
24
25
|
*/
|
|
25
26
|
export declare const Stat: React.ForwardRefExoticComponent<StatProps & React.RefAttributes<HTMLDivElement>>;
|
|
26
|
-
|
|
27
|
-
export { statVariants };
|
|
27
|
+
export {};
|
|
@@ -21,5 +21,4 @@ export interface StatusListItemProps extends Omit<React.HTMLAttributes<HTMLDivEl
|
|
|
21
21
|
* Status dot + title row with optional muted notes and trailing slot (e.g. badge).
|
|
22
22
|
*/
|
|
23
23
|
export declare const StatusListItem: React.ForwardRefExoticComponent<StatusListItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
-
|
|
25
|
-
export { statusListItemDotVariants };
|
|
24
|
+
export {};
|
|
@@ -20,8 +20,9 @@ export interface StatusTileProps extends Omit<React.HTMLAttributes<HTMLDivElemen
|
|
|
20
20
|
* — every tile should look the same so feedback signals stay reserved for
|
|
21
21
|
* genuinely interrupting states.
|
|
22
22
|
* @usage Show a titled status block with optional notes and a trailing badge or affordance.
|
|
23
|
-
* @whenNot A
|
|
24
|
-
* @useInstead
|
|
23
|
+
* @whenNot A headline number (never a value), or a row inside a list.
|
|
24
|
+
* @useInstead MetricTiles a row of headline numbers
|
|
25
|
+
* @useInstead Card.Metric a headline figure inside a Card (hds#254 folds StatusTile into the Card slot)
|
|
25
26
|
* @useInstead StatusListItem a status row inside a list
|
|
26
27
|
*/
|
|
27
28
|
export declare const StatusTile: React.ForwardRefExoticComponent<StatusTileProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -2,7 +2,7 @@ import React, { type CSSProperties, type HTMLAttributes, type ReactNode } from '
|
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
import type { PaddingOption } from './surface-padding.js';
|
|
4
4
|
declare const surfaceVariants: (props?: ({
|
|
5
|
-
padding?: "none" | "item" | "
|
|
5
|
+
padding?: "none" | "item" | "component" | "px16" | "px24" | null | undefined;
|
|
6
6
|
shadow?: boolean | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
8
8
|
type SurfaceVariantProps = VariantProps<typeof surfaceVariants>;
|
|
@@ -26,5 +26,4 @@ export interface SurfaceProps extends Omit<HTMLAttributes<HTMLDivElement>, 'styl
|
|
|
26
26
|
}
|
|
27
27
|
/** @public */
|
|
28
28
|
export declare const Surface: React.ForwardRefExoticComponent<SurfaceProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
-
|
|
30
|
-
export { surfaceVariants };
|
|
29
|
+
export {};
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* (column) layout once there are more than `limit` children, regardless of
|
|
15
15
|
* container width — use it to stop a row from thinning out into an
|
|
16
16
|
* unreadable N-up strip. Do NOT use Switcher for content that should always
|
|
17
|
-
* wrap in place — use
|
|
17
|
+
* wrap in place — use Stack with `direction="row"` and `wrap="wrap"`.
|
|
18
18
|
*
|
|
19
19
|
* Every Layout reference: https://every-layout.dev/layouts/the-switcher/
|
|
20
20
|
*/
|
|
@@ -9,19 +9,6 @@
|
|
|
9
9
|
* @figma https://www.figma.com/design/c8MaVgwxOlxm4wr8wnH0Z4/HDS-Tokens-Components?node-id=89-300
|
|
10
10
|
*/
|
|
11
11
|
import { type ReactNode } from 'react';
|
|
12
|
-
declare const tableHeaderCellVariants: (props?: ({
|
|
13
|
-
align?: "center" | "left" | "right" | null | undefined;
|
|
14
|
-
density?: "compact" | "comfortable" | "follow" | null | undefined;
|
|
15
|
-
sticky?: boolean | null | undefined;
|
|
16
|
-
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
17
|
-
declare const tableSortButtonVariants: (props?: ({
|
|
18
|
-
align?: "center" | "left" | "right" | null | undefined;
|
|
19
|
-
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
20
|
-
declare const tableDataCellVariants: (props?: ({
|
|
21
|
-
align?: "center" | "left" | "right" | null | undefined;
|
|
22
|
-
density?: "compact" | "comfortable" | "follow" | null | undefined;
|
|
23
|
-
divider?: boolean | null | undefined;
|
|
24
|
-
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
25
12
|
/** @public */
|
|
26
13
|
export type TableColumnAlign = 'left' | 'center' | 'right';
|
|
27
14
|
/** @public */
|
|
@@ -88,8 +75,12 @@ export declare function Table({ columns, rows, caption, captionAction, descripti
|
|
|
88
75
|
* default, compact inside `[data-density="compact"]`); pass a value to fix it.
|
|
89
76
|
*/
|
|
90
77
|
density?: TableDensity;
|
|
78
|
+
/**
|
|
79
|
+
* Drop the scroll region's own inset. On by default: every cell already carries the
|
|
80
|
+
* surface inset, so a padded region doubled it (48px at the edges, hds#522). Pass
|
|
81
|
+
* `flush={false}` to restore the extra region padding.
|
|
82
|
+
*/
|
|
91
83
|
flush?: boolean;
|
|
92
84
|
stickyHeader?: boolean;
|
|
93
85
|
}): import("react/jsx-runtime").JSX.Element;
|
|
94
|
-
|
|
95
|
-
export { tableHeaderCellVariants, tableDataCellVariants, tableSortButtonVariants };
|
|
86
|
+
export {};
|
|
@@ -20,10 +20,6 @@
|
|
|
20
20
|
* contract expects, just keyed by selection instead of tone/size/density.
|
|
21
21
|
*/
|
|
22
22
|
import * as React from 'react';
|
|
23
|
-
declare const tagButtonVariants: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
|
|
24
|
-
declare const tagPillVariants: (props?: ({
|
|
25
|
-
selected?: boolean | null | undefined;
|
|
26
|
-
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
27
23
|
/** @public */
|
|
28
24
|
export interface TagProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
29
25
|
/** Tag content displayed inside the pill. */
|
|
@@ -33,5 +29,3 @@ export interface TagProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElem
|
|
|
33
29
|
}
|
|
34
30
|
/** @public */
|
|
35
31
|
export declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLButtonElement>>;
|
|
36
|
-
/** @internal — CVA variant helpers; compose via Tag props instead. */
|
|
37
|
-
export { tagButtonVariants, tagPillVariants };
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @category Typography
|
|
5
5
|
* @tier primitive
|
|
6
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components-Copy?node-id=2022-31
|
|
6
7
|
* @usage Set any text on the type ramp, with the element chosen by `as`.
|
|
7
8
|
* @whenNot Navigation links, or a keyboard hint.
|
|
8
9
|
* @useInstead InlineLink a link inside body copy
|
|
@@ -10,12 +11,58 @@
|
|
|
10
11
|
* @doc-exempt: typography primitive is documented through the Typography ramp page (TypographyPage), not as a standalone component card
|
|
11
12
|
*/
|
|
12
13
|
import { type CSSProperties, type ElementType, type HTMLAttributes, type ReactNode } from 'react';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
/** The six roles of the type ramp, plus the deprecated names that still resolve. */
|
|
15
|
+
export type TextVariant = 'display' | 'title' | 'body' | 'ui' | 'caption' | 'mono'
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated hds#483 — use `title`.
|
|
18
|
+
* @removeIn 1.0.0
|
|
19
|
+
*/
|
|
20
|
+
| 'heading1'
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated hds#483 — use `title`.
|
|
23
|
+
* @removeIn 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
| 'heading2'
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated hds#483 — use `title`.
|
|
28
|
+
* @removeIn 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
| 'heading3'
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated hds#483 — use `mono`.
|
|
33
|
+
* @removeIn 1.0.0
|
|
34
|
+
*/
|
|
35
|
+
| 'technical'
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated hds#483 — use `caption`.
|
|
38
|
+
* @removeIn 1.0.0
|
|
39
|
+
*/
|
|
40
|
+
| 'eyebrow'
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated hds#483 — use `caption`.
|
|
43
|
+
* @removeIn 1.0.0
|
|
44
|
+
*/
|
|
45
|
+
| 'badge'
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated hds#483 — use `body`.
|
|
48
|
+
* @removeIn 1.0.0
|
|
49
|
+
*/
|
|
50
|
+
| 'docLede'
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated hds#483 — use `body`.
|
|
53
|
+
* @removeIn 1.0.0
|
|
54
|
+
*/
|
|
55
|
+
| 'docBody'
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated hds#483 — use `ui`.
|
|
58
|
+
* @removeIn 1.0.0
|
|
59
|
+
*/
|
|
60
|
+
| 'docSmall'
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated hds#483 — use `mono`.
|
|
63
|
+
* @removeIn 1.0.0
|
|
64
|
+
*/
|
|
65
|
+
| 'docCode';
|
|
19
66
|
type TextTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div';
|
|
20
67
|
/** @public */
|
|
21
68
|
export type TextProps = {
|
|
@@ -32,5 +79,4 @@ export declare const Text: import("react").ForwardRefExoticComponent<{
|
|
|
32
79
|
className?: string;
|
|
33
80
|
style?: CSSProperties;
|
|
34
81
|
} & HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
|
|
35
|
-
|
|
36
|
-
export { textVariants };
|
|
82
|
+
export {};
|
|
@@ -38,5 +38,4 @@ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTex
|
|
|
38
38
|
textareaClassName?: string;
|
|
39
39
|
}
|
|
40
40
|
export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
41
|
-
|
|
42
|
-
export { textareaVariants };
|
|
41
|
+
export {};
|
|
@@ -63,5 +63,4 @@ export interface ToastProviderProps {
|
|
|
63
63
|
* @public
|
|
64
64
|
*/
|
|
65
65
|
export declare function ToastProvider({ children, duration, swipeDirection, }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
-
|
|
67
|
-
export { toastIconVariants };
|
|
66
|
+
export {};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* ExpandTooltip — HDS image interaction tooltip
|
|
7
7
|
*
|
|
8
|
-
* A pill-shaped label (
|
|
8
|
+
* A pill-shaped label (accent fill / onAccent text) that indicates an image
|
|
9
9
|
* is expandable. Supports two render modes:
|
|
10
10
|
*
|
|
11
11
|
* 'cursor' — fixed-positioned portal tracking the mouse cursor.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DemoStateContext — React context for freezing HDS component demos into a fixed visual state.
|
|
3
3
|
*
|
|
4
|
-
* Replaces the forceHover/forceFocus/forcePressed prop trio on Button
|
|
4
|
+
* Replaces the forceHover/forceFocus/forcePressed prop trio on Button.
|
|
5
5
|
* Wrap any demo with <FreezeState state="hover"> and every HDS component inside will
|
|
6
6
|
* render that visual state without wiring individual force props.
|
|
7
7
|
*
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
* falls back to window.location. Drop-in for apps with no router
|
|
9
9
|
* (e.g. job-hunt, a plain Vite/React app).
|
|
10
10
|
* 2. react-router consumers — wrap the app once in <HdsRouterProvider> with an
|
|
11
|
-
* adapter that bridges useNavigate()/useLocation()/<Link>.
|
|
12
|
-
* does this internally via ReactRouterBridge (NOT exported).
|
|
11
|
+
* adapter that bridges useNavigate()/useLocation()/<Link>.
|
|
13
12
|
* 3. Next.js / other routers — same seam: provide an adapter mapping to that
|
|
14
13
|
* router's navigation + Link.
|
|
15
14
|
*
|
|
16
15
|
* IMPORTANT: this module MUST NOT import react-router (or any router). It is the
|
|
17
16
|
* router-free contract every consumer can satisfy.
|
|
18
17
|
*
|
|
19
|
-
* @
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* @category Theming
|
|
19
|
+
* @tier primitive
|
|
20
|
+
* @usage Wrap the app root once so HDS links and navigation use your client router; with no provider they stay plain anchors.
|
|
21
|
+
* @doc-exempt: provider/hook seam like HdsThemeProvider, not a visual component; no Figma node or docs page, documented in README.md and docs/CONSUMING.md
|
|
22
22
|
*/
|
|
23
23
|
import { type AnchorHTMLAttributes, type ReactNode } from 'react';
|
|
24
24
|
/** Options forwarded to a router's navigate call (state preserved for SPA nav). */
|
|
@@ -78,6 +78,8 @@ export type ManifestComponentSpec = {
|
|
|
78
78
|
hidden?: boolean;
|
|
79
79
|
docExempt?: boolean;
|
|
80
80
|
tier?: string;
|
|
81
|
+
/** In the ratified core set (hds#254, ADR-031). Present only as `true`; independent of `tier`. */
|
|
82
|
+
core?: true;
|
|
81
83
|
stability?: 'stable' | 'beta';
|
|
82
84
|
consumers?: string[];
|
|
83
85
|
tokenMapping?: Record<string, string>;
|
|
@@ -93,12 +95,13 @@ export type ManifestComponentSpec = {
|
|
|
93
95
|
usage?: ManifestUsage;
|
|
94
96
|
keyboard?: ManifestKeyboardEntry[];
|
|
95
97
|
aiRules?: string;
|
|
98
|
+
/** Deprecation notice from the component's `@deprecated` JSDoc tag (hds#390). */
|
|
99
|
+
deprecated?: string;
|
|
100
|
+
/** Release that removes the deprecated component, from `@removeIn`. */
|
|
101
|
+
removeIn?: string;
|
|
102
|
+
/** Replacement for the deprecated component, from `@useInstead` in the same block. */
|
|
103
|
+
useInstead?: string;
|
|
96
104
|
};
|
|
97
|
-
/**
|
|
98
|
-
* Alias of ManifestComponentSpec for hds-search.ts back-compat.
|
|
99
|
-
* @deprecated Use ManifestComponentSpec directly in new code.
|
|
100
|
-
*/
|
|
101
|
-
export type ManifestSpec = ManifestComponentSpec;
|
|
102
105
|
/** The root SystemManifest shape (virtual:hds-manifest). */
|
|
103
106
|
export type SystemManifest = {
|
|
104
107
|
name?: string;
|
|
@@ -128,6 +131,8 @@ export type ManifestApiComponent = {
|
|
|
128
131
|
hidden?: boolean;
|
|
129
132
|
figmaUrl?: string | null;
|
|
130
133
|
description?: string;
|
|
134
|
+
/** In the ratified core set (hds#254, ADR-031). Present only as `true`. */
|
|
135
|
+
core?: true;
|
|
131
136
|
usage?: ManifestUsage;
|
|
132
137
|
keyboard?: ManifestKeyboardEntry[];
|
|
133
138
|
aiRules?: string;
|
|
@@ -148,6 +148,7 @@ export declare const tokenRefs: {
|
|
|
148
148
|
readonly "4xl": "var(--primitive-typography-size-4xl)";
|
|
149
149
|
readonly "5xl": "var(--primitive-typography-size-5xl)";
|
|
150
150
|
readonly "6xl": "var(--primitive-typography-size-6xl)";
|
|
151
|
+
readonly code: "var(--primitive-typography-size-code)";
|
|
151
152
|
};
|
|
152
153
|
readonly weight: {
|
|
153
154
|
readonly regular: "var(--primitive-typography-weight-regular)";
|
|
@@ -161,6 +162,8 @@ export declare const tokenRefs: {
|
|
|
161
162
|
readonly snug: "var(--primitive-typography-lineHeight-snug)";
|
|
162
163
|
readonly normal: "var(--primitive-typography-lineHeight-normal)";
|
|
163
164
|
readonly relaxed: "var(--primitive-typography-lineHeight-relaxed)";
|
|
165
|
+
readonly display: "var(--primitive-typography-lineHeight-display)";
|
|
166
|
+
readonly body: "var(--primitive-typography-lineHeight-body)";
|
|
164
167
|
};
|
|
165
168
|
readonly letterSpacing: {
|
|
166
169
|
readonly tight: "var(--primitive-typography-letterSpacing-tight)";
|
|
@@ -203,6 +206,7 @@ export declare const tokenRefs: {
|
|
|
203
206
|
readonly "64": "var(--primitive-size-64)";
|
|
204
207
|
readonly "80": "var(--primitive-size-80)";
|
|
205
208
|
readonly "96": "var(--primitive-size-96)";
|
|
209
|
+
readonly "120": "var(--primitive-size-120)";
|
|
206
210
|
readonly interactive: {
|
|
207
211
|
readonly min: "var(--primitive-size-interactive-min)";
|
|
208
212
|
readonly minCompact: "var(--primitive-size-interactive-minCompact)";
|
|
@@ -304,6 +308,11 @@ export declare const tokenRefs: {
|
|
|
304
308
|
readonly inProgress: "var(--semantic-color-feedback-bg-inProgress)";
|
|
305
309
|
};
|
|
306
310
|
};
|
|
311
|
+
readonly state: {
|
|
312
|
+
readonly pressed: {
|
|
313
|
+
readonly overlay: "var(--semantic-color-state-pressed-overlay)";
|
|
314
|
+
};
|
|
315
|
+
};
|
|
307
316
|
};
|
|
308
317
|
readonly space: {
|
|
309
318
|
readonly scale: {
|
|
@@ -383,26 +392,12 @@ export declare const tokenRefs: {
|
|
|
383
392
|
readonly letterSpacing: "var(--semantic-typography-display-letter-spacing)";
|
|
384
393
|
readonly lineHeight: "var(--semantic-typography-display-line-height)";
|
|
385
394
|
};
|
|
386
|
-
readonly
|
|
387
|
-
readonly fontFamily: "var(--semantic-typography-
|
|
388
|
-
readonly fontSize: "var(--semantic-typography-
|
|
389
|
-
readonly fontWeight: "var(--semantic-typography-
|
|
390
|
-
readonly letterSpacing: "var(--semantic-typography-
|
|
391
|
-
readonly lineHeight: "var(--semantic-typography-
|
|
392
|
-
};
|
|
393
|
-
readonly h2: {
|
|
394
|
-
readonly fontFamily: "var(--semantic-typography-h2-font-family)";
|
|
395
|
-
readonly fontSize: "var(--semantic-typography-h2-font-size)";
|
|
396
|
-
readonly fontWeight: "var(--semantic-typography-h2-font-weight)";
|
|
397
|
-
readonly letterSpacing: "var(--semantic-typography-h2-letter-spacing)";
|
|
398
|
-
readonly lineHeight: "var(--semantic-typography-h2-line-height)";
|
|
399
|
-
};
|
|
400
|
-
readonly h3: {
|
|
401
|
-
readonly fontFamily: "var(--semantic-typography-h3-font-family)";
|
|
402
|
-
readonly fontSize: "var(--semantic-typography-h3-font-size)";
|
|
403
|
-
readonly fontWeight: "var(--semantic-typography-h3-font-weight)";
|
|
404
|
-
readonly letterSpacing: "var(--semantic-typography-h3-letter-spacing)";
|
|
405
|
-
readonly lineHeight: "var(--semantic-typography-h3-line-height)";
|
|
395
|
+
readonly title: {
|
|
396
|
+
readonly fontFamily: "var(--semantic-typography-title-font-family)";
|
|
397
|
+
readonly fontSize: "var(--semantic-typography-title-font-size)";
|
|
398
|
+
readonly fontWeight: "var(--semantic-typography-title-font-weight)";
|
|
399
|
+
readonly letterSpacing: "var(--semantic-typography-title-letter-spacing)";
|
|
400
|
+
readonly lineHeight: "var(--semantic-typography-title-line-height)";
|
|
406
401
|
};
|
|
407
402
|
readonly body: {
|
|
408
403
|
readonly fontFamily: "var(--semantic-typography-body-font-family)";
|
|
@@ -427,14 +422,6 @@ export declare const tokenRefs: {
|
|
|
427
422
|
readonly letterSpacing: "var(--semantic-typography-caption-letter-spacing)";
|
|
428
423
|
readonly lineHeight: "var(--semantic-typography-caption-line-height)";
|
|
429
424
|
};
|
|
430
|
-
readonly eyebrow: {
|
|
431
|
-
readonly fontFamily: "var(--semantic-typography-eyebrow-font-family)";
|
|
432
|
-
readonly fontSize: "var(--semantic-typography-eyebrow-font-size)";
|
|
433
|
-
readonly fontWeight: "var(--semantic-typography-eyebrow-font-weight)";
|
|
434
|
-
readonly letterSpacing: "var(--semantic-typography-eyebrow-letter-spacing)";
|
|
435
|
-
readonly lineHeight: "var(--semantic-typography-eyebrow-line-height)";
|
|
436
|
-
readonly textTransform: "var(--semantic-typography-eyebrow-text-transform)";
|
|
437
|
-
};
|
|
438
425
|
readonly mono: {
|
|
439
426
|
readonly fontFamily: "var(--semantic-typography-mono-font-family)";
|
|
440
427
|
readonly fontSize: "var(--semantic-typography-mono-font-size)";
|
|
@@ -443,6 +430,34 @@ export declare const tokenRefs: {
|
|
|
443
430
|
readonly lineHeight: "var(--semantic-typography-mono-line-height)";
|
|
444
431
|
readonly maxWidth: "var(--semantic-typography-mono-max-width)";
|
|
445
432
|
};
|
|
433
|
+
readonly h1: {
|
|
434
|
+
readonly fontFamily: "var(--semantic-typography-h1-font-family)";
|
|
435
|
+
readonly fontSize: "var(--semantic-typography-h1-font-size)";
|
|
436
|
+
readonly fontWeight: "var(--semantic-typography-h1-font-weight)";
|
|
437
|
+
readonly letterSpacing: "var(--semantic-typography-h1-letter-spacing)";
|
|
438
|
+
readonly lineHeight: "var(--semantic-typography-h1-line-height)";
|
|
439
|
+
};
|
|
440
|
+
readonly h2: {
|
|
441
|
+
readonly fontFamily: "var(--semantic-typography-h2-font-family)";
|
|
442
|
+
readonly fontSize: "var(--semantic-typography-h2-font-size)";
|
|
443
|
+
readonly fontWeight: "var(--semantic-typography-h2-font-weight)";
|
|
444
|
+
readonly letterSpacing: "var(--semantic-typography-h2-letter-spacing)";
|
|
445
|
+
readonly lineHeight: "var(--semantic-typography-h2-line-height)";
|
|
446
|
+
};
|
|
447
|
+
readonly h3: {
|
|
448
|
+
readonly fontFamily: "var(--semantic-typography-h3-font-family)";
|
|
449
|
+
readonly fontSize: "var(--semantic-typography-h3-font-size)";
|
|
450
|
+
readonly fontWeight: "var(--semantic-typography-h3-font-weight)";
|
|
451
|
+
readonly letterSpacing: "var(--semantic-typography-h3-letter-spacing)";
|
|
452
|
+
readonly lineHeight: "var(--semantic-typography-h3-line-height)";
|
|
453
|
+
};
|
|
454
|
+
readonly eyebrow: {
|
|
455
|
+
readonly fontFamily: "var(--semantic-typography-eyebrow-font-family)";
|
|
456
|
+
readonly fontSize: "var(--semantic-typography-eyebrow-font-size)";
|
|
457
|
+
readonly fontWeight: "var(--semantic-typography-eyebrow-font-weight)";
|
|
458
|
+
readonly letterSpacing: "var(--semantic-typography-eyebrow-letter-spacing)";
|
|
459
|
+
readonly lineHeight: "var(--semantic-typography-eyebrow-line-height)";
|
|
460
|
+
};
|
|
446
461
|
readonly lineHeight: {
|
|
447
462
|
readonly none: "var(--semantic-typography-lineHeight-none)";
|
|
448
463
|
};
|
|
@@ -511,6 +526,7 @@ export declare const tokenRefs: {
|
|
|
511
526
|
readonly lg: "var(--semantic-size-icon-lg)";
|
|
512
527
|
};
|
|
513
528
|
readonly avatar: "var(--semantic-size-avatar)";
|
|
529
|
+
readonly tile: "var(--semantic-size-tile)";
|
|
514
530
|
readonly row: {
|
|
515
531
|
readonly compact: "var(--semantic-size-row-compact)";
|
|
516
532
|
readonly comfortable: "var(--semantic-size-row-comfortable)";
|
|
@@ -641,6 +657,7 @@ export declare const tokenRefs: {
|
|
|
641
657
|
readonly "card-foreground": "var(--role-card-foreground)";
|
|
642
658
|
readonly popover: "var(--role-popover)";
|
|
643
659
|
readonly scrim: "var(--role-scrim)";
|
|
660
|
+
readonly "pressed-overlay": "var(--role-pressed-overlay)";
|
|
644
661
|
readonly "popover-foreground": "var(--role-popover-foreground)";
|
|
645
662
|
readonly primary: "var(--role-primary)";
|
|
646
663
|
readonly "primary-foreground": "var(--role-primary-foreground)";
|
|
@@ -149,6 +149,7 @@ export declare const tokenValues: {
|
|
|
149
149
|
readonly "4xl": "36px";
|
|
150
150
|
readonly "5xl": "48px";
|
|
151
151
|
readonly "6xl": "60px";
|
|
152
|
+
readonly code: "13px";
|
|
152
153
|
};
|
|
153
154
|
readonly weight: {
|
|
154
155
|
readonly regular: "400";
|
|
@@ -162,6 +163,8 @@ export declare const tokenValues: {
|
|
|
162
163
|
readonly snug: "1.375";
|
|
163
164
|
readonly normal: "1.5";
|
|
164
165
|
readonly relaxed: "1.625";
|
|
166
|
+
readonly display: "1.05";
|
|
167
|
+
readonly body: "1.6";
|
|
165
168
|
};
|
|
166
169
|
readonly letterSpacing: {
|
|
167
170
|
readonly tight: "-0.01em";
|
|
@@ -204,6 +207,7 @@ export declare const tokenValues: {
|
|
|
204
207
|
readonly "64": "64px";
|
|
205
208
|
readonly "80": "80px";
|
|
206
209
|
readonly "96": "96px";
|
|
210
|
+
readonly "120": "120px";
|
|
207
211
|
readonly interactive: {
|
|
208
212
|
readonly min: "44px";
|
|
209
213
|
readonly minCompact: "24px";
|