@obolnetwork/obol-ui 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -9,8 +9,9 @@ var jsxRuntime = require('react/jsx-runtime');
9
9
  var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
10
10
  var React = require('react');
11
11
  var TooltipPrimitive = require('@radix-ui/react-tooltip');
12
- var router = require('next/router');
13
12
  var AccordionPrimitive = require('@radix-ui/react-accordion');
13
+ var router = require('next/router');
14
+ var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
14
15
 
15
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
17
 
@@ -38,6 +39,7 @@ var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroup
38
39
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
40
  var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
40
41
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
42
+ var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
41
43
 
42
44
  /*! *****************************************************************************
43
45
  Copyright (c) Microsoft Corporation.
@@ -876,14 +878,14 @@ var StyledTrigger$1 = styled(TabsPrimitive__namespace.Trigger, {
876
878
  boxShadow: "inset 0 -2px 0 0 currentColor",
877
879
  },
878
880
  });
879
- var StyledContent$1 = styled(TabsPrimitive__namespace.Content, {
881
+ var StyledContent$2 = styled(TabsPrimitive__namespace.Content, {
880
882
  flexGrow: 1,
881
883
  });
882
884
  // Exports
883
885
  var Tabs = StyledTabs;
884
886
  var TabsList = StyledList;
885
887
  var TabsTrigger = StyledTrigger$1;
886
- var TabsContent = StyledContent$1;
888
+ var TabsContent = StyledContent$2;
887
889
 
888
890
  var Tabs$1 = /*#__PURE__*/Object.freeze({
889
891
  __proto__: null,
@@ -1126,6 +1128,8 @@ var TrashIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "2
1126
1128
 
1127
1129
  var BulletCheckIcon = function () { return (jsxRuntime.jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [jsxRuntime.jsx("path", { id: "background", d: "M0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12Z", fill: "#1D5249" }), jsxRuntime.jsx("path", { id: "check", d: "M10.1818 14.3284L7.79545 11.8209L7 12.6567L10.1818 16L17 8.83582L16.2045 8L10.1818 14.3284Z", fill: "#2FE4AB", stroke: "#2FE4AB" })] }))); };
1128
1130
 
