@primer/react-brand 0.80.1 → 0.81.0-rc.0d1b7648

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 (496) hide show
  1. package/docs/index.md +2 -2
  2. package/esm/ActionMenu/ActionMenu.d.ts.map +1 -1
  3. package/esm/ActionMenu/ActionMenu.js +195 -188
  4. package/esm/ActionMenu/ActionMenu.js.map +1 -1
  5. package/esm/Avatar/Avatar.d.ts.map +1 -1
  6. package/esm/Avatar/Avatar.js +1 -1
  7. package/esm/Avatar/Avatar.js.map +1 -1
  8. package/esm/Card/Card.d.ts.map +1 -1
  9. package/esm/Card/Card.js +0 -1
  10. package/esm/Card/Card.js.map +1 -1
  11. package/esm/ComparisonTable/ComparisonTable.d.ts.map +1 -1
  12. package/esm/ComparisonTable/ComparisonTable.js +2 -2
  13. package/esm/ComparisonTable/ComparisonTable.js.map +1 -1
  14. package/esm/ComparisonTable/ComparisonTable.module-BeNq6ZNV.css +1 -0
  15. package/esm/ComparisonTable/ComparisonTable.module.js +3 -1
  16. package/esm/ComparisonTable/ComparisonTable.module.js.map +1 -1
  17. package/esm/Link/Link.d.ts +18 -5
  18. package/esm/Link/Link.d.ts.map +1 -1
  19. package/esm/Link/Link.js +34 -32
  20. package/esm/Link/Link.js.map +1 -1
  21. package/esm/MediaPlaylist/{MediaPlaylist.module-BddC0boN.css → MediaPlaylist.module-C4Y3VORG.css} +1 -1
  22. package/esm/MediaPlaylist/MediaPlaylist.module.js +1 -1
  23. package/esm/MediaPlaylist/MediaPlaylist.module.js.map +1 -1
  24. package/esm/MinimalFooter/MinimalFooter.module-DzY1SyHQ.css +1 -0
  25. package/esm/MinimalFooter/MinimalFooter.module.js +1 -1
  26. package/esm/MinimalFooter/MinimalFooter.module.js.map +1 -1
  27. package/esm/Testimonial/Testimonial.d.ts +22 -17
  28. package/esm/Testimonial/Testimonial.d.ts.map +1 -1
  29. package/esm/Testimonial/Testimonial.js +64 -47
  30. package/esm/Testimonial/Testimonial.js.map +1 -1
  31. package/esm/Testimonial/Testimonial.module-C15wxD-l.css +1 -0
  32. package/esm/Testimonial/Testimonial.module.js +1 -1
  33. package/esm/Testimonial/Testimonial.module.js.map +1 -1
  34. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-uEcPTyOn.css +1 -0
  35. package/lib/Link/Link.d.ts +18 -5
  36. package/lib/Testimonial/Testimonial.d.ts +22 -17
  37. package/lib/css/main.css +133 -119
  38. package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
  39. package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
  40. package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
  41. package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
  42. package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
  43. package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
  44. package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
  45. package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
  46. package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
  47. package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
  48. package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
  49. package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
  50. package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
  51. package/lib/design-tokens/css/tokens/functional/components/button/base.css +1 -1
  52. package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
  53. package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
  54. package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
  55. package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
  56. package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors-with-modes.css +1 -1
  57. package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors.css +1 -1
  58. package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
  59. package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
  60. package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
  61. package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
  62. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
  63. package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
  64. package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
  65. package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
  66. package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
  67. package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
  68. package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/base.css +1 -1
  69. package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/colors-with-modes.css +1 -1
  70. package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
  71. package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
  72. package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
  73. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
  74. package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
  75. package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
  76. package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
  77. package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
  78. package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
  79. package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
  80. package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
  81. package/lib/design-tokens/css/tokens/functional/components/icon-button/base.css +1 -1
  82. package/lib/design-tokens/css/tokens/functional/components/icon-button/colors-with-modes.css +1 -1
  83. package/lib/design-tokens/css/tokens/functional/components/icon-button/colors.css +1 -1
  84. package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
  85. package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
  86. package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
  87. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
  88. package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
  89. package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
  90. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
  91. package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
  92. package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
  93. package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
  94. package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
  95. package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
  96. package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
  97. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
  98. package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
  99. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
  100. package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
  101. package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
  102. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
  103. package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
  104. package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
  105. package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
  106. package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
  107. package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
  108. package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
  109. package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
  110. package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
  111. package/lib/design-tokens/css/tokens/functional/components/spinner/base.css +1 -1
  112. package/lib/design-tokens/css/tokens/functional/components/spinner/colors-with-modes.css +1 -1
  113. package/lib/design-tokens/css/tokens/functional/components/spinner/colors.css +1 -1
  114. package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
  115. package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
  116. package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
  117. package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +1 -1
  118. package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
  119. package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
  120. package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
  121. package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +27 -1
  122. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
  123. package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
  124. package/lib/design-tokens/css/tokens/functional/components/testimonial-group/base.css +1 -1
  125. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +1 -1
  126. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +1 -1
  127. package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +1 -1
  128. package/lib/design-tokens/css/tokens/functional/components/tiles/base.css +1 -1
  129. package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
  130. package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
  131. package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
  132. package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
  133. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/base.css +1 -1
  134. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes.css +1 -1
  135. package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors.css +1 -1
  136. package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
  137. package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
  138. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
  139. package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
  140. package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
  141. package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
  142. package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
  143. package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
  144. package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
  145. package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
  146. package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
  147. package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
  148. package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
  149. package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
  150. package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
  151. package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
  152. package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
  153. package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
  154. package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
  155. package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
  156. package/lib/design-tokens/js/module/tokens/functional/components/button/base.js +1 -1
  157. package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
  158. package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
  159. package/lib/design-tokens/js/module/tokens/functional/components/carousel-pagination/colors.js +1 -1
  160. package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  161. package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  162. package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
  163. package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
  164. package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
  165. package/lib/design-tokens/js/module/tokens/functional/components/feature-comparison-table/base.js +1 -1
  166. package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
  167. package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
  168. package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  169. package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
  170. package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
  171. package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
  172. package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
  173. package/lib/design-tokens/js/module/tokens/functional/components/icon-button/base.js +1 -1
  174. package/lib/design-tokens/js/module/tokens/functional/components/icon-button/colors.js +1 -1
  175. package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
  176. package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
  177. package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
  178. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
  179. package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
  180. package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
  181. package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
  182. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
  183. package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
  184. package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
  185. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
  186. package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  187. package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
  188. package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
  189. package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
  190. package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
  191. package/lib/design-tokens/js/module/tokens/functional/components/spinner/base.js +1 -1
  192. package/lib/design-tokens/js/module/tokens/functional/components/spinner/colors.js +1 -1
  193. package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
  194. package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
  195. package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
  196. package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
  197. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +20 -1
  198. package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
  199. package/lib/design-tokens/js/module/tokens/functional/components/testimonial-group/base.js +1 -1
  200. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +1 -1
  201. package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  202. package/lib/design-tokens/js/module/tokens/functional/components/tiles/base.js +1 -1
  203. package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
  204. package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
  205. package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/base.js +1 -1
  206. package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/colors.js +1 -1
  207. package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
  208. package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
  209. package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
  210. package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
  211. package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
  212. package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
  213. package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
  214. package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
  215. package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
  216. package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
  217. package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
  218. package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
  219. package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
  220. package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
  221. package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
  222. package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
  223. package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
  224. package/lib/design-tokens/js/tokens/functional/components/button/base.js +1 -1
  225. package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
  226. package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
  227. package/lib/design-tokens/js/tokens/functional/components/carousel-pagination/colors.js +1 -1
  228. package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  229. package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  230. package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
  231. package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
  232. package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
  233. package/lib/design-tokens/js/tokens/functional/components/feature-comparison-table/base.js +1 -1
  234. package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
  235. package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
  236. package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  237. package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
  238. package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
  239. package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
  240. package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
  241. package/lib/design-tokens/js/tokens/functional/components/icon-button/base.js +1 -1
  242. package/lib/design-tokens/js/tokens/functional/components/icon-button/colors.js +1 -1
  243. package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
  244. package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
  245. package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
  246. package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
  247. package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
  248. package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
  249. package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
  250. package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
  251. package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
  252. package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
  253. package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
  254. package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  255. package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
  256. package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
  257. package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
  258. package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
  259. package/lib/design-tokens/js/tokens/functional/components/spinner/base.js +1 -1
  260. package/lib/design-tokens/js/tokens/functional/components/spinner/colors.js +1 -1
  261. package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
  262. package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
  263. package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
  264. package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
  265. package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +10 -1
  266. package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
  267. package/lib/design-tokens/js/tokens/functional/components/testimonial-group/base.js +1 -1
  268. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +1 -1
  269. package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  270. package/lib/design-tokens/js/tokens/functional/components/tiles/base.js +1 -1
  271. package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
  272. package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
  273. package/lib/design-tokens/js/tokens/functional/components/toggle-switch/base.js +1 -1
  274. package/lib/design-tokens/js/tokens/functional/components/toggle-switch/colors.js +1 -1
  275. package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
  276. package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
  277. package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
  278. package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
  279. package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
  280. package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
  281. package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
  282. package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
  283. package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
  284. package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
  285. package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
  286. package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
  287. package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
  288. package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
  289. package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
  290. package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
  291. package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
  292. package/lib/design-tokens/scss/tokens/functional/components/button/base.scss +1 -1
  293. package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
  294. package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
  295. package/lib/design-tokens/scss/tokens/functional/components/carousel-pagination/colors.scss +1 -1
  296. package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
  297. package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
  298. package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
  299. package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
  300. package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
  301. package/lib/design-tokens/scss/tokens/functional/components/feature-comparison-table/base.scss +1 -1
  302. package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
  303. package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
  304. package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
  305. package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
  306. package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
  307. package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
  308. package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
  309. package/lib/design-tokens/scss/tokens/functional/components/icon-button/base.scss +1 -1
  310. package/lib/design-tokens/scss/tokens/functional/components/icon-button/colors.scss +1 -1
  311. package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
  312. package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
  313. package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
  314. package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
  315. package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
  316. package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
  317. package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
  318. package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
  319. package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
  320. package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
  321. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
  322. package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
  323. package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
  324. package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
  325. package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
  326. package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
  327. package/lib/design-tokens/scss/tokens/functional/components/spinner/base.scss +1 -1
  328. package/lib/design-tokens/scss/tokens/functional/components/spinner/colors.scss +1 -1
  329. package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
  330. package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
  331. package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
  332. package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
  333. package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +10 -1
  334. package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
  335. package/lib/design-tokens/scss/tokens/functional/components/testimonial-group/base.scss +1 -1
  336. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +1 -1
  337. package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +1 -1
  338. package/lib/design-tokens/scss/tokens/functional/components/tiles/base.scss +1 -1
  339. package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
  340. package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
  341. package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/base.scss +1 -1
  342. package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/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 +1 -1
  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/button/base.d.ts +1 -1
  367. package/lib/design-tokens/ts/tokens/functional/components/button/base.js +1 -1
  368. package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
  369. package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
  370. package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
  371. package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
  372. package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.d.ts +1 -1
  373. package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.js +1 -1
  374. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
  375. package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
  376. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
  377. package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
  378. package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
  379. package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
  380. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
  381. package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
  382. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
  383. package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
  384. package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.d.ts +1 -1
  385. package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.js +1 -1
  386. package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
  387. package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
  388. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
  389. package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
  390. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
  391. package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
  392. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
  393. package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
  394. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
  395. package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
  396. package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
  397. package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
  398. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
  399. package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
  400. package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.d.ts +1 -1
  401. package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.js +1 -1
  402. package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.d.ts +1 -1
  403. package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.js +1 -1
  404. package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
  405. package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
  406. package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
  407. package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
  408. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
  409. package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
  410. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
  411. package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
  412. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
  413. package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
  414. package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
  415. package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
  416. package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
  417. package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
  418. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
  419. package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
  420. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
  421. package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
  422. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
  423. package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
  424. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
  425. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
  426. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
  427. package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
  428. package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
  429. package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
  430. package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
  431. package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
  432. package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
  433. package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
  434. package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
  435. package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
  436. package/lib/design-tokens/ts/tokens/functional/components/spinner/base.d.ts +1 -1
  437. package/lib/design-tokens/ts/tokens/functional/components/spinner/base.js +1 -1
  438. package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.d.ts +1 -1
  439. package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.js +1 -1
  440. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
  441. package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
  442. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
  443. package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
  444. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
  445. package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
  446. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
  447. package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
  448. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +35 -1
  449. package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +20 -1
  450. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
  451. package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
  452. package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.d.ts +1 -1
  453. package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.js +1 -1
  454. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +1 -1
  455. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +1 -1
  456. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +1 -1
  457. package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +1 -1
  458. package/lib/design-tokens/ts/tokens/functional/components/tiles/base.d.ts +1 -1
  459. package/lib/design-tokens/ts/tokens/functional/components/tiles/base.js +1 -1
  460. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
  461. package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
  462. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
  463. package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
  464. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.d.ts +1 -1
  465. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.js +1 -1
  466. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.d.ts +1 -1
  467. package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.js +1 -1
  468. package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
  469. package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
  470. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
  471. package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
  472. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
  473. package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
  474. package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
  475. package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
  476. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  477. package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
  478. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  479. package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
  480. package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
  481. package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
  482. package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
  483. package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
  484. package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
  485. package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
  486. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
  487. package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
  488. package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
  489. package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
  490. package/lib/index.js +1 -1
  491. package/llms.txt +2 -2
  492. package/package.json +1 -1
  493. package/esm/ComparisonTable/ComparisonTable.module-CUq68rV0.css +0 -1
  494. package/esm/MinimalFooter/MinimalFooter.module-BKn_6UZK.css +0 -1
  495. package/esm/Testimonial/Testimonial.module-BqMYuLeo.css +0 -1
  496. package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-h_olG8bi.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Testimonial.js","names":[],"sources":["../../src/Testimonial/Testimonial.tsx"],"sourcesContent":["import React, {\n HTMLAttributes,\n PropsWithChildren,\n forwardRef,\n SVGProps,\n CSSProperties,\n ComponentPropsWithRef,\n} from 'react'\nimport {clsx} from 'clsx'\nimport {BaseProps} from '../component-helpers'\nimport {Text, Avatar as BaseAvatar, useAnimation} from '../'\nimport type {AvatarProps} from '../'\nimport {Link, type LinkProps} from '../Link'\nimport {TextCursorAnimation} from '../TextCursorAnimation'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css'\n\nimport styles from './Testimonial.module.css'\nimport {Colors} from '../constants'\n\ntype TestimonialSize = 'small' | 'large'\n\nexport const TestimonialQuoteMarkColors = [...Colors] as const\nexport const defaultQuoteMarkColor = 'green'\n\nexport const TestimonialVariants = ['subtle', 'default', 'minimal', 'expressive'] as const\ntype TestimonialVariant = (typeof TestimonialVariants)[number]\nexport const defaultTestimonialVariant: TestimonialVariant = 'minimal'\n\nexport type TestimonialProps = {\n /**\n * Sets alternative appearance for the testimonial\n */\n variant?: TestimonialVariant\n /**\n * Applies an optional border where a variant supports it\n */\n hasBorder?: boolean\n /**\n * Valid children include Testimonial.Name, Testimonial.Avatar, and Testimonial.Name\n */\n children:\n | React.ReactNode\n | React.ReactElement<QuoteProps>\n | React.ReactElement<NameProps>\n | React.ReactElement<AvatarProps>\n | React.ReactElement<LogoProps>[]\n /**\n * Sets the testimonial text size\n */\n size?: TestimonialSize\n /** Sets the color of the quote mark */\n quoteMarkColor?: (typeof TestimonialQuoteMarkColors)[number]\n /** Class applied to the quote mark. */\n quoteMarkClassName?: string\n /** Class applied to the attribution wrapper. */\n mediaClassName?: string\n} & BaseProps<HTMLElement> &\n React.HTMLAttributes<HTMLElement>\n\n/**\n * Testimonial parent element\n * <Testimonial>\n */\nfunction TestimonialBase(\n {\n quoteMarkColor = defaultQuoteMarkColor,\n quoteMarkClassName,\n mediaClassName,\n animate,\n className,\n children,\n variant = defaultTestimonialVariant,\n hasBorder = true,\n size,\n style,\n ...rest\n }: PropsWithChildren<TestimonialProps>,\n ref,\n) {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n const resolvedQuoteMarkColor = TestimonialQuoteMarkColors.includes(quoteMarkColor)\n ? quoteMarkColor\n : defaultQuoteMarkColor\n\n const quoteMark = (\n <div\n aria-hidden=\"true\"\n className={clsx(\n styles['Testimonial__quoteMark'],\n styles[`Testimonial__quoteMark--${resolvedQuoteMarkColor}`],\n quoteMarkClassName,\n )}\n >\n <span className={styles.Testimonial__quoteMarkGlyph}>&ldquo;</span>\n </div>\n )\n\n const childrenArray = React.Children.toArray(children)\n const findChild = <Props,>(type: React.ElementType): React.ReactElement<Props> | undefined =>\n childrenArray.find(\n (child): child is React.ReactElement<Props> => React.isValidElement<Props>(child) && child.type === type,\n )\n\n const quoteChild = findChild<QuoteProps>(Quote)\n const actionChild = findChild<LinkProps>(_Link)\n const avatarChild = findChild<AvatarProps>(Avatar)\n const logoChild = findChild<LogoProps>(Logo)\n const nameChild = findChild<NameProps>(Name)\n\n const name =\n nameChild && variant === 'expressive' && typeof nameChild.props.children === 'string'\n ? React.cloneElement(nameChild, {\n children: (\n <TextCursorAnimation animate animationTrigger=\"on-visible\" variant=\"default\">\n {nameChild.props.children}\n </TextCursorAnimation>\n ),\n })\n : nameChild\n\n return (\n <figure\n ref={ref}\n className={clsx(\n animationClasses,\n styles['Testimonial'],\n styles[`Testimonial--variant-${variant}`],\n size && styles[`Testimonial--size-${size}`],\n hasBorder && styles['Testimonial--border'],\n variant === 'expressive' && actionChild && styles['Testimonial--hasLink'],\n className,\n )}\n style={{\n ...animationInlineStyles,\n ...style,\n ['--testimonial-accent-color' as keyof CSSProperties]: resolvedQuoteMarkColor,\n }}\n {...rest}\n >\n <div className={styles['Testimonial__quoteWrapper']}>\n {quoteMark}\n {quoteChild}\n {variant !== 'expressive' && actionChild}\n </div>\n <div className={clsx(styles['Testimonial__media'], mediaClassName)}>\n {avatarChild}\n {logoChild}\n {name}\n </div>\n {variant === 'expressive' && actionChild}\n </figure>\n )\n}\n\nconst Root = forwardRef(TestimonialBase)\n\n/**\n * Testimonial quote child element\n * <Testimonial.Quote>\n */\ntype QuoteProps = React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>\n\nfunction QuoteBase({children, className}: QuoteProps, ref) {\n return (\n <blockquote ref={ref}>\n <Text className={clsx(styles['Testimonial-quote'], className)}>{children}</Text>\n </blockquote>\n )\n}\n\nconst Quote = forwardRef(QuoteBase)\n\n/**\n * Testimonial name child element\n * <Testimonial.Name>\n */\ntype NameProps = {\n position?: string\n} & React.HTMLAttributes<HTMLElement> &\n BaseProps<HTMLElement>\n\nfunction _Name({children, className, position}: NameProps, ref) {\n return (\n <figcaption ref={ref} className={clsx(styles['Testimonial-caption'], className)}>\n <Text size=\"200\" className={styles['Testimonial-from']} font=\"monospace\">\n {children}\n </Text>\n {position && (\n <Text size=\"200\" className={clsx(styles['Testimonial-position'])} variant=\"muted\">\n {position}\n </Text>\n )}\n </figcaption>\n )\n}\n\nconst Name = forwardRef(_Name)\n\n/**\n * Testimonial logo child element\n * <Testimonial.Logo>\n */\ntype LogoProps = {\n children: React.ReactElement<SVGProps<SVGSVGElement>> | React.ReactElement<HTMLAttributes<HTMLImageElement>>\n} & React.HTMLAttributes<HTMLImageElement> &\n BaseProps<HTMLImageElement>\n\nfunction _Logo({children, ...rest}: LogoProps, ref) {\n return (\n <div className={styles['Testimonial-logo']} {...rest}>\n {React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n if (child.type === 'img') {\n const imageChild = child as React.ReactElement<ComponentPropsWithRef<'img'>>\n const imageProps: ComponentPropsWithRef<'img'> = {\n className: clsx(styles['Testimonial-logo-image'], imageChild.props.className),\n ref: ref as ComponentPropsWithRef<'img'>['ref'],\n }\n\n return React.cloneElement(imageChild, imageProps)\n }\n }\n })}\n </div>\n )\n}\n\nconst Logo = forwardRef(_Logo)\n\n/**\n * Testimonial avatar child element\n * <Testimonial.Avatar>\n */\n\nfunction _Avatar({size, className, ...rest}: AvatarProps) {\n return <BaseAvatar className={clsx(styles['Testimonial-avatar'], className)} size={48} {...rest} />\n}\n\nconst Avatar = _Avatar\n\n/**\n * Testimonial link child element\n * <Testimonial.Link>\n */\nfunction _LinkBase({className, ...rest}: LinkProps, _ref) {\n return <Link className={clsx(styles['Testimonial-link'], className)} {...rest} size=\"medium\" variant=\"accent\" />\n}\n\nconst _Link = forwardRef(_LinkBase)\n\n/**\n * Use Testimonial to display a quote from a customer or user.\n * @see https://primer.style/brand/components/Testimonial\n */\nexport const Testimonial = Object.assign(Root, {\n Quote,\n Name,\n Avatar,\n Logo,\n Link: _Link,\n})\n"],"mappings":";;;;;;;;;;;;;AAuBA,IAAa,IAA6B,CAAC,GAAG,CAAM,GACvC,IAAwB,SAExB,IAAsB;CAAC;CAAU;CAAW;CAAW;AAAY,GAEnE,IAAgD;AAqC7D,SAAS,EACP,EACE,oBAAiB,GACjB,uBACA,mBACA,YACA,cACA,aACA,aAAU,GACV,eAAY,IACZ,SACA,UACA,GAAG,KAEL,GACA;CACA,IAAM,EAAC,SAAS,GAAkB,QAAQ,MAAyB,EAAa,CAAO,GACjF,IAAyB,EAA2B,SAAS,CAAc,IAC7E,IACA,GAEE,IACJ,kBAAC,OAAD;EACE,eAAY;EACZ,WAAW,EACT,EAAO,wBACP,EAAO,2BAA2B,MAClC,CACF;YAEA,kBAAC,QAAD;GAAM,WAAW,EAAO;aAA6B;EAAa,CAAA;CAC/D,CAAA,GAGD,IAAgB,EAAM,SAAS,QAAQ,CAAQ,GAC/C,KAAqB,MACzB,EAAc,MACX,MAA8C,EAAM,eAAsB,CAAK,KAAK,EAAM,SAAS,CACtG,GAEI,IAAa,EAAsB,CAAK,GACxC,IAAc,EAAqB,CAAK,GACxC,IAAc,EAAuB,CAAM,GAC3C,IAAY,EAAqB,CAAI,GACrC,IAAY,EAAqB,CAAI,GAErC,IACJ,KAAa,MAAY,gBAAgB,OAAO,EAAU,MAAM,YAAa,WACzE,EAAM,aAAa,GAAW,EAC5B,UACE,kBAAC,GAAD;EAAqB,SAAA;EAAQ,kBAAiB;EAAa,SAAQ;YAChE,EAAU,MAAM;CACE,CAAA,EAEzB,CAAC,IACD;CAEN,OACE,kBAAC,UAAD;EACO;EACL,WAAW,EACT,GACA,EAAO,aACP,EAAO,wBAAwB,MAC/B,KAAQ,EAAO,qBAAqB,MACpC,KAAa,EAAO,wBACpB,MAAY,gBAAgB,KAAe,EAAO,yBAClD,CACF;EACA,OAAO;GACL,GAAG;GACH,GAAG;GACF,8BAAsD;EACzD;EACA,GAAI;YAhBN;GAkBE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB;KACG;KACA;KACA,MAAY,gBAAgB;IAC1B;;GACL,kBAAC,OAAD;IAAK,WAAW,EAAK,EAAO,oBAAuB,CAAc;cAAjE;KACG;KACA;KACA;IACE;;GACJ,MAAY,gBAAgB;EACvB;;AAEZ;AAEA,IAAM,IAAO,EAAW,CAAe;AAQvC,SAAS,EAAU,EAAC,aAAU,gBAAwB,GAAK;CACzD,OACE,kBAAC,cAAD;EAAiB;YACf,kBAAC,GAAD;GAAM,WAAW,EAAK,EAAO,sBAAsB,CAAS;GAAI;EAAe,CAAA;CACrE,CAAA;AAEhB;AAEA,IAAM,IAAQ,EAAW,CAAS;AAWlC,SAAS,EAAM,EAAC,aAAU,cAAW,eAAsB,GAAK;CAC9D,OACE,kBAAC,cAAD;EAAiB;EAAK,WAAW,EAAK,EAAO,wBAAwB,CAAS;YAA9E,CACE,kBAAC,GAAD;GAAM,MAAK;GAAM,WAAW,EAAO;GAAqB,MAAK;GAC1D;EACG,CAAA,GACL,KACC,kBAAC,GAAD;GAAM,MAAK;GAAM,WAAW,EAAK,EAAO,uBAAuB;GAAG,SAAQ;aACvE;EACG,CAAA,CAEE;;AAEhB;AAEA,IAAM,IAAO,EAAW,CAAK;AAW7B,SAAS,EAAM,EAAC,aAAU,GAAG,KAAkB,GAAK;CAClD,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;EAAqB,GAAI;YAC7C,EAAM,SAAS,IAAI,IAAU,MAAS;GACrC,IAAI,EAAM,eAAe,CAAK,KACxB,EAAM,SAAS,OAAO;IACxB,IAAM,IAAa,GACb,IAA2C;KAC/C,WAAW,EAAK,EAAO,2BAA2B,EAAW,MAAM,SAAS;KACvE;IACP;IAEA,OAAO,EAAM,aAAa,GAAY,CAAU;GAClD;EAEJ,CAAC;CACE,CAAA;AAET;AAEA,IAAM,IAAO,EAAW,CAAK;AAO7B,SAAS,EAAQ,EAAC,SAAM,cAAW,GAAG,KAAoB;CACxD,OAAO,kBAAC,GAAD;EAAY,WAAW,EAAK,EAAO,uBAAuB,CAAS;EAAG,MAAM;EAAI,GAAI;CAAO,CAAA;AACpG;AAEA,IAAM,IAAS;AAMf,SAAS,EAAU,EAAC,cAAW,GAAG,KAAkB,GAAM;CACxD,OAAO,kBAAC,GAAD;EAAM,WAAW,EAAK,EAAO,qBAAqB,CAAS;EAAG,GAAI;EAAM,MAAK;EAAS,SAAQ;CAAU,CAAA;AACjH;AAEA,IAAM,IAAQ,EAAW,CAAS,GAMrB,IAAc,OAAO,OAAO,GAAM;CAC7C;CACA;CACA;CACA;CACA,MAAM;AACR,CAAC"}
