@razorpay/blade 12.110.0 → 12.119.1
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/assets/spark/colorama-center-gradient-map-dark.jpg +0 -0
- package/assets/spark/colorama-gradient-map-dark.png +0 -0
- package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js +5 -5
- package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js.map +1 -1
- package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js +6 -0
- package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
- package/build/lib/native/components/BaseMotion/BaseMotion.native.js +22 -0
- package/build/lib/native/components/BaseMotion/BaseMotion.native.js.map +1 -0
- package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js +11 -0
- package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js.map +1 -0
- package/build/lib/native/components/BaseMotion/baseMotionUtils.js +4 -0
- package/build/lib/native/components/BaseMotion/baseMotionUtils.js.map +1 -0
- package/build/lib/native/components/BaseMotion/index.js +3 -0
- package/build/lib/native/components/BaseMotion/index.js.map +1 -0
- package/build/lib/native/components/BaseMotion/types.js +2 -0
- package/build/lib/native/components/BaseMotion/types.js.map +1 -0
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +3 -3
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js +2 -1
- package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js.map +1 -1
- package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js +2 -2
- package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js.map +1 -1
- package/build/lib/native/components/Charts/CommonChartComponents/index.js +1 -1
- package/build/lib/native/components/Charts/CommonChartComponents/tokens.js +2 -2
- package/build/lib/native/components/Charts/CommonChartComponents/tokens.js.map +1 -1
- package/build/lib/native/components/Charts/LineChart/LineChart.native.js +4 -2
- package/build/lib/native/components/Charts/LineChart/LineChart.native.js.map +1 -1
- package/build/lib/native/components/Charts/utils/nullBridgeUtils.js +4 -0
- package/build/lib/native/components/Charts/utils/nullBridgeUtils.js.map +1 -0
- package/build/lib/native/components/Charts/utils/referenceBandUtils.js +6 -0
- package/build/lib/native/components/Charts/utils/referenceBandUtils.js.map +1 -0
- package/build/lib/native/components/CounterInput/CounterInput.native.js +3 -2
- package/build/lib/native/components/CounterInput/CounterInput.native.js.map +1 -1
- package/build/lib/native/components/CounterInput/token.js +2 -2
- package/build/lib/native/components/CounterInput/token.js.map +1 -1
- package/build/lib/native/components/DatePicker/Calendar.native.js +2 -2
- package/build/lib/native/components/DatePicker/Calendar.native.js.map +1 -1
- package/build/lib/native/components/DatePicker/utils.js +2 -2
- package/build/lib/native/components/DatePicker/utils.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js +2 -1
- package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js.map +1 -1
- package/build/lib/native/components/Dropdown/dropdownUtils.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js +4 -0
- package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
- package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
- package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/native/components/Fade/Fade.native.js +7 -5
- package/build/lib/native/components/Fade/Fade.native.js.map +1 -1
- package/build/lib/native/components/FilterChip/BaseFilterChip.native.js +2 -2
- package/build/lib/native/components/FilterChip/BaseFilterChip.native.js.map +1 -1
- package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js +14 -0
- package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js +20 -0
- package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js.map +1 -0
- package/build/lib/native/components/FloatingActionButton/index.js +2 -0
- package/build/lib/native/components/FloatingActionButton/index.js.map +1 -0
- package/build/lib/native/components/GenUI/GenUIContext.native.js +2 -2
- package/build/lib/native/components/GenUI/GenUIContext.native.js.map +1 -1
- package/build/lib/native/components/GenUI/index.js +1 -1
- package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +14 -0
- package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
- package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js +2 -0
- package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
- package/build/lib/native/components/Icons/index.js +1 -0
- package/build/lib/native/components/Icons/index.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/native/components/Morph/Morph.native.js +9 -5
- package/build/lib/native/components/Morph/Morph.native.js.map +1 -1
- package/build/lib/native/components/Move/Move.native.js +8 -5
- package/build/lib/native/components/Move/Move.native.js.map +1 -1
- package/build/lib/native/components/Scale/Scale.native.js +7 -5
- package/build/lib/native/components/Scale/Scale.native.js.map +1 -1
- package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js +27 -0
- package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js.map +1 -0
- package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js +8 -0
- package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
- package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js +18 -0
- package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js.map +1 -0
- package/build/lib/native/components/SegmentedControl/index.js +3 -0
- package/build/lib/native/components/SegmentedControl/index.js.map +1 -0
- package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js +4 -0
- package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
- package/build/lib/native/components/Slide/Slide.native.js +7 -5
- package/build/lib/native/components/Slide/Slide.native.js.map +1 -1
- package/build/lib/native/components/Spark/RzpGlass/utils.native.js +1 -1
- package/build/lib/native/components/Spark/RzpGlass/utils.native.js.map +1 -1
- package/build/lib/native/components/Stagger/Stagger.native.js +10 -5
- package/build/lib/native/components/Stagger/Stagger.native.js.map +1 -1
- package/build/lib/native/components/Stagger/StaggerProvider.js +6 -0
- package/build/lib/native/components/Stagger/StaggerProvider.js.map +1 -0
- package/build/lib/native/components/TreeView/TreeView.native.js +4 -0
- package/build/lib/native/components/TreeView/TreeView.native.js.map +1 -0
- package/build/lib/native/components/TreeView/index.native.js +2 -0
- package/build/lib/native/components/TreeView/index.native.js.map +1 -0
- package/build/lib/native/components/index.js +10 -2
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/colors.js +1 -1
- package/build/lib/native/tokens/global/colors.js.map +1 -1
- package/build/lib/native/tokens/index.js +1 -0
- package/build/lib/native/tokens/index.js.map +1 -1
- package/build/lib/native/tokens/theme/bladeNeutralTheme.js +15 -0
- package/build/lib/native/tokens/theme/bladeNeutralTheme.js.map +1 -0
- package/build/lib/native/tokens/theme/bladeTheme.js +1 -1
- package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/native/tokens/theme/index.js +1 -0
- package/build/lib/native/tokens/theme/index.js.map +1 -1
- package/build/lib/native/tokens/theme/theme.js.map +1 -1
- package/build/lib/native/utils/componentZIndices.js +1 -1
- package/build/lib/native/utils/componentZIndices.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/native/utils/msToSeconds.js +4 -0
- package/build/lib/native/utils/msToSeconds.js.map +1 -0
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +1 -1
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/development/_virtual/flatten.js +1 -1
- package/build/lib/web/development/_virtual/flatten3.js +1 -1
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
- package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
- package/build/lib/web/development/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
- package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +124 -73
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +68 -2
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js +206 -18
- package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
- package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/index.js +1 -1
- package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js +15 -2
- package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js.map +1 -1
- package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js +272 -15
- package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js.map +1 -1
- package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js +195 -0
- package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js +175 -0
- package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js.map +1 -0
- package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js +66 -0
- package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js.map +1 -0
- package/build/lib/web/development/components/CounterInput/CounterInput.web.js +29 -5
- package/build/lib/web/development/components/CounterInput/CounterInput.web.js.map +1 -1
- package/build/lib/web/development/components/CounterInput/StyledCounterInput.js +20 -4
- package/build/lib/web/development/components/CounterInput/StyledCounterInput.js.map +1 -1
- package/build/lib/web/development/components/CounterInput/token.js +6 -1
- package/build/lib/web/development/components/CounterInput/token.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +28 -1
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/Calendar.web.js +9 -2
- package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
- package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/utils.js +21 -1
- package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js +40 -5
- package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +30 -32
- package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/dropdownUtils.js +28 -2
- package/build/lib/web/development/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js +60 -0
- package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
- package/build/lib/web/development/components/Dropdown/useDropdown.js +91 -5
- package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +35 -11
- package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js +126 -0
- package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
- package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
- package/build/lib/web/development/components/FloatingActionButton/index.js +2 -0
- package/build/lib/web/development/components/FloatingActionButton/index.js.map +1 -0
- package/build/lib/web/development/components/GenUI/GenUIComponents.web.js.map +1 -1
- package/build/lib/web/development/components/GenUI/GenUIContext.web.js +9 -1
- package/build/lib/web/development/components/GenUI/GenUIContext.web.js.map +1 -1
- package/build/lib/web/development/components/GenUI/GenUIProvider.web.js +17 -0
- package/build/lib/web/development/components/GenUI/GenUIProvider.web.js.map +1 -1
- package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js +31 -6
- package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
- package/build/lib/web/development/components/GenUI/index.js +1 -1
- package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
- package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/index.js +1 -0
- package/build/lib/web/development/components/Icons/index.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +3 -0
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js +7 -1
- package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js.map +1 -1
- package/build/lib/web/development/components/RollingText/RollingText.web.js +27 -20
- package/build/lib/web/development/components/RollingText/RollingText.web.js.map +1 -1
- package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js +196 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js +18 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
- package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
- package/build/lib/web/development/components/SegmentedControl/index.js +3 -0
- package/build/lib/web/development/components/SegmentedControl/index.js.map +1 -0
- package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js +53 -0
- package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
- package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js +16 -7
- package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
- package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
- package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
- package/build/lib/web/development/components/Spark/RzpGlass/presets.js +30 -1
- package/build/lib/web/development/components/Spark/RzpGlass/presets.js.map +1 -1
- package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
- package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
- package/build/lib/web/development/components/Spark/RzpGlass/utils.js +26 -10
- package/build/lib/web/development/components/Spark/RzpGlass/utils.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js +31 -18
- package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +14 -3
- package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
- package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/utils.js +58 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/utils.js.map +1 -1
- package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -1
- package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js +41 -0
- package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/TreeView.web.js +696 -0
- package/build/lib/web/development/components/TreeView/TreeView.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js +184 -0
- package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js +73 -0
- package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/TreeViewItem.web.js +295 -0
- package/build/lib/web/development/components/TreeView/TreeViewItem.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js +173 -0
- package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/componentIds.js +8 -0
- package/build/lib/web/development/components/TreeView/componentIds.js.map +1 -0
- package/build/lib/web/development/components/TreeView/index.web.js +4 -0
- package/build/lib/web/development/components/TreeView/index.web.js.map +1 -0
- package/build/lib/web/development/components/TreeView/treeViewUtils.js +475 -0
- package/build/lib/web/development/components/TreeView/treeViewUtils.js.map +1 -0
- package/build/lib/web/development/components/TreeView/useTreeView.js +24 -0
- package/build/lib/web/development/components/TreeView/useTreeView.js.map +1 -0
- package/build/lib/web/development/components/index.js +12 -2
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/node_modules/es-toolkit/dist/array/flatten.js +1 -1
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
- package/build/lib/web/development/tokens/global/colors.js +2 -2
- package/build/lib/web/development/tokens/global/colors.js.map +1 -1
- package/build/lib/web/development/tokens/index.js +1 -0
- package/build/lib/web/development/tokens/index.js.map +1 -1
- package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js +1439 -0
- package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js.map +1 -0
- package/build/lib/web/development/tokens/theme/bladeTheme.js +48 -12
- package/build/lib/web/development/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/development/tokens/theme/index.js +1 -0
- package/build/lib/web/development/tokens/theme/index.js.map +1 -1
- package/build/lib/web/development/tokens/theme/theme.js.map +1 -1
- package/build/lib/web/development/utils/componentZIndices.js +2 -0
- package/build/lib/web/development/utils/componentZIndices.js.map +1 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js +7 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
- package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
- package/build/lib/web/production/_virtual/flatten.js +1 -1
- package/build/lib/web/production/_virtual/flatten3.js +1 -1
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
- package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
- package/build/lib/web/production/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
- package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +124 -73
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +68 -2
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js +206 -18
- package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
- package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/index.js +1 -1
- package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js +15 -2
- package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js.map +1 -1
- package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js +272 -15
- package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js.map +1 -1
- package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js +195 -0
- package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js +175 -0
- package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js.map +1 -0
- package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js +66 -0
- package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js.map +1 -0
- package/build/lib/web/production/components/CounterInput/CounterInput.web.js +29 -5
- package/build/lib/web/production/components/CounterInput/CounterInput.web.js.map +1 -1
- package/build/lib/web/production/components/CounterInput/StyledCounterInput.js +20 -4
- package/build/lib/web/production/components/CounterInput/StyledCounterInput.js.map +1 -1
- package/build/lib/web/production/components/CounterInput/token.js +6 -1
- package/build/lib/web/production/components/CounterInput/token.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +28 -1
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/Calendar.web.js +9 -2
- package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
- package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/utils.js +21 -1
- package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js +40 -5
- package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +30 -32
- package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/dropdownUtils.js +28 -2
- package/build/lib/web/production/components/Dropdown/dropdownUtils.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js +60 -0
- package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
- package/build/lib/web/production/components/Dropdown/useDropdown.js +91 -5
- package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +35 -11
- package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
- package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js +126 -0
- package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
- package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
- package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
- package/build/lib/web/production/components/FloatingActionButton/index.js +2 -0
- package/build/lib/web/production/components/FloatingActionButton/index.js.map +1 -0
- package/build/lib/web/production/components/GenUI/GenUIComponents.web.js.map +1 -1
- package/build/lib/web/production/components/GenUI/GenUIContext.web.js +9 -1
- package/build/lib/web/production/components/GenUI/GenUIContext.web.js.map +1 -1
- package/build/lib/web/production/components/GenUI/GenUIProvider.web.js +17 -0
- package/build/lib/web/production/components/GenUI/GenUIProvider.web.js.map +1 -1
- package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js +31 -6
- package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
- package/build/lib/web/production/components/GenUI/index.js +1 -1
- package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
- package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/index.js +1 -0
- package/build/lib/web/production/components/Icons/index.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +3 -0
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js +7 -1
- package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js.map +1 -1
- package/build/lib/web/production/components/RollingText/RollingText.web.js +27 -20
- package/build/lib/web/production/components/RollingText/RollingText.web.js.map +1 -1
- package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js +196 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js +18 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
- package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
- package/build/lib/web/production/components/SegmentedControl/index.js +3 -0
- package/build/lib/web/production/components/SegmentedControl/index.js.map +1 -0
- package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js +53 -0
- package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
- package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js +16 -7
- package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
- package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
- package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
- package/build/lib/web/production/components/Spark/RzpGlass/presets.js +30 -1
- package/build/lib/web/production/components/Spark/RzpGlass/presets.js.map +1 -1
- package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
- package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
- package/build/lib/web/production/components/Spark/RzpGlass/utils.js +26 -10
- package/build/lib/web/production/components/Spark/RzpGlass/utils.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js +31 -18
- package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +14 -3
- package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
- package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/utils.js +58 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/utils.js.map +1 -1
- package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -1
- package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js +41 -0
- package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/TreeView.web.js +696 -0
- package/build/lib/web/production/components/TreeView/TreeView.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js +184 -0
- package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js +73 -0
- package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/TreeViewItem.web.js +295 -0
- package/build/lib/web/production/components/TreeView/TreeViewItem.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js +173 -0
- package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/componentIds.js +8 -0
- package/build/lib/web/production/components/TreeView/componentIds.js.map +1 -0
- package/build/lib/web/production/components/TreeView/index.web.js +4 -0
- package/build/lib/web/production/components/TreeView/index.web.js.map +1 -0
- package/build/lib/web/production/components/TreeView/treeViewUtils.js +475 -0
- package/build/lib/web/production/components/TreeView/treeViewUtils.js.map +1 -0
- package/build/lib/web/production/components/TreeView/useTreeView.js +24 -0
- package/build/lib/web/production/components/TreeView/useTreeView.js.map +1 -0
- package/build/lib/web/production/components/index.js +12 -2
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/node_modules/es-toolkit/dist/array/flatten.js +1 -1
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
- package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
- package/build/lib/web/production/tokens/global/colors.js +2 -2
- package/build/lib/web/production/tokens/global/colors.js.map +1 -1
- package/build/lib/web/production/tokens/index.js +1 -0
- package/build/lib/web/production/tokens/index.js.map +1 -1
- package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js +1439 -0
- package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js.map +1 -0
- package/build/lib/web/production/tokens/theme/bladeTheme.js +48 -12
- package/build/lib/web/production/tokens/theme/bladeTheme.js.map +1 -1
- package/build/lib/web/production/tokens/theme/index.js +1 -0
- package/build/lib/web/production/tokens/theme/index.js.map +1 -1
- package/build/lib/web/production/tokens/theme/theme.js.map +1 -1
- package/build/lib/web/production/utils/componentZIndices.js +2 -0
- package/build/lib/web/production/utils/componentZIndices.js.map +1 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js +7 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
- package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
- package/build/types/components/index.d.ts +794 -25
- package/build/types/components/index.native.d.ts +872 -29
- package/build/types/tokens/index.d.ts +11 -4
- package/build/types/tokens/index.native.d.ts +11 -4
- package/build/types/utils/index.d.ts +8 -3
- package/build/types/utils/index.native.d.ts +8 -3
- package/package.json +2 -2
- package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js.map +0 -1
- package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonBoxShadow } from './buttonTokens';\nimport {\n textColor,\n backgroundGradient,\n boxShadow,\n spinnerColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent';\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers) => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n // For white and transparent colors, we use 'primary' as the base color\n // since the actual token lookup uses the white/transparent specific paths\n const gradientColor = color === 'white' || color === 'transparent' || !color ? 'primary' : color;\n const tokens = backgroundGradient(gradientColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getBoxShadowToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers): ButtonBoxShadow => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokenColor = color === 'white' || color === 'transparent' || !color ? 'primary' : color;\n const tokens = boxShadow(tokenColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n\n // Resolve background value - either a gradient string or a token path\n const resolveBackgroundValue = (value: string): string => {\n if (value.startsWith('linear-gradient')) {\n return value;\n }\n return getIn(theme.colors, value as DotNotationToken<Theme['colors']>);\n };\n\n const getDefaultBackground = (): string => {\n return resolveBackgroundValue(getBackgroundColorToken({ variant, color, state: 'default' }));\n };\n\n const getBoxShadow = (\n state: 'default' | 'hover' | 'focus' | 'disabled',\n btnColor: BaseButtonProps['color'],\n ): string | undefined => {\n const shadowTokens = getBoxShadowToken({ variant, color: btnColor, state });\n\n if (shadowTokens.length === 0) {\n return undefined;\n }\n\n const shadows = shadowTokens.map((shadow) => {\n const resolvedColor = getIn(theme.colors, shadow.color);\n return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;\n });\n\n return shadows.join(', ');\n };\n\n const getNativeShadowColors = (\n btnColor: BaseButtonProps['color'],\n ): {\n shadowHighlightColor?: string;\n shadowHighlightHeight?: number;\n shadowBottomColor?: string;\n shadowBottomHeight?: number;\n shadowBorderColor?: string;\n /**\n * Border color from the highlighted/focus box-shadow tokens. Used on press\n * to match web `&:active { boxShadow: focusBoxShadow }` (e.g. secondary/\n * tertiary gray.default → gray.highlighted).\n */\n focusShadowBorderColor?: string;\n shadowRingWidth?: number;\n isShadowGradientVisible?: boolean;\n } => {\n const resolveShadowColors = (\n shadowTokens: ReturnType<typeof getBoxShadowToken>,\n ): {\n highlightColor?: string;\n bottomColor?: string;\n borderColor?: string;\n highlightHeight: number;\n bottomHeight: number;\n ringWidth: number;\n } => {\n let highlightColor: string | undefined,\n bottomColor: string | undefined,\n borderColor: string | undefined;\n let highlightHeight = 0;\n let bottomHeight = 0;\n let ringWidth = 0;\n\n for (const shadow of shadowTokens) {\n const resolved = getIn(theme.colors, shadow.color);\n if (shadow.y > 0 && !highlightColor) {\n highlightColor = resolved;\n highlightHeight = shadow.y;\n } else if (shadow.y < 0 && !bottomColor) {\n bottomColor = resolved;\n bottomHeight = Math.abs(shadow.y);\n } else if (shadow.spread > 0 && !borderColor) {\n borderColor = resolved;\n ringWidth = shadow.spread;\n }\n }\n\n return { highlightColor, bottomColor, borderColor, highlightHeight, bottomHeight, ringWidth };\n };\n\n const defaultColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'default' }),\n );\n if (!defaultColors.highlightColor && !defaultColors.bottomColor && !defaultColors.borderColor) {\n return {};\n }\n\n const focusColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'focus' }),\n );\n\n return {\n shadowHighlightColor: defaultColors.highlightColor,\n shadowHighlightHeight:\n defaultColors.highlightHeight !== 0 ? defaultColors.highlightHeight : undefined,\n shadowBottomColor: defaultColors.bottomColor,\n shadowBottomHeight: defaultColors.bottomHeight !== 0 ? defaultColors.bottomHeight : undefined,\n shadowBorderColor: defaultColors.borderColor,\n focusShadowBorderColor: focusColors.borderColor,\n shadowRingWidth: defaultColors.ringWidth !== 0 ? defaultColors.ringWidth : undefined,\n isShadowGradientVisible: variant === 'primary',\n };\n };\n\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getDefaultBackground(),\n defaultBoxShadow: getBoxShadow('default', color),\n hoverBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'hover' }),\n ),\n hoverBoxShadow: getBoxShadow('hover', color),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'focus' }),\n ),\n focusBoxShadow: getBoxShadow('focus', color),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderRadius: makeBorderSize(theme.border.radius[buttonBorderRadius[size]]),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n ...(isReactNative() && !isDisabled ? getNativeShadowColors(color) : {}),\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBoxShadow = getBoxShadow('disabled', color);\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBoxShadow = getBoxShadow('disabled', color);\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBoxShadow = getBoxShadow('disabled', color);\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n // Keep ButtonGroup press index in sync so border-collapse / z-index can\n // reveal this button's highlighted right edge while pressed (RN only).\n // useLayoutEffect ensures the z-index update happens before paint, keeping\n // it in sync with Reanimated's UI-thread press state change.\n React.useLayoutEffect(() => {\n if (typeof buttonGroupProps.buttonIndex !== 'number') return;\n const { buttonIndex, setPressedButtonIndex } = buttonGroupProps;\n if (isPressed) {\n setPressedButtonIndex?.(buttonIndex);\n } else {\n // Only clear if this button still owns the pressed index — otherwise a\n // multi-touch release on A would wipe B's press state.\n setPressedButtonIndex?.((prev) => (prev === buttonIndex ? null : prev));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPressed, buttonGroupProps.buttonIndex]);\n\n const {\n defaultBackgroundColor,\n defaultBoxShadow,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBoxShadow,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBoxShadow,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderRadius,\n motionDuration,\n motionEasing,\n shadowHighlightColor,\n shadowHighlightHeight,\n shadowBottomColor,\n shadowBottomHeight,\n shadowBorderColor,\n focusShadowBorderColor,\n shadowRingWidth,\n isShadowGradientVisible,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n // On web, ButtonGroup flattens the child buttons' border radius via CSS child\n // selectors and rounds only the outer edges using the group container's\n // `overflow: hidden` + `borderRadius`. React Native has no CSS cascade, so we\n // flatten each button's border radius to 0 here and let the group container do\n // the outer rounding — otherwise the inner (middle) buttons show rounded corners.\n // An explicit `isInsideButtonGroup` flag set by ButtonGroupContext signals we're\n // inside a group; this avoids relying on the presence of `variant` in the\n // default context.\n const isInsideRNButtonGroup = isReactNative() && Boolean(buttonGroupProps.isInsideButtonGroup);\n\n // buttonBorderRadiusValue flattens the base borderRadius to 0 for all buttons\n // in a group. buttonBorderRadii provides per-corner rounding for the outer\n // edges of the first/last buttons. Both are needed: the base value ensures the\n // Pressable itself is square, while borderRadii rounds only the outer corners\n // via per-corner style overrides (and feeds the SVG border overlay).\n const buttonBorderRadiusValue = isInsideRNButtonGroup ? makeBorderSize(0) : borderRadius;\n\n // The group container clips with `overflow: hidden` + `borderRadius`. Since the\n // buttons are square (radius 0), the native border overlay (drawn as a square\n // ring) gets clipped at the group's rounded outer corners. To match web, round\n // only the outer corners of the first/last buttons (both the background and the\n // border overlay) so the ring follows the rounded corner instead of being cut.\n const groupCornerRadius = isInsideRNButtonGroup\n ? theme.border.radius[buttonBorderRadius[buttonGroupProps.size ?? size]]\n : 0;\n const isFirstInGroup = Boolean(buttonGroupProps.isFirstInButtonGroup);\n const isLastInGroup = Boolean(buttonGroupProps.isLastInButtonGroup);\n const buttonBorderRadii = isInsideRNButtonGroup\n ? {\n topLeft: isFirstInGroup ? groupCornerRadius : 0,\n bottomLeft: isFirstInGroup ? groupCornerRadius : 0,\n topRight: isLastInGroup ? groupCornerRadius : 0,\n bottomRight: isLastInGroup ? groupCornerRadius : 0,\n }\n : undefined;\n\n // ButtonGroup computes isGroupBorderCollapsed based on its variant and passes it\n // through context, so BaseButton doesn't need to inspect the variant string.\n const isGroupBorderCollapsed =\n isInsideRNButtonGroup && !isFirstInGroup && Boolean(buttonGroupProps.isGroupBorderCollapsed);\n\n // Match web ButtonGroup: only the first child keeps the radial glow\n // (`backgroundImage: none` on `:not(:first-child)`). On native the white\n // top/left \"glassy\" edge also comes from the inset highlight stroke mapped\n // from box-shadow — suppress that on non-first buttons too so junctions\n // don't show a white left edge on Share/Download.\n const isNonFirstInButtonGroup = isInsideRNButtonGroup && !isFirstInGroup;\n const showShadowGradient = Boolean(isShadowGradientVisible) && !isNonFirstInButtonGroup;\n const effectiveShadowHighlightColor = isNonFirstInButtonGroup ? undefined : shadowHighlightColor;\n\n // Web ButtonGroup sets `flex: 1` on children when isFullWidth. On native,\n // isFullWidth alone applies `width: 100%`, which overflows in a row — use\n // flex instead so siblings share space equally.\n const isInsideFullWidthButtonGroup =\n isInsideRNButtonGroup && Boolean(buttonGroupProps.isFullWidth ?? isFullWidth);\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={buttonGroupProps.variant ?? variant}\n color={buttonGroupProps.color ?? color}\n size={buttonGroupProps.size ?? size}\n isLoading={isLoading}\n disabled={disabled}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBoxShadow={defaultBoxShadow}\n focusBoxShadow={focusBoxShadow}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBoxShadow={hoverBoxShadow}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderRadius={buttonBorderRadiusValue}\n {...(buttonBorderRadii ? { borderRadii: buttonBorderRadii } : {})}\n {...(isGroupBorderCollapsed ? { isGroupBorderCollapsed } : {})}\n {...(isNonFirstInButtonGroup ? { isInsetShadowSidesFlattened: true } : {})}\n {...(isInsideFullWidthButtonGroup ? { isInsideFullWidthButtonGroup: true } : {})}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n {...(!isReactNative()\n ? { onMouseOut: handlePointerPressedOut, onKeyUp: handleKeyboardPressedOut }\n : {})}\n shadowHighlightColor={effectiveShadowHighlightColor}\n shadowHighlightHeight={isNonFirstInButtonGroup ? undefined : shadowHighlightHeight}\n shadowBottomColor={shadowBottomColor}\n shadowBottomHeight={shadowBottomHeight}\n shadowBorderColor={shadowBorderColor}\n focusShadowBorderColor={focusShadowBorderColor}\n shadowRingWidth={shadowRingWidth}\n isShadowGradientVisible={showShadowGradient}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={\n color && color !== 'primary' && color !== 'transparent' && color in spinnerColor\n ? spinnerColor[color as keyof typeof spinnerColor][\n variant as 'primary' | 'secondary'\n ]\n : spinnerColor.base[variant]\n }\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n marginX=\"spacing.2\"\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref","variant","state","color","_state","gradientColor","tokens","backgroundGradient","white","Error","base","transparent","getBoxShadowToken","_ref2","tokenColor","boxShadow","getTextColorToken","_ref3","property","textColor","tertiary","getProps","_ref4","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","throwBladeError","moduleName","message","isIconOnly","trim","length","resolveBackgroundValue","value","startsWith","getIn","colors","getDefaultBackground","getBoxShadow","btnColor","shadowTokens","shadows","map","shadow","resolvedColor","y","blur","spread","join","getNativeShadowColors","resolveShadowColors","highlightColor","bottomColor","borderColor","highlightHeight","bottomHeight","ringWidth","resolved","Math","abs","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","Object","assign","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","defaultBoxShadow","hoverBackgroundColor","hoverBoxShadow","hoverIconColor","focusBackgroundColor","focusBoxShadow","focusRingColor","borderRadius","makeBorderSize","border","radius","buttonBorderRadius","motionDuration","motionEasing","disabledBackgroundColor","ButtonContent","styled","BaseBox","_ref5","isHidden","opacity","_BaseButton","_ref6","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$siz2","_buttonGroupProps$isF","_accessibilityProps$r","_buttonGroupProps$var2","_buttonGroupProps$col2","_buttonGroupProps$siz3","_buttonGroupProps$isF2","target","rel","tabIndex","id","_ref6$variant","_ref6$color","_ref6$size","Icon","icon","_ref6$iconPosition","iconPosition","_ref6$isDisabled","_ref6$isFullWidth","isFullWidth","_ref6$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref6$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","useLayoutEffect","buttonIndex","setPressedButtonIndex","prev","_getProps","buttonTypography","renderElement","useMemo","defaultRole","isInsideRNButtonGroup","isInsideButtonGroup","buttonBorderRadiusValue","groupCornerRadius","isFirstInGroup","isFirstInButtonGroup","isLastInGroup","isLastInButtonGroup","buttonBorderRadii","topLeft","bottomLeft","topRight","bottomRight","isGroupBorderCollapsed","isNonFirstInButtonGroup","showShadowGradient","effectiveShadowHighlightColor","isInsideFullWidthButtonGroup","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","as","makeAccessible","role","event","borderRadii","isInsetShadowSidesFlattened","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","spinnerColor","flexDirection","flex","BaseText","marginX","fontWeight","textAlign","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseButton.js","sources":["../../../../../../src/components/Button/BaseButton/BaseButton.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport styled from 'styled-components';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonBoxShadow } from './buttonTokens';\nimport {\n textColor,\n backgroundGradient,\n boxShadow,\n spinnerColor,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n} from './buttonTokens';\nimport type { BaseButtonStyleProps, IconColor } from './types';\nimport AnimatedButtonContent from './AnimatedButtonContent';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\nimport getIn from '~utils/lodashButBetter/get';\nimport type { BaseLinkProps } from '~components/Link/BaseLink';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent, IconSize } from '~components/Icons';\nimport type { Platform } from '~utils';\nimport { isReactNative } from '~utils';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { useButtonGroupContext } from '~components/ButtonGroup/ButtonGroupContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport type { BaseSpinnerProps } from '~components/Spinner/BaseSpinner';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport BaseBox from '~components/Box/BaseBox';\nimport type {\n BladeElementRef,\n DataAnalyticsAttribute,\n StringChildrenType,\n TestID,\n} from '~utils/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { usePrevious } from '~utils/usePrevious';\nimport { makeSize } from '~utils/makeSize';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { AccessibilityProps } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { makeSpace } from '~utils/makeSpace';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStringFromReactText } from '~src/utils/getStringChildren';\nimport type { BladeCommonEvents } from '~components/types';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype BaseButtonCommonProps = {\n href?: BaseLinkProps['href'];\n target?: BaseLinkProps['target'];\n rel?: BaseLinkProps['rel'];\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n id?: string;\n tabIndex?: BaseBoxProps['tabIndex'];\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onKeyDown?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n }>;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityProps?: Partial<AccessibilityProps>;\n variant?: 'primary' | 'secondary' | 'tertiary';\n color?:\n | 'primary'\n | 'white'\n | 'positive'\n | 'negative'\n | 'notice'\n | 'information'\n | 'neutral'\n | 'transparent'\n /**\n * Only supported with `variant=\"primary\"`. Consumed by FloatingActionButton\n * and intentionally not exposed on `Button`.\n */\n | 'black';\n /**\n * Overrides the size-derived border radius. Used by FloatingActionButton to\n * render a pill. `round` is excluded because a percentage radius distorts on\n * a non-square button.\n */\n _borderRadius?: Exclude<keyof Theme['border']['radius'], 'round'>;\n /**\n * Overrides the size-derived icon size. Used by FloatingActionButton, whose\n * icon is larger than a `size=\"large\"` Button's.\n */\n _iconSize?: IconSize;\n /**\n * Overrides the color of the loading spinner. Used by FloatingActionButton,\n * whose contrast requirements differ from `Button`'s.\n */\n _spinnerColor?: BaseSpinnerProps['color'];\n} & TestID &\n StyledPropsBlade &\n BladeCommonEvents;\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: StringChildrenType;\n} & DataAnalyticsAttribute;\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'focus' | 'disabled';\n color: BaseButtonProps['color'];\n};\n\n/**\n * `white`, `black` and `transparent` are not feedback colors, so the token\n * factories are still called with `primary` and the value is looked up under its\n * own key instead of under `base`.\n */\nconst isStaticOrTransparentColor = (\n color: BaseButtonProps['color'],\n): color is 'white' | 'black' | 'transparent' =>\n color === 'white' || color === 'black' || color === 'transparent';\n\nconst getSpinnerColor = ({\n variant,\n color,\n}: {\n variant: NonNullable<BaseButtonProps['variant']>;\n color: NonNullable<BaseButtonProps['color']>;\n}): BaseSpinnerProps['color'] => {\n // `black` only exists as a primary button, so it is looked up separately from\n // the colors that carry a full variant record.\n if (color === 'black') {\n return spinnerColor.black.primary;\n }\n\n if (color !== 'primary' && color !== 'transparent' && color in spinnerColor) {\n return spinnerColor[color as Exclude<keyof typeof spinnerColor, 'base' | 'black'>][\n variant as 'primary' | 'secondary'\n ];\n }\n\n return spinnerColor.base[variant];\n};\n\nconst assertBlackIsPrimary = (variant: NonNullable<BaseButtonProps['variant']>): void => {\n if (variant !== 'primary') {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Black color can only be used with primary variant but received \"${variant}\"`,\n });\n }\n};\n\nconst getRenderElement = (href?: string): 'a' | 'button' | undefined => {\n if (isReactNative()) {\n return undefined; // as property doesn't work with react native\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n};\n\nexport const getBackgroundColorToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers) => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n // For white, black and transparent colors, we use 'primary' as the base color\n // since the actual token lookup uses the white/black/transparent specific paths\n const gradientColor = isStaticOrTransparentColor(color) || !color ? 'primary' : color;\n const tokens = backgroundGradient(gradientColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getBoxShadowToken = ({\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers): ButtonBoxShadow => {\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n const tokenColor = isStaticOrTransparentColor(color) || !color ? 'primary' : color;\n const tokens = boxShadow(tokenColor);\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.base.transparent[_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nexport const getTextColorToken = ({\n property,\n variant,\n state,\n color,\n}: BaseButtonColorTokenModifiers & {\n property: 'icon' | 'text';\n}): DotNotationToken<Theme['colors']> => {\n const tokens = textColor(property);\n const _state = state === 'focus' || state === 'hover' ? 'highlighted' : state;\n\n if (color === 'white') {\n return tokens.white[variant][_state];\n }\n\n if (color === 'black') {\n assertBlackIsPrimary(variant);\n return tokens.black.primary[_state];\n }\n\n if (color === 'transparent') {\n if (variant !== 'tertiary') {\n throw new Error(\n `Transparent color can only be used with tertiary variant but received \"${variant}\"`,\n );\n }\n return tokens.transparent.tertiary[_state];\n }\n\n if (color && color !== 'primary') {\n if (variant === 'tertiary') {\n throw new Error(\n `Tertiary variant can only be used with color: \"primary\" or \"white\" but received \"${color}\"`,\n );\n }\n return tokens.color(color)[variant][_state];\n }\n\n return tokens.base[variant][_state];\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n childrenString,\n isDisabled,\n size,\n theme,\n variant,\n color,\n hasIcon,\n _borderRadius,\n _iconSize,\n}: {\n buttonTypographyTokens: ButtonTypography;\n childrenString?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n color: BaseButtonProps['color'];\n _borderRadius?: BaseButtonCommonProps['_borderRadius'];\n _iconSize?: BaseButtonCommonProps['_iconSize'];\n}): BaseButtonStyleProps => {\n if (\n variant === 'tertiary' &&\n color !== 'primary' &&\n color !== 'white' &&\n color !== 'transparent'\n ) {\n throwBladeError({\n moduleName: 'BaseButton',\n message: `Tertiary variant can only be used with color: \"primary\" or \"white\" or \"transparent\" but received \"${color}\"`,\n });\n }\n\n const isIconOnly = hasIcon && (!childrenString || childrenString?.trim().length === 0);\n\n // Resolve background value - either a gradient string or a token path\n const resolveBackgroundValue = (value: string): string => {\n if (value.startsWith('linear-gradient')) {\n return value;\n }\n return getIn(theme.colors, value as DotNotationToken<Theme['colors']>);\n };\n\n const getDefaultBackground = (): string => {\n return resolveBackgroundValue(getBackgroundColorToken({ variant, color, state: 'default' }));\n };\n\n const getBoxShadow = (\n state: 'default' | 'hover' | 'focus' | 'disabled',\n btnColor: BaseButtonProps['color'],\n ): string | undefined => {\n const shadowTokens = getBoxShadowToken({ variant, color: btnColor, state });\n\n if (shadowTokens.length === 0) {\n return undefined;\n }\n\n const shadows = shadowTokens.map((shadow) => {\n const resolvedColor = getIn(theme.colors, shadow.color);\n return `inset 0 ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${resolvedColor}`;\n });\n\n return shadows.join(', ');\n };\n\n const getNativeShadowColors = (\n btnColor: BaseButtonProps['color'],\n ): {\n shadowHighlightColor?: string;\n shadowHighlightHeight?: number;\n shadowBottomColor?: string;\n shadowBottomHeight?: number;\n shadowBorderColor?: string;\n /**\n * Border color from the highlighted/focus box-shadow tokens. Used on press\n * to match web `&:active { boxShadow: focusBoxShadow }` (e.g. secondary/\n * tertiary gray.default → gray.highlighted).\n */\n focusShadowBorderColor?: string;\n shadowRingWidth?: number;\n isShadowGradientVisible?: boolean;\n } => {\n const resolveShadowColors = (\n shadowTokens: ReturnType<typeof getBoxShadowToken>,\n ): {\n highlightColor?: string;\n bottomColor?: string;\n borderColor?: string;\n highlightHeight: number;\n bottomHeight: number;\n ringWidth: number;\n } => {\n let highlightColor: string | undefined,\n bottomColor: string | undefined,\n borderColor: string | undefined;\n let highlightHeight = 0;\n let bottomHeight = 0;\n let ringWidth = 0;\n\n for (const shadow of shadowTokens) {\n const resolved = getIn(theme.colors, shadow.color);\n if (shadow.y > 0 && !highlightColor) {\n highlightColor = resolved;\n highlightHeight = shadow.y;\n } else if (shadow.y < 0 && !bottomColor) {\n bottomColor = resolved;\n bottomHeight = Math.abs(shadow.y);\n } else if (shadow.spread > 0 && !borderColor) {\n borderColor = resolved;\n ringWidth = shadow.spread;\n }\n }\n\n return { highlightColor, bottomColor, borderColor, highlightHeight, bottomHeight, ringWidth };\n };\n\n const defaultColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'default' }),\n );\n if (!defaultColors.highlightColor && !defaultColors.bottomColor && !defaultColors.borderColor) {\n return {};\n }\n\n const focusColors = resolveShadowColors(\n getBoxShadowToken({ variant, color: btnColor, state: 'focus' }),\n );\n\n return {\n shadowHighlightColor: defaultColors.highlightColor,\n shadowHighlightHeight:\n defaultColors.highlightHeight !== 0 ? defaultColors.highlightHeight : undefined,\n shadowBottomColor: defaultColors.bottomColor,\n shadowBottomHeight: defaultColors.bottomHeight !== 0 ? defaultColors.bottomHeight : undefined,\n shadowBorderColor: defaultColors.borderColor,\n focusShadowBorderColor: focusColors.borderColor,\n shadowRingWidth: defaultColors.ringWidth !== 0 ? defaultColors.ringWidth : undefined,\n isShadowGradientVisible: variant === 'primary',\n };\n };\n\n const props: BaseButtonStyleProps = {\n iconSize:\n _iconSize ??\n (isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size]),\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n height: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n width: isIconOnly ? buttonIconOnlyHeightWidth[size] : undefined,\n iconColor: getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'default',\n }) as IconColor,\n textColor: getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly ? makeSpace(0) : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(0)\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: childrenString?.trim(),\n defaultBackgroundColor: getDefaultBackground(),\n defaultBoxShadow: getBoxShadow('default', color),\n hoverBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'hover' }),\n ),\n hoverBoxShadow: getBoxShadow('hover', color),\n hoverIconColor: getIn(\n theme.colors,\n getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'hover',\n }),\n ),\n focusBackgroundColor: resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'focus' }),\n ),\n focusBoxShadow: getBoxShadow('focus', color),\n focusRingColor: getIn(theme.colors, 'surface.border.primary.muted'),\n borderRadius: makeBorderSize(theme.border.radius[_borderRadius ?? buttonBorderRadius[size]]),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard',\n ...(isReactNative() && !isDisabled ? getNativeShadowColors(color) : {}),\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = resolveBackgroundValue(\n getBackgroundColorToken({ variant, color, state: 'disabled' }),\n );\n props.iconColor = getTextColorToken({\n property: 'icon',\n variant,\n color,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getTextColorToken({\n property: 'text',\n variant,\n color,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBoxShadow = getBoxShadow('disabled', color);\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBoxShadow = getBoxShadow('disabled', color);\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBoxShadow = getBoxShadow('disabled', color);\n }\n\n return props;\n};\n\nconst ButtonContent = styled(BaseBox)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst _BaseButton: React.ForwardRefRenderFunction<BladeElementRef, BaseButtonProps> = (\n {\n href,\n target,\n rel,\n tabIndex,\n id,\n variant = 'primary',\n color = 'primary',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n onBlur,\n onKeyDown,\n type = 'button',\n children,\n testID,\n onFocus,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n accessibilityProps,\n onTouchEnd,\n onTouchStart,\n _borderRadius,\n _iconSize,\n _spinnerColor,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const buttonGroupProps = useButtonGroupContext();\n const [isPressed, setIsPressed] = React.useState(false);\n const isLink = Boolean(href);\n const childrenString = getStringFromReactText(children);\n const isChildrenComponent = React.isValidElement(children);\n\n // Button cannot be disabled when its rendered as Link\n // button should be allowed to be disabled in any case...\n // either through button group or we should allow to disable an individual button\n const disabled = buttonGroupProps.isDisabled || isLoading || (isDisabled && !isLink);\n\n if (__DEV__) {\n if (!Icon && !childrenString?.trim()) {\n throwBladeError({\n message: 'At least one of icon or text is required to render a button.',\n moduleName: 'BaseButton',\n });\n }\n }\n\n const prevLoading = usePrevious(isLoading);\n\n React.useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n // Keep ButtonGroup press index in sync so border-collapse / z-index can\n // reveal this button's highlighted right edge while pressed (RN only).\n // useLayoutEffect ensures the z-index update happens before paint, keeping\n // it in sync with Reanimated's UI-thread press state change.\n React.useLayoutEffect(() => {\n if (typeof buttonGroupProps.buttonIndex !== 'number') return;\n const { buttonIndex, setPressedButtonIndex } = buttonGroupProps;\n if (isPressed) {\n setPressedButtonIndex?.(buttonIndex);\n } else {\n // Only clear if this button still owns the pressed index — otherwise a\n // multi-touch release on A would wipe B's press state.\n setPressedButtonIndex?.((prev) => (prev === buttonIndex ? null : prev));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPressed, buttonGroupProps.buttonIndex]);\n\n const {\n defaultBackgroundColor,\n defaultBoxShadow,\n minHeight,\n height,\n width,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBoxShadow,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBoxShadow,\n hoverBackgroundColor,\n hoverIconColor,\n iconColor,\n iconSize,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderRadius,\n motionDuration,\n motionEasing,\n shadowHighlightColor,\n shadowHighlightHeight,\n shadowBottomColor,\n shadowBottomHeight,\n shadowBorderColor,\n focusShadowBorderColor,\n shadowRingWidth,\n isShadowGradientVisible,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n childrenString,\n isDisabled: disabled,\n size: buttonGroupProps.size ?? size,\n variant: buttonGroupProps.variant ?? variant,\n theme,\n color: buttonGroupProps.color ?? color,\n hasIcon: Boolean(Icon),\n _borderRadius,\n _iconSize,\n });\n\n const renderElement = React.useMemo(() => getRenderElement(href), [href]);\n const defaultRole = isLink ? 'link' : 'button';\n\n // On web, ButtonGroup flattens the child buttons' border radius via CSS child\n // selectors and rounds only the outer edges using the group container's\n // `overflow: hidden` + `borderRadius`. React Native has no CSS cascade, so we\n // flatten each button's border radius to 0 here and let the group container do\n // the outer rounding — otherwise the inner (middle) buttons show rounded corners.\n // An explicit `isInsideButtonGroup` flag set by ButtonGroupContext signals we're\n // inside a group; this avoids relying on the presence of `variant` in the\n // default context.\n const isInsideRNButtonGroup = isReactNative() && Boolean(buttonGroupProps.isInsideButtonGroup);\n\n // buttonBorderRadiusValue flattens the base borderRadius to 0 for all buttons\n // in a group. buttonBorderRadii provides per-corner rounding for the outer\n // edges of the first/last buttons. Both are needed: the base value ensures the\n // Pressable itself is square, while borderRadii rounds only the outer corners\n // via per-corner style overrides (and feeds the SVG border overlay).\n const buttonBorderRadiusValue = isInsideRNButtonGroup ? makeBorderSize(0) : borderRadius;\n\n // The group container clips with `overflow: hidden` + `borderRadius`. Since the\n // buttons are square (radius 0), the native border overlay (drawn as a square\n // ring) gets clipped at the group's rounded outer corners. To match web, round\n // only the outer corners of the first/last buttons (both the background and the\n // border overlay) so the ring follows the rounded corner instead of being cut.\n const groupCornerRadius = isInsideRNButtonGroup\n ? theme.border.radius[buttonBorderRadius[buttonGroupProps.size ?? size]]\n : 0;\n const isFirstInGroup = Boolean(buttonGroupProps.isFirstInButtonGroup);\n const isLastInGroup = Boolean(buttonGroupProps.isLastInButtonGroup);\n const buttonBorderRadii = isInsideRNButtonGroup\n ? {\n topLeft: isFirstInGroup ? groupCornerRadius : 0,\n bottomLeft: isFirstInGroup ? groupCornerRadius : 0,\n topRight: isLastInGroup ? groupCornerRadius : 0,\n bottomRight: isLastInGroup ? groupCornerRadius : 0,\n }\n : undefined;\n\n // ButtonGroup computes isGroupBorderCollapsed based on its variant and passes it\n // through context, so BaseButton doesn't need to inspect the variant string.\n const isGroupBorderCollapsed =\n isInsideRNButtonGroup && !isFirstInGroup && Boolean(buttonGroupProps.isGroupBorderCollapsed);\n\n // Match web ButtonGroup: only the first child keeps the radial glow\n // (`backgroundImage: none` on `:not(:first-child)`). On native the white\n // top/left \"glassy\" edge also comes from the inset highlight stroke mapped\n // from box-shadow — suppress that on non-first buttons too so junctions\n // don't show a white left edge on Share/Download.\n const isNonFirstInButtonGroup = isInsideRNButtonGroup && !isFirstInGroup;\n const showShadowGradient = Boolean(isShadowGradientVisible) && !isNonFirstInButtonGroup;\n const effectiveShadowHighlightColor = isNonFirstInButtonGroup ? undefined : shadowHighlightColor;\n\n // Web ButtonGroup sets `flex: 1` on children when isFullWidth. On native,\n // isFullWidth alone applies `width: 100%`, which overflows in a row — use\n // flex instead so siblings share space equally.\n const isInsideFullWidthButtonGroup =\n isInsideRNButtonGroup && Boolean(buttonGroupProps.isFullWidth ?? isFullWidth);\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(true);\n }, [disabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (disabled) return;\n setIsPressed(false);\n }, [disabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(true);\n }\n },\n [disabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return;\n if (e.key === ' ' || e.key === 'Enter') {\n setIsPressed(false);\n }\n },\n [disabled],\n );\n\n return (\n <StyledBaseButton\n ref={ref as any}\n id={id}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore: On React Native it will always be undefined but TS doesn't understand that\n as={renderElement}\n href={href}\n target={target}\n rel={rel}\n accessibilityProps={{\n ...makeAccessible({\n ...accessibilityProps,\n role: accessibilityProps?.role ?? defaultRole,\n }),\n }}\n variant={buttonGroupProps.variant ?? variant}\n color={buttonGroupProps.color ?? color}\n size={buttonGroupProps.size ?? size}\n isLoading={isLoading}\n disabled={disabled}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBoxShadow={defaultBoxShadow}\n focusBoxShadow={focusBoxShadow}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBoxShadow={hoverBoxShadow}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={buttonGroupProps.isFullWidth ?? isFullWidth}\n onClick={onClick}\n onBlur={onBlur}\n onFocus={onFocus}\n onMouseLeave={onMouseLeave}\n onMouseMove={onMouseMove}\n tabIndex={tabIndex}\n onPointerDown={onPointerDown}\n onPointerEnter={onPointerEnter}\n // Setting type for web fails it on native typecheck and vice versa\n onKeyDown={(event: any) => {\n handleKeyboardPressedIn(event);\n onKeyDown?.(event);\n }}\n onTouchStart={(event: React.TouchEvent) => {\n handlePointerPressedIn();\n onTouchStart?.(event);\n }}\n onTouchEnd={(event: React.TouchEvent) => {\n handlePointerPressedOut();\n onTouchEnd?.(event);\n }}\n type={type}\n borderRadius={buttonBorderRadiusValue}\n {...(buttonBorderRadii ? { borderRadii: buttonBorderRadii } : {})}\n {...(isGroupBorderCollapsed ? { isGroupBorderCollapsed } : {})}\n {...(isNonFirstInButtonGroup ? { isInsetShadowSidesFlattened: true } : {})}\n {...(isInsideFullWidthButtonGroup ? { isInsideFullWidthButtonGroup: true } : {})}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n height={height}\n width={width}\n isPressed={isPressed}\n hoverIconColor={\n isDisabled\n ? getIn(theme.colors, iconColor as DotNotationToken<Theme['colors']>)\n : hoverIconColor\n }\n onMouseDown={(event: React.MouseEvent) => {\n handlePointerPressedIn();\n onMouseDown?.(event);\n }}\n onMouseUp={handlePointerPressedOut}\n {...(!isReactNative()\n ? { onMouseOut: handlePointerPressedOut, onKeyUp: handleKeyboardPressedOut }\n : {})}\n shadowHighlightColor={effectiveShadowHighlightColor}\n shadowHighlightHeight={isNonFirstInButtonGroup ? undefined : shadowHighlightHeight}\n shadowBottomColor={shadowBottomColor}\n shadowBottomHeight={shadowBottomHeight}\n shadowBorderColor={shadowBorderColor}\n focusShadowBorderColor={focusShadowBorderColor}\n shadowRingWidth={shadowRingWidth}\n isShadowGradientVisible={showShadowGradient}\n {...metaAttribute({ name: MetaConstants.Button, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n >\n <AnimatedButtonContent\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n isPressed={isPressed}\n >\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top=\"0px\"\n left=\"0px\"\n bottom=\"0px\"\n right=\"0px\"\n zIndex={1}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n color={_spinnerColor ?? getSpinnerColor({ variant, color })}\n />\n </BaseBox>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n zIndex={1}\n >\n {Icon && iconPosition == 'left' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n {text ? (\n isChildrenComponent ? (\n children\n ) : (\n <BaseText\n marginX=\"spacing.2\"\n lineHeight={lineHeight}\n fontSize={fontSize}\n // figma and web have different font-smoothing properties\n // which causes web version of button text to look much bolder\n // than figma version. To fix this we are changing font-weight from 600 to 500\n // https://forum.figma.com/t/why-does-a-font-weight-in-figma-seem-lighter-than-the-same-weight-in-the-browser/2207\n fontWeight=\"medium\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n )\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <BaseBox display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </BaseBox>\n ) : null}\n </ButtonContent>\n </AnimatedButtonContent>\n </StyledBaseButton>\n );\n};\n\nconst BaseButton = assignWithoutSideEffects(React.forwardRef(_BaseButton), {\n displayName: 'BaseButton',\n});\n\nexport default BaseButton;\n"],"names":["isStaticOrTransparentColor","color","getSpinnerColor","_ref","variant","spinnerColor","black","primary","base","assertBlackIsPrimary","throwBladeError","moduleName","message","getRenderElement","href","isReactNative","undefined","getBackgroundColorToken","_ref2","state","_state","gradientColor","tokens","backgroundGradient","white","Error","transparent","getBoxShadowToken","_ref3","tokenColor","boxShadow","getTextColorToken","_ref4","property","textColor","tertiary","getProps","_ref5","buttonTypographyTokens","childrenString","isDisabled","size","theme","hasIcon","_borderRadius","_iconSize","isIconOnly","trim","length","resolveBackgroundValue","value","startsWith","getIn","colors","getDefaultBackground","getBoxShadow","btnColor","shadowTokens","shadows","map","shadow","resolvedColor","y","blur","spread","join","getNativeShadowColors","resolveShadowColors","highlightColor","bottomColor","borderColor","highlightHeight","bottomHeight","ringWidth","resolved","Math","abs","defaultColors","focusColors","shadowHighlightColor","shadowHighlightHeight","shadowBottomColor","shadowBottomHeight","shadowBorderColor","focusShadowBorderColor","shadowRingWidth","isShadowGradientVisible","props","Object","assign","iconSize","buttonIconOnlySizeToIconSizeMap","buttonSizeToIconSizeMap","spinnerSize","buttonSizeToSpinnerSizeMap","fontSize","fonts","lineHeight","lineHeights","minHeight","makeSize","buttonMinHeight","height","buttonIconOnlyHeightWidth","width","iconColor","buttonPaddingTop","makeSpace","spacing","buttonPadding","top","buttonPaddingBottom","bottom","buttonPaddingLeft","left","buttonPaddingRight","right","text","defaultBackgroundColor","defaultBoxShadow","hoverBackgroundColor","hoverBoxShadow","hoverIconColor","focusBackgroundColor","focusBoxShadow","focusRingColor","borderRadius","makeBorderSize","border","radius","buttonBorderRadius","motionDuration","motionEasing","disabledBackgroundColor","ButtonContent","styled","BaseBox","_ref6","isHidden","opacity","_BaseButton","_ref7","ref","_buttonGroupProps$siz","_buttonGroupProps$var","_buttonGroupProps$col","_buttonGroupProps$siz2","_buttonGroupProps$isF","_accessibilityProps$r","_buttonGroupProps$var2","_buttonGroupProps$col2","_buttonGroupProps$siz3","_buttonGroupProps$isF2","target","rel","tabIndex","id","_ref7$variant","_ref7$color","_ref7$size","Icon","icon","_ref7$iconPosition","iconPosition","_ref7$isDisabled","_ref7$isFullWidth","isFullWidth","_ref7$isLoading","isLoading","onClick","onBlur","onKeyDown","_ref7$type","type","children","testID","onFocus","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","accessibilityProps","onTouchEnd","onTouchStart","_spinnerColor","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","buttonGroupProps","useButtonGroupContext","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","isLink","Boolean","getStringFromReactText","isChildrenComponent","isValidElement","disabled","__DEV__","prevLoading","usePrevious","useEffect","announce","useLayoutEffect","buttonIndex","setPressedButtonIndex","prev","_getProps","buttonTypography","renderElement","useMemo","defaultRole","isInsideRNButtonGroup","isInsideButtonGroup","buttonBorderRadiusValue","groupCornerRadius","isFirstInGroup","isFirstInButtonGroup","isLastInGroup","isLastInButtonGroup","buttonBorderRadii","topLeft","bottomLeft","topRight","bottomRight","isGroupBorderCollapsed","isNonFirstInButtonGroup","showShadowGradient","effectiveShadowHighlightColor","isInsideFullWidthButtonGroup","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","_jsx","StyledBaseButton","as","makeAccessible","role","event","borderRadii","isInsetShadowSidesFlattened","onMouseUp","onMouseOut","onKeyUp","metaAttribute","name","MetaConstants","Button","getStyledProps","makeAnalyticsAttribute","_jsxs","AnimatedButtonContent","display","justifyContent","alignItems","position","zIndex","BaseSpinner","accessibilityLabel","flexDirection","flex","BaseText","marginX","fontWeight","textAlign","BaseButton","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import '../../../utils/index.js';
|
|
|
3
3
|
import { size } from '../../../tokens/global/size.js';
|
|
4
4
|
import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
5
5
|
|
|
6
|
-
var backgroundGradient=function backgroundGradient(color){return {base:{primary:{default:`interactive.background.${color}.default`,highlighted:`interactive.background.${color}.highlighted`,disabled:`interactive.background.${color}.disabled`},secondary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},tertiary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},transparent:{default:'transparent',highlighted:'interactive.background.gray.faded',disabled:'interactive.background.gray.disabled'}},white:{primary:{default:'interactive.background.staticWhite.default',highlighted:'interactive.background.staticWhite.highlighted',disabled:'interactive.background.staticWhite.disabled'},secondary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'},tertiary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'}}};};var boxShadow=function boxShadow(color){return {base:{primary:{default:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.default`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],highlighted:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.highlighted`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],disabled:[]},secondary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},tertiary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},transparent:{default:[],highlighted:[],disabled:[]}},white:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.
|
|
6
|
+
var backgroundGradient=function backgroundGradient(color){return {base:{primary:{default:`interactive.background.${color}.default`,highlighted:`interactive.background.${color}.highlighted`,disabled:`interactive.background.${color}.disabled`},secondary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},tertiary:{default:'surface.background.gray.intense',highlighted:'surface.background.gray.intense',disabled:'interactive.background.staticWhite.ghost'},transparent:{default:'transparent',highlighted:'interactive.background.gray.faded',disabled:'interactive.background.gray.disabled'}},white:{primary:{default:'interactive.background.staticWhite.default',highlighted:'interactive.background.staticWhite.highlighted',disabled:'interactive.background.staticWhite.disabled'},secondary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'},tertiary:{default:'interactive.background.staticWhite.faded',highlighted:'interactive.background.staticBlack.faded',disabled:'interactive.background.gray.disabled'}},black:{primary:{default:'interactive.background.staticBlack.default',highlighted:'interactive.background.staticBlack.highlighted',disabled:'interactive.background.staticBlack.fadedHighlighted'}}};};var boxShadow=function boxShadow(color){return {base:{primary:{default:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.default`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],highlighted:[{y:-1.5,blur:0,spread:0,color:`interactive.border.${color}.highlighted`},{y:0,blur:0,spread:0.5,color:`interactive.border.${color}.highlighted`},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.faded'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.faded'}],disabled:[]},secondary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},tertiary:{default:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.default'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],highlighted:[{y:-1,blur:0.5,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.gray.highlighted'},{y:-1.5,blur:0,spread:0,color:'interactive.border.gray.default'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.gray.disabled'}]},transparent:{default:[],highlighted:[],disabled:[]}},white:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.fadedHighlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.fadedHighlighted'}],disabled:[]},secondary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]},tertiary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.fadedHighlighted'},{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.highlighted'}],disabled:[{y:0,blur:0,spread:1,color:'interactive.border.staticWhite.disabled'}]}},black:{primary:{default:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.highlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.highlighted'},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'}],highlighted:[{y:-1.5,blur:0,spread:0,color:'interactive.border.staticBlack.highlighted'},{y:0,blur:0,spread:0.5,color:'interactive.border.staticBlack.highlighted'},{y:1.5,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'},{y:-2,blur:0,spread:0,color:'interactive.border.staticWhite.fadedHighlighted'}],disabled:[]}}};};var textColor=function textColor(property){return {base:{primary:{default:`interactive.${property}.onPrimary.normal`,highlighted:`interactive.${property}.onPrimary.normal`,disabled:`interactive.${property}.primary.disabled`},secondary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`},tertiary:{default:`interactive.${property}.gray.normal`,highlighted:`interactive.${property}.gray.normal`,disabled:`interactive.${property}.gray.disabled`}},white:{primary:{default:`interactive.${property}.staticBlack.muted`,highlighted:`interactive.${property}.staticBlack.muted`,disabled:`interactive.${property}.staticBlack.disabled`},secondary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`},tertiary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},black:{primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.staticWhite.disabled`}},transparent:{tertiary:{default:property==='icon'?'interactive.icon.gray.muted':'surface.text.gray.normal',highlighted:property==='icon'?'interactive.icon.gray.subtle':'surface.text.gray.normal',disabled:`interactive.${property}.gray.disabled`}},color:function color(_color){return {primary:{default:`interactive.${property}.staticWhite.normal`,highlighted:`interactive.${property}.staticWhite.normal`,disabled:`interactive.${property}.${_color}.disabled`},secondary:{default:`interactive.${property}.${_color}.normal`,highlighted:`interactive.${property}.${_color}.normal`,disabled:`interactive.${property}.${_color}.disabled`}};}};};var typography={fonts:{size:{xsmall:75,small:75,medium:100,large:200}},lineHeights:{xsmall:75,small:75,medium:100,large:200}};var minHeight={xsmall:size[28],small:size[32],medium:size[36],large:size[48]};var buttonPadding={xsmall:{top:0,bottom:0,left:3,right:3},small:{top:0,bottom:0,left:3,right:3},medium:{top:0,bottom:0,left:4,right:4},large:{top:0,bottom:0,left:5,right:5}};var buttonBorderRadius={xsmall:'small',small:'small',medium:'small',large:'medium'};var buttonIconOnlyHeightWidth={xsmall:makeSize(size['28']),small:makeSize(size['32']),medium:makeSize(size['36']),large:makeSize(size['48'])};var buttonSizeToIconSizeMap={xsmall:'small',small:'small',medium:'medium',large:'medium'};var buttonIconOnlySizeToIconSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'medium'};var buttonSizeToSpinnerSizeMap={xsmall:'medium',small:'medium',medium:'medium',large:'large'};var spinnerColor={base:{primary:'primary',secondary:'neutral',tertiary:'neutral',transparent:'primary'},white:{primary:'white',secondary:'white',tertiary:'white'},black:{primary:'white'},positive:{primary:'positive',secondary:'positive'},negative:{primary:'negative',secondary:'negative'},notice:{primary:'notice',secondary:'notice'},information:{primary:'information',secondary:'information'},neutral:{primary:'neutral',secondary:'neutral'}};
|
|
7
7
|
|
|
8
8
|
export { backgroundGradient, boxShadow, buttonBorderRadius, buttonIconOnlyHeightWidth, buttonIconOnlySizeToIconSizeMap, buttonPadding, buttonSizeToIconSizeMap, buttonSizeToSpinnerSizeMap, minHeight, spinnerColor, textColor, typography };
|
|
9
9
|
//# sourceMappingURL=buttonTokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttonTokens.js","sources":["../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundGradient = (color: FeedbackColors | 'primary') => {\n return {\n base: {\n primary: {\n default: `interactive.background.${color}.default`,\n highlighted: `interactive.background.${color}.highlighted`,\n disabled: `interactive.background.${color}.disabled`,\n },\n secondary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n tertiary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n transparent: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n white: {\n primary: {\n default: 'interactive.background.staticWhite.default',\n highlighted: 'interactive.background.staticWhite.highlighted',\n disabled: 'interactive.background.staticWhite.disabled',\n },\n secondary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n tertiary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n } as const;\n};\n\ntype BoxShadowValue = {\n y: number;\n blur: number;\n spread: number;\n color: DotNotationToken<Theme['colors']>;\n};\n\ntype ButtonBoxShadow = BoxShadowValue[];\n\n/**\n * Box-shadow tokens for buttons (includes border + 3D effects)\n * Each shadow is: inset 0 {y}px {blur}px {spread}px {color}\n */\nconst boxShadow = (\n color: FeedbackColors | 'primary',\n): {\n base: Record<\n 'primary' | 'secondary' | 'tertiary' | 'transparent',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n white: Record<\n 'primary' | 'secondary' | 'tertiary',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n} => {\n return {\n base: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.default` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.highlighted` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n transparent: {\n default: [],\n highlighted: [],\n disabled: [],\n },\n },\n white: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticWhite.default' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticWhite.default' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n },\n };\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 5,\n right: 5,\n },\n};\n\nconst buttonBorderRadius = {\n xsmall: 'small',\n small: 'small',\n medium: 'small',\n large: 'medium',\n} as const;\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'large',\n};\n\n/**\n * Spinner color mapping based on button variant and color\n */\nconst spinnerColor = {\n base: {\n primary: 'primary',\n secondary: 'neutral',\n tertiary: 'neutral',\n transparent: 'primary',\n },\n white: {\n primary: 'white',\n secondary: 'white',\n tertiary: 'white',\n },\n positive: {\n primary: 'positive',\n secondary: 'positive',\n },\n negative: {\n primary: 'negative',\n secondary: 'negative',\n },\n notice: {\n primary: 'notice',\n secondary: 'notice',\n },\n information: {\n primary: 'information',\n secondary: 'information',\n },\n neutral: {\n primary: 'neutral',\n secondary: 'neutral',\n },\n} as const;\n\nexport {\n boxShadow,\n backgroundGradient,\n textColor,\n spinnerColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n};\n\nexport type { ButtonBoxShadow };\n"],"names":["backgroundGradient","color","base","primary","default","highlighted","disabled","secondary","tertiary","transparent","white","boxShadow","y","blur","spread","textColor","property","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonBorderRadius","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","spinnerColor","positive","negative","notice","information","neutral"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buttonTokens.js","sources":["../../../../../../src/components/Button/BaseButton/buttonTokens.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconSize } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\nimport type { Size } from '~tokens/global';\nimport { size } from '~tokens/global';\nimport type { FeedbackColors } from '~tokens/theme/theme';\nimport { makeSize } from '~utils';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\nexport type ButtonMinHeight = Size[28] | Size[32] | Size[36] | Size[48];\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst backgroundGradient = (color: FeedbackColors | 'primary') => {\n return {\n base: {\n primary: {\n default: `interactive.background.${color}.default`,\n highlighted: `interactive.background.${color}.highlighted`,\n disabled: `interactive.background.${color}.disabled`,\n },\n secondary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n tertiary: {\n default: 'surface.background.gray.intense',\n highlighted: 'surface.background.gray.intense',\n disabled: 'interactive.background.staticWhite.ghost',\n },\n transparent: {\n default: 'transparent',\n highlighted: 'interactive.background.gray.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n white: {\n primary: {\n default: 'interactive.background.staticWhite.default',\n highlighted: 'interactive.background.staticWhite.highlighted',\n disabled: 'interactive.background.staticWhite.disabled',\n },\n secondary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n tertiary: {\n default: 'interactive.background.staticWhite.faded',\n highlighted: 'interactive.background.staticBlack.faded',\n disabled: 'interactive.background.gray.disabled',\n },\n },\n // Only the `primary` emphasis exists in the design for the black color, which\n // is currently used by FloatingActionButton and is not exposed on `Button`.\n black: {\n primary: {\n default: 'interactive.background.staticBlack.default',\n highlighted: 'interactive.background.staticBlack.highlighted',\n disabled: 'interactive.background.staticBlack.fadedHighlighted',\n },\n },\n } as const;\n};\n\ntype BoxShadowValue = {\n y: number;\n blur: number;\n spread: number;\n color: DotNotationToken<Theme['colors']>;\n};\n\ntype ButtonBoxShadow = BoxShadowValue[];\n\n/**\n * Box-shadow tokens for buttons (includes border + 3D effects)\n * Each shadow is: inset 0 {y}px {blur}px {spread}px {color}\n */\nconst boxShadow = (\n color: FeedbackColors | 'primary',\n): {\n base: Record<\n 'primary' | 'secondary' | 'tertiary' | 'transparent',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n white: Record<\n 'primary' | 'secondary' | 'tertiary',\n Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>\n >;\n black: Record<'primary', Record<'default' | 'highlighted' | 'disabled', ButtonBoxShadow>>;\n} => {\n return {\n base: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.default` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: `interactive.border.${color}.highlighted` },\n { y: 0, blur: 0, spread: 0.5, color: `interactive.border.${color}.highlighted` },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.faded' },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.default' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n highlighted: [\n { y: -1, blur: 0.5, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.highlighted' },\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.gray.default' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.gray.disabled' }],\n },\n transparent: {\n default: [],\n highlighted: [],\n disabled: [],\n },\n },\n white: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n {\n y: 0,\n blur: 0,\n spread: 0.5,\n color: 'interactive.border.staticBlack.fadedHighlighted',\n },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n {\n y: 0,\n blur: 0,\n spread: 0.5,\n color: 'interactive.border.staticBlack.fadedHighlighted',\n },\n ],\n disabled: [],\n },\n secondary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n tertiary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.fadedHighlighted' },\n { y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.highlighted' },\n ],\n disabled: [{ y: 0, blur: 0, spread: 1, color: 'interactive.border.staticWhite.disabled' }],\n },\n },\n black: {\n primary: {\n default: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.highlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticBlack.highlighted' },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n ],\n highlighted: [\n { y: -1.5, blur: 0, spread: 0, color: 'interactive.border.staticBlack.highlighted' },\n { y: 0, blur: 0, spread: 0.5, color: 'interactive.border.staticBlack.highlighted' },\n { y: 1.5, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n { y: -2, blur: 0, spread: 0, color: 'interactive.border.staticWhite.fadedHighlighted' },\n ],\n disabled: [],\n },\n },\n };\n};\n\nconst textColor = (property: 'icon' | 'text') => {\n return {\n base: {\n primary: {\n default: `interactive.${property}.onPrimary.normal`,\n highlighted: `interactive.${property}.onPrimary.normal`,\n disabled: `interactive.${property}.primary.disabled`,\n },\n secondary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.gray.normal`,\n highlighted: `interactive.${property}.gray.normal`,\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n white: {\n primary: {\n default: `interactive.${property}.staticBlack.muted`,\n highlighted: `interactive.${property}.staticBlack.muted`,\n disabled: `interactive.${property}.staticBlack.disabled`,\n },\n secondary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n tertiary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n black: {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.staticWhite.disabled`,\n },\n },\n transparent: {\n tertiary: {\n default: property === 'icon' ? 'interactive.icon.gray.muted' : 'surface.text.gray.normal',\n highlighted:\n property === 'icon' ? 'interactive.icon.gray.subtle' : 'surface.text.gray.normal',\n disabled: `interactive.${property}.gray.disabled`,\n },\n },\n\n color: (color: FeedbackColors) => {\n return {\n primary: {\n default: `interactive.${property}.staticWhite.normal`,\n highlighted: `interactive.${property}.staticWhite.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n secondary: {\n default: `interactive.${property}.${color}.normal`,\n highlighted: `interactive.${property}.${color}.normal`,\n disabled: `interactive.${property}.${color}.disabled`,\n },\n } as const;\n },\n } as const;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: size[28],\n small: size[32],\n medium: size[36],\n large: size[48],\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 5,\n right: 5,\n },\n};\n\nconst buttonBorderRadius = {\n xsmall: 'small',\n small: 'small',\n medium: 'small',\n large: 'medium',\n} as const;\n\nconst buttonIconOnlyHeightWidth = {\n xsmall: makeSize(size['28']),\n small: makeSize(size['32']),\n medium: makeSize(size['36']),\n large: makeSize(size['48']),\n} as const;\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconSize> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'medium',\n large: 'large',\n};\n\n/**\n * Spinner color mapping based on button variant and color\n */\nconst spinnerColor = {\n base: {\n primary: 'primary',\n secondary: 'neutral',\n tertiary: 'neutral',\n transparent: 'primary',\n },\n white: {\n primary: 'white',\n secondary: 'white',\n tertiary: 'white',\n },\n black: {\n primary: 'white',\n },\n positive: {\n primary: 'positive',\n secondary: 'positive',\n },\n negative: {\n primary: 'negative',\n secondary: 'negative',\n },\n notice: {\n primary: 'notice',\n secondary: 'notice',\n },\n information: {\n primary: 'information',\n secondary: 'information',\n },\n neutral: {\n primary: 'neutral',\n secondary: 'neutral',\n },\n} as const;\n\nexport {\n boxShadow,\n backgroundGradient,\n textColor,\n spinnerColor,\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n buttonPadding,\n buttonIconOnlyHeightWidth,\n buttonBorderRadius,\n};\n\nexport type { ButtonBoxShadow };\n"],"names":["backgroundGradient","color","base","primary","default","highlighted","disabled","secondary","tertiary","transparent","white","black","boxShadow","y","blur","spread","textColor","property","typography","fonts","size","xsmall","small","medium","large","lineHeights","minHeight","buttonPadding","top","bottom","left","right","buttonBorderRadius","buttonIconOnlyHeightWidth","makeSize","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","spinnerColor","positive","negative","notice","information","neutral"],"mappings":"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"}
|