1131
+ var HelpIcon = function () { return (jsxRuntime.jsx("svg", __assign({ width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { d: "M11.5 18H13.5V16H11.5V18ZM12.5 2C6.98 2 2.5 6.48 2.5 12C2.5 17.52 6.98 22 12.5 22C18.02 22 22.5 17.52 22.5 12C22.5 6.48 18.02 2 12.5 2ZM12.5 20C8.09 20 4.5 16.41 4.5 12C4.5 7.59 8.09 4 12.5 4C16.91 4 20.5 7.59 20.5 12C20.5 16.41 16.91 20 12.5 20ZM12.5 6C10.29 6 8.5 7.79 8.5 10H10.5C10.5 8.9 11.4 8 12.5 8C13.6 8 14.5 8.9 14.5 10C14.5 12 11.5 11.75 11.5 15H13.5C13.5 12.75 16.5 12.5 16.5 10C16.5 7.79 14.71 6 12.5 6Z", fill: "#9CC2C9" }) }))); };
1132
+
1129
1133
  var TeamMemberCard = function (props) { return (jsxRuntime.jsxs(Box, __assign({ css: {
1130
1134
  display: "grid",
1131
1135
  gridTemplateColumns: "1fr",
@@ -1263,7 +1267,7 @@ var slideLeftAndFade = keyframes({
1263
1267
  "0%": { opacity: 0, transform: "translateX(2px)" },
1264
1268
  "100%": { opacity: 1, transform: "translateX(0)" },
1265
1269
  });
1266
- styled(TooltipPrimitive__namespace.Content, {
1270
+ var StyledContent$1 = styled(TooltipPrimitive__namespace.Content, {
1267
1271
  borderRadius: "$1",
1268
1272
  padding: "$sm",
1269
1273
  fontSize: "$3",
@@ -1286,13 +1290,20 @@ styled(TooltipPrimitive__namespace.Content, {
1286
1290
  },
1287
1291
  },
1288
1292
  });
1289
- styled(TooltipPrimitive__namespace.Arrow, {
1293
+ var StyledArrow = styled(TooltipPrimitive__namespace.Arrow, {
1290
1294
  fill: "$tooltip",
1291
1295
  });
1296
+ // Exports
1297
+ var Provider = TooltipPrimitive__namespace.Provider;
1292
1298
  var Tooltip = TooltipPrimitive__namespace.Root;
1293
1299
  var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
1294
1300
  var TooltipContent = TooltipPrimitive__namespace.Content;
1295
- var TooltipArrow = TooltipPrimitive__namespace.Arrow;
1301
+ var TooltipArrow = TooltipPrimitive__namespace.Arrow;
1302
+ var TooltipComponent = function (_a) {
1303
+ var _b = _a.side, side = _b === void 0 ? "bottom" : _b, _c = _a.sideOffset, sideOffset = _c === void 0 ? 5 : _c, children = _a.children, content = _a.content, props = __rest(_a, ["side", "sideOffset", "children", "content"]);
1304
+ return (jsxRuntime.jsxs(Tooltip, __assign({}, props, { children: [jsxRuntime.jsx(TooltipTrigger, __assign({ asChild: true }, { children: children })), jsxRuntime.jsxs(StyledContent$1, __assign({ className: "tooltip-content", side: side, sideOffset: sideOffset }, { children: [content, jsxRuntime.jsx(StyledArrow, { className: "arrow" })] }))] })));
1305
+ };
1306
+ TooltipComponent.displayName = "Tooltip";
1296
1307
 
1297
1308
  var TextField = styled("input", {
1298
1309
  //reset
@@ -1378,8 +1389,8 @@ var TextFieldWithCopy = React.forwardRef(function (props, ref) {
1378
1389
  TextFieldWithCopy.displayName = "TextFieldWithCopy";
1379
1390
 
1380
1391
  var NumberField = React.forwardRef(function (_a, ref) {
1381
- var _b = _a.max, max = _b === void 0 ? 10 : _b, _c = _a.min, min = _c === void 0 ? 1 : _c;
1382
- var _d = React.useState(min), qty = _d[0], setQty = _d[1];
1392
+ var _b = _a.max, max = _b === void 0 ? 10 : _b, _c = _a.min, min = _c === void 0 ? 1 : _c, value = _a.value, onChangeValue = _a.onChangeValue;
1393
+ var _d = React.useState(value | min), qty = _d[0], setQty = _d[1];
1383
1394
  var handleOnDec = function () {
1384
1395
  if (qty <= min) {
1385
1396
  setQty(min);
@@ -1408,6 +1419,11 @@ var NumberField = React.forwardRef(function (_a, ref) {
1408
1419
  setQty(value);
1409
1420
  }
1410
1421
  };
1422
+ React.useEffect(function () {
1423
+ if (qty && onChangeValue) {
1424
+ onChangeValue(qty);
1425
+ }
1426
+ }, [qty, onChangeValue]);
1411
1427
  return (jsxRuntime.jsxs(Box, __assign({ css: {
1412
1428
  display: "flex",
1413
1429
  "input::-webkit-inner-spin-button": {
@@ -1445,6 +1461,129 @@ var NumberField = React.forwardRef(function (_a, ref) {
1445
1461
  });
1446
1462
  NumberField.displayName = "NumberField";
1447
1463
 
1464
+ var slideDown = keyframes({
1465
+ from: { height: 0 },
1466
+ to: { height: "var(--radix-accordion-content-height)" },
1467
+ });
1468
+ var slideUp = keyframes({
1469
+ from: { height: "var(--radix-accordion-content-height)" },
1470
+ to: { height: 0 },
1471
+ });
1472
+ var StyledItem = styled(AccordionPrimitive__namespace.Item, {
1473
+ overflow: "hidden",
1474
+ marginTop: 1,
1475
+ });
1476
+ var StyledHeader = styled(AccordionPrimitive__namespace.Header, {
1477
+ all: "unset",
1478
+ display: "flex",
1479
+ });
1480
+ var StyledTrigger = styled(AccordionPrimitive__namespace.Trigger, {
1481
+ all: "unset",
1482
+ $$boxShadowColor: "$colors$muted",
1483
+ fontFamily: "inherit",
1484
+ backgroundColor: "transparent",
1485
+ height: 30,
1486
+ flex: 1,
1487
+ display: "flex",
1488
+ alignItems: "center",
1489
+ justifyContent: "space-between",
1490
+ fontSize: 15,
1491
+ textTransform: "uppercase",
1492
+ fontWeight: "$bold",
1493
+ lineHeight: 1,
1494
+ color: "$$boxShadowColor",
1495
+ borderBottom: "2px solid $$boxShadowColor",
1496
+ '&[data-state="closed"]': {
1497
+ backgroundColor: "transparent",
1498
+ },
1499
+ '&[data-state="open"]': {
1500
+ $$boxShadowColor: "$colors$textLight",
1501
+ backgroundColor: "transparent",
1502
+ },
1503
+ "&:hover": { $$boxShadowColor: "$colors$textLight" },
1504
+ });
1505
+ var StyledContent = styled(AccordionPrimitive__namespace.Content, {
1506
+ overflow: "hidden",
1507
+ fontSize: 15,
1508
+ color: "$textLight",
1509
+ '&[data-state="open"]': {
1510
+ animation: "".concat(slideDown, " 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards"),
1511
+ },
1512
+ '&[data-state="closed"]': {
1513
+ animation: "".concat(slideUp, " 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards"),
1514
+ },
1515
+ });
1516
+ var StyledChevron = styled(ChevronDownIcon, {
1517
+ color: "$textLight",
1518
+ transition: "transform 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1519
+ "[data-state=open] &": { transform: "rotate(180deg)" },
1520
+ });
1521
+ var StyledRoot = styled(AccordionPrimitive__namespace.Root, {
1522
+ display: "flex",
1523
+ flexDirection: "column",
1524
+ gap: "$lg",
1525
+ });
1526
+ // Exports
1527
+ var Root = StyledRoot;
1528
+ var Item = StyledItem;
1529
+ // eslint-disable-next-line react/display-name
1530
+ var Trigger = function (_a) {
1531
+ var children = _a.children, props = __rest(_a, ["children"]);
1532
+ return (jsxRuntime.jsx(StyledHeader, { children: jsxRuntime.jsxs(StyledTrigger, __assign({}, props, { children: [children, jsxRuntime.jsx(StyledChevron, { "aria-hidden": true })] })) }));
1533
+ };
1534
+ // eslint-disable-next-line react/display-name
1535
+ var Content$1 = function (_a) {
1536
+ var children = _a.children, props = __rest(_a, ["children"]);
1537
+ return (jsxRuntime.jsx(StyledContent, __assign({}, props, { children: children })));
1538
+ };
1539
+
1540
+ var Accordion = /*#__PURE__*/Object.freeze({
1541
+ __proto__: null,
1542
+ Root: Root,
1543
+ Item: Item,
1544
+ Trigger: Trigger,
1545
+ Content: Content$1
1546
+ });
1547
+
1548
+ var AdvisoryToggleItem = styled(ToggleGroupItem, {
1549
+ all: "unset",
1550
+ backgroundColor: "transparent",
1551
+ border: "2px solid transparent",
1552
+ "&:hover": { cursor: "pointer" },
1553
+ "&[data-state-item=selected]": {
1554
+ "& .advisory-bullet": { borderLeft: "2px solid $obolGreen" },
1555
+ },
1556
+ });
1557
+ var AdvisoryToggleBullet = function (props) {
1558
+ var color = "light";
1559
+ if (props.state === "completed") {
1560
+ color = "body";
1561
+ }
1562
+ if (props.state === "upcoming") {
1563
+ color = "muted";
1564
+ }
1565
+ return (jsxRuntime.jsxs(Box, __assign({ className: "advisory-bullet", css: {
1566
+ display: "flex",
1567
+ flexWrap: "wrap",
1568
+ alignItems: "center",
1569
+ gap: "$xs",
1570
+ minHeight: "$2xl",
1571
+ pl: "calc($2xl - 2px)",
1572
+ ml: "-2px",
1573
+ borderLeft: "2px solid transparent"
1574
+ } }, { children: [props.state === "completed" ? (jsxRuntime.jsx(BulletCheckIcon, {})) : (jsxRuntime.jsx(Box, __assign({ css: {
1575
+ display: "grid",
1576
+ placeItems: "center",
1577
+ width: "$lg",
1578
+ height: "$lg",
1579
+ backgroundColor: props.state === "upcoming" ? "$bg03" : "$obolMidGreen",
1580
+ borderRadius: "$round",
1581
+ fontSize: "$3",
1582
+ fontWeight: "$bold",
1583
+ color: props.state === "upcoming" ? "$muted" : "$obolGreen",
1584
+ } }, { children: props.rank }))), jsxRuntime.jsx(Text, __assign({ color: color }, { children: props.children }))] })));
1585
+ };
1586
+
1448
1587
  var CardImage = styled(Image__default["default"], {
1449
1588
  btrr: "$4",
1450
1589
  btlr: "$4",
@@ -1460,7 +1599,7 @@ var ToggleCardItem = styled(ToggleGroupItem, {
1460
1599
  border: "2px solid $obolGreen",
1461
1600
  },
1462
1601
  });
1463
- var Content$1 = function (props) { return (jsxRuntime.jsxs(Container, __assign({ className: "card-container", alignItems: props.contentAlign || "center", ghost: true }, { children: [jsxRuntime.jsxs(Container, __assign({ className: "card-container-text", alignItems: props.contentAlign || "center", css: { gap: "$xs" }, ghost: true }, { children: [props.heading && (jsxRuntime.jsx(Text, __assign({ className: "card-heading", variant: "h5" }, { children: props.heading }))), props.subheading && (jsxRuntime.jsx(Text, __assign({ className: "card-subheading", css: { lineHeight: "$base", color: "$body" }, size: "4" }, { children: props.subheading })))] })), props.link && (jsxRuntime.jsxs(Link, __assign({ className: "card-link", href: props.link, target: "_blank" }, { children: ["Learn More ", jsxRuntime.jsx(ArrowForward, {})] })))] }))); };
1602
+ var Content = function (props) { return (jsxRuntime.jsxs(Container, __assign({ className: "card-container", alignItems: props.contentAlign || "center", ghost: true }, { children: [jsxRuntime.jsxs(Container, __assign({ className: "card-container-text", alignItems: props.contentAlign || "center", css: { gap: "$xs" }, ghost: true }, { children: [props.heading && (jsxRuntime.jsx(Text, __assign({ className: "card-heading", variant: "h5" }, { children: props.heading }))), props.subheading && (jsxRuntime.jsx(Text, __assign({ className: "card-subheading", css: { lineHeight: "$base", color: "$body" }, size: "4" }, { children: props.subheading })))] })), props.link && (jsxRuntime.jsxs(Link, __assign({ className: "card-link", href: props.link, target: "_blank" }, { children: ["Learn More ", jsxRuntime.jsx(ArrowForward, {})] })))] }))); };
1464
1603
  var BoxCard = styled(Box, {
1465
1604
  display: "flex",
1466
1605
  flexDirection: "column",
@@ -1500,7 +1639,7 @@ var Card = function (_a) {
1500
1639
  gap: "$xl",
1501
1640
  flexDirection: "column",
1502
1641
  alignItems: "center",
1503
- } }, { children: [variant == "icon" && props.image, jsxRuntime.jsx(Content$1, __assign({}, props))] }))] })));
1642
+ } }, { children: [variant == "icon" && props.image, jsxRuntime.jsx(Content, __assign({}, props))] }))] })));
1504
1643
  };
1505
1644
 
1506
1645
  var Navbar = function (_a) {
@@ -1583,89 +1722,295 @@ var Navbar = function (_a) {
1583
1722
  } }, { children: jsxRuntime.jsx(ContentMenu, {}) }))] }))] })));
