@primer/react 38.0.0-rc.7 → 38.0.0-rc.9

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 (98) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/ActionBar/ActionBar-3069d5f1.css +2 -0
  3. package/dist/ActionBar/ActionBar-3069d5f1.css.map +1 -0
  4. package/dist/ActionBar/ActionBar.d.ts +6 -0
  5. package/dist/ActionBar/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar/ActionBar.js +155 -129
  7. package/dist/ActionBar/ActionBar.module.css.js +1 -1
  8. package/dist/ActionList/Selection.js +1 -2
  9. package/dist/ActionMenu/ActionMenu-bb42318d.css +2 -0
  10. package/dist/ActionMenu/ActionMenu-bb42318d.css.map +1 -0
  11. package/dist/ActionMenu/ActionMenu.d.ts.map +1 -1
  12. package/dist/ActionMenu/ActionMenu.js +6 -0
  13. package/dist/ActionMenu/ActionMenu.module.css.js +1 -1
  14. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts +1 -1
  15. package/dist/AnchoredOverlay/AnchoredOverlay.d.ts.map +1 -1
  16. package/dist/Banner/Banner-c1744c4b.css +2 -0
  17. package/dist/Banner/Banner-c1744c4b.css.map +1 -0
  18. package/dist/Banner/Banner.d.ts +8 -0
  19. package/dist/Banner/Banner.d.ts.map +1 -1
  20. package/dist/Banner/Banner.js +2 -0
  21. package/dist/Banner/Banner.module.css.js +2 -2
  22. package/dist/Banner/index.d.ts +1 -0
  23. package/dist/Banner/index.d.ts.map +1 -1
  24. package/dist/Breadcrumbs/Breadcrumbs-dbfc9d95.css +2 -0
  25. package/dist/Breadcrumbs/Breadcrumbs-dbfc9d95.css.map +1 -0
  26. package/dist/Breadcrumbs/Breadcrumbs.module.css.js +1 -1
  27. package/dist/Button/ButtonBase-643c673a.css +2 -0
  28. package/dist/Button/ButtonBase-643c673a.css.map +1 -0
  29. package/dist/Button/ButtonBase.module.css.js +1 -1
  30. package/dist/Checkbox/Checkbox-edc5dc3e.css +2 -0
  31. package/dist/Checkbox/{Checkbox-2aef6693.css.map → Checkbox-edc5dc3e.css.map} +1 -1
  32. package/dist/Checkbox/Checkbox.module.css.js +1 -1
  33. package/dist/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -1
  34. package/dist/ConfirmationDialog/ConfirmationDialog.js +8 -24
  35. package/dist/Details/Details.d.ts.map +1 -1
  36. package/dist/Details/Details.js +19 -41
  37. package/dist/NavList/NavList.d.ts.map +1 -1
  38. package/dist/NavList/NavList.js +1 -1
  39. package/dist/Pagination/Pagination-16a5b4c6.css +2 -0
  40. package/dist/Pagination/Pagination-16a5b4c6.css.map +1 -0
  41. package/dist/Pagination/Pagination.d.ts.map +1 -1
  42. package/dist/Pagination/Pagination.js +16 -3
  43. package/dist/Pagination/Pagination.module.css.js +1 -1
  44. package/dist/ToggleSwitch/{ToggleSwitch-4b23d166.css → ToggleSwitch-d5c8dc81.css} +2 -2
  45. package/dist/ToggleSwitch/ToggleSwitch-d5c8dc81.css.map +1 -0
  46. package/dist/ToggleSwitch/ToggleSwitch.module.css.js +1 -1
  47. package/dist/Token/IssueLabelToken-a5fe569e.css +2 -0
  48. package/dist/Token/IssueLabelToken-a5fe569e.css.map +1 -0
  49. package/dist/Token/IssueLabelToken.d.ts.map +1 -1
  50. package/dist/Token/IssueLabelToken.js +0 -5
  51. package/dist/Token/IssueLabelToken.module.css.js +1 -1
  52. package/dist/Token/TokenBase-57c65c47.css +2 -0
  53. package/dist/Token/TokenBase-57c65c47.css.map +1 -0
  54. package/dist/Token/TokenBase.js +1 -7
  55. package/dist/Token/TokenBase.module.css.js +1 -1
  56. package/dist/Token/_RemoveTokenButton-c205593b.css +2 -0
  57. package/dist/Token/_RemoveTokenButton-c205593b.css.map +1 -0
  58. package/dist/Token/_RemoveTokenButton.d.ts.map +1 -1
  59. package/dist/Token/_RemoveTokenButton.js +3 -4
  60. package/dist/Token/_RemoveTokenButton.module.css.js +1 -1
  61. package/dist/experimental/IssueLabel/{IssueLabel-6581d1bd.css → IssueLabel-d9c2c5cf.css} +2 -2
  62. package/dist/experimental/IssueLabel/IssueLabel-d9c2c5cf.css.map +1 -0
  63. package/dist/experimental/IssueLabel/IssueLabel.d.ts.map +1 -1
  64. package/dist/experimental/IssueLabel/IssueLabel.js +52 -70
  65. package/dist/experimental/IssueLabel/IssueLabel.module.css.js +1 -1
  66. package/dist/experimental/IssueLabel/getColorFromHex.d.ts +1 -3
  67. package/dist/experimental/IssueLabel/getColorFromHex.d.ts.map +1 -1
  68. package/dist/experimental/IssueLabel/getColorFromHex.js +58 -26
  69. package/dist/index.d.ts +1 -5
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +0 -3
  72. package/dist/sx.d.ts +0 -2
  73. package/dist/sx.d.ts.map +1 -1
  74. package/generated/components.json +98 -150
  75. package/package.json +6 -6
  76. package/dist/ActionBar/ActionBar-e6a5d54e.css +0 -2
  77. package/dist/ActionBar/ActionBar-e6a5d54e.css.map +0 -1
  78. package/dist/ActionMenu/ActionMenu-5fe972e2.css +0 -2
  79. package/dist/ActionMenu/ActionMenu-5fe972e2.css.map +0 -1
  80. package/dist/Banner/Banner-459c533a.css +0 -2
  81. package/dist/Banner/Banner-459c533a.css.map +0 -1
  82. package/dist/Box/Box.js +0 -15
  83. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css +0 -2
  84. package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css.map +0 -1
  85. package/dist/Button/ButtonBase-0a7871f4.css +0 -2
  86. package/dist/Button/ButtonBase-0a7871f4.css.map +0 -1
  87. package/dist/Checkbox/Checkbox-2aef6693.css +0 -2
  88. package/dist/Pagination/Pagination-1845feaa.css +0 -2
  89. package/dist/Pagination/Pagination-1845feaa.css.map +0 -1
  90. package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css.map +0 -1
  91. package/dist/Token/IssueLabelToken-0dbbbcdf.css +0 -2
  92. package/dist/Token/IssueLabelToken-0dbbbcdf.css.map +0 -1
  93. package/dist/Token/TokenBase-0386597b.css +0 -2
  94. package/dist/Token/TokenBase-0386597b.css.map +0 -1
  95. package/dist/Token/_RemoveTokenButton-d7f5985b.css +0 -2
  96. package/dist/Token/_RemoveTokenButton-d7f5985b.css.map +0 -1
  97. package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css.map +0 -1
  98. package/dist/sx.js +0 -8
@@ -54,6 +54,13 @@
54
54
  "required": false,
55
55
  "description": "Custom className",
56
56
  "defaultValue": ""
57
+ },
58
+ {
59
+ "name": "gap",
60
+ "type": "'none' | 'condensed'",
61
+ "required": false,
62
+ "defaultValue": "'condensed'",
63
+ "description": "Horizontal gap scale between items (restricted to none or condensed)."
57
64
  }
58
65
  ],
59
66
  "subcomponents": [
@@ -1151,11 +1158,6 @@
1151
1158
  "required": false,
1152
1159
  "description": "URL of the avatar image.",
1153
1160
  "defaultValue": ""
1154
- },
1155
- {
1156
- "name": "sx",
1157
- "type": "SystemStyleObject",
1158
- "deprecated": true
1159
1161
  }
1160
1162
  ],
1161
1163
  "subcomponents": []
@@ -1359,6 +1361,11 @@
1359
1361
  "name": "layout",
1360
1362
  "type": "'default' | 'compact'",
1361
1363
  "description": "Specify the layout of the Banner. Compact layout will reduce the padding."
