@cere/cere-design-system 0.1.0 → 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 (165) hide show
  1. package/README.md +76 -0
  2. package/dist/buttons.d.mts +27 -22
  3. package/dist/buttons.d.ts +27 -22
  4. package/dist/buttons.js +5 -5
  5. package/dist/buttons.mjs +4 -4
  6. package/dist/charts.d.mts +1 -23
  7. package/dist/charts.d.ts +1 -23
  8. package/dist/charts.js +2 -9
  9. package/dist/charts.js.map +1 -1
  10. package/dist/charts.mjs +1 -8
  11. package/dist/{chunk-THQKYTQE.js → chunk-2KDN37PQ.js} +28 -32
  12. package/dist/chunk-2KDN37PQ.js.map +1 -0
  13. package/dist/{chunk-3WCMINE5.mjs → chunk-34LFXT6C.mjs} +25 -29
  14. package/dist/chunk-34LFXT6C.mjs.map +1 -0
  15. package/dist/chunk-3KCXCVOX.mjs +411 -0
  16. package/dist/chunk-3KCXCVOX.mjs.map +1 -0
  17. package/dist/{chunk-NXTVJ6PY.js → chunk-4OKTICU5.js} +10 -10
  18. package/dist/chunk-4OKTICU5.js.map +1 -0
  19. package/dist/{chunk-FN5YL4BK.js → chunk-72TQ56EP.js} +47 -45
  20. package/dist/chunk-72TQ56EP.js.map +1 -0
  21. package/dist/{chunk-QYYQYZHV.js → chunk-7KXKK2RE.js} +3 -5
  22. package/dist/chunk-7KXKK2RE.js.map +1 -0
  23. package/dist/{chunk-CCN6M4LI.js → chunk-ARSCL4ZZ.js} +18 -10
  24. package/dist/chunk-ARSCL4ZZ.js.map +1 -0
  25. package/dist/chunk-AWVNEU6R.mjs +1478 -0
  26. package/dist/chunk-AWVNEU6R.mjs.map +1 -0
  27. package/dist/{chunk-CUCKULYC.mjs → chunk-BH4FNZKK.mjs} +74 -1260
  28. package/dist/chunk-BH4FNZKK.mjs.map +1 -0
  29. package/dist/{chunk-FFZ5S7PQ.mjs → chunk-BOQPWZIB.mjs} +6 -5
  30. package/dist/chunk-BOQPWZIB.mjs.map +1 -0
  31. package/dist/chunk-BT7XUTT5.mjs +392 -0
  32. package/dist/chunk-BT7XUTT5.mjs.map +1 -0
  33. package/dist/{chunk-ATIFLPH6.mjs → chunk-D7D25O6E.mjs} +4 -2
  34. package/dist/{chunk-ATIFLPH6.mjs.map → chunk-D7D25O6E.mjs.map} +1 -1
  35. package/dist/{chunk-JS4IB5IU.mjs → chunk-DRGMEIPT.mjs} +2 -2
  36. package/dist/chunk-DRGMEIPT.mjs.map +1 -0
  37. package/dist/{chunk-KF2Y7HO3.js → chunk-DZXNYLVG.js} +43 -246
  38. package/dist/chunk-DZXNYLVG.js.map +1 -0
  39. package/dist/{chunk-IE6GCHDI.mjs → chunk-GR52ENYI.mjs} +26 -29
  40. package/dist/chunk-GR52ENYI.mjs.map +1 -0
  41. package/dist/chunk-GTBKQXXI.js +1472 -0
  42. package/dist/chunk-GTBKQXXI.js.map +1 -0
  43. package/dist/{chunk-463SRKKD.js → chunk-HJ24WKU4.js} +14 -5
  44. package/dist/chunk-HJ24WKU4.js.map +1 -0
  45. package/dist/{chunk-EOF3QNPF.js → chunk-KKIKOIMP.js} +140 -1028
  46. package/dist/chunk-KKIKOIMP.js.map +1 -0
  47. package/dist/{chunk-MNM6HE72.js → chunk-LVJSKRX3.js} +16 -15
  48. package/dist/chunk-LVJSKRX3.js.map +1 -0
  49. package/dist/{chunk-KPDYKK3V.js → chunk-PFZZJZ64.js} +8 -8
  50. package/dist/{chunk-KPDYKK3V.js.map → chunk-PFZZJZ64.js.map} +1 -1
  51. package/dist/{chunk-KVBMZNWT.mjs → chunk-POCAW2G4.mjs} +18 -10
  52. package/dist/chunk-POCAW2G4.mjs.map +1 -0
  53. package/dist/{chunk-L2TIGA7I.js → chunk-QCFLZ7X3.js} +39 -42
  54. package/dist/chunk-QCFLZ7X3.js.map +1 -0
  55. package/dist/{chunk-6EUAU67C.mjs → chunk-SG2TD7FQ.mjs} +8 -8
  56. package/dist/chunk-SG2TD7FQ.mjs.map +1 -0
  57. package/dist/{chunk-QY65OUAC.mjs → chunk-SSFALO6S.mjs} +13 -4
  58. package/dist/chunk-SSFALO6S.mjs.map +1 -0
  59. package/dist/{chunk-PWF2NJDB.mjs → chunk-WC2TCWXK.mjs} +82 -14
  60. package/dist/chunk-WC2TCWXK.mjs.map +1 -0
  61. package/dist/{chunk-ZGCN5WCG.js → chunk-XZZZ4MZV.js} +83 -15
  62. package/dist/chunk-XZZZ4MZV.js.map +1 -0
  63. package/dist/chunk-YCDCQSYH.js +411 -0
  64. package/dist/chunk-YCDCQSYH.js.map +1 -0
  65. package/dist/{chunk-CWJ4OU6W.mjs → chunk-ZDAZYIXB.mjs} +2 -4
  66. package/dist/chunk-ZDAZYIXB.mjs.map +1 -0
  67. package/dist/feedback.d.mts +20 -8
  68. package/dist/feedback.d.ts +20 -8
  69. package/dist/feedback.js +5 -5
  70. package/dist/feedback.mjs +4 -4
  71. package/dist/fonts/HumanSans-BlackOblique.otf +0 -0
  72. package/dist/fonts/HumanSans-Thin.otf +0 -0
  73. package/dist/fonts/HumanSans-ThinOblique.otf +0 -0
  74. package/dist/fonts/human-sans-font.css +88 -0
  75. package/dist/fonts/human-sans.css +3 -0
  76. package/dist/fonts/inter.css +3 -0
  77. package/dist/icons.d.mts +2 -3
  78. package/dist/icons.d.ts +2 -3
  79. package/dist/icons.js +2 -2
  80. package/dist/icons.mjs +1 -1
  81. package/dist/index.d.mts +37 -8
  82. package/dist/index.d.ts +37 -8
  83. package/dist/index.js +23 -90
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +46 -113
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/inputs.d.mts +23 -3
  88. package/dist/inputs.d.ts +23 -3
  89. package/dist/inputs.js +5 -5
  90. package/dist/inputs.js.map +1 -1
  91. package/dist/inputs.mjs +15 -15
  92. package/dist/layout.d.mts +37 -283
  93. package/dist/layout.d.ts +37 -283
  94. package/dist/layout.js +8 -32
  95. package/dist/layout.js.map +1 -1
  96. package/dist/layout.mjs +16 -40
  97. package/dist/navigation.d.mts +9 -114
  98. package/dist/navigation.d.ts +9 -114
  99. package/dist/navigation.js +5 -9
  100. package/dist/navigation.js.map +1 -1
  101. package/dist/navigation.mjs +6 -10
  102. package/dist/third-party.d.mts +3 -527
  103. package/dist/third-party.d.ts +3 -527
  104. package/dist/third-party.js +2 -40
  105. package/dist/third-party.js.map +1 -1
  106. package/dist/third-party.mjs +3 -41
  107. package/dist/tokens.css +45 -71
  108. package/dist/utilities.js +2 -4
  109. package/dist/utilities.js.map +1 -1
  110. package/dist/utilities.mjs +2 -4
  111. package/package.json +23 -9
  112. package/dist/WorkflowNode-BnxXO6t_.d.mts +0 -46
  113. package/dist/WorkflowNode-BnxXO6t_.d.ts +0 -46
  114. package/dist/chunk-27JEWSWA.mjs +0 -233
  115. package/dist/chunk-27JEWSWA.mjs.map +0 -1
  116. package/dist/chunk-3WCMINE5.mjs.map +0 -1
  117. package/dist/chunk-463SRKKD.js.map +0 -1
  118. package/dist/chunk-6EUAU67C.mjs.map +0 -1
  119. package/dist/chunk-AIY6222Q.js +0 -11
  120. package/dist/chunk-AIY6222Q.js.map +0 -1
  121. package/dist/chunk-AJBM7IE6.mjs +0 -2366
  122. package/dist/chunk-AJBM7IE6.mjs.map +0 -1
  123. package/dist/chunk-CCN6M4LI.js.map +0 -1
  124. package/dist/chunk-CUCKULYC.mjs.map +0 -1
  125. package/dist/chunk-CWJ4OU6W.mjs.map +0 -1
  126. package/dist/chunk-EOF3QNPF.js.map +0 -1
  127. package/dist/chunk-FFZ5S7PQ.mjs.map +0 -1
  128. package/dist/chunk-FN5YL4BK.js.map +0 -1
  129. package/dist/chunk-HLH2VWXL.js +0 -2658
  130. package/dist/chunk-HLH2VWXL.js.map +0 -1
  131. package/dist/chunk-IE6GCHDI.mjs.map +0 -1
  132. package/dist/chunk-JS4IB5IU.mjs.map +0 -1
  133. package/dist/chunk-KF2Y7HO3.js.map +0 -1
  134. package/dist/chunk-KVBMZNWT.mjs.map +0 -1
  135. package/dist/chunk-L2TIGA7I.js.map +0 -1
  136. package/dist/chunk-MNM6HE72.js.map +0 -1
  137. package/dist/chunk-NXTVJ6PY.js.map +0 -1
  138. package/dist/chunk-PWF2NJDB.mjs.map +0 -1
  139. package/dist/chunk-QD6RLAO2.mjs +0 -11
  140. package/dist/chunk-QD6RLAO2.mjs.map +0 -1
  141. package/dist/chunk-QY65OUAC.mjs.map +0 -1
  142. package/dist/chunk-QYYQYZHV.js.map +0 -1
  143. package/dist/chunk-T7LPABOL.mjs +0 -595
  144. package/dist/chunk-T7LPABOL.mjs.map +0 -1
  145. package/dist/chunk-THQKYTQE.js.map +0 -1
  146. package/dist/chunk-X7E6GMFL.js +0 -233
  147. package/dist/chunk-X7E6GMFL.js.map +0 -1
  148. package/dist/chunk-XF66WQZE.mjs +0 -1535
  149. package/dist/chunk-XF66WQZE.mjs.map +0 -1
  150. package/dist/chunk-YQOZPLTY.js +0 -1535
  151. package/dist/chunk-YQOZPLTY.js.map +0 -1
  152. package/dist/chunk-ZGCN5WCG.js.map +0 -1
  153. package/dist/index.css +0 -79
  154. package/dist/index.css.map +0 -1
  155. /package/dist/{HumanSans-Black-C4YJONK7.otf → fonts/HumanSans-Black.otf} +0 -0
  156. /package/dist/{HumanSans-Bold-4EAJ3L3T.otf → fonts/HumanSans-Bold.otf} +0 -0
  157. /package/dist/{HumanSans-BoldOblique-4D325T4F.otf → fonts/HumanSans-BoldOblique.otf} +0 -0
  158. /package/dist/{HumanSans-ExtraLight-VL7DEKQ4.otf → fonts/HumanSans-ExtraLight.otf} +0 -0
  159. /package/dist/{HumanSans-ExtraLightOblique-VK2JTUXF.otf → fonts/HumanSans-ExtraLightOblique.otf} +0 -0
  160. /package/dist/{HumanSans-Light-YV7AFKRB.otf → fonts/HumanSans-Light.otf} +0 -0
  161. /package/dist/{HumanSans-LightOblique-VIXV7QA6.otf → fonts/HumanSans-LightOblique.otf} +0 -0
  162. /package/dist/{HumanSans-Medium-UULJ3PIR.otf → fonts/HumanSans-Medium.otf} +0 -0
  163. /package/dist/{HumanSans-MediumOblique-M7FHDZRS.otf → fonts/HumanSans-MediumOblique.otf} +0 -0
  164. /package/dist/{HumanSans-Regular-QMFEP3F6.otf → fonts/HumanSans-Regular.otf} +0 -0
  165. /package/dist/{HumanSans-RegularOblique-YPKQJAAM.otf → fonts/HumanSans-RegularOblique.otf} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkZGCN5WCGjs = require('./chunk-ZGCN5WCG.js');