1
+ {"version":3,"file":"Testimonial.js","names":[],"sources":["../../src/Testimonial/Testimonial.tsx"],"sourcesContent":["import React, {HTMLAttributes, forwardRef, SVGProps, CSSProperties, ComponentPropsWithRef} from 'react'\nimport {clsx} from 'clsx'\nimport {BaseProps} from '../component-helpers'\nimport {Text, Avatar, useAnimation} from '../'\nimport type {AvatarProps} from '../'\nimport {Link, type LinkProps} from '../Link'\nimport {TextCursorAnimation} from '../TextCursorAnimation'\nimport {Colors} from '../constants'\n\n/**\n * Design tokens\n */\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/base.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from './Testimonial.module.css'\n\ntype TestimonialSize = 'small' | 'large'\n\nexport const TestimonialQuoteMarkColors = [...Colors] as const\nexport const defaultQuoteMarkColor = 'green'\n\nexport const TestimonialVariants = ['subtle', 'default', 'minimal', 'expressive'] as const\ntype TestimonialVariant = (typeof TestimonialVariants)[number]\nexport const defaultTestimonialVariant: TestimonialVariant = 'minimal'\n\nconst testIds = {\n root: 'Testimonial',\n get quoteMark() {\n return `${this.root}__quoteMark`\n },\n get quoteWrapper() {\n return `${this.root}__quoteWrapper`\n },\n get media() {\n return `${this.root}__media`\n },\n}\n\nexport type TestimonialProps = {\n /**\n * Sets alternative visual appearance\n */\n variant?: TestimonialVariant\n /**\n * Applies an optional border where a variant supports it\n */\n hasBorder?: boolean\n /**\n * Valid children\n */\n children: React.ReactNode\n /**\n * Sets the testimonial text size\n */\n size?: TestimonialSize\n /** Sets the color of the quote mark */\n quoteMarkColor?: (typeof TestimonialQuoteMarkColors)[number]\n /** Class applied to the quote mark. */\n quoteMarkClassName?: string\n /** Class applied to the attribution wrapper. */\n mediaClassName?: string\n ['data-testid']?: string\n} & BaseProps<HTMLElement> &\n React.HTMLAttributes<HTMLElement>\n\n/**\n * Testimonial parent element\n * <Testimonial>\n */\nfunction TestimonialRootBase(\n {\n quoteMarkColor = defaultQuoteMarkColor,\n quoteMarkClassName,\n mediaClassName,\n animate,\n className,\n children,\n variant = defaultTestimonialVariant,\n hasBorder = true,\n size,\n style,\n 'data-testid': testId,\n ...rest\n }: TestimonialProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const {classes: animationClasses, styles: animationInlineStyles} = useAnimation(animate)\n const resolvedQuoteMarkColor = TestimonialQuoteMarkColors.includes(quoteMarkColor)\n ? quoteMarkColor\n : defaultQuoteMarkColor\n\n const quoteMark = (\n <div\n aria-hidden=\"true\"\n data-testid={testIds.quoteMark}\n className={clsx(\n styles['Testimonial__quoteMark'],\n styles[`Testimonial__quoteMark--${resolvedQuoteMarkColor}`],\n quoteMarkClassName,\n )}\n >\n <span className={styles.Testimonial__quoteMarkGlyph}>&ldquo;</span>\n </div>\n )\n\n const childrenArray = React.Children.toArray(children)\n const findChild = <Props,>(type: React.ElementType): React.ReactElement<Props> | undefined =>\n childrenArray.find(\n (child): child is React.ReactElement<Props> => React.isValidElement<Props>(child) && child.type === type,\n )\n\n const quoteChild = findChild<TestimonialQuoteProps>(TestimonialQuote)\n const actionChild = findChild<LinkProps>(TestimonialLink)\n const avatarChild = findChild<AvatarProps>(TestimonialAvatar)\n const logoChild = findChild<TestimonialLogoProps>(TestimonialLogo)\n const nameChild = findChild<TestimonialNameProps>(TestimonialName)\n\n const name =\n nameChild && variant === 'expressive' && typeof nameChild.props.children === 'string'\n ? React.cloneElement(nameChild, {\n children: (\n <TextCursorAnimation animate animationTrigger=\"on-visible\" variant=\"default\">\n {nameChild.props.children}\n </TextCursorAnimation>\n ),\n })\n : nameChild\n\n return (\n <figure\n ref={ref}\n data-testid={testId || testIds.root}\n className={clsx(\n animationClasses,\n styles['Testimonial'],\n styles[`Testimonial--variant-${variant}`],\n size && styles[`Testimonial--size-${size}`],\n hasBorder && styles['Testimonial--border'],\n variant === 'expressive' && actionChild && styles['Testimonial--hasLink'],\n className,\n )}\n style={{\n ...animationInlineStyles,\n ...style,\n ['--testimonial-accent-color' as keyof CSSProperties]: resolvedQuoteMarkColor,\n }}\n {...rest}\n >\n <div className={styles['Testimonial__quoteWrapper']} data-testid={testIds.quoteWrapper}>\n {quoteMark}\n {quoteChild}\n {variant !== 'expressive' && actionChild}\n </div>\n <div className={clsx(styles['Testimonial__media'], mediaClassName)} data-testid={testIds.media}>\n {avatarChild}\n {logoChild}\n {name}\n </div>\n {variant === 'expressive' && actionChild}\n </figure>\n )\n}\n\nconst TestimonialRoot = forwardRef(TestimonialRootBase)\n\n/**\n * Testimonial quote child element\n * <Testimonial.Quote>\n */\ntype TestimonialQuoteProps = React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>\nfunction TestimonialQuoteBase(\n {children, className, ...rest}: TestimonialQuoteProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n return (\n <blockquote {...rest} ref={ref as React.Ref<HTMLQuoteElement>}>\n <Text className={clsx(styles['Testimonial-quote'], className)}>{children}</Text>\n </blockquote>\n )\n}\nconst TestimonialQuote = forwardRef(TestimonialQuoteBase)\n\n/**\n * Testimonial name child element\n * <Testimonial.Name>\n */\ntype TestimonialNameProps = {\n position?: string\n} & React.HTMLAttributes<HTMLElement> &\n BaseProps<HTMLElement>\n\nfunction TestimonialNameBase(\n {children, className, position, ...rest}: TestimonialNameProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n return (\n <figcaption {...rest} ref={ref} className={clsx(styles['Testimonial-caption'], className)}>\n <Text size=\"200\" className={styles['Testimonial-from']} font=\"monospace\">\n {children}\n </Text>\n {position && (\n <Text size=\"200\" className={clsx(styles['Testimonial-position'])} variant=\"muted\">\n {position}\n </Text>\n )}\n </figcaption>\n )\n}\nconst TestimonialName = forwardRef(TestimonialNameBase)\n\n/**\n * Testimonial logo child element\n * <Testimonial.Logo>\n */\ntype TestimonialLogoProps = {\n children: React.ReactElement<SVGProps<SVGSVGElement>> | React.ReactElement<HTMLAttributes<HTMLImageElement>>\n} & React.HTMLAttributes<HTMLImageElement> &\n BaseProps<HTMLImageElement>\n\nfunction TestimonialLogoBase({children, ...rest}: TestimonialLogoProps, ref: React.ForwardedRef<unknown>) {\n return (\n <div className={styles['Testimonial-logo']} {...rest}>\n {React.Children.map(children, child => {\n if (React.isValidElement<ComponentPropsWithRef<'img'>>(child) && child.type === 'img') {\n return React.cloneElement(child, {\n className: clsx(styles['Testimonial-logo-image'], child.props.className),\n ...(ref ? {ref: ref as ComponentPropsWithRef<'img'>['ref']} : {}),\n })\n }\n\n if (React.isValidElement<SVGProps<SVGSVGElement>>(child)) {\n return React.cloneElement(child, {\n className: clsx(styles['Testimonial-logo-image'], child.props.className),\n ...(ref ? {ref: ref as React.Ref<SVGSVGElement>} : {}),\n })\n }\n })}\n </div>\n )\n}\nconst TestimonialLogo = forwardRef(TestimonialLogoBase)\n\n/**\n * Testimonial avatar child element\n * <Testimonial.Avatar>\n */\n\nfunction TestimonialAvatarBase({size, className, ...rest}: AvatarProps, ref: React.ForwardedRef<HTMLImageElement>) {\n return <Avatar ref={ref} className={clsx(styles['Testimonial-avatar'], className)} size={48} {...rest} />\n}\nconst TestimonialAvatar = forwardRef(TestimonialAvatarBase)\n\n/**\n * Testimonial link child element\n * <Testimonial.Link>\n */\nfunction TestimonialLinkBase({className, ...rest}: LinkProps, ref: React.ForwardedRef<HTMLAnchorElement>) {\n return (\n <Link ref={ref} className={clsx(styles['Testimonial-link'], className)} {...rest} size=\"medium\" variant=\"accent\" />\n )\n}\nconst TestimonialLink = forwardRef(TestimonialLinkBase)\n\n/**\n * Use Testimonial to display a quote from a customer or user.\n * @see https://primer.style/brand/components/Testimonial\n */\nexport const Testimonial = Object.assign(TestimonialRoot, {\n Quote: TestimonialQuote,\n Name: TestimonialName,\n Avatar: TestimonialAvatar,\n Logo: TestimonialLogo,\n Link: TestimonialLink,\n testIds,\n})\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .Primer_Brand__Testimonial-module__Testimonial___kxB6R{color:var(--brand-color-text-default);font-family:var(--brand-fontStack-sansSerif)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S{border-radius:var(--brand-borderRadius-xlarge);padding:var(--base-size-48) var(--base-size-32);position:relative}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S{padding:var(--base-size-48)}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg{padding:var(--base-size-96) var(--base-size-128)}}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe{background-color:var(--brand-color-canvas-subtle)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S{background-color:var(--brand-color-canvas-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe:before,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S:before{pointer-events:none;content:"";border-radius:inherit;position:absolute;inset:0}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe.Primer_Brand__Testimonial-module__Testimonial--border___pbUPS:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);-webkit-mask-image:var(--brand-Testimonial-borderMask-subtle);mask-image:var(--brand-Testimonial-borderMask-subtle);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S.Primer_Brand__Testimonial-module__Testimonial--border___pbUPS:before{-webkit-mask-image:var(--brand-Testimonial-borderMask-default);-webkit-mask-image:var(--brand-Testimonial-borderMask-default);mask-image:var(--brand-Testimonial-borderMask-default);border:var(--brand-borderWidth-thin) solid var(--brand-color-border-default)}.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{gap:var(--base-size-40);flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial__quoteMark___sC3I2{width:calc(var(--base-size-48) + var(--base-size-8));height:calc(var(--base-size-48) + var(--base-size-8));border-radius:var(--base-size-12);color:var(--brand-Testimonial-quoteMarkColor,currentColor);background-color:var(--brand-Testimonial-quoteMarkBackground,var(--base-color-scale-gray-0));font-family:var(--brand-fontStack-monospace);font-size:4rem;font-weight:var(--base-text-weight-normal);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___1eZ5L{transform:translateY(var(--base-size-12));display:block}.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S .Primer_Brand__Testimonial-module__Testimonial__quoteMark___sC3I2,.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe .Primer_Brand__Testimonial-module__Testimonial__quoteMark___sC3I2{width:var(--base-size-40);height:var(--base-size-40);border-radius:var(--base-size-8);font-size:3rem}.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S .Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___1eZ5L,.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe .Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___1eZ5L{transform:translateY(var(--base-size-8))}.Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-family:var(--brand-fontStack-sansSerif);font-size:var(--brand-Testimonial-quote-fontSize-default);font-weight:var(--brand-Testimonial-quote-fontWeight-default);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-default);line-height:var(--brand-text-lineHeight-700);display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-size:var(--brand-Testimonial-quote-fontSize-large);font-weight:var(--brand-Testimonial-quote-fontWeight-large);letter-spacing:var(--brand-Testimonial-quote-letterSpacing-large)}.Primer_Brand__Testimonial-module__Testimonial-quote___xbxri em,.Primer_Brand__Testimonial-module__Testimonial-quote___xbxri b{color:var(--brand-Testimonial-quote-color-emphasis);font-style:normal;font-weight:inherit}.Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{gap:var(--base-size-16);align-items:center;margin-block-start:var(--base-size-24);display:flex}.Primer_Brand__Testimonial-module__Testimonial-logo-image___rpGVd{display:block}.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{margin-block-start:var(--base-size-64)}.Primer_Brand__Testimonial-module__Testimonial-caption___8c_KF{flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial-avatar___kWqMQ{flex:none}.Primer_Brand__Testimonial-module__Testimonial-from___XLpqj{font-weight:var(--base-text-weight-normal);text-transform:uppercase}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY{gap:var(--base-size-36);width:100%;max-width:var(--brand-Testimonial-expressive-maxWidth);padding-inline:var(--base-size-20);padding-block:var(--base-size-40);flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{align-items:flex-start;gap:var(--base-size-36);flex-direction:column;min-width:0;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{align-items:flex-start;gap:var(--base-size-28);width:var(--brand-Testimonial-expressive-media-width);flex-direction:column;margin-block-start:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-avatar___kWqMQ{width:var(--base-size-40);height:var(--base-size-40)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-caption___8c_KF{border-block-start:var(--brand-borderWidth-thin) solid var(--brand-color-border-default);gap:var(--base-size-6);width:100%;padding-block-start:var(--base-size-20)}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{gap:var(--base-size-40)}}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-from___XLpqj{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-text-size-100);font-weight:var(--brand-heading-weight-500);line-height:var(--brand-text-lineHeight-100);text-transform:uppercase;letter-spacing:var(--brand-Testimonial-expressive-name-letterSpacing);align-items:center;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-position____jQ17{font-size:var(--brand-text-size-200);font-weight:var(--base-text-weight-normal);line-height:var(--brand-Testimonial-expressive-position-lineHeight);letter-spacing:var(--brand-Testimonial-expressive-position-letterSpacing)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-family:var(--brand-fontStack-monospace);font-size:var(--brand-Testimonial-expressive-quote-fontSize);font-weight:var(--brand-Testimonial-expressive-quote-fontWeight);letter-spacing:var(--brand-Testimonial-expressive-quote-letterSpacing);line-height:var(--brand-text-lineHeight-100);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (width>=48rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY{padding-inline:var(--base-size-36);padding-block:var(--base-size-44);margin-inline:auto}}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY{grid-template-columns:minmax(0, var(--brand-Testimonial-expressive-quote-maxWidth)) var(--brand-Testimonial-expressive-media-width);grid-column-gap:calc(var(--base-size-96) + var(--base-size-24));-moz-column-gap:calc(var(--base-size-96) + var(--base-size-24));column-gap:calc(var(--base-size-96) + var(--base-size-24));padding-inline:var(--base-size-48);padding-block:var(--base-size-88);align-items:end;margin-inline:auto;display:grid}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY.Primer_Brand__Testimonial-module__Testimonial--hasLink___U6yF2{row-gap:var(--base-size-48)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{gap:var(--base-size-48);grid-area:1/1}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{gap:var(--base-size-32);grid-area:1/2}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY.Primer_Brand__Testimonial-module__Testimonial--hasLink___U6yF2 .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{grid-row:1/span 2}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-caption___8c_KF{padding-block-start:var(--base-size-24)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-link___kK8cZ{grid-area:2/1}}@media screen and (width>=80rem){.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY{padding-inline:0}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-avatar___kWqMQ{width:var(--base-size-48);height:var(--base-size-48)}}.Primer_Brand__Testimonial-module__Testimonial-link___kK8cZ{margin-block-start:var(--base-size-8)}.Primer_Brand__Testimonial-module__Testimonial--variant-expressive___J1PIY .Primer_Brand__Testimonial-module__Testimonial-link___kK8cZ{align-self:flex-start;width:fit-content;margin-block-start:0}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--default___wRFiA{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-default);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-default)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--blue___65lEG{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-blue);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-blue)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--coral___zCLpT{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-coral);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-coral)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--green___zmlvZ{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-green);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-green)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--gray___18cS4{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-gray);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-gray)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--indigo___GDdwu{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-indigo);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-indigo)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lemon___SbBQ4{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lemon);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lemon)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--lime___jzEWj{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-lime);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-lime)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--orange___Mk2Ix{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-orange);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-orange)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--pink____Y7MC{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-pink);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-pink)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--purple___TMw0P{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-purple);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-purple)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--red___rbO_z{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-red);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-red)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--teal___S_1eT{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-teal);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-teal)}.Primer_Brand__Testimonial-module__Testimonial__quoteMark--yellow___W8v__{--brand-Testimonial-quoteMarkColor:var(--brand-Testimonial-quoteMarkColor-yellow);--brand-Testimonial-quoteMarkBackground:var(--brand-Testimonial-quoteMarkBackground-yellow)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO{width:100%;margin:0}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{align-items:flex-start;gap:var(--base-size-40);flex-direction:column;display:flex}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{gap:var(--base-size-48)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO blockquote{margin:0}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-size:var(--brand-Testimonial-quote-fontSize-default);font-weight:var(--brand-Testimonial-quote-fontWeight-default);line-height:var(--brand-text-lineHeight-700);letter-spacing:var(--brand-text-letterSpacing-400)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-size:var(--brand-text-size-600);font-weight:var(--brand-heading-weight-500);line-height:var(--brand-Testimonial-minimal-quote-lineHeight)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{gap:var(--base-size-16);margin-block-start:var(--base-size-40);padding-block-start:0}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial__media___rvn7k{margin-block-start:var(--base-size-32);padding-block-start:var(--base-size-8)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial-caption___8c_KF{gap:var(--base-size-2);min-width:0}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial-from___XLpqj,.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial-position____jQ17{font-family:var(--brand-fontStack-sansSerif);font-size:var(--brand-text-size-200);font-weight:var(--base-text-weight-normal);line-height:var(--brand-text-lineHeight-200);letter-spacing:var(--brand-text-letterSpacing-200);text-transform:none}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial-avatar___kWqMQ{width:var(--base-size-64);height:var(--base-size-64)}@media screen and (width>=63.25rem){.Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf,.Primer_Brand__Testimonial-module__Testimonial--variant-default___uNm5S .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf,.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO .Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf{gap:var(--base-size-48)}.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-size:var(--brand-Testimonial-minimal-quote-fontSize-large)}}@media screen and (width>=34rem) and (width<=47.99rem){.Primer_Brand__Testimonial-module__Testimonial--variant-minimal___TFtAO.Primer_Brand__Testimonial-module__Testimonial--size-large___NH7Vg .Primer_Brand__Testimonial-module__Testimonial-quote___xbxri{font-size:var(--brand-text-size-700)}}
@@ -1,4 +1,4 @@
1
- import './Testimonial.module-BqMYuLeo.css';//#region src/Testimonial/Testimonial.module.css
1
+ import './Testimonial.module-C15wxD-l.css';//#region src/Testimonial/Testimonial.module.css
2
2
  var e = "Primer_Brand__Testimonial-module__Testimonial___kxB6R", t = "Primer_Brand__Testimonial-module__Testimonial__quoteWrapper___vcgUf", n = "Primer_Brand__Testimonial-module__Testimonial__quoteMark___sC3I2", r = "Primer_Brand__Testimonial-module__Testimonial__quoteMarkGlyph___1eZ5L", i = "Primer_Brand__Testimonial-module__Testimonial__media___rvn7k", a = {
3
3
  Testimonial: e,
4
4
  "Testimonial--variant-subtle": "Primer_Brand__Testimonial-module__Testimonial--variant-subtle___rmjBe",
@@ -1 +1 @@
1
- {"version":3,"file":"Testimonial.module.js","names":[],"sources":["../../src/Testimonial/Testimonial.module.css"],"sourcesContent":[".Testimonial {\n color: var(--brand-color-text-default);\n font-family: var(--brand-fontStack-sansSerif);\n}\n\n.Testimonial--variant-subtle,\n.Testimonial--variant-default {\n position: relative;\n border-radius: var(--brand-borderRadius-xlarge);\n padding: var(--base-size-48) var(--base-size-32);\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-subtle,\n .Testimonial--variant-default {\n padding: var(--base-size-48);\n }\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-subtle.Testimonial--size-large,\n .Testimonial--variant-default.Testimonial--size-large {\n padding: var(--base-size-96) var(--base-size-128);\n }\n}\n\n.Testimonial--variant-subtle {\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.Testimonial--variant-default {\n background-color: var(--brand-color-canvas-default);\n}\n\n.Testimonial--variant-subtle::before,\n.Testimonial--variant-default::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: '';\n border-radius: inherit;\n}\n\n.Testimonial--variant-subtle.Testimonial--border::before {\n mask-image: var(--brand-Testimonial-borderMask-subtle);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n}\n\n.Testimonial--variant-default.Testimonial--border::before {\n mask-image: var(--brand-Testimonial-borderMask-default);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n}\n\n.Testimonial--variant-subtle .Testimonial__quoteWrapper,\n.Testimonial--variant-default .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n gap: calc(var(--base-size-24) + var(--base-size-16));\n}\n\n.Testimonial__quoteMark {\n position: relative;\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n width: calc(var(--base-size-48) + var(--base-size-8));\n height: calc(var(--base-size-48) + var(--base-size-8));\n border-radius: var(--base-size-12);\n color: var(--brand-Testimonial-quoteMarkColor, currentColor);\n background-color: var(--brand-Testimonial-quoteMarkBackground, var(--base-color-scale-gray-0));\n font-family: var(--brand-fontStack-monospace);\n font-size: 4rem;\n font-weight: var(--base-text-weight-normal);\n line-height: 1;\n}\n\n.Testimonial__quoteMarkGlyph {\n display: block;\n transform: translateY(var(--base-size-12));\n}\n\n.Testimonial--variant-default .Testimonial__quoteMark,\n.Testimonial--variant-subtle .Testimonial__quoteMark {\n width: var(--base-size-40);\n height: var(--base-size-40);\n border-radius: var(--base-size-8);\n font-size: 3rem;\n}\n\n.Testimonial--variant-default .Testimonial__quoteMarkGlyph,\n.Testimonial--variant-subtle .Testimonial__quoteMarkGlyph {\n transform: translateY(var(--base-size-8));\n}\n\n.Testimonial-quote {\n font-family: var(--brand-fontStack-sansSerif);\n font-size: var(--brand-Testimonial-quote-fontSize-default);\n font-weight: var(--brand-Testimonial-quote-fontWeight-default);\n letter-spacing: var(--brand-Testimonial-quote-letterSpacing-default);\n line-height: 1.2; /* requires custom line-height */\n display: block;\n}\n\n.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-Testimonial-quote-fontSize-large);\n font-weight: var(--brand-Testimonial-quote-fontWeight-large);\n letter-spacing: var(--brand-Testimonial-quote-letterSpacing-large);\n}\n\n.Testimonial-quote em,\n.Testimonial-quote b {\n color: var(--brand-Testimonial-quote-color-emphasis);\n font-style: normal;\n font-weight: inherit;\n}\n\n.Testimonial__media {\n display: flex;\n gap: var(--base-size-16);\n align-items: center;\n margin-block-start: var(--base-size-24);\n}\n\n.Testimonial-logo-image {\n display: block;\n}\n\n.Testimonial--size-large .Testimonial__media {\n margin-block-start: var(--base-size-64);\n}\n\n.Testimonial-caption {\n display: flex;\n flex-direction: column;\n}\n\n.Testimonial-avatar {\n flex: none;\n}\n\n.Testimonial-from {\n font-weight: var(--base-text-weight-normal);\n text-transform: uppercase;\n}\n\n/* Expressive variant */\n.Testimonial--variant-expressive {\n display: flex;\n flex-direction: column;\n gap: var(--base-size-36);\n width: 100%;\n max-width: 1176px;\n padding-inline: var(--base-size-20);\n padding-block: var(--base-size-40);\n}\n\n.Testimonial--variant-expressive .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-36);\n min-width: 0;\n}\n\n.Testimonial--variant-expressive .Testimonial__media {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-28);\n margin-block-start: 0;\n width: 100%;\n}\n\n.Testimonial--variant-expressive .Testimonial-avatar {\n width: var(--base-size-40);\n height: var(--base-size-40);\n}\n\n.Testimonial--variant-expressive .Testimonial-caption {\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n padding-block-start: var(--base-size-20);\n width: 100%;\n gap: var(--base-size-6);\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-expressive .Testimonial__quoteWrapper {\n gap: var(--base-size-40);\n }\n\n .Testimonial--variant-expressive .Testimonial__media {\n width: 356px;\n }\n}\n\n.Testimonial--variant-expressive .Testimonial-from {\n display: flex;\n align-items: center;\n font-family: var(--brand-fontStack-monospace);\n font-size: var(--brand-text-size-100);\n font-weight: var(--brand-heading-weight-500);\n line-height: var(--brand-text-lineHeight-100);\n text-transform: uppercase;\n letter-spacing: 0.0107em;\n}\n\n.Testimonial--variant-expressive .Testimonial-position {\n font-size: var(--brand-text-size-200);\n font-weight: var(--base-text-weight-normal);\n line-height: 1.6;\n letter-spacing: 0.01em;\n}\n\n.Testimonial--variant-expressive .Testimonial-quote {\n font-family: var(--brand-fontStack-monospace);\n font-size: 1.5rem;\n font-weight: 425;\n letter-spacing: -0.01em;\n line-height: var(--brand-text-lineHeight-100);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-expressive {\n max-width: 618px;\n margin-inline: auto;\n padding-inline: var(--base-size-36);\n padding-block: var(--base-size-44);\n }\n .Testimonial--variant-expressive .Testimonial-quote {\n font-size: 1.625rem;\n letter-spacing: -0.02em;\n }\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-expressive {\n display: grid;\n grid-template-columns: minmax(0, 744px) 312px;\n column-gap: calc(var(--base-size-96) + var(--base-size-24));\n align-items: end;\n max-width: 1176px;\n margin-inline: auto;\n padding-inline: var(--base-size-48);\n padding-block: var(--base-size-88);\n }\n\n .Testimonial--variant-expressive.Testimonial--hasLink {\n row-gap: var(--base-size-48);\n }\n\n .Testimonial--variant-expressive .Testimonial__quoteWrapper {\n grid-column: 1;\n grid-row: 1;\n gap: var(--base-size-48);\n }\n\n .Testimonial--variant-expressive .Testimonial__media {\n grid-column: 2;\n grid-row: 1;\n width: 312px;\n gap: var(--base-size-32);\n }\n\n .Testimonial--variant-expressive.Testimonial--hasLink .Testimonial__media {\n grid-row: 1 / span 2;\n }\n\n .Testimonial--variant-expressive .Testimonial-caption {\n padding-block-start: var(--base-size-24);\n }\n\n .Testimonial--variant-expressive .Testimonial-quote {\n font-size: 2rem;\n }\n\n .Testimonial--variant-expressive .Testimonial-link {\n grid-column: 1;\n grid-row: 2;\n }\n}\n\n@media screen and (min-width: 80rem) {\n .Testimonial--variant-expressive {\n padding-inline: 0;\n }\n\n .Testimonial--variant-expressive .Testimonial-avatar {\n width: var(--base-size-48);\n height: var(--base-size-48);\n }\n}\n\n.Testimonial-link {\n margin-block-start: var(--base-size-8);\n}\n\n.Testimonial--variant-expressive .Testimonial-link {\n align-self: flex-start;\n width: fit-content;\n margin-block-start: 0;\n}\n\n.Testimonial__quoteMark--default {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-default);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-default);\n}\n\n.Testimonial__quoteMark--blue {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-blue);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-blue);\n}\n\n.Testimonial__quoteMark--coral {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-coral);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-coral);\n}\n\n.Testimonial__quoteMark--green {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-green);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-green);\n}\n\n.Testimonial__quoteMark--gray {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-gray);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-gray);\n}\n\n.Testimonial__quoteMark--indigo {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-indigo);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-indigo);\n}\n\n.Testimonial__quoteMark--lemon {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-lemon);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-lemon);\n}\n\n.Testimonial__quoteMark--lime {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-lime);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-lime);\n}\n\n.Testimonial__quoteMark--orange {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-orange);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-orange);\n}\n\n.Testimonial__quoteMark--pink {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-pink);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-pink);\n}\n\n.Testimonial__quoteMark--purple {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-purple);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-purple);\n}\n\n.Testimonial__quoteMark--red {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-red);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-red);\n}\n\n.Testimonial__quoteMark--teal {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-teal);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-teal);\n}\n\n.Testimonial__quoteMark--yellow {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-yellow);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-yellow);\n}\n\n.Testimonial--variant-minimal {\n margin: 0;\n width: 100%;\n}\n\n.Testimonial--variant-minimal .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: calc(var(--base-size-24) + var(--base-size-16));\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial__quoteWrapper {\n gap: var(--base-size-48);\n}\n\n.Testimonial--variant-minimal blockquote {\n margin: 0;\n}\n\n.Testimonial--variant-minimal .Testimonial-quote {\n font-size: var(--brand-Testimonial-quote-fontSize-default);\n font-weight: var(--brand-Testimonial-quote-fontWeight-default);\n line-height: 1.2;\n letter-spacing: 0;\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-text-size-600);\n font-weight: var(--brand-heading-weight-500);\n line-height: var(--brand-Testimonial-minimal-quote-lineHeight);\n}\n\n.Testimonial--variant-minimal .Testimonial__media {\n gap: var(--base-size-16);\n margin-block-start: calc(var(--base-size-32) + var(--base-size-8));\n padding-block-start: 0;\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial__media {\n margin-block-start: var(--base-size-32);\n padding-block-start: var(--base-size-8);\n}\n\n.Testimonial--variant-minimal .Testimonial-caption {\n min-width: 0;\n gap: var(--base-size-2);\n}\n\n.Testimonial--variant-minimal .Testimonial-from,\n.Testimonial--variant-minimal .Testimonial-position {\n font-family: var(--brand-fontStack-sansSerif);\n font-size: var(--brand-text-size-200);\n font-weight: var(--base-text-weight-normal);\n line-height: var(--brand-text-lineHeight-200);\n letter-spacing: var(--brand-text-letterSpacing-200);\n text-transform: none;\n}\n\n.Testimonial--variant-minimal .Testimonial-avatar {\n width: var(--base-size-64);\n height: var(--base-size-64);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-subtle .Testimonial__quoteWrapper,\n .Testimonial--variant-default .Testimonial__quoteWrapper,\n .Testimonial--variant-minimal .Testimonial__quoteWrapper {\n gap: var(--base-size-48);\n }\n\n .Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-Testimonial-minimal-quote-fontSize-large);\n }\n}\n\n@media screen and (min-width: 34rem) and (max-width: 47.99rem) {\n .Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-text-size-700);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Testimonial.module.js","names":[],"sources":["../../src/Testimonial/Testimonial.module.css"],"sourcesContent":[".Testimonial {\n color: var(--brand-color-text-default);\n font-family: var(--brand-fontStack-sansSerif);\n}\n\n.Testimonial--variant-subtle,\n.Testimonial--variant-default {\n position: relative;\n border-radius: var(--brand-borderRadius-xlarge);\n padding: var(--base-size-48) var(--base-size-32);\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-subtle,\n .Testimonial--variant-default {\n padding: var(--base-size-48);\n }\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-subtle.Testimonial--size-large,\n .Testimonial--variant-default.Testimonial--size-large {\n padding: var(--base-size-96) var(--base-size-128);\n }\n}\n\n.Testimonial--variant-subtle {\n background-color: var(--brand-color-canvas-subtle);\n}\n\n.Testimonial--variant-default {\n background-color: var(--brand-color-canvas-default);\n}\n\n.Testimonial--variant-subtle::before,\n.Testimonial--variant-default::before {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: '';\n border-radius: inherit;\n}\n\n.Testimonial--variant-subtle.Testimonial--border::before {\n mask-image: var(--brand-Testimonial-borderMask-subtle);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n}\n\n.Testimonial--variant-default.Testimonial--border::before {\n mask-image: var(--brand-Testimonial-borderMask-default);\n border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n}\n\n.Testimonial--variant-subtle .Testimonial__quoteWrapper,\n.Testimonial--variant-default .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n gap: var(--base-size-40);\n}\n\n.Testimonial__quoteMark {\n position: relative;\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n width: calc(var(--base-size-48) + var(--base-size-8));\n height: calc(var(--base-size-48) + var(--base-size-8));\n border-radius: var(--base-size-12);\n color: var(--brand-Testimonial-quoteMarkColor, currentColor);\n background-color: var(--brand-Testimonial-quoteMarkBackground, var(--base-color-scale-gray-0));\n font-family: var(--brand-fontStack-monospace);\n font-size: 4rem; /* TODO: Optical quote-glyph sizing is independent of the text scale. */\n font-weight: var(--base-text-weight-normal);\n line-height: 1; /* TODO: Keep the quote glyph's line box independent of text leading. */\n}\n\n.Testimonial__quoteMarkGlyph {\n display: block;\n transform: translateY(var(--base-size-12));\n}\n\n.Testimonial--variant-default .Testimonial__quoteMark,\n.Testimonial--variant-subtle .Testimonial__quoteMark {\n width: var(--base-size-40);\n height: var(--base-size-40);\n border-radius: var(--base-size-8);\n font-size: 3rem; /* TODO: Optical quote-glyph sizing for the smaller mark tile. */\n}\n\n.Testimonial--variant-default .Testimonial__quoteMarkGlyph,\n.Testimonial--variant-subtle .Testimonial__quoteMarkGlyph {\n transform: translateY(var(--base-size-8));\n}\n\n.Testimonial-quote {\n font-family: var(--brand-fontStack-sansSerif);\n font-size: var(--brand-Testimonial-quote-fontSize-default);\n font-weight: var(--brand-Testimonial-quote-fontWeight-default);\n letter-spacing: var(--brand-Testimonial-quote-letterSpacing-default);\n line-height: var(--brand-text-lineHeight-700);\n display: block;\n}\n\n.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-Testimonial-quote-fontSize-large);\n font-weight: var(--brand-Testimonial-quote-fontWeight-large);\n letter-spacing: var(--brand-Testimonial-quote-letterSpacing-large);\n}\n\n.Testimonial-quote em,\n.Testimonial-quote b {\n color: var(--brand-Testimonial-quote-color-emphasis);\n font-style: normal;\n font-weight: inherit;\n}\n\n.Testimonial__media {\n display: flex;\n gap: var(--base-size-16);\n align-items: center;\n margin-block-start: var(--base-size-24);\n}\n\n.Testimonial-logo-image {\n display: block;\n}\n\n.Testimonial--size-large .Testimonial__media {\n margin-block-start: var(--base-size-64);\n}\n\n.Testimonial-caption {\n display: flex;\n flex-direction: column;\n}\n\n.Testimonial-avatar {\n flex: none;\n}\n\n.Testimonial-from {\n font-weight: var(--base-text-weight-normal);\n text-transform: uppercase;\n}\n\n/* Expressive variant */\n.Testimonial--variant-expressive {\n display: flex;\n flex-direction: column;\n gap: var(--base-size-36);\n width: 100%;\n max-width: var(--brand-Testimonial-expressive-maxWidth);\n padding-inline: var(--base-size-20);\n padding-block: var(--base-size-40);\n}\n\n.Testimonial--variant-expressive .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-36);\n min-width: 0;\n}\n\n.Testimonial--variant-expressive .Testimonial__media {\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-28);\n margin-block-start: 0;\n width: var(--brand-Testimonial-expressive-media-width);\n}\n\n.Testimonial--variant-expressive .Testimonial-avatar {\n width: var(--base-size-40);\n height: var(--base-size-40);\n}\n\n.Testimonial--variant-expressive .Testimonial-caption {\n border-block-start: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);\n padding-block-start: var(--base-size-20);\n width: 100%;\n gap: var(--base-size-6);\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-expressive .Testimonial__quoteWrapper {\n gap: var(--base-size-40);\n }\n}\n\n.Testimonial--variant-expressive .Testimonial-from {\n display: flex;\n align-items: center;\n font-family: var(--brand-fontStack-monospace);\n font-size: var(--brand-text-size-100);\n font-weight: var(--brand-heading-weight-500);\n line-height: var(--brand-text-lineHeight-100);\n text-transform: uppercase;\n letter-spacing: var(--brand-Testimonial-expressive-name-letterSpacing);\n}\n\n.Testimonial--variant-expressive .Testimonial-position {\n font-size: var(--brand-text-size-200);\n font-weight: var(--base-text-weight-normal);\n line-height: var(--brand-Testimonial-expressive-position-lineHeight);\n letter-spacing: var(--brand-Testimonial-expressive-position-letterSpacing);\n}\n\n.Testimonial--variant-expressive .Testimonial-quote {\n font-family: var(--brand-fontStack-monospace);\n font-size: var(--brand-Testimonial-expressive-quote-fontSize);\n font-weight: var(--brand-Testimonial-expressive-quote-fontWeight);\n letter-spacing: var(--brand-Testimonial-expressive-quote-letterSpacing);\n line-height: var(--brand-text-lineHeight-100);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n@media screen and (min-width: 48rem) {\n .Testimonial--variant-expressive {\n margin-inline: auto;\n padding-inline: var(--base-size-36);\n padding-block: var(--base-size-44);\n }\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-expressive {\n display: grid;\n grid-template-columns: minmax(0, var(--brand-Testimonial-expressive-quote-maxWidth)) var(\n --brand-Testimonial-expressive-media-width\n );\n column-gap: calc(var(--base-size-96) + var(--base-size-24));\n align-items: end;\n margin-inline: auto;\n padding-inline: var(--base-size-48);\n padding-block: var(--base-size-88);\n }\n\n .Testimonial--variant-expressive.Testimonial--hasLink {\n row-gap: var(--base-size-48);\n }\n\n .Testimonial--variant-expressive .Testimonial__quoteWrapper {\n grid-column: 1;\n grid-row: 1;\n gap: var(--base-size-48);\n }\n\n .Testimonial--variant-expressive .Testimonial__media {\n grid-column: 2;\n grid-row: 1;\n gap: var(--base-size-32);\n }\n\n .Testimonial--variant-expressive.Testimonial--hasLink .Testimonial__media {\n grid-row: 1 / span 2;\n }\n\n .Testimonial--variant-expressive .Testimonial-caption {\n padding-block-start: var(--base-size-24);\n }\n\n .Testimonial--variant-expressive .Testimonial-link {\n grid-column: 1;\n grid-row: 2;\n }\n}\n\n@media screen and (min-width: 80rem) {\n .Testimonial--variant-expressive {\n padding-inline: 0;\n }\n\n .Testimonial--variant-expressive .Testimonial-avatar {\n width: var(--base-size-48);\n height: var(--base-size-48);\n }\n}\n\n.Testimonial-link {\n margin-block-start: var(--base-size-8);\n}\n\n.Testimonial--variant-expressive .Testimonial-link {\n align-self: flex-start;\n width: fit-content;\n margin-block-start: 0;\n}\n\n.Testimonial__quoteMark--default {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-default);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-default);\n}\n\n.Testimonial__quoteMark--blue {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-blue);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-blue);\n}\n\n.Testimonial__quoteMark--coral {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-coral);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-coral);\n}\n\n.Testimonial__quoteMark--green {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-green);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-green);\n}\n\n.Testimonial__quoteMark--gray {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-gray);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-gray);\n}\n\n.Testimonial__quoteMark--indigo {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-indigo);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-indigo);\n}\n\n.Testimonial__quoteMark--lemon {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-lemon);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-lemon);\n}\n\n.Testimonial__quoteMark--lime {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-lime);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-lime);\n}\n\n.Testimonial__quoteMark--orange {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-orange);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-orange);\n}\n\n.Testimonial__quoteMark--pink {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-pink);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-pink);\n}\n\n.Testimonial__quoteMark--purple {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-purple);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-purple);\n}\n\n.Testimonial__quoteMark--red {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-red);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-red);\n}\n\n.Testimonial__quoteMark--teal {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-teal);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-teal);\n}\n\n.Testimonial__quoteMark--yellow {\n --brand-Testimonial-quoteMarkColor: var(--brand-Testimonial-quoteMarkColor-yellow);\n --brand-Testimonial-quoteMarkBackground: var(--brand-Testimonial-quoteMarkBackground-yellow);\n}\n\n.Testimonial--variant-minimal {\n margin: 0;\n width: 100%;\n}\n\n.Testimonial--variant-minimal .Testimonial__quoteWrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--base-size-40);\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial__quoteWrapper {\n gap: var(--base-size-48);\n}\n\n.Testimonial--variant-minimal blockquote {\n margin: 0;\n}\n\n.Testimonial--variant-minimal .Testimonial-quote {\n font-size: var(--brand-Testimonial-quote-fontSize-default);\n font-weight: var(--brand-Testimonial-quote-fontWeight-default);\n line-height: var(--brand-text-lineHeight-700);\n letter-spacing: var(--brand-text-letterSpacing-400);\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-text-size-600);\n font-weight: var(--brand-heading-weight-500);\n line-height: var(--brand-Testimonial-minimal-quote-lineHeight);\n}\n\n.Testimonial--variant-minimal .Testimonial__media {\n gap: var(--base-size-16);\n margin-block-start: var(--base-size-40);\n padding-block-start: 0;\n}\n\n.Testimonial--variant-minimal.Testimonial--size-large .Testimonial__media {\n margin-block-start: var(--base-size-32);\n padding-block-start: var(--base-size-8);\n}\n\n.Testimonial--variant-minimal .Testimonial-caption {\n min-width: 0;\n gap: var(--base-size-2);\n}\n\n.Testimonial--variant-minimal .Testimonial-from,\n.Testimonial--variant-minimal .Testimonial-position {\n font-family: var(--brand-fontStack-sansSerif);\n font-size: var(--brand-text-size-200);\n font-weight: var(--base-text-weight-normal);\n line-height: var(--brand-text-lineHeight-200);\n letter-spacing: var(--brand-text-letterSpacing-200);\n text-transform: none;\n}\n\n.Testimonial--variant-minimal .Testimonial-avatar {\n width: var(--base-size-64);\n height: var(--base-size-64);\n}\n\n@media screen and (min-width: 63.25rem) {\n .Testimonial--variant-subtle .Testimonial__quoteWrapper,\n .Testimonial--variant-default .Testimonial__quoteWrapper,\n .Testimonial--variant-minimal .Testimonial__quoteWrapper {\n gap: var(--base-size-48);\n }\n\n .Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-Testimonial-minimal-quote-fontSize-large);\n }\n}\n\n@media screen and (min-width: 34rem) and (max-width: 47.99rem) {\n .Testimonial--variant-minimal.Testimonial--size-large .Testimonial-quote {\n font-size: var(--brand-text-size-700);\n }\n}\n"],"mappings":""}
@@ -0,0 +1 @@
1
+ :root{--brand-Testimonial-quote-letterSpacing-large:var(--brand-text-letterSpacing-900);--brand-Testimonial-quote-letterSpacing-default:var(--brand-text-letterSpacing-400);--brand-Testimonial-quote-fontWeight-large:var(--brand-heading-weight-600);--brand-Testimonial-quote-fontWeight-default:var(--brand-heading-weight-1000);--brand-Testimonial-quote-fontSize-large:var(--brand-text-size-500);--brand-Testimonial-quote-fontSize-default:var(--brand-text-size-400);--brand-Testimonial-expressive-media-width:100%;--brand-Testimonial-expressive-position-letterSpacing:.01em;--brand-Testimonial-expressive-position-lineHeight:1.6;--brand-Testimonial-expressive-name-letterSpacing:.0107em;--brand-Testimonial-expressive-quote-letterSpacing:-.01em;--brand-Testimonial-expressive-quote-fontWeight:425;--brand-Testimonial-expressive-quote-fontSize:1.5rem;--brand-Testimonial-expressive-quote-maxWidth:744px;--brand-Testimonial-expressive-maxWidth:1176px;--brand-Testimonial-minimal-quote-lineHeight:1.35;--brand-Testimonial-minimal-quote-fontSize-large:2rem}@media (width>=48rem){:root{--brand-Testimonial-expressive-media-width:22.25rem;--brand-Testimonial-expressive-quote-letterSpacing:-.02em;--brand-Testimonial-expressive-quote-fontSize:1.625rem;--brand-Testimonial-expressive-maxWidth:38.625rem}}@media (width>=63.25rem){:root{--brand-Testimonial-expressive-media-width:19.5rem;--brand-Testimonial-expressive-quote-fontSize:2rem;--brand-Testimonial-expressive-maxWidth:73.5rem}}
@@ -21,8 +21,21 @@ export type LinkProps = {
21
21
  */
22
22
  variant?: (typeof LinkVariants)[number];
23
23
  } & React.ComponentPropsWithoutRef<'a'>;
24
- /**
25
- * Links connect users to related content.
26
- * These are not intended to be used as a call-to-action.
27
- */
28
- export declare function Link({ size, variant, className, children, isExternal, onMouseEnter, onMouseLeave, onFocus, onBlur, arrowDirection, ...props }: LinkProps): React.JSX.Element;
24
+ export declare const Link: React.ForwardRefExoticComponent<{
25
+ /**
26
+ * The size variations available in Link
27
+ */
28
+ size?: (typeof LinkSizes)[number];
29
+ /**
30
+ * Position of the arrow.
31
+ */
32
+ arrowDirection?: (typeof LinkArrowDirections)[number];
33
+ /**
34
+ * Show an external link icon
35
+ */
36
+ isExternal?: boolean;
37
+ /**
38
+ * Specify alternative link appearance
39
+ */
40
+ variant?: (typeof LinkVariants)[number];
41
+ } & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
@@ -1,6 +1,9 @@
1
1
  import React, { HTMLAttributes, SVGProps } from 'react';
2
2
  import { BaseProps } from '../component-helpers';
3
3
  import type { AvatarProps } from '../';
4
+ /**
5
+ * Design tokens
6
+ */
4
7
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/base.css';
5
8
  import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css';
6
9
  type TestimonialSize = 'small' | 'large';
@@ -11,7 +14,7 @@ type TestimonialVariant = (typeof TestimonialVariants)[number];
11
14
  export declare const defaultTestimonialVariant: TestimonialVariant;
12
15
  export type TestimonialProps = {
13
16
  /**
14
- * Sets alternative appearance for the testimonial
17
+ * Sets alternative visual appearance
15
18
  */
16
19
  variant?: TestimonialVariant;
17
20
  /**
@@ -19,9 +22,9 @@ export type TestimonialProps = {
19
22
  */
20
23
  hasBorder?: boolean;
21
24
  /**
22
- * Valid children include Testimonial.Name, Testimonial.Avatar, and Testimonial.Name
25
+ * Valid children
23
26
  */
24
- children: React.ReactNode | React.ReactElement<QuoteProps> | React.ReactElement<NameProps> | React.ReactElement<AvatarProps> | React.ReactElement<LogoProps>[];
27
+ children: React.ReactNode;
25
28
  /**
26
29
  * Sets the testimonial text size
27
30
  */
@@ -32,45 +35,47 @@ export type TestimonialProps = {
32
35
  quoteMarkClassName?: string;
33
36
  /** Class applied to the attribution wrapper. */
34
37
  mediaClassName?: string;
38
+ ['data-testid']?: string;
35
39
  } & BaseProps<HTMLElement> & React.HTMLAttributes<HTMLElement>;
36
40
  /**
37
41
  * Testimonial quote child element
38
42
  * <Testimonial.Quote>
39
43
  */
40
- type QuoteProps = React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>;
44
+ type TestimonialQuoteProps = React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>;
41
45
  /**
42
46
  * Testimonial name child element
43
47
  * <Testimonial.Name>
44
48
  */
45
- type NameProps = {
49
+ type TestimonialNameProps = {
46
50
  position?: string;
47
51
  } & React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>;
48
52
  /**
49
53
  * Testimonial logo child element
50
54
  * <Testimonial.Logo>
51
55
  */
52
- type LogoProps = {
56
+ type TestimonialLogoProps = {
53
57
  children: React.ReactElement<SVGProps<SVGSVGElement>> | React.ReactElement<HTMLAttributes<HTMLImageElement>>;
54
58
  } & React.HTMLAttributes<HTMLImageElement> & BaseProps<HTMLImageElement>;
55
- /**
56
- * Testimonial avatar child element
57
- * <Testimonial.Avatar>
58
- */
59
- declare function _Avatar({ size, className, ...rest }: AvatarProps): React.JSX.Element;
60
59
  /**
61
60
  * Use Testimonial to display a quote from a customer or user.
62
61
  * @see https://primer.style/brand/components/Testimonial
63
62
  */
64
- export declare const Testimonial: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<TestimonialProps>, "ref"> & React.RefAttributes<unknown>> & {
65
- Quote: React.ForwardRefExoticComponent<Omit<QuoteProps, "ref"> & React.RefAttributes<unknown>>;
66
- Name: React.ForwardRefExoticComponent<Omit<NameProps, "ref"> & React.RefAttributes<unknown>>;
67
- Avatar: typeof _Avatar;
68
- Logo: React.ForwardRefExoticComponent<Omit<LogoProps, "ref"> & React.RefAttributes<unknown>>;
63
+ export declare const Testimonial: React.ForwardRefExoticComponent<Omit<TestimonialProps, "ref"> & React.RefAttributes<HTMLElement>> & {
64
+ Quote: React.ForwardRefExoticComponent<Omit<TestimonialQuoteProps, "ref"> & React.RefAttributes<HTMLElement>>;
65
+ Name: React.ForwardRefExoticComponent<Omit<TestimonialNameProps, "ref"> & React.RefAttributes<HTMLElement>>;
66
+ Avatar: React.ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & React.RefAttributes<HTMLImageElement>>;
67
+ Logo: React.ForwardRefExoticComponent<Omit<TestimonialLogoProps, "ref"> & React.RefAttributes<unknown>>;
69
68
  Link: React.ForwardRefExoticComponent<{
70
69
  size?: typeof import("../Link").LinkSizes[number];
71
70
  arrowDirection?: typeof import("../Link").LinkArrowDirections[number];
72
71
  isExternal?: boolean;
73
72
  variant?: typeof import("../Link").LinkVariants[number];
74
- } & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & React.RefAttributes<unknown>>;
73
+ } & Omit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
74
+ testIds: {
75
+ root: string;
76
+ readonly quoteMark: string;
77
+ readonly quoteWrapper: string;
78
+ readonly media: string;
79
+ };
75
80
  };
76
81
  export {};