1364
+ },
1365
+ {
1366
+ "name": "actionsLayout",
1367
+ "type": "'default' | 'inline' | 'stacked'",
1368
+ "description": "Override the responsive layout of the action buttons. 'inline' layout will display the buttons inline with the title and description, while 'stacked' layout will always render the buttons in a new row."
1362
1369
  }
1363
1370
  ],
1364
1371
  "subcomponents": [
@@ -1549,11 +1556,6 @@
1549
1556
  "name": "as",
1550
1557
  "type": "React.ElementType",
1551
1558
  "defaultValue": "\"div\""
1552
- },
1553
- {
1554
- "name": "sx",
1555
- "type": "SystemStyleObject",
1556
- "deprecated": true
1557
1559
  }
1558
1560
  ],
1559
1561
  "subcomponents": []
@@ -1625,12 +1627,6 @@
1625
1627
  "required": false,
1626
1628
  "description": "How to handle overflow when breadcrumbs don't fit in the container. 'wrap' allows items to wrap to new lines. 'menu' collapses items into an overflow menu. 'menu-with-root' also collapses items into an overflow menu but includes the root (first) breadcrumb in the menu so only the last items remain visible.",
1627
1629
  "defaultValue": "'wrap'"
1628
- },
1629
- {
1630
- "name": "sx",
1631
- "type": "SystemStyleObject",
1632
- "deprecated": true,
1633
- "description": "System styles (deprecated, use CSS classes instead)"
1634
1630
  }
1635
1631
  ],
1636
1632
  "subcomponents": [
@@ -1670,11 +1666,6 @@
1670
1666
  "name": "as",
1671
1667
  "type": "React.ElementType",
1672
1668
  "defaultValue": "\"a\""
1673
- },
1674
- {
1675
- "name": "sx",
1676
- "type": "SystemStyleObject",
1677
- "deprecated": true
1678
1669
  }
1679
1670
  ],
1680
1671
  "passthrough": {
@@ -3183,23 +3174,12 @@
3183
3174
  {
3184
3175
  "name": "wide",
3185
3176
  "type": "boolean"
3186
- },
3187
- {
3188
- "name": "sx",
3189
- "type": "SystemStyleObject",
3190
- "deprecated": true
3191
3177
  }
3192
3178
  ],
3193
3179
  "subcomponents": [
3194
3180
  {
3195
3181
  "name": "Dialog.Header",
3196
- "props": [
3197
- {
3198
- "name": "sx",
3199
- "type": "SystemStyleObject",
3200
- "deprecated": true
3201
- }
3202
- ]
3182
+ "props": []
3203
3183
  }
3204
3184
  ]
3205
3185
  },
@@ -3930,7 +3910,76 @@
3930
3910
  "name": "NavList",
3931
3911
  "status": "alpha",
3932
3912
  "a11yReviewed": "2025-01-08",
