@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,9 +1,10 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
-
import React__default, { useState, useMemo } from 'react';
|
|
4
|
+
import React__default, { useId, useState, useMemo, useRef, useLayoutEffect } from 'react';
|
|
5
5
|
import '../../../node_modules/recharts/es6/index.js';
|
|
6
6
|
import '../utils/index.js';
|
|
7
|
+
import { parsePathAnchors, getDefinedNumericPoints, getInteriorGaps, buildBridgePathData } from '../utils/nullBridgeUtils.js';
|
|
7
8
|
import '../CommonChartComponents/index.js';
|
|
8
9
|
import { componentId } from '../CommonChartComponents/tokens.js';
|
|
9
10
|
import { componentIds } from './componentIds.js';
|
|
@@ -28,20 +29,24 @@ import { metaAttribute } from '../../../utils/metaAttribute/metaAttribute.web.js
|
|
|
28
29
|
import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
29
30
|
import { ResponsiveContainer } from '../../../node_modules/recharts/es6/component/ResponsiveContainer.js';
|
|
30
31
|
import { AreaChart } from '../../../node_modules/recharts/es6/chart/AreaChart.js';
|
|
32
|
+
import { Customized } from '../../../node_modules/recharts/es6/component/Customized.js';
|
|
31
33
|
|
|
32
|
-
var _excluded = ["color", "type", "connectNulls", "showLegend", "stackId", "dot", "activeDot", "_index", "_colorTheme", "_totalAreas", "dataKey", "name", "hide"],
|
|
34
|
+
var _excluded = ["color", "type", "connectNulls", "connectNullsStyle", "showLegend", "stackId", "dot", "activeDot", "_index", "_colorTheme", "_totalAreas", "_gradientNamespace", "dataKey", "name", "hide"],
|
|
33
35
|
_excluded2 = ["data", "children", "testID", "colorTheme"];
|
|
34
36
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
35
37
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
36
38
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
37
39
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38
40
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
41
|
+
var NULL_BRIDGE_DASHARRAY = '5 5';
|
|
39
42
|
var Area = function Area(_ref) {
|
|
40
43
|
var color = _ref.color,
|
|
41
44
|
_ref$type = _ref.type,
|
|
42
45
|
type = _ref$type === void 0 ? 'monotone' : _ref$type,
|
|
43
46
|
_ref$connectNulls = _ref.connectNulls,
|
|
44
47
|
connectNulls = _ref$connectNulls === void 0 ? false : _ref$connectNulls,
|
|
48
|
+
_ref$connectNullsStyl = _ref.connectNullsStyle,
|
|
49
|
+
connectNullsStyle = _ref$connectNullsStyl === void 0 ? 'solid' : _ref$connectNullsStyl,
|
|
45
50
|
_ref$showLegend = _ref.showLegend,
|
|
46
51
|
showLegend = _ref$showLegend === void 0 ? true : _ref$showLegend,
|
|
47
52
|
_ref$stackId = _ref.stackId,
|
|
@@ -53,6 +58,8 @@ var Area = function Area(_ref) {
|
|
|
53
58
|
_index = _ref._index,
|
|
54
59
|
_colorTheme = _ref._colorTheme,
|
|
55
60
|
_totalAreas = _ref._totalAreas,
|
|
61
|
+
_ref$_gradientNamespa = _ref._gradientNamespace,
|
|
62
|
+
_gradientNamespace = _ref$_gradientNamespa === void 0 ? '' : _ref$_gradientNamespa,
|
|
56
63
|
dataKey = _ref.dataKey,
|
|
57
64
|
name = _ref.name,
|
|
58
65
|
hide = _ref.hide,
|
|
@@ -69,14 +76,21 @@ var Area = function Area(_ref) {
|
|
|
69
76
|
}) : themeColors[_index !== null && _index !== void 0 ? _index : 0]);
|
|
70
77
|
var animationBegin = theme.motion.delay.gentle;
|
|
71
78
|
var animationDuration = theme.motion.duration.xgentle;
|
|
79
|
+
|
|
80
|
+
// When connectNulls is true with the default 'solid' style, we pass connectNulls through to
|
|
81
|
+
// RechartsArea so the area fill + stroke bridge across nulls exactly as before (backward
|
|
82
|
+
// compatible). Only when a 'dashed' bridge is explicitly requested do we gap the area fill
|
|
83
|
+
// (connectNulls={false}) and let the NullBridgeLayer draw a separate dashed bridge line.
|
|
84
|
+
var isSolidBridge = connectNulls && connectNullsStyle === 'solid';
|
|
85
|
+
void connectNullsStyle;
|
|
72
86
|
return /*#__PURE__*/jsx(Area$1, _objectSpread(_objectSpread({}, props), {}, {
|
|
73
|
-
fill: "url(#color-".concat(_index, "-").concat(dataKey, ")"),
|
|
87
|
+
fill: "url(#color-".concat(_gradientNamespace, "-").concat(_index, "-").concat(dataKey, ")"),
|
|
74
88
|
dataKey: dataKey,
|
|
75
89
|
name: name,
|
|
76
90
|
stroke: colorToken,
|
|
77
91
|
fillOpacity: 0.5,
|
|
78
92
|
type: type,
|
|
79
|
-
connectNulls:
|
|
93
|
+
connectNulls: isSolidBridge,
|
|
80
94
|
legendType: showLegend ? 'rect' : 'none',
|
|
81
95
|
strokeWidth: 1.5,
|
|
82
96
|
dot: dot,
|
|
@@ -139,6 +153,12 @@ var ChartAreaWrapper = function ChartAreaWrapper(_ref3) {
|
|
|
139
153
|
chartName: 'area'
|
|
140
154
|
});
|
|
141
155
|
|
|
156
|
+
// Unique per-instance namespace for gradient ids. Without it, multiple AreaCharts on the same
|
|
157
|
+
// page emit gradients with the same id (e.g. `color-0-uv`) and every area's `fill="url(#...)"`
|
|
158
|
+
// resolves to the first one in the document, so all charts share (and can be washed out by) the
|
|
159
|
+
// first chart's fill color. Colons from `useId` are stripped so the id stays `url()`-safe.
|
|
160
|
+
var gradientNamespace = useId().replace(/[^a-zA-Z0-9]/g, '');
|
|
161
|
+
|
|
142
162
|
// State to track which areas are currently selected (visible)
|
|
143
163
|
var _useState = useState(undefined),
|
|
144
164
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -196,6 +216,7 @@ var ChartAreaWrapper = function ChartAreaWrapper(_ref3) {
|
|
|
196
216
|
_index: AreaChartIndex++,
|
|
197
217
|
_colorTheme: colorTheme,
|
|
198
218
|
_totalAreas: totalAreas,
|
|
219
|
+
_gradientNamespace: gradientNamespace,
|
|
199
220
|
hide: selectedDataKeys ? !selectedDataKeys.includes(dataKey) : false
|
|
200
221
|
});
|
|
201
222
|
}
|
|
@@ -208,7 +229,7 @@ var ChartAreaWrapper = function ChartAreaWrapper(_ref3) {
|
|
|
208
229
|
dataColorMapping: dataColorMapping,
|
|
209
230
|
secondaryDataKey: secondaryDataKey
|
|
210
231
|
};
|
|
211
|
-
}, [children, colorTheme, themeColors, selectedDataKeys]),
|
|
232
|
+
}, [children, colorTheme, themeColors, selectedDataKeys, gradientNamespace]),
|
|
212
233
|
modifiedChildren = _useMemo.modifiedChildren,
|
|
213
234
|
totalAreaChartChildren = _useMemo.totalAreaChartChildren,
|
|
214
235
|
dataColorMapping = _useMemo.dataColorMapping,
|
|
@@ -223,6 +244,164 @@ var ChartAreaWrapper = function ChartAreaWrapper(_ref3) {
|
|
|
223
244
|
});
|
|
224
245
|
return map;
|
|
225
246
|
}, [data, secondaryDataKey]);
|
|
247
|
+
|
|
248
|
+
// Ordered ChartArea children (matching Recharts' render order) and which of them need a dashed
|
|
249
|
+
// null-bridge drawn by the NullBridgeLayer. 'solid' bridges are handled natively by Recharts
|
|
250
|
+
// (connectNulls={true} is passed through to RechartsArea), so only 'dashed' bridges need the
|
|
251
|
+
// custom overlay layer.
|
|
252
|
+
var chartAreaOrder = useMemo(function () {
|
|
253
|
+
var areas = [];
|
|
254
|
+
React__default.Children.forEach(children, function (child) {
|
|
255
|
+
if (/*#__PURE__*/React__default.isValidElement(child) && getComponentId(child) === componentIds.ChartArea) {
|
|
256
|
+
var childProps = child.props;
|
|
257
|
+
var dataKey = childProps.dataKey;
|
|
258
|
+
if (dataKey) {
|
|
259
|
+
var bridge = 'none';
|
|
260
|
+
if (childProps.connectNulls === true && childProps.connectNullsStyle === 'dashed') {
|
|
261
|
+
bridge = 'dashed';
|
|
262
|
+
}
|
|
263
|
+
areas.push({
|
|
264
|
+
dataKey: dataKey,
|
|
265
|
+
bridge: bridge
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
return areas;
|
|
271
|
+
}, [children]);
|
|
272
|
+
var hasBridge = chartAreaOrder.some(function (area) {
|
|
273
|
+
return area.bridge === 'dashed';
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Bridges are drawn as curved paths derived from Recharts' own rendered geometry: after layout we
|
|
278
|
+
* parse each visible area's top-line pixel anchors from its SVG path and densely sample the
|
|
279
|
+
* monotone spline through them across each interior null run. This matches the flanking line's
|
|
280
|
+
* curve exactly (Recharts v3 doesn't expose the axis scales to <Customized>) while spanning only
|
|
281
|
+
* the no-data stretch, so nulls read as "no data" (no fill under the gap, just a bridge line —
|
|
282
|
+
* solid or dashed) rather than a value.
|
|
283
|
+
*/
|
|
284
|
+
var containerRef = useRef(null);
|
|
285
|
+
var _useState3 = useState([]),
|
|
286
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
287
|
+
bridgePaths = _useState4[0],
|
|
288
|
+
setBridgePaths = _useState4[1];
|
|
289
|
+
useLayoutEffect(function () {
|
|
290
|
+
var container = containerRef.current;
|
|
291
|
+
if (!container || !hasBridge) {
|
|
292
|
+
setBridgePaths([]);
|
|
293
|
+
return undefined;
|
|
294
|
+
}
|
|
295
|
+
var computeBridges = function computeBridges() {
|
|
296
|
+
var surface = container.querySelector('svg.recharts-surface');
|
|
297
|
+
if (!surface) return;
|
|
298
|
+
var visibleAreas = chartAreaOrder.filter(function (area) {
|
|
299
|
+
return selectedDataKeys ? selectedDataKeys.includes(area.dataKey) : true;
|
|
300
|
+
});
|
|
301
|
+
// The top-line stroke of each area. Hidden areas render nothing, so the lists only line up
|
|
302
|
+
// when their counts match.
|
|
303
|
+
var topLineCurves = Array.from(surface.querySelectorAll('.recharts-area-curve')).filter(function (curve) {
|
|
304
|
+
var _curve$getAttribute;
|
|
305
|
+
var stroke = ((_curve$getAttribute = curve.getAttribute('stroke')) !== null && _curve$getAttribute !== void 0 ? _curve$getAttribute : '').toLowerCase();
|
|
306
|
+
return stroke !== '' && stroke !== 'transparent' && stroke !== 'none';
|
|
307
|
+
});
|
|
308
|
+
if (topLineCurves.length !== visibleAreas.length) return;
|
|
309
|
+
var nextPaths = [];
|
|
310
|
+
visibleAreas.forEach(function (area, position) {
|
|
311
|
+
var _curve$getAttribute2, _curve$getAttribute3;
|
|
312
|
+
if (area.bridge === 'none') return;
|
|
313
|
+
var curve = topLineCurves[position];
|
|
314
|
+
var stroke = (_curve$getAttribute2 = curve.getAttribute('stroke')) !== null && _curve$getAttribute2 !== void 0 ? _curve$getAttribute2 : '';
|
|
315
|
+
var anchors = parsePathAnchors((_curve$getAttribute3 = curve.getAttribute('d')) !== null && _curve$getAttribute3 !== void 0 ? _curve$getAttribute3 : '');
|
|
316
|
+
var _getDefinedNumericPoi = getDefinedNumericPoints(data, area.dataKey),
|
|
317
|
+
indices = _getDefinedNumericPoi.indices;
|
|
318
|
+
if (anchors.length !== indices.length) return;
|
|
319
|
+
getInteriorGaps(indices).forEach(function (_ref4) {
|
|
320
|
+
var from = _ref4.from,
|
|
321
|
+
to = _ref4.to;
|
|
322
|
+
nextPaths.push({
|
|
323
|
+
id: "null-bridge-".concat(area.dataKey, "-").concat(indices[from]),
|
|
324
|
+
d: buildBridgePathData(anchors, from, to),
|
|
325
|
+
stroke: stroke
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
setBridgePaths(function (previous) {
|
|
330
|
+
var isSame = previous.length === nextPaths.length && previous.every(function (item, index) {
|
|
331
|
+
return item.id === nextPaths[index].id && item.d === nextPaths[index].d && item.stroke === nextPaths[index].stroke;
|
|
332
|
+
});
|
|
333
|
+
return isSame ? previous : nextPaths;
|
|
334
|
+
});
|
|
335
|
+
};
|
|
336
|
+
computeBridges();
|
|
337
|
+
|
|
338
|
+
// The line geometry isn't available synchronously (ResponsiveContainer renders the chart in a
|
|
339
|
+
// later commit) and keeps changing while the area's draw-in animation runs, so we recompute
|
|
340
|
+
// whenever the chart's DOM or the line paths (`d`) mutate, and on resize.
|
|
341
|
+
var cleanups = [];
|
|
342
|
+
if (typeof MutationObserver !== 'undefined') {
|
|
343
|
+
var rafId = null;
|
|
344
|
+
var mutationObserver = new MutationObserver(function (mutations) {
|
|
345
|
+
// Skip mutations that originate from our own bridge layer (the dashed paths we render),
|
|
346
|
+
// which would otherwise cause re-entrant computeBridges calls on every bridge update.
|
|
347
|
+
var isBridgeMutation = mutations.some(function (m) {
|
|
348
|
+
return m.target instanceof Element && m.target.closest('.blade-null-bridge-layer');
|
|
349
|
+
});
|
|
350
|
+
if (isBridgeMutation) return;
|
|
351
|
+
// Debounce: coalesce multiple mutations in a single animation frame so that hover-related
|
|
352
|
+
// DOM changes (tooltips, active dots, crosshair) don't each trigger a separate computation.
|
|
353
|
+
if (rafId !== null) cancelAnimationFrame(rafId);
|
|
354
|
+
rafId = requestAnimationFrame(function () {
|
|
355
|
+
rafId = null;
|
|
356
|
+
computeBridges();
|
|
357
|
+
});
|
|
358
|
+
});
|
|
359
|
+
mutationObserver.observe(container, {
|
|
360
|
+
childList: true,
|
|
361
|
+
subtree: true,
|
|
362
|
+
attributes: true,
|
|
363
|
+
attributeFilter: ['d']
|
|
364
|
+
});
|
|
365
|
+
cleanups.push(function () {
|
|
366
|
+
mutationObserver.disconnect();
|
|
367
|
+
if (rafId !== null) cancelAnimationFrame(rafId);
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
371
|
+
var resizeObserver = new ResizeObserver(function () {
|
|
372
|
+
return computeBridges();
|
|
373
|
+
});
|
|
374
|
+
resizeObserver.observe(container);
|
|
375
|
+
cleanups.push(function () {
|
|
376
|
+
return resizeObserver.disconnect();
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
return function () {
|
|
380
|
+
return cleanups.forEach(function (cleanup) {
|
|
381
|
+
return cleanup();
|
|
382
|
+
});
|
|
383
|
+
};
|
|
384
|
+
}, [data, chartAreaOrder, hasBridge, selectedDataKeys]);
|
|
385
|
+
var renderNullBridges = function renderNullBridges() {
|
|
386
|
+
if (bridgePaths.length === 0) return null;
|
|
387
|
+
return /*#__PURE__*/jsx("g", {
|
|
388
|
+
className: "blade-null-bridge-layer",
|
|
389
|
+
children: bridgePaths.map(function (_ref5) {
|
|
390
|
+
var id = _ref5.id,
|
|
391
|
+
d = _ref5.d,
|
|
392
|
+
stroke = _ref5.stroke;
|
|
393
|
+
return /*#__PURE__*/jsx("path", {
|
|
394
|
+
d: d,
|
|
395
|
+
fill: "none",
|
|
396
|
+
stroke: stroke,
|
|
397
|
+
strokeWidth: 1.5,
|
|
398
|
+
strokeDasharray: NULL_BRIDGE_DASHARRAY,
|
|
399
|
+
strokeLinecap: "round",
|
|
400
|
+
strokeLinejoin: "round"
|
|
401
|
+
}, id);
|
|
402
|
+
})
|
|
403
|
+
});
|
|
404
|
+
};
|
|
226
405
|
return /*#__PURE__*/jsx(CommonChartComponentsContext.Provider, {
|
|
227
406
|
value: {
|
|
228
407
|
chartName: 'area',
|
|
@@ -238,19 +417,28 @@ var ChartAreaWrapper = function ChartAreaWrapper(_ref3) {
|
|
|
238
417
|
})), makeAnalyticsAttribute(restProps)), restProps), {}, {
|
|
239
418
|
width: "100%",
|
|
240
419
|
height: "100%",
|
|
241
|
-
children: /*#__PURE__*/jsx(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
420
|
+
children: /*#__PURE__*/jsx("div", {
|
|
421
|
+
ref: containerRef,
|
|
422
|
+
style: {
|
|
423
|
+
width: '100%',
|
|
424
|
+
height: '100%'
|
|
425
|
+
},
|
|
426
|
+
children: /*#__PURE__*/jsx(ResponsiveContainer, {
|
|
427
|
+
children: /*#__PURE__*/jsxs(AreaChart, {
|
|
428
|
+
data: data,
|
|
429
|
+
children: [/*#__PURE__*/jsx("defs", {
|
|
430
|
+
children: Object.keys(dataColorMapping).map(function (dataKey, index) {
|
|
431
|
+
return /*#__PURE__*/jsx(ChartColorGradient, {
|
|
432
|
+
id: "color-".concat(gradientNamespace, "-").concat(index, "-").concat(dataKey),
|
|
433
|
+
index: index,
|
|
434
|
+
color: dataColorMapping[dataKey].colorToken,
|
|
435
|
+
totalAreaChartChildren: totalAreaChartChildren
|
|
436
|
+
}, "color-".concat(gradientNamespace, "-").concat(index, "-").concat(dataKey));
|
|
437
|
+
})
|
|
438
|
+
}), modifiedChildren, hasBridge ? /*#__PURE__*/jsx(Customized, {
|
|
439
|
+
component: renderNullBridges
|
|
440
|
+
}) : null]
|
|
441
|
+
})
|
|
254
442
|
})
|
|
255
443
|
})
|
|
256
444
|
}))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AreaChart.web.js","sources":["../../../../../../../src/components/Charts/AreaChart/AreaChart.web.tsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport {\n AreaChart as RechartsAreaChart,\n Area as RechartsArea,\n ResponsiveContainer,\n} from 'recharts';\nimport { getHighestColorInRange, useChartsColorTheme, assignDataColorMapping } from '../utils';\nimport type {\n DataColorMapping,\n SecondaryLabelMap,\n ChartXAxisProps,\n} from '../CommonChartComponents';\nimport { CommonChartComponentsContext } from '../CommonChartComponents';\nimport { componentId as commonComponentIds } from '../CommonChartComponents/tokens';\nimport type { ChartAreaProps, ChartAreaWrapperProps, ChartColorGradientProps } from './types';\nimport { componentIds } from './componentIds';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { useTheme } from '~components/BladeProvider';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport getIn from '~utils/lodashButBetter/get';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\nconst Area: React.FC<ChartAreaProps> = ({\n color,\n type = 'monotone',\n connectNulls = false,\n showLegend = true,\n stackId = 1,\n dot = false,\n activeDot = true,\n _index,\n _colorTheme,\n _totalAreas,\n dataKey,\n name,\n hide,\n ...props\n}) => {\n const { theme } = useTheme();\n const themeColors = useChartsColorTheme({\n colorTheme: _colorTheme,\n chartName: 'area',\n chartDataIndicators: _totalAreas,\n });\n const colorToken = getIn(\n theme.colors,\n color ? getHighestColorInRange({ colorToken: color }) : themeColors[_index ?? 0],\n );\n const animationBegin = theme.motion.delay.gentle;\n const animationDuration = theme.motion.duration.xgentle;\n\n return (\n <RechartsArea\n {...props}\n fill={`url(#color-${_index}-${dataKey})`}\n dataKey={dataKey}\n name={name}\n stroke={colorToken}\n fillOpacity={0.5}\n type={type}\n connectNulls={connectNulls}\n legendType={showLegend ? 'rect' : 'none'}\n strokeWidth={1.5}\n dot={dot}\n stackId={stackId}\n activeDot={activeDot}\n animationBegin={animationBegin}\n animationDuration={animationDuration}\n hide={hide}\n />\n );\n};\n\nconst ChartArea = assignWithoutSideEffects(Area, {\n componentId: componentIds.ChartArea,\n});\n\nconst ChartColorGradient: React.FC<ChartColorGradientProps> = ({\n index,\n color,\n totalAreaChartChildren,\n id,\n}) => {\n const { colorScheme, theme } = useTheme();\n const isDarkMode = colorScheme === 'dark';\n const themeColors = useChartsColorTheme({\n colorTheme: 'categorical',\n chartName: 'area',\n chartDataIndicators: totalAreaChartChildren,\n });\n\n const colorToken = getIn(\n theme.colors,\n getHighestColorInRange({\n colorToken: color ?? themeColors[index],\n followIntensityMapping: true,\n }),\n );\n return (\n <linearGradient id={id} key={id} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"5%\" stopColor={colorToken} stopOpacity={isDarkMode ? 0.28 : 1} />\n <stop offset=\"95%\" stopColor={colorToken} stopOpacity={isDarkMode ? 0.12 : 0.32} />\n </linearGradient>\n );\n};\n\n// Main components\nconst ChartAreaWrapper: React.FC<ChartAreaWrapperProps & TestID & DataAnalyticsAttribute> = ({\n data,\n children,\n testID,\n colorTheme = 'categorical',\n ...restProps\n}) => {\n const themeColors = useChartsColorTheme({\n colorTheme,\n chartName: 'area',\n });\n\n // State to track which areas are currently selected (visible)\n const [selectedDataKeys, setSelectedDataKeys] = useState<string[] | undefined>(undefined);\n\n const {\n modifiedChildren,\n totalAreaChartChildren,\n dataColorMapping,\n secondaryDataKey,\n } = useMemo(() => {\n const childrenArray = React.Children.toArray(children);\n const dataColorMapping: DataColorMapping = {};\n\n // Count ChartArea components\n const totalAreas = childrenArray.filter(\n (child): child is React.ReactElement =>\n React.isValidElement(child) && getComponentId(child) === componentIds.ChartArea,\n ).length;\n\n // Find ChartXAxis and extract secondaryDataKey\n let secondaryDataKey: string | undefined;\n for (const child of childrenArray) {\n if (React.isValidElement(child) && getComponentId(child) === commonComponentIds.chartXAxis) {\n secondaryDataKey = (child.props as ChartXAxisProps)?.secondaryDataKey;\n break;\n }\n }\n\n let AreaChartIndex = 0;\n /**\n * We need to check child of ChartAreaWrapper. if they have any custom color we store that.\n * We need these mapping because colors of tooltip & legend is determine based on this\n * recharts do provide a color but it is hex code and we need blade color token .\n */\n const modifiedChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && getComponentId(child) === componentIds.ChartArea) {\n const childColor = child?.props?.color;\n const dataKey = (child?.props as ChartAreaProps)?.dataKey as string;\n if (dataKey) {\n // assign colors to the dataColorMapping, if no color is assigned we assign color in `assignDataColorMapping`\n\n dataColorMapping[dataKey] = {\n colorToken: childColor,\n isCustomColor: Boolean(childColor),\n };\n }\n // Pass hide prop based on whether this area's dataKey is NOT in selectedDataKeys\n // If selectedDataKeys is undefined, show all areas (default behavior)\n return React.cloneElement(child, {\n _index: AreaChartIndex++,\n _colorTheme: colorTheme,\n _totalAreas: totalAreas,\n hide: selectedDataKeys ? !selectedDataKeys.includes(dataKey) : false,\n } as Partial<ChartAreaProps>);\n }\n return child;\n });\n\n assignDataColorMapping(dataColorMapping, themeColors);\n return {\n modifiedChildren,\n totalAreaChartChildren: AreaChartIndex,\n dataColorMapping,\n secondaryDataKey,\n };\n }, [children, colorTheme, themeColors, selectedDataKeys]);\n\n // Build secondary label map internally from ChartXAxis's secondaryDataKey prop\n const secondaryLabelMap = React.useMemo<SecondaryLabelMap | undefined>(() => {\n if (!secondaryDataKey || !data) return undefined;\n const map: SecondaryLabelMap = {};\n data.forEach((item, index) => {\n map[index] = item[secondaryDataKey] as string | number | undefined;\n });\n return map;\n }, [data, secondaryDataKey]);\n\n return (\n <CommonChartComponentsContext.Provider\n value={{\n chartName: 'area',\n dataColorMapping,\n secondaryLabelMap,\n dataLength: data?.length,\n selectedDataKeys,\n setSelectedDataKeys,\n }}\n >\n <BaseBox\n {...metaAttribute({ name: 'chart-area-container', testID })}\n {...makeAnalyticsAttribute(restProps)}\n {...restProps}\n width=\"100%\"\n height=\"100%\"\n >\n <ResponsiveContainer>\n <RechartsAreaChart data={data}>\n <defs>\n {Object.keys(dataColorMapping).map((dataKey, index) => (\n <ChartColorGradient\n key={`color-${index}-${dataKey}`}\n id={`color-${index}-${dataKey}`}\n index={index}\n color={dataColorMapping[dataKey].colorToken}\n totalAreaChartChildren={totalAreaChartChildren}\n />\n ))}\n </defs>\n\n {modifiedChildren}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </BaseBox>\n </CommonChartComponentsContext.Provider>\n );\n};\n\nexport type { ChartAreaWrapperProps, ChartAreaProps };\nexport { ChartAreaWrapper, ChartArea };\n"],"names":["Area","_ref","color","_ref$type","type","_ref$connectNulls","connectNulls","_ref$showLegend","showLegend","_ref$stackId","stackId","_ref$dot","dot","_ref$activeDot","activeDot","_index","_colorTheme","_totalAreas","dataKey","name","hide","props","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","themeColors","useChartsColorTheme","colorTheme","chartName","chartDataIndicators","colorToken","getIn","colors","getHighestColorInRange","animationBegin","motion","delay","gentle","animationDuration","duration","xgentle","_jsx","RechartsArea","_objectSpread","fill","concat","stroke","fillOpacity","legendType","strokeWidth","ChartArea","assignWithoutSideEffects","componentId","componentIds","ChartColorGradient","_ref2","index","totalAreaChartChildren","id","_useTheme2","colorScheme","isDarkMode","followIntensityMapping","_jsxs","x1","y1","x2","y2","children","offset","stopColor","stopOpacity","ChartAreaWrapper","_ref3","data","testID","_ref3$colorTheme","restProps","_excluded2","_useState","useState","undefined","_useState2","_slicedToArray","selectedDataKeys","setSelectedDataKeys","_useMemo","useMemo","childrenArray","React","Children","toArray","dataColorMapping","totalAreas","filter","child","isValidElement","getComponentId","length","secondaryDataKey","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","commonComponentIds","chartXAxis","_child$props3","err","e","f","AreaChartIndex","modifiedChildren","map","_child$props","_child$props2","childColor","isCustomColor","Boolean","cloneElement","includes","assignDataColorMapping","secondaryLabelMap","forEach","item","CommonChartComponentsContext","Provider","dataLength","BaseBox","metaAttribute","makeAnalyticsAttribute","width","height","ResponsiveContainer","RechartsAreaChart","Object","keys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AreaChart.web.js","sources":["../../../../../../../src/components/Charts/AreaChart/AreaChart.web.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useLayoutEffect, useId } from 'react';\nimport {\n AreaChart as RechartsAreaChart,\n Area as RechartsArea,\n ResponsiveContainer,\n Customized as RechartsCustomized,\n} from 'recharts';\nimport { getHighestColorInRange, useChartsColorTheme, assignDataColorMapping } from '../utils';\nimport {\n getDefinedNumericPoints,\n getInteriorGaps,\n parsePathAnchors,\n buildBridgePathData,\n} from '../utils/nullBridgeUtils';\nimport type {\n DataColorMapping,\n SecondaryLabelMap,\n ChartXAxisProps,\n} from '../CommonChartComponents';\nimport { CommonChartComponentsContext } from '../CommonChartComponents';\nimport { componentId as commonComponentIds } from '../CommonChartComponents/tokens';\nimport type { ChartAreaProps, ChartAreaWrapperProps, ChartColorGradientProps } from './types';\nimport { componentIds } from './componentIds';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nimport type { DataAnalyticsAttribute, TestID } from '~utils/types';\nimport { useTheme } from '~components/BladeProvider';\nimport { metaAttribute } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport getIn from '~utils/lodashButBetter/get';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\n\n// Dash pattern used for the line drawn across null points on a dashed bridge.\nconst NULL_BRIDGE_DASHARRAY = '5 5';\n\nconst Area: React.FC<ChartAreaProps> = ({\n color,\n type = 'monotone',\n connectNulls = false,\n connectNullsStyle = 'solid',\n showLegend = true,\n stackId = 1,\n dot = false,\n activeDot = true,\n _index,\n _colorTheme,\n _totalAreas,\n _gradientNamespace = '',\n dataKey,\n name,\n hide,\n ...props\n}) => {\n const { theme } = useTheme();\n const themeColors = useChartsColorTheme({\n colorTheme: _colorTheme,\n chartName: 'area',\n chartDataIndicators: _totalAreas,\n });\n const colorToken = getIn(\n theme.colors,\n color ? getHighestColorInRange({ colorToken: color }) : themeColors[_index ?? 0],\n );\n const animationBegin = theme.motion.delay.gentle;\n const animationDuration = theme.motion.duration.xgentle;\n\n // When connectNulls is true with the default 'solid' style, we pass connectNulls through to\n // RechartsArea so the area fill + stroke bridge across nulls exactly as before (backward\n // compatible). Only when a 'dashed' bridge is explicitly requested do we gap the area fill\n // (connectNulls={false}) and let the NullBridgeLayer draw a separate dashed bridge line.\n const isSolidBridge = connectNulls && connectNullsStyle === 'solid';\n void connectNullsStyle;\n\n return (\n <RechartsArea\n {...props}\n fill={`url(#color-${_gradientNamespace}-${_index}-${dataKey})`}\n dataKey={dataKey}\n name={name}\n stroke={colorToken}\n fillOpacity={0.5}\n type={type}\n connectNulls={isSolidBridge}\n legendType={showLegend ? 'rect' : 'none'}\n strokeWidth={1.5}\n dot={dot}\n stackId={stackId}\n activeDot={activeDot}\n animationBegin={animationBegin}\n animationDuration={animationDuration}\n hide={hide}\n />\n );\n};\n\nconst ChartArea = assignWithoutSideEffects(Area, {\n componentId: componentIds.ChartArea,\n});\n\nconst ChartColorGradient: React.FC<ChartColorGradientProps> = ({\n index,\n color,\n totalAreaChartChildren,\n id,\n}) => {\n const { colorScheme, theme } = useTheme();\n const isDarkMode = colorScheme === 'dark';\n const themeColors = useChartsColorTheme({\n colorTheme: 'categorical',\n chartName: 'area',\n chartDataIndicators: totalAreaChartChildren,\n });\n\n const colorToken = getIn(\n theme.colors,\n getHighestColorInRange({\n colorToken: color ?? themeColors[index],\n followIntensityMapping: true,\n }),\n );\n return (\n <linearGradient id={id} key={id} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"5%\" stopColor={colorToken} stopOpacity={isDarkMode ? 0.28 : 1} />\n <stop offset=\"95%\" stopColor={colorToken} stopOpacity={isDarkMode ? 0.12 : 0.32} />\n </linearGradient>\n );\n};\n\n// Main components\nconst ChartAreaWrapper: React.FC<ChartAreaWrapperProps & TestID & DataAnalyticsAttribute> = ({\n data,\n children,\n testID,\n colorTheme = 'categorical',\n ...restProps\n}) => {\n const themeColors = useChartsColorTheme({\n colorTheme,\n chartName: 'area',\n });\n\n // Unique per-instance namespace for gradient ids. Without it, multiple AreaCharts on the same\n // page emit gradients with the same id (e.g. `color-0-uv`) and every area's `fill=\"url(#...)\"`\n // resolves to the first one in the document, so all charts share (and can be washed out by) the\n // first chart's fill color. Colons from `useId` are stripped so the id stays `url()`-safe.\n const gradientNamespace = useId().replace(/[^a-zA-Z0-9]/g, '');\n\n // State to track which areas are currently selected (visible)\n const [selectedDataKeys, setSelectedDataKeys] = useState<string[] | undefined>(undefined);\n\n const {\n modifiedChildren,\n totalAreaChartChildren,\n dataColorMapping,\n secondaryDataKey,\n } = useMemo(() => {\n const childrenArray = React.Children.toArray(children);\n const dataColorMapping: DataColorMapping = {};\n\n // Count ChartArea components\n const totalAreas = childrenArray.filter(\n (child): child is React.ReactElement =>\n React.isValidElement(child) && getComponentId(child) === componentIds.ChartArea,\n ).length;\n\n // Find ChartXAxis and extract secondaryDataKey\n let secondaryDataKey: string | undefined;\n for (const child of childrenArray) {\n if (React.isValidElement(child) && getComponentId(child) === commonComponentIds.chartXAxis) {\n secondaryDataKey = (child.props as ChartXAxisProps)?.secondaryDataKey;\n break;\n }\n }\n\n let AreaChartIndex = 0;\n /**\n * We need to check child of ChartAreaWrapper. if they have any custom color we store that.\n * We need these mapping because colors of tooltip & legend is determine based on this\n * recharts do provide a color but it is hex code and we need blade color token .\n */\n const modifiedChildren = React.Children.map(children, (child) => {\n if (React.isValidElement(child) && getComponentId(child) === componentIds.ChartArea) {\n const childColor = child?.props?.color;\n const dataKey = (child?.props as ChartAreaProps)?.dataKey as string;\n if (dataKey) {\n // assign colors to the dataColorMapping, if no color is assigned we assign color in `assignDataColorMapping`\n\n dataColorMapping[dataKey] = {\n colorToken: childColor,\n isCustomColor: Boolean(childColor),\n };\n }\n // Pass hide prop based on whether this area's dataKey is NOT in selectedDataKeys\n // If selectedDataKeys is undefined, show all areas (default behavior)\n return React.cloneElement(child, {\n _index: AreaChartIndex++,\n _colorTheme: colorTheme,\n _totalAreas: totalAreas,\n _gradientNamespace: gradientNamespace,\n hide: selectedDataKeys ? !selectedDataKeys.includes(dataKey) : false,\n } as Partial<ChartAreaProps>);\n }\n return child;\n });\n\n assignDataColorMapping(dataColorMapping, themeColors);\n return {\n modifiedChildren,\n totalAreaChartChildren: AreaChartIndex,\n dataColorMapping,\n secondaryDataKey,\n };\n }, [children, colorTheme, themeColors, selectedDataKeys, gradientNamespace]);\n\n // Build secondary label map internally from ChartXAxis's secondaryDataKey prop\n const secondaryLabelMap = React.useMemo<SecondaryLabelMap | undefined>(() => {\n if (!secondaryDataKey || !data) return undefined;\n const map: SecondaryLabelMap = {};\n data.forEach((item, index) => {\n map[index] = item[secondaryDataKey] as string | number | undefined;\n });\n return map;\n }, [data, secondaryDataKey]);\n\n // Ordered ChartArea children (matching Recharts' render order) and which of them need a dashed\n // null-bridge drawn by the NullBridgeLayer. 'solid' bridges are handled natively by Recharts\n // (connectNulls={true} is passed through to RechartsArea), so only 'dashed' bridges need the\n // custom overlay layer.\n const chartAreaOrder = useMemo(() => {\n const areas: Array<{ dataKey: string; bridge: 'none' | 'dashed' }> = [];\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child) && getComponentId(child) === componentIds.ChartArea) {\n const childProps = child.props as ChartAreaProps;\n const dataKey = childProps.dataKey as string;\n if (dataKey) {\n let bridge: 'none' | 'dashed' = 'none';\n if (childProps.connectNulls === true && childProps.connectNullsStyle === 'dashed') {\n bridge = 'dashed';\n }\n areas.push({ dataKey, bridge });\n }\n }\n });\n return areas;\n }, [children]);\n\n const hasBridge = chartAreaOrder.some((area) => area.bridge === 'dashed');\n\n /**\n * Bridges are drawn as curved paths derived from Recharts' own rendered geometry: after layout we\n * parse each visible area's top-line pixel anchors from its SVG path and densely sample the\n * monotone spline through them across each interior null run. This matches the flanking line's\n * curve exactly (Recharts v3 doesn't expose the axis scales to <Customized>) while spanning only\n * the no-data stretch, so nulls read as \"no data\" (no fill under the gap, just a bridge line —\n * solid or dashed) rather than a value.\n */\n const containerRef = useRef<HTMLDivElement>(null);\n const [bridgePaths, setBridgePaths] = useState<\n Array<{\n id: string;\n d: string;\n stroke: string;\n }>\n >([]);\n\n useLayoutEffect(() => {\n const container = containerRef.current;\n if (!container || !hasBridge) {\n setBridgePaths([]);\n return undefined;\n }\n\n const computeBridges = (): void => {\n const surface = container.querySelector('svg.recharts-surface');\n if (!surface) return;\n const visibleAreas = chartAreaOrder.filter((area) =>\n selectedDataKeys ? selectedDataKeys.includes(area.dataKey) : true,\n );\n // The top-line stroke of each area. Hidden areas render nothing, so the lists only line up\n // when their counts match.\n const topLineCurves = Array.from(\n surface.querySelectorAll<SVGPathElement>('.recharts-area-curve'),\n ).filter((curve) => {\n const stroke = (curve.getAttribute('stroke') ?? '').toLowerCase();\n return stroke !== '' && stroke !== 'transparent' && stroke !== 'none';\n });\n if (topLineCurves.length !== visibleAreas.length) return;\n\n const nextPaths: Array<{\n id: string;\n d: string;\n stroke: string;\n }> = [];\n visibleAreas.forEach((area, position) => {\n if (area.bridge === 'none') return;\n const curve = topLineCurves[position];\n const stroke = curve.getAttribute('stroke') ?? '';\n const anchors = parsePathAnchors(curve.getAttribute('d') ?? '');\n const { indices } = getDefinedNumericPoints(data, area.dataKey);\n if (anchors.length !== indices.length) return;\n\n getInteriorGaps(indices).forEach(({ from, to }) => {\n nextPaths.push({\n id: `null-bridge-${area.dataKey}-${indices[from]}`,\n d: buildBridgePathData(anchors, from, to),\n stroke,\n });\n });\n });\n\n setBridgePaths((previous) => {\n const isSame =\n previous.length === nextPaths.length &&\n previous.every(\n (item, index) =>\n item.id === nextPaths[index].id &&\n item.d === nextPaths[index].d &&\n item.stroke === nextPaths[index].stroke,\n );\n return isSame ? previous : nextPaths;\n });\n };\n\n computeBridges();\n\n // The line geometry isn't available synchronously (ResponsiveContainer renders the chart in a\n // later commit) and keeps changing while the area's draw-in animation runs, so we recompute\n // whenever the chart's DOM or the line paths (`d`) mutate, and on resize.\n const cleanups: Array<() => void> = [];\n if (typeof MutationObserver !== 'undefined') {\n let rafId: number | null = null;\n const mutationObserver = new MutationObserver((mutations) => {\n // Skip mutations that originate from our own bridge layer (the dashed paths we render),\n // which would otherwise cause re-entrant computeBridges calls on every bridge update.\n const isBridgeMutation = mutations.some(\n (m) => m.target instanceof Element && m.target.closest('.blade-null-bridge-layer'),\n );\n if (isBridgeMutation) return;\n // Debounce: coalesce multiple mutations in a single animation frame so that hover-related\n // DOM changes (tooltips, active dots, crosshair) don't each trigger a separate computation.\n if (rafId !== null) cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(() => {\n rafId = null;\n computeBridges();\n });\n });\n mutationObserver.observe(container, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['d'],\n });\n cleanups.push(() => {\n mutationObserver.disconnect();\n if (rafId !== null) cancelAnimationFrame(rafId);\n });\n }\n if (typeof ResizeObserver !== 'undefined') {\n const resizeObserver = new ResizeObserver(() => computeBridges());\n resizeObserver.observe(container);\n cleanups.push(() => resizeObserver.disconnect());\n }\n return () => cleanups.forEach((cleanup) => cleanup());\n }, [data, chartAreaOrder, hasBridge, selectedDataKeys]);\n\n const renderNullBridges = (): React.ReactElement | null => {\n if (bridgePaths.length === 0) return null;\n return (\n <g className=\"blade-null-bridge-layer\">\n {bridgePaths.map(({ id, d, stroke }) => (\n <path\n key={id}\n d={d}\n fill=\"none\"\n stroke={stroke}\n strokeWidth={1.5}\n strokeDasharray={NULL_BRIDGE_DASHARRAY}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ))}\n </g>\n );\n };\n\n return (\n <CommonChartComponentsContext.Provider\n value={{\n chartName: 'area',\n dataColorMapping,\n secondaryLabelMap,\n dataLength: data?.length,\n selectedDataKeys,\n setSelectedDataKeys,\n }}\n >\n <BaseBox\n {...metaAttribute({ name: 'chart-area-container', testID })}\n {...makeAnalyticsAttribute(restProps)}\n {...restProps}\n width=\"100%\"\n height=\"100%\"\n >\n <div ref={containerRef} style={{ width: '100%', height: '100%' }}>\n <ResponsiveContainer>\n <RechartsAreaChart data={data}>\n <defs>\n {Object.keys(dataColorMapping).map((dataKey, index) => (\n <ChartColorGradient\n key={`color-${gradientNamespace}-${index}-${dataKey}`}\n id={`color-${gradientNamespace}-${index}-${dataKey}`}\n index={index}\n color={dataColorMapping[dataKey].colorToken}\n totalAreaChartChildren={totalAreaChartChildren}\n />\n ))}\n </defs>\n\n {modifiedChildren}\n {hasBridge ? <RechartsCustomized component={renderNullBridges} /> : null}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </div>\n </BaseBox>\n </CommonChartComponentsContext.Provider>\n );\n};\n\nexport type { ChartAreaWrapperProps, ChartAreaProps };\nexport { ChartAreaWrapper, ChartArea };\n"],"names":["NULL_BRIDGE_DASHARRAY","Area","_ref","color","_ref$type","type","_ref$connectNulls","connectNulls","_ref$connectNullsStyl","connectNullsStyle","_ref$showLegend","showLegend","_ref$stackId","stackId","_ref$dot","dot","_ref$activeDot","activeDot","_index","_colorTheme","_totalAreas","_ref$_gradientNamespa","_gradientNamespace","dataKey","name","hide","props","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","themeColors","useChartsColorTheme","colorTheme","chartName","chartDataIndicators","colorToken","getIn","colors","getHighestColorInRange","animationBegin","motion","delay","gentle","animationDuration","duration","xgentle","isSolidBridge","_jsx","RechartsArea","_objectSpread","fill","concat","stroke","fillOpacity","legendType","strokeWidth","ChartArea","assignWithoutSideEffects","componentId","componentIds","ChartColorGradient","_ref2","index","totalAreaChartChildren","id","_useTheme2","colorScheme","isDarkMode","followIntensityMapping","_jsxs","x1","y1","x2","y2","children","offset","stopColor","stopOpacity","ChartAreaWrapper","_ref3","data","testID","_ref3$colorTheme","restProps","_excluded2","gradientNamespace","useId","replace","_useState","useState","undefined","_useState2","_slicedToArray","selectedDataKeys","setSelectedDataKeys","_useMemo","useMemo","childrenArray","React","Children","toArray","dataColorMapping","totalAreas","filter","child","isValidElement","getComponentId","length","secondaryDataKey","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","commonComponentIds","chartXAxis","_child$props3","err","e","f","AreaChartIndex","modifiedChildren","map","_child$props","_child$props2","childColor","isCustomColor","Boolean","cloneElement","includes","assignDataColorMapping","secondaryLabelMap","forEach","item","chartAreaOrder","areas","childProps","bridge","push","hasBridge","some","area","containerRef","useRef","_useState3","_useState4","bridgePaths","setBridgePaths","useLayoutEffect","container","current","computeBridges","surface","querySelector","visibleAreas","topLineCurves","Array","from","querySelectorAll","curve","_curve$getAttribute","getAttribute","toLowerCase","nextPaths","position","_curve$getAttribute2","_curve$getAttribute3","anchors","parsePathAnchors","_getDefinedNumericPoi","getDefinedNumericPoints","indices","getInteriorGaps","_ref4","to","d","buildBridgePathData","previous","isSame","every","cleanups","MutationObserver","rafId","mutationObserver","mutations","isBridgeMutation","m","target","Element","closest","cancelAnimationFrame","requestAnimationFrame","observe","childList","subtree","attributes","attributeFilter","disconnect","ResizeObserver","resizeObserver","cleanup","renderNullBridges","className","_ref5","strokeDasharray","strokeLinecap","strokeLinejoin","CommonChartComponentsContext","Provider","dataLength","BaseBox","metaAttribute","makeAnalyticsAttribute","width","height","ref","style","ResponsiveContainer","RechartsAreaChart","Object","keys","RechartsCustomized","component"],"mappings":"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"}
|