@primer/react-brand 0.68.0-rc.5bd56cbb → 0.68.0-rc.b6d410ef

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 (476) hide show
  1. package/esm/ActionMenu/ActionMenu.d.ts.map +1 -1
  2. package/esm/ActionMenu/ActionMenu.js +1 -4
  3. package/esm/ActionMenu/ActionMenu.js.map +1 -1
  4. package/esm/ActionMenu/ActionMenu.module-BAeHTqHw.css +1 -0
  5. package/esm/ActionMenu/ActionMenu.module.js +2 -1
  6. package/esm/ActionMenu/ActionMenu.module.js.map +1 -1
  7. package/esm/AnchorNav/AnchorNav.d.ts.map +1 -1
  8. package/esm/AnchorNav/AnchorNav.js +0 -2
  9. package/esm/AnchorNav/AnchorNav.js.map +1 -1
  10. package/esm/Button/Button.d.ts +3 -3
  11. package/esm/Button/Button.d.ts.map +1 -1
  12. package/esm/Button/Button.js +43 -44
  13. package/esm/Button/Button.js.map +1 -1
  14. package/esm/Button/Button.module-Byz3R1qi.css +1 -0
  15. package/esm/Button/Button.module.js +4 -6
  16. package/esm/Button/Button.module.js.map +1 -1
  17. package/esm/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  18. package/esm/ButtonGroup/ButtonGroup.js +1 -2
  19. package/esm/ButtonGroup/ButtonGroup.js.map +1 -1
  20. package/esm/Hero/{Hero.module-b8OFm8Ci.css → Hero.module-DvYo_AtL.css} +1 -1
  21. package/esm/Hero/Hero.module.js +1 -1
  22. package/esm/Hero/Hero.module.js.map +1 -1
  23. package/esm/Hero/sub-components/HeroPrimaryAction.js +1 -1
  24. package/esm/Hero/sub-components/HeroPrimaryAction.js.map +1 -1
  25. package/esm/Icon/Icon.module-UyYnXhrw.css +1 -0
  26. package/esm/Icon/Icon.module.js +1 -1
  27. package/esm/Icon/Icon.module.js.map +1 -1
  28. package/esm/LogoSuite/LogoSuite.js +1 -1
  29. package/esm/LogoSuite/LogoSuite.js.map +1 -1
  30. package/esm/Pillar/Pillar.d.ts +4 -0
  31. package/esm/Pillar/Pillar.d.ts.map +1 -1
  32. package/esm/Pillar/Pillar.js +7 -7
  33. package/esm/Pillar/Pillar.js.map +1 -1
  34. package/esm/Pillar/Pillar.module-BM_qcCVC.css +1 -0
  35. package/esm/Pillar/Pillar.module.js +2 -1
  36. package/esm/Pillar/Pillar.module.js.map +1 -1
  37. package/esm/PricingOptions/PricingOptions.js +1 -1
  38. package/esm/PricingOptions/PricingOptions.js.map +1 -1
  39. package/esm/SectionIntroStacked/SectionIntroStacked.d.ts.map +1 -1
  40. package/esm/SectionIntroStacked/SectionIntroStacked.js +60 -59
  41. package/esm/SectionIntroStacked/SectionIntroStacked.js.map +1 -1
  42. package/esm/SectionIntroStacked/SectionIntroStacked.module-Cr7kUqTH.css +1 -0
  43. package/esm/SectionIntroStacked/SectionIntroStacked.module.js +1 -1
  44. package/esm/SectionIntroStacked/SectionIntroStacked.module.js.map +1 -1
  45. package/esm/Stack/Stack.js +1 -1
  46. package/esm/SubNav/SubNav.d.ts.map +1 -1
  47. package/esm/SubNav/SubNav.js +1 -2
  48. package/esm/SubNav/SubNav.js.map +1 -1
  49. package/esm/SubdomainNavBar/SubdomainNavBar.d.ts.map +1 -1
  50. package/esm/SubdomainNavBar/SubdomainNavBar.js +0 -2
  51. package/esm/SubdomainNavBar/SubdomainNavBar.js.map +1 -1
  52. package/esm/Tiles/Tiles.d.ts.map +1 -1
  53. package/esm/Tiles/Tiles.js +37 -36
  54. package/esm/Tiles/Tiles.js.map +1 -1
  55. package/esm/Tiles/Tiles.module-DVK0nMCy.css +1 -0
  56. package/esm/Tiles/Tiles.module.js +1 -1
  57. package/esm/Tiles/Tiles.module.js.map +1 -1
  58. package/esm/component-helpers/shared.module-CrdMh7Vf.css +1 -0
  59. package/esm/component-helpers/shared.module.js +5 -0
  60. package/esm/component-helpers/shared.module.js.map +1 -0
  61. package/esm/forms/Checkbox/Checkbox.module-CtRGEfSq.css +1 -0
  62. package/esm/forms/Checkbox/Checkbox.module.js +1 -1
  63. package/esm/forms/Checkbox/Checkbox.module.js.map +1 -1
  64. package/esm/forms/ControlGroup/ControlGroup.module-XDWDqxx9.css +1 -0
  65. package/esm/forms/ControlGroup/ControlGroup.module.js +1 -1
  66. package/esm/forms/ControlGroup/ControlGroup.module.js.map +1 -1
  67. package/esm/forms/FormControl/{FormControl.module-UQqb_zPR.css → FormControl.module-CSNT689n.css} +1 -1
  68. package/esm/forms/FormControl/FormControl.module.js +1 -1
  69. package/esm/forms/FormControl/FormControl.module.js.map +1 -1
  70. package/esm/forms/Radio/Radio.module-B470XLdO.css +1 -0
  71. package/esm/forms/Radio/Radio.module.js +1 -1
  72. package/esm/forms/Radio/Radio.module.js.map +1 -1
  73. package/esm/forms/Select/Select.module-CRuV5AGO.css +1 -0
  74. package/esm/forms/Select/Select.module.js +1 -1
  75. package/esm/forms/Select/Select.module.js.map +1 -1
  76. package/esm/forms/TextInput/TextInput.module-CrmcmO_m.css +1 -0
  77. package/esm/forms/TextInput/TextInput.module.js +1 -1
  78. package/esm/forms/TextInput/TextInput.module.js.map +1 -1
  79. package/esm/forms/Textarea/{Textarea.module-CdUlSjWq.css → Textarea.module-C4pwTMjB.css} +1 -1
  80. package/esm/forms/Textarea/Textarea.module.js +1 -1
  81. package/esm/forms/Textarea/Textarea.module.js.map +1 -1
  82. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes-kII0kqk3.css +1 -0
  83. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/size/size-SXubYfUg.css +1 -0
  84. package/esm/recipes/FlexTemplate/FlexTemplate.types.d.ts +5 -5
  85. package/esm/recipes/FlexTemplate/FlexTemplate.types.d.ts.map +1 -1
  86. package/esm/recipes/Flexsuite/Category/FlexSuiteSecurityCategory/FlexSuiteSecurityCategory.content.d.ts +9 -0
  87. package/esm/recipes/Flexsuite/Category/FlexSuiteSecurityCategory/FlexSuiteSecurityCategory.content.d.ts.map +1 -1
  88. package/esm/recipes/Flexsuite/Category/FlexSuiteSecurityCategory/FlexSuiteSecurityCategory.d.ts.map +1 -1
  89. package/esm/river/River/River.d.ts.map +1 -1
  90. package/esm/river/River/River.js +46 -45
  91. package/esm/river/River/River.js.map +1 -1
  92. package/esm/river/RiverAccordion/RiverAccordion.d.ts.map +1 -1
  93. package/esm/river/RiverAccordion/RiverAccordion.js +74 -65
  94. package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
  95. package/esm/river/RiverAccordion/RiverAccordion.module-nlZZH3O7.css +1 -0
  96. package/esm/river/RiverAccordion/RiverAccordion.module.js +3 -2
  97. package/esm/river/RiverAccordion/RiverAccordion.module.js.map +1 -1
  98. package/esm/river/RiverBreakout/RiverBreakout.d.ts.map +1 -1
  99. package/esm/river/RiverBreakout/RiverBreakout.js +21 -20
  100. package/esm/river/RiverBreakout/RiverBreakout.js.map +1 -1
  101. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts.map +1 -1
  102. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js +114 -113
  103. package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js.map +1 -1
  104. package/esm/river/river-shared.module-D0AV93uz.css +1 -0
  105. package/esm/river/river-shared.module.js +1 -1
  106. package/esm/river/river-shared.module.js.map +1 -1
  107. package/lib/Button/Button.d.ts +3 -3
  108. package/lib/Pillar/Pillar.d.ts +4 -0
  109. package/lib/css/main.css +430 -330
  110. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  111. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  112. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  113. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  114. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  115. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  116. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  117. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  118. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  119. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  120. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  121. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  122. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  123. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +43 -47
  124. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  125. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  126. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  127. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  128. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  129. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +51 -19
  130. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  131. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  132. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  133. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  134. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  135. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  136. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  137. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  138. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  139. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  140. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  141. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  142. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  143. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  144. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  145. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  146. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  147. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  148. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  149. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  150. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  151. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  152. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  153. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  154. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  155. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  156. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  157. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  158. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  159. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  160. package/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes.css +1 -1
  161. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  162. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  163. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  164. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  165. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  166. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  167. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  168. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  169. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  170. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  171. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  172. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  173. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +1 -1
  174. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  175. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  176. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  177. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +1 -1
  178. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  179. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  180. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  181. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  182. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  183. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  184. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  185. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  186. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  187. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  188. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  189. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  190. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  191. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  192. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  193. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  194. package/lib/design-tokens/css/tokens/functional/size/size.css +2 -2
  195. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  196. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  197. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  198. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  199. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  200. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  201. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  202. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  203. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  204. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  205. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  206. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  207. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  208. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  209. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  210. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  211. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  212. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  213. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  214. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  215. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  216. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  217. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  218. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  219. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  220. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  221. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  222. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  223. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  224. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  225. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  226. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  227. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  228. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  229. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  230. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  231. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  232. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  233. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  234. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  235. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +1 -1
  236. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  237. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  238. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  239. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  240. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  241. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  242. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  243. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  244. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  245. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  246. package/lib/design-tokens/js/module/tokens/functional/size/size.js +2 -2
  247. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  248. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  249. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  250. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  251. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  252. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  253. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  254. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  255. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  256. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  257. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  258. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  259. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  260. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  261. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  262. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  263. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  264. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  265. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  266. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  267. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  268. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  269. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  270. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  271. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  272. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  273. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  274. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  275. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  276. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  277. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  278. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  279. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  280. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  281. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  282. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  283. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  284. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  285. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  286. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  287. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +1 -1
  288. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  289. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  290. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  291. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  292. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  293. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  294. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  295. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  296. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  297. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  298. package/lib/design-tokens/js/tokens/functional/size/size.js +2 -2
  299. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  300. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  301. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  302. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  303. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  304. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  305. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  306. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  307. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  308. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  309. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  310. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  311. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  312. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  313. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  314. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  315. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  316. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  317. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  318. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  319. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  320. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  321. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  322. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  323. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  324. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  325. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  326. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  327. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  328. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  329. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  330. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  331. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  332. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  333. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  334. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  335. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  336. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  337. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  338. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  339. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +1 -1
  340. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  341. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  342. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  343. package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
  344. package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
  345. package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
  346. package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
  347. package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
  348. package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
  349. package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
  350. package/lib/design-tokens/scss/tokens/functional/size/size.scss +2 -2
  351. package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
  352. package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
  353. package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
  354. package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
  355. package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
  356. package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
  357. package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
  358. package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
  359. package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
  360. package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
  361. package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
  362. package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
  363. package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
  364. package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
  365. package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
  366. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  367. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  368. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  369. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  370. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  371. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  372. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  373. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  374. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  375. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  376. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  377. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  378. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  379. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  380. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  381. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  382. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  383. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  384. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  385. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  386. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  387. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  388. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  389. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  390. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  391. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  392. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  393. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  394. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  395. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  396. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  397. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  398. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  399. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  400. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  401. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  402. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  403. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  404. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  405. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  406. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  407. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  408. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  409. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  410. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  411. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  412. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  413. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  414. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  415. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  416. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  417. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  418. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  419. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  420. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  421. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  422. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  423. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  424. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  425. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  426. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  427. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  428. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +1 -1
  429. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -1
  430. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  431. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  432. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  433. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  434. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  435. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  436. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  437. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  438. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  439. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  440. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  441. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  442. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  443. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  444. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  445. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  446. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  447. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  448. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  449. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  450. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  451. package/lib/design-tokens/ts/tokens/functional/size/size.js +2 -2
  452. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  453. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  454. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  455. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  456. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  457. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  458. package/lib/index.js +1 -1
  459. package/lib/recipes/FlexTemplate/FlexTemplate.types.d.ts +5 -5
  460. package/lib/recipes/Flexsuite/Category/FlexSuiteSecurityCategory/FlexSuiteSecurityCategory.content.d.ts +9 -0
  461. package/package.json +1 -1
  462. package/esm/ActionMenu/ActionMenu.module-Km0HNn_2.css +0 -1
  463. package/esm/Button/Button.module-ryfDlr26.css +0 -1
  464. package/esm/Icon/Icon.module-C1_lP1JO.css +0 -1
  465. package/esm/Pillar/Pillar.module-Cpx4mbRH.css +0 -1
  466. package/esm/SectionIntroStacked/SectionIntroStacked.module-DvJXKMKX.css +0 -1
  467. package/esm/Tiles/Tiles.module-D7UJKhKM.css +0 -1
  468. package/esm/forms/Checkbox/Checkbox.module-DTWn-eCl.css +0 -1
  469. package/esm/forms/ControlGroup/ControlGroup.module-B7ITrHM_.css +0 -1
  470. package/esm/forms/Radio/Radio.module-C_NUEyme.css +0 -1
  471. package/esm/forms/Select/Select.module-q1LyPHa8.css +0 -1
  472. package/esm/forms/TextInput/TextInput.module-zPnaJdhX.css +0 -1
  473. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes-Wg6T_h7K.css +0 -1
  474. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/size/size-Dr6y-7jl.css +0 -1
  475. package/esm/river/RiverAccordion/RiverAccordion.module-DrtqdEOQ.css +0 -1
  476. package/esm/river/river-shared.module-Cc5R8-Kl.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":[],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {forwardRef, useCallback, type Ref, ReactElement} from 'react'\nimport type {Icon} from '@primer/octicons-react'\n\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {Text} from '../Text'\nimport type {BaseProps} from '../component-helpers'\n\nimport {useAnimation} from '../'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css'\nimport styles from './Button.module.css'\n\nexport const ButtonVariants = ['primary', 'secondary', 'subtle', 'accent'] as const\nexport const ButtonSizes = ['small', 'medium', 'large'] as const\n\nexport const defaultButtonVariant = ButtonVariants[1]\nexport const defaultButtonSize = ButtonSizes[1]\n\ntype ButtonVariant = (typeof ButtonVariants)[number]\n\nexport type ButtonBaseProps = {\n /**\n * The leading visual appears before the button content\n */\n leadingVisual?: ReactElement | Icon\n /**\n * The trailing visual appears after the button content\n */\n trailingVisual?: ReactElement | Icon\n /**\n * The styling variations available in Button\n */\n variant?: ButtonVariant\n /**\n * The size variations available in Button\n */\n size?: (typeof ButtonSizes)[number]\n /**\n * A flag to show/hide the arrow icon\n */\n hasArrow?: boolean\n /**\n * The Button spans the full width\n */\n block?: boolean\n}\n\nconst variantsWithArrow = ['subtle']\n\nexport type ButtonProps<C extends React.ElementType> = BaseProps<C> & {\n as?: C\n} & ButtonBaseProps &\n React.ComponentPropsWithoutRef<C>\n\nconst testIds = {\n root: 'Button',\n get leadingVisual() {\n return `${this.root}-leading-visual`\n },\n get trailingVisual() {\n return `${this.root}-trailing-visual`\n },\n get expandableArrow() {\n return `${this.root}-expandable-arrow`\n },\n}\n\nexport const _Button = forwardRef(\n <C extends React.ElementType>(\n {\n animate,\n as,\n variant = defaultButtonVariant,\n size = defaultButtonSize,\n hasArrow,\n block = false,\n className,\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n leadingVisual: LeadingVisual,\n trailingVisual: TrailingVisual,\n style,\n ...props\n }: ButtonProps<C>,\n ref: Ref<HTMLButtonElement>,\n ) => {\n const [isHovered, setIsHovered] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n const Component = as || 'button'\n const isDisabled =\n disabled || ariaDisabled === 'true' || (typeof ariaDisabled === 'boolean' && ariaDisabled === true)\n\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const showArrow = variantsWithArrow.includes(variant) ? hasArrow !== false : Boolean(hasArrow)\n\n const returnValidComponent = useCallback((component?: ReactElement | Icon) => {\n if (React.isValidElement(component)) {\n return component\n }\n\n if (typeof component === 'function') {\n return React.createElement(component)\n }\n }, [])\n\n const LeadingVisualComponent = returnValidComponent(LeadingVisual)\n const TrailingVisualComponent = returnValidComponent(TrailingVisual)\n\n const handleOnMouseEnter = useCallback(\n event => {\n if (!isDisabled) {\n setIsHovered(true)\n onMouseEnter?.(event)\n }\n },\n [isDisabled, onMouseEnter],\n )\n\n const handleOnMouseLeave = useCallback(\n event => {\n if (!isDisabled) {\n setIsHovered(false)\n onMouseLeave?.(event)\n }\n },\n [isDisabled, onMouseLeave],\n )\n\n const handleOnFocus = useCallback(\n event => {\n if (!isDisabled) {\n setIsFocused(true)\n onFocus?.(event)\n }\n },\n [isDisabled, onFocus],\n )\n\n const handleOnBlur = useCallback(\n event => {\n if (!isDisabled) {\n setIsFocused(false)\n onBlur?.(event)\n }\n },\n [isDisabled, onBlur],\n )\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.Button,\n styles[`Button--${variant}`],\n styles[`Button--size-${size}`],\n block && styles['Button--block'],\n isDisabled && styles[`Button--disabled`],\n animationClasses,\n className,\n )}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n disabled={(isDisabled && Component === 'button') || undefined}\n aria-disabled={(isDisabled && Component !== 'button') || undefined}\n style={{...animationInlineStyles, ...style}}\n {...props}\n >\n {React.isValidElement<{className?: string; ['aria-hidden']?: string; focusable?: string}>(\n LeadingVisualComponent,\n ) && (\n <span className={styles['Button__leading-visual']} data-testid={testIds.leadingVisual}>\n {React.cloneElement(LeadingVisualComponent, {\n className: clsx(styles['Button__icon-visual'], isDisabled && styles['Button__icon-visual--disabled']),\n ['aria-hidden']: 'true',\n focusable: 'false',\n })}\n </span>\n )}\n\n <span className={styles['Button__text']}>\n <Text\n as=\"span\"\n size={size === 'small' ? '100' : size === 'medium' ? '200' : '400'}\n weight=\"medium\"\n className={clsx(\n styles['Button--label'],\n styles[`Button--label-${size}`],\n styles[`Button--label-${variant}`],\n isDisabled && styles[`Button-label--disabled`],\n )}\n >\n {children}\n </Text>\n </span>\n\n {!TrailingVisual && showArrow && (\n <span className={clsx(styles['Button__trailing-visual'])}>\n <ExpandableArrow\n hidden\n className={clsx(styles['Button-arrow'], isDisabled && styles[`Button-arrow--disabled`])}\n expanded={!isDisabled && (isHovered || isFocused)}\n data-testid={testIds.expandableArrow}\n />\n </span>\n )}\n {React.isValidElement<{className?: string; ['aria-hidden']?: string; focusable?: string}>(\n TrailingVisualComponent,\n ) && (\n <span className={clsx(styles['Button__trailing-visual'])} data-testid={testIds.trailingVisual}>\n {React.cloneElement(TrailingVisualComponent, {\n className: clsx(styles['Button__icon-visual'], isDisabled && styles['Button__icon-visual--disabled']),\n ['aria-hidden']: 'true',\n focusable: 'false',\n })}\n </span>\n )}\n </Component>\n )\n },\n)\n\nexport const Button = Object.assign(_Button, {testIds})\n"],"mappings":";;;;;;;;;AAaA,IAAa,IAAiB;CAAC;CAAW;CAAa;CAAU;CAAS,EAC7D,IAAc;CAAC;CAAS;CAAU;CAAQ,EAE1C,IAAuB,EAAe,IACtC,IAAoB,EAAY,IA+BvC,IAAoB,CAAC,SAAS,EAO9B,IAAU;CACd,MAAM;CACN,IAAI,gBAAgB;AAClB,SAAO,GAAG,KAAK,KAAK;;CAEtB,IAAI,iBAAiB;AACnB,SAAO,GAAG,KAAK,KAAK;;CAEtB,IAAI,kBAAkB;AACpB,SAAO,GAAG,KAAK,KAAK;;CAEvB,EAEY,IAAU,GAEnB,EACE,YACA,OACA,aAAU,GACV,UAAO,GACP,aACA,WAAQ,IACR,cACA,aACA,aACA,iBAAiB,GACjB,iBACA,iBACA,YACA,WACA,eAAe,GACf,gBAAgB,GAChB,UACA,GAAG,KAEL,MACG;CACH,IAAM,CAAC,GAAW,KAAgB,EAAM,SAAS,GAAM,EACjD,CAAC,GAAW,KAAgB,EAAM,SAAS,GAAM,EACjD,IAAY,KAAM,UAClB,IACJ,KAAY,MAAiB,UAAW,OAAO,KAAiB,aAAa,MAAiB,IAE1F,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ,EAElF,IAAY,EAAkB,SAAS,EAAQ,GAAG,MAAa,KAAQ,EAAQ,GAE/E,IAAuB,GAAa,MAAoC;AAC5E,MAAI,EAAM,eAAe,EAAU,CACjC,QAAO;AAGT,MAAI,OAAO,KAAc,WACvB,QAAO,EAAM,cAAc,EAAU;IAEtC,EAAE,CAAC,EAEA,IAAyB,EAAqB,EAAc,EAC5D,IAA0B,EAAqB,EAAe,EAE9D,IAAqB,GACzB,MAAS;AACP,EAAK,MACH,EAAa,GAAK,EAClB,IAAe,EAAM;IAGzB,CAAC,GAAY,EAAa,CAC3B,EAEK,IAAqB,GACzB,MAAS;AACP,EAAK,MACH,EAAa,GAAM,EACnB,IAAe,EAAM;IAGzB,CAAC,GAAY,EAAa,CAC3B,EAEK,IAAgB,GACpB,MAAS;AACP,EAAK,MACH,EAAa,GAAK,EAClB,IAAU,EAAM;IAGpB,CAAC,GAAY,EAAQ,CACtB,EAEK,IAAe,GACnB,MAAS;AACP,EAAK,MACH,EAAa,GAAM,EACnB,IAAS,EAAM;IAGnB,CAAC,GAAY,EAAO,CACrB;AAED,QACE,kBAAC,GAAD;EACO;EACL,WAAW,EACT,EAAO,QACP,EAAO,WAAW,MAClB,EAAO,gBAAgB,MACvB,KAAS,EAAO,kBAChB,KAAc,EAAO,qBACrB,GACA,EACD;EACD,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,UAAW,KAAc,MAAc,YAAa,KAAA;EACpD,iBAAgB,KAAc,MAAc,YAAa,KAAA;EACzD,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;EAC3C,GAAI;YAlBN;GAoBG,EAAM,eACL,EACD,IACC,kBAAC,QAAD;IAAM,WAAW,EAAO;IAA2B,eAAa,EAAQ;cACrE,EAAM,aAAa,GAAwB;KAC1C,WAAW,EAAK,EAAO,wBAAwB,KAAc,EAAO,iCAAiC;KACpG,eAAgB;KACjB,WAAW;KACZ,CAAC;IACG,CAAA;GAGT,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD;KACE,IAAG;KACH,MAAM,MAAS,UAAU,QAAQ,MAAS,WAAW,QAAQ;KAC7D,QAAO;KACP,WAAW,EACT,EAAO,kBACP,EAAO,iBAAiB,MACxB,EAAO,iBAAiB,MACxB,KAAc,EAAO,0BACtB;KAEA;KACI,CAAA;IACF,CAAA;GAEN,CAAC,KAAkB,KAClB,kBAAC,QAAD;IAAM,WAAW,EAAK,EAAO,2BAA2B;cACtD,kBAAC,GAAD;KACE,QAAA;KACA,WAAW,EAAK,EAAO,iBAAiB,KAAc,EAAO,0BAA0B;KACvF,UAAU,CAAC,MAAe,KAAa;KACvC,eAAa,EAAQ;KACrB,CAAA;IACG,CAAA;GAER,EAAM,eACL,EACD,IACC,kBAAC,QAAD;IAAM,WAAW,EAAK,EAAO,2BAA2B;IAAE,eAAa,EAAQ;cAC5E,EAAM,aAAa,GAAyB;KAC3C,WAAW,EAAK,EAAO,wBAAwB,KAAc,EAAO,iCAAiC;KACpG,eAAgB;KACjB,WAAW;KACZ,CAAC;IACG,CAAA;GAEC;;EAGjB,EAEY,IAAS,OAAO,OAAO,GAAS,EAAC,YAAQ,CAAC"}
