@hirobius/design-system 0.21.0 → 0.23.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 +13 -1
- package/CHANGELOG.md +1043 -0
- package/CONSUMING.md +25 -11
- package/DESIGN.md +24 -24
- package/MIGRATIONS.md +603 -0
- package/NOTICE.md +1 -1
- package/README.md +22 -12
- package/UPGRADING.md +243 -0
- package/codemods/hds-prefix.mjs +28 -13
- package/codemods/jsx-fold.mjs +28 -13
- package/codemods/lib/atomic-write.mjs +28 -0
- package/codemods/lib/installed-version.mjs +354 -0
- package/codemods/lib/project.mjs +395 -0
- package/codemods/lib/record.mjs +110 -0
- package/codemods/lib/scan.mjs +323 -0
- package/codemods/lib/semver.mjs +57 -0
- package/codemods/not-found-pattern.mjs +3 -3
- package/codemods/patterns-subpath.mjs +28 -12
- package/codemods/registry.mjs +67 -0
- package/codemods/tile-grid.mjs +3 -3
- package/codemods/upgrade.mjs +909 -0
- package/dist/chunks/{empty-state-DNoThgfV.js → empty-state-ChC_xZfg.js} +109 -92
- package/dist/chunks/{form-By82qZcC.js → form-zCZ_B83I.js} +16 -16
- package/dist/css-contract.json +1 -0
- package/dist/fonts/ibm-plex-mono-400.woff2 +0 -0
- package/dist/fonts.css +5 -5
- package/dist/form.js +1 -1
- package/dist/hirobius-ui.js +1254 -1181
- package/dist/manifest.js +6 -5
- package/dist/patterns.js +164 -162
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tokens.js +14 -1
- package/dist/types/src/app/components/alert-dialog.d.ts +1 -1
- package/dist/types/src/app/components/alert.d.ts +1 -1
- package/dist/types/src/app/components/asset-img.d.ts +2 -1
- package/dist/types/src/app/components/avatar-group.d.ts +1 -1
- package/dist/types/src/app/components/avatar.d.ts +1 -1
- package/dist/types/src/app/components/badge.d.ts +1 -1
- package/dist/types/src/app/components/blockquote.d.ts +1 -1
- package/dist/types/src/app/components/breadcrumb.d.ts +1 -1
- package/dist/types/src/app/components/button.d.ts +2 -2
- package/dist/types/src/app/components/callout.d.ts +3 -2
- package/dist/types/src/app/components/card.d.ts +6 -4
- package/dist/types/src/app/components/checkbox.d.ts +1 -1
- package/dist/types/src/app/components/code-block.d.ts +2 -1
- package/dist/types/src/app/components/combobox.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 +2 -1
- package/dist/types/src/app/components/dialog.d.ts +1 -1
- package/dist/types/src/app/components/disclosure.d.ts +1 -1
- package/dist/types/src/app/components/divider.d.ts +2 -2
- package/dist/types/src/app/components/empty-state.d.ts +1 -1
- package/dist/types/src/app/components/field.d.ts +1 -1
- package/dist/types/src/app/components/form-actions.d.ts +2 -1
- package/dist/types/src/app/components/form.d.ts +2 -1
- package/dist/types/src/app/components/grid.d.ts +1 -1
- package/dist/types/src/app/components/hds-tooltip.d.ts +1 -1
- package/dist/types/src/app/components/icon.d.ts +2 -2
- package/dist/types/src/app/components/inline-link.d.ts +1 -1
- package/dist/types/src/app/components/input.d.ts +1 -1
- package/dist/types/src/app/components/kbd.d.ts +1 -1
- package/dist/types/src/app/components/menu.d.ts +1 -1
- package/dist/types/src/app/components/metadata-list.d.ts +1 -1
- package/dist/types/src/app/components/metric-tiles.d.ts +3 -1
- package/dist/types/src/app/components/page-header.d.ts +1 -0
- package/dist/types/src/app/components/page.d.ts +1 -0
- package/dist/types/src/app/components/pagination.d.ts +1 -1
- package/dist/types/src/app/components/popover.d.ts +1 -1
- package/dist/types/src/app/components/progress.d.ts +1 -1
- package/dist/types/src/app/components/radio.d.ts +1 -1
- package/dist/types/src/app/components/reveal.d.ts +1 -0
- package/dist/types/src/app/components/select.d.ts +1 -1
- package/dist/types/src/app/components/skeleton.d.ts +1 -1
- package/dist/types/src/app/components/slider.d.ts +1 -1
- package/dist/types/src/app/components/spinner.d.ts +1 -1
- package/dist/types/src/app/components/stack.d.ts +1 -1
- package/dist/types/src/app/components/stat.d.ts +1 -1
- package/dist/types/src/app/components/status-list-item.d.ts +1 -1
- package/dist/types/src/app/components/status-tile.d.ts +1 -1
- package/dist/types/src/app/components/table.d.ts +1 -1
- package/dist/types/src/app/components/tabs.d.ts +4 -2
- package/dist/types/src/app/components/tag.d.ts +1 -1
- package/dist/types/src/app/components/text.d.ts +1 -1
- package/dist/types/src/app/components/textarea.d.ts +1 -1
- package/dist/types/src/app/components/timestamp.d.ts +1 -1
- package/dist/types/src/app/components/toast.d.ts +1 -1
- package/dist/types/src/app/components/toggle.d.ts +1 -1
- package/dist/types/src/app/context/hds-theme.d.ts +1 -1
- package/dist/types/src/app/design-system/generated-token-refs.d.ts +13 -0
- package/dist/types/src/app/design-system/generated-token-values.d.ts +14 -1
- package/dist/types/src/app/hooks/useInteractionState.d.ts +7 -1
- package/dist/types/src/index.d.ts +126 -32
- package/dist/variables.css +33 -22
- package/docs/CONSUMING.md +2 -2
- package/hirobius.tokens.json +173 -79
- package/llms.txt +29 -7
- package/mcp/catalog.mjs +10 -7
- package/mcp/core-set.mjs +66 -0
- package/mcp/guide.mjs +9 -52
- package/package.json +28 -11
- package/public/hds-manifest.json +365 -207
- package/public/llms/components.txt +1 -1
- package/public/llms-full.txt +54 -32
- package/public/llms.txt +29 -7
- package/src/app/data/component-api.json +104 -71
- package/upgrade/index.json +215 -0
- package/upgrade/releases/0.17.0.json +962 -0
- package/upgrade/releases/0.18.0.json +8 -0
- package/upgrade/releases/0.19.0.json +233 -0
- package/upgrade/releases/0.19.1.json +8 -0
- package/upgrade/releases/0.20.0.json +5108 -0
- package/upgrade/releases/0.21.0.json +538 -0
- package/upgrade/releases/0.22.0.json +94 -0
- package/upgrade/releases/0.23.0.json +259 -0
- package/upgrade/schema.json +1102 -0
- package/dist/fonts/geist-mono-400.woff2 +0 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @usage Show an interactive filter or category chip that people can toggle.
|
|
6
6
|
* @whenNot A read-only status or count label.
|
|
7
7
|
* @useInstead Badge a read-only status or count
|
|
8
|
-
* @figma https://www.figma.com/design/
|
|
8
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=32-11
|
|
9
9
|
*
|
|
10
10
|
* The outer <button> carries the accessible 44px hit target directly via the
|
|
11
11
|
* size token while the inner pill keeps the visible surface compact. Colors
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @category Typography
|
|
5
5
|
* @tier primitive
|
|
6
|
-
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components
|
|
6
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2022-31
|
|
7
7
|
* @usage Set any text on the type ramp, with the element chosen by `as`.
|
|
8
8
|
* @whenNot Navigation links, or a keyboard hint.
|
|
9
9
|
* @useInstead InlineLink a link inside body copy
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @usage Collect multi-line free text such as a message, note or description.
|
|
6
6
|
* @whenNot A single line of text, or choosing from a list.
|
|
7
7
|
* @useInstead Input a single line of text
|
|
8
|
-
* @figma https://www.figma.com/design/
|
|
8
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=85-14
|
|
9
9
|
*
|
|
10
10
|
* Mirrors Input's shell + token skin as a native `<textarea>`. Figma parity:
|
|
11
11
|
* the four states Default / Focus / Error / Disabled map to the focus-ring,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Timestamp — renders a date/time as a semantic <time> element.
|
|
3
3
|
* @category Display
|
|
4
4
|
* @tier primitive
|
|
5
|
-
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components
|
|
5
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=2031-11
|
|
6
6
|
*/
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
/** @public */
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @whenNot A message people must act on or that must stay next to its content.
|
|
7
7
|
* @useInstead Alert a message that stays next to its content
|
|
8
8
|
* @useInstead Dialog a message that needs a decision
|
|
9
|
-
* @figma https://www.figma.com/design/
|
|
9
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=93-367
|
|
10
10
|
* @doc-exempt: no Overlays/Feedback-overlay doc page yet — add demo when created
|
|
11
11
|
*
|
|
12
12
|
* Imperative API: wrap the app once in <ToastProvider>, then call
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @whenNot A choice that only takes effect after submitting a form, or picking from several options.
|
|
7
7
|
* @useInstead Checkbox a form option confirmed on submit
|
|
8
8
|
* @useInstead Radio one choice from a set
|
|
9
|
-
* @figma https://www.figma.com/design/
|
|
9
|
+
* @figma https://www.figma.com/design/2VgBbVpKiDnu0aftJEVyBQ/HDS-Tokens-Components?node-id=37-19
|
|
10
10
|
*/
|
|
11
11
|
import type { InputHTMLAttributes } from 'react';
|
|
12
12
|
/** Toggle — boolean on/off toggle with animated thumb. */
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* theme data-theme "dark" (light = unset) light
|
|
17
17
|
* density data-density "compact" (comfortable = unset) comfortable
|
|
18
18
|
* brand data-brand + data-tenant overlay slug (e.g. "acme") base
|
|
19
|
-
* font --hds-font-family(-mono) any CSS font-family value Satoshi /
|
|
19
|
+
* font --hds-font-family(-mono) any CSS font-family value Satoshi / IBM Plex Mono
|
|
20
20
|
*
|
|
21
21
|
* This provider is a thin, typed convenience that renders a `data-hds` scope
|
|
22
22
|
* wrapper carrying those attributes — it does NOT own state, storage, or a
|
|
@@ -55,6 +55,19 @@ export declare const tokenRefs: {
|
|
|
55
55
|
readonly "700": "var(--primitive-color-green-700)";
|
|
56
56
|
readonly "950": "var(--primitive-color-green-950)";
|
|
57
57
|
};
|
|
58
|
+
readonly apple: {
|
|
59
|
+
readonly "50": "var(--primitive-color-apple-50)";
|
|
60
|
+
readonly "100": "var(--primitive-color-apple-100)";
|
|
61
|
+
readonly "200": "var(--primitive-color-apple-200)";
|
|
62
|
+
readonly "300": "var(--primitive-color-apple-300)";
|
|
63
|
+
readonly "400": "var(--primitive-color-apple-400)";
|
|
64
|
+
readonly "500": "var(--primitive-color-apple-500)";
|
|
65
|
+
readonly "600": "var(--primitive-color-apple-600)";
|
|
66
|
+
readonly "700": "var(--primitive-color-apple-700)";
|
|
67
|
+
readonly "800": "var(--primitive-color-apple-800)";
|
|
68
|
+
readonly "900": "var(--primitive-color-apple-900)";
|
|
69
|
+
readonly "950": "var(--primitive-color-apple-950)";
|
|
70
|
+
};
|
|
58
71
|
readonly violet: {
|
|
59
72
|
readonly "50": "var(--primitive-color-violet-50)";
|
|
60
73
|
readonly "400": "var(--primitive-color-violet-400)";
|
|
@@ -56,6 +56,19 @@ export declare const tokenValues: {
|
|
|
56
56
|
readonly "700": "#047857";
|
|
57
57
|
readonly "950": "#022c22";
|
|
58
58
|
};
|
|
59
|
+
readonly apple: {
|
|
60
|
+
readonly "50": "#f2faeb";
|
|
61
|
+
readonly "100": "#e2f3cf";
|
|
62
|
+
readonly "200": "#c7e7a4";
|
|
63
|
+
readonly "300": "#a6d873";
|
|
64
|
+
readonly "400": "#85c84c";
|
|
65
|
+
readonly "500": "#66b239";
|
|
66
|
+
readonly "600": "#54922d";
|
|
67
|
+
readonly "700": "#416f20";
|
|
68
|
+
readonly "800": "#34571b";
|
|
69
|
+
readonly "900": "#2b4518";
|
|
70
|
+
readonly "950": "#16250c";
|
|
71
|
+
};
|
|
59
72
|
readonly violet: {
|
|
60
73
|
readonly "50": "#f5f3ff";
|
|
61
74
|
readonly "400": "#a78bfa";
|
|
@@ -136,7 +149,7 @@ export declare const tokenValues: {
|
|
|
136
149
|
readonly family: {
|
|
137
150
|
readonly primary: readonly ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
|
|
138
151
|
readonly display: readonly ["Satoshi", "system-ui", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "sans-serif"];
|
|
139
|
-
readonly mono: readonly ["
|
|
152
|
+
readonly mono: readonly ["IBM Plex Mono", "Courier New", "monospace"];
|
|
140
153
|
};
|
|
141
154
|
readonly size: {
|
|
142
155
|
readonly xs: "12px";
|
|
@@ -6,7 +6,13 @@ export interface InteractionHandlers {
|
|
|
6
6
|
onPointerDown: () => void;
|
|
7
7
|
onPointerUp: () => void;
|
|
8
8
|
onPointerCancel: () => void;
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Pass the focused element (`e.currentTarget`) so only keyboard-modality focus
|
|
11
|
+
* (`:focus-visible`) counts. Called with no argument it counts unconditionally.
|
|
12
|
+
*/
|
|
13
|
+
onFocus: (target?: Element | null) => void;
|
|
14
|
+
/** Re-checks `:focus-visible` once a key is pressed on an already-focused element. */
|
|
15
|
+
onKeyDown: (target?: Element | null) => void;
|
|
10
16
|
onBlur: () => void;
|
|
11
17
|
}
|
|
12
18
|
export interface InteractionState {
|
|
@@ -204,6 +204,53 @@ export declare const tokens: {
|
|
|
204
204
|
};
|
|
205
205
|
$description: string;
|
|
206
206
|
};
|
|
207
|
+
apple: {
|
|
208
|
+
"50": {
|
|
209
|
+
$value: string;
|
|
210
|
+
$description: string;
|
|
211
|
+
};
|
|
212
|
+
"100": {
|
|
213
|
+
$value: string;
|
|
214
|
+
$description: string;
|
|
215
|
+
};
|
|
216
|
+
"200": {
|
|
217
|
+
$value: string;
|
|
218
|
+
$description: string;
|
|
219
|
+
};
|
|
220
|
+
"300": {
|
|
221
|
+
$value: string;
|
|
222
|
+
$description: string;
|
|
223
|
+
};
|
|
224
|
+
"400": {
|
|
225
|
+
$value: string;
|
|
226
|
+
$description: string;
|
|
227
|
+
};
|
|
228
|
+
"500": {
|
|
229
|
+
$value: string;
|
|
230
|
+
$description: string;
|
|
231
|
+
};
|
|
232
|
+
"600": {
|
|
233
|
+
$value: string;
|
|
234
|
+
$description: string;
|
|
235
|
+
};
|
|
236
|
+
"700": {
|
|
237
|
+
$value: string;
|
|
238
|
+
$description: string;
|
|
239
|
+
};
|
|
240
|
+
"800": {
|
|
241
|
+
$value: string;
|
|
242
|
+
$description: string;
|
|
243
|
+
};
|
|
244
|
+
"900": {
|
|
245
|
+
$value: string;
|
|
246
|
+
$description: string;
|
|
247
|
+
};
|
|
248
|
+
"950": {
|
|
249
|
+
$value: string;
|
|
250
|
+
$description: string;
|
|
251
|
+
};
|
|
252
|
+
$description: string;
|
|
253
|
+
};
|
|
207
254
|
violet: {
|
|
208
255
|
"50": {
|
|
209
256
|
$value: string;
|
|
@@ -726,14 +773,20 @@ export declare const tokens: {
|
|
|
726
773
|
$description: string;
|
|
727
774
|
};
|
|
728
775
|
elastic: {
|
|
729
|
-
$
|
|
730
|
-
$value: {
|
|
731
|
-
type: string;
|
|
732
|
-
stiffness: number;
|
|
733
|
-
damping: number;
|
|
734
|
-
mass: number;
|
|
735
|
-
};
|
|
776
|
+
$value: number[];
|
|
736
777
|
$description: string;
|
|
778
|
+
$extensions: {
|
|
779
|
+
"com.hirobius.hds": {
|
|
780
|
+
$type: string;
|
|
781
|
+
$value: {
|
|
782
|
+
type: string;
|
|
783
|
+
stiffness: number;
|
|
784
|
+
damping: number;
|
|
785
|
+
mass: number;
|
|
786
|
+
};
|
|
787
|
+
bezierSource: string;
|
|
788
|
+
};
|
|
789
|
+
};
|
|
737
790
|
};
|
|
738
791
|
};
|
|
739
792
|
shadow: {
|
|
@@ -1014,31 +1067,52 @@ export declare const tokens: {
|
|
|
1014
1067
|
semantic: {
|
|
1015
1068
|
motion: {
|
|
1016
1069
|
$type: string;
|
|
1070
|
+
$extensions: {
|
|
1071
|
+
"com.hirobius.hds": {
|
|
1072
|
+
$type: string;
|
|
1073
|
+
};
|
|
1074
|
+
};
|
|
1017
1075
|
productive: {
|
|
1018
1076
|
$value: {
|
|
1019
1077
|
duration: string;
|
|
1020
|
-
|
|
1078
|
+
delay: {
|
|
1079
|
+
value: number;
|
|
1080
|
+
unit: string;
|
|
1081
|
+
};
|
|
1082
|
+
timingFunction: string;
|
|
1021
1083
|
};
|
|
1022
1084
|
$description: string;
|
|
1023
1085
|
};
|
|
1024
1086
|
expressive: {
|
|
1025
1087
|
$value: {
|
|
1026
1088
|
duration: string;
|
|
1027
|
-
|
|
1089
|
+
delay: {
|
|
1090
|
+
value: number;
|
|
1091
|
+
unit: string;
|
|
1092
|
+
};
|
|
1093
|
+
timingFunction: string;
|
|
1028
1094
|
};
|
|
1029
1095
|
$description: string;
|
|
1030
1096
|
};
|
|
1031
1097
|
spatial: {
|
|
1032
1098
|
$value: {
|
|
1033
1099
|
duration: string;
|
|
1034
|
-
|
|
1100
|
+
delay: {
|
|
1101
|
+
value: number;
|
|
1102
|
+
unit: string;
|
|
1103
|
+
};
|
|
1104
|
+
timingFunction: string;
|
|
1035
1105
|
};
|
|
1036
1106
|
$description: string;
|
|
1037
1107
|
};
|
|
1038
1108
|
exit: {
|
|
1039
1109
|
$value: {
|
|
1040
1110
|
duration: string;
|
|
1041
|
-
|
|
1111
|
+
delay: {
|
|
1112
|
+
value: number;
|
|
1113
|
+
unit: string;
|
|
1114
|
+
};
|
|
1115
|
+
timingFunction: string;
|
|
1042
1116
|
};
|
|
1043
1117
|
$description: string;
|
|
1044
1118
|
};
|
|
@@ -2015,38 +2089,58 @@ export declare const tokens: {
|
|
|
2015
2089
|
};
|
|
2016
2090
|
};
|
|
2017
2091
|
elevation: {
|
|
2018
|
-
$
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
surface: string;
|
|
2022
|
-
shadow: null;
|
|
2023
|
-
border: string;
|
|
2092
|
+
$extensions: {
|
|
2093
|
+
"com.hirobius.hds": {
|
|
2094
|
+
$type: string;
|
|
2024
2095
|
};
|
|
2096
|
+
};
|
|
2097
|
+
flat: {
|
|
2025
2098
|
$description: string;
|
|
2099
|
+
$extensions: {
|
|
2100
|
+
"com.hirobius.hds": {
|
|
2101
|
+
$value: {
|
|
2102
|
+
surface: string;
|
|
2103
|
+
shadow: null;
|
|
2104
|
+
border: string;
|
|
2105
|
+
};
|
|
2106
|
+
};
|
|
2107
|
+
};
|
|
2026
2108
|
};
|
|
2027
2109
|
raised: {
|
|
2028
|
-
$value: {
|
|
2029
|
-
surface: string;
|
|
2030
|
-
shadow: string;
|
|
2031
|
-
border: null;
|
|
2032
|
-
};
|
|
2033
2110
|
$description: string;
|
|
2111
|
+
$extensions: {
|
|
2112
|
+
"com.hirobius.hds": {
|
|
2113
|
+
$value: {
|
|
2114
|
+
surface: string;
|
|
2115
|
+
shadow: string;
|
|
2116
|
+
border: null;
|
|
2117
|
+
};
|
|
2118
|
+
};
|
|
2119
|
+
};
|
|
2034
2120
|
};
|
|
2035
2121
|
floating: {
|
|
2036
|
-
$value: {
|
|
2037
|
-
surface: string;
|
|
2038
|
-
shadow: string;
|
|
2039
|
-
border: null;
|
|
2040
|
-
};
|
|
2041
2122
|
$description: string;
|
|
2123
|
+
$extensions: {
|
|
2124
|
+
"com.hirobius.hds": {
|
|
2125
|
+
$value: {
|
|
2126
|
+
surface: string;
|
|
2127
|
+
shadow: string;
|
|
2128
|
+
border: null;
|
|
2129
|
+
};
|
|
2130
|
+
};
|
|
2131
|
+
};
|
|
2042
2132
|
};
|
|
2043
2133
|
overlay: {
|
|
2044
|
-
$value: {
|
|
2045
|
-
surface: string;
|
|
2046
|
-
shadow: string;
|
|
2047
|
-
border: null;
|
|
2048
|
-
};
|
|
2049
2134
|
$description: string;
|
|
2135
|
+
$extensions: {
|
|
2136
|
+
"com.hirobius.hds": {
|
|
2137
|
+
$value: {
|
|
2138
|
+
surface: string;
|
|
2139
|
+
shadow: string;
|
|
2140
|
+
border: null;
|
|
2141
|
+
};
|
|
2142
|
+
};
|
|
2143
|
+
};
|
|
2050
2144
|
};
|
|
2051
2145
|
};
|
|
2052
2146
|
size: {
|
package/dist/variables.css
CHANGED
|
@@ -48,6 +48,17 @@
|
|
|
48
48
|
--primitive-color-green-400: #34d399;
|
|
49
49
|
--primitive-color-green-700: #047857;
|
|
50
50
|
--primitive-color-green-950: #022c22;
|
|
51
|
+
--primitive-color-apple-50: #f2faeb;
|
|
52
|
+
--primitive-color-apple-100: #e2f3cf;
|
|
53
|
+
--primitive-color-apple-200: #c7e7a4;
|
|
54
|
+
--primitive-color-apple-300: #a6d873;
|
|
55
|
+
--primitive-color-apple-400: #85c84c;
|
|
56
|
+
--primitive-color-apple-500: #66b239;
|
|
57
|
+
--primitive-color-apple-600: #54922d;
|
|
58
|
+
--primitive-color-apple-700: #416f20;
|
|
59
|
+
--primitive-color-apple-800: #34571b;
|
|
60
|
+
--primitive-color-apple-900: #2b4518;
|
|
61
|
+
--primitive-color-apple-950: #16250c;
|
|
51
62
|
--primitive-color-violet-50: #f5f3ff;
|
|
52
63
|
--primitive-color-violet-400: #a78bfa;
|
|
53
64
|
--primitive-color-violet-700: #6d28d9;
|
|
@@ -107,7 +118,7 @@
|
|
|
107
118
|
--primitive-radius-full: 9999px;
|
|
108
119
|
--primitive-typography-family-primary: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
109
120
|
--primitive-typography-family-display: Satoshi, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
110
|
-
--primitive-typography-family-mono: "
|
|
121
|
+
--primitive-typography-family-mono: "IBM Plex Mono", "Courier New", monospace;
|
|
111
122
|
--primitive-typography-size-xs: 12px;
|
|
112
123
|
--primitive-typography-size-sm: 14px;
|
|
113
124
|
--primitive-typography-size-base: 16px;
|
|
@@ -197,8 +208,8 @@
|
|
|
197
208
|
--semantic-color-surface-overlay: var(--primitive-color-neutral-100);
|
|
198
209
|
--semantic-color-surface-scrim: var(--primitive-color-neutral-900);
|
|
199
210
|
--semantic-color-surface-inverse: var(--primitive-color-neutral-black);
|
|
200
|
-
--semantic-color-surface-accent: var(--primitive-color-
|
|
201
|
-
--semantic-color-surface-accentSubtle: var(--primitive-color-
|
|
211
|
+
--semantic-color-surface-accent: var(--primitive-color-apple-500);
|
|
212
|
+
--semantic-color-surface-accentSubtle: var(--primitive-color-apple-50);
|
|
202
213
|
--semantic-color-surface-hover: var(--primitive-color-neutral-100);
|
|
203
214
|
--semantic-color-surface-pressed: var(--primitive-color-neutral-50);
|
|
204
215
|
--semantic-color-surface-selected: var(--primitive-color-neutral-200);
|
|
@@ -208,8 +219,8 @@
|
|
|
208
219
|
--semantic-color-content-secondary: var(--primitive-color-neutral-600);
|
|
209
220
|
--semantic-color-content-disabled: var(--primitive-color-neutral-300);
|
|
210
221
|
--semantic-color-content-inverse: var(--primitive-color-neutral-100);
|
|
211
|
-
--semantic-color-content-accent: var(--primitive-color-
|
|
212
|
-
--semantic-color-content-onAccent: var(--primitive-color-neutral-
|
|
222
|
+
--semantic-color-content-accent: var(--primitive-color-apple-700);
|
|
223
|
+
--semantic-color-content-onAccent: var(--primitive-color-neutral-900);
|
|
213
224
|
--semantic-color-content-success: var(--primitive-color-green-700);
|
|
214
225
|
--semantic-color-content-warning: var(--primitive-color-amber-800);
|
|
215
226
|
--semantic-color-content-danger: var(--primitive-color-red-700);
|
|
@@ -218,7 +229,7 @@
|
|
|
218
229
|
--semantic-color-border-subdued: var(--primitive-color-neutral-200);
|
|
219
230
|
--semantic-color-border-subtle: var(--primitive-color-neutral-100);
|
|
220
231
|
--semantic-color-border-strong: var(--primitive-color-neutral-300);
|
|
221
|
-
--semantic-color-border-accent: var(--primitive-color-
|
|
232
|
+
--semantic-color-border-accent: var(--primitive-color-apple-600);
|
|
222
233
|
--semantic-color-border-success: var(--primitive-color-green-400);
|
|
223
234
|
--semantic-color-border-warning: var(--primitive-color-amber-400);
|
|
224
235
|
--semantic-color-feedback-error: var(--primitive-color-red-700);
|
|
@@ -335,14 +346,14 @@
|
|
|
335
346
|
--semantic-docs-space-section: var(--primitive-space-12);
|
|
336
347
|
--semantic-docs-space-paragraph: var(--primitive-space-6);
|
|
337
348
|
--semantic-docs-space-inline: var(--primitive-space-2);
|
|
338
|
-
--semantic-accent-rest: var(--primitive-color-
|
|
339
|
-
--semantic-accent-hover: var(--primitive-color-
|
|
340
|
-
--semantic-accent-pressed: var(--primitive-color-
|
|
349
|
+
--semantic-accent-rest: var(--primitive-color-apple-500);
|
|
350
|
+
--semantic-accent-hover: var(--primitive-color-apple-600);
|
|
351
|
+
--semantic-accent-pressed: var(--primitive-color-apple-700);
|
|
341
352
|
--semantic-accent-inactive: var(--primitive-color-neutral-400);
|
|
342
353
|
--semantic-accent-disabled: var(--primitive-color-neutral-300);
|
|
343
|
-
--semantic-accent-content: var(--primitive-color-
|
|
344
|
-
--semantic-accent-contentHover: var(--primitive-color-
|
|
345
|
-
--semantic-accent-subtle: var(--primitive-color-
|
|
354
|
+
--semantic-accent-content: var(--primitive-color-apple-700);
|
|
355
|
+
--semantic-accent-contentHover: var(--primitive-color-apple-800);
|
|
356
|
+
--semantic-accent-subtle: var(--primitive-color-apple-50);
|
|
346
357
|
--semantic-radius-action: var(--primitive-radius-8);
|
|
347
358
|
--semantic-radius-control: var(--primitive-radius-4);
|
|
348
359
|
--semantic-borderWidth-default: var(--primitive-borderWidth-xs);
|
|
@@ -493,8 +504,8 @@
|
|
|
493
504
|
--semantic-color-surface-overlay: var(--primitive-color-neutral-850);
|
|
494
505
|
--semantic-color-surface-scrim: var(--primitive-color-neutral-black);
|
|
495
506
|
--semantic-color-surface-inverse: var(--primitive-color-neutral-white);
|
|
496
|
-
--semantic-color-surface-accent: var(--primitive-color-
|
|
497
|
-
--semantic-color-surface-accentSubtle: var(--primitive-color-
|
|
507
|
+
--semantic-color-surface-accent: var(--primitive-color-apple-400);
|
|
508
|
+
--semantic-color-surface-accentSubtle: var(--primitive-color-apple-900);
|
|
498
509
|
--semantic-color-surface-hover: var(--primitive-color-neutral-900);
|
|
499
510
|
--semantic-color-surface-pressed: var(--primitive-color-neutral-950);
|
|
500
511
|
--semantic-color-surface-selected: var(--primitive-color-neutral-800);
|
|
@@ -504,7 +515,7 @@
|
|
|
504
515
|
--semantic-color-content-secondary: var(--primitive-color-neutral-400);
|
|
505
516
|
--semantic-color-content-disabled: var(--primitive-color-neutral-600);
|
|
506
517
|
--semantic-color-content-inverse: var(--primitive-color-neutral-900);
|
|
507
|
-
--semantic-color-content-accent: var(--primitive-color-
|
|
518
|
+
--semantic-color-content-accent: var(--primitive-color-apple-400);
|
|
508
519
|
--semantic-color-content-onAccent: var(--primitive-color-neutral-900);
|
|
509
520
|
--semantic-color-content-success: var(--primitive-color-green-400);
|
|
510
521
|
--semantic-color-content-warning: var(--primitive-color-amber-400);
|
|
@@ -514,7 +525,7 @@
|
|
|
514
525
|
--semantic-color-border-subdued: var(--primitive-color-neutral-800);
|
|
515
526
|
--semantic-color-border-subtle: var(--primitive-color-neutral-850);
|
|
516
527
|
--semantic-color-border-strong: var(--primitive-color-neutral-600);
|
|
517
|
-
--semantic-color-border-accent: var(--primitive-color-
|
|
528
|
+
--semantic-color-border-accent: var(--primitive-color-apple-400);
|
|
518
529
|
--semantic-color-border-success: var(--primitive-color-green-400);
|
|
519
530
|
--semantic-color-border-warning: var(--primitive-color-amber-400);
|
|
520
531
|
--semantic-color-feedback-error: var(--primitive-color-red-400);
|
|
@@ -528,14 +539,14 @@
|
|
|
528
539
|
--semantic-color-feedback-bg-info: var(--primitive-color-blue-900);
|
|
529
540
|
--semantic-color-feedback-bg-inProgress: var(--primitive-color-violet-950);
|
|
530
541
|
--semantic-color-state-pressed-overlay: var(--primitive-color-neutral-white);
|
|
531
|
-
--semantic-accent-rest: var(--primitive-color-
|
|
532
|
-
--semantic-accent-hover: var(--primitive-color-
|
|
533
|
-
--semantic-accent-pressed: var(--primitive-color-
|
|
542
|
+
--semantic-accent-rest: var(--primitive-color-apple-400);
|
|
543
|
+
--semantic-accent-hover: var(--primitive-color-apple-500);
|
|
544
|
+
--semantic-accent-pressed: var(--primitive-color-apple-600);
|
|
534
545
|
--semantic-accent-inactive: var(--primitive-color-neutral-600);
|
|
535
546
|
--semantic-accent-disabled: var(--primitive-color-neutral-700);
|
|
536
|
-
--semantic-accent-content: var(--primitive-color-
|
|
537
|
-
--semantic-accent-contentHover: var(--primitive-color-
|
|
538
|
-
--semantic-accent-subtle: var(--primitive-color-
|
|
547
|
+
--semantic-accent-content: var(--primitive-color-apple-400);
|
|
548
|
+
--semantic-accent-contentHover: var(--primitive-color-apple-300);
|
|
549
|
+
--semantic-accent-subtle: var(--primitive-color-apple-900);
|
|
539
550
|
--component-badge-bg: var(--semantic-color-feedback-bg-info);
|
|
540
551
|
--component-button-primary-textDisabled: var(--semantic-color-content-disabled);
|
|
541
552
|
--semantic-elevation-flat-surface: var(--semantic-color-surface-page);
|
package/docs/CONSUMING.md
CHANGED
|
@@ -70,7 +70,7 @@ All three:
|
|
|
70
70
|
### Brand fonts (optional)
|
|
71
71
|
|
|
72
72
|
```ts
|
|
73
|
-
import '@hirobius/design-system/fonts.css'; // Satoshi 400/500/700 +
|
|
73
|
+
import '@hirobius/design-system/fonts.css'; // Satoshi 400/500/700 + IBM Plex Mono 400
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
`fonts.css` declares the four `@font-face` blocks with `font-display: swap`. Its
|
|
@@ -229,7 +229,7 @@ export function Example() {
|
|
|
229
229
|
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
230
230
|
| `@hirobius/design-system` | The 43-component core set ([README → What belongs in the system](../README.md#what-belongs-in-the-system)), the rest of the allow-list, and the router seam (`HdsRouterProvider`, `useHdsRouter`); the `pattern` tier is in `/patterns` |
|
|
231
231
|
| `@hirobius/design-system/styles.css` | Components + utilities + tokens, NO global reset (host-safe; recommended for embedding) |
|
|
232
|
-
| `@hirobius/design-system/fonts.css` | Optional brand fonts: Satoshi 400/500/700 +
|
|
232
|
+
| `@hirobius/design-system/fonts.css` | Optional brand fonts: Satoshi 400/500/700 + IBM Plex Mono 400 (`@font-face`, relative woff2 URLs) |
|
|
233
233
|
| `@hirobius/design-system/tokens.css` | The complete stylesheet — styles.css PLUS a global Tailwind-preflight reset |
|
|
234
234
|
| `@hirobius/design-system/variables.css` | Design tokens as CSS custom properties ONLY — no reset/preflight (host-safe) |
|
|
235
235
|
| `@hirobius/design-system/tokens` | Design-token values as typed TS |
|