@primer/react-brand 0.75.0-rc.a3f7dbd6 → 0.75.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 (940) hide show
  1. package/docs/components/SubdomainNavBar/index.md +215 -86
  2. package/docs/index.md +2 -2
  3. package/esm/Accordion/Accordion.d.ts +2 -2
  4. package/esm/Accordion/Accordion.d.ts.map +1 -1
  5. package/esm/Accordion/Accordion.js +2 -2
  6. package/esm/Accordion/Accordion.js.map +1 -1
  7. package/esm/Accordion/Accordion.module.js +6 -5
  8. package/esm/ActionMenu/ActionMenu.d.ts +2 -2
  9. package/esm/ActionMenu/ActionMenu.js +3 -2
  10. package/esm/ActionMenu/ActionMenu.js.map +1 -1
  11. package/esm/ActionMenu/ActionMenu.module.js +7 -6
  12. package/esm/AnchorNav/AnchorNav.d.ts +4 -4
  13. package/esm/AnchorNav/AnchorNav.d.ts.map +1 -1
  14. package/esm/AnchorNav/AnchorNav.js +9 -4
  15. package/esm/AnchorNav/AnchorNav.js.map +1 -1
  16. package/esm/AnchorNav/AnchorNav.module.js +5 -4
  17. package/esm/AnchorNav/useExpandedMenu.js.map +1 -1
  18. package/esm/Avatar/Avatar.js +1 -1
  19. package/esm/Avatar/Avatar.js.map +1 -1
  20. package/esm/Avatar/Avatar.module.js +5 -4
  21. package/esm/Bento/Bento.d.ts +4 -4
  22. package/esm/Bento/Bento.js +1 -1
  23. package/esm/Bento/Bento.js.map +1 -1
  24. package/esm/Bento/Bento.module.js +7 -6
  25. package/esm/Box/Box.d.ts +1 -1
  26. package/esm/Box/Box.d.ts.map +1 -1
  27. package/esm/Box/Box.js +1 -1
  28. package/esm/Box/Box.js.map +1 -1
  29. package/esm/Breadcrumbs/Breadcrumbs.js +1 -1
  30. package/esm/Breadcrumbs/Breadcrumbs.js.map +1 -1
  31. package/esm/Breadcrumbs/Breadcrumbs.module.js +7 -6
  32. package/esm/BreakoutBanner/BreakoutBanner.js +1 -1
  33. package/esm/BreakoutBanner/BreakoutBanner.js.map +1 -1
  34. package/esm/BreakoutBanner/BreakoutBanner.module.js +5 -4
  35. package/esm/Button/Button.js +1 -1
  36. package/esm/Button/Button.js.map +1 -1
  37. package/esm/Button/Button.module.js +5 -4
  38. package/esm/ButtonGroup/ButtonGroup.js +1 -1
  39. package/esm/ButtonGroup/ButtonGroup.js.map +1 -1
  40. package/esm/ButtonGroup/ButtonGroup.module.js +3 -2
  41. package/esm/CTABanner/CTABanner.d.ts +1 -1
  42. package/esm/CTABanner/CTABanner.js +2 -2
  43. package/esm/CTABanner/CTABanner.js.map +1 -1
  44. package/esm/CTABanner/CTABanner.module.js +4 -3
  45. package/esm/CTAForm/CTAForm.js +1 -1
  46. package/esm/CTAForm/CTAForm.js.map +1 -1
  47. package/esm/CTAForm/CTAForm.module.js +4 -3
  48. package/esm/Card/Card.d.ts +2 -2
  49. package/esm/Card/Card.d.ts.map +1 -1
  50. package/esm/Card/Card.js +3 -3
  51. package/esm/Card/Card.js.map +1 -1
  52. package/esm/Card/Card.module.js +18 -17
  53. package/esm/ComparisonTable/ComparisonTable.d.ts +3 -3
  54. package/esm/ComparisonTable/ComparisonTable.js +1 -1
  55. package/esm/ComparisonTable/ComparisonTable.js.map +1 -1
  56. package/esm/ComparisonTable/ComparisonTable.module.js +4 -3
  57. package/esm/ExpandableArrow/ExpandableArrow.d.ts +2 -1
  58. package/esm/ExpandableArrow/ExpandableArrow.d.ts.map +1 -1
  59. package/esm/ExpandableArrow/ExpandableArrow.js +1 -1
  60. package/esm/ExpandableArrow/ExpandableArrow.js.map +1 -1
  61. package/esm/ExpandableArrow/ExpandableArrow.module.js +4 -3
  62. package/esm/EyebrowBanner/EyebrowBanner.js +2 -2
  63. package/esm/EyebrowBanner/EyebrowBanner.js.map +1 -1
  64. package/esm/EyebrowBanner/EyebrowBanner.module.js +12 -11
  65. package/esm/EyebrowText/EyebrowText.js +1 -1
  66. package/esm/EyebrowText/EyebrowText.js.map +1 -1
  67. package/esm/EyebrowText/EyebrowText.module.js +4 -3
  68. package/esm/FAQ/FAQ.d.ts +2 -2
  69. package/esm/FAQ/FAQ.d.ts.map +1 -1
  70. package/esm/FAQ/FAQ.js +1 -1
  71. package/esm/FAQ/FAQ.js.map +1 -1
  72. package/esm/FAQ/FAQ.module.js +7 -6
  73. package/esm/FAQ/FAQGroup.d.ts +2 -2
  74. package/esm/FAQ/FAQGroup.d.ts.map +1 -1
  75. package/esm/FAQ/FAQGroup.js +7 -3
  76. package/esm/FAQ/FAQGroup.js.map +1 -1
  77. package/esm/FAQ/FAQGroup.module.js +8 -7
  78. package/esm/Footnotes/Footnotes.d.ts +2 -2
  79. package/esm/Footnotes/Footnotes.d.ts.map +1 -1
  80. package/esm/Footnotes/Footnotes.js +2 -2
  81. package/esm/Footnotes/Footnotes.js.map +1 -1
  82. package/esm/Footnotes/Footnotes.module.js +7 -6
  83. package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
  84. package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts.map +1 -1
  85. package/esm/FrostedGlassVFX/FrostedGlassVFX.js +1 -1
  86. package/esm/FrostedGlassVFX/FrostedGlassVFX.js.map +1 -1
  87. package/esm/FrostedGlassVFX/FrostedGlassVFX.module.js +4 -3
  88. package/esm/Grid/Grid.d.ts +2 -2
  89. package/esm/Grid/Grid.js +2 -2
  90. package/esm/Grid/Grid.js.map +1 -1
  91. package/esm/Grid/Grid.module.js +5 -4
  92. package/esm/Heading/Heading.js +1 -1
  93. package/esm/Heading/Heading.js.map +1 -1
  94. package/esm/Heading/Heading.module.js +4 -3
  95. package/esm/Hero/Hero.js +1 -1
  96. package/esm/Hero/Hero.js.map +1 -1
  97. package/esm/Hero/Hero.module.js +4 -3
  98. package/esm/Hero/HeroContext.js.map +1 -1
  99. package/esm/Hero/sub-components/HeroButtonGroup.js +1 -1
  100. package/esm/Hero/sub-components/HeroButtonGroup.js.map +1 -1
  101. package/esm/Hero/sub-components/HeroDescription.js +1 -1
  102. package/esm/Hero/sub-components/HeroDescription.js.map +1 -1
  103. package/esm/Hero/sub-components/HeroEyebrow.js +1 -1
  104. package/esm/Hero/sub-components/HeroEyebrow.js.map +1 -1
  105. package/esm/Hero/sub-components/HeroHeading.js +1 -1
  106. package/esm/Hero/sub-components/HeroHeading.js.map +1 -1
  107. package/esm/Hero/sub-components/HeroImage.js +1 -1
  108. package/esm/Hero/sub-components/HeroImage.js.map +1 -1
  109. package/esm/Hero/sub-components/HeroLabel.js +1 -1
  110. package/esm/Hero/sub-components/HeroLabel.js.map +1 -1
  111. package/esm/Hero/sub-components/HeroPrimaryAction.js.map +1 -1
  112. package/esm/Hero/sub-components/HeroSecondaryAction.js.map +1 -1
  113. package/esm/Hero/sub-components/HeroVideo.js +2 -2
  114. package/esm/Hero/sub-components/HeroVideo.js.map +1 -1
  115. package/esm/IDE/IDE.d.ts +1 -1
  116. package/esm/IDE/IDE.js +3 -2
  117. package/esm/IDE/IDE.js.map +1 -1
  118. package/esm/IDE/IDE.module.js +8 -7
  119. package/esm/Icon/Icon.d.ts +2 -2
  120. package/esm/Icon/Icon.d.ts.map +1 -1
  121. package/esm/Icon/Icon.js +2 -2
  122. package/esm/Icon/Icon.js.map +1 -1
  123. package/esm/Icon/Icon.module.js +4 -3
  124. package/esm/Image/Image.d.ts +1 -1
  125. package/esm/Image/Image.d.ts.map +1 -1
  126. package/esm/Image/Image.js +1 -1
  127. package/esm/Image/Image.js.map +1 -1
  128. package/esm/Image/Image.module.js +5 -4
  129. package/esm/InlineCode/InlineCode.js +1 -1
  130. package/esm/InlineCode/InlineCode.js.map +1 -1
  131. package/esm/InlineCode/InlineCode.module.js +5 -4
  132. package/esm/InlineLink/InlineLink.js +2 -2
  133. package/esm/InlineLink/InlineLink.js.map +1 -1
  134. package/esm/InlineLink/InlineLink.module.js +3 -2
  135. package/esm/Label/Label.js +1 -1
  136. package/esm/Label/Label.js.map +1 -1
  137. package/esm/Label/Label.module.js +6 -5
  138. package/esm/Link/Link.d.ts +1 -1
  139. package/esm/Link/Link.d.ts.map +1 -1
  140. package/esm/Link/Link.js +2 -2
  141. package/esm/Link/Link.js.map +1 -1
  142. package/esm/Link/Link.module.js +4 -3
  143. package/esm/LogoSuite/LogoSuite.d.ts +1 -1
  144. package/esm/LogoSuite/LogoSuite.js +4 -3
  145. package/esm/LogoSuite/LogoSuite.js.map +1 -1
  146. package/esm/LogoSuite/LogoSuite.module.js +11 -10
  147. package/esm/MediaPlaylist/MediaPlaylist.d.ts +4 -4
  148. package/esm/MediaPlaylist/MediaPlaylist.d.ts.map +1 -1
  149. package/esm/MediaPlaylist/MediaPlaylist.js +1 -1
  150. package/esm/MediaPlaylist/MediaPlaylist.js.map +1 -1
  151. package/esm/MediaPlaylist/MediaPlaylist.module.js +25 -24
  152. package/esm/MediaPlaylist/useMediaPlaylist.js.map +1 -1
  153. package/esm/MinimalFooter/MinimalFooter.d.ts +3 -3
  154. package/esm/MinimalFooter/MinimalFooter.d.ts.map +1 -1
  155. package/esm/MinimalFooter/MinimalFooter.js +4 -3
  156. package/esm/MinimalFooter/MinimalFooter.js.map +1 -1
  157. package/esm/MinimalFooter/MinimalFooter.module.js +15 -14
  158. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js +2 -2
  159. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js.map +1 -1
  160. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.module.js +6 -5
  161. package/esm/MinimalVideoPlayer/useMinimalVideoPlayback.js.map +1 -1
  162. package/esm/NavList/NavList.js +2 -2
  163. package/esm/NavList/NavList.js.map +1 -1
  164. package/esm/NavList/NavList.module.js +18 -17
  165. package/esm/Pagination/Pagination.d.ts +1 -1
  166. package/esm/Pagination/Pagination.d.ts.map +1 -1
  167. package/esm/Pagination/Pagination.js +1 -1
  168. package/esm/Pagination/Pagination.js.map +1 -1
  169. package/esm/Pagination/Pagination.module.js +11 -10
  170. package/esm/Pagination/model.js.map +1 -1
  171. package/esm/Pillar/Pillar.d.ts +2 -2
  172. package/esm/Pillar/Pillar.d.ts.map +1 -1
  173. package/esm/Pillar/Pillar.js +1 -1
  174. package/esm/Pillar/Pillar.js.map +1 -1
  175. package/esm/Pillar/Pillar.module.js +9 -8
  176. package/esm/PricingOptions/PricingOptions.d.ts +1 -1
  177. package/esm/PricingOptions/PricingOptions.js +5 -3
  178. package/esm/PricingOptions/PricingOptions.js.map +1 -1
  179. package/esm/PricingOptions/PricingOptions.module.js +13 -12
  180. package/esm/Prose/Prose.js +1 -1
  181. package/esm/Prose/Prose.js.map +1 -1
  182. package/esm/Prose/Prose.module.js +4 -3
  183. package/esm/Section/Section.js +1 -1
  184. package/esm/Section/Section.js.map +1 -1
  185. package/esm/Section/Section.module.js +5 -4
  186. package/esm/SectionIntro/SectionIntro.js +1 -1
  187. package/esm/SectionIntro/SectionIntro.js.map +1 -1
  188. package/esm/SectionIntro/SectionIntro.module.js +4 -3
  189. package/esm/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
  190. package/esm/SectionIntroStacked/SectionIntroStacked.js +1 -1
  191. package/esm/SectionIntroStacked/SectionIntroStacked.js.map +1 -1
  192. package/esm/SectionIntroStacked/SectionIntroStacked.module.js +6 -5
  193. package/esm/Stack/Stack.js +1 -1
  194. package/esm/Stack/Stack.js.map +1 -1
  195. package/esm/Stack/Stack.module.js +4 -3
  196. package/esm/Statistic/Statistic.js +1 -1
  197. package/esm/Statistic/Statistic.js.map +1 -1
  198. package/esm/Statistic/Statistic.module.js +6 -5
  199. package/esm/SubNav/SubNav.d.ts +4 -4
  200. package/esm/SubNav/SubNav.d.ts.map +1 -1
  201. package/esm/SubNav/SubNav.js +6 -4
  202. package/esm/SubNav/SubNav.js.map +1 -1
  203. package/esm/SubNav/SubNav.module.js +9 -8
  204. package/esm/SubNav/useContainsFocus.js.map +1 -1
  205. package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
  206. package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts.map +1 -1
  207. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js +117 -64
  208. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js.map +1 -1
  209. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts +157 -20
  210. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts.map +1 -1
  211. package/esm/SubdomainNavBar/SubdomainNavBar.js +479 -299
  212. package/esm/SubdomainNavBar/SubdomainNavBar.js.map +1 -1
  213. package/esm/SubdomainNavBar/SubdomainNavBar.module-WIrpYyjV.css +1 -0
  214. package/esm/SubdomainNavBar/SubdomainNavBar.module.js +36 -11
  215. package/esm/SubdomainNavBar/SubdomainNavBar.module.js.map +1 -1
  216. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +9 -0
  217. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts.map +1 -0
  218. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js +10 -0
  219. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js.map +1 -0
  220. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +8 -0
  221. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts.map +1 -0
  222. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js +52 -0
  223. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js.map +1 -0
  224. package/esm/SubdomainNavBar/useSearchResults.d.ts +24 -0
  225. package/esm/SubdomainNavBar/useSearchResults.d.ts.map +1 -0
  226. package/esm/SubdomainNavBar/useSearchResults.js +57 -0
  227. package/esm/SubdomainNavBar/useSearchResults.js.map +1 -0
  228. package/esm/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
  229. package/esm/SubdomainNavBar/useVisibilityObserver.d.ts.map +1 -1
  230. package/esm/SubdomainNavBar/useVisibilityObserver.js +60 -23
  231. package/esm/SubdomainNavBar/useVisibilityObserver.js.map +1 -1
  232. package/esm/Tabs/Tabs.js +3 -2
  233. package/esm/Tabs/Tabs.js.map +1 -1
  234. package/esm/Tabs/Tabs.module.js +12 -11
  235. package/esm/Testimonial/Testimonial.d.ts +1 -1
  236. package/esm/Testimonial/Testimonial.d.ts.map +1 -1
  237. package/esm/Testimonial/Testimonial.js +1 -1
  238. package/esm/Testimonial/Testimonial.js.map +1 -1
  239. package/esm/Testimonial/Testimonial.module.js +8 -7
  240. package/esm/Text/Text.d.ts +1 -1
  241. package/esm/Text/Text.d.ts.map +1 -1
  242. package/esm/Text/Text.js +1 -1
  243. package/esm/Text/Text.js.map +1 -1
  244. package/esm/Text/Text.module.js +4 -3
  245. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts +1 -1
  246. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts.map +1 -1
  247. package/esm/TextCursorAnimation/TextCursorAnimation.js +1 -1
  248. package/esm/TextCursorAnimation/TextCursorAnimation.js.map +1 -1
  249. package/esm/TextCursorAnimation/TextCursorAnimation.module.js +10 -9
  250. package/esm/ThemeProvider/ThemeProvider.d.ts +1 -1
  251. package/esm/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  252. package/esm/ThemeProvider/ThemeProvider.js +4 -4
  253. package/esm/ThemeProvider/ThemeProvider.js.map +1 -1
  254. package/esm/ThemeProvider/useTheme.js.map +1 -1
  255. package/esm/Tiles/Tiles.js +2 -2
  256. package/esm/Tiles/Tiles.js.map +1 -1
  257. package/esm/Tiles/Tiles.module.js +4 -3
  258. package/esm/Timeline/Timeline.d.ts +3 -3
  259. package/esm/Timeline/Timeline.d.ts.map +1 -1
  260. package/esm/Timeline/Timeline.js +2 -2
  261. package/esm/Timeline/Timeline.js.map +1 -1
  262. package/esm/Timeline/Timeline.module.js +5 -4
  263. package/esm/Token/Token.js +1 -1
  264. package/esm/Token/Token.js.map +1 -1
  265. package/esm/Token/Token.module.js +6 -5
  266. package/esm/Tooltip/Tooltip.js +2 -2
  267. package/esm/Tooltip/Tooltip.js.map +1 -1
  268. package/esm/Tooltip/Tooltip.module.js +4 -3
  269. package/esm/VideoPlayer/VideoPlayer.d.ts +2 -2
  270. package/esm/VideoPlayer/VideoPlayer.js +2 -2
  271. package/esm/VideoPlayer/VideoPlayer.js.map +1 -1
  272. package/esm/VideoPlayer/VideoPlayer.module.js +29 -28
  273. package/esm/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
  274. package/esm/VideoPlayer/components/CCButton/CCButton.d.ts.map +1 -1
  275. package/esm/VideoPlayer/components/CCButton/CCButton.js +1 -1
  276. package/esm/VideoPlayer/components/CCButton/CCButton.js.map +1 -1
  277. package/esm/VideoPlayer/components/Captions/Captions.d.ts +2 -2
  278. package/esm/VideoPlayer/components/Captions/Captions.d.ts.map +1 -1
  279. package/esm/VideoPlayer/components/Captions/Captions.js +1 -1
  280. package/esm/VideoPlayer/components/Captions/Captions.js.map +1 -1
  281. package/esm/VideoPlayer/components/Captions/Captions.module.js +5 -4
  282. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
  283. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts.map +1 -1
  284. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js +1 -1
  285. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js.map +1 -1
  286. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
  287. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts.map +1 -1
  288. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js +2 -1
  289. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js.map +1 -1
  290. package/esm/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
  291. package/esm/VideoPlayer/components/IconControl/IconControl.d.ts.map +1 -1
  292. package/esm/VideoPlayer/components/IconControl/IconControl.js +1 -1
  293. package/esm/VideoPlayer/components/IconControl/IconControl.js.map +1 -1
  294. package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
  295. package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts.map +1 -1
  296. package/esm/VideoPlayer/components/MuteButton/MuteButton.js +2 -1
  297. package/esm/VideoPlayer/components/MuteButton/MuteButton.js.map +1 -1
  298. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
  299. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts.map +1 -1
  300. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.js.map +1 -1
  301. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
  302. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts.map +1 -1
  303. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.js.map +1 -1
  304. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
  305. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts.map +1 -1
  306. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.js.map +1 -1
  307. package/esm/VideoPlayer/components/Range/Range.d.ts +1 -1
  308. package/esm/VideoPlayer/components/Range/Range.d.ts.map +1 -1
  309. package/esm/VideoPlayer/components/Range/Range.js +1 -1
  310. package/esm/VideoPlayer/components/Range/Range.js.map +1 -1
  311. package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
  312. package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts.map +1 -1
  313. package/esm/VideoPlayer/components/SeekControl/SeekControl.js +1 -1
  314. package/esm/VideoPlayer/components/SeekControl/SeekControl.js.map +1 -1
  315. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
  316. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts.map +1 -1
  317. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js +3 -2
  318. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js.map +1 -1
  319. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
  320. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts.map +1 -1
  321. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.js.map +1 -1
  322. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.module.js +3 -2
  323. package/esm/VideoPlayer/hooks/useIsElementFullScreen.js.map +1 -1
  324. package/esm/VideoPlayer/hooks/useVideo.js.map +1 -1
  325. package/esm/VideoPlayer/hooks/useVideoResizeObserver.js.map +1 -1
  326. package/esm/animation/Animate/Animate.d.ts +1 -1
  327. package/esm/animation/Animate/Animate.d.ts.map +1 -1
  328. package/esm/animation/Animate/Animate.js +1 -1
  329. package/esm/animation/Animate/Animate.js.map +1 -1
  330. package/esm/animation/Animation.module.js +4 -3
  331. package/esm/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
  332. package/esm/animation/AnimationProvider/AnimationProvider.d.ts.map +1 -1
  333. package/esm/animation/AnimationProvider/AnimationProvider.js.map +1 -1
  334. package/esm/animation/TextRevealAnimation/TextRevealAnimation.js +1 -1
  335. package/esm/animation/TextRevealAnimation/TextRevealAnimation.js.map +1 -1
  336. package/esm/animation/TextRevealAnimation/TextRevealAnimation.module.js +5 -4
  337. package/esm/animation/TextRevealAnimation/useTextRevealAnimationLines.js.map +1 -1
  338. package/esm/animation/useAnimation.js.map +1 -1
  339. package/esm/component-helpers/shared.module.js +3 -2
  340. package/esm/component-helpers.d.ts +2 -2
  341. package/esm/component-helpers.d.ts.map +1 -1
  342. package/esm/constants.js.map +1 -1
  343. package/esm/css/stylesheets.js +1 -1
  344. package/esm/findElementInChildren.js.map +1 -1
  345. package/esm/forms/Checkbox/Checkbox.js +2 -2
  346. package/esm/forms/Checkbox/Checkbox.js.map +1 -1
  347. package/esm/forms/Checkbox/Checkbox.module.js +4 -3
  348. package/esm/forms/ControlGroup/ControlGroup.js +3 -2
  349. package/esm/forms/ControlGroup/ControlGroup.js.map +1 -1
  350. package/esm/forms/ControlGroup/ControlGroup.module.js +7 -6
  351. package/esm/forms/FormControl/FormControl.d.ts +5 -5
  352. package/esm/forms/FormControl/FormControl.d.ts.map +1 -1
  353. package/esm/forms/FormControl/FormControl.js +4 -3
  354. package/esm/forms/FormControl/FormControl.js.map +1 -1
  355. package/esm/forms/FormControl/FormControl.module.js +5 -4
  356. package/esm/forms/Radio/Radio.js +1 -1
  357. package/esm/forms/Radio/Radio.js.map +1 -1
  358. package/esm/forms/Radio/Radio.module.js +4 -3
  359. package/esm/forms/Select/Select.d.ts +2 -2
  360. package/esm/forms/Select/Select.js +1 -1
  361. package/esm/forms/Select/Select.js.map +1 -1
  362. package/esm/forms/Select/Select.module.js +4 -3
  363. package/esm/forms/TextInput/TextInput.js +1 -1
  364. package/esm/forms/TextInput/TextInput.js.map +1 -1
  365. package/esm/forms/TextInput/TextInput.module.js +5 -4
  366. package/esm/forms/Textarea/Textarea.js +1 -1
  367. package/esm/forms/Textarea/Textarea.js.map +1 -1
  368. package/esm/forms/Textarea/Textarea.module.js +4 -3
  369. package/esm/hooks/useAnchoredPosition.js +7 -4
  370. package/esm/hooks/useAnchoredPosition.js.map +1 -1
  371. package/esm/hooks/useCursorAnimation.js +4 -2
  372. package/esm/hooks/useCursorAnimation.js.map +1 -1
  373. package/esm/hooks/useFocusTrap.js.map +1 -1
  374. package/esm/hooks/useId.js.map +1 -1
  375. package/esm/hooks/useKeyboardEscape.js.map +1 -1
  376. package/esm/hooks/useOnClickOutside.js.map +1 -1
  377. package/esm/hooks/useReducedMotion.js +1 -1
  378. package/esm/hooks/useReducedMotion.js.map +1 -1
  379. package/esm/hooks/useRef.js.map +1 -1
  380. package/esm/hooks/useResizeObserver.js.map +1 -1
  381. package/esm/hooks/useTabs.js +1 -1
  382. package/esm/hooks/useTabs.js.map +1 -1
  383. package/esm/hooks/useWindowSize.js +7 -7
  384. package/esm/hooks/useWindowSize.js.map +1 -1
  385. package/esm/list/ListItem/ListItem.js +4 -2
  386. package/esm/list/ListItem/ListItem.js.map +1 -1
  387. package/esm/list/ListItem/ListItem.module.js +5 -4
  388. package/esm/list/OrderedList/OrderedList.d.ts +2 -2
  389. package/esm/list/OrderedList/OrderedList.d.ts.map +1 -1
  390. package/esm/list/OrderedList/OrderedList.js +1 -1
  391. package/esm/list/OrderedList/OrderedList.js.map +1 -1
  392. package/esm/list/OrderedList/OrderedList.module.js +3 -2
  393. package/esm/list/UnorderedList/UnorderedList.d.ts +2 -2
  394. package/esm/list/UnorderedList/UnorderedList.d.ts.map +1 -1
  395. package/esm/list/UnorderedList/UnorderedList.js +1 -1
  396. package/esm/list/UnorderedList/UnorderedList.js.map +1 -1
  397. package/esm/list/list-shared.module.js +3 -2
  398. package/esm/list/listContext.js.map +1 -1
  399. package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js +28 -0
  400. package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js.map +1 -0
  401. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js +20 -0
  402. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js.map +1 -0
  403. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js +20 -0
  404. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js.map +1 -0
  405. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js +28 -0
  406. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js.map +1 -0
  407. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js +20 -0
  408. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js.map +1 -0
  409. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js +28 -0
  410. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js.map +1 -0
  411. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js +28 -0
  412. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js.map +1 -0
  413. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js +28 -0
  414. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js.map +1 -0
  415. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js +28 -0
  416. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js.map +1 -0
  417. package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js +33 -0
  418. package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js.map +1 -0
  419. package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js +20 -0
  420. package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js.map +1 -0
  421. package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js +20 -0
  422. package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js.map +1 -0
  423. package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js +20 -0
  424. package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js.map +1 -0
  425. package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js +20 -0
  426. package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js.map +1 -0
  427. package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js +20 -0
  428. package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js.map +1 -0
  429. package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js +20 -0
  430. package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js.map +1 -0
  431. package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js +20 -0
  432. package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js.map +1 -0
  433. package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js +20 -0
  434. package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js.map +1 -0
  435. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js +20 -0
  436. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js.map +1 -0
  437. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js +20 -0
  438. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js.map +1 -0
  439. package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js +20 -0
  440. package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js.map +1 -0
  441. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js +20 -0
  442. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js.map +1 -0
  443. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js +20 -0
  444. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js.map +1 -0
  445. package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js +20 -0
  446. package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js.map +1 -0
  447. package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js +28 -0
  448. package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js.map +1 -0
  449. package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js +132 -0
  450. package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js.map +1 -0
  451. package/esm/node_modules/clsx/dist/clsx.js +1 -1
  452. package/esm/node_modules/clsx/dist/clsx.js.map +1 -1
  453. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-BGj0AiDW.css +1 -0
  454. package/esm/river/River/River.js +2 -2
  455. package/esm/river/River/River.js.map +1 -1
  456. package/esm/river/RiverAccordion/RiverAccordion.d.ts +4 -4
  457. package/esm/river/RiverAccordion/RiverAccordion.js +3 -2
  458. package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
  459. package/esm/river/RiverAccordion/RiverAccordion.module.js +16 -15
  460. package/esm/river/RiverBreakout/RiverBreakout.d.ts +1 -1
  461. package/esm/river/RiverBreakout/RiverBreakout.js +1 -1
  462. package/esm/river/RiverBreakout/RiverBreakout.js.map +1 -1
  463. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
  464. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js +2 -2
  465. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js.map +1 -1
  466. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.module.js +31 -30
  467. package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
  468. package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts.map +1 -1
  469. package/esm/river/RiverStoryScroll/RiverStoryScroll.js +5 -3
  470. package/esm/river/RiverStoryScroll/RiverStoryScroll.js.map +1 -1
  471. package/esm/river/RiverStoryScroll/RiverStoryScroll.module.js +8 -7
  472. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
  473. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts.map +1 -1
  474. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.js.map +1 -1
  475. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
  476. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts.map +1 -1
  477. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js +1 -1
  478. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js.map +1 -1
  479. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
  480. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts.map +1 -1
  481. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js +1 -1
  482. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js.map +1 -1
  483. package/esm/river/river-shared.module.js +13 -12
  484. package/esm/utils/getTextContent.js.map +1 -1
  485. package/esm/utils/isFragmentElement.js.map +1 -1
  486. package/lib/Accordion/Accordion.d.ts +2 -2
  487. package/lib/ActionMenu/ActionMenu.d.ts +2 -2
  488. package/lib/AnchorNav/AnchorNav.d.ts +4 -4
  489. package/lib/Bento/Bento.d.ts +4 -4
  490. package/lib/Box/Box.d.ts +1 -1
  491. package/lib/CTABanner/CTABanner.d.ts +1 -1
  492. package/lib/Card/Card.d.ts +2 -2
  493. package/lib/ComparisonTable/ComparisonTable.d.ts +3 -3
  494. package/lib/ExpandableArrow/ExpandableArrow.d.ts +2 -1
  495. package/lib/FAQ/FAQ.d.ts +2 -2
  496. package/lib/FAQ/FAQGroup.d.ts +2 -2
  497. package/lib/Footnotes/Footnotes.d.ts +2 -2
  498. package/lib/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
  499. package/lib/Grid/Grid.d.ts +2 -2
  500. package/lib/IDE/IDE.d.ts +1 -1
  501. package/lib/Icon/Icon.d.ts +2 -2
  502. package/lib/Image/Image.d.ts +1 -1
  503. package/lib/Link/Link.d.ts +1 -1
  504. package/lib/LogoSuite/LogoSuite.d.ts +1 -1
  505. package/lib/MediaPlaylist/MediaPlaylist.d.ts +4 -4
  506. package/lib/MinimalFooter/MinimalFooter.d.ts +3 -3
  507. package/lib/Pagination/Pagination.d.ts +1 -1
  508. package/lib/Pillar/Pillar.d.ts +2 -2
  509. package/lib/PricingOptions/PricingOptions.d.ts +1 -1
  510. package/lib/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
  511. package/lib/SubNav/SubNav.d.ts +4 -4
  512. package/lib/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
  513. package/lib/SubdomainNavBar/SubdomainNavBar.d.ts +157 -20
  514. package/lib/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +8 -0
  515. package/lib/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +7 -0
  516. package/lib/SubdomainNavBar/useSearchResults.d.ts +23 -0
  517. package/lib/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
  518. package/lib/Testimonial/Testimonial.d.ts +1 -1
  519. package/lib/Text/Text.d.ts +1 -1
  520. package/lib/TextCursorAnimation/TextCursorAnimation.d.ts +1 -1
  521. package/lib/ThemeProvider/ThemeProvider.d.ts +1 -1
  522. package/lib/Timeline/Timeline.d.ts +3 -3
  523. package/lib/VideoPlayer/VideoPlayer.d.ts +2 -2
  524. package/lib/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
  525. package/lib/VideoPlayer/components/Captions/Captions.d.ts +2 -2
  526. package/lib/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
  527. package/lib/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
  528. package/lib/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
  529. package/lib/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
  530. package/lib/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
  531. package/lib/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
  532. package/lib/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
  533. package/lib/VideoPlayer/components/Range/Range.d.ts +1 -1
  534. package/lib/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
  535. package/lib/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
  536. package/lib/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
  537. package/lib/animation/Animate/Animate.d.ts +1 -1
  538. package/lib/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
  539. package/lib/component-helpers.d.ts +2 -2
  540. package/lib/css/main.css +1390 -1056
  541. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  542. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  543. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  544. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  545. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  546. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  547. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  548. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  549. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  550. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  551. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  552. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  553. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  554. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  555. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  556. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  557. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  558. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  559. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  560. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  561. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  562. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  563. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  564. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  565. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  566. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  567. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  568. package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
  569. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  570. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  571. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  572. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  573. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  574. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  575. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  576. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  577. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  578. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  579. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  580. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  581. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  582. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
  583. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
  584. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  585. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  586. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  587. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  588. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  589. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  590. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  591. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  592. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  593. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  594. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
  595. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
  596. package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
  597. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  598. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  599. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  600. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  601. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  602. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  603. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  604. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  605. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  606. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  607. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  608. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  609. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +7 -1
  610. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  611. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  612. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  613. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +1 -1
  614. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  615. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  616. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +1 -1
  617. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +1 -1
  618. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +1 -1
  619. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  620. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  621. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  622. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  623. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  624. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  625. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  626. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  627. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  628. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  629. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  630. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  631. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  632. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  633. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  634. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  635. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  636. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  637. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  638. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  639. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  640. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  641. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  642. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  643. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  644. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  645. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  646. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  647. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  648. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  649. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  650. package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
  651. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  652. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  653. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  654. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  655. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  656. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  657. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  658. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  659. package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
  660. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  661. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  662. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  663. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  664. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  665. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  666. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
  667. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  668. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  669. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  670. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  671. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  672. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  673. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  674. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  675. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  676. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  677. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +1 -1
  678. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  679. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +1 -1
  680. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  681. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  682. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  683. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  684. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  685. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  686. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  687. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  688. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  689. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  690. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  691. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  692. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  693. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  694. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  695. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  696. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  697. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  698. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  699. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  700. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  701. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  702. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  703. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  704. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  705. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  706. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  707. package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
  708. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  709. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  710. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  711. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  712. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  713. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  714. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  715. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  716. package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
  717. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  718. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  719. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  720. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  721. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  722. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  723. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
  724. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  725. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  726. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  727. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  728. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  729. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  730. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  731. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  732. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  733. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  734. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +1 -1
  735. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  736. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +1 -1
  737. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  738. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  739. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  740. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  741. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  742. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  743. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  744. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  745. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  746. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  747. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  748. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  749. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  750. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  751. package/lib/design-tokens/json/colors.json +3 -0
  752. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  753. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  754. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  755. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  756. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  757. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  758. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  759. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  760. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  761. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  762. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  763. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  764. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  765. package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
  766. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  767. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  768. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  769. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  770. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  771. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  772. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  773. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  774. package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
  775. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  776. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  777. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  778. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  779. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  780. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  781. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
  782. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  783. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  784. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  785. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  786. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  787. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  788. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  789. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  790. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  791. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  792. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +1 -1
  793. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  794. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +1 -1
  795. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +1 -1
  796. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  797. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  798. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  799. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  800. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  801. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  802. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  803. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  804. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  805. package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
  806. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  807. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  808. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  809. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  810. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  811. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  812. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  813. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  814. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  815. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  816. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  817. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  818. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  819. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  820. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  821. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  822. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  823. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  824. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  825. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  826. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  827. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  828. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  829. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  830. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  831. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  832. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  833. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  834. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  835. package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
  836. package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
  837. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  838. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  839. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  840. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  841. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  842. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  843. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  844. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  845. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  846. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  847. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  848. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  849. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  850. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  851. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  852. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  853. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
  854. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
  855. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  856. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  857. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  858. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  859. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  860. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  861. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  862. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  863. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  864. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  865. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  866. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  867. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
  868. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
  869. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  870. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  871. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  872. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  873. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  874. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  875. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  876. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  877. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  878. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  879. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  880. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  881. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  882. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  883. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  884. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  885. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  886. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  887. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  888. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  889. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +1 -1
  890. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -1
  891. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  892. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  893. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +1 -1
  894. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +1 -1
  895. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +1 -1
  896. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  897. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  898. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  899. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  900. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  901. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  902. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  903. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  904. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  905. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  906. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  907. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  908. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  909. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  910. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  911. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  912. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  913. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  914. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  915. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  916. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  917. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  918. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  919. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  920. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  921. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  922. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  923. package/lib/forms/FormControl/FormControl.d.ts +5 -5
  924. package/lib/forms/Select/Select.d.ts +2 -2
  925. package/lib/index.js +1 -1
  926. package/lib/list/OrderedList/OrderedList.d.ts +2 -2
  927. package/lib/list/UnorderedList/UnorderedList.d.ts +2 -2
  928. package/lib/river/RiverAccordion/RiverAccordion.d.ts +4 -4
  929. package/lib/river/RiverBreakout/RiverBreakout.d.ts +1 -1
  930. package/lib/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
  931. package/lib/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
  932. package/lib/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
  933. package/lib/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
  934. package/lib/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
  935. package/llms.txt +2 -2
  936. package/package.json +24 -24
  937. package/esm/SubdomainNavBar/SubdomainNavBar.module-Rf4qEDka.css +0 -1
  938. package/esm/node_modules/@primer/octicons-react/dist/index.esm.js +0 -434
  939. package/esm/node_modules/@primer/octicons-react/dist/index.esm.js.map +0 -1
  940. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-ehJCoExh.css +0 -1
