@primer/react-brand 0.80.0-rc.e1dc6447 → 0.80.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 (695) hide show
  1. package/docs/components/CarouselPagination/index.md +96 -0
  2. package/docs/components/IconButton/react.md +33 -15
  3. package/docs/components/Testimonial/react.md +28 -22
  4. package/docs/components/TestimonialGroup/index.md +152 -0
  5. package/docs/components/index.md +3 -1
  6. package/docs/index.md +5 -3
  7. package/docs/introduction/theming.md +13 -0
  8. package/esm/Accordion/Accordion.js +1 -1
  9. package/esm/Accordion/{Accordion.module-B-iFuyHy.css → Accordion.module-B-vGHUg7.css} +1 -1
  10. package/esm/Accordion/Accordion.module.js +1 -1
  11. package/esm/Accordion/Accordion.module.js.map +1 -1
  12. package/esm/ActionMenu/ActionMenu.js +3 -3
  13. package/esm/ActionMenu/ActionMenu.js.map +1 -1
  14. package/esm/AnchorNav/AnchorNav.js +1 -1
  15. package/esm/Breadcrumbs/Breadcrumbs.js +1 -1
  16. package/esm/Button/Button.js +1 -1
  17. package/esm/CTABanner/CTABanner.js +1 -1
  18. package/esm/Card/Card.js +1 -1
  19. package/esm/CarouselPagination/CarouselPagination.d.ts +42 -0
  20. package/esm/CarouselPagination/CarouselPagination.d.ts.map +1 -0
  21. package/esm/CarouselPagination/CarouselPagination.js +97 -0
  22. package/esm/CarouselPagination/CarouselPagination.js.map +1 -0
  23. package/esm/CarouselPagination/CarouselPagination.module-F-qylhO7.css +1 -0
  24. package/esm/CarouselPagination/CarouselPagination.module.js +14 -0
  25. package/esm/CarouselPagination/CarouselPagination.module.js.map +1 -0
  26. package/esm/CarouselPagination/index.d.ts +2 -0
  27. package/esm/CarouselPagination/index.d.ts.map +1 -0
  28. package/esm/ComparisonTable/ComparisonTable.js +1 -1
  29. package/esm/EyebrowBanner/EyebrowBanner.js +1 -1
  30. package/esm/FAQ/FAQ.js +1 -1
  31. package/esm/FAQ/FAQGroup.js +1 -1
  32. package/esm/FeatureComparisonTable/FeatureComparisonTable.js +1 -1
  33. package/esm/FeatureComparisonTable/FeatureComparisonTable.module-BH8n2Ttj.css +1 -0
  34. package/esm/FeatureComparisonTable/FeatureComparisonTable.module.js +1 -2
  35. package/esm/FeatureComparisonTable/FeatureComparisonTable.module.js.map +1 -1
  36. package/esm/FeatureComparisonTable/sub-components/FeatureComparisonTableRow.d.ts.map +1 -1
  37. package/esm/FeatureComparisonTable/sub-components/FeatureComparisonTableRow.js +1 -1
  38. package/esm/FeatureComparisonTable/sub-components/FeatureComparisonTableRow.js.map +1 -1
  39. package/esm/FrostedGlassVFX/FrostedGlassVFX.js +1 -1
  40. package/esm/Grid/Grid.js +1 -1
  41. package/esm/Heading/Heading.module-ChqO_lH5.css +1 -0
  42. package/esm/Heading/Heading.module.js +1 -1
  43. package/esm/Heading/Heading.module.js.map +1 -1
  44. package/esm/Hero/Hero.d.ts.map +1 -1
  45. package/esm/Hero/Hero.js +5 -3
  46. package/esm/Hero/Hero.js.map +1 -1
  47. package/esm/IDE/IDE.js +1 -1
  48. package/esm/Icon/Icon.js +1 -1
  49. package/esm/IconButton/IconButton.d.ts +1 -1
  50. package/esm/IconButton/IconButton.d.ts.map +1 -1
  51. package/esm/IconButton/IconButton.js +2 -2
  52. package/esm/IconButton/IconButton.js.map +1 -1
  53. package/esm/IconButton/{IconButton.module-D2UJBm7x.css → IconButton.module-DDLfSj96.css} +1 -1
  54. package/esm/IconButton/IconButton.module.js +1 -1
  55. package/esm/IconButton/IconButton.module.js.map +1 -1
  56. package/esm/InlineCode/InlineCode.js +1 -1
  57. package/esm/InlineLink/InlineLink.js +1 -1
  58. package/esm/InlineLink/{InlineLink.module-6R63us8B.css → InlineLink.module-BXx17-pO.css} +1 -1
  59. package/esm/InlineLink/InlineLink.module.js +1 -1
  60. package/esm/InlineLink/InlineLink.module.js.map +1 -1
  61. package/esm/Label/Label.js +1 -1
  62. package/esm/Label/Label.module-ChD9OmD6.css +1 -0
  63. package/esm/Label/Label.module.js +1 -1
  64. package/esm/Label/Label.module.js.map +1 -1
  65. package/esm/Link/Link.js +1 -1
  66. package/esm/LogoSuite/LogoSuite.js +1 -1
  67. package/esm/MediaPlaylist/MediaPlaylist.js +1 -1
  68. package/esm/MinimalFooter/MinimalFooter.js +1 -1
  69. package/esm/NavList/NavList.js +1 -1
  70. package/esm/NavList/{NavList.module-zvpwnkzz.css → NavList.module-f9LV2-bb.css} +1 -1
  71. package/esm/NavList/NavList.module.js +1 -1
  72. package/esm/NavList/NavList.module.js.map +1 -1
  73. package/esm/PricingOptions/PricingOptions.js +1 -1
  74. package/esm/PricingOptions/{PricingOptions.module-CgPKaZAm.css → PricingOptions.module-pBExx0-M.css} +1 -1
  75. package/esm/PricingOptions/PricingOptions.module.js +1 -1
  76. package/esm/PricingOptions/PricingOptions.module.js.map +1 -1
  77. package/esm/Prose/Prose.js +1 -1
  78. package/esm/Spinner/Spinner.js +1 -1
  79. package/esm/SubNav/SubNav.js +1 -1
  80. package/esm/SubNav/SubNav.module-kWRa0Laq.css +1 -0
  81. package/esm/SubNav/SubNav.module.js +1 -1
  82. package/esm/SubNav/SubNav.module.js.map +1 -1
  83. package/esm/SubdomainNavBar/SubdomainNavBar.js +1 -1
  84. package/esm/Tabs/Tabs.d.ts +12 -0
  85. package/esm/Tabs/Tabs.d.ts.map +1 -1
  86. package/esm/Tabs/Tabs.js +85 -121
  87. package/esm/Tabs/Tabs.js.map +1 -1
  88. package/esm/Tabs/{Tabs.module-CK_p1qwC.css → Tabs.module-B-E_MTke.css} +1 -1
  89. package/esm/Tabs/Tabs.module.js +4 -8
  90. package/esm/Tabs/Tabs.module.js.map +1 -1
  91. package/esm/Testimonial/Testimonial.d.ts +7 -3
  92. package/esm/Testimonial/Testimonial.d.ts.map +1 -1
  93. package/esm/Testimonial/Testimonial.js +77 -77
  94. package/esm/Testimonial/Testimonial.js.map +1 -1
  95. package/esm/Testimonial/Testimonial.module-BqMYuLeo.css +1 -0
  96. package/esm/Testimonial/Testimonial.module.js +9 -14
  97. package/esm/Testimonial/Testimonial.module.js.map +1 -1
  98. package/esm/TestimonialGroup/TestimonialGroup.d.ts +35 -0
  99. package/esm/TestimonialGroup/TestimonialGroup.d.ts.map +1 -0
  100. package/esm/TestimonialGroup/TestimonialGroup.js +190 -0
  101. package/esm/TestimonialGroup/TestimonialGroup.js.map +1 -0
  102. package/esm/TestimonialGroup/TestimonialGroup.module-kFxPa1k1.css +1 -0
  103. package/esm/TestimonialGroup/TestimonialGroup.module.js +22 -0
  104. package/esm/TestimonialGroup/TestimonialGroup.module.js.map +1 -0
  105. package/esm/TestimonialGroup/index.d.ts +2 -0
  106. package/esm/TestimonialGroup/index.d.ts.map +1 -0
  107. package/esm/Text/Text.module-Bf-3ooDP.css +1 -0
  108. package/esm/Text/Text.module.js +1 -1
  109. package/esm/Text/Text.module.js.map +1 -1
  110. package/esm/TextCursorAnimation/TextCursorAnimation.js +1 -1
  111. package/esm/ThemeProvider/ThemeProvider.d.ts +1 -0
  112. package/esm/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  113. package/esm/ThemeProvider/ThemeProvider.js +11 -9
  114. package/esm/ThemeProvider/ThemeProvider.js.map +1 -1
  115. package/esm/Tiles/Tiles.js +1 -1
  116. package/esm/Timeline/Timeline.js +1 -1
  117. package/esm/Token/Token.js +1 -1
  118. package/esm/Token/Token.module-Di856FbT.css +1 -0
  119. package/esm/Token/Token.module.js +1 -1
  120. package/esm/Token/Token.module.js.map +1 -1
  121. package/esm/Tooltip/Tooltip.js +1 -1
  122. package/esm/VideoPlayer/VideoPlayer.js +1 -1
  123. package/esm/css/stylesheets.js +1 -1
  124. package/esm/forms/Checkbox/Checkbox.js +1 -1
  125. package/esm/forms/FormControl/FormControl.js +1 -1
  126. package/esm/forms/Radio/Radio.js +1 -1
  127. package/esm/forms/Select/Select.js +1 -1
  128. package/esm/forms/TextInput/TextInput.js +1 -1
  129. package/esm/forms/Textarea/Textarea.js +1 -1
  130. package/esm/forms/ToggleSwitch/ToggleSwitch.js +1 -1
  131. package/esm/index.d.ts +2 -0
  132. package/esm/index.d.ts.map +1 -1
  133. package/esm/index.esm.js +35 -33
  134. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes-CBE7L2wV.css +1 -0
  135. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/colors/global-with-modes-CjksF091.css +1 -0
  136. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes-DKHKbQRW.css +1 -0
  137. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes-CyS5r4GY.css +1 -0
  138. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes-CD0Na993.css +1 -0
  139. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes-BngjsaKj.css +1 -0
  140. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes-Bog-yunW.css +1 -0
  141. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes-BbjIdlS-.css +1 -0
  142. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors-with-modes-IFYKunDL.css +1 -0
  143. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes-q-NjRozG.css +1 -0
  144. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes-DKA7xAYz.css +1 -0
  145. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes-HElP20qs.css +1 -0
  146. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes-BTVqJ9iR.css +1 -0
  147. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes-BygKJG38.css +1 -0
  148. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/colors-with-modes-k7YIWAQV.css +1 -0
  149. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes-PKZWykxm.css +1 -0
  150. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes-fV7rwA0l.css +1 -0
  151. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes-Chf_t26p.css +1 -0
  152. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes-BPFx95T7.css +1 -0
  153. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon-button/colors-with-modes-BsaQYf6M.css +1 -0
  154. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes-CTreurKT.css +1 -0
  155. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes-B72y-n-A.css +1 -0
  156. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes-CT7QXZTs.css +1 -0
  157. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes-S_161ALk.css +1 -0
  158. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes-JvDrymoz.css +1 -0
  159. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes-BsfJ9fNj.css +1 -0
  160. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes-DTTUHiv1.css +1 -0
  161. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes-BCIP0l57.css +1 -0
  162. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes-DNrd36sc.css +1 -0
  163. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes-BVL83uw2.css +1 -0
  164. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes-DOJW-F1w.css +1 -0
  165. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/spinner/colors-with-modes-ufFxqo2V.css +1 -0
  166. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes-8aCELL7I.css +1 -0
  167. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-J9EPudv_.css +1 -0
  168. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes-D9l5QVGg.css +1 -0
  169. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/{base-CAG7koNB.css → base-h_olG8bi.css} +1 -1
  170. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes-BEiXR7-X.css +1 -0
  171. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial-group/base-Cq-doRpg.css +1 -0
  172. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-wctZLA5X.css +1 -0
  173. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes-BLWCqYua.css +1 -0
  174. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes-DNNJvx8C.css +1 -0
  175. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes-Byi9AmE8.css +1 -0
  176. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes-CzvPUrZu.css +1 -0
  177. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes-CjEAA-Ic.css +1 -0
  178. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes-M9ib_BKQ.css +1 -0
  179. package/esm/river/River/River.js +1 -1
  180. package/esm/river/RiverStoryScroll/RiverStoryScroll.js +1 -1
  181. package/lib/CarouselPagination/CarouselPagination.d.ts +41 -0
  182. package/lib/CarouselPagination/index.d.ts +1 -0
  183. package/lib/IconButton/IconButton.d.ts +1 -1
  184. package/lib/Tabs/Tabs.d.ts +12 -0
  185. package/lib/Testimonial/Testimonial.d.ts +7 -3
  186. package/lib/TestimonialGroup/TestimonialGroup.d.ts +34 -0
  187. package/lib/TestimonialGroup/index.d.ts +1 -0
  188. package/lib/ThemeProvider/ThemeProvider.d.ts +1 -0
  189. package/lib/css/main.css +1422 -276
  190. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +141 -2
  191. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  192. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  193. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  194. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  195. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +45 -2
  196. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  197. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +38 -2
  198. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +12 -2
  199. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +10 -2
  200. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  201. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +9 -2
  202. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +9 -2
  203. package/lib/design-tokens/css/tokens/functional/components/button/base.css +1 -1
  204. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +35 -2
  205. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  206. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +10 -2
  207. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  208. package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors-with-modes.css +35 -0
  209. package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors.css +13 -0
  210. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +10 -2
  211. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  212. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +45 -2
  213. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +16 -2
  214. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +52 -2
  215. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  216. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  217. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +13 -2
  218. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  219. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  220. package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/base.css +1 -1
  221. package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/colors-with-modes.css +17 -2
  222. package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
  223. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +18 -2
  224. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  225. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  226. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +11 -2
  227. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +9 -2
  228. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  229. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  230. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  231. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +36 -2
  232. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  233. package/lib/design-tokens/css/tokens/functional/components/icon-button/base.css +1 -1
  234. package/lib/design-tokens/css/tokens/functional/components/icon-button/colors-with-modes.css +22 -2
  235. package/lib/design-tokens/css/tokens/functional/components/icon-button/colors.css +1 -1
  236. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  237. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +29 -2
  238. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  239. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +11 -2
  240. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
  241. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  242. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +10 -2
  243. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  244. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +33 -2
  245. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  246. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +10 -2
  247. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  248. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  249. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +14 -2
  250. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  251. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +9 -2
  252. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
  253. package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +9 -2
  254. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +16 -2
  255. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  256. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  257. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  258. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +10 -2
  259. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  260. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  261. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +10 -2
  262. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  263. package/lib/design-tokens/css/tokens/functional/components/spinner/base.css +1 -1
  264. package/lib/design-tokens/css/tokens/functional/components/spinner/colors-with-modes.css +9 -2
  265. package/lib/design-tokens/css/tokens/functional/components/spinner/colors.css +1 -1
  266. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  267. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  268. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +20 -2
  269. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +19 -2
  270. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  271. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +14 -2
  272. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  273. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +3 -1
  274. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +40 -32
  275. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -16
  276. package/lib/design-tokens/css/tokens/functional/components/testimonial-group/base.css +9 -0
  277. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +1 -1
  278. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +11 -2
  279. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +1 -1
  280. package/lib/design-tokens/css/tokens/functional/components/tiles/base.css +1 -1
  281. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +11 -2
  282. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  283. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +9 -2
  284. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  285. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/base.css +1 -1
  286. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes.css +17 -2
  287. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors.css +1 -1
  288. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +21 -2
  289. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  290. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +9 -2
  291. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  292. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  293. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +20 -2
  294. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  295. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  296. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  297. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  298. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  299. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  300. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  301. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  302. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  303. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  304. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  305. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  306. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  307. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  308. package/lib/design-tokens/js/module/tokens/functional/components/button/base.js +1 -1
  309. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  310. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  311. package/lib/design-tokens/js/module/tokens/functional/components/carousel-pagination/colors.js +43 -0
  312. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  313. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  314. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  315. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  316. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  317. package/lib/design-tokens/js/module/tokens/functional/components/feature-comparison-table/base.js +1 -1
  318. package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
  319. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  320. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  321. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  322. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  323. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  324. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  325. package/lib/design-tokens/js/module/tokens/functional/components/icon-button/base.js +1 -1
  326. package/lib/design-tokens/js/module/tokens/functional/components/icon-button/colors.js +1 -1
  327. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  328. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  329. package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
  330. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  331. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  332. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  333. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  334. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  335. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  336. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
  337. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  338. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  339. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  340. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  341. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  342. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  343. package/lib/design-tokens/js/module/tokens/functional/components/spinner/base.js +1 -1
  344. package/lib/design-tokens/js/module/tokens/functional/components/spinner/colors.js +1 -1
  345. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  346. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  347. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  348. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  349. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +9 -1
  350. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -71
  351. package/lib/design-tokens/js/module/tokens/functional/components/testimonial-group/base.js +13 -0
  352. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +1 -1
  353. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  354. package/lib/design-tokens/js/module/tokens/functional/components/tiles/base.js +1 -1
  355. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  356. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  357. package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/base.js +1 -1
  358. package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/colors.js +1 -1
  359. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  360. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  361. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  362. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  363. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  364. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  365. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  366. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  367. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  368. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  369. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  370. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  371. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  372. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  373. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  374. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  375. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  376. package/lib/design-tokens/js/tokens/functional/components/button/base.js +1 -1
  377. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  378. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  379. package/lib/design-tokens/js/tokens/functional/components/carousel-pagination/colors.js +11 -0
  380. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  381. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  382. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  383. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  384. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  385. package/lib/design-tokens/js/tokens/functional/components/feature-comparison-table/base.js +1 -1
  386. package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
  387. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  388. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  389. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  390. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  391. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  392. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  393. package/lib/design-tokens/js/tokens/functional/components/icon-button/base.js +1 -1
  394. package/lib/design-tokens/js/tokens/functional/components/icon-button/colors.js +1 -1
  395. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  396. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  397. package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
  398. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  399. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  400. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  401. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  402. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  403. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  404. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
  405. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  406. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  407. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  408. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  409. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  410. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  411. package/lib/design-tokens/js/tokens/functional/components/spinner/base.js +1 -1
  412. package/lib/design-tokens/js/tokens/functional/components/spinner/colors.js +1 -1
  413. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  414. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  415. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  416. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  417. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +3 -1
  418. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -16
  419. package/lib/design-tokens/js/tokens/functional/components/testimonial-group/base.js +7 -0
  420. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +1 -1
  421. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  422. package/lib/design-tokens/js/tokens/functional/components/tiles/base.js +1 -1
  423. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  424. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  425. package/lib/design-tokens/js/tokens/functional/components/toggle-switch/base.js +1 -1
  426. package/lib/design-tokens/js/tokens/functional/components/toggle-switch/colors.js +1 -1
  427. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  428. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  429. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  430. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  431. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  432. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  433. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  434. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  435. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  436. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  437. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  438. package/lib/design-tokens/json/colors.json +6 -15
  439. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  440. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  441. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  442. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  443. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  444. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  445. package/lib/design-tokens/scss/tokens/functional/components/button/base.scss +1 -1
  446. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  447. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  448. package/lib/design-tokens/scss/tokens/functional/components/carousel-pagination/colors.scss +10 -0
  449. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  450. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  451. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  452. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  453. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  454. package/lib/design-tokens/scss/tokens/functional/components/feature-comparison-table/base.scss +1 -1
  455. package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
  456. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  457. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  458. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  459. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  460. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  461. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  462. package/lib/design-tokens/scss/tokens/functional/components/icon-button/base.scss +1 -1
  463. package/lib/design-tokens/scss/tokens/functional/components/icon-button/colors.scss +1 -1
  464. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  465. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  466. package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
  467. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  468. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  469. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  470. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  471. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  472. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  473. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
  474. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  475. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  476. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  477. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  478. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  479. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  480. package/lib/design-tokens/scss/tokens/functional/components/spinner/base.scss +1 -1
  481. package/lib/design-tokens/scss/tokens/functional/components/spinner/colors.scss +1 -1
  482. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  483. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  484. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  485. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  486. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +3 -1
  487. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -16
  488. package/lib/design-tokens/scss/tokens/functional/components/testimonial-group/base.scss +6 -0
  489. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +1 -1
  490. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +1 -1
  491. package/lib/design-tokens/scss/tokens/functional/components/tiles/base.scss +1 -1
  492. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  493. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  494. package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/base.scss +1 -1
  495. package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/colors.scss +1 -1
  496. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  497. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  498. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  499. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  500. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  501. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  502. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  503. package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
  504. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  505. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  506. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  507. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  508. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  509. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  510. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  511. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  512. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  513. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  514. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  515. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  516. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  517. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  518. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  519. package/lib/design-tokens/ts/tokens/functional/components/button/base.d.ts +1 -1
  520. package/lib/design-tokens/ts/tokens/functional/components/button/base.js +1 -1
  521. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  522. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  523. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  524. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  525. package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.d.ts +28 -0
  526. package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.js +25 -0
  527. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  528. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  529. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  530. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  531. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  532. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  533. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  534. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  535. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  536. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  537. package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.d.ts +1 -1
  538. package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.js +1 -1
  539. package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
  540. package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
  541. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  542. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  543. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  544. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  545. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  546. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  547. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  548. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  549. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  550. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  551. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  552. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  553. package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.d.ts +1 -1
  554. package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.js +1 -1
  555. package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.d.ts +1 -1
  556. package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.js +1 -1
  557. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  558. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  559. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  560. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  561. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
  562. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
  563. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  564. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  565. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  566. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  567. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  568. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  569. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  570. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  571. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  572. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  573. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  574. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  575. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
  576. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
  577. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  578. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  579. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  580. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  581. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  582. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  583. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  584. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  585. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  586. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  587. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  588. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  589. package/lib/design-tokens/ts/tokens/functional/components/spinner/base.d.ts +1 -1
  590. package/lib/design-tokens/ts/tokens/functional/components/spinner/base.js +1 -1
  591. package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.d.ts +1 -1
  592. package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.js +1 -1
  593. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  594. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  595. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  596. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  597. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  598. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  599. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  600. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  601. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +9 -1
  602. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +9 -1
  603. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +2 -27
  604. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -26
  605. package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.d.ts +16 -0
  606. package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.js +13 -0
  607. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +1 -1
  608. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +1 -1
  609. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +1 -1
  610. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  611. package/lib/design-tokens/ts/tokens/functional/components/tiles/base.d.ts +1 -1
  612. package/lib/design-tokens/ts/tokens/functional/components/tiles/base.js +1 -1
  613. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  614. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  615. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  616. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  617. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.d.ts +1 -1
  618. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.js +1 -1
  619. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.d.ts +1 -1
  620. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.js +1 -1
  621. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  622. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  623. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  624. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  625. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  626. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  627. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  628. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  629. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  630. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  631. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  632. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  633. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  634. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  635. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  636. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  637. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  638. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  639. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  640. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  641. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  642. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  643. package/lib/index.d.ts +2 -0
  644. package/lib/index.js +1 -1
  645. package/llms.txt +5 -3
  646. package/package.json +1 -1
  647. package/esm/FeatureComparisonTable/FeatureComparisonTable.module-CGnj3YJu.css +0 -1
  648. package/esm/Heading/Heading.module-YfiTxQkR.css +0 -1
  649. package/esm/Label/Label.module-DDkalJAE.css +0 -1
  650. package/esm/SubNav/SubNav.module-cyUt0N_h.css +0 -1
  651. package/esm/Testimonial/Testimonial.module-_jTJvM-4.css +0 -1
  652. package/esm/Text/Text.module-D0UHZ0pq.css +0 -1
  653. package/esm/Token/Token.module-DtWE9IPI.css +0 -1
  654. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes-BVk7bh0Y.css +0 -1
  655. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/colors/global-with-modes-Bdet_nBw.css +0 -1
  656. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes-PcQKqJQI.css +0 -1
  657. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes-mgXFtgvP.css +0 -1
  658. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes-98imfMkq.css +0 -1
  659. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes-DYugDcQy.css +0 -1
  660. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes-kII0kqk3.css +0 -1
  661. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes-C43pQ5wc.css +0 -1
  662. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes-D2oNfyDt.css +0 -1
  663. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes-ChBPnVuN.css +0 -1
  664. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes-B9zRp3WA.css +0 -1
  665. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes-BzV3LYhH.css +0 -1
  666. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes-Dc8Ya1HV.css +0 -1
  667. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/colors-with-modes-Dw8AMSYp.css +0 -1
  668. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes-CMFhnjfv.css +0 -1
  669. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes-CMw13Yda.css +0 -1
  670. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes-6QocK2fy.css +0 -1
  671. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes-Bjhpbkke.css +0 -1
  672. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/icon-button/colors-with-modes-D7iaptsa.css +0 -1
  673. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes-DSf1PV6b.css +0 -1
  674. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes-Bj7XtHMY.css +0 -1
  675. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes-DujakhtG.css +0 -1
  676. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes-BB1L_8rS.css +0 -1
  677. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes-Dh1w7a05.css +0 -1
  678. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes-B8ia26TA.css +0 -1
  679. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes-YId8eSZQ.css +0 -1
  680. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes-CGyt2t8f.css +0 -1
  681. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes-DBi2l0Re.css +0 -1
  682. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes-Y3yB1rAU.css +0 -1
  683. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes-omPmv64b.css +0 -1
  684. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/spinner/colors-with-modes-izIk82NS.css +0 -1
  685. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes-Bna3nyXf.css +0 -1
  686. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-C_lnz8M6.css +0 -1
  687. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes-DCEDN6wM.css +0 -1
  688. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes-8ryG-BX6.css +0 -1
  689. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BucKYl1n.css +0 -1
  690. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes-DTTqGOfy.css +0 -1
  691. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes-DDIdeMJX.css +0 -1
  692. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes-Ctf2MPJ3.css +0 -1
  693. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes-5VT1x9eF.css +0 -1
  694. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes-BrRCxJ2E.css +0 -1
  695. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes-CTkp-z-l.css +0 -1
