@dybo-ai/design 1.1.0 → 1.2.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/CLAUDE.md +8 -5
- package/dist/index.cjs +139 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +54 -1
- package/dist/index.d.ts +54 -1
- package/dist/index.js +134 -25
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
- package/portal-tokens.css +184 -0
- package/theme.css +284 -0
- package/tokens.cjs +132 -8
- package/tokens.json +74 -2
- package/tokens.mjs +130 -7
package/tokens.json
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"blueYonder": { "value": "#5878a7", "figmaName": "Brand Colors/Blue Yonder", "desc": "Primary blue accent" },
|
|
16
16
|
"darkOrb": { "value": "#141927", "figmaName": "Brand Colors/Dark Orb", "desc": "Near-black brand shade" },
|
|
17
17
|
"cultured": { "value": "#f3f6fa", "figmaName": "Brand Colors/Cultured", "desc": "Lightest brand tint" },
|
|
18
|
-
"gainsboro": { "value": "#dbdfe5", "figmaName": "Brand Colors/Gainsboro", "desc": "Light neutral brand tint" }
|
|
18
|
+
"gainsboro": { "value": "#dbdfe5", "figmaName": "Brand Colors/Gainsboro", "desc": "Light neutral brand tint" },
|
|
19
|
+
"dandelion": { "value": "#e9d72f", "figmaName": "Brand Colors/Dandelion (portal)", "desc": "Yellow accent — client portal / ticket prototype" }
|
|
19
20
|
},
|
|
20
21
|
"text": {
|
|
21
22
|
"primary": { "value": "#0a1323", "figmaName": "Primary Color / Title / Brand - DYBO", "desc": "Primary text & headings (navy near-black)" },
|
|
@@ -106,7 +107,78 @@
|
|
|
106
107
|
"opacity": {
|
|
107
108
|
"light": { "value": 0.16, "figmaName": "Appearance/Opacity Level/Light" },
|
|
108
109
|
"medium": { "value": 0.32, "figmaName": "Appearance/Opacity Level/Medium" },
|
|
109
|
-
"intense": { "value": 0.64, "figmaName": "Appearance/Opacity Level/Intense" }
|
|
110
|
+
"intense": { "value": 0.64, "figmaName": "Appearance/Opacity Level/Intense" },
|
|
111
|
+
"semiOpaque": { "value": 0.40, "figmaName": "Portal — disabled state" },
|
|
112
|
+
"semiTransparent": { "value": 0.08, "figmaName": "Portal — subtle overlay" }
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
"portal": {
|
|
116
|
+
"$source": "ticket-management-export/client/tokens.css + operator/index.html badge CSS",
|
|
117
|
+
"surface": {
|
|
118
|
+
"operatorPage": { "value": "#e4e4e4", "desc": "Operator screens background override" },
|
|
119
|
+
"cardHighOpacity": { "value": "rgba(240,241,244,0.92)", "desc": "Upload zones, dense panels" },
|
|
120
|
+
"cardHighOpacityDark": { "value": "rgba(18,26,45,0.92)", "desc": "Dark mode dense panel" }
|
|
121
|
+
},
|
|
122
|
+
"shadow": {
|
|
123
|
+
"level1": { "value": "0px 4px 8px #1419271f", "desc": "Cards, sidebar pill" },
|
|
124
|
+
"level2": { "value": "0px 8px 28px #14192729", "desc": "Modals, toasts" }
|
|
125
|
+
},
|
|
126
|
+
"feedback": {
|
|
127
|
+
"successLight": { "value": "#90eabd", "desc": "Portal success tint (lighter than semantic.success)" },
|
|
128
|
+
"successBackground": { "value": "#d6f0e3", "desc": "hsl(151 45% 89%)" },
|
|
129
|
+
"warningSolid": { "value": "#cc6600", "desc": "Portal warning/error — Figma Feedback/Error orange" },
|
|
130
|
+
"warningBackground": { "value": "#fff2e5", "desc": "hsl(30 100% 95%)" },
|
|
131
|
+
"destructiveBright": { "value": "#fa3848", "desc": "Portal destructive — bright red for UI actions" },
|
|
132
|
+
"infoBackground": { "value": "#d9e3f0", "desc": "hsl(216 31% 89%)" }
|
|
133
|
+
},
|
|
134
|
+
"priority": {
|
|
135
|
+
"urgent": { "bg": "rgba(250,56,72,0.12)", "fg": "#c81e2c", "darkBg": "rgba(230,57,57,0.22)", "darkFg": "#f9a0a0" },
|
|
136
|
+
"high": { "bg": "rgba(255,128,0,0.15)", "fg": "#a85400", "darkBg": "rgba(230,115,0,0.22)", "darkFg": "#ffb366" },
|
|
137
|
+
"medium": { "bg": "rgba(242,185,13,0.20)", "fg": "#9d6607", "darkBg": "rgba(242,185,13,0.16)", "darkFg": "#f5d56a" },
|
|
138
|
+
"low": { "bg": "rgba(151,163,180,0.24)","fg": "#50627c", "darkBg": "rgba(140,155,175,0.20)","darkFg": "#b8c4d4" },
|
|
139
|
+
"none": { "bg": "rgba(192,198,206,0.35)","fg": "#677283", "darkBg": "rgba(115,125,140,0.25)","darkFg": "#b0b8c4" }
|
|
140
|
+
},
|
|
141
|
+
"ticketStatus": {
|
|
142
|
+
"open": { "bg": "#d9e3f2", "fg": "#2e5b9e", "darkBg": "#2a3d52", "darkFg": "#a8c4e8" },
|
|
143
|
+
"pending": { "bg": "#e9dff6", "fg": "#7146aa", "darkBg": "#3d2f4d", "darkFg": "#d4b8f0" },
|
|
144
|
+
"snoozed": { "bg": "#d7dde5", "fg": "#58687e", "darkBg": "#3a424c", "darkFg": "#b8c4d4" },
|
|
145
|
+
"resolved": { "bg": "#d6f0e3", "fg": "#1a6640", "darkBg": "#1f4a32", "darkFg": "#a8e0c0" }
|
|
146
|
+
},
|
|
147
|
+
"hsl": {
|
|
148
|
+
"$note": "Shadcn-style HSL components for portal-tokens.css drop-in. Format: 'H S% L%' (no hsl() wrapper).",
|
|
149
|
+
"light": {
|
|
150
|
+
"background": "216 25% 92%", "foreground": "218 56% 9%",
|
|
151
|
+
"card": "214 41% 97%", "cardForeground": "218 56% 9%",
|
|
152
|
+
"popover": "0 0% 100%", "popoverForeground": "218 56% 9%",
|
|
153
|
+
"primary": "218 56% 9%", "primaryForeground": "0 0% 100%",
|
|
154
|
+
"secondary": "0 0% 100%", "secondaryForeground": "218 56% 9%",
|
|
155
|
+
"muted": "216 16% 88%", "mutedForeground": "216 31% 50%",
|
|
156
|
+
"accent": "219 52% 24%", "accentForeground": "214 41% 97%",
|
|
157
|
+
"destructive": "355 95% 60%", "destructiveForeground": "0 0% 100%",
|
|
158
|
+
"border": "0 0% 100%", "input": "240 14% 96%", "ring": "219 52% 24%",
|
|
159
|
+
"success": "150 68% 74%", "successForeground": "218 56% 9%", "successBackground": "151 45% 89%",
|
|
160
|
+
"warning": "30 100% 40%", "warningForeground": "218 56% 9%", "warningBackground": "30 100% 95%",
|
|
161
|
+
"error": "30 100% 40%", "errorForeground": "0 0% 100%", "errorBackground": "30 100% 95%",
|
|
162
|
+
"info": "216 31% 50%", "infoForeground": "218 56% 9%", "infoBackground": "216 31% 89%",
|
|
163
|
+
"brandDarkOrb": "224 32% 12%", "brandIndigo": "219 52% 24%", "brandBlueYonder": "216 31% 50%",
|
|
164
|
+
"brandGainsboro": "216 16% 88%", "brandCultured": "214 41% 97%", "brandDandelion": "54 81% 55%",
|
|
165
|
+
"brandBlack": "0 0% 0%", "brandWhite": "0 0% 100%",
|
|
166
|
+
"operatorBackground": "0 0% 89.4%"
|
|
167
|
+
},
|
|
168
|
+
"dark": {
|
|
169
|
+
"background": "218 56% 9%", "foreground": "244 20% 96%",
|
|
170
|
+
"card": "218 35% 13%", "cardForeground": "244 20% 96%",
|
|
171
|
+
"popover": "218 15% 12%", "popoverForeground": "244 20% 96%",
|
|
172
|
+
"primary": "244 20% 96%", "primaryForeground": "218 56% 9%",
|
|
173
|
+
"secondary": "218 35% 13%", "secondaryForeground": "244 20% 96%",
|
|
174
|
+
"muted": "210 15% 30%", "mutedForeground": "244 20% 80%",
|
|
175
|
+
"accent": "216 31% 50%", "accentForeground": "244 20% 96%",
|
|
176
|
+
"destructive": "0 78% 55%", "destructiveForeground": "244 20% 96%",
|
|
177
|
+
"border": "210 15% 30%", "input": "218 35% 13%", "ring": "244 20% 96%",
|
|
178
|
+
"successBackground": "150 68% 26%", "warningBackground": "30 100% 22%",
|
|
179
|
+
"errorBackground": "30 100% 22%", "infoBackground": "216 31% 28%"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
110
182
|
},
|
|
111
183
|
|
|
112
184
|
"border": {
|
package/tokens.mjs
CHANGED
|
@@ -1,10 +1,34 @@
|
|
|
1
1
|
// DYBO design tokens — flat, resolved values for programmatic use (JS/TS).
|
|
2
2
|
// Source of truth: tokens.json. Keep in sync when tokens.json changes.
|
|
3
3
|
export const color = {
|
|
4
|
-
brand: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
brand: {
|
|
5
|
+
logo: "#1d335c",
|
|
6
|
+
blue: "#5878a7",
|
|
7
|
+
darkOrb: "#141927",
|
|
8
|
+
cultured: "#f3f6fa",
|
|
9
|
+
gainsboro: "#dbdfe5",
|
|
10
|
+
dandelion: "#e9d72f",
|
|
11
|
+
},
|
|
12
|
+
text: {
|
|
13
|
+
primary: "#0a1323",
|
|
14
|
+
secondary: "#f4f4f6",
|
|
15
|
+
muted: "#545f74",
|
|
16
|
+
gray: "#868686",
|
|
17
|
+
},
|
|
18
|
+
neutral: {
|
|
19
|
+
black: "#000000",
|
|
20
|
+
white: "#ffffff",
|
|
21
|
+
grayishBlue50: "#f4f4f6",
|
|
22
|
+
grayishBlue300: "#c2c7cf",
|
|
23
|
+
midnightSky300: "#e6e7f7",
|
|
24
|
+
midnightSky700: "#48495d",
|
|
25
|
+
},
|
|
26
|
+
surface: {
|
|
27
|
+
page: "#e6eaf0",
|
|
28
|
+
card: "rgba(240,241,244,0.70)",
|
|
29
|
+
cardSolid: "rgba(240,241,244,0.90)",
|
|
30
|
+
input: "rgba(244,244,246,0.70)",
|
|
31
|
+
},
|
|
8
32
|
line: { stroke: "#ffffff" },
|
|
9
33
|
semantic: {
|
|
10
34
|
success: { solid: "#20a156", bright: "#28ca6b", bg: "#eafbf1" },
|
|
@@ -19,7 +43,88 @@ export const color = {
|
|
|
19
43
|
},
|
|
20
44
|
};
|
|
21
45
|
|
|
22
|
-
export const
|
|
46
|
+
export const portal = {
|
|
47
|
+
surface: {
|
|
48
|
+
operatorPage: "#e4e4e4",
|
|
49
|
+
cardHighOpacity: "rgba(240,241,244,0.92)",
|
|
50
|
+
cardHighOpacityDark: "rgba(18,26,45,0.92)",
|
|
51
|
+
},
|
|
52
|
+
shadow: {
|
|
53
|
+
level1: "0px 4px 8px #1419271f",
|
|
54
|
+
level2: "0px 8px 28px #14192729",
|
|
55
|
+
},
|
|
56
|
+
feedback: {
|
|
57
|
+
successLight: "#90eabd",
|
|
58
|
+
successBackground: "#d6f0e3",
|
|
59
|
+
warningSolid: "#cc6600",
|
|
60
|
+
warningBackground: "#fff2e5",
|
|
61
|
+
destructiveBright: "#fa3848",
|
|
62
|
+
infoBackground: "#d9e3f0",
|
|
63
|
+
},
|
|
64
|
+
priority: {
|
|
65
|
+
urgent: {
|
|
66
|
+
bg: "rgba(250,56,72,0.12)",
|
|
67
|
+
fg: "#c81e2c",
|
|
68
|
+
darkBg: "rgba(230,57,57,0.22)",
|
|
69
|
+
darkFg: "#f9a0a0",
|
|
70
|
+
},
|
|
71
|
+
high: {
|
|
72
|
+
bg: "rgba(255,128,0,0.15)",
|
|
73
|
+
fg: "#a85400",
|
|
74
|
+
darkBg: "rgba(230,115,0,0.22)",
|
|
75
|
+
darkFg: "#ffb366",
|
|
76
|
+
},
|
|
77
|
+
medium: {
|
|
78
|
+
bg: "rgba(242,185,13,0.20)",
|
|
79
|
+
fg: "#9d6607",
|
|
80
|
+
darkBg: "rgba(242,185,13,0.16)",
|
|
81
|
+
darkFg: "#f5d56a",
|
|
82
|
+
},
|
|
83
|
+
low: {
|
|
84
|
+
bg: "rgba(151,163,180,0.24)",
|
|
85
|
+
fg: "#50627c",
|
|
86
|
+
darkBg: "rgba(140,155,175,0.20)",
|
|
87
|
+
darkFg: "#b8c4d4",
|
|
88
|
+
},
|
|
89
|
+
none: {
|
|
90
|
+
bg: "rgba(192,198,206,0.35)",
|
|
91
|
+
fg: "#677283",
|
|
92
|
+
darkBg: "rgba(115,125,140,0.25)",
|
|
93
|
+
darkFg: "#b0b8c4",
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
ticketStatus: {
|
|
97
|
+
open: {
|
|
98
|
+
bg: "#d9e3f2",
|
|
99
|
+
fg: "#2e5b9e",
|
|
100
|
+
darkBg: "#2a3d52",
|
|
101
|
+
darkFg: "#a8c4e8",
|
|
102
|
+
},
|
|
103
|
+
pending: {
|
|
104
|
+
bg: "#e9dff6",
|
|
105
|
+
fg: "#7146aa",
|
|
106
|
+
darkBg: "#3d2f4d",
|
|
107
|
+
darkFg: "#d4b8f0",
|
|
108
|
+
},
|
|
109
|
+
snoozed: {
|
|
110
|
+
bg: "#d7dde5",
|
|
111
|
+
fg: "#58687e",
|
|
112
|
+
darkBg: "#3a424c",
|
|
113
|
+
darkFg: "#b8c4d4",
|
|
114
|
+
},
|
|
115
|
+
resolved: {
|
|
116
|
+
bg: "#d6f0e3",
|
|
117
|
+
fg: "#1a6640",
|
|
118
|
+
darkBg: "#1f4a32",
|
|
119
|
+
darkFg: "#a8e0c0",
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export const font = {
|
|
125
|
+
family: "Urbanist, sans-serif",
|
|
126
|
+
weight: { regular: 400, medium: 500, semibold: 600, bold: 700 },
|
|
127
|
+
};
|
|
23
128
|
|
|
24
129
|
export const fontSize = { xs: 12, sm: 14, md: 16, lg: 18, xl: 24 };
|
|
25
130
|
|
|
@@ -27,14 +132,32 @@ export const space = { 0: 0, 50: 4, 100: 8, 150: 12, 200: 16, 250: 20, 400: 32 }
|
|
|
27
132
|
|
|
28
133
|
export const radius = { small: 12, alt: 16, medium: 20, full: 999 };
|
|
29
134
|
|
|
30
|
-
export const opacity = {
|
|
135
|
+
export const opacity = {
|
|
136
|
+
light: 0.16,
|
|
137
|
+
medium: 0.32,
|
|
138
|
+
intense: 0.64,
|
|
139
|
+
semiOpaque: 0.4,
|
|
140
|
+
semiTransparent: 0.08,
|
|
141
|
+
};
|
|
31
142
|
|
|
32
143
|
export const shadow = {
|
|
33
144
|
card: "0 8px 24px rgba(10,19,35,0.10), 0 2px 8px rgba(170,180,192,0.35)",
|
|
34
145
|
drop: "0 4px 4px rgba(10,19,35,0.10)",
|
|
146
|
+
portalLevel1: "0px 4px 8px #1419271f",
|
|
147
|
+
portalLevel2: "0px 8px 28px #14192729",
|
|
35
148
|
};
|
|
36
149
|
|
|
37
150
|
export const effect = { glassBlur: 4 };
|
|
38
151
|
|
|
39
|
-
export const tokens = {
|
|
152
|
+
export const tokens = {
|
|
153
|
+
color,
|
|
154
|
+
portal,
|
|
155
|
+
font,
|
|
156
|
+
fontSize,
|
|
157
|
+
space,
|
|
158
|
+
radius,
|
|
159
|
+
opacity,
|
|
160
|
+
shadow,
|
|
161
|
+
effect,
|
|
162
|
+
};
|
|
40
163
|
export default tokens;
|