3
+ var _chunkXZZZ4MZVjs = require('./chunk-XZZZ4MZV.js');
4
4
 
5
5
  // src/components/feedback/Chip.tsx
6
6
  var _react = require('react'); var React3 = _interopRequireWildcard(_react);
@@ -61,7 +61,7 @@ var StyledChip = _styles.styled.call(void 0, _Chip2.default, {
61
61
  color: "white",
62
62
  backgroundColor: "rgba(0,0,0,0.25)",
63
63
  border: "1px solid rgba(255,255,255,0.22)",
64
- fontFamily: _chunkZGCN5WCGjs.fontFamilyMono,
64
+ fontFamily: _chunkXZZZ4MZVjs.fontFamilyMono,
65
65
  fontSize: 10,
66
66
  textTransform: "uppercase",
67
67
  letterSpacing: "0.05em",
@@ -78,8 +78,9 @@ var StyledChip = _styles.styled.call(void 0, _Chip2.default, {
78
78
  "&:hover": { backgroundColor: hoverBackgroundColor }
79
79
  };
80
80
  });
81
- var Chip = React3.default.forwardRef(function Chip2({ variant = "default", tone = "default", ...props }, ref) {
82
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StyledChip, { ref, dsVariant: variant, dsTone: tone, ...props });
81
+ var Chip = React3.default.forwardRef(function Chip2({ variant, tone = "default", ...props }, ref) {
82
+ const resolvedVariant = tone === "onGradient" ? "default" : _nullishCoalesce(variant, () => ( "default"));
83
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StyledChip, { ref, dsVariant: resolvedVariant, dsTone: tone, ...props });
83
84
  });
84
85
 
85
86
  // src/components/feedback/StatusDot.tsx
@@ -258,13 +259,11 @@ var Tooltip2 = React3.default.forwardRef(function Tooltip3(props, ref) {
258
259
  });
259
260
 
260
261
  // src/components/feedback/Progress.tsx
262
+ var _LinearProgress = require('@mui/material/LinearProgress'); var _LinearProgress2 = _interopRequireDefault(_LinearProgress);
263
+ var _CircularProgress = require('@mui/material/CircularProgress'); var _CircularProgress2 = _interopRequireDefault(_CircularProgress);
261
264
 
262
265
 
263
-
264
-
265
- var _material = require('@mui/material');
266
-
267
- var StyledLinearProgress = _material.styled.call(void 0, (0, _material.LinearProgress))(({ theme }) => ({
266
+ var StyledLinearProgress = _styles.styled.call(void 0, (0, _LinearProgress2.default))(({ theme }) => ({
268
267
  height: 4,
269
268
  borderRadius: 2,
270
269
  backgroundColor: theme.palette.grey[200],
@@ -273,7 +272,7 @@ var StyledLinearProgress = _material.styled.call(void 0, (0, _material.LinearPro
273
272
  borderRadius: 2
274
273
  }
275
274
  }));
276
- var StyledCircularProgress = _material.styled.call(void 0, (0, _material.CircularProgress))(({ theme }) => ({
275
+ var StyledCircularProgress = _styles.styled.call(void 0, (0, _CircularProgress2.default))(({ theme }) => ({
277
276
  color: theme.palette.primary.main
278
277
  }));
279
278
  var Progress = ({
@@ -297,7 +296,7 @@ var Progress = ({
297
296
  // src/components/feedback/Alert.tsx
298
297
 
299
298
  var _Alert = require('@mui/material/Alert'); var _Alert2 = _interopRequireDefault(_Alert);
300
-
299
+ var _AlertTitle = require('@mui/material/AlertTitle'); var _AlertTitle2 = _interopRequireDefault(_AlertTitle);
301
300
  var _Snackbar = require('@mui/material/Snackbar'); var _Snackbar2 = _interopRequireDefault(_Snackbar);
302
301
 
303
302
 
@@ -309,23 +308,18 @@ var StyledAlert = _styles.styled.call(void 0, (0, _Alert2.default))({
309
308
  });
310
309
  var Alert = React3.default.forwardRef(function Alert2({ severity = "info", title, children, ...props }, ref) {
311
310
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, StyledAlert, { ref, severity, ...props, children: [
312
- title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.AlertTitle, { children: title }),
311
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _AlertTitle2.default, { children: title }),
313
312
  children
314
313
  ] });
315
314
  });
316
315
  var StyledSnackbar = _styles.styled.call(void 0, (0, _Snackbar2.default))({});
317
- var StableFadeTransition = React3.default.forwardRef(
318
- (props, ref) => {
319
- return React3.default.cloneElement(props.children, {
320
- ref,
321
- style: {
322
- ...props.children.props.style,
323
- transition: "opacity 0.3s ease-in-out"
324
- }
325
- });
326
- }
327
- );
328
- StableFadeTransition.displayName = "StableFadeTransition";
316
+ var StableNoTransition = React3.default.forwardRef(({ in: inProp, onExited, children }, ref) => {
317
+ React3.default.useEffect(() => {
318
+ if (inProp === false) _optionalChain([onExited, 'optionalCall', _2 => _2(null)]);
319
+ }, [inProp, onExited]);
320
+ return React3.default.cloneElement(children, { ref });
321
+ });
322
+ StableNoTransition.displayName = "StableNoTransition";
329
323
  var Snackbar = React3.default.forwardRef(function Snackbar2({
330
324
  message,
331
325
  severity = "info",
@@ -341,7 +335,7 @@ var Snackbar = React3.default.forwardRef(function Snackbar2({
341
335
  if (reason === "clickaway" && onClose) {
342
336
  return;
343
337
  }
344
- _optionalChain([onClose, 'optionalCall', _2 => _2()]);
338
+ _optionalChain([onClose, 'optionalCall', _3 => _3()]);
345
339
  };
346
340
  const content = children || (message ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
347
341
  Alert,
@@ -370,7 +364,7 @@ var Snackbar = React3.default.forwardRef(function Snackbar2({
370
364
  }
371
365
  // Prevent scroll issues
372
366
  },
373
- TransitionComponent: StableFadeTransition,
367
+ TransitionComponent: StableNoTransition,
374
368
  ...props,
375
369
  children: content
376
370
  }
@@ -381,9 +375,10 @@ var Snackbar = React3.default.forwardRef(function Snackbar2({
381
375
 
382
376
 
383
377
 
378
+
384
379
  var EmptyState = React3.default.forwardRef(function EmptyState2({ title = "No items found", description, icon, action }, ref) {
385
380
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
386
- _material.Box,
381
+ _Box2.default,
387
382
  {
388
383
  ref,
389
384
  sx: {
@@ -397,7 +392,7 @@ var EmptyState = React3.default.forwardRef(function EmptyState2({ title = "No it
397
392
  },
398
393
  children: [
399
394
  icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
400
- _material.Box,
395
+ _Box2.default,
401
396
  {
402
397
  sx: {
403
398
  color: "text.secondary",
@@ -407,9 +402,9 @@ var EmptyState = React3.default.forwardRef(function EmptyState2({ title = "No it
407
402
  children: icon
408
403
  }
409
404
  ),
410
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "h6", sx: { marginBottom: 1, color: "text.primary" }, children: title }),
411
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", sx: { color: "text.secondary", marginBottom: 3 }, children: description }),
412
- action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Box, { children: action })
405
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "h6", sx: { marginBottom: 1, color: "text.primary" }, children: title }),
406
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", sx: { color: "text.secondary", marginBottom: 3 }, children: description }),
407
+ action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Box2.default, { children: action })
413
408
  ]
414
409
  }
415
410
  );
@@ -419,9 +414,11 @@ var EmptyState = React3.default.forwardRef(function EmptyState2({ title = "No it
419
414
 
420
415
 
421
416
 
417
+
418
+
422
419
  var Loading = React3.default.forwardRef(function Loading2({ message = "Loading...", size = 40, fullScreen = false }, ref) {
423
420
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
424
- _material.Box,
421
+ _Box2.default,
425
422
  {
426
423
  ref,
427
424
  sx: {
@@ -444,8 +441,8 @@ var Loading = React3.default.forwardRef(function Loading2({ message = "Loading..
444
441
  }
445
442
  },
446
443
  children: [
447
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { size, thickness: 4 }),
448
- message && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body2", color: "text.secondary", children: message })
444
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CircularProgress2.default, { size, thickness: 4 }),
445
+ message && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body2", color: "text.secondary", children: message })
449
446
  ]
450
447
  }
451
448
  );
@@ -455,13 +452,15 @@ var Loading = React3.default.forwardRef(function Loading2({ message = "Loading..
455
452
  // src/components/feedback/AppLoading.tsx
456
453
 
457
454
 
455
+
456
+
458
457
  var AppLoading = ({
459
458
  message = "Loading...",
460
459
  logo = "/icons/logo.png",
461
460
  sx = {}
462
461
  }) => {
463
462
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
464
- _material.Box,
463
+ _Box2.default,
465
464
  {
466
465
  sx: [
467
466
  {
@@ -481,7 +480,7 @@ var AppLoading = ({
481
480
  ],
482
481
  children: [
483
482
  logo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
484
- _material.Box,
483
+ _Box2.default,
485
484
  {
486
485
  component: "img",
487
486
  src: logo,
@@ -493,8 +492,8 @@ var AppLoading = ({
493
492
  }
494
493
  }
495
494
  ),
496
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { size: 40, thickness: 4, sx: { mb: 2 } }),
497
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Typography, { variant: "body1", color: "text.secondary", children: message })
495
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CircularProgress2.default, { size: 40, thickness: 4, sx: { mb: 2 } }),
496
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Typography2.default, { variant: "body1", color: "text.secondary", children: message })
498
497
  ]
499
498
  }
500
499
  );
@@ -504,11 +503,9 @@ var AppLoading = ({
504
503
 
505
504
 
506
505
 
507
-
508
-
509
506
  var CircularProgress4 = React3.default.forwardRef(
510
507
  function CircularProgress5({ size = 40, thickness = 4, ...props }, ref) {
511
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { ref, size, thickness, ...props });
508
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CircularProgress2.default, { ref, size, thickness, ...props });
512
509
  }
513
510
  );
514
511
 
@@ -527,4 +524,4 @@ var CircularProgress4 = React3.default.forwardRef(
527
524
 
528
525
 
529
526
  exports.getChipVariantStyles = getChipVariantStyles; exports.Chip = Chip; exports.StatusDot = StatusDot; exports.StatusLabel = StatusLabel; exports.CopyChip = CopyChip; exports.Tooltip = Tooltip2; exports.Progress = Progress; exports.Alert = Alert; exports.Snackbar = Snackbar; exports.EmptyState = EmptyState; exports.Loading = Loading; exports.AppLoading = AppLoading; exports.CircularProgress = CircularProgress4;
530
- //# sourceMappingURL=chunk-L2TIGA7I.js.map
527
+ //# sourceMappingURL=chunk-QCFLZ7X3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/cere-design-system/cere-design-system/dist/chunk-QCFLZ7X3.js","../src/components/feedback/Chip.tsx","../src/components/feedback/chipVariantStyles.ts","../src/components/feedback/StatusDot.tsx","../src/components/feedback/StatusLabel.tsx","../src/components/feedback/CopyChip.tsx","../src/components/feedback/Tooltip.tsx","../src/components/feedback/Progress.tsx","../src/components/feedback/Alert.tsx","../src/components/feedback/EmptyState.tsx","../src/components/feedback/Loading.tsx","../src/components/feedback/AppLoading.tsx","../src/components/feedback/CircularProgress.tsx"],"names":["Chip","styled","React","StatusLabel","Box","jsx","Typography","CircularProgress"],"mappings":"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","file":"/home/runner/work/cere-design-system/cere-design-system/dist/chunk-QCFLZ7X3.js","sourcesContent":[null,"import React from 'react';\nimport MuiChip, { ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled } from '@mui/material/styles';\nimport { getChipVariantStyles, type ChipVariant } from './chipVariantStyles';\nimport { fontFamilyMono } from '../../theme/typography';\n\nexport type { ChipVariant };\n\nexport type ChipTone = 'default' | 'onGradient';\n\ntype ChipBaseProps = Omit<MuiChipProps, 'color' | 'variant'>;\n\n/**\n * Default tone: `variant` controls the visual style of the chip.\n */\nexport interface ChipDefaultProps extends ChipBaseProps {\n tone?: 'default';\n variant?: ChipVariant;\n}\n\n/**\n * onGradient tone: white text, monospace caps, translucent border.\n * Renders on dark gradient surfaces. `variant` must be omitted.\n */\nexport interface ChipOnGradientProps extends ChipBaseProps {\n tone: 'onGradient';\n /**\n * Not applicable when tone='onGradient'.\n * @deprecated Passing variant with tone='onGradient' is a type error.\n */\n variant?: never;\n}\n\n/** ChipProps is a discriminated union on `tone`. */\nexport type ChipProps = ChipDefaultProps | ChipOnGradientProps;\n\nconst StyledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'dsVariant' && prop !== 'dsTone',\n})<{ dsVariant: ChipVariant; dsTone: ChipTone }>(({ theme, dsVariant, dsTone }) => {\n if (dsTone === 'onGradient') {\n return {\n height: 22,\n color: 'white',\n backgroundColor: 'rgba(0,0,0,0.25)',\n border: '1px solid rgba(255,255,255,0.22)',\n fontFamily: fontFamilyMono,\n fontSize: 10,\n textTransform: 'uppercase' as const,\n letterSpacing: '0.05em',\n '& .MuiChip-label': {\n paddingLeft: 8,\n paddingRight: 8,\n },\n };\n }\n const { backgroundColor, color, hoverBackgroundColor } = getChipVariantStyles(dsVariant, theme);\n return {\n backgroundColor,\n color,\n '&:hover': { backgroundColor: hoverBackgroundColor },\n };\n});\n\nexport const Chip = React.forwardRef<HTMLDivElement, ChipProps>(function Chip(\n { variant, tone = 'default', ...props },\n ref,\n) {\n const resolvedVariant: ChipVariant = tone === 'onGradient' ? 'default' : (variant ?? 'default');\n return <StyledChip ref={ref} dsVariant={resolvedVariant} dsTone={tone} {...props} />;\n});\n","import type { Theme } from '@mui/material/styles';\n\nexport type ChipVariant = 'default' | 'active' | 'success' | 'error' | 'warning' | 'info';\n\nexport interface ChipVariantStyles {\n backgroundColor: string;\n color: string;\n hoverBackgroundColor: string;\n}\n\n/**\n * Resolve a Chip variant to its themed background/foreground/hover colors.\n *\n * Status variants (success/error/warning/info) use the `main` surface with\n * `contrastText` (typically white) so chips read as loud solid pills.\n * `default` is neutral grey; `active` uses the brand-selected background.\n */\nexport function getChipVariantStyles(variant: ChipVariant, theme: Theme): ChipVariantStyles {\n switch (variant) {\n case 'active':\n return {\n backgroundColor: theme.palette.background.selected,\n color: theme.palette.primary.main,\n hoverBackgroundColor: theme.palette.background.selected,\n };\n case 'success':\n return {\n backgroundColor: theme.palette.success.main,\n color: theme.palette.success.contrastText,\n hoverBackgroundColor: theme.palette.success.dark,\n };\n case 'error':\n return {\n backgroundColor: theme.palette.error.main,\n color: theme.palette.error.contrastText,\n hoverBackgroundColor: theme.palette.error.dark,\n };\n case 'warning':\n return {\n backgroundColor: theme.palette.warning.main,\n color: theme.palette.warning.contrastText,\n hoverBackgroundColor: theme.palette.warning.dark,\n };\n case 'info':\n return {\n backgroundColor: theme.palette.info.main,\n color: theme.palette.info.contrastText,\n hoverBackgroundColor: theme.palette.info.dark,\n };\n case 'default':\n default:\n return {\n backgroundColor: theme.palette.grey[100],\n color: theme.palette.text.primary,\n hoverBackgroundColor: theme.palette.grey[200],\n };\n }\n}\n","import React from 'react';\nimport { styled, keyframes, type Theme } from '@mui/material/styles';\n\nexport type StatusDotStatus = 'success' | 'error' | 'warning' | 'info' | 'primary' | 'neutral';\n\nexport interface StatusDotProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'role'> {\n /** Which themed color to render. `neutral` uses a grey for idle/queued states. */\n status: StatusDotStatus;\n /** Diameter in pixels. @default 8 */\n size?: number;\n /**\n * Pulse animation for in-progress states (e.g., a running run). Respects\n * `prefers-reduced-motion` and falls back to a static dot.\n */\n pulse?: boolean;\n /**\n * When provided, the dot becomes an accessible image with this label. When\n * omitted, the dot is marked `aria-hidden` — assume an adjacent element\n * carries the status semantics.\n */\n 'aria-label'?: string;\n}\n\nfunction statusColor(status: StatusDotStatus, theme: Theme): string {\n switch (status) {\n case 'success': return theme.palette.success.main;\n case 'error': return theme.palette.error.main;\n case 'warning': return theme.palette.warning.main;\n case 'info': return theme.palette.info.main;\n case 'primary': return theme.palette.primary.main;\n case 'neutral':\n default:\n return theme.palette.grey[400];\n }\n}\n\nconst pulseKeyframes = keyframes`\n 0%, 100% { opacity: 1; transform: scale(1); }\n 50% { opacity: 0.55; transform: scale(1.35); }\n`;\n\nconst Dot = styled('span', {\n shouldForwardProp: (prop) => prop !== 'status' && prop !== 'size' && prop !== 'pulse',\n})<{ status: StatusDotStatus; size: number; pulse: boolean }>(({ theme, status, size, pulse }) => ({\n display: 'inline-block',\n flexShrink: 0,\n width: size,\n height: size,\n borderRadius: '50%',\n backgroundColor: statusColor(status, theme),\n animation: pulse ? `${pulseKeyframes} 1.6s ease-in-out infinite` : undefined,\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n },\n}));\n\n/**\n * StatusDot — a small colored circle indicating entity status.\n *\n * Use alongside a text label for a labeled status; use with `aria-label` to\n * make the dot itself a standalone accessible indicator.\n *\n * @example\n * ```tsx\n * // Labeled context — the dot is decorative\n * <>\n * <StatusDot status=\"success\" />\n * <span>Succeeded</span>\n * </>\n *\n * // Standalone — dot carries the status meaning\n * <StatusDot status=\"info\" pulse aria-label=\"Running\" />\n * ```\n */\nexport const StatusDot = React.forwardRef<HTMLSpanElement, StatusDotProps>(function StatusDot(\n { status, size = 8, pulse = false, 'aria-label': ariaLabel, ...rest },\n ref,\n) {\n const a11yProps = ariaLabel\n ? { role: 'img' as const, 'aria-label': ariaLabel }\n : { 'aria-hidden': true as const };\n // a11y props spread last so consumer cannot silently override role / aria-hidden.\n // Invariant guarded by StatusDot.test.tsx > 'ignores consumer attempts to override the a11y contract'.\n return <Dot ref={ref} status={status} size={size} pulse={pulse} {...rest} {...a11yProps} />;\n});\n","import * as React from 'react';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport { StatusDot, type StatusDotStatus } from './StatusDot';\n\nexport type StatusLabelSize = 'small' | 'medium';\n\nexport interface StatusLabelProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Themed status; forwarded to StatusDot. */\n status: StatusDotStatus;\n /** Text rendered next to the dot. */\n label: string;\n /** Sizes the dot + text pair. @default 'medium' */\n size?: StatusLabelSize;\n /**\n * Adds a pulsing animation on the dot for in-progress states. When true,\n * the row also exposes an `aria-live=\"polite\"` region so SR users hear\n * updates.\n */\n pulse?: boolean;\n}\n\nconst SIZES: Record<StatusLabelSize, { dot: number; typography: 'caption' | 'body2' }> = {\n small: { dot: 6, typography: 'caption' },\n medium: { dot: 8, typography: 'body2' },\n};\n\n/**\n * StatusLabel — a flex row pairing `StatusDot` with a text label.\n *\n * Use this when a status indicator needs an accompanying label; the row\n * keeps the dot baseline-aligned with the text at all sizes.\n */\nexport const StatusLabel = React.forwardRef<HTMLDivElement, StatusLabelProps>(\n function StatusLabel({ status, label, size = 'medium', pulse = false, ...rest }, ref) {\n const { dot, typography } = SIZES[size];\n return (\n <Box\n ref={ref}\n {...(pulse ? { 'aria-live': 'polite' as const } : {})}\n {...rest}\n sx={(theme) => ({\n display: 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.75),\n })}\n >\n <StatusDot status={status} size={dot} pulse={pulse} />\n <Typography variant={typography} component=\"span\" sx={{ lineHeight: 1.2 }}>\n {label}\n </Typography>\n </Box>\n );\n },\n);\n","import React, { useEffect, useRef, useState } from 'react';\nimport Box from '@mui/material/Box';\nimport Tooltip from '@mui/material/Tooltip';\nimport CheckIcon from '@mui/icons-material/Check';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\n\nconst COPY_FEEDBACK_MS = 1200;\n\nexport interface CopyChipProps {\n /** The text to display and copy to the clipboard. */\n text: string;\n /** Max width in pixels for the (ellipsized) text label. @default 260 */\n maxWidth?: number;\n /**\n * Accessible label for the button. Defaults to `Copy <text>`. Override when\n * the raw text would be unclear to a screen-reader user (e.g., long hex IDs).\n */\n 'aria-label'?: string;\n /** Tooltip copy shown before clicking. @default 'Copy' */\n tooltipLabel?: string;\n /** Tooltip copy shown after a successful copy. @default 'Copied' */\n tooltipCopiedLabel?: string;\n /** Fires after the clipboard write succeeds. */\n onCopy?: () => void;\n}\n\n/**\n * CopyChip — compact inline copy-to-clipboard control.\n *\n * Shows a monospace text label with an adjacent copy icon that toggles to a\n * check mark for a moment after a successful copy. Use in dense metadata\n * rows where an `IDBlock` would be visually too heavy; use `IDBlock` when\n * the identifier is the primary affordance on the surface and deserves a\n * full boxed treatment with snackbar feedback.\n *\n * @example\n * ```tsx\n * <CopyChip text=\"run_abc123\" />\n * <CopyChip text={longHexId} aria-label=\"Copy workspace ID\" onCopy={track} />\n * ```\n */\nexport const CopyChip: React.FC<CopyChipProps> = ({\n text,\n maxWidth = 260,\n 'aria-label': ariaLabel,\n tooltipLabel = 'Copy',\n tooltipCopiedLabel = 'Copied',\n onCopy,\n}) => {\n const [copied, setCopied] = useState(false);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n return () => {\n if (timerRef.current != null) clearTimeout(timerRef.current);\n };\n }, []);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(text);\n } catch {\n // Clipboard unavailable (no permission, non-secure context, older UA).\n // Leave the button in its idle state and skip the onCopy callback.\n return;\n }\n setCopied(true);\n onCopy?.();\n if (timerRef.current != null) clearTimeout(timerRef.current);\n timerRef.current = setTimeout(() => setCopied(false), COPY_FEEDBACK_MS);\n };\n\n return (\n <Tooltip title={copied ? tooltipCopiedLabel : tooltipLabel} placement=\"top\">\n <Box\n component=\"button\"\n type=\"button\"\n onClick={handleCopy}\n aria-label={ariaLabel ?? `Copy ${text}`}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.75,\n bgcolor: 'action.hover',\n color: 'text.primary',\n border: 'none',\n borderRadius: 1,\n px: 1,\n py: 0.5,\n fontFamily: 'monospace',\n fontSize: 12,\n cursor: 'pointer',\n transition: 'background-color 0.12s',\n maxWidth: '100%',\n '&:hover': { bgcolor: 'action.selected' },\n }}\n >\n <Box\n component=\"span\"\n sx={{\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth,\n }}\n >\n {text}\n </Box>\n {copied ? <CheckIcon sx={{ fontSize: 14 }} /> : <ContentCopyIcon sx={{ fontSize: 14 }} />}\n </Box>\n </Tooltip>\n );\n};\n","import React from 'react';\nimport MuiTooltip, { TooltipProps as MuiTooltipProps } from '@mui/material/Tooltip';\nimport { styled } from '@mui/material/styles';\n\nexport type TooltipProps = MuiTooltipProps\n\nconst StyledTooltip = styled(MuiTooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n backgroundColor: theme.palette.grey[800],\n color: theme.palette.common.white,\n fontSize: '12px',\n padding: '8px 12px',\n borderRadius: '4px',\n },\n '& .MuiTooltip-arrow': {\n color: theme.palette.grey[800],\n },\n}));\n\nexport const Tooltip = React.forwardRef<HTMLElement, TooltipProps>(function Tooltip(props, ref) {\n // MUI Tooltip forwards the ref to its child trigger element. Since the child\n // is consumer-provided, we type the ref as a generic HTMLElement.\n return <StyledTooltip ref={ref as React.Ref<HTMLElement>} {...props} />;\n});\n\n","import React from 'react';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { styled } from '@mui/material/styles';\n\nexport type ProgressVariant = 'linear' | 'circular';\n\nexport interface ProgressProps {\n variant?: ProgressVariant;\n value?: number;\n size?: number;\n thickness?: number;\n}\n\nconst StyledLinearProgress = styled(LinearProgress)(({ theme }) => ({\n height: 4,\n borderRadius: 2,\n backgroundColor: theme.palette.grey[200],\n '& .MuiLinearProgress-bar': {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 2,\n },\n}));\n\nconst StyledCircularProgress = styled(CircularProgress)(({ theme }) => ({\n color: theme.palette.primary.main,\n}));\n\nexport const Progress: React.FC<ProgressProps> = ({\n variant = 'linear',\n value,\n size = 40,\n thickness = 4,\n}) => {\n if (variant === 'circular') {\n return <StyledCircularProgress size={size} thickness={thickness} />;\n }\n\n return (\n <StyledLinearProgress\n variant={value !== undefined ? 'determinate' : 'indeterminate'}\n value={value}\n />\n );\n};\n\n","import React from 'react';\nimport MuiAlert, { AlertProps as MuiAlertProps } from '@mui/material/Alert';\nimport MuiAlertTitle from '@mui/material/AlertTitle';\nimport MuiSnackbar, { SnackbarProps as MuiSnackbarProps } from '@mui/material/Snackbar';\nimport { styled } from '@mui/material/styles';\n\nexport type AlertSeverity = 'success' | 'error' | 'warning' | 'info';\n\nexport interface AlertProps extends Omit<MuiAlertProps, 'severity'> {\n severity?: AlertSeverity;\n /**\n * Title to display above the alert message\n */\n title?: string;\n}\n\nconst StyledAlert = styled(MuiAlert)({\n borderRadius: 8,\n '&.MuiAlert-filled': {\n borderRadius: 8,\n },\n});\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(\n { severity = 'info', title, children, ...props },\n ref,\n) {\n return (\n <StyledAlert ref={ref} severity={severity} {...props}>\n {title && <MuiAlertTitle>{title}</MuiAlertTitle>}\n {children}\n </StyledAlert>\n );\n});\n\nexport { MuiAlertTitle as AlertTitle };\n\nexport interface SnackbarProps extends Omit<MuiSnackbarProps, 'children'> {\n /**\n * Message to display in the snackbar\n */\n message?: string;\n /**\n * Severity of the alert inside snackbar\n */\n severity?: AlertSeverity;\n /**\n * Title to display in the alert (optional)\n */\n title?: string;\n /**\n * Alert variant\n * @default 'filled'\n */\n variant?: 'filled' | 'standard' | 'outlined';\n /**\n * Callback when snackbar is closed\n */\n onClose?: () => void;\n /**\n * Children to render instead of message (allows custom content)\n * Must be a ReactElement to match MuiSnackbar requirements\n */\n children?: React.ReactElement;\n}\n\nconst StyledSnackbar = styled(MuiSnackbar)({});\n\n// Module-scoped no-op TransitionComponent. The Snackbar contract requires\n// stable component identity across parent re-renders so MUI doesn't remount\n// the inner Alert (which would kill autoHide timers and re-fire aria-live\n// announcements). We intentionally skip the enter/exit animation here —\n// snackbars appear and disappear instantly. The previous version declared\n// an inline CSS `opacity` transition without driving it from `props.in`,\n// which was misleading: nothing actually animated, and `onExited` was never\n// called, leaving stale DOM on close.\n//\n// When MUI signals exit (`in === false`), we fire `onExited` so the Snackbar\n// can finalize cleanup (unmount, autoHideDuration teardown). The signal is\n// scheduled via useEffect rather than during render to avoid setState-in-\n// render warnings from MUI's Snackbar.\nconst StableNoTransition = React.forwardRef<\n HTMLElement,\n // MUI's TransitionProps.onExited is `(node: HTMLElement) => void`; we\n // accept the same signature so the component is assignable to\n // Snackbar's TransitionComponent slot. We pass `null` cast as the node\n // because there's no real transition element here — the contract is\n // \"fire-and-forget\".\n { in?: boolean; onExited?: (node: HTMLElement) => void; children: React.ReactElement }\n>(({ in: inProp, onExited, children }, ref) => {\n React.useEffect(() => {\n if (inProp === false) onExited?.(null as unknown as HTMLElement);\n }, [inProp, onExited]);\n return React.cloneElement(children, { ref });\n});\nStableNoTransition.displayName = 'StableNoTransition';\n\nexport const Snackbar = React.forwardRef<HTMLDivElement, SnackbarProps>(function Snackbar(\n {\n message,\n severity = 'info',\n title,\n variant = 'filled',\n onClose,\n children,\n anchorOrigin = { vertical: 'bottom', horizontal: 'center' },\n autoHideDuration = 6000,\n ...props\n },\n ref,\n) {\n const handleClose = (_event?: React.SyntheticEvent | Event, reason?: string) => {\n // Prevent closing on clickaway if we have a custom onClose handler\n if (reason === 'clickaway' && onClose) {\n return;\n }\n onClose?.();\n };\n\n const content = children || (message ? (\n <Alert\n onClose={onClose ? handleClose : undefined}\n severity={severity}\n variant={variant}\n title={title}\n sx={{ width: '100%', borderRadius: 2 }}\n >\n {message}\n </Alert>\n ) : undefined);\n\n if (!content) {\n return null;\n }\n\n return (\n <StyledSnackbar\n ref={ref}\n anchorOrigin={anchorOrigin}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n disableWindowBlurListener\n ClickAwayListenerProps={{\n onClickAway: () => {} // Prevent scroll issues\n }}\n TransitionComponent={StableNoTransition}\n {...props}\n >\n {content}\n </StyledSnackbar>\n );\n});\n\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\n\nexport interface EmptyStateProps {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n}\n\nexport const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(\n { title = 'No items found', description, icon, action },\n ref,\n) {\n return (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: 6,\n textAlign: 'center',\n minHeight: 200,\n }}\n >\n {icon && (\n <Box\n sx={{\n color: 'text.secondary',\n marginBottom: 2,\n fontSize: 64,\n }}\n >\n {icon}\n </Box>\n )}\n <Typography variant=\"h6\" sx={{ marginBottom: 1, color: 'text.primary' }}>\n {title}\n </Typography>\n {description && (\n <Typography variant=\"body2\" sx={{ color: 'text.secondary', marginBottom: 3 }}>\n {description}\n </Typography>\n )}\n {action && <Box>{action}</Box>}\n </Box>\n );\n});\n\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Typography from '@mui/material/Typography';\n\nexport interface LoadingProps {\n message?: string;\n size?: number;\n fullScreen?: boolean;\n}\n\nexport const Loading = React.forwardRef<HTMLDivElement, LoadingProps>(function Loading(\n { message = 'Loading...', size = 40, fullScreen = false },\n ref,\n) {\n const content = (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 2,\n ...(fullScreen && {\n height: '100vh',\n width: '100vw',\n position: 'fixed',\n top: 0,\n left: 0,\n backgroundColor: 'background.default',\n zIndex: 9999,\n }),\n ...(!fullScreen && {\n padding: 4,\n }),\n }}\n >\n <CircularProgress size={size} thickness={4} />\n {message && (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {message}\n </Typography>\n )}\n </Box>\n );\n\n return content;\n});\n\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Typography from '@mui/material/Typography';\n\nexport interface AppLoadingProps {\n /**\n * Loading message to display\n * @default \"Loading...\"\n */\n message?: string;\n /**\n * Logo source URL or path\n * @default \"/icons/logo.png\"\n */\n logo?: string;\n /**\n * Custom styles\n */\n sx?: any;\n}\n\n/**\n * AppLoading component - Full-screen loading indicator with logo\n * \n * @example\n * ```tsx\n * <AppLoading message=\"Initializing application...\" />\n * ```\n */\nexport const AppLoading: React.FC<AppLoadingProps> = ({\n message = 'Loading...',\n logo = '/icons/logo.png',\n sx = {},\n}) => {\n return (\n <Box\n sx={[\n {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100vh',\n width: '100vw',\n position: 'fixed',\n top: 0,\n left: 0,\n backgroundColor: 'grey.50',\n zIndex: 9999,\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {logo && (\n <Box\n component=\"img\"\n src={logo}\n alt=\"Logo\"\n sx={{\n height: 80,\n width: 'auto',\n mb: 4,\n }}\n />\n )}\n\n <CircularProgress size={40} thickness={4} sx={{ mb: 2 }} />\n\n <Typography variant=\"body1\" color=\"text.secondary\">\n {message}\n </Typography>\n </Box>\n );\n};\n\nexport default AppLoading;\n\n","import React from 'react';\nimport MuiCircularProgress from '@mui/material/CircularProgress';\nimport type { CircularProgressProps as MuiCircularProgressProps } from '@mui/material/CircularProgress';\n\nexport interface CircularProgressProps extends MuiCircularProgressProps {\n /**\n * Size of the progress indicator\n * @default 40\n */\n size?: number | string;\n /**\n * Thickness of the progress indicator\n * @default 4\n */\n thickness?: number;\n}\n\n/**\n * CircularProgress component - wrapper around MUI CircularProgress\n * \n * @example\n * ```tsx\n * <CircularProgress size={40} thickness={4} />\n * ```\n */\nexport const CircularProgress = React.forwardRef<HTMLSpanElement, CircularProgressProps>(\n function CircularProgress({ size = 40, thickness = 4, ...props }, ref) {\n return <MuiCircularProgress ref={ref} size={size} thickness={thickness} {...props} />;\n },\n);\n\nexport default CircularProgress;\n\n"]}
@@ -1,6 +1,6 @@
1
1
  // src/components/icons/ActivityAppIcon.tsx
2
2
  import { memo } from "react";
3
- import { SvgIcon } from "@mui/material";
3
+ import SvgIcon from "@mui/material/SvgIcon";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  var ActivityAppIcon = memo((props) => /* @__PURE__ */ jsxs(SvgIcon, { ...props, viewBox: "0 0 36 36", children: [
6
6
  /* @__PURE__ */ jsx("rect", { fill: "none", stroke: "currentColor", width: 34, height: 34, x: 1, y: 1, strokeWidth: 1.5, rx: 6.8 }),
@@ -47,7 +47,7 @@ var ActivityAppIcon = memo((props) => /* @__PURE__ */ jsxs(SvgIcon, { ...props,
47
47
 
48
48
  // src/components/icons/BarTrackingIcon.tsx
49
49
  import { memo as memo2 } from "react";
50
- import { SvgIcon as SvgIcon2 } from "@mui/material";
50
+ import SvgIcon2 from "@mui/material/SvgIcon";
51
51
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
52
52
  var BarTrackingIcon = memo2((props) => /* @__PURE__ */ jsxs2(SvgIcon2, { ...props, viewBox: "0 0 96 97", children: [
53
53
  /* @__PURE__ */ jsx2(
@@ -106,7 +106,7 @@ var BarTrackingIcon = memo2((props) => /* @__PURE__ */ jsxs2(SvgIcon2, { ...prop
106
106
 
107
107
  // src/components/icons/CloudFlashIcon.tsx
108
108
  import { memo as memo3 } from "react";
109
- import { SvgIcon as SvgIcon3 } from "@mui/material";
109
+ import SvgIcon3 from "@mui/material/SvgIcon";
110
110
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
111
111
  var CloudFlashIcon = memo3((props) => /* @__PURE__ */ jsxs3(SvgIcon3, { ...props, fill: "none", viewBox: "0 0 96 97", children: [
112
112
  /* @__PURE__ */ jsx3(
@@ -131,7 +131,7 @@ var CloudFlashIcon = memo3((props) => /* @__PURE__ */ jsxs3(SvgIcon3, { ...props
131
131
 
132
132
  // src/components/icons/DecentralizedServerIcon.tsx
133
133
  import { memo as memo4 } from "react";
134
- import { SvgIcon as SvgIcon4 } from "@mui/material";
134
+ import SvgIcon4 from "@mui/material/SvgIcon";
135
135
  import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
136
136
  var DecentralizedServerIcon = memo4((props) => /* @__PURE__ */ jsxs4(SvgIcon4, { ...props, viewBox: "0 0 96 97", children: [
137
137
  /* @__PURE__ */ jsx4(
@@ -306,7 +306,7 @@ var DecentralizedServerIcon = memo4((props) => /* @__PURE__ */ jsxs4(SvgIcon4, {
306
306
 
307
307
  // src/components/icons/DiscordIcon.tsx
308
308
  import { memo as memo5 } from "react";
309
- import { SvgIcon as SvgIcon5 } from "@mui/material";
309
+ import SvgIcon5 from "@mui/material/SvgIcon";
310
310
  import { jsx as jsx5 } from "react/jsx-runtime";
311
311
  var DiscordIcon = memo5((props) => /* @__PURE__ */ jsx5(SvgIcon5, { ...props, viewBox: "0 0 15 12", children: /* @__PURE__ */ jsx5(
312
312
  "path",
@@ -318,7 +318,7 @@ var DiscordIcon = memo5((props) => /* @__PURE__ */ jsx5(SvgIcon5, { ...props, vi
318
318
 
319
319
  // src/components/icons/GithubLogoIcon.tsx
320
320
  import { memo as memo6 } from "react";
321
- import { SvgIcon as SvgIcon6 } from "@mui/material";
321
+ import SvgIcon6 from "@mui/material/SvgIcon";
322
322
  import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
323
323
  var GithubLogoIcon = memo6((props) => /* @__PURE__ */ jsxs5(SvgIcon6, { ...props, viewBox: "0 0 17 16", sx: { fill: "none" }, children: [
324
324
  /* @__PURE__ */ jsx6(
@@ -339,7 +339,7 @@ var GithubLogoIcon = memo6((props) => /* @__PURE__ */ jsxs5(SvgIcon6, { ...props
339
339
 
340
340
  // src/components/icons/StorageAppIcon.tsx
341
341
  import { memo as memo7 } from "react";
342
- import { SvgIcon as SvgIcon7 } from "@mui/material";
342
+ import SvgIcon7 from "@mui/material/SvgIcon";
343
343
  import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
344
344
  var StorageAppIcon = memo7((props) => /* @__PURE__ */ jsxs6(SvgIcon7, { ...props, viewBox: "0 0 38 29", fill: "none", children: [
345
345
  /* @__PURE__ */ jsx7(
@@ -371,4 +371,4 @@ export {
371
371
  GithubLogoIcon,
372
372
  StorageAppIcon
373
373
  };
374
- //# sourceMappingURL=chunk-6EUAU67C.mjs.map
374
+ //# sourceMappingURL=chunk-SG2TD7FQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/icons/ActivityAppIcon.tsx","../src/components/icons/BarTrackingIcon.tsx","../src/components/icons/CloudFlashIcon.tsx","../src/components/icons/DecentralizedServerIcon.tsx","../src/components/icons/DiscordIcon.tsx","../src/components/icons/GithubLogoIcon.tsx","../src/components/icons/StorageAppIcon.tsx"],"sourcesContent":["import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const ActivityAppIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 36 36\">\n <rect fill=\"none\" stroke=\"currentColor\" width={34} height={34} x={1} y={1} strokeWidth={1.5} rx={6.8} />\n <rect\n fill=\"none\"\n stroke=\"currentColor\"\n width={6.277}\n height={11.018}\n x={6.771}\n y={18.267}\n strokeWidth={1.5}\n rx={1.7}\n />\n <rect\n fill=\"none\"\n stroke=\"currentColor\"\n width={6.277}\n height={22.57}\n x={14.861}\n y={6.714}\n strokeWidth={1.5}\n rx={1.7}\n />\n <rect\n fill=\"none\"\n stroke=\"currentColor\"\n width={6.277}\n height={16.872}\n x={22.949}\n y={12.414}\n strokeWidth={1.5}\n rx={1.7}\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const BarTrackingIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 96 97\">\n <rect\n x=\"7.19922\"\n y=\"7.70312\"\n width=\"81.6\"\n height=\"81.6\"\n rx=\"16.32\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <rect\n x=\"21.0371\"\n y=\"49.1426\"\n width=\"15.0657\"\n height=\"26.4441\"\n rx=\"4.08\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <rect\n x=\"40.4746\"\n y=\"21.4297\"\n width=\"15.0657\"\n height=\"54.1691\"\n rx=\"4.08\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <rect\n x=\"59.8828\"\n y=\"35.0859\"\n width=\"15.0657\"\n height=\"40.4922\"\n rx=\"4.08\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const CloudFlashIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} fill=\"none\" viewBox=\"0 0 96 97\">\n <path\n d=\"M18.8029 43.3396V43.2933H19.8029C20.3752 43.2933 20.9384 43.328 21.4908 43.3937C21.9111 39.4438 22.9817 34.2181 25.6601 29.8138C28.6259 24.937 33.5595 21.0898 41.5689 21.0898C46.9417 21.0898 50.8839 22.9055 53.7292 25.6773C56.5498 28.4249 58.2303 32.0495 59.2307 35.5901C60.1768 38.9386 60.5315 42.2718 60.6446 44.8476C60.891 44.4671 61.1651 44.0792 61.4696 43.691C63.7235 40.8178 67.6089 37.9824 74.0317 37.9824C77.222 37.9824 79.8196 38.6871 81.9219 39.7574L81.9232 39.7581C86.8327 42.2671 89.793 47.4136 89.793 52.8846V54.7368C89.793 65.644 80.9404 74.4889 70.0269 74.4889H18.865C11.867 74.4889 6.19295 68.8202 6.19295 61.8256V57.184C6.19295 49.9845 11.6911 43.8799 18.8029 43.3396Z\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M79.1804 45.7001C79.1804 45.7001 60.7908 47.259 60.7908 10.0898C60.7908 10.0898 60.9856 45.7768 43.1934 45.7768C43.1934 45.7768 61.1933 48.1151 61.1933 67.6899C61.1933 67.6899 61.1933 45.7001 79.1934 45.7001H79.1804Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const DecentralizedServerIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 96 97\">\n <path\n d=\"M14.5706 15.0858L48.016 8.29688L81.3694 15.0858L88.2242 48.3742L81.3694 81.6556L48.016 88.4445L14.5706 81.6556L7.80078 48.3742L14.5706 15.0858Z\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M48.0118 11.2609C49.6622 11.2609 51.0001 9.92755 51.0001 8.28279C51.0001 6.63803 49.6622 5.30469 48.0118 5.30469C46.3614 5.30469 45.0234 6.63803 45.0234 8.28279C45.0234 9.92755 46.3614 11.2609 48.0118 11.2609Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M48.0118 91.4132C49.6622 91.4132 51.0001 90.0799 51.0001 88.4351C51.0001 86.7904 49.6622 85.457 48.0118 85.457C46.3614 85.457 45.0234 86.7904 45.0234 88.4351C45.0234 90.0799 46.3614 91.4132 48.0118 91.4132Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M7.79304 51.339C9.44346 51.339 10.7814 50.0057 10.7814 48.3609C10.7814 46.7162 9.44346 45.3828 7.79304 45.3828C6.14262 45.3828 4.80469 46.7162 4.80469 48.3609C4.80469 50.0057 6.14262 51.339 7.79304 51.339Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M88.2247 51.339C89.8751 51.339 91.213 50.0057 91.213 48.3609C91.213 46.7162 89.8751 45.3828 88.2247 45.3828C86.5743 45.3828 85.2363 46.7162 85.2363 48.3609C85.2363 50.0057 86.5743 51.339 88.2247 51.339Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.3477 18.0539C82.9982 18.0539 84.3361 16.7205 84.3361 15.0758C84.3361 13.431 82.9982 12.0977 81.3477 12.0977C79.6973 12.0977 78.3594 13.431 78.3594 15.0758C78.3594 16.7205 79.6973 18.0539 81.3477 18.0539Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M14.5508 84.6203C16.2013 84.6203 17.5392 83.2869 17.5392 81.6422C17.5392 79.9974 16.2013 78.6641 14.5508 78.6641C12.9004 78.6641 11.5625 79.9974 11.5625 81.6422C11.5625 83.2869 12.9004 84.6203 14.5508 84.6203Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.3477 84.6203C82.9982 84.6203 84.3361 83.2869 84.3361 81.6422C84.3361 79.9974 82.9982 78.6641 81.3477 78.6641C79.6973 78.6641 78.3594 79.9974 78.3594 81.6422C78.3594 83.2869 79.6973 84.6203 81.3477 84.6203Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M14.5508 18.0539C16.2013 18.0539 17.5392 16.7205 17.5392 15.0758C17.5392 13.431 16.2013 12.0977 14.5508 12.0977C12.9004 12.0977 11.5625 13.431 11.5625 15.0758C11.5625 16.7205 12.9004 18.0539 14.5508 18.0539Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n strokeLinejoin=\"round\"\n />\n <rect\n x=\"22.623\"\n y=\"27.332\"\n width=\"51.0819\"\n height=\"13.888\"\n rx=\"4.77987\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <rect\n x=\"22.623\"\n y=\"41.4062\"\n width=\"51.0819\"\n height=\"13.888\"\n rx=\"4.77987\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <rect\n x=\"22.623\"\n y=\"55.3125\"\n width=\"51.0819\"\n height=\"13.888\"\n rx=\"4.77987\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M29.612 37.1542C31.2803 37.1542 32.634 35.8026 32.634 34.1337C32.634 32.4649 31.2803 31.1133 29.612 31.1133C27.9437 31.1133 26.5901 32.4649 26.5901 34.1337C26.5901 35.8026 27.9437 37.1542 29.612 37.1542Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M40.3464 37.1542C42.0147 37.1542 43.3684 35.8026 43.3684 34.1337C43.3684 32.4649 42.0147 31.1133 40.3464 31.1133C38.6782 31.1133 37.3245 32.4649 37.3245 34.1337C37.3245 35.8026 38.6782 37.1542 40.3464 37.1542Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M51.0808 37.1542C52.7491 37.1542 54.1028 35.8026 54.1028 34.1337C54.1028 32.4649 52.7491 31.1133 51.0808 31.1133C49.4125 31.1133 48.0588 32.4649 48.0588 34.1337C48.0588 35.8026 49.4125 37.1542 51.0808 37.1542Z\"\n fill=\"white\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeMiterlimit=\"10\"\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const DiscordIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 15 12\">\n <path\n fill=\"currentColor\"\n d=\"M12.589 1.56A11.64 11.64 0 0 0 9.685.667a7.977 7.977 0 0 0-.372.756 10.813 10.813 0 0 0-3.222 0 8.01 8.01 0 0 0-.372-.756c-1.003.17-1.98.472-2.906.895C.976 4.281.477 6.932.727 9.546c1.076.795 2.28 1.4 3.56 1.787.289-.388.544-.799.763-1.23a7.575 7.575 0 0 1-1.2-.573c.1-.073.198-.148.294-.221a8.365 8.365 0 0 0 7.12 0c.096.078.195.154.294.221a7.602 7.602 0 0 1-1.203.575c.219.43.474.841.762 1.228a11.65 11.65 0 0 0 3.564-1.786c.292-3.031-.5-5.658-2.092-7.987ZM5.366 7.938c-.694 0-1.268-.63-1.268-1.404 0-.775.554-1.41 1.266-1.41.711 0 1.28.635 1.268 1.41-.012.774-.559 1.404-1.266 1.404Zm4.676 0c-.696 0-1.267-.63-1.267-1.404 0-.775.554-1.41 1.267-1.41.713 0 1.277.635 1.265 1.41-.012.774-.558 1.404-1.265 1.404Z\"\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const GithubLogoIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 17 16\" sx={{ fill: 'none' }}>\n <path\n d=\"M8.79754 0C4.268 0 0.595032 3.67233 0.595032 8.20251C0.595032 11.8267 2.9453 14.9013 6.20443 15.9859C6.61435 16.0618 6.76488 15.808 6.76488 15.5913C6.76488 15.3957 6.75723 14.7495 6.75375 14.0642C4.47174 14.5603 3.99022 13.0964 3.99022 13.0964C3.61711 12.1483 3.07949 11.8962 3.07949 11.8962C2.33531 11.3871 3.13559 11.3975 3.13559 11.3975C3.95928 11.4554 4.393 12.2428 4.393 12.2428C5.12457 13.4968 6.31186 13.1343 6.77993 12.9247C6.85353 12.3945 7.06614 12.0327 7.30069 11.8279C5.47884 11.6204 3.56358 10.9171 3.56358 7.77413C3.56358 6.87865 3.88401 6.14688 4.40876 5.57247C4.32359 5.36584 4.04285 4.5316 4.48821 3.40175C4.48821 3.40175 5.177 3.18129 6.74449 4.24256C7.39873 4.06076 8.10045 3.96967 8.79754 3.96658C9.49463 3.96967 10.1969 4.06076 10.8524 4.24256C12.418 3.18129 13.1059 3.40175 13.1059 3.40175C13.5523 4.5316 13.2714 5.36584 13.1863 5.57247C13.7122 6.14688 14.0304 6.87858 14.0304 7.77413C14.0304 10.9245 12.1116 11.6183 10.2851 11.8213C10.5793 12.0759 10.8414 12.5751 10.8414 13.3403C10.8414 14.4378 10.8319 15.3211 10.8319 15.5913C10.8319 15.8096 10.9795 16.0654 11.3954 15.9848C14.6527 14.899 17 11.8254 17 8.20251C17 3.67233 13.3275 0 8.79754 0Z\"\n fill=\"white\"\n />\n <path\n d=\"M3.66696 11.6845C3.64895 11.7252 3.58474 11.7374 3.5264 11.7095C3.46689 11.6828 3.43344 11.6272 3.45274 11.5863C3.47043 11.5443 3.53463 11.5326 3.59401 11.5608C3.65364 11.5875 3.68761 11.6436 3.66696 11.6845ZM4.07044 12.0445C4.03133 12.0808 3.95484 12.0639 3.90292 12.0066C3.84927 11.9494 3.83924 11.873 3.87893 11.8361C3.91926 11.7999 3.99344 11.8168 4.04722 11.8741C4.10087 11.9319 4.11129 12.0079 4.07038 12.0446M4.34726 12.5051C4.29695 12.54 4.21474 12.5073 4.16398 12.4343C4.11374 12.3615 4.11374 12.274 4.16507 12.2389C4.21602 12.2038 4.29695 12.2354 4.34842 12.3077C4.39859 12.3819 4.39859 12.4694 4.34719 12.5052M4.81533 13.0386C4.77036 13.0881 4.67464 13.0749 4.60452 13.0072C4.53285 12.9411 4.51285 12.8472 4.55794 12.7976C4.60342 12.748 4.69973 12.7619 4.77036 12.829C4.84158 12.895 4.86332 12.9896 4.81539 13.0386M5.4203 13.2187C5.40055 13.2829 5.3083 13.3121 5.2154 13.2849C5.12264 13.2568 5.06191 13.1815 5.08063 13.1166C5.09993 13.0519 5.19257 13.0215 5.28617 13.0507C5.37881 13.0787 5.43966 13.1534 5.42036 13.2187M6.1089 13.2951C6.11121 13.3628 6.03241 13.4189 5.93488 13.4201C5.83678 13.4222 5.75746 13.3675 5.75643 13.3009C5.75643 13.2326 5.83343 13.177 5.93147 13.1754C6.029 13.1735 6.1089 13.2279 6.1089 13.2951ZM6.78527 13.2692C6.79698 13.3352 6.72918 13.403 6.63236 13.421C6.53715 13.4384 6.44901 13.3976 6.43686 13.3322C6.42502 13.2645 6.49411 13.1968 6.58913 13.1792C6.68614 13.1624 6.77292 13.2021 6.78527 13.2692Z\"\n fill=\"white\"\n />\n </SvgIcon>\n));\n","import { memo } from 'react';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport type { SvgIconProps } from '@mui/material/SvgIcon';\n\nexport const StorageAppIcon = memo((props: SvgIconProps) => (\n <SvgIcon {...props} viewBox=\"0 0 38 29\" fill=\"none\">\n <path\n d=\"M6.25415 13.3371V13.2515H7.25415C7.31809 13.2515 7.38176 13.2524 7.44516 13.2543C7.66366 11.6446 8.14354 9.64623 9.19625 7.91521C10.5234 5.73296 12.756 4 16.3233 4C18.7076 4 20.4981 4.81149 21.7972 6.07693C23.0714 7.31823 23.8108 8.93436 24.2437 10.4665C24.4895 11.3363 24.6426 12.2007 24.7362 12.9909C25.8141 11.9297 27.4506 11.0385 29.8495 11.0385C31.2681 11.0385 32.4415 11.3528 33.4017 11.8416L33.4031 11.8423C35.655 12.9932 37 15.3454 37 17.8312V18.6029C37 23.4701 33.0499 27.4163 28.1808 27.4163H6.86335C3.62577 27.4163 1 24.7935 1 21.5565V19.6226C1 16.5122 3.24401 13.8341 6.25415 13.3371Z\"\n stroke=\"#5865F2\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <path\n d=\"M31.9946 14.8376C31.9946 14.8376 24.3322 15.4871 24.3322 0C24.3322 0 24.4134 14.8696 17 14.8696C17 14.8696 24.5 15.8438 24.5 24C24.5 24 24.5 14.8376 32 14.8376H31.9946Z\"\n fill=\"white\"\n stroke=\"#5865F2\"\n strokeWidth=\"1.5\"\n />\n </SvgIcon>\n));\n"],"mappings":"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","names":["memo","SvgIcon","jsx","jsxs","memo","SvgIcon","jsx","jsxs","memo","SvgIcon","jsx","jsxs","memo","SvgIcon","jsx","memo","SvgIcon","jsx","jsxs","memo","SvgIcon","jsx","jsxs"]}
@@ -1,5 +1,6 @@
1
1
  // src/components/utilities/Markdown/Markdown.tsx
2
- import { Box, styled } from "@mui/material";
2
+ import Box from "@mui/material/Box";
3
+ import { styled } from "@mui/material/styles";
3
4
  import "highlight.js/styles/github.css";
4
5
  import "github-markdown-css/github-markdown-light.css";
5
6
  import MD from "react-markdown";
@@ -94,11 +95,18 @@ var Truncate = ({
94
95
  return /* @__PURE__ */ jsx3("span", { ...props, "data-full": text, children: truncatedText });
95
96
  };
96
97
 
98
+ // src/components/utilities/BytesSize/BytesSize.tsx
99
+ import size from "byte-size";
100
+ import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
101
+ var BytesSize = ({ bytes }) => {
102
+ return /* @__PURE__ */ jsx4(Fragment, { children: size(bytes).toString() });
103
+ };
104
+
97
105
  // src/components/utilities/QRCode/QRCode.tsx
98
106
  import { forwardRef } from "react";
99
107
  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 }));
108
+ import { jsx as jsx5 } from "react/jsx-runtime";
109
+ var QRCode = forwardRef(({ size: size2 = 168, ...props }, ref) => /* @__PURE__ */ jsx5(QR, { ref, size: size2, ...props }));
102
110
  QRCode.displayName = "QRCode";
103
111
 
104
112
  export {
@@ -106,6 +114,7 @@ export {
106
114
  useOnboarding,
107
115
  OnboardingProvider,
108
116
  Truncate,
117
+ BytesSize,
109
118
  QRCode
110
119
  };
111
- //# sourceMappingURL=chunk-QY65OUAC.mjs.map
120
+ //# sourceMappingURL=chunk-SSFALO6S.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/BytesSize/BytesSize.tsx","../src/components/utilities/QRCode/QRCode.tsx"],"sourcesContent":["import Box from '@mui/material/Box';\nimport { styled } from '@mui/material/styles';\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 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","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","jsx","size"]}
@@ -1,3 +1,60 @@
1
+ // src/theme/tokens.generated.ts
2
+ var tokens = {
3
+ "font-sans": "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'HumanSans', sans-serif",
4
+ "font-display": "'Inter', sans-serif",
5
+ "font-mono": "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
6
+ "c-violet-light": "#f0e0fb",
7
+ "c-violet": "#aa44f2",
8
+ "c-violet-dark": "#7c59ac",
9
+ "c-violet-tint": "#a54aff",
10
+ "c-pink": "#f941e6",
11
+ "c-pink-light": "#fcdff9",
12
+ "c-red": "#ff4f59",
13
+ "c-green": "#49bf63",
14
+ "c-blue-light": "#e7f4fe",
15
+ "c-blue-dark": "#598ab8",
16
+ "surface-low": "#f5f1f7",
17
+ "surface-mid": "#f5f1f7",
18
+ "surface-high": "#fefcff",
19
+ "surface-contrast": "#ffffff",
20
+ "bg-default": "#f5f5f5",
21
+ "bg-dim": "#e6e0e9",
22
+ "bg-success": "#eef5f0",
23
+ "bg-warning": "#fef8e8",
24
+ "bg-danger": "#f9dedc",
25
+ "text-on-danger": "#8c1d18",
26
+ "text-primary": "#1d1b20",
27
+ "text-secondary": "#5f5c64",
28
+ "text-muted": "#938f99",
29
+ "stroke-on-low": "#e6e0e9",
30
+ "stroke-on-med": "#dad1e0",
31
+ "rob-fandango": "#BD32A7",
32
+ "rob-electric-violet": "#8B00EC",
33
+ "rob-ultra-violet": "#6750A4",
34
+ "rob-periwinkle": "#D0BCFF",
35
+ "rob-bright-1": "#5311e3",
36
+ "rob-near-black-2": "#0d0627",
37
+ "rob-near-black-4": "#23194b",
38
+ "shadow-sm": "0px 2px 8px rgba(0,0,0,0.04)",
39
+ "shadow-md": "0px 4px 20px rgba(0,0,0,0.05)",
40
+ "shadow-focus": "0 0 0 4px rgba(170,68,242,0.25)",
41
+ "radius-sm": "8px",
42
+ "radius-md": "12px",
43
+ "radius-lg": "16px",
44
+ "radius-xl": "20px",
45
+ "radius-pill": "999px",
46
+ "dur-fast": "120ms",
47
+ "ease-standard": "cubic-bezier(0.2, 0, 0, 1)",
48
+ "text-link": "#aa44f2"
49
+ };
50
+
51
+ // src/theme/tokens.ts
52
+ var brandViolet = tokens["c-violet"];
53
+ var violetTint = tokens["c-violet-tint"];
54
+ var violetLight = tokens["c-violet-light"];
55
+ var violetDark = tokens["c-violet-dark"];
56
+ var focusRing = tokens["shadow-focus"];
57
+
1
58
  // src/theme/primitives.ts
2
59
  var primitives = {
3
60
  /**
@@ -6,10 +63,14 @@ var primitives = {
6
63
  * raw hex.
7
64
  */
8
65
  violet: {
9
- 100: "#f0e0fb",
66
+ 100: violetLight,
67
+ // #f0e0fb
10
68
  300: "#d0bcff",
11
- 500: "#aa44f2",
12
- 600: "#7c59ac"
69
+ // not in DTCG (product tint); unchanged
70
+ 500: brandViolet,
71
+ // single source -> #aa44f2
72
+ 600: violetDark
73
+ // #7c59ac
13
74
  },
14
75
  /** Legacy MUI blue. Retained for code paths that still reach for blue tokens by name (e.g. ROB highlights). Not the brand primary. */
15
76
  blue: {
@@ -82,7 +143,8 @@ var robPaletteExtended = {
82
143
  nearBlack4: "#23194b"
83
144
  };
84
145
  var deploymentEntityColors = {
85
- workspace: "#aa44f2",
146
+ workspace: brandViolet,
147
+ // was '#aa44f2'; collapsed to the single brand source
86
148
  stream: "#53b96a",
87
149
  deployment: "#eeb510",
88
150
  engagement: "#f941e6",
@@ -153,10 +215,14 @@ var workflowConnectionColors = {
153
215
  // src/theme/webSurfaceTokens.ts
154
216
  var webSurfaceTokens = {
155
217
  // Brand violet (web product primary)
156
- cViolet: "#aa44f2",
157
- cVioletTint: "#a54aff",
158
- cVioletLight: "#f0e0fb",
159
- cVioletDark: "#7c59ac",
218
+ cViolet: brandViolet,
219
+ // #aa44f2 (single source)
220
+ cVioletTint: violetTint,
221
+ // #a54aff (divergent; NOT brandViolet — Track C)
222
+ cVioletLight: violetLight,
223
+ // #f0e0fb
224
+ cVioletDark: violetDark,
225
+ // #7c59ac
160
226
  // Brand accents
161
227
  cPink: "#f941e6",
162
228
  cPinkLight: "#fcdff9",
@@ -193,14 +259,16 @@ var webSurfaceTokens = {
193
259
  textPrimary: "#1d1b20",
194
260
  textSecondary: "#5f5c64",
195
261
  textMuted: "#938f99",
196
- textLink: "#aa44f2",
262
+ textLink: brandViolet,
263
+ // #aa44f2 (collapsed from literal)
197
264
  // Strokes
198
265
  strokeOnLow: "#e6e0e9",
199
266
  strokeOnMed: "#dad1e0",
200
267
  // Shadows
201
268
  shadowSm: "0px 2px 8px rgba(0,0,0,0.04)",
202
269
  shadowMd: "0px 4px 20px rgba(0,0,0,0.05)",
203
- shadowFocus: "0 0 0 4px rgba(170,68,242,0.25)"
270
+ shadowFocus: focusRing
271
+ // single-sourced from generated token; propagates on rebrand
204
272
  };
205
273
 
206
274
  // src/theme/motion.ts
@@ -216,9 +284,9 @@ var motion = {
216
284
  };
217
285
 
218
286
  // 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";
287
+ var fontFamily = tokens["font-sans"];
288
+ var fontFamilyDisplay = tokens["font-display"];
289
+ var fontFamilyMono = tokens["font-mono"];
222
290
  var webTypographyVariants = {
223
291
  eyebrow: {
224
292
  fontFamily,
@@ -374,4 +442,4 @@ export {
374
442
  typography,
375
443
  motion
376
444
  };
377
- //# sourceMappingURL=chunk-PWF2NJDB.mjs.map
445
+ //# sourceMappingURL=chunk-WC2TCWXK.mjs.map