@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":"CommonChartComponents.web.js","sources":["../../../../../../../src/components/Charts/CommonChartComponents/CommonChartComponents.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {\n XAxis as RechartsXAxis,\n YAxis as RechartsYAxis,\n CartesianGrid as RechartsCartesianGrid,\n Tooltip as RechartsTooltip,\n Legend as RechartsLegend,\n ReferenceLine as RechartsReferenceLine,\n} from 'recharts';\nimport {\n getHighestColorInRange,\n isSequentialColor,\n sanitizeString,\n totalChartColors,\n} from '../utils';\nimport type {\n ChartReferenceLineProps,\n ChartXAxisProps,\n ChartYAxisProps,\n ChartTooltipProps,\n ChartLegendProps,\n ChartCartesianGridProps,\n Layout,\n ChartColorToken,\n DataColorMapping,\n SecondaryLabelMap,\n} from './types';\nimport {\n RECT_HEIGHT,\n TEXT_BASELINE,\n PADDING_VERTICAL,\n PADDING_HORIZONTAL,\n X_AXIS_TICK_LINE_HEIGHT,\n X_AXIS_TICK_START_DY,\n X_AXIS_LABEL_GAP,\n X_AXIS_LABEL_OFFSET,\n X_AXIS_LABEL_HEIGHT,\n LEGEND_MARGIN_TOP,\n X_OFFSET,\n componentId,\n} from './tokens';\nimport { calculateTextWidth } from './utils';\nimport { useCommonChartComponentsContext } from './CommonChartComponentsContext';\nimport getIn from '~utils/lodashButBetter/get';\nimport { Heading, Text } from '~components/Typography';\nimport { Box } from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useControllableState } from '~utils/useControllable';\n\n/**\n * Helper function to get the appropriate color for chart elements (tooltip, legend)\n *\n * This function resolves the color token for chart elements based on the chart type and color mapping.\n * The logic varies by chart type:\n * - For line/area charts: Returns the mapped color directly if it's not a custom color.\n * If it is a custom color, it maps to the highest color in the range (unless it's sequential).\n * - For sequential colors: Returns the mapped color as-is\n * - For other cases: Uses getHighestColorInRange to get the highest intensity color from the range,\n * with special handling for donut charts when custom colors are used or when there are more\n * data points than the default color palette\n *\n * @param dataKey - The data key for the chart element\n * @param name - The name/value of the chart element\n * @param dataColorMapping - Color mapping object\n * @param chartName - Type of chart (line, area, donut, etc.)\n * @returns The resolved color token\n */\nconst getChartColor = (\n dataKey: string,\n name: string,\n dataColorMapping: DataColorMapping,\n chartName: string | undefined,\n): ChartColorToken => {\n const colorKey = chartName === 'donut' ? sanitizeString(name ?? '') : dataKey;\n const mappedColorData = dataColorMapping?.[colorKey ?? ''];\n\n // Handle case where mappedColorData is undefined (e.g., during dynamic nameKey changes)\n if (!mappedColorData) {\n return 'data.background.categorical.azure.faint' as ChartColorToken;\n }\n\n const mappedColor = mappedColorData.colorToken;\n const isCustomColor = mappedColorData.isCustomColor;\n\n if ((chartName === 'line' || chartName === 'area') && !isCustomColor) {\n return mappedColor;\n }\n\n if (mappedColor && isSequentialColor(mappedColor)) {\n return mappedColor ?? 'data.background.categorical.azure.faint';\n }\n return getHighestColorInRange({\n colorToken: mappedColor ?? ('data.background.categorical.azure.faint' as ChartColorToken),\n followIntensityMapping:\n chartName === 'donut' &&\n (isCustomColor || Object.keys(dataColorMapping).length > totalChartColors),\n });\n};\n\n/**\n * Wraps text to fit within a given pixel width, breaking at word boundaries.\n * Returns an array of lines that each fit within the max width.\n */\nconst wrapTextToFit = (text: string, maxWidthPx: number, fontSize: number): string[] => {\n // Approximate average character width (varies by font, but ~0.5-0.6 of font size is common)\n const avgCharWidth = fontSize * 0.55;\n const maxCharsPerLine = Math.max(1, Math.floor(maxWidthPx / avgCharWidth));\n\n // If text fits in one line, return as-is\n if (text.length <= maxCharsPerLine) {\n return [text];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n if (currentLine.length === 0) {\n currentLine = word;\n } else if (currentLine.length + 1 + word.length <= maxCharsPerLine) {\n currentLine += ` ${word}`;\n } else {\n lines.push(currentLine);\n currentLine = word;\n }\n }\n\n if (currentLine.length > 0) {\n lines.push(currentLine);\n }\n\n return lines;\n};\n\n/**\n * Reusable component for rendering wrapped text labels in SVG.\n * Handles multi-line text rendering with configurable positioning.\n */\nconst wrappedTextLabel = ({\n text,\n maxWidth,\n fontSize,\n lineHeight,\n startDy,\n textAnchor,\n fill,\n fontFamily,\n fontWeight,\n letterSpacing,\n yOffset = 0,\n}: {\n text: string;\n maxWidth: number;\n fontSize: number;\n lineHeight: number;\n startDy: number;\n textAnchor: 'start' | 'middle' | 'end';\n fill: string;\n fontFamily: string;\n fontWeight: number;\n letterSpacing: number;\n yOffset?: number;\n}): { element: JSX.Element; height: number } => {\n const lines = wrapTextToFit(text, maxWidth, fontSize);\n const totalHeight = lines.length * lineHeight;\n\n const element = (\n <text\n x={0}\n y={yOffset}\n textAnchor={textAnchor}\n fill={fill}\n fontSize={fontSize}\n fontFamily={fontFamily}\n fontWeight={fontWeight}\n style={{ letterSpacing }}\n >\n {lines.map((line, index) => (\n <tspan key={index} x={0} dy={index === 0 ? startDy : lineHeight}>\n {line}\n </tspan>\n ))}\n </text>\n );\n\n return { element, height: totalHeight };\n};\n\n/**\n * Custom tick component for X-axis with automatic text wrapping.\n * - Primary label: Automatically wraps long text to multiple lines based on available width\n * - Secondary label: Optional label from pre-computed secondaryLabelMap (shown below primary, also supports wrapping)\n * - Edge alignment: For line/area charts, first/last ticks align start/end to prevent clipping.\n * For bar charts, all labels are center-aligned since bars are centered on tick positions.\n * - Reports calculated height via onHeightCalculated callback for dynamic axis sizing\n */\nconst CustomXAxisTick = ({\n x,\n y,\n payload,\n secondaryLabelMap,\n theme,\n tickWidth,\n chartName,\n onHeightCalculated,\n lastTick,\n tickFormatter,\n}: {\n x: number;\n y: number;\n payload: { value: string; index: number };\n secondaryLabelMap?: SecondaryLabelMap;\n theme: ReturnType<typeof useTheme>['theme'];\n tickWidth?: number;\n chartName?: string;\n onHeightCalculated?: (height: number) => void;\n lastTick: number;\n tickFormatter?: (value: string, index: number) => string;\n}): JSX.Element => {\n const fontSize = theme.typography.fonts.size[75];\n const maxWidth = tickWidth ? tickWidth * 0.9 : Infinity;\n\n // For bar charts, always center align labels since bars are centered on ticks\n // For line/area charts, align first tick left and last tick right to prevent clipping\n const shouldUseEdgeAlignment = chartName === 'line' || chartName === 'area';\n const isFirstTick = shouldUseEdgeAlignment && payload.index === 0;\n const isLastTick = shouldUseEdgeAlignment && payload.index === lastTick;\n\n const getTextAnchor = (): 'start' | 'middle' | 'end' => {\n if (isFirstTick) return 'start';\n if (isLastTick) return 'end';\n return 'middle';\n };\n const textAnchor = getTextAnchor();\n\n // Common text style props\n const textStyleProps = {\n maxWidth,\n fontSize,\n lineHeight: X_AXIS_TICK_LINE_HEIGHT,\n startDy: X_AXIS_TICK_START_DY,\n textAnchor,\n fill: theme.colors.surface.text.gray.muted,\n fontFamily: theme.typography.fonts.family.text,\n fontWeight: theme.typography.fonts.weight.regular,\n letterSpacing: theme.typography.letterSpacings[100],\n } as const;\n\n // Apply tickFormatter if provided, otherwise use raw value\n const displayValue = tickFormatter\n ? tickFormatter(payload.value, payload.index)\n : String(payload.value);\n\n // Primary label\n const primaryLabel = wrappedTextLabel({\n ...textStyleProps,\n text: displayValue,\n });\n\n // Secondary label from pre-computed map\n const secondaryValue = secondaryLabelMap?.[payload.index];\n\n const secondaryLabel =\n secondaryValue !== undefined\n ? wrappedTextLabel({\n ...textStyleProps,\n text: String(secondaryValue),\n // primaryLabel.height gives us where primary ends (relative to its startDy)\n // X_AXIS_LABEL_GAP adds the desired spacing between labels\n yOffset: primaryLabel.height + X_AXIS_LABEL_GAP,\n })\n : null;\n\n // Calculate total tick height and report it\n const totalTickHeight =\n X_AXIS_TICK_START_DY +\n primaryLabel.height +\n (secondaryLabel ? X_AXIS_LABEL_GAP + secondaryLabel.height : 0);\n\n React.useEffect(() => {\n onHeightCalculated?.(totalTickHeight);\n }, [totalTickHeight, onHeightCalculated]);\n\n return (\n <g transform={`translate(${x},${y})`}>\n {primaryLabel.element}\n {secondaryLabel?.element}\n </g>\n );\n};\n\nconst _ChartXAxis: React.FC<ChartXAxisProps> = ({\n interval = 0,\n tickLine = false,\n label,\n dataKey,\n height,\n tickFormatter,\n ...props\n}) => {\n const { theme } = useTheme();\n const { secondaryLabelMap, chartName, dataLength } = useCommonChartComponentsContext();\n // We don't want to pass secondaryDataKey to recharts\n const { secondaryDataKey: _unusedsecondaryDataKey, ...restProps } = props;\n\n // Calculate tick count from dataLength\n const totalTickCount = dataLength ?? 1;\n\n // Calculate visible tick count based on interval\n // When interval is a number: 0 = show all, 1 = every 2nd, 2 = every 3rd, etc.\n const visibleTickCount =\n typeof interval === 'number' ? Math.ceil(totalTickCount / (interval + 1)) : totalTickCount; // For string intervals like 'preserveStart', use total as fallback\n\n const lastTick = totalTickCount - 1;\n\n // State to track the maximum tick height reported by CustomXAxisTick components\n const minHeight = secondaryLabelMap ? 20 : 10;\n const [maxTickHeight, setMaxTickHeight] = React.useState(minHeight);\n\n // Callback to update max height when ticks report their calculated height\n const handleHeightCalculated = React.useCallback((height: number) => {\n setMaxTickHeight((prev) => Math.max(prev, height));\n }, []);\n\n // Calculate total axis height:\n // - Tick labels height (dynamic)\n // - X-axis label height + offset, always reserved so the gap between the\n // axis and elements below it (e.g. legend) stays constant whether or not\n // the `label` prop is present\n const axisLabelSpace = X_AXIS_LABEL_OFFSET + X_AXIS_LABEL_HEIGHT;\n const baseHeight = Math.max(maxTickHeight) + axisLabelSpace;\n\n // Position for X-axis label: below tick labels with offset\n const axisLabelY = maxTickHeight + X_AXIS_LABEL_OFFSET + X_AXIS_LABEL_HEIGHT / 2;\n\n return (\n <RechartsXAxis\n {...restProps}\n height={baseHeight || height}\n interval={interval}\n tick={(tickProps: {\n x: string | number;\n y: string | number;\n payload: { value: string; index: number };\n width?: string | number;\n }) => {\n // Calculate available width per tick from the total chart width\n const tickWidth = Number(tickProps.width ?? 0) / visibleTickCount;\n return (\n <CustomXAxisTick\n x={Number(tickProps.x)}\n y={Number(tickProps.y)}\n payload={tickProps.payload}\n secondaryLabelMap={secondaryLabelMap}\n theme={theme}\n tickWidth={tickWidth}\n lastTick={lastTick}\n chartName={chartName}\n onHeightCalculated={handleHeightCalculated}\n tickFormatter={tickFormatter}\n />\n );\n }}\n tickLine={tickLine}\n stroke={theme.colors.surface.border.gray.muted}\n label={({ viewBox }: { viewBox: { x: number; y: number; width: number } }) => (\n <text\n x={viewBox.x + viewBox.width / 2 - X_OFFSET}\n y={viewBox.y + axisLabelY}\n textAnchor=\"middle\"\n fill={theme.colors.surface.text.gray.muted}\n fontSize={theme.typography.fonts.size[75]}\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.regular}\n letterSpacing={theme.typography.letterSpacings[100]}\n >\n {label}\n </text>\n )}\n dataKey={dataKey}\n />\n );\n};\n\nconst ChartXAxis = assignWithoutSideEffects(_ChartXAxis, {\n componentId: componentId.chartXAxis,\n});\n\nconst ChartYAxis: React.FC<ChartYAxisProps> = (props) => {\n const { theme } = useTheme();\n\n return (\n <RechartsYAxis\n {...props}\n tick={{\n fill: theme.colors.surface.text.gray.muted,\n fontSize: theme.typography.fonts.size[75],\n fontFamily: theme.typography.fonts.family.text,\n fontWeight: theme.typography.fonts.weight.regular,\n letterSpacing: theme.typography.letterSpacings[100],\n }}\n tickLine={false}\n stroke={theme.colors.surface.border.gray.muted}\n label={{\n value: props?.label,\n position: 'insideLeft',\n style: {\n textAnchor: 'middle',\n fill: theme.colors.surface.text.gray.muted,\n fontSize: theme.typography.fonts.size[75],\n fontWeight: theme.typography.fonts.weight.regular,\n fontFamily: theme.typography.fonts.family.text,\n letterSpacing: theme.typography.letterSpacings[100],\n lineHeight: theme.typography.lineHeights[500],\n },\n angle: -90,\n fill: theme.colors.surface.text.gray.subtle,\n }}\n dataKey={props?.dataKey}\n />\n );\n};\n\nconst ChartCartesianGrid: React.FC<ChartCartesianGridProps> = (props) => {\n const { theme } = useTheme();\n\n return (\n <RechartsCartesianGrid\n stroke={theme.colors.surface.border.gray.muted}\n vertical={false}\n {...props}\n />\n );\n};\n\nconst CustomTooltip = ({\n item,\n}: {\n item: {\n name: string;\n value: string;\n color: string;\n dataKey: string;\n payload: { fill: string };\n };\n}): JSX.Element => {\n const { theme } = useTheme();\n const { dataColorMapping, chartName } = useCommonChartComponentsContext();\n\n const toolTipColor = getChartColor(item.dataKey, item.name, dataColorMapping ?? {}, chartName);\n return (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"spacing.4\"\n key={`tooltip-${item.name}`}\n >\n <Box display=\"flex\" gap=\"spacing.3\" alignItems=\"center\" justifyContent=\"center\">\n <div\n style={{\n width: theme.spacing[4],\n height: theme.spacing[4],\n backgroundColor: getIn(theme.colors, toolTipColor),\n borderRadius: theme.border.radius.small,\n }}\n />\n <Text size=\"small\" weight=\"regular\" color=\"surface.text.staticWhite.normal\">\n {item.name}\n </Text>\n </Box>\n <Text size=\"small\" weight=\"regular\" color=\"surface.text.staticWhite.normal\">\n {item.value}\n </Text>\n </Box>\n );\n};\n\nconst ChartTooltip: React.FC<ChartTooltipProps> = (props) => {\n const { theme } = useTheme();\n return (\n <RechartsTooltip\n content={({ payload, label }) => {\n const filteredPayLoad = payload.filter((item) => item.type !== 'none');\n return (\n <div\n style={{\n backgroundColor: theme.colors.surface.icon.staticBlack.normal,\n borderRadius: theme.border.radius.large,\n border: `1px solid ${theme.colors.surface.border.gray.muted}`,\n padding: theme.spacing[4],\n }}\n >\n <Heading size=\"small\" weight=\"semibold\" color=\"surface.text.staticWhite.normal\">\n {label}\n </Heading>\n <Box paddingTop={label ? 'spacing.4' : undefined}>\n {filteredPayLoad.map((item) => (\n <CustomTooltip item={item} key={item.name} />\n ))}\n </Box>\n </div>\n );\n }}\n cursor={{ fill: 'transparent', stroke: 'transparent' }}\n {...props}\n />\n );\n};\n\nconst StyledLegendWrapper = styled.button<{ $isHidden: boolean; $isClickable: boolean }>(\n ({ theme, $isHidden, $isClickable }) => ({\n display: 'flex',\n alignItems: 'center',\n cursor: $isClickable ? 'pointer' : 'default',\n opacity: $isHidden ? 0.4 : 1,\n background: 'none',\n border: 'none',\n padding: theme.spacing[2],\n '& p': {\n color: theme.colors.surface.text.gray.muted,\n textDecoration: $isHidden ? 'line-through' : 'none',\n transition: $isClickable\n ? `color ${theme.motion.duration.xquick}ms ${theme.motion.easing.linear}`\n : 'none',\n },\n '&:hover p': {\n color: $isClickable\n ? theme.colors.surface.text.gray.normal\n : theme.colors.surface.text.gray.muted,\n },\n }),\n);\n\nconst LegendItem = ({\n entry,\n index,\n isSelected,\n onClick,\n isClickable,\n}: {\n entry: { color: string; value: string; dataKey: string };\n index: number;\n isSelected: boolean;\n onClick: (dataKey: string) => void;\n isClickable: boolean;\n}): JSX.Element => {\n const { theme } = useTheme();\n const { dataColorMapping, chartName } = useCommonChartComponentsContext();\n\n const legendColor = getChartColor(entry.dataKey, entry.value, dataColorMapping ?? {}, chartName);\n\n // For donut charts, use sanitized value (name) as the key, for other charts use dataKey\n const legendKey = chartName === 'donut' ? sanitizeString(entry.value ?? '') : entry.dataKey;\n\n return (\n <StyledLegendWrapper\n key={`item-${index}`}\n $isHidden={!isSelected}\n $isClickable={isClickable}\n onClick={\n isClickable\n ? () => {\n onClick(legendKey);\n }\n : undefined\n }\n type=\"button\"\n >\n <Box display=\"flex\" gap=\"spacing.3\" justifyContent=\"center\" alignItems=\"center\">\n <span\n style={{\n backgroundColor: getIn(theme.colors, legendColor),\n width: theme.spacing[4],\n height: theme.spacing[4],\n display: 'inline-block',\n borderRadius: theme.border.radius['2xsmall'],\n }}\n />\n <Text size=\"medium\" color=\"surface.text.gray.muted\">\n {entry.value}\n </Text>\n </Box>\n </StyledLegendWrapper>\n );\n};\n\nconst CustomSquareLegend = (props: {\n payload?: Array<{\n payload: {\n legendType: 'none' | 'line';\n type: 'none' | 'line';\n };\n value: string;\n color: string;\n type: 'none' | 'line';\n dataKey: string;\n }>;\n layout: Layout;\n selectedDataKeys: string[];\n onClick: (dataKey: string) => void;\n}): JSX.Element | null => {\n const { payload, layout, selectedDataKeys, onClick } = props;\n const { chartName, dataColorMapping } = useCommonChartComponentsContext();\n\n /*\n This is a custom legend component that is used to display the legend for the chart.\n we need to show the legend only if the legendType is not none. (for example in line chart we don't want to show the legend for the reference line)\n so we are filtering the payload and then mapping over it to display the legend.\n \n For donut charts, we use dataColorMapping directly instead of payload because:\n - When legend items are clicked, the donut data gets filtered\n - This causes the payload to lose the filtered items\n - But we need all legend items to remain visible so users can toggle them back\n - dataColorMapping always contains all the original data keys\n */\n const isVerticalLayout = layout === 'vertical';\n const isClickable =\n chartName === 'line' || chartName === 'area' || chartName === 'bar' || chartName === 'donut';\n\n // For donut charts, generate legend entries from dataColorMapping (which has all keys)\n if (chartName === 'donut' && dataColorMapping) {\n const donutLegendEntries = Object.keys(dataColorMapping).map((key) => ({\n value: key, // The sanitized name\n dataKey: key,\n color: dataColorMapping[key].colorToken,\n }));\n\n if (donutLegendEntries.length === 0) {\n return null;\n }\n\n return (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n gap=\"spacing.5\"\n flexDirection={isVerticalLayout ? 'column' : 'row'}\n width={isVerticalLayout ? '100%' : 'auto'}\n flexWrap=\"wrap\"\n >\n {donutLegendEntries.map((entry, index) => (\n <LegendItem\n entry={entry}\n index={index}\n key={`item-${index}`}\n isSelected={selectedDataKeys.includes(entry.dataKey)}\n onClick={onClick}\n isClickable={isClickable}\n />\n ))}\n </Box>\n );\n }\n\n // For other chart types, use the payload from recharts\n if (!payload || payload.length === 0) {\n return null;\n }\n\n const filteredPayload = payload.filter(\n (entry) => entry?.payload?.legendType !== 'none' && entry?.type !== 'none',\n );\n\n return (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n gap=\"spacing.5\"\n flexDirection={isVerticalLayout ? 'column' : 'row'}\n width={isVerticalLayout ? '100%' : 'auto'}\n flexWrap=\"wrap\"\n >\n {filteredPayload.map((entry, index) => (\n <LegendItem\n entry={entry}\n index={index}\n key={`item-${index}`}\n isSelected={selectedDataKeys.includes(entry.dataKey)}\n onClick={onClick}\n isClickable={isClickable}\n />\n ))}\n </Box>\n );\n};\n\nconst _ChartLegend: React.FC<ChartLegendProps> = ({\n selectedDataKeys: selectedDataKeysProp,\n defaultSelectedDataKeys,\n onSelectedDataKeysChange,\n ...props\n}) => {\n const { theme } = useTheme();\n const { dataColorMapping, setSelectedDataKeys } = useCommonChartComponentsContext();\n const hasUserInteractedRef = React.useRef(false);\n const isControlled = selectedDataKeysProp !== undefined;\n const shouldAutoSelectAllDataKeys = !isControlled && defaultSelectedDataKeys === undefined;\n\n // Get all available dataKeys from the chart\n const allDataKeys = React.useMemo(() => Object.keys(dataColorMapping ?? {}), [dataColorMapping]);\n\n // Use controllable state for selected keys\n const [selectedKeysArray, setSelectedKeysArray] = useControllableState({\n value: selectedDataKeysProp,\n defaultValue: defaultSelectedDataKeys ?? allDataKeys,\n });\n\n React.useEffect(() => {\n if (!shouldAutoSelectAllDataKeys || hasUserInteractedRef.current || allDataKeys.length === 0) {\n return;\n }\n\n const isSelectedStateInSync =\n selectedKeysArray.length === allDataKeys.length &&\n allDataKeys.every((dataKey) => selectedKeysArray.includes(dataKey));\n\n if (!isSelectedStateInSync) {\n setSelectedKeysArray(() => [...allDataKeys], true);\n }\n }, [allDataKeys, selectedKeysArray, setSelectedKeysArray, shouldAutoSelectAllDataKeys]);\n\n // Reset selection when allDataKeys completely changes (e.g., when nameKey prop changes)\n // This detects when none of the currently selected keys exist in the new data keys\n React.useEffect(() => {\n if (allDataKeys.length > 0 && selectedKeysArray.length > 0) {\n const hasOverlap = selectedKeysArray.some((key) => allDataKeys.includes(key));\n if (!hasOverlap) {\n // The data keys have completely changed, reset to all keys\n setSelectedKeysArray(() => [...allDataKeys]);\n }\n }\n }, [allDataKeys, selectedKeysArray, setSelectedKeysArray]);\n\n // Sync selectedDataKeys to context's selectedDataKeys\n React.useEffect(() => {\n setSelectedDataKeys?.(selectedKeysArray);\n }, [selectedKeysArray, setSelectedDataKeys]);\n\n // Handle toggle\n const handleClick = React.useCallback(\n (dataKey: string) => {\n hasUserInteractedRef.current = true;\n const newSelectedKeys = selectedKeysArray.includes(dataKey)\n ? selectedKeysArray.filter((key) => key !== dataKey)\n : [...selectedKeysArray, dataKey];\n\n setSelectedKeysArray(() => newSelectedKeys);\n onSelectedDataKeysChange?.({ dataKey, selectedKeysArray: newSelectedKeys });\n },\n [setSelectedKeysArray, selectedKeysArray, onSelectedDataKeysChange],\n );\n\n return (\n <RechartsLegend\n wrapperStyle={{\n fontFamily: theme.typography.fonts.family.text,\n fontSize: theme.typography.fonts.size[100],\n color: theme.colors.surface.text.gray.normal,\n paddingTop: LEGEND_MARGIN_TOP,\n }}\n align=\"center\"\n verticalAlign={props.layout === 'vertical' ? 'middle' : 'bottom'}\n content={\n <CustomSquareLegend\n layout={props.layout ?? 'horizontal'}\n selectedDataKeys={selectedKeysArray}\n onClick={handleClick}\n />\n }\n {...props}\n />\n );\n};\n\nconst ChartLegend = assignWithoutSideEffects(_ChartLegend, {\n componentId: componentId.chartLegend,\n});\n\nconst CustomReferenceLabel = ({\n viewBox,\n value,\n isVertical,\n}: {\n viewBox?: { x: number; y: number; width: number };\n value: string | undefined;\n isVertical: boolean;\n}): JSX.Element => {\n // Extract viewBox coordinates with fallback values to prevent undefined errors.\n // viewBox contains the positioning information for the reference line label from Recharts.\n const { x, y, width } = viewBox ?? { x: 0, y: 0, width: 0 };\n const { theme } = useTheme();\n\n // Calculate dynamic text width to ensure the background rectangle fits the text perfectly.\n // This prevents text overflow for long labels and avoids unnecessarily large rectangles for short text.\n // The function also handles text truncation with ellipsis if the text exceeds the maximum width.\n const { width: RECT_WIDTH, displayText } = value\n ? calculateTextWidth(value, theme)\n : { width: 80, displayText: value ?? '' };\n\n const rect_x = isVertical ? x + width - RECT_WIDTH / 2 : x + width - RECT_WIDTH;\n const rect_y = isVertical ? y : y - TEXT_BASELINE;\n // Text position with padding inside the rectangle\n const text_x = rect_x + PADDING_HORIZONTAL + (RECT_WIDTH - PADDING_HORIZONTAL * 2) / 2;\n const text_y = rect_y + PADDING_VERTICAL + TEXT_BASELINE; // +15 for text baseline\n\n return (\n <g>\n <rect\n x={rect_x}\n y={rect_y}\n width={RECT_WIDTH}\n height={RECT_HEIGHT}\n rx={theme.border.radius.medium}\n fill={theme.colors.surface.background.gray.subtle}\n stroke={theme.colors.surface.border.gray.muted}\n strokeWidth=\"1\"\n />\n <text\n x={text_x}\n y={text_y}\n textAnchor=\"middle\"\n fill={theme.colors.surface.text.gray.normal}\n fontSize={theme.typography.fonts.size[50]}\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.medium}\n letterSpacing={theme.typography.letterSpacings[100]}\n >\n {displayText}\n </text>\n </g>\n );\n};\n\nconst ChartReferenceLine: React.FC<ChartReferenceLineProps> = ({ label, x, y }) => {\n const { theme } = useTheme();\n return (\n <RechartsReferenceLine\n stroke={theme.colors.data.background.categorical.gray.intense}\n strokeWidth={2}\n strokeDasharray=\"4 4\"\n label={<CustomReferenceLabel value={label} isVertical={Boolean(x)} />}\n x={x}\n y={y}\n />\n );\n};\n\nexport {\n ChartXAxis,\n ChartYAxis,\n ChartCartesianGrid,\n ChartLegend,\n ChartTooltip,\n ChartReferenceLine,\n};\n"],"names":["getChartColor","dataKey","name","dataColorMapping","chartName","colorKey","sanitizeString","mappedColorData","mappedColor","colorToken","isCustomColor","isSequentialColor","getHighestColorInRange","followIntensityMapping","Object","keys","length","totalChartColors","wrapTextToFit","text","maxWidthPx","fontSize","avgCharWidth","maxCharsPerLine","Math","max","floor","words","split","lines","currentLine","_iterator","_createForOfIteratorHelper","_step","s","n","done","word","value","concat","push","err","e","f","wrappedTextLabel","_ref","maxWidth","lineHeight","startDy","textAnchor","fill","fontFamily","fontWeight","letterSpacing","_ref$yOffset","yOffset","totalHeight","element","_jsx","x","y","style","children","map","line","index","dy","height","CustomXAxisTick","_ref2","payload","secondaryLabelMap","theme","tickWidth","onHeightCalculated","lastTick","tickFormatter","typography","fonts","size","Infinity","shouldUseEdgeAlignment","isFirstTick","isLastTick","getTextAnchor","textStyleProps","X_AXIS_TICK_LINE_HEIGHT","X_AXIS_TICK_START_DY","colors","surface","gray","muted","family","weight","regular","letterSpacings","displayValue","String","primaryLabel","_objectSpread","secondaryValue","secondaryLabel","undefined","X_AXIS_LABEL_GAP","totalTickHeight","React","useEffect","_jsxs","transform","_ChartXAxis","_ref3","_ref3$interval","interval","_ref3$tickLine","tickLine","label","props","_objectWithoutProperties","_excluded","_useTheme","useTheme","_useCommonChartCompon","useCommonChartComponentsContext","dataLength","_unusedsecondaryDataKey","secondaryDataKey","restProps","_excluded2","totalTickCount","visibleTickCount","ceil","minHeight","_React$useState","useState","_React$useState2","_slicedToArray","maxTickHeight","setMaxTickHeight","handleHeightCalculated","useCallback","prev","axisLabelSpace","X_AXIS_LABEL_OFFSET","X_AXIS_LABEL_HEIGHT","baseHeight","axisLabelY","RechartsXAxis","tick","tickProps","_tickProps$width","Number","width","stroke","border","_ref4","viewBox","X_OFFSET","ChartXAxis","assignWithoutSideEffects","componentId","chartXAxis","ChartYAxis","_useTheme2","RechartsYAxis","position","lineHeights","angle","subtle","ChartCartesianGrid","_useTheme3","RechartsCartesianGrid","vertical","CustomTooltip","_ref5","item","_useTheme4","_useCommonChartCompon2","toolTipColor","Box","display","alignItems","justifyContent","gap","spacing","backgroundColor","getIn","borderRadius","radius","small","Text","color","ChartTooltip","_useTheme5","RechartsTooltip","content","_ref6","filteredPayLoad","filter","type","icon","staticBlack","normal","large","padding","Heading","paddingTop","cursor","StyledLegendWrapper","styled","button","withConfig","displayName","_ref7","$isHidden","$isClickable","opacity","background","textDecoration","transition","motion","duration","xquick","easing","linear","LegendItem","_ref8","_entry$value","entry","isSelected","onClick","isClickable","_useTheme6","_useCommonChartCompon3","legendColor","legendKey","CustomSquareLegend","layout","selectedDataKeys","_useCommonChartCompon4","isVerticalLayout","donutLegendEntries","key","flexDirection","flexWrap","includes","filteredPayload","_entry$payload","legendType","_ChartLegend","_ref9","_props$layout","selectedDataKeysProp","defaultSelectedDataKeys","onSelectedDataKeysChange","_excluded3","_useTheme7","_useCommonChartCompon5","setSelectedDataKeys","hasUserInteractedRef","useRef","isControlled","shouldAutoSelectAllDataKeys","allDataKeys","useMemo","_useControllableState","useControllableState","defaultValue","_useControllableState2","selectedKeysArray","setSelectedKeysArray","current","isSelectedStateInSync","every","_toConsumableArray","hasOverlap","some","handleClick","newSelectedKeys","RechartsLegend","wrapperStyle","LEGEND_MARGIN_TOP","align","verticalAlign","ChartLegend","chartLegend","CustomReferenceLabel","_ref0","isVertical","_ref1","_useTheme8","_ref10","calculateTextWidth","displayText","RECT_WIDTH","rect_x","rect_y","TEXT_BASELINE","text_x","PADDING_HORIZONTAL","text_y","PADDING_VERTICAL","RECT_HEIGHT","rx","medium","strokeWidth","ChartReferenceLine","_ref11","_useTheme9","RechartsReferenceLine","data","categorical","intense","strokeDasharray","Boolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommonChartComponents.web.js","sources":["../../../../../../../src/components/Charts/CommonChartComponents/CommonChartComponents.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {\n XAxis as RechartsXAxis,\n YAxis as RechartsYAxis,\n CartesianGrid as RechartsCartesianGrid,\n Tooltip as RechartsTooltip,\n Legend as RechartsLegend,\n ReferenceLine as RechartsReferenceLine,\n Line as RechartsLine,\n} from 'recharts';\nimport {\n getHighestColorInRange,\n isSequentialColor,\n sanitizeString,\n totalChartColors,\n} from '../utils';\nimport type {\n ChartReferenceLineProps,\n ChartReferenceBandProps,\n ChartXAxisProps,\n ChartYAxisProps,\n ChartTooltipProps,\n ChartLegendProps,\n ChartCartesianGridProps,\n Layout,\n ChartColorToken,\n DataColorMapping,\n SecondaryLabelMap,\n} from './types';\nimport {\n RECT_HEIGHT,\n TEXT_BASELINE,\n PADDING_VERTICAL,\n PADDING_HORIZONTAL,\n X_AXIS_TICK_LINE_HEIGHT,\n X_AXIS_TICK_START_DY,\n X_AXIS_LABEL_GAP,\n X_AXIS_LABEL_OFFSET,\n X_AXIS_LABEL_HEIGHT,\n LEGEND_MARGIN_TOP,\n X_OFFSET,\n REFERENCE_BAND_LOWER_CLASS,\n REFERENCE_BAND_UPPER_CLASS,\n componentId,\n} from './tokens';\nimport { calculateTextWidth } from './utils';\nimport { useCommonChartComponentsContext } from './CommonChartComponentsContext';\nimport getIn from '~utils/lodashButBetter/get';\nimport { Heading, Text } from '~components/Typography';\nimport { Box } from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useControllableState } from '~utils/useControllable';\n\n/**\n * Helper function to get the appropriate color for chart elements (tooltip, legend)\n *\n * This function resolves the color token for chart elements based on the chart type and color mapping.\n * The logic varies by chart type:\n * - For line/area charts: Returns the mapped color directly if it's not a custom color.\n * If it is a custom color, it maps to the highest color in the range (unless it's sequential).\n * - For sequential colors: Returns the mapped color as-is\n * - For other cases: Uses getHighestColorInRange to get the highest intensity color from the range,\n * with special handling for donut charts when custom colors are used or when there are more\n * data points than the default color palette\n *\n * @param dataKey - The data key for the chart element\n * @param name - The name/value of the chart element\n * @param dataColorMapping - Color mapping object\n * @param chartName - Type of chart (line, area, donut, etc.)\n * @returns The resolved color token\n */\nconst getChartColor = (\n dataKey: string,\n name: string,\n dataColorMapping: DataColorMapping,\n chartName: string | undefined,\n): ChartColorToken => {\n const colorKey = chartName === 'donut' ? sanitizeString(name ?? '') : dataKey;\n const mappedColorData = dataColorMapping?.[colorKey ?? ''];\n\n // Handle case where mappedColorData is undefined (e.g., during dynamic nameKey changes)\n if (!mappedColorData) {\n return 'data.background.categorical.azure.faint' as ChartColorToken;\n }\n\n const mappedColor = mappedColorData.colorToken;\n const isCustomColor = mappedColorData.isCustomColor;\n\n if ((chartName === 'line' || chartName === 'area') && !isCustomColor) {\n return mappedColor;\n }\n\n if (mappedColor && isSequentialColor(mappedColor)) {\n return mappedColor ?? 'data.background.categorical.azure.faint';\n }\n return getHighestColorInRange({\n colorToken: mappedColor ?? ('data.background.categorical.azure.faint' as ChartColorToken),\n followIntensityMapping:\n chartName === 'donut' &&\n (isCustomColor || Object.keys(dataColorMapping).length > totalChartColors),\n });\n};\n\n/**\n * Wraps text to fit within a given pixel width, breaking at word boundaries.\n * Returns an array of lines that each fit within the max width.\n */\nconst wrapTextToFit = (text: string, maxWidthPx: number, fontSize: number): string[] => {\n // Approximate average character width (varies by font, but ~0.5-0.6 of font size is common)\n const avgCharWidth = fontSize * 0.55;\n const maxCharsPerLine = Math.max(1, Math.floor(maxWidthPx / avgCharWidth));\n\n // If text fits in one line, return as-is\n if (text.length <= maxCharsPerLine) {\n return [text];\n }\n\n const words = text.split(' ');\n const lines: string[] = [];\n let currentLine = '';\n\n for (const word of words) {\n if (currentLine.length === 0) {\n currentLine = word;\n } else if (currentLine.length + 1 + word.length <= maxCharsPerLine) {\n currentLine += ` ${word}`;\n } else {\n lines.push(currentLine);\n currentLine = word;\n }\n }\n\n if (currentLine.length > 0) {\n lines.push(currentLine);\n }\n\n return lines;\n};\n\n/**\n * Reusable component for rendering wrapped text labels in SVG.\n * Handles multi-line text rendering with configurable positioning.\n */\nconst wrappedTextLabel = ({\n text,\n maxWidth,\n fontSize,\n lineHeight,\n startDy,\n textAnchor,\n fill,\n fontFamily,\n fontWeight,\n letterSpacing,\n yOffset = 0,\n}: {\n text: string;\n maxWidth: number;\n fontSize: number;\n lineHeight: number;\n startDy: number;\n textAnchor: 'start' | 'middle' | 'end';\n fill: string;\n fontFamily: string;\n fontWeight: number;\n letterSpacing: number;\n yOffset?: number;\n}): { element: JSX.Element; height: number } => {\n const lines = wrapTextToFit(text, maxWidth, fontSize);\n const totalHeight = lines.length * lineHeight;\n\n const element = (\n <text\n x={0}\n y={yOffset}\n textAnchor={textAnchor}\n fill={fill}\n fontSize={fontSize}\n fontFamily={fontFamily}\n fontWeight={fontWeight}\n style={{ letterSpacing }}\n >\n {lines.map((line, index) => (\n <tspan key={index} x={0} dy={index === 0 ? startDy : lineHeight}>\n {line}\n </tspan>\n ))}\n </text>\n );\n\n return { element, height: totalHeight };\n};\n\n/**\n * Custom tick component for X-axis with automatic text wrapping.\n * - Primary label: Automatically wraps long text to multiple lines based on available width\n * - Secondary label: Optional label from pre-computed secondaryLabelMap (shown below primary, also supports wrapping)\n * - Edge alignment: For line/area charts, first/last ticks align start/end to prevent clipping.\n * For bar charts, all labels are center-aligned since bars are centered on tick positions.\n * - Reports calculated height via onHeightCalculated callback for dynamic axis sizing\n */\nconst CustomXAxisTick = ({\n x,\n y,\n payload,\n secondaryLabelMap,\n theme,\n tickWidth,\n chartName,\n onHeightCalculated,\n lastTick,\n tickFormatter,\n}: {\n x: number;\n y: number;\n payload: { value: string; index: number };\n secondaryLabelMap?: SecondaryLabelMap;\n theme: ReturnType<typeof useTheme>['theme'];\n tickWidth?: number;\n chartName?: string;\n onHeightCalculated?: (height: number) => void;\n lastTick: number;\n tickFormatter?: (value: string, index: number) => string;\n}): JSX.Element => {\n const fontSize = theme.typography.fonts.size[75];\n const maxWidth = tickWidth ? tickWidth * 0.9 : Infinity;\n\n // For bar charts, always center align labels since bars are centered on ticks\n // For line/area charts, align first tick left and last tick right to prevent clipping\n const shouldUseEdgeAlignment = chartName === 'line' || chartName === 'area';\n const isFirstTick = shouldUseEdgeAlignment && payload.index === 0;\n const isLastTick = shouldUseEdgeAlignment && payload.index === lastTick;\n\n const getTextAnchor = (): 'start' | 'middle' | 'end' => {\n if (isFirstTick) return 'start';\n if (isLastTick) return 'end';\n return 'middle';\n };\n const textAnchor = getTextAnchor();\n\n // Common text style props\n const textStyleProps = {\n maxWidth,\n fontSize,\n lineHeight: X_AXIS_TICK_LINE_HEIGHT,\n startDy: X_AXIS_TICK_START_DY,\n textAnchor,\n fill: theme.colors.surface.text.gray.muted,\n fontFamily: theme.typography.fonts.family.text,\n fontWeight: theme.typography.fonts.weight.regular,\n letterSpacing: theme.typography.letterSpacings[100],\n } as const;\n\n // Apply tickFormatter if provided, otherwise use raw value\n const displayValue = tickFormatter\n ? tickFormatter(payload.value, payload.index)\n : String(payload.value);\n\n // Primary label\n const primaryLabel = wrappedTextLabel({\n ...textStyleProps,\n text: displayValue,\n });\n\n // Secondary label from pre-computed map\n const secondaryValue = secondaryLabelMap?.[payload.index];\n\n const secondaryLabel =\n secondaryValue !== undefined\n ? wrappedTextLabel({\n ...textStyleProps,\n text: String(secondaryValue),\n // primaryLabel.height gives us where primary ends (relative to its startDy)\n // X_AXIS_LABEL_GAP adds the desired spacing between labels\n yOffset: primaryLabel.height + X_AXIS_LABEL_GAP,\n })\n : null;\n\n // Calculate total tick height and report it\n const totalTickHeight =\n X_AXIS_TICK_START_DY +\n primaryLabel.height +\n (secondaryLabel ? X_AXIS_LABEL_GAP + secondaryLabel.height : 0);\n\n React.useEffect(() => {\n onHeightCalculated?.(totalTickHeight);\n }, [totalTickHeight, onHeightCalculated]);\n\n return (\n <g transform={`translate(${x},${y})`}>\n {primaryLabel.element}\n {secondaryLabel?.element}\n </g>\n );\n};\n\nconst _ChartXAxis: React.FC<ChartXAxisProps> = ({\n interval = 0,\n tickLine = false,\n label,\n dataKey,\n height,\n tickFormatter,\n ...props\n}) => {\n const { theme } = useTheme();\n const { secondaryLabelMap, chartName, dataLength } = useCommonChartComponentsContext();\n // We don't want to pass secondaryDataKey to recharts\n const { secondaryDataKey: _unusedsecondaryDataKey, ...restProps } = props;\n\n // Calculate tick count from dataLength\n const totalTickCount = dataLength ?? 1;\n\n // Calculate visible tick count based on interval\n // When interval is a number: 0 = show all, 1 = every 2nd, 2 = every 3rd, etc.\n const visibleTickCount =\n typeof interval === 'number' ? Math.ceil(totalTickCount / (interval + 1)) : totalTickCount; // For string intervals like 'preserveStart', use total as fallback\n\n const lastTick = totalTickCount - 1;\n\n // State to track the maximum tick height reported by CustomXAxisTick components\n const minHeight = secondaryLabelMap ? 20 : 10;\n const [maxTickHeight, setMaxTickHeight] = React.useState(minHeight);\n\n // Callback to update max height when ticks report their calculated height\n const handleHeightCalculated = React.useCallback((height: number) => {\n setMaxTickHeight((prev) => Math.max(prev, height));\n }, []);\n\n // Calculate total axis height:\n // - Tick labels height (dynamic)\n // - X-axis label height + offset, always reserved so the gap between the\n // axis and elements below it (e.g. legend) stays constant whether or not\n // the `label` prop is present\n const axisLabelSpace = X_AXIS_LABEL_OFFSET + X_AXIS_LABEL_HEIGHT;\n const baseHeight = Math.max(maxTickHeight) + axisLabelSpace;\n\n // Position for X-axis label: below tick labels with offset\n const axisLabelY = maxTickHeight + X_AXIS_LABEL_OFFSET + X_AXIS_LABEL_HEIGHT / 2;\n\n return (\n <RechartsXAxis\n {...restProps}\n height={baseHeight || height}\n interval={interval}\n tick={(tickProps: {\n x: string | number;\n y: string | number;\n payload: { value: string; index: number };\n width?: string | number;\n }) => {\n // Calculate available width per tick from the total chart width\n const tickWidth = Number(tickProps.width ?? 0) / visibleTickCount;\n return (\n <CustomXAxisTick\n x={Number(tickProps.x)}\n y={Number(tickProps.y)}\n payload={tickProps.payload}\n secondaryLabelMap={secondaryLabelMap}\n theme={theme}\n tickWidth={tickWidth}\n lastTick={lastTick}\n chartName={chartName}\n onHeightCalculated={handleHeightCalculated}\n tickFormatter={tickFormatter}\n />\n );\n }}\n tickLine={tickLine}\n stroke={theme.colors.surface.border.gray.muted}\n label={({ viewBox }: { viewBox: { x: number; y: number; width: number } }) => (\n <text\n x={viewBox.x + viewBox.width / 2 - X_OFFSET}\n y={viewBox.y + axisLabelY}\n textAnchor=\"middle\"\n fill={theme.colors.surface.text.gray.muted}\n fontSize={theme.typography.fonts.size[75]}\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.regular}\n letterSpacing={theme.typography.letterSpacings[100]}\n >\n {label}\n </text>\n )}\n dataKey={dataKey}\n />\n );\n};\n\nconst ChartXAxis = assignWithoutSideEffects(_ChartXAxis, {\n componentId: componentId.chartXAxis,\n});\n\nconst ChartYAxis: React.FC<ChartYAxisProps> = (props) => {\n const { theme } = useTheme();\n\n return (\n <RechartsYAxis\n {...props}\n tick={{\n fill: theme.colors.surface.text.gray.muted,\n fontSize: theme.typography.fonts.size[75],\n fontFamily: theme.typography.fonts.family.text,\n fontWeight: theme.typography.fonts.weight.regular,\n letterSpacing: theme.typography.letterSpacings[100],\n }}\n tickLine={false}\n stroke={theme.colors.surface.border.gray.muted}\n label={{\n value: props?.label,\n position: 'insideLeft',\n style: {\n textAnchor: 'middle',\n fill: theme.colors.surface.text.gray.muted,\n fontSize: theme.typography.fonts.size[75],\n fontWeight: theme.typography.fonts.weight.regular,\n fontFamily: theme.typography.fonts.family.text,\n letterSpacing: theme.typography.letterSpacings[100],\n lineHeight: theme.typography.lineHeights[500],\n },\n angle: -90,\n fill: theme.colors.surface.text.gray.subtle,\n }}\n dataKey={props?.dataKey}\n />\n );\n};\n\nconst ChartCartesianGrid: React.FC<ChartCartesianGridProps> = (props) => {\n const { theme } = useTheme();\n\n return (\n <RechartsCartesianGrid\n stroke={theme.colors.surface.border.gray.muted}\n vertical={false}\n {...props}\n />\n );\n};\n\nconst CustomTooltip = ({\n item,\n}: {\n item: {\n name: string;\n value: string;\n color: string;\n dataKey: string;\n payload: Record<string, unknown>;\n };\n}): JSX.Element => {\n const { theme } = useTheme();\n const { dataColorMapping, chartName, rangeMap } = useCommonChartComponentsContext();\n\n const toolTipColor = getChartColor(item.dataKey, item.name, dataColorMapping ?? {}, chartName);\n\n // If this series has a reference band, show its industry range (low–high) beneath the value.\n const range = rangeMap?.[item.dataKey];\n const lowerValue = range ? item.payload?.[range.rangeLowerDataKey] : undefined;\n const upperValue = range ? item.payload?.[range.rangeUpperDataKey] : undefined;\n const hasRange =\n range &&\n lowerValue !== undefined &&\n lowerValue !== null &&\n upperValue !== undefined &&\n upperValue !== null;\n\n return (\n <Box key={`tooltip-${item.name}`} paddingY=\"spacing.1\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" gap=\"spacing.4\">\n <Box display=\"flex\" gap=\"spacing.3\" alignItems=\"center\" justifyContent=\"center\">\n <div\n style={{\n width: theme.spacing[4],\n height: theme.spacing[4],\n backgroundColor: getIn(theme.colors, toolTipColor),\n borderRadius: theme.border.radius.small,\n }}\n />\n <Text size=\"small\" weight=\"regular\" color=\"surface.text.staticWhite.normal\">\n {item.name}\n </Text>\n </Box>\n <Text size=\"small\" weight=\"regular\" color=\"surface.text.staticWhite.normal\">\n {item.value}\n </Text>\n </Box>\n {hasRange ? (\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"spacing.4\"\n paddingLeft=\"spacing.5\"\n >\n <Text size=\"xsmall\" weight=\"regular\" color=\"surface.text.staticWhite.muted\">\n {range?.rangeName ?? 'Industry'}\n </Text>\n <Text size=\"xsmall\" weight=\"regular\" color=\"surface.text.staticWhite.muted\">\n {`${String(lowerValue)}–${String(upperValue)}`}\n </Text>\n </Box>\n ) : null}\n </Box>\n );\n};\n\nconst ChartTooltip: React.FC<ChartTooltipProps> = (props) => {\n const { theme } = useTheme();\n return (\n <RechartsTooltip\n content={({ payload, label }) => {\n const filteredPayLoad = payload.filter((item) => item.type !== 'none');\n return (\n <div\n style={{\n backgroundColor: theme.colors.surface.icon.staticBlack.normal,\n borderRadius: theme.border.radius.large,\n border: `1px solid ${theme.colors.surface.border.gray.muted}`,\n padding: theme.spacing[4],\n }}\n >\n <Heading size=\"small\" weight=\"semibold\" color=\"surface.text.staticWhite.normal\">\n {label}\n </Heading>\n <Box paddingTop={label ? 'spacing.4' : undefined}>\n {filteredPayLoad.map((item) => (\n <CustomTooltip item={item} key={item.name} />\n ))}\n </Box>\n </div>\n );\n }}\n cursor={{ fill: 'transparent', stroke: 'transparent' }}\n {...props}\n />\n );\n};\n\nconst StyledLegendWrapper = styled.button<{ $isHidden: boolean; $isClickable: boolean }>(\n ({ theme, $isHidden, $isClickable }) => ({\n display: 'flex',\n alignItems: 'center',\n cursor: $isClickable ? 'pointer' : 'default',\n opacity: $isHidden ? 0.4 : 1,\n background: 'none',\n border: 'none',\n padding: theme.spacing[2],\n '& p': {\n color: theme.colors.surface.text.gray.muted,\n textDecoration: $isHidden ? 'line-through' : 'none',\n transition: $isClickable\n ? `color ${theme.motion.duration.xquick}ms ${theme.motion.easing.linear}`\n : 'none',\n },\n '&:hover p': {\n color: $isClickable\n ? theme.colors.surface.text.gray.normal\n : theme.colors.surface.text.gray.muted,\n },\n }),\n);\n\nconst LegendItem = ({\n entry,\n index,\n isSelected,\n onClick,\n isClickable,\n}: {\n entry: { color: string; value: string; dataKey: string };\n index: number;\n isSelected: boolean;\n onClick: (dataKey: string) => void;\n isClickable: boolean;\n}): JSX.Element => {\n const { theme } = useTheme();\n const { dataColorMapping, chartName } = useCommonChartComponentsContext();\n\n const legendColor = getChartColor(entry.dataKey, entry.value, dataColorMapping ?? {}, chartName);\n\n // For donut charts, use sanitized value (name) as the key, for other charts use dataKey\n const legendKey = chartName === 'donut' ? sanitizeString(entry.value ?? '') : entry.dataKey;\n\n return (\n <StyledLegendWrapper\n key={`item-${index}`}\n $isHidden={!isSelected}\n $isClickable={isClickable}\n onClick={\n isClickable\n ? () => {\n onClick(legendKey);\n }\n : undefined\n }\n type=\"button\"\n >\n <Box display=\"flex\" gap=\"spacing.3\" justifyContent=\"center\" alignItems=\"center\">\n <span\n style={{\n backgroundColor: getIn(theme.colors, legendColor),\n width: theme.spacing[4],\n height: theme.spacing[4],\n display: 'inline-block',\n borderRadius: theme.border.radius['2xsmall'],\n }}\n />\n <Text size=\"medium\" color=\"surface.text.gray.muted\">\n {entry.value}\n </Text>\n </Box>\n </StyledLegendWrapper>\n );\n};\n\n/**\n * Informational (non-toggleable) legend entries for the reference band(s). Bands aren't selectable\n * series, so each renders a static square swatch in the band's fill colour + its label. One entry\n * per band (a per-line band or the standalone band).\n */\nconst ReferenceBandLegendSwatch = (): JSX.Element | null => {\n const { theme } = useTheme();\n const { referenceBands } = useCommonChartComponentsContext();\n if (!referenceBands || referenceBands.length === 0) return null;\n return (\n <>\n {referenceBands.map((band, index) => (\n <Box display=\"flex\" alignItems=\"center\" padding=\"spacing.2\" key={`reference-band-${index}`}>\n <Box display=\"flex\" gap=\"spacing.3\" justifyContent=\"center\" alignItems=\"center\">\n <span\n style={{\n backgroundColor: getIn(theme.colors, band.color),\n opacity: band.fillOpacity,\n width: theme.spacing[4],\n height: theme.spacing[4],\n display: 'inline-block',\n borderRadius: theme.border.radius['2xsmall'],\n }}\n />\n <Text size=\"medium\" color=\"surface.text.gray.muted\">\n {band.name}\n </Text>\n </Box>\n </Box>\n ))}\n </>\n );\n};\n\nconst CustomSquareLegend = (props: {\n payload?: Array<{\n payload: {\n legendType: 'none' | 'line';\n type: 'none' | 'line';\n };\n value: string;\n color: string;\n type: 'none' | 'line';\n dataKey: string;\n }>;\n layout: Layout;\n selectedDataKeys: string[];\n onClick: (dataKey: string) => void;\n}): JSX.Element | null => {\n const { payload, layout, selectedDataKeys, onClick } = props;\n const { chartName, dataColorMapping, referenceBands } = useCommonChartComponentsContext();\n\n /*\n This is a custom legend component that is used to display the legend for the chart.\n we need to show the legend only if the legendType is not none. (for example in line chart we don't want to show the legend for the reference line)\n so we are filtering the payload and then mapping over it to display the legend.\n \n For donut charts, we use dataColorMapping directly instead of payload because:\n - When legend items are clicked, the donut data gets filtered\n - This causes the payload to lose the filtered items\n - But we need all legend items to remain visible so users can toggle them back\n - dataColorMapping always contains all the original data keys\n */\n const isVerticalLayout = layout === 'vertical';\n const isClickable =\n chartName === 'line' || chartName === 'area' || chartName === 'bar' || chartName === 'donut';\n\n // For donut charts, generate legend entries from dataColorMapping (which has all keys)\n if (chartName === 'donut' && dataColorMapping) {\n const donutLegendEntries = Object.keys(dataColorMapping).map((key) => ({\n value: key, // The sanitized name\n dataKey: key,\n color: dataColorMapping[key].colorToken,\n }));\n\n if (donutLegendEntries.length === 0) {\n return null;\n }\n\n return (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n gap=\"spacing.5\"\n flexDirection={isVerticalLayout ? 'column' : 'row'}\n width={isVerticalLayout ? '100%' : 'auto'}\n flexWrap=\"wrap\"\n >\n {donutLegendEntries.map((entry, index) => (\n <LegendItem\n entry={entry}\n index={index}\n key={`item-${index}`}\n isSelected={selectedDataKeys.includes(entry.dataKey)}\n onClick={onClick}\n isClickable={isClickable}\n />\n ))}\n </Box>\n );\n }\n\n // For other chart types, use the payload from recharts\n const filteredPayload = (payload ?? []).filter(\n (entry) => entry?.payload?.legendType !== 'none' && entry?.type !== 'none',\n );\n\n // Nothing to render — no real series and no reference band(s).\n if (filteredPayload.length === 0 && (!referenceBands || referenceBands.length === 0)) {\n return null;\n }\n\n return (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n gap=\"spacing.5\"\n flexDirection={isVerticalLayout ? 'column' : 'row'}\n width={isVerticalLayout ? '100%' : 'auto'}\n flexWrap=\"wrap\"\n >\n {filteredPayload.map((entry, index) => (\n <LegendItem\n entry={entry}\n index={index}\n key={`item-${index}`}\n isSelected={selectedDataKeys.includes(entry.dataKey)}\n onClick={onClick}\n isClickable={isClickable}\n />\n ))}\n {/* Static swatch for the reference band (not a toggleable series). */}\n <ReferenceBandLegendSwatch />\n </Box>\n );\n};\n\nconst _ChartLegend: React.FC<ChartLegendProps> = ({\n selectedDataKeys: selectedDataKeysProp,\n defaultSelectedDataKeys,\n onSelectedDataKeysChange,\n ...props\n}) => {\n const { theme } = useTheme();\n const { dataColorMapping, setSelectedDataKeys } = useCommonChartComponentsContext();\n const hasUserInteractedRef = React.useRef(false);\n const isControlled = selectedDataKeysProp !== undefined;\n const shouldAutoSelectAllDataKeys = !isControlled && defaultSelectedDataKeys === undefined;\n\n // Get all available dataKeys from the chart\n const allDataKeys = React.useMemo(() => Object.keys(dataColorMapping ?? {}), [dataColorMapping]);\n\n // Use controllable state for selected keys\n const [selectedKeysArray, setSelectedKeysArray] = useControllableState({\n value: selectedDataKeysProp,\n defaultValue: defaultSelectedDataKeys ?? allDataKeys,\n });\n\n React.useEffect(() => {\n if (!shouldAutoSelectAllDataKeys || hasUserInteractedRef.current || allDataKeys.length === 0) {\n return;\n }\n\n const isSelectedStateInSync =\n selectedKeysArray.length === allDataKeys.length &&\n allDataKeys.every((dataKey) => selectedKeysArray.includes(dataKey));\n\n if (!isSelectedStateInSync) {\n setSelectedKeysArray(() => [...allDataKeys], true);\n }\n }, [allDataKeys, selectedKeysArray, setSelectedKeysArray, shouldAutoSelectAllDataKeys]);\n\n // Reset selection when allDataKeys completely changes (e.g., when nameKey prop changes)\n // This detects when none of the currently selected keys exist in the new data keys\n React.useEffect(() => {\n if (allDataKeys.length > 0 && selectedKeysArray.length > 0) {\n const hasOverlap = selectedKeysArray.some((key) => allDataKeys.includes(key));\n if (!hasOverlap) {\n // The data keys have completely changed, reset to all keys\n setSelectedKeysArray(() => [...allDataKeys]);\n }\n }\n }, [allDataKeys, selectedKeysArray, setSelectedKeysArray]);\n\n // Sync selectedDataKeys to context's selectedDataKeys\n React.useEffect(() => {\n setSelectedDataKeys?.(selectedKeysArray);\n }, [selectedKeysArray, setSelectedDataKeys]);\n\n // Handle toggle\n const handleClick = React.useCallback(\n (dataKey: string) => {\n hasUserInteractedRef.current = true;\n const newSelectedKeys = selectedKeysArray.includes(dataKey)\n ? selectedKeysArray.filter((key) => key !== dataKey)\n : [...selectedKeysArray, dataKey];\n\n setSelectedKeysArray(() => newSelectedKeys);\n onSelectedDataKeysChange?.({ dataKey, selectedKeysArray: newSelectedKeys });\n },\n [setSelectedKeysArray, selectedKeysArray, onSelectedDataKeysChange],\n );\n\n return (\n <RechartsLegend\n wrapperStyle={{\n fontFamily: theme.typography.fonts.family.text,\n fontSize: theme.typography.fonts.size[100],\n color: theme.colors.surface.text.gray.normal,\n paddingTop: LEGEND_MARGIN_TOP,\n }}\n align=\"center\"\n verticalAlign={props.layout === 'vertical' ? 'middle' : 'bottom'}\n content={\n <CustomSquareLegend\n layout={props.layout ?? 'horizontal'}\n selectedDataKeys={selectedKeysArray}\n onClick={handleClick}\n />\n }\n {...props}\n />\n );\n};\n\nconst ChartLegend = assignWithoutSideEffects(_ChartLegend, {\n componentId: componentId.chartLegend,\n});\n\nconst CustomReferenceLabel = ({\n viewBox,\n value,\n isVertical,\n}: {\n viewBox?: { x: number; y: number; width: number };\n value: string | undefined;\n isVertical: boolean;\n}): JSX.Element => {\n // Extract viewBox coordinates with fallback values to prevent undefined errors.\n // viewBox contains the positioning information for the reference line label from Recharts.\n const { x, y, width } = viewBox ?? { x: 0, y: 0, width: 0 };\n const { theme } = useTheme();\n\n // Calculate dynamic text width to ensure the background rectangle fits the text perfectly.\n // This prevents text overflow for long labels and avoids unnecessarily large rectangles for short text.\n // The function also handles text truncation with ellipsis if the text exceeds the maximum width.\n const { width: RECT_WIDTH, displayText } = value\n ? calculateTextWidth(value, theme)\n : { width: 80, displayText: value ?? '' };\n\n const rect_x = isVertical ? x + width - RECT_WIDTH / 2 : x + width - RECT_WIDTH;\n const rect_y = isVertical ? y : y - TEXT_BASELINE;\n // Text position with padding inside the rectangle\n const text_x = rect_x + PADDING_HORIZONTAL + (RECT_WIDTH - PADDING_HORIZONTAL * 2) / 2;\n const text_y = rect_y + PADDING_VERTICAL + TEXT_BASELINE; // +15 for text baseline\n\n return (\n <g>\n <rect\n x={rect_x}\n y={rect_y}\n width={RECT_WIDTH}\n height={RECT_HEIGHT}\n rx={theme.border.radius.medium}\n fill={theme.colors.surface.background.gray.subtle}\n stroke={theme.colors.surface.border.gray.muted}\n strokeWidth=\"1\"\n />\n <text\n x={text_x}\n y={text_y}\n textAnchor=\"middle\"\n fill={theme.colors.surface.text.gray.normal}\n fontSize={theme.typography.fonts.size[50]}\n fontFamily={theme.typography.fonts.family.text}\n fontWeight={theme.typography.fonts.weight.medium}\n letterSpacing={theme.typography.letterSpacings[100]}\n >\n {displayText}\n </text>\n </g>\n );\n};\n\nconst ChartReferenceLine: React.FC<ChartReferenceLineProps> = ({ label, x, y }) => {\n const { theme } = useTheme();\n return (\n <RechartsReferenceLine\n stroke={theme.colors.data.background.categorical.gray.intense}\n strokeWidth={2}\n strokeDasharray=\"4 4\"\n label={<CustomReferenceLabel value={label} isVertical={Boolean(x)} />}\n x={x}\n y={y}\n />\n );\n};\n\n/**\n * Reference band. Renders two invisible bound lines (`lowerDataKey` / `upperDataKey`) so\n * Recharts computes their geometry and folds them into the y-domain; ChartLineWrapper then reads\n * those curves and paints the shaded band between them (a data-driven range that varies per point,\n * unlike Recharts' fixed-rectangle `ReferenceArea`). The band's fill + legend swatch are handled by\n * the wrapper and the shared legend via context.\n */\nconst _ChartReferenceBand: React.FC<ChartReferenceBandProps> = ({ lowerDataKey, upperDataKey }) => {\n return (\n <>\n <RechartsLine\n className={REFERENCE_BAND_LOWER_CLASS}\n type=\"monotone\"\n dataKey={lowerDataKey}\n stroke=\"transparent\"\n strokeWidth={1}\n dot={false}\n activeDot={false}\n connectNulls\n legendType=\"none\"\n tooltipType=\"none\"\n isAnimationActive={false}\n />\n <RechartsLine\n className={REFERENCE_BAND_UPPER_CLASS}\n type=\"monotone\"\n dataKey={upperDataKey}\n stroke=\"transparent\"\n strokeWidth={1}\n dot={false}\n activeDot={false}\n connectNulls\n legendType=\"none\"\n tooltipType=\"none\"\n isAnimationActive={false}\n />\n </>\n );\n};\n\nconst ChartReferenceBand = assignWithoutSideEffects(_ChartReferenceBand, {\n componentId: componentId.chartReferenceBand,\n});\n\nexport {\n ChartXAxis,\n ChartYAxis,\n ChartCartesianGrid,\n ChartLegend,\n ChartTooltip,\n ChartReferenceLine,\n ChartReferenceBand,\n};\n"],"names":["getChartColor","dataKey","name","dataColorMapping","chartName","colorKey","sanitizeString","mappedColorData","mappedColor","colorToken","isCustomColor","isSequentialColor","getHighestColorInRange","followIntensityMapping","Object","keys","length","totalChartColors","wrapTextToFit","text","maxWidthPx","fontSize","avgCharWidth","maxCharsPerLine","Math","max","floor","words","split","lines","currentLine","_iterator","_createForOfIteratorHelper","_step","s","n","done","word","value","concat","push","err","e","f","wrappedTextLabel","_ref","maxWidth","lineHeight","startDy","textAnchor","fill","fontFamily","fontWeight","letterSpacing","_ref$yOffset","yOffset","totalHeight","element","_jsx","x","y","style","children","map","line","index","dy","height","CustomXAxisTick","_ref2","payload","secondaryLabelMap","theme","tickWidth","onHeightCalculated","lastTick","tickFormatter","typography","fonts","size","Infinity","shouldUseEdgeAlignment","isFirstTick","isLastTick","getTextAnchor","textStyleProps","X_AXIS_TICK_LINE_HEIGHT","X_AXIS_TICK_START_DY","colors","surface","gray","muted","family","weight","regular","letterSpacings","displayValue","String","primaryLabel","_objectSpread","secondaryValue","secondaryLabel","undefined","X_AXIS_LABEL_GAP","totalTickHeight","React","useEffect","_jsxs","transform","_ChartXAxis","_ref3","_ref3$interval","interval","_ref3$tickLine","tickLine","label","props","_objectWithoutProperties","_excluded","_useTheme","useTheme","_useCommonChartCompon","useCommonChartComponentsContext","dataLength","_unusedsecondaryDataKey","secondaryDataKey","restProps","_excluded2","totalTickCount","visibleTickCount","ceil","minHeight","_React$useState","useState","_React$useState2","_slicedToArray","maxTickHeight","setMaxTickHeight","handleHeightCalculated","useCallback","prev","axisLabelSpace","X_AXIS_LABEL_OFFSET","X_AXIS_LABEL_HEIGHT","baseHeight","axisLabelY","RechartsXAxis","tick","tickProps","_tickProps$width","Number","width","stroke","border","_ref4","viewBox","X_OFFSET","ChartXAxis","assignWithoutSideEffects","componentId","chartXAxis","ChartYAxis","_useTheme2","RechartsYAxis","position","lineHeights","angle","subtle","ChartCartesianGrid","_useTheme3","RechartsCartesianGrid","vertical","CustomTooltip","_ref5","_item$payload","_item$payload2","_range$rangeName","item","_useTheme4","_useCommonChartCompon2","rangeMap","toolTipColor","range","lowerValue","rangeLowerDataKey","upperValue","rangeUpperDataKey","hasRange","Box","paddingY","display","alignItems","justifyContent","gap","spacing","backgroundColor","getIn","borderRadius","radius","small","Text","color","paddingLeft","rangeName","ChartTooltip","_useTheme5","RechartsTooltip","content","_ref6","filteredPayLoad","filter","type","icon","staticBlack","normal","large","padding","Heading","paddingTop","cursor","StyledLegendWrapper","styled","button","withConfig","displayName","_ref7","$isHidden","$isClickable","opacity","background","textDecoration","transition","motion","duration","xquick","easing","linear","LegendItem","_ref8","_entry$value","entry","isSelected","onClick","isClickable","_useTheme6","_useCommonChartCompon3","legendColor","legendKey","ReferenceBandLegendSwatch","_useTheme7","_useCommonChartCompon4","referenceBands","_Fragment","band","fillOpacity","CustomSquareLegend","layout","selectedDataKeys","_useCommonChartCompon5","isVerticalLayout","donutLegendEntries","key","flexDirection","flexWrap","includes","filteredPayload","_entry$payload","legendType","_ChartLegend","_ref9","_props$layout","selectedDataKeysProp","defaultSelectedDataKeys","onSelectedDataKeysChange","_excluded3","_useTheme8","_useCommonChartCompon6","setSelectedDataKeys","hasUserInteractedRef","useRef","isControlled","shouldAutoSelectAllDataKeys","allDataKeys","useMemo","_useControllableState","useControllableState","defaultValue","_useControllableState2","selectedKeysArray","setSelectedKeysArray","current","isSelectedStateInSync","every","_toConsumableArray","hasOverlap","some","handleClick","newSelectedKeys","RechartsLegend","wrapperStyle","LEGEND_MARGIN_TOP","align","verticalAlign","ChartLegend","chartLegend","CustomReferenceLabel","_ref0","isVertical","_ref1","_useTheme9","_ref10","calculateTextWidth","displayText","RECT_WIDTH","rect_x","rect_y","TEXT_BASELINE","text_x","PADDING_HORIZONTAL","text_y","PADDING_VERTICAL","RECT_HEIGHT","rx","medium","strokeWidth","ChartReferenceLine","_ref11","_useTheme0","RechartsReferenceLine","data","categorical","intense","strokeDasharray","Boolean","_ChartReferenceBand","_ref12","lowerDataKey","upperDataKey","RechartsLine","className","REFERENCE_BAND_LOWER_CLASS","dot","activeDot","connectNulls","tooltipType","isAnimationActive","REFERENCE_BAND_UPPER_CLASS","ChartReferenceBand","chartReferenceBand"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ChartCartesianGrid, ChartLegend, ChartReferenceLine, ChartTooltip, ChartXAxis, ChartYAxis } from './CommonChartComponents.web.js';
|
|
1
|
+
export { ChartCartesianGrid, ChartLegend, ChartReferenceBand, ChartReferenceLine, ChartTooltip, ChartXAxis, ChartYAxis } from './CommonChartComponents.web.js';
|
|
2
2
|
export { CommonChartComponentsContext, useCommonChartComponentsContext } from './CommonChartComponentsContext.js';
|
|
3
3
|
export { DEFAULT_COLOR, componentId } from './tokens.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -26,14 +26,27 @@ var LEGEND_MARGIN_TOP = 8;
|
|
|
26
26
|
var MIN_WIDTH = RECT_WIDTH;
|
|
27
27
|
var MAX_WIDTH = 200;
|
|
28
28
|
var DEFAULT_COLOR = 'data.background.categorical.blue.moderate';
|
|
29
|
+
|
|
30
|
+
// Default fill colour + opacity for the reference band. A faint categorical blue rendered at a
|
|
31
|
+
// low opacity reads as a subtle shaded range behind the trend line (matches the Figma design).
|
|
32
|
+
var REFERENCE_BAND_DEFAULT_COLOR = 'data.background.categorical.blue.faint';
|
|
33
|
+
var REFERENCE_BAND_FILL_OPACITY = 0.5;
|
|
34
|
+
|
|
35
|
+
// Stable classNames applied to the band's invisible bound lines (web) so ChartLineWrapper can find
|
|
36
|
+
// their rendered curves and paint the filled band between them.
|
|
37
|
+
var REFERENCE_BAND_LOWER_CLASS = 'blade-reference-band-lower';
|
|
38
|
+
var REFERENCE_BAND_UPPER_CLASS = 'blade-reference-band-upper';
|
|
39
|
+
// className on the <g> layer that holds the painted band path.
|
|
40
|
+
var REFERENCE_BAND_LAYER_CLASS = 'blade-reference-band-layer';
|
|
29
41
|
var componentId = {
|
|
30
42
|
chartLegend: 'chart-legend',
|
|
31
43
|
chartXAxis: 'chart-x-axis',
|
|
32
44
|
chartYAxis: 'chart-y-axis',
|
|
33
45
|
chartCartesianGrid: 'chart-cartesian-grid',
|
|
34
46
|
chartTooltip: 'chart-tooltip',
|
|
35
|
-
chartReferenceLine: 'chart-reference-line'
|
|
47
|
+
chartReferenceLine: 'chart-reference-line',
|
|
48
|
+
chartReferenceBand: 'chart-reference-band'
|
|
36
49
|
};
|
|
37
50
|
|
|
38
|
-
export { DEFAULT_COLOR, LEGEND_MARGIN_TOP, MAX_WIDTH, MIN_WIDTH, PADDING_HORIZONTAL, PADDING_VERTICAL, RECT_HEIGHT, RECT_WIDTH, TEXT_BASELINE, X_AXIS_BOTTOM_PADDING, X_AXIS_LABEL_GAP, X_AXIS_LABEL_HEIGHT, X_AXIS_LABEL_OFFSET, X_AXIS_TEXT_BASELINE, X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL, X_AXIS_TICK_LINE_HEIGHT, X_AXIS_TICK_START_DY, X_OFFSET, Y_OFFSET, componentId };
|
|
51
|
+
export { DEFAULT_COLOR, LEGEND_MARGIN_TOP, MAX_WIDTH, MIN_WIDTH, PADDING_HORIZONTAL, PADDING_VERTICAL, RECT_HEIGHT, RECT_WIDTH, REFERENCE_BAND_DEFAULT_COLOR, REFERENCE_BAND_FILL_OPACITY, REFERENCE_BAND_LAYER_CLASS, REFERENCE_BAND_LOWER_CLASS, REFERENCE_BAND_UPPER_CLASS, TEXT_BASELINE, X_AXIS_BOTTOM_PADDING, X_AXIS_LABEL_GAP, X_AXIS_LABEL_HEIGHT, X_AXIS_LABEL_OFFSET, X_AXIS_TEXT_BASELINE, X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL, X_AXIS_TICK_LINE_HEIGHT, X_AXIS_TICK_START_DY, X_OFFSET, Y_OFFSET, componentId };
|
|
39
52
|
//# sourceMappingURL=tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sources":["../../../../../../../src/components/Charts/CommonChartComponents/tokens.ts"],"sourcesContent":["const RECT_WIDTH = 80;\nconst RECT_HEIGHT = 30;\nconst TEXT_BASELINE = 15;\n\n// Padding for text inside the rectangle (4px vertical, 8px horizontal)\nconst PADDING_VERTICAL = 4;\nconst PADDING_HORIZONTAL = 8;\n\nconst X_OFFSET = 32;\nconst Y_OFFSET = 14.5;\nconst X_AXIS_TEXT_BASELINE = 24;\nconst X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL = 48;\n\n// X-axis tick label constants\nconst X_AXIS_TICK_LINE_HEIGHT = 14.5;\nconst X_AXIS_TICK_START_DY = 8;\nconst X_AXIS_LABEL_GAP = 4;\nconst X_AXIS_BOTTOM_PADDING = 8;\n\n// Gap between tick labels and X-axis label (e.g., \"Month\")\nconst X_AXIS_LABEL_OFFSET = 8;\n// Height of the X-axis label text\nconst X_AXIS_LABEL_HEIGHT = 16;\n\n// Legend spacing from X-axis label (or tick labels if no label)\nconst LEGEND_MARGIN_TOP = 8;\n\nconst MIN_WIDTH = RECT_WIDTH;\nconst MAX_WIDTH = 200;\n\nconst DEFAULT_COLOR = 'data.background.categorical.blue.moderate';\n\nconst componentId = {\n chartLegend: 'chart-legend',\n chartXAxis: 'chart-x-axis',\n chartYAxis: 'chart-y-axis',\n chartCartesianGrid: 'chart-cartesian-grid',\n chartTooltip: 'chart-tooltip',\n chartReferenceLine: 'chart-reference-line',\n};\n\nexport {\n componentId,\n RECT_WIDTH,\n RECT_HEIGHT,\n TEXT_BASELINE,\n PADDING_VERTICAL,\n PADDING_HORIZONTAL,\n X_OFFSET,\n Y_OFFSET,\n X_AXIS_TEXT_BASELINE,\n X_AXIS_TICK_LINE_HEIGHT,\n X_AXIS_TICK_START_DY,\n X_AXIS_LABEL_GAP,\n X_AXIS_BOTTOM_PADDING,\n X_AXIS_LABEL_OFFSET,\n X_AXIS_LABEL_HEIGHT,\n LEGEND_MARGIN_TOP,\n MIN_WIDTH,\n MAX_WIDTH,\n DEFAULT_COLOR,\n X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL,\n};\n"],"names":["RECT_WIDTH","RECT_HEIGHT","TEXT_BASELINE","PADDING_VERTICAL","PADDING_HORIZONTAL","X_OFFSET","Y_OFFSET","X_AXIS_TEXT_BASELINE","X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL","X_AXIS_TICK_LINE_HEIGHT","X_AXIS_TICK_START_DY","X_AXIS_LABEL_GAP","X_AXIS_BOTTOM_PADDING","X_AXIS_LABEL_OFFSET","X_AXIS_LABEL_HEIGHT","LEGEND_MARGIN_TOP","MIN_WIDTH","MAX_WIDTH","DEFAULT_COLOR","componentId","chartLegend","chartXAxis","chartYAxis","chartCartesianGrid","chartTooltip","chartReferenceLine"],"mappings":"AAAMA,IAAAA,UAAU,GAAG,GAAE;AACfC,IAAAA,WAAW,GAAG,GAAE;AAChBC,IAAAA,aAAa,GAAG,GAAE;;AAExB;AACMC,IAAAA,gBAAgB,GAAG,EAAC;AACpBC,IAAAA,kBAAkB,GAAG,EAAC;AAEtBC,IAAAA,QAAQ,GAAG,GAAE;AACbC,IAAAA,QAAQ,GAAG,KAAI;AACfC,IAAAA,oBAAoB,GAAG,GAAE;AACzBC,IAAAA,yCAAyC,GAAG,GAAE;;AAEpD;AACMC,IAAAA,uBAAuB,GAAG,KAAI;AAC9BC,IAAAA,oBAAoB,GAAG,EAAC;AACxBC,IAAAA,gBAAgB,GAAG,EAAC;AACpBC,IAAAA,qBAAqB,GAAG,EAAC;;AAE/B;AACMC,IAAAA,mBAAmB,GAAG,EAAC;AAC7B;AACMC,IAAAA,mBAAmB,GAAG,GAAE;;AAE9B;AACMC,IAAAA,iBAAiB,GAAG,EAAC;AAErBC,IAAAA,SAAS,GAAGhB,WAAU;AACtBiB,IAAAA,SAAS,GAAG,IAAG;AAEfC,IAAAA,aAAa,GAAG,4CAA2C;
|
|
1
|
+
{"version":3,"file":"tokens.js","sources":["../../../../../../../src/components/Charts/CommonChartComponents/tokens.ts"],"sourcesContent":["const RECT_WIDTH = 80;\nconst RECT_HEIGHT = 30;\nconst TEXT_BASELINE = 15;\n\n// Padding for text inside the rectangle (4px vertical, 8px horizontal)\nconst PADDING_VERTICAL = 4;\nconst PADDING_HORIZONTAL = 8;\n\nconst X_OFFSET = 32;\nconst Y_OFFSET = 14.5;\nconst X_AXIS_TEXT_BASELINE = 24;\nconst X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL = 48;\n\n// X-axis tick label constants\nconst X_AXIS_TICK_LINE_HEIGHT = 14.5;\nconst X_AXIS_TICK_START_DY = 8;\nconst X_AXIS_LABEL_GAP = 4;\nconst X_AXIS_BOTTOM_PADDING = 8;\n\n// Gap between tick labels and X-axis label (e.g., \"Month\")\nconst X_AXIS_LABEL_OFFSET = 8;\n// Height of the X-axis label text\nconst X_AXIS_LABEL_HEIGHT = 16;\n\n// Legend spacing from X-axis label (or tick labels if no label)\nconst LEGEND_MARGIN_TOP = 8;\n\nconst MIN_WIDTH = RECT_WIDTH;\nconst MAX_WIDTH = 200;\n\nconst DEFAULT_COLOR = 'data.background.categorical.blue.moderate';\n\n// Default fill colour + opacity for the reference band. A faint categorical blue rendered at a\n// low opacity reads as a subtle shaded range behind the trend line (matches the Figma design).\nconst REFERENCE_BAND_DEFAULT_COLOR = 'data.background.categorical.blue.faint';\nconst REFERENCE_BAND_FILL_OPACITY = 0.5;\n\n// Stable classNames applied to the band's invisible bound lines (web) so ChartLineWrapper can find\n// their rendered curves and paint the filled band between them.\nconst REFERENCE_BAND_LOWER_CLASS = 'blade-reference-band-lower';\nconst REFERENCE_BAND_UPPER_CLASS = 'blade-reference-band-upper';\n// className on the <g> layer that holds the painted band path.\nconst REFERENCE_BAND_LAYER_CLASS = 'blade-reference-band-layer';\n\nconst componentId = {\n chartLegend: 'chart-legend',\n chartXAxis: 'chart-x-axis',\n chartYAxis: 'chart-y-axis',\n chartCartesianGrid: 'chart-cartesian-grid',\n chartTooltip: 'chart-tooltip',\n chartReferenceLine: 'chart-reference-line',\n chartReferenceBand: 'chart-reference-band',\n};\n\nexport {\n componentId,\n RECT_WIDTH,\n RECT_HEIGHT,\n TEXT_BASELINE,\n PADDING_VERTICAL,\n PADDING_HORIZONTAL,\n X_OFFSET,\n Y_OFFSET,\n X_AXIS_TEXT_BASELINE,\n X_AXIS_TICK_LINE_HEIGHT,\n X_AXIS_TICK_START_DY,\n X_AXIS_LABEL_GAP,\n X_AXIS_BOTTOM_PADDING,\n X_AXIS_LABEL_OFFSET,\n X_AXIS_LABEL_HEIGHT,\n LEGEND_MARGIN_TOP,\n MIN_WIDTH,\n MAX_WIDTH,\n DEFAULT_COLOR,\n REFERENCE_BAND_DEFAULT_COLOR,\n REFERENCE_BAND_FILL_OPACITY,\n REFERENCE_BAND_LOWER_CLASS,\n REFERENCE_BAND_UPPER_CLASS,\n REFERENCE_BAND_LAYER_CLASS,\n X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL,\n};\n"],"names":["RECT_WIDTH","RECT_HEIGHT","TEXT_BASELINE","PADDING_VERTICAL","PADDING_HORIZONTAL","X_OFFSET","Y_OFFSET","X_AXIS_TEXT_BASELINE","X_AXIS_TEXT_BASELINE_WITH_SECONDARY_LABEL","X_AXIS_TICK_LINE_HEIGHT","X_AXIS_TICK_START_DY","X_AXIS_LABEL_GAP","X_AXIS_BOTTOM_PADDING","X_AXIS_LABEL_OFFSET","X_AXIS_LABEL_HEIGHT","LEGEND_MARGIN_TOP","MIN_WIDTH","MAX_WIDTH","DEFAULT_COLOR","REFERENCE_BAND_DEFAULT_COLOR","REFERENCE_BAND_FILL_OPACITY","REFERENCE_BAND_LOWER_CLASS","REFERENCE_BAND_UPPER_CLASS","REFERENCE_BAND_LAYER_CLASS","componentId","chartLegend","chartXAxis","chartYAxis","chartCartesianGrid","chartTooltip","chartReferenceLine","chartReferenceBand"],"mappings":"AAAMA,IAAAA,UAAU,GAAG,GAAE;AACfC,IAAAA,WAAW,GAAG,GAAE;AAChBC,IAAAA,aAAa,GAAG,GAAE;;AAExB;AACMC,IAAAA,gBAAgB,GAAG,EAAC;AACpBC,IAAAA,kBAAkB,GAAG,EAAC;AAEtBC,IAAAA,QAAQ,GAAG,GAAE;AACbC,IAAAA,QAAQ,GAAG,KAAI;AACfC,IAAAA,oBAAoB,GAAG,GAAE;AACzBC,IAAAA,yCAAyC,GAAG,GAAE;;AAEpD;AACMC,IAAAA,uBAAuB,GAAG,KAAI;AAC9BC,IAAAA,oBAAoB,GAAG,EAAC;AACxBC,IAAAA,gBAAgB,GAAG,EAAC;AACpBC,IAAAA,qBAAqB,GAAG,EAAC;;AAE/B;AACMC,IAAAA,mBAAmB,GAAG,EAAC;AAC7B;AACMC,IAAAA,mBAAmB,GAAG,GAAE;;AAE9B;AACMC,IAAAA,iBAAiB,GAAG,EAAC;AAErBC,IAAAA,SAAS,GAAGhB,WAAU;AACtBiB,IAAAA,SAAS,GAAG,IAAG;AAEfC,IAAAA,aAAa,GAAG,4CAA2C;;AAEjE;AACA;AACMC,IAAAA,4BAA4B,GAAG,yCAAwC;AACvEC,IAAAA,2BAA2B,GAAG,IAAG;;AAEvC;AACA;AACMC,IAAAA,0BAA0B,GAAG,6BAA4B;AACzDC,IAAAA,0BAA0B,GAAG,6BAA4B;AAC/D;AACMC,IAAAA,0BAA0B,GAAG,6BAA4B;AAE/D,IAAMC,WAAW,GAAG;AAClBC,EAAAA,WAAW,EAAE,cAAc;AAC3BC,EAAAA,UAAU,EAAE,cAAc;AAC1BC,EAAAA,UAAU,EAAE,cAAc;AAC1BC,EAAAA,kBAAkB,EAAE,sBAAsB;AAC1CC,EAAAA,YAAY,EAAE,eAAe;AAC7BC,EAAAA,kBAAkB,EAAE,sBAAsB;AAC1CC,EAAAA,kBAAkB,EAAE,sBAAA;AACtB;;;;"}
|