shared-features 0.0.4 → 0.0.6

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 (91) hide show
  1. package/README.md +249 -96
  2. package/dist/{AdBanner-CZz8trdz.cjs → AnnouncementModal-Bqy0pn3V.cjs} +428 -3
  3. package/dist/AnnouncementModal-Bqy0pn3V.cjs.map +1 -0
  4. package/dist/{AdBanner-DF1QuMxR.js → AnnouncementModal-sxH4K5gy.js} +430 -5
  5. package/dist/AnnouncementModal-sxH4K5gy.js.map +1 -0
  6. package/dist/admin-notifications-D9n9h-eY.cjs +362 -0
  7. package/dist/admin-notifications-D9n9h-eY.cjs.map +1 -0
  8. package/dist/admin-notifications-p1dy3zIP.js +363 -0
  9. package/dist/admin-notifications-p1dy3zIP.js.map +1 -0
  10. package/dist/{analytics-CdpCtTpu.js → analytics-40-S_fHC.js} +3 -2
  11. package/dist/{analytics-CdpCtTpu.js.map → analytics-40-S_fHC.js.map} +1 -1
  12. package/dist/{analytics--ZSO9ova.cjs → analytics-lEzOx2vl.cjs} +2 -1
  13. package/dist/{analytics--ZSO9ova.cjs.map → analytics-lEzOx2vl.cjs.map} +1 -1
  14. package/dist/broadcasts-3_WfQMNL.cjs +278 -0
  15. package/dist/broadcasts-3_WfQMNL.cjs.map +1 -0
  16. package/dist/broadcasts-DgZUzqMf.js +257 -0
  17. package/dist/broadcasts-DgZUzqMf.js.map +1 -0
  18. package/dist/components/index.cjs +23 -20
  19. package/dist/components/index.cjs.map +1 -1
  20. package/dist/components/index.d.ts +1 -0
  21. package/dist/components/index.d.ts.map +1 -1
  22. package/dist/components/index.js +4 -1
  23. package/dist/components/notifications/AnnouncementModal.d.ts +21 -0
  24. package/dist/components/notifications/AnnouncementModal.d.ts.map +1 -0
  25. package/dist/components/notifications/BroadcastBanner.d.ts +55 -0
  26. package/dist/components/notifications/BroadcastBanner.d.ts.map +1 -0
  27. package/dist/components/notifications/index.d.ts +11 -0
  28. package/dist/components/notifications/index.d.ts.map +1 -0
  29. package/dist/hooks/index.cjs +9 -1
  30. package/dist/hooks/index.cjs.map +1 -1
  31. package/dist/hooks/index.d.ts +2 -0
  32. package/dist/hooks/index.d.ts.map +1 -1
  33. package/dist/hooks/index.js +9 -1
  34. package/dist/hooks/index.js.map +1 -1
  35. package/dist/hooks/useBroadcasts.d.ts +122 -0
  36. package/dist/hooks/useBroadcasts.d.ts.map +1 -0
  37. package/dist/index.cjs +99 -22
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +94 -17
  42. package/dist/index.js.map +1 -1
  43. package/dist/notifications/events/index.d.ts +14 -0
  44. package/dist/notifications/events/index.d.ts.map +1 -0
  45. package/dist/notifications/events/registry.d.ts +75 -0
  46. package/dist/notifications/events/registry.d.ts.map +1 -0
  47. package/dist/notifications/events/templates/engine.d.ts +57 -0
  48. package/dist/notifications/events/templates/engine.d.ts.map +1 -0
  49. package/dist/notifications/events/templates/standard.d.ts +20 -0
  50. package/dist/notifications/events/templates/standard.d.ts.map +1 -0
  51. package/dist/notifications/events/useNotificationEvents.d.ts +36 -0
  52. package/dist/notifications/events/useNotificationEvents.d.ts.map +1 -0
  53. package/dist/notifications/index.cjs +25 -0
  54. package/dist/notifications/index.cjs.map +1 -0
  55. package/dist/notifications/index.d.ts +9 -0
  56. package/dist/notifications/index.d.ts.map +1 -0
  57. package/dist/notifications/index.js +25 -0
  58. package/dist/notifications/index.js.map +1 -0
  59. package/dist/services/admin-notifications.d.ts +95 -0
  60. package/dist/services/admin-notifications.d.ts.map +1 -0
  61. package/dist/services/broadcasts.d.ts +55 -0
  62. package/dist/services/broadcasts.d.ts.map +1 -0
  63. package/dist/services/index.cjs +34 -1
  64. package/dist/services/index.cjs.map +1 -1
  65. package/dist/services/index.d.ts +2 -0
  66. package/dist/services/index.d.ts.map +1 -1
  67. package/dist/services/index.js +35 -2
  68. package/dist/services/index.js.map +1 -1
  69. package/dist/types/index.cjs +108 -0
  70. package/dist/types/index.cjs.map +1 -1
  71. package/dist/types/index.d.ts +1 -0
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/index.js +109 -1
  74. package/dist/types/index.js.map +1 -1
  75. package/dist/types/notifications.d.ts +634 -0
  76. package/dist/types/notifications.d.ts.map +1 -0
  77. package/dist/useBroadcasts-DzpCcbC8.js +161 -0
  78. package/dist/useBroadcasts-DzpCcbC8.js.map +1 -0
  79. package/dist/useBroadcasts-FP6ZrcY_.cjs +160 -0
  80. package/dist/useBroadcasts-FP6ZrcY_.cjs.map +1 -0
  81. package/dist/{useCampaigns-Dltisb9N.cjs → useCampaigns-BOZ9dDsG.cjs} +2 -2
  82. package/dist/{useCampaigns-Dltisb9N.cjs.map → useCampaigns-BOZ9dDsG.cjs.map} +1 -1
  83. package/dist/{useCampaigns-nwfsALsN.js → useCampaigns-D46b9zuf.js} +2 -2
  84. package/dist/{useCampaigns-nwfsALsN.js.map → useCampaigns-D46b9zuf.js.map} +1 -1
  85. package/dist/useNotificationEvents-BXeMqdak.cjs +954 -0
  86. package/dist/useNotificationEvents-BXeMqdak.cjs.map +1 -0
  87. package/dist/useNotificationEvents-D8DVxah1.js +955 -0
  88. package/dist/useNotificationEvents-D8DVxah1.js.map +1 -0
  89. package/package.json +11 -3
  90. package/dist/AdBanner-CZz8trdz.cjs.map +0 -1
  91. package/dist/AdBanner-DF1QuMxR.js.map +0 -1
