@evolve.ui/core-components 1.0.0
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/Accordion--J93KLdp.d.cts +38 -0
- package/Accordion--J93KLdp.d.cts.map +1 -0
- package/Accordion-CdgdzUNC.d.mts +38 -0
- package/Accordion-CdgdzUNC.d.mts.map +1 -0
- package/AddressDisplay-C6av_Ava.d.cts +40 -0
- package/AddressDisplay-C6av_Ava.d.cts.map +1 -0
- package/AddressDisplay-C6av_Ava.d.mts +40 -0
- package/AddressDisplay-C6av_Ava.d.mts.map +1 -0
- package/AddressDisplay-CI1h4Pyv.cjs +1504 -0
- package/AddressDisplay-CI1h4Pyv.cjs.map +1 -0
- package/AddressDisplay-D5p9wJT6.mjs +1499 -0
- package/AddressDisplay-D5p9wJT6.mjs.map +1 -0
- package/AutomatedCarousel-BbH74siI.d.mts +48 -0
- package/AutomatedCarousel-BbH74siI.d.mts.map +1 -0
- package/AutomatedCarousel-CmVyxeSl.mjs +274 -0
- package/AutomatedCarousel-CmVyxeSl.mjs.map +1 -0
- package/AutomatedCarousel-Dhr1za_D.d.cts +48 -0
- package/AutomatedCarousel-Dhr1za_D.d.cts.map +1 -0
- package/AutomatedCarousel-ylYqkHPX.cjs +281 -0
- package/AutomatedCarousel-ylYqkHPX.cjs.map +1 -0
- package/Badge/ItemBadge.cjs +75 -0
- package/Badge/ItemBadge.cjs.map +1 -0
- package/Badge/ItemBadge.d.cts +2 -0
- package/Badge/ItemBadge.d.mts +2 -0
- package/Badge/ItemBadge.mjs +71 -0
- package/Badge/ItemBadge.mjs.map +1 -0
- package/Badge/LiveStatusBadge.cjs +78 -0
- package/Badge/LiveStatusBadge.cjs.map +1 -0
- package/Badge/LiveStatusBadge.d.cts +2 -0
- package/Badge/LiveStatusBadge.d.mts +2 -0
- package/Badge/LiveStatusBadge.mjs +74 -0
- package/Badge/LiveStatusBadge.mjs.map +1 -0
- package/Badge-C1BBu1fH.d.mts +71 -0
- package/Badge-C1BBu1fH.d.mts.map +1 -0
- package/Badge-lOH4Ssq_.d.cts +71 -0
- package/Badge-lOH4Ssq_.d.cts.map +1 -0
- package/Badge.cjs +72 -0
- package/Badge.cjs.map +1 -0
- package/Badge.d.cts +2 -0
- package/Badge.d.mts +2 -0
- package/Badge.mjs +68 -0
- package/Badge.mjs.map +1 -0
- package/BannerNotification-D9Sfa2si.cjs +156 -0
- package/BannerNotification-D9Sfa2si.cjs.map +1 -0
- package/BannerNotification-DM78PllX.d.cts +59 -0
- package/BannerNotification-DM78PllX.d.cts.map +1 -0
- package/BannerNotification-DM78PllX.d.mts +59 -0
- package/BannerNotification-DM78PllX.d.mts.map +1 -0
- package/BannerNotification-DzprO7bZ.mjs +151 -0
- package/BannerNotification-DzprO7bZ.mjs.map +1 -0
- package/BottomSheet-ZV_eq3xt.mjs +1708 -0
- package/BottomSheet-ZV_eq3xt.mjs.map +1 -0
- package/BottomSheet-emWP9Fct.cjs +1715 -0
- package/BottomSheet-emWP9Fct.cjs.map +1 -0
- package/Breadcrumbs-7jTSZ7NM.cjs +98 -0
- package/Breadcrumbs-7jTSZ7NM.cjs.map +1 -0
- package/Breadcrumbs-CopNM2AH.d.cts +30 -0
- package/Breadcrumbs-CopNM2AH.d.cts.map +1 -0
- package/Breadcrumbs-CopNM2AH.d.mts +30 -0
- package/Breadcrumbs-CopNM2AH.d.mts.map +1 -0
- package/Breadcrumbs-blgWG9cP.mjs +93 -0
- package/Breadcrumbs-blgWG9cP.mjs.map +1 -0
- package/Button-B9vfIXTi.d.cts +12 -0
- package/Button-B9vfIXTi.d.cts.map +1 -0
- package/Button-Bitf-VVv.d.mts +12 -0
- package/Button-Bitf-VVv.d.mts.map +1 -0
- package/Button.cjs +102 -0
- package/Button.cjs.map +1 -0
- package/Button.d.cts +2 -0
- package/Button.d.mts +2 -0
- package/Button.mjs +98 -0
- package/Button.mjs.map +1 -0
- package/Button.types-CjidejRG.d.cts +79 -0
- package/Button.types-CjidejRG.d.cts.map +1 -0
- package/Button.types-CyzsUcMe.d.mts +79 -0
- package/Button.types-CyzsUcMe.d.mts.map +1 -0
- package/Callout-BDrz5jjK.d.mts +45 -0
- package/Callout-BDrz5jjK.d.mts.map +1 -0
- package/Callout-BiFCfawA.d.cts +45 -0
- package/Callout-BiFCfawA.d.cts.map +1 -0
- package/Callout-DrWwRGi4.cjs +132 -0
- package/Callout-DrWwRGi4.cjs.map +1 -0
- package/Callout-Olv0CM82.mjs +127 -0
- package/Callout-Olv0CM82.mjs.map +1 -0
- package/Callout.cjs +8 -0
- package/Callout.d.cts +2 -0
- package/Callout.d.mts +2 -0
- package/Callout.mjs +4 -0
- package/CardGrid-BhfrwrN0.d.cts +72 -0
- package/CardGrid-BhfrwrN0.d.cts.map +1 -0
- package/CardGrid-BpX_oOS4.mjs +175 -0
- package/CardGrid-BpX_oOS4.mjs.map +1 -0
- package/CardGrid-CHZSF83h.d.mts +72 -0
- package/CardGrid-CHZSF83h.d.mts.map +1 -0
- package/CardGrid-CXi9XvDo.cjs +180 -0
- package/CardGrid-CXi9XvDo.cjs.map +1 -0
- package/Carousel-8CbTiwMk.mjs +462 -0
- package/Carousel-8CbTiwMk.mjs.map +1 -0
- package/Carousel-Du89BCCK.cjs +487 -0
- package/Carousel-Du89BCCK.cjs.map +1 -0
- package/CheckCircle-BcTMEm4l.mjs +42 -0
- package/CheckCircle-BcTMEm4l.mjs.map +1 -0
- package/CheckCircle-BjBbSga6.cjs +49 -0
- package/CheckCircle-BjBbSga6.cjs.map +1 -0
- package/Checkbox.cjs +13 -0
- package/Checkbox.d.cts +2 -0
- package/Checkbox.d.mts +2 -0
- package/Checkbox.mjs +3 -0
- package/Chip-UMJoX3ST.d.cts +38 -0
- package/Chip-UMJoX3ST.d.cts.map +1 -0
- package/Chip-giQtR8GC.d.mts +38 -0
- package/Chip-giQtR8GC.d.mts.map +1 -0
- package/ChipGroup-DIyCVKZm.d.cts +24 -0
- package/ChipGroup-DIyCVKZm.d.cts.map +1 -0
- package/ChipGroup-VGpv5cHt.d.mts +24 -0
- package/ChipGroup-VGpv5cHt.d.mts.map +1 -0
- package/ChoiceListItem-BqZ3bIj9.mjs +168 -0
- package/ChoiceListItem-BqZ3bIj9.mjs.map +1 -0
- package/ChoiceListItem-D_74Zcpd.cjs +209 -0
- package/ChoiceListItem-D_74Zcpd.cjs.map +1 -0
- package/Collapsible-Bbs4SWEA.d.cts +18 -0
- package/Collapsible-Bbs4SWEA.d.cts.map +1 -0
- package/Collapsible-Bbs4SWEA.d.mts +18 -0
- package/Collapsible-Bbs4SWEA.d.mts.map +1 -0
- package/Confetti--vMcCOQ7.cjs +166 -0
- package/Confetti--vMcCOQ7.cjs.map +1 -0
- package/Confetti-Csdjmzfv.mjs +161 -0
- package/Confetti-Csdjmzfv.mjs.map +1 -0
- package/ContentPager-AM9sSsgG.d.cts +37 -0
- package/ContentPager-AM9sSsgG.d.cts.map +1 -0
- package/ContentPager-B9UIPahb.mjs +138 -0
- package/ContentPager-B9UIPahb.mjs.map +1 -0
- package/ContentPager-BJo1L64Y.cjs +158 -0
- package/ContentPager-BJo1L64Y.cjs.map +1 -0
- package/ContentPager-DuxgJP42.d.mts +37 -0
- package/ContentPager-DuxgJP42.d.mts.map +1 -0
- package/CookieConsent-CIwm0bTz.mjs +401 -0
- package/CookieConsent-CIwm0bTz.mjs.map +1 -0
- package/CookieConsent-PIglB_bb.cjs +430 -0
- package/CookieConsent-PIglB_bb.cjs.map +1 -0
- package/Countdown-BaqV0LJL.d.mts +45 -0
- package/Countdown-BaqV0LJL.d.mts.map +1 -0
- package/Countdown-D4-QPv6V.cjs +181 -0
- package/Countdown-D4-QPv6V.cjs.map +1 -0
- package/Countdown-Dw5j-JJ4.d.cts +45 -0
- package/Countdown-Dw5j-JJ4.d.cts.map +1 -0
- package/Countdown-Hiu5EYUI.mjs +174 -0
- package/Countdown-Hiu5EYUI.mjs.map +1 -0
- package/Countdown.types-B7yecprx.d.cts +8 -0
- package/Countdown.types-B7yecprx.d.cts.map +1 -0
- package/Countdown.types-B7yecprx.d.mts +8 -0
- package/Countdown.types-B7yecprx.d.mts.map +1 -0
- package/CreditCardIcon-DirCX2rx.d.cts +29 -0
- package/CreditCardIcon-DirCX2rx.d.cts.map +1 -0
- package/CreditCardIcon-DirCX2rx.d.mts +29 -0
- package/CreditCardIcon-DirCX2rx.d.mts.map +1 -0
- package/CreditCardIcon-OqdAEE3e.cjs +281 -0
- package/CreditCardIcon-OqdAEE3e.cjs.map +1 -0
- package/CreditCardIcon-rpcjx4S_.mjs +270 -0
- package/CreditCardIcon-rpcjx4S_.mjs.map +1 -0
- package/DateInput-B8XQZPTx.d.cts +34 -0
- package/DateInput-B8XQZPTx.d.cts.map +1 -0
- package/DateInput-CfNmywqQ.d.mts +34 -0
- package/DateInput-CfNmywqQ.d.mts.map +1 -0
- package/DatePickerTarget-BcX_noF3.d.cts +14 -0
- package/DatePickerTarget-BcX_noF3.d.cts.map +1 -0
- package/DatePickerTarget-BcX_noF3.d.mts +14 -0
- package/DatePickerTarget-BcX_noF3.d.mts.map +1 -0
- package/DatePickerTarget-CKni-6Rq.mjs +14 -0
- package/DatePickerTarget-CKni-6Rq.mjs.map +1 -0
- package/DatePickerTarget-D_gR7380.cjs +25 -0
- package/DatePickerTarget-D_gR7380.cjs.map +1 -0
- package/Drawer-9HFG45OA.cjs +259 -0
- package/Drawer-9HFG45OA.cjs.map +1 -0
- package/Drawer-BkCPfK6P.mjs +254 -0
- package/Drawer-BkCPfK6P.mjs.map +1 -0
- package/Drawer-CFZbwg0R.d.cts +231 -0
- package/Drawer-CFZbwg0R.d.cts.map +1 -0
- package/Drawer-CFZbwg0R.d.mts +231 -0
- package/Drawer-CFZbwg0R.d.mts.map +1 -0
- package/EducationalPopover-CLNgGomH.d.cts +48 -0
- package/EducationalPopover-CLNgGomH.d.cts.map +1 -0
- package/EducationalPopover-DP63Yqlm.d.mts +48 -0
- package/EducationalPopover-DP63Yqlm.d.mts.map +1 -0
- package/FavoriteButton-BRY8FVpV.d.mts +142 -0
- package/FavoriteButton-BRY8FVpV.d.mts.map +1 -0
- package/FavoriteButton-CC3qL0lR.mjs +199 -0
- package/FavoriteButton-CC3qL0lR.mjs.map +1 -0
- package/FavoriteButton-CowOPoqo.d.cts +142 -0
- package/FavoriteButton-CowOPoqo.d.cts.map +1 -0
- package/FavoriteButton-DliYzkfu.cjs +204 -0
- package/FavoriteButton-DliYzkfu.cjs.map +1 -0
- package/FeatureFlagDevToolsUI-B13AuQ2A.mjs +276 -0
- package/FeatureFlagDevToolsUI-B13AuQ2A.mjs.map +1 -0
- package/FeatureFlagDevToolsUI-CutvngLI.d.cts +39 -0
- package/FeatureFlagDevToolsUI-CutvngLI.d.cts.map +1 -0
- package/FeatureFlagDevToolsUI-CutvngLI.d.mts +39 -0
- package/FeatureFlagDevToolsUI-CutvngLI.d.mts.map +1 -0
- package/FeatureFlagDevToolsUI-MBFES3GM.cjs +281 -0
- package/FeatureFlagDevToolsUI-MBFES3GM.cjs.map +1 -0
- package/FileUpload--e_UJ_ek.cjs +1771 -0
- package/FileUpload--e_UJ_ek.cjs.map +1 -0
- package/FileUpload-p_pl9NXr.mjs +1706 -0
- package/FileUpload-p_pl9NXr.mjs.map +1 -0
- package/FormLabel-D4602qfd.d.cts +140 -0
- package/FormLabel-D4602qfd.d.cts.map +1 -0
- package/FormLabel-D4602qfd.d.mts +140 -0
- package/FormLabel-D4602qfd.d.mts.map +1 -0
- package/IconBase-C_Lx9rDx.d.cts +89 -0
- package/IconBase-C_Lx9rDx.d.cts.map +1 -0
- package/IconBase-C_Lx9rDx.d.mts +89 -0
- package/IconBase-C_Lx9rDx.d.mts.map +1 -0
- package/IconButton-DHTn5DQ_.d.mts +40 -0
- package/IconButton-DHTn5DQ_.d.mts.map +1 -0
- package/IconButton-Df9usxq_.d.cts +40 -0
- package/IconButton-Df9usxq_.d.cts.map +1 -0
- package/IconButton.cjs +68 -0
- package/IconButton.cjs.map +1 -0
- package/IconButton.d.cts +2 -0
- package/IconButton.d.mts +2 -0
- package/IconButton.mjs +64 -0
- package/IconButton.mjs.map +1 -0
- package/Icons/CreditCardIcon.cjs +7 -0
- package/Icons/CreditCardIcon.d.cts +2 -0
- package/Icons/CreditCardIcon.d.mts +2 -0
- package/Icons/CreditCardIcon.mjs +2 -0
- package/Icons/IconBase.cjs +60 -0
- package/Icons/IconBase.cjs.map +1 -0
- package/Icons/IconBase.d.cts +2 -0
- package/Icons/IconBase.d.mts +2 -0
- package/Icons/IconBase.mjs +54 -0
- package/Icons/IconBase.mjs.map +1 -0
- package/Icons/anyIcon.cjs +0 -0
- package/Icons/anyIcon.d.cts +2 -0
- package/Icons/anyIcon.d.mts +2 -0
- package/Icons/anyIcon.mjs +1 -0
- package/Icons/socialIcons/appleSocialIcon.cjs +48 -0
- package/Icons/socialIcons/appleSocialIcon.cjs.map +1 -0
- package/Icons/socialIcons/appleSocialIcon.d.cts +19 -0
- package/Icons/socialIcons/appleSocialIcon.d.cts.map +1 -0
- package/Icons/socialIcons/appleSocialIcon.d.mts +19 -0
- package/Icons/socialIcons/appleSocialIcon.d.mts.map +1 -0
- package/Icons/socialIcons/appleSocialIcon.mjs +42 -0
- package/Icons/socialIcons/appleSocialIcon.mjs.map +1 -0
- package/Icons/socialIcons/facebookSocialIcon.cjs +41 -0
- package/Icons/socialIcons/facebookSocialIcon.cjs.map +1 -0
- package/Icons/socialIcons/facebookSocialIcon.d.cts +14 -0
- package/Icons/socialIcons/facebookSocialIcon.d.cts.map +1 -0
- package/Icons/socialIcons/facebookSocialIcon.d.mts +14 -0
- package/Icons/socialIcons/facebookSocialIcon.d.mts.map +1 -0
- package/Icons/socialIcons/facebookSocialIcon.mjs +36 -0
- package/Icons/socialIcons/facebookSocialIcon.mjs.map +1 -0
- package/Icons/socialIcons/googleSocialIcon.cjs +135 -0
- package/Icons/socialIcons/googleSocialIcon.cjs.map +1 -0
- package/Icons/socialIcons/googleSocialIcon.d.cts +19 -0
- package/Icons/socialIcons/googleSocialIcon.d.cts.map +1 -0
- package/Icons/socialIcons/googleSocialIcon.d.mts +19 -0
- package/Icons/socialIcons/googleSocialIcon.d.mts.map +1 -0
- package/Icons/socialIcons/googleSocialIcon.mjs +129 -0
- package/Icons/socialIcons/googleSocialIcon.mjs.map +1 -0
- package/Icons.cjs +5489 -0
- package/Icons.cjs.map +1 -0
- package/Icons.d.cts +2 -0
- package/Icons.d.mts +2 -0
- package/Icons.mjs +5335 -0
- package/Icons.mjs.map +1 -0
- package/ImageCluster-BXaQi8SB.d.cts +24 -0
- package/ImageCluster-BXaQi8SB.d.cts.map +1 -0
- package/ImageCluster-BXaQi8SB.d.mts +24 -0
- package/ImageCluster-BXaQi8SB.d.mts.map +1 -0
- package/ImageSlider-BidXfnLj.cjs +861 -0
- package/ImageSlider-BidXfnLj.cjs.map +1 -0
- package/ImageSlider-CDrg_TbL.mjs +838 -0
- package/ImageSlider-CDrg_TbL.mjs.map +1 -0
- package/InfoIconTooltip-CZax9TVq.d.cts +27 -0
- package/InfoIconTooltip-CZax9TVq.d.cts.map +1 -0
- package/InfoIconTooltip-Ca4AHkY2.d.mts +27 -0
- package/InfoIconTooltip-Ca4AHkY2.d.mts.map +1 -0
- package/InfoIconTooltip.cjs +29 -0
- package/InfoIconTooltip.cjs.map +1 -0
- package/InfoIconTooltip.d.cts +2 -0
- package/InfoIconTooltip.d.mts +2 -0
- package/InfoIconTooltip.mjs +25 -0
- package/InfoIconTooltip.mjs.map +1 -0
- package/InlineButton-CRLbNJZ3.d.mts +68 -0
- package/InlineButton-CRLbNJZ3.d.mts.map +1 -0
- package/InlineButton-DoXGLiSE.d.cts +68 -0
- package/InlineButton-DoXGLiSE.d.cts.map +1 -0
- package/InlineNotification--hYpy2m2.d.cts +18 -0
- package/InlineNotification--hYpy2m2.d.cts.map +1 -0
- package/InlineNotification--hYpy2m2.d.mts +18 -0
- package/InlineNotification--hYpy2m2.d.mts.map +1 -0
- package/Input.cjs +104 -0
- package/Input.cjs.map +1 -0
- package/Input.d.cts +2 -0
- package/Input.d.mts +2 -0
- package/Input.mjs +100 -0
- package/Input.mjs.map +1 -0
- package/ItemBadge-D1S8YsIy.d.cts +46 -0
- package/ItemBadge-D1S8YsIy.d.cts.map +1 -0
- package/ItemBadge-D1S8YsIy.d.mts +46 -0
- package/ItemBadge-D1S8YsIy.d.mts.map +1 -0
- package/JumpMenu-BXYZnPIH.cjs +499 -0
- package/JumpMenu-BXYZnPIH.cjs.map +1 -0
- package/JumpMenu-DcZjAiej.mjs +494 -0
- package/JumpMenu-DcZjAiej.mjs.map +1 -0
- package/Links-Ch0YdIz6.d.cts +214 -0
- package/Links-Ch0YdIz6.d.cts.map +1 -0
- package/Links-Ch0YdIz6.d.mts +214 -0
- package/Links-Ch0YdIz6.d.mts.map +1 -0
- package/LiveStatusBadge-D1TX11B6.d.cts +53 -0
- package/LiveStatusBadge-D1TX11B6.d.cts.map +1 -0
- package/LiveStatusBadge-D1TX11B6.d.mts +53 -0
- package/LiveStatusBadge-D1TX11B6.d.mts.map +1 -0
- package/Loading-B9LLlAyM.d.cts +19 -0
- package/Loading-B9LLlAyM.d.cts.map +1 -0
- package/Loading-B9LLlAyM.d.mts +19 -0
- package/Loading-B9LLlAyM.d.mts.map +1 -0
- package/Loading-BL7_u25j.cjs +47 -0
- package/Loading-BL7_u25j.cjs.map +1 -0
- package/Loading-BenQpF_w.mjs +42 -0
- package/Loading-BenQpF_w.mjs.map +1 -0
- package/LoadingSpinner-BWwhuAGb.d.mts +16 -0
- package/LoadingSpinner-BWwhuAGb.d.mts.map +1 -0
- package/LoadingSpinner-DjC4uC_2.d.cts +16 -0
- package/LoadingSpinner-DjC4uC_2.d.cts.map +1 -0
- package/LoadingSpinner.cjs +25 -0
- package/LoadingSpinner.cjs.map +1 -0
- package/LoadingSpinner.d.cts +2 -0
- package/LoadingSpinner.d.mts +2 -0
- package/LoadingSpinner.mjs +21 -0
- package/LoadingSpinner.mjs.map +1 -0
- package/Menu-ClUogmwE.cjs +385 -0
- package/Menu-ClUogmwE.cjs.map +1 -0
- package/Menu-Cxu8CaX1.mjs +368 -0
- package/Menu-Cxu8CaX1.mjs.map +1 -0
- package/Modal-C6gatdtT.mjs +301 -0
- package/Modal-C6gatdtT.mjs.map +1 -0
- package/Modal-CiBqXyiK.cjs +306 -0
- package/Modal-CiBqXyiK.cjs.map +1 -0
- package/Modal-DM0aXJZ5.d.cts +265 -0
- package/Modal-DM0aXJZ5.d.cts.map +1 -0
- package/Modal-DM0aXJZ5.d.mts +265 -0
- package/Modal-DM0aXJZ5.d.mts.map +1 -0
- package/ModalTarget-CD0Nmzfb.d.cts +14 -0
- package/ModalTarget-CD0Nmzfb.d.cts.map +1 -0
- package/ModalTarget-CD0Nmzfb.d.mts +14 -0
- package/ModalTarget-CD0Nmzfb.d.mts.map +1 -0
- package/NotificationBadge-B442UBjI.d.cts +22 -0
- package/NotificationBadge-B442UBjI.d.cts.map +1 -0
- package/NotificationBadge-B442UBjI.d.mts +22 -0
- package/NotificationBadge-B442UBjI.d.mts.map +1 -0
- package/Pagination-DIpGKMLz.mjs +386 -0
- package/Pagination-DIpGKMLz.mjs.map +1 -0
- package/Pagination-bAtbN478.cjs +409 -0
- package/Pagination-bAtbN478.cjs.map +1 -0
- package/PhoneInput-B5pkpkdt.mjs +398 -0
- package/PhoneInput-B5pkpkdt.mjs.map +1 -0
- package/PhoneInput-BXnkBME4.d.mts +70 -0
- package/PhoneInput-BXnkBME4.d.mts.map +1 -0
- package/PhoneInput-Bkrbrins.d.cts +70 -0
- package/PhoneInput-Bkrbrins.d.cts.map +1 -0
- package/PhoneInput-CUMPOSxJ.cjs +408 -0
- package/PhoneInput-CUMPOSxJ.cjs.map +1 -0
- package/ProgressCircle-B2dfVdH-.d.cts +50 -0
- package/ProgressCircle-B2dfVdH-.d.cts.map +1 -0
- package/ProgressCircle-BC81D9sU.cjs +196 -0
- package/ProgressCircle-BC81D9sU.cjs.map +1 -0
- package/ProgressCircle-CxrflaLd.d.mts +50 -0
- package/ProgressCircle-CxrflaLd.d.mts.map +1 -0
- package/ProgressCircle-ae8cvZhe.mjs +191 -0
- package/ProgressCircle-ae8cvZhe.mjs.map +1 -0
- package/ProgressSteps-C3xJUDTs.d.mts +32 -0
- package/ProgressSteps-C3xJUDTs.d.mts.map +1 -0
- package/ProgressSteps-Ls0XahjM.d.cts +32 -0
- package/ProgressSteps-Ls0XahjM.d.cts.map +1 -0
- package/Radio.cjs +13 -0
- package/Radio.d.cts +2 -0
- package/Radio.d.mts +2 -0
- package/Radio.mjs +3 -0
- package/SaveConfetti-DI0MTd63.mjs +179 -0
- package/SaveConfetti-DI0MTd63.mjs.map +1 -0
- package/SaveConfetti-DSJtuE3b.cjs +184 -0
- package/SaveConfetti-DSJtuE3b.cjs.map +1 -0
- package/SearchInput-DYIPC8Cd.d.cts +126 -0
- package/SearchInput-DYIPC8Cd.d.cts.map +1 -0
- package/SearchInput-IfEWePDQ.d.mts +126 -0
- package/SearchInput-IfEWePDQ.d.mts.map +1 -0
- package/SegmentedControl-B5FZ0uX8.cjs +107 -0
- package/SegmentedControl-B5FZ0uX8.cjs.map +1 -0
- package/SegmentedControl-DHf4SQQL.mjs +96 -0
- package/SegmentedControl-DHf4SQQL.mjs.map +1 -0
- package/Select-BXDjzyDs.cjs +248 -0
- package/Select-BXDjzyDs.cjs.map +1 -0
- package/Select-BkZu8OLs.mjs +241 -0
- package/Select-BkZu8OLs.mjs.map +1 -0
- package/Select-g4yFQq1-.d.mts +36 -0
- package/Select-g4yFQq1-.d.mts.map +1 -0
- package/Select-ghtIe-gD.d.cts +36 -0
- package/Select-ghtIe-gD.d.cts.map +1 -0
- package/SelectAsync-267GxTnI.d.cts +11 -0
- package/SelectAsync-267GxTnI.d.cts.map +1 -0
- package/SelectAsync-CLcESc8k.d.mts +11 -0
- package/SelectAsync-CLcESc8k.d.mts.map +1 -0
- package/SelectAsyncCreatable-B2gB_MWk.d.mts +11 -0
- package/SelectAsyncCreatable-B2gB_MWk.d.mts.map +1 -0
- package/SelectAsyncCreatable-BhuvLhbk.d.cts +11 -0
- package/SelectAsyncCreatable-BhuvLhbk.d.cts.map +1 -0
- package/SelectCreatable-C87i1L43.d.cts +11 -0
- package/SelectCreatable-C87i1L43.d.cts.map +1 -0
- package/SelectCreatable-CNVa1sx-.d.mts +11 -0
- package/SelectCreatable-CNVa1sx-.d.mts.map +1 -0
- package/SingleCard-DPaHU2wR.d.mts +19 -0
- package/SingleCard-DPaHU2wR.d.mts.map +1 -0
- package/SingleCard-X1dP0AHZ.d.cts +19 -0
- package/SingleCard-X1dP0AHZ.d.cts.map +1 -0
- package/Skeleton-40Vi20JV.d.cts +15 -0
- package/Skeleton-40Vi20JV.d.cts.map +1 -0
- package/Skeleton-40Vi20JV.d.mts +15 -0
- package/Skeleton-40Vi20JV.d.mts.map +1 -0
- package/SplitButton-DK-LdIwN.d.cts +80 -0
- package/SplitButton-DK-LdIwN.d.cts.map +1 -0
- package/SplitButton-DK-LdIwN.d.mts +80 -0
- package/SplitButton-DK-LdIwN.d.mts.map +1 -0
- package/SplitButton-DcmmLW8j.cjs +184 -0
- package/SplitButton-DcmmLW8j.cjs.map +1 -0
- package/SplitButton-WE5ymwCQ.mjs +179 -0
- package/SplitButton-WE5ymwCQ.mjs.map +1 -0
- package/StarRating-CRGx_jeU.mjs +81 -0
- package/StarRating-CRGx_jeU.mjs.map +1 -0
- package/StarRating-Dski54FS.cjs +86 -0
- package/StarRating-Dski54FS.cjs.map +1 -0
- package/StarRating-Dx1nbkcG.d.mts +89 -0
- package/StarRating-Dx1nbkcG.d.mts.map +1 -0
- package/StarRating-TfkOMATk.d.cts +89 -0
- package/StarRating-TfkOMATk.d.cts.map +1 -0
- package/SuggestionChip-BLq_0VFE.d.cts +13 -0
- package/SuggestionChip-BLq_0VFE.d.cts.map +1 -0
- package/SuggestionChip-CilkTYTJ.d.mts +13 -0
- package/SuggestionChip-CilkTYTJ.d.mts.map +1 -0
- package/Table-CLlDragJ.cjs +500 -0
- package/Table-CLlDragJ.cjs.map +1 -0
- package/Table-M-rANdMt.mjs +495 -0
- package/Table-M-rANdMt.mjs.map +1 -0
- package/Tabs-DRT-IQZk.d.cts +41 -0
- package/Tabs-DRT-IQZk.d.cts.map +1 -0
- package/Tabs-DRT-IQZk.d.mts +41 -0
- package/Tabs-DRT-IQZk.d.mts.map +1 -0
- package/Text-BVoakc0X.d.cts +63 -0
- package/Text-BVoakc0X.d.cts.map +1 -0
- package/Text-OlyNC1yj.d.mts +63 -0
- package/Text-OlyNC1yj.d.mts.map +1 -0
- package/TextArea-C-a06VpC.d.cts +58 -0
- package/TextArea-C-a06VpC.d.cts.map +1 -0
- package/TextArea-CTHcW_IE.d.mts +58 -0
- package/TextArea-CTHcW_IE.d.mts.map +1 -0
- package/TextInput-BhkeQZh4.d.cts +47 -0
- package/TextInput-BhkeQZh4.d.cts.map +1 -0
- package/TextInput-CWCeR18b.d.mts +47 -0
- package/TextInput-CWCeR18b.d.mts.map +1 -0
- package/Thumbnails-B-eOrf55.d.cts +226 -0
- package/Thumbnails-B-eOrf55.d.cts.map +1 -0
- package/Thumbnails-B-eOrf55.d.mts +226 -0
- package/Thumbnails-B-eOrf55.d.mts.map +1 -0
- package/TimePickerTarget-BHceCsfc.cjs +25 -0
- package/TimePickerTarget-BHceCsfc.cjs.map +1 -0
- package/TimePickerTarget-DlbryTho.mjs +14 -0
- package/TimePickerTarget-DlbryTho.mjs.map +1 -0
- package/TimePickerTarget-pYRxAfb2.d.cts +14 -0
- package/TimePickerTarget-pYRxAfb2.d.cts.map +1 -0
- package/TimePickerTarget-pYRxAfb2.d.mts +14 -0
- package/TimePickerTarget-pYRxAfb2.d.mts.map +1 -0
- package/Toast-CPEKESLZ.cjs +107 -0
- package/Toast-CPEKESLZ.cjs.map +1 -0
- package/Toast-CdUaFVpt.mjs +96 -0
- package/Toast-CdUaFVpt.mjs.map +1 -0
- package/ToggleSwitch-D-HRkEg2.d.cts +60 -0
- package/ToggleSwitch-D-HRkEg2.d.cts.map +1 -0
- package/ToggleSwitch-D-HRkEg2.d.mts +60 -0
- package/ToggleSwitch-D-HRkEg2.d.mts.map +1 -0
- package/Tooltip-D6_5Rsmd.d.cts +21 -0
- package/Tooltip-D6_5Rsmd.d.cts.map +1 -0
- package/Tooltip-D6_5Rsmd.d.mts +21 -0
- package/Tooltip-D6_5Rsmd.d.mts.map +1 -0
- package/Tooltip.cjs +38 -0
- package/Tooltip.cjs.map +1 -0
- package/Tooltip.d.cts +2 -0
- package/Tooltip.d.mts +2 -0
- package/Tooltip.mjs +26 -0
- package/Tooltip.mjs.map +1 -0
- package/Typography/InlineButton.cjs +63 -0
- package/Typography/InlineButton.cjs.map +1 -0
- package/Typography/InlineButton.d.cts +2 -0
- package/Typography/InlineButton.d.mts +2 -0
- package/Typography/InlineButton.mjs +59 -0
- package/Typography/InlineButton.mjs.map +1 -0
- package/Typography/Links.cjs +62 -0
- package/Typography/Links.cjs.map +1 -0
- package/Typography/Links.d.cts +2 -0
- package/Typography/Links.d.mts +2 -0
- package/Typography/Links.mjs +51 -0
- package/Typography/Links.mjs.map +1 -0
- package/Typography/Text.cjs +178 -0
- package/Typography/Text.cjs.map +1 -0
- package/Typography/Text.d.cts +2 -0
- package/Typography/Text.d.mts +2 -0
- package/Typography/Text.mjs +163 -0
- package/Typography/Text.mjs.map +1 -0
- package/ViewMore-BBoUvo7p.cjs +138 -0
- package/ViewMore-BBoUvo7p.cjs.map +1 -0
- package/ViewMore-BrZPuE4E.mjs +133 -0
- package/ViewMore-BrZPuE4E.mjs.map +1 -0
- package/ViewMore-DKC9SYL4.d.cts +93 -0
- package/ViewMore-DKC9SYL4.d.cts.map +1 -0
- package/ViewMore-DKC9SYL4.d.mts +93 -0
- package/ViewMore-DKC9SYL4.d.mts.map +1 -0
- package/WebRTCPlayer-C-sTtskR.mjs +940 -0
- package/WebRTCPlayer-C-sTtskR.mjs.map +1 -0
- package/WebRTCPlayer-CssffyCM.cjs +983 -0
- package/WebRTCPlayer-CssffyCM.cjs.map +1 -0
- package/accordion.cjs +126 -0
- package/accordion.cjs.map +1 -0
- package/accordion.d.cts +2 -0
- package/accordion.d.mts +2 -0
- package/accordion.mjs +120 -0
- package/accordion.mjs.map +1 -0
- package/addressDisplay.cjs +7 -0
- package/addressDisplay.d.cts +2 -0
- package/addressDisplay.d.mts +2 -0
- package/addressDisplay.mjs +3 -0
- package/anyIcon-C3IQzJJ9.d.cts +7 -0
- package/anyIcon-C3IQzJJ9.d.cts.map +1 -0
- package/anyIcon-eR07wvJb.d.mts +7 -0
- package/anyIcon-eR07wvJb.d.mts.map +1 -0
- package/automatedCarousel.cjs +7 -0
- package/automatedCarousel.d.cts +2 -0
- package/automatedCarousel.d.mts +2 -0
- package/automatedCarousel.mjs +3 -0
- package/bannerNotification.cjs +7 -0
- package/bannerNotification.d.cts +2 -0
- package/bannerNotification.d.mts +2 -0
- package/bannerNotification.mjs +3 -0
- package/bottomSheet.cjs +7 -0
- package/bottomSheet.d.cts +2 -0
- package/bottomSheet.d.mts +2 -0
- package/bottomSheet.mjs +3 -0
- package/breadcrumbs.cjs +7 -0
- package/breadcrumbs.d.cts +2 -0
- package/breadcrumbs.d.mts +2 -0
- package/breadcrumbs.mjs +3 -0
- package/breakpoints.cjs +53 -0
- package/breakpoints.cjs.map +1 -0
- package/breakpoints.d.cts +2 -0
- package/breakpoints.d.mts +2 -0
- package/breakpoints.mjs +46 -0
- package/breakpoints.mjs.map +1 -0
- package/buttonColorClasses-B7OU4aQA.mjs +22 -0
- package/buttonColorClasses-B7OU4aQA.mjs.map +1 -0
- package/buttonColorClasses-C3hg1at8.cjs +93 -0
- package/buttonColorClasses-C3hg1at8.cjs.map +1 -0
- package/card/cardGrid.cjs +7 -0
- package/card/cardGrid.d.cts +2 -0
- package/card/cardGrid.d.mts +2 -0
- package/card/cardGrid.mjs +3 -0
- package/card/components/createBadge.cjs +27 -0
- package/card/components/createBadge.cjs.map +1 -0
- package/card/components/createBadge.d.cts +2 -0
- package/card/components/createBadge.d.mts +2 -0
- package/card/components/createBadge.mjs +23 -0
- package/card/components/createBadge.mjs.map +1 -0
- package/card/components/createFavoriteButton.cjs +31 -0
- package/card/components/createFavoriteButton.cjs.map +1 -0
- package/card/components/createFavoriteButton.d.cts +2 -0
- package/card/components/createFavoriteButton.d.mts +2 -0
- package/card/components/createFavoriteButton.mjs +27 -0
- package/card/components/createFavoriteButton.mjs.map +1 -0
- package/card/components/createImage.cjs +44 -0
- package/card/components/createImage.cjs.map +1 -0
- package/card/components/createImage.d.cts +2 -0
- package/card/components/createImage.d.mts +2 -0
- package/card/components/createImage.mjs +40 -0
- package/card/components/createImage.mjs.map +1 -0
- package/card/components/createInfo.cjs +61 -0
- package/card/components/createInfo.cjs.map +1 -0
- package/card/components/createInfo.d.cts +2 -0
- package/card/components/createInfo.d.mts +2 -0
- package/card/components/createInfo.mjs +56 -0
- package/card/components/createInfo.mjs.map +1 -0
- package/card/components/createName.cjs +43 -0
- package/card/components/createName.cjs.map +1 -0
- package/card/components/createName.d.cts +2 -0
- package/card/components/createName.d.mts +2 -0
- package/card/components/createName.mjs +39 -0
- package/card/components/createName.mjs.map +1 -0
- package/card/components/createPriceStatus.cjs +77 -0
- package/card/components/createPriceStatus.cjs.map +1 -0
- package/card/components/createPriceStatus.d.cts +2 -0
- package/card/components/createPriceStatus.d.mts +2 -0
- package/card/components/createPriceStatus.mjs +70 -0
- package/card/components/createPriceStatus.mjs.map +1 -0
- package/card/factory.cjs +7 -0
- package/card/factory.d.cts +3 -0
- package/card/factory.d.mts +3 -0
- package/card/factory.mjs +3 -0
- package/card/singleCard.cjs +18 -0
- package/card/singleCard.cjs.map +1 -0
- package/card/singleCard.d.cts +2 -0
- package/card/singleCard.d.mts +2 -0
- package/card/singleCard.mjs +14 -0
- package/card/singleCard.mjs.map +1 -0
- package/cardFactory-B0Ah0Qb8.mjs +102 -0
- package/cardFactory-B0Ah0Qb8.mjs.map +1 -0
- package/cardFactory-CEKTSSXs.d.cts +37 -0
- package/cardFactory-CEKTSSXs.d.cts.map +1 -0
- package/cardFactory-DTU3jY-R.cjs +107 -0
- package/cardFactory-DTU3jY-R.cjs.map +1 -0
- package/cardFactory-Z5a675Nr.d.mts +37 -0
- package/cardFactory-Z5a675Nr.d.mts.map +1 -0
- package/carousel.cjs +10 -0
- package/carousel.d.cts +2 -0
- package/carousel.d.mts +2 -0
- package/carousel.mjs +3 -0
- package/chipTypes-Bi0ZROty.d.cts +109 -0
- package/chipTypes-Bi0ZROty.d.cts.map +1 -0
- package/chipTypes-Bi0ZROty.d.mts +109 -0
- package/chipTypes-Bi0ZROty.d.mts.map +1 -0
- package/chips/chip.cjs +102 -0
- package/chips/chip.cjs.map +1 -0
- package/chips/chip.d.cts +2 -0
- package/chips/chip.d.mts +2 -0
- package/chips/chip.mjs +98 -0
- package/chips/chip.mjs.map +1 -0
- package/chips/chipGroup.cjs +127 -0
- package/chips/chipGroup.cjs.map +1 -0
- package/chips/chipGroup.d.cts +2 -0
- package/chips/chipGroup.d.mts +2 -0
- package/chips/chipGroup.mjs +123 -0
- package/chips/chipGroup.mjs.map +1 -0
- package/chips/suggestion.cjs +20 -0
- package/chips/suggestion.cjs.map +1 -0
- package/chips/suggestion.d.cts +2 -0
- package/chips/suggestion.d.mts +2 -0
- package/chips/suggestion.mjs +16 -0
- package/chips/suggestion.mjs.map +1 -0
- package/chips/types.cjs +1 -0
- package/chips/types.d.cts +2 -0
- package/chips/types.d.mts +2 -0
- package/chips/types.mjs +2 -0
- package/chips.cjs +12 -0
- package/chips.d.cts +5 -0
- package/chips.d.mts +5 -0
- package/chips.mjs +6 -0
- package/collapsible.cjs +47 -0
- package/collapsible.cjs.map +1 -0
- package/collapsible.d.cts +2 -0
- package/collapsible.d.mts +2 -0
- package/collapsible.mjs +43 -0
- package/collapsible.mjs.map +1 -0
- package/components-BPFB_cmZ.mjs +346 -0
- package/components-BPFB_cmZ.mjs.map +1 -0
- package/components-CL4KcKF0.cjs +393 -0
- package/components-CL4KcKF0.cjs.map +1 -0
- package/confetti.cjs +7 -0
- package/confetti.d.cts +2 -0
- package/confetti.d.mts +2 -0
- package/confetti.mjs +3 -0
- package/contentPager.cjs +9 -0
- package/contentPager.d.cts +2 -0
- package/contentPager.d.mts +2 -0
- package/contentPager.mjs +3 -0
- package/context--_0mDNFa.d.cts +24 -0
- package/context--_0mDNFa.d.cts.map +1 -0
- package/context--_0mDNFa.d.mts +24 -0
- package/context--_0mDNFa.d.mts.map +1 -0
- package/cookieConsent.cjs +11 -0
- package/cookieConsent.d.cts +2 -0
- package/cookieConsent.d.mts +2 -0
- package/cookieConsent.mjs +3 -0
- package/countdown/types.cjs +1 -0
- package/countdown/types.d.cts +2 -0
- package/countdown/types.d.mts +2 -0
- package/countdown/types.mjs +2 -0
- package/countdown.cjs +7 -0
- package/countdown.d.cts +2 -0
- package/countdown.d.mts +2 -0
- package/countdown.mjs +3 -0
- package/createBadge-CYumy92O.d.mts +19 -0
- package/createBadge-CYumy92O.d.mts.map +1 -0
- package/createBadge-LFbUXGlB.d.cts +19 -0
- package/createBadge-LFbUXGlB.d.cts.map +1 -0
- package/createFavoriteButton-8xbCWiTD.d.mts +21 -0
- package/createFavoriteButton-8xbCWiTD.d.mts.map +1 -0
- package/createFavoriteButton-Bnp0UOEq.d.cts +21 -0
- package/createFavoriteButton-Bnp0UOEq.d.cts.map +1 -0
- package/createImage-BYnNgRok.d.mts +26 -0
- package/createImage-BYnNgRok.d.mts.map +1 -0
- package/createImage-DYLD7AJb.d.cts +26 -0
- package/createImage-DYLD7AJb.d.cts.map +1 -0
- package/createInfo-C9sqGWBq.d.mts +44 -0
- package/createInfo-C9sqGWBq.d.mts.map +1 -0
- package/createInfo-USBqE7Tt.d.cts +44 -0
- package/createInfo-USBqE7Tt.d.cts.map +1 -0
- package/createName-DB7BL9GP.d.cts +26 -0
- package/createName-DB7BL9GP.d.cts.map +1 -0
- package/createName-U7oHRNVL.d.mts +26 -0
- package/createName-U7oHRNVL.d.mts.map +1 -0
- package/createPriceStatus-C-amebFt.d.cts +30 -0
- package/createPriceStatus-C-amebFt.d.cts.map +1 -0
- package/createPriceStatus-DBWT6ob8.d.mts +30 -0
- package/createPriceStatus-DBWT6ob8.d.mts.map +1 -0
- package/dateInput.cjs +98 -0
- package/dateInput.cjs.map +1 -0
- package/dateInput.d.cts +2 -0
- package/dateInput.d.mts +2 -0
- package/dateInput.mjs +94 -0
- package/dateInput.mjs.map +1 -0
- package/datePicker-DQ32Z8yo.mjs +136 -0
- package/datePicker-DQ32Z8yo.mjs.map +1 -0
- package/datePicker-DaYegd15.cjs +141 -0
- package/datePicker-DaYegd15.cjs.map +1 -0
- package/datePicker.cjs +9 -0
- package/datePicker.d.cts +3 -0
- package/datePicker.d.mts +3 -0
- package/datePicker.mjs +4 -0
- package/dateTimeInput/utils.cjs +8 -0
- package/dateTimeInput/utils.d.cts +2 -0
- package/dateTimeInput/utils.d.mts +2 -0
- package/dateTimeInput/utils.mjs +3 -0
- package/drawer.cjs +7 -0
- package/drawer.d.cts +2 -0
- package/drawer.d.mts +2 -0
- package/drawer.mjs +3 -0
- package/educationalPopover.cjs +110 -0
- package/educationalPopover.cjs.map +1 -0
- package/educationalPopover.d.cts +2 -0
- package/educationalPopover.d.mts +2 -0
- package/educationalPopover.mjs +106 -0
- package/educationalPopover.mjs.map +1 -0
- package/effectEventListener-DmVY5Sgy.cjs +16 -0
- package/effectEventListener-DmVY5Sgy.cjs.map +1 -0
- package/effectEventListener-WApakaup.mjs +11 -0
- package/effectEventListener-WApakaup.mjs.map +1 -0
- package/favoriteButton.cjs +7 -0
- package/favoriteButton.d.cts +2 -0
- package/favoriteButton.d.mts +2 -0
- package/favoriteButton.mjs +3 -0
- package/featureFlagProvider-Cl66ibpA.cjs +25 -0
- package/featureFlagProvider-Cl66ibpA.cjs.map +1 -0
- package/featureFlagProvider-_wGBROhw.mjs +14 -0
- package/featureFlagProvider-_wGBROhw.mjs.map +1 -0
- package/featureFlags/devTools/FeatureFlagDevToolsUI.cjs +7 -0
- package/featureFlags/devTools/FeatureFlagDevToolsUI.d.cts +2 -0
- package/featureFlags/devTools/FeatureFlagDevToolsUI.d.mts +2 -0
- package/featureFlags/devTools/FeatureFlagDevToolsUI.mjs +3 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.cjs +27 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.cjs.map +1 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.d.cts +15 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.d.cts.map +1 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.d.mts +15 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.d.mts.map +1 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.mjs +23 -0
- package/featureFlags/devTools/getFeatureFlagCookieOverrides.mjs.map +1 -0
- package/featureFlags/hooks.cjs +9 -0
- package/featureFlags/hooks.d.cts +2 -0
- package/featureFlags/hooks.d.mts +2 -0
- package/featureFlags/hooks.mjs +4 -0
- package/fileUpload/hooks.cjs +8 -0
- package/fileUpload/hooks.d.cts +2 -0
- package/fileUpload/hooks.d.mts +2 -0
- package/fileUpload/hooks.mjs +3 -0
- package/fileUpload/testUtils/mockFilesAndImages.cjs +68 -0
- package/fileUpload/testUtils/mockFilesAndImages.cjs.map +1 -0
- package/fileUpload/testUtils/mockFilesAndImages.d.cts +19 -0
- package/fileUpload/testUtils/mockFilesAndImages.d.cts.map +1 -0
- package/fileUpload/testUtils/mockFilesAndImages.d.mts +19 -0
- package/fileUpload/testUtils/mockFilesAndImages.d.mts.map +1 -0
- package/fileUpload/testUtils/mockFilesAndImages.mjs +52 -0
- package/fileUpload/testUtils/mockFilesAndImages.mjs.map +1 -0
- package/fileUpload/testUtils/testUtils.cjs +91 -0
- package/fileUpload/testUtils/testUtils.cjs.map +1 -0
- package/fileUpload/testUtils/testUtils.d.cts +13 -0
- package/fileUpload/testUtils/testUtils.d.cts.map +1 -0
- package/fileUpload/testUtils/testUtils.d.mts +13 -0
- package/fileUpload/testUtils/testUtils.d.mts.map +1 -0
- package/fileUpload/testUtils/testUtils.mjs +81 -0
- package/fileUpload/testUtils/testUtils.mjs.map +1 -0
- package/fileUpload/types.cjs +31 -0
- package/fileUpload/types.cjs.map +1 -0
- package/fileUpload/types.d.cts +2 -0
- package/fileUpload/types.d.mts +2 -0
- package/fileUpload/types.mjs +26 -0
- package/fileUpload/types.mjs.map +1 -0
- package/fileUpload.cjs +24 -0
- package/fileUpload.d.cts +4 -0
- package/fileUpload.d.mts +4 -0
- package/fileUpload.mjs +4 -0
- package/formLabel.cjs +108 -0
- package/formLabel.cjs.map +1 -0
- package/formLabel.d.cts +2 -0
- package/formLabel.d.mts +2 -0
- package/formLabel.mjs +103 -0
- package/formLabel.mjs.map +1 -0
- package/grid.cjs +128 -0
- package/grid.cjs.map +1 -0
- package/grid.d.cts +3 -0
- package/grid.d.mts +3 -0
- package/grid.mjs +118 -0
- package/grid.mjs.map +1 -0
- package/gridHighlighter-BU9PvG5f.d.cts +29 -0
- package/gridHighlighter-BU9PvG5f.d.cts.map +1 -0
- package/gridHighlighter-BU9PvG5f.d.mts +29 -0
- package/gridHighlighter-BU9PvG5f.d.mts.map +1 -0
- package/gridHighlighter-BcGNd3EE.mjs +55 -0
- package/gridHighlighter-BcGNd3EE.mjs.map +1 -0
- package/gridHighlighter-BiSMM7lW.cjs +66 -0
- package/gridHighlighter-BiSMM7lW.cjs.map +1 -0
- package/hooks/usePrevious.cjs +21 -0
- package/hooks/usePrevious.cjs.map +1 -0
- package/hooks/usePrevious.d.cts +2 -0
- package/hooks/usePrevious.d.mts +2 -0
- package/hooks/usePrevious.mjs +17 -0
- package/hooks/usePrevious.mjs.map +1 -0
- package/hooks-8VsDqwlb.cjs +672 -0
- package/hooks-8VsDqwlb.cjs.map +1 -0
- package/hooks-BudbgYTF.mjs +22 -0
- package/hooks-BudbgYTF.mjs.map +1 -0
- package/hooks-D4sJ62Xl.mjs +607 -0
- package/hooks-D4sJ62Xl.mjs.map +1 -0
- package/hooks-DDMD_CDN.cjs +27 -0
- package/hooks-DDMD_CDN.cjs.map +1 -0
- package/horizontalScrollFadeMixin-BBr1qJpj.mjs +38 -0
- package/horizontalScrollFadeMixin-BBr1qJpj.mjs.map +1 -0
- package/horizontalScrollFadeMixin-ChYR-9hE.cjs +43 -0
- package/horizontalScrollFadeMixin-ChYR-9hE.cjs.map +1 -0
- package/imageCluster.cjs +54 -0
- package/imageCluster.cjs.map +1 -0
- package/imageCluster.d.cts +2 -0
- package/imageCluster.d.mts +2 -0
- package/imageCluster.mjs +50 -0
- package/imageCluster.mjs.map +1 -0
- package/imageSlider.cjs +10 -0
- package/imageSlider.d.cts +2 -0
- package/imageSlider.d.mts +2 -0
- package/imageSlider.mjs +3 -0
- package/index-3V0Y3AU3.d.mts +25 -0
- package/index-3V0Y3AU3.d.mts.map +1 -0
- package/index-9649Aqry.d.cts +84 -0
- package/index-9649Aqry.d.cts.map +1 -0
- package/index-9649Aqry.d.mts +84 -0
- package/index-9649Aqry.d.mts.map +1 -0
- package/index-B-GVogfk2.d.mts +519 -0
- package/index-B-GVogfk2.d.mts.map +1 -0
- package/index-BAR19_eg.d.cts +494 -0
- package/index-BAR19_eg.d.cts.map +1 -0
- package/index-BAR19_eg.d.mts +494 -0
- package/index-BAR19_eg.d.mts.map +1 -0
- package/index-BIbZcTRq.d.cts +236 -0
- package/index-BIbZcTRq.d.cts.map +1 -0
- package/index-BVb-FJDo.d.mts +322 -0
- package/index-BVb-FJDo.d.mts.map +1 -0
- package/index-BXz3rMMk.d.cts +322 -0
- package/index-BXz3rMMk.d.cts.map +1 -0
- package/index-Bm-eSWuV.d.mts +75 -0
- package/index-Bm-eSWuV.d.mts.map +1 -0
- package/index-BsA0Oogf.d.cts +75 -0
- package/index-BsA0Oogf.d.cts.map +1 -0
- package/index-Bu7c6X7O.d.mts +117 -0
- package/index-Bu7c6X7O.d.mts.map +1 -0
- package/index-BvJOKeoD.d.cts +94 -0
- package/index-BvJOKeoD.d.cts.map +1 -0
- package/index-BvJOKeoD.d.mts +94 -0
- package/index-BvJOKeoD.d.mts.map +1 -0
- package/index-ByYgcpRS.d.cts +1644 -0
- package/index-ByYgcpRS.d.cts.map +1 -0
- package/index-ByZJ4iMT2.d.mts +143 -0
- package/index-ByZJ4iMT2.d.mts.map +1 -0
- package/index-BzN9RaXe.d.cts +117 -0
- package/index-BzN9RaXe.d.cts.map +1 -0
- package/index-C1knx8x3.d.cts +8 -0
- package/index-C1knx8x3.d.cts.map +1 -0
- package/index-C1knx8x3.d.mts +8 -0
- package/index-C1knx8x3.d.mts.map +1 -0
- package/index-CEUCcUr8.d.mts +26 -0
- package/index-CEUCcUr8.d.mts.map +1 -0
- package/index-CQb7B4U7.d.mts +25 -0
- package/index-CQb7B4U7.d.mts.map +1 -0
- package/index-CTGvafCc.d.mts +68 -0
- package/index-CTGvafCc.d.mts.map +1 -0
- package/index-CTfIOH2Z2.d.cts +519 -0
- package/index-CTfIOH2Z2.d.cts.map +1 -0
- package/index-CXbRJmrm.d.cts +49 -0
- package/index-CXbRJmrm.d.cts.map +1 -0
- package/index-CXbRJmrm.d.mts +49 -0
- package/index-CXbRJmrm.d.mts.map +1 -0
- package/index-Co9X1Vty.d.cts +25 -0
- package/index-Co9X1Vty.d.cts.map +1 -0
- package/index-D1Zpm1h7.d.cts +58 -0
- package/index-D1Zpm1h7.d.cts.map +1 -0
- package/index-D1Zpm1h7.d.mts +58 -0
- package/index-D1Zpm1h7.d.mts.map +1 -0
- package/index-D2HDrkK3.d.cts +172 -0
- package/index-D2HDrkK3.d.cts.map +1 -0
- package/index-D2HDrkK3.d.mts +172 -0
- package/index-D2HDrkK3.d.mts.map +1 -0
- package/index-D8NtFEaq.d.cts +193 -0
- package/index-D8NtFEaq.d.cts.map +1 -0
- package/index-D8NtFEaq.d.mts +193 -0
- package/index-D8NtFEaq.d.mts.map +1 -0
- package/index-DBYqF9Sr.d.cts +39 -0
- package/index-DBYqF9Sr.d.cts.map +1 -0
- package/index-DS-jIZFO.d.mts +1644 -0
- package/index-DS-jIZFO.d.mts.map +1 -0
- package/index-DTEgNDXq.d.mts +111 -0
- package/index-DTEgNDXq.d.mts.map +1 -0
- package/index-DTEgNDXq2.d.cts +111 -0
- package/index-DTEgNDXq2.d.cts.map +1 -0
- package/index-DUdcrvAe.d.cts +26 -0
- package/index-DUdcrvAe.d.cts.map +1 -0
- package/index-DUdcrvAe.d.mts +26 -0
- package/index-DUdcrvAe.d.mts.map +1 -0
- package/index-DwA_GqJq.d.cts +26 -0
- package/index-DwA_GqJq.d.cts.map +1 -0
- package/index-MX_CgDGs.d.cts +147 -0
- package/index-MX_CgDGs.d.cts.map +1 -0
- package/index-MX_CgDGs.d.mts +147 -0
- package/index-MX_CgDGs.d.mts.map +1 -0
- package/index-NeSBj5ci.d.cts +200 -0
- package/index-NeSBj5ci.d.cts.map +1 -0
- package/index-NeSBj5ci.d.mts +200 -0
- package/index-NeSBj5ci.d.mts.map +1 -0
- package/index-XZwBshBM.d.cts +177 -0
- package/index-XZwBshBM.d.cts.map +1 -0
- package/index-XZwBshBM.d.mts +177 -0
- package/index-XZwBshBM.d.mts.map +1 -0
- package/index-dpfLYhgI.d.mts +39 -0
- package/index-dpfLYhgI.d.mts.map +1 -0
- package/index-kchg551L.d.cts +25 -0
- package/index-kchg551L.d.cts.map +1 -0
- package/index-l7Awc0i3.d.cts +68 -0
- package/index-l7Awc0i3.d.cts.map +1 -0
- package/index-ojxI7tqs.d.cts +143 -0
- package/index-ojxI7tqs.d.cts.map +1 -0
- package/index-otqj7yHa.d.mts +236 -0
- package/index-otqj7yHa.d.mts.map +1 -0
- package/index.cjs +472 -0
- package/index.d.cts +101 -0
- package/index.d.mts +101 -0
- package/index.mjs +99 -0
- package/inlineNotification.cjs +82 -0
- package/inlineNotification.cjs.map +1 -0
- package/inlineNotification.d.cts +2 -0
- package/inlineNotification.d.mts +2 -0
- package/inlineNotification.mjs +78 -0
- package/inlineNotification.mjs.map +1 -0
- package/intl/utils.cjs +41 -0
- package/intl/utils.cjs.map +1 -0
- package/intl/utils.d.cts +18 -0
- package/intl/utils.d.cts.map +1 -0
- package/intl/utils.d.mts +18 -0
- package/intl/utils.d.mts.map +1 -0
- package/intl/utils.mjs +34 -0
- package/intl/utils.mjs.map +1 -0
- package/intl.cjs +34 -0
- package/intl.d.cts +5 -0
- package/intl.d.mts +5 -0
- package/intl.mjs +6 -0
- package/jumpMenu.cjs +7 -0
- package/jumpMenu.d.cts +2 -0
- package/jumpMenu.d.mts +2 -0
- package/jumpMenu.mjs +3 -0
- package/loading.cjs +7 -0
- package/loading.d.cts +2 -0
- package/loading.d.mts +2 -0
- package/loading.mjs +3 -0
- package/menu.cjs +9 -0
- package/menu.d.cts +2 -0
- package/menu.d.mts +2 -0
- package/menu.mjs +3 -0
- package/menuContext-4P6eKzkH.mjs +14 -0
- package/menuContext-4P6eKzkH.mjs.map +1 -0
- package/menuContext-B6MhMBDf.cjs +25 -0
- package/menuContext-B6MhMBDf.cjs.map +1 -0
- package/mixins-CoXneD1m.mjs +235 -0
- package/mixins-CoXneD1m.mjs.map +1 -0
- package/mixins-D56ptENc.cjs +282 -0
- package/mixins-D56ptENc.cjs.map +1 -0
- package/mixins.cjs +13 -0
- package/mixins.d.cts +2 -0
- package/mixins.d.mts +2 -0
- package/mixins.mjs +2 -0
- package/modal/components.cjs +16 -0
- package/modal/components.d.cts +3 -0
- package/modal/components.d.mts +3 -0
- package/modal/components.mjs +4 -0
- package/modal/context.cjs +26 -0
- package/modal/context.cjs.map +1 -0
- package/modal/context.d.cts +2 -0
- package/modal/context.d.mts +2 -0
- package/modal/context.mjs +21 -0
- package/modal/context.mjs.map +1 -0
- package/modal/useCloseModal.cjs +103 -0
- package/modal/useCloseModal.cjs.map +1 -0
- package/modal/useCloseModal.d.cts +2 -0
- package/modal/useCloseModal.d.mts +2 -0
- package/modal/useCloseModal.mjs +98 -0
- package/modal/useCloseModal.mjs.map +1 -0
- package/modal.cjs +7 -0
- package/modal.d.cts +2 -0
- package/modal.d.mts +2 -0
- package/modal.mjs +3 -0
- package/nodeEnv-B4v61vkJ.mjs +6 -0
- package/nodeEnv-B4v61vkJ.mjs.map +1 -0
- package/nodeEnv-BdQ-HyQz.cjs +11 -0
- package/nodeEnv-BdQ-HyQz.cjs.map +1 -0
- package/notificationBadge.cjs +24 -0
- package/notificationBadge.cjs.map +1 -0
- package/notificationBadge.d.cts +2 -0
- package/notificationBadge.d.mts +2 -0
- package/notificationBadge.mjs +20 -0
- package/notificationBadge.mjs.map +1 -0
- package/package.json +73 -0
- package/pagination.cjs +10 -0
- package/pagination.d.cts +2 -0
- package/pagination.d.mts +2 -0
- package/pagination.mjs +3 -0
- package/phoneInput.cjs +34 -0
- package/phoneInput.d.cts +5 -0
- package/phoneInput.d.mts +5 -0
- package/phoneInput.mjs +6 -0
- package/progressCircle.cjs +7 -0
- package/progressCircle.d.cts +2 -0
- package/progressCircle.d.mts +2 -0
- package/progressCircle.mjs +3 -0
- package/progressSteps.cjs +92 -0
- package/progressSteps.cjs.map +1 -0
- package/progressSteps.d.cts +2 -0
- package/progressSteps.d.mts +2 -0
- package/progressSteps.mjs +88 -0
- package/progressSteps.mjs.map +1 -0
- package/providers.cjs +333 -0
- package/providers.cjs.map +1 -0
- package/providers.d.cts +5 -0
- package/providers.d.mts +5 -0
- package/providers.mjs +292 -0
- package/providers.mjs.map +1 -0
- package/rolldown-runtime-D6vf50IK.cjs +28 -0
- package/saveConfetti.cjs +7 -0
- package/saveConfetti.d.cts +2 -0
- package/saveConfetti.d.mts +2 -0
- package/saveConfetti.mjs +3 -0
- package/searchInput.cjs +92 -0
- package/searchInput.cjs.map +1 -0
- package/searchInput.d.cts +2 -0
- package/searchInput.d.mts +2 -0
- package/searchInput.mjs +88 -0
- package/searchInput.mjs.map +1 -0
- package/segmentedControl.cjs +8 -0
- package/segmentedControl.d.cts +2 -0
- package/segmentedControl.d.mts +2 -0
- package/segmentedControl.mjs +3 -0
- package/select.cjs +9 -0
- package/select.d.cts +2 -0
- package/select.d.mts +2 -0
- package/select.mjs +3 -0
- package/selectAsync.cjs +20 -0
- package/selectAsync.cjs.map +1 -0
- package/selectAsync.d.cts +2 -0
- package/selectAsync.d.mts +2 -0
- package/selectAsync.mjs +14 -0
- package/selectAsync.mjs.map +1 -0
- package/selectAsyncCreatable.cjs +19 -0
- package/selectAsyncCreatable.cjs.map +1 -0
- package/selectAsyncCreatable.d.cts +2 -0
- package/selectAsyncCreatable.d.mts +2 -0
- package/selectAsyncCreatable.mjs +13 -0
- package/selectAsyncCreatable.mjs.map +1 -0
- package/selectComponents.cjs +12 -0
- package/selectComponents.d.cts +2 -0
- package/selectComponents.d.mts +2 -0
- package/selectComponents.mjs +3 -0
- package/selectCreatable.cjs +19 -0
- package/selectCreatable.cjs.map +1 -0
- package/selectCreatable.d.cts +2 -0
- package/selectCreatable.d.mts +2 -0
- package/selectCreatable.mjs +13 -0
- package/selectCreatable.mjs.map +1 -0
- package/sharedProps-D7PSXdXt.d.mts +16 -0
- package/sharedProps-D7PSXdXt.d.mts.map +1 -0
- package/sharedProps-DPhLON6O.d.cts +16 -0
- package/sharedProps-DPhLON6O.d.cts.map +1 -0
- package/skeleton.cjs +24 -0
- package/skeleton.cjs.map +1 -0
- package/skeleton.d.cts +2 -0
- package/skeleton.d.mts +2 -0
- package/skeleton.mjs +18 -0
- package/skeleton.mjs.map +1 -0
- package/spacing.cjs +27 -0
- package/spacing.cjs.map +1 -0
- package/spacing.d.cts +13 -0
- package/spacing.d.cts.map +1 -0
- package/spacing.d.mts +13 -0
- package/spacing.d.mts.map +1 -0
- package/spacing.mjs +15 -0
- package/spacing.mjs.map +1 -0
- package/splitButton.cjs +7 -0
- package/splitButton.d.cts +2 -0
- package/splitButton.d.mts +2 -0
- package/splitButton.mjs +3 -0
- package/starRating.cjs +7 -0
- package/starRating.d.cts +2 -0
- package/starRating.d.mts +2 -0
- package/starRating.mjs +3 -0
- package/table.cjs +7 -0
- package/table.d.cts +2 -0
- package/table.d.mts +2 -0
- package/table.mjs +3 -0
- package/tabs.cjs +191 -0
- package/tabs.cjs.map +1 -0
- package/tabs.d.cts +2 -0
- package/tabs.d.mts +2 -0
- package/tabs.mjs +187 -0
- package/tabs.mjs.map +1 -0
- package/textArea.cjs +75 -0
- package/textArea.cjs.map +1 -0
- package/textArea.d.cts +2 -0
- package/textArea.d.mts +2 -0
- package/textArea.mjs +71 -0
- package/textArea.mjs.map +1 -0
- package/textInput.cjs +7 -0
- package/textInput.d.cts +2 -0
- package/textInput.d.mts +2 -0
- package/textInput.mjs +3 -0
- package/timePicker-BPrJk5TQ.mjs +376 -0
- package/timePicker-BPrJk5TQ.mjs.map +1 -0
- package/timePicker-Bs25zweI.cjs +381 -0
- package/timePicker-Bs25zweI.cjs.map +1 -0
- package/timePicker.cjs +9 -0
- package/timePicker.d.cts +3 -0
- package/timePicker.d.mts +3 -0
- package/timePicker.mjs +4 -0
- package/toast.cjs +8 -0
- package/toast.d.cts +2 -0
- package/toast.d.mts +2 -0
- package/toast.mjs +3 -0
- package/toggleSwitch.cjs +95 -0
- package/toggleSwitch.cjs.map +1 -0
- package/toggleSwitch.d.cts +2 -0
- package/toggleSwitch.d.mts +2 -0
- package/toggleSwitch.mjs +91 -0
- package/toggleSwitch.mjs.map +1 -0
- package/types-rTX1-GHe.d.cts +8 -0
- package/types-rTX1-GHe.d.cts.map +1 -0
- package/types-rTX1-GHe.d.mts +8 -0
- package/types-rTX1-GHe.d.mts.map +1 -0
- package/types-wcNSa96H.d.cts +60 -0
- package/types-wcNSa96H.d.cts.map +1 -0
- package/types-wcNSa96H.d.mts +60 -0
- package/types-wcNSa96H.d.mts.map +1 -0
- package/useCloseModal-CIPrwKwM.d.cts +26 -0
- package/useCloseModal-CIPrwKwM.d.cts.map +1 -0
- package/useCloseModal-CIPrwKwM.d.mts +26 -0
- package/useCloseModal-CIPrwKwM.d.mts.map +1 -0
- package/useFeatureFlags--GRuT9Qc.cjs +24 -0
- package/useFeatureFlags--GRuT9Qc.cjs.map +1 -0
- package/useFeatureFlags-Dmf_37f8.mjs +19 -0
- package/useFeatureFlags-Dmf_37f8.mjs.map +1 -0
- package/useIntersectionObserver-Q6Y3c3sz.mjs +47 -0
- package/useIntersectionObserver-Q6Y3c3sz.mjs.map +1 -0
- package/useIntersectionObserver-oYkZjzFF.cjs +52 -0
- package/useIntersectionObserver-oYkZjzFF.cjs.map +1 -0
- package/usePrevious-DLOWI2sB.d.cts +8 -0
- package/usePrevious-DLOWI2sB.d.cts.map +1 -0
- package/usePrevious-DLOWI2sB.d.mts +8 -0
- package/usePrevious-DLOWI2sB.d.mts.map +1 -0
- package/utils/dateTimeFormat.cjs +217 -0
- package/utils/dateTimeFormat.cjs.map +1 -0
- package/utils/dateTimeFormat.d.cts +176 -0
- package/utils/dateTimeFormat.d.cts.map +1 -0
- package/utils/dateTimeFormat.d.mts +176 -0
- package/utils/dateTimeFormat.d.mts.map +1 -0
- package/utils/dateTimeFormat.mjs +199 -0
- package/utils/dateTimeFormat.mjs.map +1 -0
- package/utils/formatFileSize.cjs +24 -0
- package/utils/formatFileSize.cjs.map +1 -0
- package/utils/formatFileSize.d.cts +5 -0
- package/utils/formatFileSize.d.cts.map +1 -0
- package/utils/formatFileSize.d.mts +5 -0
- package/utils/formatFileSize.d.mts.map +1 -0
- package/utils/formatFileSize.mjs +20 -0
- package/utils/formatFileSize.mjs.map +1 -0
- package/utils-C6Ngn6x9.mjs +23 -0
- package/utils-C6Ngn6x9.mjs.map +1 -0
- package/utils-CvmfGpqu.cjs +34 -0
- package/utils-CvmfGpqu.cjs.map +1 -0
- package/viewMore.cjs +7 -0
- package/viewMore.d.cts +2 -0
- package/viewMore.d.mts +2 -0
- package/viewMore.mjs +3 -0
- package/webRTCPlayer.cjs +13 -0
- package/webRTCPlayer.d.cts +2 -0
- package/webRTCPlayer.d.mts +2 -0
- package/webRTCPlayer.mjs +3 -0
- package/windowSizeProvider-BMaATFiZ.cjs +147 -0
- package/windowSizeProvider-BMaATFiZ.cjs.map +1 -0
- package/windowSizeProvider-sYwAqaOy.mjs +64 -0
- package/windowSizeProvider-sYwAqaOy.mjs.map +1 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { Placement } from "@floating-ui/react";
|
|
3
|
+
|
|
4
|
+
//#region src/SplitButton/SplitButton.d.ts
|
|
5
|
+
type Props = {
|
|
6
|
+
/**
|
|
7
|
+
* Accessible label for the split button group wrapper.
|
|
8
|
+
* Defaults to the string value of `label` when `label` is a string.
|
|
9
|
+
*/
|
|
10
|
+
'aria-label'?: string;
|
|
11
|
+
/**
|
|
12
|
+
* `MenuItem` components to render inside the dropdown.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
17
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
18
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
19
|
+
* </SplitButton>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
children: ReactNode; /** Additional CSS class applied to the wrapper element */
|
|
23
|
+
className?: string; /** Test id applied to the wrapper element for consumer test targeting */
|
|
24
|
+
'data-testid'?: string; /** Disables both the default action button and the menu trigger */
|
|
25
|
+
disabled?: boolean; /** Label for the default action button */
|
|
26
|
+
label: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Shows a loading spinner on the default action button and disables the
|
|
29
|
+
* dropdown trigger to prevent new selections while an action is in-flight.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
loading?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Preferred placement of the dropdown menu. Flip middleware will
|
|
36
|
+
* automatically move it to the opposite side if there is insufficient
|
|
37
|
+
* viewport space.
|
|
38
|
+
*
|
|
39
|
+
* @default 'bottom-start'
|
|
40
|
+
*/
|
|
41
|
+
menuPlacement?: Placement;
|
|
42
|
+
/**
|
|
43
|
+
* Accessible label for the menu trigger (caret) button.
|
|
44
|
+
* Defaults to `"See more {label} actions"` when `label` is a string.
|
|
45
|
+
*/
|
|
46
|
+
menuTriggerAriaLabel?: string; /** Callback fired when the default action button is clicked */
|
|
47
|
+
onDefaultAction: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Button size.
|
|
50
|
+
*
|
|
51
|
+
* @default 'md'
|
|
52
|
+
*/
|
|
53
|
+
size?: 'md' | 'sm';
|
|
54
|
+
/**
|
|
55
|
+
* Visual variant — `'filled'` (primary) or `'outlined'` (secondary).
|
|
56
|
+
*
|
|
57
|
+
* @default 'filled'
|
|
58
|
+
*/
|
|
59
|
+
variant?: 'filled' | 'outlined';
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A split button pairs a primary default action with a dropdown menu of
|
|
63
|
+
* related secondary actions. The left button triggers the action immediately;
|
|
64
|
+
* the right caret button opens the dropdown.
|
|
65
|
+
*
|
|
66
|
+
* Use `MenuItem` children to populate the dropdown:
|
|
67
|
+
* ```tsx
|
|
68
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
69
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
70
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
71
|
+
* </SplitButton>
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare const SplitButton: {
|
|
75
|
+
(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
displayName: string;
|
|
77
|
+
};
|
|
78
|
+
//#endregion
|
|
79
|
+
export { SplitButton as t };
|
|
80
|
+
//# sourceMappingURL=SplitButton-DK-LdIwN.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton-DK-LdIwN.d.cts","names":[],"sources":["../src/SplitButton/SplitButton.tsx"],"mappings":";;;;KAqCK,KAAA;;AAf0D;;;EAoB3D,YAAA;EAoBO;;;;;;;;;;;EARP,QAAA,EAAU,SAAA,EAeV;EAbA,SAAA,WAqBgB;EAnBhB,aAAA,WA0BA;EAxBA,QAAA,YAoCA;EAlCA,KAAA,EAAO,SAAA;EAkCA;AAmMX;;;;;EA9NI,OAAA;EA8NoC;;;;;;;EAtNpC,aAAA,GAAgB,SAAA;;;;;EAKhB,oBAAA;EAEA,eAAA;;;;;;EAMA,IAAA;;;;;;EAMA,OAAA;AAAA;;;;;;;;;;;;;;cAmMS,WAAA;EAAA,QAAsB,KAAK,+BAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { Placement } from "@floating-ui/react";
|
|
3
|
+
|
|
4
|
+
//#region src/SplitButton/SplitButton.d.ts
|
|
5
|
+
type Props = {
|
|
6
|
+
/**
|
|
7
|
+
* Accessible label for the split button group wrapper.
|
|
8
|
+
* Defaults to the string value of `label` when `label` is a string.
|
|
9
|
+
*/
|
|
10
|
+
'aria-label'?: string;
|
|
11
|
+
/**
|
|
12
|
+
* `MenuItem` components to render inside the dropdown.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
17
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
18
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
19
|
+
* </SplitButton>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
children: ReactNode; /** Additional CSS class applied to the wrapper element */
|
|
23
|
+
className?: string; /** Test id applied to the wrapper element for consumer test targeting */
|
|
24
|
+
'data-testid'?: string; /** Disables both the default action button and the menu trigger */
|
|
25
|
+
disabled?: boolean; /** Label for the default action button */
|
|
26
|
+
label: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Shows a loading spinner on the default action button and disables the
|
|
29
|
+
* dropdown trigger to prevent new selections while an action is in-flight.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
loading?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Preferred placement of the dropdown menu. Flip middleware will
|
|
36
|
+
* automatically move it to the opposite side if there is insufficient
|
|
37
|
+
* viewport space.
|
|
38
|
+
*
|
|
39
|
+
* @default 'bottom-start'
|
|
40
|
+
*/
|
|
41
|
+
menuPlacement?: Placement;
|
|
42
|
+
/**
|
|
43
|
+
* Accessible label for the menu trigger (caret) button.
|
|
44
|
+
* Defaults to `"See more {label} actions"` when `label` is a string.
|
|
45
|
+
*/
|
|
46
|
+
menuTriggerAriaLabel?: string; /** Callback fired when the default action button is clicked */
|
|
47
|
+
onDefaultAction: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Button size.
|
|
50
|
+
*
|
|
51
|
+
* @default 'md'
|
|
52
|
+
*/
|
|
53
|
+
size?: 'md' | 'sm';
|
|
54
|
+
/**
|
|
55
|
+
* Visual variant — `'filled'` (primary) or `'outlined'` (secondary).
|
|
56
|
+
*
|
|
57
|
+
* @default 'filled'
|
|
58
|
+
*/
|
|
59
|
+
variant?: 'filled' | 'outlined';
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A split button pairs a primary default action with a dropdown menu of
|
|
63
|
+
* related secondary actions. The left button triggers the action immediately;
|
|
64
|
+
* the right caret button opens the dropdown.
|
|
65
|
+
*
|
|
66
|
+
* Use `MenuItem` children to populate the dropdown:
|
|
67
|
+
* ```tsx
|
|
68
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
69
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
70
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
71
|
+
* </SplitButton>
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare const SplitButton: {
|
|
75
|
+
(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
displayName: string;
|
|
77
|
+
};
|
|
78
|
+
//#endregion
|
|
79
|
+
export { SplitButton as t };
|
|
80
|
+
//# sourceMappingURL=SplitButton-DK-LdIwN.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton-DK-LdIwN.d.mts","names":[],"sources":["../src/SplitButton/SplitButton.tsx"],"mappings":";;;;KAqCK,KAAA;;AAf0D;;;EAoB3D,YAAA;EAoBO;;;;;;;;;;;EARP,QAAA,EAAU,SAAA,EAeV;EAbA,SAAA,WAqBgB;EAnBhB,aAAA,WA0BA;EAxBA,QAAA,YAoCA;EAlCA,KAAA,EAAO,SAAA;EAkCA;AAmMX;;;;;EA9NI,OAAA;EA8NoC;;;;;;;EAtNpC,aAAA,GAAgB,SAAA;;;;;EAKhB,oBAAA;EAEA,eAAA;;;;;;EAMA,IAAA;;;;;;EAMA,OAAA;AAAA;;;;;;;;;;;;;;cAmMS,WAAA;EAAA,QAAsB,KAAK,+BAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
const require_Icons = require("./Icons.cjs");
|
|
2
|
+
const require_buttonColorClasses = require("./buttonColorClasses-C3hg1at8.cjs");
|
|
3
|
+
const require_Button = require("./Button.cjs");
|
|
4
|
+
const require_menuContext = require("./menuContext-B6MhMBDf.cjs");
|
|
5
|
+
let _evolve_ui_theme_system = require("@evolve.ui/theme-system");
|
|
6
|
+
let react = require("react");
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let _floating_ui_react = require("@floating-ui/react");
|
|
9
|
+
//#region src/SplitButton/SplitButtonTrigger.tsx
|
|
10
|
+
/**
|
|
11
|
+
* The caret trigger button used inside `SplitButton`. Renders a square button
|
|
12
|
+
* with a `CaretDown` icon, styled to join seamlessly with the default action button.
|
|
13
|
+
*
|
|
14
|
+
* Not intended for standalone use — use `SplitButton` instead.
|
|
15
|
+
*/
|
|
16
|
+
const SplitButtonTrigger = (0, react.forwardRef)(({ className, disabled = false, isOpen = false, size = "md", variant = "filled", ...rest }, ref) => {
|
|
17
|
+
const isFilled = variant === "filled";
|
|
18
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
19
|
+
className: (0, _evolve_ui_theme_system.cn)("hui-focus-visible-outline relative flex items-center justify-center rounded-l-none rounded-r-button outline outline-1 -outline-offset-1 transition-colors", isFilled ? require_buttonColorClasses.filledPrimaryClasses : (0, _evolve_ui_theme_system.cn)(require_buttonColorClasses.outlinedPrimaryClasses, "ml-[-1px]"), {
|
|
20
|
+
"size-[34px]": size === "sm",
|
|
21
|
+
"size-[42px]": size === "md",
|
|
22
|
+
"!bg-primary-200 !text-primary-900": isOpen && !isFilled,
|
|
23
|
+
"!bg-primary-900": isOpen && isFilled
|
|
24
|
+
}, className),
|
|
25
|
+
"data-hui-id": "SplitButtonTrigger",
|
|
26
|
+
disabled,
|
|
27
|
+
ref,
|
|
28
|
+
type: "button",
|
|
29
|
+
...rest,
|
|
30
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icons.CaretDown, {
|
|
31
|
+
size: size === "md" ? "sm" : "xs",
|
|
32
|
+
style: "bold"
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
SplitButtonTrigger.displayName = "SplitButtonTrigger";
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/SplitButton/SplitButton.tsx
|
|
39
|
+
/** SSR guard — prevents hydration mismatch on FloatingPortal (same pattern as Menu.tsx) */
|
|
40
|
+
const useHasMounted = () => {
|
|
41
|
+
const [hasMounted, setHasMounted] = (0, react.useState)(false);
|
|
42
|
+
(0, react.useEffect)(() => {
|
|
43
|
+
setHasMounted(true);
|
|
44
|
+
}, []);
|
|
45
|
+
return hasMounted;
|
|
46
|
+
};
|
|
47
|
+
const SplitButtonContent = ({ "aria-label": ariaLabel, children, className, "data-testid": dataTestId, disabled = false, label, loading = false, menuPlacement = "bottom-start", menuTriggerAriaLabel, onDefaultAction, size: sizeProp = "md", variant = "filled" }) => {
|
|
48
|
+
const [isOpen, setIsOpen] = (0, react.useState)(false);
|
|
49
|
+
const [activeIndex, setActiveIndex] = (0, react.useState)(null);
|
|
50
|
+
const elementsRef = (0, react.useRef)([]);
|
|
51
|
+
const labelsRef = (0, react.useRef)([]);
|
|
52
|
+
const hasMounted = useHasMounted();
|
|
53
|
+
const tree = (0, _floating_ui_react.useFloatingTree)();
|
|
54
|
+
const nodeId = (0, _floating_ui_react.useFloatingNodeId)();
|
|
55
|
+
const { context, floatingStyles, refs } = (0, _floating_ui_react.useFloating)({
|
|
56
|
+
middleware: [
|
|
57
|
+
(0, _floating_ui_react.offset)(8),
|
|
58
|
+
(0, _floating_ui_react.flip)(),
|
|
59
|
+
(0, _floating_ui_react.shift)({ padding: 2 }),
|
|
60
|
+
(0, _floating_ui_react.size)({ apply({ elements, rects }) {
|
|
61
|
+
elements.floating.style.minWidth = `${rects.reference.width}px`;
|
|
62
|
+
} })
|
|
63
|
+
],
|
|
64
|
+
nodeId,
|
|
65
|
+
onOpenChange: setIsOpen,
|
|
66
|
+
open: isOpen,
|
|
67
|
+
placement: menuPlacement,
|
|
68
|
+
whileElementsMounted: _floating_ui_react.autoUpdate
|
|
69
|
+
});
|
|
70
|
+
const { getFloatingProps, getItemProps, getReferenceProps } = (0, _floating_ui_react.useInteractions)([
|
|
71
|
+
(0, _floating_ui_react.useClick)(context, { event: "click" }),
|
|
72
|
+
(0, _floating_ui_react.useDismiss)(context, { bubbles: true }),
|
|
73
|
+
(0, _floating_ui_react.useRole)(context, { role: "menu" }),
|
|
74
|
+
(0, _floating_ui_react.useListNavigation)(context, {
|
|
75
|
+
activeIndex,
|
|
76
|
+
focusItemOnOpen: false,
|
|
77
|
+
listRef: elementsRef,
|
|
78
|
+
onNavigate: setActiveIndex
|
|
79
|
+
}),
|
|
80
|
+
(0, _floating_ui_react.useTypeahead)(context, {
|
|
81
|
+
activeIndex,
|
|
82
|
+
listRef: labelsRef,
|
|
83
|
+
onMatch: isOpen ? setActiveIndex : void 0
|
|
84
|
+
})
|
|
85
|
+
]);
|
|
86
|
+
(0, react.useEffect)(() => {
|
|
87
|
+
if (!tree) return;
|
|
88
|
+
function handleTreeClick() {
|
|
89
|
+
setIsOpen(false);
|
|
90
|
+
}
|
|
91
|
+
tree.events.on("click", handleTreeClick);
|
|
92
|
+
return () => {
|
|
93
|
+
tree.events.off("click", handleTreeClick);
|
|
94
|
+
};
|
|
95
|
+
}, [tree]);
|
|
96
|
+
const resolvedMenuTriggerAriaLabel = menuTriggerAriaLabel ?? (typeof label === "string" ? `See more ${label} actions` : "See more actions");
|
|
97
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
98
|
+
"aria-label": ariaLabel ?? (typeof label === "string" ? label : void 0),
|
|
99
|
+
className: (0, _evolve_ui_theme_system.cn)("relative inline-flex items-stretch", className),
|
|
100
|
+
"data-hui-id": "SplitButton",
|
|
101
|
+
"data-testid": dataTestId,
|
|
102
|
+
ref: refs.setReference,
|
|
103
|
+
role: "group",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.Button, {
|
|
106
|
+
className: (0, _evolve_ui_theme_system.cn)("!rounded-r-none", loading && { "!outline-border-disabled": variant === "outlined" }),
|
|
107
|
+
disabled,
|
|
108
|
+
loading,
|
|
109
|
+
onClick: onDefaultAction,
|
|
110
|
+
size: sizeProp,
|
|
111
|
+
style: "primary",
|
|
112
|
+
variant,
|
|
113
|
+
children: label
|
|
114
|
+
}),
|
|
115
|
+
variant === "filled" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
116
|
+
"aria-hidden": true,
|
|
117
|
+
className: "w-px shrink-0 self-stretch bg-text-inverse"
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SplitButtonTrigger, {
|
|
120
|
+
"aria-label": resolvedMenuTriggerAriaLabel,
|
|
121
|
+
className: (0, _evolve_ui_theme_system.cn)(loading && !disabled && variant === "filled" && "disabled:!bg-primary-500", loading && !disabled && variant === "outlined" && "disabled:!bg-background-primary disabled:!outline-primary-500"),
|
|
122
|
+
disabled: disabled || loading,
|
|
123
|
+
isOpen,
|
|
124
|
+
size: sizeProp,
|
|
125
|
+
variant,
|
|
126
|
+
...getReferenceProps()
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_menuContext.MenuContext.Provider, {
|
|
129
|
+
value: {
|
|
130
|
+
activeIndex,
|
|
131
|
+
getItemProps,
|
|
132
|
+
isOpen,
|
|
133
|
+
numberOfColumns: 1,
|
|
134
|
+
setActiveIndex
|
|
135
|
+
},
|
|
136
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_floating_ui_react.FloatingList, {
|
|
137
|
+
elementsRef,
|
|
138
|
+
labelsRef,
|
|
139
|
+
children: isOpen && hasMounted && Boolean(refs.domReference) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_floating_ui_react.FloatingPortal, {
|
|
140
|
+
root: refs.domReference,
|
|
141
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_floating_ui_react.FloatingFocusManager, {
|
|
142
|
+
context,
|
|
143
|
+
initialFocus: -1,
|
|
144
|
+
modal: false,
|
|
145
|
+
returnFocus: true,
|
|
146
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
147
|
+
className: "Menu z-50 cursor-default whitespace-nowrap rounded-container bg-background-primary py-xs text-text-primary shadow-03 outline-0",
|
|
148
|
+
"data-testid": "split-button-menu",
|
|
149
|
+
ref: refs.setFloating,
|
|
150
|
+
style: floatingStyles,
|
|
151
|
+
...getFloatingProps(),
|
|
152
|
+
children
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* A split button pairs a primary default action with a dropdown menu of
|
|
163
|
+
* related secondary actions. The left button triggers the action immediately;
|
|
164
|
+
* the right caret button opens the dropdown.
|
|
165
|
+
*
|
|
166
|
+
* Use `MenuItem` children to populate the dropdown:
|
|
167
|
+
* ```tsx
|
|
168
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
169
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
170
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
171
|
+
* </SplitButton>
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
const SplitButton = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_floating_ui_react.FloatingTree, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SplitButtonContent, { ...props }) });
|
|
175
|
+
SplitButton.displayName = "SplitButton";
|
|
176
|
+
//#endregion
|
|
177
|
+
Object.defineProperty(exports, "SplitButton", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
get: function() {
|
|
180
|
+
return SplitButton;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
//# sourceMappingURL=SplitButton-DcmmLW8j.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton-DcmmLW8j.cjs","names":["filledPrimaryClasses","outlinedPrimaryClasses","CaretDown","autoUpdate","Button","MenuContext","FloatingList","FloatingPortal","FloatingFocusManager","FloatingTree"],"sources":["../src/SplitButton/SplitButtonTrigger.tsx","../src/SplitButton/SplitButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps } from 'react';\n\nimport { filledPrimaryClasses, outlinedPrimaryClasses } from '../Button/buttonColorClasses';\nimport { CaretDown } from '../Icons/generatedIcons/CaretDown';\n\ntype Props = {\n /** Whether the menu is currently open — applies pressed visual state to the trigger */\n isOpen?: boolean;\n /** Button size, should match the adjacent default action button */\n size?: 'md' | 'sm';\n /** Visual variant */\n variant?: 'filled' | 'outlined';\n} & Omit<HTMLProps<HTMLButtonElement>, 'size' | 'type'>;\n\n/**\n * The caret trigger button used inside `SplitButton`. Renders a square button\n * with a `CaretDown` icon, styled to join seamlessly with the default action button.\n *\n * Not intended for standalone use — use `SplitButton` instead.\n */\nexport const SplitButtonTrigger = forwardRef<HTMLButtonElement, Props>(\n ({ className, disabled = false, isOpen = false, size = 'md', variant = 'filled', ...rest }, ref) => {\n const isFilled = variant === 'filled';\n\n return (\n <button\n className={cn(\n 'hui-focus-visible-outline relative flex items-center justify-center rounded-l-none rounded-r-button outline outline-1 -outline-offset-1 transition-colors',\n isFilled ? filledPrimaryClasses : cn(outlinedPrimaryClasses, 'ml-[-1px]'),\n {\n 'size-[34px]': size === 'sm',\n 'size-[42px]': size === 'md',\n // Force the pressed/active visual while the menu is open\n '!bg-primary-200 !text-primary-900': isOpen && !isFilled,\n '!bg-primary-900': isOpen && isFilled,\n },\n className\n )}\n data-hui-id=\"SplitButtonTrigger\"\n disabled={disabled}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n <CaretDown\n size={size === 'md' ? 'sm' : 'xs'}\n style=\"bold\"\n />\n </button>\n );\n }\n);\n\nSplitButtonTrigger.displayName = 'SplitButtonTrigger';\n","import { cn } from '@evolve.ui/theme-system';\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingPortal,\n FloatingTree,\n offset,\n Placement,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingTree,\n useInteractions,\n useListNavigation,\n useRole,\n useTypeahead,\n} from '@floating-ui/react';\nimport { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '../Button/Button';\nimport { MenuContext } from '../Menu/context/menuContext';\nimport { SplitButtonTrigger } from './SplitButtonTrigger';\n\n/** SSR guard — prevents hydration mismatch on FloatingPortal (same pattern as Menu.tsx) */\nconst useHasMounted = () => {\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n return hasMounted;\n};\n\ntype Props = {\n /**\n * Accessible label for the split button group wrapper.\n * Defaults to the string value of `label` when `label` is a string.\n */\n 'aria-label'?: string;\n /**\n * `MenuItem` components to render inside the dropdown.\n *\n * Usage:\n * ```tsx\n * <SplitButton label=\"Export CSV\" onDefaultAction={handleExport}>\n * <MenuItem primaryLabel=\"Export PDF\" onClick={handlePdf} />\n * <MenuItem primaryLabel=\"Export Excel\" onClick={handleExcel} />\n * </SplitButton>\n * ```\n */\n children: ReactNode;\n /** Additional CSS class applied to the wrapper element */\n className?: string;\n /** Test id applied to the wrapper element for consumer test targeting */\n 'data-testid'?: string;\n /** Disables both the default action button and the menu trigger */\n disabled?: boolean;\n /** Label for the default action button */\n label: ReactNode;\n /**\n * Shows a loading spinner on the default action button and disables the\n * dropdown trigger to prevent new selections while an action is in-flight.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Preferred placement of the dropdown menu. Flip middleware will\n * automatically move it to the opposite side if there is insufficient\n * viewport space.\n *\n * @default 'bottom-start'\n */\n menuPlacement?: Placement;\n /**\n * Accessible label for the menu trigger (caret) button.\n * Defaults to `\"See more {label} actions\"` when `label` is a string.\n */\n menuTriggerAriaLabel?: string;\n /** Callback fired when the default action button is clicked */\n onDefaultAction: () => void;\n /**\n * Button size.\n *\n * @default 'md'\n */\n size?: 'md' | 'sm';\n /**\n * Visual variant — `'filled'` (primary) or `'outlined'` (secondary).\n *\n * @default 'filled'\n */\n variant?: 'filled' | 'outlined';\n};\n\nconst SplitButtonContent = ({\n 'aria-label': ariaLabel,\n children,\n className,\n 'data-testid': dataTestId,\n disabled = false,\n label,\n loading = false,\n menuPlacement = 'bottom-start',\n menuTriggerAriaLabel,\n onDefaultAction,\n size: sizeProp = 'md',\n variant = 'filled',\n}: Props) => {\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const elementsRef = useRef<Array<HTMLSpanElement | null>>([]);\n const labelsRef = useRef<Array<string | null>>([]);\n const hasMounted = useHasMounted();\n\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n\n const { context, floatingStyles, refs } = useFloating<HTMLDivElement>({\n middleware: [\n offset(8),\n flip(),\n shift({ padding: 2 }),\n // Match the menu width to the full button width (action + trigger combined)\n size({\n apply({ elements, rects }) {\n elements.floating.style.minWidth = `${rects.reference.width}px`;\n },\n }),\n ],\n nodeId,\n onOpenChange: setIsOpen,\n open: isOpen,\n placement: menuPlacement,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, { event: 'click' });\n const dismiss = useDismiss(context, { bubbles: true });\n const role = useRole(context, { role: 'menu' });\n const listNavigation = useListNavigation(context, {\n activeIndex,\n focusItemOnOpen: false,\n listRef: elementsRef,\n onNavigate: setActiveIndex,\n });\n\n const typeahead = useTypeahead(context, {\n activeIndex,\n listRef: labelsRef,\n onMatch: isOpen ? setActiveIndex : undefined,\n });\n\n const { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n click,\n dismiss,\n role,\n listNavigation,\n typeahead,\n ]);\n\n // Close the dropdown when any MenuItem fires its click tree event.\n // MenuItem calls tree.events.emit('click') on selection, so we listen here\n // rather than relying on DOM event bubbling (which MenuItem stops).\n useEffect(() => {\n if (!tree) {\n return;\n }\n\n function handleTreeClick() {\n setIsOpen(false);\n }\n\n tree.events.on('click', handleTreeClick);\n return () => {\n tree.events.off('click', handleTreeClick);\n };\n }, [tree]);\n\n const resolvedMenuTriggerAriaLabel =\n menuTriggerAriaLabel ?? (typeof label === 'string' ? `See more ${label} actions` : 'See more actions');\n\n return (\n // The wrapper div is the floating-ui reference so placement and min-width\n // are relative to the full combined button, not just the caret trigger.\n <div\n aria-label={ariaLabel ?? (typeof label === 'string' ? label : undefined)}\n className={cn('relative inline-flex items-stretch', className)}\n data-hui-id=\"SplitButton\"\n data-testid={dataTestId}\n ref={refs.setReference}\n role=\"group\"\n >\n <Button\n className={cn(\n '!rounded-r-none',\n loading && {\n '!outline-border-disabled': variant === 'outlined',\n }\n )}\n disabled={disabled}\n loading={loading}\n onClick={onDefaultAction}\n size={sizeProp}\n style=\"primary\"\n variant={variant}\n >\n {label}\n </Button>\n\n {variant === 'filled' && (\n <div\n aria-hidden\n className=\"w-px shrink-0 self-stretch bg-text-inverse\"\n />\n )}\n\n <SplitButtonTrigger\n aria-label={resolvedMenuTriggerAriaLabel}\n className={cn(\n // When loading (not genuinely disabled), keep active visual styles\n // but let disabled:cursor-not-allowed through for the not-allowed cursor.\n loading && !disabled && variant === 'filled' && 'disabled:!bg-primary-500',\n loading &&\n !disabled &&\n variant === 'outlined' &&\n 'disabled:!bg-background-primary disabled:!outline-primary-500'\n )}\n disabled={disabled || loading}\n isOpen={isOpen}\n size={sizeProp}\n variant={variant}\n {...getReferenceProps()}\n />\n\n <MenuContext.Provider\n value={{\n activeIndex,\n getItemProps,\n isOpen,\n numberOfColumns: 1,\n setActiveIndex,\n }}\n >\n <FloatingList\n elementsRef={elementsRef}\n labelsRef={labelsRef}\n >\n {isOpen && hasMounted && Boolean(refs.domReference) && (\n <FloatingPortal root={refs.domReference}>\n <FloatingFocusManager\n context={context}\n initialFocus={-1}\n modal={false}\n returnFocus\n >\n <div\n className=\"Menu z-50 cursor-default whitespace-nowrap rounded-container bg-background-primary py-xs text-text-primary shadow-03 outline-0\"\n data-testid=\"split-button-menu\"\n ref={refs.setFloating}\n style={floatingStyles}\n {...getFloatingProps()}\n >\n {children}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </div>\n );\n};\n\n/**\n * A split button pairs a primary default action with a dropdown menu of\n * related secondary actions. The left button triggers the action immediately;\n * the right caret button opens the dropdown.\n *\n * Use `MenuItem` children to populate the dropdown:\n * ```tsx\n * <SplitButton label=\"Export CSV\" onDefaultAction={handleExport}>\n * <MenuItem primaryLabel=\"Export PDF\" onClick={handlePdf} />\n * <MenuItem primaryLabel=\"Export Excel\" onClick={handleExcel} />\n * </SplitButton>\n * ```\n */\nexport const SplitButton = (props: Props) => (\n <FloatingTree>\n <SplitButtonContent {...props} />\n </FloatingTree>\n);\n\nSplitButton.displayName = 'SplitButton';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { CaretDown } from "./Icons.mjs";
|
|
2
|
+
import { c as outlinedPrimaryClasses, i as filledPrimaryClasses } from "./buttonColorClasses-B7OU4aQA.mjs";
|
|
3
|
+
import { Button } from "./Button.mjs";
|
|
4
|
+
import { t as MenuContext } from "./menuContext-4P6eKzkH.mjs";
|
|
5
|
+
import { cn } from "@evolve.ui/theme-system";
|
|
6
|
+
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { FloatingFocusManager, FloatingList, FloatingPortal, FloatingTree, autoUpdate, flip, offset, shift, size, useClick, useDismiss, useFloating, useFloatingNodeId, useFloatingTree, useInteractions, useListNavigation, useRole, useTypeahead } from "@floating-ui/react";
|
|
9
|
+
//#region src/SplitButton/SplitButtonTrigger.tsx
|
|
10
|
+
/**
|
|
11
|
+
* The caret trigger button used inside `SplitButton`. Renders a square button
|
|
12
|
+
* with a `CaretDown` icon, styled to join seamlessly with the default action button.
|
|
13
|
+
*
|
|
14
|
+
* Not intended for standalone use — use `SplitButton` instead.
|
|
15
|
+
*/
|
|
16
|
+
const SplitButtonTrigger = forwardRef(({ className, disabled = false, isOpen = false, size = "md", variant = "filled", ...rest }, ref) => {
|
|
17
|
+
const isFilled = variant === "filled";
|
|
18
|
+
return /* @__PURE__ */ jsx("button", {
|
|
19
|
+
className: cn("hui-focus-visible-outline relative flex items-center justify-center rounded-l-none rounded-r-button outline outline-1 -outline-offset-1 transition-colors", isFilled ? filledPrimaryClasses : cn(outlinedPrimaryClasses, "ml-[-1px]"), {
|
|
20
|
+
"size-[34px]": size === "sm",
|
|
21
|
+
"size-[42px]": size === "md",
|
|
22
|
+
"!bg-primary-200 !text-primary-900": isOpen && !isFilled,
|
|
23
|
+
"!bg-primary-900": isOpen && isFilled
|
|
24
|
+
}, className),
|
|
25
|
+
"data-hui-id": "SplitButtonTrigger",
|
|
26
|
+
disabled,
|
|
27
|
+
ref,
|
|
28
|
+
type: "button",
|
|
29
|
+
...rest,
|
|
30
|
+
children: /* @__PURE__ */ jsx(CaretDown, {
|
|
31
|
+
size: size === "md" ? "sm" : "xs",
|
|
32
|
+
style: "bold"
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
SplitButtonTrigger.displayName = "SplitButtonTrigger";
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/SplitButton/SplitButton.tsx
|
|
39
|
+
/** SSR guard — prevents hydration mismatch on FloatingPortal (same pattern as Menu.tsx) */
|
|
40
|
+
const useHasMounted = () => {
|
|
41
|
+
const [hasMounted, setHasMounted] = useState(false);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setHasMounted(true);
|
|
44
|
+
}, []);
|
|
45
|
+
return hasMounted;
|
|
46
|
+
};
|
|
47
|
+
const SplitButtonContent = ({ "aria-label": ariaLabel, children, className, "data-testid": dataTestId, disabled = false, label, loading = false, menuPlacement = "bottom-start", menuTriggerAriaLabel, onDefaultAction, size: sizeProp = "md", variant = "filled" }) => {
|
|
48
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
49
|
+
const [activeIndex, setActiveIndex] = useState(null);
|
|
50
|
+
const elementsRef = useRef([]);
|
|
51
|
+
const labelsRef = useRef([]);
|
|
52
|
+
const hasMounted = useHasMounted();
|
|
53
|
+
const tree = useFloatingTree();
|
|
54
|
+
const nodeId = useFloatingNodeId();
|
|
55
|
+
const { context, floatingStyles, refs } = useFloating({
|
|
56
|
+
middleware: [
|
|
57
|
+
offset(8),
|
|
58
|
+
flip(),
|
|
59
|
+
shift({ padding: 2 }),
|
|
60
|
+
size({ apply({ elements, rects }) {
|
|
61
|
+
elements.floating.style.minWidth = `${rects.reference.width}px`;
|
|
62
|
+
} })
|
|
63
|
+
],
|
|
64
|
+
nodeId,
|
|
65
|
+
onOpenChange: setIsOpen,
|
|
66
|
+
open: isOpen,
|
|
67
|
+
placement: menuPlacement,
|
|
68
|
+
whileElementsMounted: autoUpdate
|
|
69
|
+
});
|
|
70
|
+
const { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([
|
|
71
|
+
useClick(context, { event: "click" }),
|
|
72
|
+
useDismiss(context, { bubbles: true }),
|
|
73
|
+
useRole(context, { role: "menu" }),
|
|
74
|
+
useListNavigation(context, {
|
|
75
|
+
activeIndex,
|
|
76
|
+
focusItemOnOpen: false,
|
|
77
|
+
listRef: elementsRef,
|
|
78
|
+
onNavigate: setActiveIndex
|
|
79
|
+
}),
|
|
80
|
+
useTypeahead(context, {
|
|
81
|
+
activeIndex,
|
|
82
|
+
listRef: labelsRef,
|
|
83
|
+
onMatch: isOpen ? setActiveIndex : void 0
|
|
84
|
+
})
|
|
85
|
+
]);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (!tree) return;
|
|
88
|
+
function handleTreeClick() {
|
|
89
|
+
setIsOpen(false);
|
|
90
|
+
}
|
|
91
|
+
tree.events.on("click", handleTreeClick);
|
|
92
|
+
return () => {
|
|
93
|
+
tree.events.off("click", handleTreeClick);
|
|
94
|
+
};
|
|
95
|
+
}, [tree]);
|
|
96
|
+
const resolvedMenuTriggerAriaLabel = menuTriggerAriaLabel ?? (typeof label === "string" ? `See more ${label} actions` : "See more actions");
|
|
97
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
98
|
+
"aria-label": ariaLabel ?? (typeof label === "string" ? label : void 0),
|
|
99
|
+
className: cn("relative inline-flex items-stretch", className),
|
|
100
|
+
"data-hui-id": "SplitButton",
|
|
101
|
+
"data-testid": dataTestId,
|
|
102
|
+
ref: refs.setReference,
|
|
103
|
+
role: "group",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ jsx(Button, {
|
|
106
|
+
className: cn("!rounded-r-none", loading && { "!outline-border-disabled": variant === "outlined" }),
|
|
107
|
+
disabled,
|
|
108
|
+
loading,
|
|
109
|
+
onClick: onDefaultAction,
|
|
110
|
+
size: sizeProp,
|
|
111
|
+
style: "primary",
|
|
112
|
+
variant,
|
|
113
|
+
children: label
|
|
114
|
+
}),
|
|
115
|
+
variant === "filled" && /* @__PURE__ */ jsx("div", {
|
|
116
|
+
"aria-hidden": true,
|
|
117
|
+
className: "w-px shrink-0 self-stretch bg-text-inverse"
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ jsx(SplitButtonTrigger, {
|
|
120
|
+
"aria-label": resolvedMenuTriggerAriaLabel,
|
|
121
|
+
className: cn(loading && !disabled && variant === "filled" && "disabled:!bg-primary-500", loading && !disabled && variant === "outlined" && "disabled:!bg-background-primary disabled:!outline-primary-500"),
|
|
122
|
+
disabled: disabled || loading,
|
|
123
|
+
isOpen,
|
|
124
|
+
size: sizeProp,
|
|
125
|
+
variant,
|
|
126
|
+
...getReferenceProps()
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ jsx(MenuContext.Provider, {
|
|
129
|
+
value: {
|
|
130
|
+
activeIndex,
|
|
131
|
+
getItemProps,
|
|
132
|
+
isOpen,
|
|
133
|
+
numberOfColumns: 1,
|
|
134
|
+
setActiveIndex
|
|
135
|
+
},
|
|
136
|
+
children: /* @__PURE__ */ jsx(FloatingList, {
|
|
137
|
+
elementsRef,
|
|
138
|
+
labelsRef,
|
|
139
|
+
children: isOpen && hasMounted && Boolean(refs.domReference) && /* @__PURE__ */ jsx(FloatingPortal, {
|
|
140
|
+
root: refs.domReference,
|
|
141
|
+
children: /* @__PURE__ */ jsx(FloatingFocusManager, {
|
|
142
|
+
context,
|
|
143
|
+
initialFocus: -1,
|
|
144
|
+
modal: false,
|
|
145
|
+
returnFocus: true,
|
|
146
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
147
|
+
className: "Menu z-50 cursor-default whitespace-nowrap rounded-container bg-background-primary py-xs text-text-primary shadow-03 outline-0",
|
|
148
|
+
"data-testid": "split-button-menu",
|
|
149
|
+
ref: refs.setFloating,
|
|
150
|
+
style: floatingStyles,
|
|
151
|
+
...getFloatingProps(),
|
|
152
|
+
children
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* A split button pairs a primary default action with a dropdown menu of
|
|
163
|
+
* related secondary actions. The left button triggers the action immediately;
|
|
164
|
+
* the right caret button opens the dropdown.
|
|
165
|
+
*
|
|
166
|
+
* Use `MenuItem` children to populate the dropdown:
|
|
167
|
+
* ```tsx
|
|
168
|
+
* <SplitButton label="Export CSV" onDefaultAction={handleExport}>
|
|
169
|
+
* <MenuItem primaryLabel="Export PDF" onClick={handlePdf} />
|
|
170
|
+
* <MenuItem primaryLabel="Export Excel" onClick={handleExcel} />
|
|
171
|
+
* </SplitButton>
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
const SplitButton = (props) => /* @__PURE__ */ jsx(FloatingTree, { children: /* @__PURE__ */ jsx(SplitButtonContent, { ...props }) });
|
|
175
|
+
SplitButton.displayName = "SplitButton";
|
|
176
|
+
//#endregion
|
|
177
|
+
export { SplitButton as t };
|
|
178
|
+
|
|
179
|
+
//# sourceMappingURL=SplitButton-WE5ymwCQ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitButton-WE5ymwCQ.mjs","names":[],"sources":["../src/SplitButton/SplitButtonTrigger.tsx","../src/SplitButton/SplitButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps } from 'react';\n\nimport { filledPrimaryClasses, outlinedPrimaryClasses } from '../Button/buttonColorClasses';\nimport { CaretDown } from '../Icons/generatedIcons/CaretDown';\n\ntype Props = {\n /** Whether the menu is currently open — applies pressed visual state to the trigger */\n isOpen?: boolean;\n /** Button size, should match the adjacent default action button */\n size?: 'md' | 'sm';\n /** Visual variant */\n variant?: 'filled' | 'outlined';\n} & Omit<HTMLProps<HTMLButtonElement>, 'size' | 'type'>;\n\n/**\n * The caret trigger button used inside `SplitButton`. Renders a square button\n * with a `CaretDown` icon, styled to join seamlessly with the default action button.\n *\n * Not intended for standalone use — use `SplitButton` instead.\n */\nexport const SplitButtonTrigger = forwardRef<HTMLButtonElement, Props>(\n ({ className, disabled = false, isOpen = false, size = 'md', variant = 'filled', ...rest }, ref) => {\n const isFilled = variant === 'filled';\n\n return (\n <button\n className={cn(\n 'hui-focus-visible-outline relative flex items-center justify-center rounded-l-none rounded-r-button outline outline-1 -outline-offset-1 transition-colors',\n isFilled ? filledPrimaryClasses : cn(outlinedPrimaryClasses, 'ml-[-1px]'),\n {\n 'size-[34px]': size === 'sm',\n 'size-[42px]': size === 'md',\n // Force the pressed/active visual while the menu is open\n '!bg-primary-200 !text-primary-900': isOpen && !isFilled,\n '!bg-primary-900': isOpen && isFilled,\n },\n className\n )}\n data-hui-id=\"SplitButtonTrigger\"\n disabled={disabled}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n <CaretDown\n size={size === 'md' ? 'sm' : 'xs'}\n style=\"bold\"\n />\n </button>\n );\n }\n);\n\nSplitButtonTrigger.displayName = 'SplitButtonTrigger';\n","import { cn } from '@evolve.ui/theme-system';\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingList,\n FloatingPortal,\n FloatingTree,\n offset,\n Placement,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingTree,\n useInteractions,\n useListNavigation,\n useRole,\n useTypeahead,\n} from '@floating-ui/react';\nimport { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '../Button/Button';\nimport { MenuContext } from '../Menu/context/menuContext';\nimport { SplitButtonTrigger } from './SplitButtonTrigger';\n\n/** SSR guard — prevents hydration mismatch on FloatingPortal (same pattern as Menu.tsx) */\nconst useHasMounted = () => {\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n return hasMounted;\n};\n\ntype Props = {\n /**\n * Accessible label for the split button group wrapper.\n * Defaults to the string value of `label` when `label` is a string.\n */\n 'aria-label'?: string;\n /**\n * `MenuItem` components to render inside the dropdown.\n *\n * Usage:\n * ```tsx\n * <SplitButton label=\"Export CSV\" onDefaultAction={handleExport}>\n * <MenuItem primaryLabel=\"Export PDF\" onClick={handlePdf} />\n * <MenuItem primaryLabel=\"Export Excel\" onClick={handleExcel} />\n * </SplitButton>\n * ```\n */\n children: ReactNode;\n /** Additional CSS class applied to the wrapper element */\n className?: string;\n /** Test id applied to the wrapper element for consumer test targeting */\n 'data-testid'?: string;\n /** Disables both the default action button and the menu trigger */\n disabled?: boolean;\n /** Label for the default action button */\n label: ReactNode;\n /**\n * Shows a loading spinner on the default action button and disables the\n * dropdown trigger to prevent new selections while an action is in-flight.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Preferred placement of the dropdown menu. Flip middleware will\n * automatically move it to the opposite side if there is insufficient\n * viewport space.\n *\n * @default 'bottom-start'\n */\n menuPlacement?: Placement;\n /**\n * Accessible label for the menu trigger (caret) button.\n * Defaults to `\"See more {label} actions\"` when `label` is a string.\n */\n menuTriggerAriaLabel?: string;\n /** Callback fired when the default action button is clicked */\n onDefaultAction: () => void;\n /**\n * Button size.\n *\n * @default 'md'\n */\n size?: 'md' | 'sm';\n /**\n * Visual variant — `'filled'` (primary) or `'outlined'` (secondary).\n *\n * @default 'filled'\n */\n variant?: 'filled' | 'outlined';\n};\n\nconst SplitButtonContent = ({\n 'aria-label': ariaLabel,\n children,\n className,\n 'data-testid': dataTestId,\n disabled = false,\n label,\n loading = false,\n menuPlacement = 'bottom-start',\n menuTriggerAriaLabel,\n onDefaultAction,\n size: sizeProp = 'md',\n variant = 'filled',\n}: Props) => {\n const [isOpen, setIsOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n const elementsRef = useRef<Array<HTMLSpanElement | null>>([]);\n const labelsRef = useRef<Array<string | null>>([]);\n const hasMounted = useHasMounted();\n\n const tree = useFloatingTree();\n const nodeId = useFloatingNodeId();\n\n const { context, floatingStyles, refs } = useFloating<HTMLDivElement>({\n middleware: [\n offset(8),\n flip(),\n shift({ padding: 2 }),\n // Match the menu width to the full button width (action + trigger combined)\n size({\n apply({ elements, rects }) {\n elements.floating.style.minWidth = `${rects.reference.width}px`;\n },\n }),\n ],\n nodeId,\n onOpenChange: setIsOpen,\n open: isOpen,\n placement: menuPlacement,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, { event: 'click' });\n const dismiss = useDismiss(context, { bubbles: true });\n const role = useRole(context, { role: 'menu' });\n const listNavigation = useListNavigation(context, {\n activeIndex,\n focusItemOnOpen: false,\n listRef: elementsRef,\n onNavigate: setActiveIndex,\n });\n\n const typeahead = useTypeahead(context, {\n activeIndex,\n listRef: labelsRef,\n onMatch: isOpen ? setActiveIndex : undefined,\n });\n\n const { getFloatingProps, getItemProps, getReferenceProps } = useInteractions([\n click,\n dismiss,\n role,\n listNavigation,\n typeahead,\n ]);\n\n // Close the dropdown when any MenuItem fires its click tree event.\n // MenuItem calls tree.events.emit('click') on selection, so we listen here\n // rather than relying on DOM event bubbling (which MenuItem stops).\n useEffect(() => {\n if (!tree) {\n return;\n }\n\n function handleTreeClick() {\n setIsOpen(false);\n }\n\n tree.events.on('click', handleTreeClick);\n return () => {\n tree.events.off('click', handleTreeClick);\n };\n }, [tree]);\n\n const resolvedMenuTriggerAriaLabel =\n menuTriggerAriaLabel ?? (typeof label === 'string' ? `See more ${label} actions` : 'See more actions');\n\n return (\n // The wrapper div is the floating-ui reference so placement and min-width\n // are relative to the full combined button, not just the caret trigger.\n <div\n aria-label={ariaLabel ?? (typeof label === 'string' ? label : undefined)}\n className={cn('relative inline-flex items-stretch', className)}\n data-hui-id=\"SplitButton\"\n data-testid={dataTestId}\n ref={refs.setReference}\n role=\"group\"\n >\n <Button\n className={cn(\n '!rounded-r-none',\n loading && {\n '!outline-border-disabled': variant === 'outlined',\n }\n )}\n disabled={disabled}\n loading={loading}\n onClick={onDefaultAction}\n size={sizeProp}\n style=\"primary\"\n variant={variant}\n >\n {label}\n </Button>\n\n {variant === 'filled' && (\n <div\n aria-hidden\n className=\"w-px shrink-0 self-stretch bg-text-inverse\"\n />\n )}\n\n <SplitButtonTrigger\n aria-label={resolvedMenuTriggerAriaLabel}\n className={cn(\n // When loading (not genuinely disabled), keep active visual styles\n // but let disabled:cursor-not-allowed through for the not-allowed cursor.\n loading && !disabled && variant === 'filled' && 'disabled:!bg-primary-500',\n loading &&\n !disabled &&\n variant === 'outlined' &&\n 'disabled:!bg-background-primary disabled:!outline-primary-500'\n )}\n disabled={disabled || loading}\n isOpen={isOpen}\n size={sizeProp}\n variant={variant}\n {...getReferenceProps()}\n />\n\n <MenuContext.Provider\n value={{\n activeIndex,\n getItemProps,\n isOpen,\n numberOfColumns: 1,\n setActiveIndex,\n }}\n >\n <FloatingList\n elementsRef={elementsRef}\n labelsRef={labelsRef}\n >\n {isOpen && hasMounted && Boolean(refs.domReference) && (\n <FloatingPortal root={refs.domReference}>\n <FloatingFocusManager\n context={context}\n initialFocus={-1}\n modal={false}\n returnFocus\n >\n <div\n className=\"Menu z-50 cursor-default whitespace-nowrap rounded-container bg-background-primary py-xs text-text-primary shadow-03 outline-0\"\n data-testid=\"split-button-menu\"\n ref={refs.setFloating}\n style={floatingStyles}\n {...getFloatingProps()}\n >\n {children}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingList>\n </MenuContext.Provider>\n </div>\n );\n};\n\n/**\n * A split button pairs a primary default action with a dropdown menu of\n * related secondary actions. The left button triggers the action immediately;\n * the right caret button opens the dropdown.\n *\n * Use `MenuItem` children to populate the dropdown:\n * ```tsx\n * <SplitButton label=\"Export CSV\" onDefaultAction={handleExport}>\n * <MenuItem primaryLabel=\"Export PDF\" onClick={handlePdf} />\n * <MenuItem primaryLabel=\"Export Excel\" onClick={handleExcel} />\n * </SplitButton>\n * ```\n */\nexport const SplitButton = (props: Props) => (\n <FloatingTree>\n <SplitButtonContent {...props} />\n </FloatingTree>\n);\n\nSplitButton.displayName = 'SplitButton';\n"],"mappings":"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"}
|