@@ -1,32 +1,33 @@
1
- import './NavList.module-zvpwnkzz.css';var e = {
2
- NavList: "Primer_Brand__NavList-module__NavList___tuR_C",
3
- NavList__list: "Primer_Brand__NavList-module__NavList__list___gwquf",
4
- NavList__subNav: "Primer_Brand__NavList-module__NavList__subNav___Q4xI7",
5
- NavList__groupList: "Primer_Brand__NavList-module__NavList__groupList___Mtk4a",
1
+ import './NavList.module-zvpwnkzz.css';//#region src/NavList/NavList.module.css
2
+ var e = "Primer_Brand__NavList-module__NavList___tuR_C", t = "Primer_Brand__NavList-module__NavList__list___gwquf", n = "Primer_Brand__NavList-module__NavList__subNav___Q4xI7", r = "Primer_Brand__NavList-module__NavList__groupList___Mtk4a", i = "Primer_Brand__NavList-module__NavList__item___HTVCC", a = "Primer_Brand__NavList-module__NavList__group___Jnwkd", o = "Primer_Brand__NavList-module__NavList__groupTitle___r47_e", s = "Primer_Brand__NavList-module__NavList__itemContent___bYaVR", c = "Primer_Brand__NavList-module__NavList__link___k0zio", l = "Primer_Brand__NavList-module__NavList__accordionButton___F5tOc", u = "Primer_Brand__NavList-module__NavList__labelArea___c4ORu", d = "Primer_Brand__NavList-module__NavList__label___ogBmt", f = "Primer_Brand__NavList-module__NavList__leadingVisual___KqRaq", p = "Primer_Brand__NavList-module__NavList__trailingVisual___BrZXI", m = "Primer_Brand__NavList-module__NavList__toggleIcon___nlJbF", h = {
3
+ NavList: e,
4
+ NavList__list: t,
5
+ NavList__subNav: n,
6
+ NavList__groupList: r,
6
7
  "NavList__list--flat": "Primer_Brand__NavList-module__NavList__list--flat___xvRQl",
7
8
  "NavList__item--leaf": "Primer_Brand__NavList-module__NavList__item--leaf___YFNSZ",
8
- NavList__item: "Primer_Brand__NavList-module__NavList__item___HTVCC",
9
- NavList__group: "Primer_Brand__NavList-module__NavList__group___Jnwkd",
10
- NavList__groupTitle: "Primer_Brand__NavList-module__NavList__groupTitle___r47_e",
11
- NavList__itemContent: "Primer_Brand__NavList-module__NavList__itemContent___bYaVR",
9
+ NavList__item: i,
10
+ NavList__group: a,
11
+ NavList__groupTitle: o,
12
+ NavList__itemContent: s,
12
13
  "NavList__item--level-2": "Primer_Brand__NavList-module__NavList__item--level-2___kXyLx",
13
14
  "NavList__item--level-3": "Primer_Brand__NavList-module__NavList__item--level-3___Z5uiQ",
14
15
  "NavList__item--level-4": "Primer_Brand__NavList-module__NavList__item--level-4___k3h0P",
15
16
  "NavList__item--level-5": "Primer_Brand__NavList-module__NavList__item--level-5___4mJ4N",
16
17
  "NavList__item--level-1": "Primer_Brand__NavList-module__NavList__item--level-1___gWx1n",
17
- NavList__link: "Primer_Brand__NavList-module__NavList__link___k0zio",
18
- NavList__accordionButton: "Primer_Brand__NavList-module__NavList__accordionButton___F5tOc",
19
- NavList__labelArea: "Primer_Brand__NavList-module__NavList__labelArea___c4ORu",
18
+ NavList__link: c,
19
+ NavList__accordionButton: l,
20
+ NavList__labelArea: u,
20
21
  "NavList__item--has-current-descendant": "Primer_Brand__NavList-module__NavList__item--has-current-descendant___JG7dQ",
21
22
  "NavList__link--disabled": "Primer_Brand__NavList-module__NavList__link--disabled___Eg304",
22
- NavList__label: "Primer_Brand__NavList-module__NavList__label___ogBmt",
23
- NavList__leadingVisual: "Primer_Brand__NavList-module__NavList__leadingVisual___KqRaq",
24
- NavList__trailingVisual: "Primer_Brand__NavList-module__NavList__trailingVisual___BrZXI",
25
- NavList__toggleIcon: "Primer_Brand__NavList-module__NavList__toggleIcon___nlJbF",
23
+ NavList__label: d,
24
+ NavList__leadingVisual: f,
25
+ NavList__trailingVisual: p,
26
+ NavList__toggleIcon: m,
26
27
  "NavList__subNav--expanded": "Primer_Brand__NavList-module__NavList__subNav--expanded___ap3X8",
27
28
  "NavList__item--expanded": "Primer_Brand__NavList-module__NavList__item--expanded___pH_PL"
28
29
  };
29
30
  //#endregion
30
- export { e as default };
31
+ export { e as NavList, l as NavList__accordionButton, a as NavList__group, r as NavList__groupList, o as NavList__groupTitle, i as NavList__item, s as NavList__itemContent, d as NavList__label, u as NavList__labelArea, f as NavList__leadingVisual, c as NavList__link, t as NavList__list, n as NavList__subNav, m as NavList__toggleIcon, p as NavList__trailingVisual, h as default };
31
32
 
32
33
  //# sourceMappingURL=NavList.module.js.map
@@ -23,5 +23,5 @@ export type PaginationProps = {
23
23
  * Use Pagination to display a sequence of links that allow navigation to discrete, related pages.
24
24
  * @see https://primer.style/brand/components/Pagination
25
25
  */
26
- export declare const Pagination: React.MemoExoticComponent<({ id, className, pageCount, currentPage, onPageChange, hrefBuilder, pageAttributesBuilder, marginPageCount, showPages, surroundingPageCount, labels, "aria-label": ariaLabel, "data-testid": testId, ...rest }: PaginationProps) => import("react/jsx-runtime").JSX.Element>;
26
+ export declare const Pagination: React.MemoExoticComponent<({ id, className, pageCount, currentPage, onPageChange, hrefBuilder, pageAttributesBuilder, marginPageCount, showPages, surroundingPageCount, labels, "aria-label": ariaLabel, "data-testid": testId, ...rest }: PaginationProps) => React.JSX.Element>;
27
27
  //# sourceMappingURL=Pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAM9C,OAAO,EAAuB,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAKhE,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAEnC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;IAElG,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;AAS1D;;;GAGG;AACH,eAAO,MAAM,UAAU,6OAgBlB,eAAe,6CAsEnB,CAAA"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAA;AAM9C,OAAO,EAAuB,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAKhE,MAAM,MAAM,eAAe,GAAG;IAE5B,SAAS,EAAE,MAAM,CAAA;IAEjB,WAAW,EAAE,MAAM,CAAA;IAEnB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAEvD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAEnC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK;QAAC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAA;IAElG,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAA;AAS1D;;;GAGG;AACH,eAAO,MAAM,UAAU,6OAgBlB,eAAe,uBAsEnB,CAAA"}
@@ -1,4 +1,4 @@
1
- import e from "../node_modules/clsx/dist/clsx.js";
1
+ import { clsx as e } from "../node_modules/clsx/dist/clsx.js";
2
2
  import { ExpandableArrow as t } from "../ExpandableArrow/ExpandableArrow.js";
3
3
  import { Button as n } from "../Button/Button.js";
4
4
  import { useWindowSize as r } from "../hooks/useWindowSize.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":[],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React, {memo, useCallback} from 'react'\nimport {Button, useWindowSize} from '..'\n\nimport {clsx} from 'clsx'\n\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {buildPaginationModel, PaginationPageType} from './model'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Pagination.module.css'\n\nexport type PaginationProps = {\n /* The total number of pages */\n pageCount: number\n /* The current page number */\n currentPage: number\n /* Callback function for when the page changes */\n onPageChange?: (e: React.MouseEvent, n: number) => void\n /* Function to build the href for each page */\n hrefBuilder?: (n: number) => string\n /* Function to forward custom attributes for each pagination item */\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[attributeName: string]: string}\n /* Defines how many pages are to be displayed on the left and right of the component */\n marginPageCount?: number\n /* Whether to show the page numbers */\n showPages?: boolean\n /* The number of pages to show on each side of the current page */\n surroundingPageCount?: number\n /* Custom text labels for the pagination controls. Use for localization. */\n labels?: {\n prev?: string\n next?: string\n prevAriaLabel?: string\n nextAriaLabel?: string\n }\n 'data-testid'?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>\n\nconst defaultPaginationLabels = {\n prev: 'Previous',\n next: 'Next',\n prevAriaLabel: 'Previous Page',\n nextAriaLabel: 'Next Page',\n}\n\n/**\n * Use Pagination to display a sequence of links that allow navigation to discrete, related pages.\n * @see https://primer.style/brand/components/Pagination\n */\nexport const Pagination = memo(\n ({\n id,\n className,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder = defaultHrefBuilder,\n pageAttributesBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n labels,\n 'aria-label': ariaLabel,\n 'data-testid': testId,\n ...rest\n }: PaginationProps) => {\n // On mobile, limit the number of visible numbers\n const {width} = useWindowSize()\n if (width && width < 768) {\n marginPageCount = 1\n surroundingPageCount = 0\n }\n\n const prevLabel = labels?.prev ?? defaultPaginationLabels.prev\n const nextLabel = labels?.next ?? defaultPaginationLabels.next\n const prevAriaLabel = labels?.prevAriaLabel ?? defaultPaginationLabels.prevAriaLabel\n const nextAriaLabel = labels?.nextAriaLabel ?? defaultPaginationLabels.nextAriaLabel\n\n const navRef = React.useRef<HTMLElement>(null)\n\n const pageChange = useCallback(\n (n: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n onPageChange(e, n)\n }\n },\n [onPageChange],\n )\n\n const paginationItems = React.useMemo(() => {\n const model = buildPaginationModel(pageCount, currentPage, showPages, marginPageCount, surroundingPageCount)\n\n return model.map(page => {\n return (\n <PaginationItem\n key={`${page.type}-${page.num}`}\n page={page}\n hrefBuilder={hrefBuilder}\n pageAttributesBuilder={pageAttributesBuilder}\n prevLabel={prevLabel}\n nextLabel={nextLabel}\n prevAriaLabel={prevAriaLabel}\n nextAriaLabel={nextAriaLabel}\n onClick={pageChange(page.num)}\n />\n )\n })\n }, [\n pageCount,\n currentPage,\n showPages,\n marginPageCount,\n surroundingPageCount,\n hrefBuilder,\n pageAttributesBuilder,\n prevLabel,\n nextLabel,\n prevAriaLabel,\n nextAriaLabel,\n pageChange,\n ])\n\n return (\n <nav\n ref={navRef}\n id={id}\n className={clsx(styles.Pagination, className)}\n data-testid={testId}\n aria-label={ariaLabel || 'Pagination'}\n {...rest}\n >\n <div className={clsx(styles.Pagination__inner)}>{paginationItems}</div>\n </nav>\n )\n },\n)\n\ntype PaginationItemProps = {\n page: PaginationPageType\n hrefBuilder: (n: number) => string\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[key: string]: string}\n prevLabel: string\n nextLabel: string\n prevAriaLabel: string\n nextAriaLabel: string\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nconst PaginationItem = ({\n page,\n hrefBuilder,\n pageAttributesBuilder,\n prevLabel,\n nextLabel,\n prevAriaLabel,\n nextAriaLabel,\n onClick,\n}: PaginationItemProps) => {\n const [isArrowExpanded, setIsArrowExpanded] = React.useState(false)\n\n const baseProps = {\n role: 'button',\n size: 'small' as const,\n variant: 'subtle' as const,\n onClick: page.disabled ? undefined : onClick,\n }\n\n const customProps = pageAttributesBuilder?.(page.num, page)\n const {className: customClassName, ...customAttributes} = customProps ?? {}\n\n switch (page.type) {\n case 'PREV': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"prev\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label={prevAriaLabel}\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span\n className={clsx(\n styles.Pagination__controlArrowWrapper,\n styles['Pagination__controlArrowWrapper--previous'],\n )}\n >\n <ExpandableArrow\n hidden\n reverse\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n <span className={styles.Pagination__controlText}>{prevLabel}</span>\n </span>\n </Button>\n )\n }\n case 'NEXT': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"next\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label={nextAriaLabel}\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span className={styles.Pagination__controlText}>{nextLabel}</span>\n <span\n className={clsx(styles.Pagination__controlArrowWrapper, styles['Pagination__controlArrowWrapper--next'])}\n >\n <ExpandableArrow\n hidden\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n </span>\n </Button>\n )\n }\n case 'NUM': {\n return (\n /**\n * Append \"...\" to the aria-label for pages that precede a break because screen readers will change the\n * tone the text is read in. This is a slightly nicer experience than skipping a bunch of numbers unexpectedly.\n */\n <Button\n {...baseProps}\n as=\"a\"\n variant={page.selected ? 'primary' : 'subtle'}\n className={clsx(styles.Pagination__pageItem, customClassName)}\n href={hrefBuilder(page.num)}\n aria-label={`Page ${page.num}${page.precedesBreak ? '...' : ''}`}\n aria-current={page.selected ? 'page' : undefined}\n {...customAttributes}\n >\n {page.num}\n </Button>\n )\n }\n case 'BREAK': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n className={clsx(styles.Pagination__pageItem, customClassName)}\n variant=\"subtle\"\n role=\"presentation\"\n href={undefined}\n onClick={undefined}\n {...customAttributes}\n >\n …\n </Button>\n )\n }\n }\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","names":[],"sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React, {memo, useCallback} from 'react'\nimport {Button, useWindowSize} from '..'\n\nimport {clsx} from 'clsx'\n\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {buildPaginationModel, PaginationPageType} from './model'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Pagination.module.css'\n\nexport type PaginationProps = {\n /* The total number of pages */\n pageCount: number\n /* The current page number */\n currentPage: number\n /* Callback function for when the page changes */\n onPageChange?: (e: React.MouseEvent, n: number) => void\n /* Function to build the href for each page */\n hrefBuilder?: (n: number) => string\n /* Function to forward custom attributes for each pagination item */\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[attributeName: string]: string}\n /* Defines how many pages are to be displayed on the left and right of the component */\n marginPageCount?: number\n /* Whether to show the page numbers */\n showPages?: boolean\n /* The number of pages to show on each side of the current page */\n surroundingPageCount?: number\n /* Custom text labels for the pagination controls. Use for localization. */\n labels?: {\n prev?: string\n next?: string\n prevAriaLabel?: string\n nextAriaLabel?: string\n }\n 'data-testid'?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>\n\nconst defaultPaginationLabels = {\n prev: 'Previous',\n next: 'Next',\n prevAriaLabel: 'Previous Page',\n nextAriaLabel: 'Next Page',\n}\n\n/**\n * Use Pagination to display a sequence of links that allow navigation to discrete, related pages.\n * @see https://primer.style/brand/components/Pagination\n */\nexport const Pagination = memo(\n ({\n id,\n className,\n pageCount,\n currentPage,\n onPageChange,\n hrefBuilder = defaultHrefBuilder,\n pageAttributesBuilder,\n marginPageCount = 1,\n showPages = true,\n surroundingPageCount = 2,\n labels,\n 'aria-label': ariaLabel,\n 'data-testid': testId,\n ...rest\n }: PaginationProps) => {\n // On mobile, limit the number of visible numbers\n const {width} = useWindowSize()\n if (width && width < 768) {\n marginPageCount = 1\n surroundingPageCount = 0\n }\n\n const prevLabel = labels?.prev ?? defaultPaginationLabels.prev\n const nextLabel = labels?.next ?? defaultPaginationLabels.next\n const prevAriaLabel = labels?.prevAriaLabel ?? defaultPaginationLabels.prevAriaLabel\n const nextAriaLabel = labels?.nextAriaLabel ?? defaultPaginationLabels.nextAriaLabel\n\n const navRef = React.useRef<HTMLElement>(null)\n\n const pageChange = useCallback(\n (n: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n onPageChange(e, n)\n }\n },\n [onPageChange],\n )\n\n const paginationItems = React.useMemo(() => {\n const model = buildPaginationModel(pageCount, currentPage, showPages, marginPageCount, surroundingPageCount)\n\n return model.map(page => {\n return (\n <PaginationItem\n key={`${page.type}-${page.num}`}\n page={page}\n hrefBuilder={hrefBuilder}\n pageAttributesBuilder={pageAttributesBuilder}\n prevLabel={prevLabel}\n nextLabel={nextLabel}\n prevAriaLabel={prevAriaLabel}\n nextAriaLabel={nextAriaLabel}\n onClick={pageChange(page.num)}\n />\n )\n })\n }, [\n pageCount,\n currentPage,\n showPages,\n marginPageCount,\n surroundingPageCount,\n hrefBuilder,\n pageAttributesBuilder,\n prevLabel,\n nextLabel,\n prevAriaLabel,\n nextAriaLabel,\n pageChange,\n ])\n\n return (\n <nav\n ref={navRef}\n id={id}\n className={clsx(styles.Pagination, className)}\n data-testid={testId}\n aria-label={ariaLabel || 'Pagination'}\n {...rest}\n >\n <div className={clsx(styles.Pagination__inner)}>{paginationItems}</div>\n </nav>\n )\n },\n)\n\ntype PaginationItemProps = {\n page: PaginationPageType\n hrefBuilder: (n: number) => string\n pageAttributesBuilder?: (n: number, page: PaginationPageType) => {[key: string]: string}\n prevLabel: string\n nextLabel: string\n prevAriaLabel: string\n nextAriaLabel: string\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nconst PaginationItem = ({\n page,\n hrefBuilder,\n pageAttributesBuilder,\n prevLabel,\n nextLabel,\n prevAriaLabel,\n nextAriaLabel,\n onClick,\n}: PaginationItemProps) => {\n const [isArrowExpanded, setIsArrowExpanded] = React.useState(false)\n\n const baseProps = {\n role: 'button',\n size: 'small' as const,\n variant: 'subtle' as const,\n onClick: page.disabled ? undefined : onClick,\n }\n\n const customProps = pageAttributesBuilder?.(page.num, page)\n const {className: customClassName, ...customAttributes} = customProps ?? {}\n\n switch (page.type) {\n case 'PREV': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"prev\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label={prevAriaLabel}\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span\n className={clsx(\n styles.Pagination__controlArrowWrapper,\n styles['Pagination__controlArrowWrapper--previous'],\n )}\n >\n <ExpandableArrow\n hidden\n reverse\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n <span className={styles.Pagination__controlText}>{prevLabel}</span>\n </span>\n </Button>\n )\n }\n case 'NEXT': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n rel=\"next\"\n href={page.disabled ? undefined : hrefBuilder(page.num)}\n aria-disabled={page.disabled || undefined}\n aria-label={nextAriaLabel}\n {...customAttributes}\n className={clsx(styles.Pagination__controlItem, customClassName)}\n onMouseEnter={() => setIsArrowExpanded(true)}\n onMouseLeave={() => setIsArrowExpanded(false)}\n onFocus={() => setIsArrowExpanded(true)}\n onBlur={() => setIsArrowExpanded(false)}\n >\n <span className={styles.Pagination__controlContent}>\n <span className={styles.Pagination__controlText}>{nextLabel}</span>\n <span\n className={clsx(styles.Pagination__controlArrowWrapper, styles['Pagination__controlArrowWrapper--next'])}\n >\n <ExpandableArrow\n hidden\n expanded={!page.disabled && isArrowExpanded}\n className={styles.Pagination__controlArrow}\n />\n </span>\n </span>\n </Button>\n )\n }\n case 'NUM': {\n return (\n /**\n * Append \"...\" to the aria-label for pages that precede a break because screen readers will change the\n * tone the text is read in. This is a slightly nicer experience than skipping a bunch of numbers unexpectedly.\n */\n <Button\n {...baseProps}\n as=\"a\"\n variant={page.selected ? 'primary' : 'subtle'}\n className={clsx(styles.Pagination__pageItem, customClassName)}\n href={hrefBuilder(page.num)}\n aria-label={`Page ${page.num}${page.precedesBreak ? '...' : ''}`}\n aria-current={page.selected ? 'page' : undefined}\n {...customAttributes}\n >\n {page.num}\n </Button>\n )\n }\n case 'BREAK': {\n return (\n <Button\n {...baseProps}\n as=\"a\"\n className={clsx(styles.Pagination__pageItem, customClassName)}\n variant=\"subtle\"\n role=\"presentation\"\n href={undefined}\n onClick={undefined}\n {...customAttributes}\n >\n …\n </Button>\n )\n }\n }\n}\n\nfunction defaultHrefBuilder(pageNum: number) {\n return `#${pageNum}`\n}\n"],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- import './Pagination.module-DmKBSq7s.css';var e = {
2
- Pagination: "Primer_Brand__Pagination-module__Pagination___kfPR3",
3
- Pagination__inner: "Primer_Brand__Pagination-module__Pagination__inner___uSIJu",
4
- Pagination__pageItem: "Primer_Brand__Pagination-module__Pagination__pageItem___4j6vp",
5
- Pagination__controlContent: "Primer_Brand__Pagination-module__Pagination__controlContent___VU4Qm",
6
- Pagination__controlArrowWrapper: "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___0Q_Ku",
1
+ import './Pagination.module-DmKBSq7s.css';//#region src/Pagination/Pagination.module.css
2
+ var e = "Primer_Brand__Pagination-module__Pagination___kfPR3", t = "Primer_Brand__Pagination-module__Pagination__inner___uSIJu", n = "Primer_Brand__Pagination-module__Pagination__pageItem___4j6vp", r = "Primer_Brand__Pagination-module__Pagination__controlContent___VU4Qm", i = "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper___0Q_Ku", a = "Primer_Brand__Pagination-module__Pagination__controlArrow___RwrzD", o = "Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt", s = "Primer_Brand__Pagination-module__Pagination__controlText___S6XdE", c = {
3
+ Pagination: e,
4
+ Pagination__inner: t,
5
+ Pagination__pageItem: n,
6
+ Pagination__controlContent: r,
7
+ Pagination__controlArrowWrapper: i,
7
8
  "Pagination__controlArrowWrapper--previous": "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--previous____zTeS",
8
9
  "Pagination__controlArrowWrapper--next": "Primer_Brand__Pagination-module__Pagination__controlArrowWrapper--next___KhVzs",
9
- Pagination__controlArrow: "Primer_Brand__Pagination-module__Pagination__controlArrow___RwrzD",
10
- Pagination__controlItem: "Primer_Brand__Pagination-module__Pagination__controlItem___zNWUt",
11
- Pagination__controlText: "Primer_Brand__Pagination-module__Pagination__controlText___S6XdE"
10
+ Pagination__controlArrow: a,
11
+ Pagination__controlItem: o,
12
+ Pagination__controlText: s
12
13
  };
13
14
  //#endregion
14
- export { e as default };
15
+ export { e as Pagination, a as Pagination__controlArrow, i as Pagination__controlArrowWrapper, r as Pagination__controlContent, o as Pagination__controlItem, s as Pagination__controlText, t as Pagination__inner, n as Pagination__pageItem, c as default };
15
16
 
16
17
  //# sourceMappingURL=Pagination.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","names":[],"sources":["../../src/Pagination/model.ts"],"sourcesContent":["export type PaginationPageType = {\n type: 'PREV' | 'NEXT' | 'NUM' | 'BREAK'\n num: number\n disabled?: boolean\n selected?: boolean\n precedesBreak?: boolean\n}\n\nexport function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number,\n): PaginationPageType[] {\n const pages: PaginationPageType[] = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n const last = sorted[idx - 1]\n const next = sorted[idx + 1]\n const lastDelta = num - last\n const nextDelta = num - next\n const precedesBreak = nextDelta !== -1\n\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1,\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n if (lastDelta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1,\n })\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak: false,\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount,\n })\n }\n }\n\n const prev: PaginationPageType = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next: PaginationPageType = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACsB;CACtB,IAAM,IAA8B,EAAE;AAEtC,KAAI,GAAW;EACb,IAAM,IAA0B,EAAE,EAC5B,KAAW,MAAc;AAC7B,GAAI,KAAK,KAAK,KAAK,KACjB,EAAS,KAAK,EAAE;KAMhB,IAAa,IAAc,GAC3B,IAAc,IAAc;AAChC,MAAI,IAAa,KAAK,IAAc,EAIlC,CADA,IAAa,GACb,IAAc;WACL,IAAa,EACtB,QAAO,IAAa,GAElB,CADA,KACA;WAEO,IAAc,EACvB,QAAO,IAAc,GAEnB,CADA,KACA;AAOJ,OAAK,IAAI,IAAI,GAAG,KAAK,GAAiB,KAAK;GACzC,IAAM,IAAW,GACX,IAAY,KAAa,IAAI;AAMnC,GALI,KAAY,IACd,MAEA,EAAQ,EAAS,EAEf,KAAa,IACf,MAEA,EAAQ,EAAU;;AAItB,OAAK,IAAI,IAAI,GAAY,KAAK,GAAa,IACzC,GAAQ,EAAE;EAGZ,IAAM,IAAS,EACZ,OAAO,CACP,MAAM,GAAG,MAAM,IAAI,EAAE,CACrB,QAAQ,GAAM,GAAK,MAAQ,CAAC,KAAO,MAAS,EAAI,IAAM,GAAG;AAC5D,OAAK,IAAI,IAAM,GAAG,IAAM,EAAO,QAAQ,KAAO;GAC5C,IAAM,IAAM,EAAO,IACb,IAAW,MAAQ,GACnB,IAAO,EAAO,IAAM,IACpB,IAAO,EAAO,IAAM,IACpB,IAAY,IAAM,GAElB,IADY,IAAM,MACY;AAEpC,GAAI,MAAQ,KACN,MAAQ,KAGV,EAAM,KAAK;IACT,MAAM;IACN,KAAK;IACN,CAAC,EAEJ,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAEE,MAAc,IAChB,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;IACD,CAAC,IAGF,EAAM,KAAK;IACT,MAAM;IACN,KAAK,IAAM;IACZ,CAAC,EACF,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA,eAAe;IAChB,CAAC;;EAKR,IAAM,IAAW,EAAM,EAAM,SAAS;AACtC,EAAI,EAAS,SAAS,SAAS,EAAS,QAAQ,KAG9C,EAAM,KAAK;GACT,MAAM;GACN,KAAK;GACN,CAAC;;CAIN,IAAM,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAE,EAC5F,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;EAAU;AAC1G,QAAO;EAAC;EAAM,GAAG;EAAO;EAAK"}
1
+ {"version":3,"file":"model.js","names":[],"sources":["../../src/Pagination/model.ts"],"sourcesContent":["export type PaginationPageType = {\n type: 'PREV' | 'NEXT' | 'NUM' | 'BREAK'\n num: number\n disabled?: boolean\n selected?: boolean\n precedesBreak?: boolean\n}\n\nexport function buildPaginationModel(\n pageCount: number,\n currentPage: number,\n showPages: boolean,\n marginPageCount: number,\n surroundingPageCount: number,\n): PaginationPageType[] {\n const pages: PaginationPageType[] = []\n\n if (showPages) {\n const pageNums: Array<number> = []\n const addPage = (n: number) => {\n if (n >= 1 && n <= pageCount) {\n pageNums.push(n)\n }\n }\n\n // Start by defining the window of pages to show around the current page.\n // If the window goes off either edge, shift it until it fits.\n let extentLeft = currentPage - surroundingPageCount\n let extentRight = currentPage + surroundingPageCount\n if (extentLeft < 1 && extentRight > pageCount) {\n // Our window is larger than the entire range,\n // so simply display every page.\n extentLeft = 1\n extentRight = pageCount\n } else if (extentLeft < 1) {\n while (extentLeft < 1) {\n extentLeft++\n extentRight++\n }\n } else if (extentRight > pageCount) {\n while (extentRight > pageCount) {\n extentLeft--\n extentRight--\n }\n }\n\n // Next, include the pages in the margins.\n // If a margin page is already covered in the window,\n // extend the window to the other direction.\n for (let i = 1; i <= marginPageCount; i++) {\n const leftPage = i\n const rightPage = pageCount - (i - 1)\n if (leftPage >= extentLeft) {\n extentRight++\n } else {\n addPage(leftPage)\n }\n if (rightPage <= extentRight) {\n extentLeft--\n } else {\n addPage(rightPage)\n }\n }\n\n for (let i = extentLeft; i <= extentRight; i++) {\n addPage(i)\n }\n\n const sorted = pageNums\n .slice()\n .sort((a, b) => a - b)\n .filter((item, idx, ary) => !idx || item !== ary[idx - 1])\n for (let idx = 0; idx < sorted.length; idx++) {\n const num = sorted[idx]\n const selected = num === currentPage\n const last = sorted[idx - 1]\n const next = sorted[idx + 1]\n const lastDelta = num - last\n const nextDelta = num - next\n const precedesBreak = nextDelta !== -1\n\n if (idx === 0) {\n if (num !== 1) {\n // If the first page isn't page one,\n // we need to add a break\n pages.push({\n type: 'BREAK',\n num: 1,\n })\n }\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n if (lastDelta === 1) {\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak,\n })\n } else {\n // We skipped some, so add a break\n pages.push({\n type: 'BREAK',\n num: num - 1,\n })\n pages.push({\n type: 'NUM',\n num,\n selected,\n precedesBreak: false,\n })\n }\n }\n }\n\n const lastPage = pages[pages.length - 1]\n if (lastPage.type === 'NUM' && lastPage.num !== pageCount) {\n // The last page we rendered wasn't the actual last page,\n // so we need an additional break\n pages.push({\n type: 'BREAK',\n num: pageCount,\n })\n }\n }\n\n const prev: PaginationPageType = {type: 'PREV', num: currentPage - 1, disabled: currentPage === 1}\n const next: PaginationPageType = {type: 'NEXT', num: currentPage + 1, disabled: currentPage === pageCount}\n return [prev, ...pages, next]\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACsB;CACtB,IAAM,IAA8B,CAAC;CAErC,IAAI,GAAW;EACb,IAAM,IAA0B,CAAC,GAC3B,KAAW,MAAc;GAC7B,AAAI,KAAK,KAAK,KAAK,KACjB,EAAS,KAAK,CAAC;EAEnB,GAII,IAAa,IAAc,GAC3B,IAAc,IAAc;EAChC,IAAI,IAAa,KAAK,IAAc,GAIlC,AADA,IAAa,GACb,IAAc;OACT,IAAI,IAAa,GACtB,OAAO,IAAa,IAElB,AADA,KACA;OAEG,IAAI,IAAc,GACvB,OAAO,IAAc,IAEnB,AADA,KACA;EAOJ,KAAK,IAAI,IAAI,GAAG,KAAK,GAAiB,KAAK;GACzC,IAAM,IAAW,GACX,IAAY,KAAa,IAAI;GAMnC,AALI,KAAY,IACd,MAEA,EAAQ,CAAQ,GAEd,KAAa,IACf,MAEA,EAAQ,CAAS;EAErB;EAEA,KAAK,IAAI,IAAI,GAAY,KAAK,GAAa,KACzC,EAAQ,CAAC;EAGX,IAAM,IAAS,EACZ,MAAM,CAAC,CACP,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACrB,QAAQ,GAAM,GAAK,MAAQ,CAAC,KAAO,MAAS,EAAI,IAAM,EAAE;EAC3D,KAAK,IAAI,IAAM,GAAG,IAAM,EAAO,QAAQ,KAAO;GAC5C,IAAM,IAAM,EAAO,IACb,IAAW,MAAQ,GACnB,IAAO,EAAO,IAAM,IACpB,IAAO,EAAO,IAAM,IACpB,IAAY,IAAM,GAElB,IADY,IAAM,MACY;GAEpC,AAAI,MAAQ,KACN,MAAQ,KAGV,EAAM,KAAK;IACT,MAAM;IACN,KAAK;GACP,CAAC,GAEH,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;GACF,CAAC,KAEG,MAAc,IAChB,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA;GACF,CAAC,KAGD,EAAM,KAAK;IACT,MAAM;IACN,KAAK,IAAM;GACb,CAAC,GACD,EAAM,KAAK;IACT,MAAM;IACN;IACA;IACA,eAAe;GACjB,CAAC;EAGP;EAEA,IAAM,IAAW,EAAM,EAAM,SAAS;EACtC,AAAI,EAAS,SAAS,SAAS,EAAS,QAAQ,KAG9C,EAAM,KAAK;GACT,MAAM;GACN,KAAK;EACP,CAAC;CAEL;CAEA,IAAM,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;CAAC,GAC3F,IAA2B;EAAC,MAAM;EAAQ,KAAK,IAAc;EAAG,UAAU,MAAgB;CAAS;CACzG,OAAO;EAAC;EAAM,GAAG;EAAO;CAAI;AAC9B"}
@@ -23,7 +23,7 @@ export type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.H
23
23
  fullWidth?: boolean;
24
24
  } & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>);
25
25
  type PillarImageProps = ImageProps;
26
- declare function PillarImage({ className, ...rest }: PillarImageProps): import("react/jsx-runtime").JSX.Element;
26
+ declare function PillarImage({ className, ...rest }: PillarImageProps): JSX.Element;
27
27
  type IconComponentProps = React.SVGAttributes<SVGElement> & {
28
28
  size?: number;
29
29
  };
@@ -32,7 +32,7 @@ type IconElement = React.ReactElement<IconComponentProps>;
32
32
  export type PillarIconProps = Omit<IconProps, 'icon' | 'color'> & {
33
33
  icon: IconElement | IconComponent;
34
34
  };
35
- declare function PillarIcon({ icon, className, hasBackground, size, ...props }: PillarIconProps): import("react/jsx-runtime").JSX.Element;
35
+ declare function PillarIcon({ icon, className, hasBackground, size, ...props }: PillarIconProps): JSX.Element;
36
36
  type PillarHeadingProps = BaseProps<HTMLHeadingElement> & {
37
37
  children: React.ReactNode | React.ReactNode[];
38
38
  as?: Exclude<HeadingProps['as'], 'h1'>;
@@ -1 +1 @@
1
- {"version":3,"file":"Pillar.d.ts","sourceRoot":"","sources":["../../src/Pillar/Pillar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,iBAAiB,EAA4B,KAAK,GAAG,EAAC,MAAM,OAAO,CAAA;AAE9F,OAAO,EAAU,YAAY,EAAe,KAAK,UAAU,EAAQ,SAAS,EAAC,MAAM,IAAI,CAAA;AACvF,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAQnD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;IACjG;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAyDpH,KAAK,gBAAgB,GAAG,UAAU,CAAA;AAElC,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,gBAAgB,2CAM1D;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAC3E,KAAK,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;AACxG,KAAK,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAChE,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAClC,CAAA;AAED,iBAAS,UAAU,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,aAAoB,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,eAAe,2CA6B3F;AAED,KAAK,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;CACvC,GAAG,YAAY,CAAA;AAkBhB,KAAK,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAmBhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,GACvC,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAU9B;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;CAMjB,CAAA"}
1
+ {"version":3,"file":"Pillar.d.ts","sourceRoot":"","sources":["../../src/Pillar/Pillar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,iBAAiB,EAA4B,KAAK,GAAG,EAAC,MAAM,OAAO,CAAA;AAE9F,OAAO,EAAU,YAAY,EAAe,KAAK,UAAU,EAAQ,SAAS,EAAC,MAAM,IAAI,CAAA;AACvF,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAQnD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;IACjG;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAyDpH,KAAK,gBAAgB,GAAG,UAAU,CAAA;AAElC,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,gBAAgB,eAM1D;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAC3E,KAAK,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;AACxG,KAAK,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAChE,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAClC,CAAA;AAED,iBAAS,UAAU,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,aAAoB,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,eAAe,eA6B3F;AAED,KAAK,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;CACvC,GAAG,YAAY,CAAA;AAkBhB,KAAK,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAmBhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,GACvC,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAU9B;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;CAMjB,CAAA"}
@@ -1,4 +1,4 @@
1
- import e from "../node_modules/clsx/dist/clsx.js";
1
+ import { clsx as e } from "../node_modules/clsx/dist/clsx.js";
2
2
  import { useAnimation as t } from "../animation/useAnimation.js";
3
3
  import { Text as n } from "../Text/Text.js";
4
4
  import { Heading as r } from "../Heading/Heading.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Pillar.js","names":[],"sources":["../../src/Pillar/Pillar.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren, HTMLAttributes, type Ref, type JSX} from 'react'\nimport {clsx} from 'clsx'\nimport {Heading, HeadingProps, Text, Image, type ImageProps, Link, LinkProps} from '..'\nimport {Icon, type IconProps} from '../Icon'\nimport type {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './Pillar.module.css'\n\nexport const defaultPillarIconColor = 'green'\nexport const defaultPillarIconSize = 32\nexport type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.HTMLAttributes<C> & {\n /**\n * The HTML element used to render the Pillar.\n */\n as?: C | 'div' | 'article'\n /**\n * Aligns the pillar content\n */\n align?: 'start' | 'center'\n /**\n * Enables optional border around the pillar content\n */\n hasBorder?: boolean\n /**\n * Allows the pillar to fill the width of its parent container.\n */\n fullWidth?: boolean\n} & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>)\n\nconst PillarRoot = forwardRef(\n (\n {\n children,\n className,\n animate,\n as = 'div',\n align = 'start',\n style,\n hasBorder = false,\n fullWidth = false,\n ...rest\n }: PropsWithChildren<PillarProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const filteredChildren = React.Children.toArray(children).filter(child => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (\n child.type === PillarImage ||\n child.type === PillarIcon ||\n child.type === PillarHeading ||\n child.type === PillarDescription ||\n child.type === PillarLink\n ) {\n return true\n }\n }\n return false\n })\n\n const validElements = ['div', 'article']\n const Component = validElements.includes(as) ? as : 'div'\n\n return (\n <Component\n className={clsx(\n styles.Pillar,\n styles[`Pillar--align-${align}`],\n hasBorder && styles['Pillar--has-border'],\n !fullWidth && styles['Pillar--has-max-width'],\n animationClasses,\n className,\n )}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n style={{...animationInlineStyles, ...style}}\n >\n {filteredChildren}\n </Component>\n )\n },\n)\n\ntype PillarImageProps = ImageProps\n\nfunction PillarImage({className, ...rest}: PillarImageProps) {\n return (\n <div className={styles.Pillar__image}>\n <Image className={className} {...rest} />\n </div>\n )\n}\n\ntype IconComponentProps = React.SVGAttributes<SVGElement> & {size?: number}\ntype IconComponent = React.ComponentType<IconComponentProps> | React.ExoticComponent<IconComponentProps>\ntype IconElement = React.ReactElement<IconComponentProps>\n\nexport type PillarIconProps = Omit<IconProps, 'icon' | 'color'> & {\n icon: IconElement | IconComponent\n}\n\nfunction PillarIcon({icon, className, hasBackground = true, size, ...props}: PillarIconProps) {\n if (!hasBackground) {\n const iconWrapperProps = {\n ...(props as React.HTMLAttributes<HTMLSpanElement>),\n className: clsx(styles.Pillar__icon, className),\n }\n\n let iconWithoutBackground: React.ReactNode\n\n if (React.isValidElement<IconComponentProps>(icon)) {\n iconWithoutBackground = icon\n } else {\n const IconWithoutBackground = icon\n iconWithoutBackground = <IconWithoutBackground />\n }\n\n return <span {...iconWrapperProps}>{iconWithoutBackground}</span>\n }\n\n return (\n <Icon\n className={clsx(styles.Pillar__icon, styles['Pillar__icon--with-background'], className)}\n color={defaultPillarIconColor}\n hasBackground\n icon={icon as IconProps['icon']}\n size={size ?? defaultPillarIconSize}\n {...props}\n />\n )\n}\n\ntype PillarHeadingProps = BaseProps<HTMLHeadingElement> & {\n children: React.ReactNode | React.ReactNode[]\n as?: Exclude<HeadingProps['as'], 'h1'>\n} & HeadingProps\n\nconst PillarHeading = forwardRef<HTMLHeadingElement, PillarHeadingProps>(\n ({children, as = 'h3', size = '6', className, ...rest}, ref) => {\n return (\n <Heading\n size={size}\n className={clsx(styles.Pillar__heading, styles[`Pillar__heading--size-${size}`], className)}\n ref={ref}\n as={as}\n {...rest}\n >\n {children}\n </Heading>\n )\n },\n)\n\ntype PillarDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>>\n\nconst PillarDescription = forwardRef<HTMLParagraphElement, PillarDescriptionProps>(\n ({children, className, ...rest}, ref) => {\n return (\n <Text\n variant=\"muted\"\n ref={ref}\n size=\"200\"\n as=\"p\"\n className={clsx(styles.Pillar__description, className)}\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PillarLinkProps = {\n href: string\n} & Omit<LinkProps, 'size' | 'direction'> &\n BaseProps<HTMLAnchorElement>\n\nconst PillarLink = forwardRef(({className, children, href, ...props}: PillarLinkProps, ref: Ref<HTMLAnchorElement>) => {\n return (\n <Link variant=\"accent\" href={href} ref={ref} className={clsx(styles.Pillar__link, className)} {...props}>\n {children}\n </Link>\n )\n})\n\n/**\n * Pillar component:\n * @see https://primer.style/brand/components/Pillar\n */\nexport const Pillar = Object.assign(PillarRoot, {\n Icon: PillarIcon,\n Image: PillarImage,\n Heading: PillarHeading,\n Description: PillarDescription,\n Link: PillarLink,\n})\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,IAAyB,SACzB,IAAwB,IAoB/B,IAAa,GAEf,EACE,aACA,cACA,YACA,QAAK,OACL,WAAQ,SACR,UACA,eAAY,IACZ,eAAY,IACZ,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ,EAElF,IAAmB,EAAM,SAAS,QAAQ,EAAS,CAAC,QAAO,MAC/D,GAAI,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,aAErD,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,IAMnB;AAKF,QACE,kBAHgB,CADK,OAAO,UACZ,CAAc,SAAS,EAAG,GAAG,IAAK,OAGlD;EACE,WAAW,EACT,EAAO,QACP,EAAO,iBAAiB,MACxB,KAAa,EAAO,uBACpB,CAAC,KAAa,EAAO,0BACrB,GACA,EACD;EACI;EACL,GAAK;EACL,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;YAE1C;EACS,CAAA;EAGjB;AAID,SAAS,EAAY,EAAC,cAAW,GAAG,KAAyB;AAC3D,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,GAAD;GAAkB;GAAW,GAAI;GAAQ,CAAA;EACrC,CAAA;;AAYV,SAAS,EAAW,EAAC,SAAM,cAAW,mBAAgB,IAAM,SAAM,GAAG,KAAyB;AAC5F,KAAI,CAAC,GAAe;EAClB,IAAM,IAAmB;GACvB,GAAI;GACJ,WAAW,EAAK,EAAO,cAAc,EAAU;GAChD,EAEG;AASJ,SAPA,AAIE,IAJE,EAAM,eAAmC,EAAK,GACxB,IAGA,kBAAC,GAAD,EAAyB,CAAA,EAG5C,kBAAC,QAAD;GAAM,GAAI;aAAmB;GAA6B,CAAA;;AAGnE,QACE,kBAAC,GAAD;EACE,WAAW,EAAK,EAAO,cAAc,EAAO,kCAAkC,EAAU;EACxF,OAAO;EACP,eAAA;EACM;EACN,MAAM,KAAA;EACN,GAAI;EACJ,CAAA;;AASN,IAAM,IAAgB,GACnB,EAAC,aAAU,QAAK,MAAM,UAAO,KAAK,cAAW,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACQ;CACN,WAAW,EAAK,EAAO,iBAAiB,EAAO,yBAAyB,MAAS,EAAU;CACtF;CACD;CACJ,GAAI;CAEH;CACO,CAAA,CAGf,EAIK,IAAoB,GACvB,EAAC,aAAU,cAAW,GAAG,KAAO,MAE7B,kBAAC,GAAD;CACE,SAAQ;CACH;CACL,MAAK;CACL,IAAG;CACH,WAAW,EAAK,EAAO,qBAAqB,EAAU;CACtD,GAAI;CAEH;CACI,CAAA,CAGZ,EAOK,IAAa,GAAY,EAAC,cAAW,aAAU,SAAM,GAAG,KAAyB,MAEnF,kBAAC,GAAD;CAAM,SAAQ;CAAe;CAAW;CAAK,WAAW,EAAK,EAAO,cAAc,EAAU;CAAE,GAAI;CAC/F;CACI,CAAA,CAET,EAMW,IAAS,OAAO,OAAO,GAAY;CAC9C,MAAM;CACN,OAAO;CACP,SAAS;CACT,aAAa;CACb,MAAM;CACP,CAAC"}
1
+ {"version":3,"file":"Pillar.js","names":[],"sources":["../../src/Pillar/Pillar.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren, HTMLAttributes, type Ref, type JSX} from 'react'\nimport {clsx} from 'clsx'\nimport {Heading, HeadingProps, Text, Image, type ImageProps, Link, LinkProps} from '..'\nimport {Icon, type IconProps} from '../Icon'\nimport type {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './Pillar.module.css'\n\nexport const defaultPillarIconColor = 'green'\nexport const defaultPillarIconSize = 32\nexport type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.HTMLAttributes<C> & {\n /**\n * The HTML element used to render the Pillar.\n */\n as?: C | 'div' | 'article'\n /**\n * Aligns the pillar content\n */\n align?: 'start' | 'center'\n /**\n * Enables optional border around the pillar content\n */\n hasBorder?: boolean\n /**\n * Allows the pillar to fill the width of its parent container.\n */\n fullWidth?: boolean\n} & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>)\n\nconst PillarRoot = forwardRef(\n (\n {\n children,\n className,\n animate,\n as = 'div',\n align = 'start',\n style,\n hasBorder = false,\n fullWidth = false,\n ...rest\n }: PropsWithChildren<PillarProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const filteredChildren = React.Children.toArray(children).filter(child => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (\n child.type === PillarImage ||\n child.type === PillarIcon ||\n child.type === PillarHeading ||\n child.type === PillarDescription ||\n child.type === PillarLink\n ) {\n return true\n }\n }\n return false\n })\n\n const validElements = ['div', 'article']\n const Component = validElements.includes(as) ? as : 'div'\n\n return (\n <Component\n className={clsx(\n styles.Pillar,\n styles[`Pillar--align-${align}`],\n hasBorder && styles['Pillar--has-border'],\n !fullWidth && styles['Pillar--has-max-width'],\n animationClasses,\n className,\n )}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n style={{...animationInlineStyles, ...style}}\n >\n {filteredChildren}\n </Component>\n )\n },\n)\n\ntype PillarImageProps = ImageProps\n\nfunction PillarImage({className, ...rest}: PillarImageProps) {\n return (\n <div className={styles.Pillar__image}>\n <Image className={className} {...rest} />\n </div>\n )\n}\n\ntype IconComponentProps = React.SVGAttributes<SVGElement> & {size?: number}\ntype IconComponent = React.ComponentType<IconComponentProps> | React.ExoticComponent<IconComponentProps>\ntype IconElement = React.ReactElement<IconComponentProps>\n\nexport type PillarIconProps = Omit<IconProps, 'icon' | 'color'> & {\n icon: IconElement | IconComponent\n}\n\nfunction PillarIcon({icon, className, hasBackground = true, size, ...props}: PillarIconProps) {\n if (!hasBackground) {\n const iconWrapperProps = {\n ...(props as React.HTMLAttributes<HTMLSpanElement>),\n className: clsx(styles.Pillar__icon, className),\n }\n\n let iconWithoutBackground: React.ReactNode\n\n if (React.isValidElement<IconComponentProps>(icon)) {\n iconWithoutBackground = icon\n } else {\n const IconWithoutBackground = icon\n iconWithoutBackground = <IconWithoutBackground />\n }\n\n return <span {...iconWrapperProps}>{iconWithoutBackground}</span>\n }\n\n return (\n <Icon\n className={clsx(styles.Pillar__icon, styles['Pillar__icon--with-background'], className)}\n color={defaultPillarIconColor}\n hasBackground\n icon={icon as IconProps['icon']}\n size={size ?? defaultPillarIconSize}\n {...props}\n />\n )\n}\n\ntype PillarHeadingProps = BaseProps<HTMLHeadingElement> & {\n children: React.ReactNode | React.ReactNode[]\n as?: Exclude<HeadingProps['as'], 'h1'>\n} & HeadingProps\n\nconst PillarHeading = forwardRef<HTMLHeadingElement, PillarHeadingProps>(\n ({children, as = 'h3', size = '6', className, ...rest}, ref) => {\n return (\n <Heading\n size={size}\n className={clsx(styles.Pillar__heading, styles[`Pillar__heading--size-${size}`], className)}\n ref={ref}\n as={as}\n {...rest}\n >\n {children}\n </Heading>\n )\n },\n)\n\ntype PillarDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>>\n\nconst PillarDescription = forwardRef<HTMLParagraphElement, PillarDescriptionProps>(\n ({children, className, ...rest}, ref) => {\n return (\n <Text\n variant=\"muted\"\n ref={ref}\n size=\"200\"\n as=\"p\"\n className={clsx(styles.Pillar__description, className)}\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PillarLinkProps = {\n href: string\n} & Omit<LinkProps, 'size' | 'direction'> &\n BaseProps<HTMLAnchorElement>\n\nconst PillarLink = forwardRef(({className, children, href, ...props}: PillarLinkProps, ref: Ref<HTMLAnchorElement>) => {\n return (\n <Link variant=\"accent\" href={href} ref={ref} className={clsx(styles.Pillar__link, className)} {...props}>\n {children}\n </Link>\n )\n})\n\n/**\n * Pillar component:\n * @see https://primer.style/brand/components/Pillar\n */\nexport const Pillar = Object.assign(PillarRoot, {\n Icon: PillarIcon,\n Image: PillarImage,\n Heading: PillarHeading,\n Description: PillarDescription,\n Link: PillarLink,\n})\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,IAAyB,SACzB,IAAwB,IAoB/B,IAAa,GAEf,EACE,aACA,cACA,YACA,QAAK,OACL,WAAQ,SACR,UACA,eAAY,IACZ,eAAY,IACZ,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,CAAO,GAEjF,IAAmB,EAAM,SAAS,QAAQ,CAAQ,CAAC,CAAC,QAAO,MAC/D,GAAI,EAAM,eAAe,CAAK,KAAK,OAAO,EAAM,QAAS,aAErD,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,GAMpB;CAKD,OACE,kBAHgB,CADK,OAAO,SACZ,CAAA,CAAc,SAAS,CAAE,IAAI,IAAK,OAGlD;EACE,WAAW,EACT,EAAO,QACP,EAAO,iBAAiB,MACxB,KAAa,EAAO,uBACpB,CAAC,KAAa,EAAO,0BACrB,GACA,CACF;EACK;EACL,GAAK;EACL,OAAO;GAAC,GAAG;GAAuB,GAAG;EAAK;YAEzC;CACQ,CAAA;AAEf,CACF;AAIA,SAAS,EAAY,EAAC,cAAW,GAAG,KAAyB;CAC3D,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,GAAD;GAAkB;GAAW,GAAI;EAAO,CAAA;CACrC,CAAA;AAET;AAUA,SAAS,EAAW,EAAC,SAAM,cAAW,mBAAgB,IAAM,SAAM,GAAG,KAAyB;CAC5F,IAAI,CAAC,GAAe;EAClB,IAAM,IAAmB;GACvB,GAAI;GACJ,WAAW,EAAK,EAAO,cAAc,CAAS;EAChD,GAEI;EASJ,OAPA,AAIE,IAJE,EAAM,eAAmC,CAAI,IACvB,IAGA,kBAAC,GAAD,CAAwB,CAAA,GAG3C,kBAAC,QAAD;GAAM,GAAI;aAAmB;EAA4B,CAAA;CAClE;CAEA,OACE,kBAAC,GAAD;EACE,WAAW,EAAK,EAAO,cAAc,EAAO,kCAAkC,CAAS;EACvF,OAAO;EACP,eAAA;EACM;EACN,MAAM,KAAA;EACN,GAAI;CACL,CAAA;AAEL;AAOA,IAAM,IAAgB,GACnB,EAAC,aAAU,QAAK,MAAM,UAAO,KAAK,cAAW,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACQ;CACN,WAAW,EAAK,EAAO,iBAAiB,EAAO,yBAAyB,MAAS,CAAS;CACrF;CACD;CACJ,GAAI;CAEH;AACM,CAAA,CAGf,GAIM,IAAoB,GACvB,EAAC,aAAU,cAAW,GAAG,KAAO,MAE7B,kBAAC,GAAD;CACE,SAAQ;CACH;CACL,MAAK;CACL,IAAG;CACH,WAAW,EAAK,EAAO,qBAAqB,CAAS;CACrD,GAAI;CAEH;AACG,CAAA,CAGZ,GAOM,IAAa,GAAY,EAAC,cAAW,aAAU,SAAM,GAAG,KAAyB,MAEnF,kBAAC,GAAD;CAAM,SAAQ;CAAe;CAAW;CAAK,WAAW,EAAK,EAAO,cAAc,CAAS;CAAG,GAAI;CAC/F;AACG,CAAA,CAET,GAMY,IAAS,OAAO,OAAO,GAAY;CAC9C,MAAM;CACN,OAAO;CACP,SAAS;CACT,aAAa;CACb,MAAM;AACR,CAAC"}
@@ -1,17 +1,18 @@
1
- import './Pillar.module-D_CQtE2q.css';var e = {
2
- Pillar: "Primer_Brand__Pillar-module__Pillar___xLPAt",
1
+ import './Pillar.module-D_CQtE2q.css';//#region src/Pillar/Pillar.module.css
2
+ var e = "Primer_Brand__Pillar-module__Pillar___xLPAt", t = "Primer_Brand__Pillar-module__Pillar__image___z4m11", n = "Primer_Brand__Pillar-module__Pillar__icon___4V_g6", r = "Primer_Brand__Pillar-module__Pillar__heading___9r3aH", i = "Primer_Brand__Pillar-module__Pillar__description___WhErW", a = "Primer_Brand__Pillar-module__Pillar__link___4V1wl", o = {
3
+ Pillar: e,
3
4
  "Pillar--has-max-width": "Primer_Brand__Pillar-module__Pillar--has-max-width___reXfE",
4
5
  "Pillar--has-border": "Primer_Brand__Pillar-module__Pillar--has-border___h8dLv",
5
6
  "Pillar--align-center": "Primer_Brand__Pillar-module__Pillar--align-center___1eAmk",
6
7
  "Pillar--align-start": "Primer_Brand__Pillar-module__Pillar--align-start___kEyp9",
7
- Pillar__image: "Primer_Brand__Pillar-module__Pillar__image___z4m11",
8
- Pillar__icon: "Primer_Brand__Pillar-module__Pillar__icon___4V_g6",
8
+ Pillar__image: t,
9
+ Pillar__icon: n,
9
10
  "Pillar__icon--with-background": "Primer_Brand__Pillar-module__Pillar__icon--with-background___6pK_P",
10
- Pillar__heading: "Primer_Brand__Pillar-module__Pillar__heading___9r3aH",
11
- Pillar__description: "Primer_Brand__Pillar-module__Pillar__description___WhErW",
12
- Pillar__link: "Primer_Brand__Pillar-module__Pillar__link___4V1wl"
11
+ Pillar__heading: r,
12
+ Pillar__description: i,
13
+ Pillar__link: a
13
14
  };
14
15
  //#endregion
15
- export { e as default };
16
+ export { e as Pillar, i as Pillar__description, r as Pillar__heading, n as Pillar__icon, t as Pillar__image, a as Pillar__link, o as default };
16
17
 
17
18
  //# sourceMappingURL=Pillar.module.js.map
@@ -101,7 +101,7 @@ export declare const PricingOptions: React.ForwardRefExoticComponent<Omit<React.
101
101
  FeatureListGroupHeading: React.ForwardRefExoticComponent<Omit<PricingOptionsFeatureListGroupHeadingProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
102
102
  FeatureListItem: React.ForwardRefExoticComponent<Omit<PricingOptionsFeatureListItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
103
103
  Footnote: React.ForwardRefExoticComponent<Omit<PricingOptionsFootnoteProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
104
- Label: ({ children }: PricingOptionsLabelProps) => import("react/jsx-runtime").JSX.Element;
104
+ Label: ({ children }: PricingOptionsLabelProps) => React.JSX.Element;
105
105
  Heading: React.ForwardRefExoticComponent<Omit<PricingOptionsHeadingProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
106
106
  Item: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<PricingOptionsItem>, "ref"> & React.RefAttributes<HTMLDivElement>>;
107
107
  MenuAction: React.ForwardRefExoticComponent<Omit<PricingOptionsMenuActionProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,13 +1,15 @@
1
- import e from "../node_modules/clsx/dist/clsx.js";
1
+ import { clsx as e } from "../node_modules/clsx/dist/clsx.js";
2
2
  import { Text as t } from "../Text/Text.js";
3
3
  import { Heading as n } from "../Heading/Heading.js";
4
4
  import { Button as r } from "../Button/Button.js";
5
- import { CheckIcon as i, TriangleDownIcon as a, XIcon as o } from "../node_modules/@primer/octicons-react/dist/index.esm.js";
5
+ import { CheckIcon as i } from "../node_modules/@primer/octicons-react/dist/icons/CheckIcon.js";
6
+ import { TriangleDownIcon as a } from "../node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js";
7
+ import { XIcon as o } from "../node_modules/@primer/octicons-react/dist/icons/XIcon.js";
6
8
  import { useWindowSize as s } from "../hooks/useWindowSize.js";
7
9
  import { Accordion as c } from "../Accordion/Accordion.js";
8
10
  import { UnorderedList as l } from "../list/UnorderedList/UnorderedList.js";
9
11
  import { Tooltip as u } from "../Tooltip/Tooltip.js";
10
- import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options-B9TarQsR.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes-DBi2l0Re.css';/* empty css */
12
+ import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes-DBi2l0Re.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options-B9TarQsR.css';/* empty css */
11
13
  /* empty css */
12
14
  import d from "./PricingOptions.module.js";
13
15
  import f, { forwardRef as p, useMemo as m } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"PricingOptions.js","names":[],"sources":["../../src/PricingOptions/PricingOptions.tsx"],"sourcesContent":["import React, {forwardRef, HTMLAttributes, PropsWithChildren, useMemo, Ref, Dispatch} from 'react'\nimport {CheckIcon, TriangleDownIcon, XIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport type {ListItemProps} from '../list/ListItem/ListItem'\nimport type {BaseProps} from '../component-helpers'\nimport {Accordion} from '../Accordion/Accordion'\nimport {Button, type ButtonBaseProps} from '../Button'\nimport {Heading as HeadingComponent, type HeadingProps} from '../Heading'\nimport {Text} from '../Text'\nimport {Tooltip} from '../Tooltip'\nimport {useWindowSize} from '../hooks/useWindowSize'\nimport {UnorderedList, type UnorderedListProps} from '../list'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './PricingOptions.module.css'\n\ntype AlignOptions = 'start' | 'center'\n\nexport type PricingOptionsProps = {\n align?: AlignOptions\n variant?: 'default' | 'default-gradient' | 'cards' | 'cards-gradient'\n ['data-testid']?: string\n} & PropsWithChildren<BaseProps<HTMLDivElement>> &\n HTMLAttributes<HTMLDivElement>\n\nconst testIds = {\n root: 'PricingOptions',\n item: 'PricingOptions__item',\n labelRow: 'PricingOptions__labels',\n heading: 'PricingOptions__heading',\n label: 'PricingOptions__label',\n description: 'PricingOptions__description',\n price: 'PricingOptions__price',\n actionsMessage: 'PricingOptions__actionsMessage',\n primaryAction: 'PricingOptions__primaryAction',\n secondaryAction: 'PricingOptions__secondaryAction',\n menuAction: 'PricingOptions__menuAction',\n featureList: 'PricingOptions__featureList',\n featureListHeading: 'PricingOptions__featureListHeading',\n featureListItem: 'PricingOptions__featureListItem',\n featureListGroupHeading: 'PricingOptions__featureListGroupHeading',\n footnote: 'PricingOptions__footnote',\n}\n\ntype PricingOptionsContextValue = {\n align: AlignOptions\n allFeatureListsExpanded: boolean\n updateFeatureListExpanded: Dispatch<boolean>\n featureListUserInteracted: boolean\n setFeatureListUserInteracted: Dispatch<boolean>\n}\n\nconst PricingOptionsContext = React.createContext<PricingOptionsContextValue>({\n align: 'start',\n allFeatureListsExpanded: false,\n featureListUserInteracted: false,\n updateFeatureListExpanded: () => {},\n setFeatureListUserInteracted: () => {},\n})\n\nconst PricingOptionsProvider = ({children, align = 'start'}: PropsWithChildren<{align: AlignOptions}>) => {\n const [allFeatureListsExpanded, setAllFeatureListsExpanded] = React.useState(false)\n const [featureListUserInteracted, setFeatureListUserInteracted] = React.useState(false)\n\n const updateFeatureListExpanded = (newValue: boolean) => {\n setAllFeatureListsExpanded(() => newValue)\n }\n\n return (\n <PricingOptionsContext.Provider\n value={{\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n align,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n }}\n >\n {children}\n </PricingOptionsContext.Provider>\n )\n}\n\nconst usePricingOptions = (): PricingOptionsContextValue => {\n return React.useContext(PricingOptionsContext)\n}\n\nconst pricingOptionsDefaultFeatureListHeading = \"What's included\"\n\ntype PricingOptionsLabelProps = PropsWithChildren<{\n 'data-testid'?: string\n}>\n\nconst PricingOptionsLabel = ({children}: PricingOptionsLabelProps) => {\n return <>{children}</>\n}\n\nconst PricingOptionsRoot = forwardRef(\n (\n {\n align = 'start',\n children,\n className,\n 'data-testid': testId,\n variant = 'default',\n ...rest\n }: PropsWithChildren<PricingOptionsProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const filteredChildren = useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsItem,\n ) as React.ReactElement<PropsWithChildren<PricingOptionsItem>>[],\n [children],\n ).slice(0, 4)\n\n const headerLabels = useMemo(\n () =>\n filteredChildren.map(item => {\n const labelChild = React.Children.toArray(item.props.children).find(\n child =>\n React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsLabel,\n )\n\n return (\n React.isValidElement(labelChild) ? labelChild : null\n ) as React.ReactElement<PricingOptionsLabelProps> | null\n }),\n [filteredChildren],\n )\n\n const hasHeaderLabels = headerLabels.some(label => label !== null)\n\n return (\n <PricingOptionsProvider align={align}>\n <div\n className={clsx(\n styles.PricingOptions,\n styles[`PricingOptions--layout-${variant.includes('default') ? 'default' : 'cards'}`],\n styles[`PricingOptions--items${filteredChildren.length}`],\n styles[`PricingOptions--appearance-${variant.includes('gradient') ? 'gradient' : 'solid'}`],\n className,\n )}\n data-testid={testId || testIds.root}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n {filteredChildren}\n\n {hasHeaderLabels && (\n <div\n className={styles['PricingOptions__labels']}\n data-testid={testIds.labelRow}\n style={\n {\n '--brand-pricing-options-column-count': filteredChildren.length,\n } as React.CSSProperties\n }\n >\n {headerLabels.map((headerLabel, index) => {\n const hasLabelContent = Boolean(headerLabel?.props.children)\n\n return (\n <div\n className={clsx(\n styles['PricingOptions__label-cell'],\n hasLabelContent\n ? styles['PricingOptions__label-cell--has-label']\n : styles['PricingOptions__label-cell--empty'],\n )}\n data-testid={headerLabel?.props['data-testid'] || testIds.label}\n key={index}\n >\n {headerLabel?.props.children ? (\n <span className={styles.PricingOptions__label}>{headerLabel.props.children}</span>\n ) : null}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </PricingOptionsProvider>\n )\n },\n)\n\nexport type PricingOptionsItem = {\n ['data-testid']?: string\n /**\n * Escape-hatch for inserting custom React components.\n * Warning:\n * This prop isn't advertised in our docs but remains part of the public API for edge-cases.\n * Need to use this prop? Please check in with #primer-brand first to confirm correct usage.\n */\n leadingComponent?: React.ReactElement\n} & PropsWithChildren<BaseProps<HTMLDivElement>>\n\ntype FilteredChildren = {\n FeatureList: React.ReactElement<PricingOptionsFeatureListProps> | null\n Actions: React.ReactElement<PricingOptionsActionsProps>[]\n ActionsMessage: React.ReactElement<PricingOptionsActionsMessageProps> | null\n Footnote: React.ReactElement<PricingOptionsFootnoteProps> | null\n Heading: React.ReactElement<PricingOptionsHeadingProps> | null\n Description: React.ReactElement<PricingOptionsDescriptionProps> | null\n Price: React.ReactElement<PricingOptionsPriceProps> | null\n}\n\nconst PricingOptionsItem = forwardRef(\n (\n {'data-testid': testId, children, className, leadingComponent, ...rest}: PropsWithChildren<PricingOptionsItem>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {align} = usePricingOptions()\n\n const memoizedChildren = useMemo(() => React.Children.toArray(children), [children])\n\n const filteredChildren = memoizedChildren.reduce<FilteredChildren>(\n (acc, child) => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (child.type === PricingOptionsFeatureList) {\n acc.FeatureList = child as React.ReactElement<PricingOptionsFeatureListProps> | null\n }\n\n if (\n child.type === PricingOptionsPrimaryAction ||\n child.type === PricingOptionsSecondaryAction ||\n child.type === PricingOptionsMenuAction\n ) {\n acc.Actions.push(child as React.ReactElement<PricingOptionsActionsProps>)\n }\n\n if (child.type === PricingOptionsActionsMessage) {\n acc.ActionsMessage = child as React.ReactElement<PricingOptionsActionsMessageProps>\n }\n\n if (child.type === PricingOptionsFootnote) {\n acc.Footnote = child as React.ReactElement<PricingOptionsFootnoteProps>\n }\n\n if (child.type === PricingOptionsHeading) {\n acc.Heading = child as React.ReactElement<PricingOptionsHeadingProps>\n }\n\n if (child.type === PricingOptionsDescription) {\n acc.Description = child as React.ReactElement<PricingOptionsDescriptionProps>\n }\n\n if (child.type === PricingOptionsPrice) {\n acc.Price = child as React.ReactElement<PricingOptionsPriceProps>\n }\n }\n\n return acc\n },\n {\n FeatureList: null,\n Actions: [],\n ActionsMessage: null,\n Footnote: null,\n Heading: null,\n Description: null,\n Price: null,\n },\n )\n\n const {Heading, Description, Price, FeatureList, Actions, ActionsMessage, Footnote} = filteredChildren\n\n return (\n <div\n className={clsx(\n styles.PricingOptions__item,\n leadingComponent && styles['PricingOptions__item--has-leading-component'],\n styles[`PricingOptions__item--align-${align}`],\n className,\n )}\n data-testid={testId || testIds.item}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n <div className={styles['PricingOptions__header']}>{Heading}</div>\n {Description}\n {Price}\n {leadingComponent && <div className={styles['PricingOptions__leading-component']}>{leadingComponent}</div>}\n {(Actions.length > 0 || ActionsMessage) && (\n <div className={styles.PricingOptions__actions}>\n {Actions}\n {ActionsMessage}\n </div>\n )}\n {FeatureList}\n {Footnote}\n </div>\n )\n },\n)\n\ntype PricingOptionsDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsDescription = forwardRef<HTMLParagraphElement, PricingOptionsDescriptionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__description, className)}\n data-testid={testId || testIds.description}\n ref={ref}\n size=\"200\"\n variant=\"muted\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PricingOptionsHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n 'data-testid'?: string\n} & HeadingProps\n\nconst PricingOptionsHeading = forwardRef<HTMLHeadingElement, PricingOptionsHeadingProps>(\n ({as = 'h3', children, 'data-testid': testId, size = '5', className, ...rest}, ref) => {\n return (\n <HeadingComponent\n as={as}\n className={clsx(styles.PricingOptions__heading, styles[`PricingOptions__heading--size-${size}`], className)}\n data-testid={testId || testIds.heading}\n ref={ref}\n size={size}\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n },\n)\n\ntype PricingOptionsPriceProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n currencyCode?: string\n currencySymbol?: string\n 'data-testid'?: string\n originalPrice?: string\n trailingText?: string\n}\n\nconst PricingOptionsPrice = forwardRef<HTMLParagraphElement, PricingOptionsPriceProps>(\n (\n {\n children,\n className,\n currencyCode = 'USD',\n currencySymbol = '$',\n 'data-testid': testId,\n originalPrice,\n trailingText,\n ...rest\n },\n ref,\n ) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__price, className)}\n data-testid={testId || testIds.price}\n ref={ref}\n weight=\"normal\"\n {...rest}\n >\n <span className={styles['PricingOptions__price-amount']}>\n <Text as=\"span\" className={styles['PricingOptions__price-currency-symbol']} size=\"500\" weight=\"normal\">\n {currencySymbol}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-value']} size=\"500\" weight=\"normal\">\n {children}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-currency-code']} size=\"100\" weight=\"normal\">\n {currencyCode}\n </Text>\n </span>\n\n {originalPrice && (\n <del className={styles['PricingOptions__price-original-price']}>\n <Text size=\"400\" variant=\"muted\" weight=\"normal\">\n {currencySymbol}\n </Text>\n <Text\n className={styles['PricingOptions__price-original-price-value']}\n size=\"300\"\n variant=\"muted\"\n weight=\"normal\"\n >\n {originalPrice}\n </Text>\n </del>\n )}\n\n {trailingText && (\n <Text as=\"span\" className={styles['PricingOptions__price-trailing-text']} size=\"200\" variant=\"muted\">\n {trailingText}\n </Text>\n )}\n </Text>\n )\n },\n)\n\ntype PricingOptionsFeatureListProps = BaseProps<HTMLUListElement> & {\n accordionAs?: HeadingProps['as']\n expanded?: ExpandedProp\n hasDivider?: boolean\n children: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps | PricingOptionsFeatureListItemProps>[]\n 'data-testid'?: string\n}\n\ntype ExpandedProp = boolean | ResponsiveExpandableProps\n\ntype ResponsiveExpandableProps = {\n narrow: boolean\n regular: boolean\n wide: boolean\n}\n\ntype ValidFeatureListChildren = {\n Heading: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps> | null\n Items: React.ReactElement<PricingOptionsFeatureListItemProps>[]\n}[]\n\nconst PricingOptionsFeatureList = forwardRef<HTMLDivElement, PricingOptionsFeatureListProps>(\n ({children, className, 'data-testid': testId, hasDivider = true, expanded, accordionAs = 'h4', ...rest}, ref) => {\n const {\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n } = usePricingOptions()\n const {isMedium: isRegular, isXLarge: isWide, isSmall: isNarrow} = useWindowSize()\n\n React.useEffect(() => {\n if (expanded === undefined || typeof expanded === 'object') {\n setFeatureListUserInteracted(false)\n }\n }, [isRegular, isWide, isNarrow, setFeatureListUserInteracted, expanded])\n\n const shouldBeOpen = React.useMemo(() => {\n if (featureListUserInteracted) {\n return allFeatureListsExpanded\n }\n\n // Important: Fixes layout shift by ensuring that explicit values are preserved.\n if (typeof expanded === 'boolean') {\n return expanded\n }\n // If undefined, should follow some default responsive logic\n if (expanded === undefined) {\n if (isWide) return true\n if (isRegular) return true\n return false\n }\n\n // finally handle responsive objects, and go from largest to smallest viewports\n const {narrow, regular, wide} = expanded\n if (isWide) return wide\n if (isRegular) return regular\n return narrow\n }, [expanded, allFeatureListsExpanded, isRegular, isWide, featureListUserInteracted])\n\n let FeatureListHeading = (\n <PricingOptions.FeatureListHeading>{pricingOptionsDefaultFeatureListHeading}</PricingOptions.FeatureListHeading>\n )\n\n const FilteredChildrenSet = React.Children.toArray(children).reduce<ValidFeatureListChildren>((acc, child) => {\n if (React.isValidElement(child) && child.type === PricingOptionsFeatureListHeading) {\n FeatureListHeading = child\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListItem) {\n if (acc.length === 0) {\n acc.push({Heading: null, Items: []})\n }\n acc[acc.length - 1].Items.push(child as React.ReactElement<PricingOptionsFeatureListItemProps>)\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListGroupHeading) {\n acc.push({\n Heading: child as React.ReactElement<PricingOptionsFeatureListGroupHeadingProps>,\n Items: [],\n })\n }\n\n return acc\n }, [])\n\n const FeatureListItems = FilteredChildrenSet.map(({Heading: HeadingChild, Items}, index) => (\n <div className={styles['PricingOptions__feature-list-set']} key={index}>\n {HeadingChild}\n\n <UnorderedList variant=\"checked\" {...(rest as UnorderedListProps)}>\n {Items}\n </UnorderedList>\n </div>\n ))\n\n return (\n <div\n ref={ref}\n className={clsx(\n styles['PricingOptions__feature-list'],\n hasDivider && styles['PricingOptions__feature-list--has-divider'],\n className,\n )}\n data-testid={testId || testIds.featureList}\n >\n <Accordion\n className={styles['PricingOptions__feature-list-accordion']}\n disableAnimation\n open={shouldBeOpen}\n onToggle={event => {\n setFeatureListUserInteracted(true)\n updateFeatureListExpanded(event.currentTarget.open)\n }}\n >\n <Accordion.Heading as={accordionAs} className={styles['PricingOptions__feature-list-accordion-heading']}>\n {FeatureListHeading}\n\n <TriangleDownIcon className={styles['PricingOptions__feature-list-accordion-chevron']} />\n </Accordion.Heading>\n <Accordion.Content className={styles['PricingOptions__feature-list-accordion-content']}>\n {FeatureListItems}\n </Accordion.Content>\n </Accordion>\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListHeadingProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListHeading = forwardRef<HTMLDivElement, PricingOptionsFeatureListHeadingProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div className={className} data-testid={testId || testIds.featureListHeading} ref={ref} {...rest}>\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListGroupHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n as?: Exclude<HeadingProps['as'], 'h1' | 'h2'>\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListGroupHeading = forwardRef<\n HTMLHeadingElement,\n PricingOptionsFeatureListGroupHeadingProps\n>(({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <HeadingComponent\n as=\"h4\"\n className={clsx(styles['PricingOptions__feature-list-group-heading'], className)}\n data-testid={testId || testIds.featureListGroupHeading}\n ref={ref}\n size=\"subhead-medium\"\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n})\n\ntype PricingOptionsFeatureListItemProps = PropsWithChildren<BaseProps<HTMLLIElement>> & {\n 'data-testid'?: string\n infoTooltip?: string\n /**\n * Optional accessible label for the info tooltip trigger. Overrides the automatically generated label.\n */\n infoTooltipAriaLabel?: string\n variant?: 'included' | 'excluded'\n} & Omit<ListItemProps, 'variant'>\n\nconst PricingOptionsFeatureListItem = forwardRef<HTMLLIElement, PricingOptionsFeatureListItemProps>(\n (\n {\n children,\n className,\n infoTooltip,\n infoTooltipAriaLabel,\n leadingVisual,\n leadingVisualFill,\n variant = 'included',\n 'data-testid': testId,\n ...rest\n },\n ref,\n ) => {\n const itemLeadingVisual = leadingVisual ?? (variant === 'included' ? CheckIcon : XIcon)\n const itemLeadingVisualAriaLabel = variant === 'included' ? 'Includes' : 'Does not include'\n\n const itemLeadingVisualFill =\n leadingVisualFill ??\n (variant === 'included' ? 'var(--brand-color-accent-primary)' : 'var(--brand-color-text-muted)')\n\n return (\n <UnorderedList.Item\n className={clsx(\n styles['PricingOptions__feature-list-item'],\n {[styles['PricingOptions__feature-list-item--excluded']]: variant === 'excluded'},\n infoTooltip && styles['PricingOptions__feature-list-item--has-info'],\n className,\n )}\n data-testid={testId || testIds.featureListItem}\n leadingVisual={itemLeadingVisual}\n leadingVisualAriaLabel={itemLeadingVisualAriaLabel}\n leadingVisualFill={itemLeadingVisualFill}\n ref={ref}\n {...rest}\n >\n {children}\n {infoTooltip && (\n <Tooltip text={infoTooltip} direction=\"n\">\n <button\n type=\"button\"\n className={styles['PricingOptions__feature-list-item-info']}\n aria-label={\n infoTooltipAriaLabel ??\n // eslint-disable-next-line i18n-text/no-en\n `More information about ${typeof children === 'string' ? children : 'this feature'}`\n }\n >\n <svg viewBox=\"0 0 4 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path\n d=\"M0.75 3C0.33579 3 0 3.33579 0 3.75C0 4.16421 0.33579 4.5 0.75 4.5H1V6.5H0.75C0.33579 6.5 0 6.8358 0 7.25C0 7.6642 0.33579 8 0.75 8H2.75C3.16421 8 3.5 7.6642 3.5 7.25C3.5 6.8358 3.16421 6.5 2.75 6.5H2.5V3.75C2.5 3.33579 2.16421 3 1.75 3H0.75Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M2.5 1C2.5 1.55228 2.05229 2 1.5 2C0.94772 2 0.5 1.55228 0.5 1C0.5 0.44772 0.94772 0 1.5 0C2.05229 0 2.5 0.44772 2.5 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </Tooltip>\n )}\n </UnorderedList.Item>\n )\n },\n)\n\ntype AsA = {as: 'a'; href: string; 'data-testid'?: string} & React.AnchorHTMLAttributes<BaseProps<HTMLAnchorElement>> &\n ButtonBaseProps\n\ntype AsButton = {as: 'button'; 'data-testid'?: string} & React.ButtonHTMLAttributes<BaseProps<HTMLButtonElement>> &\n ButtonBaseProps\n\ntype PricingOptionsActionsProps = AsA | AsButton\n\ntype PricingOptionsActionsMessageProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n leadingComponent?: React.ReactElement\n}\n\nconst PricingOptionsActionsMessage = forwardRef<HTMLDivElement, PricingOptionsActionsMessageProps>(\n ({children, className, 'data-testid': testId, leadingComponent, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__actions-message'], className)}\n data-testid={testId || testIds.actionsMessage}\n {...rest}\n >\n {leadingComponent && (\n <span className={styles['PricingOptions__actions-message-leading-component']}>{leadingComponent}</span>\n )}\n <div className={styles['PricingOptions__actions-message-content']}>{children}</div>\n </div>\n )\n },\n)\n\nconst PricingOptionsPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n data-testid={testId || testIds.primaryAction}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n size=\"medium\"\n variant=\"primary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\nconst PricingOptionsSecondaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n data-testid={testId || testIds.secondaryAction}\n variant=\"secondary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\ntype PricingOptionsMenuActionProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsMenuAction = forwardRef<HTMLDivElement, PricingOptionsMenuActionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__menu-action'], className)}\n data-testid={testId || testIds.menuAction}\n {...rest}\n >\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFootnoteProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFootnote = forwardRef<HTMLParagraphElement, PricingOptionsFootnoteProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__footnote, className)}\n data-testid={testId || testIds.footnote}\n ref={ref}\n size=\"100\"\n variant=\"muted\"\n weight=\"light\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\n/**\n * Pricing options component:\n * {@link https://primer.style/brand/components/PricingOptions/ See usage examples}.\n */\nexport const PricingOptions = Object.assign(PricingOptionsRoot, {\n ActionsMessage: PricingOptionsActionsMessage,\n Description: PricingOptionsDescription,\n FeatureList: PricingOptionsFeatureList,\n FeatureListHeading: PricingOptionsFeatureListHeading,\n FeatureListGroupHeading: PricingOptionsFeatureListGroupHeading,\n FeatureListItem: PricingOptionsFeatureListItem,\n Footnote: PricingOptionsFootnote,\n Label: PricingOptionsLabel,\n Heading: PricingOptionsHeading,\n Item: PricingOptionsItem,\n MenuAction: PricingOptionsMenuAction,\n Price: PricingOptionsPrice,\n PrimaryAction: PricingOptionsPrimaryAction,\n SecondaryAction: PricingOptionsSecondaryAction,\n testIds,\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"PricingOptions.js","names":[],"sources":["../../src/PricingOptions/PricingOptions.tsx"],"sourcesContent":["import React, {forwardRef, HTMLAttributes, PropsWithChildren, useMemo, Ref, Dispatch} from 'react'\nimport {CheckIcon, TriangleDownIcon, XIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport type {ListItemProps} from '../list/ListItem/ListItem'\nimport type {BaseProps} from '../component-helpers'\nimport {Accordion} from '../Accordion/Accordion'\nimport {Button, type ButtonBaseProps} from '../Button'\nimport {Heading as HeadingComponent, type HeadingProps} from '../Heading'\nimport {Text} from '../Text'\nimport {Tooltip} from '../Tooltip'\nimport {useWindowSize} from '../hooks/useWindowSize'\nimport {UnorderedList, type UnorderedListProps} from '../list'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './PricingOptions.module.css'\n\ntype AlignOptions = 'start' | 'center'\n\nexport type PricingOptionsProps = {\n align?: AlignOptions\n variant?: 'default' | 'default-gradient' | 'cards' | 'cards-gradient'\n ['data-testid']?: string\n} & PropsWithChildren<BaseProps<HTMLDivElement>> &\n HTMLAttributes<HTMLDivElement>\n\nconst testIds = {\n root: 'PricingOptions',\n item: 'PricingOptions__item',\n labelRow: 'PricingOptions__labels',\n heading: 'PricingOptions__heading',\n label: 'PricingOptions__label',\n description: 'PricingOptions__description',\n price: 'PricingOptions__price',\n actionsMessage: 'PricingOptions__actionsMessage',\n primaryAction: 'PricingOptions__primaryAction',\n secondaryAction: 'PricingOptions__secondaryAction',\n menuAction: 'PricingOptions__menuAction',\n featureList: 'PricingOptions__featureList',\n featureListHeading: 'PricingOptions__featureListHeading',\n featureListItem: 'PricingOptions__featureListItem',\n featureListGroupHeading: 'PricingOptions__featureListGroupHeading',\n footnote: 'PricingOptions__footnote',\n}\n\ntype PricingOptionsContextValue = {\n align: AlignOptions\n allFeatureListsExpanded: boolean\n updateFeatureListExpanded: Dispatch<boolean>\n featureListUserInteracted: boolean\n setFeatureListUserInteracted: Dispatch<boolean>\n}\n\nconst PricingOptionsContext = React.createContext<PricingOptionsContextValue>({\n align: 'start',\n allFeatureListsExpanded: false,\n featureListUserInteracted: false,\n updateFeatureListExpanded: () => {},\n setFeatureListUserInteracted: () => {},\n})\n\nconst PricingOptionsProvider = ({children, align = 'start'}: PropsWithChildren<{align: AlignOptions}>) => {\n const [allFeatureListsExpanded, setAllFeatureListsExpanded] = React.useState(false)\n const [featureListUserInteracted, setFeatureListUserInteracted] = React.useState(false)\n\n const updateFeatureListExpanded = (newValue: boolean) => {\n setAllFeatureListsExpanded(() => newValue)\n }\n\n return (\n <PricingOptionsContext.Provider\n value={{\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n align,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n }}\n >\n {children}\n </PricingOptionsContext.Provider>\n )\n}\n\nconst usePricingOptions = (): PricingOptionsContextValue => {\n return React.useContext(PricingOptionsContext)\n}\n\nconst pricingOptionsDefaultFeatureListHeading = \"What's included\"\n\ntype PricingOptionsLabelProps = PropsWithChildren<{\n 'data-testid'?: string\n}>\n\nconst PricingOptionsLabel = ({children}: PricingOptionsLabelProps) => {\n return <>{children}</>\n}\n\nconst PricingOptionsRoot = forwardRef(\n (\n {\n align = 'start',\n children,\n className,\n 'data-testid': testId,\n variant = 'default',\n ...rest\n }: PropsWithChildren<PricingOptionsProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const filteredChildren = useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsItem,\n ) as React.ReactElement<PropsWithChildren<PricingOptionsItem>>[],\n [children],\n ).slice(0, 4)\n\n const headerLabels = useMemo(\n () =>\n filteredChildren.map(item => {\n const labelChild = React.Children.toArray(item.props.children).find(\n child =>\n React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsLabel,\n )\n\n return (\n React.isValidElement(labelChild) ? labelChild : null\n ) as React.ReactElement<PricingOptionsLabelProps> | null\n }),\n [filteredChildren],\n )\n\n const hasHeaderLabels = headerLabels.some(label => label !== null)\n\n return (\n <PricingOptionsProvider align={align}>\n <div\n className={clsx(\n styles.PricingOptions,\n styles[`PricingOptions--layout-${variant.includes('default') ? 'default' : 'cards'}`],\n styles[`PricingOptions--items${filteredChildren.length}`],\n styles[`PricingOptions--appearance-${variant.includes('gradient') ? 'gradient' : 'solid'}`],\n className,\n )}\n data-testid={testId || testIds.root}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n {filteredChildren}\n\n {hasHeaderLabels && (\n <div\n className={styles['PricingOptions__labels']}\n data-testid={testIds.labelRow}\n style={\n {\n '--brand-pricing-options-column-count': filteredChildren.length,\n } as React.CSSProperties\n }\n >\n {headerLabels.map((headerLabel, index) => {\n const hasLabelContent = Boolean(headerLabel?.props.children)\n\n return (\n <div\n className={clsx(\n styles['PricingOptions__label-cell'],\n hasLabelContent\n ? styles['PricingOptions__label-cell--has-label']\n : styles['PricingOptions__label-cell--empty'],\n )}\n data-testid={headerLabel?.props['data-testid'] || testIds.label}\n key={index}\n >\n {headerLabel?.props.children ? (\n <span className={styles.PricingOptions__label}>{headerLabel.props.children}</span>\n ) : null}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </PricingOptionsProvider>\n )\n },\n)\n\nexport type PricingOptionsItem = {\n ['data-testid']?: string\n /**\n * Escape-hatch for inserting custom React components.\n * Warning:\n * This prop isn't advertised in our docs but remains part of the public API for edge-cases.\n * Need to use this prop? Please check in with #primer-brand first to confirm correct usage.\n */\n leadingComponent?: React.ReactElement\n} & PropsWithChildren<BaseProps<HTMLDivElement>>\n\ntype FilteredChildren = {\n FeatureList: React.ReactElement<PricingOptionsFeatureListProps> | null\n Actions: React.ReactElement<PricingOptionsActionsProps>[]\n ActionsMessage: React.ReactElement<PricingOptionsActionsMessageProps> | null\n Footnote: React.ReactElement<PricingOptionsFootnoteProps> | null\n Heading: React.ReactElement<PricingOptionsHeadingProps> | null\n Description: React.ReactElement<PricingOptionsDescriptionProps> | null\n Price: React.ReactElement<PricingOptionsPriceProps> | null\n}\n\nconst PricingOptionsItem = forwardRef(\n (\n {'data-testid': testId, children, className, leadingComponent, ...rest}: PropsWithChildren<PricingOptionsItem>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {align} = usePricingOptions()\n\n const memoizedChildren = useMemo(() => React.Children.toArray(children), [children])\n\n const filteredChildren = memoizedChildren.reduce<FilteredChildren>(\n (acc, child) => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (child.type === PricingOptionsFeatureList) {\n acc.FeatureList = child as React.ReactElement<PricingOptionsFeatureListProps> | null\n }\n\n if (\n child.type === PricingOptionsPrimaryAction ||\n child.type === PricingOptionsSecondaryAction ||\n child.type === PricingOptionsMenuAction\n ) {\n acc.Actions.push(child as React.ReactElement<PricingOptionsActionsProps>)\n }\n\n if (child.type === PricingOptionsActionsMessage) {\n acc.ActionsMessage = child as React.ReactElement<PricingOptionsActionsMessageProps>\n }\n\n if (child.type === PricingOptionsFootnote) {\n acc.Footnote = child as React.ReactElement<PricingOptionsFootnoteProps>\n }\n\n if (child.type === PricingOptionsHeading) {\n acc.Heading = child as React.ReactElement<PricingOptionsHeadingProps>\n }\n\n if (child.type === PricingOptionsDescription) {\n acc.Description = child as React.ReactElement<PricingOptionsDescriptionProps>\n }\n\n if (child.type === PricingOptionsPrice) {\n acc.Price = child as React.ReactElement<PricingOptionsPriceProps>\n }\n }\n\n return acc\n },\n {\n FeatureList: null,\n Actions: [],\n ActionsMessage: null,\n Footnote: null,\n Heading: null,\n Description: null,\n Price: null,\n },\n )\n\n const {Heading, Description, Price, FeatureList, Actions, ActionsMessage, Footnote} = filteredChildren\n\n return (\n <div\n className={clsx(\n styles.PricingOptions__item,\n leadingComponent && styles['PricingOptions__item--has-leading-component'],\n styles[`PricingOptions__item--align-${align}`],\n className,\n )}\n data-testid={testId || testIds.item}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n <div className={styles['PricingOptions__header']}>{Heading}</div>\n {Description}\n {Price}\n {leadingComponent && <div className={styles['PricingOptions__leading-component']}>{leadingComponent}</div>}\n {(Actions.length > 0 || ActionsMessage) && (\n <div className={styles.PricingOptions__actions}>\n {Actions}\n {ActionsMessage}\n </div>\n )}\n {FeatureList}\n {Footnote}\n </div>\n )\n },\n)\n\ntype PricingOptionsDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsDescription = forwardRef<HTMLParagraphElement, PricingOptionsDescriptionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__description, className)}\n data-testid={testId || testIds.description}\n ref={ref}\n size=\"200\"\n variant=\"muted\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PricingOptionsHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n 'data-testid'?: string\n} & HeadingProps\n\nconst PricingOptionsHeading = forwardRef<HTMLHeadingElement, PricingOptionsHeadingProps>(\n ({as = 'h3', children, 'data-testid': testId, size = '5', className, ...rest}, ref) => {\n return (\n <HeadingComponent\n as={as}\n className={clsx(styles.PricingOptions__heading, styles[`PricingOptions__heading--size-${size}`], className)}\n data-testid={testId || testIds.heading}\n ref={ref}\n size={size}\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n },\n)\n\ntype PricingOptionsPriceProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n currencyCode?: string\n currencySymbol?: string\n 'data-testid'?: string\n originalPrice?: string\n trailingText?: string\n}\n\nconst PricingOptionsPrice = forwardRef<HTMLParagraphElement, PricingOptionsPriceProps>(\n (\n {\n children,\n className,\n currencyCode = 'USD',\n currencySymbol = '$',\n 'data-testid': testId,\n originalPrice,\n trailingText,\n ...rest\n },\n ref,\n ) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__price, className)}\n data-testid={testId || testIds.price}\n ref={ref}\n weight=\"normal\"\n {...rest}\n >\n <span className={styles['PricingOptions__price-amount']}>\n <Text as=\"span\" className={styles['PricingOptions__price-currency-symbol']} size=\"500\" weight=\"normal\">\n {currencySymbol}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-value']} size=\"500\" weight=\"normal\">\n {children}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-currency-code']} size=\"100\" weight=\"normal\">\n {currencyCode}\n </Text>\n </span>\n\n {originalPrice && (\n <del className={styles['PricingOptions__price-original-price']}>\n <Text size=\"400\" variant=\"muted\" weight=\"normal\">\n {currencySymbol}\n </Text>\n <Text\n className={styles['PricingOptions__price-original-price-value']}\n size=\"300\"\n variant=\"muted\"\n weight=\"normal\"\n >\n {originalPrice}\n </Text>\n </del>\n )}\n\n {trailingText && (\n <Text as=\"span\" className={styles['PricingOptions__price-trailing-text']} size=\"200\" variant=\"muted\">\n {trailingText}\n </Text>\n )}\n </Text>\n )\n },\n)\n\ntype PricingOptionsFeatureListProps = BaseProps<HTMLUListElement> & {\n accordionAs?: HeadingProps['as']\n expanded?: ExpandedProp\n hasDivider?: boolean\n children: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps | PricingOptionsFeatureListItemProps>[]\n 'data-testid'?: string\n}\n\ntype ExpandedProp = boolean | ResponsiveExpandableProps\n\ntype ResponsiveExpandableProps = {\n narrow: boolean\n regular: boolean\n wide: boolean\n}\n\ntype ValidFeatureListChildren = {\n Heading: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps> | null\n Items: React.ReactElement<PricingOptionsFeatureListItemProps>[]\n}[]\n\nconst PricingOptionsFeatureList = forwardRef<HTMLDivElement, PricingOptionsFeatureListProps>(\n ({children, className, 'data-testid': testId, hasDivider = true, expanded, accordionAs = 'h4', ...rest}, ref) => {\n const {\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n } = usePricingOptions()\n const {isMedium: isRegular, isXLarge: isWide, isSmall: isNarrow} = useWindowSize()\n\n React.useEffect(() => {\n if (expanded === undefined || typeof expanded === 'object') {\n setFeatureListUserInteracted(false)\n }\n }, [isRegular, isWide, isNarrow, setFeatureListUserInteracted, expanded])\n\n const shouldBeOpen = React.useMemo(() => {\n if (featureListUserInteracted) {\n return allFeatureListsExpanded\n }\n\n // Important: Fixes layout shift by ensuring that explicit values are preserved.\n if (typeof expanded === 'boolean') {\n return expanded\n }\n // If undefined, should follow some default responsive logic\n if (expanded === undefined) {\n if (isWide) return true\n if (isRegular) return true\n return false\n }\n\n // finally handle responsive objects, and go from largest to smallest viewports\n const {narrow, regular, wide} = expanded\n if (isWide) return wide\n if (isRegular) return regular\n return narrow\n }, [expanded, allFeatureListsExpanded, isRegular, isWide, featureListUserInteracted])\n\n let FeatureListHeading = (\n <PricingOptions.FeatureListHeading>{pricingOptionsDefaultFeatureListHeading}</PricingOptions.FeatureListHeading>\n )\n\n const FilteredChildrenSet = React.Children.toArray(children).reduce<ValidFeatureListChildren>((acc, child) => {\n if (React.isValidElement(child) && child.type === PricingOptionsFeatureListHeading) {\n FeatureListHeading = child\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListItem) {\n if (acc.length === 0) {\n acc.push({Heading: null, Items: []})\n }\n acc[acc.length - 1].Items.push(child as React.ReactElement<PricingOptionsFeatureListItemProps>)\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListGroupHeading) {\n acc.push({\n Heading: child as React.ReactElement<PricingOptionsFeatureListGroupHeadingProps>,\n Items: [],\n })\n }\n\n return acc\n }, [])\n\n const FeatureListItems = FilteredChildrenSet.map(({Heading: HeadingChild, Items}, index) => (\n <div className={styles['PricingOptions__feature-list-set']} key={index}>\n {HeadingChild}\n\n <UnorderedList variant=\"checked\" {...(rest as UnorderedListProps)}>\n {Items}\n </UnorderedList>\n </div>\n ))\n\n return (\n <div\n ref={ref}\n className={clsx(\n styles['PricingOptions__feature-list'],\n hasDivider && styles['PricingOptions__feature-list--has-divider'],\n className,\n )}\n data-testid={testId || testIds.featureList}\n >\n <Accordion\n className={styles['PricingOptions__feature-list-accordion']}\n disableAnimation\n open={shouldBeOpen}\n onToggle={event => {\n setFeatureListUserInteracted(true)\n updateFeatureListExpanded(event.currentTarget.open)\n }}\n >\n <Accordion.Heading as={accordionAs} className={styles['PricingOptions__feature-list-accordion-heading']}>\n {FeatureListHeading}\n\n <TriangleDownIcon className={styles['PricingOptions__feature-list-accordion-chevron']} />\n </Accordion.Heading>\n <Accordion.Content className={styles['PricingOptions__feature-list-accordion-content']}>\n {FeatureListItems}\n </Accordion.Content>\n </Accordion>\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListHeadingProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListHeading = forwardRef<HTMLDivElement, PricingOptionsFeatureListHeadingProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div className={className} data-testid={testId || testIds.featureListHeading} ref={ref} {...rest}>\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListGroupHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n as?: Exclude<HeadingProps['as'], 'h1' | 'h2'>\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListGroupHeading = forwardRef<\n HTMLHeadingElement,\n PricingOptionsFeatureListGroupHeadingProps\n>(({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <HeadingComponent\n as=\"h4\"\n className={clsx(styles['PricingOptions__feature-list-group-heading'], className)}\n data-testid={testId || testIds.featureListGroupHeading}\n ref={ref}\n size=\"subhead-medium\"\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n})\n\ntype PricingOptionsFeatureListItemProps = PropsWithChildren<BaseProps<HTMLLIElement>> & {\n 'data-testid'?: string\n infoTooltip?: string\n /**\n * Optional accessible label for the info tooltip trigger. Overrides the automatically generated label.\n */\n infoTooltipAriaLabel?: string\n variant?: 'included' | 'excluded'\n} & Omit<ListItemProps, 'variant'>\n\nconst PricingOptionsFeatureListItem = forwardRef<HTMLLIElement, PricingOptionsFeatureListItemProps>(\n (\n {\n children,\n className,\n infoTooltip,\n infoTooltipAriaLabel,\n leadingVisual,\n leadingVisualFill,\n variant = 'included',\n 'data-testid': testId,\n ...rest\n },\n ref,\n ) => {\n const itemLeadingVisual = leadingVisual ?? (variant === 'included' ? CheckIcon : XIcon)\n const itemLeadingVisualAriaLabel = variant === 'included' ? 'Includes' : 'Does not include'\n\n const itemLeadingVisualFill =\n leadingVisualFill ??\n (variant === 'included' ? 'var(--brand-color-accent-primary)' : 'var(--brand-color-text-muted)')\n\n return (\n <UnorderedList.Item\n className={clsx(\n styles['PricingOptions__feature-list-item'],\n {[styles['PricingOptions__feature-list-item--excluded']]: variant === 'excluded'},\n infoTooltip && styles['PricingOptions__feature-list-item--has-info'],\n className,\n )}\n data-testid={testId || testIds.featureListItem}\n leadingVisual={itemLeadingVisual}\n leadingVisualAriaLabel={itemLeadingVisualAriaLabel}\n leadingVisualFill={itemLeadingVisualFill}\n ref={ref}\n {...rest}\n >\n {children}\n {infoTooltip && (\n <Tooltip text={infoTooltip} direction=\"n\">\n <button\n type=\"button\"\n className={styles['PricingOptions__feature-list-item-info']}\n aria-label={\n infoTooltipAriaLabel ??\n // eslint-disable-next-line i18n-text/no-en\n `More information about ${typeof children === 'string' ? children : 'this feature'}`\n }\n >\n <svg viewBox=\"0 0 4 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path\n d=\"M0.75 3C0.33579 3 0 3.33579 0 3.75C0 4.16421 0.33579 4.5 0.75 4.5H1V6.5H0.75C0.33579 6.5 0 6.8358 0 7.25C0 7.6642 0.33579 8 0.75 8H2.75C3.16421 8 3.5 7.6642 3.5 7.25C3.5 6.8358 3.16421 6.5 2.75 6.5H2.5V3.75C2.5 3.33579 2.16421 3 1.75 3H0.75Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M2.5 1C2.5 1.55228 2.05229 2 1.5 2C0.94772 2 0.5 1.55228 0.5 1C0.5 0.44772 0.94772 0 1.5 0C2.05229 0 2.5 0.44772 2.5 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </Tooltip>\n )}\n </UnorderedList.Item>\n )\n },\n)\n\ntype AsA = {as: 'a'; href: string; 'data-testid'?: string} & React.AnchorHTMLAttributes<BaseProps<HTMLAnchorElement>> &\n ButtonBaseProps\n\ntype AsButton = {as: 'button'; 'data-testid'?: string} & React.ButtonHTMLAttributes<BaseProps<HTMLButtonElement>> &\n ButtonBaseProps\n\ntype PricingOptionsActionsProps = AsA | AsButton\n\ntype PricingOptionsActionsMessageProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n leadingComponent?: React.ReactElement\n}\n\nconst PricingOptionsActionsMessage = forwardRef<HTMLDivElement, PricingOptionsActionsMessageProps>(\n ({children, className, 'data-testid': testId, leadingComponent, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__actions-message'], className)}\n data-testid={testId || testIds.actionsMessage}\n {...rest}\n >\n {leadingComponent && (\n <span className={styles['PricingOptions__actions-message-leading-component']}>{leadingComponent}</span>\n )}\n <div className={styles['PricingOptions__actions-message-content']}>{children}</div>\n </div>\n )\n },\n)\n\nconst PricingOptionsPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n data-testid={testId || testIds.primaryAction}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n size=\"medium\"\n variant=\"primary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\nconst PricingOptionsSecondaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n data-testid={testId || testIds.secondaryAction}\n variant=\"secondary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\ntype PricingOptionsMenuActionProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsMenuAction = forwardRef<HTMLDivElement, PricingOptionsMenuActionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__menu-action'], className)}\n data-testid={testId || testIds.menuAction}\n {...rest}\n >\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFootnoteProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFootnote = forwardRef<HTMLParagraphElement, PricingOptionsFootnoteProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__footnote, className)}\n data-testid={testId || testIds.footnote}\n ref={ref}\n size=\"100\"\n variant=\"muted\"\n weight=\"light\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\n/**\n * Pricing options component:\n * {@link https://primer.style/brand/components/PricingOptions/ See usage examples}.\n */\nexport const PricingOptions = Object.assign(PricingOptionsRoot, {\n ActionsMessage: PricingOptionsActionsMessage,\n Description: PricingOptionsDescription,\n FeatureList: PricingOptionsFeatureList,\n FeatureListHeading: PricingOptionsFeatureListHeading,\n FeatureListGroupHeading: PricingOptionsFeatureListGroupHeading,\n FeatureListItem: PricingOptionsFeatureListItem,\n Footnote: PricingOptionsFootnote,\n Label: PricingOptionsLabel,\n Heading: PricingOptionsHeading,\n Item: PricingOptionsItem,\n MenuAction: PricingOptionsMenuAction,\n Price: PricingOptionsPrice,\n PrimaryAction: PricingOptionsPrimaryAction,\n SecondaryAction: PricingOptionsSecondaryAction,\n testIds,\n})\n"],"mappings":"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"}