@cere/cere-design-system 0.0.45 → 0.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.
Files changed (164) hide show
  1. package/README.md +76 -0
  2. package/dist/buttons.d.mts +119 -0
  3. package/dist/buttons.d.ts +119 -0
  4. package/dist/buttons.js +19 -0
  5. package/dist/buttons.js.map +1 -0
  6. package/dist/buttons.mjs +19 -0
  7. package/dist/buttons.mjs.map +1 -0
  8. package/dist/carousel.d.mts +51 -0
  9. package/dist/carousel.d.ts +51 -0
  10. package/dist/carousel.js +185 -0
  11. package/dist/carousel.js.map +1 -0
  12. package/dist/carousel.mjs +185 -0
  13. package/dist/carousel.mjs.map +1 -0
  14. package/dist/charts.d.mts +187 -0
  15. package/dist/charts.d.ts +187 -0
  16. package/dist/charts.js +13 -0
  17. package/dist/charts.js.map +1 -0
  18. package/dist/charts.mjs +13 -0
  19. package/dist/charts.mjs.map +1 -0
  20. package/dist/chunk-2EBCST6X.js +25 -0
  21. package/dist/chunk-2EBCST6X.js.map +1 -0
  22. package/dist/chunk-2KDN37PQ.js +486 -0
  23. package/dist/chunk-2KDN37PQ.js.map +1 -0
  24. package/dist/chunk-34LFXT6C.mjs +486 -0
  25. package/dist/chunk-34LFXT6C.mjs.map +1 -0
  26. package/dist/chunk-3KCXCVOX.mjs +411 -0
  27. package/dist/chunk-3KCXCVOX.mjs.map +1 -0
  28. package/dist/chunk-4OKTICU5.js +374 -0
  29. package/dist/chunk-4OKTICU5.js.map +1 -0
  30. package/dist/chunk-5ASG6G6U.mjs +40 -0
  31. package/dist/chunk-5ASG6G6U.mjs.map +1 -0
  32. package/dist/chunk-72TQ56EP.js +280 -0
  33. package/dist/chunk-72TQ56EP.js.map +1 -0
  34. package/dist/chunk-7KXKK2RE.js +43 -0
  35. package/dist/chunk-7KXKK2RE.js.map +1 -0
  36. package/dist/chunk-ARSCL4ZZ.js +111 -0
  37. package/dist/chunk-ARSCL4ZZ.js.map +1 -0
  38. package/dist/chunk-AWVNEU6R.mjs +1478 -0
  39. package/dist/chunk-AWVNEU6R.mjs.map +1 -0
  40. package/dist/chunk-BH4FNZKK.mjs +1472 -0
  41. package/dist/chunk-BH4FNZKK.mjs.map +1 -0
  42. package/dist/chunk-BIZK6FUD.js +37 -0
  43. package/dist/chunk-BIZK6FUD.js.map +1 -0
  44. package/dist/chunk-BOQPWZIB.mjs +147 -0
  45. package/dist/chunk-BOQPWZIB.mjs.map +1 -0
  46. package/dist/chunk-BT7XUTT5.mjs +392 -0
  47. package/dist/chunk-BT7XUTT5.mjs.map +1 -0
  48. package/dist/chunk-D7D25O6E.mjs +280 -0
  49. package/dist/chunk-D7D25O6E.mjs.map +1 -0
  50. package/dist/chunk-DRGMEIPT.mjs +162 -0
  51. package/dist/chunk-DRGMEIPT.mjs.map +1 -0
  52. package/dist/chunk-DZXNYLVG.js +392 -0
  53. package/dist/chunk-DZXNYLVG.js.map +1 -0
  54. package/dist/chunk-GR52ENYI.mjs +527 -0
  55. package/dist/chunk-GR52ENYI.mjs.map +1 -0
  56. package/dist/chunk-GTBKQXXI.js +1472 -0
  57. package/dist/chunk-GTBKQXXI.js.map +1 -0
  58. package/dist/chunk-HJ24WKU4.js +120 -0
  59. package/dist/chunk-HJ24WKU4.js.map +1 -0
  60. package/dist/chunk-JBHRAAN3.js +31 -0
  61. package/dist/chunk-JBHRAAN3.js.map +1 -0
  62. package/dist/chunk-KKIKOIMP.js +1478 -0
  63. package/dist/chunk-KKIKOIMP.js.map +1 -0
  64. package/dist/chunk-LVJSKRX3.js +147 -0
  65. package/dist/chunk-LVJSKRX3.js.map +1 -0
  66. package/dist/chunk-OWWDNDF4.js +40 -0
  67. package/dist/chunk-OWWDNDF4.js.map +1 -0
  68. package/dist/chunk-PFZZJZ64.js +162 -0
  69. package/dist/chunk-PFZZJZ64.js.map +1 -0
  70. package/dist/chunk-PHMNZK2R.mjs +18 -0
  71. package/dist/chunk-PHMNZK2R.mjs.map +1 -0
  72. package/dist/chunk-POCAW2G4.mjs +111 -0
  73. package/dist/chunk-POCAW2G4.mjs.map +1 -0
  74. package/dist/chunk-QBCRH7YF.mjs +37 -0
  75. package/dist/chunk-QBCRH7YF.mjs.map +1 -0
  76. package/dist/chunk-QCFLZ7X3.js +527 -0
  77. package/dist/chunk-QCFLZ7X3.js.map +1 -0
  78. package/dist/chunk-SG2TD7FQ.mjs +374 -0
  79. package/dist/chunk-SG2TD7FQ.mjs.map +1 -0
  80. package/dist/chunk-SSFALO6S.mjs +120 -0
  81. package/dist/chunk-SSFALO6S.mjs.map +1 -0
  82. package/dist/chunk-U2QHFISG.js +18 -0
  83. package/dist/chunk-U2QHFISG.js.map +1 -0
  84. package/dist/chunk-UPGFBPFX.mjs +25 -0
  85. package/dist/chunk-UPGFBPFX.mjs.map +1 -0
  86. package/dist/chunk-WC2TCWXK.mjs +445 -0
  87. package/dist/chunk-WC2TCWXK.mjs.map +1 -0
  88. package/dist/chunk-XZZZ4MZV.js +445 -0
  89. package/dist/chunk-XZZZ4MZV.js.map +1 -0
  90. package/dist/chunk-YCDCQSYH.js +411 -0
  91. package/dist/chunk-YCDCQSYH.js.map +1 -0
  92. package/dist/chunk-ZDAZYIXB.mjs +43 -0
  93. package/dist/chunk-ZDAZYIXB.mjs.map +1 -0
  94. package/dist/chunk-ZP26PGMS.mjs +31 -0
  95. package/dist/chunk-ZP26PGMS.mjs.map +1 -0
  96. package/dist/feedback.d.mts +368 -0
  97. package/dist/feedback.d.ts +368 -0
  98. package/dist/feedback.js +43 -0
  99. package/dist/feedback.js.map +1 -0
  100. package/dist/feedback.mjs +43 -0
  101. package/dist/feedback.mjs.map +1 -0
  102. package/dist/fonts/HumanSans-BlackOblique.otf +0 -0
  103. package/dist/fonts/HumanSans-Thin.otf +0 -0
  104. package/dist/fonts/HumanSans-ThinOblique.otf +0 -0
  105. package/dist/fonts/human-sans-font.css +88 -0
  106. package/dist/fonts/human-sans.css +3 -0
  107. package/dist/fonts/inter.css +3 -0
  108. package/dist/icons.d.mts +21 -0
  109. package/dist/icons.d.ts +21 -0
  110. package/dist/icons.js +23 -0
  111. package/dist/icons.js.map +1 -0
  112. package/dist/icons.mjs +23 -0
  113. package/dist/icons.mjs.map +1 -0
  114. package/dist/index.d.mts +196 -3082
  115. package/dist/index.d.ts +196 -3082
  116. package/dist/index.js +253 -10082
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +229 -10017
  119. package/dist/index.mjs.map +1 -1
  120. package/dist/inputs.d.mts +129 -0
  121. package/dist/inputs.d.ts +129 -0
  122. package/dist/inputs.js +43 -0
  123. package/dist/inputs.js.map +1 -0
  124. package/dist/inputs.mjs +43 -0
  125. package/dist/inputs.mjs.map +1 -0
  126. package/dist/layout.d.mts +681 -0
  127. package/dist/layout.d.ts +681 -0
  128. package/dist/layout.js +98 -0
  129. package/dist/layout.js.map +1 -0
  130. package/dist/layout.mjs +98 -0
  131. package/dist/layout.mjs.map +1 -0
  132. package/dist/navigation.d.mts +611 -0
  133. package/dist/navigation.d.ts +611 -0
  134. package/dist/navigation.js +54 -0
  135. package/dist/navigation.js.map +1 -0
  136. package/dist/navigation.mjs +54 -0
  137. package/dist/navigation.mjs.map +1 -0
  138. package/dist/third-party.d.mts +113 -0
  139. package/dist/third-party.d.ts +113 -0
  140. package/dist/third-party.js +7 -0
  141. package/dist/third-party.js.map +1 -0
  142. package/dist/third-party.mjs +7 -0
  143. package/dist/third-party.mjs.map +1 -0
  144. package/dist/tokens.css +45 -71
  145. package/dist/utilities.d.mts +39 -0
  146. package/dist/utilities.d.ts +39 -0
  147. package/dist/utilities.js +17 -0
  148. package/dist/utilities.js.map +1 -0
  149. package/dist/utilities.mjs +17 -0
  150. package/dist/utilities.mjs.map +1 -0
  151. package/package.json +76 -8
  152. package/dist/index.css +0 -79
  153. package/dist/index.css.map +0 -1
  154. /package/dist/{HumanSans-Black-C4YJONK7.otf → fonts/HumanSans-Black.otf} +0 -0
  155. /package/dist/{HumanSans-Bold-4EAJ3L3T.otf → fonts/HumanSans-Bold.otf} +0 -0
  156. /package/dist/{HumanSans-BoldOblique-4D325T4F.otf → fonts/HumanSans-BoldOblique.otf} +0 -0
  157. /package/dist/{HumanSans-ExtraLight-VL7DEKQ4.otf → fonts/HumanSans-ExtraLight.otf} +0 -0
  158. /package/dist/{HumanSans-ExtraLightOblique-VK2JTUXF.otf → fonts/HumanSans-ExtraLightOblique.otf} +0 -0
  159. /package/dist/{HumanSans-Light-YV7AFKRB.otf → fonts/HumanSans-Light.otf} +0 -0
  160. /package/dist/{HumanSans-LightOblique-VIXV7QA6.otf → fonts/HumanSans-LightOblique.otf} +0 -0
  161. /package/dist/{HumanSans-Medium-UULJ3PIR.otf → fonts/HumanSans-Medium.otf} +0 -0
  162. /package/dist/{HumanSans-MediumOblique-M7FHDZRS.otf → fonts/HumanSans-MediumOblique.otf} +0 -0
  163. /package/dist/{HumanSans-Regular-QMFEP3F6.otf → fonts/HumanSans-Regular.otf} +0 -0
  164. /package/dist/{HumanSans-RegularOblique-YPKQJAAM.otf → fonts/HumanSans-RegularOblique.otf} +0 -0
