@primer/react-brand 0.75.0-rc.c3abcc84 → 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 (915) hide show
  1. package/docs/index.md +2 -2
  2. package/esm/Accordion/Accordion.d.ts +2 -2
  3. package/esm/Accordion/Accordion.d.ts.map +1 -1
  4. package/esm/Accordion/Accordion.js +2 -2
  5. package/esm/Accordion/Accordion.js.map +1 -1
  6. package/esm/Accordion/Accordion.module.js +6 -5
  7. package/esm/ActionMenu/ActionMenu.d.ts +2 -2
  8. package/esm/ActionMenu/ActionMenu.js +3 -2
  9. package/esm/ActionMenu/ActionMenu.js.map +1 -1
  10. package/esm/ActionMenu/ActionMenu.module.js +7 -6
  11. package/esm/AnchorNav/AnchorNav.d.ts +4 -4
  12. package/esm/AnchorNav/AnchorNav.d.ts.map +1 -1
  13. package/esm/AnchorNav/AnchorNav.js +9 -4
  14. package/esm/AnchorNav/AnchorNav.js.map +1 -1
  15. package/esm/AnchorNav/AnchorNav.module.js +5 -4
  16. package/esm/AnchorNav/useExpandedMenu.js.map +1 -1
  17. package/esm/Avatar/Avatar.js +1 -1
  18. package/esm/Avatar/Avatar.js.map +1 -1
  19. package/esm/Avatar/Avatar.module.js +5 -4
  20. package/esm/Bento/Bento.d.ts +4 -4
  21. package/esm/Bento/Bento.js +1 -1
  22. package/esm/Bento/Bento.js.map +1 -1
  23. package/esm/Bento/Bento.module.js +7 -6
  24. package/esm/Box/Box.d.ts +1 -1
  25. package/esm/Box/Box.d.ts.map +1 -1
  26. package/esm/Box/Box.js +1 -1
  27. package/esm/Box/Box.js.map +1 -1
  28. package/esm/Breadcrumbs/Breadcrumbs.js +1 -1
  29. package/esm/Breadcrumbs/Breadcrumbs.js.map +1 -1
  30. package/esm/Breadcrumbs/Breadcrumbs.module.js +7 -6
  31. package/esm/BreakoutBanner/BreakoutBanner.js +1 -1
  32. package/esm/BreakoutBanner/BreakoutBanner.js.map +1 -1
  33. package/esm/BreakoutBanner/BreakoutBanner.module.js +5 -4
  34. package/esm/Button/Button.js +1 -1
  35. package/esm/Button/Button.js.map +1 -1
  36. package/esm/Button/Button.module.js +5 -4
  37. package/esm/ButtonGroup/ButtonGroup.js +1 -1
  38. package/esm/ButtonGroup/ButtonGroup.js.map +1 -1
  39. package/esm/ButtonGroup/ButtonGroup.module.js +3 -2
  40. package/esm/CTABanner/CTABanner.d.ts +1 -1
  41. package/esm/CTABanner/CTABanner.js +2 -2
  42. package/esm/CTABanner/CTABanner.js.map +1 -1
  43. package/esm/CTABanner/CTABanner.module.js +4 -3
  44. package/esm/CTAForm/CTAForm.js +1 -1
  45. package/esm/CTAForm/CTAForm.js.map +1 -1
  46. package/esm/CTAForm/CTAForm.module.js +4 -3
  47. package/esm/Card/Card.d.ts +2 -2
  48. package/esm/Card/Card.d.ts.map +1 -1
  49. package/esm/Card/Card.js +3 -3
  50. package/esm/Card/Card.js.map +1 -1
  51. package/esm/Card/Card.module.js +18 -17
  52. package/esm/ComparisonTable/ComparisonTable.d.ts +3 -3
  53. package/esm/ComparisonTable/ComparisonTable.js +1 -1
  54. package/esm/ComparisonTable/ComparisonTable.js.map +1 -1
  55. package/esm/ComparisonTable/ComparisonTable.module.js +4 -3
  56. package/esm/ExpandableArrow/ExpandableArrow.d.ts +2 -1
  57. package/esm/ExpandableArrow/ExpandableArrow.d.ts.map +1 -1
  58. package/esm/ExpandableArrow/ExpandableArrow.js +1 -1
  59. package/esm/ExpandableArrow/ExpandableArrow.js.map +1 -1
  60. package/esm/ExpandableArrow/ExpandableArrow.module.js +4 -3
  61. package/esm/EyebrowBanner/EyebrowBanner.js +2 -2
  62. package/esm/EyebrowBanner/EyebrowBanner.js.map +1 -1
  63. package/esm/EyebrowBanner/EyebrowBanner.module.js +12 -11
  64. package/esm/EyebrowText/EyebrowText.js +1 -1
  65. package/esm/EyebrowText/EyebrowText.js.map +1 -1
  66. package/esm/EyebrowText/EyebrowText.module.js +4 -3
  67. package/esm/FAQ/FAQ.d.ts +2 -2
  68. package/esm/FAQ/FAQ.d.ts.map +1 -1
  69. package/esm/FAQ/FAQ.js +1 -1
  70. package/esm/FAQ/FAQ.js.map +1 -1
  71. package/esm/FAQ/FAQ.module.js +7 -6
  72. package/esm/FAQ/FAQGroup.d.ts +2 -2
  73. package/esm/FAQ/FAQGroup.d.ts.map +1 -1
  74. package/esm/FAQ/FAQGroup.js +7 -3
  75. package/esm/FAQ/FAQGroup.js.map +1 -1
  76. package/esm/FAQ/FAQGroup.module.js +8 -7
  77. package/esm/Footnotes/Footnotes.d.ts +2 -2
  78. package/esm/Footnotes/Footnotes.d.ts.map +1 -1
  79. package/esm/Footnotes/Footnotes.js +2 -2
  80. package/esm/Footnotes/Footnotes.js.map +1 -1
  81. package/esm/Footnotes/Footnotes.module.js +7 -6
  82. package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
  83. package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts.map +1 -1
  84. package/esm/FrostedGlassVFX/FrostedGlassVFX.js +1 -1
  85. package/esm/FrostedGlassVFX/FrostedGlassVFX.js.map +1 -1
  86. package/esm/FrostedGlassVFX/FrostedGlassVFX.module.js +4 -3
  87. package/esm/Grid/Grid.d.ts +2 -2
  88. package/esm/Grid/Grid.js +2 -2
  89. package/esm/Grid/Grid.js.map +1 -1
  90. package/esm/Grid/Grid.module.js +5 -4
  91. package/esm/Heading/Heading.js +1 -1
  92. package/esm/Heading/Heading.js.map +1 -1
  93. package/esm/Heading/Heading.module.js +4 -3
  94. package/esm/Hero/Hero.js +1 -1
  95. package/esm/Hero/Hero.js.map +1 -1
  96. package/esm/Hero/Hero.module.js +4 -3
  97. package/esm/Hero/HeroContext.js.map +1 -1
  98. package/esm/Hero/sub-components/HeroButtonGroup.js +1 -1
  99. package/esm/Hero/sub-components/HeroButtonGroup.js.map +1 -1
  100. package/esm/Hero/sub-components/HeroDescription.js +1 -1
  101. package/esm/Hero/sub-components/HeroDescription.js.map +1 -1
  102. package/esm/Hero/sub-components/HeroEyebrow.js +1 -1
  103. package/esm/Hero/sub-components/HeroEyebrow.js.map +1 -1
  104. package/esm/Hero/sub-components/HeroHeading.js +1 -1
  105. package/esm/Hero/sub-components/HeroHeading.js.map +1 -1
  106. package/esm/Hero/sub-components/HeroImage.js +1 -1
  107. package/esm/Hero/sub-components/HeroImage.js.map +1 -1
  108. package/esm/Hero/sub-components/HeroLabel.js +1 -1
  109. package/esm/Hero/sub-components/HeroLabel.js.map +1 -1
  110. package/esm/Hero/sub-components/HeroPrimaryAction.js.map +1 -1
  111. package/esm/Hero/sub-components/HeroSecondaryAction.js.map +1 -1
  112. package/esm/Hero/sub-components/HeroVideo.js +2 -2
  113. package/esm/Hero/sub-components/HeroVideo.js.map +1 -1
  114. package/esm/IDE/IDE.d.ts +1 -1
  115. package/esm/IDE/IDE.js +3 -2
  116. package/esm/IDE/IDE.js.map +1 -1
  117. package/esm/IDE/IDE.module.js +8 -7
  118. package/esm/Icon/Icon.d.ts +2 -2
  119. package/esm/Icon/Icon.d.ts.map +1 -1
  120. package/esm/Icon/Icon.js +2 -2
  121. package/esm/Icon/Icon.js.map +1 -1
  122. package/esm/Icon/Icon.module.js +4 -3
  123. package/esm/Image/Image.d.ts +1 -1
  124. package/esm/Image/Image.d.ts.map +1 -1
  125. package/esm/Image/Image.js +1 -1
  126. package/esm/Image/Image.js.map +1 -1
  127. package/esm/Image/Image.module.js +5 -4
  128. package/esm/InlineCode/InlineCode.js +1 -1
  129. package/esm/InlineCode/InlineCode.js.map +1 -1
  130. package/esm/InlineCode/InlineCode.module.js +5 -4
  131. package/esm/InlineLink/InlineLink.js +2 -2
  132. package/esm/InlineLink/InlineLink.js.map +1 -1
  133. package/esm/InlineLink/InlineLink.module.js +3 -2
  134. package/esm/Label/Label.js +1 -1
  135. package/esm/Label/Label.js.map +1 -1
  136. package/esm/Label/Label.module.js +6 -5
  137. package/esm/Link/Link.d.ts +1 -1
  138. package/esm/Link/Link.d.ts.map +1 -1
  139. package/esm/Link/Link.js +2 -2
  140. package/esm/Link/Link.js.map +1 -1
  141. package/esm/Link/Link.module.js +4 -3
  142. package/esm/LogoSuite/LogoSuite.d.ts +1 -1
  143. package/esm/LogoSuite/LogoSuite.js +4 -3
  144. package/esm/LogoSuite/LogoSuite.js.map +1 -1
  145. package/esm/LogoSuite/LogoSuite.module.js +11 -10
  146. package/esm/MediaPlaylist/MediaPlaylist.d.ts +4 -4
  147. package/esm/MediaPlaylist/MediaPlaylist.d.ts.map +1 -1
  148. package/esm/MediaPlaylist/MediaPlaylist.js +1 -1
  149. package/esm/MediaPlaylist/MediaPlaylist.js.map +1 -1
  150. package/esm/MediaPlaylist/MediaPlaylist.module.js +25 -24
  151. package/esm/MediaPlaylist/useMediaPlaylist.js.map +1 -1
  152. package/esm/MinimalFooter/MinimalFooter.d.ts +3 -3
  153. package/esm/MinimalFooter/MinimalFooter.d.ts.map +1 -1
  154. package/esm/MinimalFooter/MinimalFooter.js +4 -3
  155. package/esm/MinimalFooter/MinimalFooter.js.map +1 -1
  156. package/esm/MinimalFooter/MinimalFooter.module.js +15 -14
  157. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js +2 -2
  158. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js.map +1 -1
  159. package/esm/MinimalVideoPlayer/MinimalVideoPlayer.module.js +6 -5
  160. package/esm/MinimalVideoPlayer/useMinimalVideoPlayback.js.map +1 -1
  161. package/esm/NavList/NavList.js +2 -2
  162. package/esm/NavList/NavList.js.map +1 -1
  163. package/esm/NavList/NavList.module.js +18 -17
  164. package/esm/Pagination/Pagination.d.ts +1 -1
  165. package/esm/Pagination/Pagination.d.ts.map +1 -1
  166. package/esm/Pagination/Pagination.js +1 -1
  167. package/esm/Pagination/Pagination.js.map +1 -1
  168. package/esm/Pagination/Pagination.module.js +11 -10
  169. package/esm/Pagination/model.js.map +1 -1
  170. package/esm/Pillar/Pillar.d.ts +2 -2
  171. package/esm/Pillar/Pillar.d.ts.map +1 -1
  172. package/esm/Pillar/Pillar.js +1 -1
  173. package/esm/Pillar/Pillar.js.map +1 -1
  174. package/esm/Pillar/Pillar.module.js +9 -8
  175. package/esm/PricingOptions/PricingOptions.d.ts +1 -1
  176. package/esm/PricingOptions/PricingOptions.js +5 -3
  177. package/esm/PricingOptions/PricingOptions.js.map +1 -1
  178. package/esm/PricingOptions/PricingOptions.module.js +13 -12
  179. package/esm/Prose/Prose.js +1 -1
  180. package/esm/Prose/Prose.js.map +1 -1
  181. package/esm/Prose/Prose.module.js +4 -3
  182. package/esm/Section/Section.js +1 -1
  183. package/esm/Section/Section.js.map +1 -1
  184. package/esm/Section/Section.module.js +5 -4
  185. package/esm/SectionIntro/SectionIntro.js +1 -1
  186. package/esm/SectionIntro/SectionIntro.js.map +1 -1
  187. package/esm/SectionIntro/SectionIntro.module.js +4 -3
  188. package/esm/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
  189. package/esm/SectionIntroStacked/SectionIntroStacked.js +1 -1
  190. package/esm/SectionIntroStacked/SectionIntroStacked.js.map +1 -1
  191. package/esm/SectionIntroStacked/SectionIntroStacked.module.js +6 -5
  192. package/esm/Stack/Stack.js +1 -1
  193. package/esm/Stack/Stack.js.map +1 -1
  194. package/esm/Stack/Stack.module.js +4 -3
  195. package/esm/Statistic/Statistic.js +1 -1
  196. package/esm/Statistic/Statistic.js.map +1 -1
  197. package/esm/Statistic/Statistic.module.js +6 -5
  198. package/esm/SubNav/SubNav.d.ts +4 -4
  199. package/esm/SubNav/SubNav.d.ts.map +1 -1
  200. package/esm/SubNav/SubNav.js +6 -4
  201. package/esm/SubNav/SubNav.js.map +1 -1
  202. package/esm/SubNav/SubNav.module.js +9 -8
  203. package/esm/SubNav/useContainsFocus.js.map +1 -1
  204. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js +4 -3
  205. package/esm/SubdomainNavBar/NavigationVisbilityObserver.js.map +1 -1
  206. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts +3 -3
  207. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts.map +1 -1
  208. package/esm/SubdomainNavBar/SubdomainNavBar.js +6 -2
  209. package/esm/SubdomainNavBar/SubdomainNavBar.js.map +1 -1
  210. package/esm/SubdomainNavBar/SubdomainNavBar.module.js +4 -3
  211. package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js.map +1 -1
  212. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js +2 -2
  213. package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js.map +1 -1
  214. package/esm/SubdomainNavBar/useSearchResults.js.map +1 -1
  215. package/esm/SubdomainNavBar/useVisibilityObserver.js.map +1 -1
  216. package/esm/Tabs/Tabs.js +3 -2
  217. package/esm/Tabs/Tabs.js.map +1 -1
  218. package/esm/Tabs/Tabs.module.js +12 -11
  219. package/esm/Testimonial/Testimonial.d.ts +1 -1
  220. package/esm/Testimonial/Testimonial.d.ts.map +1 -1
  221. package/esm/Testimonial/Testimonial.js +1 -1
  222. package/esm/Testimonial/Testimonial.js.map +1 -1
  223. package/esm/Testimonial/Testimonial.module.js +8 -7
  224. package/esm/Text/Text.d.ts +1 -1
  225. package/esm/Text/Text.d.ts.map +1 -1
  226. package/esm/Text/Text.js +1 -1
  227. package/esm/Text/Text.js.map +1 -1
  228. package/esm/Text/Text.module.js +4 -3
  229. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts +1 -1
  230. package/esm/TextCursorAnimation/TextCursorAnimation.d.ts.map +1 -1
  231. package/esm/TextCursorAnimation/TextCursorAnimation.js +1 -1
  232. package/esm/TextCursorAnimation/TextCursorAnimation.js.map +1 -1
  233. package/esm/TextCursorAnimation/TextCursorAnimation.module.js +10 -9
  234. package/esm/ThemeProvider/ThemeProvider.d.ts +1 -1
  235. package/esm/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  236. package/esm/ThemeProvider/ThemeProvider.js +4 -4
  237. package/esm/ThemeProvider/ThemeProvider.js.map +1 -1
  238. package/esm/ThemeProvider/useTheme.js.map +1 -1
  239. package/esm/Tiles/Tiles.js +2 -2
  240. package/esm/Tiles/Tiles.js.map +1 -1
  241. package/esm/Tiles/Tiles.module.js +4 -3
  242. package/esm/Timeline/Timeline.d.ts +3 -3
  243. package/esm/Timeline/Timeline.d.ts.map +1 -1
  244. package/esm/Timeline/Timeline.js +2 -2
  245. package/esm/Timeline/Timeline.js.map +1 -1
  246. package/esm/Timeline/Timeline.module.js +5 -4
  247. package/esm/Token/Token.js +1 -1
  248. package/esm/Token/Token.js.map +1 -1
  249. package/esm/Token/Token.module.js +6 -5
  250. package/esm/Tooltip/Tooltip.js +2 -2
  251. package/esm/Tooltip/Tooltip.js.map +1 -1
  252. package/esm/Tooltip/Tooltip.module.js +4 -3
  253. package/esm/VideoPlayer/VideoPlayer.d.ts +2 -2
  254. package/esm/VideoPlayer/VideoPlayer.js +2 -2
  255. package/esm/VideoPlayer/VideoPlayer.js.map +1 -1
  256. package/esm/VideoPlayer/VideoPlayer.module.js +29 -28
  257. package/esm/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
  258. package/esm/VideoPlayer/components/CCButton/CCButton.d.ts.map +1 -1
  259. package/esm/VideoPlayer/components/CCButton/CCButton.js +1 -1
  260. package/esm/VideoPlayer/components/CCButton/CCButton.js.map +1 -1
  261. package/esm/VideoPlayer/components/Captions/Captions.d.ts +2 -2
  262. package/esm/VideoPlayer/components/Captions/Captions.d.ts.map +1 -1
  263. package/esm/VideoPlayer/components/Captions/Captions.js +1 -1
  264. package/esm/VideoPlayer/components/Captions/Captions.js.map +1 -1
  265. package/esm/VideoPlayer/components/Captions/Captions.module.js +5 -4
  266. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
  267. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts.map +1 -1
  268. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js +1 -1
  269. package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js.map +1 -1
  270. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
  271. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts.map +1 -1
  272. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js +2 -1
  273. package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js.map +1 -1
  274. package/esm/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
  275. package/esm/VideoPlayer/components/IconControl/IconControl.d.ts.map +1 -1
  276. package/esm/VideoPlayer/components/IconControl/IconControl.js +1 -1
  277. package/esm/VideoPlayer/components/IconControl/IconControl.js.map +1 -1
  278. package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
  279. package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts.map +1 -1
  280. package/esm/VideoPlayer/components/MuteButton/MuteButton.js +2 -1
  281. package/esm/VideoPlayer/components/MuteButton/MuteButton.js.map +1 -1
  282. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
  283. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts.map +1 -1
  284. package/esm/VideoPlayer/components/PauseIcon/PauseIcon.js.map +1 -1
  285. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
  286. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts.map +1 -1
  287. package/esm/VideoPlayer/components/PlayIcon/PlayIcon.js.map +1 -1
  288. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
  289. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts.map +1 -1
  290. package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.js.map +1 -1
  291. package/esm/VideoPlayer/components/Range/Range.d.ts +1 -1
  292. package/esm/VideoPlayer/components/Range/Range.d.ts.map +1 -1
  293. package/esm/VideoPlayer/components/Range/Range.js +1 -1
  294. package/esm/VideoPlayer/components/Range/Range.js.map +1 -1
  295. package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
  296. package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts.map +1 -1
  297. package/esm/VideoPlayer/components/SeekControl/SeekControl.js +1 -1
  298. package/esm/VideoPlayer/components/SeekControl/SeekControl.js.map +1 -1
  299. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
  300. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts.map +1 -1
  301. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js +3 -2
  302. package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js.map +1 -1
  303. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
  304. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts.map +1 -1
  305. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.js.map +1 -1
  306. package/esm/VideoPlayer/components/VolumeControl/VolumeControl.module.js +3 -2
  307. package/esm/VideoPlayer/hooks/useIsElementFullScreen.js.map +1 -1
  308. package/esm/VideoPlayer/hooks/useVideo.js.map +1 -1
  309. package/esm/VideoPlayer/hooks/useVideoResizeObserver.js.map +1 -1
  310. package/esm/animation/Animate/Animate.d.ts +1 -1
  311. package/esm/animation/Animate/Animate.d.ts.map +1 -1
  312. package/esm/animation/Animate/Animate.js +1 -1
  313. package/esm/animation/Animate/Animate.js.map +1 -1
  314. package/esm/animation/Animation.module.js +4 -3
  315. package/esm/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
  316. package/esm/animation/AnimationProvider/AnimationProvider.d.ts.map +1 -1
  317. package/esm/animation/AnimationProvider/AnimationProvider.js.map +1 -1
  318. package/esm/animation/TextRevealAnimation/TextRevealAnimation.js +1 -1
  319. package/esm/animation/TextRevealAnimation/TextRevealAnimation.js.map +1 -1
  320. package/esm/animation/TextRevealAnimation/TextRevealAnimation.module.js +5 -4
  321. package/esm/animation/TextRevealAnimation/useTextRevealAnimationLines.js.map +1 -1
  322. package/esm/animation/useAnimation.js.map +1 -1
  323. package/esm/component-helpers/shared.module.js +3 -2
  324. package/esm/component-helpers.d.ts +2 -2
  325. package/esm/component-helpers.d.ts.map +1 -1
  326. package/esm/constants.js.map +1 -1
  327. package/esm/css/stylesheets.js +1 -1
  328. package/esm/findElementInChildren.js.map +1 -1
  329. package/esm/forms/Checkbox/Checkbox.js +2 -2
  330. package/esm/forms/Checkbox/Checkbox.js.map +1 -1
  331. package/esm/forms/Checkbox/Checkbox.module.js +4 -3
  332. package/esm/forms/ControlGroup/ControlGroup.js +3 -2
  333. package/esm/forms/ControlGroup/ControlGroup.js.map +1 -1
  334. package/esm/forms/ControlGroup/ControlGroup.module.js +7 -6
  335. package/esm/forms/FormControl/FormControl.d.ts +5 -5
  336. package/esm/forms/FormControl/FormControl.d.ts.map +1 -1
  337. package/esm/forms/FormControl/FormControl.js +4 -3
  338. package/esm/forms/FormControl/FormControl.js.map +1 -1
  339. package/esm/forms/FormControl/FormControl.module.js +5 -4
  340. package/esm/forms/Radio/Radio.js +1 -1
  341. package/esm/forms/Radio/Radio.js.map +1 -1
  342. package/esm/forms/Radio/Radio.module.js +4 -3
  343. package/esm/forms/Select/Select.d.ts +2 -2
  344. package/esm/forms/Select/Select.js +1 -1
  345. package/esm/forms/Select/Select.js.map +1 -1
  346. package/esm/forms/Select/Select.module.js +4 -3
  347. package/esm/forms/TextInput/TextInput.js +1 -1
  348. package/esm/forms/TextInput/TextInput.js.map +1 -1
  349. package/esm/forms/TextInput/TextInput.module.js +5 -4
  350. package/esm/forms/Textarea/Textarea.js +1 -1
  351. package/esm/forms/Textarea/Textarea.js.map +1 -1
  352. package/esm/forms/Textarea/Textarea.module.js +4 -3
  353. package/esm/hooks/useAnchoredPosition.js +7 -4
  354. package/esm/hooks/useAnchoredPosition.js.map +1 -1
  355. package/esm/hooks/useCursorAnimation.js +4 -2
  356. package/esm/hooks/useCursorAnimation.js.map +1 -1
  357. package/esm/hooks/useFocusTrap.js.map +1 -1
  358. package/esm/hooks/useId.js.map +1 -1
  359. package/esm/hooks/useKeyboardEscape.js.map +1 -1
  360. package/esm/hooks/useOnClickOutside.js.map +1 -1
  361. package/esm/hooks/useReducedMotion.js +1 -1
  362. package/esm/hooks/useReducedMotion.js.map +1 -1
  363. package/esm/hooks/useRef.js.map +1 -1
  364. package/esm/hooks/useResizeObserver.js.map +1 -1
  365. package/esm/hooks/useTabs.js +1 -1
  366. package/esm/hooks/useTabs.js.map +1 -1
  367. package/esm/hooks/useWindowSize.js +7 -7
  368. package/esm/hooks/useWindowSize.js.map +1 -1
  369. package/esm/list/ListItem/ListItem.js +4 -2
  370. package/esm/list/ListItem/ListItem.js.map +1 -1
  371. package/esm/list/ListItem/ListItem.module.js +5 -4
  372. package/esm/list/OrderedList/OrderedList.d.ts +2 -2
  373. package/esm/list/OrderedList/OrderedList.d.ts.map +1 -1
  374. package/esm/list/OrderedList/OrderedList.js +1 -1
  375. package/esm/list/OrderedList/OrderedList.js.map +1 -1
  376. package/esm/list/OrderedList/OrderedList.module.js +3 -2
  377. package/esm/list/UnorderedList/UnorderedList.d.ts +2 -2
  378. package/esm/list/UnorderedList/UnorderedList.d.ts.map +1 -1
  379. package/esm/list/UnorderedList/UnorderedList.js +1 -1
  380. package/esm/list/UnorderedList/UnorderedList.js.map +1 -1
  381. package/esm/list/list-shared.module.js +3 -2
  382. package/esm/list/listContext.js.map +1 -1
  383. package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js +28 -0
  384. package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js.map +1 -0
  385. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js +20 -0
  386. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js.map +1 -0
  387. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js +20 -0
  388. package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js.map +1 -0
  389. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js +28 -0
  390. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js.map +1 -0
  391. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js +20 -0
  392. package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js.map +1 -0
  393. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js +28 -0
  394. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js.map +1 -0
  395. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js +28 -0
  396. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js.map +1 -0
  397. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js +28 -0
  398. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js.map +1 -0
  399. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js +28 -0
  400. package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js.map +1 -0
  401. package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js +33 -0
  402. package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js.map +1 -0
  403. package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js +20 -0
  404. package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js.map +1 -0
  405. package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js +20 -0
  406. package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js.map +1 -0
  407. package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js +20 -0
  408. package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js.map +1 -0
  409. package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js +20 -0
  410. package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js.map +1 -0
  411. package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js +20 -0
  412. package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js.map +1 -0
  413. package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js +20 -0
  414. package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js.map +1 -0
  415. package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js +20 -0
  416. package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js.map +1 -0
  417. package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js +20 -0
  418. package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js.map +1 -0
  419. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js +20 -0
  420. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js.map +1 -0
  421. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js +20 -0
  422. package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js.map +1 -0
  423. package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js +20 -0
  424. package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js.map +1 -0
  425. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js +20 -0
  426. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js.map +1 -0
  427. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js +20 -0
  428. package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js.map +1 -0
  429. package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js +20 -0
  430. package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js.map +1 -0
  431. package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js +28 -0
  432. package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js.map +1 -0
  433. package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js +132 -0
  434. package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js.map +1 -0
  435. package/esm/node_modules/clsx/dist/clsx.js +1 -1
  436. package/esm/node_modules/clsx/dist/clsx.js.map +1 -1
  437. package/esm/river/River/River.js +2 -2
  438. package/esm/river/River/River.js.map +1 -1
  439. package/esm/river/RiverAccordion/RiverAccordion.d.ts +4 -4
  440. package/esm/river/RiverAccordion/RiverAccordion.js +3 -2
  441. package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
  442. package/esm/river/RiverAccordion/RiverAccordion.module.js +16 -15
  443. package/esm/river/RiverBreakout/RiverBreakout.d.ts +1 -1
  444. package/esm/river/RiverBreakout/RiverBreakout.js +1 -1
  445. package/esm/river/RiverBreakout/RiverBreakout.js.map +1 -1
  446. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
  447. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js +2 -2
  448. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js.map +1 -1
  449. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.module.js +31 -30
  450. package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
  451. package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts.map +1 -1
  452. package/esm/river/RiverStoryScroll/RiverStoryScroll.js +5 -3
  453. package/esm/river/RiverStoryScroll/RiverStoryScroll.js.map +1 -1
  454. package/esm/river/RiverStoryScroll/RiverStoryScroll.module.js +8 -7
  455. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
  456. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts.map +1 -1
  457. package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.js.map +1 -1
  458. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
  459. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts.map +1 -1
  460. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js +1 -1
  461. package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js.map +1 -1
  462. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
  463. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts.map +1 -1
  464. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js +1 -1
  465. package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js.map +1 -1
  466. package/esm/river/river-shared.module.js +13 -12
  467. package/esm/utils/getTextContent.js.map +1 -1
  468. package/esm/utils/isFragmentElement.js.map +1 -1
  469. package/lib/Accordion/Accordion.d.ts +2 -2
  470. package/lib/ActionMenu/ActionMenu.d.ts +2 -2
  471. package/lib/AnchorNav/AnchorNav.d.ts +4 -4
  472. package/lib/Bento/Bento.d.ts +4 -4
  473. package/lib/Box/Box.d.ts +1 -1
  474. package/lib/CTABanner/CTABanner.d.ts +1 -1
  475. package/lib/Card/Card.d.ts +2 -2
  476. package/lib/ComparisonTable/ComparisonTable.d.ts +3 -3
  477. package/lib/ExpandableArrow/ExpandableArrow.d.ts +2 -1
  478. package/lib/FAQ/FAQ.d.ts +2 -2
  479. package/lib/FAQ/FAQGroup.d.ts +2 -2
  480. package/lib/Footnotes/Footnotes.d.ts +2 -2
  481. package/lib/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
  482. package/lib/Grid/Grid.d.ts +2 -2
  483. package/lib/IDE/IDE.d.ts +1 -1
  484. package/lib/Icon/Icon.d.ts +2 -2
  485. package/lib/Image/Image.d.ts +1 -1
  486. package/lib/Link/Link.d.ts +1 -1
  487. package/lib/LogoSuite/LogoSuite.d.ts +1 -1
  488. package/lib/MediaPlaylist/MediaPlaylist.d.ts +4 -4
  489. package/lib/MinimalFooter/MinimalFooter.d.ts +3 -3
  490. package/lib/Pagination/Pagination.d.ts +1 -1
  491. package/lib/Pillar/Pillar.d.ts +2 -2
  492. package/lib/PricingOptions/PricingOptions.d.ts +1 -1
  493. package/lib/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
  494. package/lib/SubNav/SubNav.d.ts +4 -4
  495. package/lib/SubdomainNavBar/SubdomainNavBar.d.ts +3 -3
  496. package/lib/Testimonial/Testimonial.d.ts +1 -1
  497. package/lib/Text/Text.d.ts +1 -1
  498. package/lib/TextCursorAnimation/TextCursorAnimation.d.ts +1 -1
  499. package/lib/ThemeProvider/ThemeProvider.d.ts +1 -1
  500. package/lib/Timeline/Timeline.d.ts +3 -3
  501. package/lib/VideoPlayer/VideoPlayer.d.ts +2 -2
  502. package/lib/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
  503. package/lib/VideoPlayer/components/Captions/Captions.d.ts +2 -2
  504. package/lib/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
  505. package/lib/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
  506. package/lib/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
  507. package/lib/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
  508. package/lib/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
  509. package/lib/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
  510. package/lib/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
  511. package/lib/VideoPlayer/components/Range/Range.d.ts +1 -1
  512. package/lib/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
  513. package/lib/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
  514. package/lib/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
  515. package/lib/animation/Animate/Animate.d.ts +1 -1
  516. package/lib/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
  517. package/lib/component-helpers.d.ts +2 -2
  518. package/lib/css/main.css +148 -838
  519. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  520. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  521. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  522. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  523. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  524. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  525. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  526. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  527. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  528. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  529. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  530. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  531. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  532. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  533. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  534. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  535. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  536. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  537. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  538. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  539. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  540. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  541. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  542. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  543. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  544. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  545. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  546. package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
  547. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  548. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  549. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  550. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  551. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  552. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  553. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  554. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  555. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  556. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  557. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  558. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  559. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  560. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
  561. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
  562. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  563. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  564. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  565. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  566. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  567. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  568. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  569. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  570. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  571. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  572. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
  573. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
  574. package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
  575. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  576. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  577. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  578. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  579. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  580. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  581. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  582. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  583. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  584. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  585. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  586. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  587. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +1 -1
  588. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  589. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  590. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  591. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +1 -1
  592. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  593. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  594. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +1 -1
  595. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +1 -1
  596. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +1 -1
  597. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  598. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  599. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  600. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  601. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  602. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  603. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  604. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  605. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  606. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  607. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  608. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  609. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  610. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  611. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  612. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  613. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  614. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  615. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  616. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  617. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  618. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  619. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  620. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  621. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  622. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  623. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  624. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  625. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  626. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  627. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  628. package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
  629. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  630. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  631. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  632. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  633. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  634. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  635. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  636. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  637. package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
  638. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  639. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  640. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  641. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  642. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  643. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  644. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
  645. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  646. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  647. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  648. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  649. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  650. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  651. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  652. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  653. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  654. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  655. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +1 -1
  656. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  657. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +1 -1
  658. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  659. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  660. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  661. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  662. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  663. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  664. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  665. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  666. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  667. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  668. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  669. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  670. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  671. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  672. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  673. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  674. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  675. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  676. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  677. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  678. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  679. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  680. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  681. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  682. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  683. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  684. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  685. package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
  686. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  687. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  688. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  689. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  690. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  691. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  692. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  693. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  694. package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
  695. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  696. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  697. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  698. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  699. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  700. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  701. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
  702. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  703. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  704. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  705. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  706. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  707. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  708. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  709. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  710. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  711. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  712. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +1 -1
  713. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  714. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +1 -1
  715. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  716. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  717. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  718. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  719. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  720. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  721. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  722. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  723. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  724. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  725. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  726. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  727. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  728. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  729. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  730. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  731. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  732. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  733. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  734. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  735. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  736. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  737. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  738. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  739. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  740. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  741. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  742. package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
  743. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  744. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  745. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  746. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  747. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  748. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  749. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  750. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  751. package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
  752. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  753. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  754. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  755. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  756. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  757. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  758. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
  759. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  760. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  761. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  762. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  763. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  764. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  765. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  766. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  767. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  768. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  769. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +1 -1
  770. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  771. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +1 -1
  772. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +1 -1
  773. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  774. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  775. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  776. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  777. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  778. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  779. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  780. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  781. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  782. package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
  783. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  784. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  785. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  786. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  787. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  788. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  789. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  790. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  791. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  792. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  793. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  794. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  795. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  796. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  797. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  798. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  799. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  800. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  801. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  802. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  803. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  804. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  805. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  806. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  807. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  808. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  809. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  810. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  811. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  812. package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
  813. package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
  814. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  815. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  816. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  817. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  818. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  819. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  820. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  821. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  822. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  823. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  824. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  825. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  826. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  827. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  828. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  829. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  830. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
  831. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
  832. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  833. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  834. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  835. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  836. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  837. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  838. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  839. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  840. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  841. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  842. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  843. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  844. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
  845. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
  846. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  847. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  848. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  849. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  850. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  851. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  852. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  853. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  854. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  855. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  856. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  857. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  858. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  859. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  860. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  861. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  862. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  863. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  864. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  865. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  866. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +1 -1
  867. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -1
  868. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  869. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  870. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +1 -1
  871. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +1 -1
  872. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +1 -1
  873. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  874. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  875. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  876. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  877. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  878. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  879. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  880. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  881. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  882. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  883. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  884. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  885. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  886. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  887. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  888. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  889. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  890. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  891. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  892. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  893. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  894. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  895. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  896. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  897. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  898. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  899. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  900. package/lib/forms/FormControl/FormControl.d.ts +5 -5
  901. package/lib/forms/Select/Select.d.ts +2 -2
  902. package/lib/index.js +1 -1
  903. package/lib/list/OrderedList/OrderedList.d.ts +2 -2
  904. package/lib/list/UnorderedList/UnorderedList.d.ts +2 -2
  905. package/lib/river/RiverAccordion/RiverAccordion.d.ts +4 -4
  906. package/lib/river/RiverBreakout/RiverBreakout.d.ts +1 -1
  907. package/lib/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
  908. package/lib/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
  909. package/lib/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
  910. package/lib/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
  911. package/lib/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
  912. package/llms.txt +2 -2
  913. package/package.json +24 -23
  914. package/esm/node_modules/@primer/octicons-react/dist/index.esm.js +0 -434
  915. package/esm/node_modules/@primer/octicons-react/dist/index.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IDE.js","names":[],"sources":["../../src/IDE/IDE.tsx"],"sourcesContent":["import {CopilotIcon, PaperAirplaneIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport React, {\n Children,\n forwardRef,\n isValidElement,\n memo,\n type PropsWithChildren,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {Avatar, Text, TextInput} from '..'\nimport type {BaseProps} from '../component-helpers'\nimport {useTabs} from '../hooks/useTabs'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/ide/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport animationStyles from '../animation/Animation.module.css'\nimport styles from './IDE.module.css'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\n\nconst testIds = {\n root: 'IDE',\n get chat() {\n return `${this.root}-chat`\n },\n get editor() {\n return `${this.root}-editor`\n },\n get editorContent() {\n return `${this.editor}-content`\n },\n get editorTabs() {\n return `${this.editor}-tab`\n },\n}\n\n/**\n * @deprecated IDEProps is deprecated and will be removed in a future release.\n */\nexport type IDEProps = {\n /**\n * Test id for the IDE\n */\n 'data-testid'?: string\n /**\n * The optionally configurable height of the IDE\n */\n height?: number\n /**\n * Alternative presentation of the IDE\n */\n variant?: 'default' | 'glass'\n} & BaseProps<HTMLDivElement>\n\nconst _IDERoot = memo(\n ({children, className, 'data-testid': testId, height, variant = 'default', ...rest}: PropsWithChildren<IDEProps>) => {\n const [animationIsPaused, setAnimationIsPaused] = useState(false)\n const [chatAnimationIsDone, setChatAnimationIsDone] = useState(false)\n const [editorAnimationIsDone, setEditorAnimationIsDone] = useState(false)\n const chatRef = useRef<IDEChatHandle>(null)\n const editorRef = useRef<IDEEditorHandle>(null)\n\n useEffect(() => {\n if (chatAnimationIsDone && editorAnimationIsDone) {\n setAnimationIsPaused(false)\n }\n }, [chatAnimationIsDone, editorAnimationIsDone])\n\n const childrenArray = useMemo(() => Children.toArray(children), [children])\n\n const ChatChild = childrenArray.find(\n (child): child is React.ReactElement<React.ComponentProps<typeof IDE.Chat>> =>\n isValidElement(child) && child.type === IDE.Chat,\n )\n const hasChatChild = !!ChatChild\n const ClonedChatChild = hasChatChild\n ? React.cloneElement(ChatChild, {\n ref: chatRef,\n 'data-testid': testId || testIds.chat,\n animationIsPaused,\n setAnimationIsDone: setChatAnimationIsDone,\n })\n : null\n\n const EditorChild = childrenArray.find(\n (child): child is React.ReactElement<React.ComponentProps<typeof IDE.Editor>> =>\n isValidElement(child) && child.type === IDE.Editor,\n )\n const hasEditorChild = !!EditorChild\n const ClonedEditorChild = hasEditorChild\n ? React.cloneElement(EditorChild, {\n ref: editorRef,\n 'data-testid': testId || testIds.editor,\n animationIsPaused,\n setAnimationIsDone: setEditorAnimationIsDone,\n })\n : null\n\n // If a child exists, we need to account for its animation state\n const allAnimationsAreDone = (!hasChatChild || chatAnimationIsDone) && (!hasEditorChild || editorAnimationIsDone)\n\n const onPlayPause = useCallback(\n isPlaying => {\n if (allAnimationsAreDone) {\n setChatAnimationIsDone(false)\n setEditorAnimationIsDone(false)\n chatRef.current?.resetAnimation()\n editorRef.current?.resetAnimation()\n } else {\n setAnimationIsPaused(!isPlaying)\n }\n },\n [allAnimationsAreDone],\n )\n\n return (\n <section\n data-testid={testId || testIds.root}\n className={clsx(\n styles[`IDE--${variant}`],\n hasChatChild && hasEditorChild && styles['IDE--full-exp'],\n hasChatChild && !hasEditorChild && styles['IDE--chat-only'],\n className,\n )}\n >\n <div {...rest}>\n <div\n className={styles['IDE__inner']}\n style={{['--brand-IDE-height' as string]: height ? `${height}px` : undefined}}\n >\n <div className={styles.IDE__main}>\n {ClonedChatChild}\n {ClonedEditorChild}\n </div>\n <PlayPauseButton isPlaying={!animationIsPaused && !allAnimationsAreDone} onPlayPause={onPlayPause} />\n </div>\n </div>\n </section>\n )\n },\n)\n\ntype IDEChatProps = {\n /**\n * The chat script\n */\n script: IDEChatMessage[]\n /**\n * Alternative description of the chat script for users of assistive technologies.\n */\n alternativeText: string\n /**\n * The delay between messages\n */\n animationDelay?: number\n /**\n * Test id for the IDE\n */\n 'data-testid'?: string\n /**\n * Internal prop used for controlling the animation state\n */\n animationIsPaused?: boolean\n /**\n * Internal prop used for controlling the animation state\n */\n setAnimationIsDone?: (isDone: boolean) => void\n} & BaseProps<HTMLElement>\n\ntype IDEChatMessageUser = {\n role: 'user'\n avatar: string\n}\n\ntype IDEChatMessageAssistant = {\n role: 'assistant'\n}\n\n/**\n * @deprecated IDEChatMessage is deprecated and will be removed in a future release.\n */\nexport type IDEChatMessage = {handle: string; message: string; codeSnippet?: string; highlighter?: 'hljs'} & (\n | IDEChatMessageUser\n | IDEChatMessageAssistant\n)\n\ntype IDEChatHandle = HTMLElement & {\n resetAnimation: () => void\n}\n\nconst _Chat = memo(\n forwardRef<IDEChatHandle, IDEChatProps>(\n (\n {\n 'data-testid': testId,\n script,\n animationDelay = 3000,\n alternativeText,\n animationIsPaused,\n setAnimationIsDone,\n ...rest\n },\n forwardedRef,\n ) => {\n const ref = useProvidedRefOrCreate(forwardedRef)\n const delay = animationDelay\n const messagesRef = useRef<HTMLDivElement>(null)\n const [scheduledAnimations, setScheduledAnimations] = useState<IDEChatAnimation[]>([])\n const isPausedRef = useRef(animationIsPaused)\n isPausedRef.current = animationIsPaused\n\n const scrollIntoParentView = useCallback((element: Element | null) => {\n if (!element || !messagesRef.current) return\n const container = messagesRef.current\n const elementRect = element.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n if (elementRect.top < containerRect.top || elementRect.bottom > containerRect.bottom) {\n container.scrollTop += elementRect.top - containerRect.top\n }\n }, [])\n\n const scheduleAnimations = useCallback(() => {\n if (!script.length) return\n\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n const defaultMessages = Array.from(allMessages).slice(0, 1)\n const newerMessages = Array.from(allMessages).slice(1)\n\n const animations: IDEChatAnimation[] = []\n\n if (defaultMessages[0]) {\n animations.push({\n delay: 0,\n action: 'show',\n element: defaultMessages[0] as HTMLElement,\n })\n }\n\n animations.push({\n delay: delay / 4,\n action: 'delay',\n })\n\n for (const [index, message] of newerMessages.entries()) {\n animations.push({\n delay,\n action: 'show',\n element: message as HTMLElement,\n shouldScroll: index % 2 === 0,\n shouldFadePrevious: true,\n messageIndex: index,\n isLast: index === newerMessages.length - 1,\n })\n }\n\n animations.push({\n delay: 100,\n isDone: true,\n })\n\n setScheduledAnimations(animations)\n }, [script, delay])\n\n const resetAnimation = useCallback(() => {\n setAnimationIsDone?.(false)\n\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n for (const message of allMessages) {\n message.classList.remove(styles['IDE__Chat-message--visible'], styles['IDE__Chat-message--faded'])\n }\n\n if (messagesRef.current) {\n messagesRef.current.scrollTop = 0\n }\n\n scheduleAnimations()\n }, [scheduleAnimations, setAnimationIsDone])\n\n useImperativeHandle(ref, () => {\n if (!ref.current) {\n return {\n resetAnimation,\n } as IDEChatHandle\n }\n\n return {\n ...ref.current,\n resetAnimation,\n }\n })\n\n useEffect(() => {\n scheduleAnimations()\n }, [scheduleAnimations])\n\n useEffect(() => {\n let prevTimestamp = -1\n let animationId: number\n let currentIndex = 0\n\n const animate: FrameRequestCallback = timestamp => {\n if (currentIndex >= scheduledAnimations.length || isPausedRef.current) {\n if (isPausedRef.current) {\n // Reset timestamp when paused so we don't accumulate time\n prevTimestamp = -1\n }\n animationId = requestAnimationFrame(animate)\n return\n }\n\n const diff = prevTimestamp === -1 ? 0 : timestamp - prevTimestamp\n prevTimestamp = timestamp\n\n const nextAnimation = scheduledAnimations[currentIndex]\n\n if (nextAnimation.isDone) {\n setAnimationIsDone?.(true)\n return\n }\n\n nextAnimation.delay -= diff\n\n if (nextAnimation.delay <= 0) {\n if (nextAnimation.action === 'delay') {\n // Just a delay, no visual action needed\n currentIndex++\n } else {\n const animation = nextAnimation as IDEChatAnimationWithElement\n\n if (animation.shouldScroll) {\n scrollIntoParentView(animation.element)\n }\n\n if (animation.shouldFadePrevious) {\n // Fade previous messages\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n const defaultMessages = Array.from(allMessages).slice(0, 1)\n const newerMessages = Array.from(allMessages).slice(1)\n\n for (const defaultMessage of defaultMessages) {\n defaultMessage.classList.add(styles['IDE__Chat-message--faded'])\n }\n\n const filteredNewerMessage = newerMessages.filter((_, i) => i < (animation.messageIndex ?? 0))\n for (const filteredMessage of filteredNewerMessage) {\n filteredMessage.classList.add(styles['IDE__Chat-message--faded'])\n }\n\n // Remove faded class from all messages at the end\n if (animation.isLast) {\n setTimeout(() => {\n for (const defaultMessage of defaultMessages) {\n defaultMessage.classList.remove(styles['IDE__Chat-message--faded'])\n }\n for (const newerMessage of newerMessages) {\n newerMessage.classList.remove(styles['IDE__Chat-message--faded'])\n }\n }, 100)\n }\n }\n\n animation.element.classList.add(styles['IDE__Chat-message--visible'])\n currentIndex++\n }\n }\n\n animationId = requestAnimationFrame(animate)\n }\n\n animationId = requestAnimationFrame(animate)\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId)\n }\n }\n }, [scheduledAnimations, scrollIntoParentView, setAnimationIsDone])\n\n return (\n <section ref={ref} className={styles.IDE__Chat} data-testid={testId || testIds.chat} {...rest}>\n <span className=\"visually-hidden\">{alternativeText}</span>\n <div className={styles['IDE__Chat-wrapper']} aria-hidden>\n <div ref={messagesRef} className={styles['IDE__Chat-messages']}>\n {script.length &&\n script.map((message, index) => (\n <div\n id={`IDE__Chat-message-${index}`}\n key={index}\n className={clsx(\n styles['IDE__Chat-message'],\n message.role === 'user' && styles['IDE__Chat-message--user'],\n )}\n >\n <div className={styles['IDE__Chat-message-user']}>\n {message.role === 'user' ? (\n <Avatar src={message.avatar} alt={message.handle} />\n ) : (\n <CopilotIcon size={24} />\n )}\n <Text as=\"p\" size=\"100\" weight=\"medium\" className={styles['IDE__Chat-message-handle']}>\n {message.handle}\n </Text>\n </div>\n <div className={styles['IDE__Chat-message-content']}>\n <div className={styles['IDE__Chat-message-text']}>{message.message}</div>\n\n {message.highlighter && message.codeSnippet && (\n <pre\n className={styles['IDE__Chat-message-snippet']}\n dangerouslySetInnerHTML={{__html: message.codeSnippet}}\n />\n )}\n\n {!message.highlighter && message.codeSnippet && (\n <pre className={styles['IDE__Chat-message-snippet']}>{message.codeSnippet}</pre>\n )}\n </div>\n </div>\n ))}\n </div>\n <div className={styles['IDE__Chat-input-area']}>\n <TextInput\n disabled\n className={styles['IDE__Chat-input']}\n fullWidth\n placeholder=\"Ask a question or type '/' for commands.\"\n trailingVisual={<PaperAirplaneIcon className={styles['IDE__Chat-input-icon']} />}\n />\n </div>\n </div>\n </section>\n )\n },\n ),\n)\n\ntype IDEEditorProps = {\n /**\n * The index of the active tab.\n */\n activeTab?: number\n\n /**\n * An array of IDE editor files.\n */\n files: IDEEditorFile[]\n\n /**\n * Determines whether line numbers should be shown in the editor.\n */\n showLineNumbers?: boolean\n\n /**\n * Controls the size of the editor text.\n */\n size?: 'small' | 'medium' | 'large'\n\n /**\n * Used for triggering animation externally.\n */\n triggerAnimation?: boolean\n\n /**\n * Test id for the IDE.\n */\n 'data-testid'?: string\n /**\n * Enable user customisation of the icons used in file tabs.\n */\n tabIcons?: IDEEditorTabIcon\n /**\n * Internal prop used for controlling the animation state\n */\n animationIsPaused?: boolean\n /**\n * Internal prop used for controlling the animation state\n */\n setAnimationIsDone?: (isDone: boolean) => void\n} & BaseProps<HTMLDivElement>\n\n/**\n * @deprecated IDEEditorFile is deprecated and will be removed in a future release.\n */\nexport type IDEEditorFile = {\n name: string\n /**\n * Alternative description of the code for users of assistive technologies.\n */\n alternativeText: string\n /**\n * Controls line at which the Copilot suggestion begins\n */\n suggestedLineStart?: number\n code: string | string[]\n highlighter?: 'hljs' // add additional highlighters as needed\n}\n\ntype IDEEditorTabIcon = Record<string, string>\n\nconst iconBaseUrl = 'https://github.com/primer/brand/assets'\n\nexport const IDEDefaultIconMap: IDEEditorTabIcon = {\n py: `${iconBaseUrl}/13340707/7ca66487-d958-4c30-acbc-397f7a6169b7`,\n ts: `${iconBaseUrl}/13340707/2a7b87cf-b522-4ab5-a127-5a2c69bd0a89`,\n js: `${iconBaseUrl}/13340707/5a7bfffa-af38-4e32-ab39-a9e7efbcc7c6`,\n jsx: `${iconBaseUrl}/13340707/d975a978-dbc7-4626-b995-c00cac9bc132`,\n hs: `${iconBaseUrl}/13340707/826843ce-424b-4693-84d3-a43e4b7f1280`,\n html: `${iconBaseUrl}/13340707/f5b03413-b8f4-4cd5-9d91-6b574ada14ed`,\n css: `${iconBaseUrl}/13340707/3df2f0ba-daff-4b76-8492-f5773c515369`,\n scss: `${iconBaseUrl}/13340707/a1d21f2e-c813-4211-8d9a-2869c1968e9a`,\n json: `${iconBaseUrl}/13340707/ca21068e-8c27-4b84-9a1d-b965b49b3568`,\n md: `${iconBaseUrl}/13340707/39e7ff2b-9d0a-47e9-9686-bed51800084c`,\n yml: `${iconBaseUrl}/13340707/afb28101-1352-444f-8a8e-419b6883132f`,\n yaml: `${iconBaseUrl}/13340707/afb28101-1352-444f-8a8e-419b6883132f`,\n txt: `${iconBaseUrl}/13340707/7c52da20-1fe2-496c-b4bb-6ea61d0fe3dd`,\n sh: `${iconBaseUrl}/13340707/549ce181-4541-4811-8712-a9c5abd8eeae`,\n sql: `${iconBaseUrl}/13340707/b2b73a2e-e4e1-47c8-aabc-c204836244b8`,\n // Add additional default icons as needed\n // Note: These can also be customised and extended by end user using the tabIcons prop\n}\n\nexport const IDEFileExtensions = Object.keys(IDEDefaultIconMap)\n\ntype IDEAnimation = {\n delay: number\n isDone?: boolean\n tab: string | null\n} & ({elements: HTMLElement[]} | {isDone: true})\n\ntype IDEChatAnimation = {\n delay: number\n isDone?: boolean\n} & (\n | {\n action: 'show'\n element: HTMLElement\n shouldScroll?: boolean\n shouldFadePrevious?: boolean\n messageIndex?: number\n isLast?: boolean\n }\n | {action: 'delay'}\n | {isDone: true}\n)\n\ntype IDEChatAnimationWithElement = {\n delay: number\n action: 'show'\n element: HTMLElement\n shouldScroll?: boolean\n shouldFadePrevious?: boolean\n messageIndex?: number\n isLast?: boolean\n}\n\ntype IDEEditorHandle = HTMLElement & {\n resetAnimation: () => void\n}\n\nconst _Editor = memo(\n forwardRef<IDEEditorHandle, IDEEditorProps>(\n (\n {\n activeTab = 0,\n 'data-testid': testId,\n files,\n triggerAnimation = false,\n showLineNumbers = true,\n size = 'medium',\n tabIcons = IDEDefaultIconMap,\n animationIsPaused,\n setAnimationIsDone,\n ...rest\n },\n forwardedRef,\n ) => {\n const ref = useProvidedRefOrCreate(forwardedRef)\n const presRef = useRef<HTMLDivElement>(null)\n const [scheduledAnimations, setScheduledAnimations] = useState<IDEAnimation[]>([])\n const isPausedRef = useRef(animationIsPaused)\n isPausedRef.current = animationIsPaused\n\n const tabs = useTabs({\n defaultTab: activeTab.toString(),\n autoActivate: true,\n onTabActivate: (_, activeTabRef) => {\n activeTabRef?.scrollIntoView({behavior: 'smooth', block: 'nearest', inline: 'start'})\n resetAnimation()\n },\n })\n\n const scheduleAnimations = useCallback(() => {\n if (!presRef.current) return\n\n const pres = presRef.current.querySelectorAll<HTMLPreElement>('pre:not([data-has-suggestion=\"true\"])')\n const copilotSuggestions = presRef.current.querySelectorAll<HTMLPreElement>('pre[data-has-suggestion=\"true\"]')\n\n const animations: IDEAnimation[] = []\n\n for (const pre of pres) {\n animations.push({\n delay: 200,\n elements: [pre],\n tab: tabs.activeTab,\n })\n }\n\n animations.push({\n delay: 1000,\n elements: Array.from(copilotSuggestions),\n tab: tabs.activeTab,\n })\n\n animations.push({\n delay: 200,\n isDone: true,\n tab: tabs.activeTab,\n })\n\n setScheduledAnimations(animations)\n }, [tabs.activeTab])\n\n const resetAnimation = useCallback(() => {\n setScheduledAnimations([])\n setAnimationIsDone?.(false)\n\n const pres = presRef.current?.querySelectorAll('pre')\n if (pres) {\n for (const pre of pres) {\n pre.classList.remove(animationStyles['Animation--active'])\n }\n }\n\n scheduleAnimations()\n }, [scheduleAnimations, setAnimationIsDone])\n\n useImperativeHandle(ref, () => {\n if (!ref.current) {\n return {\n resetAnimation,\n } as IDEEditorHandle\n }\n\n return {\n ...ref.current,\n resetAnimation,\n }\n })\n\n useEffect(() => {\n scheduleAnimations()\n }, [scheduleAnimations, triggerAnimation])\n\n useEffect(() => {\n let prevTimestamp = -1\n let animationId: number\n let currentIndex = 0\n\n const animate: FrameRequestCallback = timestamp => {\n if (currentIndex >= scheduledAnimations.length || tabs.activeTab === null) {\n return\n }\n\n if (isPausedRef.current) {\n // Reset timestamp when paused so we don't accumulate time\n prevTimestamp = -1\n animationId = requestAnimationFrame(animate)\n return\n }\n\n const diff = prevTimestamp === -1 ? 0 : timestamp - prevTimestamp\n prevTimestamp = timestamp\n\n const nextAnimation = scheduledAnimations[currentIndex]\n\n if (nextAnimation.isDone) {\n setAnimationIsDone?.(true)\n return\n }\n\n if (nextAnimation.tab !== tabs.activeTab) {\n return\n }\n\n nextAnimation.delay -= diff\n\n if (nextAnimation.delay <= 0) {\n for (const element of nextAnimation.elements) {\n element.classList.add(animationStyles['Animation--active'])\n }\n currentIndex++\n }\n\n animationId = requestAnimationFrame(animate)\n }\n\n animationId = requestAnimationFrame(animate)\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId)\n }\n }\n }, [scheduledAnimations, setAnimationIsDone, tabs.activeTab])\n\n return (\n <div\n className={clsx(styles.IDE__Editor, styles[`IDE__Editor--${size}`])}\n data-testid={testId || testIds.editor}\n {...rest}\n >\n <div\n className={styles['IDE__Editor-tabs']}\n data-testid={testIds.editorTabs}\n {...tabs.getTabListProps({label: 'files'})}\n >\n {files.map((file, index) => {\n const language = file.name.split('.').pop()\n const isActiveTab = tabs.activeTab === index.toString()\n\n return (\n <button\n {...tabs.getTabProps(index.toString())}\n key={file.name}\n className={clsx(styles['IDE__Editor-tab'], isActiveTab && styles['IDE__Editor-tab--active'])}\n >\n {language && (\n <img\n className={styles['IDE__Editor-tab-icon']}\n alt=\"\"\n width={16}\n height={16}\n src={tabIcons[language]}\n />\n )}\n {file.name}\n </button>\n )\n })}\n </div>\n <div className={styles['IDE__Editor-content']}>\n {files.map((file, fileIndex) => (\n <div {...tabs.getTabPanelProps(fileIndex.toString())} key={file.name}>\n <span className=\"visually-hidden\">{file.alternativeText}</span>\n <div className={styles['IDE__Editor-content-wrapper']} aria-hidden=\"true\">\n {showLineNumbers && (\n <div className={styles['IDE__Editor-lineNumbers']}>\n {(Array.isArray(file.code) ? file.code : file.code.split('\\n')).map((_, index) => (\n <div key={index} className={styles['IDE__Editor-lineNumber']}>\n {index + 1}\n </div>\n ))}\n </div>\n )}\n <div\n ref={tabs.activeTab === fileIndex.toString() ? presRef : null}\n data-testid={testIds.editorContent}\n className={styles['IDE__Editor-content-inner']}\n >\n {Array.isArray(file.code) ? (\n (file.code as string[]).map((line, index) => {\n const isSuggestion = index + 1 >= (file.suggestedLineStart ?? Infinity)\n return (\n <React.Fragment key={line + index}>\n <pre\n key={index}\n className={clsx(\n styles['IDE__Editor-pane'],\n index + 1 < (file.suggestedLineStart ?? Infinity) &&\n animationStyles['Animation--slide-in-right'],\n isSuggestion && animationStyles['Animation--slide-in-down'],\n isSuggestion && styles['IDE__Editor-pane--suggested'],\n )}\n dangerouslySetInnerHTML={{__html: line === '' ? '&nbsp;' : line}}\n data-has-suggestion={isSuggestion}\n />\n {isSuggestion && index === file.code.length - 1 && (\n <pre\n className={clsx(\n animationStyles['Animation--slide-in-down'],\n styles['IDE__Chat-copilot-indicator'],\n )}\n data-has-suggestion={isSuggestion}\n >\n <CopilotIcon size={24} className={styles['IDE__Chat-copilot-indicator-label']} />\n <Text as=\"span\" className={styles['IDE__Chat-copilot-indicator-label']}>\n Copilot\n </Text>\n </pre>\n )}\n </React.Fragment>\n )\n })\n ) : (\n <pre\n className={clsx(styles['IDE__Editor-pane'], animationStyles['Animation--slide-in-right'])}\n dangerouslySetInnerHTML={{__html: file.code}}\n />\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )\n },\n ),\n)\n\nconst PauseIcon = () => (\n <svg fill=\"none\" role=\"presentation\" aria-hidden=\"true\" viewBox=\"3.17 2.28 13.7 15.42\">\n <path\n d=\"M4.66148 2.3125C3.83593 2.3125 3.16669 2.98174 3.16669 3.80729V16.1927C3.16669 17.0183 3.83593 17.6875 4.66148 17.6875H7.65106C8.47662 17.6875 9.14586 17.0183 9.14586 16.1927V3.80729C9.14586 2.98174 8.47662 2.3125 7.65106 2.3125H4.66148ZM4.44794 3.80729C4.44794 3.68936 4.54355 3.59375 4.66148 3.59375H7.65106C7.769 3.59375 7.86461 3.68936 7.86461 3.80729V16.1927C7.86461 16.3106 7.769 16.4062 7.65106 16.4062H4.66148C4.54355 16.4062 4.44794 16.3106 4.44794 16.1927V3.80729ZM12.349 2.3125C11.5235 2.3125 10.8542 2.98174 10.8542 3.80729V16.1927C10.8542 17.0183 11.5235 17.6875 12.349 17.6875H15.3386C16.1642 17.6875 16.8334 17.0183 16.8334 16.1927V3.80729C16.8334 2.98174 16.1642 2.3125 15.3386 2.3125H12.349ZM12.1355 3.80729C12.1355 3.68936 12.2311 3.59375 12.349 3.59375H15.3386C15.4565 3.59375 15.5521 3.68936 15.5521 3.80729V16.1927C15.5521 16.3106 15.4565 16.4062 15.3386 16.4062H12.349C12.2311 16.4062 12.1355 16.3106 12.1355 16.1927V3.80729Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n)\nconst PlayIcon = () => (\n <svg fill=\"none\" role=\"presentation\" aria-hidden=\"true\" viewBox=\"4.02 2.3 14.43 15.4\">\n <path\n d=\"M6.24905 3.69194C5.82218 3.45967 5.30225 3.76868 5.30225 4.25466V15.7452C5.30225 16.2312 5.82218 16.5402 6.24906 16.3079L16.8079 10.5626C17.2538 10.32 17.2538 9.67983 16.8079 9.4372L6.24905 3.69194ZM4.021 4.25466C4.021 2.79672 5.58078 1.86969 6.86142 2.56651L17.4203 8.31176C18.758 9.03966 18.758 10.9602 17.4203 11.6881L6.86143 17.4333C5.58079 18.1301 4.021 17.2031 4.021 15.7452V4.25466Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n)\n\ntype PlayPauseButtonProps = {\n isPlaying?: boolean\n onPlayPause?: (isPlaying: boolean) => void\n}\n\nconst PlayPauseButton = ({isPlaying = true, onPlayPause}: PlayPauseButtonProps) => {\n const onClick = useCallback(() => {\n onPlayPause?.(!isPlaying)\n }, [onPlayPause, isPlaying])\n\n /**\n * aria-pressed is intentionally not used here to prevent potentially confusing screen reader announcements\n * eg \"Play animation on\" or \"Pause animation off\"\n */\n return (\n <button\n className={styles['IDE__play-pause-button']}\n type=\"button\"\n onClick={onClick}\n aria-label={isPlaying ? 'Pause animation' : 'Play animation'}\n >\n {isPlaying ? <PauseIcon /> : <PlayIcon />}\n </button>\n )\n}\n\n/**\n * Use IDE to display a decorative editor component\n * @deprecated IDE is deprecated and will be removed in a future release.\n * @see https://primer.style/brand/components/IDE\n */\nexport const IDE = Object.assign(_IDERoot, {\n testIds,\n Chat: _Chat,\n Editor: _Editor,\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"IDE.js","names":[],"sources":["../../src/IDE/IDE.tsx"],"sourcesContent":["import {CopilotIcon, PaperAirplaneIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport React, {\n Children,\n forwardRef,\n isValidElement,\n memo,\n type PropsWithChildren,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport {Avatar, Text, TextInput} from '..'\nimport type {BaseProps} from '../component-helpers'\nimport {useTabs} from '../hooks/useTabs'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/ide/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport animationStyles from '../animation/Animation.module.css'\nimport styles from './IDE.module.css'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\n\nconst testIds = {\n root: 'IDE',\n get chat() {\n return `${this.root}-chat`\n },\n get editor() {\n return `${this.root}-editor`\n },\n get editorContent() {\n return `${this.editor}-content`\n },\n get editorTabs() {\n return `${this.editor}-tab`\n },\n}\n\n/**\n * @deprecated IDEProps is deprecated and will be removed in a future release.\n */\nexport type IDEProps = {\n /**\n * Test id for the IDE\n */\n 'data-testid'?: string\n /**\n * The optionally configurable height of the IDE\n */\n height?: number\n /**\n * Alternative presentation of the IDE\n */\n variant?: 'default' | 'glass'\n} & BaseProps<HTMLDivElement>\n\nconst _IDERoot = memo(\n ({children, className, 'data-testid': testId, height, variant = 'default', ...rest}: PropsWithChildren<IDEProps>) => {\n const [animationIsPaused, setAnimationIsPaused] = useState(false)\n const [chatAnimationIsDone, setChatAnimationIsDone] = useState(false)\n const [editorAnimationIsDone, setEditorAnimationIsDone] = useState(false)\n const chatRef = useRef<IDEChatHandle>(null)\n const editorRef = useRef<IDEEditorHandle>(null)\n\n useEffect(() => {\n if (chatAnimationIsDone && editorAnimationIsDone) {\n setAnimationIsPaused(false)\n }\n }, [chatAnimationIsDone, editorAnimationIsDone])\n\n const childrenArray = useMemo(() => Children.toArray(children), [children])\n\n const ChatChild = childrenArray.find(\n (child): child is React.ReactElement<React.ComponentProps<typeof IDE.Chat>> =>\n isValidElement(child) && child.type === IDE.Chat,\n )\n const hasChatChild = !!ChatChild\n const ClonedChatChild = hasChatChild\n ? React.cloneElement(ChatChild, {\n ref: chatRef,\n 'data-testid': testId || testIds.chat,\n animationIsPaused,\n setAnimationIsDone: setChatAnimationIsDone,\n })\n : null\n\n const EditorChild = childrenArray.find(\n (child): child is React.ReactElement<React.ComponentProps<typeof IDE.Editor>> =>\n isValidElement(child) && child.type === IDE.Editor,\n )\n const hasEditorChild = !!EditorChild\n const ClonedEditorChild = hasEditorChild\n ? React.cloneElement(EditorChild, {\n ref: editorRef,\n 'data-testid': testId || testIds.editor,\n animationIsPaused,\n setAnimationIsDone: setEditorAnimationIsDone,\n })\n : null\n\n // If a child exists, we need to account for its animation state\n const allAnimationsAreDone = (!hasChatChild || chatAnimationIsDone) && (!hasEditorChild || editorAnimationIsDone)\n\n const onPlayPause = useCallback(\n isPlaying => {\n if (allAnimationsAreDone) {\n setChatAnimationIsDone(false)\n setEditorAnimationIsDone(false)\n chatRef.current?.resetAnimation()\n editorRef.current?.resetAnimation()\n } else {\n setAnimationIsPaused(!isPlaying)\n }\n },\n [allAnimationsAreDone],\n )\n\n return (\n <section\n data-testid={testId || testIds.root}\n className={clsx(\n styles[`IDE--${variant}`],\n hasChatChild && hasEditorChild && styles['IDE--full-exp'],\n hasChatChild && !hasEditorChild && styles['IDE--chat-only'],\n className,\n )}\n >\n <div {...rest}>\n <div\n className={styles['IDE__inner']}\n style={{['--brand-IDE-height' as string]: height ? `${height}px` : undefined}}\n >\n <div className={styles.IDE__main}>\n {ClonedChatChild}\n {ClonedEditorChild}\n </div>\n <PlayPauseButton isPlaying={!animationIsPaused && !allAnimationsAreDone} onPlayPause={onPlayPause} />\n </div>\n </div>\n </section>\n )\n },\n)\n\ntype IDEChatProps = {\n /**\n * The chat script\n */\n script: IDEChatMessage[]\n /**\n * Alternative description of the chat script for users of assistive technologies.\n */\n alternativeText: string\n /**\n * The delay between messages\n */\n animationDelay?: number\n /**\n * Test id for the IDE\n */\n 'data-testid'?: string\n /**\n * Internal prop used for controlling the animation state\n */\n animationIsPaused?: boolean\n /**\n * Internal prop used for controlling the animation state\n */\n setAnimationIsDone?: (isDone: boolean) => void\n} & BaseProps<HTMLElement>\n\ntype IDEChatMessageUser = {\n role: 'user'\n avatar: string\n}\n\ntype IDEChatMessageAssistant = {\n role: 'assistant'\n}\n\n/**\n * @deprecated IDEChatMessage is deprecated and will be removed in a future release.\n */\nexport type IDEChatMessage = {handle: string; message: string; codeSnippet?: string; highlighter?: 'hljs'} & (\n | IDEChatMessageUser\n | IDEChatMessageAssistant\n)\n\ntype IDEChatHandle = HTMLElement & {\n resetAnimation: () => void\n}\n\nconst _Chat = memo(\n forwardRef<IDEChatHandle, IDEChatProps>(\n (\n {\n 'data-testid': testId,\n script,\n animationDelay = 3000,\n alternativeText,\n animationIsPaused,\n setAnimationIsDone,\n ...rest\n },\n forwardedRef,\n ) => {\n const ref = useProvidedRefOrCreate(forwardedRef)\n const delay = animationDelay\n const messagesRef = useRef<HTMLDivElement>(null)\n const [scheduledAnimations, setScheduledAnimations] = useState<IDEChatAnimation[]>([])\n const isPausedRef = useRef(animationIsPaused)\n isPausedRef.current = animationIsPaused\n\n const scrollIntoParentView = useCallback((element: Element | null) => {\n if (!element || !messagesRef.current) return\n const container = messagesRef.current\n const elementRect = element.getBoundingClientRect()\n const containerRect = container.getBoundingClientRect()\n\n if (elementRect.top < containerRect.top || elementRect.bottom > containerRect.bottom) {\n container.scrollTop += elementRect.top - containerRect.top\n }\n }, [])\n\n const scheduleAnimations = useCallback(() => {\n if (!script.length) return\n\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n const defaultMessages = Array.from(allMessages).slice(0, 1)\n const newerMessages = Array.from(allMessages).slice(1)\n\n const animations: IDEChatAnimation[] = []\n\n if (defaultMessages[0]) {\n animations.push({\n delay: 0,\n action: 'show',\n element: defaultMessages[0] as HTMLElement,\n })\n }\n\n animations.push({\n delay: delay / 4,\n action: 'delay',\n })\n\n for (const [index, message] of newerMessages.entries()) {\n animations.push({\n delay,\n action: 'show',\n element: message as HTMLElement,\n shouldScroll: index % 2 === 0,\n shouldFadePrevious: true,\n messageIndex: index,\n isLast: index === newerMessages.length - 1,\n })\n }\n\n animations.push({\n delay: 100,\n isDone: true,\n })\n\n setScheduledAnimations(animations)\n }, [script, delay])\n\n const resetAnimation = useCallback(() => {\n setAnimationIsDone?.(false)\n\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n for (const message of allMessages) {\n message.classList.remove(styles['IDE__Chat-message--visible'], styles['IDE__Chat-message--faded'])\n }\n\n if (messagesRef.current) {\n messagesRef.current.scrollTop = 0\n }\n\n scheduleAnimations()\n }, [scheduleAnimations, setAnimationIsDone])\n\n useImperativeHandle(ref, () => {\n if (!ref.current) {\n return {\n resetAnimation,\n } as IDEChatHandle\n }\n\n return {\n ...ref.current,\n resetAnimation,\n }\n })\n\n useEffect(() => {\n scheduleAnimations()\n }, [scheduleAnimations])\n\n useEffect(() => {\n let prevTimestamp = -1\n let animationId: number\n let currentIndex = 0\n\n const animate: FrameRequestCallback = timestamp => {\n if (currentIndex >= scheduledAnimations.length || isPausedRef.current) {\n if (isPausedRef.current) {\n // Reset timestamp when paused so we don't accumulate time\n prevTimestamp = -1\n }\n animationId = requestAnimationFrame(animate)\n return\n }\n\n const diff = prevTimestamp === -1 ? 0 : timestamp - prevTimestamp\n prevTimestamp = timestamp\n\n const nextAnimation = scheduledAnimations[currentIndex]\n\n if (nextAnimation.isDone) {\n setAnimationIsDone?.(true)\n return\n }\n\n nextAnimation.delay -= diff\n\n if (nextAnimation.delay <= 0) {\n if (nextAnimation.action === 'delay') {\n // Just a delay, no visual action needed\n currentIndex++\n } else {\n const animation = nextAnimation as IDEChatAnimationWithElement\n\n if (animation.shouldScroll) {\n scrollIntoParentView(animation.element)\n }\n\n if (animation.shouldFadePrevious) {\n // Fade previous messages\n const allMessages = document.querySelectorAll(`.${styles['IDE__Chat-message']}`)\n const defaultMessages = Array.from(allMessages).slice(0, 1)\n const newerMessages = Array.from(allMessages).slice(1)\n\n for (const defaultMessage of defaultMessages) {\n defaultMessage.classList.add(styles['IDE__Chat-message--faded'])\n }\n\n const filteredNewerMessage = newerMessages.filter((_, i) => i < (animation.messageIndex ?? 0))\n for (const filteredMessage of filteredNewerMessage) {\n filteredMessage.classList.add(styles['IDE__Chat-message--faded'])\n }\n\n // Remove faded class from all messages at the end\n if (animation.isLast) {\n setTimeout(() => {\n for (const defaultMessage of defaultMessages) {\n defaultMessage.classList.remove(styles['IDE__Chat-message--faded'])\n }\n for (const newerMessage of newerMessages) {\n newerMessage.classList.remove(styles['IDE__Chat-message--faded'])\n }\n }, 100)\n }\n }\n\n animation.element.classList.add(styles['IDE__Chat-message--visible'])\n currentIndex++\n }\n }\n\n animationId = requestAnimationFrame(animate)\n }\n\n animationId = requestAnimationFrame(animate)\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId)\n }\n }\n }, [scheduledAnimations, scrollIntoParentView, setAnimationIsDone])\n\n return (\n <section ref={ref} className={styles.IDE__Chat} data-testid={testId || testIds.chat} {...rest}>\n <span className=\"visually-hidden\">{alternativeText}</span>\n <div className={styles['IDE__Chat-wrapper']} aria-hidden>\n <div ref={messagesRef} className={styles['IDE__Chat-messages']}>\n {script.length &&\n script.map((message, index) => (\n <div\n id={`IDE__Chat-message-${index}`}\n key={index}\n className={clsx(\n styles['IDE__Chat-message'],\n message.role === 'user' && styles['IDE__Chat-message--user'],\n )}\n >\n <div className={styles['IDE__Chat-message-user']}>\n {message.role === 'user' ? (\n <Avatar src={message.avatar} alt={message.handle} />\n ) : (\n <CopilotIcon size={24} />\n )}\n <Text as=\"p\" size=\"100\" weight=\"medium\" className={styles['IDE__Chat-message-handle']}>\n {message.handle}\n </Text>\n </div>\n <div className={styles['IDE__Chat-message-content']}>\n <div className={styles['IDE__Chat-message-text']}>{message.message}</div>\n\n {message.highlighter && message.codeSnippet && (\n <pre\n className={styles['IDE__Chat-message-snippet']}\n dangerouslySetInnerHTML={{__html: message.codeSnippet}}\n />\n )}\n\n {!message.highlighter && message.codeSnippet && (\n <pre className={styles['IDE__Chat-message-snippet']}>{message.codeSnippet}</pre>\n )}\n </div>\n </div>\n ))}\n </div>\n <div className={styles['IDE__Chat-input-area']}>\n <TextInput\n disabled\n className={styles['IDE__Chat-input']}\n fullWidth\n placeholder=\"Ask a question or type '/' for commands.\"\n trailingVisual={<PaperAirplaneIcon className={styles['IDE__Chat-input-icon']} />}\n />\n </div>\n </div>\n </section>\n )\n },\n ),\n)\n\ntype IDEEditorProps = {\n /**\n * The index of the active tab.\n */\n activeTab?: number\n\n /**\n * An array of IDE editor files.\n */\n files: IDEEditorFile[]\n\n /**\n * Determines whether line numbers should be shown in the editor.\n */\n showLineNumbers?: boolean\n\n /**\n * Controls the size of the editor text.\n */\n size?: 'small' | 'medium' | 'large'\n\n /**\n * Used for triggering animation externally.\n */\n triggerAnimation?: boolean\n\n /**\n * Test id for the IDE.\n */\n 'data-testid'?: string\n /**\n * Enable user customisation of the icons used in file tabs.\n */\n tabIcons?: IDEEditorTabIcon\n /**\n * Internal prop used for controlling the animation state\n */\n animationIsPaused?: boolean\n /**\n * Internal prop used for controlling the animation state\n */\n setAnimationIsDone?: (isDone: boolean) => void\n} & BaseProps<HTMLDivElement>\n\n/**\n * @deprecated IDEEditorFile is deprecated and will be removed in a future release.\n */\nexport type IDEEditorFile = {\n name: string\n /**\n * Alternative description of the code for users of assistive technologies.\n */\n alternativeText: string\n /**\n * Controls line at which the Copilot suggestion begins\n */\n suggestedLineStart?: number\n code: string | string[]\n highlighter?: 'hljs' // add additional highlighters as needed\n}\n\ntype IDEEditorTabIcon = Record<string, string>\n\nconst iconBaseUrl = 'https://github.com/primer/brand/assets'\n\nexport const IDEDefaultIconMap: IDEEditorTabIcon = {\n py: `${iconBaseUrl}/13340707/7ca66487-d958-4c30-acbc-397f7a6169b7`,\n ts: `${iconBaseUrl}/13340707/2a7b87cf-b522-4ab5-a127-5a2c69bd0a89`,\n js: `${iconBaseUrl}/13340707/5a7bfffa-af38-4e32-ab39-a9e7efbcc7c6`,\n jsx: `${iconBaseUrl}/13340707/d975a978-dbc7-4626-b995-c00cac9bc132`,\n hs: `${iconBaseUrl}/13340707/826843ce-424b-4693-84d3-a43e4b7f1280`,\n html: `${iconBaseUrl}/13340707/f5b03413-b8f4-4cd5-9d91-6b574ada14ed`,\n css: `${iconBaseUrl}/13340707/3df2f0ba-daff-4b76-8492-f5773c515369`,\n scss: `${iconBaseUrl}/13340707/a1d21f2e-c813-4211-8d9a-2869c1968e9a`,\n json: `${iconBaseUrl}/13340707/ca21068e-8c27-4b84-9a1d-b965b49b3568`,\n md: `${iconBaseUrl}/13340707/39e7ff2b-9d0a-47e9-9686-bed51800084c`,\n yml: `${iconBaseUrl}/13340707/afb28101-1352-444f-8a8e-419b6883132f`,\n yaml: `${iconBaseUrl}/13340707/afb28101-1352-444f-8a8e-419b6883132f`,\n txt: `${iconBaseUrl}/13340707/7c52da20-1fe2-496c-b4bb-6ea61d0fe3dd`,\n sh: `${iconBaseUrl}/13340707/549ce181-4541-4811-8712-a9c5abd8eeae`,\n sql: `${iconBaseUrl}/13340707/b2b73a2e-e4e1-47c8-aabc-c204836244b8`,\n // Add additional default icons as needed\n // Note: These can also be customised and extended by end user using the tabIcons prop\n}\n\nexport const IDEFileExtensions = Object.keys(IDEDefaultIconMap)\n\ntype IDEAnimation = {\n delay: number\n isDone?: boolean\n tab: string | null\n} & ({elements: HTMLElement[]} | {isDone: true})\n\ntype IDEChatAnimation = {\n delay: number\n isDone?: boolean\n} & (\n | {\n action: 'show'\n element: HTMLElement\n shouldScroll?: boolean\n shouldFadePrevious?: boolean\n messageIndex?: number\n isLast?: boolean\n }\n | {action: 'delay'}\n | {isDone: true}\n)\n\ntype IDEChatAnimationWithElement = {\n delay: number\n action: 'show'\n element: HTMLElement\n shouldScroll?: boolean\n shouldFadePrevious?: boolean\n messageIndex?: number\n isLast?: boolean\n}\n\ntype IDEEditorHandle = HTMLElement & {\n resetAnimation: () => void\n}\n\nconst _Editor = memo(\n forwardRef<IDEEditorHandle, IDEEditorProps>(\n (\n {\n activeTab = 0,\n 'data-testid': testId,\n files,\n triggerAnimation = false,\n showLineNumbers = true,\n size = 'medium',\n tabIcons = IDEDefaultIconMap,\n animationIsPaused,\n setAnimationIsDone,\n ...rest\n },\n forwardedRef,\n ) => {\n const ref = useProvidedRefOrCreate(forwardedRef)\n const presRef = useRef<HTMLDivElement>(null)\n const [scheduledAnimations, setScheduledAnimations] = useState<IDEAnimation[]>([])\n const isPausedRef = useRef(animationIsPaused)\n isPausedRef.current = animationIsPaused\n\n const tabs = useTabs({\n defaultTab: activeTab.toString(),\n autoActivate: true,\n onTabActivate: (_, activeTabRef) => {\n activeTabRef?.scrollIntoView({behavior: 'smooth', block: 'nearest', inline: 'start'})\n resetAnimation()\n },\n })\n\n const scheduleAnimations = useCallback(() => {\n if (!presRef.current) return\n\n const pres = presRef.current.querySelectorAll<HTMLPreElement>('pre:not([data-has-suggestion=\"true\"])')\n const copilotSuggestions = presRef.current.querySelectorAll<HTMLPreElement>('pre[data-has-suggestion=\"true\"]')\n\n const animations: IDEAnimation[] = []\n\n for (const pre of pres) {\n animations.push({\n delay: 200,\n elements: [pre],\n tab: tabs.activeTab,\n })\n }\n\n animations.push({\n delay: 1000,\n elements: Array.from(copilotSuggestions),\n tab: tabs.activeTab,\n })\n\n animations.push({\n delay: 200,\n isDone: true,\n tab: tabs.activeTab,\n })\n\n setScheduledAnimations(animations)\n }, [tabs.activeTab])\n\n const resetAnimation = useCallback(() => {\n setScheduledAnimations([])\n setAnimationIsDone?.(false)\n\n const pres = presRef.current?.querySelectorAll('pre')\n if (pres) {\n for (const pre of pres) {\n pre.classList.remove(animationStyles['Animation--active'])\n }\n }\n\n scheduleAnimations()\n }, [scheduleAnimations, setAnimationIsDone])\n\n useImperativeHandle(ref, () => {\n if (!ref.current) {\n return {\n resetAnimation,\n } as IDEEditorHandle\n }\n\n return {\n ...ref.current,\n resetAnimation,\n }\n })\n\n useEffect(() => {\n scheduleAnimations()\n }, [scheduleAnimations, triggerAnimation])\n\n useEffect(() => {\n let prevTimestamp = -1\n let animationId: number\n let currentIndex = 0\n\n const animate: FrameRequestCallback = timestamp => {\n if (currentIndex >= scheduledAnimations.length || tabs.activeTab === null) {\n return\n }\n\n if (isPausedRef.current) {\n // Reset timestamp when paused so we don't accumulate time\n prevTimestamp = -1\n animationId = requestAnimationFrame(animate)\n return\n }\n\n const diff = prevTimestamp === -1 ? 0 : timestamp - prevTimestamp\n prevTimestamp = timestamp\n\n const nextAnimation = scheduledAnimations[currentIndex]\n\n if (nextAnimation.isDone) {\n setAnimationIsDone?.(true)\n return\n }\n\n if (nextAnimation.tab !== tabs.activeTab) {\n return\n }\n\n nextAnimation.delay -= diff\n\n if (nextAnimation.delay <= 0) {\n for (const element of nextAnimation.elements) {\n element.classList.add(animationStyles['Animation--active'])\n }\n currentIndex++\n }\n\n animationId = requestAnimationFrame(animate)\n }\n\n animationId = requestAnimationFrame(animate)\n\n return () => {\n if (animationId) {\n cancelAnimationFrame(animationId)\n }\n }\n }, [scheduledAnimations, setAnimationIsDone, tabs.activeTab])\n\n return (\n <div\n className={clsx(styles.IDE__Editor, styles[`IDE__Editor--${size}`])}\n data-testid={testId || testIds.editor}\n {...rest}\n >\n <div\n className={styles['IDE__Editor-tabs']}\n data-testid={testIds.editorTabs}\n {...tabs.getTabListProps({label: 'files'})}\n >\n {files.map((file, index) => {\n const language = file.name.split('.').pop()\n const isActiveTab = tabs.activeTab === index.toString()\n\n return (\n <button\n {...tabs.getTabProps(index.toString())}\n key={file.name}\n className={clsx(styles['IDE__Editor-tab'], isActiveTab && styles['IDE__Editor-tab--active'])}\n >\n {language && (\n <img\n className={styles['IDE__Editor-tab-icon']}\n alt=\"\"\n width={16}\n height={16}\n src={tabIcons[language]}\n />\n )}\n {file.name}\n </button>\n )\n })}\n </div>\n <div className={styles['IDE__Editor-content']}>\n {files.map((file, fileIndex) => (\n <div {...tabs.getTabPanelProps(fileIndex.toString())} key={file.name}>\n <span className=\"visually-hidden\">{file.alternativeText}</span>\n <div className={styles['IDE__Editor-content-wrapper']} aria-hidden=\"true\">\n {showLineNumbers && (\n <div className={styles['IDE__Editor-lineNumbers']}>\n {(Array.isArray(file.code) ? file.code : file.code.split('\\n')).map((_, index) => (\n <div key={index} className={styles['IDE__Editor-lineNumber']}>\n {index + 1}\n </div>\n ))}\n </div>\n )}\n <div\n ref={tabs.activeTab === fileIndex.toString() ? presRef : null}\n data-testid={testIds.editorContent}\n className={styles['IDE__Editor-content-inner']}\n >\n {Array.isArray(file.code) ? (\n (file.code as string[]).map((line, index) => {\n const isSuggestion = index + 1 >= (file.suggestedLineStart ?? Infinity)\n return (\n <React.Fragment key={line + index}>\n <pre\n key={index}\n className={clsx(\n styles['IDE__Editor-pane'],\n index + 1 < (file.suggestedLineStart ?? Infinity) &&\n animationStyles['Animation--slide-in-right'],\n isSuggestion && animationStyles['Animation--slide-in-down'],\n isSuggestion && styles['IDE__Editor-pane--suggested'],\n )}\n dangerouslySetInnerHTML={{__html: line === '' ? '&nbsp;' : line}}\n data-has-suggestion={isSuggestion}\n />\n {isSuggestion && index === file.code.length - 1 && (\n <pre\n className={clsx(\n animationStyles['Animation--slide-in-down'],\n styles['IDE__Chat-copilot-indicator'],\n )}\n data-has-suggestion={isSuggestion}\n >\n <CopilotIcon size={24} className={styles['IDE__Chat-copilot-indicator-label']} />\n <Text as=\"span\" className={styles['IDE__Chat-copilot-indicator-label']}>\n Copilot\n </Text>\n </pre>\n )}\n </React.Fragment>\n )\n })\n ) : (\n <pre\n className={clsx(styles['IDE__Editor-pane'], animationStyles['Animation--slide-in-right'])}\n dangerouslySetInnerHTML={{__html: file.code}}\n />\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )\n },\n ),\n)\n\nconst PauseIcon = () => (\n <svg fill=\"none\" role=\"presentation\" aria-hidden=\"true\" viewBox=\"3.17 2.28 13.7 15.42\">\n <path\n d=\"M4.66148 2.3125C3.83593 2.3125 3.16669 2.98174 3.16669 3.80729V16.1927C3.16669 17.0183 3.83593 17.6875 4.66148 17.6875H7.65106C8.47662 17.6875 9.14586 17.0183 9.14586 16.1927V3.80729C9.14586 2.98174 8.47662 2.3125 7.65106 2.3125H4.66148ZM4.44794 3.80729C4.44794 3.68936 4.54355 3.59375 4.66148 3.59375H7.65106C7.769 3.59375 7.86461 3.68936 7.86461 3.80729V16.1927C7.86461 16.3106 7.769 16.4062 7.65106 16.4062H4.66148C4.54355 16.4062 4.44794 16.3106 4.44794 16.1927V3.80729ZM12.349 2.3125C11.5235 2.3125 10.8542 2.98174 10.8542 3.80729V16.1927C10.8542 17.0183 11.5235 17.6875 12.349 17.6875H15.3386C16.1642 17.6875 16.8334 17.0183 16.8334 16.1927V3.80729C16.8334 2.98174 16.1642 2.3125 15.3386 2.3125H12.349ZM12.1355 3.80729C12.1355 3.68936 12.2311 3.59375 12.349 3.59375H15.3386C15.4565 3.59375 15.5521 3.68936 15.5521 3.80729V16.1927C15.5521 16.3106 15.4565 16.4062 15.3386 16.4062H12.349C12.2311 16.4062 12.1355 16.3106 12.1355 16.1927V3.80729Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n)\nconst PlayIcon = () => (\n <svg fill=\"none\" role=\"presentation\" aria-hidden=\"true\" viewBox=\"4.02 2.3 14.43 15.4\">\n <path\n d=\"M6.24905 3.69194C5.82218 3.45967 5.30225 3.76868 5.30225 4.25466V15.7452C5.30225 16.2312 5.82218 16.5402 6.24906 16.3079L16.8079 10.5626C17.2538 10.32 17.2538 9.67983 16.8079 9.4372L6.24905 3.69194ZM4.021 4.25466C4.021 2.79672 5.58078 1.86969 6.86142 2.56651L17.4203 8.31176C18.758 9.03966 18.758 10.9602 17.4203 11.6881L6.86143 17.4333C5.58079 18.1301 4.021 17.2031 4.021 15.7452V4.25466Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n)\n\ntype PlayPauseButtonProps = {\n isPlaying?: boolean\n onPlayPause?: (isPlaying: boolean) => void\n}\n\nconst PlayPauseButton = ({isPlaying = true, onPlayPause}: PlayPauseButtonProps) => {\n const onClick = useCallback(() => {\n onPlayPause?.(!isPlaying)\n }, [onPlayPause, isPlaying])\n\n /**\n * aria-pressed is intentionally not used here to prevent potentially confusing screen reader announcements\n * eg \"Play animation on\" or \"Pause animation off\"\n */\n return (\n <button\n className={styles['IDE__play-pause-button']}\n type=\"button\"\n onClick={onClick}\n aria-label={isPlaying ? 'Pause animation' : 'Play animation'}\n >\n {isPlaying ? <PauseIcon /> : <PlayIcon />}\n </button>\n )\n}\n\n/**\n * Use IDE to display a decorative editor component\n * @deprecated IDE is deprecated and will be removed in a future release.\n * @see https://primer.style/brand/components/IDE\n */\nexport const IDE = Object.assign(_IDERoot, {\n testIds,\n Chat: _Chat,\n Editor: _Editor,\n})\n"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import './IDE.module-CFxIRObF.css';var e = {
2
- IDE__inner: "Primer_Brand__IDE-module__IDE__inner___NnTQJ",
1
+ import './IDE.module-CFxIRObF.css';//#region src/IDE/IDE.module.css
2
+ var e = "Primer_Brand__IDE-module__IDE__inner___NnTQJ", t = "Primer_Brand__IDE-module__IDE__main___U46Bi", n = "Primer_Brand__IDE-module__IDE__Chat___FjTgp", r = "Primer_Brand__IDE-module__IDE__Editor___Shd_o", i = "Primer_Brand__IDE-module__IDE___d_Ai4", a = {
3
+ IDE__inner: e,
3
4
  "IDE--glass": "Primer_Brand__IDE-module__IDE--glass___kIHmW",
4
- IDE__main: "Primer_Brand__IDE-module__IDE__main___U46Bi",
5
+ IDE__main: t,
5
6
  "IDE--default": "Primer_Brand__IDE-module__IDE--default___1AD3a",
6
- IDE__Chat: "Primer_Brand__IDE-module__IDE__Chat___FjTgp",
7
+ IDE__Chat: n,
7
8
  "IDE--full-exp": "Primer_Brand__IDE-module__IDE--full-exp___eJnjX",
8
9
  "IDE__Chat-wrapper": "Primer_Brand__IDE-module__IDE__Chat-wrapper___OBbrc",
9
10
  "IDE__Chat-message-user": "Primer_Brand__IDE-module__IDE__Chat-message-user___tz2Ml",
@@ -15,7 +16,7 @@ import './IDE.module-CFxIRObF.css';var e = {
15
16
  "IDE__Chat-message": "Primer_Brand__IDE-module__IDE__Chat-message___mpKSJ",
16
17
  "IDE__Chat-message--visible": "Primer_Brand__IDE-module__IDE__Chat-message--visible___t7sQR",
17
18
  "IDE__Chat-message--faded": "Primer_Brand__IDE-module__IDE__Chat-message--faded___Zj1bF",
18
- IDE__Editor: "Primer_Brand__IDE-module__IDE__Editor___Shd_o",
19
+ IDE__Editor: r,
19
20
  "IDE__Editor-tabs": "Primer_Brand__IDE-module__IDE__Editor-tabs___iGJJ2",
20
21
  "IDE__Editor-tab": "Primer_Brand__IDE-module__IDE__Editor-tab___dJvu_",
21
22
  "IDE__Editor-tab--active": "Primer_Brand__IDE-module__IDE__Editor-tab--active___gdbpw",
@@ -36,9 +37,9 @@ import './IDE.module-CFxIRObF.css';var e = {
36
37
  "IDE__Chat-copilot-indicator-label": "Primer_Brand__IDE-module__IDE__Chat-copilot-indicator-label___Ly0_c",
37
38
  "IDE__play-pause-button": "Primer_Brand__IDE-module__IDE__play-pause-button___z27k0",
38
39
  "IDE--chat-only": "Primer_Brand__IDE-module__IDE--chat-only____CFK8",
39
- IDE: "Primer_Brand__IDE-module__IDE___d_Ai4"
40
+ IDE: i
40
41
  };
41
42
  //#endregion
42
- export { e as default };
43
+ export { i as IDE, n as IDE__Chat, r as IDE__Editor, e as IDE__inner, t as IDE__main, a as default };
43
44
 
44
45
  //# sourceMappingURL=IDE.module.js.map
@@ -1,4 +1,4 @@
1
- import { type ReactElement, type SVGAttributes } from 'react';
1
+ import React, { type ReactElement, type SVGAttributes } from 'react';
2
2
  import { type Icon as OcticonProps } from '@primer/octicons-react';
3
3
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors.css';
4
4
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css';
@@ -19,5 +19,5 @@ export type IconProps = SVGAttributes<SVGElement> & {
19
19
  hasBackground?: boolean;
20
20
  size?: IconSize;
21
21
  };
22
- export declare const Icon: ({ icon: Octicon, className, color, hasBackground, size, ...rest }: IconProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const Icon: ({ icon: Octicon, className, color, hasBackground, size, ...rest }: IconProps) => React.JSX.Element;
23
23
  //# sourceMappingURL=Icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,OAAO,CAAA;AAGlE,OAAO,EAAC,KAAK,IAAI,IAAI,YAAY,EAAC,MAAM,wBAAwB,CAAA;AAGhE,OAAO,6FAA6F,CAAA;AACpG,OAAO,wGAAwG,CAAA;AAE/G,eAAO,MAAM,cAAc,uCAAwC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,gBAAgB,uCAAwC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAG/D,eAAO,MAAM,SAAS,mEAAoD,CAAA;AAC1E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,eAAO,MAAM,eAAe,SAAe,CAAA;AAC3C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAI9D,CAAA;AAUD,eAAO,MAAM,UAAU,wIAAS,CAAA;AAChC,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AACnD,eAAO,MAAM,gBAAgB,WAAgB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAClD,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,mEAOlB,SAAS,4CA8BX,CAAA"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,OAAO,CAAA;AAGlE,OAAO,EAAC,KAAK,IAAI,IAAI,YAAY,EAAC,MAAM,wBAAwB,CAAA;AAGhE,OAAO,6FAA6F,CAAA;AACpG,OAAO,wGAAwG,CAAA;AAE/G,eAAO,MAAM,cAAc,uCAAwC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3D,eAAO,MAAM,gBAAgB,uCAAwC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAG/D,eAAO,MAAM,SAAS,mEAAoD,CAAA;AAC1E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,eAAO,MAAM,eAAe,SAAe,CAAA;AAC3C,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAI9D,CAAA;AAUD,eAAO,MAAM,UAAU,wIAAS,CAAA;AAChC,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AACnD,eAAO,MAAM,gBAAgB,WAAgB,CAAA;AAE7C,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG;IAClD,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,mEAOlB,SAAS,sBA8BX,CAAA"}
package/esm/Icon/Icon.js CHANGED
@@ -1,7 +1,7 @@
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 { Colors as t } from "../constants.js";
3
3
  import n from "./Icon.module.js";
4
- import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-CctMSz17.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes-Bjhpbkke.css';/* empty css */
4
+ import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes-Bjhpbkke.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-CctMSz17.css';/* empty css */
5
5
  /* empty css */
6
6
  import r from "react";
7
7
  import { jsx as i } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":[],"sources":["../../src/Icon/Icon.tsx"],"sourcesContent":["import React, {type ReactElement, type SVGAttributes} from 'react'\nimport styles from './Icon.module.css'\nimport {clsx} from 'clsx'\nimport {type Icon as OcticonProps} from '@primer/octicons-react'\nimport {Colors} from '../constants'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css'\n\nexport const namedIconSizes = ['small', 'medium', 'large'] as const\nexport type NamedIconSize = (typeof namedIconSizes)[number]\n\nexport const numericIconSizes = [20, 24, 28, 32, 36, 40, 44] as const\nexport type NumericIconSize = (typeof numericIconSizes)[number]\nconst isNumericIconSize = (size: IconSize): size is NumericIconSize => typeof size === 'number'\n\nexport const iconSizes = [...namedIconSizes, ...numericIconSizes] as const\nexport type IconSize = (typeof iconSizes)[number]\n\nexport const defaultIconSize = iconSizes[0]\nexport const iconSizeMap: Record<NamedIconSize, NumericIconSize> = {\n small: 20,\n medium: 32,\n large: 44,\n}\n\nconst getIconSize = (size: IconSize): NumericIconSize => {\n if (isNumericIconSize(size)) {\n return size\n }\n\n return iconSizeMap[size]\n}\n\nexport const iconColors = Colors\nexport type IconColor = (typeof iconColors)[number]\nexport const defaultIconColor = iconColors[0]\n\nexport type IconProps = SVGAttributes<SVGElement> & {\n icon: OcticonProps | ReactElement<OcticonProps>\n color?: IconColor\n hasBackground?: boolean\n size?: IconSize\n}\n\nexport const Icon = ({\n icon: Octicon,\n className,\n color = defaultIconColor,\n hasBackground = false,\n size = defaultIconSize,\n ...rest\n}: IconProps) => {\n const iconSize = getIconSize(size)\n\n const iconProps = {\n size: iconSize,\n ...rest,\n }\n\n const iconComponent = React.isValidElement(Octicon) ? (\n React.cloneElement(Octicon as ReactElement<OcticonProps>, {\n ...Octicon.props,\n ...iconProps,\n })\n ) : (\n <Octicon {...iconProps} />\n )\n\n return (\n <div\n className={clsx(\n styles['Icon'],\n styles[`Icon--size-${iconSize}`],\n styles[`Icon--color-${color}`],\n hasBackground && [styles['Icon--background'], styles[`Icon--background-color-${color}`]],\n className,\n )}\n >\n {iconComponent}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AASA,IAAa,IAAiB;CAAC;CAAS;CAAU;CAAQ,EAG7C,IAAmB;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAG,EAEtD,KAAqB,MAA4C,OAAO,KAAS,UAE1E,IAAY,CAAC,GAAG,GAAgB,GAAG,EAAiB,EAGpD,IAAkB,EAAU,IAC5B,IAAsD;CACjE,OAAO;CACP,QAAQ;CACR,OAAO;CACR,EAEK,KAAe,MACf,EAAkB,EAAK,GAClB,IAGF,EAAY,IAGR,IAAa,GAEb,IAAmB,EAAW,IAS9B,KAAQ,EACnB,MAAM,GACN,cACA,WAAQ,GACR,mBAAgB,IAChB,UAAO,GACP,GAAG,QACY;CACf,IAAM,IAAW,EAAY,EAAK,EAE5B,IAAY;EAChB,MAAM;EACN,GAAG;EACJ,EAEK,IAAgB,EAAM,eAAe,EAAQ,GACjD,EAAM,aAAa,GAAuC;EACxD,GAAG,EAAQ;EACX,GAAG;EACJ,CAAC,GAEF,kBAAC,GAAD,EAAS,GAAI,GAAa,CAAA;AAG5B,QACE,kBAAC,OAAD;EACE,WAAW,EACT,EAAO,MACP,EAAO,cAAc,MACrB,EAAO,eAAe,MACtB,KAAiB,CAAC,EAAO,qBAAqB,EAAO,0BAA0B,KAAS,EACxF,EACD;YAEA;EACG,CAAA"}
1
+ {"version":3,"file":"Icon.js","names":[],"sources":["../../src/Icon/Icon.tsx"],"sourcesContent":["import React, {type ReactElement, type SVGAttributes} from 'react'\nimport styles from './Icon.module.css'\nimport {clsx} from 'clsx'\nimport {type Icon as OcticonProps} from '@primer/octicons-react'\nimport {Colors} from '../constants'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css'\n\nexport const namedIconSizes = ['small', 'medium', 'large'] as const\nexport type NamedIconSize = (typeof namedIconSizes)[number]\n\nexport const numericIconSizes = [20, 24, 28, 32, 36, 40, 44] as const\nexport type NumericIconSize = (typeof numericIconSizes)[number]\nconst isNumericIconSize = (size: IconSize): size is NumericIconSize => typeof size === 'number'\n\nexport const iconSizes = [...namedIconSizes, ...numericIconSizes] as const\nexport type IconSize = (typeof iconSizes)[number]\n\nexport const defaultIconSize = iconSizes[0]\nexport const iconSizeMap: Record<NamedIconSize, NumericIconSize> = {\n small: 20,\n medium: 32,\n large: 44,\n}\n\nconst getIconSize = (size: IconSize): NumericIconSize => {\n if (isNumericIconSize(size)) {\n return size\n }\n\n return iconSizeMap[size]\n}\n\nexport const iconColors = Colors\nexport type IconColor = (typeof iconColors)[number]\nexport const defaultIconColor = iconColors[0]\n\nexport type IconProps = SVGAttributes<SVGElement> & {\n icon: OcticonProps | ReactElement<OcticonProps>\n color?: IconColor\n hasBackground?: boolean\n size?: IconSize\n}\n\nexport const Icon = ({\n icon: Octicon,\n className,\n color = defaultIconColor,\n hasBackground = false,\n size = defaultIconSize,\n ...rest\n}: IconProps) => {\n const iconSize = getIconSize(size)\n\n const iconProps = {\n size: iconSize,\n ...rest,\n }\n\n const iconComponent = React.isValidElement(Octicon) ? (\n React.cloneElement(Octicon as ReactElement<OcticonProps>, {\n ...Octicon.props,\n ...iconProps,\n })\n ) : (\n <Octicon {...iconProps} />\n )\n\n return (\n <div\n className={clsx(\n styles['Icon'],\n styles[`Icon--size-${iconSize}`],\n styles[`Icon--color-${color}`],\n hasBackground && [styles['Icon--background'], styles[`Icon--background-color-${color}`]],\n className,\n )}\n >\n {iconComponent}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AASA,IAAa,IAAiB;CAAC;CAAS;CAAU;AAAO,GAG5C,IAAmB;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;AAAE,GAErD,KAAqB,MAA4C,OAAO,KAAS,UAE1E,IAAY,CAAC,GAAG,GAAgB,GAAG,CAAgB,GAGnD,IAAkB,EAAU,IAC5B,IAAsD;CACjE,OAAO;CACP,QAAQ;CACR,OAAO;AACT,GAEM,KAAe,MACf,EAAkB,CAAI,IACjB,IAGF,EAAY,IAGR,IAAa,GAEb,IAAmB,EAAW,IAS9B,KAAQ,EACnB,MAAM,GACN,cACA,WAAQ,GACR,mBAAgB,IAChB,UAAO,GACP,GAAG,QACY;CACf,IAAM,IAAW,EAAY,CAAI,GAE3B,IAAY;EAChB,MAAM;EACN,GAAG;CACL,GAEM,IAAgB,EAAM,eAAe,CAAO,IAChD,EAAM,aAAa,GAAuC;EACxD,GAAG,EAAQ;EACX,GAAG;CACL,CAAC,IAED,kBAAC,GAAD,EAAS,GAAI,EAAY,CAAA;CAG3B,OACE,kBAAC,OAAD;EACE,WAAW,EACT,EAAO,MACP,EAAO,cAAc,MACrB,EAAO,eAAe,MACtB,KAAiB,CAAC,EAAO,qBAAqB,EAAO,0BAA0B,IAAQ,GACvF,CACF;YAEC;CACE,CAAA;AAET"}
@@ -1,5 +1,6 @@
1
- import './Icon.module-UyYnXhrw.css';var e = {
2
- Icon: "Primer_Brand__Icon-module__Icon___aJJhk",
1
+ import './Icon.module-UyYnXhrw.css';//#region src/Icon/Icon.module.css
2
+ var e = "Primer_Brand__Icon-module__Icon___aJJhk", t = {
3
+ Icon: e,
3
4
  "Icon--size-20": "Primer_Brand__Icon-module__Icon--size-20___j3HnM",
4
5
  "Icon--size-24": "Primer_Brand__Icon-module__Icon--size-24___IMNie",
5
6
  "Icon--size-28": "Primer_Brand__Icon-module__Icon--size-28___a2UX9",
@@ -38,6 +39,6 @@ import './Icon.module-UyYnXhrw.css';var e = {
38
39
  "Icon--background-color-yellow": "Primer_Brand__Icon-module__Icon--background-color-yellow___uFZoS"
39
40
  };
40
41
  //#endregion
41
- export { e as default };
42
+ export { e as Icon, t as default };
42
43
 
43
44
  //# sourceMappingURL=Icon.module.js.map
@@ -21,5 +21,5 @@ export type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> & BaseProps<H
21
21
  }[];
22
22
  srcSet?: undefined;
23
23
  });
24
- export declare const Image: ({ animate, aspectRatio, className, as, ref, alt, width, height, media, srcSet, style, borderRadius, ...rest }: ImageProps) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const Image: ({ animate, aspectRatio, className, as, ref, alt, width, height, media, srcSet, style, borderRadius, ...rest }: ImageProps) => React.JSX.Element;
25
25
  //# sourceMappingURL=Image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/Image/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAG9C,eAAO,MAAM,wBAAwB,yDAA0D,CAAA;AAC/F,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AAChF,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAChE,SAAS,CAAC,gBAAgB,CAAC,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IAId,YAAY,CAAC,EAAE,wBAAwB,CAAA;IACvC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAA;CACnE,GAAG,CACA;IACE,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAA;CACnE,GACD;IACE,EAAE,EAAE,SAAS,CAAA;IACb,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,CACJ,CAAA;AAeH,eAAO,MAAM,KAAK,GAAI,+GAcnB,UAAU,4CAoEZ,CAAA"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/Image/Image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAG9C,eAAO,MAAM,wBAAwB,yDAA0D,CAAA;AAC/F,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA;AAChF,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE1E,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAChE,SAAS,CAAC,gBAAgB,CAAC,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IAId,YAAY,CAAC,EAAE,wBAAwB,CAAA;IACvC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAA;CACnE,GAAG,CACA;IACE,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAA;CACnE,GACD;IACE,EAAE,EAAE,SAAS,CAAA;IACb,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,EAAE,CAAA;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB,CACJ,CAAA;AAeH,eAAO,MAAM,KAAK,GAAI,+GAcnB,UAAU,sBAoEZ,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 n from "./Image.module.js";
4
4
  import "react";
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":[],"sources":["../../src/Image/Image.tsx"],"sourcesContent":["import React from 'react'\nimport {clsx} from 'clsx'\nimport styles from './Image.module.css'\nimport {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\nexport const ImageBorderRadiusOptions = ['small', 'medium', 'large', 'xlarge', 'full'] as const\nexport type ImageBorderRadiusOptions = (typeof ImageBorderRadiusOptions)[number]\nexport type ImageAspectRatio = '1:1' | '16:9' | '16:10' | '4:3' | 'custom'\n\nexport type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> &\n BaseProps<HTMLImageElement> & {\n src: string\n alt: string\n aspectRatio?: ImageAspectRatio\n media?: string\n /*\n * Apply a system-level border radius value\n */\n borderRadius?: ImageBorderRadiusOptions\n srcSet?: Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'srcSet'>\n } & (\n | {\n as?: 'img' // assuming this is true for others to be required\n srcSet?: Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'srcSet'>\n }\n | {\n as: 'picture' // assuming this is true for others to be required\n sources?: {\n srcset: string\n media: string\n }[]\n srcSet?: undefined\n }\n )\n\nconst aspectRatioResolver = (ratio?: ImageAspectRatio) => {\n if (typeof ratio === 'string') {\n if (ratio === 'custom') return 'custom'\n const [width, height] = ratio.split(':').map(Number)\n return `${width}-${height}`\n }\n}\n\nconst objectWithoutKey = (object, key) => {\n const {[key]: deletedKey, ...otherKeys} = object\n return otherKeys\n}\n\nexport const Image = ({\n animate,\n aspectRatio,\n className,\n as = 'img',\n ref,\n alt,\n width,\n height,\n media,\n srcSet,\n style,\n borderRadius,\n ...rest\n}: ImageProps) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n if (as === 'picture') {\n return (\n <picture\n className={clsx(\n animationClasses,\n styles['Image__container'],\n aspectRatio && styles[`Image--aspect-ratio-${aspectRatioResolver(aspectRatio)}`],\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n style={{...animationInlineStyles, ...style}}\n >\n {rest['sources'] &&\n rest['sources'].map((source, index) => <source key={index} srcSet={source.srcset} media={source.media} />)}\n {srcSet && <source srcSet={srcSet} media={media} />}\n <img\n ref={ref}\n alt={alt}\n width={width ?? '100%'}\n height={height ?? '100%'}\n className={clsx(styles.Image, borderRadius && styles[`Image--borderRadius-${borderRadius}`])}\n {...objectWithoutKey(rest, 'sources')}\n />\n </picture>\n )\n }\n if (aspectRatio) {\n return (\n <span\n className={clsx(styles['Image__container'], styles[`Image--aspect-ratio-${aspectRatioResolver(aspectRatio)}`])}\n >\n <img\n ref={ref}\n alt={alt}\n width={width ? width : '100%'}\n height={height ? height : '100%'}\n className={clsx(\n animationClasses,\n styles.Image,\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n srcSet={srcSet}\n style={{...animationInlineStyles, ...style}}\n {...rest}\n />\n </span>\n )\n }\n return (\n <img\n ref={ref}\n alt={alt}\n className={clsx(\n animationClasses,\n styles.Image,\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n width={width && width}\n height={height && height}\n srcSet={srcSet}\n style={{...animationInlineStyles, ...style}}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;AAMA,IAAa,IAA2B;CAAC;CAAS;CAAU;CAAS;CAAU;CAAO,EA8BhF,KAAuB,MAA6B;AACxD,KAAI,OAAO,KAAU,UAAU;AAC7B,MAAI,MAAU,SAAU,QAAO;EAC/B,IAAM,CAAC,GAAO,KAAU,EAAM,MAAM,IAAI,CAAC,IAAI,OAAO;AACpD,SAAO,GAAG,EAAM,GAAG;;GAIjB,KAAoB,GAAQ,MAAQ;CACxC,IAAM,GAAE,IAAM,GAAY,GAAG,MAAa;AAC1C,QAAO;GAGI,KAAS,EACpB,YACA,gBACA,cACA,QAAK,OACL,QACA,QACA,UACA,WACA,UACA,WACA,UACA,iBACA,GAAG,QACa;CAChB,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ;AAkDxF,QAjDI,MAAO,YAEP,kBAAC,WAAD;EACE,WAAW,EACT,GACA,EAAO,kBACP,KAAe,EAAO,uBAAuB,EAAoB,EAAY,KAC7E,KAAgB,EAAO,uBAAuB,MAC9C,EACD;EACD,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;YAR7C;GAUG,EAAK,WACJ,EAAK,QAAW,KAAK,GAAQ,MAAU,kBAAC,UAAD;IAAoB,QAAQ,EAAO;IAAQ,OAAO,EAAO;IAAS,EAArD,EAAqD,CAAC;GAC3G,KAAU,kBAAC,UAAD;IAAgB;IAAe;IAAS,CAAA;GACnD,kBAAC,OAAD;IACO;IACA;IACL,OAAO,KAAS;IAChB,QAAQ,KAAU;IAClB,WAAW,EAAK,EAAO,OAAO,KAAgB,EAAO,uBAAuB,KAAgB;IAC5F,GAAI,EAAiB,GAAM,UAAU;IACrC,CAAA;GACM;MAGV,IAEA,kBAAC,QAAD;EACE,WAAW,EAAK,EAAO,kBAAqB,EAAO,uBAAuB,EAAoB,EAAY,IAAI;YAE9G,kBAAC,OAAD;GACO;GACA;GACL,OAAO,KAAgB;GACvB,QAAQ,KAAkB;GAC1B,WAAW,EACT,GACA,EAAO,OACP,KAAgB,EAAO,uBAAuB,MAC9C,EACD;GACO;GACR,OAAO;IAAC,GAAG;IAAuB,GAAG;IAAM;GAC3C,GAAI;GACJ,CAAA;EACG,CAAA,GAIT,kBAAC,OAAD;EACO;EACA;EACL,WAAW,EACT,GACA,EAAO,OACP,KAAgB,EAAO,uBAAuB,MAC9C,EACD;EACD,OAAO,KAAS;EAChB,QAAQ,KAAU;EACV;EACR,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;EAC3C,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"Image.js","names":[],"sources":["../../src/Image/Image.tsx"],"sourcesContent":["import React from 'react'\nimport {clsx} from 'clsx'\nimport styles from './Image.module.css'\nimport {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\nexport const ImageBorderRadiusOptions = ['small', 'medium', 'large', 'xlarge', 'full'] as const\nexport type ImageBorderRadiusOptions = (typeof ImageBorderRadiusOptions)[number]\nexport type ImageAspectRatio = '1:1' | '16:9' | '16:10' | '4:3' | 'custom'\n\nexport type ImageProps = React.ImgHTMLAttributes<HTMLImageElement> &\n BaseProps<HTMLImageElement> & {\n src: string\n alt: string\n aspectRatio?: ImageAspectRatio\n media?: string\n /*\n * Apply a system-level border radius value\n */\n borderRadius?: ImageBorderRadiusOptions\n srcSet?: Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'srcSet'>\n } & (\n | {\n as?: 'img' // assuming this is true for others to be required\n srcSet?: Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'srcSet'>\n }\n | {\n as: 'picture' // assuming this is true for others to be required\n sources?: {\n srcset: string\n media: string\n }[]\n srcSet?: undefined\n }\n )\n\nconst aspectRatioResolver = (ratio?: ImageAspectRatio) => {\n if (typeof ratio === 'string') {\n if (ratio === 'custom') return 'custom'\n const [width, height] = ratio.split(':').map(Number)\n return `${width}-${height}`\n }\n}\n\nconst objectWithoutKey = (object, key) => {\n const {[key]: deletedKey, ...otherKeys} = object\n return otherKeys\n}\n\nexport const Image = ({\n animate,\n aspectRatio,\n className,\n as = 'img',\n ref,\n alt,\n width,\n height,\n media,\n srcSet,\n style,\n borderRadius,\n ...rest\n}: ImageProps) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n if (as === 'picture') {\n return (\n <picture\n className={clsx(\n animationClasses,\n styles['Image__container'],\n aspectRatio && styles[`Image--aspect-ratio-${aspectRatioResolver(aspectRatio)}`],\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n style={{...animationInlineStyles, ...style}}\n >\n {rest['sources'] &&\n rest['sources'].map((source, index) => <source key={index} srcSet={source.srcset} media={source.media} />)}\n {srcSet && <source srcSet={srcSet} media={media} />}\n <img\n ref={ref}\n alt={alt}\n width={width ?? '100%'}\n height={height ?? '100%'}\n className={clsx(styles.Image, borderRadius && styles[`Image--borderRadius-${borderRadius}`])}\n {...objectWithoutKey(rest, 'sources')}\n />\n </picture>\n )\n }\n if (aspectRatio) {\n return (\n <span\n className={clsx(styles['Image__container'], styles[`Image--aspect-ratio-${aspectRatioResolver(aspectRatio)}`])}\n >\n <img\n ref={ref}\n alt={alt}\n width={width ? width : '100%'}\n height={height ? height : '100%'}\n className={clsx(\n animationClasses,\n styles.Image,\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n srcSet={srcSet}\n style={{...animationInlineStyles, ...style}}\n {...rest}\n />\n </span>\n )\n }\n return (\n <img\n ref={ref}\n alt={alt}\n className={clsx(\n animationClasses,\n styles.Image,\n borderRadius && styles[`Image--borderRadius-${borderRadius}`],\n className,\n )}\n width={width && width}\n height={height && height}\n srcSet={srcSet}\n style={{...animationInlineStyles, ...style}}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;AAMA,IAAa,IAA2B;CAAC;CAAS;CAAU;CAAS;CAAU;AAAM,GA8B/E,KAAuB,MAA6B;CACxD,IAAI,OAAO,KAAU,UAAU;EAC7B,IAAI,MAAU,UAAU,OAAO;EAC/B,IAAM,CAAC,GAAO,KAAU,EAAM,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM;EACnD,OAAO,GAAG,EAAM,GAAG;CACrB;AACF,GAEM,KAAoB,GAAQ,MAAQ;CACxC,IAAM,GAAE,IAAM,GAAY,GAAG,MAAa;CAC1C,OAAO;AACT,GAEa,KAAS,EACpB,YACA,gBACA,cACA,QAAK,OACL,QACA,QACA,UACA,WACA,UACA,WACA,UACA,iBACA,GAAG,QACa;CAChB,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,CAAO;CAkDvF,OAjDI,MAAO,YAEP,kBAAC,WAAD;EACE,WAAW,EACT,GACA,EAAO,kBACP,KAAe,EAAO,uBAAuB,EAAoB,CAAW,MAC5E,KAAgB,EAAO,uBAAuB,MAC9C,CACF;EACA,OAAO;GAAC,GAAG;GAAuB,GAAG;EAAK;YAR5C;GAUG,EAAK,WACJ,EAAK,QAAW,KAAK,GAAQ,MAAU,kBAAC,UAAD;IAAoB,QAAQ,EAAO;IAAQ,OAAO,EAAO;GAAQ,GAApD,CAAoD,CAAC;GAC1G,KAAU,kBAAC,UAAD;IAAgB;IAAe;GAAQ,CAAA;GAClD,kBAAC,OAAD;IACO;IACA;IACL,OAAO,KAAS;IAChB,QAAQ,KAAU;IAClB,WAAW,EAAK,EAAO,OAAO,KAAgB,EAAO,uBAAuB,IAAe;IAC3F,GAAI,EAAiB,GAAM,SAAS;GACrC,CAAA;EACM;MAGT,IAEA,kBAAC,QAAD;EACE,WAAW,EAAK,EAAO,kBAAqB,EAAO,uBAAuB,EAAoB,CAAW,IAAI;YAE7G,kBAAC,OAAD;GACO;GACA;GACL,OAAO,KAAgB;GACvB,QAAQ,KAAkB;GAC1B,WAAW,EACT,GACA,EAAO,OACP,KAAgB,EAAO,uBAAuB,MAC9C,CACF;GACQ;GACR,OAAO;IAAC,GAAG;IAAuB,GAAG;GAAK;GAC1C,GAAI;EACL,CAAA;CACG,CAAA,IAIR,kBAAC,OAAD;EACO;EACA;EACL,WAAW,EACT,GACA,EAAO,OACP,KAAgB,EAAO,uBAAuB,MAC9C,CACF;EACA,OAAO,KAAS;EAChB,QAAQ,KAAU;EACV;EACR,OAAO;GAAC,GAAG;GAAuB,GAAG;EAAK;EAC1C,GAAI;CACL,CAAA;AAEL"}
@@ -1,6 +1,7 @@
1
- import './Image.module-BPflj1a0.css';var e = {
2
- Image__container: "Primer_Brand__Image-module__Image__container___CEHRD",
3
- Image: "Primer_Brand__Image-module__Image___JSzlx",
1
+ import './Image.module-BPflj1a0.css';//#region src/Image/Image.module.css
2
+ var e = "Primer_Brand__Image-module__Image__container___CEHRD", t = "Primer_Brand__Image-module__Image___JSzlx", n = {
3
+ Image__container: e,
4
+ Image: t,
4
5
  "Image--aspect-ratio-custom": "Primer_Brand__Image-module__Image--aspect-ratio-custom___38Uyb",
5
6
  "Image--aspect-ratio-1-1": "Primer_Brand__Image-module__Image--aspect-ratio-1-1___PcQBn",
6
7
  "Image--aspect-ratio-16-9": "Primer_Brand__Image-module__Image--aspect-ratio-16-9___hneti",
@@ -13,6 +14,6 @@ import './Image.module-BPflj1a0.css';var e = {
13
14
  "Image--borderRadius-full": "Primer_Brand__Image-module__Image--borderRadius-full___hQJEn"
14
15
  };
15
16
  //#endregion
16
- export { e as default };
17
+ export { t as Image, e as Image__container, n as default };
17
18
 
18
19
  //# sourceMappingURL=Image.module.js.map
@@ -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 '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes-Bj7XtHMY.css';/* empty css */
3
3
  import t from "./InlineCode.module.js";
4
4
  import { forwardRef as n } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"InlineCode.js","names":[],"sources":["../../src/InlineCode/InlineCode.tsx"],"sourcesContent":["import React, {forwardRef} from 'react'\nimport {clsx} from 'clsx'\nimport type {BaseProps} from '../component-helpers'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './InlineCode.module.css'\n\nexport type InlineCodeProps = React.ComponentPropsWithoutRef<'code'> &\n BaseProps<HTMLElement> & {\n /**\n * Controls whether the code fragment can wrap.\n * Disable only for short fragments that must remain together.\n * @default true\n */\n wrap?: boolean\n }\n\nfunction InlineCodeRoot(\n {className, children, wrap = true, ...rest}: InlineCodeProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n return (\n <code ref={ref} className={clsx(styles.InlineCode, !wrap && styles['InlineCode--nowrap'], className)} {...rest}>\n <span className={styles.InlineCode__text}>{children}</span>\n </code>\n )\n}\n\n/**\n * Use InlineCode to render a short inline code fragment.\n */\nexport const InlineCode = forwardRef<HTMLElement, InlineCodeProps>(InlineCodeRoot)\n"],"mappings":";;;;;;AAsBA,SAAS,EACP,EAAC,cAAW,aAAU,UAAO,IAAM,GAAG,KACtC,GACA;AACA,QACE,kBAAC,QAAD;EAAW;EAAK,WAAW,EAAK,EAAO,YAAY,CAAC,KAAQ,EAAO,uBAAuB,EAAU;EAAE,GAAI;YACxG,kBAAC,QAAD;GAAM,WAAW,EAAO;GAAmB;GAAgB,CAAA;EACtD,CAAA;;AAOX,IAAa,IAAa,EAAyC,EAAe"}
1
+ {"version":3,"file":"InlineCode.js","names":[],"sources":["../../src/InlineCode/InlineCode.tsx"],"sourcesContent":["import React, {forwardRef} from 'react'\nimport {clsx} from 'clsx'\nimport type {BaseProps} from '../component-helpers'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './InlineCode.module.css'\n\nexport type InlineCodeProps = React.ComponentPropsWithoutRef<'code'> &\n BaseProps<HTMLElement> & {\n /**\n * Controls whether the code fragment can wrap.\n * Disable only for short fragments that must remain together.\n * @default true\n */\n wrap?: boolean\n }\n\nfunction InlineCodeRoot(\n {className, children, wrap = true, ...rest}: InlineCodeProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n return (\n <code ref={ref} className={clsx(styles.InlineCode, !wrap && styles['InlineCode--nowrap'], className)} {...rest}>\n <span className={styles.InlineCode__text}>{children}</span>\n </code>\n )\n}\n\n/**\n * Use InlineCode to render a short inline code fragment.\n */\nexport const InlineCode = forwardRef<HTMLElement, InlineCodeProps>(InlineCodeRoot)\n"],"mappings":";;;;;;AAsBA,SAAS,EACP,EAAC,cAAW,aAAU,UAAO,IAAM,GAAG,KACtC,GACA;CACA,OACE,kBAAC,QAAD;EAAW;EAAK,WAAW,EAAK,EAAO,YAAY,CAAC,KAAQ,EAAO,uBAAuB,CAAS;EAAG,GAAI;YACxG,kBAAC,QAAD;GAAM,WAAW,EAAO;GAAmB;EAAe,CAAA;CACtD,CAAA;AAEV;AAKA,IAAa,IAAa,EAAyC,CAAc"}
@@ -1,9 +1,10 @@
1
- import './InlineCode.module-Br3-YmSA.css';var e = {
2
- InlineCode: "Primer_Brand__InlineCode-module__InlineCode___CY8l3",
1
+ import './InlineCode.module-Br3-YmSA.css';//#region src/InlineCode/InlineCode.module.css
2
+ var e = "Primer_Brand__InlineCode-module__InlineCode___CY8l3", t = "Primer_Brand__InlineCode-module__InlineCode__text___Hn_4j", n = {
3
+ InlineCode: e,
3
4
  "InlineCode--nowrap": "Primer_Brand__InlineCode-module__InlineCode--nowrap___YpKts",
4
- InlineCode__text: "Primer_Brand__InlineCode-module__InlineCode__text___Hn_4j"
5
+ InlineCode__text: t
5
6
  };
6
7
  //#endregion
7
- export { e as default };
8
+ export { e as InlineCode, t as InlineCode__text, n as default };
8
9
 
9
10
  //# sourceMappingURL=InlineCode.module.js.map
@@ -1,5 +1,5 @@
1
- import e from "../node_modules/clsx/dist/clsx.js";
2
- import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes-DujakhtG.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/base-BJeYaOpB.css';/* empty css */
1
+ import { clsx as e } from "../node_modules/clsx/dist/clsx.js";
2
+ import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/base-BJeYaOpB.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes-DujakhtG.css';/* empty css */
3
3
  /* empty css */
4
4
  import t from "./InlineLink.module.js";
5
5
  import { forwardRef as n } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"InlineLink.js","names":[],"sources":["../../src/InlineLink/InlineLink.tsx"],"sourcesContent":["import React, {PropsWithChildren, forwardRef, type Ref} from 'react'\nimport {clsx} from 'clsx'\nimport type {BaseProps} from '../component-helpers'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-link/base.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './InlineLink.module.css'\n\nexport type InlineLinkProps = BaseProps<HTMLAnchorElement> & {\n /**\n * Specify the links destination\n */\n href: string\n} & React.AnchorHTMLAttributes<HTMLAnchorElement> &\n React.HTMLAttributes<HTMLAnchorElement>\n\n/**\n * A HTML anchor link component that renders inline with adjacent text.\n */\nexport const InlineLink = forwardRef(\n ({className, children, href, ...rest}: PropsWithChildren<InlineLinkProps>, ref: Ref<HTMLAnchorElement>) => {\n const classes = clsx(styles.InlineLink, className)\n\n return (\n <a ref={ref} href={href} className={classes} {...rest}>\n {children}\n </a>\n )\n },\n)\n"],"mappings":";;;;;;;AA0BA,IAAa,IAAa,GACvB,EAAC,cAAW,aAAU,SAAM,GAAG,KAA2C,MAIvE,kBAAC,KAAD;CAAQ;CAAW;CAAM,WAHX,EAAK,EAAO,YAAY,EAGF;CAAS,GAAI;CAC9C;CACC,CAAA,CAGT"}
1
+ {"version":3,"file":"InlineLink.js","names":[],"sources":["../../src/InlineLink/InlineLink.tsx"],"sourcesContent":["import React, {PropsWithChildren, forwardRef, type Ref} from 'react'\nimport {clsx} from 'clsx'\nimport type {BaseProps} from '../component-helpers'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/inline-link/base.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './InlineLink.module.css'\n\nexport type InlineLinkProps = BaseProps<HTMLAnchorElement> & {\n /**\n * Specify the links destination\n */\n href: string\n} & React.AnchorHTMLAttributes<HTMLAnchorElement> &\n React.HTMLAttributes<HTMLAnchorElement>\n\n/**\n * A HTML anchor link component that renders inline with adjacent text.\n */\nexport const InlineLink = forwardRef(\n ({className, children, href, ...rest}: PropsWithChildren<InlineLinkProps>, ref: Ref<HTMLAnchorElement>) => {\n const classes = clsx(styles.InlineLink, className)\n\n return (\n <a ref={ref} href={href} className={classes} {...rest}>\n {children}\n </a>\n )\n },\n)\n"],"mappings":";;;;;;;AA0BA,IAAa,IAAa,GACvB,EAAC,cAAW,aAAU,SAAM,GAAG,KAA2C,MAIvE,kBAAC,KAAD;CAAQ;CAAW;CAAM,WAHX,EAAK,EAAO,YAAY,CAGF;CAAS,GAAI;CAC9C;AACA,CAAA,CAGT"}
@@ -1,5 +1,6 @@
1
- import './InlineLink.module-6R63us8B.css';var e = { InlineLink: "Primer_Brand__InlineLink-module__InlineLink___AAGDi" };
1
+ import './InlineLink.module-6R63us8B.css';//#region src/InlineLink/InlineLink.module.css
2
+ var e = "Primer_Brand__InlineLink-module__InlineLink___AAGDi", t = { InlineLink: e };
2
3
  //#endregion
3
- export { e as default };
4
+ export { e as InlineLink, t as default };
4
5
 
5
6
  //# sourceMappingURL=InlineLink.module.js.map
@@ -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 { BiColorGradients as t, Colors as n, TriColorGradients as r } from "../constants.js";
3
3
  import { useAnimation as i } from "../animation/useAnimation.js";
4
4
  import { Text as a } from "../Text/Text.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","names":[],"sources":["../../src/Label/Label.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {forwardRef, useMemo, type Ref} from 'react'\nimport {Text} from '../Text'\n\nimport {useAnimation} from '../animation'\n\nimport type {BaseProps} from '../component-helpers'\nimport {Colors, BiColorGradients, TriColorGradients} from '../constants'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Label.module.css'\nimport type {Icon} from '@primer/octicons-react'\n\nconst Gradients = [...BiColorGradients, ...TriColorGradients] as const\n\nexport const LabelColors = [...Colors, ...Gradients] as const\nexport const LabelSizes = ['small', 'medium', 'large'] as const\n\nexport const defaultLabelColor = LabelColors[0]\nexport const defaultLabelSize = LabelSizes[1]\n\nexport type LabelProps = BaseProps<HTMLSpanElement> & {\n /**\n * The leading visual appears before the Label content\n */\n leadingVisual?: React.ReactNode | Icon\n /**\n * The color variations available in Label\n */\n color?: (typeof LabelColors)[number]\n /**\n * The size variations available in Label\n */\n size?: (typeof LabelSizes)[number]\n ['data-testid']?: string\n} & React.ComponentPropsWithoutRef<'span'>\n\nconst testIds = {\n root: 'Label',\n get leadingVisual() {\n return `${this.root}-leading-visual`\n },\n}\n\nconst _Label = forwardRef<HTMLSpanElement, LabelProps>(\n (\n {\n animate,\n className,\n size = defaultLabelSize,\n color = defaultLabelColor,\n children,\n 'data-testid': testId,\n leadingVisual: LeadingVisual,\n style,\n ...props\n },\n ref: Ref<HTMLSpanElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const isGradient = useMemo(() => Gradients.find(gradient => gradient === color), [color])\n\n return (\n <span\n ref={ref}\n className={clsx(\n animationClasses,\n styles.Label,\n styles[`Label--color-${color}`],\n styles[`Label--size-${size}`],\n isGradient && styles['Label--gradient'],\n className,\n )}\n data-testid={testId || testIds.root}\n style={{...animationInlineStyles, ...style}}\n {...props}\n >\n {LeadingVisual && (\n <span className={styles['Label__leading-visual']} data-testid={testIds.leadingVisual} aria-hidden=\"true\">\n {typeof LeadingVisual === 'function' ? (\n <LeadingVisual />\n ) : (\n React.isValidElement<{className?: string}>(LeadingVisual) &&\n React.cloneElement(LeadingVisual, {\n className: clsx(styles['Label__icon-visual']),\n })\n )}\n </span>\n )}\n <span className={clsx(styles['Label__text'])}>\n <Text as=\"span\" size={size === 'large' ? '200' : '100'} className={clsx(styles['Label__label'])}>\n {children}\n </Text>\n </span>\n </span>\n )\n },\n)\n\n/**\n * Use Label to display short status or metadata attached to an object in product-like UI\n * Prefer Token for general-purpose compact metadata, categories, statuses, and short pre-heading markers.\n *\n * @see https://primer.style/brand/components/Label\n */\nexport const Label = Object.assign(_Label, {testIds})\n"],"mappings":";;;;;;;;;AAkBA,IAAM,IAAY,CAAC,GAAG,GAAkB,GAAG,EAAkB,EAEhD,IAAc,CAAC,GAAG,GAAQ,GAAG,EAAU,EACvC,IAAa;CAAC;CAAS;CAAU;CAAQ,EAEzC,IAAoB,EAAY,IAChC,IAAmB,EAAW,IAkBrC,IAAU;CACd,MAAM;CACN,IAAI,gBAAgB;AAClB,SAAO,GAAG,KAAK,KAAK;;CAEvB,EAEK,IAAS,GAEX,EACE,YACA,cACA,UAAO,GACP,WAAQ,GACR,aACA,eAAe,GACf,eAAe,GACf,UACA,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ,EAElF,IAAa,QAAc,EAAU,MAAK,MAAY,MAAa,EAAM,EAAE,CAAC,EAAM,CAAC;AAEzF,QACE,kBAAC,QAAD;EACO;EACL,WAAW,EACT,GACA,EAAO,OACP,EAAO,gBAAgB,MACvB,EAAO,eAAe,MACtB,KAAc,EAAO,oBACrB,EACD;EACD,eAAa,KAAU,EAAQ;EAC/B,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;EAC3C,GAAI;YAZN,CAcG,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;GAA0B,eAAa,EAAQ;GAAe,eAAY;aAC/F,OAAO,KAAkB,aACxB,kBAAC,GAAD,EAAiB,CAAA,GAEjB,EAAM,eAAqC,EAAc,IACzD,EAAM,aAAa,GAAe,EAChC,WAAW,EAAK,EAAO,sBAAsB,EAC9C,CAAC;GAEC,CAAA,EAET,kBAAC,QAAD;GAAM,WAAW,EAAK,EAAO,YAAe;aAC1C,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAM,MAAS,UAAU,QAAQ;IAAO,WAAW,EAAK,EAAO,aAAgB;IAC5F;IACI,CAAA;GACF,CAAA,CACF;;EAGZ,EAQY,IAAQ,OAAO,OAAO,GAAQ,EAAC,YAAQ,CAAC"}
1
+ {"version":3,"file":"Label.js","names":[],"sources":["../../src/Label/Label.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {forwardRef, useMemo, type Ref} from 'react'\nimport {Text} from '../Text'\n\nimport {useAnimation} from '../animation'\n\nimport type {BaseProps} from '../component-helpers'\nimport {Colors, BiColorGradients, TriColorGradients} from '../constants'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Label.module.css'\nimport type {Icon} from '@primer/octicons-react'\n\nconst Gradients = [...BiColorGradients, ...TriColorGradients] as const\n\nexport const LabelColors = [...Colors, ...Gradients] as const\nexport const LabelSizes = ['small', 'medium', 'large'] as const\n\nexport const defaultLabelColor = LabelColors[0]\nexport const defaultLabelSize = LabelSizes[1]\n\nexport type LabelProps = BaseProps<HTMLSpanElement> & {\n /**\n * The leading visual appears before the Label content\n */\n leadingVisual?: React.ReactNode | Icon\n /**\n * The color variations available in Label\n */\n color?: (typeof LabelColors)[number]\n /**\n * The size variations available in Label\n */\n size?: (typeof LabelSizes)[number]\n ['data-testid']?: string\n} & React.ComponentPropsWithoutRef<'span'>\n\nconst testIds = {\n root: 'Label',\n get leadingVisual() {\n return `${this.root}-leading-visual`\n },\n}\n\nconst _Label = forwardRef<HTMLSpanElement, LabelProps>(\n (\n {\n animate,\n className,\n size = defaultLabelSize,\n color = defaultLabelColor,\n children,\n 'data-testid': testId,\n leadingVisual: LeadingVisual,\n style,\n ...props\n },\n ref: Ref<HTMLSpanElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const isGradient = useMemo(() => Gradients.find(gradient => gradient === color), [color])\n\n return (\n <span\n ref={ref}\n className={clsx(\n animationClasses,\n styles.Label,\n styles[`Label--color-${color}`],\n styles[`Label--size-${size}`],\n isGradient && styles['Label--gradient'],\n className,\n )}\n data-testid={testId || testIds.root}\n style={{...animationInlineStyles, ...style}}\n {...props}\n >\n {LeadingVisual && (\n <span className={styles['Label__leading-visual']} data-testid={testIds.leadingVisual} aria-hidden=\"true\">\n {typeof LeadingVisual === 'function' ? (\n <LeadingVisual />\n ) : (\n React.isValidElement<{className?: string}>(LeadingVisual) &&\n React.cloneElement(LeadingVisual, {\n className: clsx(styles['Label__icon-visual']),\n })\n )}\n </span>\n )}\n <span className={clsx(styles['Label__text'])}>\n <Text as=\"span\" size={size === 'large' ? '200' : '100'} className={clsx(styles['Label__label'])}>\n {children}\n </Text>\n </span>\n </span>\n )\n },\n)\n\n/**\n * Use Label to display short status or metadata attached to an object in product-like UI\n * Prefer Token for general-purpose compact metadata, categories, statuses, and short pre-heading markers.\n *\n * @see https://primer.style/brand/components/Label\n */\nexport const Label = Object.assign(_Label, {testIds})\n"],"mappings":";;;;;;;;;AAkBA,IAAM,IAAY,CAAC,GAAG,GAAkB,GAAG,CAAiB,GAE/C,IAAc,CAAC,GAAG,GAAQ,GAAG,CAAS,GACtC,IAAa;CAAC;CAAS;CAAU;AAAO,GAExC,IAAoB,EAAY,IAChC,IAAmB,EAAW,IAkBrC,IAAU;CACd,MAAM;CACN,IAAI,gBAAgB;EAClB,OAAO,GAAG,KAAK,KAAK;CACtB;AACF,GAEM,IAAS,GAEX,EACE,YACA,cACA,UAAO,GACP,WAAQ,GACR,aACA,eAAe,GACf,eAAe,GACf,UACA,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,CAAO,GAEjF,IAAa,QAAc,EAAU,MAAK,MAAY,MAAa,CAAK,GAAG,CAAC,CAAK,CAAC;CAExF,OACE,kBAAC,QAAD;EACO;EACL,WAAW,EACT,GACA,EAAO,OACP,EAAO,gBAAgB,MACvB,EAAO,eAAe,MACtB,KAAc,EAAO,oBACrB,CACF;EACA,eAAa,KAAU,EAAQ;EAC/B,OAAO;GAAC,GAAG;GAAuB,GAAG;EAAK;EAC1C,GAAI;YAZN,CAcG,KACC,kBAAC,QAAD;GAAM,WAAW,EAAO;GAA0B,eAAa,EAAQ;GAAe,eAAY;aAC/F,OAAO,KAAkB,aACxB,kBAAC,GAAD,CAAgB,CAAA,IAEhB,EAAM,eAAqC,CAAa,KACxD,EAAM,aAAa,GAAe,EAChC,WAAW,EAAK,EAAO,qBAAqB,EAC9C,CAAC;EAEC,CAAA,GAER,kBAAC,QAAD;GAAM,WAAW,EAAK,EAAO,WAAc;aACzC,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAM,MAAS,UAAU,QAAQ;IAAO,WAAW,EAAK,EAAO,YAAe;IAC3F;GACG,CAAA;EACF,CAAA,CACF;;AAEV,CACF,GAQa,IAAQ,OAAO,OAAO,GAAQ,EAAC,WAAO,CAAC"}
@@ -1,7 +1,8 @@
1
- import './Label.module-DDkalJAE.css';var e = {
2
- Label: "Primer_Brand__Label-module__Label___RWs_8",
1
+ import './Label.module-DDkalJAE.css';//#region src/Label/Label.module.css
2
+ var e = "Primer_Brand__Label-module__Label___RWs_8", t = "Primer_Brand__Label-module__Label__label___nUKUt", n = "Primer_Brand__Label-module__Label__text___YCBde", r = {
3
+ Label: e,
3
4
  "Label--size-small": "Primer_Brand__Label-module__Label--size-small___QxC5y",
4
- Label__label: "Primer_Brand__Label-module__Label__label___nUKUt",
5
+ Label__label: t,
5
6
  "Label--size-medium": "Primer_Brand__Label-module__Label--size-medium___QxFgp",
6
7
  "Label--size-large": "Primer_Brand__Label-module__Label--size-large___AEmn9",
7
8
  "Label--color-default": "Primer_Brand__Label-module__Label--color-default___Y9nDM",
@@ -24,12 +25,12 @@ import './Label.module-DDkalJAE.css';var e = {
24
25
  "Label--color-red-orange": "Primer_Brand__Label-module__Label--color-red-orange___d4Om3",
25
26
  "Label--color-teal": "Primer_Brand__Label-module__Label--color-teal___AC7RS",
26
27
  "Label--color-yellow": "Primer_Brand__Label-module__Label--color-yellow___QjHgW",
27
- Label__text: "Primer_Brand__Label-module__Label__text___YCBde",
28
+ Label__text: n,
28
29
  "Label--gradient": "Primer_Brand__Label-module__Label--gradient___r4d_A",
29
30
  "Label__icon-visual": "Primer_Brand__Label-module__Label__icon-visual___Cq0aX",
30
31
  "Label__leading-visual": "Primer_Brand__Label-module__Label__leading-visual___2wAbr"
31
32
  };
32
33
  //#endregion
33
- export { e as default };
34
+ export { e as Label, t as Label__label, n as Label__text, r as default };
34
35
 
35
36
  //# sourceMappingURL=Label.module.js.map
@@ -25,5 +25,5 @@ export type LinkProps = {
25
25
  * Links connect users to related content.
26
26
  * These are not intended to be used as a call-to-action.
27
27
  */
28
- export declare function Link({ size, variant, className, children, isExternal, onMouseEnter, onMouseLeave, onFocus, onBlur, arrowDirection, ...props }: LinkProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function Link({ size, variant, className, children, isExternal, onMouseEnter, onMouseLeave, onFocus, onBlur, arrowDirection, ...props }: LinkProps): React.JSX.Element;
29
29
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,wGAAwG,CAAA;AAE/G,eAAO,MAAM,YAAY,gCAAiC,CAAA;AAC1D,eAAO,MAAM,SAAS,uCAAwC,CAAA;AAC9D,eAAO,MAAM,mBAAmB,mCAAoC,CAAA;AAcpE,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;CACxC,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;AAEvC;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAe,EACf,OAAmB,EACnB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,cAAsB,EACtB,GAAG,KAAK,EACT,EAAE,SAAS,2CAkEX"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAMxC,OAAO,wGAAwG,CAAA;AAE/G,eAAO,MAAM,YAAY,gCAAiC,CAAA;AAC1D,eAAO,MAAM,SAAS,uCAAwC,CAAA;AAC9D,eAAO,MAAM,mBAAmB,mCAAoC,CAAA;AAcpE,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;CACxC,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;AAEvC;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAe,EACf,OAAmB,EACnB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,cAAsB,EACtB,GAAG,KAAK,EACT,EAAE,SAAS,qBAkEX"}
package/esm/Link/Link.js CHANGED
@@ -1,7 +1,7 @@
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 { ExpandableArrow as n } from "../ExpandableArrow/ExpandableArrow.js";
4
- import { LinkExternalIcon as r } from "../node_modules/@primer/octicons-react/dist/index.esm.js";
4
+ import { LinkExternalIcon as r } from "../node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js";
5
5
  import i from "./Link.module.js";
6
6
  import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes-Dh1w7a05.css';/* empty css */
7
7
  import a, { useCallback as o } from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","names":[],"sources":["../../src/Link/Link.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {useCallback} from 'react'\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {LinkExternalIcon} from '@primer/octicons-react'\nimport {Text} from '../Text'\n\nimport styles from './Link.module.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css'\n\nexport const LinkVariants = ['default', 'accent'] as const\nexport const LinkSizes = ['small', 'medium', 'large'] as const\nexport const LinkArrowDirections = ['start', 'end', 'none'] as const\n\nconst LinkTextSizes = {\n small: '100',\n medium: '200',\n large: '300',\n} as const\n\nconst LinkExternalIconSizes = {\n small: 16,\n medium: 16,\n large: 20,\n} as const\n\nexport type LinkProps = {\n /**\n * The size variations available in Link\n */\n size?: (typeof LinkSizes)[number]\n /**\n * Position of the arrow.\n */\n arrowDirection?: (typeof LinkArrowDirections)[number]\n /**\n * Show an external link icon\n */\n isExternal?: boolean\n /**\n * Specify alternative link appearance\n */\n variant?: (typeof LinkVariants)[number]\n} & React.ComponentPropsWithoutRef<'a'>\n\n/**\n * Links connect users to related content.\n * These are not intended to be used as a call-to-action.\n */\nexport function Link({\n size = 'medium',\n variant = 'default',\n className,\n children,\n isExternal,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n arrowDirection = 'end',\n ...props\n}: LinkProps) {\n const [isHovered, setIsHovered] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseEnter?.(event)\n },\n [onMouseEnter, isHovered],\n )\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseLeave?.(event)\n },\n [onMouseLeave, isHovered],\n )\n\n const handleOnFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onFocus?.(event)\n },\n [onFocus, isFocused],\n )\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onBlur?.(event)\n },\n [onBlur, isFocused],\n )\n\n return (\n <a\n className={clsx(\n styles.Link,\n styles[`Link--${size}`],\n styles[`Link--${variant}`],\n isExternal ? styles['Link--is-external'] : styles[`Link--arrow-${arrowDirection}`],\n className,\n )}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n {...props}\n >\n {arrowDirection === 'start' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} reverse hidden />\n )}\n\n <Text as=\"span\" size={LinkTextSizes[size]} className={clsx(styles['Link--label'])}>\n {children}\n </Text>\n\n {arrowDirection === 'end' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} hidden />\n )}\n\n {isExternal && <LinkExternalIcon size={LinkExternalIconSizes[size]} aria-label=\"External link\" />}\n </a>\n )\n}\n"],"mappings":";;;;;;;;;AASA,IAAa,IAAe,CAAC,WAAW,SAAS,EACpC,IAAY;CAAC;CAAS;CAAU;CAAQ,EACxC,IAAsB;CAAC;CAAS;CAAO;CAAO,EAErD,IAAgB;CACpB,OAAO;CACP,QAAQ;CACR,OAAO;CACR,EAEK,IAAwB;CAC5B,OAAO;CACP,QAAQ;CACR,OAAO;CACR;AAyBD,SAAgB,EAAK,EACnB,UAAO,UACP,aAAU,WACV,cACA,aACA,eACA,iBACA,iBACA,YACA,WACA,oBAAiB,OACjB,GAAG,KACS;CACZ,IAAM,CAAC,GAAW,KAAgB,EAAM,SAAS,GAAM,EACjD,CAAC,GAAW,KAAgB,EAAM,SAAS,GAAM,EAEjD,IAAmB,GACtB,MAA2D;AAE1D,EADA,EAAa,CAAC,EAAU,EACxB,IAAe,EAAM;IAEvB,CAAC,GAAc,EAAU,CAC1B,EAEK,IAAmB,GACtB,MAA2D;AAE1D,EADA,EAAa,CAAC,EAAU,EACxB,IAAe,EAAM;IAEvB,CAAC,GAAc,EAAU,CAC1B,EAEK,IAAgB,GACnB,MAAwD;AAEvD,EADA,EAAa,CAAC,EAAU,EACxB,IAAU,EAAM;IAElB,CAAC,GAAS,EAAU,CACrB,EAEK,IAAe,GAClB,MAAwD;AAEvD,EADA,EAAa,CAAC,EAAU,EACxB,IAAS,EAAM;IAEjB,CAAC,GAAQ,EAAU,CACpB;AAED,QACE,kBAAC,KAAD;EACE,WAAW,EACT,EAAO,MACP,EAAO,SAAS,MAChB,EAAO,SAAS,MAChB,IAAa,EAAO,uBAAuB,EAAO,eAAe,MACjE,EACD;EACD,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,GAAI;YAZN;GAcG,MAAmB,WAAW,CAAC,KAC9B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,SAAA;IAAQ,QAAA;IAAS,CAAA;GAGvG,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAM,EAAc;IAAO,WAAW,EAAK,EAAO,eAAe;IAC9E;IACI,CAAA;GAEN,MAAmB,SAAS,CAAC,KAC5B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,QAAA;IAAS,CAAA;GAG9F,KAAc,kBAAC,GAAD;IAAkB,MAAM,EAAsB;IAAO,cAAW;IAAkB,CAAA;GAC/F"}
1
+ {"version":3,"file":"Link.js","names":[],"sources":["../../src/Link/Link.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {useCallback} from 'react'\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {LinkExternalIcon} from '@primer/octicons-react'\nimport {Text} from '../Text'\n\nimport styles from './Link.module.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css'\n\nexport const LinkVariants = ['default', 'accent'] as const\nexport const LinkSizes = ['small', 'medium', 'large'] as const\nexport const LinkArrowDirections = ['start', 'end', 'none'] as const\n\nconst LinkTextSizes = {\n small: '100',\n medium: '200',\n large: '300',\n} as const\n\nconst LinkExternalIconSizes = {\n small: 16,\n medium: 16,\n large: 20,\n} as const\n\nexport type LinkProps = {\n /**\n * The size variations available in Link\n */\n size?: (typeof LinkSizes)[number]\n /**\n * Position of the arrow.\n */\n arrowDirection?: (typeof LinkArrowDirections)[number]\n /**\n * Show an external link icon\n */\n isExternal?: boolean\n /**\n * Specify alternative link appearance\n */\n variant?: (typeof LinkVariants)[number]\n} & React.ComponentPropsWithoutRef<'a'>\n\n/**\n * Links connect users to related content.\n * These are not intended to be used as a call-to-action.\n */\nexport function Link({\n size = 'medium',\n variant = 'default',\n className,\n children,\n isExternal,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n arrowDirection = 'end',\n ...props\n}: LinkProps) {\n const [isHovered, setIsHovered] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseEnter?.(event)\n },\n [onMouseEnter, isHovered],\n )\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseLeave?.(event)\n },\n [onMouseLeave, isHovered],\n )\n\n const handleOnFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onFocus?.(event)\n },\n [onFocus, isFocused],\n )\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onBlur?.(event)\n },\n [onBlur, isFocused],\n )\n\n return (\n <a\n className={clsx(\n styles.Link,\n styles[`Link--${size}`],\n styles[`Link--${variant}`],\n isExternal ? styles['Link--is-external'] : styles[`Link--arrow-${arrowDirection}`],\n className,\n )}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n {...props}\n >\n {arrowDirection === 'start' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} reverse hidden />\n )}\n\n <Text as=\"span\" size={LinkTextSizes[size]} className={clsx(styles['Link--label'])}>\n {children}\n </Text>\n\n {arrowDirection === 'end' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} hidden />\n )}\n\n {isExternal && <LinkExternalIcon size={LinkExternalIconSizes[size]} aria-label=\"External link\" />}\n </a>\n )\n}\n"],"mappings":";;;;;;;;;AASA,IAAa,IAAe,CAAC,WAAW,QAAQ,GACnC,IAAY;CAAC;CAAS;CAAU;AAAO,GACvC,IAAsB;CAAC;CAAS;CAAO;AAAM,GAEpD,IAAgB;CACpB,OAAO;CACP,QAAQ;CACR,OAAO;AACT,GAEM,IAAwB;CAC5B,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AAyBA,SAAgB,EAAK,EACnB,UAAO,UACP,aAAU,WACV,cACA,aACA,eACA,iBACA,iBACA,YACA,WACA,oBAAiB,OACjB,GAAG,KACS;CACZ,IAAM,CAAC,GAAW,KAAgB,EAAM,SAAS,EAAK,GAChD,CAAC,GAAW,KAAgB,EAAM,SAAS,EAAK,GAEhD,IAAmB,GACtB,MAA2D;EAE1D,AADA,EAAa,CAAC,CAAS,GACvB,IAAe,CAAK;CACtB,GACA,CAAC,GAAc,CAAS,CAC1B,GAEM,IAAmB,GACtB,MAA2D;EAE1D,AADA,EAAa,CAAC,CAAS,GACvB,IAAe,CAAK;CACtB,GACA,CAAC,GAAc,CAAS,CAC1B,GAEM,IAAgB,GACnB,MAAwD;EAEvD,AADA,EAAa,CAAC,CAAS,GACvB,IAAU,CAAK;CACjB,GACA,CAAC,GAAS,CAAS,CACrB,GAEM,IAAe,GAClB,MAAwD;EAEvD,AADA,EAAa,CAAC,CAAS,GACvB,IAAS,CAAK;CAChB,GACA,CAAC,GAAQ,CAAS,CACpB;CAEA,OACE,kBAAC,KAAD;EACE,WAAW,EACT,EAAO,MACP,EAAO,SAAS,MAChB,EAAO,SAAS,MAChB,IAAa,EAAO,uBAAuB,EAAO,eAAe,MACjE,CACF;EACA,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,GAAI;YAZN;GAcG,MAAmB,WAAW,CAAC,KAC9B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,SAAA;IAAQ,QAAA;GAAQ,CAAA;GAGtG,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAM,EAAc;IAAO,WAAW,EAAK,EAAO,cAAc;IAC7E;GACG,CAAA;GAEL,MAAmB,SAAS,CAAC,KAC5B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,QAAA;GAAQ,CAAA;GAG7F,KAAc,kBAAC,GAAD;IAAkB,MAAM,EAAsB;IAAO,cAAW;GAAiB,CAAA;EAC/F;;AAEP"}