3933
- "stories": [],
3913
+ "stories": [
3914
+ {
3915
+ "id": "components-navlist--default",
3916
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Item 1\n </NavList.Item>\n <NavList.Item href=\"#\">Item 2</NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3917
+ },
3918
+ {
3919
+ "id": "components-navlist-features--expand-with-custom-items",
3920
+ "code": "() => {\n const items: {\n href: string\n text: string\n 'aria-current'?: 'page'\n }[] = [\n {\n href: '#',\n text: 'Item 4',\n 'aria-current': 'page',\n },\n {\n href: '#',\n text: 'Item 5',\n },\n {\n href: '#',\n text: 'Item 6',\n },\n {\n href: '#',\n text: 'Item 7',\n },\n {\n href: '#',\n text: 'Item 8',\n },\n {\n href: '#',\n text: 'Item 9',\n },\n ]\n const Item = ({\n leadingVisual,\n text,\n trailingVisual,\n ...rest\n }: CustomItemProps) => {\n return (\n <NavList.Item key={text} onClick={() => {}} href=\"#\" {...rest}>\n {leadingVisual ? (\n <NavList.LeadingVisual>\n <Octicon icon={leadingVisual} />\n </NavList.LeadingVisual>\n ) : null}\n {text}\n\n {trailingVisual ? (\n <NavList.TrailingVisual>\n {typeof trailingVisual === 'string' ? (\n trailingVisual\n ) : (\n <Octicon icon={trailingVisual as React.ElementType} />\n )}\n <VisuallyHidden>results</VisuallyHidden>\n </NavList.TrailingVisual>\n ) : null}\n </NavList.Item>\n )\n }\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\">Item 1</NavList.Item>\n <NavList.Item href=\"#\">Item 2</NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n <NavList.GroupExpand\n label=\"Show more\"\n items={items}\n renderItem={Item}\n />\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n )\n}"
3921
+ },
3922
+ {
3923
+ "id": "components-navlist-features--expand-with-pages",
3924
+ "code": "() => {\n const items = [\n {\n href: '#',\n text: 'Item 4',\n },\n {\n href: '#',\n text: 'Item 5',\n },\n {\n href: '#',\n text: 'Item 6',\n },\n {\n href: '#',\n text: 'Item 7',\n },\n {\n href: '#',\n text: 'Item 8',\n },\n {\n href: '#',\n text: 'Item 9',\n },\n ]\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Item 1\n </NavList.Item>\n <NavList.Item href=\"#\">Item 2</NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n <NavList.GroupExpand pages={2} label=\"Show more\" items={items} />\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n )\n}"
3925
+ },
3926
+ {
3927
+ "id": "components-navlist-features--group-with-expand-and-custom-items",
3928
+ "code": "() => {\n const Item = ({\n leadingVisual: LeadingVisual,\n text,\n trailingVisual: TrailingVisual,\n ...rest\n }: CustomItemProps) => {\n return (\n <NavList.Item onClick={() => {}} href=\"#\" {...rest} key={text}>\n {LeadingVisual ? (\n <NavList.LeadingVisual>\n <LeadingVisual />\n </NavList.LeadingVisual>\n ) : null}\n {text}\n\n {TrailingVisual ? (\n <NavList.TrailingVisual>\n {typeof TrailingVisual === 'string' ? (\n TrailingVisual\n ) : (\n <TrailingVisual />\n )}\n <VisuallyHidden>results</VisuallyHidden>\n </NavList.TrailingVisual>\n ) : null}\n </NavList.Item>\n )\n }\n const items = [\n {\n href: '#',\n text: 'Commits',\n leadingVisual: GitCommitIcon,\n trailingVisual: '32k',\n },\n {\n href: '#',\n text: 'Packages',\n leadingVisual: PackageIcon,\n trailingVisual: '1k',\n },\n {\n href: '#',\n text: 'Wikis',\n leadingVisual: BookIcon,\n trailingVisual: '121',\n },\n {\n href: '#',\n text: 'Topics',\n leadingVisual: MilestoneIcon,\n trailingVisual: '12k',\n },\n {\n href: '#',\n text: 'Marketplace',\n leadingVisual: TelescopeIcon,\n trailingVisual: ArrowRightIcon,\n },\n ]\n return (\n <NavList>\n <NavList.Group>\n <NavList.Item aria-current=\"page\">\n <NavList.LeadingVisual>\n <CodeIcon />\n </NavList.LeadingVisual>\n Code\n <NavList.TrailingVisual>3k</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.Item>\n <NavList.LeadingVisual>\n <RepoIcon />\n </NavList.LeadingVisual>\n Repositories\n <NavList.TrailingVisual>713</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.Item>\n <NavList.LeadingVisual>\n <IssueOpenedIcon />\n </NavList.LeadingVisual>\n Issues\n <NavList.TrailingVisual>6k</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.Item>\n <NavList.LeadingVisual>\n <GitPullRequestIcon />\n </NavList.LeadingVisual>\n Pull requests\n <NavList.TrailingVisual>4k</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.Item>\n <NavList.LeadingVisual>\n <CommentDiscussionIcon />\n </NavList.LeadingVisual>\n Discussions\n <NavList.TrailingVisual>236</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.Item>\n <NavList.LeadingVisual>\n <PeopleIcon />\n </NavList.LeadingVisual>\n Users\n <NavList.TrailingVisual>10k</NavList.TrailingVisual>\n </NavList.Item>\n <NavList.GroupExpand items={items} renderItem={Item} />\n </NavList.Group>\n </NavList>\n )\n}"
3929
+ },
3930
+ {
3931
+ "id": "components-navlist-features--with-expand",
3932
+ "code": "() => {\n const items = [\n {\n href: '#',\n text: 'Item 4',\n },\n {\n href: '#',\n text: 'Item 5',\n },\n {\n href: '#',\n text: 'Item 6',\n },\n {\n href: '#',\n text: 'Item 7',\n },\n {\n href: '#',\n text: 'Item 8',\n },\n {\n href: '#',\n text: 'Item 9',\n },\n ]\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Item 1\n </NavList.Item>\n <NavList.Item href=\"#\">Item 2</NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n <NavList.GroupExpand label=\"Show more\" items={items} />\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n )\n}"
3933
+ },
3934
+ {
3935
+ "id": "components-navlist-features--with-expand-and-icons",
3936
+ "code": "() => {\n const items = [\n {\n href: '#',\n text: 'Item 4',\n },\n {\n href: '#',\n text: 'Item 5',\n },\n {\n href: '#',\n text: 'Item 6',\n },\n {\n href: '#',\n text: 'Item 7',\n },\n {\n href: '#',\n text: 'Item 8',\n },\n {\n href: '#',\n text: 'Item 9',\n },\n ]\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Item 1\n </NavList.Item>\n <NavList.Item href=\"#\">Item 2</NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n <NavList.GroupExpand label=\"Show more\" items={items} />\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n )\n}"
3937
+ },
3938
+ {
3939
+ "id": "components-navlist-features--with-group",
3940
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Group title=\"Group 1\">\n <NavList.Item aria-current=\"true\" href=\"#\">\n Item 1A\n </NavList.Item>\n <NavList.Item href=\"#\">Item 1B</NavList.Item>\n <NavList.Item href=\"#\">Item 1C</NavList.Item>\n </NavList.Group>\n <NavList.Group title=\"Group 2\">\n <NavList.Item href=\"#\">Item 2A</NavList.Item>\n <NavList.Item href=\"#\">Item 2B</NavList.Item>\n <NavList.Item href=\"#\">Item 2C</NavList.Item>\n </NavList.Group>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3941
+ },
3942
+ {
3943
+ "id": "components-navlist-features--with-group-expand",
3944
+ "code": "() => {\n const items1 = [\n {\n href: '#',\n text: 'Item 1D',\n },\n {\n href: '#',\n text: 'Item 1E',\n trailingAction: {\n label: 'Some action',\n icon: ArrowRightIcon,\n },\n },\n ]\n const items2 = [\n {\n href: '#',\n text: 'Item 2D',\n trailingVisual: BookIcon,\n },\n {\n href: '#',\n text: 'Item 2E',\n trailingVisual: FileDirectoryIcon,\n },\n ]\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Group title=\"Group 1\">\n <NavList.Item aria-current=\"true\" href=\"#\">\n Item 1A\n </NavList.Item>\n <NavList.Item href=\"#\">Item 1B</NavList.Item>\n <NavList.Item href=\"#\">Item 1C</NavList.Item>\n <NavList.GroupExpand label=\"More\" items={items1} />\n </NavList.Group>\n <NavList.Group title=\"Group 2\">\n <NavList.Item href=\"#\">Item 2A</NavList.Item>\n <NavList.Item href=\"#\">Item 2B</NavList.Item>\n <NavList.Item href=\"#\">Item 2C</NavList.Item>\n <NavList.GroupExpand label=\"Show\" items={items2} />\n </NavList.Group>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n )\n}"
3945
+ },
3946
+ {
3947
+ "id": "components-navlist-features--with-group-heading-links",
3948
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Group>\n <NavList.GroupHeading>\n <a href=\"#group-1\">Group 1</a>\n </NavList.GroupHeading>\n <NavList.Item aria-current=\"true\" href=\"#\">\n Item 1A\n </NavList.Item>\n <NavList.Item href=\"#\">Item 1B</NavList.Item>\n <NavList.Item href=\"#\">Item 1C</NavList.Item>\n </NavList.Group>\n <NavList.Group>\n <NavList.GroupHeading>\n <a href=\"#group-2\">Group 2</a>\n </NavList.GroupHeading>\n <NavList.Item href=\"#\">Item 2A</NavList.Item>\n <NavList.Item href=\"#\">Item 2B</NavList.Item>\n <NavList.Item href=\"#\">Item 2C</NavList.Item>\n </NavList.Group>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3949
+ },
3950
+ {
3951
+ "id": "components-navlist-features--with-inactive-items",
3952
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\" inactiveText=\"Unavailable due to an outage\">\n Item 1\n </NavList.Item>\n <NavList.Item>\n Item 2\n <NavList.SubNav>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Sub item 1\n </NavList.Item>\n <NavList.Item href=\"#\" inactiveText=\"Unavailable due to an outage\">\n Sub item 2\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3953
+ },
3954
+ {
3955
+ "id": "components-navlist-features--with-nested-sub-items",
3956
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item defaultOpen={true} href=\"#\">\n Item 1\n <NavList.SubNav>\n <NavList.Item href=\"#\">Sub item 1</NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">\n Item 2{/* NOTE: Don't nest SubNavs. For testing purposes only */}\n <NavList.SubNav>\n <NavList.Item href=\"#\">\n Sub item 1\n <NavList.SubNav>\n <NavList.Item href=\"#\">\n Sub item 1.1\n <NavList.SubNav>\n <NavList.Item href=\"#\">Sub item 1.1.1</NavList.Item>\n <NavList.Item href=\"#\">\n Sub item 1.1.2\n <NavList.SubNav>\n <NavList.Item href=\"#\">Sub item 1.1.2.1</NavList.Item>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Sub item 1.1.2.2\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">Sub item 1.2</NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">Sub item 2</NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3957
+ },
3958
+ {
3959
+ "id": "components-navlist-features--with-next-js-link",
3960
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NextJSLikeLink href=\"#\">\n <NavList.Item aria-current=\"page\">Item 1</NavList.Item>\n </NextJSLikeLink>\n <NextJSLikeLink href=\"#\">\n <NavList.Item>Item 2</NavList.Item>\n </NextJSLikeLink>\n <NextJSLikeLink href=\"#\">\n <NavList.Item>Item 3</NavList.Item>\n </NextJSLikeLink>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3961
+ },
3962
+ {
3963
+ "id": "components-navlist-features--with-react-router-link",
3964
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item as={ReactRouterLikeLink} to=\"#\" aria-current=\"page\">\n Item 1\n </NavList.Item>\n <NavList.Item as={ReactRouterLikeLink} to=\"#\">\n Item 2\n </NavList.Item>\n <NavList.Item as={ReactRouterLikeLink} to=\"#\">\n Item 3\n </NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3965
+ },
3966
+ {
3967
+ "id": "components-navlist-features--with-reloads",
3968
+ "code": "() => {\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc\n const location = window.location\n const storyId = new URLSearchParams(location.search).get('id')\n const urlBase = `${location.origin + location.pathname}?id=${storyId}`\n const itemId = new URLSearchParams(location.search).get('itemId')\n return (\n <>\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item\n href={`${urlBase}&itemId=1`}\n aria-current={itemId === '1' ? 'page' : 'false'}\n >\n Item 1\n </NavList.Item>\n <NavList.Item>\n Item 2\n <NavList.SubNav>\n <NavList.Item\n href={`${urlBase}&itemId=2.1`}\n aria-current={itemId === '2.1' ? 'page' : 'false'}\n >\n Sub item 2.1\n </NavList.Item>\n <NavList.Item\n href={`${urlBase}&itemId=2.2`}\n aria-current={itemId === '2.2' ? 'page' : 'false'}\n >\n Sub item 2.2\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item>\n Item 3\n <NavList.SubNav>\n <NavList.Item\n href={`${urlBase}&itemId=3.1`}\n aria-current={itemId === '3.1' ? 'page' : 'false'}\n >\n Sub item 3.1\n </NavList.Item>\n <NavList.Item\n href={`${urlBase}&itemId=3.2`}\n aria-current={itemId === '3.2' ? 'page' : 'false'}\n >\n Sub item 3.2\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n </>\n )\n}"
3969
+ },
3970
+ {
3971
+ "id": "components-navlist-features--with-sub-items",
3972
+ "code": "() => (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item href=\"#\">Item 1</NavList.Item>\n <NavList.Item>\n Item 2\n <NavList.SubNav>\n <NavList.Item href=\"#\" aria-current=\"page\">\n Sub item 1\n </NavList.Item>\n <NavList.Item href=\"#\">Sub item 2</NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n <NavList.Item href=\"#\">Item 3</NavList.Item>\n </NavList>\n </PageLayout.Pane>\n <PageLayout.Content></PageLayout.Content>\n </PageLayout>\n)"
3973
+ },
3974
+ {
3975
+ "id": "components-navlist-features--with-trailing-action",
3976
+ "code": "() => {\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item>\n <NavList.LeadingVisual>\n <FileDirectoryIcon />\n </NavList.LeadingVisual>\n Item 1\n <NavList.TrailingAction\n label=\"Expand sidebar\"\n icon={ArrowLeftIcon}\n />\n </NavList.Item>\n <NavList.Item>\n Item 2\n <NavList.TrailingAction\n as=\"a\"\n href=\"#\"\n label=\"Some action\"\n icon={ArrowRightIcon}\n />\n </NavList.Item>\n </NavList>\n </PageLayout.Pane>\n </PageLayout>\n )\n}"
3977
+ },
3978
+ {
3979
+ "id": "components-navlist-features--with-trailing-action-in-sub-item",
3980
+ "code": "() => {\n return (\n <PageLayout>\n <PageLayout.Pane position=\"start\">\n <NavList>\n <NavList.Item>\n <NavList.LeadingVisual>\n <FileDirectoryIcon />\n </NavList.LeadingVisual>\n Item 1\n <NavList.TrailingAction\n label=\"Expand sidebar\"\n icon={ArrowLeftIcon}\n />\n </NavList.Item>\n <NavList.Item>\n Item 2\n <NavList.TrailingAction\n as=\"a\"\n href=\"#\"\n label=\"Some action\"\n icon={ArrowRightIcon}\n />\n </NavList.Item>\n <NavList.Item>\n Item 3\n <NavList.SubNav>\n <NavList.Item href=\"#\">\n Sub item 1\n <NavList.TrailingAction\n label=\"Another action\"\n icon={BookIcon}\n />\n </NavList.Item>\n </NavList.SubNav>\n </NavList.Item>\n </NavList>\n </PageLayout.Pane>\n </PageLayout>\n )\n}"
3981
+ }
3982
+ ],
3934
3983
  "importPath": "@primer/react",