package/esm/Tabs/Tabs.js CHANGED
@@ -2,18 +2,15 @@ import { clsx as e } from "../node_modules/clsx/dist/clsx.js";
2
2
  import { AnimationProvider as t } from "../animation/AnimationProvider/AnimationProvider.js";
3
3
  import { Animate as n } from "../animation/Animate/Animate.js";
4
4
  import { useProvidedRefOrCreate as r } from "../hooks/useRef.js";
5
- import { Stack as i } from "../Stack/Stack.js";
6
- import { Text as a } from "../Text/Text.js";
7
- import { ChevronLeftIcon as o } from "../node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js";
8
- import { ChevronRightIcon as s } from "../node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js";
9
- import { useTabs as c } from "../hooks/useTabs.js";
10
- import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes-DCEDN6wM.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/base-T7ABwZVf.css';/* empty css */
5
+ import { useTabs as i } from "../hooks/useTabs.js";
6
+ import { CarouselPagination as a } from "../CarouselPagination/CarouselPagination.js";
7
+ import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes-D9l5QVGg.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/tabs/base-T7ABwZVf.css';/* empty css */
11
8
  /* empty css */
12
- import l from "./Tabs.module.js";
13
- import { Children as u, cloneElement as d, forwardRef as f, isValidElement as p, memo as m, useCallback as h, useEffect as g, useRef as _ } from "react";
14
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
9
+ import o from "./Tabs.module.js";
10
+ import { Children as s, cloneElement as c, forwardRef as l, isValidElement as u, memo as d, useEffect as f, useRef as p } from "react";
11
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
15
12
  //#region src/Tabs/Tabs.tsx
