@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.
Files changed (444) hide show
  1. package/assets/spark/colorama-center-gradient-map-dark.jpg +0 -0
  2. package/assets/spark/colorama-gradient-map-dark.png +0 -0
  3. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js +5 -5
  4. package/build/lib/native/components/AnimateInteractions/AnimateInteractions.native.js.map +1 -1
  5. package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js +6 -0
  6. package/build/lib/native/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -0
  7. package/build/lib/native/components/BaseMotion/BaseMotion.native.js +22 -0
  8. package/build/lib/native/components/BaseMotion/BaseMotion.native.js.map +1 -0
  9. package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js +11 -0
  10. package/build/lib/native/components/BaseMotion/baseMotionInterpreter.native.js.map +1 -0
  11. package/build/lib/native/components/BaseMotion/baseMotionUtils.js +4 -0
  12. package/build/lib/native/components/BaseMotion/baseMotionUtils.js.map +1 -0
  13. package/build/lib/native/components/BaseMotion/index.js +3 -0
  14. package/build/lib/native/components/BaseMotion/index.js.map +1 -0
  15. package/build/lib/native/components/BaseMotion/types.js +2 -0
  16. package/build/lib/native/components/BaseMotion/types.js.map +1 -0
  17. package/build/lib/native/components/Button/BaseButton/BaseButton.js +3 -3
  18. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  19. package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
  20. package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
  21. package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js +2 -1
  22. package/build/lib/native/components/Charts/AreaChart/AreaChart.native.js.map +1 -1
  23. package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js +2 -2
  24. package/build/lib/native/components/Charts/CommonChartComponents/CommonChartComponents.native.js.map +1 -1
  25. package/build/lib/native/components/Charts/CommonChartComponents/index.js +1 -1
  26. package/build/lib/native/components/Charts/CommonChartComponents/tokens.js +2 -2
  27. package/build/lib/native/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  28. package/build/lib/native/components/Charts/LineChart/LineChart.native.js +4 -2
  29. package/build/lib/native/components/Charts/LineChart/LineChart.native.js.map +1 -1
  30. package/build/lib/native/components/Charts/utils/nullBridgeUtils.js +4 -0
  31. package/build/lib/native/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  32. package/build/lib/native/components/Charts/utils/referenceBandUtils.js +6 -0
  33. package/build/lib/native/components/Charts/utils/referenceBandUtils.js.map +1 -0
  34. package/build/lib/native/components/CounterInput/CounterInput.native.js +3 -2
  35. package/build/lib/native/components/CounterInput/CounterInput.native.js.map +1 -1
  36. package/build/lib/native/components/CounterInput/token.js +2 -2
  37. package/build/lib/native/components/CounterInput/token.js.map +1 -1
  38. package/build/lib/native/components/DatePicker/Calendar.native.js +2 -2
  39. package/build/lib/native/components/DatePicker/Calendar.native.js.map +1 -1
  40. package/build/lib/native/components/DatePicker/utils.js +2 -2
  41. package/build/lib/native/components/DatePicker/utils.js.map +1 -1
  42. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  43. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  44. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js +2 -1
  45. package/build/lib/native/components/Dropdown/FilterChipSelectInput.native.js.map +1 -1
  46. package/build/lib/native/components/Dropdown/dropdownUtils.js +1 -1
  47. package/build/lib/native/components/Dropdown/dropdownUtils.js.map +1 -1
  48. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js +4 -0
  49. package/build/lib/native/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  50. package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
  51. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  52. package/build/lib/native/components/Fade/Fade.native.js +7 -5
  53. package/build/lib/native/components/Fade/Fade.native.js.map +1 -1
  54. package/build/lib/native/components/FilterChip/BaseFilterChip.native.js +2 -2
  55. package/build/lib/native/components/FilterChip/BaseFilterChip.native.js.map +1 -1
  56. package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js +14 -0
  57. package/build/lib/native/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  58. package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js +20 -0
  59. package/build/lib/native/components/FloatingActionButton/FloatingActionButtonContainer.native.js.map +1 -0
  60. package/build/lib/native/components/FloatingActionButton/index.js +2 -0
  61. package/build/lib/native/components/FloatingActionButton/index.js.map +1 -0
  62. package/build/lib/native/components/GenUI/GenUIContext.native.js +2 -2
  63. package/build/lib/native/components/GenUI/GenUIContext.native.js.map +1 -1
  64. package/build/lib/native/components/GenUI/index.js +1 -1
  65. package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +14 -0
  66. package/build/lib/native/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  67. package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js +2 -0
  68. package/build/lib/native/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  69. package/build/lib/native/components/Icons/index.js +1 -0
  70. package/build/lib/native/components/Icons/index.js.map +1 -1
  71. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +1 -1
  72. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
  73. package/build/lib/native/components/Input/OTPInput/OTPInput.js +1 -1
  74. package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
  75. package/build/lib/native/components/Morph/Morph.native.js +9 -5
  76. package/build/lib/native/components/Morph/Morph.native.js.map +1 -1
  77. package/build/lib/native/components/Move/Move.native.js +8 -5
  78. package/build/lib/native/components/Move/Move.native.js.map +1 -1
  79. package/build/lib/native/components/Scale/Scale.native.js +7 -5
  80. package/build/lib/native/components/Scale/Scale.native.js.map +1 -1
  81. package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js +27 -0
  82. package/build/lib/native/components/SegmentedControl/SegmentedControl.native.js.map +1 -0
  83. package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js +8 -0
  84. package/build/lib/native/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  85. package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js +18 -0
  86. package/build/lib/native/components/SegmentedControl/SegmentedControlItem.native.js.map +1 -0
  87. package/build/lib/native/components/SegmentedControl/index.js +3 -0
  88. package/build/lib/native/components/SegmentedControl/index.js.map +1 -0
  89. package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js +4 -0
  90. package/build/lib/native/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  91. package/build/lib/native/components/Slide/Slide.native.js +7 -5
  92. package/build/lib/native/components/Slide/Slide.native.js.map +1 -1
  93. package/build/lib/native/components/Spark/RzpGlass/utils.native.js +1 -1
  94. package/build/lib/native/components/Spark/RzpGlass/utils.native.js.map +1 -1
  95. package/build/lib/native/components/Stagger/Stagger.native.js +10 -5
  96. package/build/lib/native/components/Stagger/Stagger.native.js.map +1 -1
  97. package/build/lib/native/components/Stagger/StaggerProvider.js +6 -0
  98. package/build/lib/native/components/Stagger/StaggerProvider.js.map +1 -0
  99. package/build/lib/native/components/TreeView/TreeView.native.js +4 -0
  100. package/build/lib/native/components/TreeView/TreeView.native.js.map +1 -0
  101. package/build/lib/native/components/TreeView/index.native.js +2 -0
  102. package/build/lib/native/components/TreeView/index.native.js.map +1 -0
  103. package/build/lib/native/components/index.js +10 -2
  104. package/build/lib/native/components/index.js.map +1 -1
  105. package/build/lib/native/tokens/global/colors.js +1 -1
  106. package/build/lib/native/tokens/global/colors.js.map +1 -1
  107. package/build/lib/native/tokens/index.js +1 -0
  108. package/build/lib/native/tokens/index.js.map +1 -1
  109. package/build/lib/native/tokens/theme/bladeNeutralTheme.js +15 -0
  110. package/build/lib/native/tokens/theme/bladeNeutralTheme.js.map +1 -0
  111. package/build/lib/native/tokens/theme/bladeTheme.js +1 -1
  112. package/build/lib/native/tokens/theme/bladeTheme.js.map +1 -1
  113. package/build/lib/native/tokens/theme/index.js +1 -0
  114. package/build/lib/native/tokens/theme/index.js.map +1 -1
  115. package/build/lib/native/tokens/theme/theme.js.map +1 -1
  116. package/build/lib/native/utils/componentZIndices.js +1 -1
  117. package/build/lib/native/utils/componentZIndices.js.map +1 -1
  118. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  119. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  120. package/build/lib/native/utils/msToSeconds.js +4 -0
  121. package/build/lib/native/utils/msToSeconds.js.map +1 -0
  122. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +1 -1
  123. package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  124. package/build/lib/web/development/_virtual/flatten.js +1 -1
  125. package/build/lib/web/development/_virtual/flatten3.js +1 -1
  126. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
  127. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
  128. package/build/lib/web/development/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
  129. package/build/lib/web/development/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
  130. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
  131. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +124 -73
  132. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  133. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +68 -2
  134. package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
  135. package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js +206 -18
  136. package/build/lib/web/development/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
  137. package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
  138. package/build/lib/web/development/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
  139. package/build/lib/web/development/components/Charts/CommonChartComponents/index.js +1 -1
  140. package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js +15 -2
  141. package/build/lib/web/development/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  142. package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js +272 -15
  143. package/build/lib/web/development/components/Charts/LineChart/LineChart.web.js.map +1 -1
  144. package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js +195 -0
  145. package/build/lib/web/development/components/Charts/LineChart/useReferenceBand.js.map +1 -0
  146. package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js +175 -0
  147. package/build/lib/web/development/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  148. package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js +66 -0
  149. package/build/lib/web/development/components/Charts/utils/referenceBandUtils.js.map +1 -0
  150. package/build/lib/web/development/components/CounterInput/CounterInput.web.js +29 -5
  151. package/build/lib/web/development/components/CounterInput/CounterInput.web.js.map +1 -1
  152. package/build/lib/web/development/components/CounterInput/StyledCounterInput.js +20 -4
  153. package/build/lib/web/development/components/CounterInput/StyledCounterInput.js.map +1 -1
  154. package/build/lib/web/development/components/CounterInput/token.js +6 -1
  155. package/build/lib/web/development/components/CounterInput/token.js.map +1 -1
  156. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +28 -1
  157. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  158. package/build/lib/web/development/components/DatePicker/Calendar.web.js +9 -2
  159. package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
  160. package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
  161. package/build/lib/web/development/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
  162. package/build/lib/web/development/components/DatePicker/utils.js +21 -1
  163. package/build/lib/web/development/components/DatePicker/utils.js.map +1 -1
  164. package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
  165. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  166. package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js +40 -5
  167. package/build/lib/web/development/components/Dropdown/FilterChipGroup.web.js.map +1 -1
  168. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +30 -32
  169. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  170. package/build/lib/web/development/components/Dropdown/dropdownUtils.js +28 -2
  171. package/build/lib/web/development/components/Dropdown/dropdownUtils.js.map +1 -1
  172. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js +60 -0
  173. package/build/lib/web/development/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  174. package/build/lib/web/development/components/Dropdown/useDropdown.js +91 -5
  175. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  176. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js +35 -11
  177. package/build/lib/web/development/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  178. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js +126 -0
  179. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  180. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
  181. package/build/lib/web/development/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
  182. package/build/lib/web/development/components/FloatingActionButton/index.js +2 -0
  183. package/build/lib/web/development/components/FloatingActionButton/index.js.map +1 -0
  184. package/build/lib/web/development/components/GenUI/GenUIComponents.web.js.map +1 -1
  185. package/build/lib/web/development/components/GenUI/GenUIContext.web.js +9 -1
  186. package/build/lib/web/development/components/GenUI/GenUIContext.web.js.map +1 -1
  187. package/build/lib/web/development/components/GenUI/GenUIProvider.web.js +17 -0
  188. package/build/lib/web/development/components/GenUI/GenUIProvider.web.js.map +1 -1
  189. package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js +31 -6
  190. package/build/lib/web/development/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
  191. package/build/lib/web/development/components/GenUI/index.js +1 -1
  192. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
  193. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  194. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js +2 -0
  195. package/build/lib/web/development/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  196. package/build/lib/web/development/components/Icons/index.js +1 -0
  197. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  198. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +3 -0
  199. package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
  200. package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js +7 -1
  201. package/build/lib/web/development/components/PopupArrow/PopupArrow.web.js.map +1 -1
  202. package/build/lib/web/development/components/RollingText/RollingText.web.js +27 -20
  203. package/build/lib/web/development/components/RollingText/RollingText.web.js.map +1 -1
  204. package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js +196 -0
  205. package/build/lib/web/development/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
  206. package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js +18 -0
  207. package/build/lib/web/development/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  208. package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
  209. package/build/lib/web/development/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
  210. package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
  211. package/build/lib/web/development/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
  212. package/build/lib/web/development/components/SegmentedControl/index.js +3 -0
  213. package/build/lib/web/development/components/SegmentedControl/index.js.map +1 -0
  214. package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js +53 -0
  215. package/build/lib/web/development/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  216. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js +16 -7
  217. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  218. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
  219. package/build/lib/web/development/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  220. package/build/lib/web/development/components/Spark/RzpGlass/presets.js +30 -1
  221. package/build/lib/web/development/components/Spark/RzpGlass/presets.js.map +1 -1
  222. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  223. package/build/lib/web/development/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  224. package/build/lib/web/development/components/Spark/RzpGlass/utils.js +26 -10
  225. package/build/lib/web/development/components/Spark/RzpGlass/utils.js.map +1 -1
  226. package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js +31 -18
  227. package/build/lib/web/development/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
  228. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js +14 -3
  229. package/build/lib/web/development/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  230. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
  231. package/build/lib/web/development/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  232. package/build/lib/web/development/components/SpotlightPopoverTour/utils.js +58 -1
  233. package/build/lib/web/development/components/SpotlightPopoverTour/utils.js.map +1 -1
  234. package/build/lib/web/development/components/Stagger/StaggerProvider.js.map +1 -1
  235. package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js +41 -0
  236. package/build/lib/web/development/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
  237. package/build/lib/web/development/components/TreeView/TreeView.web.js +696 -0
  238. package/build/lib/web/development/components/TreeView/TreeView.web.js.map +1 -0
  239. package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js +184 -0
  240. package/build/lib/web/development/components/TreeView/TreeViewAnimator.web.js.map +1 -0
  241. package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js +73 -0
  242. package/build/lib/web/development/components/TreeView/TreeViewChevron.web.js.map +1 -0
  243. package/build/lib/web/development/components/TreeView/TreeViewItem.web.js +295 -0
  244. package/build/lib/web/development/components/TreeView/TreeViewItem.web.js.map +1 -0
  245. package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js +173 -0
  246. package/build/lib/web/development/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
  247. package/build/lib/web/development/components/TreeView/componentIds.js +8 -0
  248. package/build/lib/web/development/components/TreeView/componentIds.js.map +1 -0
  249. package/build/lib/web/development/components/TreeView/index.web.js +4 -0
  250. package/build/lib/web/development/components/TreeView/index.web.js.map +1 -0
  251. package/build/lib/web/development/components/TreeView/treeViewUtils.js +475 -0
  252. package/build/lib/web/development/components/TreeView/treeViewUtils.js.map +1 -0
  253. package/build/lib/web/development/components/TreeView/useTreeView.js +24 -0
  254. package/build/lib/web/development/components/TreeView/useTreeView.js.map +1 -0
  255. package/build/lib/web/development/components/index.js +12 -2
  256. package/build/lib/web/development/components/index.js.map +1 -1
  257. package/build/lib/web/development/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  258. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  259. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  260. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  261. package/build/lib/web/development/tokens/global/colors.js +2 -2
  262. package/build/lib/web/development/tokens/global/colors.js.map +1 -1
  263. package/build/lib/web/development/tokens/index.js +1 -0
  264. package/build/lib/web/development/tokens/index.js.map +1 -1
  265. package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js +1439 -0
  266. package/build/lib/web/development/tokens/theme/bladeNeutralTheme.js.map +1 -0
  267. package/build/lib/web/development/tokens/theme/bladeTheme.js +48 -12
  268. package/build/lib/web/development/tokens/theme/bladeTheme.js.map +1 -1
  269. package/build/lib/web/development/tokens/theme/index.js +1 -0
  270. package/build/lib/web/development/tokens/theme/index.js.map +1 -1
  271. package/build/lib/web/development/tokens/theme/theme.js.map +1 -1
  272. package/build/lib/web/development/utils/componentZIndices.js +2 -0
  273. package/build/lib/web/development/utils/componentZIndices.js.map +1 -1
  274. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +7 -1
  275. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  276. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
  277. package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  278. package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
  279. package/build/lib/web/development/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
  280. package/build/lib/web/production/_virtual/flatten.js +1 -1
  281. package/build/lib/web/production/_virtual/flatten3.js +1 -1
  282. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractions.web.js +1 -1
  283. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js +2 -1
  284. package/build/lib/web/production/components/AnimateInteractions/AnimateInteractionsProvider.js.map +1 -1
  285. package/build/lib/web/production/components/AnimateInteractions/{useFocusWithin.js → useFocusWithin.web.js} +1 -1
  286. package/build/lib/web/production/components/AnimateInteractions/useFocusWithin.web.js.map +1 -0
  287. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +124 -73
  288. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  289. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +68 -2
  290. package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
  291. package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js +206 -18
  292. package/build/lib/web/production/components/Charts/AreaChart/AreaChart.web.js.map +1 -1
  293. package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js +159 -43
  294. package/build/lib/web/production/components/Charts/CommonChartComponents/CommonChartComponents.web.js.map +1 -1
  295. package/build/lib/web/production/components/Charts/CommonChartComponents/index.js +1 -1
  296. package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js +15 -2
  297. package/build/lib/web/production/components/Charts/CommonChartComponents/tokens.js.map +1 -1
  298. package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js +272 -15
  299. package/build/lib/web/production/components/Charts/LineChart/LineChart.web.js.map +1 -1
  300. package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js +195 -0
  301. package/build/lib/web/production/components/Charts/LineChart/useReferenceBand.js.map +1 -0
  302. package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js +175 -0
  303. package/build/lib/web/production/components/Charts/utils/nullBridgeUtils.js.map +1 -0
  304. package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js +66 -0
  305. package/build/lib/web/production/components/Charts/utils/referenceBandUtils.js.map +1 -0
  306. package/build/lib/web/production/components/CounterInput/CounterInput.web.js +29 -5
  307. package/build/lib/web/production/components/CounterInput/CounterInput.web.js.map +1 -1
  308. package/build/lib/web/production/components/CounterInput/StyledCounterInput.js +20 -4
  309. package/build/lib/web/production/components/CounterInput/StyledCounterInput.js.map +1 -1
  310. package/build/lib/web/production/components/CounterInput/token.js +6 -1
  311. package/build/lib/web/production/components/CounterInput/token.js.map +1 -1
  312. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +28 -1
  313. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  314. package/build/lib/web/production/components/DatePicker/Calendar.web.js +9 -2
  315. package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
  316. package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js +4 -1
  317. package/build/lib/web/production/components/DatePicker/FilterChipDatePicker/DatePickerFilterChip.web.js.map +1 -1
  318. package/build/lib/web/production/components/DatePicker/utils.js +21 -1
  319. package/build/lib/web/production/components/DatePicker/utils.js.map +1 -1
  320. package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
  321. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  322. package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js +40 -5
  323. package/build/lib/web/production/components/Dropdown/FilterChipGroup.web.js.map +1 -1
  324. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +30 -32
  325. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  326. package/build/lib/web/production/components/Dropdown/dropdownUtils.js +28 -2
  327. package/build/lib/web/production/components/Dropdown/dropdownUtils.js.map +1 -1
  328. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js +60 -0
  329. package/build/lib/web/production/components/Dropdown/filterChipSelectInputUtils.js.map +1 -0
  330. package/build/lib/web/production/components/Dropdown/useDropdown.js +91 -5
  331. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  332. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js +35 -11
  333. package/build/lib/web/production/components/FilterChip/BaseFilterChip.web.js.map +1 -1
  334. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js +126 -0
  335. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButton.js.map +1 -0
  336. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js +45 -0
  337. package/build/lib/web/production/components/FloatingActionButton/FloatingActionButtonContainer.web.js.map +1 -0
  338. package/build/lib/web/production/components/FloatingActionButton/index.js +2 -0
  339. package/build/lib/web/production/components/FloatingActionButton/index.js.map +1 -0
  340. package/build/lib/web/production/components/GenUI/GenUIComponents.web.js.map +1 -1
  341. package/build/lib/web/production/components/GenUI/GenUIContext.web.js +9 -1
  342. package/build/lib/web/production/components/GenUI/GenUIContext.web.js.map +1 -1
  343. package/build/lib/web/production/components/GenUI/GenUIProvider.web.js +17 -0
  344. package/build/lib/web/production/components/GenUI/GenUIProvider.web.js.map +1 -1
  345. package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js +31 -6
  346. package/build/lib/web/production/components/GenUI/GenUISchemaRenderer.web.js.map +1 -1
  347. package/build/lib/web/production/components/GenUI/index.js +1 -1
  348. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js +44 -0
  349. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/BookmarkFilledIcon.js.map +1 -0
  350. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js +2 -0
  351. package/build/lib/web/production/components/Icons/BookmarkFilledIcon/index.js.map +1 -0
  352. package/build/lib/web/production/components/Icons/index.js +1 -0
  353. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  354. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +3 -0
  355. package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
  356. package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js +7 -1
  357. package/build/lib/web/production/components/PopupArrow/PopupArrow.web.js.map +1 -1
  358. package/build/lib/web/production/components/RollingText/RollingText.web.js +27 -20
  359. package/build/lib/web/production/components/RollingText/RollingText.web.js.map +1 -1
  360. package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js +196 -0
  361. package/build/lib/web/production/components/SegmentedControl/SegmentedControl.web.js.map +1 -0
  362. package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js +18 -0
  363. package/build/lib/web/production/components/SegmentedControl/SegmentedControlContext.js.map +1 -0
  364. package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js +109 -0
  365. package/build/lib/web/production/components/SegmentedControl/SegmentedControlIndicator.web.js.map +1 -0
  366. package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js +170 -0
  367. package/build/lib/web/production/components/SegmentedControl/SegmentedControlItem.web.js.map +1 -0
  368. package/build/lib/web/production/components/SegmentedControl/index.js +3 -0
  369. package/build/lib/web/production/components/SegmentedControl/index.js.map +1 -0
  370. package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js +53 -0
  371. package/build/lib/web/production/components/SegmentedControl/segmentedControlTokens.js.map +1 -0
  372. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js +16 -7
  373. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlass.js.map +1 -1
  374. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js +24 -6
  375. package/build/lib/web/production/components/Spark/RzpGlass/RzpGlassMount.js.map +1 -1
  376. package/build/lib/web/production/components/Spark/RzpGlass/presets.js +30 -1
  377. package/build/lib/web/production/components/Spark/RzpGlass/presets.js.map +1 -1
  378. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js +1 -1
  379. package/build/lib/web/production/components/Spark/RzpGlass/rzpGlassShader.js.map +1 -1
  380. package/build/lib/web/production/components/Spark/RzpGlass/utils.js +26 -10
  381. package/build/lib/web/production/components/Spark/RzpGlass/utils.js.map +1 -1
  382. package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js +31 -18
  383. package/build/lib/web/production/components/SpotlightPopoverTour/Tour.web.js.map +1 -1
  384. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js +14 -3
  385. package/build/lib/web/production/components/SpotlightPopoverTour/TourMask.web.js.map +1 -1
  386. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js +23 -4
  387. package/build/lib/web/production/components/SpotlightPopoverTour/TourPopover.web.js.map +1 -1
  388. package/build/lib/web/production/components/SpotlightPopoverTour/utils.js +58 -1
  389. package/build/lib/web/production/components/SpotlightPopoverTour/utils.js.map +1 -1
  390. package/build/lib/web/production/components/Stagger/StaggerProvider.js.map +1 -1
  391. package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js +41 -0
  392. package/build/lib/web/production/components/TreeView/StyledTreeViewRow.web.js.map +1 -0
  393. package/build/lib/web/production/components/TreeView/TreeView.web.js +696 -0
  394. package/build/lib/web/production/components/TreeView/TreeView.web.js.map +1 -0
  395. package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js +184 -0
  396. package/build/lib/web/production/components/TreeView/TreeViewAnimator.web.js.map +1 -0
  397. package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js +73 -0
  398. package/build/lib/web/production/components/TreeView/TreeViewChevron.web.js.map +1 -0
  399. package/build/lib/web/production/components/TreeView/TreeViewItem.web.js +295 -0
  400. package/build/lib/web/production/components/TreeView/TreeViewItem.web.js.map +1 -0
  401. package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js +173 -0
  402. package/build/lib/web/production/components/TreeView/TreeViewLoadMore.web.js.map +1 -0
  403. package/build/lib/web/production/components/TreeView/componentIds.js +8 -0
  404. package/build/lib/web/production/components/TreeView/componentIds.js.map +1 -0
  405. package/build/lib/web/production/components/TreeView/index.web.js +4 -0
  406. package/build/lib/web/production/components/TreeView/index.web.js.map +1 -0
  407. package/build/lib/web/production/components/TreeView/treeViewUtils.js +475 -0
  408. package/build/lib/web/production/components/TreeView/treeViewUtils.js.map +1 -0
  409. package/build/lib/web/production/components/TreeView/useTreeView.js +24 -0
  410. package/build/lib/web/production/components/TreeView/useTreeView.js.map +1 -0
  411. package/build/lib/web/production/components/index.js +12 -2
  412. package/build/lib/web/production/components/index.js.map +1 -1
  413. package/build/lib/web/production/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  414. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  415. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  416. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  417. package/build/lib/web/production/tokens/global/colors.js +2 -2
  418. package/build/lib/web/production/tokens/global/colors.js.map +1 -1
  419. package/build/lib/web/production/tokens/index.js +1 -0
  420. package/build/lib/web/production/tokens/index.js.map +1 -1
  421. package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js +1439 -0
  422. package/build/lib/web/production/tokens/theme/bladeNeutralTheme.js.map +1 -0
  423. package/build/lib/web/production/tokens/theme/bladeTheme.js +48 -12
  424. package/build/lib/web/production/tokens/theme/bladeTheme.js.map +1 -1
  425. package/build/lib/web/production/tokens/theme/index.js +1 -0
  426. package/build/lib/web/production/tokens/theme/index.js.map +1 -1
  427. package/build/lib/web/production/tokens/theme/theme.js.map +1 -1
  428. package/build/lib/web/production/utils/componentZIndices.js +2 -0
  429. package/build/lib/web/production/utils/componentZIndices.js.map +1 -1
  430. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +7 -1
  431. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  432. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +12 -4
  433. package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -1
  434. package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js +2 -2
  435. package/build/lib/web/production/utils/useTruncationTitle/useTruncationTitle.web.js.map +1 -1
  436. package/build/types/components/index.d.ts +794 -25
  437. package/build/types/components/index.native.d.ts +872 -29
  438. package/build/types/tokens/index.d.ts +11 -4
  439. package/build/types/tokens/index.native.d.ts +11 -4
  440. package/build/types/utils/index.d.ts +8 -3
  441. package/build/types/utils/index.native.d.ts +8 -3
  442. package/package.json +2 -2
  443. package/build/lib/web/development/components/AnimateInteractions/useFocusWithin.js.map +0 -1
  444. 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: 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(ResponsiveContainer, {
242
- children: /*#__PURE__*/jsxs(AreaChart, {
243
- data: data,
244
- children: [/*#__PURE__*/jsx("defs", {
245
- children: Object.keys(dataColorMapping).map(function (dataKey, index) {
246
- return /*#__PURE__*/jsx(ChartColorGradient, {
247
- id: "color-".concat(index, "-").concat(dataKey),
248
- index: index,
249
- color: dataColorMapping[dataKey].colorToken,
250
- totalAreaChartChildren: totalAreaChartChildren
251
- }, "color-".concat(index, "-").concat(dataKey));
252
- })
253
- }), modifiedChildren]
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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"}