3935
3984
  "props": [
3936
3985
  {
@@ -4802,11 +4851,6 @@
4802
4851
  "type": "| 'none' | 'condensed' | 'normal'",
4803
4852
  "defaultValue": "'normal'",
4804
4853
  "description": ""
4805
- },
4806
- {
4807
- "name": "sx",
4808
- "type": "SystemStyleObject",
4809
- "deprecated": true
4810
4854
  }
4811
4855
  ],
4812
4856
  "subcomponents": [
@@ -4849,11 +4893,6 @@
4849
4893
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4850
4894
  "defaultValue": "false",
4851
4895
  "description": "Whether the header is hidden."
4852
- },
4853
- {
4854
- "name": "sx",
4855
- "type": "SystemStyleObject",
4856
- "deprecated": true
4857
4896
  }
4858
4897
  ]
4859
4898
  },
@@ -4872,6 +4911,12 @@
4872
4911
  "description": "An id to an element which uniquely labels the rendered main landmark",
4873
4912
  "defaultValue": ""
4874
4913
  },
4914
+ {
4915
+ "name": "as",
4916
+ "type": "React.ElementType",
4917
+ "defaultValue": "'main'",
4918
+ "description": "Change the root node to another HTML element or custom component."
4919
+ },
4875
4920
  {
4876
4921
  "name": "width",
4877
4922
  "type": "| 'full' | 'medium' | 'large' | 'xlarge'",
@@ -4889,11 +4934,6 @@
4889
4934
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
4890
4935
  "defaultValue": "false",
4891
4936
  "description": "Whether the content is hidden."
4892
- },
4893
- {
4894
- "name": "sx",
4895
- "type": "SystemStyleObject",
4896
- "deprecated": true
4897
4937
  }
4898
4938
  ]
4899
4939
  },
@@ -4977,11 +5017,6 @@
4977
5017
  "description": "Which side of the page the pane should be on. Can be changed for different viewport widths.",
4978
5018
  "defaultValue": ""
4979
5019
  },
4980
- {
4981
- "name": "sx",
4982
- "type": "SystemStyleObject",
4983
- "deprecated": true
4984
- },
4985
5020
  {
4986
5021
  "name": "ref",
4987
5022
  "type": "React.RefObject<HTMLDivElement>"
@@ -5027,11 +5062,6 @@
5027
5062
  "type": "| boolean | { narrow?: boolean regular?: boolean wide?: boolean }",
5028
5063
  "defaultValue": "false",
5029
5064
  "description": "Whether the footer is hidden."
5030
- },
5031
- {
5032
- "name": "sx",
5033
- "type": "SystemStyleObject",
5034
- "deprecated": true
5035
5065
  }
5036
5066
  ]
5037
5067
  }
@@ -5180,11 +5210,6 @@
5180
5210
  "type": "boolean",
5181
5211
  "defaultValue": "false",
5182
5212
  "description": "Set to true to render the popover using relative positioning."
5183
- },
5184
- {
5185
- "name": "sx",
5186
- "type": "SystemStyleObject",
5187
- "deprecated": true
5188
5213
  }
5189
5214
  ],
5190
5215
  "subcomponents": [
@@ -5197,11 +5222,6 @@
5197
5222
  "defaultValue": "div",
5198
5223
  "description": "Sets the underlying HTML tag for the component"
5199
5224
  },
5200
- {
5201
- "name": "sx",
5202
- "type": "SystemStyleObject",
5203
- "deprecated": true
5204
- },
5205
5225
  {
5206
5226
  "name": "width",
5207
5227
  "type": "| 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'auto'",
@@ -5343,11 +5363,6 @@
5343
5363
  "type": "string",
5344
5364
  "defaultValue": "'bg.successInverse'",
5345
5365
  "description": "Set the progress bar color"
5346
- },
5347
- {
5348
- "name": "sx",
5349
- "type": "SystemStyleObject",
5350
- "deprecated": true
5351
5366
  }
5352
5367
  ],
5353
5368
  "subcomponents": [
@@ -5371,11 +5386,6 @@
5371
5386
  "type": "string | number",
5372
5387
  "description": "Used to set the size of the green bar",
5373
5388
  "defaultValue": "0"
5374
- },
5375
- {
5376
- "name": "sx",
5377
- "type": "SystemStyleObject",
5378
- "deprecated": true
5379
5389
  }
5380
5390
  ]
5381
5391
  }
@@ -5528,11 +5538,6 @@
5528
5538
  "type": "boolean",
5529
5539
  "defaultValue": "false",
5530
5540
  "description": "If true, the user must make a selection before the owning form can be submitted"
5531
- },
5532
- {
5533
- "name": "sx",
5534
- "type": "SystemStyleObject",
5535
- "deprecated": true
5536
5541
  }
5537
5542
  ],
5538
5543
  "subcomponents": [
@@ -5555,11 +5560,6 @@
5555
5560
  "type": "React.ReactNode",
5556
5561
  "defaultValue": "",
5557
5562
  "description": "The caption content"
5558
- },
5559
- {
5560
- "name": "sx",
5561
- "type": "SystemStyleObject",
5562
- "deprecated": true
5563
5563
  }
5564
5564
  ]
5565
5565
  },
@@ -5578,11 +5578,6 @@
5578
5578
  "defaultValue": "",
5579
5579
  "required": true,
5580
5580
  "description": "Changes the visual style to match the validation status"
5581
- },
5582
- {
5583
- "name": "sx",
5584
- "type": "SystemStyleObject",
5585
- "deprecated": true
5586
5581
  }
5587
5582
  ]
5588
5583
  }
@@ -6548,6 +6543,12 @@
6548
6543
  "description": "An id to an element which uniquely labels the rendered main landmark",
6549
6544
  "defaultValue": ""
6550
6545
  },
6546
+ {
6547
+ "name": "as",
6548
+ "type": "React.ElementType",
6549
+ "defaultValue": "'main'",
6550
+ "description": "Change the root node to another HTML element or custom component."
6551
+ },
6551
6552
  {
6552
6553
  "name": "width",
6553
6554
  "type": "| 'full' | 'medium' | 'large' | 'xlarge'",
@@ -6924,11 +6925,6 @@
6924
6925
  "name": "aria-label",
6925
6926
  "type": "string",
6926
6927
  "description": "Used to set the `aria-label` on the top level `<nav>` element."
6927
- },
6928
- {
6929
- "name": "sx",
6930
- "type": "SystemStyleObject",
6931
- "deprecated": true
6932
6928
  }
6933
6929
  ],
6934
6930
  "subcomponents": [
@@ -6952,11 +6948,6 @@
6952
6948
  "name": "to",
6953
6949
  "type": "string | Partial<Path>",
6954
6950
  "description": "Used when the item is rendered using a component like React Router's `Link`. The path to navigate to."
6955
- },
6956
- {
6957
- "name": "sx",
6958
- "type": "SystemStyleObject",
6959
- "deprecated": true
6960
6951
  }
