@razorpay/blade 12.111.0 → 12.120.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/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 +1 -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 +1 -1
- package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
- 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/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/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/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 +7 -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/useControlledDropdownInput/useControlledDropdownInput.js +1 -1
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
- package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
- package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
- 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 +20 -0
- 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/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/FilterChipSelectInput.web.js +20 -12
- 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 +15 -1
- package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
- 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/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/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/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 +9 -2
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
- package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
- package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
- 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 +4 -0
- 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/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 +20 -0
- 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/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/FilterChipSelectInput.web.js +20 -12
- 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 +15 -1
- package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js.map +1 -1
- 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/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/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/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 +9 -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 +4 -0
- 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 +557 -18
- package/build/types/components/index.native.d.ts +463 -16
- 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
|
@@ -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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"}
|