1584
1723
  };
1585
1724
 
1586
- var slideDown = keyframes({
1587
- from: { height: 0 },
1588
- to: { height: "var(--radix-accordion-content-height)" },
1589
- });
1590
- var slideUp = keyframes({
1591
- from: { height: "var(--radix-accordion-content-height)" },
1592
- to: { height: 0 },
1593
- });
1594
- var StyledItem = styled(AccordionPrimitive__namespace.Item, {
1595
- overflow: "hidden",
1596
- marginTop: 1,
1597
- });
1598
- var StyledHeader = styled(AccordionPrimitive__namespace.Header, {
1599
- all: "unset",
1725
+ var NotificationContainer = styled(Box, {
1726
+ backgroundColor: "$bg03",
1727
+ borderRadius: "$1",
1600
1728
  display: "flex",
1729
+ gap: "$xs",
1730
+ p: "$md",
1601
1731
  });
1602
- var StyledTrigger = styled(AccordionPrimitive__namespace.Trigger, {
1732
+ var NotificationCard = function (_a) {
1733
+ var heading = _a.heading, subHeading = _a.subHeading, link = _a.link, _b = _a.linkText, linkText = _b === void 0 ? "More on Charon" : _b;
1734
+ return (jsxRuntime.jsxs(NotificationContainer, { children: [jsxRuntime.jsx(Box, { children: jsxRuntime.jsx(AlertIcon, { size: "lg", color: "body" }) }), jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", fd: "column", gap: "$sm" } }, { children: [jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", fd: "column", gap: "$xs" } }, { children: [jsxRuntime.jsx(Text, __assign({ variant: "body" }, { children: heading })), subHeading && (jsxRuntime.jsx(Text, __assign({ css: { color: "$textLight", fontSize: "$3" } }, { children: subHeading })))] })), link && (jsxRuntime.jsxs(Link, __assign({ target: "_blank", href: link }, { children: [linkText, jsxRuntime.jsx(ArrowForward, { size: "md" })] })))] }))] }));
1735
+ };
1736
+
1737
+ var ProgressTracker = function (props) {
1738
+ var _a = React.useState(props.items), items = _a[0]; _a[1];
1739
+ return (jsxRuntime.jsx(Box, __assign({ css: { backgroundColor: "$bg02", py: "$3xl", px: "$6xl" } }, { children: jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", fd: "column", gap: "$md" } }, { children: [jsxRuntime.jsx(Box, __assign({ className: "progress-bar-behind", css: {
1740
+ height: "$xxs",
1741
+ borderRadius: "$3",
1742
+ backgroundColor: "$progressTrackerGreen",
1743
+ position: "relative",
1744
+ width: "$full",
1745
+ } }, { children: jsxRuntime.jsxs(Box, __assign({ css: {
1746
+ display: "grid",
1747
+ placeItems: "end",
1748
+ height: "$xxs",
1749
+ borderRadius: "$3",
1750
+ position: "relative",
1751
+ width: "calc(100% / ".concat(items.length - 1, ")"),
1752
+ } }, { children: [jsxRuntime.jsx(Box, { css: {
1753
+ display: "grid",
1754
+ placeItems: "center",
1755
+ position: "absolute",
1756
+ width: "28px",
1757
+ height: "28px",
1758
+ backgroundColor: "$progressTrackerGreen",
1759
+ borderRadius: "$round",
1760
+ top: "-10px",
1761
+ right: "-14px",
1762
+ } }), jsxRuntime.jsx(Box, { css: {
1763
+ display: "grid",
1764
+ placeItems: "end",
1765
+ height: "$xxs",
1766
+ borderRadius: "$3",
1767
+ backgroundColor: "$obolGreen",
1768
+ position: "absolute",
1769
+ width: "$full",
1770
+ "&::after": {
1771
+ content: "",
1772
+ position: "absolute",
1773
+ width: "$sm",
1774
+ height: "$sm",
1775
+ backgroundColor: "$obolGreen",
1776
+ borderRadius: "$round",
1777
+ top: "-4px",
1778
+ right: "-8px",
1779
+ },
1780
+ } })] })) })), jsxRuntime.jsx(Box, __assign({ className: "link-items", css: {
1781
+ display: "flex",
1782
+ justifyContent: "space-between",
1783
+ alignItems: "center",
1784
+ } }, { children: items.map(function (item, index) { return (jsxRuntime.jsx(Link, __assign({ disabled: item.status === "incomplete", href: item.status === "incomplete" ? "javascript:void(0)" : item.href }, { children: item.title }), ":l".concat(index))); }) }))] })) })));
1785
+ };
1786
+
1787
+ var StyledRadio = styled(RadioGroupPrimitive__namespace.Item, {
1603
1788
  all: "unset",
1604
- $$boxShadowColor: "$colors$muted",
1605
- fontFamily: "inherit",
1606
- backgroundColor: "transparent",
1607
- height: 30,
1608
- flex: 1,
1789
+ backgroundColor: "$obolGreen",
1790
+ width: 25,
1791
+ height: 25,
1792
+ borderRadius: "100%",
1793
+ "&:hover": { filter: "brightness(90%)", cursor: "pointer" },
1794
+ });
1795
+ var StyledIndicator = styled(RadioGroupPrimitive__namespace.Indicator, {
1609
1796
  display: "flex",
1610
1797
  alignItems: "center",
1611
- justifyContent: "space-between",
1612
- fontSize: 15,
1613
- textTransform: "uppercase",
1614
- fontWeight: "$bold",
1615
- lineHeight: 1,
1616
- color: "$$boxShadowColor",
1617
- borderBottom: "2px solid $$boxShadowColor",
1618
- '&[data-state="closed"]': {
1619
- backgroundColor: "transparent",
1620
- },
1621
- '&[data-state="open"]': {
1622
- $$boxShadowColor: "$colors$textLight",
1623
- backgroundColor: "transparent",
1798
+ justifyContent: "center",
1799
+ width: "100%",
1800
+ height: "100%",
1801
+ position: "relative",
1802
+ "&::after": {
1803
+ content: '""',
1804
+ display: "absolute",
1805
+ position: "absolute",
1806
+ width: 11,
1807
+ height: 11,
1808
+ borderRadius: "50%",
1809
+ boxShadow: "0 0 0 4px #0E1E22",
1810
+ backgroundColor: "#2FE4AB",
1624
1811
  },
1625
- "&:hover": { $$boxShadowColor: "$colors$textLight" },
1626
1812
  });
1627
- var StyledContent = styled(AccordionPrimitive__namespace.Content, {
1628
- overflow: "hidden",
1629
- fontSize: 15,
1813
+ // Exports
1814
+ var RadioGroup = RadioGroupPrimitive__namespace.Root;
1815
+ var RadioGroupRadio = StyledRadio;
1816
+ var RadioGroupIndicator = StyledIndicator;
1817
+ var RadioGroupItemLabel = styled("label", {
1630
1818
  color: "$textLight",
1631
- '&[data-state="open"]': {
1632
- animation: "".concat(slideDown, " 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards"),
1819
+ fontSize: "$3",
1820
+ lineHeight: 1,
1821
+ userSelect: "none",
1822
+ paddingLeft: "$xxxs",
1823
+ textTransform: "uppercase",
1824
+ });
1825
+ var RadioGroupItem = function (_a) {
1826
+ var value = _a.value, label = _a.label, _b = _a.index, index = _b === void 0 ? 1 : _b;
1827
+ var id = "id-:r".concat(index, ":");
1828
+ return (jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", margin: "10px 0", alignItems: "center" } }, { children: [jsxRuntime.jsx(RadioGroupRadio, __assign({ value: value, id: id }, { children: jsxRuntime.jsx(RadioGroupPrimitive__namespace.RadioGroupIndicator, {}) })), jsxRuntime.jsx(RadioGroupItemLabel, __assign({ htmlFor: id }, { children: label }))] })));
1829
+ };
1830
+ var RadioGroupComponent = function (_a) {
1831
+ var items = _a.items, value = _a.value, onValueChange = _a.onValueChange, props = __rest(_a, ["items", "value", "onValueChange"]);
1832
+ return (jsxRuntime.jsx(RadioGroup, __assign({ "aria-label": "View density", value: value, onValueChange: onValueChange }, props, { children: items.map(function (item, index) { return (jsxRuntime.jsx(RadioGroupItem, __assign({}, item, { index: index }), "item-".concat(item.label, "-").concat(index))); }) })));
1833
+ };
1834
+
1835
+ var StyledTable = styled("table", {
1836
+ borderCollapse: "collapse",
1837
+ borderRadius: "2px",
1838
+ backgroundColor: "$bg02",
1839
+ borderStyle: "hidden",
1840
+ boxShadow: "0 0 0 2px $bg04",
1841
+ width: "100%",
1842
+ "& thead": {
1843
+ color: "$body",
1844
+ textTransform: "uppercase",
1845
+ fontWeight: "$bold",
1846
+ fontSize: "$3",
1847
+ "& td": {
1848
+ py: "$xs",
1849
+ px: "$sm",
1850
+ },
1633
1851
  },
1634
- '&[data-state="closed"]': {
1635
- animation: "".concat(slideUp, " 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards"),
1852
+ "& tr": {
1853
+ color: "$textLighter",
1636
1854
  },
1637
1855
  });
1638
- var StyledChevron = styled(ChevronDownIcon, {
1639
- color: "$textLight",
1640
- transition: "transform 300ms cubic-bezier(0.87, 0, 0.13, 1)",
1641
- "[data-state=open] &": { transform: "rotate(180deg)" },
1856
+ var Td = styled("td", {
1857
+ border: "2px solid $bg04",
1858
+ py: 0,
1859
+ px: "$sm",
1860
+ textAlign: "center",
1861
+ color: "$body",
1862
+ fontWeight: "$bold",
1863
+ fontSize: "$4",
1864
+ "& input": {
1865
+ border: "none",
1866
+ borderRadius: 0,
1867
+ width: "100%",
1868
+ },
1869
+ variants: {
1870
+ noPadding: {
1871
+ true: {
1872
+ p: 0,
1873
+ },
1874
+ },
1875
+ size: {
1876
+ sm: {
1877
+ width: "$3xl",
1878
+ },
1879
+ },
1880
+ },
1642
1881
  });
1643
- var StyledRoot = styled(AccordionPrimitive__namespace.Root, {
1644
- display: "flex",
1645
- flexDirection: "column",
1646
- gap: "$lg",
1882
+ var Tr = styled("tr", {});
1883
+ var BoxBorderTop = styled(Box, {
1884
+ borderTop: "2px solid $bg04",
1885
+ marginTop: "$2",
1886
+ height: "$3xl",
1647
1887
  });
1648
- // Exports
1649
- var Root = StyledRoot;
1650
- var Item = StyledItem;
1651
- // eslint-disable-next-line react/display-name
1652
- var Trigger = function (_a) {
1653
- var children = _a.children, props = __rest(_a, ["children"]);
1654
- return (jsxRuntime.jsx(StyledHeader, { children: jsxRuntime.jsxs(StyledTrigger, __assign({}, props, { children: [children, jsxRuntime.jsx(StyledChevron, { "aria-hidden": true })] })) }));
1888
+ var AddNewRow = function (props) {
1889
+ return (jsxRuntime.jsxs(Tr, { children: [jsxRuntime.jsx(Td, __assign({ noPadding: true }, { children: jsxRuntime.jsx(BoxBorderTop, { children: "" }) })), jsxRuntime.jsx(Td, __assign({ noPadding: true, css: { backgroundColor: "$bg03" } }, { children: jsxRuntime.jsx(BoxBorderTop, { children: jsxRuntime.jsx(Button, __assign({ css: {
1890
+ color: "$obolGreen",
1891
+ justifyContent: "start",
1892
+ borderRadius: 0,
1893
+ "&:hover": {
1894
+ backgroundColor: "#2FE4AB10",
1895
+ },
1896
+ }, fullWidth: true, ghost: true, onClick: props.handleOnClick }, { children: "+ Add Signer" })) }) })), jsxRuntime.jsx(Td, __assign({ noPadding: true, css: { backgroundColor: "$bg03" } }, { children: jsxRuntime.jsx(BoxBorderTop, {}) }))] }));
1655
1897
  };
1656
- // eslint-disable-next-line react/display-name
1657
- var Content = function (_a) {
1658
- var children = _a.children, props = __rest(_a, ["children"]);
1659
- return (jsxRuntime.jsx(StyledContent, __assign({}, props, { children: children })));
1898
+ // Components
1899
+ var SplitterTable = function (_a) {
1900
+ var rows = _a.rows, columns = _a.columns, _b = _a.renderComponentValue, renderComponentValue = _b === void 0 ? "TextField" : _b, onAddRow = _a.onAddRow, onRemoveRow = _a.onRemoveRow, onUpdateRow = _a.onUpdateRow;
1901
+ return (jsxRuntime.jsxs(StyledTable, { children: [jsxRuntime.jsxs("thead", { children: [jsxRuntime.jsx(Td, {}), columns.map(function (column, index) { return (jsxRuntime.jsx(Td, __assign({ css: { textAlign: "start" } }, { children: column }), "header-".concat(index))); }), jsxRuntime.jsx(Td, {})] }), jsxRuntime.jsxs("tbody", { children: [rows.map(function (row, rowIndex) { return (jsxRuntime.jsxs("tr", { children: [jsxRuntime.jsx(Td, __assign({ size: "sm" }, { children: rowIndex + 1 })), Object.keys(row).map(function (data, cellIndex) {
1902
+ if (data === "id")
1903
+ return null;
1904
+ var isTextField = renderComponentValue === "TextField";
1905
+ return (jsxRuntime.jsx(Td, __assign({ noPadding: true }, { children: isTextField ? (jsxRuntime.jsx(TextField, { defaultValue: row.value, onChange: function (e) { return onUpdateRow(row.id, e.target.value); } })) : (row.value) }), "cell ".concat(cellIndex)));
1906
+ }), jsxRuntime.jsx(Td, __assign({ size: "sm" }, { children: jsxRuntime.jsx(IconButton, __assign({ ghost: true, onClick: function () { return onRemoveRow(row.id); } }, { children: jsxRuntime.jsx(TrashIcon, {}) })) }))] }, row.id)); }), jsxRuntime.jsx(AddNewRow, { handleOnClick: function () { return onAddRow(""); } })] })] }));
1907
+ };
1908
+ var Table = function (_a) {
1909
+ var rows = _a.rows, columns = _a.columns;
1910
+ return (jsxRuntime.jsxs(StyledTable, { children: [jsxRuntime.jsx("thead", { children: columns.map(function (column, index) { return (jsxRuntime.jsx(Td, { children: column }, "header-".concat(index))); }) }), jsxRuntime.jsx("tbody", { children: rows.map(function (row, rowIndex) { return (jsxRuntime.jsx("tr", { children: Object.keys(row).map(function (data, cellIndex) {
1911
+ return (jsxRuntime.jsx(Td, { children: row.value }, "cell ".concat(cellIndex)));
1912
+ }) }, "row ".concat(rowIndex))); }) })] }));
1660
1913
  };
1661
1914
 
1662
- var Accordion = /*#__PURE__*/Object.freeze({
1663
- __proto__: null,
1664
- Root: Root,
1665
- Item: Item,
1666
- Trigger: Trigger,
1667
- Content: Content
1668
- });
1915
+ var Advisory = function (_a) {
1916
+ var onUpdateState = _a.onUpdateState, onItemChange = _a.onItemChange, onComplete = _a.onComplete, onBack = _a.onBack, itemSelected = _a.itemSelected, props = __rest(_a, ["onUpdateState", "onItemChange", "onComplete", "onBack", "itemSelected"]);
1917
+ var handleOnBack = function (value) {
1918
+ onBack(value);
1919
+ };
1920
+ var handleOnAccept = function (value) {
1921
+ onUpdateState(value);
1922
+ };
1923
+ return (jsxRuntime.jsxs(Box, __assign({ css: {
1924
+ display: "flex",
1925
+ border: "2px solid $bg04",
1926
+ borderRadius: "$3",
1927
+ height: "752px",
1928
+ } }, { children: [jsxRuntime.jsx(Box, __assign({ css: {
1929
+ display: "flex",
1930
+ fd: "column",
1931
+ flex: 1,
1932
+ py: "$xl",
1933
+ backgroundColor: "$bg02",
1934
+ borderRight: "2px solid $bg04",
1935
+ btlr: "$2",
1936
+ bblr: "$2",
1937
+ } }, { children: jsxRuntime.jsx(ToggleGroup, __assign({ css: {
1938
+ display: "flex",
1939
+ fd: "column",
1940
+ gap: "$xxs",
1941
+ }, type: "single", "aria-label": "Text alignment", value: itemSelected.value, onValueChange: function (value) {
1942
+ if (value !== "") {
1943
+ var content = props.items.find(function (item) { return item.value === value; });
1944
+ if (content) {
1945
+ onItemChange(content);
1946
+ }
1947
+ }
1948
+ } }, { children: props.items.map(function (item, index) { return (jsxRuntime.jsx(AdvisoryToggleItem, __assign({ disabled: item.state === "upcoming", value: item.value, "aria-label": item.title, css: { borderLeftWidth: "0px" }, "data-state-item": item.value === itemSelected.value ? "selected" : "" }, { children: jsxRuntime.jsx(AdvisoryToggleBullet, __assign({ state: item.state, rank: item.rank, onClick: function () { return console.log("enable next, complete this"); } }, { children: item.title }), ":ab".concat(index, ":")) }), ":at".concat(index, ":"))); }) })) })), jsxRuntime.jsx(Box, __assign({ css: {
1949
+ display: "flex",
1950
+ flex: 2,
1951
+ fd: "column",
1952
+ p: "$2xl",
1953
+ backgroundColor: "$bg01",
1954
+ btrr: "$2",
1955
+ bbrr: "$2",
1956
+ } }, { children: itemSelected.content(itemSelected.rank, itemSelected.enableNextStep, handleOnAccept, handleOnBack, onComplete) }))] })));
1957
+ };
1958
+ var Flex = styled(Box, { display: "flex", fd: "column" });
1959
+
1960
+ var defaultLinks = [
1961
+ {
1962
+ title: "Docs",
1963
+ links: [
1964
+ {
1965
+ title: "Intro to Obol",
1966
+ link: "https://docs.obol.tech/docs/int/Overview",
1967
+ },
1968
+ { title: "Charon", link: "https://github.com/ObolNetwork/charon" },
1969
+ {
1970
+ title: "DV Launchpad",
1971
+ link: "https://docs.obol.tech/docs/dvk/distributed_validator_launchpad",
1972
+ },
1973
+ ],
1974
+ },
1975
+ {
1976
+ title: "Community",
1977
+ links: [
1978
+ { title: "Discord", link: "https://discord.com/invite/n6ebKsX46w" },
1979
+ { title: "Twitter", link: "https://twitter.com/ObolNetwork" },
1980
+ ],
1981
+ },
1982
+ {
1983
+ title: "More",
1984
+ links: [
1985
+ { title: "Blog", link: "https://blog.obol.tech" },
1986
+ { title: "Github", link: "https://github.com/ObolNetwork" },
1987
+ ],
1988
+ },
1989
+ ];
1990
+ var Footer = function (_a) {
1991
+ var _b = _a.links, links = _b === void 0 ? defaultLinks : _b;
1992
+ var year = new Date().getFullYear();
1993
+ return (jsxRuntime.jsxs(Box, __assign({ css: {
1994
+ display: "flex",
1995
+ "@sm": {
1996
+ flexDirection: "column",
1997
+ gap: "$xl",
1998
+ },
1999
+ } }, { children: [jsxRuntime.jsxs(Box, __assign({ css: {
2000
+ display: "flex",
2001
+ flexDirection: "column",
2002
+ gap: "$xxs",
2003
+ flex: 1,
2004
+ } }, { children: [jsxRuntime.jsx(ObolSolidDarkBgH, {}), jsxRuntime.jsx(Text, __assign({ variant: "body", css: { fontSize: "$3" } }, { children: "Copyright \u00A9 ".concat(year, " Obol Labs, Inc.") }))] })), jsxRuntime.jsx(Box, __assign({ className: "footer-obol", css: {
2005
+ display: "grid",
2006
+ gridTemplateColumns: "repeat(3, 1fr)",
2007
+ "@sm": {
2008
+ gridTemplateColumns: "repeat(2, 1fr)",
2009
+ gap: "$xl",
2010
+ },
2011
+ flex: 2,
2012
+ } }, { children: links.map(function (item, index) { return (jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", flexDirection: "column", gap: "10px" } }, { children: [jsxRuntime.jsx(Text, __assign({ variant: "body", css: { fontSize: "$5", fontWeight: "$bold" } }, { children: item.title })), item.links.map(function (link, idx) { return (jsxRuntime.jsx(Link, __assign({ variant: "docs", target: "_blank", href: link.link, css: { color: "$textLight", fontSize: "$4" } }, { children: link.title }), "link-".concat(idx))); })] }), "link-section-".concat(index))); }) }))] })));
2013
+ };
1669
2014
 
1670
2015
  function useMediaQuery(query) {
1671
2016
  var _a = React.useState(false), matches = _a[0], setMatches = _a[1];
@@ -1771,62 +2116,10 @@ var TwoColumnSection = function (_a) {
1771
2116
  } }, { children: !screenDownSm ? (jsxRuntime.jsx(Image__default["default"], { src: image.basePath, alt: "Obol Logo", objectFit: "fill", layout: "fill" })) : (jsxRuntime.jsx(Image__default["default"], { src: image.mobilePath || image.basePath, alt: "Obol Logo", objectFit: "fill", layout: "fill" })) }))] })));
1772
2117
  };
1773
2118
 
1774
- var defaultLinks = [
1775
- {
1776
- title: "Docs",
1777
- links: [
1778
- {
1779
- title: "Intro to Obol",
1780
- link: "https://docs.obol.tech/docs/int/Overview",
1781
- },
1782
- { title: "Charon", link: "https://github.com/ObolNetwork/charon" },
1783
- {
1784
- title: "DV Launchpad",
1785
- link: "https://docs.obol.tech/docs/dvk/distributed_validator_launchpad",
1786
- },
1787
- ],
1788
- },
1789
- {
1790
- title: "Community",
1791
- links: [
1792
- { title: "Discord", link: "https://discord.com/invite/n6ebKsX46w" },
1793
- { title: "Twitter", link: "https://twitter.com/ObolNetwork" },
1794
- ],
1795
- },
1796
- {
1797
- title: "More",
1798
- links: [
1799
- { title: "Blog", link: "https://blog.obol.tech" },
1800
- { title: "Github", link: "https://github.com/ObolNetwork" },
1801
- ],
1802
- },
1803
- ];
1804
- var Footer = function (_a) {
1805
- var _b = _a.links, links = _b === void 0 ? defaultLinks : _b;
1806
- var year = new Date().getFullYear();
1807
- return (jsxRuntime.jsxs(Box, __assign({ css: {
1808
- display: "flex",
1809
- "@sm": {
1810
- flexDirection: "column",
1811
- gap: "$xl",
1812
- },
1813
- } }, { children: [jsxRuntime.jsxs(Box, __assign({ css: {
1814
- display: "flex",
1815
- flexDirection: "column",
1816
- gap: "$xxs",
1817
- flex: 1,
1818
- } }, { children: [jsxRuntime.jsx(ObolSolidDarkBgH, {}), jsxRuntime.jsx(Text, __assign({ variant: "body", css: { fontSize: "$3" } }, { children: "Copyright \u00A9 ".concat(year, " Obol Labs, Inc.") }))] })), jsxRuntime.jsx(Box, __assign({ className: "footer-obol", css: {
1819
- display: "grid",
1820
- gridTemplateColumns: "repeat(3, 1fr)",
1821
- "@sm": {
1822
- gridTemplateColumns: "repeat(2, 1fr)",
1823
- gap: "$xl",
1824
- },
1825
- flex: 2,
1826
- } }, { children: links.map(function (item, index) { return (jsxRuntime.jsxs(Box, __assign({ css: { display: "flex", flexDirection: "column", gap: "10px" } }, { children: [jsxRuntime.jsx(Text, __assign({ variant: "body", css: { fontSize: "$5", fontWeight: "$bold" } }, { children: item.title })), item.links.map(function (link, idx) { return (jsxRuntime.jsx(Link, __assign({ variant: "docs", target: "_blank", href: link.link, css: { color: "$textLight", fontSize: "$4" } }, { children: link.title }), "link-".concat(idx))); })] }), "link-section-".concat(index))); }) }))] })));
1827
- };
1828
-
1829
2119
  exports.Accordion = Accordion;
2120
+ exports.Advisory = Advisory;
2121
+ exports.AdvisoryToggleBullet = AdvisoryToggleBullet;
2122
+ exports.AdvisoryToggleItem = AdvisoryToggleItem;
1830
2123
  exports.AlertIcon = AlertIcon;
1831
2124
  exports.AloneIcon = AloneIcon;
1832
2125
  exports.ArrowForward = ArrowForward;
@@ -1845,9 +2138,11 @@ exports.CopyIcon = CopyIcon;
1845
2138
  exports.CreateIcon = CreateIcon;
1846
2139
  exports.Download = Download;
1847
2140
  exports.ExistingGroupIcon = ExistingGroupIcon;
2141
+ exports.Flex = Flex;
1848
2142
  exports.Footer = Footer;
1849
2143
  exports.GithubIcon = GithubIcon;
1850
2144
  exports.GroupIcon = GroupIcon;
2145
+ exports.HelpIcon = HelpIcon;
1851
2146
  exports.HeroSection = HeroSection;
1852
2147
  exports.Hexapod = Hexapod;
1853
2148
  exports.HexapodMobile = HexapodMobile;
@@ -1861,6 +2156,8 @@ exports.MediaQueryKeys = MediaQueryKeys;
1861
2156
  exports.MenuIcon = MenuIcon;
1862
2157
  exports.MigrateIcon = MigrateIcon;
1863
2158
  exports.Navbar = Navbar;
2159
+ exports.NotificationCard = NotificationCard;
2160
+ exports.NotificationContainer = NotificationContainer;
1864
2161
  exports.NumberField = NumberField;
1865
2162
  exports.ObolDarkBgH = ObolDarkBgH;
1866
2163
  exports.ObolDarkBgMark = ObolDarkBgMark;
@@ -1882,10 +2179,20 @@ exports.PlanetGreen = PlanetGreen;
1882
2179
  exports.PlanetGrey = PlanetGrey;
1883
2180
  exports.PlanetMagenta = PlanetMagenta;
1884
2181
  exports.PlanetOrange = PlanetOrange;
2182
+ exports.ProgressTracker = ProgressTracker;
2183
+ exports.Provider = Provider;
1885
2184
  exports.PublicGoodIcon = PublicGoodIcon;
2185
+ exports.RadioGroup = RadioGroup;
2186
+ exports.RadioGroupComponent = RadioGroupComponent;
2187
+ exports.RadioGroupIndicator = RadioGroupIndicator;
2188
+ exports.RadioGroupItem = RadioGroupItem;
2189
+ exports.RadioGroupItemLabel = RadioGroupItemLabel;
2190
+ exports.RadioGroupRadio = RadioGroupRadio;
1886
2191
  exports.RunIcon = RunIcon;
1887
2192
  exports.Spin = Spin;
2193
+ exports.SplitterTable = SplitterTable;
1888
2194
  exports.SvgIcon = SvgIcon;
2195
+ exports.Table = Table;
1889
2196
  exports.Tabs = Tabs$1;
1890
2197
  exports.TeamMemberCard = TeamMemberCard;
1891
2198
  exports.TestIcon = TestIcon;
@@ -1896,6 +2203,11 @@ exports.TextStory = TextStory;
1896
2203
  exports.ToggleCardItem = ToggleCardItem;
1897
2204
  exports.ToggleGroup = ToggleGroup;
1898
2205
  exports.ToggleGroupItem = ToggleGroupItem;
2206
+ exports.Tooltip = Tooltip;
2207
+ exports.TooltipArrow = TooltipArrow;
2208
+ exports.TooltipComponent = TooltipComponent;
2209
+ exports.TooltipContent = TooltipContent;
2210
+ exports.TooltipTrigger = TooltipTrigger;
1899
2211
  exports.TrashIcon = TrashIcon;
1900
2212
  exports.TrustMinimisedIcon = TrustMinimisedIcon;
1901
2213
  exports.TwitterIcon = TwitterIcon;