6961
6952
  ]
6962
6953
  }
@@ -7219,11 +7210,6 @@
7219
7210
  "deprecated": true,
7220
7211
  "description": "(Use leadingVisual or trailingVisual) An Octicon React component. To be used inside of input. Positioned on the left edge."
7221
7212
  },
7222
- {
7223
- "name": "sx",
7224
- "type": "SystemStyleObject",
7225
- "deprecated": true
7226
- },
7227
7213
  {
7228
7214
  "name": "ref",
7229
7215
  "type": "React.RefObject<HTMLInputElement>"
@@ -7266,11 +7252,6 @@
7266
7252
  "name": "as",
7267
7253
  "type": "React.ElementType",
7268
7254
  "defaultValue": "\"button\""
7269
- },
7270
- {
7271
- "name": "sx",
7272
- "type": "SystemStyleObject",
7273
- "deprecated": true
7274
7255
  }
7275
7256
  ],
7276
7257
  "passthrough": {
@@ -7546,11 +7527,6 @@
7546
7527
  "name": "clipSidebar",
7547
7528
  "type": "boolean",
7548
7529
  "description": "Hides the sidebar above the first Timeline.Item and below the last Timeline.Item."
7549
- },
7550
- {
7551
- "name": "sx",
7552
- "type": "SystemStyleObject",
7553
- "deprecated": true
7554
7530
  }
7555
7531
  ],
7556
7532
  "subcomponents": [
@@ -7561,43 +7537,20 @@
7561
7537
  "name": "condensed",
7562
7538
  "type": "boolean",
7563
7539
  "description": "Reduces vertical padding and removes background from an item's badge."
7564
- },
7565
- {
7566
- "name": "sx",
7567
- "type": "SystemStyleObject",
7568
- "deprecated": true
7569
7540
  }
7570
7541
  ]
7571
7542
  },
7572
7543
  {
7573
7544
  "name": "Timeline.Badge",
7574
- "props": [
7575
- {
7576
- "name": "sx",
7577
- "type": "SystemStyleObject",
7578
- "deprecated": true
7579
- }
7580
- ]
7545
+ "props": []
7581
7546
  },
7582
7547
  {
7583
7548
  "name": "Timeline.Body",
7584
- "props": [
7585
- {
7586
- "name": "sx",
7587
- "type": "SystemStyleObject",
7588
- "deprecated": true
7589
- }
7590
- ]
7549
+ "props": []
7591
7550
  },
7592
7551
  {
7593
7552
  "name": "Timeline.Break",
7594
- "props": [
7595
- {
7596
- "name": "sx",
7597
- "type": "SystemStyleObject",
7598
- "deprecated": true
7599
- }
7600
- ]
7553
+ "props": []
7601
7554
  }
7602
7555
  ]
7603
7556
  },
@@ -8302,11 +8255,6 @@
8302
8255
  "name": "as",
8303
8256
  "type": "React.ElementType",
8304
8257
  "defaultValue": "'div'"
8305
- },
8306
- {
8307
- "name": "sx",
8308
- "type": "SystemStyleObject",
8309
- "deprecated": true
8310
8258
  }
8311
8259
  ],
8312
8260
  "subcomponents": []
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@primer/react",
3
3
  "type": "module",
4
- "version": "38.0.0-rc.7",
4
+ "version": "38.0.0-rc.9",
5
5
  "description": "An implementation of GitHub's Primer Design System using React",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -118,11 +118,11 @@
118
118
  "@rollup/plugin-terser": "0.4.4",
119
119
  "@rollup/plugin-typescript": "12.1.4",
120
120
  "@rollup/plugin-virtual": "3.0.2",
121
- "@storybook/addon-a11y": "^9.1.8",
122
- "@storybook/addon-docs": "^9.1.8",
123
- "@storybook/addon-links": "^9.1.8",
121
+ "@storybook/addon-a11y": "^9.1.10",
122
+ "@storybook/addon-docs": "^9.1.10",
123
+ "@storybook/addon-links": "^9.1.10",
124
124
  "@storybook/icons": "^1.6.0",
125
- "@storybook/react-vite": "^9.1.8",
125
+ "@storybook/react-vite": "^9.1.10",
126
126
  "@testing-library/dom": "^10.4.0",
127
127
  "@testing-library/jest-dom": "^6.4.5",
128
128
  "@testing-library/react": "^16.3.0",
@@ -182,7 +182,7 @@
182
182
  "rollup-plugin-import-css": "^0.0.0",
183
183
  "rollup-plugin-postcss": "4.0.2",
184
184
  "rollup-plugin-visualizer": "6.0.3",
185
- "storybook": "^9.1.8",
185
+ "storybook": "^9.1.10",
186
186
  "styled-components": "5.3.11",
187
187
  "terser": "5.36.0",
188
188
  "ts-toolbelt": "9.6.0",