1
+ {"version":3,"file":"Button.js","names":[],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {forwardRef, useCallback, type Ref, ReactElement} from 'react'\nimport type {Icon} from '@primer/octicons-react'\n\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {Text} from '../Text'\nimport type {BaseProps} from '../component-helpers'\n\nimport {useAnimation} from '../'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css'\nimport styles from './Button.module.css'\n\nexport const ButtonVariants = ['primary', 'secondary', 'subtle'] as const\nexport const ButtonSizes = ['small', 'medium', 'large'] as const\n\nexport const defaultButtonVariant = ButtonVariants[1]\nexport const defaultButtonSize = ButtonSizes[1]\n\nexport type ButtonVariant = (typeof ButtonVariants)[number]\n\nexport type ButtonBaseProps = {\n /**\n * The leading visual appears before the button content\n */\n leadingVisual?: ReactElement | Icon\n /**\n * The trailing visual appears after the button content\n */\n trailingVisual?: ReactElement | Icon\n /**\n * The styling variations available in Button\n */\n variant?: ButtonVariant\n /**\n * The size variations available in Button\n */\n size?: (typeof ButtonSizes)[number]\n /**\n * A flag to show/hide the arrow icon\n * @deprecated The hasArrow prop is deprecated and will be removed in a future release.\n */\n hasArrow?: boolean\n /**\n * The Button spans the full width\n */\n block?: boolean\n}\n\nexport type ButtonProps<C extends React.ElementType> = BaseProps<C> & {\n as?: C\n} & ButtonBaseProps &\n React.ComponentPropsWithoutRef<C>\n\nconst testIds = {\n root: 'Button',\n get leadingVisual() {\n return `${this.root}-leading-visual`\n },\n get trailingVisual() {\n return `${this.root}-trailing-visual`\n },\n get expandableArrow() {\n return `${this.root}-expandable-arrow`\n },\n}\n\nexport const _Button = forwardRef(\n <C extends React.ElementType>(\n {\n animate,\n as,\n variant = defaultButtonVariant,\n size = defaultButtonSize,\n hasArrow,\n block = false,\n className,\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n leadingVisual: LeadingVisual,\n trailingVisual: TrailingVisual,\n style,\n ...props\n }: ButtonProps<C>,\n ref: Ref<HTMLButtonElement>,\n ) => {\n const [isHovered, setIsHovered] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n const Component = as || 'button'\n const isDisabled =\n disabled || ariaDisabled === 'true' || (typeof ariaDisabled === 'boolean' && ariaDisabled === true)\n\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const showArrow = Boolean(hasArrow)\n\n const returnValidComponent = useCallback((component?: ReactElement | Icon) => {\n if (React.isValidElement(component)) {\n return component\n }\n\n if (typeof component === 'function') {\n return React.createElement(component)\n }\n }, [])\n\n const LeadingVisualComponent = returnValidComponent(LeadingVisual)\n const TrailingVisualComponent = returnValidComponent(TrailingVisual)\n\n const handleOnMouseEnter = useCallback(\n event => {\n if (!isDisabled) {\n setIsHovered(true)\n onMouseEnter?.(event)\n }\n },\n [isDisabled, onMouseEnter],\n )\n\n const handleOnMouseLeave = useCallback(\n event => {\n if (!isDisabled) {\n setIsHovered(false)\n onMouseLeave?.(event)\n }\n },\n [isDisabled, onMouseLeave],\n )\n\n const handleOnFocus = useCallback(\n event => {\n if (!isDisabled) {\n setIsFocused(true)\n onFocus?.(event)\n }\n },\n [isDisabled, onFocus],\n )\n\n const handleOnBlur = useCallback(\n event => {\n if (!isDisabled) {\n setIsFocused(false)\n onBlur?.(event)\n }\n },\n [isDisabled, onBlur],\n )\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.Button,\n styles[`Button--${variant}`],\n styles[`Button--size-${size}`],\n block && styles['Button--block'],\n isDisabled && styles[`Button--disabled`],\n animationClasses,\n className,\n )}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n disabled={(isDisabled && Component === 'button') || undefined}\n aria-disabled={(isDisabled && Component !== 'button') || undefined}\n style={{...animationInlineStyles, ...style}}\n {...props}\n >\n {React.isValidElement<{className?: string; ['aria-hidden']?: string; focusable?: string}>(\n LeadingVisualComponent,\n ) && (\n <span className={styles['Button__leading-visual']} data-testid={testIds.leadingVisual}>\n {React.cloneElement(LeadingVisualComponent, {\n className: clsx(styles['Button__icon-visual'], isDisabled && styles['Button__icon-visual--disabled']),\n ['aria-hidden']: 'true',\n focusable: 'false',\n })}\n </span>\n )}\n\n <span className={styles['Button__text']}>\n <Text\n as=\"span\"\n size={size === 'small' ? '100' : size === 'medium' ? '200' : '400'}\n weight=\"medium\"\n className={clsx(\n styles['Button--label'],\n styles[`Button--label-${size}`],\n styles[`Button--label-${variant}`],\n isDisabled && styles[`Button-label--disabled`],\n )}\n >\n {children}\n </Text>\n </span>\n\n {!TrailingVisual && showArrow && (\n <span className={clsx(styles['Button__trailing-visual'])}>\n <ExpandableArrow\n hidden\n className={clsx(styles['Button-arrow'], isDisabled && styles[`Button-arrow--disabled`])}\n expanded={!isDisabled && (isHovered || isFocused)}\n data-testid={testIds.expandableArrow}\n />\n </span>\n )}\n {React.isValidElement<{className?: string; ['aria-hidden']?: string; focusable?: string}>(\n TrailingVisualComponent,\n ) && (\n <span className={clsx(styles['Button__trailing-visual'])} data-testid={testIds.trailingVisual}>\n {React.cloneElement(TrailingVisualComponent, {\n className: clsx(styles['Button__icon-visual'], isDisabled && styles['Button__icon-visual--disabled']),\n ['aria-hidden']: 'true',\n focusable: 'false',\n })}\n </span>\n )}\n </Component>\n )\n },\n)\n\nexport const Button = Object.assign(_Button, {testIds})\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__Button-module__Button___scH9Z{appearance:none;-webkit-user-select:none;user-select:none;vertical-align:middle;border-radius:var(--base-size-6);cursor:pointer;border:solid var(--brand-borderWidth-thin) transparent;box-sizing:border-box;justify-content:center;align-items:center;gap:var(--brand-control-medium-gap);background:0 0;-webkit-text-decoration:none;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.Primer_Brand__Button-module__Button___scH9Z:hover{-webkit-text-decoration:none;text-decoration:none}.Primer_Brand__Button-module__Button___scH9Z:focus-visible{outline:4px solid var(--brand-color-focus);outline-offset:2px;transition:none}.Primer_Brand__Button-module__Button--disabled___IHZ7f,.Primer_Brand__Button-module__Button--disabled___IHZ7f:hover,.Primer_Brand__Button-module__Button--disabled___IHZ7f:focus{cursor:not-allowed}.Primer_Brand__Button-module__Button--size-small___zQrEw .Primer_Brand__Button-module__Button__text___ED0bX{display:flex}.Primer_Brand__Button-module__Button__text___ED0bX{position:relative}.Primer_Brand__Button-module__Button--label___qrkyz{font-family:var(--brand-body-fontFamily);font-style:normal;font-weight:var(--base-text-weight-medium);text-align:center}.Primer_Brand__Button-module__Button__icon-visual____qybb{height:var(--base-size-16);fill:currentColor;align-self:center;width:auto;display:flex}.Primer_Brand__Button-module__Button__trailing-visual___5i3xR,.Primer_Brand__Button-module__Button__leading-visual___jjtTe{display:flex}.Primer_Brand__Button-module__Button-arrow___F4HtG{margin-inline-start:calc(var(--base-size-8) * -1);margin-inline-end:calc(var(--base-size-4) * -1)}.Primer_Brand__Button-module__Button--primary___MSbnU{color:var(--brand-button-primary-fgColor-rest);background-color:var(--brand-button-primary-bgColor-rest)}.Primer_Brand__Button-module__Button--size-small___zQrEw.Primer_Brand__Button-module__Button--primary___MSbnU{border-width:var(--brand-borderWidth-thin)}.Primer_Brand__Button-module__Button--primary___MSbnU:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):not([aria-expanded=true]):hover{background-color:var(--brand-button-primary-bgColor-hover)}.Primer_Brand__Button-module__Button--primary___MSbnU:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):active,.Primer_Brand__Button-module__Button--primary___MSbnU[aria-expanded=true]{background:var(--brand-button-primary-bgColor-active);border-color:var(--brand-button-primary-borderColor-active)}.Primer_Brand__Button-module__Button--label-primary___QX1u5{color:var(--brand-button-primary-fgColor-rest)}.Primer_Brand__Button-module__Button--primary___MSbnU:disabled,.Primer_Brand__Button-module__Button--primary___MSbnU[aria-disabled=true],.Primer_Brand__Button-module__Button--primary___MSbnU.Primer_Brand__Button-module__Button--disabled___IHZ7f{background-color:var(--brand-button-primary-bgColor-disabled)}.Primer_Brand__Button-module__Button--primary___MSbnU:disabled .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--primary___MSbnU[aria-disabled=true] .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--primary___MSbnU.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--primary___MSbnU:disabled .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--primary___MSbnU[aria-disabled=true] .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--primary___MSbnU.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--label-primary___QX1u5.Primer_Brand__Button-module__Button-label--disabled___yMoDr{color:var(--brand-button-primary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___gHnw_{background-color:var(--brand-button-secondary-bgColor-rest);border-color:var(--brand-button-secondary-borderColor-rest);color:var(--brand-button-secondary-fgColor-rest);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--secondary___gHnw_:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):not([aria-expanded=true]):hover{background-color:var(--brand-button-secondary-bgColor-hover);border-color:var(--brand-button-secondary-borderColor-hover)}.Primer_Brand__Button-module__Button--secondary___gHnw_:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):active,.Primer_Brand__Button-module__Button--secondary___gHnw_[aria-expanded=true]{background-color:var(--brand-button-secondary-bgColor-active);border-color:var(--brand-button-secondary-borderColor-active)}.Primer_Brand__Button-module__Button--secondary___gHnw_:disabled{border-color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--secondary___gHnw_:disabled .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--secondary___gHnw_[aria-disabled=true] .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--secondary___gHnw_.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--secondary___gHnw_:disabled .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--secondary___gHnw_[aria-disabled=true] .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--secondary___gHnw_.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--label-secondary___eJ0_a.Primer_Brand__Button-module__Button-label--disabled___yMoDr{color:var(--brand-button-secondary-fgColor-disabled)}.Primer_Brand__Button-module__Button--subtle___F7pEE{background-color:var(--brand-button-subtle-bgColor-rest);border-width:var(--brand-borderWidth-thin);border-color:var(--brand-button-subtle-borderColor-rest);color:var(--brand-color-text-default);-webkit-backdrop-filter:blur(var(--base-size-20));backdrop-filter:blur(var(--base-size-20))}.Primer_Brand__Button-module__Button--subtle___F7pEE:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):not([aria-expanded=true]):hover{background-color:var(--brand-button-subtle-bgColor-hover);border-color:var(--brand-button-subtle-borderColor-hover)}.Primer_Brand__Button-module__Button--subtle___F7pEE:not(.Primer_Brand__Button-module__Button___scH9Z[disabled]):not(.Primer_Brand__Button-module__Button___scH9Z[aria-disabled=true]):active,.Primer_Brand__Button-module__Button--subtle___F7pEE[aria-expanded=true]{background-color:var(--brand-button-subtle-bgColor-active);border-color:var(--brand-button-subtle-borderColor-active)}.Primer_Brand__Button-module__Button--label-subtle___8ndWH{color:var(--brand-button-subtle-fgColor-rest)}.Primer_Brand__Button-module__Button--subtle___F7pEE:disabled .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--subtle___F7pEE[aria-disabled=true] .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--subtle___F7pEE.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button-arrow--disabled___kZpao,.Primer_Brand__Button-module__Button--subtle___F7pEE:disabled .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--subtle___F7pEE[aria-disabled=true] .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--subtle___F7pEE.Primer_Brand__Button-module__Button--disabled___IHZ7f .Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg,.Primer_Brand__Button-module__Button--label-subtle___8ndWH.Primer_Brand__Button-module__Button-label--disabled___yMoDr{color:var(--brand-button-subtle-fgColor-disabled)}.Primer_Brand__Button-module__Button--size-small___zQrEw{min-height:var(--brand-control-small-size);padding-inline:var(--brand-control-small-paddingInline-normal)}.Primer_Brand__Button-module__Button--size-medium___KFmzx{min-height:var(--brand-control-medium-size);padding:var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20)}.Primer_Brand__Button-module__Button--size-large___J6UCI{min-height:var(--brand-control-large-size);padding:var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious)}.Primer_Brand__Button-module__Button--size-large___J6UCI .Primer_Brand__Button-module__Button__icon-visual____qybb,.Primer_Brand__Button-module__Button--size-large___J6UCI .Primer_Brand__Button-module__Button-arrow___F4HtG{height:var(--base-size-20);width:var(--base-size-20)}.Primer_Brand__Button-module__Button--label-medium___ClmeR{font-size:var(--brand-text-size-200);line-height:var(--brand-text-lineHeight-200);letter-spacing:.01rem}.Primer_Brand__Button-module__Button--label-large___UDxqS{font-size:var(--brand-text-subhead-size-large);line-height:var(--brand-text-subhead-lineHeight-large)}.Primer_Brand__Button-module__Button--block___kCYDx{width:100%}@media (forced-colors:active){.Primer_Brand__Button-module__Button--disabled___IHZ7f{outline-color:graytext}.Primer_Brand__Button-module__Button--label___qrkyz.Primer_Brand__Button-module__Button-label--disabled___yMoDr{color:graytext}}@media (prefers-reduced-motion:reduce){.Primer_Brand__Button-module__Button___scH9Z,.Primer_Brand__Button-module__Button___scH9Z:before,.Primer_Brand__Button-module__Button___scH9Z:after,.Primer_Brand__Button-module__Button___scH9Z *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@@ -1,7 +1,9 @@
1
- import './Button.module-ryfDlr26.css';var e = {
1
+ import './Button.module-Byz3R1qi.css';var e = {
2
2
  Button: "Primer_Brand__Button-module__Button___scH9Z",
3
3
  "Button--disabled": "Primer_Brand__Button-module__Button--disabled___IHZ7f",
4
+ "Button--size-small": "Primer_Brand__Button-module__Button--size-small___zQrEw",
4
5
  Button__text: "Primer_Brand__Button-module__Button__text___ED0bX",
6
+ "Button--label": "Primer_Brand__Button-module__Button--label___qrkyz",
5
7
  "Button__icon-visual": "Primer_Brand__Button-module__Button__icon-visual____qybb",
6
8
  "Button__trailing-visual": "Primer_Brand__Button-module__Button__trailing-visual___5i3xR",
7
9
  "Button__leading-visual": "Primer_Brand__Button-module__Button__leading-visual___jjtTe",
@@ -11,9 +13,6 @@ import './Button.module-ryfDlr26.css';var e = {
11
13
  "Button-arrow--disabled": "Primer_Brand__Button-module__Button-arrow--disabled___kZpao",
12
14
  "Button__icon-visual--disabled": "Primer_Brand__Button-module__Button__icon-visual--disabled___tZSrg",
13
15
  "Button-label--disabled": "Primer_Brand__Button-module__Button-label--disabled___yMoDr",
14
- "Button--accent": "Primer_Brand__Button-module__Button--accent___tkmZY",
15
- "Button--size-small": "Primer_Brand__Button-module__Button--size-small___zQrEw",
16
- "Button--label-accent": "Primer_Brand__Button-module__Button--label-accent___Fjgzf",
17
16
  "Button--secondary": "Primer_Brand__Button-module__Button--secondary___gHnw_",
18
17
  "Button--label-secondary": "Primer_Brand__Button-module__Button--label-secondary___eJ0_a",
19
18
  "Button--subtle": "Primer_Brand__Button-module__Button--subtle___F7pEE",
@@ -22,8 +21,7 @@ import './Button.module-ryfDlr26.css';var e = {
22
21
  "Button--size-large": "Primer_Brand__Button-module__Button--size-large___J6UCI",
23
22
  "Button--label-medium": "Primer_Brand__Button-module__Button--label-medium___ClmeR",
24
23
  "Button--label-large": "Primer_Brand__Button-module__Button--label-large___UDxqS",
25
- "Button--block": "Primer_Brand__Button-module__Button--block___kCYDx",
26
- "Button--label": "Primer_Brand__Button-module__Button--label___qrkyz"
24
+ "Button--block": "Primer_Brand__Button-module__Button--block___kCYDx"
27
25
  };
28
26
  //#endregion
29
27
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Button.module.js","names":[],"sources":["../../src/Button/Button.module.css"],"sourcesContent":[".Button {\n appearance: none;\n user-select: none;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n transition: box-shadow var(--brand-animation-duration-faster);\n text-decoration: none;\n border-radius: var(--brand-borderRadius-medium);\n cursor: pointer;\n border: solid var(--brand-borderWidth-thick) transparent;\n background: none;\n display: inline-flex;\n gap: var(--brand-control-medium-gap);\n}\n\n.Button:hover {\n text-decoration: none;\n}\n\n.Button:focus-visible {\n transition: none;\n outline: 4px solid var(--brand-color-focus);\n outline-offset: 2px;\n}\n\n.Button--disabled,\n.Button--disabled:hover,\n.Button--disabled:focus {\n cursor: not-allowed;\n}\n\n.Button__text {\n position: relative;\n}\n\n.Button__icon-visual {\n display: flex;\n align-self: center;\n height: var(--base-size-16);\n width: auto;\n fill: currentcolor;\n}\n\n.Button__trailing-visual,\n.Button__leading-visual {\n display: flex;\n}\n\n/* optically adjust arrow to align with the end (right) padding */\n/* reduce gap between label and arrow */\n.Button-arrow {\n margin-inline-end: calc(var(--base-size-4) * -1);\n margin-inline-start: calc(var(--base-size-8) * -1);\n}\n\n/* primary */\n\n.Button--primary {\n color: var(--brand-button-primary-fgColor-rest);\n background-color: var(--brand-button-primary-bgColor-rest);\n border: solid var(--brand-borderWidth-thin) var(--brand-button-primary-borderColor-rest);\n}\n\n.Button--primary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background-color: var(--brand-button-primary-bgColor-hover);\n border-color: var(--brand-button-primary-borderColor-hover);\n}\n\n.Button--primary:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--primary[aria-expanded='true'] {\n background-color: var(--brand-button-primary-bgColor-active);\n border-color: var(--brand-button-primary-borderColor-active);\n box-shadow: var(--brand-button-primary-shadow-active);\n}\n\n.Button--label-primary {\n color: var(--brand-button-primary-fgColor-rest);\n}\n\n.Button--primary:disabled,\n.Button--primary[aria-disabled='true'],\n.Button--primary.Button--disabled {\n background-color: var(--brand-button-primary-bgColor-disabled);\n border-color: var(--brand-button-primary-borderColor-disabled);\n}\n\n.Button--primary:disabled .Button-arrow--disabled,\n.Button--primary[aria-disabled='true'] .Button-arrow--disabled,\n.Button--primary.Button--disabled .Button-arrow--disabled,\n.Button--primary:disabled .Button__icon-visual--disabled,\n.Button--primary[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--primary.Button--disabled .Button__icon-visual--disabled,\n.Button--label-primary.Button-label--disabled {\n color: var(--brand-button-primary-fgColor-disabled);\n}\n\n/* accent */\n\n.Button--accent {\n color: var(--brand-button-accent-fgColor-rest);\n background-color: var(--brand-button-accent-bgColor-rest);\n}\n\n.Button--size-small.Button--accent {\n border-width: var(--brand-borderWidth-thin);\n}\n\n.Button--accent:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background: var(--brand-button-accent-bgColor-hover);\n}\n\n.Button--accent:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--accent[aria-expanded='true'] {\n background-color: var(--brand-button-accent-bgColor-active);\n border-color: var(--brand-button-accent-borderColor-active);\n}\n\n.Button--label-accent {\n color: var(--brand-button-accent-fgColor-rest);\n}\n\n.Button--accent:disabled,\n.Button--accent[aria-disabled='true'],\n.Button--accent.Button--disabled {\n background-color: var(--brand-button-accent-bgColor-disabled);\n}\n\n.Button--accent:disabled .Button-arrow--disabled,\n.Button--accent[aria-disabled='true'] .Button-arrow--disabled,\n.Button--accent.Button--disabled .Button-arrow--disabled,\n.Button--accent:disabled .Button__icon-visual--disabled,\n.Button--accent[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--accent.Button--disabled .Button__icon-visual--disabled,\n.Button--label-accent.Button-label--disabled {\n color: var(--brand-button-accent-fgColor-disabled);\n}\n\n/* secondary */\n\n.Button--secondary {\n transition: background-color, border-color 200ms;\n border-color: var(--brand-button-secondary-borderColor-rest);\n color: var(--brand-button-secondary-fgColor-rest);\n}\n\n.Button--secondary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n border-color: var(--brand-button-secondary-borderColor-hover);\n}\n\n.Button--secondary:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--secondary[aria-expanded='true'] {\n border-color: var(--brand-button-secondary-borderColor-active);\n}\n\n.Button--secondary:disabled {\n border-color: var(--brand-button-secondary-fgColor-disabled);\n}\n\n.Button--secondary:disabled .Button-arrow--disabled,\n.Button--secondary[aria-disabled='true'] .Button-arrow--disabled,\n.Button--secondary.Button--disabled .Button-arrow--disabled,\n.Button--secondary:disabled .Button__icon-visual--disabled,\n.Button--secondary[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--secondary.Button--disabled .Button__icon-visual--disabled,\n.Button--label-secondary.Button-label--disabled {\n color: var(--brand-button-secondary-fgColor-disabled);\n}\n\n/* subtle */\n\n.Button--subtle {\n background-color: var(--brand-button-subtle-bgColor-rest);\n color: var(--brand-color-text-default);\n transition: background-color, border-color var(--brand-animation-duration-faster);\n}\n\n.Button--subtle:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background-color: var(--brand-button-subtle-bgColor-hover);\n}\n\n.Button--subtle:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--subtle[aria-expanded='true'] {\n background-color: var(--brand-button-subtle-bgColor-active);\n border-color: transparent;\n}\n\n.Button--label-subtle {\n color: var(--brand-button-subtle-fgColor-rest);\n}\n\n.Button--subtle:disabled .Button-arrow--disabled,\n.Button--subtle[aria-disabled='true'] .Button-arrow--disabled,\n.Button--subtle.Button--disabled .Button-arrow--disabled,\n.Button--subtle:disabled .Button__icon-visual--disabled,\n.Button--subtle[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--subtle.Button--disabled .Button__icon-visual--disabled,\n.Button--label-subtle.Button-label--disabled {\n color: var(--brand-button-subtle-fgColor-disabled);\n}\n\n/* size */\n\n.Button--size-small {\n min-height: var(--brand-control-small-size);\n padding-inline: var(--brand-control-small-paddingInline-normal);\n}\n\n.Button--size-medium {\n min-height: var(--brand-control-medium-size);\n padding: var(--brand-control-medium-paddingBlock-condensed) var(--brand-control-medium-paddingInline-spacious);\n}\n\n.Button--size-large {\n min-height: var(--brand-control-large-size);\n padding: var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious);\n}\n\n.Button--size-large .Button__icon-visual,\n.Button--size-large .Button-arrow {\n height: var(--base-size-20);\n width: var(--base-size-20);\n}\n\n.Button--label-medium {\n font-size: var(--brand-text-subhead-size-medium);\n line-height: var(--brand-text-subhead-lineHeight-medium);\n}\n\n.Button--label-large {\n font-size: var(--brand-text-subhead-size-large);\n line-height: var(--brand-text-subhead-lineHeight-large);\n}\n\n.Button--block {\n width: 100%;\n}\n\n@media (forced-colors: active) {\n .Button--disabled {\n outline-color: GrayText;\n }\n\n /* Indicates disabled state in WHCM */\n .Button--label.Button-label--disabled {\n color: GrayText;\n }\n}\n\n/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */\n@media (prefers-reduced-motion: reduce) {\n .Button,\n .Button::before,\n .Button::after,\n .Button * {\n animation: none !important;\n transition: none !important;\n scroll-behavior: auto !important;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Button.module.js","names":[],"sources":["../../src/Button/Button.module.css"],"sourcesContent":[".Button {\n appearance: none;\n user-select: none;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s, border-color 0.2s;\n text-decoration: none;\n border-radius: var(--base-size-6);\n cursor: pointer;\n border: solid var(--brand-borderWidth-thin) transparent;\n background: none;\n box-sizing: border-box;\n display: inline-flex;\n gap: var(--brand-control-medium-gap);\n}\n\n.Button:hover {\n text-decoration: none;\n}\n\n.Button:focus-visible {\n transition: none;\n outline: 4px solid var(--brand-color-focus);\n outline-offset: 2px;\n}\n\n.Button--disabled,\n.Button--disabled:hover,\n.Button--disabled:focus {\n cursor: not-allowed;\n}\n\n.Button--size-small .Button__text {\n display: flex;\n}\n\n.Button__text {\n position: relative;\n}\n\n.Button--label {\n font-family: var(--brand-body-fontFamily);\n font-style: normal;\n font-weight: var(--base-text-weight-medium);\n text-align: center;\n}\n\n.Button__icon-visual {\n display: flex;\n align-self: center;\n height: var(--base-size-16);\n width: auto;\n fill: currentcolor;\n}\n\n.Button__trailing-visual,\n.Button__leading-visual {\n display: flex;\n}\n\n/* optically adjust arrow to align with the end (right) padding */\n/* reduce gap between label and arrow */\n.Button-arrow {\n margin-inline-end: calc(var(--base-size-4) * -1);\n margin-inline-start: calc(var(--base-size-8) * -1);\n}\n\n/* primary */\n\n.Button--primary {\n color: var(--brand-button-primary-fgColor-rest);\n background-color: var(--brand-button-primary-bgColor-rest);\n}\n\n.Button--size-small.Button--primary {\n border-width: var(--brand-borderWidth-thin);\n}\n\n.Button--primary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background-color: var(--brand-button-primary-bgColor-hover);\n}\n\n.Button--primary:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--primary[aria-expanded='true'] {\n background: var(--brand-button-primary-bgColor-active);\n border-color: var(--brand-button-primary-borderColor-active);\n}\n\n.Button--label-primary {\n color: var(--brand-button-primary-fgColor-rest);\n}\n\n.Button--primary:disabled,\n.Button--primary[aria-disabled='true'],\n.Button--primary.Button--disabled {\n background-color: var(--brand-button-primary-bgColor-disabled);\n}\n\n.Button--primary:disabled .Button-arrow--disabled,\n.Button--primary[aria-disabled='true'] .Button-arrow--disabled,\n.Button--primary.Button--disabled .Button-arrow--disabled,\n.Button--primary:disabled .Button__icon-visual--disabled,\n.Button--primary[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--primary.Button--disabled .Button__icon-visual--disabled,\n.Button--label-primary.Button-label--disabled {\n color: var(--brand-button-primary-fgColor-disabled);\n}\n\n/* secondary */\n\n.Button--secondary {\n background-color: var(--brand-button-secondary-bgColor-rest);\n border-color: var(--brand-button-secondary-borderColor-rest);\n color: var(--brand-button-secondary-fgColor-rest);\n backdrop-filter: blur(var(--base-size-20));\n}\n\n.Button--secondary:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background-color: var(--brand-button-secondary-bgColor-hover);\n border-color: var(--brand-button-secondary-borderColor-hover);\n}\n\n.Button--secondary:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--secondary[aria-expanded='true'] {\n background-color: var(--brand-button-secondary-bgColor-active);\n border-color: var(--brand-button-secondary-borderColor-active);\n}\n\n.Button--secondary:disabled {\n border-color: var(--brand-button-secondary-fgColor-disabled);\n}\n\n.Button--secondary:disabled .Button-arrow--disabled,\n.Button--secondary[aria-disabled='true'] .Button-arrow--disabled,\n.Button--secondary.Button--disabled .Button-arrow--disabled,\n.Button--secondary:disabled .Button__icon-visual--disabled,\n.Button--secondary[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--secondary.Button--disabled .Button__icon-visual--disabled,\n.Button--label-secondary.Button-label--disabled {\n color: var(--brand-button-secondary-fgColor-disabled);\n}\n\n/* subtle */\n\n.Button--subtle {\n background-color: var(--brand-button-subtle-bgColor-rest);\n border-width: var(--brand-borderWidth-thin);\n border-color: var(--brand-button-subtle-borderColor-rest);\n color: var(--brand-color-text-default);\n backdrop-filter: blur(var(--base-size-20));\n}\n\n.Button--subtle:not(.Button[disabled], .Button[aria-disabled='true'], [aria-expanded='true']):hover {\n background-color: var(--brand-button-subtle-bgColor-hover);\n border-color: var(--brand-button-subtle-borderColor-hover);\n}\n\n.Button--subtle:not(.Button[disabled], .Button[aria-disabled='true']):active,\n.Button--subtle[aria-expanded='true'] {\n background-color: var(--brand-button-subtle-bgColor-active);\n border-color: var(--brand-button-subtle-borderColor-active);\n}\n\n.Button--label-subtle {\n color: var(--brand-button-subtle-fgColor-rest);\n}\n\n.Button--subtle:disabled .Button-arrow--disabled,\n.Button--subtle[aria-disabled='true'] .Button-arrow--disabled,\n.Button--subtle.Button--disabled .Button-arrow--disabled,\n.Button--subtle:disabled .Button__icon-visual--disabled,\n.Button--subtle[aria-disabled='true'] .Button__icon-visual--disabled,\n.Button--subtle.Button--disabled .Button__icon-visual--disabled,\n.Button--label-subtle.Button-label--disabled {\n color: var(--brand-button-subtle-fgColor-disabled);\n}\n\n/* size */\n\n.Button--size-small {\n min-height: var(--brand-control-small-size);\n padding-inline: var(--brand-control-small-paddingInline-normal);\n}\n\n.Button--size-medium {\n min-height: var(--brand-control-medium-size);\n padding: var(--brand-control-medium-paddingBlock-condensed) var(--base-size-20);\n}\n\n.Button--size-large {\n min-height: var(--brand-control-large-size);\n padding: var(--brand-control-large-paddingBlock-condensed) var(--brand-control-large-paddingInline-spacious);\n}\n\n.Button--size-large .Button__icon-visual,\n.Button--size-large .Button-arrow {\n height: var(--base-size-20);\n width: var(--base-size-20);\n}\n\n.Button--label-medium {\n font-size: var(--brand-text-size-200);\n line-height: var(--brand-text-lineHeight-200);\n letter-spacing: 0.01rem;\n}\n\n.Button--label-large {\n font-size: var(--brand-text-subhead-size-large);\n line-height: var(--brand-text-subhead-lineHeight-large);\n}\n\n.Button--block {\n width: 100%;\n}\n\n@media (forced-colors: active) {\n .Button--disabled {\n outline-color: GrayText;\n }\n\n /* Indicates disabled state in WHCM */\n .Button--label.Button-label--disabled {\n color: GrayText;\n }\n}\n\n/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */\n@media (prefers-reduced-motion: reduce) {\n .Button,\n .Button::before,\n .Button::after,\n .Button * {\n animation: none !important;\n transition: none !important;\n scroll-behavior: auto !important;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AACjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAS,WAAW,EAAC,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG;IACzD,QAAQ,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,CAAA;IACzD,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,WAAW,sGAwBvB,CAAA"}
1
+ {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAA;AACjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAS,WAAW,EAAC,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG;IACzD,QAAQ,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,CAAA;IACzD,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,WAAW,sGAuBvB,CAAA"}
@@ -7,8 +7,7 @@ var a = r(({ buttonSize: r = "medium", buttonsAs: a, className: o, children: s,
7
7
  let u = n.Children.toArray(s).map((t, i) => n.isValidElement(t) && t.type === e ? n.cloneElement(t, {
8
8
  size: r,
9
9
  as: a,
10
- variant: i === 0 ? "accent" : "subtle",
11
- hasArrow: !1,
10
+ variant: i === 0 ? "primary" : "subtle",
12
11
  ...t.props
13
12
  }) : null).filter(Boolean).slice(0, 2);
14
13
  return /* @__PURE__ */ i("section", {
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.js","names":[],"sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import React, {forwardRef, type Ref} from 'react'\nimport type {BaseProps} from '../component-helpers'\nimport {Button, ButtonProps} from '../Button'\nimport styles from './ButtonGroup.module.css'\n\nexport type PrimerBrandButtonType = React.ReactElement<ButtonProps<React.ElementType<'button' | 'a'>>>\n\nexport type ButtonGroupProps = BaseProps<HTMLDivElement> & {\n children: PrimerBrandButtonType[] | PrimerBrandButtonType\n buttonSize?: ButtonProps<'button' | 'a'>['size']\n buttonsAs?: 'button' | 'a'\n}\n\nexport const ButtonGroup = forwardRef(\n ({buttonSize = 'medium', buttonsAs, className, children, ...props}: ButtonGroupProps, ref: Ref<HTMLDivElement>) => {\n const buttonsToRender = React.Children.toArray(children)\n .map((child, index) => {\n if (React.isValidElement<ButtonProps<'button' | 'a'>>(child) && child.type === Button) {\n return React.cloneElement(child, {\n size: buttonSize,\n as: buttonsAs,\n variant: index === 0 ? 'accent' : 'subtle',\n hasArrow: false,\n ...child.props,\n })\n }\n return null\n })\n .filter(Boolean)\n .slice(0, 2)\n\n return (\n <section ref={ref} className={styles.ButtonGroup} {...props}>\n {buttonsToRender as React.ReactElement[]}\n </section>\n )\n },\n)\n"],"mappings":";;;;;AAaA,IAAa,IAAc,GACxB,EAAC,gBAAa,UAAU,cAAW,cAAW,aAAU,GAAG,KAA0B,MAA6B;CACjH,IAAM,IAAkB,EAAM,SAAS,QAAQ,EAAS,CACrD,KAAK,GAAO,MACP,EAAM,eAA4C,EAAM,IAAI,EAAM,SAAS,IACtE,EAAM,aAAa,GAAO;EAC/B,MAAM;EACN,IAAI;EACJ,SAAS,MAAU,IAAI,WAAW;EAClC,UAAU;EACV,GAAG,EAAM;EACV,CAAC,GAEG,KACP,CACD,OAAO,QAAQ,CACf,MAAM,GAAG,EAAE;AAEd,QACE,kBAAC,WAAD;EAAc;EAAK,WAAW,EAAO;EAAa,GAAI;YACnD;EACO,CAAA;EAGf"}
1
+ {"version":3,"file":"ButtonGroup.js","names":[],"sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import React, {forwardRef, type Ref} from 'react'\nimport type {BaseProps} from '../component-helpers'\nimport {Button, ButtonProps} from '../Button'\nimport styles from './ButtonGroup.module.css'\n\nexport type PrimerBrandButtonType = React.ReactElement<ButtonProps<React.ElementType<'button' | 'a'>>>\n\nexport type ButtonGroupProps = BaseProps<HTMLDivElement> & {\n children: PrimerBrandButtonType[] | PrimerBrandButtonType\n buttonSize?: ButtonProps<'button' | 'a'>['size']\n buttonsAs?: 'button' | 'a'\n}\n\nexport const ButtonGroup = forwardRef(\n ({buttonSize = 'medium', buttonsAs, className, children, ...props}: ButtonGroupProps, ref: Ref<HTMLDivElement>) => {\n const buttonsToRender = React.Children.toArray(children)\n .map((child, index) => {\n if (React.isValidElement<ButtonProps<'button' | 'a'>>(child) && child.type === Button) {\n return React.cloneElement(child, {\n size: buttonSize,\n as: buttonsAs,\n variant: index === 0 ? 'primary' : 'subtle',\n ...child.props,\n })\n }\n return null\n })\n .filter(Boolean)\n .slice(0, 2)\n\n return (\n <section ref={ref} className={styles.ButtonGroup} {...props}>\n {buttonsToRender as React.ReactElement[]}\n </section>\n )\n },\n)\n"],"mappings":";;;;;AAaA,IAAa,IAAc,GACxB,EAAC,gBAAa,UAAU,cAAW,cAAW,aAAU,GAAG,KAA0B,MAA6B;CACjH,IAAM,IAAkB,EAAM,SAAS,QAAQ,EAAS,CACrD,KAAK,GAAO,MACP,EAAM,eAA4C,EAAM,IAAI,EAAM,SAAS,IACtE,EAAM,aAAa,GAAO;EAC/B,MAAM;EACN,IAAI;EACJ,SAAS,MAAU,IAAI,YAAY;EACnC,GAAG,EAAM;EACV,CAAC,GAEG,KACP,CACD,OAAO,QAAQ,CACf,MAAM,GAAG,EAAE;AAEd,QACE,kBAAC,WAAD;EAAc;EAAK,WAAW,EAAO;EAAa,GAAI;YACnD;EACO,CAAA;EAGf"}
@@ -1 +1 @@
1
- .Primer_Brand__Hero-module__Hero___It6gj{flex-direction:column;display:flex}.Primer_Brand__Hero-module__Hero--variant-default___lNgHw{padding:var(--brand-Hero-narrow-padding)}.Primer_Brand__Hero-module__Hero--align-start___ouSp3{text-align:left;align-items:flex-start}.Primer_Brand__Hero-module__Hero--align-center___6FMoH{text-align:center;place-items:center}.Primer_Brand__Hero-module__Hero-grid___gXNGW{--brand-Grid-spacing-margin:0}.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{width:100%;max-width:1280px;padding:var(--base-size-32);background-color:var(--brand-Hero-bgColor-gridlineGridInner);margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-grid--block-end___jU6_V,.Primer_Brand__Hero-module__Hero-grid--inline-end___o8Dtq{--brand-Grid-spacing-row:var(--base-size-40)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{padding:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-grid--block-end___jU6_V{--brand-Grid-spacing-row:var(--base-size-80)}}.Primer_Brand__Hero-module__Hero--align-center___6FMoH .Primer_Brand__Hero-module__Hero-actions___RUotq{justify-content:center}.Primer_Brand__Hero-module__Hero--align-center___6FMoH .Primer_Brand__Hero-module__Hero-content___lpGj0{flex-direction:column;align-items:center;display:flex}.Primer_Brand__Hero-module__Hero-image___GC10l{border-radius:var(--brand-borderRadius-medium);width:100%}.Primer_Brand__Hero-module__Hero-mediaContainer___DWFUR{flex:1;width:100%;height:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--bg-subtle___RFNq3{background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bg-padded___Y_hah{padding:var(--base-size-32);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{justify-content:center;width:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___8xPH_{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered___g8hqZ{background-color:var(--brand-color-canvas-subtle);align-items:stretch;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered___g8hqZ{min-height:calc(600px - var(--base-size-24))}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___8xPH_{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bg-padded___Y_hah{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media___rM3qR{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-block-end___6QShk,.Primer_Brand__Hero-module__Hero-media-item--block-end___RrUWM{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___fixm4{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-media--pos-block-end-padded___VdZlI{border-radius:var(--brand-borderRadius-medium)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{width:100%;max-width:1280px;margin-inline:auto}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{min-height:440px}}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh.Primer_Brand__Hero-module__Hero--image-pos-inline___fwJAZ{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___2Dfrd{padding:var(--base-size-32);flex-direction:column;justify-content:center;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___2Dfrd{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-inline___TD4jr:not(.Primer_Brand__Hero-module__Hero-media--pos-inline-padded___Uq4Xk),.Primer_Brand__Hero-module__Hero-media-item--inline___3XHJG{border-radius:0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-inline-padded___Uq4Xk{align-self:center;max-width:100%;height:auto}.Primer_Brand__Hero-module__Hero-video___Ne5zN{width:100%}.Primer_Brand__Hero-module__Hero-media-item___Ia3pn{border-radius:var(--brand-borderRadius-large);width:100%}.Primer_Brand__Hero-module__Hero-label___XJftM{text-transform:uppercase;letter-spacing:1px;align-items:center;margin-block-end:var(--base-size-16);display:flex}.Primer_Brand__Hero-module__Hero-heading___HMve3{max-width:924px;margin:0}.Primer_Brand__Hero-module__Hero-heading___HMve3 b{color:var(--brand-color-accent-primary);font-style:normal;font-weight:inherit}.Primer_Brand__Hero-module__Hero-heading--fullWidth___sJlnY{max-width:none;max-width:initial}.Primer_Brand__Hero-module__Hero-text-column--inline-gridline___gGhfi{height:100%}.Primer_Brand__Hero-module__Hero-description___7raSC{margin:var(--base-size-24) 0 0;max-width:600px}.Primer_Brand__Hero-module__Hero--variant-inline-gridline___Jwjqy .Primer_Brand__Hero-module__Hero-description___7raSC{margin-block-start:auto;padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero-actions___RUotq{align-items:center;gap:var(--base-size-8) var(--base-size-16);flex-wrap:wrap;margin-block-start:var(--base-size-32);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq{align-items:stretch;gap:var(--base-size-8) var(--base-size-12)}.Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-eyebrow___mlxSE{margin-block-end:var(--base-size-32)}@media screen and (width>=34rem){.Primer_Brand__Hero-module__Hero--variant-default___lNgHw{padding:var(--brand-Hero-regular-padding)}}.Primer_Brand__Hero-module__Hero-video-poster-button___mtbvt{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:0;line-height:0;display:block;position:relative}.Primer_Brand__Hero-module__Hero-video-poster-image___ZP3Q5{width:100%;height:auto;display:block}.Primer_Brand__Hero-module__Hero-video-poster-icon___PfT4p{width:var(--base-size-96);height:var(--base-size-96);z-index:1;color:var(--base-color-scale-white-0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__Hero-module__Hero-video-poster-header___13M9x{padding:var(--base-size-16) var(--base-size-24);align-items:center;gap:var(--base-size-16);height:var(--base-size-80);background:linear-gradient(#000000b3 60%,#0000);display:flex;position:absolute;inset:0 0 auto}.Primer_Brand__Hero-module__Hero-video-header-poster-icon___tlEff,.Primer_Brand__Hero-module__Hero-video-poster-text___4R755{color:var(--base-color-scale-white-0)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero-grid--expressive___Lq5SC{--brand-Grid-spacing-row:0;gap:0;width:100%;max-width:1280px;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--expressive___Lq5SC{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-expressive-header-column___iq2TT{padding:var(--base-size-32);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;padding-block-end:var(--base-size-24);display:flex}.Primer_Brand__Hero-module__Hero-expressive-body-column___Beyq_{padding:var(--base-size-32);padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-description___7raSC{margin-block-start:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-24)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-expressive-header-column___iq2TT{padding:var(--base-size-64);border-block-end:none;border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline-end:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-expressive-body-column___Beyq_{padding:var(--base-size-64);flex-direction:column;justify-content:flex-end;padding-inline-start:var(--base-size-64);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-32)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___fixm4{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-media___rM3qR{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-media--pos-block-end___6QShk,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-image___GC10l:not(.Primer_Brand__Hero-module__Hero-media--pos-block-end-padded___VdZlI){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}
1
+ .Primer_Brand__Hero-module__Hero___It6gj{flex-direction:column;display:flex}.Primer_Brand__Hero-module__Hero--variant-default___lNgHw{padding:var(--brand-Hero-narrow-padding)}.Primer_Brand__Hero-module__Hero--align-start___ouSp3{text-align:left;align-items:flex-start}.Primer_Brand__Hero-module__Hero--align-center___6FMoH{text-align:center;place-items:center}.Primer_Brand__Hero-module__Hero-grid___gXNGW{--brand-Grid-spacing-margin:0}.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{width:100%;max-width:1280px;padding:var(--base-size-32);background-color:var(--brand-Hero-bgColor-gridlineGridInner);margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-grid--block-end___jU6_V,.Primer_Brand__Hero-module__Hero-grid--inline-end___o8Dtq{--brand-Grid-spacing-row:var(--base-size-40)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--contained___vfiGA{padding:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-grid--block-end___jU6_V{--brand-Grid-spacing-row:var(--base-size-80)}}.Primer_Brand__Hero-module__Hero--align-center___6FMoH .Primer_Brand__Hero-module__Hero-actions___RUotq{justify-content:center}.Primer_Brand__Hero-module__Hero--align-center___6FMoH .Primer_Brand__Hero-module__Hero-content___lpGj0{flex-direction:column;align-items:center;display:flex}.Primer_Brand__Hero-module__Hero-image___GC10l{border-radius:var(--brand-borderRadius-medium);width:100%}.Primer_Brand__Hero-module__Hero-mediaContainer___DWFUR{flex:1;width:100%;height:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageContainer--bg-subtle___RFNq3{background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bg-padded___Y_hah{padding:var(--base-size-32);background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{justify-content:center;width:100%;display:flex}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___8xPH_{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);padding:var(--base-size-32) var(--base-size-32) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered___g8hqZ{background-color:var(--brand-color-canvas-subtle);align-items:stretch;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-imageContainer--inline-bordered___g8hqZ{min-height:calc(600px - var(--base-size-24))}.Primer_Brand__Hero-module__Hero-imageWrapper--bg-subtle___8xPH_{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero-imageContainer--inline-bg-padded___Y_hah{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media___rM3qR{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-block-end___6QShk,.Primer_Brand__Hero-module__Hero-media-item--block-end___RrUWM{border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___fixm4{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-media--pos-block-end-padded___VdZlI{border-radius:var(--brand-borderRadius-medium)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{width:100%;max-width:1280px;margin-inline:auto}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{min-height:440px}}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--bordered-inline___e_HR8{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh.Primer_Brand__Hero-module__Hero--image-pos-inline___fwJAZ{border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___2Dfrd{padding:var(--base-size-32);flex-direction:column;justify-content:center;display:flex}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-contentColumn--bordered-inline___2Dfrd{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-inline___TD4jr:not(.Primer_Brand__Hero-module__Hero-media--pos-inline-padded___Uq4Xk),.Primer_Brand__Hero-module__Hero-media-item--inline___3XHJG{border-radius:0}.Primer_Brand__Hero-module__Hero--variant-gridline___B_Xwh .Primer_Brand__Hero-module__Hero-media--pos-inline-padded___Uq4Xk{align-self:center;max-width:100%;height:auto}.Primer_Brand__Hero-module__Hero-video___Ne5zN{width:100%}.Primer_Brand__Hero-module__Hero-media-item___Ia3pn{border-radius:var(--brand-borderRadius-large);width:100%}.Primer_Brand__Hero-module__Hero-label___XJftM{text-transform:uppercase;letter-spacing:1px;align-items:center;margin-block-end:calc(var(--base-size-16) - var(--base-size-2));display:flex}.Primer_Brand__Hero-module__Hero-heading___HMve3{max-width:924px;margin:0}.Primer_Brand__Hero-module__Hero-heading___HMve3 b{color:var(--brand-color-accent-primary);font-style:normal;font-weight:inherit}.Primer_Brand__Hero-module__Hero-heading--fullWidth___sJlnY{max-width:none;max-width:initial}.Primer_Brand__Hero-module__Hero-text-column--inline-gridline___gGhfi{height:100%}.Primer_Brand__Hero-module__Hero-description___7raSC{margin:var(--base-size-24) 0 0;max-width:600px}.Primer_Brand__Hero-module__Hero--variant-inline-gridline___Jwjqy .Primer_Brand__Hero-module__Hero-description___7raSC{margin-block-start:auto;padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero-actions___RUotq{align-items:center;gap:var(--base-size-8) var(--base-size-16);flex-wrap:wrap;margin-block-start:var(--base-size-32);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq{align-items:stretch;gap:var(--base-size-8) var(--base-size-12)}.Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-32)}.Primer_Brand__Hero-module__Hero-eyebrow___mlxSE{margin-block-end:var(--base-size-32)}@media screen and (width>=34rem){.Primer_Brand__Hero-module__Hero--variant-default___lNgHw{padding:var(--brand-Hero-regular-padding)}}.Primer_Brand__Hero-module__Hero-video-poster-button___mtbvt{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;font-size:0;line-height:0;display:block;position:relative}.Primer_Brand__Hero-module__Hero-video-poster-image___ZP3Q5{width:100%;height:auto;display:block}.Primer_Brand__Hero-module__Hero-video-poster-icon___PfT4p{width:var(--base-size-96);height:var(--base-size-96);z-index:1;color:var(--base-color-scale-white-0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Primer_Brand__Hero-module__Hero-video-poster-header___13M9x{padding:var(--base-size-16) var(--base-size-24);align-items:center;gap:var(--base-size-16);height:var(--base-size-80);background:linear-gradient(#000000b3 60%,#0000);display:flex;position:absolute;inset:0 0 auto}.Primer_Brand__Hero-module__Hero-video-header-poster-icon___tlEff,.Primer_Brand__Hero-module__Hero-video-poster-text___4R755{color:var(--base-color-scale-white-0)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3{width:100%;container-type:inline-size}.Primer_Brand__Hero-module__Hero-grid--expressive___Lq5SC{--brand-Grid-spacing-row:0;gap:0;width:100%;max-width:1280px;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero-grid--expressive___Lq5SC{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero-expressive-header-column___iq2TT{padding:var(--base-size-32);border-block-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);align-items:center;padding-block-end:var(--base-size-24);display:flex}.Primer_Brand__Hero-module__Hero-expressive-body-column___Beyq_{padding:var(--base-size-32);padding-block-start:var(--base-size-24)}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-description___7raSC{margin-block-start:0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-24)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero-expressive-header-column___iq2TT{padding:var(--base-size-64);border-block-end:none;border-inline-end:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);padding-inline-end:var(--base-size-64)}.Primer_Brand__Hero-module__Hero-expressive-body-column___Beyq_{padding:var(--base-size-64);flex-direction:column;justify-content:flex-end;padding-inline-start:var(--base-size-64);display:flex}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-actions___RUotq,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-trailing____cadc{margin-block-start:var(--base-size-32)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper___CscCA{border-block:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);background-color:var(--brand-color-canvas-subtle);width:100%}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{width:100%;max-width:1280px;padding:var(--base-size-32) var(--base-size-32) 0;margin-inline:auto}@container (width>=1280px){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--with-gridline___fixm4{border-inline:var(--brand-borderWidth-thin) solid var(--brand-color-border-muted)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-32)}@media screen and (width>=63.25rem){.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner___jk8Wg{padding:var(--base-size-64) var(--base-size-64) 0}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-imageWrapper-inner--padded___cN4al{padding:var(--base-size-64)}}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-media___rM3qR{max-width:1176px;margin-inline:auto;display:block;overflow:hidden}.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-media--pos-block-end___6QShk,.Primer_Brand__Hero-module__Hero--variant-gridline-expressive___yVRY3 .Primer_Brand__Hero-module__Hero-image___GC10l:not(.Primer_Brand__Hero-module__Hero-media--pos-block-end-padded___VdZlI){border-radius:var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0}
@@ -1,4 +1,4 @@
1
- import './Hero.module-b8OFm8Ci.css';var e = {
1
+ import './Hero.module-DvYo_AtL.css';var e = {
2
2
  Hero: "Primer_Brand__Hero-module__Hero___It6gj",
3
3
  "Hero--variant-default": "Primer_Brand__Hero-module__Hero--variant-default___lNgHw",
4
4
  "Hero--align-start": "Primer_Brand__Hero-module__Hero--align-start___ouSp3",
@@ -1 +1 @@
1
- {"version":3,"file":"Hero.module.js","names":[],"sources":["../../src/Hero/Hero.module.css"],"sourcesContent":[".Hero {\n display: flex;\n flex-direction: column;\n}\n\n.Hero--variant-default {\n padding: var(--brand-Hero-narrow-padding);\n}\n\n.Hero--align-start {\n align-items: flex-start;\n text-align: left;\n}\n\n.Hero--align-center {\n justify-items: center;\n align-items: center;\n text-align: center;\n}\n\n.Hero-grid {\n --brand-Grid-spacing-margin: 0;\n}\n\n.Hero-grid--contained {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32);\n background-color: var(--brand-Hero-bgColor-gridlineGridInner); /* Unset by default - users can override if needed */\n}\n\n/* Prevents double-borders. We only apply the inline borders when the parent container is wide enough to show the full width. */\n@container (min-width: 1280px) {\n .Hero-grid--contained {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero-grid--block-end,\n.Hero-grid--inline-end {\n --brand-Grid-spacing-row: var(--base-size-40);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-grid--contained {\n padding: var(--base-size-64);\n }\n\n .Hero-grid--block-end {\n --brand-Grid-spacing-row: var(--base-size-80);\n }\n}\n\n.Hero--align-center .Hero-actions {\n justify-content: center;\n}\n\n.Hero--align-center .Hero-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.Hero-image {\n border-radius: var(--brand-borderRadius-medium);\n width: 100%;\n}\n\n.Hero-mediaContainer {\n width: 100%;\n height: 100%;\n display: flex;\n flex: 1;\n}\n\n.Hero-imageContainer--bg-subtle {\n background-color: var(--brand-color-canvas-subtle);\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n.Hero-imageContainer--inline-bg-padded {\n padding: var(--base-size-32);\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.Hero-imageWrapper {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.Hero-imageWrapper--bg-subtle {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n.Hero-imageContainer--inline-bordered {\n background-color: var(--brand-color-canvas-subtle);\n display: flex;\n align-items: stretch;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-imageContainer--inline-bordered {\n min-height: calc(600px - var(--base-size-24));\n }\n\n .Hero-imageWrapper--bg-subtle {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero-imageContainer--inline-bg-padded {\n padding: var(--base-size-64);\n }\n}\n\n.Hero--variant-gridline {\n container-type: inline-size;\n width: 100%;\n}\n\n/* Shared media styles for images and videos */\n.Hero--variant-gridline .Hero-media {\n max-width: 1176px;\n margin-inline: auto;\n display: block;\n overflow: hidden;\n}\n\n.Hero--variant-gridline .Hero-media--pos-block-end {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n\n/* Applied directly to video/iframe elements for block-end position */\n.Hero-media-item--block-end {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n\n.Hero--variant-gridline .Hero-imageWrapper {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n width: 100%;\n}\n\n.Hero--variant-gridline .Hero-imageWrapper-inner {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n@container (min-width: 1280px) {\n .Hero--variant-gridline .Hero-imageWrapper-inner--with-gridline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-32);\n}\n\n.Hero-media--pos-block-end-padded {\n border-radius: var(--brand-borderRadius-medium);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero--variant-gridline .Hero-imageWrapper-inner {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero--variant-gridline .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-64);\n }\n}\n\n/* GridLine variant with inline (side-by-side) layout */\n.Hero-grid--bordered-inline {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-grid--bordered-inline {\n min-height: 440px;\n }\n}\n\n@container (min-width: 1280px) {\n .Hero-grid--bordered-inline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline.Hero--image-pos-inline {\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n/* Text column styling for gridline inline positions */\n.Hero-contentColumn--bordered-inline {\n padding: var(--base-size-32);\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-contentColumn--bordered-inline {\n padding: var(--base-size-64);\n }\n}\n\n/* Media styling for gridline inline positions */\n\n/* Edge-to-edge inline media (no padding) - remove border radius */\n.Hero--variant-gridline .Hero-media--pos-inline:not(.Hero-media--pos-inline-padded) {\n border-radius: 0;\n}\n\n/* Applied directly to video/iframe elements for inline position */\n.Hero-media-item--inline {\n border-radius: 0;\n}\n\n/* Padded inline media - constrain size and center */\n.Hero--variant-gridline .Hero-media--pos-inline-padded {\n max-width: 100%;\n height: auto;\n align-self: center;\n}\n\n/* Image column styling now handled by .Hero-imageContainer--inline-bordered */\n\n.Hero-video {\n width: 100%;\n}\n\n/* Base styles for video/iframe media elements */\n.Hero-media-item {\n width: 100%;\n border-radius: var(--brand-borderRadius-large);\n}\n\n.Hero-label {\n text-transform: uppercase;\n letter-spacing: 1px;\n margin-block-end: var(--base-size-16);\n display: flex;\n align-items: center;\n}\n\n.Hero-heading {\n margin: 0;\n max-width: 924px;\n}\n\n.Hero-heading b {\n color: var(--brand-color-accent-primary);\n font-style: normal;\n font-weight: inherit;\n}\n\n.Hero-heading--fullWidth {\n max-width: unset;\n}\n\n.Hero-text-column--inline-gridline {\n height: 100%;\n}\n\n.Hero-description {\n margin: var(--base-size-24) 0 0;\n max-width: 600px;\n}\n\n.Hero--variant-inline-gridline .Hero-description {\n padding-block-start: var(--base-size-24);\n margin-block-start: auto;\n}\n\n.Hero-actions {\n margin-block-start: var(--base-size-32);\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--base-size-8) var(--base-size-16);\n}\n\n.Hero--variant-gridline-expressive .Hero-actions {\n align-items: stretch;\n gap: var(--base-size-8) var(--base-size-12);\n}\n\n.Hero-trailing {\n margin-block-start: var(--base-size-32);\n}\n\n.Hero-eyebrow {\n margin-block-end: var(--base-size-32);\n}\n\n/* Small breakpoint and up */\n@media screen and (min-width: 34rem) {\n .Hero--variant-default {\n padding: var(--brand-Hero-regular-padding);\n }\n}\n\n.Hero-video-poster-button {\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n display: block;\n height: 100%;\n position: relative;\n line-height: 0;\n font-size: 0;\n width: 100%;\n}\n\n.Hero-video-poster-image {\n display: block;\n height: auto;\n width: 100%;\n}\n\n.Hero-video-poster-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--base-size-96);\n height: var(--base-size-96);\n z-index: 1;\n color: var(--base-color-scale-white-0);\n}\n\n.Hero-video-poster-header {\n position: absolute;\n inset: 0 0 auto;\n padding: var(--base-size-16) var(--base-size-24);\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0));\n display: flex;\n align-items: center;\n gap: var(--base-size-16);\n height: var(--base-size-80);\n}\n\n.Hero-video-header-poster-icon,\n.Hero-video-poster-text {\n color: var(--base-color-scale-white-0);\n}\n\n/* ========================================\n Gridline-Expressive Variant\n ======================================== */\n\n.Hero--variant-gridline-expressive {\n container-type: inline-size;\n width: 100%;\n}\n\n/* Grid container for expressive variant */\n.Hero-grid--expressive {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n gap: 0;\n --brand-Grid-spacing-row: 0;\n}\n\n@container (min-width: 1280px) {\n .Hero-grid--expressive {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n/* Header column (eyebrow, heading) */\n.Hero-expressive-header-column {\n padding: var(--base-size-32);\n padding-block-end: var(--base-size-24);\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n display: flex;\n align-items: center;\n}\n\n/* Body column (description, actions, trailing) */\n.Hero-expressive-body-column {\n padding: var(--base-size-32);\n padding-block-start: var(--base-size-24);\n}\n\n.Hero--variant-gridline-expressive .Hero-description {\n margin-block-start: 0;\n}\n\n.Hero--variant-gridline-expressive .Hero-actions {\n margin-block-start: var(--base-size-24);\n}\n\n.Hero--variant-gridline-expressive .Hero-trailing {\n margin-block-start: var(--base-size-24);\n}\n\n/* Desktop: Side-by-side layout with vertical divider */\n@media screen and (min-width: 63.25rem) {\n .Hero-expressive-header-column {\n padding: var(--base-size-64);\n padding-inline-end: var(--base-size-64);\n border-block-end: none;\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n .Hero-expressive-body-column {\n padding: var(--base-size-64);\n padding-inline-start: var(--base-size-64);\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n }\n\n .Hero--variant-gridline-expressive .Hero-actions {\n margin-block-start: var(--base-size-32);\n }\n\n .Hero--variant-gridline-expressive .Hero-trailing {\n margin-block-start: var(--base-size-32);\n }\n}\n\n/* Media wrapper styles for gridline-expressive (same as gridline) */\n.Hero--variant-gridline-expressive .Hero-imageWrapper {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n width: 100%;\n}\n\n.Hero--variant-gridline-expressive .Hero-imageWrapper-inner {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n@container (min-width: 1280px) {\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--with-gridline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-32);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-64);\n }\n}\n\n/* Shared media styles for gridline-expressive */\n.Hero--variant-gridline-expressive .Hero-media {\n max-width: 1176px;\n margin-inline: auto;\n display: block;\n overflow: hidden;\n}\n\n.Hero--variant-gridline-expressive .Hero-media--pos-block-end,\n.Hero--variant-gridline-expressive .Hero-image:not(.Hero-media--pos-block-end-padded) {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Hero.module.js","names":[],"sources":["../../src/Hero/Hero.module.css"],"sourcesContent":[".Hero {\n display: flex;\n flex-direction: column;\n}\n\n.Hero--variant-default {\n padding: var(--brand-Hero-narrow-padding);\n}\n\n.Hero--align-start {\n align-items: flex-start;\n text-align: left;\n}\n\n.Hero--align-center {\n justify-items: center;\n align-items: center;\n text-align: center;\n}\n\n.Hero-grid {\n --brand-Grid-spacing-margin: 0;\n}\n\n.Hero-grid--contained {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32);\n background-color: var(--brand-Hero-bgColor-gridlineGridInner); /* Unset by default - users can override if needed */\n}\n\n/* Prevents double-borders. We only apply the inline borders when the parent container is wide enough to show the full width. */\n@container (min-width: 1280px) {\n .Hero-grid--contained {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero-grid--block-end,\n.Hero-grid--inline-end {\n --brand-Grid-spacing-row: var(--base-size-40);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-grid--contained {\n padding: var(--base-size-64);\n }\n\n .Hero-grid--block-end {\n --brand-Grid-spacing-row: var(--base-size-80);\n }\n}\n\n.Hero--align-center .Hero-actions {\n justify-content: center;\n}\n\n.Hero--align-center .Hero-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.Hero-image {\n border-radius: var(--brand-borderRadius-medium);\n width: 100%;\n}\n\n.Hero-mediaContainer {\n width: 100%;\n height: 100%;\n display: flex;\n flex: 1;\n}\n\n.Hero-imageContainer--bg-subtle {\n background-color: var(--brand-color-canvas-subtle);\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n.Hero-imageContainer--inline-bg-padded {\n padding: var(--base-size-32);\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.Hero-imageWrapper {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\n.Hero-imageWrapper--bg-subtle {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n.Hero-imageContainer--inline-bordered {\n background-color: var(--brand-color-canvas-subtle);\n display: flex;\n align-items: stretch;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-imageContainer--inline-bordered {\n min-height: calc(600px - var(--base-size-24));\n }\n\n .Hero-imageWrapper--bg-subtle {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero-imageContainer--inline-bg-padded {\n padding: var(--base-size-64);\n }\n}\n\n.Hero--variant-gridline {\n container-type: inline-size;\n width: 100%;\n}\n\n/* Shared media styles for images and videos */\n.Hero--variant-gridline .Hero-media {\n max-width: 1176px;\n margin-inline: auto;\n display: block;\n overflow: hidden;\n}\n\n.Hero--variant-gridline .Hero-media--pos-block-end {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n\n/* Applied directly to video/iframe elements for block-end position */\n.Hero-media-item--block-end {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n\n.Hero--variant-gridline .Hero-imageWrapper {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n width: 100%;\n}\n\n.Hero--variant-gridline .Hero-imageWrapper-inner {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n@container (min-width: 1280px) {\n .Hero--variant-gridline .Hero-imageWrapper-inner--with-gridline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-32);\n}\n\n.Hero-media--pos-block-end-padded {\n border-radius: var(--brand-borderRadius-medium);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero--variant-gridline .Hero-imageWrapper-inner {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero--variant-gridline .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-64);\n }\n}\n\n/* GridLine variant with inline (side-by-side) layout */\n.Hero-grid--bordered-inline {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-grid--bordered-inline {\n min-height: 440px;\n }\n}\n\n@container (min-width: 1280px) {\n .Hero-grid--bordered-inline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline.Hero--image-pos-inline {\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n}\n\n/* Text column styling for gridline inline positions */\n.Hero-contentColumn--bordered-inline {\n padding: var(--base-size-32);\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero-contentColumn--bordered-inline {\n padding: var(--base-size-64);\n }\n}\n\n/* Media styling for gridline inline positions */\n\n/* Edge-to-edge inline media (no padding) - remove border radius */\n.Hero--variant-gridline .Hero-media--pos-inline:not(.Hero-media--pos-inline-padded) {\n border-radius: 0;\n}\n\n/* Applied directly to video/iframe elements for inline position */\n.Hero-media-item--inline {\n border-radius: 0;\n}\n\n/* Padded inline media - constrain size and center */\n.Hero--variant-gridline .Hero-media--pos-inline-padded {\n max-width: 100%;\n height: auto;\n align-self: center;\n}\n\n/* Image column styling now handled by .Hero-imageContainer--inline-bordered */\n\n.Hero-video {\n width: 100%;\n}\n\n/* Base styles for video/iframe media elements */\n.Hero-media-item {\n width: 100%;\n border-radius: var(--brand-borderRadius-large);\n}\n\n.Hero-label {\n text-transform: uppercase;\n letter-spacing: 1px;\n margin-block-end: calc(var(--base-size-16) - var(--base-size-2));\n display: flex;\n align-items: center;\n}\n\n.Hero-heading {\n margin: 0;\n max-width: 924px;\n}\n\n.Hero-heading b {\n color: var(--brand-color-accent-primary);\n font-style: normal;\n font-weight: inherit;\n}\n\n.Hero-heading--fullWidth {\n max-width: unset;\n}\n\n.Hero-text-column--inline-gridline {\n height: 100%;\n}\n\n.Hero-description {\n margin: var(--base-size-24) 0 0;\n max-width: 600px;\n}\n\n.Hero--variant-inline-gridline .Hero-description {\n padding-block-start: var(--base-size-24);\n margin-block-start: auto;\n}\n\n.Hero-actions {\n margin-block-start: var(--base-size-32);\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--base-size-8) var(--base-size-16);\n}\n\n.Hero--variant-gridline-expressive .Hero-actions {\n align-items: stretch;\n gap: var(--base-size-8) var(--base-size-12);\n}\n\n.Hero-trailing {\n margin-block-start: var(--base-size-32);\n}\n\n.Hero-eyebrow {\n margin-block-end: var(--base-size-32);\n}\n\n/* Small breakpoint and up */\n@media screen and (min-width: 34rem) {\n .Hero--variant-default {\n padding: var(--brand-Hero-regular-padding);\n }\n}\n\n.Hero-video-poster-button {\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n display: block;\n height: 100%;\n position: relative;\n line-height: 0;\n font-size: 0;\n width: 100%;\n}\n\n.Hero-video-poster-image {\n display: block;\n height: auto;\n width: 100%;\n}\n\n.Hero-video-poster-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--base-size-96);\n height: var(--base-size-96);\n z-index: 1;\n color: var(--base-color-scale-white-0);\n}\n\n.Hero-video-poster-header {\n position: absolute;\n inset: 0 0 auto;\n padding: var(--base-size-16) var(--base-size-24);\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0));\n display: flex;\n align-items: center;\n gap: var(--base-size-16);\n height: var(--base-size-80);\n}\n\n.Hero-video-header-poster-icon,\n.Hero-video-poster-text {\n color: var(--base-color-scale-white-0);\n}\n\n/* ========================================\n Gridline-Expressive Variant\n ======================================== */\n\n.Hero--variant-gridline-expressive {\n container-type: inline-size;\n width: 100%;\n}\n\n/* Grid container for expressive variant */\n.Hero-grid--expressive {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n gap: 0;\n --brand-Grid-spacing-row: 0;\n}\n\n@container (min-width: 1280px) {\n .Hero-grid--expressive {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n/* Header column (eyebrow, heading) */\n.Hero-expressive-header-column {\n padding: var(--base-size-32);\n padding-block-end: var(--base-size-24);\n border-block-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n display: flex;\n align-items: center;\n}\n\n/* Body column (description, actions, trailing) */\n.Hero-expressive-body-column {\n padding: var(--base-size-32);\n padding-block-start: var(--base-size-24);\n}\n\n.Hero--variant-gridline-expressive .Hero-description {\n margin-block-start: 0;\n}\n\n.Hero--variant-gridline-expressive .Hero-actions {\n margin-block-start: var(--base-size-24);\n}\n\n.Hero--variant-gridline-expressive .Hero-trailing {\n margin-block-start: var(--base-size-24);\n}\n\n/* Desktop: Side-by-side layout with vertical divider */\n@media screen and (min-width: 63.25rem) {\n .Hero-expressive-header-column {\n padding: var(--base-size-64);\n padding-inline-end: var(--base-size-64);\n border-block-end: none;\n border-inline-end: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n\n .Hero-expressive-body-column {\n padding: var(--base-size-64);\n padding-inline-start: var(--base-size-64);\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n }\n\n .Hero--variant-gridline-expressive .Hero-actions {\n margin-block-start: var(--base-size-32);\n }\n\n .Hero--variant-gridline-expressive .Hero-trailing {\n margin-block-start: var(--base-size-32);\n }\n}\n\n/* Media wrapper styles for gridline-expressive (same as gridline) */\n.Hero--variant-gridline-expressive .Hero-imageWrapper {\n border-block: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n background-color: var(--brand-color-canvas-subtle);\n width: 100%;\n}\n\n.Hero--variant-gridline-expressive .Hero-imageWrapper-inner {\n width: 100%;\n max-width: 1280px;\n margin-inline: auto;\n padding: var(--base-size-32) var(--base-size-32) 0;\n}\n\n@container (min-width: 1280px) {\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--with-gridline {\n border-inline: var(--brand-borderWidth-thin) solid var(--brand-color-border-muted);\n }\n}\n\n.Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-32);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner {\n padding: var(--base-size-64) var(--base-size-64) 0;\n }\n\n .Hero--variant-gridline-expressive .Hero-imageWrapper-inner--padded {\n padding: var(--base-size-64);\n }\n}\n\n/* Shared media styles for gridline-expressive */\n.Hero--variant-gridline-expressive .Hero-media {\n max-width: 1176px;\n margin-inline: auto;\n display: block;\n overflow: hidden;\n}\n\n.Hero--variant-gridline-expressive .Hero-media--pos-block-end,\n.Hero--variant-gridline-expressive .Hero-image:not(.Hero-media--pos-block-end-padded) {\n border-radius: var(--brand-borderRadius-medium) var(--brand-borderRadius-medium) 0 0;\n}\n"],"mappings":""}
@@ -15,7 +15,7 @@ var o = i(({ href: i, as: o = "a", children: s, ...c }, l) => {
15
15
  children: /* @__PURE__ */ a(n, {
16
16
  ref: l,
17
17
  as: o,
18
- variant: "accent",
18
+ variant: "primary",
19
19
  size: "medium",
20
20
  href: i,
21
21
  ...c,
@@ -1 +1 @@
1
- {"version":3,"file":"HeroPrimaryAction.js","names":[],"sources":["../../../src/Hero/sub-components/HeroPrimaryAction.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren} from 'react'\nimport {Button, ButtonBaseProps} from '../../Button'\nimport type {BaseProps} from '../../component-helpers'\nimport {useHeroContext} from '../HeroContext'\nimport {Box} from '../../Box'\n\ntype RestrictedPolymorphism =\n | (BaseProps<HTMLAnchorElement> & {as?: 'a'})\n | (BaseProps<HTMLButtonElement> & {as?: 'button'})\n\nexport type HeroPrimaryActionProps = {\n as?: 'a' | 'button'\n href: string\n} & ButtonBaseProps &\n RestrictedPolymorphism\n\nexport const HeroPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<HeroPrimaryActionProps>\n>(({href, as = 'a', children, ...rest}, ref) => {\n const {variant: heroVariant, enableAnimation} = useHeroContext()\n const isGridline = heroVariant === 'gridline' || heroVariant === 'gridline-expressive'\n const Tag = isGridline ? Box : React.Fragment\n const tagProps = isGridline\n ? {\n animate: enableAnimation\n ? {\n variant: 'slide-in-up' as const,\n delay: 750,\n duration: 1000,\n }\n : undefined,\n }\n : {}\n\n return (\n <Tag {...tagProps}>\n <Button ref={ref as React.Ref<HTMLButtonElement>} as={as} variant=\"accent\" size=\"medium\" href={href} {...rest}>\n {children}\n </Button>\n </Tag>\n )\n})\n"],"mappings":";;;;;;AAgBA,IAAa,IAAoB,GAG9B,EAAC,SAAM,QAAK,KAAK,aAAU,GAAG,KAAO,MAAQ;CAC9C,IAAM,EAAC,SAAS,GAAa,uBAAmB,GAAgB,EAC1D,IAAa,MAAgB,cAAc,MAAgB;AAcjE,QACE,kBAdU,IAAa,IAAM,EAAM,UAcnC;EAAK,GAbU,IACb,EACE,SAAS,IACL;GACE,SAAS;GACT,OAAO;GACP,UAAU;GACX,GACD,KAAA,GACL,GACD,EAAE;YAIF,kBAAC,GAAD;GAAa;GAAyC;GAAI,SAAQ;GAAS,MAAK;GAAe;GAAM,GAAI;GACtG;GACM,CAAA;EACL,CAAA;EAER"}
1
+ {"version":3,"file":"HeroPrimaryAction.js","names":[],"sources":["../../../src/Hero/sub-components/HeroPrimaryAction.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren} from 'react'\nimport {Button, ButtonBaseProps} from '../../Button'\nimport type {BaseProps} from '../../component-helpers'\nimport {useHeroContext} from '../HeroContext'\nimport {Box} from '../../Box'\n\ntype RestrictedPolymorphism =\n | (BaseProps<HTMLAnchorElement> & {as?: 'a'})\n | (BaseProps<HTMLButtonElement> & {as?: 'button'})\n\nexport type HeroPrimaryActionProps = {\n as?: 'a' | 'button'\n href: string\n} & ButtonBaseProps &\n RestrictedPolymorphism\n\nexport const HeroPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<HeroPrimaryActionProps>\n>(({href, as = 'a', children, ...rest}, ref) => {\n const {variant: heroVariant, enableAnimation} = useHeroContext()\n const isGridline = heroVariant === 'gridline' || heroVariant === 'gridline-expressive'\n const Tag = isGridline ? Box : React.Fragment\n const tagProps = isGridline\n ? {\n animate: enableAnimation\n ? {\n variant: 'slide-in-up' as const,\n delay: 750,\n duration: 1000,\n }\n : undefined,\n }\n : {}\n\n return (\n <Tag {...tagProps}>\n <Button ref={ref as React.Ref<HTMLButtonElement>} as={as} variant=\"primary\" size=\"medium\" href={href} {...rest}>\n {children}\n </Button>\n </Tag>\n )\n})\n"],"mappings":";;;;;;AAgBA,IAAa,IAAoB,GAG9B,EAAC,SAAM,QAAK,KAAK,aAAU,GAAG,KAAO,MAAQ;CAC9C,IAAM,EAAC,SAAS,GAAa,uBAAmB,GAAgB,EAC1D,IAAa,MAAgB,cAAc,MAAgB;AAcjE,QACE,kBAdU,IAAa,IAAM,EAAM,UAcnC;EAAK,GAbU,IACb,EACE,SAAS,IACL;GACE,SAAS;GACT,OAAO;GACP,UAAU;GACX,GACD,KAAA,GACL,GACD,EAAE;YAIF,kBAAC,GAAD;GAAa;GAAyC;GAAI,SAAQ;GAAU,MAAK;GAAe;GAAM,GAAI;GACvG;GACM,CAAA;EACL,CAAA;EAER"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__Icon-module__Icon___aJJhk{box-sizing:content-box;padding:0}.Primer_Brand__Icon-module__Icon___aJJhk>svg{display:block}.Primer_Brand__Icon-module__Icon--size-20___j3HnM{width:var(--base-size-20);height:var(--base-size-20)}.Primer_Brand__Icon-module__Icon--size-24___IMNie{width:var(--base-size-24);height:var(--base-size-24)}.Primer_Brand__Icon-module__Icon--size-28___a2UX9{width:var(--base-size-28);height:var(--base-size-28)}.Primer_Brand__Icon-module__Icon--size-32___Tgjny{width:var(--base-size-32);height:var(--base-size-32)}.Primer_Brand__Icon-module__Icon--size-36___BRbWP{width:var(--base-size-36);height:var(--base-size-36)}.Primer_Brand__Icon-module__Icon--size-40___5TwjU{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Icon-module__Icon--size-44___PjVGi{width:var(--base-size-44);height:var(--base-size-44)}.Primer_Brand__Icon-module__Icon--background___fgUOm{padding:var(--base-size-12);border-radius:var(--base-size-12)}.Primer_Brand__Icon-module__Icon--color-default___vt2u3{color:var(--brand-Icon-color-default)}.Primer_Brand__Icon-module__Icon--background-color-default___oiQxP{background-color:var(--brand-Icon-background-default)}.Primer_Brand__Icon-module__Icon--color-blue___vlDeB{color:var(--brand-Icon-color-blue)}.Primer_Brand__Icon-module__Icon--background-color-blue___kEC8S{background-color:var(--brand-Icon-background-blue)}.Primer_Brand__Icon-module__Icon--color-coral___Oo4Jn{color:var(--brand-Icon-color-coral)}.Primer_Brand__Icon-module__Icon--background-color-coral___tyhtJ{background-color:var(--brand-Icon-background-coral)}.Primer_Brand__Icon-module__Icon--color-green___ufOLM{color:var(--brand-Icon-color-green)}.Primer_Brand__Icon-module__Icon--background-color-green___A2kAi{background-color:var(--brand-Icon-background-green)}.Primer_Brand__Icon-module__Icon--color-gray___dgvUd{color:var(--brand-Icon-color-gray)}.Primer_Brand__Icon-module__Icon--background-color-gray___PqbZM{background-color:var(--brand-Icon-background-gray)}.Primer_Brand__Icon-module__Icon--color-indigo___JOc9i{color:var(--brand-Icon-color-indigo)}.Primer_Brand__Icon-module__Icon--background-color-indigo___JCAKp{background-color:var(--brand-Icon-background-indigo)}.Primer_Brand__Icon-module__Icon--color-lemon___6s8P_{color:var(--brand-Icon-color-lemon)}.Primer_Brand__Icon-module__Icon--background-color-lemon___LVQHh{background-color:var(--brand-Icon-background-lemon)}.Primer_Brand__Icon-module__Icon--color-lime___0sYqH{color:var(--brand-Icon-color-lime)}.Primer_Brand__Icon-module__Icon--background-color-lime___LAPrm{background-color:var(--brand-Icon-background-lime)}.Primer_Brand__Icon-module__Icon--color-orange___gMDpg{color:var(--brand-Icon-color-orange)}.Primer_Brand__Icon-module__Icon--background-color-orange___leM1v{background-color:var(--brand-Icon-background-orange)}.Primer_Brand__Icon-module__Icon--color-pink___ydryY{color:var(--brand-Icon-color-pink)}.Primer_Brand__Icon-module__Icon--background-color-pink___AZFEG{background-color:var(--brand-Icon-background-pink)}.Primer_Brand__Icon-module__Icon--color-purple___2UG4_{color:var(--brand-Icon-color-purple)}.Primer_Brand__Icon-module__Icon--background-color-purple___JrHKk{background-color:var(--brand-Icon-background-purple)}.Primer_Brand__Icon-module__Icon--color-red___lXx5z{color:var(--brand-Icon-color-red)}.Primer_Brand__Icon-module__Icon--background-color-red___qxCqZ{background-color:var(--brand-Icon-background-red)}.Primer_Brand__Icon-module__Icon--color-teal___wzkaS{color:var(--brand-Icon-color-teal)}.Primer_Brand__Icon-module__Icon--background-color-teal___iKPiz{background-color:var(--brand-Icon-background-teal)}.Primer_Brand__Icon-module__Icon--color-yellow___26Zwg{color:var(--brand-Icon-color-yellow)}.Primer_Brand__Icon-module__Icon--background-color-yellow___uFZoS{background-color:var(--brand-Icon-background-yellow)}
@@ -1,4 +1,4 @@
1
- import './Icon.module-C1_lP1JO.css';var e = {
1
+ import './Icon.module-UyYnXhrw.css';var e = {
2
2
  Icon: "Primer_Brand__Icon-module__Icon___aJJhk",
3
3
  "Icon--size-20": "Primer_Brand__Icon-module__Icon--size-20___j3HnM",
4
4
  "Icon--size-24": "Primer_Brand__Icon-module__Icon--size-24___IMNie",
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.module.js","names":[],"sources":["../../src/Icon/Icon.module.css"],"sourcesContent":[".Icon {\n box-sizing: content-box;\n padding: 0;\n}\n\n.Icon > svg {\n display: block; /* Ensure SVG are unaffected by text styles and font metrics, maintaining vertical alignment */\n}\n\n.Icon--size-20 {\n width: var(--base-size-20);\n height: var(--base-size-20);\n}\n\n.Icon--size-24 {\n width: var(--base-size-24);\n height: var(--base-size-24);\n}\n\n.Icon--size-28 {\n width: var(--base-size-28);\n height: var(--base-size-28);\n}\n\n.Icon--size-32 {\n width: var(--base-size-32);\n height: var(--base-size-32);\n}\n\n.Icon--size-36 {\n width: var(--base-size-36);\n height: var(--base-size-36);\n}\n\n.Icon--size-40 {\n width: var(--base-size-40);\n height: var(--base-size-40);\n}\n\n.Icon--size-44 {\n width: var(--base-size-44);\n height: var(--base-size-44);\n}\n\n.Icon--background {\n padding: var(--base-size-12);\n border-radius: var(--brand-borderRadius-medium);\n}\n\n.Icon--color-default {\n color: var(--brand-Icon-color-default);\n}\n\n.Icon--background-color-default {\n background-color: var(--brand-Icon-background-default);\n}\n\n.Icon--color-blue {\n color: var(--brand-Icon-color-blue);\n}\n\n.Icon--background-color-blue {\n background-color: var(--brand-Icon-background-blue);\n}\n\n.Icon--color-coral {\n color: var(--brand-Icon-color-coral);\n}\n\n.Icon--background-color-coral {\n background-color: var(--brand-Icon-background-coral);\n}\n\n.Icon--color-green {\n color: var(--brand-Icon-color-green);\n}\n\n.Icon--background-color-green {\n background-color: var(--brand-Icon-background-green);\n}\n\n.Icon--color-gray {\n color: var(--brand-Icon-color-gray);\n}\n\n.Icon--background-color-gray {\n background-color: var(--brand-Icon-background-gray);\n}\n\n.Icon--color-indigo {\n color: var(--brand-Icon-color-indigo);\n}\n\n.Icon--background-color-indigo {\n background-color: var(--brand-Icon-background-indigo);\n}\n\n.Icon--color-lemon {\n color: var(--brand-Icon-color-lemon);\n}\n\n.Icon--background-color-lemon {\n background-color: var(--brand-Icon-background-lemon);\n}\n\n.Icon--color-lime {\n color: var(--brand-Icon-color-lime);\n}\n\n.Icon--background-color-lime {\n background-color: var(--brand-Icon-background-lime);\n}\n\n.Icon--color-orange {\n color: var(--brand-Icon-color-orange);\n}\n\n.Icon--background-color-orange {\n background-color: var(--brand-Icon-background-orange);\n}\n\n.Icon--color-pink {\n color: var(--brand-Icon-color-pink);\n}\n\n.Icon--background-color-pink {\n background-color: var(--brand-Icon-background-pink);\n}\n\n.Icon--color-purple {\n color: var(--brand-Icon-color-purple);\n}\n\n.Icon--background-color-purple {\n background-color: var(--brand-Icon-background-purple);\n}\n\n.Icon--color-red {\n color: var(--brand-Icon-color-red);\n}\n\n.Icon--background-color-red {\n background-color: var(--brand-Icon-background-red);\n}\n\n.Icon--color-teal {\n color: var(--brand-Icon-color-teal);\n}\n\n.Icon--background-color-teal {\n background-color: var(--brand-Icon-background-teal);\n}\n\n.Icon--color-yellow {\n color: var(--brand-Icon-color-yellow);\n}\n\n.Icon--background-color-yellow {\n background-color: var(--brand-Icon-background-yellow);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Icon.module.js","names":[],"sources":["../../src/Icon/Icon.module.css"],"sourcesContent":[".Icon {\n box-sizing: content-box;\n padding: 0;\n}\n\n.Icon > svg {\n display: block; /* Ensure SVG are unaffected by text styles and font metrics, maintaining vertical alignment */\n}\n\n.Icon--size-20 {\n width: var(--base-size-20);\n height: var(--base-size-20);\n}\n\n.Icon--size-24 {\n width: var(--base-size-24);\n height: var(--base-size-24);\n}\n\n.Icon--size-28 {\n width: var(--base-size-28);\n height: var(--base-size-28);\n}\n\n.Icon--size-32 {\n width: var(--base-size-32);\n height: var(--base-size-32);\n}\n\n.Icon--size-36 {\n width: var(--base-size-36);\n height: var(--base-size-36);\n}\n\n.Icon--size-40 {\n width: var(--base-size-40);\n height: var(--base-size-40);\n}\n\n.Icon--size-44 {\n width: var(--base-size-44);\n height: var(--base-size-44);\n}\n\n.Icon--background {\n padding: var(--base-size-12);\n border-radius: var(--base-size-12);\n}\n\n.Icon--color-default {\n color: var(--brand-Icon-color-default);\n}\n\n.Icon--background-color-default {\n background-color: var(--brand-Icon-background-default);\n}\n\n.Icon--color-blue {\n color: var(--brand-Icon-color-blue);\n}\n\n.Icon--background-color-blue {\n background-color: var(--brand-Icon-background-blue);\n}\n\n.Icon--color-coral {\n color: var(--brand-Icon-color-coral);\n}\n\n.Icon--background-color-coral {\n background-color: var(--brand-Icon-background-coral);\n}\n\n.Icon--color-green {\n color: var(--brand-Icon-color-green);\n}\n\n.Icon--background-color-green {\n background-color: var(--brand-Icon-background-green);\n}\n\n.Icon--color-gray {\n color: var(--brand-Icon-color-gray);\n}\n\n.Icon--background-color-gray {\n background-color: var(--brand-Icon-background-gray);\n}\n\n.Icon--color-indigo {\n color: var(--brand-Icon-color-indigo);\n}\n\n.Icon--background-color-indigo {\n background-color: var(--brand-Icon-background-indigo);\n}\n\n.Icon--color-lemon {\n color: var(--brand-Icon-color-lemon);\n}\n\n.Icon--background-color-lemon {\n background-color: var(--brand-Icon-background-lemon);\n}\n\n.Icon--color-lime {\n color: var(--brand-Icon-color-lime);\n}\n\n.Icon--background-color-lime {\n background-color: var(--brand-Icon-background-lime);\n}\n\n.Icon--color-orange {\n color: var(--brand-Icon-color-orange);\n}\n\n.Icon--background-color-orange {\n background-color: var(--brand-Icon-background-orange);\n}\n\n.Icon--color-pink {\n color: var(--brand-Icon-color-pink);\n}\n\n.Icon--background-color-pink {\n background-color: var(--brand-Icon-background-pink);\n}\n\n.Icon--color-purple {\n color: var(--brand-Icon-color-purple);\n}\n\n.Icon--background-color-purple {\n background-color: var(--brand-Icon-background-purple);\n}\n\n.Icon--color-red {\n color: var(--brand-Icon-color-red);\n}\n\n.Icon--background-color-red {\n background-color: var(--brand-Icon-background-red);\n}\n\n.Icon--color-teal {\n color: var(--brand-Icon-color-teal);\n}\n\n.Icon--background-color-teal {\n background-color: var(--brand-Icon-background-teal);\n}\n\n.Icon--color-yellow {\n color: var(--brand-Icon-color-yellow);\n}\n\n.Icon--background-color-yellow {\n background-color: var(--brand-Icon-background-yellow);\n}\n"],"mappings":""}
@@ -90,7 +90,7 @@ var y = {
90
90
  className: l["LogoSuite__logobar-takeoverButtonContainer"],
91
91
  children: /* @__PURE__ */ _(c, {
92
92
  as: "a",
93
- variant: "accent",
93
+ variant: "primary",
94
94
  className: e(l["LogoSuite__logobar-takeoverButton"], t),
95
95
  ...i,
96
96
  children: n
@@ -1 +1 @@
1
- {"version":3,"file":"LogoSuite.js","names":[],"sources":["../../src/LogoSuite/LogoSuite.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {type PropsWithChildren, type Ref, forwardRef, useCallback, useEffect, useMemo, useState} from 'react'\nimport {useReducedMotion} from '../hooks/useReducedMotion'\nimport {PauseIcon, PlayIcon} from '@primer/octicons-react'\nimport type {BaseProps} from '../component-helpers'\nimport {Heading, HeadingProps, defaultHeadingTag, Text, TextProps, Grid, Button} from '../'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/base.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './LogoSuite.module.css'\n\nconst testIds = {\n root: 'LogoSuite',\n get marqueeGroup() {\n return `${this.root}-marqueeGroup`\n },\n}\n\nexport type LogoSuiteProps = {\n /**\n * The horizontal alignment of the LogoSuite.\n */\n align?: 'start' | 'center' | 'justify'\n /**\n * Whether to render a divider immediately after the LogoSuite.\n */\n hasDivider?: boolean\n /**\n * Test id for the root LogoSuite element.\n */\n 'data-testid'?: string\n /**\n * Alternative presentation\n */\n variant?: 'default' | 'gridline-expressive'\n} & BaseProps<HTMLDivElement> &\n React.HTMLAttributes<HTMLDivElement>\n\nconst LogoSuiteBase = ({\n align = 'center',\n children,\n className,\n hasDivider = true,\n variant = 'default',\n 'data-testid': testId,\n}: PropsWithChildren<LogoSuiteProps>) => {\n const childrenArray = useMemo(() => React.Children.toArray(children), [children])\n\n const HeadingChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _Heading\n })\n\n const DescriptionChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _Description\n })\n\n const LogobarChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _LogoBar\n })\n\n if (!HeadingChild) {\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n // eslint-disable-next-line no-console\n console.warn('LogoSuite: Heading child is required. You may use `visuallyHidden` to hide it from view.')\n }\n }\n\n const isHeadingVisuallyHidden =\n React.isValidElement<LogoSuiteHeadingProps>(HeadingChild) && HeadingChild.props.visuallyHidden\n const isGridlineExpressive = variant === 'gridline-expressive'\n const hasVisibleTextContent = isGridlineExpressive && ((HeadingChild && !isHeadingVisuallyHidden) || DescriptionChild)\n\n return (\n <div\n className={clsx(\n styles.LogoSuite,\n styles[`LogoSuite--${align}`],\n hasDivider && styles['LogoSuite--hasDivider'],\n styles[`LogoSuite--${variant}`],\n className,\n )}\n data-testid={testId}\n >\n {isGridlineExpressive ? (\n <Grid className={styles['LogoSuite__content']}>\n {hasVisibleTextContent && (\n <Grid.Column span={{large: 3}} className={styles['LogoSuite__textContainer']}>\n {HeadingChild}\n {DescriptionChild}\n </Grid.Column>\n )}\n <Grid.Column span={{large: hasVisibleTextContent ? 9 : 12}} className={styles['LogoSuite__logobarContainer']}>\n {!hasVisibleTextContent && isHeadingVisuallyHidden && HeadingChild}\n {LogobarChild}\n </Grid.Column>\n </Grid>\n ) : (\n <>\n {HeadingChild}\n {DescriptionChild}\n {LogobarChild}\n </>\n )}\n </div>\n )\n}\n\nexport type LogoSuiteHeadingProps = BaseProps<HTMLHeadingElement> &\n HeadingProps & {\n /**\n * Whether to visually hide the heading.\n */\n visuallyHidden?: boolean\n }\n\nconst _Heading = forwardRef(\n (\n {\n as = defaultHeadingTag,\n size = 'subhead-large',\n className,\n children,\n visuallyHidden,\n ...props\n }: PropsWithChildren<LogoSuiteHeadingProps>,\n ref: Ref<HTMLHeadingElement>,\n ) => {\n return (\n <Heading\n ref={ref}\n className={clsx(\n styles['LogoSuite__heading'],\n visuallyHidden && styles['LogoSuite__heading--visually-hidden'],\n visuallyHidden && 'visually-hidden',\n className,\n )}\n size={size}\n as={as}\n {...props}\n >\n {children}\n </Heading>\n )\n },\n)\n\nexport type LogoSuiteDescriptionProps = BaseProps<HTMLParagraphElement> &\n TextProps & {\n children: React.ReactNode | React.ReactNode[]\n }\n\nconst _Description = forwardRef(\n (\n {className, children, size = '200', variant = 'muted', ...props}: LogoSuiteDescriptionProps,\n ref: Ref<HTMLParagraphElement>,\n ) => {\n return (\n <Text\n as=\"p\"\n ref={ref}\n size={size}\n variant={variant}\n className={clsx(styles['LogoSuite__description'], className)}\n {...props}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PlayPauseButtonProps = {\n isPlaying?: boolean\n onPlayPause?: (isPlaying: boolean) => void\n}\n\nconst PlayPauseButton = ({isPlaying = true, onPlayPause}: PlayPauseButtonProps) => {\n const onClick = useCallback(() => {\n onPlayPause?.(!isPlaying)\n }, [onPlayPause, isPlaying])\n\n /**\n * aria-pressed is intentionally not used here to prevent potentially confusing screen reader announcements\n * eg \"Play animation on\" or \"Pause animation off\"\n */\n return (\n <button\n className={styles['LogoSuite__logobar-playPauseButton']}\n type=\"button\"\n onClick={onClick}\n aria-label={isPlaying ? 'Pause animation' : 'Play animation'}\n >\n {isPlaying ? <PauseIcon /> : <PlayIcon />}\n </button>\n )\n}\n\nexport type LogoSuiteLogoBarProps = BaseProps<HTMLDivElement> & {\n children: React.ReactNode | React.ReactNode[]\n /**\n * The gap between logos\n */\n gap?: 'default' | 'condensed'\n /**\n * Enables an optional marquee effect\n */\n marquee?: boolean\n /**\n * The speed of the marquee effect\n */\n marqueeSpeed?: 'slow' | 'normal' | 'idle'\n /**\n * The stylistic variant of the LogoBar.\n */\n variant?: 'muted' | 'emphasis'\n /**\n * Displays an optional takeover button (as an anchor) on hover/focus.\n */\n takeoverButton?: {\n label: string\n } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> &\n BaseProps<HTMLAnchorElement>\n}\n\nconst _LogoBar = forwardRef(\n (\n {\n className,\n children,\n gap = 'default',\n marquee = false,\n marqueeSpeed = 'normal',\n variant = 'muted',\n takeoverButton,\n ...props\n }: LogoSuiteLogoBarProps,\n ref: Ref<HTMLDivElement>,\n ) => {\n const prefersReducedMotion = useReducedMotion()\n const [isPlaying, setIsPlaying] = useState(() => marquee && !prefersReducedMotion && marqueeSpeed !== 'idle')\n\n useEffect(() => {\n setIsPlaying(marquee && !prefersReducedMotion && marqueeSpeed !== 'idle')\n }, [marquee, prefersReducedMotion, marqueeSpeed])\n\n if (marquee && takeoverButton) {\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n // eslint-disable-next-line no-console\n console.warn(\n 'LogoSuite.Logobar: `takeoverButton` cant be used with `marquee` prop due to accessibility risks. Set `marquee={false}` to use the takeover feature.',\n )\n }\n }\n\n const defaultProps = {\n ref,\n className: clsx(\n styles['LogoSuite__logobar'],\n styles[`LogoSuite__logobar--variant-${variant}`],\n styles[`LogoSuite__logobar--gap-${gap}`],\n className,\n ),\n ...props,\n }\n\n const [isFocusWithin, setIsFocusWithin] = useState(false)\n\n const handleFocus = useCallback(() => {\n setIsFocusWithin(true)\n }, [])\n\n const handleBlur = useCallback((event: React.FocusEvent) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node)) {\n setIsFocusWithin(false)\n }\n }, [])\n\n const renderTakeoverButton = () => {\n if (!takeoverButton) return null\n const {className: takeoverButtonClassName, label, ref: _ref, ...takeoverButtonProps} = takeoverButton\n return (\n <div className={styles['LogoSuite__logobar-takeoverButtonContainer']}>\n <Button\n as=\"a\"\n variant=\"accent\"\n className={clsx(styles['LogoSuite__logobar-takeoverButton'], takeoverButtonClassName)}\n {...takeoverButtonProps}\n >\n {label}\n </Button>\n </div>\n )\n }\n\n if (marquee) {\n const {className: marqueeDefaultClassName, ...restProps} = defaultProps\n const shouldPause = !isPlaying || prefersReducedMotion\n return (\n <div\n {...restProps}\n className={clsx(\n styles['LogoSuite__logobar--has-marquee'],\n marqueeDefaultClassName,\n shouldPause && styles['LogoSuite__logobar--paused'],\n )}\n >\n <div\n className={clsx(\n styles['LogoSuite__logobar-marquee'],\n isFocusWithin && styles['LogoSuite__logobar-marquee--focused'],\n )}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n <div\n className={clsx(\n styles['LogoSuite__logobar-marqueeGroup'],\n styles[`LogoSuite__logobar-marqueeGroup--speed-${marqueeSpeed}`],\n )}\n data-testid={testIds.marqueeGroup}\n >\n {children}\n </div>\n <div\n inert\n aria-hidden=\"true\"\n className={clsx(\n styles['LogoSuite__logobar-marqueeGroup'],\n styles[`LogoSuite__logobar-marqueeGroup--speed-${marqueeSpeed}`],\n )}\n >\n {children}\n </div>\n </div>\n <PlayPauseButton onPlayPause={setIsPlaying} isPlaying={isPlaying} />\n </div>\n )\n }\n\n if (takeoverButton) {\n const {className: defaultClassName, ...restProps} = defaultProps\n return (\n <div {...restProps} className={clsx(defaultClassName, styles['LogoSuite__logobar--has-takeover'])}>\n {children}\n {renderTakeoverButton()}\n </div>\n )\n }\n\n return <div {...defaultProps}>{children}</div>\n },\n)\n\n/**\n * Use LogoSuite to present a list of logos, such as sponsors or vendors.\n * @see https://primer.style/brand/components/LogoSuite\n */\nexport const LogoSuite = Object.assign(LogoSuiteBase, {\n Heading: _Heading,\n Description: _Description,\n Logobar: _LogoBar,\n testIds,\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"LogoSuite.js","names":[],"sources":["../../src/LogoSuite/LogoSuite.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {type PropsWithChildren, type Ref, forwardRef, useCallback, useEffect, useMemo, useState} from 'react'\nimport {useReducedMotion} from '../hooks/useReducedMotion'\nimport {PauseIcon, PlayIcon} from '@primer/octicons-react'\nimport type {BaseProps} from '../component-helpers'\nimport {Heading, HeadingProps, defaultHeadingTag, Text, TextProps, Grid, Button} from '../'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/base.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './LogoSuite.module.css'\n\nconst testIds = {\n root: 'LogoSuite',\n get marqueeGroup() {\n return `${this.root}-marqueeGroup`\n },\n}\n\nexport type LogoSuiteProps = {\n /**\n * The horizontal alignment of the LogoSuite.\n */\n align?: 'start' | 'center' | 'justify'\n /**\n * Whether to render a divider immediately after the LogoSuite.\n */\n hasDivider?: boolean\n /**\n * Test id for the root LogoSuite element.\n */\n 'data-testid'?: string\n /**\n * Alternative presentation\n */\n variant?: 'default' | 'gridline-expressive'\n} & BaseProps<HTMLDivElement> &\n React.HTMLAttributes<HTMLDivElement>\n\nconst LogoSuiteBase = ({\n align = 'center',\n children,\n className,\n hasDivider = true,\n variant = 'default',\n 'data-testid': testId,\n}: PropsWithChildren<LogoSuiteProps>) => {\n const childrenArray = useMemo(() => React.Children.toArray(children), [children])\n\n const HeadingChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _Heading\n })\n\n const DescriptionChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _Description\n })\n\n const LogobarChild = childrenArray.find(child => {\n return React.isValidElement(child) && child.type === _LogoBar\n })\n\n if (!HeadingChild) {\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n // eslint-disable-next-line no-console\n console.warn('LogoSuite: Heading child is required. You may use `visuallyHidden` to hide it from view.')\n }\n }\n\n const isHeadingVisuallyHidden =\n React.isValidElement<LogoSuiteHeadingProps>(HeadingChild) && HeadingChild.props.visuallyHidden\n const isGridlineExpressive = variant === 'gridline-expressive'\n const hasVisibleTextContent = isGridlineExpressive && ((HeadingChild && !isHeadingVisuallyHidden) || DescriptionChild)\n\n return (\n <div\n className={clsx(\n styles.LogoSuite,\n styles[`LogoSuite--${align}`],\n hasDivider && styles['LogoSuite--hasDivider'],\n styles[`LogoSuite--${variant}`],\n className,\n )}\n data-testid={testId}\n >\n {isGridlineExpressive ? (\n <Grid className={styles['LogoSuite__content']}>\n {hasVisibleTextContent && (\n <Grid.Column span={{large: 3}} className={styles['LogoSuite__textContainer']}>\n {HeadingChild}\n {DescriptionChild}\n </Grid.Column>\n )}\n <Grid.Column span={{large: hasVisibleTextContent ? 9 : 12}} className={styles['LogoSuite__logobarContainer']}>\n {!hasVisibleTextContent && isHeadingVisuallyHidden && HeadingChild}\n {LogobarChild}\n </Grid.Column>\n </Grid>\n ) : (\n <>\n {HeadingChild}\n {DescriptionChild}\n {LogobarChild}\n </>\n )}\n </div>\n )\n}\n\nexport type LogoSuiteHeadingProps = BaseProps<HTMLHeadingElement> &\n HeadingProps & {\n /**\n * Whether to visually hide the heading.\n */\n visuallyHidden?: boolean\n }\n\nconst _Heading = forwardRef(\n (\n {\n as = defaultHeadingTag,\n size = 'subhead-large',\n className,\n children,\n visuallyHidden,\n ...props\n }: PropsWithChildren<LogoSuiteHeadingProps>,\n ref: Ref<HTMLHeadingElement>,\n ) => {\n return (\n <Heading\n ref={ref}\n className={clsx(\n styles['LogoSuite__heading'],\n visuallyHidden && styles['LogoSuite__heading--visually-hidden'],\n visuallyHidden && 'visually-hidden',\n className,\n )}\n size={size}\n as={as}\n {...props}\n >\n {children}\n </Heading>\n )\n },\n)\n\nexport type LogoSuiteDescriptionProps = BaseProps<HTMLParagraphElement> &\n TextProps & {\n children: React.ReactNode | React.ReactNode[]\n }\n\nconst _Description = forwardRef(\n (\n {className, children, size = '200', variant = 'muted', ...props}: LogoSuiteDescriptionProps,\n ref: Ref<HTMLParagraphElement>,\n ) => {\n return (\n <Text\n as=\"p\"\n ref={ref}\n size={size}\n variant={variant}\n className={clsx(styles['LogoSuite__description'], className)}\n {...props}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PlayPauseButtonProps = {\n isPlaying?: boolean\n onPlayPause?: (isPlaying: boolean) => void\n}\n\nconst PlayPauseButton = ({isPlaying = true, onPlayPause}: PlayPauseButtonProps) => {\n const onClick = useCallback(() => {\n onPlayPause?.(!isPlaying)\n }, [onPlayPause, isPlaying])\n\n /**\n * aria-pressed is intentionally not used here to prevent potentially confusing screen reader announcements\n * eg \"Play animation on\" or \"Pause animation off\"\n */\n return (\n <button\n className={styles['LogoSuite__logobar-playPauseButton']}\n type=\"button\"\n onClick={onClick}\n aria-label={isPlaying ? 'Pause animation' : 'Play animation'}\n >\n {isPlaying ? <PauseIcon /> : <PlayIcon />}\n </button>\n )\n}\n\nexport type LogoSuiteLogoBarProps = BaseProps<HTMLDivElement> & {\n children: React.ReactNode | React.ReactNode[]\n /**\n * The gap between logos\n */\n gap?: 'default' | 'condensed'\n /**\n * Enables an optional marquee effect\n */\n marquee?: boolean\n /**\n * The speed of the marquee effect\n */\n marqueeSpeed?: 'slow' | 'normal' | 'idle'\n /**\n * The stylistic variant of the LogoBar.\n */\n variant?: 'muted' | 'emphasis'\n /**\n * Displays an optional takeover button (as an anchor) on hover/focus.\n */\n takeoverButton?: {\n label: string\n } & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> &\n BaseProps<HTMLAnchorElement>\n}\n\nconst _LogoBar = forwardRef(\n (\n {\n className,\n children,\n gap = 'default',\n marquee = false,\n marqueeSpeed = 'normal',\n variant = 'muted',\n takeoverButton,\n ...props\n }: LogoSuiteLogoBarProps,\n ref: Ref<HTMLDivElement>,\n ) => {\n const prefersReducedMotion = useReducedMotion()\n const [isPlaying, setIsPlaying] = useState(() => marquee && !prefersReducedMotion && marqueeSpeed !== 'idle')\n\n useEffect(() => {\n setIsPlaying(marquee && !prefersReducedMotion && marqueeSpeed !== 'idle')\n }, [marquee, prefersReducedMotion, marqueeSpeed])\n\n if (marquee && takeoverButton) {\n if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {\n // eslint-disable-next-line no-console\n console.warn(\n 'LogoSuite.Logobar: `takeoverButton` cant be used with `marquee` prop due to accessibility risks. Set `marquee={false}` to use the takeover feature.',\n )\n }\n }\n\n const defaultProps = {\n ref,\n className: clsx(\n styles['LogoSuite__logobar'],\n styles[`LogoSuite__logobar--variant-${variant}`],\n styles[`LogoSuite__logobar--gap-${gap}`],\n className,\n ),\n ...props,\n }\n\n const [isFocusWithin, setIsFocusWithin] = useState(false)\n\n const handleFocus = useCallback(() => {\n setIsFocusWithin(true)\n }, [])\n\n const handleBlur = useCallback((event: React.FocusEvent) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node)) {\n setIsFocusWithin(false)\n }\n }, [])\n\n const renderTakeoverButton = () => {\n if (!takeoverButton) return null\n const {className: takeoverButtonClassName, label, ref: _ref, ...takeoverButtonProps} = takeoverButton\n return (\n <div className={styles['LogoSuite__logobar-takeoverButtonContainer']}>\n <Button\n as=\"a\"\n variant=\"primary\"\n className={clsx(styles['LogoSuite__logobar-takeoverButton'], takeoverButtonClassName)}\n {...takeoverButtonProps}\n >\n {label}\n </Button>\n </div>\n )\n }\n\n if (marquee) {\n const {className: marqueeDefaultClassName, ...restProps} = defaultProps\n const shouldPause = !isPlaying || prefersReducedMotion\n return (\n <div\n {...restProps}\n className={clsx(\n styles['LogoSuite__logobar--has-marquee'],\n marqueeDefaultClassName,\n shouldPause && styles['LogoSuite__logobar--paused'],\n )}\n >\n <div\n className={clsx(\n styles['LogoSuite__logobar-marquee'],\n isFocusWithin && styles['LogoSuite__logobar-marquee--focused'],\n )}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n <div\n className={clsx(\n styles['LogoSuite__logobar-marqueeGroup'],\n styles[`LogoSuite__logobar-marqueeGroup--speed-${marqueeSpeed}`],\n )}\n data-testid={testIds.marqueeGroup}\n >\n {children}\n </div>\n <div\n inert\n aria-hidden=\"true\"\n className={clsx(\n styles['LogoSuite__logobar-marqueeGroup'],\n styles[`LogoSuite__logobar-marqueeGroup--speed-${marqueeSpeed}`],\n )}\n >\n {children}\n </div>\n </div>\n <PlayPauseButton onPlayPause={setIsPlaying} isPlaying={isPlaying} />\n </div>\n )\n }\n\n if (takeoverButton) {\n const {className: defaultClassName, ...restProps} = defaultProps\n return (\n <div {...restProps} className={clsx(defaultClassName, styles['LogoSuite__logobar--has-takeover'])}>\n {children}\n {renderTakeoverButton()}\n </div>\n )\n }\n\n return <div {...defaultProps}>{children}</div>\n },\n)\n\n/**\n * Use LogoSuite to present a list of logos, such as sponsors or vendors.\n * @see https://primer.style/brand/components/LogoSuite\n */\nexport const LogoSuite = Object.assign(LogoSuiteBase, {\n Heading: _Heading,\n Description: _Description,\n Logobar: _LogoBar,\n testIds,\n})\n"],"mappings":"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"}
@@ -17,6 +17,10 @@ export type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.H
17
17
  * Enables optional border around the pillar content
18
18
  */
19
19
  hasBorder?: boolean;
20
+ /**
21
+ * Allows the pillar to fill the width of its parent container.
22
+ */
23
+ fullWidth?: boolean;
20
24
  } & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>);
21
25
  type PillarImageProps = ImageProps;
22
26
  declare function PillarImage({ className, ...rest }: PillarImageProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Pillar.d.ts","sourceRoot":"","sources":["../../src/Pillar/Pillar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,iBAAiB,EAA4B,KAAK,GAAG,EAAC,MAAM,OAAO,CAAA;AAE9F,OAAO,EAAU,YAAY,EAAe,KAAK,UAAU,EAAQ,SAAS,EAAC,MAAM,IAAI,CAAA;AACvF,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAQnD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;IACjG;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAuDpH,KAAK,gBAAgB,GAAG,UAAU,CAAA;AAElC,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,gBAAgB,2CAM1D;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAC3E,KAAK,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;AACxG,KAAK,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAChE,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAClC,CAAA;AAED,iBAAS,UAAU,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,aAAoB,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,eAAe,2CA6B3F;AAED,KAAK,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;CACvC,GAAG,YAAY,CAAA;AAkBhB,KAAK,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAmBhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,GACvC,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAU9B;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;CAMjB,CAAA"}
1
+ {"version":3,"file":"Pillar.d.ts","sourceRoot":"","sources":["../../src/Pillar/Pillar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,iBAAiB,EAA4B,KAAK,GAAG,EAAC,MAAM,OAAO,CAAA;AAE9F,OAAO,EAAU,YAAY,EAAe,KAAK,UAAU,EAAQ,SAAS,EAAC,MAAM,IAAI,CAAA;AACvF,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAQnD,eAAO,MAAM,sBAAsB,UAAU,CAAA;AAC7C,eAAO,MAAM,qBAAqB,KAAK,CAAA;AACvC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG;IACjG;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAyDpH,KAAK,gBAAgB,GAAG,UAAU,CAAA;AAElC,iBAAS,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,IAAI,EAAC,EAAE,gBAAgB,2CAM1D;AAED,KAAK,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAC3E,KAAK,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAA;AACxG,KAAK,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAChE,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAClC,CAAA;AAED,iBAAS,UAAU,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,aAAoB,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,eAAe,2CA6B3F;AAED,KAAK,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;CACvC,GAAG,YAAY,CAAA;AAkBhB,KAAK,sBAAsB,GAAG,iBAAiB,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAmBhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,GACvC,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAU9B;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;CAMjB,CAAA"}
@@ -9,17 +9,17 @@ import s from "./Pillar.module.js";
9
9
  import c, { forwardRef as l } from "react";
10
10
  import { jsx as u } from "react/jsx-runtime";
11
11
  //#region src/Pillar/Pillar.tsx
12
- var d = "green", f = 32, p = l(({ children: n, className: r, animate: i, as: a = "div", align: o = "start", style: l, hasBorder: d = !1, ...f }, p) => {
13
- let { classes: y, styles: b } = t(i), x = c.Children.toArray(n).filter((e) => !!(c.isValidElement(e) && typeof e.type != "string" && (e.type === m || e.type === h || e.type === g || e.type === _ || e.type === v)));
12
+ var d = "green", f = 32, p = l(({ children: n, className: r, animate: i, as: a = "div", align: o = "start", style: l, hasBorder: d = !1, fullWidth: f = !1, ...p }, y) => {
13
+ let { classes: b, styles: x } = t(i), S = c.Children.toArray(n).filter((e) => !!(c.isValidElement(e) && typeof e.type != "string" && (e.type === m || e.type === h || e.type === g || e.type === _ || e.type === v)));
14
14
  return /* @__PURE__ */ u(["div", "article"].includes(a) ? a : "div", {
15
- className: e(s.Pillar, s[`Pillar--align-${o}`], d && s["Pillar--has-border"], y, r),
16
- ref: p,
17
- ...f,
15
+ className: e(s.Pillar, s[`Pillar--align-${o}`], d && s["Pillar--has-border"], !f && s["Pillar--has-max-width"], b, r),
16
+ ref: y,
17
+ ...p,
18
18
  style: {
19
- ...b,
19
+ ...x,
20
20
  ...l
21
21
  },
22
- children: x
22
+ children: S
23
23
  });
24
24
  });
25
25
  function m({ className: e, ...t }) {
@@ -1 +1 @@
1
- {"version":3,"file":"Pillar.js","names":[],"sources":["../../src/Pillar/Pillar.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren, HTMLAttributes, type Ref, type JSX} from 'react'\nimport {clsx} from 'clsx'\nimport {Heading, HeadingProps, Text, Image, type ImageProps, Link, LinkProps} from '..'\nimport {Icon, type IconProps} from '../Icon'\nimport type {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './Pillar.module.css'\n\nexport const defaultPillarIconColor = 'green'\nexport const defaultPillarIconSize = 32\nexport type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.HTMLAttributes<C> & {\n /**\n * The HTML element used to render the Pillar.\n */\n as?: C | 'div' | 'article'\n /**\n * Aligns the pillar content\n */\n align?: 'start' | 'center'\n /**\n * Enables optional border around the pillar content\n */\n hasBorder?: boolean\n} & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>)\n\nconst PillarRoot = forwardRef(\n (\n {\n children,\n className,\n animate,\n as = 'div',\n align = 'start',\n style,\n hasBorder = false,\n ...rest\n }: PropsWithChildren<PillarProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const filteredChildren = React.Children.toArray(children).filter(child => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (\n child.type === PillarImage ||\n child.type === PillarIcon ||\n child.type === PillarHeading ||\n child.type === PillarDescription ||\n child.type === PillarLink\n ) {\n return true\n }\n }\n return false\n })\n\n const validElements = ['div', 'article']\n const Component = validElements.includes(as) ? as : 'div'\n\n return (\n <Component\n className={clsx(\n styles.Pillar,\n styles[`Pillar--align-${align}`],\n hasBorder && styles['Pillar--has-border'],\n animationClasses,\n className,\n )}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n style={{...animationInlineStyles, ...style}}\n >\n {filteredChildren}\n </Component>\n )\n },\n)\n\ntype PillarImageProps = ImageProps\n\nfunction PillarImage({className, ...rest}: PillarImageProps) {\n return (\n <div className={styles.Pillar__image}>\n <Image className={className} {...rest} />\n </div>\n )\n}\n\ntype IconComponentProps = React.SVGAttributes<SVGElement> & {size?: number}\ntype IconComponent = React.ComponentType<IconComponentProps> | React.ExoticComponent<IconComponentProps>\ntype IconElement = React.ReactElement<IconComponentProps>\n\nexport type PillarIconProps = Omit<IconProps, 'icon' | 'color'> & {\n icon: IconElement | IconComponent\n}\n\nfunction PillarIcon({icon, className, hasBackground = true, size, ...props}: PillarIconProps) {\n if (!hasBackground) {\n const iconWrapperProps = {\n ...(props as React.HTMLAttributes<HTMLSpanElement>),\n className: clsx(styles.Pillar__icon, className),\n }\n\n let iconWithoutBackground: React.ReactNode\n\n if (React.isValidElement<IconComponentProps>(icon)) {\n iconWithoutBackground = icon\n } else {\n const IconWithoutBackground = icon\n iconWithoutBackground = <IconWithoutBackground />\n }\n\n return <span {...iconWrapperProps}>{iconWithoutBackground}</span>\n }\n\n return (\n <Icon\n className={clsx(styles.Pillar__icon, styles['Pillar__icon--with-background'], className)}\n color={defaultPillarIconColor}\n hasBackground\n icon={icon as IconProps['icon']}\n size={size ?? defaultPillarIconSize}\n {...props}\n />\n )\n}\n\ntype PillarHeadingProps = BaseProps<HTMLHeadingElement> & {\n children: React.ReactNode | React.ReactNode[]\n as?: Exclude<HeadingProps['as'], 'h1'>\n} & HeadingProps\n\nconst PillarHeading = forwardRef<HTMLHeadingElement, PillarHeadingProps>(\n ({children, as = 'h3', size = '6', className, ...rest}, ref) => {\n return (\n <Heading\n size={size}\n className={clsx(styles.Pillar__heading, styles[`Pillar__heading--size-${size}`], className)}\n ref={ref}\n as={as}\n {...rest}\n >\n {children}\n </Heading>\n )\n },\n)\n\ntype PillarDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>>\n\nconst PillarDescription = forwardRef<HTMLParagraphElement, PillarDescriptionProps>(\n ({children, className, ...rest}, ref) => {\n return (\n <Text\n variant=\"muted\"\n ref={ref}\n size=\"200\"\n as=\"p\"\n className={clsx(styles.Pillar__description, className)}\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PillarLinkProps = {\n href: string\n} & Omit<LinkProps, 'size' | 'direction'> &\n BaseProps<HTMLAnchorElement>\n\nconst PillarLink = forwardRef(({className, children, href, ...props}: PillarLinkProps, ref: Ref<HTMLAnchorElement>) => {\n return (\n <Link variant=\"accent\" href={href} ref={ref} className={clsx(styles.Pillar__link, className)} {...props}>\n {children}\n </Link>\n )\n})\n\n/**\n * Pillar component:\n * {@link https://primer.style/brand/components/Pillar/ See usage examples}.\n */\nexport const Pillar = Object.assign(PillarRoot, {\n Icon: PillarIcon,\n Image: PillarImage,\n Heading: PillarHeading,\n Description: PillarDescription,\n Link: PillarLink,\n})\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,IAAyB,SACzB,IAAwB,IAgB/B,IAAa,GAEf,EACE,aACA,cACA,YACA,QAAK,OACL,WAAQ,SACR,UACA,eAAY,IACZ,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ,EAElF,IAAmB,EAAM,SAAS,QAAQ,EAAS,CAAC,QAAO,MAC/D,GAAI,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,aAErD,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,IAMnB;AAKF,QACE,kBAHgB,CADK,OAAO,UACZ,CAAc,SAAS,EAAG,GAAG,IAAK,OAGlD;EACE,WAAW,EACT,EAAO,QACP,EAAO,iBAAiB,MACxB,KAAa,EAAO,uBACpB,GACA,EACD;EACI;EACL,GAAK;EACL,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;YAE1C;EACS,CAAA;EAGjB;AAID,SAAS,EAAY,EAAC,cAAW,GAAG,KAAyB;AAC3D,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,GAAD;GAAkB;GAAW,GAAI;GAAQ,CAAA;EACrC,CAAA;;AAYV,SAAS,EAAW,EAAC,SAAM,cAAW,mBAAgB,IAAM,SAAM,GAAG,KAAyB;AAC5F,KAAI,CAAC,GAAe;EAClB,IAAM,IAAmB;GACvB,GAAI;GACJ,WAAW,EAAK,EAAO,cAAc,EAAU;GAChD,EAEG;AASJ,SAPA,AAIE,IAJE,EAAM,eAAmC,EAAK,GACxB,IAGA,kBAAC,GAAD,EAAyB,CAAA,EAG5C,kBAAC,QAAD;GAAM,GAAI;aAAmB;GAA6B,CAAA;;AAGnE,QACE,kBAAC,GAAD;EACE,WAAW,EAAK,EAAO,cAAc,EAAO,kCAAkC,EAAU;EACxF,OAAO;EACP,eAAA;EACM;EACN,MAAM,KAAA;EACN,GAAI;EACJ,CAAA;;AASN,IAAM,IAAgB,GACnB,EAAC,aAAU,QAAK,MAAM,UAAO,KAAK,cAAW,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACQ;CACN,WAAW,EAAK,EAAO,iBAAiB,EAAO,yBAAyB,MAAS,EAAU;CACtF;CACD;CACJ,GAAI;CAEH;CACO,CAAA,CAGf,EAIK,IAAoB,GACvB,EAAC,aAAU,cAAW,GAAG,KAAO,MAE7B,kBAAC,GAAD;CACE,SAAQ;CACH;CACL,MAAK;CACL,IAAG;CACH,WAAW,EAAK,EAAO,qBAAqB,EAAU;CACtD,GAAI;CAEH;CACI,CAAA,CAGZ,EAOK,IAAa,GAAY,EAAC,cAAW,aAAU,SAAM,GAAG,KAAyB,MAEnF,kBAAC,GAAD;CAAM,SAAQ;CAAe;CAAW;CAAK,WAAW,EAAK,EAAO,cAAc,EAAU;CAAE,GAAI;CAC/F;CACI,CAAA,CAET,EAMW,IAAS,OAAO,OAAO,GAAY;CAC9C,MAAM;CACN,OAAO;CACP,SAAS;CACT,aAAa;CACb,MAAM;CACP,CAAC"}
1
+ {"version":3,"file":"Pillar.js","names":[],"sources":["../../src/Pillar/Pillar.tsx"],"sourcesContent":["import React, {forwardRef, PropsWithChildren, HTMLAttributes, type Ref, type JSX} from 'react'\nimport {clsx} from 'clsx'\nimport {Heading, HeadingProps, Text, Image, type ImageProps, Link, LinkProps} from '..'\nimport {Icon, type IconProps} from '../Icon'\nimport type {BaseProps} from '../component-helpers'\nimport {useAnimation} from '../animation'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './Pillar.module.css'\n\nexport const defaultPillarIconColor = 'green'\nexport const defaultPillarIconSize = 32\nexport type PillarProps<C extends keyof JSX.IntrinsicElements = 'div'> = React.HTMLAttributes<C> & {\n /**\n * The HTML element used to render the Pillar.\n */\n as?: C | 'div' | 'article'\n /**\n * Aligns the pillar content\n */\n align?: 'start' | 'center'\n /**\n * Enables optional border around the pillar content\n */\n hasBorder?: boolean\n /**\n * Allows the pillar to fill the width of its parent container.\n */\n fullWidth?: boolean\n} & (C extends 'article' ? PropsWithChildren<BaseProps<HTMLElement>> : PropsWithChildren<BaseProps<HTMLDivElement>>)\n\nconst PillarRoot = forwardRef(\n (\n {\n children,\n className,\n animate,\n as = 'div',\n align = 'start',\n style,\n hasBorder = false,\n fullWidth = false,\n ...rest\n }: PropsWithChildren<PillarProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n\n const filteredChildren = React.Children.toArray(children).filter(child => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (\n child.type === PillarImage ||\n child.type === PillarIcon ||\n child.type === PillarHeading ||\n child.type === PillarDescription ||\n child.type === PillarLink\n ) {\n return true\n }\n }\n return false\n })\n\n const validElements = ['div', 'article']\n const Component = validElements.includes(as) ? as : 'div'\n\n return (\n <Component\n className={clsx(\n styles.Pillar,\n styles[`Pillar--align-${align}`],\n hasBorder && styles['Pillar--has-border'],\n !fullWidth && styles['Pillar--has-max-width'],\n animationClasses,\n className,\n )}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n style={{...animationInlineStyles, ...style}}\n >\n {filteredChildren}\n </Component>\n )\n },\n)\n\ntype PillarImageProps = ImageProps\n\nfunction PillarImage({className, ...rest}: PillarImageProps) {\n return (\n <div className={styles.Pillar__image}>\n <Image className={className} {...rest} />\n </div>\n )\n}\n\ntype IconComponentProps = React.SVGAttributes<SVGElement> & {size?: number}\ntype IconComponent = React.ComponentType<IconComponentProps> | React.ExoticComponent<IconComponentProps>\ntype IconElement = React.ReactElement<IconComponentProps>\n\nexport type PillarIconProps = Omit<IconProps, 'icon' | 'color'> & {\n icon: IconElement | IconComponent\n}\n\nfunction PillarIcon({icon, className, hasBackground = true, size, ...props}: PillarIconProps) {\n if (!hasBackground) {\n const iconWrapperProps = {\n ...(props as React.HTMLAttributes<HTMLSpanElement>),\n className: clsx(styles.Pillar__icon, className),\n }\n\n let iconWithoutBackground: React.ReactNode\n\n if (React.isValidElement<IconComponentProps>(icon)) {\n iconWithoutBackground = icon\n } else {\n const IconWithoutBackground = icon\n iconWithoutBackground = <IconWithoutBackground />\n }\n\n return <span {...iconWrapperProps}>{iconWithoutBackground}</span>\n }\n\n return (\n <Icon\n className={clsx(styles.Pillar__icon, styles['Pillar__icon--with-background'], className)}\n color={defaultPillarIconColor}\n hasBackground\n icon={icon as IconProps['icon']}\n size={size ?? defaultPillarIconSize}\n {...props}\n />\n )\n}\n\ntype PillarHeadingProps = BaseProps<HTMLHeadingElement> & {\n children: React.ReactNode | React.ReactNode[]\n as?: Exclude<HeadingProps['as'], 'h1'>\n} & HeadingProps\n\nconst PillarHeading = forwardRef<HTMLHeadingElement, PillarHeadingProps>(\n ({children, as = 'h3', size = '6', className, ...rest}, ref) => {\n return (\n <Heading\n size={size}\n className={clsx(styles.Pillar__heading, styles[`Pillar__heading--size-${size}`], className)}\n ref={ref}\n as={as}\n {...rest}\n >\n {children}\n </Heading>\n )\n },\n)\n\ntype PillarDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>>\n\nconst PillarDescription = forwardRef<HTMLParagraphElement, PillarDescriptionProps>(\n ({children, className, ...rest}, ref) => {\n return (\n <Text\n variant=\"muted\"\n ref={ref}\n size=\"200\"\n as=\"p\"\n className={clsx(styles.Pillar__description, className)}\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PillarLinkProps = {\n href: string\n} & Omit<LinkProps, 'size' | 'direction'> &\n BaseProps<HTMLAnchorElement>\n\nconst PillarLink = forwardRef(({className, children, href, ...props}: PillarLinkProps, ref: Ref<HTMLAnchorElement>) => {\n return (\n <Link variant=\"accent\" href={href} ref={ref} className={clsx(styles.Pillar__link, className)} {...props}>\n {children}\n </Link>\n )\n})\n\n/**\n * Pillar component:\n * {@link https://primer.style/brand/components/Pillar/ See usage examples}.\n */\nexport const Pillar = Object.assign(PillarRoot, {\n Icon: PillarIcon,\n Image: PillarImage,\n Heading: PillarHeading,\n Description: PillarDescription,\n Link: PillarLink,\n})\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,IAAyB,SACzB,IAAwB,IAoB/B,IAAa,GAEf,EACE,aACA,cACA,YACA,QAAK,OACL,WAAQ,SACR,UACA,eAAY,IACZ,eAAY,IACZ,GAAG,KAEL,MACG;CACH,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,EAAQ,EAElF,IAAmB,EAAM,SAAS,QAAQ,EAAS,CAAC,QAAO,MAC/D,GAAI,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,aAErD,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,IAMnB;AAKF,QACE,kBAHgB,CADK,OAAO,UACZ,CAAc,SAAS,EAAG,GAAG,IAAK,OAGlD;EACE,WAAW,EACT,EAAO,QACP,EAAO,iBAAiB,MACxB,KAAa,EAAO,uBACpB,CAAC,KAAa,EAAO,0BACrB,GACA,EACD;EACI;EACL,GAAK;EACL,OAAO;GAAC,GAAG;GAAuB,GAAG;GAAM;YAE1C;EACS,CAAA;EAGjB;AAID,SAAS,EAAY,EAAC,cAAW,GAAG,KAAyB;AAC3D,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,GAAD;GAAkB;GAAW,GAAI;GAAQ,CAAA;EACrC,CAAA;;AAYV,SAAS,EAAW,EAAC,SAAM,cAAW,mBAAgB,IAAM,SAAM,GAAG,KAAyB;AAC5F,KAAI,CAAC,GAAe;EAClB,IAAM,IAAmB;GACvB,GAAI;GACJ,WAAW,EAAK,EAAO,cAAc,EAAU;GAChD,EAEG;AASJ,SAPA,AAIE,IAJE,EAAM,eAAmC,EAAK,GACxB,IAGA,kBAAC,GAAD,EAAyB,CAAA,EAG5C,kBAAC,QAAD;GAAM,GAAI;aAAmB;GAA6B,CAAA;;AAGnE,QACE,kBAAC,GAAD;EACE,WAAW,EAAK,EAAO,cAAc,EAAO,kCAAkC,EAAU;EACxF,OAAO;EACP,eAAA;EACM;EACN,MAAM,KAAA;EACN,GAAI;EACJ,CAAA;;AASN,IAAM,IAAgB,GACnB,EAAC,aAAU,QAAK,MAAM,UAAO,KAAK,cAAW,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACQ;CACN,WAAW,EAAK,EAAO,iBAAiB,EAAO,yBAAyB,MAAS,EAAU;CACtF;CACD;CACJ,GAAI;CAEH;CACO,CAAA,CAGf,EAIK,IAAoB,GACvB,EAAC,aAAU,cAAW,GAAG,KAAO,MAE7B,kBAAC,GAAD;CACE,SAAQ;CACH;CACL,MAAK;CACL,IAAG;CACH,WAAW,EAAK,EAAO,qBAAqB,EAAU;CACtD,GAAI;CAEH;CACI,CAAA,CAGZ,EAOK,IAAa,GAAY,EAAC,cAAW,aAAU,SAAM,GAAG,KAAyB,MAEnF,kBAAC,GAAD;CAAM,SAAQ;CAAe;CAAW;CAAK,WAAW,EAAK,EAAO,cAAc,EAAU;CAAE,GAAI;CAC/F;CACI,CAAA,CAET,EAMW,IAAS,OAAO,OAAO,GAAY;CAC9C,MAAM;CACN,OAAO;CACP,SAAS;CACT,aAAa;CACb,MAAM;CACP,CAAC"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__Pillar-module__Pillar___xLPAt{color:var(--brand-color-text-default);flex-direction:column;display:flex}.Primer_Brand__Pillar-module__Pillar--has-max-width___reXfE{max-width:50ch}.Primer_Brand__Pillar-module__Pillar--has-border___h8dLv{border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);border-radius:var(--brand-borderRadius-medium);padding:var(--base-size-32)}.Primer_Brand__Pillar-module__Pillar___xLPAt.Primer_Brand__Pillar-module__Pillar--align-center___1eAmk{text-align:center;align-items:center}.Primer_Brand__Pillar-module__Pillar___xLPAt.Primer_Brand__Pillar-module__Pillar--align-start___kEyp9{text-align:left;align-items:flex-start}.Primer_Brand__Pillar-module__Pillar__image___z4m11{margin-bottom:var(--base-size-28);border-radius:var(--brand-borderRadius-medium);overflow:hidden}.Primer_Brand__Pillar-module__Pillar__image___z4m11 img,.Primer_Brand__Pillar-module__Pillar__image___z4m11 span,.Primer_Brand__Pillar-module__Pillar__image___z4m11 picture{display:block}.Primer_Brand__Pillar-module__Pillar__icon___4V_g6{margin-bottom:var(--base-size-48)}.Primer_Brand__Pillar-module__Pillar__icon--with-background___6pK_P>svg{width:100%;height:100%}.Primer_Brand__Pillar-module__Pillar__heading___9r3aH{margin-bottom:var(--base-size-16)}.Primer_Brand__Pillar-module__Pillar__description___WhErW:not(.Primer_Brand__Pillar-module__Pillar--has-border___h8dLv .Primer_Brand__Pillar-module__Pillar__description___WhErW:last-child){margin-bottom:var(--base-size-24)}.Primer_Brand__Pillar-module__Pillar__link___4V1wl{margin-top:auto}
@@ -1,5 +1,6 @@
1
- import './Pillar.module-Cpx4mbRH.css';var e = {
1
+ import './Pillar.module-BM_qcCVC.css';var e = {
2
2
  Pillar: "Primer_Brand__Pillar-module__Pillar___xLPAt",
3
+ "Pillar--has-max-width": "Primer_Brand__Pillar-module__Pillar--has-max-width___reXfE",
3
4
  "Pillar--has-border": "Primer_Brand__Pillar-module__Pillar--has-border___h8dLv",
4
5
  "Pillar--align-center": "Primer_Brand__Pillar-module__Pillar--align-center___1eAmk",
5
6
  "Pillar--align-start": "Primer_Brand__Pillar-module__Pillar--align-start___kEyp9",
@@ -1 +1 @@
1
- {"version":3,"file":"Pillar.module.js","names":[],"sources":["../../src/Pillar/Pillar.module.css"],"sourcesContent":[".Pillar {\n max-width: 50ch;\n color: var(--brand-color-text-default);\n display: flex;\n flex-direction: column;\n}\n\n.Pillar--has-border {\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n border-radius: var(--brand-borderRadius-medium);\n padding: var(--base-size-32);\n}\n\n.Pillar.Pillar--align-center {\n align-items: center;\n text-align: center;\n}\n\n.Pillar.Pillar--align-start {\n align-items: flex-start;\n text-align: left;\n}\n\n.Pillar__image {\n margin-bottom: var(--base-size-28);\n border-radius: var(--brand-borderRadius-medium);\n overflow: hidden;\n}\n\n.Pillar__image img,\n.Pillar__image span {\n display: block;\n}\n\n.Pillar__icon {\n margin-bottom: var(--base-size-48);\n}\n\n.Pillar__icon--with-background > svg {\n width: 100%;\n height: 100%;\n}\n\n.Pillar__heading {\n margin-bottom: var(--base-size-16);\n}\n\n.Pillar__description:not(.Pillar--has-border .Pillar__description:last-child) {\n margin-bottom: var(--base-size-24);\n}\n\n.Pillar__link {\n margin-top: auto;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Pillar.module.js","names":[],"sources":["../../src/Pillar/Pillar.module.css"],"sourcesContent":[".Pillar {\n color: var(--brand-color-text-default);\n display: flex;\n flex-direction: column;\n}\n\n.Pillar--has-max-width {\n max-width: 50ch;\n}\n\n.Pillar--has-border {\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n border-radius: var(--brand-borderRadius-medium);\n padding: var(--base-size-32);\n}\n\n.Pillar.Pillar--align-center {\n align-items: center;\n text-align: center;\n}\n\n.Pillar.Pillar--align-start {\n align-items: flex-start;\n text-align: left;\n}\n\n.Pillar__image {\n margin-bottom: var(--base-size-28);\n border-radius: var(--brand-borderRadius-medium);\n overflow: hidden;\n}\n\n.Pillar__image img,\n.Pillar__image span,\n.Pillar__image picture {\n display: block;\n}\n\n.Pillar__icon {\n margin-bottom: var(--base-size-48);\n}\n\n.Pillar__icon--with-background > svg {\n width: 100%;\n height: 100%;\n}\n\n.Pillar__heading {\n margin-bottom: var(--base-size-16);\n}\n\n.Pillar__description:not(.Pillar--has-border .Pillar__description:last-child) {\n margin-bottom: var(--base-size-24);\n}\n\n.Pillar__link {\n margin-top: auto;\n}\n"],"mappings":""}