16
- var b = {
13
+ var g = {
17
14
  root: "Tabs",
18
15
  get tab() {
19
16
  return `${this.root}-tab`;
@@ -24,39 +21,41 @@ var b = {
24
21
  get indicators() {
25
22
  return `${this.root}-indicators`;
26
23
  }
27
- }, x = {
24
+ }, _ = {
28
25
  controlsNext: "Next tab",
29
- controlsPrev: "Previous tab"
30
- }, S = f(({ align: t = "center", children: n, defaultActiveTab: r, onChange: f, variant: m = "default", className: S, "aria-label": T, "aria-labelledby": E, internalAccessibleLabels: D = x, ...O }, k) => {
31
- let { activeTab: A, activateTab: j, getTabListProps: M, getTabProps: N, getTabPanelProps: P } = c({
26
+ controlsPrev: "Previous tab",
27
+ controlsIndicator: "Go to tab {current}",
28
+ controlsNavigation: "Tab navigation"
29
+ }, v = l(({ align: t = "center", children: n, defaultActiveTab: r, onChange: l, variant: d = "default", className: v, "aria-label": x, "aria-labelledby": S, internalAccessibleLabels: C = _, ...w }, T) => {
30
+ let { activeTab: E, activateTab: D, getTabListProps: O, getTabProps: k, getTabPanelProps: A } = i({
32
31
  defaultTab: r,
33
- onTabActivate: f
34
- }), F = _(null), I = _(null), L = _(null), R = u.toArray(n), z = R.filter((e) => p(e) && e.type === C).map((e, t) => {
35
- let n = String(t), r = e.ref, i = N(n, r);
36
- return d(e, {
32
+ onTabActivate: l
33
+ }), j = p(null), M = p(null), N = p(null), P = s.toArray(n), F = P.filter((e) => u(e) && e.type === y).map((e, t) => {
34
+ let n = String(t), r = e.ref, i = k(n, r);
35
+ return c(e, {
37
36
  ...i,
38
37
  id: e.props.id ?? i.id,
39
38
  "aria-controls": e.props["aria-controls"] ?? i["aria-controls"],
40
39
  value: n,
41
40
  key: i.id,
42
- isActive: A === n,
43
- variant: m
41
+ isActive: E === n,
42
+ variant: d
44
43
  });
45
- }), B = R.filter((e) => p(e) && e.type === w).map((e, t) => {
46
- let n = P(String(t));
47
- return d(e, {
44
+ }), I = P.filter((e) => u(e) && e.type === b).map((e, t) => {
45
+ let n = A(String(t));
46
+ return c(e, {
48
47
  ...n,
49
48
  id: e.props.id ?? n.id,
50
49
  key: String(t)
51
50
  });
52
51
  });
53
- g(() => {
52
+ f(() => {
54
53
  /* istanbul ignore next */
55
- if (!F.current || !L.current) return;
56
- let e = F.current.querySelector("[aria-selected=\"true\"]");
57
- if (!A) return;
54
+ if (!j.current || !N.current) return;
55
+ let e = j.current.querySelector("[aria-selected=\"true\"]");
56
+ if (!E) return;
58
57
  let t = () => {
59
- let t = L.current, n = F.current;
58
+ let t = N.current, n = j.current;
60
59
  /* istanbul ignore next */
61
60
  if (!t || !n) return;
62
61
  let r = window.getComputedStyle(n).getPropertyValue("--brand-Tabs-container-padding"), i = parseFloat(r) * 16, a = e.offsetLeft - i, o = e.offsetWidth;
@@ -64,16 +63,16 @@ var b = {
64
63
  };
65
64
  t();
66
65
  let n = new ResizeObserver(t);
67
- n.observe(F.current);
68
- let r = F.current, i = r.clientWidth, a = window.getComputedStyle(r).getPropertyValue("--brand-Tabs-container-padding"), o = parseFloat(a) * 16, s = e.offsetLeft - o + e.offsetWidth / 2 - i / 2, c = r.scrollWidth - i, l = Math.max(0, Math.min(s, c));
66
+ n.observe(j.current);
67
+ let r = j.current, i = r.clientWidth, a = window.getComputedStyle(r).getPropertyValue("--brand-Tabs-container-padding"), o = parseFloat(a) * 16, s = e.offsetLeft - o + e.offsetWidth / 2 - i / 2, c = r.scrollWidth - i, l = Math.max(0, Math.min(s, c));
69
68
  return r.scrollTo({
70
69
  left: l,
71
70
  behavior: "smooth"
72
71
  }), () => {
73
72
  n.disconnect();
74
73
  };
75
- }, [A]), g(() => {
76
- let e = F.current, t = I.current;
74
+ }, [E]), f(() => {
75
+ let e = j.current, t = M.current;
77
76
  /* istanbul ignore next */
78
77
  if (!e || !t) return;
79
78
  /* istanbul ignore next */
@@ -86,112 +85,77 @@ var b = {
86
85
  return r.observe(e), e.addEventListener("scroll", n), () => {
87
86
  e.removeEventListener("scroll", n), r.disconnect();
88
87
  };
89
- }, [z]);
90
- let V = M(typeof T == "string" ? { label: T } : { labelledBy: E }), H = h(() => {
91
- A && A !== String(z.length - 1) && j(String(Number(A) + 1));
92
- }, [
93
- A,
94
- j,
95
- z
96
- ]), U = h(() => {
97
- A && A !== "0" && j(String(Number(A) - 1));
98
- }, [A, j]), W = z.length >= 3, G = String(z.length - 1) === A;
99
- return /* @__PURE__ */ y("div", {
100
- className: e(l["Tabs-container"], l[`Tabs-container--align-${t}`], G && l["Tabs-container--lastTabIsActive"], S),
101
- ref: k,
102
- "data-testid": b.root,
103
- ...O,
88
+ }, [F]);
89
+ let L = O(typeof x == "string" ? { label: x } : { labelledBy: S }), R = F.length >= 3, z = String(F.length - 1) === E;
90
+ return /* @__PURE__ */ h("div", {
91
+ className: e(o["Tabs-container"], o[`Tabs-container--align-${t}`], z && o["Tabs-container--lastTabIsActive"], v),
92
+ ref: T,
93
+ "data-testid": g.root,
94
+ ...w,
104
95
  children: [
105
- z.length >= 3 && /* @__PURE__ */ v("div", {
106
- className: l.Tabs__controls,
107
- "data-testid": b.indicators,
108
- children: /* @__PURE__ */ y(i, {
109
- direction: "horizontal",
110
- padding: "none",
111
- justifyContent: "space-between",
112
- children: [
113
- /* @__PURE__ */ v("button", {
114
- onClick: U,
115
- className: l.Tabs__control,
116
- "aria-label": D.controlsPrev,
117
- children: /* @__PURE__ */ v(a, {
118
- size: "100",
119
- children: /* @__PURE__ */ v(o, {
120
- size: 16,
121
- className: l["Tabs__control-icon"]
122
- })
123
- })
124
- }),
125
- /* @__PURE__ */ v(i, {
126
- direction: "horizontal",
127
- gap: 4,
128
- padding: "none",
129
- justifyContent: "space-between",
130
- alignItems: "center",
131
- children: z.map((t, n) => /* @__PURE__ */ v("div", { className: e(l.Tabs__indicator, A && Number(A) === n && l["Tabs__indicator--active"]) }, n))
132
- }),
133
- /* @__PURE__ */ v("button", {
134
- onClick: H,
135
- className: l.Tabs__control,
136
- "aria-label": D.controlsNext,
137
- children: /* @__PURE__ */ v(a, {
138
- size: "100",
139
- children: /* @__PURE__ */ v(s, {
140
- size: 16,
141
- className: l["Tabs__control-icon"]
142
- })
143
- })
144
- })
145
- ]
96
+ F.length >= 3 && /* @__PURE__ */ m("div", {
97
+ className: o.Tabs__controls,
98
+ "data-testid": g.indicators,
99
+ children: /* @__PURE__ */ m(a, {
100
+ itemCount: F.length,
101
+ activeIndex: Number(E ?? 0),
102
+ "aria-label": C.controlsNavigation ?? _.controlsNavigation,
103
+ labels: {
104
+ previous: C.controlsPrev,
105
+ next: C.controlsNext,
106
+ item: C.controlsIndicator ?? _.controlsIndicator
107
+ },
108
+ itemAttributesBuilder: (e) => ({ "aria-controls": F[e].props["aria-controls"] }),
109
+ onChange: (e) => D(String(e))
146
110
  })
147
111
  }),
148
- /* @__PURE__ */ v("div", {
149
- ref: I,
150
- className: e(l.Tablist__wrapper, l[`Tablist__wrapper--${m}`], G && l["Tablist__wrapper--lastTabIsActive"]),
151
- children: /* @__PURE__ */ y("div", {
152
- ref: F,
153
- ...V,
154
- className: e(l.Tabs, l[`Tabs--${m}`], W && l["Tabs--hasMoreThanTwoTabs"]),
155
- children: [/* @__PURE__ */ v("div", {
156
- ref: L,
157
- className: l.Tabs__slider,
112
+ /* @__PURE__ */ m("div", {
113
+ ref: M,
114
+ className: e(o.Tablist__wrapper, o[`Tablist__wrapper--${d}`], z && o["Tablist__wrapper--lastTabIsActive"]),
115
+ children: /* @__PURE__ */ h("div", {
116
+ ref: j,
117
+ ...L,
118
+ className: e(o.Tabs, o[`Tabs--${d}`], R && o["Tabs--hasMoreThanTwoTabs"]),
119
+ children: [/* @__PURE__ */ m("div", {
120
+ ref: N,
121
+ className: o.Tabs__slider,
158
122
  "aria-hidden": !0
159
- }), z]
123
+ }), F]
160
124
  })
161
125
  }),
162
- B.length > 0 && /* @__PURE__ */ v("div", {
163
- className: l.Tabs__panelContainer,
164
- children: B
126
+ I.length > 0 && /* @__PURE__ */ m("div", {
127
+ className: o.Tabs__panelContainer,
128
+ children: I
165
129
  })
166
130
  ]
167
131
  });
168
- }), C = f(({ children: t, className: n, isActive: i, variant: a, ...o }, s) => /* @__PURE__ */ v("button", {
169
- ref: r(s),
170
- className: e(l.Tabs__item, i && l["Tabs__item--active"], a && l[`Tabs__item--${a}`], n),
171
- "data-testid": b.tab,
172
- ...o,
132
+ }), y = l(({ children: t, className: n, isActive: i, variant: a, ...s }, c) => /* @__PURE__ */ m("button", {
133
+ ref: r(c),
134
+ className: e(o.Tabs__item, i && o["Tabs__item--active"], a && o[`Tabs__item--${a}`], n),
135
+ "data-testid": g.tab,
136
+ ...s,
173
137
  children: t
174
- })), w = m(function({ children: r, animation: i = !1, className: a, hidden: o, ...s }) {
175
- let c = i ? /* @__PURE__ */ v(t, {
138
+ })), b = d(function({ children: r, animation: i = !1, className: a, hidden: s, ...c }) {
139
+ let l = i ? /* @__PURE__ */ m(t, {
176
140
  autoStaggerChildren: !1,
177
- children: /* @__PURE__ */ v(n, {
141
+ children: /* @__PURE__ */ m(n, {
178
142
  animate: i,
179
143
  children: r
180
144
  })
181
145
  }) : r;
182
- return /* @__PURE__ */ v("div", {
183
- className: e(l.Tabs__panel, a),
184
- "data-testid": b.panel,
185
- hidden: o,
186
- ...s,
187
- children: c
146
+ return /* @__PURE__ */ m("div", {
147
+ className: e(o.Tabs__panel, a),
148
+ "data-testid": g.panel,
149
+ hidden: s,
150
+ ...c,
151
+ children: l
188
152
  });
189
- }), T = Object.assign(S, {
190
- Item: C,
191
- Panel: w,
192
- testIds: b
153
+ }), x = Object.assign(v, {
154
+ Item: y,
155
+ Panel: b,
156
+ testIds: g
193
157
  });
194
158
  //#endregion
195
- export { T as Tabs };
159
+ export { x as Tabs };
196
160
 
197
161
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":[],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import React, {\n memo,\n ReactNode,\n forwardRef,\n Children,\n isValidElement,\n cloneElement,\n useRef,\n useEffect,\n HTMLAttributes,\n useCallback,\n} from 'react'\nimport {clsx} from 'clsx'\nimport {ChevronLeftIcon, ChevronRightIcon} from '@primer/octicons-react'\nimport {useTabs} from '../hooks/useTabs'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\nimport {BaseProps} from '../component-helpers'\nimport {Animate, AnimationProvider, AnimationVariants} from '../animation'\nimport {Text} from '../Text'\nimport {Stack} from '../Stack'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/tabs/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Tabs.module.css'\n\nconst testIds = {\n root: 'Tabs',\n get tab() {\n return `${this.root}-tab`\n },\n get panel() {\n return `${this.root}-panel`\n },\n get indicators() {\n return `${this.root}-indicators`\n },\n}\n\n/**\n * Accessible label for the entire tabs component, used by screen readers to describe the tab group.\n * Note: Only use one of `aria-label` or `aria-labelled` by. Not both or neither.\n */\ntype LabelOrLabelledBy =\n | {'aria-label': string; 'aria-labelledby'?: never}\n | {'aria-labelledby': string; 'aria-label'?: never}\n\nexport type TabsProps = {\n /**\n * Visual style variant of the tabs. Affects the appearance and styling theme.\n */\n variant?: 'default' | 'accent' | 'underline'\n /**\n * Horizontal alignment of the tab navigation. Defaults to 'start'.\n */\n align?: 'start' | 'center'\n /**\n * Named children to be rendered as tab items and panels.\n */\n children: ReactNode\n /**\n * Sets the default active tab. \"0\" (first tab) by default.\n */\n defaultActiveTab?: string\n /**\n * Callback function triggered when the active tab changes. Receives the new active tab identifier.\n */\n onChange?: (activeTab: string) => void\n\n /**\n * Additional CSS class names to apply to the tabs container for custom styling.\n */\n className?: string\n /**\n * @param internalAccessibleLabels - Customizable labels for screen readers to improve accessibility. These are applied internally using the aria-label attribute.\n * @param internalAccessibleLabels.controlsNext - Label for the \"next tab\" control button, used by screen readers. Default is \"Next tab\".\n * @param internalAccessibleLabels.controlsPrev - Label for the \"previous tab\" control button, used by screen readers. Default is \"Previous tab\".\n */\n internalAccessibleLabels?: {\n controlsNext: string\n controlsPrev: string\n }\n} & LabelOrLabelledBy &\n BaseProps<HTMLDivElement> &\n Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'aria-label' | 'aria-labelledby'>\n\nconst defaultInternalAccessibleLabels = {\n controlsNext: 'Next tab',\n controlsPrev: 'Previous tab',\n}\n\nconst _TabsRoot = forwardRef<HTMLDivElement, TabsProps>(\n (\n {\n align = 'center',\n children,\n defaultActiveTab,\n onChange,\n variant = 'default',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n internalAccessibleLabels = defaultInternalAccessibleLabels,\n ...props\n },\n ref,\n ) => {\n const {activeTab, activateTab, getTabListProps, getTabProps, getTabPanelProps} = useTabs({\n defaultTab: defaultActiveTab,\n onTabActivate: onChange,\n })\n const tabsContainerRef = useRef<HTMLDivElement>(null)\n const tabsWrapperRef = useRef<HTMLDivElement>(null)\n const sliderRef = useRef<HTMLDivElement>(null)\n\n const childrenArray = Children.toArray(children)\n\n type TabsItemElement = React.ReactElement<TabsItemProps> & {ref?: React.Ref<HTMLButtonElement>}\n\n const tabs = childrenArray\n .filter((child): child is TabsItemElement => isValidElement<TabsItemProps>(child) && child.type === TabsItem)\n .map((tab, index) => {\n const tabId = String(index)\n const originalRef = tab.ref\n const tabProps = getTabProps<HTMLButtonElement>(tabId, originalRef)\n\n return cloneElement(tab, {\n ...tabProps,\n id: tab.props.id ?? tabProps.id,\n 'aria-controls': tab.props['aria-controls'] ?? tabProps['aria-controls'],\n value: tabId,\n key: tabProps.id,\n isActive: activeTab === tabId,\n variant,\n })\n })\n\n const panels = childrenArray\n .filter(\n (child): child is React.ReactElement<TabsPanelProps> =>\n isValidElement<TabsPanelProps>(child) && child.type === TabsPanel,\n )\n .map((child, index) => {\n const panelId = String(index)\n const tabPanelProps = getTabPanelProps(panelId)\n\n return cloneElement(child, {\n ...tabPanelProps,\n id: child.props.id ?? tabPanelProps.id,\n key: String(index),\n })\n })\n\n useEffect(() => {\n /* istanbul ignore next */\n if (!tabsContainerRef.current || !sliderRef.current) return\n\n const activeTabButton = tabsContainerRef.current.querySelector(`[aria-selected=\"true\"]`) as HTMLButtonElement\n\n if (!activeTab) return\n\n const updateSliderPosition = () => {\n const sliderElement = sliderRef.current\n const tabsContainer = tabsContainerRef.current\n /* istanbul ignore next */\n if (!sliderElement || !tabsContainer) return\n\n const containerPaddingRem = window\n .getComputedStyle(tabsContainer)\n .getPropertyValue('--brand-Tabs-container-padding')\n\n const containerPadding = parseFloat(containerPaddingRem) * 16 // base size\n\n const offsetX = activeTabButton.offsetLeft - containerPadding\n const width = activeTabButton.offsetWidth\n\n sliderElement.style.setProperty('--brand-Tabs-slider-x', `${offsetX}px`)\n sliderElement.style.setProperty('--brand-Tabs-slider-width', `${width}px`)\n }\n\n updateSliderPosition()\n\n const resizeObserver = new ResizeObserver(updateSliderPosition)\n resizeObserver.observe(tabsContainerRef.current)\n\n // On narrow viewports this will scroll the active tab into the center.\n // Important because we show a gradient in dark mode.\n const tabsContainer = tabsContainerRef.current\n const containerWidth = tabsContainer.clientWidth\n const containerPaddingRem = window\n .getComputedStyle(tabsContainer)\n .getPropertyValue('--brand-Tabs-container-padding')\n const containerPadding = parseFloat(containerPaddingRem) * 16\n const tabLeft = activeTabButton.offsetLeft - containerPadding\n const tabWidth = activeTabButton.offsetWidth\n const tabCenter = tabLeft + tabWidth / 2\n\n const targetScrollLeft = tabCenter - containerWidth / 2\n\n const maxScrollLeft = tabsContainer.scrollWidth - containerWidth // defines boudnary\n const finalScrollLeft = Math.max(0, Math.min(targetScrollLeft, maxScrollLeft))\n\n tabsContainer.scrollTo({\n left: finalScrollLeft,\n behavior: 'smooth',\n })\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [activeTab])\n\n // Tracks the overflow state for mobile gradient visibility\n // Should only appear when enough items trigger an overflow\n // Related to gradient functionality\n useEffect(() => {\n const tabsContainer = tabsContainerRef.current\n const wrapperElement = tabsWrapperRef.current\n /* istanbul ignore next */\n if (!tabsContainer || !wrapperElement) return\n\n // This relies heavily on layout and measurement and, as such, isn't practical to test\n /* istanbul ignore next */\n const updateScrollState = () => {\n const {scrollLeft, scrollWidth, clientWidth} = tabsContainer\n const hasOverflow = scrollWidth > clientWidth\n\n const canScrollRight = hasOverflow && scrollLeft < scrollWidth - clientWidth - 1\n\n // Set CSS variables on the wrapper element for the gradient\n wrapperElement.style.setProperty('--scroll-offset', `${scrollLeft}px`)\n wrapperElement.style.setProperty('--has-overflow', hasOverflow ? '1' : '0')\n wrapperElement.style.setProperty('--can-scroll-right', canScrollRight ? '1' : '0')\n }\n\n updateScrollState()\n const resizeObserver = new ResizeObserver(updateScrollState)\n resizeObserver.observe(tabsContainer)\n\n // eslint-disable-next-line github/prefer-observers\n tabsContainer.addEventListener('scroll', updateScrollState)\n\n return () => {\n tabsContainer.removeEventListener('scroll', updateScrollState)\n resizeObserver.disconnect()\n }\n }, [tabs])\n\n /**\n * The LabelOrLabelledBy type guarantees that, if ariaLabel isn't a string,\n * then ariaLabelledBy is guaranteed to be a string, and vice versa.\n */\n const accessibleLabel = typeof ariaLabel === 'string' ? {label: ariaLabel} : {labelledBy: ariaLabelledBy}\n const tabListProps = getTabListProps(accessibleLabel)\n\n const handleNextTabControl = useCallback(() => {\n if (activeTab && activeTab !== String(tabs.length - 1)) {\n activateTab(String(Number(activeTab) + 1))\n }\n }, [activeTab, activateTab, tabs])\n\n const handlePrevTabControl = useCallback(() => {\n if (activeTab && activeTab !== '0') {\n activateTab(String(Number(activeTab) - 1))\n }\n }, [activeTab, activateTab])\n\n const hasMoreThanTwoTabs = tabs.length >= 3\n const isLastTabActive = String(tabs.length - 1) === activeTab\n\n return (\n <div\n className={clsx(\n styles['Tabs-container'],\n styles[`Tabs-container--align-${align}`],\n isLastTabActive && styles['Tabs-container--lastTabIsActive'],\n className,\n )}\n ref={ref}\n data-testid={testIds.root}\n {...props}\n >\n {/* Narrow only indicators and controls */}\n {tabs.length >= 3 && (\n <div className={styles.Tabs__controls} data-testid={testIds.indicators}>\n <Stack direction=\"horizontal\" padding=\"none\" justifyContent=\"space-between\">\n <button\n onClick={handlePrevTabControl}\n className={styles.Tabs__control}\n aria-label={internalAccessibleLabels.controlsPrev}\n >\n <Text size=\"100\">\n <ChevronLeftIcon size={16} className={styles['Tabs__control-icon']} />\n </Text>\n </button>\n <Stack direction=\"horizontal\" gap={4} padding=\"none\" justifyContent=\"space-between\" alignItems=\"center\">\n {tabs.map((_, index) => {\n return (\n <div\n key={index}\n className={clsx(\n styles.Tabs__indicator,\n activeTab && Number(activeTab) === index && styles['Tabs__indicator--active'],\n )}\n />\n )\n })}\n </Stack>\n <button\n onClick={handleNextTabControl}\n className={styles.Tabs__control}\n aria-label={internalAccessibleLabels.controlsNext}\n >\n <Text size=\"100\">\n <ChevronRightIcon size={16} className={styles['Tabs__control-icon']} />\n </Text>\n </button>\n </Stack>\n </div>\n )}\n\n <div\n ref={tabsWrapperRef}\n className={clsx(\n styles['Tablist__wrapper'],\n styles[`Tablist__wrapper--${variant}`],\n isLastTabActive && styles['Tablist__wrapper--lastTabIsActive'],\n )}\n >\n <div\n ref={tabsContainerRef}\n {...tabListProps}\n className={clsx(\n styles.Tabs,\n styles[`Tabs--${variant}`],\n hasMoreThanTwoTabs && styles['Tabs--hasMoreThanTwoTabs'],\n )}\n >\n <div ref={sliderRef} className={styles.Tabs__slider} aria-hidden />\n {tabs}\n </div>\n </div>\n\n {panels.length > 0 && <div className={styles['Tabs__panelContainer']}>{panels}</div>}\n </div>\n )\n },\n)\n\nexport type TabsItemProps = {\n children: ReactNode\n className?: string\n isActive?: boolean\n variant?: 'default' | 'accent' | 'underline'\n /**\n * ⚠️ WARNING: Setting a custom id will override the automatically generated ARIA attributes\n * (aria-controls, aria-labelledby). You will need to manually implement proper accessibility\n * relationships between tabs and panels.\n * @see https://primer.style/brand/components/Tabs/#custom-panels\n */\n id?: string\n} & Omit<React.ComponentPropsWithoutRef<'button'>, 'id'>\n\nconst TabsItem = forwardRef<HTMLButtonElement, TabsItemProps>(\n ({children, className, isActive, variant, ...props}, ref) => {\n const tabRef = useProvidedRefOrCreate(ref)\n\n return (\n <button\n ref={tabRef}\n className={clsx(\n styles.Tabs__item,\n isActive && styles['Tabs__item--active'],\n variant && styles[`Tabs__item--${variant}`],\n className,\n )}\n data-testid={testIds.tab}\n {...props}\n >\n {children}\n </button>\n )\n },\n)\n\nexport type TabsPanelProps = {\n children: ReactNode\n className?: string\n animation?: (typeof AnimationVariants)[number] | false\n hidden?: boolean\n /**\n * ⚠️ WARNING: Setting a custom id will override the automatically generated ARIA attributes\n * (aria-controls, aria-labelledby). You will need to manually implement proper accessibility\n * relationships between tabs and panels.\n * @see https://primer.style/brand/components/Tabs/#custom-panels\n */\n id?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'id'>\n\nconst TabsPanel = memo(function TabsPanelComponent({\n children,\n animation = false,\n className,\n\n hidden,\n ...rest\n}: TabsPanelProps) {\n const conditionalRender = animation ? (\n <AnimationProvider autoStaggerChildren={false}>\n <Animate animate={animation}>{children}</Animate>\n </AnimationProvider>\n ) : (\n children\n )\n\n return (\n <div className={clsx(styles['Tabs__panel'], className)} data-testid={testIds.panel} hidden={hidden} {...rest}>\n {conditionalRender}\n </div>\n )\n})\n\n/**\n * Use Tabs to display a list of tabs with associated content panels.\n * @see https://primer.style/brand/components/Tabs\n */\nexport const Tabs = Object.assign(_TabsRoot, {\n Item: TabsItem,\n Panel: TabsPanel,\n testIds,\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","names":[],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["import React, {\n memo,\n ReactNode,\n forwardRef,\n Children,\n isValidElement,\n cloneElement,\n useRef,\n useEffect,\n HTMLAttributes,\n} from 'react'\nimport {clsx} from 'clsx'\nimport {useTabs} from '../hooks/useTabs'\nimport {useProvidedRefOrCreate} from '../hooks/useRef'\nimport {BaseProps} from '../component-helpers'\nimport {Animate, AnimationProvider, AnimationVariants} from '../animation'\nimport {CarouselPagination} from '../CarouselPagination'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/tabs/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Tabs.module.css'\n\nconst testIds = {\n root: 'Tabs',\n get tab() {\n return `${this.root}-tab`\n },\n get panel() {\n return `${this.root}-panel`\n },\n get indicators() {\n return `${this.root}-indicators`\n },\n}\n\n/**\n * Accessible label for the entire tabs component, used by screen readers to describe the tab group.\n * Note: Only use one of `aria-label` or `aria-labelled` by. Not both or neither.\n */\ntype LabelOrLabelledBy =\n | {'aria-label': string; 'aria-labelledby'?: never}\n | {'aria-labelledby': string; 'aria-label'?: never}\n\nexport type TabsProps = {\n /**\n * Visual style variant of the tabs. Affects the appearance and styling theme.\n */\n variant?: 'default' | 'accent' | 'underline'\n /**\n * Horizontal alignment of the tab navigation. Defaults to 'start'.\n */\n align?: 'start' | 'center'\n /**\n * Named children to be rendered as tab items and panels.\n */\n children: ReactNode\n /**\n * Sets the default active tab. \"0\" (first tab) by default.\n */\n defaultActiveTab?: string\n /**\n * Callback function triggered when the active tab changes. Receives the new active tab identifier.\n */\n onChange?: (activeTab: string) => void\n\n /**\n * Additional CSS class names to apply to the tabs container for custom styling.\n */\n className?: string\n /**\n * @param internalAccessibleLabels - Customizable labels for screen readers to improve accessibility. These are applied internally using the aria-label attribute.\n * @param internalAccessibleLabels.controlsNext - Label for the \"next tab\" control button, used by screen readers. Default is \"Next tab\".\n * @param internalAccessibleLabels.controlsPrev - Label for the \"previous tab\" control button, used by screen readers. Default is \"Previous tab\".\n * @param internalAccessibleLabels.controlsIndicator - Complete selector label using {current}. Default is \"Go to tab {current}\".\n * @param internalAccessibleLabels.controlsNavigation - Label for the complete mobile control group. Default is \"Tab navigation\".\n */\n internalAccessibleLabels?: {\n controlsNext: string\n controlsPrev: string\n controlsIndicator?: string\n controlsNavigation?: string\n }\n} & LabelOrLabelledBy &\n BaseProps<HTMLDivElement> &\n Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'aria-label' | 'aria-labelledby'>\n\nconst defaultInternalAccessibleLabels = {\n controlsNext: 'Next tab',\n controlsPrev: 'Previous tab',\n controlsIndicator: 'Go to tab {current}',\n controlsNavigation: 'Tab navigation',\n}\n\nconst _TabsRoot = forwardRef<HTMLDivElement, TabsProps>(\n (\n {\n align = 'center',\n children,\n defaultActiveTab,\n onChange,\n variant = 'default',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n internalAccessibleLabels = defaultInternalAccessibleLabels,\n ...props\n },\n ref,\n ) => {\n const {activeTab, activateTab, getTabListProps, getTabProps, getTabPanelProps} = useTabs({\n defaultTab: defaultActiveTab,\n onTabActivate: onChange,\n })\n const tabsContainerRef = useRef<HTMLDivElement>(null)\n const tabsWrapperRef = useRef<HTMLDivElement>(null)\n const sliderRef = useRef<HTMLDivElement>(null)\n\n const childrenArray = Children.toArray(children)\n\n type TabsItemElement = React.ReactElement<TabsItemProps> & {ref?: React.Ref<HTMLButtonElement>}\n\n const tabs = childrenArray\n .filter((child): child is TabsItemElement => isValidElement<TabsItemProps>(child) && child.type === TabsItem)\n .map((tab, index) => {\n const tabId = String(index)\n const originalRef = tab.ref\n const tabProps = getTabProps<HTMLButtonElement>(tabId, originalRef)\n\n return cloneElement(tab, {\n ...tabProps,\n id: tab.props.id ?? tabProps.id,\n 'aria-controls': tab.props['aria-controls'] ?? tabProps['aria-controls'],\n value: tabId,\n key: tabProps.id,\n isActive: activeTab === tabId,\n variant,\n })\n })\n\n const panels = childrenArray\n .filter(\n (child): child is React.ReactElement<TabsPanelProps> =>\n isValidElement<TabsPanelProps>(child) && child.type === TabsPanel,\n )\n .map((child, index) => {\n const panelId = String(index)\n const tabPanelProps = getTabPanelProps(panelId)\n\n return cloneElement(child, {\n ...tabPanelProps,\n id: child.props.id ?? tabPanelProps.id,\n key: String(index),\n })\n })\n\n useEffect(() => {\n /* istanbul ignore next */\n if (!tabsContainerRef.current || !sliderRef.current) return\n\n const activeTabButton = tabsContainerRef.current.querySelector(`[aria-selected=\"true\"]`) as HTMLButtonElement\n\n if (!activeTab) return\n\n const updateSliderPosition = () => {\n const sliderElement = sliderRef.current\n const tabsContainer = tabsContainerRef.current\n /* istanbul ignore next */\n if (!sliderElement || !tabsContainer) return\n\n const containerPaddingRem = window\n .getComputedStyle(tabsContainer)\n .getPropertyValue('--brand-Tabs-container-padding')\n\n const containerPadding = parseFloat(containerPaddingRem) * 16 // base size\n\n const offsetX = activeTabButton.offsetLeft - containerPadding\n const width = activeTabButton.offsetWidth\n\n sliderElement.style.setProperty('--brand-Tabs-slider-x', `${offsetX}px`)\n sliderElement.style.setProperty('--brand-Tabs-slider-width', `${width}px`)\n }\n\n updateSliderPosition()\n\n const resizeObserver = new ResizeObserver(updateSliderPosition)\n resizeObserver.observe(tabsContainerRef.current)\n\n // On narrow viewports this will scroll the active tab into the center.\n // Important because we show a gradient in dark mode.\n const tabsContainer = tabsContainerRef.current\n const containerWidth = tabsContainer.clientWidth\n const containerPaddingRem = window\n .getComputedStyle(tabsContainer)\n .getPropertyValue('--brand-Tabs-container-padding')\n const containerPadding = parseFloat(containerPaddingRem) * 16\n const tabLeft = activeTabButton.offsetLeft - containerPadding\n const tabWidth = activeTabButton.offsetWidth\n const tabCenter = tabLeft + tabWidth / 2\n\n const targetScrollLeft = tabCenter - containerWidth / 2\n\n const maxScrollLeft = tabsContainer.scrollWidth - containerWidth // defines boudnary\n const finalScrollLeft = Math.max(0, Math.min(targetScrollLeft, maxScrollLeft))\n\n tabsContainer.scrollTo({\n left: finalScrollLeft,\n behavior: 'smooth',\n })\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [activeTab])\n\n // Tracks the overflow state for mobile gradient visibility\n // Should only appear when enough items trigger an overflow\n // Related to gradient functionality\n useEffect(() => {\n const tabsContainer = tabsContainerRef.current\n const wrapperElement = tabsWrapperRef.current\n /* istanbul ignore next */\n if (!tabsContainer || !wrapperElement) return\n\n // This relies heavily on layout and measurement and, as such, isn't practical to test\n /* istanbul ignore next */\n const updateScrollState = () => {\n const {scrollLeft, scrollWidth, clientWidth} = tabsContainer\n const hasOverflow = scrollWidth > clientWidth\n\n const canScrollRight = hasOverflow && scrollLeft < scrollWidth - clientWidth - 1\n\n // Set CSS variables on the wrapper element for the gradient\n wrapperElement.style.setProperty('--scroll-offset', `${scrollLeft}px`)\n wrapperElement.style.setProperty('--has-overflow', hasOverflow ? '1' : '0')\n wrapperElement.style.setProperty('--can-scroll-right', canScrollRight ? '1' : '0')\n }\n\n updateScrollState()\n const resizeObserver = new ResizeObserver(updateScrollState)\n resizeObserver.observe(tabsContainer)\n\n // eslint-disable-next-line github/prefer-observers\n tabsContainer.addEventListener('scroll', updateScrollState)\n\n return () => {\n tabsContainer.removeEventListener('scroll', updateScrollState)\n resizeObserver.disconnect()\n }\n }, [tabs])\n\n /**\n * The LabelOrLabelledBy type guarantees that, if ariaLabel isn't a string,\n * then ariaLabelledBy is guaranteed to be a string, and vice versa.\n */\n const accessibleLabel = typeof ariaLabel === 'string' ? {label: ariaLabel} : {labelledBy: ariaLabelledBy}\n const tabListProps = getTabListProps(accessibleLabel)\n\n const hasMoreThanTwoTabs = tabs.length >= 3\n const isLastTabActive = String(tabs.length - 1) === activeTab\n\n return (\n <div\n className={clsx(\n styles['Tabs-container'],\n styles[`Tabs-container--align-${align}`],\n isLastTabActive && styles['Tabs-container--lastTabIsActive'],\n className,\n )}\n ref={ref}\n data-testid={testIds.root}\n {...props}\n >\n {/* Narrow only indicators and controls */}\n {tabs.length >= 3 && (\n <div className={styles.Tabs__controls} data-testid={testIds.indicators}>\n <CarouselPagination\n itemCount={tabs.length}\n activeIndex={Number(activeTab ?? 0)}\n aria-label={\n internalAccessibleLabels.controlsNavigation ?? defaultInternalAccessibleLabels.controlsNavigation\n }\n labels={{\n previous: internalAccessibleLabels.controlsPrev,\n next: internalAccessibleLabels.controlsNext,\n item: internalAccessibleLabels.controlsIndicator ?? defaultInternalAccessibleLabels.controlsIndicator,\n }}\n itemAttributesBuilder={index => ({'aria-controls': tabs[index].props['aria-controls']})}\n onChange={index => activateTab(String(index))}\n />\n </div>\n )}\n\n <div\n ref={tabsWrapperRef}\n className={clsx(\n styles['Tablist__wrapper'],\n styles[`Tablist__wrapper--${variant}`],\n isLastTabActive && styles['Tablist__wrapper--lastTabIsActive'],\n )}\n >\n <div\n ref={tabsContainerRef}\n {...tabListProps}\n className={clsx(\n styles.Tabs,\n styles[`Tabs--${variant}`],\n hasMoreThanTwoTabs && styles['Tabs--hasMoreThanTwoTabs'],\n )}\n >\n <div ref={sliderRef} className={styles.Tabs__slider} aria-hidden />\n {tabs}\n </div>\n </div>\n\n {panels.length > 0 && <div className={styles['Tabs__panelContainer']}>{panels}</div>}\n </div>\n )\n },\n)\n\nexport type TabsItemProps = {\n children: ReactNode\n className?: string\n isActive?: boolean\n variant?: 'default' | 'accent' | 'underline'\n /**\n * ⚠️ WARNING: Setting a custom id will override the automatically generated ARIA attributes\n * (aria-controls, aria-labelledby). You will need to manually implement proper accessibility\n * relationships between tabs and panels.\n * @see https://primer.style/brand/components/Tabs/#custom-panels\n */\n id?: string\n} & Omit<React.ComponentPropsWithoutRef<'button'>, 'id'>\n\nconst TabsItem = forwardRef<HTMLButtonElement, TabsItemProps>(\n ({children, className, isActive, variant, ...props}, ref) => {\n const tabRef = useProvidedRefOrCreate(ref)\n\n return (\n <button\n ref={tabRef}\n className={clsx(\n styles.Tabs__item,\n isActive && styles['Tabs__item--active'],\n variant && styles[`Tabs__item--${variant}`],\n className,\n )}\n data-testid={testIds.tab}\n {...props}\n >\n {children}\n </button>\n )\n },\n)\n\nexport type TabsPanelProps = {\n children: ReactNode\n className?: string\n animation?: (typeof AnimationVariants)[number] | false\n hidden?: boolean\n /**\n * ⚠️ WARNING: Setting a custom id will override the automatically generated ARIA attributes\n * (aria-controls, aria-labelledby). You will need to manually implement proper accessibility\n * relationships between tabs and panels.\n * @see https://primer.style/brand/components/Tabs/#custom-panels\n */\n id?: string\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'id'>\n\nconst TabsPanel = memo(function TabsPanelComponent({\n children,\n animation = false,\n className,\n\n hidden,\n ...rest\n}: TabsPanelProps) {\n const conditionalRender = animation ? (\n <AnimationProvider autoStaggerChildren={false}>\n <Animate animate={animation}>{children}</Animate>\n </AnimationProvider>\n ) : (\n children\n )\n\n return (\n <div className={clsx(styles['Tabs__panel'], className)} data-testid={testIds.panel} hidden={hidden} {...rest}>\n {conditionalRender}\n </div>\n )\n})\n\n/**\n * Use Tabs to display a list of tabs with associated content panels.\n * @see https://primer.style/brand/components/Tabs\n */\nexport const Tabs = Object.assign(_TabsRoot, {\n Item: TabsItem,\n Panel: TabsPanel,\n testIds,\n})\n"],"mappings":";;;;;;;;;;;;AA2BA,IAAM,IAAU;CACd,MAAM;CACN,IAAI,MAAM;EACR,OAAO,GAAG,KAAK,KAAK;CACtB;CACA,IAAI,QAAQ;EACV,OAAO,GAAG,KAAK,KAAK;CACtB;CACA,IAAI,aAAa;EACf,OAAO,GAAG,KAAK,KAAK;CACtB;AACF,GAqDM,IAAkC;CACtC,cAAc;CACd,cAAc;CACd,mBAAmB;CACnB,oBAAoB;AACtB,GAEM,IAAY,GAEd,EACE,WAAQ,UACR,aACA,qBACA,aACA,aAAU,WACV,cACA,cAAc,GACd,mBAAmB,GACnB,8BAA2B,GAC3B,GAAG,KAEL,MACG;CACH,IAAM,EAAC,cAAW,gBAAa,oBAAiB,gBAAa,wBAAoB,EAAQ;EACvF,YAAY;EACZ,eAAe;CACjB,CAAC,GACK,IAAmB,EAAuB,IAAI,GAC9C,IAAiB,EAAuB,IAAI,GAC5C,IAAY,EAAuB,IAAI,GAEvC,IAAgB,EAAS,QAAQ,CAAQ,GAIzC,IAAO,EACV,QAAQ,MAAoC,EAA8B,CAAK,KAAK,EAAM,SAAS,CAAQ,CAAC,CAC5G,KAAK,GAAK,MAAU;EACnB,IAAM,IAAQ,OAAO,CAAK,GACpB,IAAc,EAAI,KAClB,IAAW,EAA+B,GAAO,CAAW;EAElE,OAAO,EAAa,GAAK;GACvB,GAAG;GACH,IAAI,EAAI,MAAM,MAAM,EAAS;GAC7B,iBAAiB,EAAI,MAAM,oBAAoB,EAAS;GACxD,OAAO;GACP,KAAK,EAAS;GACd,UAAU,MAAc;GACxB;EACF,CAAC;CACH,CAAC,GAEG,IAAS,EACZ,QACE,MACC,EAA+B,CAAK,KAAK,EAAM,SAAS,CAC5D,CAAC,CACA,KAAK,GAAO,MAAU;EAErB,IAAM,IAAgB,EADN,OAAO,CACgB,CAAO;EAE9C,OAAO,EAAa,GAAO;GACzB,GAAG;GACH,IAAI,EAAM,MAAM,MAAM,EAAc;GACpC,KAAK,OAAO,CAAK;EACnB,CAAC;CACH,CAAC;CAgEH,AA9DA,QAAgB;;EAEd,IAAI,CAAC,EAAiB,WAAW,CAAC,EAAU,SAAS;EAErD,IAAM,IAAkB,EAAiB,QAAQ,cAAc,0BAAwB;EAEvF,IAAI,CAAC,GAAW;EAEhB,IAAM,UAA6B;GACjC,IAAM,IAAgB,EAAU,SAC1B,IAAgB,EAAiB;;GAEvC,IAAI,CAAC,KAAiB,CAAC,GAAe;GAEtC,IAAM,IAAsB,OACzB,iBAAiB,CAAa,CAAC,CAC/B,iBAAiB,gCAAgC,GAE9C,IAAmB,WAAW,CAAmB,IAAI,IAErD,IAAU,EAAgB,aAAa,GACvC,IAAQ,EAAgB;GAG9B,AADA,EAAc,MAAM,YAAY,yBAAyB,GAAG,EAAQ,GAAG,GACvE,EAAc,MAAM,YAAY,6BAA6B,GAAG,EAAM,GAAG;EAC3E;EAEA,EAAqB;EAErB,IAAM,IAAiB,IAAI,eAAe,CAAoB;EAC9D,EAAe,QAAQ,EAAiB,OAAO;EAI/C,IAAM,IAAgB,EAAiB,SACjC,IAAiB,EAAc,aAC/B,IAAsB,OACzB,iBAAiB,CAAa,CAAC,CAC/B,iBAAiB,gCAAgC,GAC9C,IAAmB,WAAW,CAAmB,IAAI,IAKrD,IAJU,EAAgB,aAAa,IAC5B,EAAgB,cACM,IAEF,IAAiB,GAEhD,IAAgB,EAAc,cAAc,GAC5C,IAAkB,KAAK,IAAI,GAAG,KAAK,IAAI,GAAkB,CAAa,CAAC;EAO7E,OALA,EAAc,SAAS;GACrB,MAAM;GACN,UAAU;EACZ,CAAC,SAEY;GACX,EAAe,WAAW;EAC5B;CACF,GAAG,CAAC,CAAS,CAAC,GAKd,QAAgB;EACd,IAAM,IAAgB,EAAiB,SACjC,IAAiB,EAAe;;EAEtC,IAAI,CAAC,KAAiB,CAAC,GAAgB;;EAIvC,IAAM,UAA0B;GAC9B,IAAM,EAAC,eAAY,gBAAa,mBAAe,GACzC,IAAc,IAAc,GAE5B,IAAiB,KAAe,IAAa,IAAc,IAAc;GAK/E,AAFA,EAAe,MAAM,YAAY,mBAAmB,GAAG,EAAW,GAAG,GACrE,EAAe,MAAM,YAAY,kBAAkB,IAAc,MAAM,GAAG,GAC1E,EAAe,MAAM,YAAY,sBAAsB,IAAiB,MAAM,GAAG;EACnF;EAEA,EAAkB;EAClB,IAAM,IAAiB,IAAI,eAAe,CAAiB;EAM3D,OALA,EAAe,QAAQ,CAAa,GAGpC,EAAc,iBAAiB,UAAU,CAAiB,SAE7C;GAEX,AADA,EAAc,oBAAoB,UAAU,CAAiB,GAC7D,EAAe,WAAW;EAC5B;CACF,GAAG,CAAC,CAAI,CAAC;CAOT,IAAM,IAAe,EADG,OAAO,KAAc,WAAW,EAAC,OAAO,EAAS,IAAI,EAAC,YAAY,EAAc,CACpD,GAE9C,IAAqB,EAAK,UAAU,GACpC,IAAkB,OAAO,EAAK,SAAS,CAAC,MAAM;CAEpD,OACE,kBAAC,OAAD;EACE,WAAW,EACT,EAAO,mBACP,EAAO,yBAAyB,MAChC,KAAmB,EAAO,oCAC1B,CACF;EACK;EACL,eAAa,EAAQ;EACrB,GAAI;YATN;GAYG,EAAK,UAAU,KACd,kBAAC,OAAD;IAAK,WAAW,EAAO;IAAgB,eAAa,EAAQ;cAC1D,kBAAC,GAAD;KACE,WAAW,EAAK;KAChB,aAAa,OAAO,KAAa,CAAC;KAClC,cACE,EAAyB,sBAAsB,EAAgC;KAEjF,QAAQ;MACN,UAAU,EAAyB;MACnC,MAAM,EAAyB;MAC/B,MAAM,EAAyB,qBAAqB,EAAgC;KACtF;KACA,wBAAuB,OAAU,EAAC,iBAAiB,EAAK,EAAM,CAAC,MAAM,iBAAgB;KACrF,WAAU,MAAS,EAAY,OAAO,CAAK,CAAC;IAC7C,CAAA;GACE,CAAA;GAGP,kBAAC,OAAD;IACE,KAAK;IACL,WAAW,EACT,EAAO,kBACP,EAAO,qBAAqB,MAC5B,KAAmB,EAAO,oCAC5B;cAEA,kBAAC,OAAD;KACE,KAAK;KACL,GAAI;KACJ,WAAW,EACT,EAAO,MACP,EAAO,SAAS,MAChB,KAAsB,EAAO,2BAC/B;eAPF,CASE,kBAAC,OAAD;MAAK,KAAK;MAAW,WAAW,EAAO;MAAc,eAAA;KAAa,CAAA,GACjE,CACE;;GACF,CAAA;GAEJ,EAAO,SAAS,KAAK,kBAAC,OAAD;IAAK,WAAW,EAAO;cAA0B;GAAY,CAAA;EAChF;;AAET,CACF,GAgBM,IAAW,GACd,EAAC,aAAU,cAAW,aAAU,YAAS,GAAG,KAAQ,MAIjD,kBAAC,UAAD;CACE,KAJW,EAAuB,CAI7B;CACL,WAAW,EACT,EAAO,YACP,KAAY,EAAO,uBACnB,KAAW,EAAO,eAAe,MACjC,CACF;CACA,eAAa,EAAQ;CACrB,GAAI;CAEH;AACK,CAAA,CAGd,GAgBM,IAAY,EAAK,SAA4B,EACjD,aACA,eAAY,IACZ,cAEA,WACA,GAAG,KACc;CACjB,IAAM,IAAoB,IACxB,kBAAC,GAAD;EAAmB,qBAAqB;YACtC,kBAAC,GAAD;GAAS,SAAS;GAAY;EAAkB,CAAA;CAC/B,CAAA,IAEnB;CAGF,OACE,kBAAC,OAAD;EAAK,WAAW,EAAK,EAAO,aAAgB,CAAS;EAAG,eAAa,EAAQ;EAAe;EAAQ,GAAI;YACrG;CACE,CAAA;AAET,CAAC,GAMY,IAAO,OAAO,OAAO,GAAW;CAC3C,MAAM;CACN,OAAO;CACP;AACF,CAAC"}
@@ -1 +1 @@
1
- .Primer_Brand__Tabs-module__Tabs___zia5x{gap:var(--base-size-4);background-color:var(--brand-color-canvas-backdrop);border-radius:var(--brand-borderRadius-large);padding:var(--brand-Tabs-container-padding);width:fit-content;min-height:var(--base-size-48);display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container___wuq7I{display:grid}@media screen and (width<=48rem){.Primer_Brand__Tabs-module__Tabs-container___wuq7I{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container--align-start___n0cXk{align-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___LjUrd{align-items:center}.Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8{width:fit-content;max-width:100%;position:relative;overflow:hidden}.Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8:after{content:"";right:var(--brand-Tabs-list-borderWidth-active);top:var(--base-size-2);bottom:var(--base-size-2);background:linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);width:var(--base-size-48);z-index:2;pointer-events:none;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:0;opacity:calc(var(--has-overflow,0) * var(--can-scroll-right,0));border-radius:inherit;position:absolute}.Primer_Brand__Tabs-module__Tablist__wrapper--default___Wdb55:after,.Primer_Brand__Tabs-module__Tablist__wrapper--accent___QV6Jx:after{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tablist__wrapper--underline___IZ_zV:after{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Tabs-module__Tablist__wrapper--lastTabIsActive___jCePF:after{opacity:0;visibility:hidden}.Primer_Brand__Tabs-module__Tabs___zia5x{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow:auto hidden}.Primer_Brand__Tabs-module__Tabs___zia5x::-webkit-scrollbar{display:none}}.Primer_Brand__Tabs-module__Tabs-container--align-start___n0cXk{justify-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___LjUrd{justify-items:center}.Primer_Brand__Tabs-module__Tabs--default___MUcm6,.Primer_Brand__Tabs-module__Tabs--accent___p1SQc{border:var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd{gap:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__item___4V44f{z-index:1;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);border-radius:var(--brand-borderRadius-full);transition:color var(--brand-animation-duration-fast) ease-in-out;white-space:nowrap;font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);color:var(--brand-color-text-default);background:0 0;border:0;position:relative}.Primer_Brand__Tabs-module__Tabs__slider___tkaHu{top:var(--base-size-4);bottom:var(--base-size-4);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);z-index:0;transform:translate(0);transform:translateX(var(--brand-Tabs-slider-x,0px));width:var(--brand-Tabs-slider-width);position:absolute}.Primer_Brand__Tabs-module__Tabs--default___MUcm6 .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);background:var(--brand-Tabs-item-default-bgColor-active)}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid transparent;background:var(--brand-Tabs-item-accent-bgColor-rest)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest)}.Primer_Brand__Tabs-module__Tabs__item___4V44f:focus-visible{outline:var(--base-size-2) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Tabs-module__Tabs__item--active___Guj0b{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd .Primer_Brand__Tabs-module__Tabs__item___4V44f{padding:var(--base-size-8);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__item___4V44f{transition:color var(--brand-animation-duration-faster) ease}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__item--active___Guj0b{color:var(--brand-Tabs-item-accent-fgColor-rest)}.Primer_Brand__Tabs-module__Tabs__panelContainer___WhkhR{margin-top:var(--base-size-16)}.Primer_Brand__Tabs-module__Tabs__panel___UdoZQ{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs__controls___Cg7GX{margin-block-end:var(--base-size-12)}.Primer_Brand__Tabs-module__Tabs__indicator___Tmwuv{width:var(--base-size-6);border-radius:var(--brand-borderRadius-full);background-color:var(--brand-color-text-muted);height:var(--base-size-6);transition:width var(--brand-animation-duration-default) var(--brand-animation-easing-default)}.Primer_Brand__Tabs-module__Tabs__indicator--active___h_TV1{background-color:var(--brand-color-text-default);width:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__control___xG_4C{cursor:pointer;height:var(--base-size-24);width:var(--base-size-24);background-color:#0000;border:none;align-content:center;display:flex}.Primer_Brand__Tabs-module__Tabs__control-icon___V9mNe{top:calc(var(--base-size-2) / -2);position:relative;vertical-align:middle!important}@media screen and (width>=48rem){.Primer_Brand__Tabs-module__Tabs__controls___Cg7GX{display:none}.Primer_Brand__Tabs-module__Tabs__item___4V44f{padding-inline:var(--base-size-24)}}
1
+ .Primer_Brand__Tabs-module__Tabs___zia5x{gap:var(--base-size-4);background-color:var(--brand-color-canvas-backdrop);border-radius:var(--brand-borderRadius-large);padding:var(--brand-Tabs-container-padding);width:fit-content;min-height:var(--base-size-48);display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container___wuq7I{display:grid}@media screen and (width<=48rem){.Primer_Brand__Tabs-module__Tabs-container___wuq7I{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.Primer_Brand__Tabs-module__Tabs-container--align-start___n0cXk{align-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___LjUrd{align-items:center}.Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8{width:fit-content;max-width:100%;position:relative;overflow:hidden}.Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8:after{content:"";right:var(--brand-Tabs-list-borderWidth-active);top:var(--base-size-2);bottom:var(--base-size-2);background:linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);width:var(--base-size-48);z-index:2;pointer-events:none;transition:opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default), visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);opacity:0;opacity:calc(var(--has-overflow,0) * var(--can-scroll-right,0));border-radius:inherit;position:absolute}.Primer_Brand__Tabs-module__Tablist__wrapper--default___Wdb55:after,.Primer_Brand__Tabs-module__Tablist__wrapper--accent___QV6Jx:after{border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tablist__wrapper--underline___IZ_zV:after{border-radius:var(--brand-borderRadius-large)}.Primer_Brand__Tabs-module__Tablist__wrapper--lastTabIsActive___jCePF:after{opacity:0;visibility:hidden}.Primer_Brand__Tabs-module__Tabs___zia5x{scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow:auto hidden}.Primer_Brand__Tabs-module__Tabs___zia5x::-webkit-scrollbar{display:none}}.Primer_Brand__Tabs-module__Tabs-container--align-start___n0cXk{justify-items:flex-start}.Primer_Brand__Tabs-module__Tabs-container--align-center___LjUrd{justify-items:center}.Primer_Brand__Tabs-module__Tabs--default___MUcm6,.Primer_Brand__Tabs-module__Tabs--accent___p1SQc{border:var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-full)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd{gap:var(--base-size-24)}.Primer_Brand__Tabs-module__Tabs__item___4V44f{z-index:1;cursor:pointer;padding:var(--base-size-8) var(--base-size-16);border-radius:var(--brand-borderRadius-full);transition:color var(--brand-animation-duration-fast) ease-in-out;white-space:nowrap;font-family:var(--brand-fontStack-sansSerif);font-weight:var(--brand-text-weight-600);font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);color:var(--brand-color-text-default);background:0 0;border:0;position:relative}.Primer_Brand__Tabs-module__Tabs__slider___tkaHu{top:var(--base-size-4);bottom:var(--base-size-4);transition:all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);z-index:0;transform:translate(0);transform:translateX(var(--brand-Tabs-slider-x,0px));width:var(--brand-Tabs-slider-width);position:absolute}.Primer_Brand__Tabs-module__Tabs--default___MUcm6 .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);background:var(--brand-Tabs-item-default-bgColor-active)}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-radius:var(--brand-borderRadius-full);border:var(--brand-borderWidth-thin) solid transparent;background:var(--brand-Tabs-item-accent-bgColor-rest)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd .Primer_Brand__Tabs-module__Tabs__slider___tkaHu{border-bottom:var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest)}.Primer_Brand__Tabs-module__Tabs__item___4V44f:focus-visible{outline:var(--base-size-2) solid var(--brand-color-focus);outline-offset:var(--base-size-2)}.Primer_Brand__Tabs-module__Tabs__item--active___Guj0b{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs--underline___CAXqd .Primer_Brand__Tabs-module__Tabs__item___4V44f{padding:var(--base-size-8);border-radius:var(--brand-borderRadius-medium)}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__item___4V44f{transition:color var(--brand-animation-duration-faster) ease}.Primer_Brand__Tabs-module__Tabs--accent___p1SQc .Primer_Brand__Tabs-module__Tabs__item--active___Guj0b{color:var(--brand-Tabs-item-accent-fgColor-rest)}.Primer_Brand__Tabs-module__Tabs__panelContainer___WhkhR{margin-block-start:var(--base-size-16)}.Primer_Brand__Tabs-module__Tabs__panel___UdoZQ{color:var(--brand-color-text-default)}.Primer_Brand__Tabs-module__Tabs__controls___Cg7GX{margin-block-end:var(--base-size-12)}@media screen and (width>=48rem){.Primer_Brand__Tabs-module__Tabs__controls___Cg7GX{display:none}.Primer_Brand__Tabs-module__Tabs__item___4V44f{padding-inline:var(--base-size-24)}}
@@ -1,5 +1,5 @@
1
- import './Tabs.module-CK_p1qwC.css';//#region src/Tabs/Tabs.module.css
2
- var e = "Primer_Brand__Tabs-module__Tabs___zia5x", t = "Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8", n = "Primer_Brand__Tabs-module__Tabs__item___4V44f", r = "Primer_Brand__Tabs-module__Tabs__slider___tkaHu", i = "Primer_Brand__Tabs-module__Tabs__panelContainer___WhkhR", a = "Primer_Brand__Tabs-module__Tabs__panel___UdoZQ", o = "Primer_Brand__Tabs-module__Tabs__controls___Cg7GX", s = "Primer_Brand__Tabs-module__Tabs__indicator___Tmwuv", c = "Primer_Brand__Tabs-module__Tabs__control___xG_4C", l = {
1
+ import './Tabs.module-B-E_MTke.css';//#region src/Tabs/Tabs.module.css
2
+ var e = "Primer_Brand__Tabs-module__Tabs___zia5x", t = "Primer_Brand__Tabs-module__Tablist__wrapper___MDIB8", n = "Primer_Brand__Tabs-module__Tabs__item___4V44f", r = "Primer_Brand__Tabs-module__Tabs__slider___tkaHu", i = "Primer_Brand__Tabs-module__Tabs__panelContainer___WhkhR", a = "Primer_Brand__Tabs-module__Tabs__panel___UdoZQ", o = "Primer_Brand__Tabs-module__Tabs__controls___Cg7GX", s = {
3
3
  Tabs: e,
4
4
  "Tabs-container": "Primer_Brand__Tabs-module__Tabs-container___wuq7I",
5
5
  "Tabs-container--align-start": "Primer_Brand__Tabs-module__Tabs-container--align-start___n0cXk",
@@ -17,13 +17,9 @@ var e = "Primer_Brand__Tabs-module__Tabs___zia5x", t = "Primer_Brand__Tabs-modul
17
17
  "Tabs__item--active": "Primer_Brand__Tabs-module__Tabs__item--active___Guj0b",
18
18
  Tabs__panelContainer: i,
19
19
  Tabs__panel: a,
20
- Tabs__controls: o,
21
- Tabs__indicator: s,
22
- "Tabs__indicator--active": "Primer_Brand__Tabs-module__Tabs__indicator--active___h_TV1",
23
- Tabs__control: c,
24
- "Tabs__control-icon": "Primer_Brand__Tabs-module__Tabs__control-icon___V9mNe"
20
+ Tabs__controls: o
25
21
  };
26
22
  //#endregion
27
- export { t as Tablist__wrapper, e as Tabs, c as Tabs__control, o as Tabs__controls, s as Tabs__indicator, n as Tabs__item, a as Tabs__panel, i as Tabs__panelContainer, r as Tabs__slider, l as default };
23
+ export { t as Tablist__wrapper, e as Tabs, o as Tabs__controls, n as Tabs__item, a as Tabs__panel, i as Tabs__panelContainer, r as Tabs__slider, s as default };
28
24
 
29
25
  //# sourceMappingURL=Tabs.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.module.js","names":[],"sources":["../../src/Tabs/Tabs.module.css"],"sourcesContent":[".Tabs {\n position: relative;\n display: flex;\n gap: var(--base-size-4);\n background-color: var(--brand-color-canvas-backdrop);\n border-radius: var(--brand-borderRadius-large);\n padding: var(--brand-Tabs-container-padding);\n width: fit-content;\n min-height: var(--base-size-48);\n}\n\n.Tabs-container {\n display: grid;\n}\n\n@media screen and (max-width: 48rem) {\n .Tabs-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n }\n\n .Tabs-container--align-start {\n align-items: flex-start;\n }\n\n .Tabs-container--align-center {\n align-items: center;\n }\n\n .Tablist__wrapper {\n position: relative;\n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n }\n\n .Tablist__wrapper::after {\n content: '';\n position: absolute;\n right: var(--brand-Tabs-list-borderWidth-active);\n top: var(--base-size-2);\n bottom: var(--base-size-2);\n background: linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);\n width: var(--base-size-48);\n z-index: 2;\n pointer-events: none;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),\n visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n opacity: calc(var(--has-overflow, 0) * var(--can-scroll-right, 0));\n border-radius: inherit;\n }\n\n .Tablist__wrapper--default::after,\n .Tablist__wrapper--accent::after {\n border-radius: var(--brand-borderRadius-full);\n }\n\n .Tablist__wrapper--underline::after {\n border-radius: var(--brand-borderRadius-large);\n }\n\n .Tablist__wrapper--lastTabIsActive::after {\n opacity: 0;\n visibility: hidden;\n }\n\n .Tabs {\n max-width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .Tabs::-webkit-scrollbar {\n display: none;\n }\n}\n\n.Tabs-container--align-start {\n justify-items: flex-start;\n}\n\n.Tabs-container--align-center {\n justify-items: center;\n}\n\n.Tabs--default,\n.Tabs--accent {\n border: var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);\n border-radius: var(--brand-borderRadius-full);\n}\n\n.Tabs--underline {\n gap: var(--base-size-24);\n}\n\n.Tabs__item {\n position: relative;\n z-index: 1;\n border: 0;\n background: transparent;\n cursor: pointer;\n padding: var(--base-size-8) var(--base-size-16);\n border-radius: var(--brand-borderRadius-full);\n transition: color var(--brand-animation-duration-fast) ease-in-out;\n white-space: nowrap;\n font-family: var(--brand-fontStack-sansSerif);\n font-weight: var(--brand-text-weight-600);\n font-size: var(--brand-text-size-200);\n line-height: var(--brand-text-lineHeight-200);\n letter-spacing: var(--brand-text-letterSpacing-200);\n color: var(--brand-color-text-default);\n}\n\n.Tabs__slider {\n position: absolute;\n top: var(--base-size-4);\n bottom: var(--base-size-4);\n transition: all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);\n z-index: 0;\n transform: translateX(var(--brand-Tabs-slider-x, 0px));\n width: var(--brand-Tabs-slider-width);\n}\n\n.Tabs--default .Tabs__slider {\n border-radius: var(--brand-borderRadius-full);\n border: var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);\n background: var(--brand-Tabs-item-default-bgColor-active);\n}\n\n.Tabs--accent .Tabs__slider {\n border-radius: var(--brand-borderRadius-full);\n border: var(--brand-borderWidth-thin) solid transparent;\n background: var(--brand-Tabs-item-accent-bgColor-rest);\n}\n\n.Tabs--underline .Tabs__slider {\n border-bottom: var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest);\n}\n\n.Tabs__item:focus-visible {\n outline: var(--base-size-2) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n}\n\n.Tabs__item--active {\n color: var(--brand-color-text-default);\n}\n\n.Tabs--underline .Tabs__item {\n padding: var(--base-size-8);\n\n border-radius: var(--brand-borderRadius-medium);\n}\n\n.Tabs--accent .Tabs__item {\n transition: color var(--brand-animation-duration-faster) ease;\n}\n\n.Tabs--accent .Tabs__item--active {\n color: var(--brand-Tabs-item-accent-fgColor-rest);\n}\n\n.Tabs__panelContainer {\n margin-top: var(--base-size-16);\n}\n\n.Tabs__panel {\n color: var(--brand-color-text-default);\n}\n\n.Tabs__controls {\n margin-block-end: var(--base-size-12);\n}\n\n.Tabs__indicator {\n width: var(--base-size-6);\n border-radius: var(--brand-borderRadius-full);\n background-color: var(--brand-color-text-muted);\n height: var(--base-size-6);\n transition: width var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n}\n\n.Tabs__indicator--active {\n background-color: var(--brand-color-text-default);\n width: var(--base-size-24);\n}\n\n.Tabs__control {\n background-color: transparent;\n border: none;\n cursor: pointer;\n height: var(--base-size-24);\n width: var(--base-size-24);\n display: flex;\n align-content: center;\n}\n\n.Tabs__control-icon {\n vertical-align: middle !important; /* Required to override dotcom styles */\n position: relative;\n top: calc(var(--base-size-2) / -2);\n}\n\n@media screen and (min-width: 48rem) {\n .Tabs__controls {\n display: none;\n }\n\n .Tabs__item {\n padding-inline: var(--base-size-24);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Tabs.module.js","names":[],"sources":["../../src/Tabs/Tabs.module.css"],"sourcesContent":[".Tabs {\n position: relative;\n display: flex;\n gap: var(--base-size-4);\n background-color: var(--brand-color-canvas-backdrop);\n border-radius: var(--brand-borderRadius-large);\n padding: var(--brand-Tabs-container-padding);\n width: fit-content;\n min-height: var(--base-size-48);\n}\n\n.Tabs-container {\n display: grid;\n}\n\n@media screen and (max-width: 48rem) {\n .Tabs-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n }\n\n .Tabs-container--align-start {\n align-items: flex-start;\n }\n\n .Tabs-container--align-center {\n align-items: center;\n }\n\n .Tablist__wrapper {\n position: relative;\n width: fit-content;\n max-width: 100%;\n overflow: hidden;\n }\n\n .Tablist__wrapper::after {\n content: '';\n position: absolute;\n right: var(--brand-Tabs-list-borderWidth-active);\n top: var(--base-size-2);\n bottom: var(--base-size-2);\n background: linear-gradient(to left, var(--brand-color-canvas-default) 30%, transparent);\n width: var(--base-size-48);\n z-index: 2;\n pointer-events: none;\n transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),\n visibility var(--brand-animation-duration-default) var(--brand-animation-easing-default);\n opacity: calc(var(--has-overflow, 0) * var(--can-scroll-right, 0));\n border-radius: inherit;\n }\n\n .Tablist__wrapper--default::after,\n .Tablist__wrapper--accent::after {\n border-radius: var(--brand-borderRadius-full);\n }\n\n .Tablist__wrapper--underline::after {\n border-radius: var(--brand-borderRadius-large);\n }\n\n .Tablist__wrapper--lastTabIsActive::after {\n opacity: 0;\n visibility: hidden;\n }\n\n .Tabs {\n max-width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .Tabs::-webkit-scrollbar {\n display: none;\n }\n}\n\n.Tabs-container--align-start {\n justify-items: flex-start;\n}\n\n.Tabs-container--align-center {\n justify-items: center;\n}\n\n.Tabs--default,\n.Tabs--accent {\n border: var(--brand-Tabs-list-borderWidth-active) solid var(--brand-color-border-default);\n border-radius: var(--brand-borderRadius-full);\n}\n\n.Tabs--underline {\n gap: var(--base-size-24);\n}\n\n.Tabs__item {\n position: relative;\n z-index: 1;\n border: 0;\n background: transparent;\n cursor: pointer;\n padding: var(--base-size-8) var(--base-size-16);\n border-radius: var(--brand-borderRadius-full);\n transition: color var(--brand-animation-duration-fast) ease-in-out;\n white-space: nowrap;\n font-family: var(--brand-fontStack-sansSerif);\n font-weight: var(--brand-text-weight-600);\n font-size: var(--brand-text-size-200);\n line-height: var(--brand-text-lineHeight-200);\n letter-spacing: var(--brand-text-letterSpacing-200);\n color: var(--brand-color-text-default);\n}\n\n.Tabs__slider {\n position: absolute;\n top: var(--base-size-4);\n bottom: var(--base-size-4);\n transition: all var(--brand-animation-duration-fast) var(--brand-animation-easing-glide);\n z-index: 0;\n transform: translateX(var(--brand-Tabs-slider-x, 0px));\n width: var(--brand-Tabs-slider-width);\n}\n\n.Tabs--default .Tabs__slider {\n border-radius: var(--brand-borderRadius-full);\n border: var(--brand-borderWidth-thin) solid var(--brand-Tabs-item-default-borderColor-active);\n background: var(--brand-Tabs-item-default-bgColor-active);\n}\n\n.Tabs--accent .Tabs__slider {\n border-radius: var(--brand-borderRadius-full);\n border: var(--brand-borderWidth-thin) solid transparent;\n background: var(--brand-Tabs-item-accent-bgColor-rest);\n}\n\n.Tabs--underline .Tabs__slider {\n border-bottom: var(--brand-borderWidth-thick) solid var(--brand-Tabs-item-underline-rest);\n}\n\n.Tabs__item:focus-visible {\n outline: var(--base-size-2) solid var(--brand-color-focus);\n outline-offset: var(--base-size-2);\n}\n\n.Tabs__item--active {\n color: var(--brand-color-text-default);\n}\n\n.Tabs--underline .Tabs__item {\n padding: var(--base-size-8);\n\n border-radius: var(--brand-borderRadius-medium);\n}\n\n.Tabs--accent .Tabs__item {\n transition: color var(--brand-animation-duration-faster) ease;\n}\n\n.Tabs--accent .Tabs__item--active {\n color: var(--brand-Tabs-item-accent-fgColor-rest);\n}\n\n.Tabs__panelContainer {\n margin-block-start: var(--base-size-16);\n}\n\n.Tabs__panel {\n color: var(--brand-color-text-default);\n}\n\n.Tabs__controls {\n margin-block-end: var(--base-size-12);\n}\n\n@media screen and (min-width: 48rem) {\n .Tabs__controls {\n display: none;\n }\n\n .Tabs__item {\n padding-inline: var(--base-size-24);\n }\n}\n"],"mappings":""}
@@ -4,8 +4,8 @@ import type { AvatarProps } from '../';
4
4
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/base.css';
5
5
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css';
6
6
  type TestimonialSize = 'small' | 'large';
7
- export declare const TestimonialQuoteMarkColors: readonly ["default", "blue", "coral", "green", "gray", "indigo", "lemon", "lime", "orange", "pink", "purple", "red", "teal", "yellow", "blue-purple", "green-blue", "pink-blue", "purple-red", "red-orange"];
8
- export declare const defaultQuoteMarkColor: "default";
7
+ export declare const TestimonialQuoteMarkColors: readonly ["default", "blue", "coral", "green", "gray", "indigo", "lemon", "lime", "orange", "pink", "purple", "red", "teal", "yellow"];
8
+ export declare const defaultQuoteMarkColor = "green";
9
9
  export declare const TestimonialVariants: readonly ["subtle", "default", "minimal", "expressive"];
10
10
  type TestimonialVariant = (typeof TestimonialVariants)[number];
11
11
  export declare const defaultTestimonialVariant: TestimonialVariant;
@@ -28,6 +28,10 @@ export type TestimonialProps = {
28
28
  size?: TestimonialSize;
29
29
  /** Sets the color of the quote mark */
30
30
  quoteMarkColor?: (typeof TestimonialQuoteMarkColors)[number];
31
+ /** Class applied to the quote mark. */
32
+ quoteMarkClassName?: string;
33
+ /** Class applied to the attribution wrapper. */
34
+ mediaClassName?: string;
31
35
  } & BaseProps<HTMLElement> & React.HTMLAttributes<HTMLElement>;
32
36
  /**
33
37
  * Testimonial quote child element
@@ -52,7 +56,7 @@ type LogoProps = {
52
56
  * Testimonial avatar child element
53
57
  * <Testimonial.Avatar>
54
58
  */
55
- declare function _Avatar({ size, ...rest }: AvatarProps): React.JSX.Element;
59
+ declare function _Avatar({ size, className, ...rest }: AvatarProps): React.JSX.Element;
56
60
  /**
57
61
  * Use Testimonial to display a quote from a customer or user.
58
62
  * @see https://primer.style/brand/components/Testimonial
@@ -1 +1 @@
1
- {"version":3,"file":"Testimonial.d.ts","sourceRoot":"","sources":["../../src/Testimonial/Testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,cAAc,EAGd,QAAQ,EAGT,MAAM,OAAO,CAAA;AAEd,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,KAAK,CAAA;AAIpC,OAAO,kGAAkG,CAAA;AACzG,OAAO,+GAA+G,CAAA;AAKtH,KAAK,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAExC,eAAO,MAAM,0BAA0B,8MAA4C,CAAA;AACnF,eAAO,MAAM,qBAAqB,WAAgC,CAAA;AAElE,eAAO,MAAM,mBAAmB,yDAA0D,CAAA;AAC1F,KAAK,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC9D,eAAO,MAAM,yBAAyB,EAAE,kBAA8B,CAAA;AAEtE,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EACJ,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAC9B,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAC7B,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAC/B,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAA;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAA;CAC7D,GAAG,SAAS,CAAC,WAAW,CAAC,GACxB,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAgGnC;;;GAGG;AACH,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;AAY5E;;;GAGG;AACH,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GACnC,SAAS,CAAC,WAAW,CAAC,CAAA;AAmBxB;;;GAGG;AACH,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAA;CAC7G,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACxC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AAwB7B;;;GAGG;AAEH,iBAAS,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,IAAI,EAAC,EAAE,WAAW,qBAE5C;AAcD;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;CAMtB,CAAA"}
1
+ {"version":3,"file":"Testimonial.d.ts","sourceRoot":"","sources":["../../src/Testimonial/Testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,cAAc,EAGd,QAAQ,EAGT,MAAM,OAAO,CAAA;AAEd,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,KAAK,CAAA;AAIpC,OAAO,kGAAkG,CAAA;AACzG,OAAO,+GAA+G,CAAA;AAKtH,KAAK,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAExC,eAAO,MAAM,0BAA0B,wIAAuB,CAAA;AAC9D,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAE5C,eAAO,MAAM,mBAAmB,yDAA0D,CAAA;AAC1F,KAAK,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC9D,eAAO,MAAM,yBAAyB,EAAE,kBAA8B,CAAA;AAEtE,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EACJ,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAC9B,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAC7B,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAC/B,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAA;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,SAAS,CAAC,WAAW,CAAC,GACxB,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAmGnC;;;GAGG;AACH,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;AAY5E;;;GAGG;AACH,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GACnC,SAAS,CAAC,WAAW,CAAC,CAAA;AAmBxB;;;GAGG;AACH,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAA;CAC7G,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACxC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AAwB7B;;;GAGG;AAEH,iBAAS,OAAO,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,WAAW,qBAEvD;AAcD;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;CAMtB,CAAA"}