@@ -2,9 +2,9 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useRef, useEffect, useCallback, useState } from "react";
3
3
  import { Box, IconButton, Flex, Text, Button, Card, Link, Badge, Dialog, Heading, Checkbox, Grid } from "@radix-ui/themes";
4
4
  import { Cross2Icon } from "@radix-ui/react-icons";
5
- import { a as useCampaign, b as useOneTimeAdModal, c as useUpdateAdModal, u as useCampaigns } from "./useCampaigns-nwfsALsN.js";
6
- import { ExternalLink, X, Check, Sparkles, Gift, Quote, Play, ChevronLeft, ChevronRight } from "lucide-react";
7
- import { e as isInitialized, d as getConfig } from "./analytics-CdpCtTpu.js";
5
+ import { a as useCampaign, b as useOneTimeAdModal, c as useUpdateAdModal, u as useCampaigns } from "./useCampaigns-D46b9zuf.js";
6
+ import { ExternalLink, X, Check, Sparkles, Gift, Quote, Play, ChevronLeft, ChevronRight, Megaphone, CheckCircle, AlertTriangle, AlertCircle, Info, Bell } from "lucide-react";
7
+ import { e as isInitialized, d as getConfig } from "./analytics-40-S_fHC.js";
8
8
  function AdPanel({
9
9
  placement,
10
10
  variant: _variant = "small_panel_2",
@@ -1407,8 +1407,431 @@ function AdBanner({
1407
1407
  }
1408
1408
  );
1409
1409
  }
1410
+ const TYPE_STYLES = {
1411
+ info: {
1412
+ icon: Info,
1413
+ bgColor: "var(--blue-2)",
1414
+ borderColor: "var(--blue-6)",
1415
+ textColor: "var(--blue-11)",
1416
+ iconColor: "var(--blue-9)"
1417
+ },
1418
+ success: {
1419
+ icon: CheckCircle,
1420
+ bgColor: "var(--green-2)",
1421
+ borderColor: "var(--green-6)",
1422
+ textColor: "var(--green-11)",
1423
+ iconColor: "var(--green-9)"
1424
+ },
1425
+ warning: {
1426
+ icon: AlertTriangle,
1427
+ bgColor: "var(--yellow-2)",
1428
+ borderColor: "var(--yellow-6)",
1429
+ textColor: "var(--yellow-11)",
1430
+ iconColor: "var(--yellow-9)"
1431
+ },
1432
+ error: {
1433
+ icon: AlertCircle,
1434
+ bgColor: "var(--red-2)",
1435
+ borderColor: "var(--red-6)",
1436
+ textColor: "var(--red-11)",
1437
+ iconColor: "var(--red-9)"
1438
+ },
1439
+ reminder: {
1440
+ icon: AlertTriangle,
1441
+ bgColor: "var(--orange-2)",
1442
+ borderColor: "var(--orange-6)",
1443
+ textColor: "var(--orange-11)",
1444
+ iconColor: "var(--orange-9)"
1445
+ },
1446
+ milestone: {
1447
+ icon: CheckCircle,
1448
+ bgColor: "var(--violet-2)",
1449
+ borderColor: "var(--violet-6)",
1450
+ textColor: "var(--violet-11)",
1451
+ iconColor: "var(--violet-9)"
1452
+ },
1453
+ announcement: {
1454
+ icon: Megaphone,
1455
+ bgColor: "var(--iris-2)",
1456
+ borderColor: "var(--iris-6)",
1457
+ textColor: "var(--iris-11)",
1458
+ iconColor: "var(--iris-9)"
1459
+ }
1460
+ };
1461
+ function BroadcastBanner({
1462
+ broadcast,
1463
+ onActionClick,
1464
+ onDismiss,
1465
+ className
1466
+ }) {
1467
+ const impressionTrackedRef = useRef(false);
1468
+ useEffect(() => {
1469
+ if (!impressionTrackedRef.current) {
1470
+ impressionTrackedRef.current = true;
1471
+ }
1472
+ }, []);
1473
+ const handleActionClick = useCallback(() => {
1474
+ onActionClick?.();
1475
+ if (broadcast.actionUrl) {
1476
+ window.open(broadcast.actionUrl, "_blank");
1477
+ }
1478
+ }, [broadcast.actionUrl, onActionClick]);
1479
+ const handleDismiss = useCallback(() => {
1480
+ onDismiss?.();
1481
+ }, [onDismiss]);
1482
+ if (!isInitialized()) {
1483
+ return null;
1484
+ }
1485
+ const typeStyle = TYPE_STYLES[broadcast.type] || TYPE_STYLES.info;
1486
+ const Icon = typeStyle.icon;
1487
+ return /* @__PURE__ */ jsxs(
1488
+ Box,
1489
+ {
1490
+ className,
1491
+ style: {
1492
+ background: typeStyle.bgColor,
1493
+ borderBottom: `1px solid ${typeStyle.borderColor}`,
1494
+ position: "relative"
1495
+ },
1496
+ children: [
1497
+ /* @__PURE__ */ jsx(
1498
+ Box,
1499
+ {
1500
+ style: {
1501
+ position: "absolute",
1502
+ left: 0,
1503
+ top: 0,
1504
+ bottom: 0,
1505
+ width: 4,
1506
+ background: typeStyle.iconColor
1507
+ }
1508
+ }
1509
+ ),
1510
+ /* @__PURE__ */ jsxs(
1511
+ Flex,
1512
+ {
1513
+ align: "center",
1514
+ justify: "between",
1515
+ gap: "3",
1516
+ py: "3",
1517
+ px: "4",
1518
+ style: { paddingLeft: 20 },
1519
+ children: [
1520
+ /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "3", style: { flex: 1, minWidth: 0 }, children: [
1521
+ /* @__PURE__ */ jsx(
1522
+ Box,
1523
+ {
1524
+ style: {
1525
+ width: 32,
1526
+ height: 32,
1527
+ borderRadius: 8,
1528
+ background: `color-mix(in srgb, ${typeStyle.iconColor} 15%, transparent)`,
1529
+ display: "flex",
1530
+ alignItems: "center",
1531
+ justifyContent: "center",
1532
+ flexShrink: 0
1533
+ },
1534
+ children: /* @__PURE__ */ jsx(Icon, { size: 18, color: typeStyle.iconColor })
1535
+ }
1536
+ ),
1537
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "0", style: { minWidth: 0 }, children: [
1538
+ /* @__PURE__ */ jsx(
1539
+ Text,
1540
+ {
1541
+ size: "2",
1542
+ weight: "bold",
1543
+ style: {
1544
+ color: typeStyle.textColor,
1545
+ display: "-webkit-box",
1546
+ WebkitLineClamp: 1,
1547
+ WebkitBoxOrient: "vertical",
1548
+ overflow: "hidden"
1549
+ },
1550
+ children: broadcast.title
1551
+ }
1552
+ ),
1553
+ /* @__PURE__ */ jsx(
1554
+ Text,
1555
+ {
1556
+ size: "2",
1557
+ style: {
1558
+ color: "var(--gray-11)",
1559
+ display: "-webkit-box",
1560
+ WebkitLineClamp: 1,
1561
+ WebkitBoxOrient: "vertical",
1562
+ overflow: "hidden"
1563
+ },
1564
+ children: broadcast.message
1565
+ }
1566
+ )
1567
+ ] })
1568
+ ] }),
1569
+ /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
1570
+ broadcast.actionUrl && /* @__PURE__ */ jsxs(
1571
+ Button,
1572
+ {
1573
+ size: "1",
1574
+ variant: "soft",
1575
+ onClick: handleActionClick,
1576
+ style: {
1577
+ background: `color-mix(in srgb, ${typeStyle.iconColor} 15%, transparent)`,
1578
+ color: typeStyle.iconColor
1579
+ },
1580
+ children: [
1581
+ broadcast.actionText || "Learn More",
1582
+ /* @__PURE__ */ jsx(ExternalLink, { size: 12 })
1583
+ ]
1584
+ }
1585
+ ),
1586
+ broadcast.dismissible && /* @__PURE__ */ jsx(
1587
+ IconButton,
1588
+ {
1589
+ size: "1",
1590
+ variant: "ghost",
1591
+ color: "gray",
1592
+ onClick: handleDismiss,
1593
+ style: { opacity: 0.7 },
1594
+ children: /* @__PURE__ */ jsx(X, { size: 16 })
1595
+ }
1596
+ )
1597
+ ] })
1598
+ ]
1599
+ }
1600
+ )
1601
+ ]
1602
+ }
1603
+ );
1604
+ }
1605
+ function BroadcastBanners({
1606
+ broadcasts,
1607
+ onDismiss,
1608
+ onActionClick,
1609
+ maxBanners = 3,
1610
+ className
1611
+ }) {
1612
+ const displayBroadcasts = broadcasts.slice(0, maxBanners);
1613
+ if (displayBroadcasts.length === 0) {
1614
+ return null;
1615
+ }
1616
+ return /* @__PURE__ */ jsx(Box, { className, children: displayBroadcasts.map((broadcast) => /* @__PURE__ */ jsx(
1617
+ BroadcastBanner,
1618
+ {
1619
+ broadcast,
1620
+ onDismiss: () => onDismiss?.(broadcast.id),
1621
+ onActionClick: () => onActionClick?.(broadcast.id)
1622
+ },
1623
+ broadcast.id
1624
+ )) });
1625
+ }
1626
+ const TYPE_CONFIG = {
1627
+ info: {
1628
+ icon: Info,
1629
+ gradient: "linear-gradient(135deg, var(--blue-3) 0%, var(--blue-2) 100%)",
1630
+ accentColor: "var(--blue-9)",
1631
+ iconBg: "var(--blue-4)"
1632
+ },
1633
+ success: {
1634
+ icon: CheckCircle,
1635
+ gradient: "linear-gradient(135deg, var(--green-3) 0%, var(--green-2) 100%)",
1636
+ accentColor: "var(--green-9)",
1637
+ iconBg: "var(--green-4)"
1638
+ },
1639
+ warning: {
1640
+ icon: AlertTriangle,
1641
+ gradient: "linear-gradient(135deg, var(--yellow-3) 0%, var(--yellow-2) 100%)",
1642
+ accentColor: "var(--yellow-9)",
1643
+ iconBg: "var(--yellow-4)"
1644
+ },
1645
+ error: {
1646
+ icon: AlertCircle,
1647
+ gradient: "linear-gradient(135deg, var(--red-3) 0%, var(--red-2) 100%)",
1648
+ accentColor: "var(--red-9)",
1649
+ iconBg: "var(--red-4)"
1650
+ },
1651
+ reminder: {
1652
+ icon: Bell,
1653
+ gradient: "linear-gradient(135deg, var(--orange-3) 0%, var(--orange-2) 100%)",
1654
+ accentColor: "var(--orange-9)",
1655
+ iconBg: "var(--orange-4)"
1656
+ },
1657
+ milestone: {
1658
+ icon: Sparkles,
1659
+ gradient: "linear-gradient(135deg, var(--violet-3) 0%, var(--violet-2) 100%)",
1660
+ accentColor: "var(--violet-9)",
1661
+ iconBg: "var(--violet-4)"
1662
+ },
1663
+ announcement: {
1664
+ icon: Megaphone,
1665
+ gradient: "linear-gradient(135deg, var(--iris-3) 0%, var(--iris-2) 100%)",
1666
+ accentColor: "var(--iris-9)",
1667
+ iconBg: "var(--iris-4)"
1668
+ }
1669
+ };
1670
+ function AnnouncementModal({
1671
+ broadcast,
1672
+ isOpen,
1673
+ onClose,
1674
+ onActionClick
1675
+ }) {
1676
+ const impressionTrackedRef = useRef(false);
1677
+ useEffect(() => {
1678
+ if (isOpen && broadcast && !impressionTrackedRef.current) {
1679
+ impressionTrackedRef.current = true;
1680
+ }
1681
+ }, [isOpen, broadcast]);
1682
+ const handleActionClick = useCallback(() => {
1683
+ onActionClick?.();
1684
+ if (broadcast?.actionUrl) {
1685
+ window.open(broadcast.actionUrl, "_blank");
1686
+ }
1687
+ onClose();
1688
+ }, [broadcast, onActionClick, onClose]);
1689
+ const handleClose = useCallback(() => {
1690
+ onClose();
1691
+ }, [onClose]);
1692
+ if (!isInitialized() || !broadcast) {
1693
+ return null;
1694
+ }
1695
+ const typeConfig = TYPE_CONFIG[broadcast.type] || TYPE_CONFIG.announcement;
1696
+ const Icon = typeConfig.icon;
1697
+ return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxs(
1698
+ Dialog.Content,
1699
+ {
1700
+ style: {
1701
+ maxWidth: 480,
1702
+ padding: 0,
1703
+ overflow: "hidden"
1704
+ },
1705
+ children: [
1706
+ /* @__PURE__ */ jsxs(
1707
+ Box,
1708
+ {
1709
+ style: {
1710
+ background: typeConfig.gradient,
1711
+ padding: "var(--space-6)",
1712
+ position: "relative"
1713
+ },
1714
+ children: [
1715
+ broadcast.dismissible && /* @__PURE__ */ jsx(
1716
+ Box,
1717
+ {
1718
+ style: {
1719
+ position: "absolute",
1720
+ top: "var(--space-3)",
1721
+ right: "var(--space-3)"
1722
+ },
1723
+ children: /* @__PURE__ */ jsx(Dialog.Close, { children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "1", color: "gray", children: /* @__PURE__ */ jsx(X, { size: 18 }) }) })
1724
+ }
1725
+ ),
1726
+ /* @__PURE__ */ jsxs(Flex, { direction: "column", align: "center", gap: "4", children: [
1727
+ /* @__PURE__ */ jsx(
1728
+ Box,
1729
+ {
1730
+ style: {
1731
+ width: 72,
1732
+ height: 72,
1733
+ borderRadius: "var(--radius-4)",
1734
+ background: typeConfig.iconBg,
1735
+ display: "flex",
1736
+ alignItems: "center",
1737
+ justifyContent: "center",
1738
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.1)"
1739
+ },
1740
+ children: /* @__PURE__ */ jsx(Icon, { size: 36, color: typeConfig.accentColor })
1741
+ }
1742
+ ),
1743
+ /* @__PURE__ */ jsx(
1744
+ Heading,
1745
+ {
1746
+ size: "5",
1747
+ weight: "bold",
1748
+ align: "center",
1749
+ style: { color: "var(--gray-12)" },
1750
+ children: broadcast.title
1751
+ }
1752
+ )
1753
+ ] })
1754
+ ]
1755
+ }
1756
+ ),
1757
+ /* @__PURE__ */ jsxs(Box, { p: "5", children: [
1758
+ /* @__PURE__ */ jsx(
1759
+ Text,
1760
+ {
1761
+ as: "p",
1762
+ size: "3",
1763
+ align: "center",
1764
+ style: {
1765
+ color: "var(--gray-11)",
1766
+ lineHeight: 1.6
1767
+ },
1768
+ children: broadcast.message
1769
+ }
1770
+ ),
1771
+ broadcast.isImportant && /* @__PURE__ */ jsx(Flex, { justify: "center", mt: "4", children: /* @__PURE__ */ jsxs(
1772
+ Box,
1773
+ {
1774
+ style: {
1775
+ padding: "var(--space-1) var(--space-3)",
1776
+ borderRadius: "var(--radius-2)",
1777
+ background: typeConfig.iconBg,
1778
+ display: "inline-flex",
1779
+ alignItems: "center",
1780
+ gap: "var(--space-1)"
1781
+ },
1782
+ children: [
1783
+ /* @__PURE__ */ jsx(Sparkles, { size: 12, color: typeConfig.accentColor }),
1784
+ /* @__PURE__ */ jsx(Text, { size: "1", weight: "medium", style: { color: typeConfig.accentColor }, children: "Important" })
1785
+ ]
1786
+ }
1787
+ ) })
1788
+ ] }),
1789
+ /* @__PURE__ */ jsx(
1790
+ Flex,
1791
+ {
1792
+ gap: "3",
1793
+ p: "4",
1794
+ justify: "center",
1795
+ style: {
1796
+ borderTop: "1px solid var(--gray-4)",
1797
+ background: "var(--gray-2)"
1798
+ },
1799
+ children: broadcast.actionUrl ? /* @__PURE__ */ jsxs(Fragment, { children: [
1800
+ /* @__PURE__ */ jsx(Dialog.Close, { children: /* @__PURE__ */ jsx(Button, { variant: "soft", color: "gray", size: "2", children: "Maybe Later" }) }),
1801
+ /* @__PURE__ */ jsxs(
1802
+ Button,
1803
+ {
1804
+ size: "2",
1805
+ onClick: handleActionClick,
1806
+ style: {
1807
+ background: typeConfig.accentColor
1808
+ },
1809
+ children: [
1810
+ broadcast.actionText || "Learn More",
1811
+ /* @__PURE__ */ jsx(ExternalLink, { size: 14 })
1812
+ ]
1813
+ }
1814
+ )
1815
+ ] }) : /* @__PURE__ */ jsx(Dialog.Close, { children: /* @__PURE__ */ jsx(
1816
+ Button,
1817
+ {
1818
+ size: "2",
1819
+ style: {
1820
+ background: typeConfig.accentColor,
1821
+ minWidth: 120
1822
+ },
1823
+ children: "Got It"
1824
+ }
1825
+ ) })
1826
+ }
1827
+ )
1828
+ ]
1829
+ }
1830
+ ) });
1831
+ }
1410
1832
  export {
1411
1833
  AdPanel as A,
1834
+ BroadcastBanner as B,
1412
1835
  CardVariant as C,
1413
1836
  FeaturesVariant as F,
1414
1837
  GradientVariant as G,
@@ -1426,6 +1849,8 @@ export {
1426
1849
  TestimonialVariant as f,
1427
1850
  getSmallPanelVariant as g,
1428
1851
  ComparisonVariant as h,
1429
- getLargePanelVariant as i
1852
+ getLargePanelVariant as i,
1853
+ BroadcastBanners as j,
1854
+ AnnouncementModal as k
1430
1855
  };
1431
- //# sourceMappingURL=AdBanner-DF1QuMxR.js.map
1856
+ //# sourceMappingURL=AnnouncementModal-sxH4K5gy.js.map