@snhaman/pollymorph 1.4.0 → 1.6.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 (45) hide show
  1. package/dist/fonts/PDS-Icon-Font-20.ttf +0 -0
  2. package/dist/fonts/PDS-Icon-Font-20.woff2 +0 -0
  3. package/dist/icons.d.mts +23 -0
  4. package/dist/icons.d.ts +23 -0
  5. package/dist/icons.js +1165 -0
  6. package/dist/icons.js.map +1 -0
  7. package/dist/icons.mjs +1135 -0
  8. package/dist/icons.mjs.map +1 -0
  9. package/dist/index.d.mts +4 -4
  10. package/dist/index.d.ts +4 -4
  11. package/dist/index.js +1742 -23
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +1721 -19
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/pds-icons.css +117 -0
  16. package/dist/pollymorph.css +573 -0
  17. package/dist/react-icons.d.mts +753 -0
  18. package/dist/react-icons.d.ts +753 -0
  19. package/dist/react-icons.js +3353 -0
  20. package/dist/react-icons.js.map +1 -0
  21. package/dist/react-icons.mjs +3143 -0
  22. package/dist/react-icons.mjs.map +1 -0
  23. package/dist/rules.d.mts +19 -9
  24. package/dist/rules.d.ts +19 -9
  25. package/dist/rules.js +603 -23
  26. package/dist/rules.js.map +1 -1
  27. package/dist/rules.mjs +588 -19
  28. package/dist/rules.mjs.map +1 -1
  29. package/dist/svg.d.mts +187 -0
  30. package/dist/svg.d.ts +187 -0
  31. package/dist/svg.js +1064 -0
  32. package/dist/svg.js.map +1 -0
  33. package/dist/svg.mjs +855 -0
  34. package/dist/svg.mjs.map +1 -0
  35. package/dist/tokens-B3FQ_Pbh.d.mts +221 -0
  36. package/dist/tokens-B3FQ_Pbh.d.ts +221 -0
  37. package/dist/tokens.d.mts +1 -62
  38. package/dist/tokens.d.ts +1 -62
  39. package/dist/tokens.js +558 -11
  40. package/dist/tokens.js.map +1 -1
  41. package/dist/tokens.mjs +558 -11
  42. package/dist/tokens.mjs.map +1 -1
  43. package/package.json +34 -3
  44. package/dist/types-C6UlcDOW.d.mts +0 -162
  45. package/dist/types-C6UlcDOW.d.ts +0 -162
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ var require_pollymorph = __commonJS({
27
27
  $schema: "https://design-tokens.github.io/community-group/format/",
28
28
  meta: {
29
29
  name: "PollyMorph",
30
- version: "1.4.0",
30
+ version: "1.6.0",
31
31
  description: "Elucidata unified design system token file. Consolidates all core primitives and semantic component tokens.",
32
32
  generatedAt: "2026-03-18",
33
33
  lastAudit: "2026-03-18",
@@ -61,7 +61,8 @@ var require_pollymorph = __commonJS({
61
61
  -80
62
62
  ],
63
63
  note: "Full computed hex ramp tokenised in v1.3.0. Each colour has a 'base' key (pure colour) plus 22 tint/shade steps."
64
- }
64
+ },
65
+ componentRulesSource: "Figma PDS-2.0-Library nodes: 850-601,602,603,605,1026-2068,7763-5244/5245,1916-4113,4718-1770,6228-7796/7063,280-59,447-188,452-304,230-280,289-101,448-191"
65
66
  },
66
67
  core: {
67
68
  color: {
@@ -1327,16 +1328,562 @@ var require_pollymorph = __commonJS({
1327
1328
  search_bar_placement: "Search bars inside the global header are centered and fill available space between the nav title and action buttons. They never span the full content width."
1328
1329
  },
1329
1330
  components: {
1330
- buttons: {
1331
- primary: "One primary button per screen. Use for the main action only.",
1332
- secondary: "Secondary actions (e.g. 'Request a Dataset') use the Secondary/Outlined variant with a purple border. Never use a filled secondary color.",
1333
- icon_button: "Icon-only action buttons (filter, view toggle, etc.) use the icon button variant with no visible border in default state."
1331
+ $description: "Component-level rules derived from PDS-2.0-Library Figma specs. Each entry covers variants, states, token values, and composition constraints.",
1332
+ button: {
1333
+ variants: {
1334
+ filled: {
1335
+ description: "Primary action. One per view maximum.",
1336
+ background: "primary.purple.base",
1337
+ text: "white",
1338
+ border: "none",
1339
+ radius: "radius.md",
1340
+ elevation: "none",
1341
+ hover: {
1342
+ background: "primary.purple[-10]"
1343
+ },
1344
+ active: {
1345
+ background: "primary.purple[-20]"
1346
+ },
1347
+ disabled: {
1348
+ background: "primary.purple[80]",
1349
+ text: "white",
1350
+ cursor: "not-allowed"
1351
+ },
1352
+ loading: "Spinner replaces label. Width preserved. No interaction."
1353
+ },
1354
+ outlined: {
1355
+ description: "Secondary action. Can appear alongside ghost.",
1356
+ background: "transparent",
1357
+ border: "1px solid primary.purple.base",
1358
+ text: "primary.purple.base",
1359
+ radius: "radius.md",
1360
+ hover: {
1361
+ background: "primary.purple[95]"
1362
+ },
1363
+ active: {
1364
+ background: "primary.purple[90]"
1365
+ },
1366
+ disabled: {
1367
+ border: "primary.purple[80]",
1368
+ text: "primary.purple[80]",
1369
+ cursor: "not-allowed"
1370
+ }
1371
+ },
1372
+ ghost: {
1373
+ description: "Tertiary action. No border, no background.",
1374
+ background: "transparent",
1375
+ border: "none",
1376
+ text: "primary.purple.base",
1377
+ radius: "radius.md",
1378
+ hover: {
1379
+ background: "primary.purple[95]"
1380
+ },
1381
+ active: {
1382
+ background: "primary.purple[90]"
1383
+ },
1384
+ disabled: {
1385
+ text: "neutral.warm[60]",
1386
+ cursor: "not-allowed"
1387
+ }
1388
+ }
1389
+ },
1390
+ sizes: {
1391
+ large: {
1392
+ height: "40px",
1393
+ paddingX: "spacing.4",
1394
+ fontSize: "font.size.md",
1395
+ iconGap: "spacing.2"
1396
+ },
1397
+ medium: {
1398
+ height: "32px",
1399
+ paddingX: "spacing.3",
1400
+ fontSize: "font.size.sm",
1401
+ iconGap: "spacing.2"
1402
+ },
1403
+ small: {
1404
+ height: "24px",
1405
+ paddingX: "spacing.2",
1406
+ fontSize: "font.size.xs",
1407
+ iconGap: "spacing.1"
1408
+ },
1409
+ xsmall: {
1410
+ height: "20px",
1411
+ paddingX: "spacing.2",
1412
+ fontSize: "font.size.xxs",
1413
+ iconGap: "spacing.1"
1414
+ }
1415
+ },
1416
+ iconPlacement: "Leading icon left of label, trailing icon right of label. Icon-only: square aspect ratio, tooltip required.",
1417
+ font: "Inter SemiBold (600). No uppercase transform.",
1418
+ radius: "radius.md (6px). Never radius.full for buttons.",
1419
+ composition: "Never stack two Filled buttons side by side. Destructive action uses red Filled variant only in modal footers."
1420
+ },
1421
+ tag: {
1422
+ variants: {
1423
+ filled: "Background: color[90] tint. Text and icon: color.base.",
1424
+ outlined: "Background: transparent. Border: 1px solid color.base. Text: color.base."
1425
+ },
1426
+ colors: {
1427
+ brand: "primary.purple.base filled, white text. Only for Polly/Elucidata-attributed labels.",
1428
+ content: "cyan, pink, blue, green, orange for data category tags.",
1429
+ statusReserved: "red and yellow reserved for status only. Never use for data category tags."
1430
+ },
1431
+ sizes: {
1432
+ medium: {
1433
+ height: "24px",
1434
+ paddingX: "spacing.2",
1435
+ fontSize: "font.size.xs"
1436
+ },
1437
+ small: {
1438
+ height: "20px",
1439
+ paddingX: "spacing.1",
1440
+ fontSize: "font.size.xxs"
1441
+ }
1442
+ },
1443
+ font: "Inter Medium (500). Never bold inside a tag.",
1444
+ radius: "radius.full (pill shape).",
1445
+ closeable: "x icon on right, same color as label. Click removes tag.",
1446
+ truncation: "Tags never wrap. Truncate with ellipsis. Set max-width on parent.",
1447
+ icon: "Optional leading icon, same color as label."
1448
+ },
1449
+ textInput: {
1450
+ states: {
1451
+ default: {
1452
+ border: "1px solid neutral.warm[70]",
1453
+ background: "white",
1454
+ placeholder: "neutral.warm[50]"
1455
+ },
1456
+ focused: {
1457
+ border: "1px solid primary.purple.base",
1458
+ shadow: "none",
1459
+ outline: "none"
1460
+ },
1461
+ filled: {
1462
+ border: "1px solid neutral.warm[70]"
1463
+ },
1464
+ error: {
1465
+ border: "1px solid red.base",
1466
+ trailingIcon: "warning icon in red.base",
1467
+ helperText: "red.base, font.size.xs"
1468
+ },
1469
+ disabled: {
1470
+ background: "neutral.warm[95]",
1471
+ border: "neutral.warm[85]",
1472
+ text: "neutral.warm[60]",
1473
+ cursor: "not-allowed"
1474
+ }
1475
+ },
1476
+ radius: "radius.sm",
1477
+ label: "Always above the field. Inter Medium (500), font.size.sm. Never inside field as permanent placeholder.",
1478
+ helperText: "Below field, neutral.warm[50], font.size.xs. Replaced by error message in error state.",
1479
+ leadingIcon: "Optional. neutral.warm[50] default, primary.purple.base when focused.",
1480
+ trailingIcon: "Password toggle, clear (x), or error indicator.",
1481
+ textarea: "Same border/state rules. Min-height 3 rows. Vertical resize only.",
1482
+ search: "Always has leading search icon. Trailing clear (x) when filled. No floating label.",
1483
+ select: {
1484
+ trailingIcon: "Chevron, rotates 180 degrees when open",
1485
+ menu: {
1486
+ background: "white",
1487
+ radius: "radius.md",
1488
+ elevation: "elevation.md"
1489
+ }
1490
+ }
1491
+ },
1492
+ selectionControl: {
1493
+ radio: {
1494
+ size: "18px",
1495
+ states: {
1496
+ default: {
1497
+ border: "1.5px solid neutral.warm[70]"
1498
+ },
1499
+ hover: {
1500
+ border: "1.5px solid primary.purple.base"
1501
+ },
1502
+ checked: {
1503
+ outerRing: "primary.purple.base",
1504
+ innerDot: "primary.purple.base"
1505
+ },
1506
+ disabled: {
1507
+ border: "neutral.warm[80]",
1508
+ dot: "neutral.warm[70]",
1509
+ cursor: "not-allowed"
1510
+ }
1511
+ }
1512
+ },
1513
+ checkbox: {
1514
+ size: "18px",
1515
+ radius: "radius.xs",
1516
+ states: {
1517
+ default: {
1518
+ border: "1.5px solid neutral.warm[70]"
1519
+ },
1520
+ hover: {
1521
+ border: "1.5px solid primary.purple.base"
1522
+ },
1523
+ checked: {
1524
+ background: "primary.purple.base",
1525
+ icon: "white checkmark"
1526
+ },
1527
+ indeterminate: {
1528
+ background: "primary.purple.base",
1529
+ icon: "white dash"
1530
+ },
1531
+ disabled: {
1532
+ background: "neutral.warm[90]",
1533
+ border: "neutral.warm[80]",
1534
+ cursor: "not-allowed"
1535
+ },
1536
+ error: {
1537
+ border: "red.base"
1538
+ }
1539
+ }
1540
+ },
1541
+ label: "Right of control. Inter Regular (400), font.size.sm. Never above or below.",
1542
+ groupSpacing: {
1543
+ vertical: "spacing.2 between items",
1544
+ horizontal: "spacing.4 gap"
1545
+ }
1546
+ },
1547
+ table: {
1548
+ container: {
1549
+ background: "white",
1550
+ radius: "radius.xl",
1551
+ elevation: "elevation.md"
1552
+ },
1553
+ header: {
1554
+ background: "neutral.warm[97]",
1555
+ font: "Label/Small SemiBold (600)",
1556
+ color: "neutral.warm[50]",
1557
+ sortIcon: "Always visible. Active column: primary.purple.base"
1558
+ },
1559
+ rows: {
1560
+ default: {
1561
+ background: "white",
1562
+ border: "1px solid neutral.warm[90] bottom"
1563
+ },
1564
+ hover: {
1565
+ background: "primary.purple[98]"
1566
+ },
1567
+ selected: {
1568
+ background: "primary.purple[95]",
1569
+ leftAccent: "3px solid primary.purple.base"
1570
+ }
1571
+ },
1572
+ cellTypes: {
1573
+ text: "Left-aligned. Inter Regular (400), font.size.sm, neutral.warm[20].",
1574
+ number: "Right-aligned. JetBrains Mono.",
1575
+ status: "Centered. Tag component.",
1576
+ actions: "Right-aligned. Icon buttons, visible on row hover. Max 3 \u2014 overflow to meatball menu."
1577
+ },
1578
+ sort: "Click cycles: ascending to descending to unsorted.",
1579
+ emptyState: "Centered illustration + headline + optional CTA. Never headers-only without empty state component.",
1580
+ pagination: {
1581
+ rowsPerPage: [
1582
+ 10,
1583
+ 25,
1584
+ 50,
1585
+ 100
1586
+ ],
1587
+ display: "Showing {start}-{end} of {total}",
1588
+ controls: "Prev/next arrows + page numbers"
1589
+ }
1590
+ },
1591
+ tabs: {
1592
+ containerBorder: "1px solid neutral.warm[85] bottom",
1593
+ indicator: "2px solid primary.purple.base bottom, active tab only",
1594
+ states: {
1595
+ active: {
1596
+ label: "primary.purple.base",
1597
+ font: "Inter SemiBold (600)"
1598
+ },
1599
+ default: {
1600
+ label: "neutral.warm[40]",
1601
+ font: "Inter Medium (500)"
1602
+ },
1603
+ hover: {
1604
+ label: "neutral.warm[20]"
1605
+ },
1606
+ disabled: {
1607
+ label: "neutral.warm[70]",
1608
+ cursor: "not-allowed"
1609
+ }
1610
+ },
1611
+ badge: {
1612
+ default: {
1613
+ background: "neutral.warm[80]",
1614
+ text: "neutral.warm[30]"
1615
+ },
1616
+ active: {
1617
+ background: "primary.purple[90]",
1618
+ text: "primary.purple.base"
1619
+ }
1620
+ },
1621
+ maxVisible: "6 tabs before dropdown overflow. No horizontal scroll.",
1622
+ style: "Indicator line only. Never filled/pill background tabs in main nav context."
1334
1623
  },
1335
- tabs: "Tabs use a bottom-border indicator in #8E42EE for the active state. Inactive tabs have no underline and use neutral text. Filled or pill-style tabs are not permitted in the main nav context.",
1336
- table_sort: "Sort controls in table headers show the sort icon alongside the label at all times \u2014 not only on hover.",
1337
- pagination: "Pagination uses the minimal numeric style with previous/next arrows. Always display the total dataset count alongside (e.g. 'Showing 1\u201325 of 345').",
1338
- sidebar_active_state: "Active sidebar nav item is indicated by a left-side purple pill/accent bar only. No background fill, icon color change, or text weight change. This is the only permitted active state pattern for sidebar nav.",
1339
- notification_badges: "Notification badges on sidebar icons use the red semantic color token. Small, circular, positioned top-right of the icon."
1624
+ sidebarNav: {
1625
+ background: "platform.sidebar.surfaces (#211D33)",
1626
+ item: {
1627
+ default: {
1628
+ icon: "white",
1629
+ label: "neutral.warm[70]",
1630
+ padding: "spacing.3 vertical"
1631
+ },
1632
+ hover: {
1633
+ background: "rgba(255,255,255,0.06)",
1634
+ radius: "radius.sm"
1635
+ },
1636
+ active: {
1637
+ leftAccent: "3px solid primary.purple[60]",
1638
+ label: "white",
1639
+ icon: "primary.purple[60]"
1640
+ }
1641
+ },
1642
+ divider: "1px solid platform.sidebar.stroke (#433B60)",
1643
+ iconSize: "20px. Always use PDS-Icon-Font-20 or SVG. Never emoji or text characters.",
1644
+ notificationBadge: {
1645
+ background: "red.base",
1646
+ text: "white",
1647
+ position: "top-right of icon",
1648
+ maxDisplay: "99+"
1649
+ },
1650
+ collapseBehavior: "Never collapses to icon-only on desktop. Mobile: drawer/overlay."
1651
+ },
1652
+ breadcrumb: {
1653
+ separator: "/ or > in neutral.warm[60], spacing.2 each side",
1654
+ crumbs: {
1655
+ nonCurrent: {
1656
+ color: "primary.purple.base",
1657
+ hoverDecoration: "underline"
1658
+ },
1659
+ current: {
1660
+ color: "neutral.warm[30]",
1661
+ interactive: "false"
1662
+ }
1663
+ },
1664
+ font: "Inter Regular (400), font.size.sm",
1665
+ maxDepth: "4 levels. Collapse middle levels to ellipsis if deeper."
1666
+ },
1667
+ modal: {
1668
+ overlay: "rgba(0,0,0,0.4) full-screen",
1669
+ container: {
1670
+ background: "white",
1671
+ radius: "radius.xl",
1672
+ elevation: "elevation.lg",
1673
+ border: "1px solid neutral.warm[85]"
1674
+ },
1675
+ sizes: {
1676
+ popup: {
1677
+ maxWidth: "480px",
1678
+ scrollable: "false",
1679
+ use: "Confirmations, quick forms"
1680
+ },
1681
+ modal: {
1682
+ maxWidth: "720px",
1683
+ maxHeight: "80vh",
1684
+ bodyScrollable: "true",
1685
+ use: "Complex forms, data views"
1686
+ }
1687
+ },
1688
+ header: {
1689
+ background: "primary.purple[98]",
1690
+ padding: "spacing.4 spacing.5",
1691
+ title: "Inter SemiBold (600), font.size.md, neutral.warm[10]",
1692
+ closeButton: "Ghost icon button, top-right, always present"
1693
+ },
1694
+ body: {
1695
+ background: "white",
1696
+ padding: "spacing.5",
1697
+ scrollbar: "Thin, primary.purple[60] track, visible during scroll only"
1698
+ },
1699
+ footer: {
1700
+ padding: "spacing.4 spacing.5",
1701
+ border: "1px solid neutral.warm[90] top",
1702
+ alignment: "right",
1703
+ buttonPattern: "Tertiary (ghost) + Primary (filled). Destructive: red Filled.",
1704
+ note: "Never ghost for destructive actions."
1705
+ },
1706
+ animation: "200ms fade + subtle scale on open/close",
1707
+ closing: "x button, overlay click (configurable), Escape key",
1708
+ nesting: "Never nest modals. Use multi-step flow within same modal instead."
1709
+ },
1710
+ snackbar: {
1711
+ position: "Bottom-right. Stacks upward if multiple queued.",
1712
+ container: {
1713
+ background: "white",
1714
+ radius: "radius.md",
1715
+ elevation: "elevation.md",
1716
+ border: "1px solid neutral.warm[85]",
1717
+ width: "320px-480px"
1718
+ },
1719
+ variants: {
1720
+ default: {
1721
+ icon: "none or neutral info icon"
1722
+ },
1723
+ success: {
1724
+ icon: "green check-circle, green.base"
1725
+ },
1726
+ error: {
1727
+ icon: "red error-circle, red.base"
1728
+ },
1729
+ warning: {
1730
+ icon: "orange warning-triangle, orange.base"
1731
+ }
1732
+ },
1733
+ sizes: {
1734
+ compact: "Single line: icon + title + optional action + dismiss",
1735
+ expanded: "Icon + title + body text + optional action + dismiss"
1736
+ },
1737
+ content: {
1738
+ title: "Inter SemiBold (600), font.size.sm, neutral.warm[10]. Required.",
1739
+ body: "Inter Regular (400), font.size.sm, neutral.warm[30]. Optional.",
1740
+ action: "One maximum. Right-aligned text link, primary.purple.base. Style: Open / Undo / View.",
1741
+ dismiss: "x ghost icon button, top-right. Always present."
1742
+ },
1743
+ autoDismiss: "Default/Success: 4 seconds. Error/Warning: manual dismiss only.",
1744
+ background: "Always white. Never colored backgrounds \u2014 icon carries semantic meaning.",
1745
+ persistence: "Not for persistent messages. Use top-of-content-area banner for those."
1746
+ },
1747
+ tooltip: {
1748
+ variants: {
1749
+ dark: {
1750
+ background: "neutral.warm[-70]",
1751
+ border: "none",
1752
+ text: "white"
1753
+ },
1754
+ light: {
1755
+ background: "white",
1756
+ border: "1px solid neutral.warm[85]",
1757
+ text: "neutral.warm[10]"
1758
+ }
1759
+ },
1760
+ shared: {
1761
+ radius: "radius.sm",
1762
+ elevation: "elevation.sm",
1763
+ padding: "spacing.1 spacing.2",
1764
+ maxWidth: "200px",
1765
+ font: "Inter Regular (400), font.size.xs"
1766
+ },
1767
+ arrow: "6px triangle pointing toward trigger. Matches tooltip background. 4 directions + alignment variants.",
1768
+ trigger: "Hover or focus. 300ms appear delay. Immediate dismiss on mouse-out.",
1769
+ usage: {
1770
+ dark: "Default for icon-only triggers (sidebar icons, action buttons).",
1771
+ light: "Longer descriptive text.",
1772
+ restriction: "Supplementary labels only. Never for critical task information. Never interactive elements inside \u2014 use hover card instead."
1773
+ }
1774
+ },
1775
+ hoverCard: {
1776
+ trigger: "Hover over element (table cell, username, tag). 400ms delay.",
1777
+ container: {
1778
+ background: "white",
1779
+ radius: "radius.lg",
1780
+ elevation: "elevation.md",
1781
+ border: "1px solid neutral.warm[85]",
1782
+ width: "220px-320px"
1783
+ },
1784
+ header: "Title: Inter SemiBold (600), font.size.sm. Optional meatball menu icon button on right.",
1785
+ body: "Inter Regular (400), font.size.sm, neutral.warm[20]. Short text, key-value pairs, or small list.",
1786
+ footer: "None. Hover cards are read-only. Use popup for actions.",
1787
+ arrow: "Optional. Use when card needs visual connection to trigger in dense layouts.",
1788
+ dismiss: "On mouse-out (no delay) or when focus leaves."
1789
+ },
1790
+ commentThread: {
1791
+ input: {
1792
+ placeholder: "Enter your comment here.",
1793
+ sendButton: "Icon button, primary.purple.base bg, white arrow icon, trailing. Active only when input non-empty.",
1794
+ sendButtonDisabled: "Muted purple when empty."
1795
+ },
1796
+ postedComment: {
1797
+ avatar: "User initials, primary.purple.base background, white text.",
1798
+ header: "Display name (SemiBold) + timestamp (neutral.warm[50], font.size.xs) on one line.",
1799
+ body: "Inter Regular (400), font.size.sm."
1800
+ },
1801
+ actions: "Thumbs-up + count, reply link. neutral.warm[50] default, primary.purple.base on hover.",
1802
+ nesting: "Max 2 levels. Replies: left-indent with 2px solid neutral.warm[85] left border.",
1803
+ highlighted: {
1804
+ background: "primary.purple[95]",
1805
+ border: "1px dashed primary.purple.base",
1806
+ radius: "radius.md"
1807
+ }
1808
+ },
1809
+ chartColors: {
1810
+ sequence: [
1811
+ {
1812
+ index: 1,
1813
+ color: "secondary.purple (tint)",
1814
+ use: "First data series"
1815
+ },
1816
+ {
1817
+ index: 2,
1818
+ color: "orange.base",
1819
+ use: "Second data series"
1820
+ },
1821
+ {
1822
+ index: 3,
1823
+ color: "pink.base",
1824
+ use: "Third data series"
1825
+ },
1826
+ {
1827
+ index: 4,
1828
+ color: "cyan.base",
1829
+ use: "Fourth data series"
1830
+ },
1831
+ {
1832
+ index: 5,
1833
+ color: "blue.base",
1834
+ use: "Fifth data series"
1835
+ },
1836
+ {
1837
+ index: 6,
1838
+ color: "neutral.warm.base",
1839
+ use: "Sixth data series"
1840
+ },
1841
+ {
1842
+ index: 7,
1843
+ color: "green.base",
1844
+ use: "Seventh data series"
1845
+ },
1846
+ {
1847
+ index: 8,
1848
+ color: "neutral.orange",
1849
+ use: "Eighth data series"
1850
+ },
1851
+ {
1852
+ index: 9,
1853
+ color: "red.base",
1854
+ use: "Ninth data series"
1855
+ }
1856
+ ],
1857
+ rules: [
1858
+ "Apply colors in sequence. Do not skip or reorder.",
1859
+ "Each color has a chart tint (~20% lightened) and an offset variant for comparison charts.",
1860
+ "Chart colors for data visualisation only. Never repurpose for UI status.",
1861
+ "More than 9 series: wrap palette at 0.6x opacity. Never invent new colors.",
1862
+ "Minimum 3:1 contrast between adjacent chart segments."
1863
+ ]
1864
+ },
1865
+ cliColors: {
1866
+ sqlCLI: {
1867
+ keywords: "secondary.purple[-20]",
1868
+ comments: "orange[-20]",
1869
+ strings: "pink[-30]",
1870
+ numeralsDatetime: "cyan[-20]",
1871
+ atoms: "blue[-20]",
1872
+ generic: "neutral[-40]",
1873
+ identifiers: "green[-30]",
1874
+ brackets: "neutral.orange[-20]",
1875
+ errorText: "red[-40]"
1876
+ },
1877
+ logCLI: {
1878
+ background: "neutral[-70]",
1879
+ debug: "cyan[40]",
1880
+ warning: "orange[50]",
1881
+ error: "pink[90]",
1882
+ critical: "red[0]",
1883
+ info: "green[50]",
1884
+ regularText: "neutral[95]"
1885
+ }
1886
+ }
1340
1887
  },
1341
1888
  spacing: {
1342
1889
  card_padding: "Internal card padding uses spacing.4 (1rem) on all sides.",
@@ -1378,18 +1925,24 @@ __export(src_exports, {
1378
1925
  colorSidebarStroke: () => colorSidebarStroke,
1379
1926
  colorWhite: () => colorWhite,
1380
1927
  colorYellow: () => colorYellow,
1928
+ componentRules: () => componentRules,
1381
1929
  default: () => src_default,
1382
1930
  fontFamilyBase: () => fontFamilyBase,
1383
1931
  fontFamilyGrotesk: () => fontFamilyGrotesk,
1384
1932
  fontFamilyIcon: () => fontFamilyIcon,
1385
1933
  fontFamilyInter: () => fontFamilyInter,
1386
1934
  fontFamilyJetbrains: () => fontFamilyJetbrains,
1935
+ fontIcons: () => fontIcons,
1387
1936
  fontWeightBold: () => fontWeightBold,
1388
1937
  fontWeightExtraThick: () => fontWeightExtraThick,
1389
1938
  fontWeightMedium: () => fontWeightMedium,
1390
1939
  fontWeightNormal: () => fontWeightNormal,
1391
1940
  fontWeightSemiBold: () => fontWeightSemiBold,
1392
1941
  fontWeightThick: () => fontWeightThick,
1942
+ getIcon: () => getIcon,
1943
+ getIconChar: () => getIconChar,
1944
+ iconCharMap: () => iconCharMap,
1945
+ icons: () => icons,
1393
1946
  radius2xl: () => radius2xl,
1394
1947
  radiusFull: () => radiusFull,
1395
1948
  radiusLg: () => radiusLg,
@@ -1397,31 +1950,41 @@ __export(src_exports, {
1397
1950
  radiusNone: () => radiusNone,
1398
1951
  radiusSm: () => radiusSm,
1399
1952
  radiusXl: () => radiusXl,
1400
- ruleButtonPrimary: () => ruleButtonPrimary,
1401
- ruleButtonSecondary: () => ruleButtonSecondary,
1953
+ ruleBreadcrumb: () => ruleBreadcrumb,
1954
+ ruleButton: () => ruleButton,
1955
+ ruleCLIColors: () => ruleCLIColors,
1402
1956
  ruleCardBg: () => ruleCardBg,
1403
1957
  ruleCards: () => ruleCards,
1958
+ ruleChartColors: () => ruleChartColors,
1959
+ ruleCommentThread: () => ruleCommentThread,
1404
1960
  ruleFontInter: () => ruleFontInter,
1405
1961
  ruleFontMixing: () => ruleFontMixing,
1406
1962
  ruleFontMono: () => ruleFontMono,
1407
1963
  ruleFontSpaceGrotesk: () => ruleFontSpaceGrotesk,
1964
+ ruleHoverCard: () => ruleHoverCard,
1408
1965
  ruleInteractiveLinks: () => ruleInteractiveLinks,
1966
+ ruleModal: () => ruleModal,
1409
1967
  ruleMutedText: () => ruleMutedText,
1410
1968
  ruleNonBrandAccents: () => ruleNonBrandAccents,
1411
1969
  rulePageStructure: () => rulePageStructure,
1412
- rulePagination: () => rulePagination,
1413
1970
  rulePlatformSurface: () => rulePlatformSurface,
1414
1971
  rulePrimaryOrange: () => rulePrimaryOrange,
1415
1972
  rulePrimaryPurple: () => rulePrimaryPurple,
1416
- ruleSidebarActiveState: () => ruleSidebarActiveState,
1973
+ ruleSelection: () => ruleSelection,
1417
1974
  ruleSidebarBg: () => ruleSidebarBg,
1975
+ ruleSidebarNav: () => ruleSidebarNav,
1418
1976
  ruleSidebarStroke: () => ruleSidebarStroke,
1977
+ ruleSnackbar: () => ruleSnackbar,
1419
1978
  ruleStatusBlue: () => ruleStatusBlue,
1420
1979
  ruleStatusGreen: () => ruleStatusGreen,
1421
1980
  ruleStatusRed: () => ruleStatusRed,
1422
1981
  ruleStatusYellow: () => ruleStatusYellow,
1982
+ ruleTable: () => ruleTable,
1423
1983
  ruleTables: () => ruleTables,
1424
1984
  ruleTabs: () => ruleTabs,
1985
+ ruleTag: () => ruleTag,
1986
+ ruleTextInput: () => ruleTextInput,
1987
+ ruleTooltip: () => ruleTooltip,
1425
1988
  rules: () => rules,
1426
1989
  spacing0: () => spacing0,
1427
1990
  spacing1: () => spacing1,
@@ -1434,6 +1997,7 @@ __export(src_exports, {
1434
1997
  spacing5: () => spacing5,
1435
1998
  spacing6: () => spacing6,
1436
1999
  spacing8: () => spacing8,
2000
+ svgIcons: () => svgIcons,
1437
2001
  tokens: () => tokens
1438
2002
  });
1439
2003
  module.exports = __toCommonJS(src_exports);
@@ -1501,6 +2065,7 @@ var radiusFull = "9999px";
1501
2065
  // src/rules.ts
1502
2066
  var raw2 = require_pollymorph();
1503
2067
  var rules = raw2.rules;
2068
+ var componentRules = raw2.rules.components;
1504
2069
  var rulePrimaryPurple = raw2.rules.color.brand.primary_purple;
1505
2070
  var rulePrimaryOrange = raw2.rules.color.brand.primary_orange;
1506
2071
  var ruleNonBrandAccents = raw2.rules.color.brand.non_brand_accents;
@@ -1521,11 +2086,1148 @@ var ruleFontMixing = raw2.rules.typography.font_families.mixing_rule;
1521
2086
  var rulePageStructure = raw2.rules.layout.page_structure;
1522
2087
  var ruleCards = raw2.rules.layout.cards;
1523
2088
  var ruleTables = raw2.rules.layout.tables;
1524
- var ruleButtonPrimary = raw2.rules.components.buttons.primary;
1525
- var ruleButtonSecondary = raw2.rules.components.buttons.secondary;
2089
+ var ruleButton = raw2.rules.components.button;
2090
+ var ruleTag = raw2.rules.components.tag;
2091
+ var ruleTextInput = raw2.rules.components.textInput;
2092
+ var ruleSelection = raw2.rules.components.selectionControl;
2093
+ var ruleTable = raw2.rules.components.table;
1526
2094
  var ruleTabs = raw2.rules.components.tabs;
1527
- var ruleSidebarActiveState = raw2.rules.components.sidebar_active_state;
1528
- var rulePagination = raw2.rules.components.pagination;
2095
+ var ruleSidebarNav = raw2.rules.components.sidebarNav;
2096
+ var ruleBreadcrumb = raw2.rules.components.breadcrumb;
2097
+ var ruleModal = raw2.rules.components.modal;
2098
+ var ruleSnackbar = raw2.rules.components.snackbar;
2099
+ var ruleTooltip = raw2.rules.components.tooltip;
2100
+ var ruleHoverCard = raw2.rules.components.hoverCard;
2101
+ var ruleCommentThread = raw2.rules.components.commentThread;
2102
+ var ruleChartColors = raw2.rules.components.chartColors;
2103
+ var ruleCLIColors = raw2.rules.components.cliColors;
2104
+
2105
+ // src/icons.ts
2106
+ var icons = [
2107
+ {
2108
+ "num": 1,
2109
+ "name": "meatballsSettings",
2110
+ "codepoint": "U+E900",
2111
+ "unicode": "\uE900",
2112
+ "inFont": true
2113
+ },
2114
+ {
2115
+ "num": 2,
2116
+ "name": "addToShortlist",
2117
+ "codepoint": "U+E901",
2118
+ "unicode": "\uE901",
2119
+ "inFont": true
2120
+ },
2121
+ {
2122
+ "num": 3,
2123
+ "name": "shortlist",
2124
+ "codepoint": "U+E902",
2125
+ "unicode": "\uE902",
2126
+ "inFont": true
2127
+ },
2128
+ {
2129
+ "num": 4,
2130
+ "name": "uploadFile",
2131
+ "codepoint": "U+E903",
2132
+ "unicode": "\uE903",
2133
+ "inFont": true
2134
+ },
2135
+ {
2136
+ "num": 5,
2137
+ "name": "downloadFile",
2138
+ "codepoint": "U+E904",
2139
+ "unicode": "\uE904",
2140
+ "inFont": true
2141
+ },
2142
+ {
2143
+ "num": 6,
2144
+ "name": "edit",
2145
+ "codepoint": "U+E905",
2146
+ "unicode": "\uE905",
2147
+ "inFont": true
2148
+ },
2149
+ {
2150
+ "num": 7,
2151
+ "name": "duplicateOrCopy",
2152
+ "codepoint": "U+E906",
2153
+ "unicode": "\uE906",
2154
+ "inFont": true
2155
+ },
2156
+ {
2157
+ "num": 8,
2158
+ "name": "print",
2159
+ "codepoint": "U+E907",
2160
+ "unicode": "\uE907",
2161
+ "inFont": true
2162
+ },
2163
+ {
2164
+ "num": 9,
2165
+ "name": "openInNewWindow",
2166
+ "codepoint": "U+E908",
2167
+ "unicode": "\uE908",
2168
+ "inFont": true
2169
+ },
2170
+ {
2171
+ "num": 10,
2172
+ "name": "tableEditor",
2173
+ "codepoint": "U+E909",
2174
+ "unicode": "\uE909",
2175
+ "inFont": true
2176
+ },
2177
+ {
2178
+ "num": 11,
2179
+ "name": "tableSort",
2180
+ "codepoint": "U+E90A",
2181
+ "unicode": "\uE90A",
2182
+ "inFont": true
2183
+ },
2184
+ {
2185
+ "num": 12,
2186
+ "name": "save",
2187
+ "codepoint": "U+E90B",
2188
+ "unicode": "\uE90B",
2189
+ "inFont": true
2190
+ },
2191
+ {
2192
+ "num": 13,
2193
+ "name": "delete",
2194
+ "codepoint": "U+E90C",
2195
+ "unicode": "\uE90C",
2196
+ "inFont": true
2197
+ },
2198
+ {
2199
+ "num": 14,
2200
+ "name": "openFolder",
2201
+ "codepoint": "U+E90D",
2202
+ "unicode": "\uE90D",
2203
+ "inFont": true
2204
+ },
2205
+ {
2206
+ "num": 15,
2207
+ "name": "analyse",
2208
+ "codepoint": "U+E90E",
2209
+ "unicode": "\uE90E",
2210
+ "inFont": true
2211
+ },
2212
+ {
2213
+ "num": 16,
2214
+ "name": "starEmpty",
2215
+ "codepoint": "U+E90F",
2216
+ "unicode": "\uE90F",
2217
+ "inFont": true
2218
+ },
2219
+ {
2220
+ "num": 17,
2221
+ "name": "filter",
2222
+ "codepoint": "U+E910",
2223
+ "unicode": "\uE910",
2224
+ "inFont": true
2225
+ },
2226
+ {
2227
+ "num": 18,
2228
+ "name": "add",
2229
+ "codepoint": "U+E911",
2230
+ "unicode": "\uE911",
2231
+ "inFont": true
2232
+ },
2233
+ {
2234
+ "num": 19,
2235
+ "name": "contract",
2236
+ "codepoint": "U+E912",
2237
+ "unicode": "\uE912",
2238
+ "inFont": true
2239
+ },
2240
+ {
2241
+ "num": 20,
2242
+ "name": "expand",
2243
+ "codepoint": "U+E913",
2244
+ "unicode": "\uE913",
2245
+ "inFont": true
2246
+ },
2247
+ {
2248
+ "num": 21,
2249
+ "name": "close",
2250
+ "codepoint": "U+E914",
2251
+ "unicode": "\uE914",
2252
+ "inFont": true
2253
+ },
2254
+ {
2255
+ "num": 22,
2256
+ "name": "upChevron",
2257
+ "codepoint": "U+E915",
2258
+ "unicode": "\uE915",
2259
+ "inFont": true
2260
+ },
2261
+ {
2262
+ "num": 23,
2263
+ "name": "leftChevron",
2264
+ "codepoint": "U+E916",
2265
+ "unicode": "\uE916",
2266
+ "inFont": true
2267
+ },
2268
+ {
2269
+ "num": 24,
2270
+ "name": "rightChevron",
2271
+ "codepoint": "U+E917",
2272
+ "unicode": "\uE917",
2273
+ "inFont": true
2274
+ },
2275
+ {
2276
+ "num": 25,
2277
+ "name": "expandChevron",
2278
+ "codepoint": "U+E918",
2279
+ "unicode": "\uE918",
2280
+ "inFont": true
2281
+ },
2282
+ {
2283
+ "num": 26,
2284
+ "name": "upCarrot",
2285
+ "codepoint": "U+E919",
2286
+ "unicode": "\uE919",
2287
+ "inFont": true
2288
+ },
2289
+ {
2290
+ "num": 27,
2291
+ "name": "leftCarrot",
2292
+ "codepoint": "U+E91A",
2293
+ "unicode": "\uE91A",
2294
+ "inFont": true
2295
+ },
2296
+ {
2297
+ "num": 28,
2298
+ "name": "rightCarrot",
2299
+ "codepoint": "U+E91B",
2300
+ "unicode": "\uE91B",
2301
+ "inFont": true
2302
+ },
2303
+ {
2304
+ "num": 29,
2305
+ "name": "downCarrot",
2306
+ "codepoint": "U+E91C",
2307
+ "unicode": "\uE91C",
2308
+ "inFont": true
2309
+ },
2310
+ {
2311
+ "num": 30,
2312
+ "name": "arrowUp",
2313
+ "codepoint": "U+E91D",
2314
+ "unicode": "\uE91D",
2315
+ "inFont": true
2316
+ },
2317
+ {
2318
+ "num": 31,
2319
+ "name": "arrowLeftBack",
2320
+ "codepoint": "U+E91E",
2321
+ "unicode": "\uE91E",
2322
+ "inFont": true
2323
+ },
2324
+ {
2325
+ "num": 32,
2326
+ "name": "arrowRightForward",
2327
+ "codepoint": "U+E91F",
2328
+ "unicode": "\uE91F",
2329
+ "inFont": true
2330
+ },
2331
+ {
2332
+ "num": 33,
2333
+ "name": "arrowDown",
2334
+ "codepoint": "U+E920",
2335
+ "unicode": "\uE920",
2336
+ "inFont": true
2337
+ },
2338
+ {
2339
+ "num": 34,
2340
+ "name": "northEast",
2341
+ "codepoint": "U+E921",
2342
+ "unicode": "\uE921",
2343
+ "inFont": true
2344
+ },
2345
+ {
2346
+ "num": 35,
2347
+ "name": "northWest",
2348
+ "codepoint": "U+E922",
2349
+ "unicode": "\uE922",
2350
+ "inFont": true
2351
+ },
2352
+ {
2353
+ "num": 36,
2354
+ "name": "southEast",
2355
+ "codepoint": "U+E923",
2356
+ "unicode": "\uE923",
2357
+ "inFont": true
2358
+ },
2359
+ {
2360
+ "num": 37,
2361
+ "name": "southWest",
2362
+ "codepoint": "U+E924",
2363
+ "unicode": "\uE924",
2364
+ "inFont": true
2365
+ },
2366
+ {
2367
+ "num": 38,
2368
+ "name": "arrowForwardLarge",
2369
+ "codepoint": "U+E925",
2370
+ "unicode": "\uE925",
2371
+ "inFont": true
2372
+ },
2373
+ {
2374
+ "num": 39,
2375
+ "name": "arrowBackLarge",
2376
+ "codepoint": "U+E926",
2377
+ "unicode": "\uE926",
2378
+ "inFont": true
2379
+ },
2380
+ {
2381
+ "num": 40,
2382
+ "name": "skipToFirst",
2383
+ "codepoint": "U+E927",
2384
+ "unicode": "\uE927",
2385
+ "inFont": true
2386
+ },
2387
+ {
2388
+ "num": 41,
2389
+ "name": "skipToLast",
2390
+ "codepoint": "U+E928",
2391
+ "unicode": "\uE928",
2392
+ "inFont": true
2393
+ },
2394
+ {
2395
+ "num": 42,
2396
+ "name": "starFull",
2397
+ "codepoint": "U+E929",
2398
+ "unicode": "\uE929",
2399
+ "inFont": true
2400
+ },
2401
+ {
2402
+ "num": 43,
2403
+ "name": "visibilityOn",
2404
+ "codepoint": "U+E92A",
2405
+ "unicode": "\uE92A",
2406
+ "inFont": true
2407
+ },
2408
+ {
2409
+ "num": 44,
2410
+ "name": "visibilityOff",
2411
+ "codepoint": "U+E92B",
2412
+ "unicode": "\uE92B",
2413
+ "inFont": true
2414
+ },
2415
+ {
2416
+ "num": 45,
2417
+ "name": "pinned",
2418
+ "codepoint": "U+E92C",
2419
+ "unicode": "\uE92C",
2420
+ "inFont": true
2421
+ },
2422
+ {
2423
+ "num": 46,
2424
+ "name": "pin",
2425
+ "codepoint": "U+E92D",
2426
+ "unicode": "\uE92D",
2427
+ "inFont": true
2428
+ },
2429
+ {
2430
+ "num": 47,
2431
+ "name": "starHalf",
2432
+ "codepoint": "U+E92E",
2433
+ "unicode": "\uE92E",
2434
+ "inFont": true
2435
+ },
2436
+ {
2437
+ "num": 48,
2438
+ "name": "previousArrow",
2439
+ "codepoint": "U+E92F",
2440
+ "unicode": "\uE92F",
2441
+ "inFont": true
2442
+ },
2443
+ {
2444
+ "num": 49,
2445
+ "name": "nextArrow",
2446
+ "codepoint": "U+E930",
2447
+ "unicode": "\uE930",
2448
+ "inFont": true
2449
+ },
2450
+ {
2451
+ "num": 50,
2452
+ "name": "folderOpen",
2453
+ "codepoint": "U+E931",
2454
+ "unicode": "\uE931",
2455
+ "inFont": true
2456
+ },
2457
+ {
2458
+ "num": 51,
2459
+ "name": "folder",
2460
+ "codepoint": "U+E932",
2461
+ "unicode": "\uE932",
2462
+ "inFont": true
2463
+ },
2464
+ {
2465
+ "num": 52,
2466
+ "name": "createNewFolder",
2467
+ "codepoint": "U+E933",
2468
+ "unicode": "\uE933",
2469
+ "inFont": true
2470
+ },
2471
+ {
2472
+ "num": 53,
2473
+ "name": "uploadFolder",
2474
+ "codepoint": "U+E934",
2475
+ "unicode": "\uE934",
2476
+ "inFont": true
2477
+ },
2478
+ {
2479
+ "num": 54,
2480
+ "name": "archive",
2481
+ "codepoint": "U+E935",
2482
+ "unicode": "\uE935",
2483
+ "inFont": true
2484
+ },
2485
+ {
2486
+ "num": 55,
2487
+ "name": "unarchive",
2488
+ "codepoint": "U+E936",
2489
+ "unicode": "\uE936",
2490
+ "inFont": true
2491
+ },
2492
+ {
2493
+ "num": 56,
2494
+ "name": "link",
2495
+ "codepoint": "U+E937",
2496
+ "unicode": "\uE937",
2497
+ "inFont": true
2498
+ },
2499
+ {
2500
+ "num": 57,
2501
+ "name": "done",
2502
+ "codepoint": "U+E938",
2503
+ "unicode": "\uE938",
2504
+ "inFont": true
2505
+ },
2506
+ {
2507
+ "num": 58,
2508
+ "name": "chartIcon",
2509
+ "codepoint": "U+E939",
2510
+ "unicode": "\uE939",
2511
+ "inFont": true
2512
+ },
2513
+ {
2514
+ "num": 59,
2515
+ "name": "document",
2516
+ "codepoint": "U+E93A",
2517
+ "unicode": "\uE93A",
2518
+ "inFont": true
2519
+ },
2520
+ {
2521
+ "num": 60,
2522
+ "name": "codeDocument",
2523
+ "codepoint": "U+E93B",
2524
+ "unicode": "\uE93B",
2525
+ "inFont": true
2526
+ },
2527
+ {
2528
+ "num": 61,
2529
+ "name": "info",
2530
+ "codepoint": "U+E93C",
2531
+ "unicode": "\uE93C",
2532
+ "inFont": true
2533
+ },
2534
+ {
2535
+ "num": 62,
2536
+ "name": "swap",
2537
+ "codepoint": "U+E93D",
2538
+ "unicode": "\uE93D",
2539
+ "inFont": true
2540
+ },
2541
+ {
2542
+ "num": 63,
2543
+ "name": "description",
2544
+ "codepoint": "U+E93E",
2545
+ "unicode": "\uE93E",
2546
+ "inFont": true
2547
+ },
2548
+ {
2549
+ "num": 64,
2550
+ "name": "history",
2551
+ "codepoint": "U+E93F",
2552
+ "unicode": "\uE93F",
2553
+ "inFont": true
2554
+ },
2555
+ {
2556
+ "num": 65,
2557
+ "name": "rename",
2558
+ "codepoint": "U+E940",
2559
+ "unicode": "\uE940",
2560
+ "inFont": true
2561
+ },
2562
+ {
2563
+ "num": 66,
2564
+ "name": "panMove",
2565
+ "codepoint": "U+E941",
2566
+ "unicode": "\uE941",
2567
+ "inFont": true
2568
+ },
2569
+ {
2570
+ "num": 67,
2571
+ "name": "github",
2572
+ "codepoint": "U+E942",
2573
+ "unicode": "\uE942",
2574
+ "inFont": true
2575
+ },
2576
+ {
2577
+ "num": 68,
2578
+ "name": "curation",
2579
+ "codepoint": "U+E943",
2580
+ "unicode": "\uE943",
2581
+ "inFont": true
2582
+ },
2583
+ {
2584
+ "num": 69,
2585
+ "name": "helpAndSupport",
2586
+ "codepoint": "U+E944",
2587
+ "unicode": "\uE944",
2588
+ "inFont": true
2589
+ },
2590
+ {
2591
+ "num": 70,
2592
+ "name": "userProfile",
2593
+ "codepoint": "U+E945",
2594
+ "unicode": "\uE945",
2595
+ "inFont": true
2596
+ },
2597
+ {
2598
+ "num": 71,
2599
+ "name": "settings",
2600
+ "codepoint": "U+E946",
2601
+ "unicode": "\uE946",
2602
+ "inFont": true
2603
+ },
2604
+ {
2605
+ "num": 72,
2606
+ "name": "notification",
2607
+ "codepoint": "U+E947",
2608
+ "unicode": "\uE947",
2609
+ "inFont": true
2610
+ },
2611
+ {
2612
+ "num": 73,
2613
+ "name": "ingestion",
2614
+ "codepoint": "U+E948",
2615
+ "unicode": "\uE948",
2616
+ "inFont": true
2617
+ },
2618
+ {
2619
+ "num": 74,
2620
+ "name": "omixLogoSimple",
2621
+ "codepoint": "U+E949",
2622
+ "unicode": "\uE949",
2623
+ "inFont": true
2624
+ },
2625
+ {
2626
+ "num": 75,
2627
+ "name": "workspaces",
2628
+ "codepoint": "U+E94A",
2629
+ "unicode": "\uE94A",
2630
+ "inFont": true
2631
+ },
2632
+ {
2633
+ "num": 76,
2634
+ "name": "application",
2635
+ "codepoint": "U+E94B",
2636
+ "unicode": "\uE94B",
2637
+ "inFont": true
2638
+ },
2639
+ {
2640
+ "num": 77,
2641
+ "name": "usersOA",
2642
+ "codepoint": "U+E94C",
2643
+ "unicode": "\uE94C",
2644
+ "inFont": true
2645
+ },
2646
+ {
2647
+ "num": 78,
2648
+ "name": "admin",
2649
+ "codepoint": "U+E94D",
2650
+ "unicode": "\uE94D",
2651
+ "inFont": true
2652
+ },
2653
+ {
2654
+ "num": 79,
2655
+ "name": "costWallet",
2656
+ "codepoint": "U+E94E",
2657
+ "unicode": "\uE94E",
2658
+ "inFont": true
2659
+ },
2660
+ {
2661
+ "num": 80,
2662
+ "name": "splitView",
2663
+ "codepoint": "U+E94F",
2664
+ "unicode": "\uE94F",
2665
+ "inFont": true
2666
+ },
2667
+ {
2668
+ "num": 81,
2669
+ "name": "summaryView",
2670
+ "codepoint": "U+E9B0",
2671
+ "unicode": "\uE9B0",
2672
+ "inFont": true,
2673
+ "codepointUnverified": true
2674
+ },
2675
+ {
2676
+ "num": 82,
2677
+ "name": "listView",
2678
+ "codepoint": "U+E9B1",
2679
+ "unicode": "\uE9B1",
2680
+ "inFont": true,
2681
+ "codepointUnverified": true
2682
+ },
2683
+ {
2684
+ "num": 83,
2685
+ "name": "cardView",
2686
+ "codepoint": "U+E9B2",
2687
+ "unicode": "\uE9B2",
2688
+ "inFont": true,
2689
+ "codepointUnverified": true
2690
+ },
2691
+ {
2692
+ "num": 84,
2693
+ "name": "tableView",
2694
+ "codepoint": "U+E9B3",
2695
+ "unicode": "\uE9B3",
2696
+ "inFont": true,
2697
+ "codepointUnverified": true
2698
+ },
2699
+ {
2700
+ "num": 85,
2701
+ "name": "cancelRound",
2702
+ "codepoint": "U+E9B4",
2703
+ "unicode": "\uE9B4",
2704
+ "inFont": true,
2705
+ "codepointUnverified": true
2706
+ },
2707
+ {
2708
+ "num": 86,
2709
+ "name": "userSingle",
2710
+ "codepoint": "U+E9B5",
2711
+ "unicode": "\uE9B5",
2712
+ "inFont": true,
2713
+ "codepointUnverified": true
2714
+ },
2715
+ {
2716
+ "num": 87,
2717
+ "name": "addUser",
2718
+ "codepoint": "U+E9B6",
2719
+ "unicode": "\uE9B6",
2720
+ "inFont": true,
2721
+ "codepointUnverified": true
2722
+ },
2723
+ {
2724
+ "num": 88,
2725
+ "name": "calendarEvent",
2726
+ "codepoint": "U+E9B7",
2727
+ "unicode": "\uE9B7",
2728
+ "inFont": true,
2729
+ "codepointUnverified": true
2730
+ },
2731
+ {
2732
+ "num": 89,
2733
+ "name": "calendarEmpty",
2734
+ "codepoint": "U+E9B8",
2735
+ "unicode": "\uE9B8",
2736
+ "inFont": true,
2737
+ "codepointUnverified": true
2738
+ },
2739
+ {
2740
+ "num": 90,
2741
+ "name": "calendarMonth",
2742
+ "inFont": false
2743
+ },
2744
+ {
2745
+ "num": 91,
2746
+ "name": "alarm",
2747
+ "inFont": false
2748
+ },
2749
+ {
2750
+ "num": 92,
2751
+ "name": "loadingIcon",
2752
+ "inFont": false
2753
+ },
2754
+ {
2755
+ "num": 93,
2756
+ "name": "search",
2757
+ "inFont": false
2758
+ },
2759
+ {
2760
+ "num": 94,
2761
+ "name": "dragHandle",
2762
+ "inFont": false
2763
+ },
2764
+ {
2765
+ "num": 95,
2766
+ "name": "sortAscending",
2767
+ "inFont": false
2768
+ },
2769
+ {
2770
+ "num": 96,
2771
+ "name": "sortDescending",
2772
+ "inFont": false
2773
+ },
2774
+ {
2775
+ "num": 97,
2776
+ "name": "emptyFlag",
2777
+ "inFont": false
2778
+ },
2779
+ {
2780
+ "num": 98,
2781
+ "name": "filledFlag",
2782
+ "inFont": false
2783
+ },
2784
+ {
2785
+ "num": 99,
2786
+ "name": "refreshIcon",
2787
+ "inFont": false
2788
+ },
2789
+ {
2790
+ "num": 100,
2791
+ "name": "pollyFlow",
2792
+ "inFont": false
2793
+ },
2794
+ {
2795
+ "num": 101,
2796
+ "name": "pollyPipelines",
2797
+ "inFont": false
2798
+ },
2799
+ {
2800
+ "num": 102,
2801
+ "name": "hamburgerMenuToggle",
2802
+ "inFont": false
2803
+ },
2804
+ {
2805
+ "num": 103,
2806
+ "name": "hamburgerMenu",
2807
+ "inFont": false
2808
+ },
2809
+ {
2810
+ "num": 104,
2811
+ "name": "checkBoxSelected",
2812
+ "inFont": false
2813
+ },
2814
+ {
2815
+ "num": 105,
2816
+ "name": "checkBoxIndeterminate",
2817
+ "inFont": false
2818
+ },
2819
+ {
2820
+ "num": 106,
2821
+ "name": "addReport",
2822
+ "inFont": false
2823
+ },
2824
+ {
2825
+ "num": 107,
2826
+ "name": "viewReport",
2827
+ "inFont": false
2828
+ },
2829
+ {
2830
+ "num": 108,
2831
+ "name": "key",
2832
+ "inFont": false
2833
+ },
2834
+ {
2835
+ "num": 109,
2836
+ "name": "databaseIcon",
2837
+ "inFont": false
2838
+ },
2839
+ {
2840
+ "num": 110,
2841
+ "name": "databaseSettings",
2842
+ "inFont": false
2843
+ },
2844
+ {
2845
+ "num": 111,
2846
+ "name": "databaseEditIcon",
2847
+ "inFont": false
2848
+ },
2849
+ {
2850
+ "num": 112,
2851
+ "name": "databaseAddIcon",
2852
+ "inFont": false
2853
+ },
2854
+ {
2855
+ "num": 113,
2856
+ "name": "frameworkOntologyFlowchart",
2857
+ "inFont": false
2858
+ },
2859
+ {
2860
+ "num": 114,
2861
+ "name": "thumbUpFilled",
2862
+ "inFont": false
2863
+ },
2864
+ {
2865
+ "num": 115,
2866
+ "name": "thumbUp",
2867
+ "inFont": false
2868
+ },
2869
+ {
2870
+ "num": 116,
2871
+ "name": "thumbDownFilled",
2872
+ "inFont": false
2873
+ },
2874
+ {
2875
+ "num": 117,
2876
+ "name": "thumbDown",
2877
+ "inFont": false
2878
+ },
2879
+ {
2880
+ "num": 118,
2881
+ "name": "mailIcon",
2882
+ "inFont": false
2883
+ },
2884
+ {
2885
+ "num": 119,
2886
+ "name": "reply",
2887
+ "inFont": false
2888
+ },
2889
+ {
2890
+ "num": 120,
2891
+ "name": "send",
2892
+ "inFont": false
2893
+ },
2894
+ {
2895
+ "num": 121,
2896
+ "name": "chatIcon",
2897
+ "inFont": false
2898
+ },
2899
+ {
2900
+ "num": 122,
2901
+ "name": "comment",
2902
+ "inFont": false
2903
+ },
2904
+ {
2905
+ "num": 123,
2906
+ "name": "editTableIcon",
2907
+ "inFont": false
2908
+ },
2909
+ {
2910
+ "num": 124,
2911
+ "name": "addTable",
2912
+ "inFont": false
2913
+ },
2914
+ {
2915
+ "num": 125,
2916
+ "name": "editTableRow",
2917
+ "inFont": false
2918
+ },
2919
+ {
2920
+ "num": 126,
2921
+ "name": "addTableRow",
2922
+ "inFont": false
2923
+ },
2924
+ {
2925
+ "num": 127,
2926
+ "name": "editTableColumn",
2927
+ "inFont": false
2928
+ },
2929
+ {
2930
+ "num": 128,
2931
+ "name": "addTableColumn",
2932
+ "inFont": false
2933
+ },
2934
+ {
2935
+ "num": 129,
2936
+ "name": "dashboardIcon",
2937
+ "inFont": false
2938
+ },
2939
+ {
2940
+ "num": 130,
2941
+ "name": "organisationIcon",
2942
+ "inFont": false
2943
+ },
2944
+ {
2945
+ "num": 131,
2946
+ "name": "detailsIcons",
2947
+ "inFont": false
2948
+ },
2949
+ {
2950
+ "num": 132,
2951
+ "name": "userGroups",
2952
+ "inFont": false
2953
+ },
2954
+ {
2955
+ "num": 133,
2956
+ "name": "foreignKey",
2957
+ "inFont": false
2958
+ },
2959
+ {
2960
+ "num": 134,
2961
+ "name": "blockCancelled",
2962
+ "inFont": false
2963
+ },
2964
+ {
2965
+ "num": 135,
2966
+ "name": "hourglassRunning",
2967
+ "inFont": false
2968
+ },
2969
+ {
2970
+ "num": 136,
2971
+ "name": "checkCircleDone",
2972
+ "inFont": false
2973
+ },
2974
+ {
2975
+ "num": 137,
2976
+ "name": "warning",
2977
+ "inFont": false
2978
+ },
2979
+ {
2980
+ "num": 138,
2981
+ "name": "cohorts",
2982
+ "inFont": false
2983
+ },
2984
+ {
2985
+ "num": 139,
2986
+ "name": "medicine",
2987
+ "inFont": false
2988
+ },
2989
+ {
2990
+ "num": 140,
2991
+ "name": "aiIcon",
2992
+ "inFont": false
2993
+ },
2994
+ {
2995
+ "num": 141,
2996
+ "name": "aiKnowledge",
2997
+ "inFont": false
2998
+ },
2999
+ {
3000
+ "num": 142,
3001
+ "name": "aiInsights",
3002
+ "inFont": false
3003
+ },
3004
+ {
3005
+ "num": 143,
3006
+ "name": "dataProductIcon",
3007
+ "inFont": false
3008
+ },
3009
+ {
3010
+ "num": 144,
3011
+ "name": "performance",
3012
+ "inFont": false
3013
+ },
3014
+ {
3015
+ "num": 145,
3016
+ "name": "collections",
3017
+ "inFont": false
3018
+ },
3019
+ {
3020
+ "num": 146,
3021
+ "name": "config",
3022
+ "inFont": false
3023
+ },
3024
+ {
3025
+ "num": 147,
3026
+ "name": "reviewerTasks",
3027
+ "inFont": false
3028
+ },
3029
+ {
3030
+ "num": 148,
3031
+ "name": "chatHistory",
3032
+ "inFont": false
3033
+ },
3034
+ {
3035
+ "num": 149,
3036
+ "name": "shareIcon",
3037
+ "inFont": false
3038
+ },
3039
+ {
3040
+ "num": 150,
3041
+ "name": "collectionsAlt",
3042
+ "inFont": false
3043
+ },
3044
+ {
3045
+ "num": 151,
3046
+ "name": "reviewerTasksAlt",
3047
+ "inFont": false
3048
+ },
3049
+ {
3050
+ "num": 152,
3051
+ "name": "pollyScout",
3052
+ "inFont": false
3053
+ },
3054
+ {
3055
+ "num": 153,
3056
+ "name": "pendingTasks",
3057
+ "inFont": false
3058
+ },
3059
+ {
3060
+ "num": 154,
3061
+ "name": "pollyXtract",
3062
+ "inFont": false
3063
+ },
3064
+ {
3065
+ "num": 155,
3066
+ "name": "logout",
3067
+ "inFont": false
3068
+ },
3069
+ {
3070
+ "num": 156,
3071
+ "name": "login",
3072
+ "inFont": false
3073
+ },
3074
+ {
3075
+ "num": 157,
3076
+ "name": "mic",
3077
+ "inFont": false
3078
+ },
3079
+ {
3080
+ "num": 158,
3081
+ "name": "micOff",
3082
+ "inFont": false
3083
+ },
3084
+ {
3085
+ "num": 159,
3086
+ "name": "attach",
3087
+ "inFont": false
3088
+ },
3089
+ {
3090
+ "num": 160,
3091
+ "name": "aiInsight",
3092
+ "inFont": false
3093
+ },
3094
+ {
3095
+ "num": 161,
3096
+ "name": "pollyKG",
3097
+ "inFont": false
3098
+ },
3099
+ {
3100
+ "num": 162,
3101
+ "name": "video",
3102
+ "inFont": false
3103
+ },
3104
+ {
3105
+ "num": 163,
3106
+ "name": "files",
3107
+ "inFont": false
3108
+ },
3109
+ {
3110
+ "num": 164,
3111
+ "name": "audio",
3112
+ "inFont": false
3113
+ },
3114
+ {
3115
+ "num": 165,
3116
+ "name": "camera",
3117
+ "inFont": false
3118
+ },
3119
+ {
3120
+ "num": 166,
3121
+ "name": "images",
3122
+ "inFont": false
3123
+ },
3124
+ {
3125
+ "num": 167,
3126
+ "name": "pollyPipelinesAlt",
3127
+ "inFont": false
3128
+ },
3129
+ {
3130
+ "num": 168,
3131
+ "name": "coScientistIcon",
3132
+ "inFont": false
3133
+ },
3134
+ {
3135
+ "num": 169,
3136
+ "name": "youtubeSearchedFor",
3137
+ "inFont": false
3138
+ },
3139
+ {
3140
+ "num": 170,
3141
+ "name": "zoomIn",
3142
+ "inFont": false
3143
+ },
3144
+ {
3145
+ "num": 171,
3146
+ "name": "zoomOut",
3147
+ "inFont": false
3148
+ },
3149
+ {
3150
+ "num": 172,
3151
+ "name": "addCircle",
3152
+ "inFont": false
3153
+ },
3154
+ {
3155
+ "num": 173,
3156
+ "name": "addCircleOutline",
3157
+ "inFont": false
3158
+ },
3159
+ {
3160
+ "num": 174,
3161
+ "name": "remove",
3162
+ "inFont": false
3163
+ },
3164
+ {
3165
+ "num": 175,
3166
+ "name": "removeCircle",
3167
+ "inFont": false
3168
+ },
3169
+ {
3170
+ "num": 176,
3171
+ "name": "removeCircleOutline",
3172
+ "inFont": false
3173
+ },
3174
+ {
3175
+ "num": 177,
3176
+ "name": "playArrow",
3177
+ "inFont": false
3178
+ },
3179
+ {
3180
+ "num": 178,
3181
+ "name": "pause",
3182
+ "inFont": false
3183
+ },
3184
+ {
3185
+ "num": 179,
3186
+ "name": "stop",
3187
+ "inFont": false
3188
+ },
3189
+ {
3190
+ "num": 180,
3191
+ "name": "playCircle",
3192
+ "inFont": false
3193
+ },
3194
+ {
3195
+ "num": 181,
3196
+ "name": "pauseCircle",
3197
+ "inFont": false
3198
+ },
3199
+ {
3200
+ "num": 182,
3201
+ "name": "stopCircle",
3202
+ "inFont": false
3203
+ },
3204
+ {
3205
+ "num": 183,
3206
+ "name": "replay",
3207
+ "inFont": false
3208
+ },
3209
+ {
3210
+ "num": 184,
3211
+ "name": "loopRefreshUpdate",
3212
+ "inFont": false
3213
+ },
3214
+ {
3215
+ "num": 185,
3216
+ "name": "forward",
3217
+ "inFont": false
3218
+ }
3219
+ ];
3220
+ var fontIcons = icons.filter((i) => i.inFont);
3221
+ var svgIcons = icons.filter((i) => !i.inFont);
3222
+ function getIcon(name) {
3223
+ return icons.find((i) => i.name === name);
3224
+ }
3225
+ function getIconChar(name) {
3226
+ return icons.find((i) => i.name === name)?.unicode;
3227
+ }
3228
+ var iconCharMap = Object.fromEntries(
3229
+ icons.filter((i) => i.inFont && i.unicode).map((i) => [i.name, i.unicode])
3230
+ );
1529
3231
 
1530
3232
  // src/index.ts
1531
3233
  var raw3 = require_pollymorph();
@@ -1560,17 +3262,23 @@ var src_default = pollymorph;
1560
3262
  colorSidebarStroke,
1561
3263
  colorWhite,
1562
3264
  colorYellow,
3265
+ componentRules,
1563
3266
  fontFamilyBase,
1564
3267
  fontFamilyGrotesk,
1565
3268
  fontFamilyIcon,
1566
3269
  fontFamilyInter,
1567
3270
  fontFamilyJetbrains,
3271
+ fontIcons,
1568
3272
  fontWeightBold,
1569
3273
  fontWeightExtraThick,
1570
3274
  fontWeightMedium,
1571
3275
  fontWeightNormal,
1572
3276
  fontWeightSemiBold,
1573
3277
  fontWeightThick,
3278
+ getIcon,
3279
+ getIconChar,
3280
+ iconCharMap,
3281
+ icons,
1574
3282
  radius2xl,
1575
3283
  radiusFull,
1576
3284
  radiusLg,
@@ -1578,31 +3286,41 @@ var src_default = pollymorph;
1578
3286
  radiusNone,
1579
3287
  radiusSm,
1580
3288
  radiusXl,
1581
- ruleButtonPrimary,
1582
- ruleButtonSecondary,
3289
+ ruleBreadcrumb,
3290
+ ruleButton,
3291
+ ruleCLIColors,
1583
3292
  ruleCardBg,
1584
3293
  ruleCards,
3294
+ ruleChartColors,
3295
+ ruleCommentThread,
1585
3296
  ruleFontInter,
1586
3297
  ruleFontMixing,
1587
3298
  ruleFontMono,
1588
3299
  ruleFontSpaceGrotesk,
3300
+ ruleHoverCard,
1589
3301
  ruleInteractiveLinks,
3302
+ ruleModal,
1590
3303
  ruleMutedText,
1591
3304
  ruleNonBrandAccents,
1592
3305
  rulePageStructure,
1593
- rulePagination,
1594
3306
  rulePlatformSurface,
1595
3307
  rulePrimaryOrange,
1596
3308
  rulePrimaryPurple,
1597
- ruleSidebarActiveState,
3309
+ ruleSelection,
1598
3310
  ruleSidebarBg,
3311
+ ruleSidebarNav,
1599
3312
  ruleSidebarStroke,
3313
+ ruleSnackbar,
1600
3314
  ruleStatusBlue,
1601
3315
  ruleStatusGreen,
1602
3316
  ruleStatusRed,
1603
3317
  ruleStatusYellow,
3318
+ ruleTable,
1604
3319
  ruleTables,
1605
3320
  ruleTabs,
3321
+ ruleTag,
3322
+ ruleTextInput,
3323
+ ruleTooltip,
1606
3324
  rules,
1607
3325
  spacing0,
1608
3326
  spacing1,
@@ -1615,6 +3333,7 @@ var src_default = pollymorph;
1615
3333
  spacing5,
1616
3334
  spacing6,
1617
3335
  spacing8,
3336
+ svgIcons,
1618
3337
  tokens
1619
3338
  });
1620
3339
  //# sourceMappingURL=index.js.map