@primer/react-brand 0.80.2-rc.93619886 → 0.81.0-rc.1b89e69c
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.
- package/docs/index.md +2 -2
- package/esm/Avatar/Avatar.d.ts.map +1 -1
- package/esm/Avatar/Avatar.js +1 -1
- package/esm/Avatar/Avatar.js.map +1 -1
- package/esm/Link/Link.d.ts +18 -5
- package/esm/Link/Link.d.ts.map +1 -1
- package/esm/Link/Link.js +34 -32
- package/esm/Link/Link.js.map +1 -1
- package/esm/Testimonial/Testimonial.d.ts +22 -17
- package/esm/Testimonial/Testimonial.d.ts.map +1 -1
- package/esm/Testimonial/Testimonial.js +64 -47
- package/esm/Testimonial/Testimonial.js.map +1 -1
- package/esm/Testimonial/Testimonial.module-C15wxD-l.css +1 -0
- package/esm/Testimonial/Testimonial.module.js +1 -1
- package/esm/Testimonial/Testimonial.module.js.map +1 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-uEcPTyOn.css +1 -0
- package/lib/Link/Link.d.ts +18 -5
- package/lib/Testimonial/Testimonial.d.ts +22 -17
- package/lib/css/main.css +129 -116
- package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
- package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
- package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
- package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/button/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/button/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/card/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/card/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/card/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/carousel-pagination/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/comparison-table/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/comparison-table/comparison-table.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/cta-banner/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/eyebrow-banner/eyebrow-banner.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/faq/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/faq/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/faq/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/faq/faq.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/feature-comparison-table/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/footer/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon-button/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon-button/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon-button/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/spinner/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/spinner/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/spinner/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/statistic/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/sub-nav/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/sub-nav/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tabs/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tabs/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tabs/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/testimonial/base.css +27 -1
- package/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/testimonial/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/testimonial-group/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tiles/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tiles/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/timeline/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/timeline/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/timeline/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/toggle-switch/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/token/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/token/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tooltip/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/tooltip/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/video-player/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/video-player/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/border.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/breakpoints.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/size-coarse.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/size-fine.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/size.css +1 -1
- package/lib/design-tokens/css/tokens/functional/size/viewport.css +1 -1
- package/lib/design-tokens/css/tokens/functional/typography/typography-responsive.css +1 -1
- package/lib/design-tokens/css/tokens/functional/typography/typography.css +1 -1
- package/lib/design-tokens/js/module/tokens/base/colors/light.js +1 -1
- package/lib/design-tokens/js/module/tokens/base/size/size.js +1 -1
- package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/button/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/card/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/card/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/carousel-pagination/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/comparison-table/comparison-table.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/faq/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/faq/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/faq/faq.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/feature-comparison-table/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/footer/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/icon-button/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/icon-button/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/spinner/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/spinner/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/statistic/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/sub-nav/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/tabs/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/tabs/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/testimonial/base.js +20 -1
- package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/testimonial-group/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/tiles/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/timeline/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/timeline/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/toggle-switch/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/token/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/tooltip/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/video-player/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/border.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/breakpoints.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/size-coarse.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/size-fine.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/size.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/size/viewport.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/typography/typography-responsive.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/typography/typography.js +1 -1
- package/lib/design-tokens/js/tokens/base/colors/light.js +1 -1
- package/lib/design-tokens/js/tokens/base/size/size.js +1 -1
- package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/button/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/card/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/card/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/carousel-pagination/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/comparison-table/comparison-table.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/faq/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/faq/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/faq/faq.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/feature-comparison-table/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/footer/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/icon-button/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/icon-button/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/spinner/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/spinner/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/statistic/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/sub-nav/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/tabs/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/tabs/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/testimonial/base.js +10 -1
- package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/testimonial-group/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/tiles/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/timeline/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/timeline/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/toggle-switch/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/toggle-switch/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/token/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/tooltip/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/video-player/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/border.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/breakpoints.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/size-coarse.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/size-fine.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/size.js +1 -1
- package/lib/design-tokens/js/tokens/functional/size/viewport.js +1 -1
- package/lib/design-tokens/js/tokens/functional/typography/typography-responsive.js +1 -1
- package/lib/design-tokens/js/tokens/functional/typography/typography.js +1 -1
- package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
- package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
- package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/button/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/card/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/card/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/carousel-pagination/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/comparison-table/comparison-table.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/eyebrow-banner/eyebrow-banner.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/faq/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/faq/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/faq/faq.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/feature-comparison-table/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/footer/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/icon-button/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/icon-button/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/spinner/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/spinner/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/statistic/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/sub-nav/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/tabs/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/tabs/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/testimonial/base.scss +10 -1
- package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/testimonial-group/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/tiles/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/timeline/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/timeline/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/toggle-switch/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/token/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/tooltip/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/video-player/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/border.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/size-coarse.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/size-fine.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/size.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/size/viewport.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/typography/typography-responsive.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/typography/typography.scss +1 -1
- package/lib/design-tokens/ts/tokens/base/colors/light.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/base/colors/light.js +1 -1
- package/lib/design-tokens/ts/tokens/base/size/size.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
- package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/button/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/button/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/card/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/card/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/card/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/card/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/carousel-pagination/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/comparison-table/comparison-table.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/eyebrow-banner/eyebrow-banner.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/faq.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/faq/faq.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/feature-comparison-table/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon-button/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon-button/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/spinner/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/spinner/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/spinner/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/statistic/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/statistic/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/sub-nav/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tabs/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tabs/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tabs/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.d.ts +35 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +20 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial-group/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tiles/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tiles/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/timeline/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/timeline/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/timeline/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/toggle-switch/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/token/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/token/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/tooltip/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/video-player/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/video-player/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/border.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/border.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/breakpoints.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/breakpoints.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size-coarse.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size-coarse.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size-fine.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size-fine.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/size.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/viewport.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/size/viewport.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/typography/typography-responsive.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/typography/typography.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/typography/typography.js +1 -1
- package/lib/index.js +1 -1
- package/llms.txt +2 -2
- package/package.json +1 -1
- package/esm/Testimonial/Testimonial.module-BqMYuLeo.css +0 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-h_olG8bi.css +0 -1
package/docs/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Primer Brand docs (v0.
|
|
1
|
+
# Primer Brand docs (v0.81.0-rc.1b89e69c)
|
|
2
2
|
|
|
3
|
-
These docs are bundled with `@primer/react-brand@0.
|
|
3
|
+
These docs are bundled with `@primer/react-brand@0.81.0-rc.1b89e69c` and match your installed version.
|
|
4
4
|
|
|
5
5
|
New here? Start with [Getting started](getting-started/index.md) for installation, global
|
|
6
6
|
stylesheet and font setup. Component directories are named after their import (e.g.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAEnD,eAAO,MAAM,WAAW,+BAAgC,CAAA;AACxD,eAAO,MAAM,YAAY,+BAAgC,CAAA;AAEzD,KAAK,kBAAkB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,KAAK,iBAAiB,GAAG;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG;IACtD,IAAI,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAA;IACvD,KAAK,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAEnD,eAAO,MAAM,WAAW,+BAAgC,CAAA;AACxD,eAAO,MAAM,YAAY,+BAAgC,CAAA;AAEzD,KAAK,kBAAkB,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,KAAK,iBAAiB,GAAG;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG;IACtD,IAAI,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAA;IACvD,KAAK,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;AAuC7C,eAAO,MAAM,MAAM;;;;;CAAoC,CAAA"}
|
package/esm/Avatar/Avatar.js
CHANGED
|
@@ -17,10 +17,10 @@ var a = [
|
|
|
17
17
|
}, c = n(({ alt: n, className: c, size: l = a[1], shape: u = o[0], "data-testid": d, src: f, ...p }, m) => {
|
|
18
18
|
let h = r(() => typeof l == "number" ? t[`Avatar--size-${l}`] : Object.keys(l).map((e) => t[`Avatar-${e}--size-${l[e]}`]).join(" "), [l]);
|
|
19
19
|
return /* @__PURE__ */ i("span", {
|
|
20
|
-
ref: m,
|
|
21
20
|
className: e(t.Avatar, h, t[`Avatar--shape-${u}`], c),
|
|
22
21
|
"data-testid": d || s.root,
|
|
23
22
|
children: /* @__PURE__ */ i("img", {
|
|
23
|
+
ref: m,
|
|
24
24
|
className: e(t.Avatar__image),
|
|
25
25
|
src: f,
|
|
26
26
|
alt: n,
|
package/esm/Avatar/Avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":[],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import React, {forwardRef, useMemo} from 'react'\nimport {clsx} from 'clsx'\nimport styles from './Avatar.module.css'\n\nimport type {BaseProps} from '../component-helpers'\n\nexport const AvatarSizes = [32, 40, 48, 64, 80] as const\nexport const AvatarShapes = ['circle', 'square'] as const\n\ntype AvatarSizeVariants = (typeof AvatarSizes)[number]\n\ntype ResponsiveSizeMap = {\n narrow?: AvatarSizeVariants\n regular?: AvatarSizeVariants\n wide?: AvatarSizeVariants\n}\n\nexport type AvatarProps = BaseProps<HTMLImageElement> & {\n size?: (typeof AvatarSizes)[number] | ResponsiveSizeMap\n shape?: (typeof AvatarShapes)[number]\n src: string\n alt: string\n ['data-testid']?: string\n} & React.ImgHTMLAttributes<HTMLImageElement>\n\nconst testIds = {\n root: 'Avatar',\n get image() {\n return `${this.root}__image`\n },\n}\n\nconst _Avatar = forwardRef<HTMLImageElement, AvatarProps>(\n ({alt, className, size = AvatarSizes[1], shape = AvatarShapes[0], 'data-testid': testId, src, ...props}, ref) => {\n const sizeClass = useMemo(() => {\n return typeof size === 'number'\n ? styles[`Avatar--size-${size}`]\n : Object.keys(size)\n .map(viewport => {\n return styles[`Avatar-${viewport}--size-${size[viewport]}`]\n })\n .join(' ')\n }, [size])\n\n return (\n <span\n
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":[],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import React, {forwardRef, useMemo} from 'react'\nimport {clsx} from 'clsx'\nimport styles from './Avatar.module.css'\n\nimport type {BaseProps} from '../component-helpers'\n\nexport const AvatarSizes = [32, 40, 48, 64, 80] as const\nexport const AvatarShapes = ['circle', 'square'] as const\n\ntype AvatarSizeVariants = (typeof AvatarSizes)[number]\n\ntype ResponsiveSizeMap = {\n narrow?: AvatarSizeVariants\n regular?: AvatarSizeVariants\n wide?: AvatarSizeVariants\n}\n\nexport type AvatarProps = BaseProps<HTMLImageElement> & {\n size?: (typeof AvatarSizes)[number] | ResponsiveSizeMap\n shape?: (typeof AvatarShapes)[number]\n src: string\n alt: string\n ['data-testid']?: string\n} & React.ImgHTMLAttributes<HTMLImageElement>\n\nconst testIds = {\n root: 'Avatar',\n get image() {\n return `${this.root}__image`\n },\n}\n\nconst _Avatar = forwardRef<HTMLImageElement, AvatarProps>(\n ({alt, className, size = AvatarSizes[1], shape = AvatarShapes[0], 'data-testid': testId, src, ...props}, ref) => {\n const sizeClass = useMemo(() => {\n return typeof size === 'number'\n ? styles[`Avatar--size-${size}`]\n : Object.keys(size)\n .map(viewport => {\n return styles[`Avatar-${viewport}--size-${size[viewport]}`]\n })\n .join(' ')\n }, [size])\n\n return (\n <span\n className={clsx(styles.Avatar, sizeClass, styles[`Avatar--shape-${shape}`], className)}\n data-testid={testId || testIds.root}\n >\n <img\n ref={ref}\n className={clsx(styles.Avatar__image)}\n src={src}\n alt={alt}\n data-testid={testIds.image}\n {...props}\n />\n </span>\n )\n },\n)\n\nexport const Avatar = Object.assign(_Avatar, {testIds})\n"],"mappings":";;;;;AAMA,IAAa,IAAc;CAAC;CAAI;CAAI;CAAI;CAAI;AAAE,GACjC,IAAe,CAAC,UAAU,QAAQ,GAkBzC,IAAU;CACd,MAAM;CACN,IAAI,QAAQ;EACV,OAAO,GAAG,KAAK,KAAK;CACtB;AACF,GAEM,IAAU,GACb,EAAC,QAAK,cAAW,UAAO,EAAY,IAAI,WAAQ,EAAa,IAAI,eAAe,GAAQ,QAAK,GAAG,KAAQ,MAAQ;CAC/G,IAAM,IAAY,QACT,OAAO,KAAS,WACnB,EAAO,gBAAgB,OACvB,OAAO,KAAK,CAAI,CAAC,CACd,KAAI,MACI,EAAO,UAAU,EAAS,SAAS,EAAK,KAChD,CAAC,CACD,KAAK,GAAG,GACd,CAAC,CAAI,CAAC;CAET,OACE,kBAAC,QAAD;EACE,WAAW,EAAK,EAAO,QAAQ,GAAW,EAAO,iBAAiB,MAAU,CAAS;EACrF,eAAa,KAAU,EAAQ;YAE/B,kBAAC,OAAD;GACO;GACL,WAAW,EAAK,EAAO,aAAa;GAC/B;GACA;GACL,eAAa,EAAQ;GACrB,GAAI;EACL,CAAA;CACG,CAAA;AAEV,CACF,GAEa,IAAS,OAAO,OAAO,GAAS,EAAC,WAAO,CAAC"}
|
package/esm/Link/Link.d.ts
CHANGED
|
@@ -21,9 +21,22 @@ export type LinkProps = {
|
|
|
21
21
|
*/
|
|
22
22
|
variant?: (typeof LinkVariants)[number];
|
|
23
23
|
} & React.ComponentPropsWithoutRef<'a'>;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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>>;
|
|
29
42
|
//# sourceMappingURL=Link.d.ts.map
|
package/esm/Link/Link.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/Link/Link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAMpD,OAAO,wGAAwG,CAAA;AAE/G,eAAO,MAAM,YAAY,gCAAiC,CAAA;AAC1D,eAAO,MAAM,SAAS,uCAAwC,CAAA;AAC9D,eAAO,MAAM,mBAAmB,mCAAoC,CAAA;AAcpE,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;IACrD;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;CACxC,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;AA0FvC,eAAO,MAAM,IAAI;IA1Gf;;OAEG;WACI,CAAC,OAAO,SAAS,EAAE,MAAM,CAAC;IACjC;;OAEG;qBACc,CAAC,OAAO,mBAAmB,EAAE,MAAM,CAAC;IACrD;;OAEG;iBACU,OAAO;IACpB;;OAEG;cACO,CAAC,OAAO,YAAY,EAAE,MAAM,CAAC;oJA2FD,CAAA"}
|
package/esm/Link/Link.js
CHANGED
|
@@ -4,69 +4,71 @@ import { ExpandableArrow as n } from "../ExpandableArrow/ExpandableArrow.js";
|
|
|
4
4
|
import { LinkExternalIcon as r } from "../node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js";
|
|
5
5
|
import i from "./Link.module.js";
|
|
6
6
|
import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes-JvDrymoz.css';/* empty css */
|
|
7
|
-
import a, {
|
|
8
|
-
import { jsx as
|
|
7
|
+
import a, { forwardRef as o, useCallback as s } from "react";
|
|
8
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
9
9
|
//#region src/Link/Link.tsx
|
|
10
|
-
var
|
|
10
|
+
var u = ["default", "accent"], d = [
|
|
11
11
|
"small",
|
|
12
12
|
"medium",
|
|
13
13
|
"large"
|
|
14
|
-
],
|
|
14
|
+
], f = [
|
|
15
15
|
"start",
|
|
16
16
|
"end",
|
|
17
17
|
"none"
|
|
18
|
-
],
|
|
18
|
+
], p = {
|
|
19
19
|
small: "100",
|
|
20
20
|
medium: "200",
|
|
21
21
|
large: "300"
|
|
22
|
-
},
|
|
22
|
+
}, m = {
|
|
23
23
|
small: 16,
|
|
24
24
|
medium: 16,
|
|
25
25
|
large: 20
|
|
26
26
|
};
|
|
27
|
-
function
|
|
28
|
-
let [
|
|
29
|
-
|
|
30
|
-
}, [g,
|
|
31
|
-
|
|
32
|
-
}, [_,
|
|
33
|
-
|
|
34
|
-
}, [v,
|
|
35
|
-
|
|
36
|
-
}, [y,
|
|
37
|
-
return /* @__PURE__ */
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
function h({ size: o = "medium", variant: u = "default", className: d, children: f, isExternal: h, onMouseEnter: g, onMouseLeave: _, onFocus: v, onBlur: y, arrowDirection: b = "end", ...x }, S) {
|
|
28
|
+
let [C, w] = a.useState(!1), [T, E] = a.useState(!1), D = s((e) => {
|
|
29
|
+
w(!C), g?.(e);
|
|
30
|
+
}, [g, C]), O = s((e) => {
|
|
31
|
+
w(!C), _?.(e);
|
|
32
|
+
}, [_, C]), k = s((e) => {
|
|
33
|
+
E(!T), v?.(e);
|
|
34
|
+
}, [v, T]), A = s((e) => {
|
|
35
|
+
E(!T), y?.(e);
|
|
36
|
+
}, [y, T]);
|
|
37
|
+
return /* @__PURE__ */ l("a", {
|
|
38
|
+
ref: S,
|
|
39
|
+
className: e(i.Link, i[`Link--${o}`], i[`Link--${u}`], h ? i["Link--is-external"] : i[`Link--arrow-${b}`], d),
|
|
40
|
+
onMouseEnter: D,
|
|
41
|
+
onMouseLeave: O,
|
|
42
|
+
onFocus: k,
|
|
43
|
+
onBlur: A,
|
|
43
44
|
...x,
|
|
44
45
|
children: [
|
|
45
|
-
b === "start" && !h && /* @__PURE__ */
|
|
46
|
+
b === "start" && !h && /* @__PURE__ */ c(n, {
|
|
46
47
|
className: i["Link-arrow"],
|
|
47
|
-
expanded:
|
|
48
|
+
expanded: C || T,
|
|
48
49
|
reverse: !0,
|
|
49
50
|
hidden: !0
|
|
50
51
|
}),
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
+
/* @__PURE__ */ c(t, {
|
|
52
53
|
as: "span",
|
|
53
|
-
size:
|
|
54
|
+
size: p[o],
|
|
54
55
|
className: e(i["Link--label"]),
|
|
55
|
-
children:
|
|
56
|
+
children: f
|
|
56
57
|
}),
|
|
57
|
-
b === "end" && !h && /* @__PURE__ */
|
|
58
|
+
b === "end" && !h && /* @__PURE__ */ c(n, {
|
|
58
59
|
className: i["Link-arrow"],
|
|
59
|
-
expanded:
|
|
60
|
+
expanded: C || T,
|
|
60
61
|
hidden: !0
|
|
61
62
|
}),
|
|
62
|
-
h && /* @__PURE__ */
|
|
63
|
-
size:
|
|
63
|
+
h && /* @__PURE__ */ c(r, {
|
|
64
|
+
size: m[o],
|
|
64
65
|
"aria-label": "External link"
|
|
65
66
|
})
|
|
66
67
|
]
|
|
67
68
|
});
|
|
68
69
|
}
|
|
70
|
+
var g = o(h);
|
|
69
71
|
//#endregion
|
|
70
|
-
export {
|
|
72
|
+
export { g as Link, f as LinkArrowDirections, d as LinkSizes, u as LinkVariants };
|
|
71
73
|
|
|
72
74
|
//# sourceMappingURL=Link.js.map
|
package/esm/Link/Link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","names":[],"sources":["../../src/Link/Link.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {useCallback} from 'react'\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {LinkExternalIcon} from '@primer/octicons-react'\nimport {Text} from '../Text'\n\nimport styles from './Link.module.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css'\n\nexport const LinkVariants = ['default', 'accent'] as const\nexport const LinkSizes = ['small', 'medium', 'large'] as const\nexport const LinkArrowDirections = ['start', 'end', 'none'] as const\n\nconst LinkTextSizes = {\n small: '100',\n medium: '200',\n large: '300',\n} as const\n\nconst LinkExternalIconSizes = {\n small: 16,\n medium: 16,\n large: 20,\n} as const\n\nexport type LinkProps = {\n /**\n * The size variations available in Link\n */\n size?: (typeof LinkSizes)[number]\n /**\n * Position of the arrow.\n */\n arrowDirection?: (typeof LinkArrowDirections)[number]\n /**\n * Show an external link icon\n */\n isExternal?: boolean\n /**\n * Specify alternative link appearance\n */\n variant?: (typeof LinkVariants)[number]\n} & React.ComponentPropsWithoutRef<'a'>\n\n/**\n * Links connect users to related content.\n * These are not intended to be used as a call-to-action.\n */\
|
|
1
|
+
{"version":3,"file":"Link.js","names":[],"sources":["../../src/Link/Link.tsx"],"sourcesContent":["import {clsx} from 'clsx'\nimport React, {forwardRef, useCallback} from 'react'\nimport {ExpandableArrow} from '../ExpandableArrow'\nimport {LinkExternalIcon} from '@primer/octicons-react'\nimport {Text} from '../Text'\n\nimport styles from './Link.module.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css'\n\nexport const LinkVariants = ['default', 'accent'] as const\nexport const LinkSizes = ['small', 'medium', 'large'] as const\nexport const LinkArrowDirections = ['start', 'end', 'none'] as const\n\nconst LinkTextSizes = {\n small: '100',\n medium: '200',\n large: '300',\n} as const\n\nconst LinkExternalIconSizes = {\n small: 16,\n medium: 16,\n large: 20,\n} as const\n\nexport type LinkProps = {\n /**\n * The size variations available in Link\n */\n size?: (typeof LinkSizes)[number]\n /**\n * Position of the arrow.\n */\n arrowDirection?: (typeof LinkArrowDirections)[number]\n /**\n * Show an external link icon\n */\n isExternal?: boolean\n /**\n * Specify alternative link appearance\n */\n variant?: (typeof LinkVariants)[number]\n} & React.ComponentPropsWithoutRef<'a'>\n\n/**\n * Links connect users to related content.\n * These are not intended to be used as a call-to-action.\n */\nfunction LinkBase(\n {\n size = 'medium',\n variant = 'default',\n className,\n children,\n isExternal,\n onMouseEnter,\n onMouseLeave,\n onFocus,\n onBlur,\n arrowDirection = 'end',\n ...props\n }: LinkProps,\n ref: React.ForwardedRef<HTMLAnchorElement>,\n) {\n const [isHovered, setIsHovered] = React.useState(false)\n const [isFocused, setIsFocused] = React.useState(false)\n\n const handleMouseEnter = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseEnter?.(event)\n },\n [onMouseEnter, isHovered],\n )\n\n const handleMouseLeave = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n setIsHovered(!isHovered)\n onMouseLeave?.(event)\n },\n [onMouseLeave, isHovered],\n )\n\n const handleOnFocus = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onFocus?.(event)\n },\n [onFocus, isFocused],\n )\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent<HTMLAnchorElement, Element>) => {\n setIsFocused(!isFocused)\n onBlur?.(event)\n },\n [onBlur, isFocused],\n )\n\n return (\n <a\n ref={ref}\n className={clsx(\n styles.Link,\n styles[`Link--${size}`],\n styles[`Link--${variant}`],\n isExternal ? styles['Link--is-external'] : styles[`Link--arrow-${arrowDirection}`],\n className,\n )}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n {...props}\n >\n {arrowDirection === 'start' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} reverse hidden />\n )}\n\n <Text as=\"span\" size={LinkTextSizes[size]} className={clsx(styles['Link--label'])}>\n {children}\n </Text>\n\n {arrowDirection === 'end' && !isExternal && (\n <ExpandableArrow className={styles['Link-arrow']} expanded={isHovered || isFocused} hidden />\n )}\n\n {isExternal && <LinkExternalIcon size={LinkExternalIconSizes[size]} aria-label=\"External link\" />}\n </a>\n )\n}\n\nexport const Link = forwardRef(LinkBase)\n"],"mappings":";;;;;;;;;AASA,IAAa,IAAe,CAAC,WAAW,QAAQ,GACnC,IAAY;CAAC;CAAS;CAAU;AAAO,GACvC,IAAsB;CAAC;CAAS;CAAO;AAAM,GAEpD,IAAgB;CACpB,OAAO;CACP,QAAQ;CACR,OAAO;AACT,GAEM,IAAwB;CAC5B,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AAyBA,SAAS,EACP,EACE,UAAO,UACP,aAAU,WACV,cACA,aACA,eACA,iBACA,iBACA,YACA,WACA,oBAAiB,OACjB,GAAG,KAEL,GACA;CACA,IAAM,CAAC,GAAW,KAAgB,EAAM,SAAS,EAAK,GAChD,CAAC,GAAW,KAAgB,EAAM,SAAS,EAAK,GAEhD,IAAmB,GACtB,MAA2D;EAE1D,AADA,EAAa,CAAC,CAAS,GACvB,IAAe,CAAK;CACtB,GACA,CAAC,GAAc,CAAS,CAC1B,GAEM,IAAmB,GACtB,MAA2D;EAE1D,AADA,EAAa,CAAC,CAAS,GACvB,IAAe,CAAK;CACtB,GACA,CAAC,GAAc,CAAS,CAC1B,GAEM,IAAgB,GACnB,MAAwD;EAEvD,AADA,EAAa,CAAC,CAAS,GACvB,IAAU,CAAK;CACjB,GACA,CAAC,GAAS,CAAS,CACrB,GAEM,IAAe,GAClB,MAAwD;EAEvD,AADA,EAAa,CAAC,CAAS,GACvB,IAAS,CAAK;CAChB,GACA,CAAC,GAAQ,CAAS,CACpB;CAEA,OACE,kBAAC,KAAD;EACO;EACL,WAAW,EACT,EAAO,MACP,EAAO,SAAS,MAChB,EAAO,SAAS,MAChB,IAAa,EAAO,uBAAuB,EAAO,eAAe,MACjE,CACF;EACA,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,GAAI;YAbN;GAeG,MAAmB,WAAW,CAAC,KAC9B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,SAAA;IAAQ,QAAA;GAAQ,CAAA;GAGtG,kBAAC,GAAD;IAAM,IAAG;IAAO,MAAM,EAAc;IAAO,WAAW,EAAK,EAAO,cAAc;IAC7E;GACG,CAAA;GAEL,MAAmB,SAAS,CAAC,KAC5B,kBAAC,GAAD;IAAiB,WAAW,EAAO;IAAe,UAAU,KAAa;IAAW,QAAA;GAAQ,CAAA;GAG7F,KAAc,kBAAC,GAAD;IAAkB,MAAM,EAAsB;IAAO,cAAW;GAAiB,CAAA;EAC/F;;AAEP;AAEA,IAAa,IAAO,EAAW,CAAQ"}
|
|
@@ -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
|
|
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
|
|
25
|
+
* Valid children
|
|
23
26
|
*/
|
|
24
|
-
children: React.ReactNode
|
|
27
|
+
children: React.ReactNode;
|
|
25
28
|
/**
|
|
26
29
|
* Sets the testimonial text size
|
|
27
30
|
*/
|
|
@@ -32,46 +35,48 @@ 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
|
|
44
|
+
type TestimonialQuoteProps = React.HTMLAttributes<HTMLElement> & BaseProps<HTMLElement>;
|
|
41
45
|
/**
|
|
42
46
|
* Testimonial name child element
|
|
43
47
|
* <Testimonial.Name>
|
|
44
48
|
*/
|
|
45
|
-
type
|
|
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
|
|
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<
|
|
65
|
-
Quote: React.ForwardRefExoticComponent<Omit<
|
|
66
|
-
Name: React.ForwardRefExoticComponent<Omit<
|
|
67
|
-
Avatar:
|
|
68
|
-
Logo: React.ForwardRefExoticComponent<Omit<
|
|
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<
|
|
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 {};
|
|
77
82
|
//# sourceMappingURL=Testimonial.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Testimonial.d.ts","sourceRoot":"","sources":["../../src/Testimonial/Testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Testimonial.d.ts","sourceRoot":"","sources":["../../src/Testimonial/Testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,cAAc,EAAc,QAAQ,EAAuC,MAAM,OAAO,CAAA;AAEvG,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,KAAK,CAAA;AAKpC;;GAEG;AAEH,OAAO,kGAAkG,CAAA;AACzG,OAAO,+GAA+G,CAAA;AAKtH,KAAK,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAExC,eAAO,MAAM,0BAA0B,wIAAuB,CAAA;AAC9D,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAE5C,eAAO,MAAM,mBAAmB,yDAA0D,CAAA;AAC1F,KAAK,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC9D,eAAO,MAAM,yBAAyB,EAAE,kBAA8B,CAAA;AAetE,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5D,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAA;CACzB,GAAG,SAAS,CAAC,WAAW,CAAC,GACxB,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAsGnC;;;GAGG;AACH,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;AAavF;;;GAGG;AACH,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GACnC,SAAS,CAAC,WAAW,CAAC,CAAA;AAqBxB;;;GAGG;AACH,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAA;CAC7G,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACxC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AA8C7B;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAOtB,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { Text as r } from "../Text/Text.js";
|
|
|
5
5
|
import { TextCursorAnimation as i } from "../TextCursorAnimation/TextCursorAnimation.js";
|
|
6
6
|
import { Link as a } from "../Link/Link.js";
|
|
7
7
|
import { Avatar as o } from "../Avatar/Avatar.js";
|
|
8
|
-
import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes-BEiXR7-X.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-
|
|
8
|
+
import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/colors-with-modes-BEiXR7-X.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/testimonial/base-uEcPTyOn.css';/* empty css */
|
|
9
9
|
/* empty css */
|
|
10
10
|
import s from "./Testimonial.module.js";
|
|
11
11
|
import c, { forwardRef as l } from "react";
|
|
@@ -16,65 +16,82 @@ var f = [...t], p = "green", m = [
|
|
|
16
16
|
"default",
|
|
17
17
|
"minimal",
|
|
18
18
|
"expressive"
|
|
19
|
-
], h = "minimal"
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
], h = "minimal", g = {
|
|
20
|
+
root: "Testimonial",
|
|
21
|
+
get quoteMark() {
|
|
22
|
+
return `${this.root}__quoteMark`;
|
|
23
|
+
},
|
|
24
|
+
get quoteWrapper() {
|
|
25
|
+
return `${this.root}__quoteWrapper`;
|
|
26
|
+
},
|
|
27
|
+
get media() {
|
|
28
|
+
return `${this.root}__media`;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function _({ quoteMarkColor: t = p, quoteMarkClassName: r, mediaClassName: a, animate: o, className: l, children: m, variant: _ = h, hasBorder: v = !0, size: y, style: x, "data-testid": C, ...T }, D) {
|
|
32
|
+
let { classes: k, styles: A } = n(o), j = f.includes(t) ? t : p, M = /* @__PURE__ */ u("div", {
|
|
22
33
|
"aria-hidden": "true",
|
|
23
|
-
|
|
34
|
+
"data-testid": g.quoteMark,
|
|
35
|
+
className: e(s.Testimonial__quoteMark, s[`Testimonial__quoteMark--${j}`], r),
|
|
24
36
|
children: /* @__PURE__ */ u("span", {
|
|
25
37
|
className: s.Testimonial__quoteMarkGlyph,
|
|
26
38
|
children: "“"
|
|
27
39
|
})
|
|
28
|
-
}),
|
|
40
|
+
}), N = c.Children.toArray(m), P = (e) => N.find((t) => c.isValidElement(t) && t.type === e), F = P(b), I = P(O), L = P(E), R = P(w), z = P(S), B = z && _ === "expressive" && typeof z.props.children == "string" ? c.cloneElement(z, { children: /* @__PURE__ */ u(i, {
|
|
29
41
|
animate: !0,
|
|
30
42
|
animationTrigger: "on-visible",
|
|
31
43
|
variant: "default",
|
|
32
|
-
children:
|
|
33
|
-
}) }) :
|
|
44
|
+
children: z.props.children
|
|
45
|
+
}) }) : z;
|
|
34
46
|
return /* @__PURE__ */ d("figure", {
|
|
35
|
-
ref:
|
|
36
|
-
|
|
47
|
+
ref: D,
|
|
48
|
+
"data-testid": C || g.root,
|
|
49
|
+
className: e(k, s.Testimonial, s[`Testimonial--variant-${_}`], y && s[`Testimonial--size-${y}`], v && s["Testimonial--border"], _ === "expressive" && I && s["Testimonial--hasLink"], l),
|
|
37
50
|
style: {
|
|
38
|
-
...
|
|
39
|
-
...
|
|
40
|
-
"--testimonial-accent-color":
|
|
51
|
+
...A,
|
|
52
|
+
...x,
|
|
53
|
+
"--testimonial-accent-color": j
|
|
41
54
|
},
|
|
42
|
-
...
|
|
55
|
+
...T,
|
|
43
56
|
children: [
|
|
44
57
|
/* @__PURE__ */ d("div", {
|
|
45
58
|
className: s.Testimonial__quoteWrapper,
|
|
59
|
+
"data-testid": g.quoteWrapper,
|
|
46
60
|
children: [
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
61
|
+
M,
|
|
62
|
+
F,
|
|
63
|
+
_ !== "expressive" && I
|
|
50
64
|
]
|
|
51
65
|
}),
|
|
52
66
|
/* @__PURE__ */ d("div", {
|
|
53
67
|
className: e(s.Testimonial__media, a),
|
|
68
|
+
"data-testid": g.media,
|
|
54
69
|
children: [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
70
|
+
L,
|
|
71
|
+
R,
|
|
72
|
+
B
|
|
58
73
|
]
|
|
59
74
|
}),
|
|
60
|
-
|
|
75
|
+
_ === "expressive" && I
|
|
61
76
|
]
|
|
62
77
|
});
|
|
63
78
|
}
|
|
64
|
-
var
|
|
65
|
-
function
|
|
79
|
+
var v = l(_);
|
|
80
|
+
function y({ children: t, className: n, ...i }, a) {
|
|
66
81
|
return /* @__PURE__ */ u("blockquote", {
|
|
67
|
-
|
|
82
|
+
...i,
|
|
83
|
+
ref: a,
|
|
68
84
|
children: /* @__PURE__ */ u(r, {
|
|
69
85
|
className: e(s["Testimonial-quote"], n),
|
|
70
86
|
children: t
|
|
71
87
|
})
|
|
72
88
|
});
|
|
73
89
|
}
|
|
74
|
-
var
|
|
75
|
-
function
|
|
90
|
+
var b = l(y);
|
|
91
|
+
function x({ children: t, className: n, position: i, ...a }, o) {
|
|
76
92
|
return /* @__PURE__ */ d("figcaption", {
|
|
77
|
-
|
|
93
|
+
...a,
|
|
94
|
+
ref: o,
|
|
78
95
|
className: e(s["Testimonial-caption"], n),
|
|
79
96
|
children: [/* @__PURE__ */ u(r, {
|
|
80
97
|
size: "200",
|
|
@@ -89,47 +106,47 @@ function b({ children: t, className: n, position: i }, a) {
|
|
|
89
106
|
})]
|
|
90
107
|
});
|
|
91
108
|
}
|
|
92
|
-
var
|
|
93
|
-
function
|
|
109
|
+
var S = l(x);
|
|
110
|
+
function C({ children: t, ...n }, r) {
|
|
94
111
|
return /* @__PURE__ */ u("div", {
|
|
95
112
|
className: s["Testimonial-logo"],
|
|
96
113
|
...n,
|
|
97
114
|
children: c.Children.map(t, (t) => {
|
|
98
|
-
if (c.isValidElement(t) && t.type === "img") {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
};
|
|
103
|
-
return c.cloneElement(n, i);
|
|
104
|
-
}
|
|
115
|
+
if (c.isValidElement(t) && t.type === "img" || c.isValidElement(t)) return c.cloneElement(t, {
|
|
116
|
+
className: e(s["Testimonial-logo-image"], t.props.className),
|
|
117
|
+
...r ? { ref: r } : {}
|
|
118
|
+
});
|
|
105
119
|
})
|
|
106
120
|
});
|
|
107
121
|
}
|
|
108
|
-
var
|
|
109
|
-
function
|
|
122
|
+
var w = l(C);
|
|
123
|
+
function T({ size: t, className: n, ...r }, i) {
|
|
110
124
|
return /* @__PURE__ */ u(o, {
|
|
125
|
+
ref: i,
|
|
111
126
|
className: e(s["Testimonial-avatar"], n),
|
|
112
127
|
size: 48,
|
|
113
128
|
...r
|
|
114
129
|
});
|
|
115
130
|
}
|
|
116
|
-
var
|
|
117
|
-
function
|
|
131
|
+
var E = l(T);
|
|
132
|
+
function D({ className: t, ...n }, r) {
|
|
118
133
|
return /* @__PURE__ */ u(a, {
|
|
134
|
+
ref: r,
|
|
119
135
|
className: e(s["Testimonial-link"], t),
|
|
120
136
|
...n,
|
|
121
137
|
size: "medium",
|
|
122
138
|
variant: "accent"
|
|
123
139
|
});
|
|
124
140
|
}
|
|
125
|
-
var
|
|
126
|
-
Quote:
|
|
127
|
-
Name:
|
|
128
|
-
Avatar:
|
|
129
|
-
Logo:
|
|
130
|
-
Link:
|
|
141
|
+
var O = l(D), k = Object.assign(v, {
|
|
142
|
+
Quote: b,
|
|
143
|
+
Name: S,
|
|
144
|
+
Avatar: E,
|
|
145
|
+
Logo: w,
|
|
146
|
+
Link: O,
|
|
147
|
+
testIds: g
|
|
131
148
|
});
|
|
132
149
|
//#endregion
|
|
133
|
-
export {
|
|
150
|
+
export { k as Testimonial, f as TestimonialQuoteMarkColors, m as TestimonialVariants, p as defaultQuoteMarkColor, h as defaultTestimonialVariant };
|
|
134
151
|
|
|
135
152
|
//# sourceMappingURL=Testimonial.js.map
|
|
@@ -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}>“</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":"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"}
|
|
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}>“</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-
|
|
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",
|