@primer/react-brand 0.74.0 → 0.75.0-rc.89e3cadf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/components/RiverAccordion/index.md +49 -6
- package/docs/components/SubdomainNavBar/index.md +215 -86
- package/docs/index.md +2 -2
- package/esm/Accordion/Accordion.d.ts +2 -2
- package/esm/Accordion/Accordion.d.ts.map +1 -1
- package/esm/Accordion/Accordion.js +2 -2
- package/esm/Accordion/Accordion.js.map +1 -1
- package/esm/Accordion/Accordion.module.js +6 -5
- package/esm/ActionMenu/ActionMenu.d.ts +2 -2
- package/esm/ActionMenu/ActionMenu.js +3 -2
- package/esm/ActionMenu/ActionMenu.js.map +1 -1
- package/esm/ActionMenu/ActionMenu.module.js +7 -6
- package/esm/AnchorNav/AnchorNav.d.ts +4 -4
- package/esm/AnchorNav/AnchorNav.d.ts.map +1 -1
- package/esm/AnchorNav/AnchorNav.js +9 -4
- package/esm/AnchorNav/AnchorNav.js.map +1 -1
- package/esm/AnchorNav/AnchorNav.module.js +5 -4
- package/esm/AnchorNav/useExpandedMenu.js.map +1 -1
- package/esm/Avatar/Avatar.js +1 -1
- package/esm/Avatar/Avatar.js.map +1 -1
- package/esm/Avatar/Avatar.module.js +5 -4
- package/esm/Bento/Bento.d.ts +4 -4
- package/esm/Bento/Bento.js +1 -1
- package/esm/Bento/Bento.js.map +1 -1
- package/esm/Bento/Bento.module.js +7 -6
- package/esm/Box/Box.d.ts +1 -1
- package/esm/Box/Box.d.ts.map +1 -1
- package/esm/Box/Box.js +1 -1
- package/esm/Box/Box.js.map +1 -1
- package/esm/Breadcrumbs/Breadcrumbs.js +1 -1
- package/esm/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/esm/Breadcrumbs/Breadcrumbs.module.js +7 -6
- package/esm/BreakoutBanner/BreakoutBanner.js +1 -1
- package/esm/BreakoutBanner/BreakoutBanner.js.map +1 -1
- package/esm/BreakoutBanner/BreakoutBanner.module.js +5 -4
- package/esm/Button/Button.js +1 -1
- package/esm/Button/Button.js.map +1 -1
- package/esm/Button/Button.module.js +5 -4
- package/esm/ButtonGroup/ButtonGroup.js +1 -1
- package/esm/ButtonGroup/ButtonGroup.js.map +1 -1
- package/esm/ButtonGroup/ButtonGroup.module.js +3 -2
- package/esm/CTABanner/CTABanner.d.ts +1 -1
- package/esm/CTABanner/CTABanner.js +2 -2
- package/esm/CTABanner/CTABanner.js.map +1 -1
- package/esm/CTABanner/CTABanner.module.js +4 -3
- package/esm/CTAForm/CTAForm.js +1 -1
- package/esm/CTAForm/CTAForm.js.map +1 -1
- package/esm/CTAForm/CTAForm.module.js +4 -3
- package/esm/Card/Card.d.ts +2 -2
- package/esm/Card/Card.d.ts.map +1 -1
- package/esm/Card/Card.js +3 -3
- package/esm/Card/Card.js.map +1 -1
- package/esm/Card/Card.module.js +18 -17
- package/esm/ComparisonTable/ComparisonTable.d.ts +3 -3
- package/esm/ComparisonTable/ComparisonTable.js +1 -1
- package/esm/ComparisonTable/ComparisonTable.js.map +1 -1
- package/esm/ComparisonTable/ComparisonTable.module.js +4 -3
- package/esm/ExpandableArrow/ExpandableArrow.d.ts +2 -1
- package/esm/ExpandableArrow/ExpandableArrow.d.ts.map +1 -1
- package/esm/ExpandableArrow/ExpandableArrow.js +1 -1
- package/esm/ExpandableArrow/ExpandableArrow.js.map +1 -1
- package/esm/ExpandableArrow/ExpandableArrow.module.js +4 -3
- package/esm/EyebrowBanner/EyebrowBanner.js +2 -2
- package/esm/EyebrowBanner/EyebrowBanner.js.map +1 -1
- package/esm/EyebrowBanner/EyebrowBanner.module.js +12 -11
- package/esm/EyebrowText/EyebrowText.js +1 -1
- package/esm/EyebrowText/EyebrowText.js.map +1 -1
- package/esm/EyebrowText/EyebrowText.module.js +4 -3
- package/esm/FAQ/FAQ.d.ts +2 -2
- package/esm/FAQ/FAQ.d.ts.map +1 -1
- package/esm/FAQ/FAQ.js +1 -1
- package/esm/FAQ/FAQ.js.map +1 -1
- package/esm/FAQ/FAQ.module.js +7 -6
- package/esm/FAQ/FAQGroup.d.ts +2 -2
- package/esm/FAQ/FAQGroup.d.ts.map +1 -1
- package/esm/FAQ/FAQGroup.js +7 -3
- package/esm/FAQ/FAQGroup.js.map +1 -1
- package/esm/FAQ/FAQGroup.module.js +8 -7
- package/esm/Footnotes/Footnotes.d.ts +2 -2
- package/esm/Footnotes/Footnotes.d.ts.map +1 -1
- package/esm/Footnotes/Footnotes.js +2 -2
- package/esm/Footnotes/Footnotes.js.map +1 -1
- package/esm/Footnotes/Footnotes.module.js +7 -6
- package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
- package/esm/FrostedGlassVFX/FrostedGlassVFX.d.ts.map +1 -1
- package/esm/FrostedGlassVFX/FrostedGlassVFX.js +1 -1
- package/esm/FrostedGlassVFX/FrostedGlassVFX.js.map +1 -1
- package/esm/FrostedGlassVFX/FrostedGlassVFX.module.js +4 -3
- package/esm/Grid/Grid.d.ts +2 -2
- package/esm/Grid/Grid.js +2 -2
- package/esm/Grid/Grid.js.map +1 -1
- package/esm/Grid/Grid.module.js +5 -4
- package/esm/Heading/Heading.js +1 -1
- package/esm/Heading/Heading.js.map +1 -1
- package/esm/Heading/Heading.module.js +4 -3
- package/esm/Hero/Hero.js +1 -1
- package/esm/Hero/Hero.js.map +1 -1
- package/esm/Hero/Hero.module.js +4 -3
- package/esm/Hero/HeroContext.js.map +1 -1
- package/esm/Hero/sub-components/HeroButtonGroup.js +1 -1
- package/esm/Hero/sub-components/HeroButtonGroup.js.map +1 -1
- package/esm/Hero/sub-components/HeroDescription.js +1 -1
- package/esm/Hero/sub-components/HeroDescription.js.map +1 -1
- package/esm/Hero/sub-components/HeroEyebrow.js +1 -1
- package/esm/Hero/sub-components/HeroEyebrow.js.map +1 -1
- package/esm/Hero/sub-components/HeroHeading.js +1 -1
- package/esm/Hero/sub-components/HeroHeading.js.map +1 -1
- package/esm/Hero/sub-components/HeroImage.js +1 -1
- package/esm/Hero/sub-components/HeroImage.js.map +1 -1
- package/esm/Hero/sub-components/HeroLabel.d.ts +1 -0
- package/esm/Hero/sub-components/HeroLabel.d.ts.map +1 -1
- package/esm/Hero/sub-components/HeroLabel.js +8 -7
- package/esm/Hero/sub-components/HeroLabel.js.map +1 -1
- package/esm/Hero/sub-components/HeroPrimaryAction.js.map +1 -1
- package/esm/Hero/sub-components/HeroSecondaryAction.js.map +1 -1
- package/esm/Hero/sub-components/HeroVideo.js +2 -2
- package/esm/Hero/sub-components/HeroVideo.js.map +1 -1
- package/esm/IDE/IDE.d.ts +1 -1
- package/esm/IDE/IDE.js +3 -2
- package/esm/IDE/IDE.js.map +1 -1
- package/esm/IDE/IDE.module.js +8 -7
- package/esm/Icon/Icon.d.ts +2 -2
- package/esm/Icon/Icon.d.ts.map +1 -1
- package/esm/Icon/Icon.js +2 -2
- package/esm/Icon/Icon.js.map +1 -1
- package/esm/Icon/Icon.module.js +4 -3
- package/esm/Image/Image.d.ts +1 -1
- package/esm/Image/Image.d.ts.map +1 -1
- package/esm/Image/Image.js +1 -1
- package/esm/Image/Image.js.map +1 -1
- package/esm/Image/Image.module.js +5 -4
- package/esm/InlineCode/InlineCode.js +1 -1
- package/esm/InlineCode/InlineCode.js.map +1 -1
- package/esm/InlineCode/InlineCode.module.js +5 -4
- package/esm/InlineLink/InlineLink.js +2 -2
- package/esm/InlineLink/InlineLink.js.map +1 -1
- package/esm/InlineLink/InlineLink.module.js +3 -2
- package/esm/Label/Label.js +1 -1
- package/esm/Label/Label.js.map +1 -1
- package/esm/Label/Label.module.js +6 -5
- package/esm/Link/Link.d.ts +1 -1
- package/esm/Link/Link.d.ts.map +1 -1
- package/esm/Link/Link.js +2 -2
- package/esm/Link/Link.js.map +1 -1
- package/esm/Link/Link.module.js +4 -3
- package/esm/LogoSuite/LogoSuite.d.ts +1 -1
- package/esm/LogoSuite/LogoSuite.js +4 -3
- package/esm/LogoSuite/LogoSuite.js.map +1 -1
- package/esm/LogoSuite/LogoSuite.module.js +11 -10
- package/esm/MediaPlaylist/MediaPlaylist.d.ts +4 -4
- package/esm/MediaPlaylist/MediaPlaylist.d.ts.map +1 -1
- package/esm/MediaPlaylist/MediaPlaylist.js +1 -1
- package/esm/MediaPlaylist/MediaPlaylist.js.map +1 -1
- package/esm/MediaPlaylist/MediaPlaylist.module.js +25 -24
- package/esm/MediaPlaylist/useMediaPlaylist.js.map +1 -1
- package/esm/MinimalFooter/MinimalFooter.d.ts +3 -3
- package/esm/MinimalFooter/MinimalFooter.d.ts.map +1 -1
- package/esm/MinimalFooter/MinimalFooter.js +4 -3
- package/esm/MinimalFooter/MinimalFooter.js.map +1 -1
- package/esm/MinimalFooter/MinimalFooter.module.js +15 -14
- package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js +2 -2
- package/esm/MinimalVideoPlayer/MinimalVideoPlayer.js.map +1 -1
- package/esm/MinimalVideoPlayer/MinimalVideoPlayer.module.js +6 -5
- package/esm/MinimalVideoPlayer/useMinimalVideoPlayback.js.map +1 -1
- package/esm/NavList/NavList.js +2 -2
- package/esm/NavList/NavList.js.map +1 -1
- package/esm/NavList/NavList.module.js +18 -17
- package/esm/Pagination/Pagination.d.ts +1 -1
- package/esm/Pagination/Pagination.d.ts.map +1 -1
- package/esm/Pagination/Pagination.js +1 -1
- package/esm/Pagination/Pagination.js.map +1 -1
- package/esm/Pagination/Pagination.module.js +11 -10
- package/esm/Pagination/model.js.map +1 -1
- package/esm/Pillar/Pillar.d.ts +2 -2
- package/esm/Pillar/Pillar.d.ts.map +1 -1
- package/esm/Pillar/Pillar.js +1 -1
- package/esm/Pillar/Pillar.js.map +1 -1
- package/esm/Pillar/Pillar.module.js +9 -8
- package/esm/PricingOptions/PricingOptions.d.ts +1 -1
- package/esm/PricingOptions/PricingOptions.js +5 -3
- package/esm/PricingOptions/PricingOptions.js.map +1 -1
- package/esm/PricingOptions/PricingOptions.module.js +13 -12
- package/esm/Prose/Prose.js +1 -1
- package/esm/Prose/Prose.js.map +1 -1
- package/esm/Prose/Prose.module.js +4 -3
- package/esm/Section/Section.js +1 -1
- package/esm/Section/Section.js.map +1 -1
- package/esm/Section/Section.module.js +5 -4
- package/esm/SectionIntro/SectionIntro.js +1 -1
- package/esm/SectionIntro/SectionIntro.js.map +1 -1
- package/esm/SectionIntro/SectionIntro.module.js +4 -3
- package/esm/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
- package/esm/SectionIntroStacked/SectionIntroStacked.js +1 -1
- package/esm/SectionIntroStacked/SectionIntroStacked.js.map +1 -1
- package/esm/SectionIntroStacked/SectionIntroStacked.module.js +6 -5
- package/esm/Stack/Stack.js +1 -1
- package/esm/Stack/Stack.js.map +1 -1
- package/esm/Stack/Stack.module.js +4 -3
- package/esm/Statistic/Statistic.js +1 -1
- package/esm/Statistic/Statistic.js.map +1 -1
- package/esm/Statistic/Statistic.module.js +6 -5
- package/esm/SubNav/SubNav.d.ts +4 -4
- package/esm/SubNav/SubNav.d.ts.map +1 -1
- package/esm/SubNav/SubNav.js +6 -4
- package/esm/SubNav/SubNav.js.map +1 -1
- package/esm/SubNav/SubNav.module.js +9 -8
- package/esm/SubNav/useContainsFocus.js.map +1 -1
- package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
- package/esm/SubdomainNavBar/NavigationVisbilityObserver.d.ts.map +1 -1
- package/esm/SubdomainNavBar/NavigationVisbilityObserver.js +117 -64
- package/esm/SubdomainNavBar/NavigationVisbilityObserver.js.map +1 -1
- package/esm/SubdomainNavBar/SubdomainNavBar.d.ts +157 -20
- package/esm/SubdomainNavBar/SubdomainNavBar.d.ts.map +1 -1
- package/esm/SubdomainNavBar/SubdomainNavBar.js +479 -299
- package/esm/SubdomainNavBar/SubdomainNavBar.js.map +1 -1
- package/esm/SubdomainNavBar/SubdomainNavBar.module-WIrpYyjV.css +1 -0
- package/esm/SubdomainNavBar/SubdomainNavBar.module.js +36 -11
- package/esm/SubdomainNavBar/SubdomainNavBar.module.js.map +1 -1
- package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +9 -0
- package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts.map +1 -0
- package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js +10 -0
- package/esm/SubdomainNavBar/SubdomainNavBarLinkContext.js.map +1 -0
- package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +8 -0
- package/esm/SubdomainNavBar/useSearchKeyboardShortcut.d.ts.map +1 -0
- package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js +52 -0
- package/esm/SubdomainNavBar/useSearchKeyboardShortcut.js.map +1 -0
- package/esm/SubdomainNavBar/useSearchResults.d.ts +24 -0
- package/esm/SubdomainNavBar/useSearchResults.d.ts.map +1 -0
- package/esm/SubdomainNavBar/useSearchResults.js +57 -0
- package/esm/SubdomainNavBar/useSearchResults.js.map +1 -0
- package/esm/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
- package/esm/SubdomainNavBar/useVisibilityObserver.d.ts.map +1 -1
- package/esm/SubdomainNavBar/useVisibilityObserver.js +60 -23
- package/esm/SubdomainNavBar/useVisibilityObserver.js.map +1 -1
- package/esm/Tabs/Tabs.js +3 -2
- package/esm/Tabs/Tabs.js.map +1 -1
- package/esm/Tabs/Tabs.module.js +12 -11
- package/esm/Testimonial/Testimonial.d.ts +1 -1
- package/esm/Testimonial/Testimonial.d.ts.map +1 -1
- package/esm/Testimonial/Testimonial.js +1 -1
- package/esm/Testimonial/Testimonial.js.map +1 -1
- package/esm/Testimonial/Testimonial.module.js +8 -7
- package/esm/Text/Text.d.ts +1 -1
- package/esm/Text/Text.d.ts.map +1 -1
- package/esm/Text/Text.js +1 -1
- package/esm/Text/Text.js.map +1 -1
- package/esm/Text/Text.module.js +4 -3
- package/esm/TextCursorAnimation/TextCursorAnimation.d.ts +8 -3
- package/esm/TextCursorAnimation/TextCursorAnimation.d.ts.map +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.js +54 -28
- package/esm/TextCursorAnimation/TextCursorAnimation.js.map +1 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.module-BS4hPR8H.css +1 -0
- package/esm/TextCursorAnimation/TextCursorAnimation.module.js +17 -6
- package/esm/TextCursorAnimation/TextCursorAnimation.module.js.map +1 -1
- package/esm/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/esm/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/esm/ThemeProvider/ThemeProvider.js +4 -4
- package/esm/ThemeProvider/ThemeProvider.js.map +1 -1
- package/esm/ThemeProvider/useTheme.js.map +1 -1
- package/esm/Tiles/Tiles.js +2 -2
- package/esm/Tiles/Tiles.js.map +1 -1
- package/esm/Tiles/Tiles.module.js +4 -3
- package/esm/Timeline/Timeline.d.ts +3 -3
- package/esm/Timeline/Timeline.d.ts.map +1 -1
- package/esm/Timeline/Timeline.js +2 -2
- package/esm/Timeline/Timeline.js.map +1 -1
- package/esm/Timeline/Timeline.module.js +5 -4
- package/esm/Token/Token.js +1 -1
- package/esm/Token/Token.js.map +1 -1
- package/esm/Token/Token.module.js +6 -5
- package/esm/Tooltip/Tooltip.js +2 -2
- package/esm/Tooltip/Tooltip.js.map +1 -1
- package/esm/Tooltip/Tooltip.module.js +4 -3
- package/esm/VideoPlayer/VideoPlayer.d.ts +2 -2
- package/esm/VideoPlayer/VideoPlayer.js +2 -2
- package/esm/VideoPlayer/VideoPlayer.js.map +1 -1
- package/esm/VideoPlayer/VideoPlayer.module.js +29 -28
- package/esm/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
- package/esm/VideoPlayer/components/CCButton/CCButton.d.ts.map +1 -1
- package/esm/VideoPlayer/components/CCButton/CCButton.js +1 -1
- package/esm/VideoPlayer/components/CCButton/CCButton.js.map +1 -1
- package/esm/VideoPlayer/components/Captions/Captions.d.ts +2 -2
- package/esm/VideoPlayer/components/Captions/Captions.d.ts.map +1 -1
- package/esm/VideoPlayer/components/Captions/Captions.js +1 -1
- package/esm/VideoPlayer/components/Captions/Captions.js.map +1 -1
- package/esm/VideoPlayer/components/Captions/Captions.module.js +5 -4
- package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
- package/esm/VideoPlayer/components/ControlsBar/ControlsBar.d.ts.map +1 -1
- package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js +1 -1
- package/esm/VideoPlayer/components/ControlsBar/ControlsBar.js.map +1 -1
- package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
- package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts.map +1 -1
- package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js +2 -1
- package/esm/VideoPlayer/components/FullScreenButton/FullScreenButton.js.map +1 -1
- package/esm/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
- package/esm/VideoPlayer/components/IconControl/IconControl.d.ts.map +1 -1
- package/esm/VideoPlayer/components/IconControl/IconControl.js +1 -1
- package/esm/VideoPlayer/components/IconControl/IconControl.js.map +1 -1
- package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
- package/esm/VideoPlayer/components/MuteButton/MuteButton.d.ts.map +1 -1
- package/esm/VideoPlayer/components/MuteButton/MuteButton.js +2 -1
- package/esm/VideoPlayer/components/MuteButton/MuteButton.js.map +1 -1
- package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
- package/esm/VideoPlayer/components/PauseIcon/PauseIcon.d.ts.map +1 -1
- package/esm/VideoPlayer/components/PauseIcon/PauseIcon.js.map +1 -1
- package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
- package/esm/VideoPlayer/components/PlayIcon/PlayIcon.d.ts.map +1 -1
- package/esm/VideoPlayer/components/PlayIcon/PlayIcon.js.map +1 -1
- package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
- package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts.map +1 -1
- package/esm/VideoPlayer/components/PlayPauseButton/PlayPauseButton.js.map +1 -1
- package/esm/VideoPlayer/components/Range/Range.d.ts +1 -1
- package/esm/VideoPlayer/components/Range/Range.d.ts.map +1 -1
- package/esm/VideoPlayer/components/Range/Range.js +1 -1
- package/esm/VideoPlayer/components/Range/Range.js.map +1 -1
- package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
- package/esm/VideoPlayer/components/SeekControl/SeekControl.d.ts.map +1 -1
- package/esm/VideoPlayer/components/SeekControl/SeekControl.js +1 -1
- package/esm/VideoPlayer/components/SeekControl/SeekControl.js.map +1 -1
- package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
- package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts.map +1 -1
- package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js +3 -2
- package/esm/VideoPlayer/components/VideoTooltip/VideoTooltip.js.map +1 -1
- package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
- package/esm/VideoPlayer/components/VolumeControl/VolumeControl.d.ts.map +1 -1
- package/esm/VideoPlayer/components/VolumeControl/VolumeControl.js.map +1 -1
- package/esm/VideoPlayer/components/VolumeControl/VolumeControl.module.js +3 -2
- package/esm/VideoPlayer/hooks/useIsElementFullScreen.js.map +1 -1
- package/esm/VideoPlayer/hooks/useVideo.js.map +1 -1
- package/esm/VideoPlayer/hooks/useVideoResizeObserver.js.map +1 -1
- package/esm/animation/Animate/Animate.d.ts +1 -1
- package/esm/animation/Animate/Animate.d.ts.map +1 -1
- package/esm/animation/Animate/Animate.js +1 -1
- package/esm/animation/Animate/Animate.js.map +1 -1
- package/esm/animation/Animation.module.js +4 -3
- package/esm/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
- package/esm/animation/AnimationProvider/AnimationProvider.d.ts.map +1 -1
- package/esm/animation/AnimationProvider/AnimationProvider.js.map +1 -1
- package/esm/animation/TextRevealAnimation/TextRevealAnimation.js +1 -1
- package/esm/animation/TextRevealAnimation/TextRevealAnimation.js.map +1 -1
- package/esm/animation/TextRevealAnimation/TextRevealAnimation.module.js +5 -4
- package/esm/animation/TextRevealAnimation/useTextRevealAnimationLines.js.map +1 -1
- package/esm/animation/useAnimation.js.map +1 -1
- package/esm/component-helpers/shared.module.js +3 -2
- package/esm/component-helpers.d.ts +2 -2
- package/esm/component-helpers.d.ts.map +1 -1
- package/esm/constants.js.map +1 -1
- package/esm/css/stylesheets.js +1 -1
- package/esm/findElementInChildren.js.map +1 -1
- package/esm/forms/Checkbox/Checkbox.js +2 -2
- package/esm/forms/Checkbox/Checkbox.js.map +1 -1
- package/esm/forms/Checkbox/Checkbox.module.js +4 -3
- package/esm/forms/ControlGroup/ControlGroup.js +3 -2
- package/esm/forms/ControlGroup/ControlGroup.js.map +1 -1
- package/esm/forms/ControlGroup/ControlGroup.module.js +7 -6
- package/esm/forms/FormControl/FormControl.d.ts +5 -5
- package/esm/forms/FormControl/FormControl.d.ts.map +1 -1
- package/esm/forms/FormControl/FormControl.js +4 -3
- package/esm/forms/FormControl/FormControl.js.map +1 -1
- package/esm/forms/FormControl/FormControl.module.js +5 -4
- package/esm/forms/Radio/Radio.js +1 -1
- package/esm/forms/Radio/Radio.js.map +1 -1
- package/esm/forms/Radio/Radio.module.js +4 -3
- package/esm/forms/Select/Select.d.ts +2 -2
- package/esm/forms/Select/Select.js +1 -1
- package/esm/forms/Select/Select.js.map +1 -1
- package/esm/forms/Select/Select.module.js +4 -3
- package/esm/forms/TextInput/TextInput.js +1 -1
- package/esm/forms/TextInput/TextInput.js.map +1 -1
- package/esm/forms/TextInput/TextInput.module.js +5 -4
- package/esm/forms/Textarea/Textarea.js +1 -1
- package/esm/forms/Textarea/Textarea.js.map +1 -1
- package/esm/forms/Textarea/Textarea.module.js +4 -3
- package/esm/hooks/useAnchoredPosition.js +7 -4
- package/esm/hooks/useAnchoredPosition.js.map +1 -1
- package/esm/hooks/useCursorAnimation.d.ts +8 -31
- package/esm/hooks/useCursorAnimation.d.ts.map +1 -1
- package/esm/hooks/useCursorAnimation.js +86 -36
- package/esm/hooks/useCursorAnimation.js.map +1 -1
- package/esm/hooks/useFocusTrap.js.map +1 -1
- package/esm/hooks/useId.js.map +1 -1
- package/esm/hooks/useKeyboardEscape.js.map +1 -1
- package/esm/hooks/useOnClickOutside.js.map +1 -1
- package/esm/hooks/useReducedMotion.js +1 -1
- package/esm/hooks/useReducedMotion.js.map +1 -1
- package/esm/hooks/useRef.js.map +1 -1
- package/esm/hooks/useResizeObserver.js.map +1 -1
- package/esm/hooks/useTabs.js +1 -1
- package/esm/hooks/useTabs.js.map +1 -1
- package/esm/hooks/useWindowSize.js +7 -7
- package/esm/hooks/useWindowSize.js.map +1 -1
- package/esm/list/ListItem/ListItem.js +4 -2
- package/esm/list/ListItem/ListItem.js.map +1 -1
- package/esm/list/ListItem/ListItem.module.js +5 -4
- package/esm/list/OrderedList/OrderedList.d.ts +2 -2
- package/esm/list/OrderedList/OrderedList.d.ts.map +1 -1
- package/esm/list/OrderedList/OrderedList.js +1 -1
- package/esm/list/OrderedList/OrderedList.js.map +1 -1
- package/esm/list/OrderedList/OrderedList.module.js +3 -2
- package/esm/list/UnorderedList/UnorderedList.d.ts +2 -2
- package/esm/list/UnorderedList/UnorderedList.d.ts.map +1 -1
- package/esm/list/UnorderedList/UnorderedList.js +1 -1
- package/esm/list/UnorderedList/UnorderedList.js.map +1 -1
- package/esm/list/list-shared.module.js +3 -2
- package/esm/list/listContext.js.map +1 -1
- package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ArrowUpRightIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CheckIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronDownIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronLeftIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronRightIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ChevronUpIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js +33 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/CopilotIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/DashIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/LinkExternalIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/MarkGithubIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/MuteIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PaperAirplaneIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PauseIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/PlayIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ReplyIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenFullIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/ScreenNormalIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/SearchIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleDownIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/TriangleUpIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js +20 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/UnmuteIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js +28 -0
- package/esm/node_modules/@primer/octicons-react/dist/icons/XIcon.js.map +1 -0
- package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js +132 -0
- package/esm/node_modules/@primer/octicons-react/dist/renderOcticon-DuMQdmQC.js.map +1 -0
- package/esm/node_modules/clsx/dist/clsx.js +1 -1
- package/esm/node_modules/clsx/dist/clsx.js.map +1 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-BGj0AiDW.css +1 -0
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/base-DKbXhPKv.css +1 -0
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BucKYl1n.css +1 -0
- package/esm/river/River/River.js +2 -2
- package/esm/river/River/River.js.map +1 -1
- package/esm/river/RiverAccordion/RiverAccordion.d.ts +15 -6
- package/esm/river/RiverAccordion/RiverAccordion.d.ts.map +1 -1
- package/esm/river/RiverAccordion/RiverAccordion.js +38 -26
- package/esm/river/RiverAccordion/RiverAccordion.js.map +1 -1
- package/esm/river/RiverAccordion/RiverAccordion.module-Cr6Q-qkm.css +1 -0
- package/esm/river/RiverAccordion/RiverAccordion.module.js +18 -13
- package/esm/river/RiverAccordion/RiverAccordion.module.js.map +1 -1
- package/esm/river/RiverBreakout/RiverBreakout.d.ts +1 -1
- package/esm/river/RiverBreakout/RiverBreakout.js +1 -1
- package/esm/river/RiverBreakout/RiverBreakout.js.map +1 -1
- package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
- package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js +2 -2
- package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.js.map +1 -1
- package/esm/river/RiverBreakoutTabs/RiverBreakoutTabs.module.js +31 -30
- package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScroll.d.ts.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScroll.js +5 -3
- package/esm/river/RiverStoryScroll/RiverStoryScroll.js.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScroll.module.js +8 -7
- package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
- package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollProvider.js.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollResponder.js.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts.map +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js +1 -1
- package/esm/river/RiverStoryScroll/RiverStoryScrollTracker.js.map +1 -1
- package/esm/river/river-shared.module.js +13 -12
- package/esm/utils/getTextContent.js.map +1 -1
- package/esm/utils/isFragmentElement.js.map +1 -1
- package/lib/Accordion/Accordion.d.ts +2 -2
- package/lib/ActionMenu/ActionMenu.d.ts +2 -2
- package/lib/AnchorNav/AnchorNav.d.ts +4 -4
- package/lib/Bento/Bento.d.ts +4 -4
- package/lib/Box/Box.d.ts +1 -1
- package/lib/CTABanner/CTABanner.d.ts +1 -1
- package/lib/Card/Card.d.ts +2 -2
- package/lib/ComparisonTable/ComparisonTable.d.ts +3 -3
- package/lib/ExpandableArrow/ExpandableArrow.d.ts +2 -1
- package/lib/FAQ/FAQ.d.ts +2 -2
- package/lib/FAQ/FAQGroup.d.ts +2 -2
- package/lib/Footnotes/Footnotes.d.ts +2 -2
- package/lib/FrostedGlassVFX/FrostedGlassVFX.d.ts +1 -1
- package/lib/Grid/Grid.d.ts +2 -2
- package/lib/Hero/sub-components/HeroLabel.d.ts +1 -0
- package/lib/IDE/IDE.d.ts +1 -1
- package/lib/Icon/Icon.d.ts +2 -2
- package/lib/Image/Image.d.ts +1 -1
- package/lib/Link/Link.d.ts +1 -1
- package/lib/LogoSuite/LogoSuite.d.ts +1 -1
- package/lib/MediaPlaylist/MediaPlaylist.d.ts +4 -4
- package/lib/MinimalFooter/MinimalFooter.d.ts +3 -3
- package/lib/Pagination/Pagination.d.ts +1 -1
- package/lib/Pillar/Pillar.d.ts +2 -2
- package/lib/PricingOptions/PricingOptions.d.ts +1 -1
- package/lib/SectionIntroStacked/SectionIntroStacked.d.ts +3 -3
- package/lib/SubNav/SubNav.d.ts +4 -4
- package/lib/SubdomainNavBar/NavigationVisbilityObserver.d.ts +3 -1
- package/lib/SubdomainNavBar/SubdomainNavBar.d.ts +157 -20
- package/lib/SubdomainNavBar/SubdomainNavBarLinkContext.d.ts +8 -0
- package/lib/SubdomainNavBar/useSearchKeyboardShortcut.d.ts +7 -0
- package/lib/SubdomainNavBar/useSearchResults.d.ts +23 -0
- package/lib/SubdomainNavBar/useVisibilityObserver.d.ts +1 -1
- package/lib/Testimonial/Testimonial.d.ts +1 -1
- package/lib/Text/Text.d.ts +1 -1
- package/lib/TextCursorAnimation/TextCursorAnimation.d.ts +8 -3
- package/lib/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/lib/Timeline/Timeline.d.ts +3 -3
- package/lib/VideoPlayer/VideoPlayer.d.ts +2 -2
- package/lib/VideoPlayer/components/CCButton/CCButton.d.ts +2 -2
- package/lib/VideoPlayer/components/Captions/Captions.d.ts +2 -2
- package/lib/VideoPlayer/components/ControlsBar/ControlsBar.d.ts +2 -2
- package/lib/VideoPlayer/components/FullScreenButton/FullScreenButton.d.ts +2 -2
- package/lib/VideoPlayer/components/IconControl/IconControl.d.ts +2 -2
- package/lib/VideoPlayer/components/MuteButton/MuteButton.d.ts +2 -2
- package/lib/VideoPlayer/components/PauseIcon/PauseIcon.d.ts +2 -2
- package/lib/VideoPlayer/components/PlayIcon/PlayIcon.d.ts +2 -2
- package/lib/VideoPlayer/components/PlayPauseButton/PlayPauseButton.d.ts +2 -2
- package/lib/VideoPlayer/components/Range/Range.d.ts +1 -1
- package/lib/VideoPlayer/components/SeekControl/SeekControl.d.ts +2 -2
- package/lib/VideoPlayer/components/VideoTooltip/VideoTooltip.d.ts +2 -2
- package/lib/VideoPlayer/components/VolumeControl/VolumeControl.d.ts +2 -1
- package/lib/animation/Animate/Animate.d.ts +1 -1
- package/lib/animation/AnimationProvider/AnimationProvider.d.ts +1 -1
- package/lib/component-helpers.d.ts +2 -2
- package/lib/css/main.css +1482 -1086
- package/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/base/colors/light.css +1 -1
- package/lib/design-tokens/css/tokens/base/size/size.css +1 -1
- package/lib/design-tokens/css/tokens/base/typography/typography.css +1 -1
- package/lib/design-tokens/css/tokens/functional/animation/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/colors/global-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/colors/global.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/accordion/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/action-menu/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/anchor-nav/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/bento/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/blinking-cursor/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/breadcrumbs/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/button/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/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/footer/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/footer/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/frosted-glass-vfx/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/grid/grid.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/hero/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/icon/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/ide/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/ide/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/image/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-code/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-code/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/inline-link/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/label/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/label/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/link/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/link/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/logosuite/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/media-playlist/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/nav-list/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/colors.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/pricing-options/pricing-options.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/prose/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/prose/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river/base.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river/river.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/river-story-scroll/colors-with-modes.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/section/section.css +1 -1
- package/lib/design-tokens/css/tokens/functional/components/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 +7 -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/base.css +8 -0
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes.css +7 -3
- package/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors.css +4 -2
- 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 +1 -1
- package/lib/design-tokens/js/module/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/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/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/js/module/tokens/functional/components/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/base.js +14 -0
- package/lib/design-tokens/js/module/tokens/functional/components/text-cursor-animation/colors.js +10 -2
- 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 +1 -1
- package/lib/design-tokens/js/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/js/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/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/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/js/tokens/functional/components/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/base.js +6 -0
- package/lib/design-tokens/js/tokens/functional/components/text-cursor-animation/colors.js +4 -2
- 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/json/colors.json +6 -1
- package/lib/design-tokens/scss/tokens/base/colors/light.scss +1 -1
- package/lib/design-tokens/scss/tokens/base/size/size.scss +1 -1
- package/lib/design-tokens/scss/tokens/base/typography/typography.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/animation/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/colors/global.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/bento/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/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/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/footer/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/frosted-glass-vfx/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/grid/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/grid/grid.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/hero/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/icon/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/ide/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/image/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-code/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-link/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/inline-link/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/label/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/link/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/logosuite/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/logosuite/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/media-playlist/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/pricing-options/colors.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/pricing-options/pricing-options.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/prose/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/river/base.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/river/river.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/section/section.scss +1 -1
- package/lib/design-tokens/scss/tokens/functional/components/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/base.scss +5 -0
- package/lib/design-tokens/scss/tokens/functional/components/text-cursor-animation/colors.scss +4 -2
- 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 +1 -1
- package/lib/design-tokens/ts/tokens/base/size/size.js +1 -1
- package/lib/design-tokens/ts/tokens/base/typography/typography.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/base/typography/typography.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/animation/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/animation/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/colors/global.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/colors/global.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/bento/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/bento/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/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/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/footer/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/frosted-glass-vfx/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/grid.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/grid/grid.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/hero/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/hero/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/icon/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/ide/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/ide/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/image/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/image/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-code/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/inline-link/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/label/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/label/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/link/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/link/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/logosuite/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/media-playlist/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/colors.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/pricing-options/pricing-options.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/prose/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/prose/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/base.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/base.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/river.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/river/river.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/section/section.d.ts +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/section/section.js +1 -1
- package/lib/design-tokens/ts/tokens/functional/components/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/base.d.ts +17 -0
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/base.js +14 -0
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.d.ts +4 -2
- package/lib/design-tokens/ts/tokens/functional/components/text-cursor-animation/colors.js +4 -2
- 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/forms/FormControl/FormControl.d.ts +5 -5
- package/lib/forms/Select/Select.d.ts +2 -2
- package/lib/hooks/useCursorAnimation.d.ts +8 -31
- package/lib/index.js +1 -1
- package/lib/list/OrderedList/OrderedList.d.ts +2 -2
- package/lib/list/UnorderedList/UnorderedList.d.ts +2 -2
- package/lib/river/RiverAccordion/RiverAccordion.d.ts +15 -6
- package/lib/river/RiverBreakout/RiverBreakout.d.ts +1 -1
- package/lib/river/RiverBreakoutTabs/RiverBreakoutTabs.d.ts +5 -5
- package/lib/river/RiverStoryScroll/RiverStoryScroll.d.ts +1 -1
- package/lib/river/RiverStoryScroll/RiverStoryScrollProvider.d.ts +2 -2
- package/lib/river/RiverStoryScroll/RiverStoryScrollResponder.d.ts +1 -1
- package/lib/river/RiverStoryScroll/RiverStoryScrollTracker.d.ts +1 -1
- package/llms.txt +2 -2
- package/package.json +24 -24
- package/esm/SubdomainNavBar/SubdomainNavBar.module-Rf4qEDka.css +0 -1
- package/esm/TextCursorAnimation/TextCursorAnimation.module-BJLhwKrK.css +0 -1
- package/esm/node_modules/@primer/octicons-react/dist/index.esm.js +0 -434
- package/esm/node_modules/@primer/octicons-react/dist/index.esm.js.map +0 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/subdomain-nav-bar/colors-with-modes-ehJCoExh.css +0 -1
- package/esm/packages/design-tokens/lib/design-tokens/css/tokens/functional/components/text-cursor-animation/colors-with-modes-BODdIvrY.css +0 -1
- package/esm/river/RiverAccordion/RiverAccordion.module-BTU_metB.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationProvider.js","names":[],"sources":["../../../src/animation/AnimationProvider/AnimationProvider.tsx"],"sourcesContent":["import React, {createContext, PropsWithChildren, useEffect, useState} from 'react'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/animation/base.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from '../Animation.module.css'\nimport {useId} from '../../hooks/useId'\n\nexport const AnimationVariants = [\n 'fade-in',\n 'fade-out',\n 'slide-in-up',\n 'slide-in-down',\n 'slide-in-left',\n 'slide-in-right',\n 'scale-in-up',\n 'scale-in-down',\n 'scale-in',\n 'fill-in-top',\n 'scale-in-right',\n 'scale-in-left',\n 'fill-in-right',\n 'reveal-in-up',\n] as const\n\ntype Variant = (typeof AnimationVariants)[number]\n\ntype VariantAdvanced = {\n variant: Variant\n delay?: number\n duration?: number\n ease?: string\n}\nexport type AnimateProps = Variant | VariantAdvanced\n\ntype AnimationTrigger = 'click' | 'on-visible' | 'immediate'\ntype IntersectionVisibilityeOptions = 'bottom-of-screen' | 'middle-of-screen' | 'about-to-leave' | number\n\ntype AnimationProviderProps = {\n /**\n * Prevents animations from running inside the provider\n */\n disableAnimations?: boolean\n /**\n * Controls the trigger method for the animation. One of `click`, `on-visible`, or `immediate`.\n */\n animationTrigger?: AnimationTrigger\n /**\n * Controls the intersection observer options for the animation.\n * One of `bottom-of-screen`, `middle-of-screen`, `about-to-leave`, or a number between 0 and 1.\n */\n visibilityOptions?: IntersectionVisibilityeOptions\n /**\n * Will persist the animation end-state after the animation has completed\n */\n runOnce?: boolean\n\n /**\n * Will stagger the animations of the children using an incrementing delay\n */\n autoStaggerChildren?: boolean\n\n /**\n * Stagger delay increment. Should be used alongside `autoStaggerChildren`.\n */\n staggerDelayIncrement?: number\n}\n\nexport const AnimationContext = createContext<AnimationProviderProps>({})\n\nfunction getIntersectionObserverOptions(animationOptions: AnimationProviderProps): IntersectionObserverInit {\n const {visibilityOptions} = animationOptions\n\n switch (visibilityOptions) {\n case 'bottom-of-screen':\n return {\n rootMargin: '0px 0px -10% 0px',\n threshold: 0.4,\n }\n case 'middle-of-screen':\n return {\n rootMargin: '0px 0px -30% 0px',\n threshold: 0.4,\n }\n case 'about-to-leave':\n return {\n rootMargin: '0px 0px -100% 0px',\n threshold: 0.4,\n }\n default:\n return typeof visibilityOptions === 'number'\n ? {\n rootMargin: '0px',\n threshold: visibilityOptions / 100,\n }\n : {\n rootMargin: '0px',\n threshold: 0.4,\n }\n }\n}\n\nexport function AnimationProvider({\n children,\n disableAnimations = false,\n animationTrigger = 'on-visible',\n visibilityOptions = 'bottom-of-screen',\n runOnce = false,\n autoStaggerChildren = true,\n staggerDelayIncrement = 100,\n}: PropsWithChildren<AnimationProviderProps>) {\n const uniqueId = useId()\n const [animationContext, setAnimationContext] = useState<AnimationProviderProps>({\n disableAnimations,\n animationTrigger,\n visibilityOptions,\n runOnce,\n })\n\n useEffect(() => {\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n if (prefersReducedMotion) {\n setAnimationContext({\n disableAnimations: true,\n animationTrigger,\n visibilityOptions,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // add useEffect to add transition-delay to children that contain the Animation class\n useEffect(() => {\n if (!disableAnimations && autoStaggerChildren && uniqueId) {\n const stagger = staggerDelayIncrement\n const animationProvider = document.getElementById(uniqueId)\n\n if (!animationProvider) return\n\n const items = Array.from(animationProvider.querySelectorAll<HTMLElement>(`.${styles.Animation}`))\n\n if (items.length === 0) return\n\n for (let i = 0; i < items.length; i++) {\n items[i].style.transitionDelay = `${i * stagger}ms`\n }\n }\n }, [disableAnimations, autoStaggerChildren, staggerDelayIncrement, uniqueId])\n\n // Immediately run animations and bypass intersection observer\n useEffect(() => {\n if (!disableAnimations && animationTrigger === 'immediate' && uniqueId) {\n const animationProvider = document.getElementById(uniqueId)\n if (!animationProvider) return\n\n requestAnimationFrame(() => {\n const elements = Array.from(animationProvider.querySelectorAll(`.${styles.Animation}`))\n for (const element of elements) {\n element.classList.add(styles['Animation--active'])\n }\n })\n }\n }, [disableAnimations, animationTrigger, uniqueId])\n\n useEffect(() => {\n if (!disableAnimations && animationTrigger === 'on-visible') {\n const observer = new IntersectionObserver(\n entries => {\n for (const entry of entries) {\n if (entry.isIntersecting && entry.target.classList.contains(styles.Animation)) {\n entry.target.classList.add(styles['Animation--active'])\n } else {\n if (!runOnce) {\n entry.target.classList.remove(styles['Animation--active'])\n }\n }\n }\n },\n getIntersectionObserverOptions({\n disableAnimations,\n animationTrigger,\n visibilityOptions,\n }),\n )\n\n const elements = Array.from(document.querySelectorAll(`.${styles.Animation}`))\n\n for (const element of elements) {\n observer.observe(element)\n }\n\n return () => {\n observer.disconnect()\n }\n }\n\n if (!disableAnimations && animationTrigger === 'click') {\n const handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement\n if (target.classList.contains(styles.Animation)) {\n target.classList.add(styles['Animation--active'])\n }\n }\n\n document.addEventListener('click', handleClick)\n\n return () => {\n document.removeEventListener('click', handleClick)\n }\n }\n }, [disableAnimations, animationTrigger, visibilityOptions, runOnce])\n return (\n <AnimationContext.Provider value={animationContext}>\n <div id={uniqueId}>{children}</div>\n </AnimationContext.Provider>\n )\n}\n"],"mappings":";;;;;;AAWA,IAAa,IAAoB;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;
|
|
1
|
+
{"version":3,"file":"AnimationProvider.js","names":[],"sources":["../../../src/animation/AnimationProvider/AnimationProvider.tsx"],"sourcesContent":["import React, {createContext, PropsWithChildren, useEffect, useState} from 'react'\n\n/**\n * Design tokens\n */\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/animation/base.css'\n\n/** * Main Stylesheet (as a CSS Module) */\nimport styles from '../Animation.module.css'\nimport {useId} from '../../hooks/useId'\n\nexport const AnimationVariants = [\n 'fade-in',\n 'fade-out',\n 'slide-in-up',\n 'slide-in-down',\n 'slide-in-left',\n 'slide-in-right',\n 'scale-in-up',\n 'scale-in-down',\n 'scale-in',\n 'fill-in-top',\n 'scale-in-right',\n 'scale-in-left',\n 'fill-in-right',\n 'reveal-in-up',\n] as const\n\ntype Variant = (typeof AnimationVariants)[number]\n\ntype VariantAdvanced = {\n variant: Variant\n delay?: number\n duration?: number\n ease?: string\n}\nexport type AnimateProps = Variant | VariantAdvanced\n\ntype AnimationTrigger = 'click' | 'on-visible' | 'immediate'\ntype IntersectionVisibilityeOptions = 'bottom-of-screen' | 'middle-of-screen' | 'about-to-leave' | number\n\ntype AnimationProviderProps = {\n /**\n * Prevents animations from running inside the provider\n */\n disableAnimations?: boolean\n /**\n * Controls the trigger method for the animation. One of `click`, `on-visible`, or `immediate`.\n */\n animationTrigger?: AnimationTrigger\n /**\n * Controls the intersection observer options for the animation.\n * One of `bottom-of-screen`, `middle-of-screen`, `about-to-leave`, or a number between 0 and 1.\n */\n visibilityOptions?: IntersectionVisibilityeOptions\n /**\n * Will persist the animation end-state after the animation has completed\n */\n runOnce?: boolean\n\n /**\n * Will stagger the animations of the children using an incrementing delay\n */\n autoStaggerChildren?: boolean\n\n /**\n * Stagger delay increment. Should be used alongside `autoStaggerChildren`.\n */\n staggerDelayIncrement?: number\n}\n\nexport const AnimationContext = createContext<AnimationProviderProps>({})\n\nfunction getIntersectionObserverOptions(animationOptions: AnimationProviderProps): IntersectionObserverInit {\n const {visibilityOptions} = animationOptions\n\n switch (visibilityOptions) {\n case 'bottom-of-screen':\n return {\n rootMargin: '0px 0px -10% 0px',\n threshold: 0.4,\n }\n case 'middle-of-screen':\n return {\n rootMargin: '0px 0px -30% 0px',\n threshold: 0.4,\n }\n case 'about-to-leave':\n return {\n rootMargin: '0px 0px -100% 0px',\n threshold: 0.4,\n }\n default:\n return typeof visibilityOptions === 'number'\n ? {\n rootMargin: '0px',\n threshold: visibilityOptions / 100,\n }\n : {\n rootMargin: '0px',\n threshold: 0.4,\n }\n }\n}\n\nexport function AnimationProvider({\n children,\n disableAnimations = false,\n animationTrigger = 'on-visible',\n visibilityOptions = 'bottom-of-screen',\n runOnce = false,\n autoStaggerChildren = true,\n staggerDelayIncrement = 100,\n}: PropsWithChildren<AnimationProviderProps>) {\n const uniqueId = useId()\n const [animationContext, setAnimationContext] = useState<AnimationProviderProps>({\n disableAnimations,\n animationTrigger,\n visibilityOptions,\n runOnce,\n })\n\n useEffect(() => {\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n if (prefersReducedMotion) {\n setAnimationContext({\n disableAnimations: true,\n animationTrigger,\n visibilityOptions,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n // add useEffect to add transition-delay to children that contain the Animation class\n useEffect(() => {\n if (!disableAnimations && autoStaggerChildren && uniqueId) {\n const stagger = staggerDelayIncrement\n const animationProvider = document.getElementById(uniqueId)\n\n if (!animationProvider) return\n\n const items = Array.from(animationProvider.querySelectorAll<HTMLElement>(`.${styles.Animation}`))\n\n if (items.length === 0) return\n\n for (let i = 0; i < items.length; i++) {\n items[i].style.transitionDelay = `${i * stagger}ms`\n }\n }\n }, [disableAnimations, autoStaggerChildren, staggerDelayIncrement, uniqueId])\n\n // Immediately run animations and bypass intersection observer\n useEffect(() => {\n if (!disableAnimations && animationTrigger === 'immediate' && uniqueId) {\n const animationProvider = document.getElementById(uniqueId)\n if (!animationProvider) return\n\n requestAnimationFrame(() => {\n const elements = Array.from(animationProvider.querySelectorAll(`.${styles.Animation}`))\n for (const element of elements) {\n element.classList.add(styles['Animation--active'])\n }\n })\n }\n }, [disableAnimations, animationTrigger, uniqueId])\n\n useEffect(() => {\n if (!disableAnimations && animationTrigger === 'on-visible') {\n const observer = new IntersectionObserver(\n entries => {\n for (const entry of entries) {\n if (entry.isIntersecting && entry.target.classList.contains(styles.Animation)) {\n entry.target.classList.add(styles['Animation--active'])\n } else {\n if (!runOnce) {\n entry.target.classList.remove(styles['Animation--active'])\n }\n }\n }\n },\n getIntersectionObserverOptions({\n disableAnimations,\n animationTrigger,\n visibilityOptions,\n }),\n )\n\n const elements = Array.from(document.querySelectorAll(`.${styles.Animation}`))\n\n for (const element of elements) {\n observer.observe(element)\n }\n\n return () => {\n observer.disconnect()\n }\n }\n\n if (!disableAnimations && animationTrigger === 'click') {\n const handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement\n if (target.classList.contains(styles.Animation)) {\n target.classList.add(styles['Animation--active'])\n }\n }\n\n document.addEventListener('click', handleClick)\n\n return () => {\n document.removeEventListener('click', handleClick)\n }\n }\n }, [disableAnimations, animationTrigger, visibilityOptions, runOnce])\n return (\n <AnimationContext.Provider value={animationContext}>\n <div id={uniqueId}>{children}</div>\n </AnimationContext.Provider>\n )\n}\n"],"mappings":";;;;;;AAWA,IAAa,IAAoB;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GA6Ca,IAAmB,EAAsC,CAAC,CAAC;AAExE,SAAS,EAA+B,GAAoE;CAC1G,IAAM,EAAC,yBAAqB;CAE5B,QAAQ,GAAR;EACE,KAAK,oBACH,OAAO;GACL,YAAY;GACZ,WAAW;EACb;EACF,KAAK,oBACH,OAAO;GACL,YAAY;GACZ,WAAW;EACb;EACF,KAAK,kBACH,OAAO;GACL,YAAY;GACZ,WAAW;EACb;EACF,SACE,OAAO,OAAO,KAAsB,WAChC;GACE,YAAY;GACZ,WAAW,IAAoB;EACjC,IACA;GACE,YAAY;GACZ,WAAW;EACb;CACR;AACF;AAEA,SAAgB,EAAkB,EAChC,aACA,uBAAoB,IACpB,sBAAmB,cACnB,uBAAoB,oBACpB,aAAU,IACV,yBAAsB,IACtB,2BAAwB,OACoB;CAC5C,IAAM,IAAW,EAAM,GACjB,CAAC,GAAkB,KAAuB,EAAiC;EAC/E;EACA;EACA;EACA;CACF,CAAC;CA+FD,OA7FA,QAAgB;EAGd,AAF6B,OAAO,WAAW,kCAAkC,CAAC,CAAC,WAGjF,EAAoB;GAClB,mBAAmB;GACnB;GACA;EACF,CAAC;CAGL,GAAG,CAAC,CAAC,GAGL,QAAgB;EACd,IAAI,CAAC,KAAqB,KAAuB,GAAU;GACzD,IAAM,IAAU,GACV,IAAoB,SAAS,eAAe,CAAQ;GAE1D,IAAI,CAAC,GAAmB;GAExB,IAAM,IAAQ,MAAM,KAAK,EAAkB,iBAA8B,IAAI,EAAO,WAAW,CAAC;GAEhG,IAAI,EAAM,WAAW,GAAG;GAExB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAM,QAAQ,KAChC,EAAM,EAAE,CAAC,MAAM,kBAAkB,GAAG,IAAI,EAAQ;EAEpD;CACF,GAAG;EAAC;EAAmB;EAAqB;EAAuB;CAAQ,CAAC,GAG5E,QAAgB;EACd,IAAI,CAAC,KAAqB,MAAqB,eAAe,GAAU;GACtE,IAAM,IAAoB,SAAS,eAAe,CAAQ;GAC1D,IAAI,CAAC,GAAmB;GAExB,4BAA4B;IAC1B,IAAM,IAAW,MAAM,KAAK,EAAkB,iBAAiB,IAAI,EAAO,WAAW,CAAC;IACtF,KAAK,IAAM,KAAW,GACpB,EAAQ,UAAU,IAAI,EAAO,oBAAoB;GAErD,CAAC;EACH;CACF,GAAG;EAAC;EAAmB;EAAkB;CAAQ,CAAC,GAElD,QAAgB;EACd,IAAI,CAAC,KAAqB,MAAqB,cAAc;GAC3D,IAAM,IAAW,IAAI,sBACnB,MAAW;IACT,KAAK,IAAM,KAAS,GAClB,AAAI,EAAM,kBAAkB,EAAM,OAAO,UAAU,SAAS,EAAO,SAAS,IAC1E,EAAM,OAAO,UAAU,IAAI,EAAO,oBAAoB,IAEjD,KACH,EAAM,OAAO,UAAU,OAAO,EAAO,oBAAoB;GAIjE,GACA,EAA+B;IAC7B;IACA;IACA;GACF,CAAC,CACH,GAEM,IAAW,MAAM,KAAK,SAAS,iBAAiB,IAAI,EAAO,WAAW,CAAC;GAE7E,KAAK,IAAM,KAAW,GACpB,EAAS,QAAQ,CAAO;GAG1B,aAAa;IACX,EAAS,WAAW;GACtB;EACF;EAEA,IAAI,CAAC,KAAqB,MAAqB,SAAS;GACtD,IAAM,KAAe,MAAsB;IACzC,IAAM,IAAS,EAAM;IACrB,AAAI,EAAO,UAAU,SAAS,EAAO,SAAS,KAC5C,EAAO,UAAU,IAAI,EAAO,oBAAoB;GAEpD;GAIA,OAFA,SAAS,iBAAiB,SAAS,CAAW,SAEjC;IACX,SAAS,oBAAoB,SAAS,CAAW;GACnD;EACF;CACF,GAAG;EAAC;EAAmB;EAAkB;EAAmB;CAAO,CAAC,GAElE,kBAAC,EAAiB,UAAlB;EAA2B,OAAO;YAChC,kBAAC,OAAD;GAAK,IAAI;GAAW;EAAc,CAAA;CACT,CAAA;AAE/B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import { useTextRevealAnimationLines as t } from "./useTextRevealAnimationLines.js";
|
|
3
3
|
import n from "./TextRevealAnimation.module.js";
|
|
4
4
|
import { useProvidedRefOrCreate as r } from "../../hooks/useRef.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextRevealAnimation.js","names":[],"sources":["../../../src/animation/TextRevealAnimation/TextRevealAnimation.tsx"],"sourcesContent":["import React, {useEffect} from 'react'\nimport {clsx} from 'clsx'\nimport {useTextRevealAnimationLines} from './useTextRevealAnimationLines'\n\nimport styles from './TextRevealAnimation.module.css'\nimport {BaseProps} from '../../component-helpers'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nexport type TextRevealAnimationProps = BaseProps<HTMLSpanElement> &\n Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string\n }\n\nexport const TextRevealAnimation = React.forwardRef<HTMLSpanElement, TextRevealAnimationProps>(\n function
|
|
1
|
+
{"version":3,"file":"TextRevealAnimation.js","names":[],"sources":["../../../src/animation/TextRevealAnimation/TextRevealAnimation.tsx"],"sourcesContent":["import React, {useEffect} from 'react'\nimport {clsx} from 'clsx'\nimport {useTextRevealAnimationLines} from './useTextRevealAnimationLines'\n\nimport styles from './TextRevealAnimation.module.css'\nimport {BaseProps} from '../../component-helpers'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nexport type TextRevealAnimationProps = BaseProps<HTMLSpanElement> &\n Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'> & {\n children: string\n }\n\nexport const TextRevealAnimation = React.forwardRef<HTMLSpanElement, TextRevealAnimationProps>(\n function TextRevealAnimationWithRef({children, ...rest}, forwardedRef) {\n const spanRef = useProvidedRefOrCreate<HTMLSpanElement | null>(\n forwardedRef as React.RefObject<HTMLSpanElement> | React.RefCallback<HTMLSpanElement> | null,\n )\n const {lines} = useTextRevealAnimationLines(children || '', spanRef)\n const [animationStarted, setAnimationStarted] = React.useState(false)\n const [hasAnimationCompleted, setHasAnimationCompleted] = React.useState(false)\n\n const onLineAnimationEnd = (i: number) => {\n if (lines && i === lines.length - 1) {\n setHasAnimationCompleted(true)\n }\n }\n\n useEffect(() => {\n const el = spanRef.current\n const observer = new IntersectionObserver(\n entries => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setAnimationStarted(true)\n if (el) {\n observer.unobserve(el)\n }\n }\n }\n },\n {\n threshold: 1,\n rootMargin: '0px 0px -10% 0px',\n },\n )\n\n if (el) {\n observer.observe(el)\n }\n\n return () => {\n if (el) {\n observer.unobserve(el)\n }\n }\n }, [spanRef])\n\n if (typeof children !== 'string' && (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test')) {\n // eslint-disable-next-line no-console\n console.warn('Children passed to TextRevealAnimation must be a string')\n return null\n }\n\n return (\n <span ref={spanRef} {...rest}>\n {lines?.map((line, i) => (\n <React.Fragment key={line}>\n <span\n className={clsx(\n styles.TextRevealAnimation,\n animationStarted && styles['TextRevealAnimation--visible'],\n animationStarted &&\n (hasAnimationCompleted ? styles['TextRevealAnimation'] : styles['TextRevealAnimation--animated']),\n )}\n style={{'--animation-delay': `${220 + i * 200}ms`} as React.CSSProperties}\n onAnimationEnd={() => onLineAnimationEnd(i)}\n >\n {line}\n </span>{' '}\n {/* The trailing space above is intentional. It prevents adjacent words at the start/end of lines from being rendered as a single word */}\n </React.Fragment>\n ))}\n </span>\n )\n },\n)\n"],"mappings":";;;;;;;AAaA,IAAa,IAAsB,EAAM,WACvC,SAAoC,EAAC,aAAU,GAAG,KAAO,GAAc;CACrE,IAAM,IAAU,EACd,CACF,GACM,EAAC,aAAS,EAA4B,KAAY,IAAI,CAAO,GAC7D,CAAC,GAAkB,KAAuB,EAAM,SAAS,EAAK,GAC9D,CAAC,GAAuB,KAA4B,EAAM,SAAS,EAAK,GAExE,KAAsB,MAAc;EACxC,AAAI,KAAS,MAAM,EAAM,SAAS,KAChC,EAAyB,EAAI;CAEjC;CAsCA,OApCA,QAAgB;EACd,IAAM,IAAK,EAAQ,SACb,IAAW,IAAI,sBACnB,MAAW;GACT,KAAK,IAAM,KAAS,GAClB,AAAI,EAAM,mBACR,EAAoB,EAAI,GACpB,KACF,EAAS,UAAU,CAAE;EAI7B,GACA;GACE,WAAW;GACX,YAAY;EACd,CACF;EAMA,OAJI,KACF,EAAS,QAAQ,CAAE,SAGR;GACX,AAAI,KACF,EAAS,UAAU,CAAE;EAEzB;CACF,GAAG,CAAC,CAAO,CAAC,GAER,OAAO,KAAa,aAAA,QAAA,IAAA,aAAsC,iBAAA,QAAA,IAAA,aAA0C,WAEtG,QAAQ,KAAK,yDAAyD,GAC/D,QAIP,kBAAC,QAAD;EAAM,KAAK;EAAS,GAAI;YACrB,GAAO,KAAK,GAAM,MACjB,kBAAC,EAAM,UAAP,EAAA,UAAA,CACE,kBAAC,QAAD;GACE,WAAW,EACT,EAAO,qBACP,KAAoB,EAAO,iCAC3B,MACG,IAAwB,EAAO,sBAAyB,EAAO,iCACpE;GACA,OAAO,EAAC,qBAAqB,GAAG,MAAM,IAAI,IAAI,IAAG;GACjD,sBAAsB,EAAmB,CAAC;aAEzC;EACG,CAAA,GAAE,GAEM,EAAA,GAdK,CAcL,CACjB;CACG,CAAA;AAEV,CACF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import './TextRevealAnimation.module-BzK16DXS.css'
|
|
2
|
-
|
|
1
|
+
import './TextRevealAnimation.module-BzK16DXS.css';//#region src/animation/TextRevealAnimation/TextRevealAnimation.module.css
|
|
2
|
+
var e = "Primer_Brand__TextRevealAnimation-module__TextRevealAnimation___W6_ey", t = "Primer_Brand__TextRevealAnimation-module__wipe___IwKBR", n = {
|
|
3
|
+
TextRevealAnimation: e,
|
|
3
4
|
"TextRevealAnimation--visible": "Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--visible___VS7mJ",
|
|
4
5
|
"TextRevealAnimation--animated": "Primer_Brand__TextRevealAnimation-module__TextRevealAnimation--animated___wKBYl",
|
|
5
|
-
wipe:
|
|
6
|
+
wipe: t
|
|
6
7
|
};
|
|
7
8
|
//#endregion
|
|
8
|
-
export { e as default };
|
|
9
|
+
export { e as TextRevealAnimation, n as default, t as wipe };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=TextRevealAnimation.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTextRevealAnimationLines.js","names":[],"sources":["../../../src/animation/TextRevealAnimation/useTextRevealAnimationLines.ts"],"sourcesContent":["import {useRef, useEffect, useState, RefObject} from 'react'\n\nexport const useTextRevealAnimationLines = (text?: string, providedRef?: RefObject<HTMLElement | null>) => {\n const internalRef = useRef<HTMLElement>(null)\n const ref = providedRef ?? internalRef\n const [lines, setLines] = useState<string[]>()\n\n useEffect(() => {\n if (!ref.current || !text) return\n\n const wrapLines = () => {\n const element = ref.current\n\n if (!element || !text) return\n\n const originalColor = window.getComputedStyle(element).color\n\n element.style.color = 'transparent'\n element.textContent = ''\n\n const words = text.split(' ')\n\n const lineBreakPositions: number[] = []\n let prevHeight = 0\n const linesArr: string[][] = []\n\n for (const word of words) {\n element.textContent += `${word} `\n const height = element.offsetHeight\n\n if (linesArr.length === 0) {\n prevHeight = height\n linesArr.push([word])\n continue\n }\n\n if (height > prevHeight) {\n lineBreakPositions.push(linesArr.length)\n linesArr.push([word])\n } else {\n linesArr.at(-1)?.push(word)\n }\n\n prevHeight = height\n }\n\n element.style.color = originalColor\n element.textContent = ''\n\n setLines(linesArr.map(line => line.join(' ')))\n }\n\n wrapLines()\n }, [text, ref])\n\n return {ref, lines}\n}\n"],"mappings":";;AAEA,IAAa,KAA+B,GAAe,MAAgD;CACzG,IAAM,IAAc,EAAoB,
|
|
1
|
+
{"version":3,"file":"useTextRevealAnimationLines.js","names":[],"sources":["../../../src/animation/TextRevealAnimation/useTextRevealAnimationLines.ts"],"sourcesContent":["import {useRef, useEffect, useState, RefObject} from 'react'\n\nexport const useTextRevealAnimationLines = (text?: string, providedRef?: RefObject<HTMLElement | null>) => {\n const internalRef = useRef<HTMLElement>(null)\n const ref = providedRef ?? internalRef\n const [lines, setLines] = useState<string[]>()\n\n useEffect(() => {\n if (!ref.current || !text) return\n\n const wrapLines = () => {\n const element = ref.current\n\n if (!element || !text) return\n\n const originalColor = window.getComputedStyle(element).color\n\n element.style.color = 'transparent'\n element.textContent = ''\n\n const words = text.split(' ')\n\n const lineBreakPositions: number[] = []\n let prevHeight = 0\n const linesArr: string[][] = []\n\n for (const word of words) {\n element.textContent += `${word} `\n const height = element.offsetHeight\n\n if (linesArr.length === 0) {\n prevHeight = height\n linesArr.push([word])\n continue\n }\n\n if (height > prevHeight) {\n lineBreakPositions.push(linesArr.length)\n linesArr.push([word])\n } else {\n linesArr.at(-1)?.push(word)\n }\n\n prevHeight = height\n }\n\n element.style.color = originalColor\n element.textContent = ''\n\n setLines(linesArr.map(line => line.join(' ')))\n }\n\n wrapLines()\n }, [text, ref])\n\n return {ref, lines}\n}\n"],"mappings":";;AAEA,IAAa,KAA+B,GAAe,MAAgD;CACzG,IAAM,IAAc,EAAoB,IAAI,GACtC,IAAM,KAAe,GACrB,CAAC,GAAO,KAAY,EAAmB;CAkD7C,OAhDA,QAAgB;EACV,CAAC,EAAI,WAAW,CAAC,YAEG;GACtB,IAAM,IAAU,EAAI;GAEpB,IAAI,CAAC,KAAW,CAAC,GAAM;GAEvB,IAAM,IAAgB,OAAO,iBAAiB,CAAO,CAAC,CAAC;GAGvD,AADA,EAAQ,MAAM,QAAQ,eACtB,EAAQ,cAAc;GAEtB,IAAM,IAAQ,EAAK,MAAM,GAAG,GAEtB,IAA+B,CAAC,GAClC,IAAa,GACX,IAAuB,CAAC;GAE9B,KAAK,IAAM,KAAQ,GAAO;IACxB,EAAQ,eAAe,GAAG,EAAK;IAC/B,IAAM,IAAS,EAAQ;IAEvB,IAAI,EAAS,WAAW,GAAG;KAEzB,AADA,IAAa,GACb,EAAS,KAAK,CAAC,CAAI,CAAC;KACpB;IACF;IASA,AAPI,IAAS,KACX,EAAmB,KAAK,EAAS,MAAM,GACvC,EAAS,KAAK,CAAC,CAAI,CAAC,KAEpB,EAAS,GAAG,EAAE,CAAC,EAAE,KAAK,CAAI,GAG5B,IAAa;GACf;GAKA,AAHA,EAAQ,MAAM,QAAQ,GACtB,EAAQ,cAAc,IAEtB,EAAS,EAAS,KAAI,MAAQ,EAAK,KAAK,GAAG,CAAC,CAAC;EAC/C,EAEA,CAAU;CACZ,GAAG,CAAC,GAAM,CAAG,CAAC,GAEP;EAAC;EAAK;CAAK;AACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnimation.js","names":[],"sources":["../../src/animation/useAnimation.ts"],"sourcesContent":["import {CSSProperties, useContext, useMemo} from 'react'\nimport {AnimateProps, AnimationContext, AnimationVariants} from './AnimationProvider'\n\nimport styles from './Animation.module.css'\n\nconst animationTypeToClass = AnimationVariants.reduce((acc, key) => {\n acc[key] = styles[`Animation--${key}`]\n return acc\n}, {})\n\n/**\n * A hook that returns CSS classes and styles for animating an element.\n * @param {AnimateProps} [animateProps] - An object containing animation properties.\n * @returns {{classes: string; styles: CSSProperties}} - An object containing CSS classes and styles for animating an element.\n */\nexport const useAnimation = (animateProps?: AnimateProps): {classes: string; styles: CSSProperties} => {\n const {disableAnimations} = useContext(AnimationContext)\n\n const animationClasses = useMemo(() => {\n if (!animateProps || disableAnimations) {\n return ''\n }\n\n const defaultClasses = styles.Animation\n const dynamicClasses: string[] = []\n\n const animationType = typeof animateProps === 'string' ? animateProps : animateProps.variant\n const animationClass = animationTypeToClass[animationType]\n if (animationClass) {\n dynamicClasses.push(animationClass)\n }\n\n return `${defaultClasses} ${dynamicClasses.join(' ')}`\n }, [animateProps, disableAnimations])\n\n const animationStyles = useMemo(() => {\n if (!animateProps) {\n return {}\n }\n\n const newStyles: CSSProperties = {}\n\n if (typeof animateProps === 'object') {\n const {delay, duration, ease} = animateProps\n if (typeof delay === 'number') {\n newStyles.transitionDelay = `${delay}ms`\n }\n if (typeof duration === 'number') {\n newStyles.transitionDuration = `${duration}ms`\n }\n\n if (ease) {\n newStyles.transitionTimingFunction = ease\n }\n }\n\n return newStyles\n }, [animateProps])\n\n return {\n classes: animationClasses,\n styles: animationStyles,\n }\n}\n"],"mappings":";;;;AAKA,IAAM,IAAuB,EAAkB,QAAQ,GAAK,OAC1D,EAAI,KAAO,EAAO,cAAc,MACzB,IACN,
|
|
1
|
+
{"version":3,"file":"useAnimation.js","names":[],"sources":["../../src/animation/useAnimation.ts"],"sourcesContent":["import {CSSProperties, useContext, useMemo} from 'react'\nimport {AnimateProps, AnimationContext, AnimationVariants} from './AnimationProvider'\n\nimport styles from './Animation.module.css'\n\nconst animationTypeToClass = AnimationVariants.reduce((acc, key) => {\n acc[key] = styles[`Animation--${key}`]\n return acc\n}, {})\n\n/**\n * A hook that returns CSS classes and styles for animating an element.\n * @param {AnimateProps} [animateProps] - An object containing animation properties.\n * @returns {{classes: string; styles: CSSProperties}} - An object containing CSS classes and styles for animating an element.\n */\nexport const useAnimation = (animateProps?: AnimateProps): {classes: string; styles: CSSProperties} => {\n const {disableAnimations} = useContext(AnimationContext)\n\n const animationClasses = useMemo(() => {\n if (!animateProps || disableAnimations) {\n return ''\n }\n\n const defaultClasses = styles.Animation\n const dynamicClasses: string[] = []\n\n const animationType = typeof animateProps === 'string' ? animateProps : animateProps.variant\n const animationClass = animationTypeToClass[animationType]\n if (animationClass) {\n dynamicClasses.push(animationClass)\n }\n\n return `${defaultClasses} ${dynamicClasses.join(' ')}`\n }, [animateProps, disableAnimations])\n\n const animationStyles = useMemo(() => {\n if (!animateProps) {\n return {}\n }\n\n const newStyles: CSSProperties = {}\n\n if (typeof animateProps === 'object') {\n const {delay, duration, ease} = animateProps\n if (typeof delay === 'number') {\n newStyles.transitionDelay = `${delay}ms`\n }\n if (typeof duration === 'number') {\n newStyles.transitionDuration = `${duration}ms`\n }\n\n if (ease) {\n newStyles.transitionTimingFunction = ease\n }\n }\n\n return newStyles\n }, [animateProps])\n\n return {\n classes: animationClasses,\n styles: animationStyles,\n }\n}\n"],"mappings":";;;;AAKA,IAAM,IAAuB,EAAkB,QAAQ,GAAK,OAC1D,EAAI,KAAO,EAAO,cAAc,MACzB,IACN,CAAC,CAAC,GAOQ,KAAgB,MAA0E;CACrG,IAAM,EAAC,yBAAqB,EAAW,CAAgB;CA2CvD,OAAO;EACL,SA1CuB,QAAc;GACrC,IAAI,CAAC,KAAgB,GACnB,OAAO;GAGT,IAAM,IAAiB,EAAO,WACxB,IAA2B,CAAC,GAG5B,IAAiB,EADD,OAAO,KAAiB,WAAW,IAAe,EAAa;GAMrF,OAJI,KACF,EAAe,KAAK,CAAc,GAG7B,GAAG,EAAe,GAAG,EAAe,KAAK,GAAG;EACrD,GAAG,CAAC,GAAc,CAAiB,CA2BxB;EACT,QA1BsB,QAAc;GACpC,IAAI,CAAC,GACH,OAAO,CAAC;GAGV,IAAM,IAA2B,CAAC;GAElC,IAAI,OAAO,KAAiB,UAAU;IACpC,IAAM,EAAC,UAAO,aAAU,YAAQ;IAQhC,AAPI,OAAO,KAAU,aACnB,EAAU,kBAAkB,GAAG,EAAM,MAEnC,OAAO,KAAa,aACtB,EAAU,qBAAqB,GAAG,EAAS,MAGzC,MACF,EAAU,2BAA2B;GAEzC;GAEA,OAAO;EACT,GAAG,CAAC,CAAY,CAIN;CACV;AACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import './shared.module-CrdMh7Vf.css'
|
|
1
|
+
import './shared.module-CrdMh7Vf.css';//#region src/component-helpers/shared.module.css
|
|
2
|
+
var e = "Primer_Brand__shared-module__gridline___FDR_5", t = { gridline: e };
|
|
2
3
|
//#endregion
|
|
3
|
-
export {
|
|
4
|
+
export { t as default, e as gridline };
|
|
4
5
|
|
|
5
6
|
//# sourceMappingURL=shared.module.js.map
|
|
@@ -6,14 +6,14 @@ import { AnimateProps } from './animation/AnimationProvider';
|
|
|
6
6
|
export declare const Container: ({ children, style, }: {
|
|
7
7
|
children: React.ReactElement[] | React.ReactElement;
|
|
8
8
|
style?: React.CSSProperties;
|
|
9
|
-
}) =>
|
|
9
|
+
}) => React.JSX.Element;
|
|
10
10
|
type RedlineBackgroundProps = {
|
|
11
11
|
height?: number;
|
|
12
12
|
hasBorder?: boolean;
|
|
13
13
|
className?: string;
|
|
14
14
|
style?: CSSProperties;
|
|
15
15
|
};
|
|
16
|
-
export declare function RedlineBackground({ height, hasBorder, style, ...rest }: PropsWithChildren<RedlineBackgroundProps>):
|
|
16
|
+
export declare function RedlineBackground({ height, hasBorder, style, ...rest }: PropsWithChildren<RedlineBackgroundProps>): React.JSX.Element;
|
|
17
17
|
/**
|
|
18
18
|
* Base Types
|
|
19
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-helpers.d.ts","sourceRoot":"","sources":["../src/component-helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,OAAO,CAAA;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,sBAGvB;IACD,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B,
|
|
1
|
+
{"version":3,"file":"component-helpers.d.ts","sourceRoot":"","sources":["../src/component-helpers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAC,MAAM,OAAO,CAAA;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,sBAGvB;IACD,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B,sBAA+E,CAAA;AAEhF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAgB,EAChB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,qBAoB3C;AAED;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACZ,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB,CAAA"}
|
package/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":[],"sources":["../src/constants.tsx"],"sourcesContent":["export const Colors = [\n 'default',\n 'blue',\n 'coral',\n 'green',\n 'gray',\n 'indigo',\n 'lemon',\n 'lime',\n 'orange',\n 'pink',\n 'purple',\n 'red',\n 'teal',\n 'yellow',\n] as const\n\nexport const BiColorGradients = ['blue-purple', 'green-blue', 'pink-blue', 'purple-red', 'red-orange'] as const\nexport const TriColorGradients = ['green-blue-purple'] as const\n\n// TODO: consider generating the scale from style dictionary and serve from the brand-primitives package\nexport const BaseSizeScale = [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 60, 64, 80, 88, 96, 112, 128] as const\ntype BaseSizeScale = (typeof BaseSizeScale)[number]\n"],"mappings":";AAAA,IAAa,IAAS;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../src/constants.tsx"],"sourcesContent":["export const Colors = [\n 'default',\n 'blue',\n 'coral',\n 'green',\n 'gray',\n 'indigo',\n 'lemon',\n 'lime',\n 'orange',\n 'pink',\n 'purple',\n 'red',\n 'teal',\n 'yellow',\n] as const\n\nexport const BiColorGradients = ['blue-purple', 'green-blue', 'pink-blue', 'purple-red', 'red-orange'] as const\nexport const TriColorGradients = ['green-blue-purple'] as const\n\n// TODO: consider generating the scale from style dictionary and serve from the brand-primitives package\nexport const BaseSizeScale = [4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 60, 64, 80, 88, 96, 112, 128] as const\ntype BaseSizeScale = (typeof BaseSizeScale)[number]\n"],"mappings":";AAAA,IAAa,IAAS;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GAEa,IAAmB;CAAC;CAAe;CAAc;CAAa;CAAc;AAAY,GACxF,IAAoB,CAAC,mBAAmB,GAGxC,IAAgB;CAAC;CAAG;CAAG;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAK;AAAG"}
|
package/esm/css/stylesheets.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './utilities-BivJncWo.css';import '
|
|
1
|
+
import './utilities-BivJncWo.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/colors/global-with-modes-Bdet_nBw.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/size/border-B0NqqX5b.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/size/breakpoints-DV9ZFHGu.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/typography/typography-responsive-D6GwCHec.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/size/size-SXubYfUg.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/functional/animation/base-BIr7u5g8.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/base/typography/typography-CAC6sGQ3.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/base/size/size-6EfgMG7y.css';import '../packages/design-tokens/lib/design-tokens/css/tokens/base/colors/color-scales-with-modes-BVk7bh0Y.css';import './reset-CSgu34_f.css';/* empty css */
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
/* empty css */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findElementInChildren.js","names":[],"sources":["../src/findElementInChildren.ts"],"sourcesContent":["import React from 'react'\n\nconst findElementInChildren = (children: React.ReactNode, element: React.ElementType): boolean => {\n if (!children) {\n return false\n }\n\n if (Array.isArray(children)) {\n for (const child of children) {\n if (findElementInChildren(child, element)) {\n return true\n }\n }\n } else if (React.isValidElement<{children?: React.ReactNode}>(children)) {\n if (children.type === element) {\n return true\n }\n\n if (children.props.children && findElementInChildren(children.props.children, element)) {\n return true\n }\n }\n\n return false\n}\n\nexport default findElementInChildren\n"],"mappings":";;AAEA,IAAM,KAAyB,GAA2B,MAAwC;
|
|
1
|
+
{"version":3,"file":"findElementInChildren.js","names":[],"sources":["../src/findElementInChildren.ts"],"sourcesContent":["import React from 'react'\n\nconst findElementInChildren = (children: React.ReactNode, element: React.ElementType): boolean => {\n if (!children) {\n return false\n }\n\n if (Array.isArray(children)) {\n for (const child of children) {\n if (findElementInChildren(child, element)) {\n return true\n }\n }\n } else if (React.isValidElement<{children?: React.ReactNode}>(children)) {\n if (children.type === element) {\n return true\n }\n\n if (children.props.children && findElementInChildren(children.props.children, element)) {\n return true\n }\n }\n\n return false\n}\n\nexport default findElementInChildren\n"],"mappings":";;AAEA,IAAM,KAAyB,GAA2B,MAAwC;CAChG,IAAI,CAAC,GACH,OAAO;CAGT,IAAI,MAAM,QAAQ,CAAQ;OACnB,IAAM,KAAS,GAClB,IAAI,EAAsB,GAAO,CAAO,GACtC,OAAO;CAAA,OAGN,IAAI,EAAM,eAA6C,CAAQ,MAChE,EAAS,SAAS,KAIlB,EAAS,MAAM,YAAY,EAAsB,EAAS,MAAM,UAAU,CAAO,IACnF,OAAO;CAIX,OAAO;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import { useId as t } from "../../hooks/useId.js";
|
|
3
3
|
import { useProvidedRefOrCreate as n } from "../../hooks/useRef.js";
|
|
4
4
|
import r from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
@@ -25,7 +25,7 @@ var l = a(({ checked: a, className: l, indeterminate: u, disabled: d, id: f, onC
|
|
|
25
25
|
"aria-invalid": h === "error" ? "true" : "false",
|
|
26
26
|
"aria-required": m ? "true" : "false",
|
|
27
27
|
"aria-checked": u ? "mixed" : a,
|
|
28
|
-
checked: u
|
|
28
|
+
checked: !u && a,
|
|
29
29
|
className: e(i["Checkbox-input"]),
|
|
30
30
|
disabled: d,
|
|
31
31
|
name: g,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":[],"sources":["../../../src/forms/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, type InputHTMLAttributes, type ReactElement} from 'react'\nimport {clsx} from 'clsx'\nimport {useId} from '../../hooks/useId'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormValidationStatus} from '../form-types'\nimport useLayoutEffect from '../../hooks/useIsomorphicLayoutEffect'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Checkbox.module.css'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nexport type CheckboxProps = {\n /**\n * Apply indeterminate visual appearance to the checkbox\n */\n indeterminate?: boolean\n /**\n * Apply inactive visual appearance to the checkbox\n */\n disabled?: boolean\n /**\n * Indicates whether the checkbox must be checked\n */\n required?: boolean\n /**\n * Only used to inform ARIA attributes. Individual checkboxes do not have validation styles.\n */\n validationStatus?: FormValidationStatus\n /**\n * A unique value that is never shown to the user.\n * Used during form submission and to identify which checkbox inputs are selected\n */\n value?: string\n} & Exclude<InputHTMLAttributes<HTMLInputElement>, 'value'> &\n BaseProps<HTMLInputElement>\n\nconst CheckboxInternal = (\n {\n checked,\n className,\n indeterminate,\n disabled,\n id,\n onChange,\n required,\n validationStatus,\n value,\n ...rest\n }: CheckboxProps,\n ref,\n): ReactElement => {\n const inputRef = useProvidedRefOrCreate<HTMLInputElement | null>(ref || null)\n const uniqueId = useId(id)\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, checked, inputRef])\n\n const onClick = useCallback(() => {\n if (!disabled && inputRef.current) {\n inputRef.current.click()\n }\n }, [disabled, inputRef])\n\n return (\n <span className={styles['Checkbox-wrapper']}>\n <input\n id={uniqueId}\n aria-invalid={validationStatus === 'error' ? 'true' : 'false'}\n aria-required={required ? 'true' : 'false'}\n aria-checked={indeterminate ? 'mixed' : checked}\n checked={indeterminate ? false : checked}\n className={clsx(styles['Checkbox-input'])}\n disabled={disabled}\n name={value}\n onChange={onChange}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n value={value}\n {...rest}\n />\n <span\n className={clsx(styles['Checkbox'], indeterminate && styles['Checkbox--indeterminate'], className)}\n onClick={onClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {indeterminate ? (\n <svg\n className={clsx(styles['Checkbox-checkmark'])}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n height=\"16\"\n aria-hidden=\"true\"\n >\n <path fillRule=\"evenodd\" d=\"M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z\"></path>\n </svg>\n ) : (\n <svg viewBox=\"0 0 100 100\" className={clsx(styles['Checkbox-checkmark'])} aria-hidden=\"true\">\n <path\n className={clsx(styles['Checkbox-checkmark-path'])}\n fill=\"none\"\n stroke=\"#000\"\n strokeWidth=\"13\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeMiterlimit=\"10\"\n d=\"M12.1 52.1l24.4 24.4 53-53\"\n />\n </svg>\n )}\n </span>\n </span>\n )\n}\n\nexport const Checkbox = forwardRef(CheckboxInternal)\n"],"mappings":";;;;;;;;AAyHA,IAAa,IAAW,GAnFtB,EACE,YACA,cACA,kBACA,aACA,OACA,aACA,aACA,qBACA,UACA,GAAG,KAEL,MACiB;CACjB,IAAM,IAAW,EAAgD,KAAO,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":[],"sources":["../../../src/forms/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, type InputHTMLAttributes, type ReactElement} from 'react'\nimport {clsx} from 'clsx'\nimport {useId} from '../../hooks/useId'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormValidationStatus} from '../form-types'\nimport useLayoutEffect from '../../hooks/useIsomorphicLayoutEffect'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Checkbox.module.css'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nexport type CheckboxProps = {\n /**\n * Apply indeterminate visual appearance to the checkbox\n */\n indeterminate?: boolean\n /**\n * Apply inactive visual appearance to the checkbox\n */\n disabled?: boolean\n /**\n * Indicates whether the checkbox must be checked\n */\n required?: boolean\n /**\n * Only used to inform ARIA attributes. Individual checkboxes do not have validation styles.\n */\n validationStatus?: FormValidationStatus\n /**\n * A unique value that is never shown to the user.\n * Used during form submission and to identify which checkbox inputs are selected\n */\n value?: string\n} & Exclude<InputHTMLAttributes<HTMLInputElement>, 'value'> &\n BaseProps<HTMLInputElement>\n\nconst CheckboxInternal = (\n {\n checked,\n className,\n indeterminate,\n disabled,\n id,\n onChange,\n required,\n validationStatus,\n value,\n ...rest\n }: CheckboxProps,\n ref,\n): ReactElement => {\n const inputRef = useProvidedRefOrCreate<HTMLInputElement | null>(ref || null)\n const uniqueId = useId(id)\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate || false\n }\n }, [indeterminate, checked, inputRef])\n\n const onClick = useCallback(() => {\n if (!disabled && inputRef.current) {\n inputRef.current.click()\n }\n }, [disabled, inputRef])\n\n return (\n <span className={styles['Checkbox-wrapper']}>\n <input\n id={uniqueId}\n aria-invalid={validationStatus === 'error' ? 'true' : 'false'}\n aria-required={required ? 'true' : 'false'}\n aria-checked={indeterminate ? 'mixed' : checked}\n checked={indeterminate ? false : checked}\n className={clsx(styles['Checkbox-input'])}\n disabled={disabled}\n name={value}\n onChange={onChange}\n ref={inputRef}\n required={required}\n type=\"checkbox\"\n value={value}\n {...rest}\n />\n <span\n className={clsx(styles['Checkbox'], indeterminate && styles['Checkbox--indeterminate'], className)}\n onClick={onClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n >\n {indeterminate ? (\n <svg\n className={clsx(styles['Checkbox-checkmark'])}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n height=\"16\"\n aria-hidden=\"true\"\n >\n <path fillRule=\"evenodd\" d=\"M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z\"></path>\n </svg>\n ) : (\n <svg viewBox=\"0 0 100 100\" className={clsx(styles['Checkbox-checkmark'])} aria-hidden=\"true\">\n <path\n className={clsx(styles['Checkbox-checkmark-path'])}\n fill=\"none\"\n stroke=\"#000\"\n strokeWidth=\"13\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeMiterlimit=\"10\"\n d=\"M12.1 52.1l24.4 24.4 53-53\"\n />\n </svg>\n )}\n </span>\n </span>\n )\n}\n\nexport const Checkbox = forwardRef(CheckboxInternal)\n"],"mappings":";;;;;;;;AAyHA,IAAa,IAAW,GAnFtB,EACE,YACA,cACA,kBACA,aACA,OACA,aACA,aACA,qBACA,UACA,GAAG,KAEL,MACiB;CACjB,IAAM,IAAW,EAAgD,KAAO,IAAI,GACtE,IAAW,EAAM,CAAE;CAEzB,QAAsB;EACpB,AAAI,EAAS,YACX,EAAS,QAAQ,gBAAgB,KAAiB;CAEtD,GAAG;EAAC;EAAe;EAAS;CAAQ,CAAC;CAErC,IAAM,IAAU,QAAkB;EAChC,AAAI,CAAC,KAAY,EAAS,WACxB,EAAS,QAAQ,MAAM;CAE3B,GAAG,CAAC,GAAU,CAAQ,CAAC;CAEvB,OACE,kBAAC,QAAD;EAAM,WAAW,EAAO;YAAxB,CACE,kBAAC,SAAD;GACE,IAAI;GACJ,gBAAc,MAAqB,UAAU,SAAS;GACtD,iBAAe,IAAW,SAAS;GACnC,gBAAc,IAAgB,UAAU;GACxC,SAAS,MAAwB;GACjC,WAAW,EAAK,EAAO,iBAAiB;GAC9B;GACV,MAAM;GACI;GACV,KAAK;GACK;GACV,MAAK;GACE;GACP,GAAI;EACL,CAAA,GACD,kBAAC,QAAD;GACE,WAAW,EAAK,EAAO,UAAa,KAAiB,EAAO,4BAA4B,CAAS;GACxF;GACT,UAAU;GACV,eAAY;aAEX,IACC,kBAAC,OAAD;IACE,WAAW,EAAK,EAAO,qBAAqB;IAC5C,OAAM;IACN,SAAQ;IACR,OAAM;IACN,QAAO;IACP,eAAY;cAEZ,kBAAC,QAAD;KAAM,UAAS;KAAU,GAAE;IAA6E,CAAA;GACrG,CAAA,IAEL,kBAAC,OAAD;IAAK,SAAQ;IAAc,WAAW,EAAK,EAAO,qBAAqB;IAAG,eAAY;cACpF,kBAAC,QAAD;KACE,WAAW,EAAK,EAAO,0BAA0B;KACjD,MAAK;KACL,QAAO;KACP,aAAY;KACZ,eAAc;KACd,gBAAe;KACf,kBAAiB;KACjB,GAAE;IACH,CAAA;GACE,CAAA;EAEH,CAAA,CACF;;AAEV,CAEmD"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import './Checkbox.module-CtRGEfSq.css'
|
|
1
|
+
import './Checkbox.module-CtRGEfSq.css';//#region src/forms/Checkbox/Checkbox.module.css
|
|
2
|
+
var e = "Primer_Brand__Checkbox-module__Checkbox___u6_Bq", t = {
|
|
2
3
|
"Checkbox-wrapper": "Primer_Brand__Checkbox-module__Checkbox-wrapper___81I1z",
|
|
3
|
-
Checkbox:
|
|
4
|
+
Checkbox: e,
|
|
4
5
|
"Checkbox-input": "Primer_Brand__Checkbox-module__Checkbox-input___NQtTz",
|
|
5
6
|
"Checkbox-checkmark": "Primer_Brand__Checkbox-module__Checkbox-checkmark___1RiBT",
|
|
6
7
|
"Checkbox-checkmark-path": "Primer_Brand__Checkbox-module__Checkbox-checkmark-path___NHI_D",
|
|
7
8
|
"Checkbox--indeterminate": "Primer_Brand__Checkbox-module__Checkbox--indeterminate___TsIkM"
|
|
8
9
|
};
|
|
9
10
|
//#endregion
|
|
10
|
-
export { e as default };
|
|
11
|
+
export { e as Checkbox, t as default };
|
|
11
12
|
|
|
12
13
|
//# sourceMappingURL=Checkbox.module.js.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import { useId as t } from "../../hooks/useId.js";
|
|
3
3
|
import { Text as n } from "../../Text/Text.js";
|
|
4
|
-
import { AlertFillIcon as r
|
|
4
|
+
import { AlertFillIcon as r } from "../../node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js";
|
|
5
|
+
import { CheckCircleFillIcon as i } from "../../node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js";
|
|
5
6
|
import a from "./ControlGroup.module.js";
|
|
6
7
|
import { Children as o, createContext as s, forwardRef as c, isValidElement as l, useContext as u } from "react";
|
|
7
8
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlGroup.js","names":[],"sources":["../../../src/forms/ControlGroup/ControlGroup.tsx"],"sourcesContent":["import React, {Children, createContext, forwardRef, isValidElement, useContext, type HTMLAttributes} from 'react'\nimport {clsx} from 'clsx'\nimport {AlertFillIcon, CheckCircleFillIcon} from '@primer/octicons-react'\nimport {useId} from '../../hooks/useId'\n\nimport type {FormValidationStatus} from '..'\nimport {Text} from '../..'\nimport styles from './ControlGroup.module.css'\n\ntype ControlGroupContext = {\n id?: string\n}\n\nconst ControlGroupContext = createContext<ControlGroupContext | null>(null)\n\nconst useControlGroup = () => {\n const context = useContext(ControlGroupContext)\n\n if (!context) {\n throw new Error(\n 'useControlGroup must be used within an ControlGroupProvider. Did you forget to wrap your component in a <ControlGroupProvider>?',\n )\n }\n\n return context\n}\n\nexport type ControlGroupProps = HTMLAttributes<HTMLFieldSetElement>\nconst _ControlGroup = forwardRef<HTMLFieldSetElement, ControlGroupProps>(({className, id, ...props}, ref) => {\n const uniqueId = useId(id)\n\n const containsCaption = Children.toArray(props.children).some(\n child => isValidElement(child) && child.type === ControlGroupCaption,\n )\n const containsValidation = Children.toArray(props.children).some(\n child => isValidElement(child) && child.type === ControlGroupValidation,\n )\n\n const describedBy =\n [containsCaption && `${uniqueId}-caption`, containsValidation && `${uniqueId}-validation`]\n .filter(Boolean)\n .join(' ') || undefined\n\n return (\n <ControlGroupContext.Provider value={{id: uniqueId}}>\n <fieldset\n ref={ref}\n className={clsx(styles.ControlGroup__container, className)}\n aria-describedby={describedBy}\n {...props}\n />\n </ControlGroupContext.Provider>\n )\n})\n\nexport type ControlGroupLabelProps = {visuallyHidden?: boolean} & HTMLAttributes<HTMLLegendElement>\nconst ControlGroupLabel = forwardRef<HTMLLegendElement, ControlGroupLabelProps>(\n ({children, className, visuallyHidden, ...props}, ref) => {\n return (\n <legend\n ref={ref}\n className={clsx(styles.ControlGroup__label, visuallyHidden && 'visually-hidden', className)}\n {...props}\n >\n <Text as=\"span\" weight=\"medium\" size=\"100\">\n {children}\n </Text>\n </legend>\n )\n },\n)\n\nexport type ControlGroupCaptionProps = HTMLAttributes<HTMLSpanElement>\nconst ControlGroupCaption = forwardRef<HTMLSpanElement, ControlGroupCaptionProps>(({className, ...props}, ref) => {\n const {id} = useControlGroup()\n\n return <Text as=\"span\" size=\"100\" variant=\"muted\" ref={ref} id={`${id}-caption`} className={className} {...props} />\n})\n\nexport type ControlGroupValidationProps = {variant: FormValidationStatus} & HTMLAttributes<HTMLSpanElement>\nconst ControlGroupValidation = forwardRef<HTMLSpanElement, ControlGroupValidationProps>(\n ({className, variant, children, ...props}, ref) => {\n const {id} = useControlGroup()\n\n return (\n <Text\n as=\"span\"\n size=\"100\"\n ref={ref}\n id={`${id}-validation`}\n className={clsx(\n styles.ControlGroup__validation,\n styles['ControlGroup__validation--animate-in'],\n variant === 'success' && styles['ControlGroup__validation--success'],\n variant === 'error' && styles['ControlGroup__validation--error'],\n className,\n )}\n {...props}\n >\n {variant === 'success' && (\n <span className={styles['ControlGroup__validation-icon--success']}>\n <CheckCircleFillIcon />\n </span>\n )}\n {variant === 'error' && (\n <span className={styles['ControlGroup__validation-icon--error']}>\n <AlertFillIcon />\n </span>\n )}\n {children}\n </Text>\n )\n },\n)\n\nexport const ControlGroup = Object.assign(_ControlGroup, {\n Label: ControlGroupLabel,\n Caption: ControlGroupCaption,\n Validation: ControlGroupValidation,\n})\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ControlGroup.js","names":[],"sources":["../../../src/forms/ControlGroup/ControlGroup.tsx"],"sourcesContent":["import React, {Children, createContext, forwardRef, isValidElement, useContext, type HTMLAttributes} from 'react'\nimport {clsx} from 'clsx'\nimport {AlertFillIcon, CheckCircleFillIcon} from '@primer/octicons-react'\nimport {useId} from '../../hooks/useId'\n\nimport type {FormValidationStatus} from '..'\nimport {Text} from '../..'\nimport styles from './ControlGroup.module.css'\n\ntype ControlGroupContext = {\n id?: string\n}\n\nconst ControlGroupContext = createContext<ControlGroupContext | null>(null)\n\nconst useControlGroup = () => {\n const context = useContext(ControlGroupContext)\n\n if (!context) {\n throw new Error(\n 'useControlGroup must be used within an ControlGroupProvider. Did you forget to wrap your component in a <ControlGroupProvider>?',\n )\n }\n\n return context\n}\n\nexport type ControlGroupProps = HTMLAttributes<HTMLFieldSetElement>\nconst _ControlGroup = forwardRef<HTMLFieldSetElement, ControlGroupProps>(({className, id, ...props}, ref) => {\n const uniqueId = useId(id)\n\n const containsCaption = Children.toArray(props.children).some(\n child => isValidElement(child) && child.type === ControlGroupCaption,\n )\n const containsValidation = Children.toArray(props.children).some(\n child => isValidElement(child) && child.type === ControlGroupValidation,\n )\n\n const describedBy =\n [containsCaption && `${uniqueId}-caption`, containsValidation && `${uniqueId}-validation`]\n .filter(Boolean)\n .join(' ') || undefined\n\n return (\n <ControlGroupContext.Provider value={{id: uniqueId}}>\n <fieldset\n ref={ref}\n className={clsx(styles.ControlGroup__container, className)}\n aria-describedby={describedBy}\n {...props}\n />\n </ControlGroupContext.Provider>\n )\n})\n\nexport type ControlGroupLabelProps = {visuallyHidden?: boolean} & HTMLAttributes<HTMLLegendElement>\nconst ControlGroupLabel = forwardRef<HTMLLegendElement, ControlGroupLabelProps>(\n ({children, className, visuallyHidden, ...props}, ref) => {\n return (\n <legend\n ref={ref}\n className={clsx(styles.ControlGroup__label, visuallyHidden && 'visually-hidden', className)}\n {...props}\n >\n <Text as=\"span\" weight=\"medium\" size=\"100\">\n {children}\n </Text>\n </legend>\n )\n },\n)\n\nexport type ControlGroupCaptionProps = HTMLAttributes<HTMLSpanElement>\nconst ControlGroupCaption = forwardRef<HTMLSpanElement, ControlGroupCaptionProps>(({className, ...props}, ref) => {\n const {id} = useControlGroup()\n\n return <Text as=\"span\" size=\"100\" variant=\"muted\" ref={ref} id={`${id}-caption`} className={className} {...props} />\n})\n\nexport type ControlGroupValidationProps = {variant: FormValidationStatus} & HTMLAttributes<HTMLSpanElement>\nconst ControlGroupValidation = forwardRef<HTMLSpanElement, ControlGroupValidationProps>(\n ({className, variant, children, ...props}, ref) => {\n const {id} = useControlGroup()\n\n return (\n <Text\n as=\"span\"\n size=\"100\"\n ref={ref}\n id={`${id}-validation`}\n className={clsx(\n styles.ControlGroup__validation,\n styles['ControlGroup__validation--animate-in'],\n variant === 'success' && styles['ControlGroup__validation--success'],\n variant === 'error' && styles['ControlGroup__validation--error'],\n className,\n )}\n {...props}\n >\n {variant === 'success' && (\n <span className={styles['ControlGroup__validation-icon--success']}>\n <CheckCircleFillIcon />\n </span>\n )}\n {variant === 'error' && (\n <span className={styles['ControlGroup__validation-icon--error']}>\n <AlertFillIcon />\n </span>\n )}\n {children}\n </Text>\n )\n },\n)\n\nexport const ControlGroup = Object.assign(_ControlGroup, {\n Label: ControlGroupLabel,\n Caption: ControlGroupCaption,\n Validation: ControlGroupValidation,\n})\n"],"mappings":";;;;;;;;;AAaA,IAAM,IAAsB,EAA0C,IAAI,GAEpE,UAAwB;CAC5B,IAAM,IAAU,EAAW,CAAmB;CAE9C,IAAI,CAAC,GACH,MAAU,MACR,iIACF;CAGF,OAAO;AACT,GAGM,IAAgB,GAAoD,EAAC,cAAW,OAAI,GAAG,KAAQ,MAAQ;CAC3G,IAAM,IAAW,EAAM,CAAE,GAEnB,IAAkB,EAAS,QAAQ,EAAM,QAAQ,CAAC,CAAC,MACvD,MAAS,EAAe,CAAK,KAAK,EAAM,SAAS,CACnD,GACM,IAAqB,EAAS,QAAQ,EAAM,QAAQ,CAAC,CAAC,MAC1D,MAAS,EAAe,CAAK,KAAK,EAAM,SAAS,CACnD,GAEM,IACJ,CAAC,KAAmB,GAAG,EAAS,WAAW,KAAsB,GAAG,EAAS,YAAY,CAAC,CACvF,OAAO,OAAO,CAAC,CACf,KAAK,GAAG,KAAK,KAAA;CAElB,OACE,kBAAC,EAAoB,UAArB;EAA8B,OAAO,EAAC,IAAI,EAAQ;YAChD,kBAAC,YAAD;GACO;GACL,WAAW,EAAK,EAAO,yBAAyB,CAAS;GACzD,oBAAkB;GAClB,GAAI;EACL,CAAA;CAC2B,CAAA;AAElC,CAAC,GAGK,IAAoB,GACvB,EAAC,aAAU,cAAW,mBAAgB,GAAG,KAAQ,MAE9C,kBAAC,UAAD;CACO;CACL,WAAW,EAAK,EAAO,qBAAqB,KAAkB,mBAAmB,CAAS;CAC1F,GAAI;WAEJ,kBAAC,GAAD;EAAM,IAAG;EAAO,QAAO;EAAS,MAAK;EAClC;CACG,CAAA;AACA,CAAA,CAGd,GAGM,IAAsB,GAAuD,EAAC,cAAW,GAAG,KAAQ,MAAQ;CAChH,IAAM,EAAC,UAAM,EAAgB;CAE7B,OAAO,kBAAC,GAAD;EAAM,IAAG;EAAO,MAAK;EAAM,SAAQ;EAAa;EAAK,IAAI,GAAG,EAAG;EAAsB;EAAW,GAAI;CAAQ,CAAA;AACrH,CAAC,GAGK,IAAyB,GAC5B,EAAC,cAAW,YAAS,aAAU,GAAG,KAAQ,MAAQ;CACjD,IAAM,EAAC,UAAM,EAAgB;CAE7B,OACE,kBAAC,GAAD;EACE,IAAG;EACH,MAAK;EACA;EACL,IAAI,GAAG,EAAG;EACV,WAAW,EACT,EAAO,0BACP,EAAO,yCACP,MAAY,aAAa,EAAO,sCAChC,MAAY,WAAW,EAAO,oCAC9B,CACF;EACA,GAAI;YAZN;GAcG,MAAY,aACX,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD,CAAsB,CAAA;GAClB,CAAA;GAEP,MAAY,WACX,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD,CAAgB,CAAA;GACZ,CAAA;GAEP;EACG;;AAEV,CACF,GAEa,IAAe,OAAO,OAAO,GAAe;CACvD,OAAO;CACP,SAAS;CACT,YAAY;AACd,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import './ControlGroup.module-XDWDqxx9.css'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import './ControlGroup.module-XDWDqxx9.css';//#region src/forms/ControlGroup/ControlGroup.module.css
|
|
2
|
+
var e = "Primer_Brand__ControlGroup-module__ControlGroup__container___k0gGq", t = "Primer_Brand__ControlGroup-module__ControlGroup__label___T4WJ_", n = "Primer_Brand__ControlGroup-module__ControlGroup__validation___Mw_kk", r = "Primer_Brand__ControlGroup-module__ControlGroupValidationFadeIn___XyNBx", i = {
|
|
3
|
+
ControlGroup__container: e,
|
|
4
|
+
ControlGroup__label: t,
|
|
5
|
+
ControlGroup__validation: n,
|
|
5
6
|
"ControlGroup__validation--success": "Primer_Brand__ControlGroup-module__ControlGroup__validation--success___MyYHt",
|
|
6
7
|
"ControlGroup__validation--error": "Primer_Brand__ControlGroup-module__ControlGroup__validation--error___LauSr",
|
|
7
8
|
"ControlGroup__validation-icon--success": "Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--success___DM0ZI",
|
|
8
9
|
"ControlGroup__validation-icon--error": "Primer_Brand__ControlGroup-module__ControlGroup__validation-icon--error___IDxnE",
|
|
9
10
|
"ControlGroup__validation--animate-in": "Primer_Brand__ControlGroup-module__ControlGroup__validation--animate-in___RqXFv",
|
|
10
|
-
ControlGroupValidationFadeIn:
|
|
11
|
+
ControlGroupValidationFadeIn: r
|
|
11
12
|
};
|
|
12
13
|
//#endregion
|
|
13
|
-
export { e as default };
|
|
14
|
+
export { r as ControlGroupValidationFadeIn, e as ControlGroup__container, t as ControlGroup__label, n as ControlGroup__validation, i as default };
|
|
14
15
|
|
|
15
16
|
//# sourceMappingURL=ControlGroup.module.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import type { BaseProps } from '../../component-helpers';
|
|
3
3
|
import type { FormValidationStatus, FormInputSizes } from '../';
|
|
4
4
|
import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css';
|
|
@@ -47,10 +47,10 @@ type FormControlHintProps = PropsWithChildren<BaseProps<HTMLSpanElement>>;
|
|
|
47
47
|
* FormControl
|
|
48
48
|
* {@link https://primer.style/brand/components/FormControl/ See usage examples}.
|
|
49
49
|
*/
|
|
50
|
-
export declare const FormControl: (({ children, className, hasBorder, fullWidth, id, required, size, validationStatus, ...rest }: PropsWithChildren<FormControlProps>) =>
|
|
51
|
-
Label: ({ children, className, htmlFor, required, showRequiredIndicator, size, validationStatus, visuallyHidden, ...rest }: PropsWithChildren<FormControlLabelProps>) =>
|
|
52
|
-
Validation: ({ children, validationStatus, className, ...props }: FormControlValidationProps) =>
|
|
53
|
-
Hint: ({ className, ...rest }: FormControlHintProps) =>
|
|
50
|
+
export declare const FormControl: (({ children, className, hasBorder, fullWidth, id, required, size, validationStatus, ...rest }: PropsWithChildren<FormControlProps>) => React.JSX.Element) & {
|
|
51
|
+
Label: ({ children, className, htmlFor, required, showRequiredIndicator, size, validationStatus, visuallyHidden, ...rest }: PropsWithChildren<FormControlLabelProps>) => React.JSX.Element;
|
|
52
|
+
Validation: ({ children, validationStatus, className, ...props }: FormControlValidationProps) => React.JSX.Element;
|
|
53
|
+
Hint: ({ className, ...rest }: FormControlHintProps) => React.JSX.Element;
|
|
54
54
|
};
|
|
55
55
|
export {};
|
|
56
56
|
//# sourceMappingURL=FormControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../../src/forms/FormControl/FormControl.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../../src/forms/FormControl/FormControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAA;AAK9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAC,oBAAoB,EAAE,cAAc,EAAC,MAAM,KAAK,CAAA;AAS7D,OAAO,2GAA2G,CAAA;AAGlH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG;IACtD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC,CAAA;AA2JD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAA;AA4C/B,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC,GAAG,SAAS,CAAC,eAAe,CAAC,CAAA;AA8B9B,KAAK,oBAAoB,GAAG,iBAAiB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAA;AAMzE;;;GAGG;AACH,eAAO,MAAM,WAAW,kGAnOrB,iBAAiB,CAAC,gBAAgB,CAAC;gIAwJnC,iBAAiB,CAAC,qBAAqB,CAAC;sEAqCuC,0BAA0B;mCA8B7D,oBAAoB;CAYjE,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import { useId as t } from "../../hooks/useId.js";
|
|
3
3
|
import { Text as n } from "../../Text/Text.js";
|
|
4
|
-
import { AlertFillIcon as r
|
|
4
|
+
import { AlertFillIcon as r } from "../../node_modules/@primer/octicons-react/dist/icons/AlertFillIcon.js";
|
|
5
|
+
import { CheckCircleFillIcon as i } from "../../node_modules/@primer/octicons-react/dist/icons/CheckCircleFillIcon.js";
|
|
5
6
|
import '../../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes-C05YPRXo.css';/* empty css */
|
|
6
7
|
import { Checkbox as a } from "../Checkbox/Checkbox.js";
|
|
7
8
|
import { Textarea as o } from "../Textarea/Textarea.js";
|
|
@@ -90,7 +91,7 @@ var m = ({ children: n, className: r, hasBorder: i, fullWidth: p, id: m, require
|
|
|
90
91
|
required: v,
|
|
91
92
|
validationStatus: b,
|
|
92
93
|
size: y,
|
|
93
|
-
showRequiredIndicator: w
|
|
94
|
+
showRequiredIndicator: !w && n.props.showRequiredIndicator
|
|
94
95
|
});
|
|
95
96
|
}
|
|
96
97
|
if (t.type === g) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormControl.js","names":[],"sources":["../../../src/forms/FormControl/FormControl.tsx"],"sourcesContent":["import React, {PropsWithChildren} from 'react'\nimport {useId} from '../../hooks/useId'\nimport {clsx} from 'clsx'\nimport {AlertFillIcon, CheckCircleFillIcon} from '@primer/octicons-react'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormValidationStatus, FormInputSizes} from '../'\n\nimport {Checkbox} from '../Checkbox'\nimport {Select} from '../Select'\nimport {TextInput} from '../TextInput'\nimport {Textarea} from '../Textarea'\nimport {Radio} from '../Radio'\nimport {Text} from '../../Text'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './FormControl.module.css'\n\nexport type FormControlProps = BaseProps<HTMLElement> & {\n /**\n * Apply a decorative border to the form control.\n */\n hasBorder?: boolean\n /**\n * Applies full width styling.\n */\n fullWidth?: boolean\n /**\n * A unique identifier for the form control.\n * This is used to associate the form control with its associated label.\n * If an id is not provided, a unique id will be generated.\n */\n id?: string\n /**\n * Applies required styling to the label and input.\n */\n required?: boolean\n /**\n * Alternative sizes for inputs and labels.\n */\n size?: FormInputSizes\n /**\n * Provides contextual validation feedback to all children, showing relevant messaging where applicable.\n */\n validationStatus?: FormValidationStatus\n}\n\n/**\n * The Checkbox and the Radio components both use the trick of using a <label> to render the visual control,\n * and visually hiding the <input>. This means that, when you add a FormControl.Label alongside your\n * Checkbox/Radio, the <input> technically has two <label> elements associated with it.\n * That doesn't appear to be a problem (it's valid HTML and NVDA announces it correctly) but it does annoy\n * our Storybook Axe tests because they only seem to look at one of the labels.\n * To fix this, we recommend that the FormControl.Label always appears before the Checkbox/Radio in the DOM,\n * even though it visually appears after the Checkbox/Radio, as this keeps Storybook Axe happy.\n */\n\nconst Root = ({\n children,\n className,\n hasBorder,\n fullWidth,\n id,\n required,\n size = 'medium',\n validationStatus,\n ...rest\n}: PropsWithChildren<FormControlProps>) => {\n const uniqueId = useId(id)\n const childrenArr = React.Children.toArray(children)\n\n const isInlineControl = childrenArr.some(\n child => React.isValidElement(child) && (child.type === Checkbox || child.type === Radio),\n )\n\n const containsHint = childrenArr.some(child => React.isValidElement(child) && child.type === FormControlHint)\n const containsValidation = childrenArr.some(\n child => React.isValidElement(child) && child.type === FormControlValidation,\n )\n\n return (\n <section\n id={`FormControl--${uniqueId}`}\n className={clsx(\n styles.FormControl,\n fullWidth && styles[`FormControl--fullWidth`],\n isInlineControl && styles['FormControl--checkbox'],\n hasBorder && styles['FormControl--border'],\n className,\n )}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (!React.isValidElement(child)) return child\n\n const describedBy =\n [containsHint && `${uniqueId}-hint`, containsValidation && `${uniqueId}-validation`]\n .filter(Boolean)\n .join(' ') || undefined\n\n if (child.type === TextInput) {\n const element = child as React.ReactElement<React.ComponentProps<typeof TextInput>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Textarea) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Textarea>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Select) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Select>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Checkbox) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Checkbox>>\n return React.cloneElement(element, {\n className: clsx(element.props.className, styles['FormControl-control--checkbox']),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Radio) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Radio>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-control--radio'], element.props.className),\n id: uniqueId,\n name: element.props.name,\n required: element.props.required || required,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === FormControlLabel) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlLabel>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-label--checkbox'], element.props.className),\n htmlFor: uniqueId,\n children: element.props.children,\n required,\n validationStatus,\n size,\n showRequiredIndicator: isInlineControl ? false : element.props.showRequiredIndicator,\n })\n }\n\n if (child.type === FormControlValidation) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlValidation>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-validation-checkbox'], element.props.className),\n validationStatus,\n id: `${uniqueId}-validation`,\n })\n }\n\n if (child.type === FormControlHint) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlHint>>\n return React.cloneElement(element, {\n id: `${uniqueId}-hint`,\n })\n }\n\n return child\n })}\n </section>\n )\n}\n\ntype FormControlLabelProps = {\n htmlFor?: string\n required?: boolean\n showRequiredIndicator?: boolean\n size?: FormInputSizes\n validationStatus?: FormValidationStatus\n visuallyHidden?: boolean\n} & BaseProps<HTMLLabelElement>\n\nconst FormControlLabel = ({\n children,\n className,\n htmlFor,\n required,\n showRequiredIndicator = true,\n size = 'medium',\n validationStatus,\n visuallyHidden,\n ...rest\n}: PropsWithChildren<FormControlLabelProps>) => {\n return (\n <label\n htmlFor={htmlFor}\n className={clsx(\n styles['FormControl-label'],\n validationStatus && styles[`FormControl-label--${validationStatus}`],\n styles[`FormControl-label--${size}`],\n visuallyHidden && styles['FormControl-label--visually-hidden'],\n className,\n )}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (React.isValidElement<FormControlHintProps>(child) && child.type === FormControlHint) {\n return React.cloneElement(child, {\n className: clsx(styles['FormControl--visible'], child.props.className),\n })\n }\n return child\n })}\n\n {required && showRequiredIndicator && (\n <span className={styles['FormControl-label-required']} aria-hidden>\n {' '}\n *\n </span>\n )}\n </label>\n )\n}\n\ntype FormControlValidationProps = {\n children: string\n validationStatus?: FormValidationStatus\n} & BaseProps<HTMLSpanElement>\n\nconst FormControlValidation = ({children, validationStatus, className, ...props}: FormControlValidationProps) => {\n return (\n <Text\n as=\"span\"\n size=\"100\"\n className={clsx(\n styles['FormControl-validation'],\n validationStatus && styles['FormControl-validation--animate-in'],\n validationStatus && styles[`FormControl-validation--${validationStatus}`],\n className,\n )}\n {...props}\n >\n {validationStatus === 'error' && (\n <span className={styles['FormControl-validation-error-icon']}>\n <AlertFillIcon />\n </span>\n )}\n {validationStatus === 'success' && (\n <span className={styles['FormControl-validation-success-icon']}>\n <CheckCircleFillIcon />\n </span>\n )}\n {children}\n </Text>\n )\n}\n\ntype FormControlHintProps = PropsWithChildren<BaseProps<HTMLSpanElement>>\n\nconst FormControlHint = ({className, ...rest}: FormControlHintProps) => {\n return <Text as=\"span\" size=\"100\" variant=\"muted\" className={clsx(styles['FormControl-hint'], className)} {...rest} />\n}\n\n/**\n * FormControl\n * {@link https://primer.style/brand/components/FormControl/ See usage examples}.\n */\nexport const FormControl = Object.assign(Root, {\n Label: FormControlLabel,\n Validation: FormControlValidation,\n Hint: FormControlHint,\n})\n"],"mappings":";;;;;;;;;;;;;;AAyDA,IAAM,KAAQ,EACZ,aACA,cACA,cACA,cACA,OACA,aACA,UAAO,UACP,qBACA,GAAG,QACsC;CACzC,IAAM,IAAW,EAAM,EAAG,EACpB,IAAc,EAAM,SAAS,QAAQ,EAAS,EAE9C,IAAkB,EAAY,MAClC,MAAS,EAAM,eAAe,EAAM,KAAK,EAAM,SAAS,KAAY,EAAM,SAAS,GACpF,EAEK,IAAe,EAAY,MAAK,MAAS,EAAM,eAAe,EAAM,IAAI,EAAM,SAAS,EAAgB,EACvG,IAAqB,EAAY,MACrC,MAAS,EAAM,eAAe,EAAM,IAAI,EAAM,SAAS,EACxD;AAED,QACE,kBAAC,WAAD;EACE,IAAI,gBAAgB;EACpB,WAAW,EACT,EAAO,aACP,KAAa,EAAO,2BACpB,KAAmB,EAAO,0BAC1B,KAAa,EAAO,wBACpB,EACD;EACD,GAAI;YAEH,EAAM,SAAS,IAAI,IAAU,MAAS;AACrC,OAAI,CAAC,EAAM,eAAe,EAAM,CAAE,QAAO;GAEzC,IAAM,IACJ,CAAC,KAAgB,GAAG,EAAS,QAAQ,KAAsB,GAAG,EAAS,aAAa,CACjF,OAAO,QAAQ,CACf,KAAK,IAAI,IAAI,KAAA;AAElB,OAAI,EAAM,SAAS,GAAW;IAC5B,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,EAAQ,MAAM,UAAU;KACxC,IAAI;KACJ,MAAM,EAAQ,MAAM,QAAQ;KAC5B,UAAU,EAAQ,MAAM,YAAY;KACpC,kBAAkB,EAAQ,MAAM,oBAAoB;KACpD;KACA;KACA,oBAAoB;KACrB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAU;IAC3B,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,EAAQ,MAAM,UAAU;KACxC,IAAI;KACJ,MAAM,EAAQ,MAAM,QAAQ;KAC5B,UAAU,EAAQ,MAAM,YAAY;KACpC,kBAAkB,EAAQ,MAAM,oBAAoB;KACpD;KACA;KACA,oBAAoB;KACrB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAQ;IACzB,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,EAAQ,MAAM,UAAU;KACxC,IAAI;KACJ,MAAM,EAAQ,MAAM,QAAQ;KAC5B,UAAU,EAAQ,MAAM,YAAY;KACpC,kBAAkB,EAAQ,MAAM,oBAAoB;KACpD;KACA;KACA,oBAAoB;KACrB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAU;IAC3B,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,EAAQ,MAAM,WAAW,EAAO,iCAAiC;KACjF,IAAI;KACJ,MAAM,EAAQ,MAAM,QAAQ;KAC5B,UAAU,EAAQ,MAAM,YAAY;KACpC,kBAAkB,EAAQ,MAAM,oBAAoB;KACpD,oBAAoB;KACrB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAO;IACxB,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,KAAmB,EAAO,+BAA+B,EAAQ,MAAM,UAAU;KACjG,IAAI;KACJ,MAAM,EAAQ,MAAM;KACpB,UAAU,EAAQ,MAAM,YAAY;KACpC,oBAAoB;KACrB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAkB;IACnC,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,KAAmB,EAAO,gCAAgC,EAAQ,MAAM,UAAU;KAClG,SAAS;KACT,UAAU,EAAQ,MAAM;KACxB;KACA;KACA;KACA,uBAAuB,IAAkB,KAAQ,EAAQ,MAAM;KAChE,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAuB;IACxC,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS;KACjC,WAAW,EAAK,KAAmB,EAAO,oCAAoC,EAAQ,MAAM,UAAU;KACtG;KACA,IAAI,GAAG,EAAS;KACjB,CAAC;;AAGJ,OAAI,EAAM,SAAS,GAAiB;IAClC,IAAM,IAAU;AAChB,WAAO,EAAM,aAAa,GAAS,EACjC,IAAI,GAAG,EAAS,QACjB,CAAC;;AAGJ,UAAO;IACP;EACM,CAAA;GAaR,KAAoB,EACxB,aACA,cACA,YACA,aACA,2BAAwB,IACxB,UAAO,UACP,qBACA,mBACA,GAAG,QAGD,kBAAC,SAAD;CACW;CACT,WAAW,EACT,EAAO,sBACP,KAAoB,EAAO,sBAAsB,MACjD,EAAO,sBAAsB,MAC7B,KAAkB,EAAO,uCACzB,EACD;CACD,GAAI;WATN,CAWG,EAAM,SAAS,IAAI,IAAU,MACxB,EAAM,eAAqC,EAAM,IAAI,EAAM,SAAS,IAC/D,EAAM,aAAa,GAAO,EAC/B,WAAW,EAAK,EAAO,yBAAyB,EAAM,MAAM,UAAU,EACvE,CAAC,GAEG,EACP,EAED,KAAY,KACX,kBAAC,QAAD;EAAM,WAAW,EAAO;EAA+B,eAAA;YAAvD,CACG,KAAI,IAEA;IAEH;IASN,KAAyB,EAAC,aAAU,qBAAkB,cAAW,GAAG,QAEtE,kBAAC,GAAD;CACE,IAAG;CACH,MAAK;CACL,WAAW,EACT,EAAO,2BACP,KAAoB,EAAO,uCAC3B,KAAoB,EAAO,2BAA2B,MACtD,EACD;CACD,GAAI;WATN;EAWG,MAAqB,WACpB,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD,EAAiB,CAAA;GACZ,CAAA;EAER,MAAqB,aACpB,kBAAC,QAAD;GAAM,WAAW,EAAO;aACtB,kBAAC,GAAD,EAAuB,CAAA;GAClB,CAAA;EAER;EACI;IAML,KAAmB,EAAC,cAAW,GAAG,QAC/B,kBAAC,GAAD;CAAM,IAAG;CAAO,MAAK;CAAM,SAAQ;CAAQ,WAAW,EAAK,EAAO,qBAAqB,EAAU;CAAE,GAAI;CAAQ,CAAA,EAO3G,IAAc,OAAO,OAAO,GAAM;CAC7C,OAAO;CACP,YAAY;CACZ,MAAM;CACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"FormControl.js","names":[],"sources":["../../../src/forms/FormControl/FormControl.tsx"],"sourcesContent":["import React, {PropsWithChildren} from 'react'\nimport {useId} from '../../hooks/useId'\nimport {clsx} from 'clsx'\nimport {AlertFillIcon, CheckCircleFillIcon} from '@primer/octicons-react'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormValidationStatus, FormInputSizes} from '../'\n\nimport {Checkbox} from '../Checkbox'\nimport {Select} from '../Select'\nimport {TextInput} from '../TextInput'\nimport {Textarea} from '../Textarea'\nimport {Radio} from '../Radio'\nimport {Text} from '../../Text'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './FormControl.module.css'\n\nexport type FormControlProps = BaseProps<HTMLElement> & {\n /**\n * Apply a decorative border to the form control.\n */\n hasBorder?: boolean\n /**\n * Applies full width styling.\n */\n fullWidth?: boolean\n /**\n * A unique identifier for the form control.\n * This is used to associate the form control with its associated label.\n * If an id is not provided, a unique id will be generated.\n */\n id?: string\n /**\n * Applies required styling to the label and input.\n */\n required?: boolean\n /**\n * Alternative sizes for inputs and labels.\n */\n size?: FormInputSizes\n /**\n * Provides contextual validation feedback to all children, showing relevant messaging where applicable.\n */\n validationStatus?: FormValidationStatus\n}\n\n/**\n * The Checkbox and the Radio components both use the trick of using a <label> to render the visual control,\n * and visually hiding the <input>. This means that, when you add a FormControl.Label alongside your\n * Checkbox/Radio, the <input> technically has two <label> elements associated with it.\n * That doesn't appear to be a problem (it's valid HTML and NVDA announces it correctly) but it does annoy\n * our Storybook Axe tests because they only seem to look at one of the labels.\n * To fix this, we recommend that the FormControl.Label always appears before the Checkbox/Radio in the DOM,\n * even though it visually appears after the Checkbox/Radio, as this keeps Storybook Axe happy.\n */\n\nconst Root = ({\n children,\n className,\n hasBorder,\n fullWidth,\n id,\n required,\n size = 'medium',\n validationStatus,\n ...rest\n}: PropsWithChildren<FormControlProps>) => {\n const uniqueId = useId(id)\n const childrenArr = React.Children.toArray(children)\n\n const isInlineControl = childrenArr.some(\n child => React.isValidElement(child) && (child.type === Checkbox || child.type === Radio),\n )\n\n const containsHint = childrenArr.some(child => React.isValidElement(child) && child.type === FormControlHint)\n const containsValidation = childrenArr.some(\n child => React.isValidElement(child) && child.type === FormControlValidation,\n )\n\n return (\n <section\n id={`FormControl--${uniqueId}`}\n className={clsx(\n styles.FormControl,\n fullWidth && styles[`FormControl--fullWidth`],\n isInlineControl && styles['FormControl--checkbox'],\n hasBorder && styles['FormControl--border'],\n className,\n )}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (!React.isValidElement(child)) return child\n\n const describedBy =\n [containsHint && `${uniqueId}-hint`, containsValidation && `${uniqueId}-validation`]\n .filter(Boolean)\n .join(' ') || undefined\n\n if (child.type === TextInput) {\n const element = child as React.ReactElement<React.ComponentProps<typeof TextInput>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Textarea) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Textarea>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Select) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Select>>\n return React.cloneElement(element, {\n className: clsx(element.props.className),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n fullWidth,\n size,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Checkbox) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Checkbox>>\n return React.cloneElement(element, {\n className: clsx(element.props.className, styles['FormControl-control--checkbox']),\n id: uniqueId,\n name: element.props.name || uniqueId,\n required: element.props.required || required,\n validationStatus: element.props.validationStatus || validationStatus,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === Radio) {\n const element = child as React.ReactElement<React.ComponentProps<typeof Radio>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-control--radio'], element.props.className),\n id: uniqueId,\n name: element.props.name,\n required: element.props.required || required,\n 'aria-describedby': describedBy,\n })\n }\n\n if (child.type === FormControlLabel) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlLabel>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-label--checkbox'], element.props.className),\n htmlFor: uniqueId,\n children: element.props.children,\n required,\n validationStatus,\n size,\n showRequiredIndicator: isInlineControl ? false : element.props.showRequiredIndicator,\n })\n }\n\n if (child.type === FormControlValidation) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlValidation>>\n return React.cloneElement(element, {\n className: clsx(isInlineControl && styles['FormControl-validation-checkbox'], element.props.className),\n validationStatus,\n id: `${uniqueId}-validation`,\n })\n }\n\n if (child.type === FormControlHint) {\n const element = child as React.ReactElement<React.ComponentProps<typeof FormControlHint>>\n return React.cloneElement(element, {\n id: `${uniqueId}-hint`,\n })\n }\n\n return child\n })}\n </section>\n )\n}\n\ntype FormControlLabelProps = {\n htmlFor?: string\n required?: boolean\n showRequiredIndicator?: boolean\n size?: FormInputSizes\n validationStatus?: FormValidationStatus\n visuallyHidden?: boolean\n} & BaseProps<HTMLLabelElement>\n\nconst FormControlLabel = ({\n children,\n className,\n htmlFor,\n required,\n showRequiredIndicator = true,\n size = 'medium',\n validationStatus,\n visuallyHidden,\n ...rest\n}: PropsWithChildren<FormControlLabelProps>) => {\n return (\n <label\n htmlFor={htmlFor}\n className={clsx(\n styles['FormControl-label'],\n validationStatus && styles[`FormControl-label--${validationStatus}`],\n styles[`FormControl-label--${size}`],\n visuallyHidden && styles['FormControl-label--visually-hidden'],\n className,\n )}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (React.isValidElement<FormControlHintProps>(child) && child.type === FormControlHint) {\n return React.cloneElement(child, {\n className: clsx(styles['FormControl--visible'], child.props.className),\n })\n }\n return child\n })}\n\n {required && showRequiredIndicator && (\n <span className={styles['FormControl-label-required']} aria-hidden>\n {' '}\n *\n </span>\n )}\n </label>\n )\n}\n\ntype FormControlValidationProps = {\n children: string\n validationStatus?: FormValidationStatus\n} & BaseProps<HTMLSpanElement>\n\nconst FormControlValidation = ({children, validationStatus, className, ...props}: FormControlValidationProps) => {\n return (\n <Text\n as=\"span\"\n size=\"100\"\n className={clsx(\n styles['FormControl-validation'],\n validationStatus && styles['FormControl-validation--animate-in'],\n validationStatus && styles[`FormControl-validation--${validationStatus}`],\n className,\n )}\n {...props}\n >\n {validationStatus === 'error' && (\n <span className={styles['FormControl-validation-error-icon']}>\n <AlertFillIcon />\n </span>\n )}\n {validationStatus === 'success' && (\n <span className={styles['FormControl-validation-success-icon']}>\n <CheckCircleFillIcon />\n </span>\n )}\n {children}\n </Text>\n )\n}\n\ntype FormControlHintProps = PropsWithChildren<BaseProps<HTMLSpanElement>>\n\nconst FormControlHint = ({className, ...rest}: FormControlHintProps) => {\n return <Text as=\"span\" size=\"100\" variant=\"muted\" className={clsx(styles['FormControl-hint'], className)} {...rest} />\n}\n\n/**\n * FormControl\n * {@link https://primer.style/brand/components/FormControl/ See usage examples}.\n */\nexport const FormControl = Object.assign(Root, {\n Label: FormControlLabel,\n Validation: FormControlValidation,\n Hint: FormControlHint,\n})\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import './FormControl.module-CSNT689n.css'
|
|
2
|
-
|
|
1
|
+
import './FormControl.module-CSNT689n.css';//#region src/forms/FormControl/FormControl.module.css
|
|
2
|
+
var e = "Primer_Brand__FormControl-module__FormControl___xyCI6", t = "Primer_Brand__FormControl-module__FormControlValidationFadeIn___tj0TP", n = {
|
|
3
|
+
FormControl: e,
|
|
3
4
|
"FormControl--fullWidth": "Primer_Brand__FormControl-module__FormControl--fullWidth____kgvY",
|
|
4
5
|
"FormControl--checkbox": "Primer_Brand__FormControl-module__FormControl--checkbox___bF4ig",
|
|
5
6
|
"FormControl--border": "Primer_Brand__FormControl-module__FormControl--border___JkgNP",
|
|
@@ -16,10 +17,10 @@ import './FormControl.module-CSNT689n.css';var e = {
|
|
|
16
17
|
"FormControl-validation-success-icon": "Primer_Brand__FormControl-module__FormControl-validation-success-icon___zPbVN",
|
|
17
18
|
"FormControl-validation-error-icon": "Primer_Brand__FormControl-module__FormControl-validation-error-icon___hijkD",
|
|
18
19
|
"FormControl-validation--animate-in": "Primer_Brand__FormControl-module__FormControl-validation--animate-in___bQToQ",
|
|
19
|
-
FormControlValidationFadeIn:
|
|
20
|
+
FormControlValidationFadeIn: t,
|
|
20
21
|
"FormControl-validation-checkbox": "Primer_Brand__FormControl-module__FormControl-validation-checkbox___o5dVo"
|
|
21
22
|
};
|
|
22
23
|
//#endregion
|
|
23
|
-
export { e as default };
|
|
24
|
+
export { e as FormControl, t as FormControlValidationFadeIn, n as default };
|
|
24
25
|
|
|
25
26
|
//# sourceMappingURL=FormControl.module.js.map
|
package/esm/forms/Radio/Radio.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import { useId as t } from "../../hooks/useId.js";
|
|
3
3
|
import { useProvidedRefOrCreate as n } from "../../hooks/useRef.js";
|
|
4
4
|
import '../../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes-C05YPRXo.css';/* empty css */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","names":[],"sources":["../../../src/forms/Radio/Radio.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, type InputHTMLAttributes, type ReactElement} from 'react'\nimport {clsx} from 'clsx'\nimport {useId} from '../../hooks/useId'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nimport type {BaseProps} from '../../component-helpers'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Radio.module.css'\n\nexport type RadioProps = {\n /**\n * Apply inactive visual appearance to the Radio\n */\n disabled?: boolean\n /**\n * Indicates whether the Radio must be checked\n */\n required?: boolean\n /**\n * A unique value that is never shown to the user.\n * Used during form submission and to identify which Radio inputs are selected\n */\n value?: string\n} & Exclude<InputHTMLAttributes<HTMLInputElement>, 'value'> &\n BaseProps<HTMLInputElement>\n\nconst RadioInternal = (\n {checked, className, disabled, id, onChange, required, value, ...rest}: RadioProps,\n ref,\n): ReactElement => {\n const inputRef = useProvidedRefOrCreate<HTMLInputElement | null>(ref || null)\n const uniqueId = useId(id)\n\n const onClick = useCallback(() => {\n if (!disabled && inputRef.current) {\n inputRef.current.click()\n }\n }, [disabled, inputRef])\n\n return (\n <span className={styles['Radio-wrapper']}>\n <input\n id={uniqueId}\n aria-checked={checked ? 'true' : 'false'}\n checked={checked}\n className={clsx(styles['Radio-input'])}\n disabled={disabled}\n name={value}\n onChange={onChange}\n ref={inputRef}\n required={required}\n type=\"radio\"\n value={value}\n {...rest}\n />\n <span className={clsx(styles.Radio, className)} onClick={onClick} tabIndex={-1} aria-hidden=\"true\">\n <span className={styles['Radio-dot']} />\n </span>\n </span>\n )\n}\n\nexport const Radio = forwardRef(RadioInternal)\n"],"mappings":";;;;;;;AA+DA,IAAa,IAAQ,GAnCnB,EAAC,YAAS,cAAW,aAAU,OAAI,aAAU,aAAU,UAAO,GAAG,KACjE,MACiB;CACjB,IAAM,IAAW,EAAgD,KAAO,
|
|
1
|
+
{"version":3,"file":"Radio.js","names":[],"sources":["../../../src/forms/Radio/Radio.tsx"],"sourcesContent":["import React, {forwardRef, useCallback, type InputHTMLAttributes, type ReactElement} from 'react'\nimport {clsx} from 'clsx'\nimport {useId} from '../../hooks/useId'\nimport {useProvidedRefOrCreate} from '../../hooks/useRef'\n\nimport type {BaseProps} from '../../component-helpers'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Radio.module.css'\n\nexport type RadioProps = {\n /**\n * Apply inactive visual appearance to the Radio\n */\n disabled?: boolean\n /**\n * Indicates whether the Radio must be checked\n */\n required?: boolean\n /**\n * A unique value that is never shown to the user.\n * Used during form submission and to identify which Radio inputs are selected\n */\n value?: string\n} & Exclude<InputHTMLAttributes<HTMLInputElement>, 'value'> &\n BaseProps<HTMLInputElement>\n\nconst RadioInternal = (\n {checked, className, disabled, id, onChange, required, value, ...rest}: RadioProps,\n ref,\n): ReactElement => {\n const inputRef = useProvidedRefOrCreate<HTMLInputElement | null>(ref || null)\n const uniqueId = useId(id)\n\n const onClick = useCallback(() => {\n if (!disabled && inputRef.current) {\n inputRef.current.click()\n }\n }, [disabled, inputRef])\n\n return (\n <span className={styles['Radio-wrapper']}>\n <input\n id={uniqueId}\n aria-checked={checked ? 'true' : 'false'}\n checked={checked}\n className={clsx(styles['Radio-input'])}\n disabled={disabled}\n name={value}\n onChange={onChange}\n ref={inputRef}\n required={required}\n type=\"radio\"\n value={value}\n {...rest}\n />\n <span className={clsx(styles.Radio, className)} onClick={onClick} tabIndex={-1} aria-hidden=\"true\">\n <span className={styles['Radio-dot']} />\n </span>\n </span>\n )\n}\n\nexport const Radio = forwardRef(RadioInternal)\n"],"mappings":";;;;;;;AA+DA,IAAa,IAAQ,GAnCnB,EAAC,YAAS,cAAW,aAAU,OAAI,aAAU,aAAU,UAAO,GAAG,KACjE,MACiB;CACjB,IAAM,IAAW,EAAgD,KAAO,IAAI,GACtE,IAAW,EAAM,CAAE,GAEnB,IAAU,QAAkB;EAChC,AAAI,CAAC,KAAY,EAAS,WACxB,EAAS,QAAQ,MAAM;CAE3B,GAAG,CAAC,GAAU,CAAQ,CAAC;CAEvB,OACE,kBAAC,QAAD;EAAM,WAAW,EAAO;YAAxB,CACE,kBAAC,SAAD;GACE,IAAI;GACJ,gBAAc,IAAU,SAAS;GACxB;GACT,WAAW,EAAK,EAAO,cAAc;GAC3B;GACV,MAAM;GACI;GACV,KAAK;GACK;GACV,MAAK;GACE;GACP,GAAI;EACL,CAAA,GACD,kBAAC,QAAD;GAAM,WAAW,EAAK,EAAO,OAAO,CAAS;GAAY;GAAS,UAAU;GAAI,eAAY;aAC1F,kBAAC,QAAD,EAAM,WAAW,EAAO,aAAe,CAAA;EACnC,CAAA,CACF;;AAEV,CAE6C"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import './Radio.module-B470XLdO.css'
|
|
1
|
+
import './Radio.module-B470XLdO.css';//#region src/forms/Radio/Radio.module.css
|
|
2
|
+
var e = "Primer_Brand__Radio-module__Radio___vTG_e", t = {
|
|
2
3
|
"Radio-wrapper": "Primer_Brand__Radio-module__Radio-wrapper___zXaOV",
|
|
3
|
-
Radio:
|
|
4
|
+
Radio: e,
|
|
4
5
|
"Radio-input": "Primer_Brand__Radio-module__Radio-input___K0b_k",
|
|
5
6
|
"Radio-dot": "Primer_Brand__Radio-module__Radio-dot___9afdK"
|
|
6
7
|
};
|
|
7
8
|
//#endregion
|
|
8
|
-
export { e as default };
|
|
9
|
+
export { e as Radio, t as default };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=Radio.module.js.map
|
|
@@ -41,7 +41,7 @@ export type OptGroupProps = {
|
|
|
41
41
|
* Select
|
|
42
42
|
*/
|
|
43
43
|
export declare const Select: React.ForwardRefExoticComponent<Omit<SelectProps, "ref"> & React.RefAttributes<unknown>> & {
|
|
44
|
-
Option: ({ children, value, ...rest }: OptionProps) =>
|
|
45
|
-
OptGroup: ({ children, label, ...rest }: OptGroupProps) =>
|
|
44
|
+
Option: ({ children, value, ...rest }: OptionProps) => React.JSX.Element;
|
|
45
|
+
OptGroup: ({ children, label, ...rest }: OptGroupProps) => React.JSX.Element;
|
|
46
46
|
};
|
|
47
47
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import e from "../../node_modules/clsx/dist/clsx.js";
|
|
1
|
+
import { clsx as e } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
2
|
import '../../packages/design-tokens/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes-C05YPRXo.css';/* empty css */
|
|
3
3
|
import t from "./Select.module.js";
|
|
4
4
|
import { forwardRef as n } from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":[],"sources":["../../../src/forms/Select/Select.tsx"],"sourcesContent":["import React, {forwardRef} from 'react'\nimport {clsx} from 'clsx'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormInputSizes, FormValidationStatus} from '../form-types'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Select.module.css'\n\nexport type SelectProps = {\n /**\n * Applies full width styling.\n */\n fullWidth?: boolean\n /**\n * Applies a required attribute to the input\n */\n required?: boolean\n /**\n * Applies alternative sizing to the input\n */\n size?: FormInputSizes\n /**\n * Placeholder text to display when no value is selected\n */\n placeholder?: string\n /**\n *\n */\n validationStatus?: FormValidationStatus\n} & Omit<React.InputHTMLAttributes<HTMLSelectElement>, 'size'> &\n BaseProps<HTMLSelectElement>\n\nconst _SelectRoot = (\n {\n children,\n className,\n disabled,\n fullWidth = false,\n placeholder,\n size = 'medium',\n validationStatus,\n ...rest\n }: SelectProps,\n ref,\n) => {\n return (\n <span\n className={clsx(\n styles['Select-wrapper'],\n styles[`Select-wrapper--${size}`],\n fullWidth && styles['Select-wrapper--fullWidth'],\n validationStatus && styles[`Select--${validationStatus}`],\n disabled && styles[`Select-wrapper--disabled`],\n )}\n >\n <select\n aria-invalid={validationStatus === 'error'}\n className={clsx(\n styles.Select,\n styles[`Select--${size}`],\n 'Select',\n fullWidth && styles['Select--fullWidth'],\n className,\n )}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {placeholder && (\n <option value=\"\" disabled={disabled}>\n {placeholder}\n </option>\n )}\n {children}\n </select>\n </span>\n )\n}\n\nconst SelectRoot = forwardRef(_SelectRoot)\n\nexport type OptionProps = {\n value: string\n} & React.PropsWithChildren<React.HTMLProps<HTMLOptionElement>>\n\nconst Option = ({children, value, ...rest}: OptionProps) => {\n return (\n <option value={value} {...rest}>\n {children}\n </option>\n )\n}\n\nexport type OptGroupProps = {\n /**\n * Specifies that an option-group should be disabled\n */\n disabled?: string\n /**\n * Specifies a label for an option-group\n */\n label: string\n} & React.PropsWithChildren<React.HTMLProps<HTMLOptGroupElement>>\n\nconst OptGroup = ({children, label, ...rest}: OptGroupProps) => {\n return (\n <optgroup label={label} {...rest}>\n {children}\n </optgroup>\n )\n}\n\n/**\n * Select\n */\nexport const Select = Object.assign(SelectRoot, {\n Option,\n OptGroup,\n})\n"],"mappings":";;;;;AAgFA,IAAM,IAAa,GA9CjB,EACE,aACA,cACA,aACA,eAAY,IACZ,gBACA,UAAO,UACP,qBACA,GAAG,KAEL,MAGE,kBAAC,QAAD;CACE,WAAW,EACT,EAAO,mBACP,EAAO,mBAAmB,MAC1B,KAAa,EAAO,8BACpB,KAAoB,EAAO,WAAW,MACtC,KAAY,EAAO,
|
|
1
|
+
{"version":3,"file":"Select.js","names":[],"sources":["../../../src/forms/Select/Select.tsx"],"sourcesContent":["import React, {forwardRef} from 'react'\nimport {clsx} from 'clsx'\n\nimport type {BaseProps} from '../../component-helpers'\nimport type {FormInputSizes, FormValidationStatus} from '../form-types'\n\nimport '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/control/colors-with-modes.css'\nimport styles from './Select.module.css'\n\nexport type SelectProps = {\n /**\n * Applies full width styling.\n */\n fullWidth?: boolean\n /**\n * Applies a required attribute to the input\n */\n required?: boolean\n /**\n * Applies alternative sizing to the input\n */\n size?: FormInputSizes\n /**\n * Placeholder text to display when no value is selected\n */\n placeholder?: string\n /**\n *\n */\n validationStatus?: FormValidationStatus\n} & Omit<React.InputHTMLAttributes<HTMLSelectElement>, 'size'> &\n BaseProps<HTMLSelectElement>\n\nconst _SelectRoot = (\n {\n children,\n className,\n disabled,\n fullWidth = false,\n placeholder,\n size = 'medium',\n validationStatus,\n ...rest\n }: SelectProps,\n ref,\n) => {\n return (\n <span\n className={clsx(\n styles['Select-wrapper'],\n styles[`Select-wrapper--${size}`],\n fullWidth && styles['Select-wrapper--fullWidth'],\n validationStatus && styles[`Select--${validationStatus}`],\n disabled && styles[`Select-wrapper--disabled`],\n )}\n >\n <select\n aria-invalid={validationStatus === 'error'}\n className={clsx(\n styles.Select,\n styles[`Select--${size}`],\n 'Select',\n fullWidth && styles['Select--fullWidth'],\n className,\n )}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {placeholder && (\n <option value=\"\" disabled={disabled}>\n {placeholder}\n </option>\n )}\n {children}\n </select>\n </span>\n )\n}\n\nconst SelectRoot = forwardRef(_SelectRoot)\n\nexport type OptionProps = {\n value: string\n} & React.PropsWithChildren<React.HTMLProps<HTMLOptionElement>>\n\nconst Option = ({children, value, ...rest}: OptionProps) => {\n return (\n <option value={value} {...rest}>\n {children}\n </option>\n )\n}\n\nexport type OptGroupProps = {\n /**\n * Specifies that an option-group should be disabled\n */\n disabled?: string\n /**\n * Specifies a label for an option-group\n */\n label: string\n} & React.PropsWithChildren<React.HTMLProps<HTMLOptGroupElement>>\n\nconst OptGroup = ({children, label, ...rest}: OptGroupProps) => {\n return (\n <optgroup label={label} {...rest}>\n {children}\n </optgroup>\n )\n}\n\n/**\n * Select\n */\nexport const Select = Object.assign(SelectRoot, {\n Option,\n OptGroup,\n})\n"],"mappings":";;;;;AAgFA,IAAM,IAAa,GA9CjB,EACE,aACA,cACA,aACA,eAAY,IACZ,gBACA,UAAO,UACP,qBACA,GAAG,KAEL,MAGE,kBAAC,QAAD;CACE,WAAW,EACT,EAAO,mBACP,EAAO,mBAAmB,MAC1B,KAAa,EAAO,8BACpB,KAAoB,EAAO,WAAW,MACtC,KAAY,EAAO,2BACrB;WAEA,kBAAC,UAAD;EACE,gBAAc,MAAqB;EACnC,WAAW,EACT,EAAO,QACP,EAAO,WAAW,MAClB,UACA,KAAa,EAAO,sBACpB,CACF;EACU;EACL;EACL,GAAI;YAXN,CAaG,KACC,kBAAC,UAAD;GAAQ,OAAM;GAAa;aACxB;EACK,CAAA,GAET,CACK;;AACJ,CAAA,CAI+B,GAoC5B,IAAS,OAAO,OAAO,GAAY;CAC9C,SA/Bc,EAAC,aAAU,UAAO,GAAG,QAEjC,kBAAC,UAAD;EAAe;EAAO,GAAI;EACvB;CACK,CAAA;CA4BV,WAbgB,EAAC,aAAU,UAAO,GAAG,QAEnC,kBAAC,YAAD;EAAiB;EAAO,GAAI;EACzB;CACO,CAAA;AAUd,CAAC"}
|