@@ -0,0 +1,280 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+ var _chunkXZZZ4MZVjs = require('./chunk-XZZZ4MZV.js');
12
+
13
+ // src/theme/spacing.ts
14
+ var borderRadius = {
15
+ /** Small: alerts, compact elements */
16
+ sm: 8,
17
+ /** Medium: buttons, inputs, selects */
18
+ md: 12,
19
+ /** Large: chips, cards, global default */
20
+ lg: 16,
21
+ /** Extra large: hero surfaces, dialogs */
22
+ xl: 20,
23
+ /** Pill: fully rounded badges, on-gradient buttons */
24
+ pill: 999
25
+ };
26
+
27
+ // src/theme/surfaceVariants/webLight.ts
28
+ var webLight = _chunkXZZZ4MZVjs.webSurfaceTokens;
29
+
30
+ // src/theme/surfaceVariants/index.ts
31
+ var surfaceVariants = { webLight };
32
+
33
+ // src/theme/index.ts
34
+ var _styles = require('@mui/material/styles');
35
+
36
+ // src/theme/semantic.ts
37
+ var semantic = {
38
+ action: {
39
+ primary: _chunkXZZZ4MZVjs.primitives.violet[500],
40
+ primaryHover: _chunkXZZZ4MZVjs.primitives.violet[600],
41
+ disabled: _chunkXZZZ4MZVjs.primitives.grey[400]
42
+ },
43
+ surface: {
44
+ default: _chunkXZZZ4MZVjs.primitives.white,
45
+ paper: _chunkXZZZ4MZVjs.primitives.white,
46
+ // Divergent near-violet #7B2CBF (rgba 123,44,191). NOT the brand violet
47
+ // (#aa44f2). Kept distinct in Track A; collapse deferred to Track C.
48
+ selected: "rgba(123, 44, 191, 0.1)",
49
+ hover: "rgba(0, 0, 0, 0.04)"
50
+ },
51
+ text: {
52
+ primary: _chunkXZZZ4MZVjs.primitives.nearBlack,
53
+ secondary: _chunkXZZZ4MZVjs.primitives.neutral[600],
54
+ disabled: _chunkXZZZ4MZVjs.primitives.neutral[900],
55
+ contrast: _chunkXZZZ4MZVjs.primitives.white
56
+ },
57
+ border: {
58
+ default: _chunkXZZZ4MZVjs.primitives.grey[300],
59
+ subtle: "rgba(0, 0, 0, 0.05)"
60
+ },
61
+ feedback: {
62
+ success: {
63
+ main: _chunkXZZZ4MZVjs.primitives.green[500],
64
+ light: _chunkXZZZ4MZVjs.primitives.green[400],
65
+ dark: _chunkXZZZ4MZVjs.primitives.green[600]
66
+ },
67
+ error: {
68
+ main: _chunkXZZZ4MZVjs.primitives.red[500],
69
+ light: _chunkXZZZ4MZVjs.primitives.red[400],
70
+ dark: _chunkXZZZ4MZVjs.primitives.red[600]
71
+ },
72
+ warning: {
73
+ main: _chunkXZZZ4MZVjs.primitives.amber[500],
74
+ light: _chunkXZZZ4MZVjs.primitives.amber[400],
75
+ dark: _chunkXZZZ4MZVjs.primitives.amber[600]
76
+ }
77
+ }
78
+ };
79
+ var deploymentSurfaceTokens = {
80
+ /** Surface/high background (Figma #fefcff) */
81
+ surfaceHigh: _chunkXZZZ4MZVjs.deploymentSurface.surfaceHigh,
82
+ /** Stroke/Outside border (Figma #e6e6e6) */
83
+ strokeOutside: _chunkXZZZ4MZVjs.deploymentSurface.strokeOutside,
84
+ /** Default card border (Figma #cdcccd) */
85
+ borderDefault: _chunkXZZZ4MZVjs.deploymentSurface.borderDefault,
86
+ /** Primary text (Figma #1d1b20) */
87
+ textPrimary: _chunkXZZZ4MZVjs.deploymentSurface.textPrimary,
88
+ /** Secondary/muted text (Figma #818083) */
89
+ textSecondary: _chunkXZZZ4MZVjs.deploymentSurface.textSecondary,
90
+ /** Accent blue for workspace border, capacity bar, chevrons (Figma #5865f2) */
91
+ accentBlue: _chunkXZZZ4MZVjs.deploymentSurface.accentBlue,
92
+ /** Workspace card shadow */
93
+ workspaceShadow: "0px 8px 12px rgba(26, 10, 124, 0.1)",
94
+ /** Hover state for context menu items */
95
+ hoverLight: _chunkXZZZ4MZVjs.deploymentSurface.hoverLight,
96
+ /** Generic hover overlay (buttons, icon-buttons, rows) */
97
+ hoverOverlay: "rgba(0, 0, 0, 0.04)",
98
+ /** Blue-50 highlight background for active menu items (Figma blue-50) */
99
+ highlightBg: _chunkXZZZ4MZVjs.deploymentSurface.highlightBg,
100
+ /** Blue-50 highlight background hover state */
101
+ highlightBgHover: _chunkXZZZ4MZVjs.deploymentSurface.highlightBgHover,
102
+ /** Blue-100 highlight border for active menu items (Figma blue-100) */
103
+ highlightBorder: _chunkXZZZ4MZVjs.deploymentSurface.highlightBorder,
104
+ /** Switch track enabled (Figma basic/green #53b96a) */
105
+ switchGreen: _chunkXZZZ4MZVjs.deploymentSurface.switchGreen,
106
+ /** Switch track disabled/off (Figma neutral track) */
107
+ switchTrackOff: _chunkXZZZ4MZVjs.deploymentSurface.switchTrackOff
108
+ };
109
+
110
+ // src/theme/components.ts
111
+ var components = {
112
+ MuiButton: {
113
+ styleOverrides: {
114
+ root: {
115
+ textTransform: "none",
116
+ borderRadius: borderRadius.md,
117
+ fontWeight: 600,
118
+ padding: "8px 24px",
119
+ boxShadow: "none",
120
+ "&:hover": {
121
+ boxShadow: "none"
122
+ }
123
+ },
124
+ sizeSmall: {
125
+ padding: "4px 12px",
126
+ fontSize: "12px"
127
+ },
128
+ sizeMedium: {
129
+ padding: "8px 24px",
130
+ fontSize: "14px"
131
+ },
132
+ sizeLarge: {
133
+ padding: "12px 24px",
134
+ fontSize: "16px"
135
+ }
136
+ }
137
+ },
138
+ MuiTextField: {
139
+ styleOverrides: {
140
+ root: {
141
+ "& .MuiOutlinedInput-root": {
142
+ borderRadius: borderRadius.md
143
+ }
144
+ }
145
+ }
146
+ },
147
+ MuiSelect: {
148
+ styleOverrides: {
149
+ root: {
150
+ borderRadius: borderRadius.md
151
+ }
152
+ }
153
+ },
154
+ MuiChip: {
155
+ styleOverrides: {
156
+ root: {
157
+ borderRadius: borderRadius.lg,
158
+ fontWeight: 500
159
+ }
160
+ }
161
+ },
162
+ MuiPaper: {
163
+ styleOverrides: {
164
+ root: {
165
+ boxShadow: "0px 4px 20px rgba(0, 0, 0, 0.05)",
166
+ border: "1px solid rgba(0, 0, 0, 0.05)"
167
+ }
168
+ }
169
+ },
170
+ MuiDrawer: {
171
+ styleOverrides: {
172
+ paper: {
173
+ borderRight: "1px solid rgba(0, 0, 0, 0.05)"
174
+ }
175
+ }
176
+ },
177
+ MuiAlert: {
178
+ styleOverrides: {
179
+ root: {
180
+ borderRadius: borderRadius.sm
181
+ },
182
+ filled: {
183
+ borderRadius: borderRadius.sm
184
+ }
185
+ }
186
+ }
187
+ };
188
+
189
+ // src/theme/index.ts
190
+ var colors = {
191
+ primary: {
192
+ main: semantic.action.primary,
193
+ light: semantic.action.primary,
194
+ dark: semantic.action.primaryHover,
195
+ contrastText: semantic.text.contrast
196
+ },
197
+ secondary: {
198
+ main: _chunkXZZZ4MZVjs.primitives.neutral[600],
199
+ light: _chunkXZZZ4MZVjs.primitives.neutral[900],
200
+ dark: _chunkXZZZ4MZVjs.primitives.neutral[300],
201
+ contrastText: semantic.text.contrast
202
+ },
203
+ success: {
204
+ main: semantic.feedback.success.main,
205
+ light: semantic.feedback.success.light,
206
+ dark: semantic.feedback.success.dark,
207
+ contrastText: semantic.text.contrast
208
+ },
209
+ error: {
210
+ main: semantic.feedback.error.main,
211
+ light: semantic.feedback.error.light,
212
+ dark: semantic.feedback.error.dark,
213
+ contrastText: semantic.text.contrast
214
+ },
215
+ warning: {
216
+ main: semantic.feedback.warning.main,
217
+ light: semantic.feedback.warning.light,
218
+ dark: semantic.feedback.warning.dark,
219
+ contrastText: semantic.text.contrast
220
+ },
221
+ tertiary: {
222
+ main: semantic.feedback.warning.main,
223
+ light: semantic.feedback.warning.light,
224
+ dark: semantic.feedback.warning.dark,
225
+ contrastText: _chunkXZZZ4MZVjs.primitives.nearBlack
226
+ },
227
+ grey: _chunkXZZZ4MZVjs.primitives.grey,
228
+ text: {
229
+ primary: semantic.text.primary,
230
+ secondary: semantic.text.secondary,
231
+ disabled: semantic.text.disabled
232
+ },
233
+ background: {
234
+ default: semantic.surface.default,
235
+ paper: semantic.surface.paper,
236
+ selected: semantic.surface.selected
237
+ }
238
+ };
239
+ var baseTheme = _styles.createTheme.call(void 0, {
240
+ cssVariables: true,
241
+ palette: {
242
+ mode: "light",
243
+ primary: colors.primary,
244
+ secondary: colors.secondary,
245
+ success: colors.success,
246
+ error: colors.error,
247
+ warning: colors.warning,
248
+ grey: colors.grey,
249
+ text: colors.text,
250
+ background: colors.background
251
+ },
252
+ typography: _chunkXZZZ4MZVjs.typography,
253
+ shape: {
254
+ borderRadius: borderRadius.lg
255
+ },
256
+ components
257
+ });
258
+ var theme = _styles.createTheme.call(void 0, baseTheme, {
259
+ palette: {
260
+ deployment: {
261
+ entity: _chunkXZZZ4MZVjs.deploymentEntityColors,
262
+ status: _chunkXZZZ4MZVjs.deploymentStatusColors
263
+ },
264
+ workflow: {
265
+ node: _chunkXZZZ4MZVjs.workflowNodeColors,
266
+ connection: _chunkXZZZ4MZVjs.workflowConnectionColors,
267
+ chrome: _chunkXZZZ4MZVjs.workflowChromeColors
268
+ }
269
+ }
270
+ });
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+ exports.deploymentSurfaceTokens = deploymentSurfaceTokens; exports.borderRadius = borderRadius; exports.webLight = webLight; exports.surfaceVariants = surfaceVariants; exports.colors = colors; exports.theme = theme;
280
+ //# sourceMappingURL=chunk-72TQ56EP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/cere-design-system/cere-design-system/dist/chunk-72TQ56EP.js","../src/theme/spacing.ts","../src/theme/surfaceVariants/webLight.ts","../src/theme/surfaceVariants/index.ts","../src/theme/index.ts","../src/theme/semantic.ts","../src/theme/components.ts"],"names":[],"mappings":"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","file":"/home/runner/work/cere-design-system/cere-design-system/dist/chunk-72TQ56EP.js","sourcesContent":[null,"/**\n * Spacing and sizing tokens for the design system.\n *\n * Centralizes border-radius, component-specific sizing, and spacing\n * constants that were previously scattered across component files.\n */\n\nexport const borderRadius = {\n /** Small: alerts, compact elements */\n sm: 8,\n /** Medium: buttons, inputs, selects */\n md: 12,\n /** Large: chips, cards, global default */\n lg: 16,\n /** Extra large: hero surfaces, dialogs */\n xl: 20,\n /** Pill: fully rounded badges, on-gradient buttons */\n pill: 999,\n} as const;\n\nexport const componentSizing = {\n workflow: {\n nodeIconSize: 18,\n inspectorWidth: 320,\n },\n deployment: {\n entityIconSize: 16,\n chevronSize: 16,\n panelRadius: 12,\n },\n} as const;\n","/**\n * Surface variant: web-light.\n *\n * The marketplace + vault product palette. Both apps render on a light\n * surface; the older audit synthesis (which assumed marketplace was dark)\n * was wrong. There is no shipping dark variant today; that lands as part\n * of the dark-mode work (blocker `B5` in `DESIGN_SYSTEM_TODO.md`).\n *\n * This variant currently mirrors `webSurfaceTokens` verbatim. Future\n * work may diverge (e.g. a vault-specific accent override), at which\n * point a new named variant should be added rather than forking values\n * in app land.\n *\n * See `company-memory-bank/00-foundations/design-system.md` §4.\n */\n\nimport { webSurfaceTokens } from '../webSurfaceTokens';\n\nexport const webLight = webSurfaceTokens;\nexport type WebLightVariant = typeof webLight;\n","import { webLight } from './webLight';\n\n/**\n * Named surface variants. Consumers pick one variant per product surface\n * by importing the matching CSS layer (`@cere/cere-design-system/surfaces/<name>.css`)\n * AND optionally referencing the typed token bag here at the TS layer.\n *\n * Today there is only `webLight` (the shipped marketplace + vault\n * palette). A future `webDark` lands with the dark-mode work\n * (`DESIGN_SYSTEM_TODO.md` blocker `B5`).\n *\n * See `company-memory-bank/00-foundations/design-system.md` §4.\n */\nexport const surfaceVariants = { webLight } as const;\nexport type SurfaceVariant = keyof typeof surfaceVariants;\n\nexport { webLight };\nexport type { WebLightVariant } from './webLight';\n","/**\n * Design system theme barrel.\n *\n * Composes the MUI theme from token modules and re-exports everything\n * the public API needs. Internal structure:\n *\n * primitives.ts - Tier 1: raw color values (hue + shade)\n * semantic.ts - Tier 2: intent-based tokens\n * typography.ts - Font family and type scale\n * components.ts - MUI component style overrides\n * spacing.ts - Border radius and sizing constants\n */\n\nimport { createTheme, Theme } from '@mui/material/styles';\n// Side-effect: register custom Typography variants with MUI's type system.\nimport './typography-augment';\n\n// Token modules\nimport { primitives, deploymentEntityColors, deploymentStatusColors, workflowNodeColors, workflowConnectionColors, workflowChromeColors } from './primitives';\nimport { semantic } from './semantic';\nimport { typography } from './typography';\nimport { components } from './components';\nimport { borderRadius } from './spacing';\n\n// ---------------------------------------------------------------------------\n// Module augmentation: type-safe access to theme.palette.deployment/workflow\n// ---------------------------------------------------------------------------\ndeclare module '@mui/material/styles' {\n interface TypeBackground {\n selected: string;\n }\n interface Palette {\n deployment: {\n entity: typeof deploymentEntityColors;\n status: typeof deploymentStatusColors;\n };\n workflow: {\n node: typeof workflowNodeColors;\n connection: typeof workflowConnectionColors;\n chrome: typeof workflowChromeColors;\n };\n }\n interface PaletteOptions {\n deployment?: {\n entity?: Record<string, string>;\n status?: Record<string, string>;\n };\n workflow?: {\n node?: Partial<typeof workflowNodeColors>;\n connection?: Partial<typeof workflowConnectionColors>;\n chrome?: Partial<typeof workflowChromeColors>;\n };\n }\n}\n\n// ---------------------------------------------------------------------------\n// Backwards-compatible `colors` object (same shape, derived from tokens)\n// ---------------------------------------------------------------------------\nconst colors = {\n primary: {\n main: semantic.action.primary,\n light: semantic.action.primary,\n dark: semantic.action.primaryHover,\n contrastText: semantic.text.contrast,\n },\n secondary: {\n main: primitives.neutral[600],\n light: primitives.neutral[900],\n dark: primitives.neutral[300],\n contrastText: semantic.text.contrast,\n },\n success: {\n main: semantic.feedback.success.main,\n light: semantic.feedback.success.light,\n dark: semantic.feedback.success.dark,\n contrastText: semantic.text.contrast,\n },\n error: {\n main: semantic.feedback.error.main,\n light: semantic.feedback.error.light,\n dark: semantic.feedback.error.dark,\n contrastText: semantic.text.contrast,\n },\n warning: {\n main: semantic.feedback.warning.main,\n light: semantic.feedback.warning.light,\n dark: semantic.feedback.warning.dark,\n contrastText: semantic.text.contrast,\n },\n tertiary: {\n main: semantic.feedback.warning.main,\n light: semantic.feedback.warning.light,\n dark: semantic.feedback.warning.dark,\n contrastText: primitives.nearBlack,\n },\n grey: primitives.grey,\n text: {\n primary: semantic.text.primary,\n secondary: semantic.text.secondary,\n disabled: semantic.text.disabled,\n },\n background: {\n default: semantic.surface.default,\n paper: semantic.surface.paper,\n selected: semantic.surface.selected,\n },\n};\n\n// ---------------------------------------------------------------------------\n// Theme composition\n// ---------------------------------------------------------------------------\nconst baseTheme = createTheme({\n cssVariables: true,\n palette: {\n mode: 'light',\n primary: colors.primary,\n secondary: colors.secondary,\n success: colors.success,\n error: colors.error,\n warning: colors.warning,\n grey: colors.grey,\n text: colors.text,\n background: colors.background,\n },\n typography,\n shape: {\n borderRadius: borderRadius.lg,\n },\n components,\n});\n\n// Extend palette with deployment dashboard and workflow tokens\nexport const theme: Theme = createTheme(baseTheme, {\n palette: {\n deployment: {\n entity: deploymentEntityColors,\n status: deploymentStatusColors,\n },\n workflow: {\n node: workflowNodeColors,\n connection: workflowConnectionColors,\n chrome: workflowChromeColors,\n },\n },\n});\n\n// ---------------------------------------------------------------------------\n// Public exports (preserve every name the old barrel exported)\n// ---------------------------------------------------------------------------\nexport { colors };\nexport { semantic, deploymentSurfaceTokens } from './semantic';\nexport {\n primitives,\n robPrimaryPalette,\n robPaletteExtended,\n deploymentEntityColors,\n deploymentStatusColors,\n workflowNodeColors,\n workflowConnectionColors,\n workflowChromeColors,\n deploymentSurface,\n} from './primitives';\nexport { borderRadius, componentSizing } from './spacing';\nexport { motion } from './motion';\nexport { webSurfaceTokens } from './webSurfaceTokens';\nexport type { WebSurfaceTokenKey } from './webSurfaceTokens';\nexport { surfaceVariants, webLight } from './surfaceVariants';\nexport type { SurfaceVariant, WebLightVariant } from './surfaceVariants';\n","/**\n * Tier 2: Semantic color tokens.\n *\n * Intent-based tokens that map primitives to UI roles. Components\n * should reference these (or theme.palette) instead of raw hex values.\n *\n * To change the color scheme: edit the mappings here. Zero component changes.\n */\n\nimport { primitives, deploymentSurface } from './primitives';\n\nexport const semantic = {\n action: {\n primary: primitives.violet[500],\n primaryHover: primitives.violet[600],\n disabled: primitives.grey[400],\n },\n surface: {\n default: primitives.white,\n paper: primitives.white,\n // Divergent near-violet #7B2CBF (rgba 123,44,191). NOT the brand violet\n // (#aa44f2). Kept distinct in Track A; collapse deferred to Track C.\n selected: 'rgba(123, 44, 191, 0.1)',\n hover: 'rgba(0, 0, 0, 0.04)',\n },\n text: {\n primary: primitives.nearBlack,\n secondary: primitives.neutral[600],\n disabled: primitives.neutral[900],\n contrast: primitives.white,\n },\n border: {\n default: primitives.grey[300],\n subtle: 'rgba(0, 0, 0, 0.05)',\n },\n feedback: {\n success: {\n main: primitives.green[500],\n light: primitives.green[400],\n dark: primitives.green[600],\n },\n error: {\n main: primitives.red[500],\n light: primitives.red[400],\n dark: primitives.red[600],\n },\n warning: {\n main: primitives.amber[500],\n light: primitives.amber[400],\n dark: primitives.amber[600],\n },\n },\n} as const;\n\n/**\n * Shared Figma surface/stroke tokens used across deployment dashboard\n * components. Referenced by semantic name rather than raw hex.\n */\nexport const deploymentSurfaceTokens = {\n /** Surface/high background (Figma #fefcff) */\n surfaceHigh: deploymentSurface.surfaceHigh,\n /** Stroke/Outside border (Figma #e6e6e6) */\n strokeOutside: deploymentSurface.strokeOutside,\n /** Default card border (Figma #cdcccd) */\n borderDefault: deploymentSurface.borderDefault,\n /** Primary text (Figma #1d1b20) */\n textPrimary: deploymentSurface.textPrimary,\n /** Secondary/muted text (Figma #818083) */\n textSecondary: deploymentSurface.textSecondary,\n /** Accent blue for workspace border, capacity bar, chevrons (Figma #5865f2) */\n accentBlue: deploymentSurface.accentBlue,\n /** Workspace card shadow */\n workspaceShadow: '0px 8px 12px rgba(26, 10, 124, 0.1)',\n /** Hover state for context menu items */\n hoverLight: deploymentSurface.hoverLight,\n /** Generic hover overlay (buttons, icon-buttons, rows) */\n hoverOverlay: 'rgba(0, 0, 0, 0.04)',\n /** Blue-50 highlight background for active menu items (Figma blue-50) */\n highlightBg: deploymentSurface.highlightBg,\n /** Blue-50 highlight background hover state */\n highlightBgHover: deploymentSurface.highlightBgHover,\n /** Blue-100 highlight border for active menu items (Figma blue-100) */\n highlightBorder: deploymentSurface.highlightBorder,\n /** Switch track enabled (Figma basic/green #53b96a) */\n switchGreen: deploymentSurface.switchGreen,\n /** Switch track disabled/off (Figma neutral track) */\n switchTrackOff: deploymentSurface.switchTrackOff,\n} as const;\n","/**\n * MUI component style overrides for the design system.\n *\n * Centralized overrides applied via createTheme({ components }).\n * Keeps the theme barrel focused on composition.\n */\n\nimport type { Components, Theme } from '@mui/material/styles';\nimport { borderRadius } from './spacing';\n\nexport const components: Components<Omit<Theme, 'components'>> = {\n MuiButton: {\n styleOverrides: {\n root: {\n textTransform: 'none',\n borderRadius: borderRadius.md,\n fontWeight: 600,\n padding: '8px 24px',\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none',\n },\n },\n sizeSmall: {\n padding: '4px 12px',\n fontSize: '12px',\n },\n sizeMedium: {\n padding: '8px 24px',\n fontSize: '14px',\n },\n sizeLarge: {\n padding: '12px 24px',\n fontSize: '16px',\n },\n },\n },\n MuiTextField: {\n styleOverrides: {\n root: {\n '& .MuiOutlinedInput-root': {\n borderRadius: borderRadius.md,\n },\n },\n },\n },\n MuiSelect: {\n styleOverrides: {\n root: {\n borderRadius: borderRadius.md,\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n borderRadius: borderRadius.lg,\n fontWeight: 500,\n },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.05)',\n border: '1px solid rgba(0, 0, 0, 0.05)',\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paper: {\n borderRight: '1px solid rgba(0, 0, 0, 0.05)',\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: {\n borderRadius: borderRadius.sm,\n },\n filled: {\n borderRadius: borderRadius.sm,\n },\n },\n },\n};\n"]}
@@ -0,0 +1,43 @@
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
+ var _ButtonGroup = require('@mui/material/ButtonGroup'); var _ButtonGroup2 = _interopRequireDefault(_ButtonGroup);
21
+
22
+ var ButtonGroup = ({
23
+ orientation = "horizontal",
24
+ size = "medium",
25
+ variant = "outlined",
26
+ ...props
27
+ }) => {
28
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29
+ _ButtonGroup2.default,
30
+ {
31
+ orientation,
32
+ size,
33
+ variant,
34
+ ...props
35
+ }
36
+ );
37
+ };
38
+
39
+
40
+
41
+
42
+ exports.LoadingButton = LoadingButton; exports.ButtonGroup = ButtonGroup;
43
+ //# sourceMappingURL=chunk-7KXKK2RE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/cere-design-system/cere-design-system/dist/chunk-7KXKK2RE.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,kHAA2B;AAoDvB;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-7KXKK2RE.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 MuiButtonGroup from '@mui/material/ButtonGroup';\nimport type { ButtonGroupProps as MuiButtonGroupProps } from '@mui/material/ButtonGroup';\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"]}
@@ -0,0 +1,111 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/components/layout/Card.tsx
2
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
3
+ var _Card = require('@mui/material/Card'); var _Card2 = _interopRequireDefault(_Card);
4
+ var _CardContent = require('@mui/material/CardContent'); var _CardContent2 = _interopRequireDefault(_CardContent);
5
+ var _CardHeader = require('@mui/material/CardHeader'); var _CardHeader2 = _interopRequireDefault(_CardHeader);
6
+ var _CardActions = require('@mui/material/CardActions'); var _CardActions2 = _interopRequireDefault(_CardActions);
7
+ var _CardMedia = require('@mui/material/CardMedia'); var _CardMedia2 = _interopRequireDefault(_CardMedia);
8
+ var _ButtonBase = require('@mui/material/ButtonBase'); var _ButtonBase2 = _interopRequireDefault(_ButtonBase);
9
+ var _styles = require('@mui/material/styles');
10
+ var _jsxruntime = require('react/jsx-runtime');
11
+ var CardMedia = _react2.default.forwardRef(
12
+ function CardMedia2(props, ref) {
13
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CardMedia2.default, { ref, ...props });
14
+ }
15
+ );
16
+ var StyledCard = _styles.styled.call(void 0, _Card2.default, {
17
+ shouldForwardProp: (prop) => prop !== "hoverable" && prop !== "clickable" && prop !== "dsVariant" && prop !== "asButton"
18
+ })(
19
+ ({ theme, hoverable, clickable, dsVariant, asButton }) => ({
20
+ borderRadius: 8,
21
+ transition: "all 0.2s ease-in-out",
22
+ ...dsVariant === "standard" && {
23
+ boxShadow: theme.shadows[1],
24
+ backgroundColor: theme.palette.background.paper
25
+ },
26
+ ...dsVariant === "tinted" && {
27
+ boxShadow: "none",
28
+ backgroundColor: theme.palette.action.hover,
29
+ border: `1px solid ${theme.palette.divider}`
30
+ },
31
+ ...dsVariant === "outlined" && {
32
+ boxShadow: "none",
33
+ backgroundColor: theme.palette.background.paper,
34
+ border: `1px solid ${theme.palette.divider}`
35
+ },
36
+ ...(clickable || asButton) && {
37
+ cursor: "pointer"
38
+ },
39
+ ...asButton && {
40
+ // Neutralise ButtonBase defaults (inline-flex + center alignment) so the
41
+ // card lays out exactly like a non-clickable Card. We render as a column
42
+ // flex so consumers can still stack GradientSurface + meta inside.
43
+ display: "flex",
44
+ flexDirection: "column",
45
+ alignItems: "stretch",
46
+ justifyContent: "flex-start",
47
+ width: "100%",
48
+ textAlign: "left",
49
+ verticalAlign: "top",
50
+ font: "inherit",
51
+ color: "inherit",
52
+ padding: 0,
53
+ "&:focus-visible": {
54
+ outline: "none",
55
+ boxShadow: "0 0 0 4px rgba(170,68,242,0.25)"
56
+ }
57
+ },
58
+ ...hoverable && {
59
+ "&:hover": {
60
+ boxShadow: theme.shadows[4],
61
+ transform: "translateY(-2px)"
62
+ }
63
+ }
64
+ })
65
+ );
66
+ var Card = _react2.default.forwardRef(function Card2({ variant = "standard", hoverable = false, clickable = false, onClick, children, ...props }, ref) {
67
+ const asButton = clickable && typeof onClick === "function";
68
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
69
+ StyledCard,
70
+ {
71
+ ref,
72
+ dsVariant: variant,
73
+ hoverable,
74
+ clickable,
75
+ asButton,
76
+ variant: "elevation",
77
+ onClick,
78
+ ...asButton ? { component: _ButtonBase2.default } : {},
79
+ ...props,
80
+ children
81
+ }
82
+ );
83
+ });
84
+ var CardContent = _react2.default.forwardRef(
85
+ function CardContent2(props, ref) {
86
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CardContent2.default, { ref, ...props });
87
+ }
88
+ );
89
+ var CardHeader = _react2.default.forwardRef(
90
+ function CardHeader2(props, ref) {
91
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CardHeader2.default, { ref, ...props });
92
+ }
93
+ );
94
+ var CardActions = _react2.default.forwardRef(
95
+ function CardActions2(props, ref) {
96
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CardActions2.default, { ref, ...props });
97
+ }
98
+ );
99
+
100
+ // src/components/layout/Typography.tsx
101
+ var _Typography = require('@mui/material/Typography'); var _Typography2 = _interopRequireDefault(_Typography);
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ exports.CardMedia = CardMedia; exports.Card = Card; exports.CardContent = CardContent; exports.CardHeader = CardHeader; exports.CardActions = CardActions; exports.default = _Typography2.default;
111
+ //# sourceMappingURL=chunk-ARSCL4ZZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/cere-design-system/cere-design-system/dist/chunk-ARSCL4ZZ.js","../src/components/layout/Card.tsx","../src/components/layout/Typography.tsx"],"names":["CardMedia"],"mappings":"AAAA;ACAA,4EAAkB;AAClB,sFAAmD;AACnD,kHAAiD;AACjD,8GAA+C;AAC/C,kHAAiD;AACjD,0GAAkE;AAClE,8GAAuB;AACvB,8CAAuB;AAKZ,+CAAA;AAFJ,IAAM,UAAA,EAAY,eAAA,CAAM,UAAA;AAAA,EAC7B,SAASA,UAAAA,CAAU,KAAA,EAAO,GAAA,EAAK;AAC7B,IAAA,uBAAO,6BAAA,mBAAC,EAAA,EAAa,GAAA,EAAW,GAAG,MAAA,CAAO,CAAA;AAAA,EAC5C;AACF,CAAA;AAqBA,IAAM,WAAA,EAAa,4BAAA,cAAO,EAAS;AAAA,EACjC,iBAAA,EAAmB,CAAC,IAAA,EAAA,GAClB,KAAA,IAAS,YAAA,GAAe,KAAA,IAAS,YAAA,GAAe,KAAA,IAAS,YAAA,GAAe,KAAA,IAAS;AACrF,CAAC,CAAA;AAAA,EACC,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,SAAS,CAAA,EAAA,GAAA,CAAO;AAAA,IACzD,YAAA,EAAc,CAAA;AAAA,IACd,UAAA,EAAY,sBAAA;AAAA,IACZ,GAAI,UAAA,IAAc,WAAA,GAAc;AAAA,MAC9B,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC1B,eAAA,EAAiB,KAAA,CAAM,OAAA,CAAQ,UAAA,CAAW;AAAA,IAC5C,CAAA;AAAA,IACA,GAAI,UAAA,IAAc,SAAA,GAAY;AAAA,MAC5B,SAAA,EAAW,MAAA;AAAA,MACX,eAAA,EAAiB,KAAA,CAAM,OAAA,CAAQ,MAAA,CAAO,KAAA;AAAA,MACtC,MAAA,EAAQ,CAAA,UAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA;AAAA,IAAA;AAC5C,IAAA;AACgC,MAAA;AACnB,MAAA;AAC+B,MAAA;AACA,IAAA;AAC5C,IAAA;AAC+B,MAAA;AACrB,IAAA;AACV,IAAA;AACgB;AAAA;AAAA;AAAA,MAAA;AAIL,MAAA;AACM,MAAA;AACH,MAAA;AACI,MAAA;AACT,MAAA;AACI,MAAA;AACI,MAAA;AACT,MAAA;AACC,MAAA;AACE,MAAA;AACU,QAAA;AACR,QAAA;AACE,MAAA;AACb,IAAA;AACF,IAAA;AACiB,MAAA;AACJ,QAAA;AACiB,QAAA;AACf,MAAA;AACb,IAAA;AACF,EAAA;AAEJ;AAEO;AAQL,EAAA;AACA,EAAA;AACE,IAAA;AAAC,IAAA;AAAA,MAAA;AAOC,MAAA;AACW,MAAA;AACX,MAAA;AACA,MAAA;AACA,MAAA;AAGQ,MAAA;AACR,MAAA;AAG6C,MAAA;AACzC,MAAA;AAEH,IAAA;AAAA,EAAA;AAGP;AAEO;AAA0B,EAAA;AAE7B,IAAA;AAA4C,EAAA;AAEhD;AAEO;AAAyB,EAAA;AAE5B,IAAA;AAA2C,EAAA;AAE/C;AAEO;AAA0B,EAAA;AAE7B,IAAA;AAA4C,EAAA;AAEhD;ADzCA;AACA;AEnGA;AFqGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/cere-design-system/cere-design-system/dist/chunk-ARSCL4ZZ.js","sourcesContent":[null,"import React from 'react';\nimport MuiCard, { CardProps as MuiCardProps } from '@mui/material/Card';\nimport MuiCardContent, { CardContentProps } from '@mui/material/CardContent';\nimport MuiCardHeader, { CardHeaderProps } from '@mui/material/CardHeader';\nimport MuiCardActions, { CardActionsProps } from '@mui/material/CardActions';\nimport MuiCardMedia, { CardMediaProps as MuiCardMediaProps } from '@mui/material/CardMedia';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport { styled } from '@mui/material/styles';\n\nexport type CardMediaProps = MuiCardMediaProps;\nexport const CardMedia = React.forwardRef<HTMLDivElement, CardMediaProps>(\n function CardMedia(props, ref) {\n return <MuiCardMedia ref={ref} {...props} />;\n },\n);\n\nexport type CardVariant = 'standard' | 'tinted' | 'outlined';\n\nexport interface CardProps extends Omit<MuiCardProps, 'variant'> {\n /** Visual treatment. @default 'standard' */\n variant?: CardVariant;\n hoverable?: boolean;\n /**\n * Opt the card into being a real interactive element. When combined with\n * `onClick`, the root renders via MUI ButtonBase — focusable button,\n * Enter/Space activation, `:focus-visible` ring. When `clickable` is set\n * without `onClick`, only the pointer cursor changes (back-compat).\n *\n * `<Card onClick={...}>` WITHOUT `clickable` keeps a `<div>` root and just\n * forwards the click handler, so consumers using onClick for analytics or\n * non-clickable side effects are not silently turned into buttons.\n */\n clickable?: boolean;\n}\n\nconst StyledCard = styled(MuiCard, {\n shouldForwardProp: (prop) =>\n prop !== 'hoverable' && prop !== 'clickable' && prop !== 'dsVariant' && prop !== 'asButton',\n})<{ hoverable?: boolean; clickable?: boolean; dsVariant: CardVariant; asButton?: boolean }>(\n ({ theme, hoverable, clickable, dsVariant, asButton }) => ({\n borderRadius: 8,\n transition: 'all 0.2s ease-in-out',\n ...(dsVariant === 'standard' && {\n boxShadow: theme.shadows[1],\n backgroundColor: theme.palette.background.paper,\n }),\n ...(dsVariant === 'tinted' && {\n boxShadow: 'none',\n backgroundColor: theme.palette.action.hover,\n border: `1px solid ${theme.palette.divider}`,\n }),\n ...(dsVariant === 'outlined' && {\n boxShadow: 'none',\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${theme.palette.divider}`,\n }),\n ...((clickable || asButton) && {\n cursor: 'pointer',\n }),\n ...(asButton && {\n // Neutralise ButtonBase defaults (inline-flex + center alignment) so the\n // card lays out exactly like a non-clickable Card. We render as a column\n // flex so consumers can still stack GradientSurface + meta inside.\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n width: '100%',\n textAlign: 'left',\n verticalAlign: 'top',\n font: 'inherit',\n color: 'inherit',\n padding: 0,\n '&:focus-visible': {\n outline: 'none',\n boxShadow: '0 0 0 4px rgba(170,68,242,0.25)',\n },\n }),\n ...(hoverable && {\n '&:hover': {\n boxShadow: theme.shadows[4],\n transform: 'translateY(-2px)',\n },\n }),\n }),\n);\n\nexport const Card = React.forwardRef<HTMLDivElement | HTMLButtonElement, CardProps>(function Card(\n { variant = 'standard', hoverable = false, clickable = false, onClick, children, ...props },\n ref,\n) {\n // Only render as a real button when the consumer EXPLICITLY opts in via\n // `clickable` AND wires an onClick. Inferring from onClick alone would\n // silently turn analytics-tracking cards into <button>s with role=button\n // and break nested forms/links.\n const asButton = clickable && typeof onClick === 'function';\n return (\n <StyledCard\n // MUI's polymorphic Card.ref is typed Ref<HTMLDivElement> by default and\n // shifts when `component` is overridden; our public ref union honestly\n // covers both runtime shapes (div by default, button when asButton).\n // The cast bridges MUI's static typing to the runtime polymorphism we\n // declared on the public API; consumers see the correct union and the\n // ref points at whichever element is actually rendered.\n ref={ref as React.Ref<HTMLDivElement>}\n dsVariant={variant}\n hoverable={hoverable}\n clickable={clickable}\n asButton={asButton}\n // MUI Card accepts a 'variant' prop too (elevation | outlined); we always\n // drive visual via dsVariant + box-shadow, so suppress MUI's default border.\n variant=\"elevation\"\n onClick={onClick}\n // When clickable, render the root as a focusable button so the entire\n // card becomes a real interactive element instead of needing an overlay.\n {...(asButton ? { component: ButtonBase } : {})}\n {...props}\n >\n {children}\n </StyledCard>\n );\n});\n\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n function CardContent(props, ref) {\n return <MuiCardContent ref={ref} {...props} />;\n },\n);\n\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(\n function CardHeader(props, ref) {\n return <MuiCardHeader ref={ref} {...props} />;\n },\n);\n\nexport const CardActions = React.forwardRef<HTMLDivElement, CardActionsProps>(\n function CardActions(props, ref) {\n return <MuiCardActions ref={ref} {...props} />;\n },\n);\n","export { default as Typography } from '@mui/material/Typography';\nexport type { TypographyProps } from '@mui/material/Typography';\n\n"]}