@primer/react-brand 0.68.0-rc.b6d410ef → 0.68.1-rc.a7b95aa2
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/esm/Accordion/Accordion.d.ts +5 -2
- package/esm/Accordion/Accordion.d.ts.map +1 -1
- package/esm/Accordion/Accordion.js +92 -50
- package/esm/Accordion/Accordion.js.map +1 -1
- package/esm/Accordion/Accordion.module-COckontb.css +1 -0
- package/esm/Accordion/Accordion.module.js +7 -5
- package/esm/Accordion/Accordion.module.js.map +1 -1
- package/esm/Box/Box.d.ts +1 -1
- package/esm/Box/Box.d.ts.map +1 -1
- package/esm/Box/Box.module-ZdcUfGo-.css +1 -0
- package/esm/Box/Box.module.js +81 -1
- package/esm/Box/Box.module.js.map +1 -1
- package/esm/Card/{Card.module-OxFQdnTA.css → Card.module-DZZ8DN76.css} +1 -1
- package/esm/Card/Card.module.js +1 -1
- package/esm/Card/Card.module.js.map +1 -1
- package/esm/FAQ/FAQ.d.ts +2 -1
- package/esm/FAQ/FAQ.d.ts.map +1 -1
- package/esm/Hero/{Hero.module-DvYo_AtL.css → Hero.module-Cy82CEW3.css} +1 -1
- package/esm/Hero/Hero.module.js +1 -1
- package/esm/Hero/Hero.module.js.map +1 -1
- package/esm/LogoSuite/LogoSuite.js +1 -1
- package/esm/LogoSuite/LogoSuite.module-69Mthqju.css +1 -0
- package/esm/LogoSuite/LogoSuite.module.js +1 -1
- package/esm/LogoSuite/LogoSuite.module.js.map +1 -1
- package/esm/MediaPlaylist/MediaPlaylist.d.ts +77 -0
- package/esm/MediaPlaylist/MediaPlaylist.d.ts.map +1 -0
- package/esm/MediaPlaylist/MediaPlaylist.js +172 -0
- package/esm/MediaPlaylist/MediaPlaylist.js.map +1 -0
- package/esm/MediaPlaylist/MediaPlaylist.module-BU39a4-W.css +1 -0
- package/esm/MediaPlaylist/MediaPlaylist.module.js +30 -0
- package/esm/MediaPlaylist/MediaPlaylist.module.js.map +1 -0
- package/esm/MediaPlaylist/index.d.ts +2 -0
- package/esm/MediaPlaylist/index.d.ts.map +1 -0
- package/esm/MediaPlaylist/useMediaPlaylist.d.ts +84 -0
- package/esm/MediaPlaylist/useMediaPlaylist.d.ts.map +1 -0
- package/esm/MediaPlaylist/useMediaPlaylist.js +114 -0
- package/esm/MediaPlaylist/useMediaPlaylist.js.map +1 -0
- package/esm/Pagination/Pagination.d.ts +2 -5
- package/esm/Pagination/Pagination.d.ts.map +1 -1
- package/esm/Pagination/Pagination.js +94 -52
- package/esm/Pagination/Pagination.js.map +1 -1
- package/esm/Pagination/Pagination.module-DmKBSq7s.css +1 -0
- package/esm/Pagination/Pagination.module.js +9 -3
- package/esm/Pagination/Pagination.module.js.map +1 -1
- package/esm/Pagination/model.d.ts +2 -2
- package/esm/Pagination/model.d.ts.map +1 -1
- package/esm/Pagination/model.js.map +1 -1
- package/esm/PricingOptions/PricingOptions.d.ts +2 -1
- package/esm/PricingOptions/PricingOptions.d.ts.map +1 -1
- package/esm/PricingOptions/PricingOptions.js +46 -45
- package/esm/PricingOptions/PricingOptions.js.map +1 -1
- package/esm/Stack/Stack.d.ts +1 -1
- package/esm/Stack/Stack.d.ts.map +1 -1
- package/esm/Stack/Stack.module-BlpDkOqI.css +1 -0
- package/esm/Stack/Stack.module.js +17 -1
- package/esm/Stack/Stack.module.js.map +1 -1
- package/esm/SubNav/SubNav.d.ts.map +1 -1
- package/esm/SubNav/SubNav.js +17 -16
- package/esm/SubNav/SubNav.js.map +1 -1
- package/esm/SubNav/SubNav.module-D-gLr0JO.css +1 -0
- package/esm/SubNav/SubNav.module.js +1 -1
- package/esm/SubNav/SubNav.module.js.map +1 -1
- package/esm/Tabs/{Tabs.module-D8VFUDRe.css → Tabs.module-CK_p1qwC.css} +1 -1
- package/esm/Tabs/Tabs.module.js +1 -1
- package/esm/Tabs/Tabs.module.js.map +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.d.ts +1 -0
- package/esm/TextCursorAnimation/TextCursorAnimation.d.ts.map +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.js +1 -0
- package/esm/TextCursorAnimation/TextCursorAnimation.js.map +1 -1
- package/esm/TextCursorAnimation/{TextCursorAnimation.module-CkVDXNW5.css → TextCursorAnimation.module-BJLhwKrK.css} +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.module.js +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.module.js.map +1 -1
- package/esm/Tiles/Tiles.module-BOGZTY7t.css +1 -0
- package/esm/Tiles/Tiles.module.js +1 -1
- package/esm/Tiles/Tiles.module.js.map +1 -1
- package/esm/constants.d.ts +1 -1
- package/esm/constants.d.ts.map +1 -1
- package/esm/constants.js +2 -0
- package/esm/constants.js.map +1 -1
- package/esm/css/stylesheets.js +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.esm.js +51 -50
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/base/size/size-6EfgMG7y.css +1 -0
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/logosuite/{colors-with-modes-n4fDsxWz.css → colors-with-modes-B8ia26TA.css} +1 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes-YId8eSZQ.css +1 -0
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BODdIvrY.css +1 -0
- package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts +49 -0
- package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts.map +1 -0
- package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts +7 -0
- package/esm/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts.map +1 -0
- package/esm/recipes/Flexsuite/Details/index.d.ts +4 -0
- package/esm/recipes/Flexsuite/Details/index.d.ts.map +1 -0
- package/esm/recipes/Flexsuite/Overview/FlexSuiteAIOverview.d.ts.map +1 -1
- package/esm/river/RiverAccordion/RiverAccordion.js +1 -1
- package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
- package/lib/Accordion/Accordion.d.ts +5 -2
- package/lib/Box/Box.d.ts +1 -1
- package/lib/FAQ/FAQ.d.ts +2 -1
- package/lib/MediaPlaylist/MediaPlaylist.d.ts +76 -0
- package/lib/MediaPlaylist/index.d.ts +1 -0
- package/lib/MediaPlaylist/useMediaPlaylist.d.ts +83 -0
- package/lib/Pagination/Pagination.d.ts +2 -5
- package/lib/Pagination/model.d.ts +2 -2
- package/lib/PricingOptions/PricingOptions.d.ts +2 -1
- package/lib/Stack/Stack.d.ts +1 -1
- package/lib/TextCursorAnimation/TextCursorAnimation.d.ts +1 -0
- package/lib/constants.d.ts +1 -1
- package/lib/css/main.css +1055 -391
- 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 +3 -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/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/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/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/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-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 +2 -2
- package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +2 -2
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +13 -0
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +8 -0
- 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/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 +1 -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/text-cursor-animation/colors-with-modes.css +13 -0
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +8 -0
- 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/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 +3 -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/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/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/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/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-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 +2 -2
- package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +15 -0
- 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/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 +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/testimonial/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +17 -0
- 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/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 +3 -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/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/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/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/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-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 +2 -2
- package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +6 -0
- 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/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 +1 -1
- package/lib/design-tokens/js/tokens/functional/components/testimonial/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +6 -0
- 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/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 +3 -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/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/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/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/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-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 +2 -2
- package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +5 -0
- 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/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 +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/testimonial/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +5 -0
- 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/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 +3 -1
- package/lib/design-tokens/ts/tokens/base/size/size.js +3 -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/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/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/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/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-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 +2 -2
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +15 -0
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +12 -0
- 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/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 +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/testimonial/base.js +1 -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/text-cursor-animation/colors.d.ts +17 -0
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +14 -0
- 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/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.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.content.d.ts +48 -0
- package/lib/recipes/Flexsuite/Details/FlexSuiteAIDetailsPlaylist/FlexSuiteAIDetailsPlaylist.d.ts +6 -0
- package/lib/recipes/Flexsuite/Details/index.d.ts +3 -0
- package/package.json +1 -1
- package/esm/Accordion/Accordion.module-D4diKFGj.css +0 -1
- package/esm/Box/Box.module-BgKMrzcY.css +0 -1
- package/esm/LogoSuite/LogoSuite.module-CWV4mJoG.css +0 -1
- package/esm/Pagination/Pagination.module-C7Z_pTFq.css +0 -1
- package/esm/Stack/Stack.module-ZIKnqNP_.css +0 -1
- package/esm/SubNav/SubNav.module-CFXuWNmS.css +0 -1
- package/esm/Tiles/Tiles.module-DVK0nMCy.css +0 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/base/size/size-DBypfR6O.css +0 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes-C2GLM06X.css +0 -1
- package/lib/design-tokens/css/tokens/functional/components/pagination/colors-with-modes.css +0 -17
|
@@ -6,10 +6,10 @@ import { Button as o } from "../Button/Button.js";
|
|
|
6
6
|
import { useWindowSize as s } from "../hooks/useWindowSize.js";
|
|
7
7
|
import { Accordion as c } from "../Accordion/Accordion.js";
|
|
8
8
|
import { UnorderedList as l } from "../list/UnorderedList/UnorderedList.js";
|
|
9
|
+
import { Tooltip as u } from "../Tooltip/Tooltip.js";
|
|
9
10
|
import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options-B9TarQsR.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes-DBi2l0Re.css';/* empty css */
|
|
10
11
|
/* empty css */
|
|
11
|
-
import
|
|
12
|
-
import { Tooltip as d } from "../Tooltip/Tooltip.js";
|
|
12
|
+
import d from "./PricingOptions.module.js";
|
|
13
13
|
import f, { forwardRef as p, useMemo as m } from "react";
|
|
14
14
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
15
15
|
//#region src/PricingOptions/PricingOptions.tsx
|
|
@@ -54,25 +54,25 @@ var v = {
|
|
|
54
54
|
let c = m(() => f.Children.toArray(n).filter((e) => f.isValidElement(e) && typeof e.type != "string" && e.type === T), [n]).slice(0, 4), l = m(() => c.map((e) => {
|
|
55
55
|
let t = f.Children.toArray(e.props.children).find((e) => f.isValidElement(e) && typeof e.type != "string" && e.type === C);
|
|
56
56
|
return f.isValidElement(t) ? t : null;
|
|
57
|
-
}), [c]),
|
|
57
|
+
}), [c]), u = l.some((e) => e !== null);
|
|
58
58
|
return /* @__PURE__ */ g(b, {
|
|
59
59
|
align: t,
|
|
60
60
|
children: /* @__PURE__ */ _("div", {
|
|
61
|
-
className: e(
|
|
61
|
+
className: e(d.PricingOptions, d[`PricingOptions--layout-${a.includes("default") ? "default" : "cards"}`], d[`PricingOptions--items${c.length}`], d[`PricingOptions--appearance-${a.includes("gradient") ? "gradient" : "solid"}`], r),
|
|
62
62
|
"data-testid": i || v.root,
|
|
63
63
|
ref: s,
|
|
64
64
|
...o,
|
|
65
|
-
children: [c,
|
|
66
|
-
className:
|
|
65
|
+
children: [c, u && /* @__PURE__ */ g("div", {
|
|
66
|
+
className: d.PricingOptions__labels,
|
|
67
67
|
"data-testid": v.labelRow,
|
|
68
68
|
style: { "--brand-pricing-options-column-count": c.length },
|
|
69
69
|
children: l.map((t, n) => {
|
|
70
70
|
let r = !!t?.props.children;
|
|
71
71
|
return /* @__PURE__ */ g("div", {
|
|
72
|
-
className: e(
|
|
72
|
+
className: e(d["PricingOptions__label-cell"], r ? d["PricingOptions__label-cell--has-label"] : d["PricingOptions__label-cell--empty"]),
|
|
73
73
|
"data-testid": t?.props["data-testid"] || v.label,
|
|
74
74
|
children: t?.props.children ? /* @__PURE__ */ g("span", {
|
|
75
|
-
className:
|
|
75
|
+
className: d.PricingOptions__label,
|
|
76
76
|
children: t.props.children
|
|
77
77
|
}) : null
|
|
78
78
|
}, n);
|
|
@@ -81,7 +81,7 @@ var v = {
|
|
|
81
81
|
})
|
|
82
82
|
});
|
|
83
83
|
}), T = p(({ "data-testid": t, children: n, className: r, leadingComponent: i, ...a }, o) => {
|
|
84
|
-
let { align: s } = x(), { Heading: c, Description: l, Price:
|
|
84
|
+
let { align: s } = x(), { Heading: c, Description: l, Price: u, FeatureList: p, Actions: h, ActionsMessage: y, Footnote: b } = m(() => f.Children.toArray(n), [n]).reduce((e, t) => (f.isValidElement(t) && typeof t.type != "string" && (t.type === k && (e.FeatureList = t), (t.type === P || t.type === F || t.type === I) && e.Actions.push(t), t.type === N && (e.ActionsMessage = t), t.type === L && (e.Footnote = t), t.type === D && (e.Heading = t), t.type === E && (e.Description = t), t.type === O && (e.Price = t)), e), {
|
|
85
85
|
FeatureList: null,
|
|
86
86
|
Actions: [],
|
|
87
87
|
ActionsMessage: null,
|
|
@@ -91,23 +91,23 @@ var v = {
|
|
|
91
91
|
Price: null
|
|
92
92
|
});
|
|
93
93
|
return /* @__PURE__ */ _("div", {
|
|
94
|
-
className: e(
|
|
94
|
+
className: e(d.PricingOptions__item, i && d["PricingOptions__item--has-leading-component"], d[`PricingOptions__item--align-${s}`], r),
|
|
95
95
|
"data-testid": t || v.item,
|
|
96
96
|
ref: o,
|
|
97
97
|
...a,
|
|
98
98
|
children: [
|
|
99
99
|
/* @__PURE__ */ g("div", {
|
|
100
|
-
className:
|
|
100
|
+
className: d.PricingOptions__header,
|
|
101
101
|
children: c
|
|
102
102
|
}),
|
|
103
103
|
l,
|
|
104
|
-
|
|
104
|
+
u,
|
|
105
105
|
i && /* @__PURE__ */ g("div", {
|
|
106
|
-
className:
|
|
106
|
+
className: d["PricingOptions__leading-component"],
|
|
107
107
|
children: i
|
|
108
108
|
}),
|
|
109
109
|
(h.length > 0 || y) && /* @__PURE__ */ _("div", {
|
|
110
|
-
className:
|
|
110
|
+
className: d.PricingOptions__actions,
|
|
111
111
|
children: [h, y]
|
|
112
112
|
}),
|
|
113
113
|
p,
|
|
@@ -116,7 +116,7 @@ var v = {
|
|
|
116
116
|
});
|
|
117
117
|
}), E = p(({ children: n, className: r, "data-testid": i, ...a }, o) => /* @__PURE__ */ g(t, {
|
|
118
118
|
as: "p",
|
|
119
|
-
className: e(
|
|
119
|
+
className: e(d.PricingOptions__description, r),
|
|
120
120
|
"data-testid": i || v.description,
|
|
121
121
|
ref: o,
|
|
122
122
|
size: "200",
|
|
@@ -125,40 +125,40 @@ var v = {
|
|
|
125
125
|
children: n
|
|
126
126
|
})), D = p(({ as: t = "h3", children: r, "data-testid": i, size: a = "5", className: o, ...s }, c) => /* @__PURE__ */ g(n, {
|
|
127
127
|
as: t,
|
|
128
|
-
className: e(
|
|
128
|
+
className: e(d.PricingOptions__heading, d[`PricingOptions__heading--size-${a}`], o),
|
|
129
129
|
"data-testid": i || v.heading,
|
|
130
130
|
ref: c,
|
|
131
131
|
size: a,
|
|
132
132
|
...s,
|
|
133
133
|
children: r
|
|
134
|
-
})), O = p(({ children: n, className: r, currencyCode: i = "USD", currencySymbol: a = "$", "data-testid": o, originalPrice: s, trailingText: c, ...l },
|
|
134
|
+
})), O = p(({ children: n, className: r, currencyCode: i = "USD", currencySymbol: a = "$", "data-testid": o, originalPrice: s, trailingText: c, ...l }, u) => /* @__PURE__ */ _(t, {
|
|
135
135
|
as: "p",
|
|
136
|
-
className: e(
|
|
136
|
+
className: e(d.PricingOptions__price, r),
|
|
137
137
|
"data-testid": o || v.price,
|
|
138
|
-
ref:
|
|
138
|
+
ref: u,
|
|
139
139
|
weight: "normal",
|
|
140
140
|
...l,
|
|
141
141
|
children: [
|
|
142
142
|
/* @__PURE__ */ _("span", {
|
|
143
|
-
className:
|
|
143
|
+
className: d["PricingOptions__price-amount"],
|
|
144
144
|
children: [
|
|
145
145
|
/* @__PURE__ */ g(t, {
|
|
146
146
|
as: "span",
|
|
147
|
-
className:
|
|
147
|
+
className: d["PricingOptions__price-currency-symbol"],
|
|
148
148
|
size: "500",
|
|
149
149
|
weight: "normal",
|
|
150
150
|
children: a
|
|
151
151
|
}),
|
|
152
152
|
/* @__PURE__ */ g(t, {
|
|
153
153
|
as: "span",
|
|
154
|
-
className:
|
|
154
|
+
className: d["PricingOptions__price-value"],
|
|
155
155
|
size: "500",
|
|
156
156
|
weight: "normal",
|
|
157
157
|
children: n
|
|
158
158
|
}),
|
|
159
159
|
/* @__PURE__ */ g(t, {
|
|
160
160
|
as: "span",
|
|
161
|
-
className:
|
|
161
|
+
className: d["PricingOptions__price-currency-code"],
|
|
162
162
|
size: "100",
|
|
163
163
|
weight: "normal",
|
|
164
164
|
children: i
|
|
@@ -166,14 +166,14 @@ var v = {
|
|
|
166
166
|
]
|
|
167
167
|
}),
|
|
168
168
|
s && /* @__PURE__ */ _("del", {
|
|
169
|
-
className:
|
|
169
|
+
className: d["PricingOptions__price-original-price"],
|
|
170
170
|
children: [/* @__PURE__ */ g(t, {
|
|
171
171
|
size: "400",
|
|
172
172
|
variant: "muted",
|
|
173
173
|
weight: "normal",
|
|
174
174
|
children: a
|
|
175
175
|
}), /* @__PURE__ */ g(t, {
|
|
176
|
-
className:
|
|
176
|
+
className: d["PricingOptions__price-original-price-value"],
|
|
177
177
|
size: "300",
|
|
178
178
|
variant: "muted",
|
|
179
179
|
weight: "normal",
|
|
@@ -182,13 +182,13 @@ var v = {
|
|
|
182
182
|
}),
|
|
183
183
|
c && /* @__PURE__ */ g(t, {
|
|
184
184
|
as: "span",
|
|
185
|
-
className:
|
|
185
|
+
className: d["PricingOptions__price-trailing-text"],
|
|
186
186
|
size: "200",
|
|
187
187
|
variant: "muted",
|
|
188
188
|
children: c
|
|
189
189
|
})
|
|
190
190
|
]
|
|
191
|
-
})), k = p(({ children: t, className: n, "data-testid": r, hasDivider: a = !0, expanded: o, accordionAs:
|
|
191
|
+
})), k = p(({ children: t, className: n, "data-testid": r, hasDivider: a = !0, expanded: o, accordionAs: u = "h4", ...p }, m) => {
|
|
192
192
|
let { allFeatureListsExpanded: h, updateFeatureListExpanded: y, featureListUserInteracted: b, setFeatureListUserInteracted: C } = x(), { isMedium: w, isXLarge: T, isSmall: E } = s();
|
|
193
193
|
f.useEffect(() => {
|
|
194
194
|
(o === void 0 || typeof o == "object") && C(!1);
|
|
@@ -218,7 +218,7 @@ var v = {
|
|
|
218
218
|
Heading: t,
|
|
219
219
|
Items: []
|
|
220
220
|
}), e), []).map(({ Heading: e, Items: t }, n) => /* @__PURE__ */ _("div", {
|
|
221
|
-
className:
|
|
221
|
+
className: d["PricingOptions__feature-list-set"],
|
|
222
222
|
children: [e, /* @__PURE__ */ g(l, {
|
|
223
223
|
variant: "checked",
|
|
224
224
|
...p,
|
|
@@ -227,20 +227,21 @@ var v = {
|
|
|
227
227
|
}, n));
|
|
228
228
|
return /* @__PURE__ */ g("div", {
|
|
229
229
|
ref: m,
|
|
230
|
-
className: e(
|
|
230
|
+
className: e(d["PricingOptions__feature-list"], a && d["PricingOptions__feature-list--has-divider"], n),
|
|
231
231
|
"data-testid": r || v.featureList,
|
|
232
232
|
children: /* @__PURE__ */ _(c, {
|
|
233
|
-
className:
|
|
233
|
+
className: d["PricingOptions__feature-list-accordion"],
|
|
234
|
+
disableAnimation: !0,
|
|
234
235
|
open: D,
|
|
235
236
|
onToggle: (e) => {
|
|
236
237
|
C(!0), y(e.currentTarget.open);
|
|
237
238
|
},
|
|
238
239
|
children: [/* @__PURE__ */ _(c.Heading, {
|
|
239
|
-
as:
|
|
240
|
-
className:
|
|
241
|
-
children: [O, /* @__PURE__ */ g(i, { className:
|
|
240
|
+
as: u,
|
|
241
|
+
className: d["PricingOptions__feature-list-accordion-heading"],
|
|
242
|
+
children: [O, /* @__PURE__ */ g(i, { className: d["PricingOptions__feature-list-accordion-chevron"] })]
|
|
242
243
|
}), /* @__PURE__ */ g(c.Content, {
|
|
243
|
-
className:
|
|
244
|
+
className: d["PricingOptions__feature-list-accordion-content"],
|
|
244
245
|
children: k
|
|
245
246
|
})]
|
|
246
247
|
})
|
|
@@ -253,7 +254,7 @@ var v = {
|
|
|
253
254
|
children: e
|
|
254
255
|
})), j = p(({ children: t, className: r, "data-testid": i, ...a }, o) => /* @__PURE__ */ g(n, {
|
|
255
256
|
as: "h4",
|
|
256
|
-
className: e(
|
|
257
|
+
className: e(d["PricingOptions__feature-list-group-heading"], r),
|
|
257
258
|
"data-testid": i || v.featureListGroupHeading,
|
|
258
259
|
ref: o,
|
|
259
260
|
size: "subhead-medium",
|
|
@@ -262,19 +263,19 @@ var v = {
|
|
|
262
263
|
})), M = p(({ children: t, className: n, infoTooltip: i, leadingVisual: o, leadingVisualFill: s, variant: c = "included", "data-testid": f, ...p }, m) => {
|
|
263
264
|
let h = o ?? (c === "included" ? r : a), y = c === "included" ? "Includes" : "Does not include", b = s ?? (c === "included" ? "var(--brand-color-accent-primary)" : "var(--brand-color-text-muted)");
|
|
264
265
|
return /* @__PURE__ */ _(l.Item, {
|
|
265
|
-
className: e(
|
|
266
|
+
className: e(d["PricingOptions__feature-list-item"], { [d["PricingOptions__feature-list-item--excluded"]]: c === "excluded" }, i && d["PricingOptions__feature-list-item--has-info"], n),
|
|
266
267
|
"data-testid": f || v.featureListItem,
|
|
267
268
|
leadingVisual: h,
|
|
268
269
|
leadingVisualAriaLabel: y,
|
|
269
270
|
leadingVisualFill: b,
|
|
270
271
|
ref: m,
|
|
271
272
|
...p,
|
|
272
|
-
children: [t, i && /* @__PURE__ */ g(
|
|
273
|
+
children: [t, i && /* @__PURE__ */ g(u, {
|
|
273
274
|
text: i,
|
|
274
275
|
direction: "n",
|
|
275
276
|
children: /* @__PURE__ */ g("button", {
|
|
276
277
|
type: "button",
|
|
277
|
-
className:
|
|
278
|
+
className: d["PricingOptions__feature-list-item-info"],
|
|
278
279
|
"aria-label": `More information about ${typeof t == "string" ? t : "this feature"}`,
|
|
279
280
|
children: /* @__PURE__ */ _("svg", {
|
|
280
281
|
viewBox: "0 0 4 8",
|
|
@@ -294,21 +295,21 @@ var v = {
|
|
|
294
295
|
});
|
|
295
296
|
}), N = p(({ children: t, className: n, "data-testid": r, leadingComponent: i, ...a }, o) => /* @__PURE__ */ _("div", {
|
|
296
297
|
ref: o,
|
|
297
|
-
className: e(
|
|
298
|
+
className: e(d["PricingOptions__actions-message"], n),
|
|
298
299
|
"data-testid": r || v.actionsMessage,
|
|
299
300
|
...a,
|
|
300
301
|
children: [i && /* @__PURE__ */ g("span", {
|
|
301
|
-
className:
|
|
302
|
+
className: d["PricingOptions__actions-message-leading-component"],
|
|
302
303
|
children: i
|
|
303
304
|
}), /* @__PURE__ */ g("div", {
|
|
304
|
-
className:
|
|
305
|
+
className: d["PricingOptions__actions-message-content"],
|
|
305
306
|
children: t
|
|
306
307
|
})]
|
|
307
308
|
})), P = p(({ as: t, children: n, className: r, "data-testid": i, ...a }, s) => /* @__PURE__ */ g(o, {
|
|
308
309
|
ref: s,
|
|
309
310
|
as: t,
|
|
310
311
|
"data-testid": i || v.primaryAction,
|
|
311
|
-
className: e(
|
|
312
|
+
className: e(d["PricingOptions__primary-action"], r),
|
|
312
313
|
size: "medium",
|
|
313
314
|
variant: "primary",
|
|
314
315
|
block: !0,
|
|
@@ -317,7 +318,7 @@ var v = {
|
|
|
317
318
|
})), F = p(({ as: t, children: n, className: r, "data-testid": i, ...a }, s) => /* @__PURE__ */ g(o, {
|
|
318
319
|
ref: s,
|
|
319
320
|
as: t,
|
|
320
|
-
className: e(
|
|
321
|
+
className: e(d["PricingOptions__primary-action"], r),
|
|
321
322
|
"data-testid": i || v.secondaryAction,
|
|
322
323
|
variant: "secondary",
|
|
323
324
|
block: !0,
|
|
@@ -325,13 +326,13 @@ var v = {
|
|
|
325
326
|
children: n
|
|
326
327
|
})), I = p(({ children: t, className: n, "data-testid": r, ...i }, a) => /* @__PURE__ */ g("div", {
|
|
327
328
|
ref: a,
|
|
328
|
-
className: e(
|
|
329
|
+
className: e(d["PricingOptions__menu-action"], n),
|
|
329
330
|
"data-testid": r || v.menuAction,
|
|
330
331
|
...i,
|
|
331
332
|
children: t
|
|
332
333
|
})), L = p(({ children: n, className: r, "data-testid": i, ...a }, o) => /* @__PURE__ */ g(t, {
|
|
333
334
|
as: "p",
|
|
334
|
-
className: e(
|
|
335
|
+
className: e(d.PricingOptions__footnote, r),
|
|
335
336
|
"data-testid": i || v.footnote,
|
|
336
337
|
ref: o,
|
|
337
338
|
size: "100",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PricingOptions.js","names":[],"sources":["../../src/PricingOptions/PricingOptions.tsx"],"sourcesContent":["import React, {forwardRef, HTMLAttributes, PropsWithChildren, useMemo, Ref, Dispatch} from 'react'\nimport {CheckIcon, TriangleDownIcon, XIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport type {ListItemProps} from '../list/ListItem/ListItem'\nimport type {BaseProps} from '../component-helpers'\n\nimport {\n Accordion,\n Button,\n ButtonBaseProps,\n Heading as HeadingComponent,\n HeadingProps,\n Text,\n Tooltip,\n UnorderedList,\n UnorderedListProps,\n useWindowSize,\n} from '..'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './PricingOptions.module.css'\n\ntype AlignOptions = 'start' | 'center'\n\nexport type PricingOptionsProps = {\n align?: AlignOptions\n variant?: 'default' | 'default-gradient' | 'cards' | 'cards-gradient'\n ['data-testid']?: string\n} & PropsWithChildren<BaseProps<HTMLDivElement>> &\n HTMLAttributes<HTMLDivElement>\n\nconst testIds = {\n root: 'PricingOptions',\n item: 'PricingOptions__item',\n labelRow: 'PricingOptions__labels',\n heading: 'PricingOptions__heading',\n label: 'PricingOptions__label',\n description: 'PricingOptions__description',\n price: 'PricingOptions__price',\n actionsMessage: 'PricingOptions__actionsMessage',\n primaryAction: 'PricingOptions__primaryAction',\n secondaryAction: 'PricingOptions__secondaryAction',\n menuAction: 'PricingOptions__menuAction',\n featureList: 'PricingOptions__featureList',\n featureListHeading: 'PricingOptions__featureListHeading',\n featureListItem: 'PricingOptions__featureListItem',\n featureListGroupHeading: 'PricingOptions__featureListGroupHeading',\n footnote: 'PricingOptions__footnote',\n}\n\ntype PricingOptionsContextValue = {\n align: AlignOptions\n allFeatureListsExpanded: boolean\n updateFeatureListExpanded: Dispatch<boolean>\n featureListUserInteracted: boolean\n setFeatureListUserInteracted: Dispatch<boolean>\n}\n\nconst PricingOptionsContext = React.createContext<PricingOptionsContextValue>({\n align: 'start',\n allFeatureListsExpanded: false,\n featureListUserInteracted: false,\n updateFeatureListExpanded: () => {},\n setFeatureListUserInteracted: () => {},\n})\n\nconst PricingOptionsProvider = ({children, align = 'start'}: PropsWithChildren<{align: AlignOptions}>) => {\n const [allFeatureListsExpanded, setAllFeatureListsExpanded] = React.useState(false)\n const [featureListUserInteracted, setFeatureListUserInteracted] = React.useState(false)\n\n const updateFeatureListExpanded = (newValue: boolean) => {\n setAllFeatureListsExpanded(() => newValue)\n }\n\n return (\n <PricingOptionsContext.Provider\n value={{\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n align,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n }}\n >\n {children}\n </PricingOptionsContext.Provider>\n )\n}\n\nconst usePricingOptions = (): PricingOptionsContextValue => {\n return React.useContext(PricingOptionsContext)\n}\n\nconst pricingOptionsDefaultFeatureListHeading = \"What's included\"\n\ntype PricingOptionsLabelProps = PropsWithChildren<{\n 'data-testid'?: string\n}>\n\nconst PricingOptionsLabel = ({children}: PricingOptionsLabelProps) => {\n return <>{children}</>\n}\n\nconst PricingOptionsRoot = forwardRef(\n (\n {\n align = 'start',\n children,\n className,\n 'data-testid': testId,\n variant = 'default',\n ...rest\n }: PropsWithChildren<PricingOptionsProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const filteredChildren = useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsItem,\n ) as React.ReactElement<PropsWithChildren<PricingOptionsItem>>[],\n [children],\n ).slice(0, 4)\n\n const headerLabels = useMemo(\n () =>\n filteredChildren.map(item => {\n const labelChild = React.Children.toArray(item.props.children).find(\n child =>\n React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsLabel,\n )\n\n return (\n React.isValidElement(labelChild) ? labelChild : null\n ) as React.ReactElement<PricingOptionsLabelProps> | null\n }),\n [filteredChildren],\n )\n\n const hasHeaderLabels = headerLabels.some(label => label !== null)\n\n return (\n <PricingOptionsProvider align={align}>\n <div\n className={clsx(\n styles.PricingOptions,\n styles[`PricingOptions--layout-${variant.includes('default') ? 'default' : 'cards'}`],\n styles[`PricingOptions--items${filteredChildren.length}`],\n styles[`PricingOptions--appearance-${variant.includes('gradient') ? 'gradient' : 'solid'}`],\n className,\n )}\n data-testid={testId || testIds.root}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n {filteredChildren}\n\n {hasHeaderLabels && (\n <div\n className={styles['PricingOptions__labels']}\n data-testid={testIds.labelRow}\n style={\n {\n '--brand-pricing-options-column-count': filteredChildren.length,\n } as React.CSSProperties\n }\n >\n {headerLabels.map((headerLabel, index) => {\n const hasLabelContent = Boolean(headerLabel?.props.children)\n\n return (\n <div\n className={clsx(\n styles['PricingOptions__label-cell'],\n hasLabelContent\n ? styles['PricingOptions__label-cell--has-label']\n : styles['PricingOptions__label-cell--empty'],\n )}\n data-testid={headerLabel?.props['data-testid'] || testIds.label}\n key={index}\n >\n {headerLabel?.props.children ? (\n <span className={styles.PricingOptions__label}>{headerLabel.props.children}</span>\n ) : null}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </PricingOptionsProvider>\n )\n },\n)\n\nexport type PricingOptionsItem = {\n ['data-testid']?: string\n /**\n * Escape-hatch for inserting custom React components.\n * Warning:\n * This prop isn't advertised in our docs but remains part of the public API for edge-cases.\n * Need to use this prop? Please check in with #primer-brand first to confirm correct usage.\n */\n leadingComponent?: React.ReactElement\n} & PropsWithChildren<BaseProps<HTMLDivElement>>\n\ntype FilteredChildren = {\n FeatureList: React.ReactElement<PricingOptionsFeatureListProps> | null\n Actions: React.ReactElement<PricingOptionsActionsProps>[]\n ActionsMessage: React.ReactElement<PricingOptionsActionsMessageProps> | null\n Footnote: React.ReactElement<PricingOptionsFootnoteProps> | null\n Heading: React.ReactElement<PricingOptionsHeadingProps> | null\n Description: React.ReactElement<PricingOptionsDescriptionProps> | null\n Price: React.ReactElement<PricingOptionsPriceProps> | null\n}\n\nconst PricingOptionsItem = forwardRef(\n (\n {'data-testid': testId, children, className, leadingComponent, ...rest}: PropsWithChildren<PricingOptionsItem>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {align} = usePricingOptions()\n\n const memoizedChildren = useMemo(() => React.Children.toArray(children), [children])\n\n const filteredChildren = memoizedChildren.reduce<FilteredChildren>(\n (acc, child) => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (child.type === PricingOptionsFeatureList) {\n acc.FeatureList = child as React.ReactElement<PricingOptionsFeatureListProps> | null\n }\n\n if (\n child.type === PricingOptionsPrimaryAction ||\n child.type === PricingOptionsSecondaryAction ||\n child.type === PricingOptionsMenuAction\n ) {\n acc.Actions.push(child as React.ReactElement<PricingOptionsActionsProps>)\n }\n\n if (child.type === PricingOptionsActionsMessage) {\n acc.ActionsMessage = child as React.ReactElement<PricingOptionsActionsMessageProps>\n }\n\n if (child.type === PricingOptionsFootnote) {\n acc.Footnote = child as React.ReactElement<PricingOptionsFootnoteProps>\n }\n\n if (child.type === PricingOptionsHeading) {\n acc.Heading = child as React.ReactElement<PricingOptionsHeadingProps>\n }\n\n if (child.type === PricingOptionsDescription) {\n acc.Description = child as React.ReactElement<PricingOptionsDescriptionProps>\n }\n\n if (child.type === PricingOptionsPrice) {\n acc.Price = child as React.ReactElement<PricingOptionsPriceProps>\n }\n }\n\n return acc\n },\n {\n FeatureList: null,\n Actions: [],\n ActionsMessage: null,\n Footnote: null,\n Heading: null,\n Description: null,\n Price: null,\n },\n )\n\n const {Heading, Description, Price, FeatureList, Actions, ActionsMessage, Footnote} = filteredChildren\n\n return (\n <div\n className={clsx(\n styles.PricingOptions__item,\n leadingComponent && styles['PricingOptions__item--has-leading-component'],\n styles[`PricingOptions__item--align-${align}`],\n className,\n )}\n data-testid={testId || testIds.item}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n <div className={styles['PricingOptions__header']}>{Heading}</div>\n {Description}\n {Price}\n {leadingComponent && <div className={styles['PricingOptions__leading-component']}>{leadingComponent}</div>}\n {(Actions.length > 0 || ActionsMessage) && (\n <div className={styles.PricingOptions__actions}>\n {Actions}\n {ActionsMessage}\n </div>\n )}\n {FeatureList}\n {Footnote}\n </div>\n )\n },\n)\n\ntype PricingOptionsDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsDescription = forwardRef<HTMLParagraphElement, PricingOptionsDescriptionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__description, className)}\n data-testid={testId || testIds.description}\n ref={ref}\n size=\"200\"\n variant=\"muted\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PricingOptionsHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n 'data-testid'?: string\n} & HeadingProps\n\nconst PricingOptionsHeading = forwardRef<HTMLHeadingElement, PricingOptionsHeadingProps>(\n ({as = 'h3', children, 'data-testid': testId, size = '5', className, ...rest}, ref) => {\n return (\n <HeadingComponent\n as={as}\n className={clsx(styles.PricingOptions__heading, styles[`PricingOptions__heading--size-${size}`], className)}\n data-testid={testId || testIds.heading}\n ref={ref}\n size={size}\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n },\n)\n\ntype PricingOptionsPriceProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n currencyCode?: string\n currencySymbol?: string\n 'data-testid'?: string\n originalPrice?: string\n trailingText?: string\n}\n\nconst PricingOptionsPrice = forwardRef<HTMLParagraphElement, PricingOptionsPriceProps>(\n (\n {\n children,\n className,\n currencyCode = 'USD',\n currencySymbol = '$',\n 'data-testid': testId,\n originalPrice,\n trailingText,\n ...rest\n },\n ref,\n ) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__price, className)}\n data-testid={testId || testIds.price}\n ref={ref}\n weight=\"normal\"\n {...rest}\n >\n <span className={styles['PricingOptions__price-amount']}>\n <Text as=\"span\" className={styles['PricingOptions__price-currency-symbol']} size=\"500\" weight=\"normal\">\n {currencySymbol}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-value']} size=\"500\" weight=\"normal\">\n {children}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-currency-code']} size=\"100\" weight=\"normal\">\n {currencyCode}\n </Text>\n </span>\n\n {originalPrice && (\n <del className={styles['PricingOptions__price-original-price']}>\n <Text size=\"400\" variant=\"muted\" weight=\"normal\">\n {currencySymbol}\n </Text>\n <Text\n className={styles['PricingOptions__price-original-price-value']}\n size=\"300\"\n variant=\"muted\"\n weight=\"normal\"\n >\n {originalPrice}\n </Text>\n </del>\n )}\n\n {trailingText && (\n <Text as=\"span\" className={styles['PricingOptions__price-trailing-text']} size=\"200\" variant=\"muted\">\n {trailingText}\n </Text>\n )}\n </Text>\n )\n },\n)\n\ntype PricingOptionsFeatureListProps = BaseProps<HTMLUListElement> & {\n accordionAs?: HeadingProps['as']\n expanded?: ExpandedProp\n hasDivider?: boolean\n children: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps | PricingOptionsFeatureListItemProps>[]\n 'data-testid'?: string\n}\n\ntype ExpandedProp = boolean | ResponsiveExpandableProps\n\ntype ResponsiveExpandableProps = {\n narrow: boolean\n regular: boolean\n wide: boolean\n}\n\ntype ValidFeatureListChildren = {\n Heading: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps> | null\n Items: React.ReactElement<PricingOptionsFeatureListItemProps>[]\n}[]\n\nconst PricingOptionsFeatureList = forwardRef<HTMLDivElement, PricingOptionsFeatureListProps>(\n ({children, className, 'data-testid': testId, hasDivider = true, expanded, accordionAs = 'h4', ...rest}, ref) => {\n const {\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n } = usePricingOptions()\n const {isMedium: isRegular, isXLarge: isWide, isSmall: isNarrow} = useWindowSize()\n\n React.useEffect(() => {\n if (expanded === undefined || typeof expanded === 'object') {\n setFeatureListUserInteracted(false)\n }\n }, [isRegular, isWide, isNarrow, setFeatureListUserInteracted, expanded])\n\n const shouldBeOpen = React.useMemo(() => {\n if (featureListUserInteracted) {\n return allFeatureListsExpanded\n }\n\n // Important: Fixes layout shift by ensuring that explicit values are preserved.\n if (typeof expanded === 'boolean') {\n return expanded\n }\n // If undefined, should follow some default responsive logic\n if (expanded === undefined) {\n if (isWide) return true\n if (isRegular) return true\n return false\n }\n\n // finally handle responsive objects, and go from largest to smallest viewports\n const {narrow, regular, wide} = expanded\n if (isWide) return wide\n if (isRegular) return regular\n return narrow\n }, [expanded, allFeatureListsExpanded, isRegular, isWide, featureListUserInteracted])\n\n let FeatureListHeading = (\n <PricingOptions.FeatureListHeading>{pricingOptionsDefaultFeatureListHeading}</PricingOptions.FeatureListHeading>\n )\n\n const FilteredChildrenSet = React.Children.toArray(children).reduce<ValidFeatureListChildren>((acc, child) => {\n if (React.isValidElement(child) && child.type === PricingOptionsFeatureListHeading) {\n FeatureListHeading = child\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListItem) {\n if (acc.length === 0) {\n acc.push({Heading: null, Items: []})\n }\n acc[acc.length - 1].Items.push(child as React.ReactElement<PricingOptionsFeatureListItemProps>)\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListGroupHeading) {\n acc.push({\n Heading: child as React.ReactElement<PricingOptionsFeatureListGroupHeadingProps>,\n Items: [],\n })\n }\n\n return acc\n }, [])\n\n const FeatureListItems = FilteredChildrenSet.map(({Heading: HeadingChild, Items}, index) => (\n <div className={styles['PricingOptions__feature-list-set']} key={index}>\n {HeadingChild}\n\n <UnorderedList variant=\"checked\" {...(rest as UnorderedListProps)}>\n {Items}\n </UnorderedList>\n </div>\n ))\n\n return (\n <div\n ref={ref}\n className={clsx(\n styles['PricingOptions__feature-list'],\n hasDivider && styles['PricingOptions__feature-list--has-divider'],\n className,\n )}\n data-testid={testId || testIds.featureList}\n >\n <Accordion\n className={styles['PricingOptions__feature-list-accordion']}\n open={shouldBeOpen}\n onToggle={event => {\n setFeatureListUserInteracted(true)\n updateFeatureListExpanded(event.currentTarget.open)\n }}\n >\n <Accordion.Heading as={accordionAs} className={styles['PricingOptions__feature-list-accordion-heading']}>\n {FeatureListHeading}\n\n <TriangleDownIcon className={styles['PricingOptions__feature-list-accordion-chevron']} />\n </Accordion.Heading>\n <Accordion.Content className={styles['PricingOptions__feature-list-accordion-content']}>\n {FeatureListItems}\n </Accordion.Content>\n </Accordion>\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListHeadingProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListHeading = forwardRef<HTMLDivElement, PricingOptionsFeatureListHeadingProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div className={className} data-testid={testId || testIds.featureListHeading} ref={ref} {...rest}>\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListGroupHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n as?: Exclude<HeadingProps['as'], 'h1' | 'h2'>\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListGroupHeading = forwardRef<\n HTMLHeadingElement,\n PricingOptionsFeatureListGroupHeadingProps\n>(({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <HeadingComponent\n as=\"h4\"\n className={clsx(styles['PricingOptions__feature-list-group-heading'], className)}\n data-testid={testId || testIds.featureListGroupHeading}\n ref={ref}\n size=\"subhead-medium\"\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n})\n\ntype PricingOptionsFeatureListItemProps = PropsWithChildren<BaseProps<HTMLLIElement>> & {\n 'data-testid'?: string\n infoTooltip?: string\n variant?: 'included' | 'excluded'\n} & Omit<ListItemProps, 'variant'>\n\nconst PricingOptionsFeatureListItem = forwardRef<HTMLLIElement, PricingOptionsFeatureListItemProps>(\n (\n {\n children,\n className,\n infoTooltip,\n leadingVisual,\n leadingVisualFill,\n variant = 'included',\n 'data-testid': testId,\n ...rest\n },\n ref,\n ) => {\n const itemLeadingVisual = leadingVisual ?? (variant === 'included' ? CheckIcon : XIcon)\n const itemLeadingVisualAriaLabel = variant === 'included' ? 'Includes' : 'Does not include'\n\n const itemLeadingVisualFill =\n leadingVisualFill ??\n (variant === 'included' ? 'var(--brand-color-accent-primary)' : 'var(--brand-color-text-muted)')\n\n return (\n <UnorderedList.Item\n className={clsx(\n styles['PricingOptions__feature-list-item'],\n {[styles['PricingOptions__feature-list-item--excluded']]: variant === 'excluded'},\n infoTooltip && styles['PricingOptions__feature-list-item--has-info'],\n className,\n )}\n data-testid={testId || testIds.featureListItem}\n leadingVisual={itemLeadingVisual}\n leadingVisualAriaLabel={itemLeadingVisualAriaLabel}\n leadingVisualFill={itemLeadingVisualFill}\n ref={ref}\n {...rest}\n >\n {children}\n {infoTooltip && (\n <Tooltip text={infoTooltip} direction=\"n\">\n <button\n type=\"button\"\n className={styles['PricingOptions__feature-list-item-info']}\n aria-label={`More information about ${typeof children === 'string' ? children : 'this feature'}`}\n >\n <svg viewBox=\"0 0 4 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path\n d=\"M0.75 3C0.33579 3 0 3.33579 0 3.75C0 4.16421 0.33579 4.5 0.75 4.5H1V6.5H0.75C0.33579 6.5 0 6.8358 0 7.25C0 7.6642 0.33579 8 0.75 8H2.75C3.16421 8 3.5 7.6642 3.5 7.25C3.5 6.8358 3.16421 6.5 2.75 6.5H2.5V3.75C2.5 3.33579 2.16421 3 1.75 3H0.75Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M2.5 1C2.5 1.55228 2.05229 2 1.5 2C0.94772 2 0.5 1.55228 0.5 1C0.5 0.44772 0.94772 0 1.5 0C2.05229 0 2.5 0.44772 2.5 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </Tooltip>\n )}\n </UnorderedList.Item>\n )\n },\n)\n\ntype AsA = {as: 'a'; href: string; 'data-testid'?: string} & React.AnchorHTMLAttributes<BaseProps<HTMLAnchorElement>> &\n ButtonBaseProps\n\ntype AsButton = {as: 'button'; 'data-testid'?: string} & React.ButtonHTMLAttributes<BaseProps<HTMLButtonElement>> &\n ButtonBaseProps\n\ntype PricingOptionsActionsProps = AsA | AsButton\n\ntype PricingOptionsActionsMessageProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n leadingComponent?: React.ReactElement\n}\n\nconst PricingOptionsActionsMessage = forwardRef<HTMLDivElement, PricingOptionsActionsMessageProps>(\n ({children, className, 'data-testid': testId, leadingComponent, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__actions-message'], className)}\n data-testid={testId || testIds.actionsMessage}\n {...rest}\n >\n {leadingComponent && (\n <span className={styles['PricingOptions__actions-message-leading-component']}>{leadingComponent}</span>\n )}\n <div className={styles['PricingOptions__actions-message-content']}>{children}</div>\n </div>\n )\n },\n)\n\nconst PricingOptionsPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n data-testid={testId || testIds.primaryAction}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n size=\"medium\"\n variant=\"primary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\nconst PricingOptionsSecondaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n data-testid={testId || testIds.secondaryAction}\n variant=\"secondary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\ntype PricingOptionsMenuActionProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsMenuAction = forwardRef<HTMLDivElement, PricingOptionsMenuActionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__menu-action'], className)}\n data-testid={testId || testIds.menuAction}\n {...rest}\n >\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFootnoteProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFootnote = forwardRef<HTMLParagraphElement, PricingOptionsFootnoteProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__footnote, className)}\n data-testid={testId || testIds.footnote}\n ref={ref}\n size=\"100\"\n variant=\"muted\"\n weight=\"light\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\n/**\n * Pricing options component:\n * {@link https://primer.style/brand/components/PricingOptions/ See usage examples}.\n */\nexport const PricingOptions = Object.assign(PricingOptionsRoot, {\n ActionsMessage: PricingOptionsActionsMessage,\n Description: PricingOptionsDescription,\n FeatureList: PricingOptionsFeatureList,\n FeatureListHeading: PricingOptionsFeatureListHeading,\n FeatureListGroupHeading: PricingOptionsFeatureListGroupHeading,\n FeatureListItem: PricingOptionsFeatureListItem,\n Footnote: PricingOptionsFootnote,\n Label: PricingOptionsLabel,\n Heading: PricingOptionsHeading,\n Item: PricingOptionsItem,\n MenuAction: PricingOptionsMenuAction,\n Price: PricingOptionsPrice,\n PrimaryAction: PricingOptionsPrimaryAction,\n SecondaryAction: PricingOptionsSecondaryAction,\n testIds,\n})\n"],"mappings":";;;;;;;;;;;;;;;AAuCA,IAAM,IAAU;CACd,MAAM;CACN,MAAM;CACN,UAAU;CACV,SAAS;CACT,OAAO;CACP,aAAa;CACb,OAAO;CACP,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,YAAY;CACZ,aAAa;CACb,oBAAoB;CACpB,iBAAiB;CACjB,yBAAyB;CACzB,UAAU;CACX,EAUK,IAAwB,EAAM,cAA0C;CAC5E,OAAO;CACP,yBAAyB;CACzB,2BAA2B;CAC3B,iCAAiC;CACjC,oCAAoC;CACrC,CAAC,EAEI,KAA0B,EAAC,aAAU,WAAQ,cAAuD;CACxG,IAAM,CAAC,GAAyB,KAA8B,EAAM,SAAS,GAAM,EAC7E,CAAC,GAA2B,KAAgC,EAAM,SAAS,GAAM;AAMvF,QACE,kBAAC,EAAsB,UAAvB;EACE,OAAO;GACL;GACA,4BAR6B,MAAsB;AACvD,YAAiC,EAAS;;GAQtC;GACA;GACA;GACD;EAEA;EAC8B,CAAA;GAI/B,UACG,EAAM,WAAW,EAAsB,EAG1C,IAA0C,mBAM1C,KAAuB,EAAC,kBACrB,kBAAA,GAAA,EAAG,aAAY,CAAA,EAGlB,IAAqB,GAEvB,EACE,WAAQ,SACR,aACA,cACA,eAAe,GACf,aAAU,WACV,GAAG,KAEL,MACG;CACH,IAAM,IAAmB,QAErB,EAAM,SAAS,QAAQ,EAAS,CAAC,QAC/B,MAAS,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,YAAY,EAAM,SAAS,EAC1F,EACH,CAAC,EAAS,CACX,CAAC,MAAM,GAAG,EAAE,EAEP,IAAe,QAEjB,EAAiB,KAAI,MAAQ;EAC3B,IAAM,IAAa,EAAM,SAAS,QAAQ,EAAK,MAAM,SAAS,CAAC,MAC7D,MACE,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,YAAY,EAAM,SAAS,EACnF;AAED,SACE,EAAM,eAAe,EAAW,GAAG,IAAa;GAElD,EACJ,CAAC,EAAiB,CACnB,EAEK,IAAkB,EAAa,MAAK,MAAS,MAAU,KAAK;AAElE,QACE,kBAAC,GAAD;EAA+B;YAC7B,kBAAC,OAAD;GACE,WAAW,EACT,EAAO,gBACP,EAAO,0BAA0B,EAAQ,SAAS,UAAU,GAAG,YAAY,YAC3E,EAAO,wBAAwB,EAAiB,WAChD,EAAO,8BAA8B,EAAQ,SAAS,WAAW,GAAG,aAAa,YACjF,EACD;GACD,eAAa,KAAU,EAAQ;GAC1B;GACL,GAAK;aAVP,CAYG,GAEA,KACC,kBAAC,OAAD;IACE,WAAW,EAAO;IAClB,eAAa,EAAQ;IACrB,OACE,EACE,wCAAwC,EAAiB,QAC1D;cAGF,EAAa,KAAK,GAAa,MAAU;KACxC,IAAM,IAAkB,EAAQ,GAAa,MAAM;AAEnD,YACE,kBAAC,OAAD;MACE,WAAW,EACT,EAAO,+BACP,IACI,EAAO,2CACP,EAAO,qCACZ;MACD,eAAa,GAAa,MAAM,kBAAkB,EAAQ;gBAGzD,GAAa,MAAM,WAClB,kBAAC,QAAD;OAAM,WAAW,EAAO;iBAAwB,EAAY,MAAM;OAAgB,CAAA,GAChF;MACA,EALC,EAKD;MAER;IACE,CAAA,CAEJ;;EACiB,CAAA;EAG9B,EAuBK,IAAqB,GAEvB,EAAC,eAAe,GAAQ,aAAU,cAAW,qBAAkB,GAAG,KAClE,MACG;CACH,IAAM,EAAC,aAAS,GAAmB,EAqD7B,EAAC,YAAS,gBAAa,UAAO,gBAAa,YAAS,mBAAgB,gBAnDjD,QAAc,EAAM,SAAS,QAAQ,EAAS,EAAE,CAAC,EAAS,CAE1D,CAAiB,QACvC,GAAK,OACA,EAAM,eAAe,EAAM,IAAI,OAAO,EAAM,QAAS,aACnD,EAAM,SAAS,MACjB,EAAI,cAAc,KAIlB,EAAM,SAAS,KACf,EAAM,SAAS,KACf,EAAM,SAAS,MAEf,EAAI,QAAQ,KAAK,EAAwD,EAGvE,EAAM,SAAS,MACjB,EAAI,iBAAiB,IAGnB,EAAM,SAAS,MACjB,EAAI,WAAW,IAGb,EAAM,SAAS,MACjB,EAAI,UAAU,IAGZ,EAAM,SAAS,MACjB,EAAI,cAAc,IAGhB,EAAM,SAAS,MACjB,EAAI,QAAQ,KAIT,IAET;EACE,aAAa;EACb,SAAS,EAAE;EACX,gBAAgB;EAChB,UAAU;EACV,SAAS;EACT,aAAa;EACb,OAAO;EACR,CAGmF;AAEtF,QACE,kBAAC,OAAD;EACE,WAAW,EACT,EAAO,sBACP,KAAoB,EAAO,gDAC3B,EAAO,+BAA+B,MACtC,EACD;EACD,eAAa,KAAU,EAAQ;EAC1B;EACL,GAAK;YATP;GAWE,kBAAC,OAAD;IAAK,WAAW,EAAO;cAA4B;IAAc,CAAA;GAChE;GACA;GACA,KAAoB,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAuC;IAAuB,CAAA;IACxG,EAAQ,SAAS,KAAK,MACtB,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACG,GACA,EACG;;GAEP;GACA;GACG;;EAGX,EAMK,IAA4B,GAC/B,EAAC,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACE,IAAG;CACH,WAAW,EAAK,EAAO,6BAA6B,EAAU;CAC9D,eAAa,KAAU,EAAQ;CAC1B;CACL,MAAK;CACL,SAAQ;CACR,GAAI;CAEH;CACI,CAAA,CAGZ,EAMK,IAAwB,GAC3B,EAAC,QAAK,MAAM,aAAU,eAAe,GAAQ,UAAO,KAAK,cAAW,GAAG,KAAO,MAE3E,kBAAC,GAAD;CACM;CACJ,WAAW,EAAK,EAAO,yBAAyB,EAAO,iCAAiC,MAAS,EAAU;CAC3G,eAAa,KAAU,EAAQ;CAC1B;CACC;CACN,GAAI;CAEH;CACgB,CAAA,CAGxB,EAUK,IAAsB,GAExB,EACE,aACA,cACA,kBAAe,OACf,oBAAiB,KACjB,eAAe,GACf,kBACA,iBACA,GAAG,KAEL,MAGE,kBAAC,GAAD;CACE,IAAG;CACH,WAAW,EAAK,EAAO,uBAAuB,EAAU;CACxD,eAAa,KAAU,EAAQ;CAC1B;CACL,QAAO;CACP,GAAI;WANN;EAQE,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAxB;IACE,kBAAC,GAAD;KAAM,IAAG;KAAO,WAAW,EAAO;KAA0C,MAAK;KAAM,QAAO;eAC3F;KACI,CAAA;IAEP,kBAAC,GAAD;KAAM,IAAG;KAAO,WAAW,EAAO;KAAgC,MAAK;KAAM,QAAO;KACjF;KACI,CAAA;IAEP,kBAAC,GAAD;KAAM,IAAG;KAAO,WAAW,EAAO;KAAwC,MAAK;KAAM,QAAO;eACzF;KACI,CAAA;IACF;;EAEN,KACC,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACE,kBAAC,GAAD;IAAM,MAAK;IAAM,SAAQ;IAAQ,QAAO;cACrC;IACI,CAAA,EACP,kBAAC,GAAD;IACE,WAAW,EAAO;IAClB,MAAK;IACL,SAAQ;IACR,QAAO;cAEN;IACI,CAAA,CACH;;EAGP,KACC,kBAAC,GAAD;GAAM,IAAG;GAAO,WAAW,EAAO;GAAwC,MAAK;GAAM,SAAQ;aAC1F;GACI,CAAA;EAEJ;GAGZ,EAuBK,IAA4B,GAC/B,EAAC,aAAU,cAAW,eAAe,GAAQ,gBAAa,IAAM,aAAU,iBAAc,MAAM,GAAG,KAAO,MAAQ;CAC/G,IAAM,EACJ,4BACA,8BACA,8BACA,oCACE,GAAmB,EACjB,EAAC,UAAU,GAAW,UAAU,GAAQ,SAAS,MAAY,GAAe;AAElF,GAAM,gBAAgB;AACpB,GAAI,MAAa,KAAA,KAAa,OAAO,KAAa,aAChD,EAA6B,GAAM;IAEpC;EAAC;EAAW;EAAQ;EAAU;EAA8B;EAAS,CAAC;CAEzE,IAAM,IAAe,EAAM,cAAc;AACvC,MAAI,EACF,QAAO;AAIT,MAAI,OAAO,KAAa,UACtB,QAAO;AAGT,MAAI,MAAa,KAAA,EAGf,QADA,GADI,KACA;EAKN,IAAM,EAAC,WAAQ,YAAS,YAAQ;AAGhC,SAFI,IAAe,IACf,IAAkB,IACf;IACN;EAAC;EAAU;EAAyB;EAAW;EAAQ;EAA0B,CAAC,EAEjF,IACF,kBAAC,EAAe,oBAAhB,EAAA,UAAoC,GAA4E,CAAA,EAqB5G,IAlBsB,EAAM,SAAS,QAAQ,EAAS,CAAC,QAAkC,GAAK,OAC9F,EAAM,eAAe,EAAM,IAAI,EAAM,SAAS,IAChD,IAAqB,IACZ,EAAM,eAAe,EAAM,IAAI,EAAM,SAAS,KACnD,EAAI,WAAW,KACjB,EAAI,KAAK;EAAC,SAAS;EAAM,OAAO,EAAE;EAAC,CAAC,EAEtC,EAAI,EAAI,SAAS,GAAG,MAAM,KAAK,EAAgE,IACtF,EAAM,eAAe,EAAM,IAAI,EAAM,SAAS,KACvD,EAAI,KAAK;EACP,SAAS;EACT,OAAO,EAAE;EACV,CAAC,EAGG,IACN,EAAE,CAEoB,CAAoB,KAAK,EAAC,SAAS,GAAc,YAAQ,MAChF,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACG,GAED,kBAAC,GAAD;GAAe,SAAQ;GAAU,GAAK;aACnC;GACa,CAAA,CACZ;IAN2D,EAM3D,CACN;AAEF,QACE,kBAAC,OAAD;EACO;EACL,WAAW,EACT,EAAO,iCACP,KAAc,EAAO,8CACrB,EACD;EACD,eAAa,KAAU,EAAQ;YAE/B,kBAAC,GAAD;GACE,WAAW,EAAO;GAClB,MAAM;GACN,WAAU,MAAS;AAEjB,IADA,EAA6B,GAAK,EAClC,EAA0B,EAAM,cAAc,KAAK;;aALvD,CAQE,kBAAC,EAAU,SAAX;IAAmB,IAAI;IAAa,WAAW,EAAO;cAAtD,CACG,GAED,kBAAC,GAAD,EAAkB,WAAW,EAAO,mDAAqD,CAAA,CACvE;OACpB,kBAAC,EAAU,SAAX;IAAmB,WAAW,EAAO;cAClC;IACiB,CAAA,CACV;;EACR,CAAA;EAGX,EAMK,IAAmC,GACtC,EAAC,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAEpD,kBAAC,OAAD;CAAgB;CAAW,eAAa,KAAU,EAAQ;CAAyB;CAAK,GAAI;CACzF;CACG,CAAA,CAGX,EAOK,IAAwC,GAG3C,EAAC,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAEtD,kBAAC,GAAD;CACE,IAAG;CACH,WAAW,EAAK,EAAO,+CAA+C,EAAU;CAChF,eAAa,KAAU,EAAQ;CAC1B;CACL,MAAK;CACL,GAAI;CAEH;CACgB,CAAA,CAErB,EAQI,IAAgC,GAElC,EACE,aACA,cACA,gBACA,kBACA,sBACA,aAAU,YACV,eAAe,GACf,GAAG,KAEL,MACG;CACH,IAAM,IAAoB,MAAkB,MAAY,aAAa,IAAY,IAC3E,IAA6B,MAAY,aAAa,aAAa,oBAEnE,IACJ,MACC,MAAY,aAAa,sCAAsC;AAElE,QACE,kBAAC,EAAc,MAAf;EACE,WAAW,EACT,EAAO,sCACP,GAAE,EAAO,iDAAiD,MAAY,YAAW,EACjF,KAAe,EAAO,gDACtB,EACD;EACD,eAAa,KAAU,EAAQ;EAC/B,eAAe;EACf,wBAAwB;EACxB,mBAAmB;EACd;EACL,GAAI;YAZN,CAcG,GACA,KACC,kBAAC,GAAD;GAAS,MAAM;GAAa,WAAU;aACpC,kBAAC,UAAD;IACE,MAAK;IACL,WAAW,EAAO;IAClB,cAAY,0BAA0B,OAAO,KAAa,WAAW,IAAW;cAEhF,kBAAC,OAAD;KAAK,SAAQ;KAAU,MAAK;KAAO,OAAM;KAA6B,eAAY;eAAlF,CACE,kBAAC,QAAD;MACE,GAAE;MACF,MAAK;MACL,CAAA,EACF,kBAAC,QAAD;MACE,GAAE;MACF,MAAK;MACL,CAAA,CACE;;IACC,CAAA;GACD,CAAA,CAEO;;EAG1B,EAeK,IAA+B,GAClC,EAAC,aAAU,cAAW,eAAe,GAAQ,qBAAkB,GAAG,KAAO,MAEtE,kBAAC,OAAD;CACO;CACL,WAAW,EAAK,EAAO,oCAAoC,EAAU;CACrE,eAAa,KAAU,EAAQ;CAC/B,GAAI;WAJN,CAMG,KACC,kBAAC,QAAD;EAAM,WAAW,EAAO;YAAuD;EAAwB,CAAA,EAEzG,kBAAC,OAAD;EAAK,WAAW,EAAO;EAA6C;EAAe,CAAA,CAC/E;GAGX,EAEK,IAA8B,GAGjC,EAAC,OAAI,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAE1D,kBAAC,GAAD;CACO;CACD;CACJ,eAAa,KAAU,EAAQ;CAC/B,WAAW,EAAK,EAAO,mCAAmC,EAAU;CACpE,MAAK;CACL,SAAQ;CACR,OAAA;CACA,GAAI;CAEH;CACM,CAAA,CAEX,EAEI,IAAgC,GAGnC,EAAC,OAAI,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAE1D,kBAAC,GAAD;CACO;CACD;CACJ,WAAW,EAAK,EAAO,mCAAmC,EAAU;CACpE,eAAa,KAAU,EAAQ;CAC/B,SAAQ;CACR,OAAA;CACA,GAAI;CAEH;CACM,CAAA,CAEX,EAMI,IAA2B,GAC9B,EAAC,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAEpD,kBAAC,OAAD;CACO;CACL,WAAW,EAAK,EAAO,gCAAgC,EAAU;CACjE,eAAa,KAAU,EAAQ;CAC/B,GAAI;CAEH;CACG,CAAA,CAGX,EAMK,IAAyB,GAC5B,EAAC,aAAU,cAAW,eAAe,GAAQ,GAAG,KAAO,MAEpD,kBAAC,GAAD;CACE,IAAG;CACH,WAAW,EAAK,EAAO,0BAA0B,EAAU;CAC3D,eAAa,KAAU,EAAQ;CAC1B;CACL,MAAK;CACL,SAAQ;CACR,QAAO;CACP,GAAI;CAEH;CACI,CAAA,CAGZ,EAMY,IAAiB,OAAO,OAAO,GAAoB;CAC9D,gBAAgB;CAChB,aAAa;CACb,aAAa;CACb,oBAAoB;CACpB,yBAAyB;CACzB,iBAAiB;CACjB,UAAU;CACV,OAAO;CACP,SAAS;CACT,MAAM;CACN,YAAY;CACZ,OAAO;CACP,eAAe;CACf,iBAAiB;CACjB;CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"PricingOptions.js","names":[],"sources":["../../src/PricingOptions/PricingOptions.tsx"],"sourcesContent":["import React, {forwardRef, HTMLAttributes, PropsWithChildren, useMemo, Ref, Dispatch} from 'react'\nimport {CheckIcon, TriangleDownIcon, XIcon} from '@primer/octicons-react'\nimport {clsx} from 'clsx'\nimport type {ListItemProps} from '../list/ListItem/ListItem'\nimport type {BaseProps} from '../component-helpers'\nimport {Accordion} from '../Accordion/Accordion'\nimport {Button, type ButtonBaseProps} from '../Button'\nimport {Heading as HeadingComponent, type HeadingProps} from '../Heading'\nimport {Text} from '../Text'\nimport {Tooltip} from '../Tooltip'\nimport {useWindowSize} from '../hooks/useWindowSize'\nimport {UnorderedList, type UnorderedListProps} from '../list'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css'\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css'\n\n/**\n * Main stylesheet (as a CSS Module)\n */\nimport styles from './PricingOptions.module.css'\n\ntype AlignOptions = 'start' | 'center'\n\nexport type PricingOptionsProps = {\n align?: AlignOptions\n variant?: 'default' | 'default-gradient' | 'cards' | 'cards-gradient'\n ['data-testid']?: string\n} & PropsWithChildren<BaseProps<HTMLDivElement>> &\n HTMLAttributes<HTMLDivElement>\n\nconst testIds = {\n root: 'PricingOptions',\n item: 'PricingOptions__item',\n labelRow: 'PricingOptions__labels',\n heading: 'PricingOptions__heading',\n label: 'PricingOptions__label',\n description: 'PricingOptions__description',\n price: 'PricingOptions__price',\n actionsMessage: 'PricingOptions__actionsMessage',\n primaryAction: 'PricingOptions__primaryAction',\n secondaryAction: 'PricingOptions__secondaryAction',\n menuAction: 'PricingOptions__menuAction',\n featureList: 'PricingOptions__featureList',\n featureListHeading: 'PricingOptions__featureListHeading',\n featureListItem: 'PricingOptions__featureListItem',\n featureListGroupHeading: 'PricingOptions__featureListGroupHeading',\n footnote: 'PricingOptions__footnote',\n}\n\ntype PricingOptionsContextValue = {\n align: AlignOptions\n allFeatureListsExpanded: boolean\n updateFeatureListExpanded: Dispatch<boolean>\n featureListUserInteracted: boolean\n setFeatureListUserInteracted: Dispatch<boolean>\n}\n\nconst PricingOptionsContext = React.createContext<PricingOptionsContextValue>({\n align: 'start',\n allFeatureListsExpanded: false,\n featureListUserInteracted: false,\n updateFeatureListExpanded: () => {},\n setFeatureListUserInteracted: () => {},\n})\n\nconst PricingOptionsProvider = ({children, align = 'start'}: PropsWithChildren<{align: AlignOptions}>) => {\n const [allFeatureListsExpanded, setAllFeatureListsExpanded] = React.useState(false)\n const [featureListUserInteracted, setFeatureListUserInteracted] = React.useState(false)\n\n const updateFeatureListExpanded = (newValue: boolean) => {\n setAllFeatureListsExpanded(() => newValue)\n }\n\n return (\n <PricingOptionsContext.Provider\n value={{\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n align,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n }}\n >\n {children}\n </PricingOptionsContext.Provider>\n )\n}\n\nconst usePricingOptions = (): PricingOptionsContextValue => {\n return React.useContext(PricingOptionsContext)\n}\n\nconst pricingOptionsDefaultFeatureListHeading = \"What's included\"\n\ntype PricingOptionsLabelProps = PropsWithChildren<{\n 'data-testid'?: string\n}>\n\nconst PricingOptionsLabel = ({children}: PricingOptionsLabelProps) => {\n return <>{children}</>\n}\n\nconst PricingOptionsRoot = forwardRef(\n (\n {\n align = 'start',\n children,\n className,\n 'data-testid': testId,\n variant = 'default',\n ...rest\n }: PropsWithChildren<PricingOptionsProps>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const filteredChildren = useMemo(\n () =>\n React.Children.toArray(children).filter(\n child => React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsItem,\n ) as React.ReactElement<PropsWithChildren<PricingOptionsItem>>[],\n [children],\n ).slice(0, 4)\n\n const headerLabels = useMemo(\n () =>\n filteredChildren.map(item => {\n const labelChild = React.Children.toArray(item.props.children).find(\n child =>\n React.isValidElement(child) && typeof child.type !== 'string' && child.type === PricingOptionsLabel,\n )\n\n return (\n React.isValidElement(labelChild) ? labelChild : null\n ) as React.ReactElement<PricingOptionsLabelProps> | null\n }),\n [filteredChildren],\n )\n\n const hasHeaderLabels = headerLabels.some(label => label !== null)\n\n return (\n <PricingOptionsProvider align={align}>\n <div\n className={clsx(\n styles.PricingOptions,\n styles[`PricingOptions--layout-${variant.includes('default') ? 'default' : 'cards'}`],\n styles[`PricingOptions--items${filteredChildren.length}`],\n styles[`PricingOptions--appearance-${variant.includes('gradient') ? 'gradient' : 'solid'}`],\n className,\n )}\n data-testid={testId || testIds.root}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n {filteredChildren}\n\n {hasHeaderLabels && (\n <div\n className={styles['PricingOptions__labels']}\n data-testid={testIds.labelRow}\n style={\n {\n '--brand-pricing-options-column-count': filteredChildren.length,\n } as React.CSSProperties\n }\n >\n {headerLabels.map((headerLabel, index) => {\n const hasLabelContent = Boolean(headerLabel?.props.children)\n\n return (\n <div\n className={clsx(\n styles['PricingOptions__label-cell'],\n hasLabelContent\n ? styles['PricingOptions__label-cell--has-label']\n : styles['PricingOptions__label-cell--empty'],\n )}\n data-testid={headerLabel?.props['data-testid'] || testIds.label}\n key={index}\n >\n {headerLabel?.props.children ? (\n <span className={styles.PricingOptions__label}>{headerLabel.props.children}</span>\n ) : null}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </PricingOptionsProvider>\n )\n },\n)\n\nexport type PricingOptionsItem = {\n ['data-testid']?: string\n /**\n * Escape-hatch for inserting custom React components.\n * Warning:\n * This prop isn't advertised in our docs but remains part of the public API for edge-cases.\n * Need to use this prop? Please check in with #primer-brand first to confirm correct usage.\n */\n leadingComponent?: React.ReactElement\n} & PropsWithChildren<BaseProps<HTMLDivElement>>\n\ntype FilteredChildren = {\n FeatureList: React.ReactElement<PricingOptionsFeatureListProps> | null\n Actions: React.ReactElement<PricingOptionsActionsProps>[]\n ActionsMessage: React.ReactElement<PricingOptionsActionsMessageProps> | null\n Footnote: React.ReactElement<PricingOptionsFootnoteProps> | null\n Heading: React.ReactElement<PricingOptionsHeadingProps> | null\n Description: React.ReactElement<PricingOptionsDescriptionProps> | null\n Price: React.ReactElement<PricingOptionsPriceProps> | null\n}\n\nconst PricingOptionsItem = forwardRef(\n (\n {'data-testid': testId, children, className, leadingComponent, ...rest}: PropsWithChildren<PricingOptionsItem>,\n ref: Ref<HTMLDivElement>,\n ) => {\n const {align} = usePricingOptions()\n\n const memoizedChildren = useMemo(() => React.Children.toArray(children), [children])\n\n const filteredChildren = memoizedChildren.reduce<FilteredChildren>(\n (acc, child) => {\n if (React.isValidElement(child) && typeof child.type !== 'string') {\n if (child.type === PricingOptionsFeatureList) {\n acc.FeatureList = child as React.ReactElement<PricingOptionsFeatureListProps> | null\n }\n\n if (\n child.type === PricingOptionsPrimaryAction ||\n child.type === PricingOptionsSecondaryAction ||\n child.type === PricingOptionsMenuAction\n ) {\n acc.Actions.push(child as React.ReactElement<PricingOptionsActionsProps>)\n }\n\n if (child.type === PricingOptionsActionsMessage) {\n acc.ActionsMessage = child as React.ReactElement<PricingOptionsActionsMessageProps>\n }\n\n if (child.type === PricingOptionsFootnote) {\n acc.Footnote = child as React.ReactElement<PricingOptionsFootnoteProps>\n }\n\n if (child.type === PricingOptionsHeading) {\n acc.Heading = child as React.ReactElement<PricingOptionsHeadingProps>\n }\n\n if (child.type === PricingOptionsDescription) {\n acc.Description = child as React.ReactElement<PricingOptionsDescriptionProps>\n }\n\n if (child.type === PricingOptionsPrice) {\n acc.Price = child as React.ReactElement<PricingOptionsPriceProps>\n }\n }\n\n return acc\n },\n {\n FeatureList: null,\n Actions: [],\n ActionsMessage: null,\n Footnote: null,\n Heading: null,\n Description: null,\n Price: null,\n },\n )\n\n const {Heading, Description, Price, FeatureList, Actions, ActionsMessage, Footnote} = filteredChildren\n\n return (\n <div\n className={clsx(\n styles.PricingOptions__item,\n leadingComponent && styles['PricingOptions__item--has-leading-component'],\n styles[`PricingOptions__item--align-${align}`],\n className,\n )}\n data-testid={testId || testIds.item}\n ref={ref}\n {...(rest as HTMLAttributes<HTMLElement>)}\n >\n <div className={styles['PricingOptions__header']}>{Heading}</div>\n {Description}\n {Price}\n {leadingComponent && <div className={styles['PricingOptions__leading-component']}>{leadingComponent}</div>}\n {(Actions.length > 0 || ActionsMessage) && (\n <div className={styles.PricingOptions__actions}>\n {Actions}\n {ActionsMessage}\n </div>\n )}\n {FeatureList}\n {Footnote}\n </div>\n )\n },\n)\n\ntype PricingOptionsDescriptionProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsDescription = forwardRef<HTMLParagraphElement, PricingOptionsDescriptionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__description, className)}\n data-testid={testId || testIds.description}\n ref={ref}\n size=\"200\"\n variant=\"muted\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\ntype PricingOptionsHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n 'data-testid'?: string\n} & HeadingProps\n\nconst PricingOptionsHeading = forwardRef<HTMLHeadingElement, PricingOptionsHeadingProps>(\n ({as = 'h3', children, 'data-testid': testId, size = '5', className, ...rest}, ref) => {\n return (\n <HeadingComponent\n as={as}\n className={clsx(styles.PricingOptions__heading, styles[`PricingOptions__heading--size-${size}`], className)}\n data-testid={testId || testIds.heading}\n ref={ref}\n size={size}\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n },\n)\n\ntype PricingOptionsPriceProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n currencyCode?: string\n currencySymbol?: string\n 'data-testid'?: string\n originalPrice?: string\n trailingText?: string\n}\n\nconst PricingOptionsPrice = forwardRef<HTMLParagraphElement, PricingOptionsPriceProps>(\n (\n {\n children,\n className,\n currencyCode = 'USD',\n currencySymbol = '$',\n 'data-testid': testId,\n originalPrice,\n trailingText,\n ...rest\n },\n ref,\n ) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__price, className)}\n data-testid={testId || testIds.price}\n ref={ref}\n weight=\"normal\"\n {...rest}\n >\n <span className={styles['PricingOptions__price-amount']}>\n <Text as=\"span\" className={styles['PricingOptions__price-currency-symbol']} size=\"500\" weight=\"normal\">\n {currencySymbol}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-value']} size=\"500\" weight=\"normal\">\n {children}\n </Text>\n\n <Text as=\"span\" className={styles['PricingOptions__price-currency-code']} size=\"100\" weight=\"normal\">\n {currencyCode}\n </Text>\n </span>\n\n {originalPrice && (\n <del className={styles['PricingOptions__price-original-price']}>\n <Text size=\"400\" variant=\"muted\" weight=\"normal\">\n {currencySymbol}\n </Text>\n <Text\n className={styles['PricingOptions__price-original-price-value']}\n size=\"300\"\n variant=\"muted\"\n weight=\"normal\"\n >\n {originalPrice}\n </Text>\n </del>\n )}\n\n {trailingText && (\n <Text as=\"span\" className={styles['PricingOptions__price-trailing-text']} size=\"200\" variant=\"muted\">\n {trailingText}\n </Text>\n )}\n </Text>\n )\n },\n)\n\ntype PricingOptionsFeatureListProps = BaseProps<HTMLUListElement> & {\n accordionAs?: HeadingProps['as']\n expanded?: ExpandedProp\n hasDivider?: boolean\n children: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps | PricingOptionsFeatureListItemProps>[]\n 'data-testid'?: string\n}\n\ntype ExpandedProp = boolean | ResponsiveExpandableProps\n\ntype ResponsiveExpandableProps = {\n narrow: boolean\n regular: boolean\n wide: boolean\n}\n\ntype ValidFeatureListChildren = {\n Heading: React.ReactElement<PricingOptionsFeatureListGroupHeadingProps> | null\n Items: React.ReactElement<PricingOptionsFeatureListItemProps>[]\n}[]\n\nconst PricingOptionsFeatureList = forwardRef<HTMLDivElement, PricingOptionsFeatureListProps>(\n ({children, className, 'data-testid': testId, hasDivider = true, expanded, accordionAs = 'h4', ...rest}, ref) => {\n const {\n allFeatureListsExpanded,\n updateFeatureListExpanded,\n featureListUserInteracted,\n setFeatureListUserInteracted,\n } = usePricingOptions()\n const {isMedium: isRegular, isXLarge: isWide, isSmall: isNarrow} = useWindowSize()\n\n React.useEffect(() => {\n if (expanded === undefined || typeof expanded === 'object') {\n setFeatureListUserInteracted(false)\n }\n }, [isRegular, isWide, isNarrow, setFeatureListUserInteracted, expanded])\n\n const shouldBeOpen = React.useMemo(() => {\n if (featureListUserInteracted) {\n return allFeatureListsExpanded\n }\n\n // Important: Fixes layout shift by ensuring that explicit values are preserved.\n if (typeof expanded === 'boolean') {\n return expanded\n }\n // If undefined, should follow some default responsive logic\n if (expanded === undefined) {\n if (isWide) return true\n if (isRegular) return true\n return false\n }\n\n // finally handle responsive objects, and go from largest to smallest viewports\n const {narrow, regular, wide} = expanded\n if (isWide) return wide\n if (isRegular) return regular\n return narrow\n }, [expanded, allFeatureListsExpanded, isRegular, isWide, featureListUserInteracted])\n\n let FeatureListHeading = (\n <PricingOptions.FeatureListHeading>{pricingOptionsDefaultFeatureListHeading}</PricingOptions.FeatureListHeading>\n )\n\n const FilteredChildrenSet = React.Children.toArray(children).reduce<ValidFeatureListChildren>((acc, child) => {\n if (React.isValidElement(child) && child.type === PricingOptionsFeatureListHeading) {\n FeatureListHeading = child\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListItem) {\n if (acc.length === 0) {\n acc.push({Heading: null, Items: []})\n }\n acc[acc.length - 1].Items.push(child as React.ReactElement<PricingOptionsFeatureListItemProps>)\n } else if (React.isValidElement(child) && child.type === PricingOptionsFeatureListGroupHeading) {\n acc.push({\n Heading: child as React.ReactElement<PricingOptionsFeatureListGroupHeadingProps>,\n Items: [],\n })\n }\n\n return acc\n }, [])\n\n const FeatureListItems = FilteredChildrenSet.map(({Heading: HeadingChild, Items}, index) => (\n <div className={styles['PricingOptions__feature-list-set']} key={index}>\n {HeadingChild}\n\n <UnorderedList variant=\"checked\" {...(rest as UnorderedListProps)}>\n {Items}\n </UnorderedList>\n </div>\n ))\n\n return (\n <div\n ref={ref}\n className={clsx(\n styles['PricingOptions__feature-list'],\n hasDivider && styles['PricingOptions__feature-list--has-divider'],\n className,\n )}\n data-testid={testId || testIds.featureList}\n >\n <Accordion\n className={styles['PricingOptions__feature-list-accordion']}\n disableAnimation\n open={shouldBeOpen}\n onToggle={event => {\n setFeatureListUserInteracted(true)\n updateFeatureListExpanded(event.currentTarget.open)\n }}\n >\n <Accordion.Heading as={accordionAs} className={styles['PricingOptions__feature-list-accordion-heading']}>\n {FeatureListHeading}\n\n <TriangleDownIcon className={styles['PricingOptions__feature-list-accordion-chevron']} />\n </Accordion.Heading>\n <Accordion.Content className={styles['PricingOptions__feature-list-accordion-content']}>\n {FeatureListItems}\n </Accordion.Content>\n </Accordion>\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListHeadingProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListHeading = forwardRef<HTMLDivElement, PricingOptionsFeatureListHeadingProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div className={className} data-testid={testId || testIds.featureListHeading} ref={ref} {...rest}>\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFeatureListGroupHeadingProps = PropsWithChildren<BaseProps<HTMLHeadingElement>> & {\n as?: Exclude<HeadingProps['as'], 'h1' | 'h2'>\n 'data-testid'?: string\n}\n\nconst PricingOptionsFeatureListGroupHeading = forwardRef<\n HTMLHeadingElement,\n PricingOptionsFeatureListGroupHeadingProps\n>(({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <HeadingComponent\n as=\"h4\"\n className={clsx(styles['PricingOptions__feature-list-group-heading'], className)}\n data-testid={testId || testIds.featureListGroupHeading}\n ref={ref}\n size=\"subhead-medium\"\n {...rest}\n >\n {children}\n </HeadingComponent>\n )\n})\n\ntype PricingOptionsFeatureListItemProps = PropsWithChildren<BaseProps<HTMLLIElement>> & {\n 'data-testid'?: string\n infoTooltip?: string\n variant?: 'included' | 'excluded'\n} & Omit<ListItemProps, 'variant'>\n\nconst PricingOptionsFeatureListItem = forwardRef<HTMLLIElement, PricingOptionsFeatureListItemProps>(\n (\n {\n children,\n className,\n infoTooltip,\n leadingVisual,\n leadingVisualFill,\n variant = 'included',\n 'data-testid': testId,\n ...rest\n },\n ref,\n ) => {\n const itemLeadingVisual = leadingVisual ?? (variant === 'included' ? CheckIcon : XIcon)\n const itemLeadingVisualAriaLabel = variant === 'included' ? 'Includes' : 'Does not include'\n\n const itemLeadingVisualFill =\n leadingVisualFill ??\n (variant === 'included' ? 'var(--brand-color-accent-primary)' : 'var(--brand-color-text-muted)')\n\n return (\n <UnorderedList.Item\n className={clsx(\n styles['PricingOptions__feature-list-item'],\n {[styles['PricingOptions__feature-list-item--excluded']]: variant === 'excluded'},\n infoTooltip && styles['PricingOptions__feature-list-item--has-info'],\n className,\n )}\n data-testid={testId || testIds.featureListItem}\n leadingVisual={itemLeadingVisual}\n leadingVisualAriaLabel={itemLeadingVisualAriaLabel}\n leadingVisualFill={itemLeadingVisualFill}\n ref={ref}\n {...rest}\n >\n {children}\n {infoTooltip && (\n <Tooltip text={infoTooltip} direction=\"n\">\n <button\n type=\"button\"\n className={styles['PricingOptions__feature-list-item-info']}\n aria-label={`More information about ${typeof children === 'string' ? children : 'this feature'}`}\n >\n <svg viewBox=\"0 0 4 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path\n d=\"M0.75 3C0.33579 3 0 3.33579 0 3.75C0 4.16421 0.33579 4.5 0.75 4.5H1V6.5H0.75C0.33579 6.5 0 6.8358 0 7.25C0 7.6642 0.33579 8 0.75 8H2.75C3.16421 8 3.5 7.6642 3.5 7.25C3.5 6.8358 3.16421 6.5 2.75 6.5H2.5V3.75C2.5 3.33579 2.16421 3 1.75 3H0.75Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M2.5 1C2.5 1.55228 2.05229 2 1.5 2C0.94772 2 0.5 1.55228 0.5 1C0.5 0.44772 0.94772 0 1.5 0C2.05229 0 2.5 0.44772 2.5 1Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n </Tooltip>\n )}\n </UnorderedList.Item>\n )\n },\n)\n\ntype AsA = {as: 'a'; href: string; 'data-testid'?: string} & React.AnchorHTMLAttributes<BaseProps<HTMLAnchorElement>> &\n ButtonBaseProps\n\ntype AsButton = {as: 'button'; 'data-testid'?: string} & React.ButtonHTMLAttributes<BaseProps<HTMLButtonElement>> &\n ButtonBaseProps\n\ntype PricingOptionsActionsProps = AsA | AsButton\n\ntype PricingOptionsActionsMessageProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n leadingComponent?: React.ReactElement\n}\n\nconst PricingOptionsActionsMessage = forwardRef<HTMLDivElement, PricingOptionsActionsMessageProps>(\n ({children, className, 'data-testid': testId, leadingComponent, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__actions-message'], className)}\n data-testid={testId || testIds.actionsMessage}\n {...rest}\n >\n {leadingComponent && (\n <span className={styles['PricingOptions__actions-message-leading-component']}>{leadingComponent}</span>\n )}\n <div className={styles['PricingOptions__actions-message-content']}>{children}</div>\n </div>\n )\n },\n)\n\nconst PricingOptionsPrimaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n data-testid={testId || testIds.primaryAction}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n size=\"medium\"\n variant=\"primary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\nconst PricingOptionsSecondaryAction = forwardRef<\n HTMLAnchorElement | HTMLButtonElement,\n PropsWithChildren<PricingOptionsActionsProps>\n>(({as, children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Button\n ref={ref as React.Ref<HTMLButtonElement>}\n as={as}\n className={clsx(styles['PricingOptions__primary-action'], className)}\n data-testid={testId || testIds.secondaryAction}\n variant=\"secondary\"\n block\n {...rest}\n >\n {children}\n </Button>\n )\n})\n\ntype PricingOptionsMenuActionProps = PropsWithChildren<BaseProps<HTMLDivElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsMenuAction = forwardRef<HTMLDivElement, PricingOptionsMenuActionProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <div\n ref={ref}\n className={clsx(styles['PricingOptions__menu-action'], className)}\n data-testid={testId || testIds.menuAction}\n {...rest}\n >\n {children}\n </div>\n )\n },\n)\n\ntype PricingOptionsFootnoteProps = PropsWithChildren<BaseProps<HTMLParagraphElement>> & {\n 'data-testid'?: string\n}\n\nconst PricingOptionsFootnote = forwardRef<HTMLParagraphElement, PricingOptionsFootnoteProps>(\n ({children, className, 'data-testid': testId, ...rest}, ref) => {\n return (\n <Text\n as=\"p\"\n className={clsx(styles.PricingOptions__footnote, className)}\n data-testid={testId || testIds.footnote}\n ref={ref}\n size=\"100\"\n variant=\"muted\"\n weight=\"light\"\n {...rest}\n >\n {children}\n </Text>\n )\n },\n)\n\n/**\n * Pricing options component:\n * {@link https://primer.style/brand/components/PricingOptions/ See usage examples}.\n */\nexport const PricingOptions = Object.assign(PricingOptionsRoot, {\n ActionsMessage: PricingOptionsActionsMessage,\n Description: PricingOptionsDescription,\n FeatureList: PricingOptionsFeatureList,\n FeatureListHeading: PricingOptionsFeatureListHeading,\n FeatureListGroupHeading: PricingOptionsFeatureListGroupHeading,\n FeatureListItem: PricingOptionsFeatureListItem,\n Footnote: PricingOptionsFootnote,\n Label: PricingOptionsLabel,\n Heading: PricingOptionsHeading,\n Item: PricingOptionsItem,\n MenuAction: PricingOptionsMenuAction,\n Price: PricingOptionsPrice,\n PrimaryAction: PricingOptionsPrimaryAction,\n SecondaryAction: PricingOptionsSecondaryAction,\n testIds,\n})\n"],"mappings":"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"}
|
package/esm/Stack/Stack.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/size/si
|
|
|
4
4
|
export declare const StackDirectionVariants: readonly ["horizontal", "vertical"];
|
|
5
5
|
type StackDirectionVariants = (typeof StackDirectionVariants)[number];
|
|
6
6
|
export declare const defaultStackDirection: "vertical";
|
|
7
|
-
export declare const StackSpacingVariants: readonly ["none", "condensed", "normal", "spacious", 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 64, 80, 96, 112, 128];
|
|
7
|
+
export declare const StackSpacingVariants: readonly ["none", "condensed", "normal", "spacious", 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 60, 64, 80, 88, 96, 112, 128];
|
|
8
8
|
type StackSpacingVariants = (typeof StackSpacingVariants)[number];
|
|
9
9
|
export declare const defaultStackSpacing: "condensed";
|
|
10
10
|
export declare const StackAlignItemVariants: readonly ["center", "flex-start", "flex-end"];
|
package/esm/Stack/Stack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/Stack/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAInD,OAAO,gFAAgF,CAAA;AAGvF,eAAO,MAAM,sBAAsB,qCAAsC,CAAA;AACzE,KAAK,sBAAsB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AACrE,eAAO,MAAM,qBAAqB,YAA4B,CAAA;AAE9D,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../../src/Stack/Stack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAGhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAInD,OAAO,gFAAgF,CAAA;AAGvF,eAAO,MAAM,sBAAsB,qCAAsC,CAAA;AACzE,KAAK,sBAAsB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AACrE,eAAO,MAAM,qBAAqB,YAA4B,CAAA;AAE9D,eAAO,MAAM,oBAAoB,kIAAyE,CAAA;AAC1G,KAAK,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AACjE,eAAO,MAAM,mBAAmB,aAA0B,CAAA;AAE1D,eAAO,MAAM,sBAAsB,+CAAgD,CAAA;AACnF,KAAK,sBAAsB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,eAAO,MAAM,qBAAqB,6BAA8B,CAAA;AAChE,KAAK,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,eAAO,MAAM,2BAA2B,gGAK9B,CAAA;AACV,KAAK,sBAAsB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1E,KAAK,2BAA2B,GAAG;IACjC,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,IAAI,CAAC,EAAE,sBAAsB,CAAA;CAC9B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,IAAI,CAAC,EAAE,sBAAsB,CAAA;CAC9B,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,IAAI,CAAC,EAAE,sBAAsB,CAAA;CAC9B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,IAAI,CAAC,EAAE,oBAAoB,CAAA;CAC5B,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,IAAI,CAAC,EAAE,qBAAqB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;IAC7C;;;;OAIG;IACH,SAAS,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,CAAA;IAC3D;;;;OAIG;IACH,GAAG,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;IACjD;;;;OAIG;IACH,UAAU,CAAC,EAAE,sBAAsB,GAAG,uBAAuB,CAAA;IAC7D;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;IACrD;;;;OAIG;IACH,cAAc,CAAC,EAAE,sBAAsB,GAAG,2BAA2B,CAAA;IACrE;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,CAAA;CACzD,GAAG,SAAS,CAAC,cAAc,CAAC,GAC3B,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;AA4GtC;;;GAGG;AACH,eAAO,MAAM,KAAK,yFAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.Primer_Brand__Stack-module__Stack___kkChc{display:flex}.Primer_Brand__Stack-module__Stack--vertical___bDZvE{flex-direction:column}.Primer_Brand__Stack-module__Stack--horizontal___SffMX{flex-direction:row}.Primer_Brand__Stack-module__Stack-narrow--vertical___IAUDe{flex-direction:column}.Primer_Brand__Stack-module__Stack-narrow--horizontal___2KaoW{flex-direction:row}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--vertical___vd6L5{flex-direction:column}.Primer_Brand__Stack-module__Stack-regular--horizontal___s7IV3{flex-direction:row}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--vertical___pr0cr{flex-direction:column}.Primer_Brand__Stack-module__Stack-wide--horizontal___2sAhE{flex-direction:row}}.Primer_Brand__Stack-module__Stack--gap-none___M7oco{gap:0}.Primer_Brand__Stack-module__Stack--gap-condensed___wITpD{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack--gap-normal___3_XTQ{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack--gap-spacious___YWDRs{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--gap-4___DmtHd{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--gap-8___0tz6i{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--gap-12___hw3H6{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--gap-16___t6Ejn{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--gap-20___FbD_l{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--gap-24___aI3Ni{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--gap-28___kvqUN{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--gap-32___QcuiZ{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--gap-36___bzo72{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--gap-40____noq3{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--gap-44___E14a1{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--gap-48___4cXLL{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--gap-60___Og2VH{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--gap-64___Jc3_y{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--gap-80___L08Xx{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--gap-88___AyHSj{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--gap-96___akgBJ{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--gap-112___E8Grv{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--gap-128___SVUO1{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-none___YrNLI{gap:0}.Primer_Brand__Stack-module__Stack-narrow--gap-condensed___1jfe1{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-narrow--gap-normal___j5C5u{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-narrow--gap-spacious___7yaBE{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack--padding-none___YsKYp{padding:0}.Primer_Brand__Stack-module__Stack--padding-condensed___NyPEM{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack--padding-normal___Z7YWq{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack--padding-spacious___HCbMd{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack--padding-4____FXLn{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack--padding-8___mfgwT{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack--padding-12___xAM4B{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack--padding-16___XZRrW{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack--padding-20___4KQLU{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack--padding-24___xwvS5{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack--padding-28___RzzNL{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack--padding-32___wkcqe{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack--padding-36___LSie5{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack--padding-40___VqBeq{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack--padding-44___mm4AF{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack--padding-48___t1OLR{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack--padding-60___0mxrO{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack--padding-64___V2DFf{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack--padding-80___hoHKh{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack--padding-88___goVG4{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack--padding-96___aJNAL{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack--padding-112___4_E_r{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack--padding-128___pxk0j{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--padding-none___XJ0bB{padding:0}.Primer_Brand__Stack-module__Stack-narrow--padding-condensed___ev3AN{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-narrow--padding-normal___Nzmce{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-narrow--padding-spacious___mCH98{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-narrow--padding-4___q19rQ{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--padding-8___kcIyl{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--padding-12___XMlJ1{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--padding-16___8SqCc{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--padding-20___UHjCb{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--padding-24____i12s{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--padding-28___u0yWu{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--padding-32___zqRGI{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--padding-36___lGKdp{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--padding-40___atyPw{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--padding-44___OVq8j{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--padding-48___nCssn{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--padding-60___TZzjf{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--padding-64___0f2_2{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--padding-80___5zWH_{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--padding-88___XetV9{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--padding-96___uTd_u{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--padding-112___pF7Tf{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--padding-128___5p0JU{padding:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-narrow--gap-4___6moeR{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-narrow--gap-8___ZnKF3{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-narrow--gap-12___wppH_{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-narrow--gap-16___NtSXw{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-narrow--gap-20___pCp05{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-narrow--gap-24___d9_7X{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-narrow--gap-28___yydXA{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-narrow--gap-32___uIKIR{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-narrow--gap-36___j5Zvi{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-narrow--gap-40___XyNCt{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-narrow--gap-44___IooME{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-narrow--gap-48___9Ri5H{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-narrow--gap-60___FE3Wk{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-narrow--gap-64___f5a6m{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-narrow--gap-80___t8fnj{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-narrow--gap-88___7PC64{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-narrow--gap-96___kupcP{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-narrow--gap-112____ZzLO{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-narrow--gap-128___Zrn34{gap:var(--base-size-128)}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--gap-none___84Qcx{gap:0}.Primer_Brand__Stack-module__Stack-regular--gap-condensed___nXEjo{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-regular--gap-normal___4AJ0b{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-regular--gap-spacious___5ovu5{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-regular--gap-4___8q5d5{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--gap-8___ruGAD{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--gap-12___pkc6_{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--gap-16___Cyxjb{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--gap-20___C8Szl{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--gap-24___JTvNO{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--gap-28___jwMPq{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--gap-32___e6bgD{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--gap-36___gC2Bo{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--gap-40___NYqUy{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--gap-44___b_NET{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--gap-48___QaR_m{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--gap-60___t9VTq{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--gap-64___xCaJe{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--gap-80___rhDhC{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--gap-88___Yaka3{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--gap-96___Ts_06{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--gap-112___eHocK{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--gap-128___uidMP{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-regular--padding-none___BcPTQ{padding:0}.Primer_Brand__Stack-module__Stack-regular--padding-condensed___Wd_3A{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-regular--padding-normal___f3Joq{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-regular--padding-spacious___xzuU0{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-regular--padding-4___pEH4Z{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-regular--padding-8___UbyXY{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-regular--padding-12___UQK__{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-regular--padding-16___Y62Pz{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-regular--padding-20___wLP_s{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-regular--padding-24___J5NFg{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-regular--padding-28___LaSVD{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-regular--padding-32___L0_VX{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-regular--padding-36___o5wDc{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-regular--padding-40___cb5NW{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-regular--padding-44___DEz_q{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-regular--padding-48___MqcFN{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-regular--padding-60___2sUmV{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-regular--padding-64___S3iI3{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-regular--padding-80___8eVDK{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-regular--padding-88___ok1gb{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-regular--padding-96___T3v7i{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-regular--padding-112___7YpRg{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-regular--padding-128___ibsTw{padding:var(--base-size-128)}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--gap-none___ajgTL{gap:0}.Primer_Brand__Stack-module__Stack-wide--gap-condensed___kzJ6N{gap:var(--brand-stack-gap-condensed)}.Primer_Brand__Stack-module__Stack-wide--gap-normal___2URL1{gap:var(--brand-stack-gap-normal)}.Primer_Brand__Stack-module__Stack-wide--gap-spacious___PE_on{gap:var(--brand-stack-gap-spacious)}.Primer_Brand__Stack-module__Stack-wide--gap-4___3nPEs{gap:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--gap-8___FHaOS{gap:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--gap-12___f5Wii{gap:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--gap-16___vdqL4{gap:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--gap-20___3YbbY{gap:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--gap-24___o2aeb{gap:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--gap-28___g5SFZ{gap:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--gap-32___7KZhL{gap:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--gap-36___mWJFS{gap:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--gap-40___wZvNo{gap:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--gap-44___oH_Yw{gap:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--gap-48___IbC9F{gap:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--gap-60___V1qHz{gap:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--gap-64___xC__G{gap:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--gap-80___1QMyu{gap:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--gap-88___d3g2C{gap:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--gap-96___wRoRW{gap:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--gap-112___MQg4d{gap:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--gap-128___YfFMR{gap:var(--base-size-128)}.Primer_Brand__Stack-module__Stack-wide--padding-none___hcJOP{padding:0}.Primer_Brand__Stack-module__Stack-wide--padding-condensed___N3J0E{padding:var(--brand-stack-padding-condensed)}.Primer_Brand__Stack-module__Stack-wide--padding-normal___pjnIB{padding:var(--brand-stack-padding-normal)}.Primer_Brand__Stack-module__Stack-wide--padding-spacious___cFQHO{padding:var(--brand-stack-padding-spacious)}.Primer_Brand__Stack-module__Stack-wide--padding-4___muYDs{padding:var(--base-size-4)}.Primer_Brand__Stack-module__Stack-wide--padding-8___6YlEO{padding:var(--base-size-8)}.Primer_Brand__Stack-module__Stack-wide--padding-12___7KdnN{padding:var(--base-size-12)}.Primer_Brand__Stack-module__Stack-wide--padding-16___M5zuV{padding:var(--base-size-16)}.Primer_Brand__Stack-module__Stack-wide--padding-20___I5zX2{padding:var(--base-size-20)}.Primer_Brand__Stack-module__Stack-wide--padding-24___GooBy{padding:var(--base-size-24)}.Primer_Brand__Stack-module__Stack-wide--padding-28___tZ7sr{padding:var(--base-size-28)}.Primer_Brand__Stack-module__Stack-wide--padding-32___4jLoz{padding:var(--base-size-32)}.Primer_Brand__Stack-module__Stack-wide--padding-36___aIhUT{padding:var(--base-size-36)}.Primer_Brand__Stack-module__Stack-wide--padding-40___4WmEN{padding:var(--base-size-40)}.Primer_Brand__Stack-module__Stack-wide--padding-44___LlwnC{padding:var(--base-size-44)}.Primer_Brand__Stack-module__Stack-wide--padding-48___JEKfb{padding:var(--base-size-48)}.Primer_Brand__Stack-module__Stack-wide--padding-60___zEzWC{padding:var(--base-size-60)}.Primer_Brand__Stack-module__Stack-wide--padding-64___ltiCt{padding:var(--base-size-64)}.Primer_Brand__Stack-module__Stack-wide--padding-80___uLiYs{padding:var(--base-size-80)}.Primer_Brand__Stack-module__Stack-wide--padding-88____swHh{padding:var(--base-size-88)}.Primer_Brand__Stack-module__Stack-wide--padding-96____jNjX{padding:var(--base-size-96)}.Primer_Brand__Stack-module__Stack-wide--padding-112___LSUS8{padding:var(--base-size-112)}.Primer_Brand__Stack-module__Stack-wide--padding-128___KHUZL{padding:var(--base-size-128)}}.Primer_Brand__Stack-module__Stack--align-items-flex-end___hbt2y{align-items:flex-end}.Primer_Brand__Stack-module__Stack--align-items-flex-start___toOez{align-items:flex-start}.Primer_Brand__Stack-module__Stack--align-items-center___mSuT6{align-items:center}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-end___Ge2P6{align-items:flex-end}.Primer_Brand__Stack-module__Stack-narrow--align-items-flex-start___hoXcB{align-items:flex-start}.Primer_Brand__Stack-module__Stack-narrow--align-items-center___lhASm{align-items:center}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--align-items-flex-end___bvlKf{align-items:flex-end}.Primer_Brand__Stack-module__Stack-regular--align-items-flex-start___AfvRV{align-items:flex-start}.Primer_Brand__Stack-module__Stack-regular--align-items-center___otAWC{align-items:center}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--align-items-flex-end___ujXDY{align-items:flex-end}.Primer_Brand__Stack-module__Stack-wide--align-items-flex-start___cXAgb{align-items:flex-start}.Primer_Brand__Stack-module__Stack-wide--align-items-center___aZ__N{align-items:center}}.Primer_Brand__Stack-module__Stack--justify-content-flex-end___48DQ2{justify-content:flex-end}.Primer_Brand__Stack-module__Stack--justify-content-flex-start___RqQ_5{justify-content:flex-start}.Primer_Brand__Stack-module__Stack--justify-content-center___0h6jn{justify-content:center}.Primer_Brand__Stack-module__Stack--justify-content-space-between___ntQDP{justify-content:space-between}.Primer_Brand__Stack-module__Stack--justify-content-space-evenly___bIDDs{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack--justify-content-space-around___yUAvd{justify-content:space-around}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-end___Z57le{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-narrow--justify-content-flex-start___fDidq{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-narrow--justify-content-center___uHqFo{justify-content:center}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-between___g6N5s{justify-content:space-between}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-evenly___apJam{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-narrow--justify-content-space-around___hPKro{justify-content:space-around}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-end___Frx0I{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-regular--justify-content-flex-start___O6P7s{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-regular--justify-content-center___h0_dy{justify-content:center}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-between___zGjlD{justify-content:space-between}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-evenly___Hkq1Z{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-regular--justify-content-space-around___aSXvQ{justify-content:space-around}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-end___SIG6M{justify-content:flex-end}.Primer_Brand__Stack-module__Stack-wide--justify-content-flex-start___HdgK5{justify-content:flex-start}.Primer_Brand__Stack-module__Stack-wide--justify-content-center___OD2Wf{justify-content:center}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-between___DDCkb{justify-content:space-between}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-evenly___PICqP{justify-content:space-evenly}.Primer_Brand__Stack-module__Stack-wide--justify-content-space-around___sIOQP{justify-content:space-around}}.Primer_Brand__Stack-module__Stack-flexWrap--wrap___uuc8B{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-flexWrap--no-wrap___kv7Fm{flex-wrap:nowrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--wrap___SQOmL{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-narrow-flexWrap--no-wrap___aoyQB{flex-wrap:nowrap}@media screen and (width>=48rem){.Primer_Brand__Stack-module__Stack-regular-flexWrap--wrap___LTrer{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-regular-flexWrap--no-wrap___g3lo_{flex-wrap:nowrap}}@media screen and (width>=80rem){.Primer_Brand__Stack-module__Stack-wide-flexWrap--wrap___sBzMn{flex-wrap:wrap}.Primer_Brand__Stack-module__Stack-wide-flexWrap--no-wrap___7PGRZ{flex-wrap:nowrap}}
|