@cere/cere-design-system 0.0.44 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/WorkflowNode-BnxXO6t_.d.mts +46 -0
- package/dist/WorkflowNode-BnxXO6t_.d.ts +46 -0
- package/dist/buttons.d.mts +114 -0
- package/dist/buttons.d.ts +114 -0
- package/dist/buttons.js +19 -0
- package/dist/buttons.js.map +1 -0
- package/dist/buttons.mjs +19 -0
- package/dist/buttons.mjs.map +1 -0
- package/dist/carousel.d.mts +51 -0
- package/dist/carousel.d.ts +51 -0
- package/dist/carousel.js +185 -0
- package/dist/carousel.js.map +1 -0
- package/dist/carousel.mjs +185 -0
- package/dist/carousel.mjs.map +1 -0
- package/dist/charts.d.mts +209 -0
- package/dist/charts.d.ts +209 -0
- package/dist/charts.js +20 -0
- package/dist/charts.js.map +1 -0
- package/dist/charts.mjs +20 -0
- package/dist/charts.mjs.map +1 -0
- package/dist/chunk-27JEWSWA.mjs +233 -0
- package/dist/chunk-27JEWSWA.mjs.map +1 -0
- package/dist/chunk-2EBCST6X.js +25 -0
- package/dist/chunk-2EBCST6X.js.map +1 -0
- package/dist/chunk-3WCMINE5.mjs +490 -0
- package/dist/chunk-3WCMINE5.mjs.map +1 -0
- package/dist/chunk-463SRKKD.js +111 -0
- package/dist/chunk-463SRKKD.js.map +1 -0
- package/dist/chunk-5ASG6G6U.mjs +40 -0
- package/dist/chunk-5ASG6G6U.mjs.map +1 -0
- package/dist/chunk-6EUAU67C.mjs +374 -0
- package/dist/chunk-6EUAU67C.mjs.map +1 -0
- package/dist/chunk-AIY6222Q.js +11 -0
- package/dist/chunk-AIY6222Q.js.map +1 -0
- package/dist/chunk-AJBM7IE6.mjs +2366 -0
- package/dist/chunk-AJBM7IE6.mjs.map +1 -0
- package/dist/chunk-ATIFLPH6.mjs +278 -0
- package/dist/chunk-ATIFLPH6.mjs.map +1 -0
- package/dist/chunk-BIZK6FUD.js +37 -0
- package/dist/chunk-BIZK6FUD.js.map +1 -0
- package/dist/chunk-CCN6M4LI.js +103 -0
- package/dist/chunk-CCN6M4LI.js.map +1 -0
- package/dist/chunk-CUCKULYC.mjs +2658 -0
- package/dist/chunk-CUCKULYC.mjs.map +1 -0
- package/dist/chunk-CWJ4OU6W.mjs +45 -0
- package/dist/chunk-CWJ4OU6W.mjs.map +1 -0
- package/dist/chunk-EOF3QNPF.js +2366 -0
- package/dist/chunk-EOF3QNPF.js.map +1 -0
- package/dist/chunk-FFZ5S7PQ.mjs +146 -0
- package/dist/chunk-FFZ5S7PQ.mjs.map +1 -0
- package/dist/chunk-FN5YL4BK.js +278 -0
- package/dist/chunk-FN5YL4BK.js.map +1 -0
- package/dist/chunk-HLH2VWXL.js +2658 -0
- package/dist/chunk-HLH2VWXL.js.map +1 -0
- package/dist/chunk-IE6GCHDI.mjs +530 -0
- package/dist/chunk-IE6GCHDI.mjs.map +1 -0
- package/dist/chunk-JBHRAAN3.js +31 -0
- package/dist/chunk-JBHRAAN3.js.map +1 -0
- package/dist/chunk-JS4IB5IU.mjs +162 -0
- package/dist/chunk-JS4IB5IU.mjs.map +1 -0
- package/dist/chunk-KF2Y7HO3.js +595 -0
- package/dist/chunk-KF2Y7HO3.js.map +1 -0
- package/dist/chunk-KPDYKK3V.js +162 -0
- package/dist/chunk-KPDYKK3V.js.map +1 -0
- package/dist/chunk-KVBMZNWT.mjs +103 -0
- package/dist/chunk-KVBMZNWT.mjs.map +1 -0
- package/dist/chunk-L2TIGA7I.js +530 -0
- package/dist/chunk-L2TIGA7I.js.map +1 -0
- package/dist/chunk-MNM6HE72.js +146 -0
- package/dist/chunk-MNM6HE72.js.map +1 -0
- package/dist/chunk-NXTVJ6PY.js +374 -0
- package/dist/chunk-NXTVJ6PY.js.map +1 -0
- package/dist/chunk-OWWDNDF4.js +40 -0
- package/dist/chunk-OWWDNDF4.js.map +1 -0
- package/dist/chunk-PHMNZK2R.mjs +18 -0
- package/dist/chunk-PHMNZK2R.mjs.map +1 -0
- package/dist/chunk-PWF2NJDB.mjs +377 -0
- package/dist/chunk-PWF2NJDB.mjs.map +1 -0
- package/dist/chunk-QBCRH7YF.mjs +37 -0
- package/dist/chunk-QBCRH7YF.mjs.map +1 -0
- package/dist/chunk-QD6RLAO2.mjs +11 -0
- package/dist/chunk-QD6RLAO2.mjs.map +1 -0
- package/dist/chunk-QY65OUAC.mjs +111 -0
- package/dist/chunk-QY65OUAC.mjs.map +1 -0
- package/dist/chunk-QYYQYZHV.js +45 -0
- package/dist/chunk-QYYQYZHV.js.map +1 -0
- package/dist/chunk-T7LPABOL.mjs +595 -0
- package/dist/chunk-T7LPABOL.mjs.map +1 -0
- package/dist/chunk-THQKYTQE.js +490 -0
- package/dist/chunk-THQKYTQE.js.map +1 -0
- package/dist/chunk-U2QHFISG.js +18 -0
- package/dist/chunk-U2QHFISG.js.map +1 -0
- package/dist/chunk-UPGFBPFX.mjs +25 -0
- package/dist/chunk-UPGFBPFX.mjs.map +1 -0
- package/dist/chunk-X7E6GMFL.js +233 -0
- package/dist/chunk-X7E6GMFL.js.map +1 -0
- package/dist/chunk-XF66WQZE.mjs +1535 -0
- package/dist/chunk-XF66WQZE.mjs.map +1 -0
- package/dist/chunk-YQOZPLTY.js +1535 -0
- package/dist/chunk-YQOZPLTY.js.map +1 -0
- package/dist/chunk-ZGCN5WCG.js +377 -0
- package/dist/chunk-ZGCN5WCG.js.map +1 -0
- package/dist/chunk-ZP26PGMS.mjs +31 -0
- package/dist/chunk-ZP26PGMS.mjs.map +1 -0
- package/dist/feedback.d.mts +356 -0
- package/dist/feedback.d.ts +356 -0
- package/dist/feedback.js +43 -0
- package/dist/feedback.js.map +1 -0
- package/dist/feedback.mjs +43 -0
- package/dist/feedback.mjs.map +1 -0
- package/dist/icons.d.mts +22 -0
- package/dist/icons.d.ts +22 -0
- package/dist/icons.js +23 -0
- package/dist/icons.js.map +1 -0
- package/dist/icons.mjs +23 -0
- package/dist/icons.mjs.map +1 -0
- package/dist/index.d.mts +171 -3069
- package/dist/index.d.ts +171 -3069
- package/dist/index.js +320 -10077
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +262 -9978
- package/dist/index.mjs.map +1 -1
- package/dist/inputs.d.mts +109 -0
- package/dist/inputs.d.ts +109 -0
- package/dist/inputs.js +43 -0
- package/dist/inputs.js.map +1 -0
- package/dist/inputs.mjs +43 -0
- package/dist/inputs.mjs.map +1 -0
- package/dist/layout.d.mts +927 -0
- package/dist/layout.d.ts +927 -0
- package/dist/layout.js +122 -0
- package/dist/layout.js.map +1 -0
- package/dist/layout.mjs +122 -0
- package/dist/layout.mjs.map +1 -0
- package/dist/navigation.d.mts +716 -0
- package/dist/navigation.d.ts +716 -0
- package/dist/navigation.js +58 -0
- package/dist/navigation.js.map +1 -0
- package/dist/navigation.mjs +58 -0
- package/dist/navigation.mjs.map +1 -0
- package/dist/third-party.d.mts +637 -0
- package/dist/third-party.d.ts +637 -0
- package/dist/third-party.js +45 -0
- package/dist/third-party.js.map +1 -0
- package/dist/third-party.mjs +45 -0
- package/dist/third-party.mjs.map +1 -0
- package/dist/tokens.css +2 -1
- package/dist/utilities.d.mts +39 -0
- package/dist/utilities.d.ts +39 -0
- package/dist/utilities.js +19 -0
- package/dist/utilities.js.map +1 -0
- package/dist/utilities.mjs +19 -0
- package/dist/utilities.mjs.map +1 -0
- package/package.json +55 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/layout/Link.tsx"],"sourcesContent":["import React from 'react';\nimport MuiLink, { LinkProps as MuiLinkProps } from '@mui/material/Link';\nimport { styled } from '@mui/material/styles';\nexport interface LinkProps extends MuiLinkProps {\n underline?: 'none' | 'hover' | 'always';\n}\n\nconst StyledLink = styled(MuiLink)(({ theme }) => ({\n color: theme.palette.primary.main,\n '&:hover': {\n color: theme.palette.primary.light,\n },\n}));\n\nexport const Link: React.FC<LinkProps> = ({ underline = 'hover', ...props }) => {\n return <StyledLink underline={underline} {...props} />;\n};\n\n"],"mappings":";AACA,OAAO,aAA4C;AACnD,SAAS,cAAc;AAad;AART,IAAM,aAAa,OAAO,OAAO,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACjD,OAAO,MAAM,QAAQ,QAAQ;AAAA,EAC7B,WAAW;AAAA,IACT,OAAO,MAAM,QAAQ,QAAQ;AAAA,EAC/B;AACF,EAAE;AAEK,IAAM,OAA4B,CAAC,EAAE,YAAY,SAAS,GAAG,MAAM,MAAM;AAC9E,SAAO,oBAAC,cAAW,WAAuB,GAAG,OAAO;AACtD;","names":[]}
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
// src/theme/primitives.ts
|
|
2
|
+
var primitives = {
|
|
3
|
+
/**
|
|
4
|
+
* Cere brand violet — the company's primary action color across web
|
|
5
|
+
* surfaces. Use via `semantic.action.primary` rather than reaching for
|
|
6
|
+
* raw hex.
|
|
7
|
+
*/
|
|
8
|
+
violet: {
|
|
9
|
+
100: "#f0e0fb",
|
|
10
|
+
300: "#d0bcff",
|
|
11
|
+
500: "#aa44f2",
|
|
12
|
+
600: "#7c59ac"
|
|
13
|
+
},
|
|
14
|
+
/** Legacy MUI blue. Retained for code paths that still reach for blue tokens by name (e.g. ROB highlights). Not the brand primary. */
|
|
15
|
+
blue: {
|
|
16
|
+
500: "#1976d2",
|
|
17
|
+
600: "#1565c0"
|
|
18
|
+
},
|
|
19
|
+
/** Material Design grey scale */
|
|
20
|
+
grey: {
|
|
21
|
+
50: "#FAFAFA",
|
|
22
|
+
100: "#F5F5F5",
|
|
23
|
+
200: "#EEEEEE",
|
|
24
|
+
300: "#E0E0E0",
|
|
25
|
+
400: "#BDBDBD",
|
|
26
|
+
500: "#9E9E9E",
|
|
27
|
+
600: "#757575",
|
|
28
|
+
700: "#616161",
|
|
29
|
+
800: "#424242",
|
|
30
|
+
900: "#212121"
|
|
31
|
+
},
|
|
32
|
+
/** Neutral greys used for text and secondary UI (non-standard scale) */
|
|
33
|
+
neutral: {
|
|
34
|
+
300: "#333333",
|
|
35
|
+
600: "#666666",
|
|
36
|
+
900: "#999999"
|
|
37
|
+
},
|
|
38
|
+
green: {
|
|
39
|
+
400: "#34D399",
|
|
40
|
+
500: "#10B981",
|
|
41
|
+
600: "#059669"
|
|
42
|
+
},
|
|
43
|
+
red: {
|
|
44
|
+
400: "#F87171",
|
|
45
|
+
500: "#EF4444",
|
|
46
|
+
600: "#DC2626"
|
|
47
|
+
},
|
|
48
|
+
amber: {
|
|
49
|
+
400: "#FBBF24",
|
|
50
|
+
500: "#F59E0B",
|
|
51
|
+
600: "#D97706"
|
|
52
|
+
},
|
|
53
|
+
white: "#FFFFFF",
|
|
54
|
+
black: "#000000",
|
|
55
|
+
nearBlack: "#1A1A1A"
|
|
56
|
+
};
|
|
57
|
+
var robPrimaryPalette = {
|
|
58
|
+
fandango: "#BD32A7",
|
|
59
|
+
electricViolet: "#8B00EC",
|
|
60
|
+
ultraViolet: "#6750A4",
|
|
61
|
+
periwinkle: "#D0BCFF"
|
|
62
|
+
};
|
|
63
|
+
var robPaletteExtended = {
|
|
64
|
+
dark1: "#280e61",
|
|
65
|
+
dark2: "#531584",
|
|
66
|
+
dark3: "#710c7a",
|
|
67
|
+
dark4: "#920269",
|
|
68
|
+
dark5: "#c71454",
|
|
69
|
+
dark6: "#ff6341",
|
|
70
|
+
bright1: "#5311e3",
|
|
71
|
+
bright2: "#eb03ff",
|
|
72
|
+
bright3: "#ff17ab",
|
|
73
|
+
bright4: "#ff6a85",
|
|
74
|
+
light1: "#baa0f4",
|
|
75
|
+
light2: "#d399fc",
|
|
76
|
+
light3: "#f79aff",
|
|
77
|
+
light4: "#faabde",
|
|
78
|
+
light5: "#ffc4ce",
|
|
79
|
+
nearBlack1: "#0b0f18",
|
|
80
|
+
nearBlack2: "#0d0627",
|
|
81
|
+
nearBlack3: "#161d30",
|
|
82
|
+
nearBlack4: "#23194b"
|
|
83
|
+
};
|
|
84
|
+
var deploymentEntityColors = {
|
|
85
|
+
workspace: "#aa44f2",
|
|
86
|
+
stream: "#53b96a",
|
|
87
|
+
deployment: "#eeb510",
|
|
88
|
+
engagement: "#f941e6",
|
|
89
|
+
agent: "#77c3ff"
|
|
90
|
+
};
|
|
91
|
+
var deploymentStatusColors = {
|
|
92
|
+
normal: "#53b96a",
|
|
93
|
+
warning: "#eeb510",
|
|
94
|
+
error: "#ef5059",
|
|
95
|
+
disabled: "#ffffff",
|
|
96
|
+
disabledDim: "#ded8e1"
|
|
97
|
+
};
|
|
98
|
+
var workflowNodeColors = {
|
|
99
|
+
start: { accent: "#00C950", cardBorder: "#7BF1A8", badgeBg: "#F0FDF4", badgeBorder: "#B9F8CF", badgeText: "#008236" },
|
|
100
|
+
input: { accent: "#00A6F4", cardBorder: "#74D4FF", badgeBg: "#F0F9FF", badgeBorder: "#B8E6FE", badgeText: "#0069A8" },
|
|
101
|
+
stream: { accent: "#00B8DB", cardBorder: "#53EAFD", badgeBg: "#ECFEFF", badgeBorder: "#A2F4FD", badgeText: "#007595" },
|
|
102
|
+
rafts: { accent: "#FF6900", cardBorder: "#FFB86A", badgeBg: "#FFF7ED", badgeBorder: "#FFD6A8", badgeText: "#CA3500" },
|
|
103
|
+
cubbies: { accent: "#D0C900", cardBorder: "#D0C900", badgeBg: "#FCFFED", badgeBorder: "#D0C900", badgeText: "#747500" },
|
|
104
|
+
events: { accent: "#F6339A", cardBorder: "#FDA5D5", badgeBg: "#FDF2F8", badgeBorder: "#FCCEE8", badgeText: "#C6005C" },
|
|
105
|
+
trigger: { accent: "#AD46FF", cardBorder: "#DAB2FF", badgeBg: "#FAF5FF", badgeBorder: "#E9D4FF", badgeText: "#8200DB" },
|
|
106
|
+
action: { accent: "#2B7FFF", cardBorder: "#8EC5FF", badgeBg: "#EFF6FF", badgeBorder: "#BEDBFF", badgeText: "#1447E6" },
|
|
107
|
+
aiModel: { accent: "#615FFF", cardBorder: "#A3B3FF", badgeBg: "#EEF2FF", badgeBorder: "#C6D2FF", badgeText: "#432DD7" },
|
|
108
|
+
aiAgent: { accent: "#D0A2FB", cardBorder: "#D0A2FB", badgeBg: "#F8EEFF", badgeBorder: "#D9BCF3", badgeText: "#9F40F8" },
|
|
109
|
+
condition: { accent: "#FE9A00", cardBorder: "#FFD230", badgeBg: "#FFFBEB", badgeBorder: "#FEE685", badgeText: "#BB4D00" },
|
|
110
|
+
output: { accent: "#00BC7D", cardBorder: "#5EE9B5", badgeBg: "#ECFDF5", badgeBorder: "#A4F4CF", badgeText: "#007A55" },
|
|
111
|
+
end: { accent: "#FB2C36", cardBorder: "#FFA2A2", badgeBg: "#FEF2F2", badgeBorder: "#FFC9C9", badgeText: "#C10007" },
|
|
112
|
+
parallel: { accent: "#14B8A6", cardBorder: "#5EEAD4", badgeBg: "#F0FDFA", badgeBorder: "#99F6E4", badgeText: "#0F766E" },
|
|
113
|
+
merge: { accent: "#6366F1", cardBorder: "#A5B4FC", badgeBg: "#EEF2FF", badgeBorder: "#C7D2FE", badgeText: "#4338CA" }
|
|
114
|
+
};
|
|
115
|
+
var workflowChromeColors = {
|
|
116
|
+
inputBg: "#D8D4DD",
|
|
117
|
+
inputBorder: "#A855F7",
|
|
118
|
+
labelText: "#6A7282",
|
|
119
|
+
iconColor: "#4A4458",
|
|
120
|
+
buttonPrimary: "#B65FF4",
|
|
121
|
+
buttonHover: "#A855F7",
|
|
122
|
+
buttonActive: "#9333EA",
|
|
123
|
+
closeBtnBg: "#9E9EAE",
|
|
124
|
+
progressBg: "#CEC6D8",
|
|
125
|
+
stepBtnBg: "#F5F1F7",
|
|
126
|
+
stepBtnBgHover: "#E7E0EC",
|
|
127
|
+
divider: "#D6CEDD",
|
|
128
|
+
mutedText: "#938F99",
|
|
129
|
+
titleText: "#1E2939",
|
|
130
|
+
descriptionText: "#6A7282"
|
|
131
|
+
};
|
|
132
|
+
var deploymentSurface = {
|
|
133
|
+
surfaceHigh: "#fefcff",
|
|
134
|
+
strokeOutside: "#e6e6e6",
|
|
135
|
+
borderDefault: "#cdcccd",
|
|
136
|
+
textPrimary: "#1d1b20",
|
|
137
|
+
textSecondary: "#818083",
|
|
138
|
+
accentBlue: "#5865f2",
|
|
139
|
+
hoverLight: "#F0F1FF",
|
|
140
|
+
highlightBg: "#f5f6ff",
|
|
141
|
+
highlightBgHover: "#eceeff",
|
|
142
|
+
highlightBorder: "#cbcffb",
|
|
143
|
+
switchGreen: "#53b96a",
|
|
144
|
+
switchTrackOff: "#e0e0e0"
|
|
145
|
+
};
|
|
146
|
+
var workflowConnectionColors = {
|
|
147
|
+
success: "#22C55E",
|
|
148
|
+
process: "#3B82F6",
|
|
149
|
+
stream: "#06B6D4",
|
|
150
|
+
error: "#EF4444"
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
// src/theme/webSurfaceTokens.ts
|
|
154
|
+
var webSurfaceTokens = {
|
|
155
|
+
// Brand violet (web product primary)
|
|
156
|
+
cViolet: "#aa44f2",
|
|
157
|
+
cVioletTint: "#a54aff",
|
|
158
|
+
cVioletLight: "#f0e0fb",
|
|
159
|
+
cVioletDark: "#7c59ac",
|
|
160
|
+
// Brand accents
|
|
161
|
+
cPink: "#f941e6",
|
|
162
|
+
cPinkLight: "#fcdff9",
|
|
163
|
+
cRed: "#ff4f59",
|
|
164
|
+
cGreen: "#49bf63",
|
|
165
|
+
cBlueLight: "#e7f4fe",
|
|
166
|
+
cBlueDark: "#598ab8",
|
|
167
|
+
// ROB extended palette (re-exported with stable web-token names)
|
|
168
|
+
robFandango: robPrimaryPalette.fandango,
|
|
169
|
+
robElectricViolet: robPrimaryPalette.electricViolet,
|
|
170
|
+
robUltraViolet: robPrimaryPalette.ultraViolet,
|
|
171
|
+
robPeriwinkle: robPrimaryPalette.periwinkle,
|
|
172
|
+
robBright1: robPaletteExtended.bright1,
|
|
173
|
+
robNearBlack2: robPaletteExtended.nearBlack2,
|
|
174
|
+
robNearBlack4: robPaletteExtended.nearBlack4,
|
|
175
|
+
// Surfaces
|
|
176
|
+
surfaceLow: "#f5f1f7",
|
|
177
|
+
surfaceMid: "#f5f1f7",
|
|
178
|
+
surfaceHigh: "#fefcff",
|
|
179
|
+
surfaceContrast: "#ffffff",
|
|
180
|
+
// Backgrounds (semantic state surfaces)
|
|
181
|
+
bgDefault: "#f5f5f5",
|
|
182
|
+
bgDim: "#e6e0e9",
|
|
183
|
+
bgSuccess: "#eef5f0",
|
|
184
|
+
bgWarning: "#fef8e8",
|
|
185
|
+
bgDanger: "#f9dedc",
|
|
186
|
+
/**
|
|
187
|
+
* Foreground text/icon color for content sitting ON a `bgDanger` surface.
|
|
188
|
+
* NOT a surface color itself — do not use as backgroundColor. Pair with
|
|
189
|
+
* `bgDanger` for the canonical danger alert look.
|
|
190
|
+
*/
|
|
191
|
+
textOnDanger: "#8c1d18",
|
|
192
|
+
// Text
|
|
193
|
+
textPrimary: "#1d1b20",
|
|
194
|
+
textSecondary: "#5f5c64",
|
|
195
|
+
textMuted: "#938f99",
|
|
196
|
+
textLink: "#aa44f2",
|
|
197
|
+
// Strokes
|
|
198
|
+
strokeOnLow: "#e6e0e9",
|
|
199
|
+
strokeOnMed: "#dad1e0",
|
|
200
|
+
// Shadows
|
|
201
|
+
shadowSm: "0px 2px 8px rgba(0,0,0,0.04)",
|
|
202
|
+
shadowMd: "0px 4px 20px rgba(0,0,0,0.05)",
|
|
203
|
+
shadowFocus: "0 0 0 4px rgba(170,68,242,0.25)"
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
// src/theme/motion.ts
|
|
207
|
+
var motion = {
|
|
208
|
+
dur: {
|
|
209
|
+
/** Fast: ~120ms. Hover transitions, micro-interactions. */
|
|
210
|
+
fast: "120ms"
|
|
211
|
+
},
|
|
212
|
+
ease: {
|
|
213
|
+
/** Material-style standard easing. */
|
|
214
|
+
standard: "cubic-bezier(0.2, 0, 0, 1)"
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
// src/theme/typography.ts
|
|
219
|
+
var fontFamily = "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Human Sans', 'Nohemi', sans-serif";
|
|
220
|
+
var fontFamilyDisplay = "'Inter', sans-serif";
|
|
221
|
+
var fontFamilyMono = "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace";
|
|
222
|
+
var webTypographyVariants = {
|
|
223
|
+
eyebrow: {
|
|
224
|
+
fontFamily,
|
|
225
|
+
fontSize: "11px",
|
|
226
|
+
fontWeight: 700,
|
|
227
|
+
textTransform: "uppercase",
|
|
228
|
+
letterSpacing: "0.12em",
|
|
229
|
+
color: webSurfaceTokens.cVioletDark
|
|
230
|
+
},
|
|
231
|
+
lede: {
|
|
232
|
+
fontFamily,
|
|
233
|
+
fontSize: "15.5px",
|
|
234
|
+
lineHeight: 1.55,
|
|
235
|
+
color: webSurfaceTokens.textPrimary
|
|
236
|
+
},
|
|
237
|
+
panelTitle: {
|
|
238
|
+
fontFamily: fontFamilyDisplay,
|
|
239
|
+
fontSize: "19px",
|
|
240
|
+
fontWeight: 500,
|
|
241
|
+
letterSpacing: "-0.012em",
|
|
242
|
+
color: webSurfaceTokens.textPrimary
|
|
243
|
+
},
|
|
244
|
+
footnote: {
|
|
245
|
+
fontFamily,
|
|
246
|
+
fontSize: "12px",
|
|
247
|
+
lineHeight: 1.5,
|
|
248
|
+
color: webSurfaceTokens.textSecondary
|
|
249
|
+
},
|
|
250
|
+
mono: {
|
|
251
|
+
fontFamily: fontFamilyMono,
|
|
252
|
+
fontSize: "11.5px",
|
|
253
|
+
color: webSurfaceTokens.textSecondary
|
|
254
|
+
},
|
|
255
|
+
bannerEyebrow: {
|
|
256
|
+
fontFamily,
|
|
257
|
+
fontSize: "11px",
|
|
258
|
+
fontWeight: 800,
|
|
259
|
+
textTransform: "uppercase",
|
|
260
|
+
letterSpacing: "0.18em",
|
|
261
|
+
color: webSurfaceTokens.robPeriwinkle
|
|
262
|
+
},
|
|
263
|
+
bannerTitle: {
|
|
264
|
+
fontFamily: fontFamilyDisplay,
|
|
265
|
+
fontSize: "40px",
|
|
266
|
+
fontWeight: 600,
|
|
267
|
+
lineHeight: 1.05,
|
|
268
|
+
letterSpacing: "-0.025em",
|
|
269
|
+
color: "#fff"
|
|
270
|
+
},
|
|
271
|
+
bannerBy: {
|
|
272
|
+
fontFamily,
|
|
273
|
+
fontSize: "13px",
|
|
274
|
+
color: "rgba(255,255,255,0.65)",
|
|
275
|
+
margin: 0
|
|
276
|
+
},
|
|
277
|
+
bannerDesc: {
|
|
278
|
+
fontFamily,
|
|
279
|
+
fontSize: "15px",
|
|
280
|
+
lineHeight: 1.5,
|
|
281
|
+
color: "rgba(255,255,255,0.78)",
|
|
282
|
+
margin: 0
|
|
283
|
+
},
|
|
284
|
+
bannerMeta: {
|
|
285
|
+
fontFamily: fontFamilyMono,
|
|
286
|
+
fontSize: "12px",
|
|
287
|
+
color: "rgba(255,255,255,0.65)"
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
var typography = {
|
|
291
|
+
fontFamily,
|
|
292
|
+
h1: {
|
|
293
|
+
fontWeight: 700,
|
|
294
|
+
fontSize: "96px",
|
|
295
|
+
lineHeight: 1.2
|
|
296
|
+
},
|
|
297
|
+
h2: {
|
|
298
|
+
fontWeight: 700,
|
|
299
|
+
fontSize: "60px",
|
|
300
|
+
lineHeight: 1.2
|
|
301
|
+
},
|
|
302
|
+
h3: {
|
|
303
|
+
fontWeight: 700,
|
|
304
|
+
fontSize: "48px",
|
|
305
|
+
lineHeight: 1.2
|
|
306
|
+
},
|
|
307
|
+
h4: {
|
|
308
|
+
fontWeight: 600,
|
|
309
|
+
fontSize: "34px",
|
|
310
|
+
lineHeight: 1.2
|
|
311
|
+
},
|
|
312
|
+
h5: {
|
|
313
|
+
fontWeight: 600,
|
|
314
|
+
fontSize: "24px",
|
|
315
|
+
lineHeight: 1.2
|
|
316
|
+
},
|
|
317
|
+
h6: {
|
|
318
|
+
fontWeight: 600,
|
|
319
|
+
fontSize: "20px",
|
|
320
|
+
lineHeight: 1.2
|
|
321
|
+
},
|
|
322
|
+
subtitle1: {
|
|
323
|
+
fontWeight: 700,
|
|
324
|
+
fontSize: "16px",
|
|
325
|
+
lineHeight: 1.5
|
|
326
|
+
},
|
|
327
|
+
subtitle2: {
|
|
328
|
+
fontWeight: 700,
|
|
329
|
+
fontSize: "14px",
|
|
330
|
+
lineHeight: 1.5
|
|
331
|
+
},
|
|
332
|
+
body1: {
|
|
333
|
+
fontWeight: 400,
|
|
334
|
+
fontSize: "16px",
|
|
335
|
+
lineHeight: 1.5
|
|
336
|
+
},
|
|
337
|
+
body2: {
|
|
338
|
+
fontWeight: 400,
|
|
339
|
+
fontSize: "14px",
|
|
340
|
+
lineHeight: 1.5
|
|
341
|
+
},
|
|
342
|
+
button: {
|
|
343
|
+
fontWeight: 700,
|
|
344
|
+
fontSize: "14px",
|
|
345
|
+
textTransform: "uppercase",
|
|
346
|
+
letterSpacing: "0.5px"
|
|
347
|
+
},
|
|
348
|
+
caption: {
|
|
349
|
+
fontWeight: 400,
|
|
350
|
+
fontSize: "12px",
|
|
351
|
+
lineHeight: 1.5
|
|
352
|
+
},
|
|
353
|
+
overline: {
|
|
354
|
+
fontWeight: 800,
|
|
355
|
+
fontSize: "10px",
|
|
356
|
+
textTransform: "uppercase",
|
|
357
|
+
letterSpacing: "1px"
|
|
358
|
+
},
|
|
359
|
+
...webTypographyVariants
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
export {
|
|
363
|
+
primitives,
|
|
364
|
+
robPrimaryPalette,
|
|
365
|
+
robPaletteExtended,
|
|
366
|
+
deploymentEntityColors,
|
|
367
|
+
deploymentStatusColors,
|
|
368
|
+
workflowNodeColors,
|
|
369
|
+
workflowChromeColors,
|
|
370
|
+
deploymentSurface,
|
|
371
|
+
workflowConnectionColors,
|
|
372
|
+
webSurfaceTokens,
|
|
373
|
+
fontFamilyMono,
|
|
374
|
+
typography,
|
|
375
|
+
motion
|
|
376
|
+
};
|
|
377
|
+
//# sourceMappingURL=chunk-PWF2NJDB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/theme/primitives.ts","../src/theme/webSurfaceTokens.ts","../src/theme/motion.ts","../src/theme/typography.ts"],"sourcesContent":["/**\n * Tier 1: Primitive color tokens.\n *\n * Raw color values organized by hue and shade. These form the palette\n * from which semantic tokens are composed.\n *\n * Components should NOT import primitives directly; use semantic tokens\n * or theme.palette instead.\n */\n\nexport const primitives = {\n /**\n * Cere brand violet — the company's primary action color across web\n * surfaces. Use via `semantic.action.primary` rather than reaching for\n * raw hex.\n */\n violet: {\n 100: '#f0e0fb',\n 300: '#d0bcff',\n 500: '#aa44f2',\n 600: '#7c59ac',\n },\n /** Legacy MUI blue. Retained for code paths that still reach for blue tokens by name (e.g. ROB highlights). Not the brand primary. */\n blue: {\n 500: '#1976d2',\n 600: '#1565c0',\n },\n /** Material Design grey scale */\n grey: {\n 50: '#FAFAFA',\n 100: '#F5F5F5',\n 200: '#EEEEEE',\n 300: '#E0E0E0',\n 400: '#BDBDBD',\n 500: '#9E9E9E',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n },\n /** Neutral greys used for text and secondary UI (non-standard scale) */\n neutral: {\n 300: '#333333',\n 600: '#666666',\n 900: '#999999',\n },\n green: {\n 400: '#34D399',\n 500: '#10B981',\n 600: '#059669',\n },\n red: {\n 400: '#F87171',\n 500: '#EF4444',\n 600: '#DC2626',\n },\n amber: {\n 400: '#FBBF24',\n 500: '#F59E0B',\n 600: '#D97706',\n },\n white: '#FFFFFF',\n black: '#000000',\n nearBlack: '#1A1A1A',\n} as const;\n\n/**\n * ROB primary brand colors (Figma node 11-1393).\n */\nexport const robPrimaryPalette = {\n fandango: '#BD32A7',\n electricViolet: '#8B00EC',\n ultraViolet: '#6750A4',\n periwinkle: '#D0BCFF',\n} as const;\n\n/**\n * ROB extended palette with gradient shades and secondary accents\n * (Figma node 11-1447).\n */\nexport const robPaletteExtended = {\n dark1: '#280e61',\n dark2: '#531584',\n dark3: '#710c7a',\n dark4: '#920269',\n dark5: '#c71454',\n dark6: '#ff6341',\n bright1: '#5311e3',\n bright2: '#eb03ff',\n bright3: '#ff17ab',\n bright4: '#ff6a85',\n light1: '#baa0f4',\n light2: '#d399fc',\n light3: '#f79aff',\n light4: '#faabde',\n light5: '#ffc4ce',\n nearBlack1: '#0b0f18',\n nearBlack2: '#0d0627',\n nearBlack3: '#161d30',\n nearBlack4: '#23194b',\n} as const;\n\n/**\n * Deployment dashboard entity colors (Figma 11-2105).\n */\nexport const deploymentEntityColors = {\n workspace: '#aa44f2',\n stream: '#53b96a',\n deployment: '#eeb510',\n engagement: '#f941e6',\n agent: '#77c3ff',\n} as const;\n\n/**\n * Deployment dashboard status colors (Figma 11-2105).\n */\nexport const deploymentStatusColors = {\n normal: '#53b96a',\n warning: '#eeb510',\n error: '#ef5059',\n disabled: '#ffffff',\n disabledDim: '#ded8e1',\n} as const;\n\n/**\n * Workflow node color families (Figma 277-8244).\n *\n * Each node type has an accent color plus tints/shades for card borders,\n * badge backgrounds, badge borders, and badge text. These are hand-picked\n * Figma values, not algorithmically derived.\n */\nexport const workflowNodeColors = {\n start: { accent: '#00C950', cardBorder: '#7BF1A8', badgeBg: '#F0FDF4', badgeBorder: '#B9F8CF', badgeText: '#008236' },\n input: { accent: '#00A6F4', cardBorder: '#74D4FF', badgeBg: '#F0F9FF', badgeBorder: '#B8E6FE', badgeText: '#0069A8' },\n stream: { accent: '#00B8DB', cardBorder: '#53EAFD', badgeBg: '#ECFEFF', badgeBorder: '#A2F4FD', badgeText: '#007595' },\n rafts: { accent: '#FF6900', cardBorder: '#FFB86A', badgeBg: '#FFF7ED', badgeBorder: '#FFD6A8', badgeText: '#CA3500' },\n cubbies: { accent: '#D0C900', cardBorder: '#D0C900', badgeBg: '#FCFFED', badgeBorder: '#D0C900', badgeText: '#747500' },\n events: { accent: '#F6339A', cardBorder: '#FDA5D5', badgeBg: '#FDF2F8', badgeBorder: '#FCCEE8', badgeText: '#C6005C' },\n trigger: { accent: '#AD46FF', cardBorder: '#DAB2FF', badgeBg: '#FAF5FF', badgeBorder: '#E9D4FF', badgeText: '#8200DB' },\n action: { accent: '#2B7FFF', cardBorder: '#8EC5FF', badgeBg: '#EFF6FF', badgeBorder: '#BEDBFF', badgeText: '#1447E6' },\n aiModel: { accent: '#615FFF', cardBorder: '#A3B3FF', badgeBg: '#EEF2FF', badgeBorder: '#C6D2FF', badgeText: '#432DD7' },\n aiAgent: { accent: '#D0A2FB', cardBorder: '#D0A2FB', badgeBg: '#F8EEFF', badgeBorder: '#D9BCF3', badgeText: '#9F40F8' },\n condition: { accent: '#FE9A00', cardBorder: '#FFD230', badgeBg: '#FFFBEB', badgeBorder: '#FEE685', badgeText: '#BB4D00' },\n output: { accent: '#00BC7D', cardBorder: '#5EE9B5', badgeBg: '#ECFDF5', badgeBorder: '#A4F4CF', badgeText: '#007A55' },\n end: { accent: '#FB2C36', cardBorder: '#FFA2A2', badgeBg: '#FEF2F2', badgeBorder: '#FFC9C9', badgeText: '#C10007' },\n parallel: { accent: '#14B8A6', cardBorder: '#5EEAD4', badgeBg: '#F0FDFA', badgeBorder: '#99F6E4', badgeText: '#0F766E' },\n merge: { accent: '#6366F1', cardBorder: '#A5B4FC', badgeBg: '#EEF2FF', badgeBorder: '#C7D2FE', badgeText: '#4338CA' },\n} as const;\n\n/**\n * Shared workflow chrome UI colors (Figma 277-8244).\n *\n * Colors used across workflow top bar, time bar, side inspector, and node\n * title/description text. Extracted here so component files stay hex-free.\n */\nexport const workflowChromeColors = {\n inputBg: '#D8D4DD',\n inputBorder: '#A855F7',\n labelText: '#6A7282',\n iconColor: '#4A4458',\n buttonPrimary: '#B65FF4',\n buttonHover: '#A855F7',\n buttonActive: '#9333EA',\n closeBtnBg: '#9E9EAE',\n progressBg: '#CEC6D8',\n stepBtnBg: '#F5F1F7',\n stepBtnBgHover: '#E7E0EC',\n divider: '#D6CEDD',\n mutedText: '#938F99',\n titleText: '#1E2939',\n descriptionText: '#6A7282',\n} as const;\n\n/**\n * Deployment surface primitives (Figma deployment dashboard).\n *\n * Raw hex values for the deployment surface tokens. semantic.ts maps\n * these to named surface/stroke tokens.\n */\nexport const deploymentSurface = {\n surfaceHigh: '#fefcff',\n strokeOutside: '#e6e6e6',\n borderDefault: '#cdcccd',\n textPrimary: '#1d1b20',\n textSecondary: '#818083',\n accentBlue: '#5865f2',\n hoverLight: '#F0F1FF',\n highlightBg: '#f5f6ff',\n highlightBgHover: '#eceeff',\n highlightBorder: '#cbcffb',\n switchGreen: '#53b96a',\n switchTrackOff: '#e0e0e0',\n} as const;\n\n/**\n * Workflow connection/edge colors (Figma 277-8244).\n */\nexport const workflowConnectionColors = {\n success: '#22C55E',\n process: '#3B82F6',\n stream: '#06B6D4',\n error: '#EF4444',\n} as const;\n","/**\n * Web surface tokens (marketplace-aligned v2 product palette).\n *\n * Source of truth for the colors/surfaces/strokes/shadows used by the\n * marketplace UI and any other web product surface that shares this look.\n * Emitted as `:root` CSS custom properties via `tokens.css` so consumers\n * stop hand-declaring them in their own `globals.css`.\n *\n * Distinct from `deploymentSurfaceTokens` (deployment dashboard), which has\n * its own design language and predates this surface.\n */\n\nimport { robPrimaryPalette, robPaletteExtended } from './primitives';\n\nexport const webSurfaceTokens = {\n // Brand violet (web product primary)\n cViolet: '#aa44f2',\n cVioletTint: '#a54aff',\n cVioletLight: '#f0e0fb',\n cVioletDark: '#7c59ac',\n\n // Brand accents\n cPink: '#f941e6',\n cPinkLight: '#fcdff9',\n cRed: '#ff4f59',\n cGreen: '#49bf63',\n cBlueLight: '#e7f4fe',\n cBlueDark: '#598ab8',\n\n // ROB extended palette (re-exported with stable web-token names)\n robFandango: robPrimaryPalette.fandango,\n robElectricViolet: robPrimaryPalette.electricViolet,\n robUltraViolet: robPrimaryPalette.ultraViolet,\n robPeriwinkle: robPrimaryPalette.periwinkle,\n robBright1: robPaletteExtended.bright1,\n robNearBlack2: robPaletteExtended.nearBlack2,\n robNearBlack4: robPaletteExtended.nearBlack4,\n\n // Surfaces\n surfaceLow: '#f5f1f7',\n surfaceMid: '#f5f1f7',\n surfaceHigh: '#fefcff',\n surfaceContrast: '#ffffff',\n\n // Backgrounds (semantic state surfaces)\n bgDefault: '#f5f5f5',\n bgDim: '#e6e0e9',\n bgSuccess: '#eef5f0',\n bgWarning: '#fef8e8',\n bgDanger: '#f9dedc',\n /**\n * Foreground text/icon color for content sitting ON a `bgDanger` surface.\n * NOT a surface color itself — do not use as backgroundColor. Pair with\n * `bgDanger` for the canonical danger alert look.\n */\n textOnDanger: '#8c1d18',\n\n // Text\n textPrimary: '#1d1b20',\n textSecondary: '#5f5c64',\n textMuted: '#938f99',\n textLink: '#aa44f2',\n\n // Strokes\n strokeOnLow: '#e6e0e9',\n strokeOnMed: '#dad1e0',\n\n // Shadows\n shadowSm: '0px 2px 8px rgba(0,0,0,0.04)',\n shadowMd: '0px 4px 20px rgba(0,0,0,0.05)',\n shadowFocus: '0 0 0 4px rgba(170,68,242,0.25)',\n} as const;\n\nexport type WebSurfaceTokenKey = keyof typeof webSurfaceTokens;\n","/**\n * Motion tokens: durations and easing curves.\n *\n * Marketplace-aligned. Consumed by component animations and emitted as\n * `--dur-*` / `--ease-*` CSS custom properties in `tokens.css`.\n */\n\nexport const motion = {\n dur: {\n /** Fast: ~120ms. Hover transitions, micro-interactions. */\n fast: '120ms',\n },\n ease: {\n /** Material-style standard easing. */\n standard: 'cubic-bezier(0.2, 0, 0, 1)',\n },\n} as const;\n","/**\n * Typography configuration for the design system.\n *\n * Defines font family, heading scales, body text, and utility variants.\n * Consumed by createTheme() in the theme barrel.\n */\n\nimport type { TypographyOptions } from '@mui/material/styles/createTypography';\nimport { webSurfaceTokens } from './webSurfaceTokens';\n\nexport const fontFamily =\n \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Human Sans', 'Nohemi', sans-serif\";\n\n/** Display font used for hero / banner headings. */\nexport const fontFamilyDisplay = \"'Inter', sans-serif\";\n\n/** Monospace stack used for codes, ids, copy fields. */\nexport const fontFamilyMono =\n 'ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';\n\n/**\n * Custom typography variants needed by the marketplace web surface.\n *\n * Registered with MUI via module augmentation in `typography-augment.ts`\n * so `<Typography variant=\"eyebrow\">` is type-safe and styled out of the box.\n */\nexport const webTypographyVariants = {\n eyebrow: {\n fontFamily,\n fontSize: '11px',\n fontWeight: 700,\n textTransform: 'uppercase' as const,\n letterSpacing: '0.12em',\n color: webSurfaceTokens.cVioletDark,\n },\n lede: {\n fontFamily,\n fontSize: '15.5px',\n lineHeight: 1.55,\n color: webSurfaceTokens.textPrimary,\n },\n panelTitle: {\n fontFamily: fontFamilyDisplay,\n fontSize: '19px',\n fontWeight: 500,\n letterSpacing: '-0.012em',\n color: webSurfaceTokens.textPrimary,\n },\n footnote: {\n fontFamily,\n fontSize: '12px',\n lineHeight: 1.5,\n color: webSurfaceTokens.textSecondary,\n },\n mono: {\n fontFamily: fontFamilyMono,\n fontSize: '11.5px',\n color: webSurfaceTokens.textSecondary,\n },\n bannerEyebrow: {\n fontFamily,\n fontSize: '11px',\n fontWeight: 800,\n textTransform: 'uppercase' as const,\n letterSpacing: '0.18em',\n color: webSurfaceTokens.robPeriwinkle,\n },\n bannerTitle: {\n fontFamily: fontFamilyDisplay,\n fontSize: '40px',\n fontWeight: 600,\n lineHeight: 1.05,\n letterSpacing: '-0.025em',\n color: '#fff',\n },\n bannerBy: {\n fontFamily,\n fontSize: '13px',\n color: 'rgba(255,255,255,0.65)',\n margin: 0,\n },\n bannerDesc: {\n fontFamily,\n fontSize: '15px',\n lineHeight: 1.5,\n color: 'rgba(255,255,255,0.78)',\n margin: 0,\n },\n bannerMeta: {\n fontFamily: fontFamilyMono,\n fontSize: '12px',\n color: 'rgba(255,255,255,0.65)',\n },\n} as const;\n\nexport const typography: TypographyOptions = {\n fontFamily,\n h1: {\n fontWeight: 700,\n fontSize: '96px',\n lineHeight: 1.2,\n },\n h2: {\n fontWeight: 700,\n fontSize: '60px',\n lineHeight: 1.2,\n },\n h3: {\n fontWeight: 700,\n fontSize: '48px',\n lineHeight: 1.2,\n },\n h4: {\n fontWeight: 600,\n fontSize: '34px',\n lineHeight: 1.2,\n },\n h5: {\n fontWeight: 600,\n fontSize: '24px',\n lineHeight: 1.2,\n },\n h6: {\n fontWeight: 600,\n fontSize: '20px',\n lineHeight: 1.2,\n },\n subtitle1: {\n fontWeight: 700,\n fontSize: '16px',\n lineHeight: 1.5,\n },\n subtitle2: {\n fontWeight: 700,\n fontSize: '14px',\n lineHeight: 1.5,\n },\n body1: {\n fontWeight: 400,\n fontSize: '16px',\n lineHeight: 1.5,\n },\n body2: {\n fontWeight: 400,\n fontSize: '14px',\n lineHeight: 1.5,\n },\n button: {\n fontWeight: 700,\n fontSize: '14px',\n textTransform: 'uppercase',\n letterSpacing: '0.5px',\n },\n caption: {\n fontWeight: 400,\n fontSize: '12px',\n lineHeight: 1.5,\n },\n overline: {\n fontWeight: 800,\n fontSize: '10px',\n textTransform: 'uppercase',\n letterSpacing: '1px',\n },\n ...webTypographyVariants,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/components/feedback/Badge.tsx
|
|
2
|
+
import MuiBadge from "@mui/material/Badge";
|
|
3
|
+
import { styled } from "@mui/material/styles";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
var getBadgeColor = (variant, theme) => {
|
|
6
|
+
switch (variant) {
|
|
7
|
+
case "primary":
|
|
8
|
+
return theme.palette.primary.main;
|
|
9
|
+
case "success":
|
|
10
|
+
return theme.palette.success.main;
|
|
11
|
+
case "error":
|
|
12
|
+
return theme.palette.error.main;
|
|
13
|
+
default:
|
|
14
|
+
return theme.palette.grey[400];
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var StyledBadge = styled(MuiBadge, {
|
|
18
|
+
shouldForwardProp: (prop) => prop !== "badgeVariant"
|
|
19
|
+
})(({ theme, badgeVariant = "default" }) => ({
|
|
20
|
+
"& .MuiBadge-badge": {
|
|
21
|
+
backgroundColor: getBadgeColor(badgeVariant, theme),
|
|
22
|
+
color: theme.palette.common.white
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
var Badge = ({
|
|
26
|
+
variant = "default",
|
|
27
|
+
children,
|
|
28
|
+
badgeContent,
|
|
29
|
+
...props
|
|
30
|
+
}) => {
|
|
31
|
+
return /* @__PURE__ */ jsx(StyledBadge, { badgeVariant: variant, badgeContent, ...props, children });
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
Badge
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-QBCRH7YF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/feedback/Badge.tsx"],"sourcesContent":["import React from 'react';\nimport MuiBadge, { BadgeProps as MuiBadgeProps } from '@mui/material/Badge';\nimport { styled, Theme } from '@mui/material/styles';\n\nexport type BadgeVariant = 'default' | 'primary' | 'success' | 'error';\n\nexport interface BadgeProps extends Omit<MuiBadgeProps, 'color' | 'variant'> {\n variant?: BadgeVariant;\n children?: React.ReactNode;\n}\n\nconst getBadgeColor = (variant: BadgeVariant, theme: Theme) => {\n switch (variant) {\n case 'primary':\n return theme.palette.primary.main;\n case 'success':\n return theme.palette.success.main;\n case 'error':\n return theme.palette.error.main;\n default:\n return theme.palette.grey[400];\n }\n};\n\nconst StyledBadge = styled(MuiBadge, {\n shouldForwardProp: (prop) => prop !== 'badgeVariant',\n})<{ badgeVariant?: BadgeVariant }>(({ theme, badgeVariant = 'default' }) => ({\n '& .MuiBadge-badge': {\n backgroundColor: getBadgeColor(badgeVariant, theme),\n color: theme.palette.common.white,\n },\n}));\n\nexport const Badge: React.FC<BadgeProps> = ({\n variant = 'default',\n children,\n badgeContent,\n ...props\n}) => {\n return (\n <StyledBadge badgeVariant={variant} badgeContent={badgeContent} {...props}>\n {children}\n </StyledBadge>\n );\n};\n\n"],"mappings":";AACA,OAAO,cAA+C;AACtD,SAAS,cAAqB;AAsC1B;AA7BJ,IAAM,gBAAgB,CAAC,SAAuB,UAAiB;AAC7D,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,MAAM,QAAQ,QAAQ;AAAA,IAC/B,KAAK;AACH,aAAO,MAAM,QAAQ,QAAQ;AAAA,IAC/B,KAAK;AACH,aAAO,MAAM,QAAQ,MAAM;AAAA,IAC7B;AACE,aAAO,MAAM,QAAQ,KAAK,GAAG;AAAA,EACjC;AACF;AAEA,IAAM,cAAc,OAAO,UAAU;AAAA,EACnC,mBAAmB,CAAC,SAAS,SAAS;AACxC,CAAC,EAAmC,CAAC,EAAE,OAAO,eAAe,UAAU,OAAO;AAAA,EAC5E,qBAAqB;AAAA,IACnB,iBAAiB,cAAc,cAAc,KAAK;AAAA,IAClD,OAAO,MAAM,QAAQ,OAAO;AAAA,EAC9B;AACF,EAAE;AAEK,IAAM,QAA8B,CAAC;AAAA,EAC1C,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,oBAAC,eAAY,cAAc,SAAS,cAA6B,GAAG,OACjE,UACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/components/utilities/BytesSize/BytesSize.tsx
|
|
2
|
+
import size from "byte-size";
|
|
3
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
var BytesSize = ({ bytes }) => {
|
|
5
|
+
return /* @__PURE__ */ jsx(Fragment, { children: size(bytes).toString() });
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
BytesSize
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=chunk-QD6RLAO2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/utilities/BytesSize/BytesSize.tsx"],"sourcesContent":["import size from 'byte-size';\n\nexport type BytesSizeProps = {\n bytes: number;\n};\n\nexport const BytesSize = ({ bytes }: BytesSizeProps) => {\n return <>{size(bytes).toString()}</>;\n};\n"],"mappings":";AAAA,OAAO,UAAU;AAOR;AADF,IAAM,YAAY,CAAC,EAAE,MAAM,MAAsB;AACtD,SAAO,gCAAG,eAAK,KAAK,EAAE,SAAS,GAAE;AACnC;","names":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// src/components/utilities/Markdown/Markdown.tsx
|
|
2
|
+
import { Box, styled } from "@mui/material";
|
|
3
|
+
import "highlight.js/styles/github.css";
|
|
4
|
+
import "github-markdown-css/github-markdown-light.css";
|
|
5
|
+
import MD from "react-markdown";
|
|
6
|
+
import highlight from "rehype-highlight";
|
|
7
|
+
import rehypeRaw from "rehype-raw";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
var Content = styled(Box)(({ theme }) => ({
|
|
10
|
+
backgroundColor: "transparent",
|
|
11
|
+
...theme.typography.body1,
|
|
12
|
+
color: theme.palette.text.primary,
|
|
13
|
+
["& a"]: {
|
|
14
|
+
color: theme.palette.primary.main
|
|
15
|
+
},
|
|
16
|
+
["& pre"]: {
|
|
17
|
+
padding: theme.spacing(2),
|
|
18
|
+
borderRadius: theme.shape.borderRadius,
|
|
19
|
+
backgroundColor: theme.palette.background.paper
|
|
20
|
+
},
|
|
21
|
+
["& code"]: {
|
|
22
|
+
borderRadius: 2,
|
|
23
|
+
backgroundColor: theme.palette.background.paper
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
var Markdown = ({ content, children }) => /* @__PURE__ */ jsx(Content, { className: "markdown-body", children: /* @__PURE__ */ jsx(MD, { rehypePlugins: [highlight, rehypeRaw], children: content || children }) });
|
|
27
|
+
|
|
28
|
+
// src/components/utilities/OnboardingProvider/OnboardingProvider.tsx
|
|
29
|
+
import { createContext, useContext, useState, useCallback, useEffect } from "react";
|
|
30
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
31
|
+
var OnboardingContext = createContext(void 0);
|
|
32
|
+
var useOnboarding = () => {
|
|
33
|
+
const context = useContext(OnboardingContext);
|
|
34
|
+
if (!context) {
|
|
35
|
+
throw new Error("useOnboarding should be used inside OnboardingProvider");
|
|
36
|
+
}
|
|
37
|
+
return context;
|
|
38
|
+
};
|
|
39
|
+
var OnboardingProvider = ({ children }) => {
|
|
40
|
+
const [isOnboardingActive, setIsOnboardingActive] = useState(() => {
|
|
41
|
+
const savedState = localStorage.getItem("isOnboardingActive");
|
|
42
|
+
return savedState !== null ? JSON.parse(savedState) : true;
|
|
43
|
+
});
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
localStorage.setItem("isOnboardingActive", JSON.stringify(isOnboardingActive));
|
|
46
|
+
}, [isOnboardingActive]);
|
|
47
|
+
const startOnboarding = useCallback(() => setIsOnboardingActive(true), []);
|
|
48
|
+
const stopOnboarding = useCallback(() => {
|
|
49
|
+
setIsOnboardingActive(false);
|
|
50
|
+
}, []);
|
|
51
|
+
const restartOnboarding = useCallback(() => {
|
|
52
|
+
setIsOnboardingActive(false);
|
|
53
|
+
setTimeout(() => setIsOnboardingActive(true), 0);
|
|
54
|
+
}, []);
|
|
55
|
+
return /* @__PURE__ */ jsx2(
|
|
56
|
+
OnboardingContext.Provider,
|
|
57
|
+
{
|
|
58
|
+
value: {
|
|
59
|
+
isOnboardingActive,
|
|
60
|
+
startOnboarding,
|
|
61
|
+
stopOnboarding,
|
|
62
|
+
restartOnboarding
|
|
63
|
+
},
|
|
64
|
+
children
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// src/components/utilities/Truncate/Truncate.tsx
|
|
70
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
71
|
+
var getDefaultEndingLength = ({ text, variant, maxLength = text.length }) => {
|
|
72
|
+
if (variant === "hex") {
|
|
73
|
+
return 4;
|
|
74
|
+
}
|
|
75
|
+
if (variant === "email") {
|
|
76
|
+
const [, domain] = text.split("@");
|
|
77
|
+
return domain.length + 1;
|
|
78
|
+
}
|
|
79
|
+
return Math.round(maxLength / 2);
|
|
80
|
+
};
|
|
81
|
+
var Truncate = ({
|
|
82
|
+
text,
|
|
83
|
+
variant = "text",
|
|
84
|
+
maxLength = text.length,
|
|
85
|
+
endingLength = getDefaultEndingLength({ text, variant, maxLength }),
|
|
86
|
+
...props
|
|
87
|
+
}) => {
|
|
88
|
+
let truncatedText = text;
|
|
89
|
+
if (maxLength < text.length) {
|
|
90
|
+
const ending = text.slice(-endingLength);
|
|
91
|
+
const truncated = text.slice(0, maxLength - endingLength);
|
|
92
|
+
truncatedText = [truncated, ending].filter(Boolean).join("...");
|
|
93
|
+
}
|
|
94
|
+
return /* @__PURE__ */ jsx3("span", { ...props, "data-full": text, children: truncatedText });
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// src/components/utilities/QRCode/QRCode.tsx
|
|
98
|
+
import { forwardRef } from "react";
|
|
99
|
+
import QR from "react-qr-code";
|
|
100
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
101
|
+
var QRCode = forwardRef(({ size = 168, ...props }, ref) => /* @__PURE__ */ jsx4(QR, { ref, size, ...props }));
|
|
102
|
+
QRCode.displayName = "QRCode";
|
|
103
|
+
|
|
104
|
+
export {
|
|
105
|
+
Markdown,
|
|
106
|
+
useOnboarding,
|
|
107
|
+
OnboardingProvider,
|
|
108
|
+
Truncate,
|
|
109
|
+
QRCode
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=chunk-QY65OUAC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/utilities/Markdown/Markdown.tsx","../src/components/utilities/OnboardingProvider/OnboardingProvider.tsx","../src/components/utilities/Truncate/Truncate.tsx","../src/components/utilities/QRCode/QRCode.tsx"],"sourcesContent":["import { Box, styled } from '@mui/material';\n\nimport 'highlight.js/styles/github.css';\nimport 'github-markdown-css/github-markdown-light.css';\n\nimport MD from 'react-markdown';\nimport highlight from 'rehype-highlight';\nimport rehypeRaw from 'rehype-raw';\n\nexport type MarkdownProps = {\n children?: string;\n content?: string;\n};\n\nconst Content = styled(Box)(({ theme }) => ({\n backgroundColor: 'transparent',\n\n ...theme.typography.body1,\n color: theme.palette.text.primary,\n\n ['& a']: {\n color: theme.palette.primary.main,\n },\n\n ['& pre']: {\n padding: theme.spacing(2),\n borderRadius: theme.shape.borderRadius,\n backgroundColor: theme.palette.background.paper,\n },\n\n ['& code']: {\n borderRadius: 2,\n backgroundColor: theme.palette.background.paper,\n },\n}));\n\nexport const Markdown = ({ content, children }: MarkdownProps) => (\n <Content className=\"markdown-body\">\n <MD rehypePlugins={[highlight, rehypeRaw]}>{content || children}</MD>\n </Content>\n);\n","import { createContext, useContext, useState, ReactNode, useCallback, useEffect } from 'react';\n\ninterface OnboardingContextType {\n isOnboardingActive: boolean;\n startOnboarding: () => void;\n stopOnboarding: () => void;\n restartOnboarding: () => void;\n}\n\nconst OnboardingContext = createContext<OnboardingContextType | undefined>(undefined);\n\nexport const useOnboarding = () => {\n const context = useContext(OnboardingContext);\n if (!context) {\n throw new Error('useOnboarding should be used inside OnboardingProvider');\n }\n return context;\n};\n\nexport const OnboardingProvider = ({ children }: { children: ReactNode }) => {\n const [isOnboardingActive, setIsOnboardingActive] = useState(() => {\n const savedState = localStorage.getItem('isOnboardingActive');\n return savedState !== null ? JSON.parse(savedState) : true;\n });\n\n useEffect(() => {\n localStorage.setItem('isOnboardingActive', JSON.stringify(isOnboardingActive));\n }, [isOnboardingActive]);\n\n const startOnboarding = useCallback(() => setIsOnboardingActive(true), []);\n const stopOnboarding = useCallback(() => {\n setIsOnboardingActive(false);\n }, []);\n\n const restartOnboarding = useCallback(() => {\n setIsOnboardingActive(false);\n\n setTimeout(() => setIsOnboardingActive(true), 0);\n }, []);\n\n return (\n <OnboardingContext.Provider\n value={{\n isOnboardingActive,\n startOnboarding,\n stopOnboarding,\n restartOnboarding,\n }}\n >\n {children}\n </OnboardingContext.Provider>\n );\n};\n","import { AriaAttributes } from 'react';\n\nexport type TruncateProps = AriaAttributes & {\n text: string;\n maxLength?: number;\n endingLength?: number;\n variant?: 'text' | 'email' | 'hex';\n};\n\nconst getDefaultEndingLength = ({ text, variant, maxLength = text.length }: TruncateProps) => {\n if (variant === 'hex') {\n return 4;\n }\n\n if (variant === 'email') {\n const [, domain] = text.split('@');\n\n return domain.length + 1;\n }\n\n return Math.round(maxLength / 2);\n};\n\nexport const Truncate = ({\n text,\n variant = 'text',\n maxLength = text.length,\n endingLength = getDefaultEndingLength({ text, variant, maxLength }),\n ...props\n}: TruncateProps) => {\n let truncatedText = text;\n\n if (maxLength < text.length) {\n const ending = text.slice(-endingLength);\n const truncated = text.slice(0, maxLength - endingLength);\n\n truncatedText = [truncated, ending].filter(Boolean).join('...');\n }\n\n return (\n <span {...props} data-full={text}>\n {truncatedText}\n </span>\n );\n};\n","import { forwardRef, Ref } from 'react';\nimport QR, { QRCodeProps as QRProps } from 'react-qr-code';\n\nexport type QRCodeProps = Omit<QRProps, 'ref'>;\n\nexport const QRCode = forwardRef(({ size = 168, ...props }: QRCodeProps, ref: Ref<SVGElement>) => (\n <QR ref={ref as Ref<any>} size={size} {...props} />\n));\n\nQRCode.displayName = 'QRCode';\n"],"mappings":"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","names":["jsx","jsx","jsx"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/components/buttons/LoadingButton.tsx
|
|
2
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
3
|
+
var _lab = require('@mui/lab');
|
|
4
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
5
|
+
var LoadingButton = _react2.default.forwardRef(
|
|
6
|
+
function LoadingButton2({ loading = false, loadingPosition = "center", ...props }, ref) {
|
|
7
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
8
|
+
_lab.LoadingButton,
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
loading,
|
|
12
|
+
loadingPosition,
|
|
13
|
+
...props
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
// src/components/buttons/ButtonGroup.tsx
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
var _material = require('@mui/material');
|
|
23
|
+
|
|
24
|
+
var ButtonGroup = ({
|
|
25
|
+
orientation = "horizontal",
|
|
26
|
+
size = "medium",
|
|
27
|
+
variant = "outlined",
|
|
28
|
+
...props
|
|
29
|
+
}) => {
|
|
30
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
31
|
+
_material.ButtonGroup,
|
|
32
|
+
{
|
|
33
|
+
orientation,
|
|
34
|
+
size,
|
|
35
|
+
variant,
|
|
36
|
+
...props
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
exports.LoadingButton = LoadingButton; exports.ButtonGroup = ButtonGroup;
|
|
45
|
+
//# sourceMappingURL=chunk-QYYQYZHV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/cere-design-system/cere-design-system/dist/chunk-QYYQYZHV.js","../src/components/buttons/LoadingButton.tsx","../src/components/buttons/ButtonGroup.tsx"],"names":["LoadingButton","jsx"],"mappings":"AAAA;ACAA,4EAAkB;AAClB,+BAA+F;AA8BzF,+CAAA;AAHC,IAAM,cAAA,EAAgB,eAAA,CAAM,UAAA;AAAA,EACjC,SAASA,cAAAA,CAAc,EAAE,QAAA,EAAU,KAAA,EAAO,gBAAA,EAAkB,QAAA,EAAU,GAAG,MAAM,CAAA,EAAG,GAAA,EAAK;AACrF,IAAA,uBACE,6BAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,OAAA;AAAA,QACA,eAAA;AAAA,QACC,GAAG;AAAA,MAAA;AAAA,IACN,CAAA;AAAA,EAEJ;AACF,CAAA;ADtBA;AACA;AEjBA;AACE;AAAe,yCAEV;AAmDH;AAPG,IAAM,YAAA,EAA0C,CAAC;AAAA,EACtD,YAAA,EAAc,YAAA;AAAA,EACd,KAAA,EAAO,QAAA;AAAA,EACP,QAAA,EAAU,UAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAA,GAAM;AACJ,EAAA,uBACEC,6BAAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MACC,WAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EACN,CAAA;AAEJ,CAAA;AFvBA;AACA;AACE;AACA;AACF,yEAAC","file":"/home/runner/work/cere-design-system/cere-design-system/dist/chunk-QYYQYZHV.js","sourcesContent":[null,"import React from 'react';\nimport { LoadingButton as MuiLoadingButton, LoadingButtonProps as MuiLoadingButtonProps } from '@mui/lab';\n\nexport interface LoadingButtonProps extends MuiLoadingButtonProps {\n /**\n * If `true`, the button will show a loading indicator\n */\n loading?: boolean;\n /**\n * The loading indicator can be positioned inside the button or in the center\n */\n loadingPosition?: 'start' | 'end' | 'center';\n}\n\n/**\n * LoadingButton component - Button with loading state from MUI Lab\n * \n * @example\n * ```tsx\n * <LoadingButton\n * variant=\"contained\"\n * loading={isLoading}\n * onClick={handleSubmit}\n * >\n * Submit\n * </LoadingButton>\n * ```\n */\nexport const LoadingButton = React.forwardRef<HTMLButtonElement, LoadingButtonProps>(\n function LoadingButton({ loading = false, loadingPosition = 'center', ...props }, ref) {\n return (\n <MuiLoadingButton\n ref={ref}\n loading={loading}\n loadingPosition={loadingPosition}\n {...props}\n />\n );\n },\n);\n\nexport default LoadingButton;\n\n","import React from 'react';\nimport {\n ButtonGroup as MuiButtonGroup,\n ButtonGroupProps as MuiButtonGroupProps,\n} from '@mui/material';\n\nexport interface ButtonGroupProps extends MuiButtonGroupProps {\n /**\n * The content of the button group\n */\n children?: React.ReactNode;\n /**\n * If `true`, the buttons will be disabled\n */\n disabled?: boolean;\n /**\n * If `true`, the button group will take full width\n */\n fullWidth?: boolean;\n /**\n * The orientation of the button group\n * @default 'horizontal'\n */\n orientation?: 'horizontal' | 'vertical';\n /**\n * The size of the buttons\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * The variant to use\n * @default 'outlined'\n */\n variant?: 'text' | 'outlined' | 'contained';\n}\n\n/**\n * ButtonGroup component - groups related buttons together\n * \n * @example\n * ```tsx\n * <ButtonGroup variant=\"contained\">\n * <Button>One</Button>\n * <Button>Two</Button>\n * <Button>Three</Button>\n * </ButtonGroup>\n * ```\n */\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n orientation = 'horizontal',\n size = 'medium',\n variant = 'outlined',\n ...props\n}) => {\n return (\n <MuiButtonGroup\n orientation={orientation}\n size={size}\n variant={variant}\n {...props}\n />\n );\n};\n\nexport default ButtonGroup;\n\n"]}
|