@@ -1,2 +0,0 @@
1
- .prc-ActionBar-List-Z4LzW{gap:var(--base-size-8,.5rem);list-style:none;margin-bottom:-1px;min-width:0;position:relative;white-space:nowrap}.prc-ActionBar-List-Z4LzW,.prc-ActionBar-Nav-hc-9G{align-items:center;display:flex}.prc-ActionBar-Nav-hc-9G{justify-content:flex-end;padding-inline:var(--base-size-16,1rem)}.prc-ActionBar-Nav-hc-9G:where([data-flush=true]){padding-inline:0}.prc-ActionBar-Divider-CcBO8:before{background:var(--borderColor-muted,var(--color-border-muted));content:"";display:block;height:var(--base-size-20,1.25rem);width:var(--borderWidth-thin,.0625rem)}
2
- /*# sourceMappingURL=ActionBar-e6a5d54e.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ActionBar/ActionBar.module.css"],"names":[],"mappings":"AAAA,0BAWE,4BAAuB,CAFvB,eAAgB,CAFhB,kBAAmB,CAJnB,WAAY,CAFZ,iBAAkB,CAOlB,kBAIF,CAEA,mDAJE,kBAAmB,CARnB,YAqBF,CATA,yBAGE,wBAAyB,CADzB,uCAOF,CAHE,kDACE,gBACF,CAIA,oCAME,6DAAoC,CAFpC,UAAW,CAHX,aAAc,CAEd,kCAA2B,CAD3B,sCAKF","file":"ActionBar-e6a5d54e.css","sourcesContent":[".List {\n position: relative;\n display: flex;\n min-width: 0;\n\n /* wonder why this is here */\n /* stylelint-disable-next-line primer/spacing */\n margin-bottom: -1px;\n white-space: nowrap;\n list-style: none;\n align-items: center;\n gap: var(--base-size-8);\n}\n\n.Nav {\n display: flex;\n padding-inline: var(--base-size-16);\n justify-content: flex-end;\n align-items: center;\n\n &:where([data-flush='true']) {\n padding-inline: 0;\n }\n}\n\n.Divider {\n &::before {\n display: block;\n width: var(--borderWidth-thin);\n height: var(--base-size-20);\n content: '';\n /* stylelint-disable-next-line primer/colors */\n background: var(--borderColor-muted);\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- .prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-variant=fullscreen]){padding-top:var(--base-size-36,2.25rem)}
2
- /*# sourceMappingURL=ActionMenu-5fe972e2.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ActionMenu/ActionMenu.module.css"],"names":[],"mappings":"AACE,2EACE,uCACF","file":"ActionMenu-5fe972e2.css","sourcesContent":[".ActionMenuContainer {\n &:where([data-variant='fullscreen']) {\n padding-top: var(--base-size-36);\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- .prc-Banner-Banner-IR8eJ{align-items:start;background-color:var(--banner-bgColor);border:var(--borderWidth-thin,.0625rem) solid var(--banner-borderColor);border-radius:var(--borderRadius-medium,.375rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:var(--base-size-8,.5rem)}@supports (container-type:inline-size){.prc-Banner-Banner-IR8eJ{container:banner/inline-size}}.prc-Banner-Banner-IR8eJ[data-layout=compact]{padding:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ[data-variant=critical]{--banner-bgColor:var(--bgColor-danger-muted,var(--color-danger-subtle));--banner-borderColor:var(--borderColor-danger-muted,var(--color-danger-muted));--banner-icon-fgColor:var(--fgColor-danger,var(--color-danger-fg))}.prc-Banner-Banner-IR8eJ[data-variant=info]{--banner-bgColor:var(--bgColor-accent-muted,var(--color-accent-subtle));--banner-borderColor:var(--borderColor-accent-muted,var(--color-accent-muted));--banner-icon-fgColor:var(--fgColor-accent,var(--color-accent-fg))}.prc-Banner-Banner-IR8eJ[data-variant=success]{--banner-bgColor:var(--bgColor-success-muted,var(--color-success-subtle));--banner-borderColor:var(--borderColor-success-muted,var(--color-success-muted));--banner-icon-fgColor:var(--fgColor-success,var(--color-success-fg))}.prc-Banner-Banner-IR8eJ[data-variant=upsell]{--banner-bgColor:var(--bgColor-upsell-muted,#fbefff);--banner-borderColor:var(--borderColor-upsell-muted,#c297ff66);--banner-icon-fgColor:var(--fgColor-upsell,#8250df)}.prc-Banner-Banner-IR8eJ[data-variant=warning]{--banner-bgColor:var(--bgColor-attention-muted,var(--color-attention-subtle));--banner-borderColor:var(--borderColor-attention-muted,var(--color-attention-muted));--banner-icon-fgColor:var(--fgColor-attention,var(--color-attention-fg))}.prc-Banner-BannerContainer-lbx3d{align-items:start;column-gap:var(--base-size-4,.25rem);font-size:var(--text-body-size-medium,.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);row-gap:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ :where(.prc-Banner-BannerContainer-lbx3d){display:flex;flex-wrap:wrap;justify-content:space-between}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden=""]) .prc-Banner-BannerContainer-lbx3d{display:grid;grid-template-columns:auto;grid-template-rows:auto}.prc-Banner-BannerContent-zTITK{display:grid;grid-column-start:1;margin-block:var(--base-size-8,.5rem);row-gap:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ[data-title-hidden]:not(:has(.prc-Banner-BannerActions-XCfHL)) .prc-Banner-BannerContent-zTITK{margin-block:var(--base-size-6,.375rem)}@media screen and (min-width:544px){.prc-Banner-BannerContent-zTITK{flex:1 1 0%}}.prc-Banner-BannerTitle-TcuJl{font-size:inherit;font-weight:var(--base-text-weight-semibold,600);margin:0}.prc-Banner-BannerIcon-WuOyf{display:grid;padding:var(--base-size-8,.5rem);place-items:center}.prc-Banner-BannerIcon-WuOyf svg{color:var(--banner-icon-fgColor);height:var(--base-size-20,1.25rem);fill:var(--banner-icon-fgColor)}.prc-Banner-Banner-IR8eJ[data-title-hidden]:not(:has(.prc-Banner-BannerActions-XCfHL)) .prc-Banner-BannerIcon-WuOyf svg{height:var(--base-size-16,1rem)}.prc-Banner-BannerDismiss-uBZVm{display:grid;margin-inline-start:var(--base-size-4,.25rem);padding:var(--base-size-8,.5rem);place-items:center}:where(.prc-Banner-Banner-IR8eJ):has(.prc-Banner-BannerActions-XCfHL) .prc-Banner-BannerDismiss-uBZVm{margin-block:var(--base-size-2,.125rem)}.prc-Banner-BannerDismiss-uBZVm svg{color:var(--banner-icon-fgColor)}.prc-Banner-BannerActionsContainer-ukGMH{align-items:center;column-gap:var(--base-size-12,.75rem);display:flex;margin-block:var(--base-size-2,.125rem)}.prc-Banner-BannerActions-XCfHL :where([data-primary-action=trailing]){display:none}@media screen and (min-width:48rem){.prc-Banner-BannerActions-XCfHL :where([data-primary-action=trailing]){display:flex}.prc-Banner-BannerActions-XCfHL :where([data-primary-action=leading]){display:none}}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden]) .prc-Banner-BannerActions-XCfHL{margin-block-end:var(--base-size-6,.375rem)}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden]) .prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=trailing]{display:none}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden]) .prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=leading]{display:flex}@container banner (max-width: 500px){.prc-Banner-BannerContainer-lbx3d{display:grid}.prc-Banner-BannerContainer-lbx3d:has(.prc-Banner-BannerActionsContainer-ukGMH){grid-template-rows:auto auto}.prc-Banner-BannerActions-XCfHL{margin-block-end:var(--base-size-6,.375rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=trailing]{display:none}.prc-Banner-BannerActions-XCfHL [data-primary-action=leading]{display:flex}}@container banner (min-width: 500px){.prc-Banner-BannerContainer-lbx3d{display:grid;grid-template-columns:auto auto}:where(.prc-Banner-Banner-IR8eJ):not([data-dismissible]) :where(.prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=trailing]) :where([data-variant=link]:only-child){padding-inline:0 var(--base-size-12,.75rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=trailing]{display:flex;min-height:var(--base-size-32,2rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=leading]{display:none}}
2
- /*# sourceMappingURL=Banner-459c533a.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Banner/Banner.module.css"],"names":[],"mappings":"AAAA,yBASE,iBAAkB,CALlB,sCAAuC,CAEvC,uEAA+D,CAC/D,gDAAyC,CANzC,YAAa,CAOb,6CAA+C,CAN/C,gCA8CF,CArCE,uCAXF,yBAYI,4BAoCJ,CAnCE,CAEA,8CACE,iCACF,CAEA,gDACE,uEAA6C,CAC7C,8EAAqD,CACrD,kEACF,CAEA,4CACE,uEAA6C,CAC7C,8EAAqD,CACrD,kEACF,CAEA,+CACE,yEAA8C,CAC9C,gFAAsD,CACtD,oEACF,CAEA,8CACE,oDAA6C,CAC7C,8DAAqD,CACrD,mDACF,CAEA,+CACE,6EAAgD,CAChD,oFAAwD,CACxD,wEACF,CAKF,kCAEE,iBAAkB,CAGlB,oCAA8B,CAJ9B,8CAAuC,CAEvC,qDAA+C,CAC/C,iCAEF,CAEA,mEACE,YAAa,CACb,cAAe,CACf,6BACF,CAEA,yGACE,YAAa,CACb,0BAA2B,CAC3B,uBACF,CAIA,gCACE,YAAa,CAEb,mBAAoB,CACpB,qCAAgC,CAFhC,iCAGF,CAEA,uHACE,uCACF,CAEA,oCACE,gCACE,WACF,CACF,CAEA,8BAEE,iBAAkB,CAClB,gDAA6C,CAF7C,QAGF,CAIA,6BACE,YAAa,CAEb,gCAA2B,CAD3B,kBAEF,CAEA,iCAIE,gCAAiC,CAFjC,kCAA2B,CAI3B,+BACF,CAGA,wHACE,+BACF,CAIA,gCACE,YAAa,CAGb,6CAAuC,CADvC,gCAA2B,CAD3B,kBAGF,CAEA,sGACE,uCACF,CAEA,oCAEE,gCACF,CAIA,yCAGE,kBAAmB,CADnB,qCAA+B,CAD/B,YAAa,CAGb,uCACF,CAEA,uEACE,YACF,CAEA,oCACE,uEACE,YACF,CAEA,sEACE,YACF,CACF,CAEA,oGACE,2CACF,CAGA,2IACE,YACF,CAGA,0IACE,YACF,CAIA,qCACE,kCACE,YACF,CAEA,gFACE,4BACF,CAEA,gCACE,2CACF,CAEA,+DACE,YACF,CAEA,8DACE,YACF,CACF,CAEA,qCACE,kCACE,YAAa,CACb,+BACF,CAEA,+KAGE,2CACF,CAEA,+DACE,YAAa,CACb,mCACF,CAEA,8DACE,YACF,CACF","file":"Banner-459c533a.css","sourcesContent":[".Banner {\n display: grid;\n padding: var(--base-size-8);\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--banner-bgColor);\n /* stylelint-disable-next-line primer/colors */\n border: var(--borderWidth-thin) solid var(--banner-borderColor);\n border-radius: var(--borderRadius-medium);\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: start;\n\n @supports (container-type: inline-size) {\n container: banner / inline-size;\n }\n\n &[data-layout='compact'] {\n padding: var(--base-size-4);\n }\n\n &[data-variant='critical'] {\n --banner-bgColor: var(--bgColor-danger-muted);\n --banner-borderColor: var(--borderColor-danger-muted);\n --banner-icon-fgColor: var(--fgColor-danger);\n }\n\n &[data-variant='info'] {\n --banner-bgColor: var(--bgColor-accent-muted);\n --banner-borderColor: var(--borderColor-accent-muted);\n --banner-icon-fgColor: var(--fgColor-accent);\n }\n\n &[data-variant='success'] {\n --banner-bgColor: var(--bgColor-success-muted);\n --banner-borderColor: var(--borderColor-success-muted);\n --banner-icon-fgColor: var(--fgColor-success);\n }\n\n &[data-variant='upsell'] {\n --banner-bgColor: var(--bgColor-upsell-muted);\n --banner-borderColor: var(--borderColor-upsell-muted);\n --banner-icon-fgColor: var(--fgColor-upsell);\n }\n\n &[data-variant='warning'] {\n --banner-bgColor: var(--bgColor-attention-muted);\n --banner-borderColor: var(--borderColor-attention-muted);\n --banner-icon-fgColor: var(--fgColor-attention);\n }\n}\n\n/* BannerContainer -------------------------------------------------------- */\n\n.BannerContainer {\n font-size: var(--text-body-size-medium);\n align-items: start;\n line-height: var(--text-body-lineHeight-medium);\n row-gap: var(--base-size-4);\n column-gap: var(--base-size-4);\n}\n\n.Banner :where(.BannerContainer) {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.Banner[data-dismissible]:not([data-title-hidden='']) .BannerContainer {\n display: grid;\n grid-template-columns: auto;\n grid-template-rows: auto;\n}\n\n/* BannerContent ---------------------------------------------------------- */\n\n.BannerContent {\n display: grid;\n row-gap: var(--base-size-4);\n grid-column-start: 1;\n margin-block: var(--base-size-8);\n}\n\n.Banner[data-title-hidden]:not(:has(.BannerActions)) .BannerContent {\n margin-block: var(--base-size-6);\n}\n\n@media screen and (min-width: 544px) {\n .BannerContent {\n flex: 1 1 0%;\n }\n}\n\n.BannerTitle {\n margin: 0;\n font-size: inherit;\n font-weight: var(--base-text-weight-semibold);\n}\n\n/* BannerIcon ------------------------------------------------------------- */\n\n.BannerIcon {\n display: grid;\n place-items: center;\n padding: var(--base-size-8);\n}\n\n.BannerIcon svg {\n /* 20px is the line box height of the trailing action buttons */\n height: var(--base-size-20);\n /* stylelint-disable-next-line primer/colors */\n color: var(--banner-icon-fgColor);\n /* stylelint-disable-next-line primer/colors */\n fill: var(--banner-icon-fgColor);\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-title-hidden]:not(:has(.BannerActions)) .BannerIcon svg {\n height: var(--base-size-16);\n}\n\n/* BannerDismiss ---------------------------------------------------------- */\n\n.BannerDismiss {\n display: grid;\n place-items: center;\n padding: var(--base-size-8);\n margin-inline-start: var(--base-size-4);\n}\n\n:where(.Banner):has(.BannerActions) .BannerDismiss {\n margin-block: var(--base-size-2);\n}\n\n.BannerDismiss svg {\n /* stylelint-disable-next-line primer/colors */\n color: var(--banner-icon-fgColor);\n}\n\n/* BannerActions ---------------------------------------------------------- */\n\n.BannerActionsContainer {\n display: flex;\n column-gap: var(--base-size-12);\n align-items: center;\n margin-block: var(--base-size-2);\n}\n\n.BannerActions :where([data-primary-action='trailing']) {\n display: none;\n}\n\n@media screen and (--viewportRange-regular) {\n .BannerActions :where([data-primary-action='trailing']) {\n display: flex;\n }\n\n .BannerActions :where([data-primary-action='leading']) {\n display: none;\n }\n}\n\n.Banner[data-dismissible]:not([data-title-hidden]) .BannerActions {\n margin-block-end: var(--base-size-6);\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-dismissible]:not([data-title-hidden]) .BannerActionsContainer[data-primary-action='trailing'] {\n display: none;\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-dismissible]:not([data-title-hidden]) .BannerActionsContainer[data-primary-action='leading'] {\n display: flex;\n}\n\n/* Layout ------------------------------------------------------------------- */\n\n@container banner (max-width: 500px) {\n .BannerContainer {\n display: grid;\n }\n\n .BannerContainer:has(.BannerActionsContainer) {\n grid-template-rows: auto auto;\n }\n\n .BannerActions {\n margin-block-end: var(--base-size-6);\n }\n\n .BannerActions [data-primary-action='trailing'] {\n display: none;\n }\n\n .BannerActions [data-primary-action='leading'] {\n display: flex;\n }\n}\n\n@container banner (min-width: 500px) {\n .BannerContainer {\n display: grid;\n grid-template-columns: auto auto;\n }\n\n :where(.Banner):not([data-dismissible])\n :where(.BannerActionsContainer[data-primary-action='trailing'])\n :where([data-variant='link']:only-child) {\n padding-inline: 0 var(--base-size-12);\n }\n\n .BannerActions [data-primary-action='trailing'] {\n display: flex;\n min-height: var(--base-size-32, 2rem);\n }\n\n .BannerActions [data-primary-action='leading'] {\n display: none;\n }\n}\n"]}
package/dist/Box/Box.js DELETED
@@ -1,15 +0,0 @@
1
- import styled from 'styled-components';
2
- import { space, color, typography, layout, flexbox, grid, background, border, position, shadow } from 'styled-system';
3
- import sx from '../sx.js';
4
-
5
- /**
6
- * @deprecated The Box component is deprecated. Replace with a `div` or
7
- * appropriate HTML element instead, with CSS modules for styling.
8
- * @see https://github.com/primer/react/blob/main/contributor-docs/migration-from-box.md
9
- */
10
- const Box = styled.div.withConfig({
11
- displayName: "Box",
12
- componentId: "sc-g0xbh4-0"
13
- })(space, color, typography, layout, flexbox, grid, background, border, position, shadow, sx);
14
-
15
- export { Box as default };
@@ -1,2 +0,0 @@
1
- .prc-Breadcrumbs-BreadcrumbsBase-6gqOz{display:flex;justify-content:space-between;width:100%}.prc-Breadcrumbs-BreadcrumbsList-K7eeK{margin-bottom:0;margin-top:0;padding-left:0}:is([data-overflow=menu],[data-overflow=menu-with-root]) .prc-Breadcrumbs-BreadcrumbsList-K7eeK{display:flex;flex-direction:row;white-space:nowrap}.prc-Breadcrumbs-ItemSeparator-nYObp{align-self:center;color:var(--fgColor-muted,var(--color-fg-muted));display:flex;justify-content:center;-webkit-user-select:none;user-select:none;white-space:nowrap}.prc-Breadcrumbs-ItemWrapper-Mfwuj{list-style:none}.prc-Breadcrumbs-ItemWrapper-Mfwuj,.prc-Breadcrumbs-ItemWrapper-Mfwuj:after{display:inline-block;font-size:var(--text-body-size-medium,.875rem)}.prc-Breadcrumbs-ItemWrapper-Mfwuj:after{border-right:.1em solid var(--fgColor-muted,var(--color-fg-muted));content:"";height:.8em;margin:0 .5em;transform:rotate(15deg) translateY(.0625em)}.prc-Breadcrumbs-ItemWrapper-Mfwuj:first-child{margin-left:0}.prc-Breadcrumbs-ItemWrapper-Mfwuj:last-child:after{content:none}.prc-Breadcrumbs-Item-7BKO-{display:inline-block;font-size:var(--text-body-size-medium,.875rem)}.prc-Breadcrumbs-Item-7BKO-:focus-visible{box-shadow:none;outline:2px solid var(--focus-outlineColor,var(--color-accent-fg));outline-offset:1px}[data-variant=normal] .prc-Breadcrumbs-Item-7BKO-{color:var(--fgColor-link,var(--color-accent-fg));-webkit-text-decoration:none;text-decoration:none}:is([data-variant=normal] .prc-Breadcrumbs-Item-7BKO-):not([aria-current]):hover{-webkit-text-decoration:underline;text-decoration:underline}:is([data-variant=normal] .prc-Breadcrumbs-Item-7BKO-):focus-visible{-webkit-text-decoration:none;text-decoration:none}[aria-current]:is([data-variant=normal] .prc-Breadcrumbs-Item-7BKO-){color:var(--fgColor-default,var(--color-fg-default))}[data-variant=spacious] .prc-Breadcrumbs-Item-7BKO-{border-radius:var(--borderRadius-medium,.375rem);color:var(--fgColor-default,var(--color-fg-default));padding-block:var(--base-size-4,.25rem);padding-inline:var(--base-size-6,.375rem);-webkit-text-decoration:none;text-decoration:none}:is([data-variant=spacious] .prc-Breadcrumbs-Item-7BKO-):hover{background:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg));-webkit-text-decoration:none;text-decoration:none}[aria-current]:is([data-variant=spacious] .prc-Breadcrumbs-Item-7BKO-){font-weight:var(--base-text-weight-semibold,600)}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr{align-items:center;display:inline-grid;flex:0 99999 auto;grid-auto-flow:column;list-style:none;min-width:auto;white-space:nowrap}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr:has(.prc-Breadcrumbs-MenuOverlay-aCOyl){white-space:normal}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr:first-child{margin-left:0}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr:last-child .prc-Breadcrumbs-ItemSeparator-nYObp{display:none}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr .prc-Breadcrumbs-MenuDetails-TXUai{display:inline-block;position:relative}:is(.prc-Breadcrumbs-BreadcrumbsItem-FHLFr .prc-Breadcrumbs-MenuDetails-TXUai) summary{cursor:pointer;list-style:none}:is(:is(.prc-Breadcrumbs-BreadcrumbsItem-FHLFr .prc-Breadcrumbs-MenuDetails-TXUai) summary)::-webkit-details-marker{display:none}.prc-Breadcrumbs-BreadcrumbsItem-FHLFr .prc-Breadcrumbs-MenuOverlay-aCOyl{background-color:var(--overlay-bgColor,var(--color-canvas-overlay));border-radius:var(--borderRadius-large,.75rem);box-shadow:var(--shadow-floating-small,var(--color-overlay-shadow));max-height:100vh;max-width:var(--overlay-width-small,20rem);min-width:var(--overlay-width-xsmall,12rem);overflow:hidden;position:absolute;top:calc(var(--overlay-offset,.25rem) + var(--control-small-size,1.75rem));z-index:1}@media (prefers-reduced-motion:no-preference){.prc-Breadcrumbs-BreadcrumbsItem-FHLFr .prc-Breadcrumbs-MenuOverlay-aCOyl{animation:prc-Breadcrumbs-overlay-appear-Ct2Xv .2s cubic-bezier(.33,1,.68,1)}}
2
- /*# sourceMappingURL=Breadcrumbs-7cbdf03c.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Breadcrumbs/Breadcrumbs.module.css","../../postcss-preset-primer/src/mixins/focusOutline.css"],"names":[],"mappings":"AAAA,uCACE,YAAa,CACb,6BAA8B,CAC9B,UACF,CAEA,uCAGE,eAAgB,CADhB,YAAa,CADb,cAGF,CAIE,gGAEE,YAAa,CACb,kBAAmB,CAFnB,kBAGF,CAGF,qCAGE,iBAAkB,CAFlB,gDAA2B,CAC3B,YAAa,CAEb,sBAAuB,CAEvB,wBAAiB,CAAjB,gBAAiB,CADjB,kBAEF,CAEA,mCAGE,eAuBF,CArBE,4EAJA,oBAAqB,CACrB,8CAaA,CAVA,yCAQE,kEAA8C,CAF9C,UAAW,CAJX,WAAa,CAEb,aAAe,CAKf,2CACF,CAEA,+CACE,aACF,CAGE,oDACE,YACF,CAIJ,4BACE,oBAAqB,CACrB,8CAKF,CAHE,0CC3DA,eAAgB,CAFhB,kEAAgC,CAChC,kBD8DA,CAIA,kDACE,gDAA0B,CAC1B,4BAAqB,CAArB,oBAeF,CAZI,iFACE,iCAA0B,CAA1B,yBACF,CAGF,qEACE,4BAAqB,CAArB,oBACF,CAEA,qEACE,oDACF,CAKF,oDAKE,gDAAyC,CAJzC,oDAA6B,CAG7B,uCAAiC,CADjC,yCAAkC,CADlC,4BAAqB,CAArB,oBAaF,CARE,+DACE,kGAAoD,CACpD,4BAAqB,CAArB,oBACF,CAEA,uEACE,gDACF,CAIJ,uCAGE,kBAAmB,CAFnB,mBAAoB,CAGpB,iBAAkB,CAFlB,qBAAsB,CAKtB,eAAgB,CAFhB,cAAe,CACf,kBAiDF,CA7CE,+EACE,kBACF,CAEA,mDACE,aACF,CAGE,uFACE,YACF,CAGF,0EAEE,oBAAqB,CADrB,iBAWF,CARE,uFAEE,cAAe,CADf,eAMF,CAHE,oHACE,YACF,CAIJ,0EAKE,mEAAwC,CADxC,8CAAwC,CADxC,mEAAwC,CAIxC,gBAAiB,CACjB,0CAAqC,CAFrC,2CAAsC,CAGtC,eAAgB,CARhB,iBAAkB,CAUlB,0EAA4D,CAT5D,SAcF,CAHE,8CAbF,0EAcI,4EAEJ,CADE","file":"Breadcrumbs-7cbdf03c.css","sourcesContent":[".BreadcrumbsBase {\n display: flex;\n justify-content: space-between;\n width: 100%;\n}\n\n.BreadcrumbsList {\n padding-left: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n[data-overflow='menu'],\n[data-overflow='menu-with-root'] {\n & .BreadcrumbsList {\n white-space: nowrap;\n display: flex;\n flex-direction: row;\n }\n}\n\n.ItemSeparator {\n color: var(--fgColor-muted);\n display: flex;\n align-self: center;\n justify-content: center;\n white-space: nowrap;\n user-select: none;\n}\n\n.ItemWrapper {\n display: inline-block;\n font-size: var(--text-body-size-medium);\n list-style: none;\n\n &::after {\n display: inline-block;\n height: 0.8em;\n /* stylelint-disable-next-line primer/spacing */\n margin: 0 0.5em;\n font-size: var(--text-body-size-medium);\n content: '';\n /* stylelint-disable-next-line primer/borders, primer/colors */\n border-right: 0.1em solid var(--fgColor-muted);\n transform: rotate(15deg) translateY(0.0625em);\n }\n\n &:first-child {\n margin-left: 0;\n }\n\n &:last-child {\n &::after {\n content: none;\n }\n }\n}\n\n.Item {\n display: inline-block;\n font-size: var(--text-body-size-medium);\n\n &:focus-visible {\n @mixin focusOutline 1px;\n }\n}\n\n[data-variant='normal'] {\n & .Item {\n color: var(--fgColor-link);\n text-decoration: none;\n\n &:not([aria-current]) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus-visible {\n text-decoration: none;\n }\n\n &[aria-current] {\n color: var(--fgColor-default);\n }\n }\n}\n\n[data-variant='spacious'] {\n & .Item {\n color: var(--fgColor-default);\n text-decoration: none;\n padding-inline: var(--base-size-6);\n padding-block: var(--base-size-4);\n border-radius: var(--borderRadius-medium);\n\n &:hover {\n background: var(--control-transparent-bgColor-hover);\n text-decoration: none;\n }\n\n &[aria-current] {\n font-weight: var(--base-text-weight-semibold);\n }\n }\n}\n\n.BreadcrumbsItem {\n display: inline-grid;\n grid-auto-flow: column;\n align-items: center;\n flex: 0 99999 auto;\n min-width: auto;\n white-space: nowrap;\n list-style: none;\n\n /* allow menu items to wrap line */\n &:has(.MenuOverlay) {\n white-space: normal;\n }\n\n &:first-child {\n margin-left: 0;\n }\n\n &:last-child {\n .ItemSeparator {\n display: none;\n }\n }\n\n .MenuDetails {\n position: relative;\n display: inline-block;\n\n & summary {\n list-style: none;\n cursor: pointer;\n\n &::-webkit-details-marker {\n display: none;\n }\n }\n }\n\n .MenuOverlay {\n position: absolute;\n z-index: 1;\n box-shadow: var(--shadow-floating-small);\n border-radius: var(--borderRadius-large);\n background-color: var(--overlay-bgColor);\n min-width: var(--overlay-width-xsmall);\n max-height: 100vh;\n max-width: var(--overlay-width-small);\n overflow: hidden;\n /* stylelint-disable-next-line primer/spacing */\n top: calc(var(--overlay-offset) + var(--control-small-size));\n\n @media (prefers-reduced-motion: no-preference) {\n animation: overlay-appear 200ms cubic-bezier(0.33, 1, 0.68, 1);\n }\n }\n}\n","@define-mixin focusOutline $outlineOffset: -2px, $outlineColor: var(--focus-outlineColor) {\n outline: 2px solid $outlineColor;\n outline-offset: $outlineOffset;\n box-shadow: none;\n}\n"]}