@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 +1 @@
1
- {"version":3,"file":"GenUIComponents.web.js","sources":["../../../../../../src/components/GenUI/GenUIComponents.web.tsx"],"sourcesContent":["/* eslint-disable no-case-declarations */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { memo, useMemo, useState } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport dayjs from 'dayjs';\nimport { formatNumber } from '@razorpay/i18nify-js';\nimport ReactMarkdown from 'react-markdown';\nimport styled, { createGlobalStyle } from 'styled-components';\nimport type { GenUIAction, GenUIBaseComponent, GenUIComponentRegistry } from './types';\nimport { useGenUIAction, useGenUIAnimation } from './GenUIContext';\nimport { ComponentRenderer } from './GenUISchemaRenderer';\nimport { createRehypeAnimate } from './rehypeAnimate';\nimport { genUISpacingContract, getGenUIComponentTopSpacing } from './GenUISpacing';\nimport { Box } from '~components/Box';\nimport { Heading, Text } from '~components/Typography';\nimport { Skeleton } from '~components/Skeleton';\nimport {\n Card,\n CardBody,\n CardHeader,\n CardHeaderLeading,\n CardFooter,\n CardFooterLeading,\n} from '~components/Card';\nimport { Badge } from '~components/Badge';\nimport { Divider } from '~components/Divider';\nimport {\n ChartBar,\n ChartBarWrapper,\n ChartLine,\n ChartLineWrapper,\n ChartDonut,\n ChartDonutWrapper,\n ChartArea,\n ChartAreaWrapper,\n ChartXAxis,\n ChartYAxis,\n ChartCartesianGrid,\n ChartTooltip,\n ChartLegend,\n} from '~components/Charts';\nimport {\n Table,\n TableHeader,\n TableHeaderRow,\n TableHeaderCell,\n TableBody,\n TableRow,\n TableCell,\n} from '~components/Table';\nimport { Link } from '~components/Link';\nimport {\n InfoIcon,\n CheckCircleIcon,\n AlertTriangleIcon,\n CheckIcon,\n CloseIcon,\n EditIcon,\n TrashIcon,\n DownloadIcon,\n EyeIcon,\n CopyIcon,\n} from '~components/Icons';\nimport { InfoGroup, InfoItem, InfoItemKey, InfoItemValue } from '~components/InfoGroup';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport { Amount } from '~components/Amount';\nimport { Indicator } from '~components/Indicator';\nimport { Alert } from '~components/Alert';\nimport { Tooltip, TooltipInteractiveWrapper } from '~components/Tooltip';\n\n/**\n * Global styles for text streaming animations\n * Applied to [data-animate-word] spans created by rehypeAnimate\n */\nconst TextAnimationStyles = createGlobalStyle`\n @keyframes animate-fadeIn {\n from {\n opacity: 0;\n color: #48D08C;\n filter: blur(2px);\n }\n to {\n opacity: 1;\n color: inherit;\n filter: blur(0px);\n }\n }\n\n [data-animate-word] {\n display: inline-block;\n animation: animate-fadeIn\n var(--animate-duration, 400ms)\n var(--animate-easing, ease) both;\n }\n`;\n\nconst MarkdownUnorderedList = styled.ul`\n display: flex;\n flex-direction: column;\n row-gap: ${({ theme }) => theme.spacing[3] + theme.spacing[1]}px;\n list-style: none;\n margin: 0 0 ${({ theme }) => theme.spacing[2]}px 0;\n padding: 0;\n`;\n\nconst MarkdownOrderedList = styled.ol`\n display: flex;\n flex-direction: column;\n row-gap: ${({ theme }) => theme.spacing[3] + theme.spacing[1]}px;\n counter-reset: markdown-ordered-list;\n list-style: none;\n margin: 0 0 ${({ theme }) => theme.spacing[2]}px 0;\n padding: 0;\n`;\n\nconst MarkdownHeadingContainer = styled.div<{ $level: 1 | 2 | 3 | 4 | 5 | 6 }>`\n ${({ theme, $level }) => {\n const spacing = {\n 1: { marginTop: 0, marginBottom: theme.spacing[4] },\n 2: { marginTop: theme.spacing[7], marginBottom: theme.spacing[3] },\n 3: { marginTop: theme.spacing[7], marginBottom: theme.spacing[3] },\n 4: { marginTop: theme.spacing[7], marginBottom: theme.spacing[2] },\n 5: { marginTop: theme.spacing[5], marginBottom: theme.spacing[2] },\n 6: { marginTop: theme.spacing[5], marginBottom: theme.spacing[2] },\n }[$level];\n\n return `\n margin: ${spacing.marginTop}px 0 ${spacing.marginBottom}px;\n `;\n }}\n\n & + & {\n margin-top: 0;\n }\n\n ${({ theme, $level }) =>\n $level === 6\n ? `\n > h6 {\n font-family: ${theme.typography.fonts.family.text};\n font-size: ${theme.typography.fonts.size[100]}px;\n line-height: ${theme.typography.lineHeights[300]}px;\n letter-spacing: 0.03em;\n }\n `\n : ''}\n`;\n\nconst MarkdownListItem = styled.li<{ $ordered: boolean }>`\n display: flex;\n align-items: flex-start;\n gap: ${({ theme, $ordered }) => theme.spacing[$ordered ? 3 : 4]}px;\n margin-bottom: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n font-family: ${({ theme }) => theme.typography.fonts.family.text};\n font-size: ${({ theme }) => theme.typography.fonts.size[100]}px;\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n list-style: none;\n\n ${({ $ordered }) => ($ordered ? 'counter-increment: markdown-ordered-list;' : '')}\n\n > ul,\n > ol {\n margin-top: ${({ theme }) => theme.spacing[2]}px;\n margin-bottom: 0;\n row-gap: ${({ theme }) => theme.spacing[2]}px;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\nconst MarkdownListMarker = styled.span`\n flex-shrink: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n`;\n\nconst MarkdownUnorderedListMarker = styled(MarkdownListMarker)`\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n width: ${({ theme }) => theme.spacing[4]}px;\n min-width: ${({ theme }) => theme.spacing[4]}px;\n\n &::before {\n content: '';\n width: ${({ theme }) => theme.spacing[2]}px;\n height: ${({ theme }) => theme.spacing[2]}px;\n border-radius: ${({ theme }) => theme.border.radius.max}px;\n background: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n }\n`;\n\nconst MarkdownOrderedListMarker = styled(MarkdownListMarker)`\n display: inline-block;\n min-width: ${({ theme }) => theme.spacing[5]}px;\n text-align: right;\n\n &::before {\n content: counter(markdown-ordered-list) '.';\n }\n`;\n\nconst MarkdownListItemBody = styled.span`\n flex: 1;\n min-width: 0;\n\n > ul,\n > ol {\n margin-top: ${({ theme }) => theme.spacing[2]}px;\n margin-bottom: 0;\n row-gap: ${({ theme }) => theme.spacing[2]}px;\n }\n`;\n\nconst MarkdownListContext = React.createContext({ ordered: false });\n\nconst MarkdownInlineCode = styled.code`\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n vertical-align: 1.5px;\n color: ${({ theme }) => theme.colors.interactive.text.information.normal};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[50]}px;\n font-style: normal;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n line-height: ${({ theme }) => theme.typography.lineHeights[50]}px;\n letter-spacing: 0;\n background: ${({ theme }) => theme.colors.surface.background.gray.intense};\n border-radius: ${({ theme }) => theme.border.radius.xsmall}px;\n box-shadow: inset 0 0 0 ${({ theme }) => theme.border.width.thin}px\n ${({ theme }) => theme.colors.surface.border.gray.subtle};\n margin: 0 ${({ theme }) => theme.spacing[1]}px;\n padding: ${({ theme }) => theme.spacing[1]}px ${({ theme }) => theme.spacing[2]}px;\n`;\n\nconst MarkdownItalic = styled.span`\n color: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n font-family: ${({ theme }) => theme.typography.fonts.family.text};\n font-size: ${({ theme }) => theme.typography.fonts.size[100]}px;\n font-style: italic;\n font-weight: inherit;\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n`;\n\nconst MarkdownBlockquote = styled.blockquote`\n border-left: ${({ theme }) => theme.border.width.thicker}px solid\n ${({ theme }) => theme.colors.surface.border.gray.normal};\n margin: 0 0 ${({ theme }) => theme.spacing[5]}px 0;\n padding: 0 0 0 ${({ theme }) => theme.spacing[5]}px;\n\n p {\n margin: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n font-style: italic;\n }\n`;\n\nconst MarkdownCodeBlock = styled.pre`\n display: inline-block;\n max-width: 660px;\n width: fit-content;\n margin: ${({ theme }) => theme.spacing[1]}px 0 ${({ theme }) => theme.spacing[0]}px;\n overflow: hidden;\n padding: 0;\n background: ${({ theme }) => theme.colors.interactive.background.gray.faded};\n border: ${({ theme }) => theme.border.width.thin}px solid\n ${({ theme }) => theme.colors.feedback.border.neutral.subtle};\n border-radius: ${({ theme }) => theme.border.radius.medium}px;\n`;\n\nconst MarkdownCodeBlockHeader = styled.div`\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spacing[2]}px;\n padding: ${({ theme }) => theme.spacing[3]}px ${({ theme }) => theme.spacing[4]}px;\n border-bottom: ${({ theme }) => theme.border.width.thin}px solid\n ${({ theme }) => theme.colors.surface.border.gray.muted};\n`;\n\nconst MarkdownCodeBlockActions = styled.span`\n display: inline-flex;\n align-items: center;\n margin-left: auto;\n`;\n\nconst MarkdownCodeBlockCopyAnimation = styled.span<{ $copied: boolean }>`\n display: inline-flex;\n align-items: center;\n animation: ${({ $copied }) =>\n $copied ? 'markdown-code-copy-success' : 'markdown-code-copy-reset'}\n 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\n\n @keyframes markdown-code-copy-success {\n 0% {\n opacity: 0;\n transform: scale(0.72) rotate(-12deg);\n }\n 100% {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n }\n\n @keyframes markdown-code-copy-reset {\n 0% {\n opacity: 0;\n transform: scale(0.88);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n }\n`;\n\nconst MarkdownCodeBlockLanguage = styled.span`\n display: inline-flex;\n align-items: center;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[50]}px;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n letter-spacing: ${({ theme }) => theme.typography.letterSpacings[100]}px;\n line-height: ${({ theme }) => theme.typography.lineHeights[50]}px;\n`;\n\nconst MarkdownCodeBlockCode = styled.code`\n display: block;\n overflow-x: auto;\n padding: ${({ theme }) => theme.spacing[4]}px;\n color: ${({ theme }) => theme.colors.surface.text.gray.normal};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[75]}px;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n white-space: pre;\n background: none;\n border: none;\n`;\n\nconst MarkdownCodeBlockCopyButton = ({ code }: { code: React.ReactNode }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n void navigator.clipboard.writeText(String(code ?? ''));\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n return (\n <MarkdownCodeBlockActions>\n <Tooltip content={copied ? 'Copied!' : 'Copy'} placement=\"top\">\n <TooltipInteractiveWrapper>\n <MarkdownCodeBlockCopyAnimation key={copied ? 'copied' : 'copy'} $copied={copied}>\n <IconButton\n icon={copied ? CheckIcon : CopyIcon}\n size=\"small\"\n emphasis=\"intense\"\n accessibilityLabel=\"Copy code block\"\n onClick={handleCopy}\n />\n </MarkdownCodeBlockCopyAnimation>\n </TooltipInteractiveWrapper>\n </Tooltip>\n </MarkdownCodeBlockActions>\n );\n};\n\nconst getMarkdownCodeBlockDetails = (\n children?: React.ReactNode,\n): { code: React.ReactNode; language?: string } => {\n const child = React.Children.toArray(children)[0];\n\n if (React.isValidElement<{ className?: string; children?: React.ReactNode }>(child)) {\n const language = child.props.className?.replace(/^language-/, '');\n return { code: child.props.children, language };\n }\n\n return { code: children };\n};\n\n/**\n * Built-in component types supported by GenUI\n */\nconst ComponentType = {\n TEXT: 'TEXT',\n CHART: 'CHART',\n TABLE: 'TABLE',\n CARD: 'CARD',\n BADGE: 'BADGE',\n SPACER: 'SPACER',\n DIVIDER: 'DIVIDER',\n STACK: 'STACK',\n GRID: 'GRID',\n INFO_GROUP: 'INFO_GROUP',\n BUTTON: 'BUTTON',\n LINK: 'LINK',\n ALERT: 'ALERT',\n AMOUNT: 'AMOUNT',\n} as const;\n\n/**\n * Valid feedback colors used across GenUI components (Badge, Indicator, Alert)\n * Used to validate streaming JSON where color values might be partial/incomplete\n */\nconst FeedbackColors = [\n 'information',\n 'negative',\n 'neutral',\n 'notice',\n 'positive',\n 'primary',\n] as const;\ntype FeedbackColor = typeof FeedbackColors[number];\n\nconst getValidFeedbackColor = (\n color: string | undefined,\n fallback: FeedbackColor = 'neutral',\n): FeedbackColor => {\n if (!color) return fallback;\n if (FeedbackColors.includes(color as FeedbackColor)) {\n return color as FeedbackColor;\n }\n return fallback;\n};\n\ntype TextComponent = GenUIBaseComponent & {\n component: typeof ComponentType.TEXT;\n content?: string;\n};\n\ntype ChartComponent = GenUIBaseComponent & {\n component: typeof ComponentType.CHART;\n chartType?: 'bar' | 'line' | 'pie' | 'area';\n variant?: 'full' | 'tiny';\n title?: string;\n xAxis?: string;\n data?: Array<Record<string, string | number>>;\n unit?: string;\n valueFormatter?: {\n type: 'currency' | 'percentage' | 'number' | 'string';\n currency?: string;\n suffix?: string;\n };\n};\n\n// Table cell component types (using component pattern)\ntype TableCellText = {\n component: 'TEXT';\n value: string;\n copyable?: boolean;\n};\n\ntype TableCellAmount = {\n component: 'AMOUNT';\n value: number;\n currency?: string;\n};\n\ntype TableCellIndicator = {\n component: 'INDICATOR';\n value: string;\n color: 'positive' | 'negative' | 'notice' | 'neutral' | 'primary' | 'information';\n};\n\ntype TableCellBadge = {\n component: 'BADGE';\n value: string;\n color: 'positive' | 'negative' | 'notice' | 'neutral' | 'primary' | 'information';\n};\n\ntype TableCellDate = {\n component: 'DATE';\n value: string;\n dateFormat?: string;\n};\n\ntype TableCellLink = {\n component: 'LINK';\n text: string;\n copyable?: boolean;\n action?: {\n type: 'CLICK';\n eventName?: 'link_click';\n data?: {\n url?: string;\n };\n };\n};\n\ntype TableCellType =\n | TableCellText\n | TableCellAmount\n | TableCellIndicator\n | TableCellBadge\n | TableCellDate\n | TableCellLink;\n\n// Table row action schema type\ntype TableRowActionSchema = {\n type: 'TABLE_ROW_ACTION';\n eventName: string;\n};\n\ntype TableRowActionButton = {\n type: 'BUTTON';\n text: string;\n action: TableRowActionSchema;\n};\n\ntype TableRowActionIconButton = {\n type: 'ICON_BUTTON';\n icon: 'check' | 'close' | 'edit' | 'delete' | 'download' | 'view' | 'copy';\n accessibilityLabel: string;\n action: TableRowActionSchema;\n};\n\ntype TableRowAction = TableRowActionButton | TableRowActionIconButton;\n\n// Event payload dispatched when table row actions are triggered\ntype TableRowActionEvent = {\n type: 'TABLE_ROW_ACTION';\n eventName: string;\n data: {\n rowIndex: number;\n rowData: TableCellType[];\n };\n};\n\ntype TableComponent = GenUIBaseComponent & {\n component: typeof ComponentType.TABLE;\n headers?: string[];\n rows?: TableCellType[][];\n rowActions?: TableRowAction[];\n};\n\ntype BadgeComponent = GenUIBaseComponent & {\n component: typeof ComponentType.BADGE;\n text?: string;\n color?: 'neutral' | 'negative' | 'notice' | 'positive' | 'primary' | 'information';\n};\n\ntype SpacerComponent = GenUIBaseComponent & {\n component: typeof ComponentType.SPACER;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype DividerComponent = GenUIBaseComponent & {\n component: typeof ComponentType.DIVIDER;\n orientation?: 'horizontal' | 'vertical';\n};\n\ntype StackComponent = GenUIBaseComponent & {\n component: typeof ComponentType.STACK;\n direction?: 'vertical' | 'horizontal';\n gap?: 'small' | 'medium' | 'large';\n children?: GenUIComponent[];\n};\n\ntype GridComponent = GenUIBaseComponent & {\n component: typeof ComponentType.GRID;\n columns?: number;\n gap?: 'small' | 'medium' | 'large';\n children?: GenUIComponent[];\n};\n\ntype CardComponent = GenUIBaseComponent & {\n component: typeof ComponentType.CARD;\n title?: string;\n description?: string;\n footer?: string | null;\n children?: GenUIComponent[];\n};\n\ntype InfoGroupItemValue = {\n helpText?: string;\n children: string | GenUIComponent;\n};\n\ntype InfoGroupComponent = GenUIBaseComponent & {\n component: typeof ComponentType.INFO_GROUP;\n items?: Array<{\n key?: {\n helpText?: string;\n children: string;\n };\n value?: InfoGroupItemValue;\n }>;\n};\n\ntype ButtonComponent = GenUIBaseComponent & {\n component: typeof ComponentType.BUTTON;\n text?: string;\n action?: GenUIAction;\n};\n\ntype LinkComponent = GenUIBaseComponent & {\n component: typeof ComponentType.LINK;\n text?: string;\n action?: {\n type: 'CLICK';\n eventName?: 'link_click';\n data?: {\n url?: string;\n };\n };\n};\n\ntype AlertComponent = GenUIBaseComponent & {\n component: typeof ComponentType.ALERT;\n title?: string;\n description?: string;\n color?: 'information' | 'negative' | 'neutral' | 'notice' | 'positive';\n actions?: {\n primary?: {\n text?: string;\n action?: GenUIAction;\n };\n secondary?: {\n text?: string;\n action?: GenUIAction;\n };\n };\n};\n\ntype AmountComponent = GenUIBaseComponent & {\n component: typeof ComponentType.AMOUNT;\n value?: number;\n currency?: string;\n};\n\n/**\n * Union type of all built-in UI components\n */\ntype GenUIBuiltInUIComponent =\n | TextComponent\n | ChartComponent\n | TableComponent\n | BadgeComponent\n | SpacerComponent\n | DividerComponent\n | StackComponent\n | GridComponent\n | CardComponent\n | InfoGroupComponent\n | ButtonComponent\n | LinkComponent\n | AlertComponent\n | AmountComponent;\n\n/**\n * Generic UI component type - can be extended with custom components\n */\ntype GenUIComponent = GenUIBuiltInUIComponent | GenUIBaseComponent;\n\nconst ComponentErrorFallback = () => {\n return (\n <Box\n textAlign=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n height=\"100%\"\n width=\"100%\"\n >\n <Text size=\"medium\" weight=\"regular\">\n Error rendering component\n </Text>\n </Box>\n );\n};\n\nconst ChartSkeletonLoader = ({\n title,\n isTiny,\n chartHeight = '350px',\n}: {\n title?: string;\n isTiny?: boolean;\n chartHeight?: string;\n}) => {\n return (\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\" marginY=\"spacing.3\">\n {title && !isTiny ? (\n <Skeleton width=\"200px\" height=\"24px\" borderRadius=\"medium\" marginBottom=\"spacing.3\" />\n ) : null}\n <Box\n width=\"100%\"\n height={chartHeight as '100px' | '350px'}\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.3\"\n >\n <Box display=\"flex\" flexDirection=\"row\" gap=\"spacing.3\" height=\"100%\">\n <Skeleton width=\"40px\" height=\"100%\" borderRadius=\"medium\" />\n <Skeleton width=\"100%\" height=\"100%\" borderRadius=\"medium\" />\n </Box>\n <Skeleton width=\"100%\" height=\"40px\" borderRadius=\"medium\" />\n </Box>\n </Box>\n );\n};\n\nconst MarkdownListItemRenderer = ({ children }: { children?: React.ReactNode }): JSX.Element => {\n const { ordered } = React.useContext(MarkdownListContext);\n return (\n <MarkdownListItem $ordered={ordered}>\n {ordered ? <MarkdownOrderedListMarker /> : <MarkdownUnorderedListMarker />}\n <MarkdownListItemBody>{children}</MarkdownListItemBody>\n </MarkdownListItem>\n );\n};\n\nconst markdownHeadingStyles = {\n h1: { level: 1, size: 'large', color: 'surface.text.gray.normal', as: 'h1' },\n h2: { level: 2, size: 'medium', color: 'surface.text.gray.normal', as: 'h2' },\n h3: { level: 3, size: 'medium', color: 'surface.text.gray.subtle', as: 'h3' },\n h4: { level: 4, size: 'small', color: 'surface.text.gray.subtle', as: 'h4' },\n h5: { level: 5, size: 'small', color: 'surface.text.gray.muted', as: 'h5' },\n h6: { level: 6, size: 'small', color: 'surface.text.gray.muted', as: 'h6' },\n} as const;\n\ntype MarkdownHeadingTag = keyof typeof markdownHeadingStyles;\n\nconst MarkdownHeadingRenderer = ({\n tag,\n children,\n}: {\n tag: MarkdownHeadingTag;\n children?: React.ReactNode;\n}): JSX.Element => {\n const { level, size, color, as } = markdownHeadingStyles[tag];\n\n return (\n <MarkdownHeadingContainer $level={level}>\n <Heading\n as={as}\n size={size}\n weight=\"medium\"\n color={color}\n textTransform={level === 6 ? 'uppercase' : undefined}\n >\n {children}\n </Heading>\n </MarkdownHeadingContainer>\n );\n};\n\n/**\n * Stable components object for ReactMarkdown to prevent re-renders during streaming.\n * Defined outside the component to maintain referential equality.\n */\nconst markdownComponents = {\n h1: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h1\">{children}</MarkdownHeadingRenderer>\n ),\n h2: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h2\">{children}</MarkdownHeadingRenderer>\n ),\n h3: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h3\">{children}</MarkdownHeadingRenderer>\n ),\n h4: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h4\">{children}</MarkdownHeadingRenderer>\n ),\n h5: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h5\">{children}</MarkdownHeadingRenderer>\n ),\n h6: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h6\">{children}</MarkdownHeadingRenderer>\n ),\n b: ({ children }: { children?: React.ReactNode }) => (\n <Text as=\"span\" size=\"medium\" weight=\"semibold\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n strong: ({ children }: { children?: React.ReactNode }) => (\n <Text as=\"span\" size=\"medium\" weight=\"semibold\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n a: ({ href, children }: { href?: string; children?: React.ReactNode }) => (\n <Link\n href={href}\n size=\"medium\"\n variant=\"anchor\"\n color=\"primary\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {(children as unknown) as string}\n </Link>\n ),\n li: MarkdownListItemRenderer,\n ol: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownListContext.Provider value={{ ordered: true }}>\n <MarkdownOrderedList>{children}</MarkdownOrderedList>\n </MarkdownListContext.Provider>\n ),\n ul: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownListContext.Provider value={{ ordered: false }}>\n <MarkdownUnorderedList>{children}</MarkdownUnorderedList>\n </MarkdownListContext.Provider>\n ),\n hr: () => <Divider marginY=\"spacing.7\" />,\n code: ({\n inline,\n className,\n children,\n }: {\n inline?: boolean;\n className?: string;\n children?: React.ReactNode;\n }) =>\n inline || !className ? (\n <MarkdownInlineCode>{children}</MarkdownInlineCode>\n ) : (\n <code className={className}>{children}</code>\n ),\n pre: ({ children }: { children?: React.ReactNode }) => {\n const { code, language } = getMarkdownCodeBlockDetails(children);\n\n return (\n <MarkdownCodeBlock>\n <MarkdownCodeBlockHeader>\n {language ? <MarkdownCodeBlockLanguage>{language}</MarkdownCodeBlockLanguage> : null}\n <MarkdownCodeBlockCopyButton code={code} />\n </MarkdownCodeBlockHeader>\n <MarkdownCodeBlockCode>{code}</MarkdownCodeBlockCode>\n </MarkdownCodeBlock>\n );\n },\n blockquote: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownBlockquote>{children}</MarkdownBlockquote>\n ),\n em: ({ children }: { children?: React.ReactNode }) => <MarkdownItalic>{children}</MarkdownItalic>,\n i: ({ children }: { children?: React.ReactNode }) => <MarkdownItalic>{children}</MarkdownItalic>,\n p: ({ children }: { children?: React.ReactNode }) => (\n <Text\n marginBottom={genUISpacingContract.textParagraphGap}\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {children}\n </Text>\n ),\n};\n\nconst RenderTextComponent = memo(({ content }: TextComponent) => {\n const { isAnimating, animateOptions } = useGenUIAnimation();\n\n const rehypePlugins = useMemo(() => {\n if (!isAnimating) return [];\n return [createRehypeAnimate(animateOptions)];\n }, [isAnimating, animateOptions]);\n\n if (!content) return null;\n\n return (\n <>\n {isAnimating ? <TextAnimationStyles /> : null}\n <ReactMarkdown skipHtml rehypePlugins={rehypePlugins} components={markdownComponents}>\n {content}\n </ReactMarkdown>\n </>\n );\n});\n\nconst RenderChartComponent = memo(\n ({\n chartType,\n title,\n xAxis,\n data,\n unit = '',\n variant = 'full',\n valueFormatter,\n }: ChartComponent) => {\n const isTiny = variant === 'tiny';\n const chartHeight = isTiny ? '100px' : '350px';\n const minHeight = isTiny ? '100px' : '350px';\n const isLoading =\n !chartType || !xAxis || !data || data.length === 0 || !valueFormatter || !valueFormatter.type;\n\n // Handle incomplete data during streaming\n if (isLoading) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n // Filter out empty objects and incomplete data from streaming\n const validData = data.filter((item) => {\n if (!item || Object.keys(item).length === 0) return false;\n\n // Check if xAxis key exists and has a valid value\n if (!item[xAxis] || item[xAxis] === '') return false;\n\n // Check if at least one numeric value exists\n const hasNumericValue = Object.keys(item).some(\n (key) => key !== xAxis && typeof item[key] === 'number' && !isNaN(Number(item[key])),\n );\n\n return hasNumericValue;\n });\n\n if (validData.length === 0) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n // Auto-detect all numeric keys except xAxis for plotting\n const firstItem = validData[0];\n const keysToPlot = Object.keys(firstItem).filter(\n (key) => key !== xAxis && typeof firstItem[key] === 'number',\n );\n\n if (keysToPlot.length === 0) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n const tickFormatter = (value: number | string) => {\n const numValue = typeof value === 'string' ? parseFloat(value) : value;\n\n if (isNaN(numValue)) {\n return value.toString();\n }\n\n // Use valueFormatter if provided, otherwise fall back to unit\n if (valueFormatter) {\n const { type, currency: formatterCurrency, suffix: formatterSuffix } = valueFormatter;\n\n const buildPrefixSuffixString = (v: string) => {\n return `${v}${formatterSuffix ?? ''}`;\n };\n\n try {\n switch (type) {\n case 'currency': {\n const formatted = formatNumber(numValue, {\n currency: (formatterCurrency || 'INR') as 'INR',\n intlOptions: {\n notation: 'compact',\n maximumFractionDigits: 1,\n },\n });\n return buildPrefixSuffixString(formatted);\n }\n\n case 'percentage': {\n const formatted = formatNumber(numValue / 100, {\n intlOptions: {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n },\n });\n if (formatterSuffix === '%') {\n return formatted;\n } else {\n return buildPrefixSuffixString(formatted);\n }\n }\n\n case 'number': {\n const numberFormatted = formatNumber(numValue, {\n intlOptions: {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n },\n });\n return buildPrefixSuffixString(numberFormatted);\n }\n\n case 'string': {\n return buildPrefixSuffixString(numValue.toString());\n }\n\n default:\n return numValue.toString();\n }\n } catch (error) {\n console.error('[GenUI Chart]: Error formatting value:', error);\n return numValue.toString();\n }\n }\n\n // Fallback to legacy unit formatting\n return `${numValue.toString()}${unit}`;\n };\n\n // TODO: Refactor into smaller components\n return (\n <ErrorBoundary FallbackComponent={ComponentErrorFallback}>\n <Box\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.3\"\n marginY=\"spacing.3\"\n minHeight={chartHeight}\n >\n {title && !isTiny ? (\n <Text\n size=\"large\"\n weight=\"regular\"\n color=\"surface.text.gray.subtle\"\n marginBottom=\"spacing.3\"\n >\n {title}\n </Text>\n ) : null}\n <Box width=\"100%\" height={chartHeight} minHeight={minHeight}>\n {chartType === 'bar' ? (\n <ChartBarWrapper\n width=\"100%\"\n height={chartHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartBar key={key} dataKey={key} name={key} />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartBarWrapper>\n ) : chartType === 'line' ? (\n <ChartLineWrapper\n width=\"100%\"\n height={chartHeight}\n minHeight={minHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartLine key={key} dataKey={key} name={key} />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartLineWrapper>\n ) : chartType === 'area' ? (\n <ChartAreaWrapper\n width=\"100%\"\n height={chartHeight}\n minHeight={minHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartArea key={key} dataKey={key} name={key} type=\"monotone\" />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartAreaWrapper>\n ) : chartType === 'pie' ? (\n <ChartDonutWrapper width=\"100%\" height={chartHeight} minHeight={minHeight}>\n <ChartDonut\n dataKey={keysToPlot[0]}\n nameKey={xAxis}\n data={validData}\n radius=\"medium\"\n type=\"circle\"\n />\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartDonutWrapper>\n ) : null}\n </Box>\n </Box>\n </ErrorBoundary>\n );\n },\n // Custom comparison - only re-render if data length or key fields change\n (prevProps, nextProps) => {\n return (\n prevProps.chartType === nextProps.chartType &&\n prevProps.title === nextProps.title &&\n prevProps.xAxis === nextProps.xAxis &&\n prevProps.variant === nextProps.variant &&\n prevProps.data?.length === nextProps.data?.length &&\n JSON.stringify(prevProps.data?.[prevProps.data.length - 1]) ===\n JSON.stringify(nextProps.data?.[nextProps.data.length - 1]) &&\n JSON.stringify(prevProps.valueFormatter) === JSON.stringify(nextProps.valueFormatter)\n );\n },\n);\n\n// Primitive copy button — just the icon + tooltip, no text label.\n// Compose this inside any cell that needs copy behaviour.\nconst Copyable = ({ value }: { value?: string }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n void navigator.clipboard.writeText(value ?? '');\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n return (\n <Tooltip content={copied ? 'Copied!' : 'Copy'} placement=\"top\">\n <TooltipInteractiveWrapper>\n <IconButton\n icon={CopyIcon}\n size=\"medium\"\n emphasis=\"intense\"\n accessibilityLabel={`Copy ${value}`}\n onClick={handleCopy}\n />\n </TooltipInteractiveWrapper>\n </Tooltip>\n );\n};\n\n// Text + copy icon\nconst CopyableText = ({ value }: { value?: string }) => (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.2\">\n <Text size=\"medium\">{value ?? '-'}</Text>\n <Copyable value={value} />\n </Box>\n);\n\n// Table cell link renderer - fires action for consumer to handle\nconst TableCellLinkRenderer = ({ cell }: { cell?: Partial<TableCellLink> }) => {\n const onActionClick = useGenUIAction();\n\n const linkNode = cell?.action ? (\n <Link\n variant=\"button\"\n onClick={() => {\n if (onActionClick && cell.action) {\n onActionClick(cell.action);\n }\n }}\n >\n {cell.text ?? ''}\n </Link>\n ) : (\n <Text size=\"medium\">{cell?.text}</Text>\n );\n\n if (cell?.copyable && cell?.text) {\n return (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.2\">\n {linkNode}\n <Copyable value={cell.text} />\n </Box>\n );\n }\n\n return linkNode;\n};\n\n// Helper to render a single table cell based on its component type\nconst RenderTableCellContent = ({ cell }: { cell?: Partial<TableCellType> }) => {\n if (!cell) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Handle incomplete cell object during streaming\n if (!cell.component) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Handle component-based cell types\n switch (cell.component) {\n case 'TEXT': {\n if (cell.copyable && cell.value) {\n return <CopyableText value={cell.value} />;\n }\n return <Text size=\"medium\">{cell.value ?? '-'}</Text>;\n }\n\n case 'AMOUNT': {\n const currency = cell.currency || 'INR';\n // Ensure value is a valid number (handle streaming where value might be string/undefined)\n const numValue = typeof cell.value === 'string' ? parseFloat(cell.value) : cell.value;\n if (typeof numValue !== 'number' || isNaN(numValue)) {\n return <Text size=\"medium\">-</Text>;\n }\n return <Amount value={numValue} currency={currency as 'INR' | 'MYR'} size=\"medium\" />;\n }\n\n case 'INDICATOR': {\n // Handle streaming where value might be incomplete\n if (!cell.value) {\n return <Text size=\"medium\">-</Text>;\n }\n const indicatorColor = getValidFeedbackColor(cell.color, 'neutral');\n return (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.3\">\n <Indicator accessibilityLabel={cell.value} color={indicatorColor} />\n <Text size=\"medium\">{cell.value}</Text>\n </Box>\n );\n }\n\n case 'BADGE': {\n const badgeColor = getValidFeedbackColor(cell.color, 'neutral');\n return (\n <Badge color={badgeColor} emphasis=\"subtle\">\n {cell.value || '-'}\n </Badge>\n );\n }\n\n case 'DATE': {\n // Handle streaming where value might be incomplete\n if (!cell.value) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Parse the date value using dayjs\n const dateValue = dayjs(cell.value);\n\n // Check if date is valid\n if (!dateValue.isValid()) {\n return <Text size=\"medium\">{cell.value}</Text>;\n }\n\n // Use custom dateFormat if provided, otherwise use default\n // Format tokens: https://day.js.org/docs/en/display/format\n const defaultFormat = 'DD MMM YYYY, HH:mm';\n const formatted = dateValue.format(cell.dateFormat || defaultFormat);\n\n return <Text size=\"medium\">{formatted}</Text>;\n }\n\n case 'LINK': {\n // Handle streaming where text might be incomplete\n if (!cell.text) {\n return <Text size=\"medium\">-</Text>;\n }\n\n return <TableCellLinkRenderer cell={cell} />;\n }\n\n default:\n // Handle unknown component types during streaming\n return <Text size=\"medium\">{String((cell as { value?: string }).value || '-')}</Text>;\n }\n};\n\n// Icon mapping for row actions\nconst rowActionIconMap = {\n check: CheckIcon,\n close: CloseIcon,\n edit: EditIcon,\n delete: TrashIcon,\n download: DownloadIcon,\n view: EyeIcon,\n copy: CopyIcon,\n} as const;\n\n// Separate component for table row hover actions to avoid render issues\nconst TableRowHoverActions = ({\n rowActions,\n rowIndex,\n rowData,\n}: {\n rowActions: TableRowAction[];\n rowIndex: number;\n rowData: TableCellType[];\n}) => {\n const onActionClick = useGenUIAction();\n\n const createActionEvent = (eventName: string): TableRowActionEvent => ({\n type: 'TABLE_ROW_ACTION',\n eventName,\n data: {\n rowIndex,\n rowData,\n },\n });\n\n return (\n <>\n {rowActions.map((rowAction, index) => {\n // Guard: Skip incomplete button actions during streaming\n if (rowAction.type === 'BUTTON') {\n if (!rowAction.text) return null;\n return (\n <Button\n key={index}\n variant=\"tertiary\"\n size=\"xsmall\"\n onClick={() => {\n if (rowAction.action?.eventName && onActionClick) {\n onActionClick(createActionEvent(rowAction.action.eventName));\n }\n }}\n >\n {rowAction.text}\n </Button>\n );\n }\n\n // Guard: Skip incomplete icon button actions during streaming\n if (rowAction.type === 'ICON_BUTTON') {\n const IconComponent = rowAction.icon ? rowActionIconMap[rowAction.icon] : null;\n if (!IconComponent || !rowAction.accessibilityLabel) return null;\n return (\n <IconButton\n key={index}\n icon={IconComponent}\n size=\"medium\"\n emphasis=\"intense\"\n accessibilityLabel={rowAction.accessibilityLabel}\n onClick={() => {\n if (rowAction.action?.eventName && onActionClick) {\n onActionClick(createActionEvent(rowAction.action.eventName));\n }\n }}\n />\n );\n }\n\n return null;\n })}\n </>\n );\n};\n\n// Produces column widths using minmax(max-content, 1fr) so columns:\n// 1. Never shrink below their content width (no text wrapping)\n// 2. Expand proportionally to fill available width when space permits\nconst calculateColumnWidths = (headers: string[], _rows: Partial<TableCellType>[][]): string[] => {\n return headers.map(() => 'minmax(max-content, 1fr)');\n};\n\nconst RenderTableComponent = memo(({ headers, rows, rowActions }: TableComponent) => {\n const columnWidths = useMemo(\n () => (headers && rows ? calculateColumnWidths(headers, rows) : []),\n [headers, rows],\n );\n\n if (!headers || !rows || headers.length === 0 || rows.length === 0) {\n return null;\n }\n\n // Transform rows into table data format with id\n const tableData = {\n nodes: rows.map((row, index) => ({\n id: `row-${index}`,\n cells: row,\n })),\n };\n\n return (\n <Box display=\"flex\" flexDirection=\"column\" gap={genUISpacingContract.compactCardRowGap}>\n <Table\n data={tableData}\n backgroundColor=\"transparent\"\n rowDensity=\"compact\"\n gridTemplateColumns={columnWidths.join(' ')}\n >\n {(data) => (\n <>\n <TableHeader>\n <TableHeaderRow>\n {headers.map((header, index) => (\n <TableHeaderCell key={index}>{header}</TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n <TableBody>\n {data.map((item, rowIndex) => (\n <TableRow\n key={rowIndex}\n item={item}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHover={rowActions && rowActions.length > 0 ? () => {} : undefined}\n hoverActions={\n rowActions && rowActions.length > 0 ? (\n <TableRowHoverActions\n rowActions={rowActions}\n rowIndex={rowIndex}\n rowData={item.cells}\n />\n ) : undefined\n }\n >\n {item.cells.map((cell, cellIndex) => (\n <TableCell key={cellIndex}>\n <RenderTableCellContent cell={cell} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n )}\n </Table>\n </Box>\n );\n});\n\nconst RenderCardComponent = memo(({ title, description, footer, children }: CardComponent) => {\n const hasHeader = title || description;\n\n return (\n <Box\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap={genUISpacingContract.compactCardRowGap}\n >\n <Card width=\"100%\" height=\"100%\" padding={genUISpacingContract.compactCardPadding}>\n {hasHeader ? (\n <CardHeader>\n <CardHeaderLeading title={title || ''} subtitle={description || ''} />\n </CardHeader>\n ) : null}\n\n {children && children.length > 0 ? (\n <CardBody height=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" gap={genUISpacingContract.compactCardRowGap}>\n {children.map((child, index) => {\n return <GenUIComponentRenderer key={index} component={child} index={index} />;\n })}\n </Box>\n </CardBody>\n ) : null}\n\n {footer ? (\n <CardFooter\n showDivider={true}\n marginTop={genUISpacingContract.cardTableToFooterAction}\n paddingTop={genUISpacingContract.cardTableToFooterAction}\n >\n <CardFooterLeading subtitle={footer} />\n </CardFooter>\n ) : null}\n </Card>\n </Box>\n );\n});\n\nconst RenderBadgeComponent = memo(({ text, color }: BadgeComponent) => {\n if (!text) return null;\n\n return (\n <Badge color={color || 'neutral'} emphasis=\"subtle\">\n {text}\n </Badge>\n );\n});\n\nconst RenderSpacerComponent = memo(({ size }: SpacerComponent) => {\n if (!size) return null;\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return <Box height={sizeMap[size]} width={sizeMap[size]} />;\n});\n\nconst RenderDividerComponent = memo(({ orientation = 'horizontal' }: DividerComponent) => {\n return (\n <Box display=\"flex\" paddingY=\"spacing.7\">\n <Divider\n orientation={orientation}\n {...(orientation === 'vertical' ? { height: '24px' } : {})}\n />\n </Box>\n );\n});\n\nconst RenderStackComponent = memo(({ direction = 'vertical', gap, children }: StackComponent) => {\n if (!children || children.length === 0) {\n return null;\n }\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return (\n <Box\n display=\"flex\"\n width=\"100%\"\n paddingY=\"spacing.3\"\n flexDirection={direction === 'vertical' ? 'column' : 'row'}\n gap={sizeMap[gap ?? 'small']}\n >\n {children.map((child, index) => (\n <GenUIComponentRenderer key={index} component={child} index={index} />\n ))}\n </Box>\n );\n});\n\nconst RenderGridComponent = memo(({ columns, gap, children }: GridComponent) => {\n if (!columns || !children || children.length === 0) {\n return null;\n }\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return (\n <Box\n display=\"grid\"\n width=\"100%\"\n marginY=\"spacing.3\"\n gridTemplateColumns={`repeat(${columns}, 1fr)`}\n gap={sizeMap[gap ?? 'small']}\n >\n {children.map((child, index) => (\n <GenUIComponentRenderer key={index} component={child} index={index} />\n ))}\n </Box>\n );\n});\n\nconst RenderInfoGroupComponent = memo(({ items }: InfoGroupComponent) => {\n if (!items || items.length === 0) {\n return null;\n }\n\n // Filter out invalid items during streaming\n // Filters out: null, undefined, and empty string children\n const validItems = items.filter((item) => {\n const children = item.value?.children;\n if (!item.key?.children || children == null) return false;\n return typeof children !== 'string' || children !== '';\n });\n\n if (validItems.length === 0) {\n return null;\n }\n\n return (\n <InfoGroup marginY=\"spacing.3\" itemOrientation=\"horizontal\" size=\"medium\" valueAlign=\"left\">\n {validItems.map((item, index) => {\n const value = item.value!;\n const isString = typeof value.children === 'string';\n\n if (isString) {\n return (\n <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={value.helpText}>{value.children as string}</InfoItemValue>\n </InfoItem>\n );\n }\n\n return (\n <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={value.helpText}>\n <GenUIComponentRenderer component={value.children as GenUIComponent} index={index} />\n </InfoItemValue>\n </InfoItem>\n );\n })}\n </InfoGroup>\n );\n});\n\nconst RenderButtonComponent = memo(({ text, action }: ButtonComponent) => {\n const onActionClick = useGenUIAction();\n\n if (!text) return null;\n\n const handleClick = () => {\n if (action && onActionClick) {\n onActionClick(action);\n }\n };\n\n return (\n <Button marginTop=\"spacing.2\" variant=\"tertiary\" onClick={handleClick}>\n {text}\n </Button>\n );\n});\n\nconst RenderLinkComponent = memo(({ text, action }: LinkComponent) => {\n const onActionClick = useGenUIAction();\n\n if (!text) return null;\n\n if (!action) {\n return (\n <Box marginBottom=\"spacing.2\">\n <Text size=\"medium\">{text}</Text>\n </Box>\n );\n }\n\n return (\n <Box marginBottom=\"spacing.2\">\n <Link\n variant=\"button\"\n onClick={() => {\n if (onActionClick) {\n onActionClick(action);\n }\n }}\n >\n {text}\n </Link>\n </Box>\n );\n});\n\nconst RenderAlertComponent = memo(\n ({ title, description, color = 'neutral', actions }: AlertComponent) => {\n const onActionClick = useGenUIAction();\n if (!title && !description) return null;\n\n // Validate color during streaming - show placeholder for invalid colors\n const validColor = getValidFeedbackColor(color);\n if (validColor !== color) {\n return <Box marginY=\"spacing.3\" width=\"100%\" />;\n }\n\n const iconMap = {\n information: InfoIcon,\n negative: AlertTriangleIcon,\n neutral: InfoIcon,\n notice: InfoIcon,\n positive: CheckCircleIcon,\n } as const;\n\n const Icon = iconMap[validColor];\n\n return (\n <Alert\n emphasis=\"subtle\"\n title={title}\n icon={Icon}\n description={description!}\n color={validColor}\n isDismissible={false}\n marginY=\"spacing.4\"\n actions={{\n primary: actions?.primary?.text\n ? {\n text: actions.primary.text,\n onClick: () => {\n if (actions.primary?.action && onActionClick) {\n onActionClick(actions.primary.action);\n }\n },\n }\n : undefined,\n secondary: actions?.secondary?.text\n ? {\n text: actions.secondary.text,\n onClick: () => {\n if (actions.secondary?.action && onActionClick) {\n onActionClick(actions.secondary.action);\n }\n },\n }\n : undefined,\n }}\n />\n );\n },\n);\n\nconst RenderAmountComponent = memo(({ value, currency }: AmountComponent) => {\n const resolvedCurrency = currency || 'INR';\n const numValue = typeof value === 'string' ? parseFloat(value) : value;\n if (typeof numValue !== 'number' || isNaN(numValue)) {\n return <Text size=\"medium\">-</Text>;\n }\n return <Amount value={numValue} currency={resolvedCurrency as 'INR' | 'MYR'} />;\n});\n\n// Alias for internal use in built-in renderers\nconst GenUIComponentRenderer = ComponentRenderer;\ntype GenUIComponentRenderer = React.ComponentType<GenUIBaseComponent & { index: number }>;\n\n/**\n * Default registry of built-in components\n */\nconst createBuiltInRegistry = (): GenUIComponentRegistry => ({\n [ComponentType.TEXT]: {\n renderer: RenderTextComponent as GenUIComponentRenderer,\n },\n [ComponentType.CHART]: {\n renderer: RenderChartComponent as GenUIComponentRenderer,\n },\n [ComponentType.TABLE]: {\n renderer: RenderTableComponent as GenUIComponentRenderer,\n },\n [ComponentType.CARD]: {\n renderer: RenderCardComponent as GenUIComponentRenderer,\n },\n [ComponentType.BADGE]: {\n renderer: RenderBadgeComponent as GenUIComponentRenderer,\n },\n [ComponentType.SPACER]: {\n renderer: RenderSpacerComponent as GenUIComponentRenderer,\n },\n [ComponentType.DIVIDER]: {\n renderer: RenderDividerComponent as GenUIComponentRenderer,\n },\n [ComponentType.STACK]: {\n renderer: RenderStackComponent as GenUIComponentRenderer,\n },\n [ComponentType.GRID]: {\n renderer: RenderGridComponent as GenUIComponentRenderer,\n },\n [ComponentType.INFO_GROUP]: {\n renderer: RenderInfoGroupComponent as GenUIComponentRenderer,\n },\n [ComponentType.BUTTON]: {\n renderer: RenderButtonComponent as GenUIComponentRenderer,\n },\n [ComponentType.LINK]: {\n renderer: RenderLinkComponent as GenUIComponentRenderer,\n },\n [ComponentType.ALERT]: {\n renderer: RenderAlertComponent as GenUIComponentRenderer,\n },\n [ComponentType.AMOUNT]: {\n renderer: RenderAmountComponent as GenUIComponentRenderer,\n },\n});\n\nexport {\n // Built-in registry creator (used by GenUIProvider)\n createBuiltInRegistry,\n // Markdown renderer overrides\n markdownComponents,\n // Spacing contract\n genUISpacingContract,\n getGenUIComponentTopSpacing,\n // Constants\n ComponentType,\n};\n\nexport type { GenUIComponent };\n"],"names":["TextAnimationStyles","createGlobalStyle","_templateObject","_taggedTemplateLiteral","MarkdownUnorderedList","styled","ul","withConfig","displayName","componentId","_ref","theme","spacing","_ref2","MarkdownOrderedList","ol","_ref3","_ref4","MarkdownHeadingContainer","div","_ref5","$level","marginTop","marginBottom","concat","_ref6","typography","fonts","family","text","size","lineHeights","MarkdownListItem","li","_ref7","$ordered","_ref8","colors","surface","gray","subtle","_ref9","_ref0","_ref1","_ref10","_ref11","_ref12","MarkdownListMarker","span","_ref13","muted","_ref14","MarkdownUnorderedListMarker","_ref15","_ref16","_ref17","_ref18","_ref19","border","radius","max","_ref20","MarkdownOrderedListMarker","_ref21","MarkdownListItemBody","_ref22","_ref23","MarkdownListContext","React","createContext","ordered","MarkdownInlineCode","code","_ref24","interactive","information","normal","_ref25","_ref26","_ref27","weight","regular","_ref28","_ref29","background","intense","_ref30","xsmall","_ref31","width","thin","_ref32","_ref33","_ref34","_ref35","MarkdownItalic","_ref36","_ref37","_ref38","_ref39","MarkdownBlockquote","blockquote","_ref40","thicker","_ref41","_ref42","_ref43","_ref44","MarkdownCodeBlock","pre","_ref45","_ref46","_ref47","faded","_ref48","_ref49","feedback","neutral","_ref50","medium","MarkdownCodeBlockHeader","_ref51","_ref52","_ref53","_ref54","_ref55","MarkdownCodeBlockActions","MarkdownCodeBlockCopyAnimation","_ref56","$copied","MarkdownCodeBlockLanguage","_ref57","_ref58","_ref59","_ref60","_ref61","letterSpacings","_ref62","MarkdownCodeBlockCode","_ref63","_ref64","_ref65","_ref66","_ref67","_ref68","MarkdownCodeBlockCopyButton","_ref69","_useState","useState","_useState2","_slicedToArray","copied","setCopied","handleCopy","navigator","clipboard","writeText","String","setTimeout","_jsx","children","Tooltip","content","placement","TooltipInteractiveWrapper","IconButton","icon","CheckIcon","CopyIcon","emphasis","accessibilityLabel","onClick","getMarkdownCodeBlockDetails","child","Children","toArray","isValidElement","_child$props$classNam","language","props","className","replace","ComponentType","TEXT","CHART","TABLE","CARD","BADGE","SPACER","DIVIDER","STACK","GRID","INFO_GROUP","BUTTON","LINK","ALERT","AMOUNT","FeedbackColors","getValidFeedbackColor","color","fallback","arguments","length","undefined","includes","ComponentErrorFallback","Box","textAlign","display","flexDirection","alignItems","justifyContent","height","Text","ChartSkeletonLoader","_ref70","title","isTiny","_ref70$chartHeight","chartHeight","_jsxs","gap","marginY","Skeleton","borderRadius","MarkdownListItemRenderer","_ref71","_React$useContext","useContext","markdownHeadingStyles","h1","level","as","h2","h3","h4","h5","h6","MarkdownHeadingRenderer","_ref72","tag","_markdownHeadingStyle","Heading","textTransform","markdownComponents","_ref73","_ref74","_ref75","_ref76","_ref77","_ref78","b","_ref79","strong","_ref80","a","_ref81","href","Link","variant","target","rel","_ref82","Provider","value","_ref83","hr","Divider","_ref84","inline","_ref85","_getMarkdownCodeBlock","_ref86","em","_ref87","i","_ref88","p","_ref89","genUISpacingContract","textParagraphGap","RenderTextComponent","memo","_ref90","_useGenUIAnimation","useGenUIAnimation","isAnimating","animateOptions","rehypePlugins","useMemo","createRehypeAnimate","_Fragment","ReactMarkdown","skipHtml","components","RenderChartComponent","_ref91","chartType","xAxis","data","_ref91$unit","unit","_ref91$variant","valueFormatter","minHeight","isLoading","type","validData","filter","item","Object","keys","hasNumericValue","some","key","isNaN","Number","firstItem","keysToPlot","tickFormatter","numValue","parseFloat","toString","formatterCurrency","currency","formatterSuffix","suffix","buildPrefixSuffixString","v","formatted","formatNumber","intlOptions","notation","maximumFractionDigits","style","minimumFractionDigits","numberFormatted","error","console","ErrorBoundary","FallbackComponent","ChartBarWrapper","colorTheme","ChartCartesianGrid","ChartXAxis","dataKey","ChartYAxis","map","ChartBar","name","ChartLegend","ChartTooltip","ChartLineWrapper","ChartLine","ChartAreaWrapper","ChartArea","ChartDonutWrapper","ChartDonut","nameKey","prevProps","nextProps","_prevProps$data","_nextProps$data","_prevProps$data2","_nextProps$data2","JSON","stringify","Copyable","_ref92","_useState3","_useState4","CopyableText","_ref93","TableCellLinkRenderer","_ref94","_cell$text","cell","onActionClick","useGenUIAction","linkNode","action","copyable","RenderTableCellContent","_ref95","component","_cell$value","Amount","indicatorColor","Indicator","badgeColor","Badge","dateValue","dayjs","isValid","defaultFormat","format","dateFormat","rowActionIconMap","check","close","CloseIcon","edit","EditIcon","TrashIcon","download","DownloadIcon","view","EyeIcon","copy","TableRowHoverActions","_ref96","rowActions","rowIndex","rowData","createActionEvent","eventName","rowAction","index","Button","_rowAction$action","IconComponent","_rowAction$action2","calculateColumnWidths","headers","_rows","RenderTableComponent","_ref97","rows","columnWidths","tableData","nodes","row","id","cells","compactCardRowGap","Table","backgroundColor","rowDensity","gridTemplateColumns","join","TableHeader","TableHeaderRow","header","TableHeaderCell","TableBody","TableRow","onHover","hoverActions","cellIndex","TableCell","RenderCardComponent","_ref98","description","footer","hasHeader","Card","padding","compactCardPadding","CardHeader","CardHeaderLeading","subtitle","CardBody","GenUIComponentRenderer","CardFooter","showDivider","cardTableToFooterAction","paddingTop","CardFooterLeading","RenderBadgeComponent","_ref99","RenderSpacerComponent","_ref100","sizeMap","small","large","RenderDividerComponent","_ref101","_ref101$orientation","orientation","paddingY","_objectSpread","RenderStackComponent","_ref102","_ref102$direction","direction","RenderGridComponent","_ref103","columns","RenderInfoGroupComponent","_ref104","items","validItems","_item$value","_item$key","InfoGroup","itemOrientation","valueAlign","_item$key4","_item$key5","isString","_item$key2","_item$key3","InfoItem","InfoItemKey","helpText","InfoItemValue","RenderButtonComponent","_ref105","handleClick","RenderLinkComponent","_ref106","RenderAlertComponent","_ref107","_actions$primary","_actions$secondary","_ref107$color","actions","validColor","iconMap","InfoIcon","negative","AlertTriangleIcon","notice","positive","CheckCircleIcon","Icon","Alert","isDismissible","primary","_actions$primary2","secondary","_actions$secondary2","RenderAmountComponent","_ref108","resolvedCurrency","ComponentRenderer","createBuiltInRegistry","_ref109","_defineProperty","renderer"],"mappings":"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"}
1
+ {"version":3,"file":"GenUIComponents.web.js","sources":["../../../../../../src/components/GenUI/GenUIComponents.web.tsx"],"sourcesContent":["/* eslint-disable no-case-declarations */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable react/no-unused-prop-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { memo, useMemo, useState } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport dayjs from 'dayjs';\nimport { formatNumber } from '@razorpay/i18nify-js';\nimport ReactMarkdown from 'react-markdown';\nimport styled, { createGlobalStyle } from 'styled-components';\nimport type { GenUIAction, GenUIBaseComponent, GenUIComponentRegistry } from './types';\nimport { useGenUIAction, useGenUIAnimation } from './GenUIContext';\nimport { ComponentRenderer } from './GenUISchemaRenderer';\nimport { createRehypeAnimate } from './rehypeAnimate';\nimport { genUISpacingContract, getGenUIComponentTopSpacing } from './GenUISpacing';\nimport { Box } from '~components/Box';\nimport { Heading, Text } from '~components/Typography';\nimport { Skeleton } from '~components/Skeleton';\nimport {\n Card,\n CardBody,\n CardHeader,\n CardHeaderLeading,\n CardFooter,\n CardFooterLeading,\n} from '~components/Card';\nimport { Badge } from '~components/Badge';\nimport { Divider } from '~components/Divider';\nimport {\n ChartBar,\n ChartBarWrapper,\n ChartLine,\n ChartLineWrapper,\n ChartDonut,\n ChartDonutWrapper,\n ChartArea,\n ChartAreaWrapper,\n ChartXAxis,\n ChartYAxis,\n ChartCartesianGrid,\n ChartTooltip,\n ChartLegend,\n} from '~components/Charts';\nimport {\n Table,\n TableHeader,\n TableHeaderRow,\n TableHeaderCell,\n TableBody,\n TableRow,\n TableCell,\n} from '~components/Table';\nimport { Link } from '~components/Link';\nimport {\n InfoIcon,\n CheckCircleIcon,\n AlertTriangleIcon,\n CheckIcon,\n CloseIcon,\n EditIcon,\n TrashIcon,\n DownloadIcon,\n EyeIcon,\n CopyIcon,\n} from '~components/Icons';\nimport { InfoGroup, InfoItem, InfoItemKey, InfoItemValue } from '~components/InfoGroup';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport { Amount } from '~components/Amount';\nimport { Indicator } from '~components/Indicator';\nimport { Alert } from '~components/Alert';\nimport { Tooltip, TooltipInteractiveWrapper } from '~components/Tooltip';\n\n/**\n * Global styles for text streaming animations\n * Applied to [data-animate-word] spans created by rehypeAnimate\n */\nconst TextAnimationStyles = createGlobalStyle`\n @keyframes animate-fadeIn {\n from {\n opacity: 0;\n color: #48D08C;\n filter: blur(2px);\n }\n to {\n opacity: 1;\n color: inherit;\n filter: blur(0px);\n }\n }\n\n [data-animate-word] {\n display: inline-block;\n animation: animate-fadeIn\n var(--animate-duration, 400ms)\n var(--animate-easing, ease) both;\n }\n`;\n\nconst MarkdownUnorderedList = styled.ul`\n display: flex;\n flex-direction: column;\n row-gap: ${({ theme }) => theme.spacing[3] + theme.spacing[1]}px;\n list-style: none;\n margin: 0 0 ${({ theme }) => theme.spacing[2]}px 0;\n padding: 0;\n`;\n\nconst MarkdownOrderedList = styled.ol`\n display: flex;\n flex-direction: column;\n row-gap: ${({ theme }) => theme.spacing[3] + theme.spacing[1]}px;\n counter-reset: markdown-ordered-list;\n list-style: none;\n margin: 0 0 ${({ theme }) => theme.spacing[2]}px 0;\n padding: 0;\n`;\n\nconst MarkdownHeadingContainer = styled.div<{ $level: 1 | 2 | 3 | 4 | 5 | 6 }>`\n ${({ theme, $level }) => {\n const spacing = {\n 1: { marginTop: 0, marginBottom: theme.spacing[4] },\n 2: { marginTop: theme.spacing[7], marginBottom: theme.spacing[3] },\n 3: { marginTop: theme.spacing[7], marginBottom: theme.spacing[3] },\n 4: { marginTop: theme.spacing[7], marginBottom: theme.spacing[2] },\n 5: { marginTop: theme.spacing[5], marginBottom: theme.spacing[2] },\n 6: { marginTop: theme.spacing[5], marginBottom: theme.spacing[2] },\n }[$level];\n\n return `\n margin: ${spacing.marginTop}px 0 ${spacing.marginBottom}px;\n `;\n }}\n\n & + & {\n margin-top: 0;\n }\n\n ${({ theme, $level }) =>\n $level === 6\n ? `\n > h6 {\n font-family: ${theme.typography.fonts.family.text};\n font-size: ${theme.typography.fonts.size[100]}px;\n line-height: ${theme.typography.lineHeights[300]}px;\n letter-spacing: 0.03em;\n }\n `\n : ''}\n`;\n\nconst MarkdownListItem = styled.li<{ $ordered: boolean }>`\n display: flex;\n align-items: flex-start;\n gap: ${({ theme, $ordered }) => theme.spacing[$ordered ? 3 : 4]}px;\n margin-bottom: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n font-family: ${({ theme }) => theme.typography.fonts.family.text};\n font-size: ${({ theme }) => theme.typography.fonts.size[100]}px;\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n list-style: none;\n\n ${({ $ordered }) => ($ordered ? 'counter-increment: markdown-ordered-list;' : '')}\n\n > ul,\n > ol {\n margin-top: ${({ theme }) => theme.spacing[2]}px;\n margin-bottom: 0;\n row-gap: ${({ theme }) => theme.spacing[2]}px;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\nconst MarkdownListMarker = styled.span`\n flex-shrink: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n`;\n\nconst MarkdownUnorderedListMarker = styled(MarkdownListMarker)`\n display: inline-flex;\n align-items: center;\n justify-content: flex-end;\n width: ${({ theme }) => theme.spacing[4]}px;\n min-width: ${({ theme }) => theme.spacing[4]}px;\n\n &::before {\n content: '';\n width: ${({ theme }) => theme.spacing[2]}px;\n height: ${({ theme }) => theme.spacing[2]}px;\n border-radius: ${({ theme }) => theme.border.radius.max}px;\n background: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n }\n`;\n\nconst MarkdownOrderedListMarker = styled(MarkdownListMarker)`\n display: inline-block;\n min-width: ${({ theme }) => theme.spacing[5]}px;\n text-align: right;\n\n &::before {\n content: counter(markdown-ordered-list) '.';\n }\n`;\n\nconst MarkdownListItemBody = styled.span`\n flex: 1;\n min-width: 0;\n\n > ul,\n > ol {\n margin-top: ${({ theme }) => theme.spacing[2]}px;\n margin-bottom: 0;\n row-gap: ${({ theme }) => theme.spacing[2]}px;\n }\n`;\n\nconst MarkdownListContext = React.createContext({ ordered: false });\n\nconst MarkdownInlineCode = styled.code`\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n vertical-align: 1.5px;\n color: ${({ theme }) => theme.colors.interactive.text.information.normal};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[50]}px;\n font-style: normal;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n line-height: ${({ theme }) => theme.typography.lineHeights[50]}px;\n letter-spacing: 0;\n background: ${({ theme }) => theme.colors.surface.background.gray.intense};\n border-radius: ${({ theme }) => theme.border.radius.xsmall}px;\n box-shadow: inset 0 0 0 ${({ theme }) => theme.border.width.thin}px\n ${({ theme }) => theme.colors.surface.border.gray.subtle};\n margin: 0 ${({ theme }) => theme.spacing[1]}px;\n padding: ${({ theme }) => theme.spacing[1]}px ${({ theme }) => theme.spacing[2]}px;\n`;\n\nconst MarkdownItalic = styled.span`\n color: ${({ theme }) => theme.colors.surface.text.gray.subtle};\n font-family: ${({ theme }) => theme.typography.fonts.family.text};\n font-size: ${({ theme }) => theme.typography.fonts.size[100]}px;\n font-style: italic;\n font-weight: inherit;\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n`;\n\nconst MarkdownBlockquote = styled.blockquote`\n border-left: ${({ theme }) => theme.border.width.thicker}px solid\n ${({ theme }) => theme.colors.surface.border.gray.normal};\n margin: 0 0 ${({ theme }) => theme.spacing[5]}px 0;\n padding: 0 0 0 ${({ theme }) => theme.spacing[5]}px;\n\n p {\n margin: 0;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n font-style: italic;\n }\n`;\n\nconst MarkdownCodeBlock = styled.pre`\n display: inline-block;\n max-width: 660px;\n width: fit-content;\n margin: ${({ theme }) => theme.spacing[1]}px 0 ${({ theme }) => theme.spacing[0]}px;\n overflow: hidden;\n padding: 0;\n background: ${({ theme }) => theme.colors.interactive.background.gray.faded};\n border: ${({ theme }) => theme.border.width.thin}px solid\n ${({ theme }) => theme.colors.feedback.border.neutral.subtle};\n border-radius: ${({ theme }) => theme.border.radius.medium}px;\n`;\n\nconst MarkdownCodeBlockHeader = styled.div`\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.spacing[2]}px;\n padding: ${({ theme }) => theme.spacing[3]}px ${({ theme }) => theme.spacing[4]}px;\n border-bottom: ${({ theme }) => theme.border.width.thin}px solid\n ${({ theme }) => theme.colors.surface.border.gray.muted};\n`;\n\nconst MarkdownCodeBlockActions = styled.span`\n display: inline-flex;\n align-items: center;\n margin-left: auto;\n`;\n\nconst MarkdownCodeBlockCopyAnimation = styled.span<{ $copied: boolean }>`\n display: inline-flex;\n align-items: center;\n animation: ${({ $copied }) =>\n $copied ? 'markdown-code-copy-success' : 'markdown-code-copy-reset'}\n 180ms cubic-bezier(0.2, 0.8, 0.2, 1);\n\n @keyframes markdown-code-copy-success {\n 0% {\n opacity: 0;\n transform: scale(0.72) rotate(-12deg);\n }\n 100% {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n }\n\n @keyframes markdown-code-copy-reset {\n 0% {\n opacity: 0;\n transform: scale(0.88);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n }\n`;\n\nconst MarkdownCodeBlockLanguage = styled.span`\n display: inline-flex;\n align-items: center;\n color: ${({ theme }) => theme.colors.surface.text.gray.muted};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[50]}px;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n letter-spacing: ${({ theme }) => theme.typography.letterSpacings[100]}px;\n line-height: ${({ theme }) => theme.typography.lineHeights[50]}px;\n`;\n\nconst MarkdownCodeBlockCode = styled.code`\n display: block;\n overflow-x: auto;\n padding: ${({ theme }) => theme.spacing[4]}px;\n color: ${({ theme }) => theme.colors.surface.text.gray.normal};\n font-family: ${({ theme }) => theme.typography.fonts.family.code};\n font-size: ${({ theme }) => theme.typography.fonts.size[75]}px;\n font-weight: ${({ theme }) => theme.typography.fonts.weight.regular};\n line-height: ${({ theme }) => theme.typography.lineHeights[100]}px;\n white-space: pre;\n background: none;\n border: none;\n`;\n\nconst MarkdownCodeBlockCopyButton = ({ code }: { code: React.ReactNode }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n void navigator.clipboard.writeText(String(code ?? ''));\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n return (\n <MarkdownCodeBlockActions>\n <Tooltip content={copied ? 'Copied!' : 'Copy'} placement=\"top\">\n <TooltipInteractiveWrapper>\n <MarkdownCodeBlockCopyAnimation key={copied ? 'copied' : 'copy'} $copied={copied}>\n <IconButton\n icon={copied ? CheckIcon : CopyIcon}\n size=\"small\"\n emphasis=\"intense\"\n accessibilityLabel=\"Copy code block\"\n onClick={handleCopy}\n />\n </MarkdownCodeBlockCopyAnimation>\n </TooltipInteractiveWrapper>\n </Tooltip>\n </MarkdownCodeBlockActions>\n );\n};\n\nconst getMarkdownCodeBlockDetails = (\n children?: React.ReactNode,\n): { code: React.ReactNode; language?: string } => {\n const child = React.Children.toArray(children)[0];\n\n if (React.isValidElement<{ className?: string; children?: React.ReactNode }>(child)) {\n const language = child.props.className?.replace(/^language-/, '');\n return { code: child.props.children, language };\n }\n\n return { code: children };\n};\n\n/**\n * Built-in component types supported by GenUI\n */\nconst ComponentType = {\n TEXT: 'TEXT',\n CHART: 'CHART',\n TABLE: 'TABLE',\n CARD: 'CARD',\n BADGE: 'BADGE',\n SPACER: 'SPACER',\n DIVIDER: 'DIVIDER',\n STACK: 'STACK',\n GRID: 'GRID',\n INFO_GROUP: 'INFO_GROUP',\n BUTTON: 'BUTTON',\n LINK: 'LINK',\n ALERT: 'ALERT',\n AMOUNT: 'AMOUNT',\n} as const;\n\n/**\n * Valid feedback colors used across GenUI components (Badge, Indicator, Alert)\n * Used to validate streaming JSON where color values might be partial/incomplete\n */\nconst FeedbackColors = [\n 'information',\n 'negative',\n 'neutral',\n 'notice',\n 'positive',\n 'primary',\n] as const;\ntype FeedbackColor = typeof FeedbackColors[number];\n\nconst getValidFeedbackColor = (\n color: string | undefined,\n fallback: FeedbackColor = 'neutral',\n): FeedbackColor => {\n if (!color) return fallback;\n if (FeedbackColors.includes(color as FeedbackColor)) {\n return color as FeedbackColor;\n }\n return fallback;\n};\n\ntype TextComponent = GenUIBaseComponent & {\n component: typeof ComponentType.TEXT;\n content?: string;\n};\n\ntype ChartComponent = GenUIBaseComponent & {\n component: typeof ComponentType.CHART;\n chartType?: 'bar' | 'line' | 'pie' | 'area';\n variant?: 'full' | 'tiny';\n title?: string;\n xAxis?: string;\n data?: Array<Record<string, string | number>>;\n unit?: string;\n valueFormatter?: {\n type: 'currency' | 'percentage' | 'number' | 'string';\n currency?: string;\n suffix?: string;\n };\n};\n\n// Table cell component types (using component pattern)\ntype TableCellText = {\n component: 'TEXT';\n value: string;\n copyable?: boolean;\n};\n\ntype TableCellAmount = {\n component: 'AMOUNT';\n value: number;\n currency?: string;\n};\n\ntype TableCellIndicator = {\n component: 'INDICATOR';\n value: string;\n color: 'positive' | 'negative' | 'notice' | 'neutral' | 'primary' | 'information';\n};\n\ntype TableCellBadge = {\n component: 'BADGE';\n value: string;\n color: 'positive' | 'negative' | 'notice' | 'neutral' | 'primary' | 'information';\n};\n\ntype TableCellDate = {\n component: 'DATE';\n value: string;\n dateFormat?: string;\n};\n\ntype TableCellLink = {\n component: 'LINK';\n text: string;\n copyable?: boolean;\n action?: {\n type: 'CLICK';\n eventName?: 'link_click';\n data?: {\n url?: string;\n };\n };\n};\n\ntype TableCellType =\n | TableCellText\n | TableCellAmount\n | TableCellIndicator\n | TableCellBadge\n | TableCellDate\n | TableCellLink;\n\n// Table row action schema type\ntype TableRowActionSchema = {\n type: 'TABLE_ROW_ACTION';\n eventName: string;\n};\n\ntype TableRowActionButton = {\n type: 'BUTTON';\n text: string;\n action: TableRowActionSchema;\n};\n\ntype TableRowActionIconButton = {\n type: 'ICON_BUTTON';\n icon: 'check' | 'close' | 'edit' | 'delete' | 'download' | 'view' | 'copy';\n accessibilityLabel: string;\n action: TableRowActionSchema;\n};\n\ntype TableRowAction = TableRowActionButton | TableRowActionIconButton;\n\n// Event payload dispatched when table row actions are triggered\ntype TableRowActionEvent = {\n type: 'TABLE_ROW_ACTION';\n eventName: string;\n data: {\n rowIndex: number;\n rowData: TableCellType[];\n };\n};\n\ntype TableComponent = GenUIBaseComponent & {\n component: typeof ComponentType.TABLE;\n headers?: string[];\n rows?: TableCellType[][];\n rowActions?: TableRowAction[];\n};\n\ntype BadgeComponent = GenUIBaseComponent & {\n component: typeof ComponentType.BADGE;\n text?: string;\n color?: 'neutral' | 'negative' | 'notice' | 'positive' | 'primary' | 'information';\n};\n\ntype SpacerComponent = GenUIBaseComponent & {\n component: typeof ComponentType.SPACER;\n size?: 'small' | 'medium' | 'large';\n};\n\ntype DividerComponent = GenUIBaseComponent & {\n component: typeof ComponentType.DIVIDER;\n orientation?: 'horizontal' | 'vertical';\n};\n\ntype StackComponent = GenUIBaseComponent & {\n component: typeof ComponentType.STACK;\n direction?: 'vertical' | 'horizontal';\n gap?: 'small' | 'medium' | 'large';\n children?: GenUIComponent[];\n};\n\ntype GridComponent = GenUIBaseComponent & {\n component: typeof ComponentType.GRID;\n columns?: number;\n gap?: 'small' | 'medium' | 'large';\n children?: GenUIComponent[];\n};\n\ntype CardComponent = GenUIBaseComponent & {\n component: typeof ComponentType.CARD;\n title?: string;\n description?: string;\n footer?: string | null;\n children?: GenUIComponent[];\n};\n\ntype InfoGroupItemValue = {\n helpText?: string;\n children: string | GenUIComponent;\n};\n\ntype InfoGroupComponent = GenUIBaseComponent & {\n component: typeof ComponentType.INFO_GROUP;\n items?: Array<{\n key?: {\n helpText?: string;\n children: string;\n };\n value?: InfoGroupItemValue;\n }>;\n};\n\ntype ButtonComponent = GenUIBaseComponent & {\n component: typeof ComponentType.BUTTON;\n text?: string;\n action?: GenUIAction;\n};\n\ntype LinkComponent = GenUIBaseComponent & {\n component: typeof ComponentType.LINK;\n text?: string;\n action?: {\n type: 'CLICK';\n eventName?: 'link_click';\n data?: {\n url?: string;\n };\n };\n};\n\ntype AlertComponent = GenUIBaseComponent & {\n component: typeof ComponentType.ALERT;\n title?: string;\n description?: string;\n color?: 'information' | 'negative' | 'neutral' | 'notice' | 'positive';\n actions?: {\n primary?: {\n text?: string;\n action?: GenUIAction;\n };\n secondary?: {\n text?: string;\n action?: GenUIAction;\n };\n };\n};\n\ntype AmountComponent = GenUIBaseComponent & {\n component: typeof ComponentType.AMOUNT;\n value?: number;\n currency?: string;\n};\n\n/**\n * Union type of all built-in UI components\n */\ntype GenUIBuiltInUIComponent =\n | TextComponent\n | ChartComponent\n | TableComponent\n | BadgeComponent\n | SpacerComponent\n | DividerComponent\n | StackComponent\n | GridComponent\n | CardComponent\n | InfoGroupComponent\n | ButtonComponent\n | LinkComponent\n | AlertComponent\n | AmountComponent;\n\n/**\n * Generic UI component type - can be extended with custom components\n */\ntype GenUIComponent = GenUIBuiltInUIComponent | GenUIBaseComponent;\n\nconst ComponentErrorFallback = () => {\n return (\n <Box\n textAlign=\"center\"\n display=\"flex\"\n flexDirection=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n height=\"100%\"\n width=\"100%\"\n >\n <Text size=\"medium\" weight=\"regular\">\n Error rendering component\n </Text>\n </Box>\n );\n};\n\nconst ChartSkeletonLoader = ({\n title,\n isTiny,\n chartHeight = '350px',\n}: {\n title?: string;\n isTiny?: boolean;\n chartHeight?: string;\n}) => {\n return (\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\" marginY=\"spacing.3\">\n {title && !isTiny ? (\n <Skeleton width=\"200px\" height=\"24px\" borderRadius=\"medium\" marginBottom=\"spacing.3\" />\n ) : null}\n <Box\n width=\"100%\"\n height={chartHeight as '100px' | '350px'}\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.3\"\n >\n <Box display=\"flex\" flexDirection=\"row\" gap=\"spacing.3\" height=\"100%\">\n <Skeleton width=\"40px\" height=\"100%\" borderRadius=\"medium\" />\n <Skeleton width=\"100%\" height=\"100%\" borderRadius=\"medium\" />\n </Box>\n <Skeleton width=\"100%\" height=\"40px\" borderRadius=\"medium\" />\n </Box>\n </Box>\n );\n};\n\nconst MarkdownListItemRenderer = ({ children }: { children?: React.ReactNode }): JSX.Element => {\n const { ordered } = React.useContext(MarkdownListContext);\n return (\n <MarkdownListItem $ordered={ordered}>\n {ordered ? <MarkdownOrderedListMarker /> : <MarkdownUnorderedListMarker />}\n <MarkdownListItemBody>{children}</MarkdownListItemBody>\n </MarkdownListItem>\n );\n};\n\nconst markdownHeadingStyles = {\n h1: { level: 1, size: 'large', color: 'surface.text.gray.normal', as: 'h1' },\n h2: { level: 2, size: 'medium', color: 'surface.text.gray.normal', as: 'h2' },\n h3: { level: 3, size: 'medium', color: 'surface.text.gray.subtle', as: 'h3' },\n h4: { level: 4, size: 'small', color: 'surface.text.gray.subtle', as: 'h4' },\n h5: { level: 5, size: 'small', color: 'surface.text.gray.muted', as: 'h5' },\n h6: { level: 6, size: 'small', color: 'surface.text.gray.muted', as: 'h6' },\n} as const;\n\ntype MarkdownHeadingTag = keyof typeof markdownHeadingStyles;\n\nconst MarkdownHeadingRenderer = ({\n tag,\n children,\n}: {\n tag: MarkdownHeadingTag;\n children?: React.ReactNode;\n}): JSX.Element => {\n const { level, size, color, as } = markdownHeadingStyles[tag];\n\n return (\n <MarkdownHeadingContainer $level={level}>\n <Heading\n as={as}\n size={size}\n weight=\"medium\"\n color={color}\n textTransform={level === 6 ? 'uppercase' : undefined}\n >\n {children}\n </Heading>\n </MarkdownHeadingContainer>\n );\n};\n\n/**\n * Stable components object for ReactMarkdown to prevent re-renders during streaming.\n * Defined outside the component to maintain referential equality.\n */\nconst markdownComponents = {\n h1: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h1\">{children}</MarkdownHeadingRenderer>\n ),\n h2: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h2\">{children}</MarkdownHeadingRenderer>\n ),\n h3: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h3\">{children}</MarkdownHeadingRenderer>\n ),\n h4: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h4\">{children}</MarkdownHeadingRenderer>\n ),\n h5: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h5\">{children}</MarkdownHeadingRenderer>\n ),\n h6: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownHeadingRenderer tag=\"h6\">{children}</MarkdownHeadingRenderer>\n ),\n b: ({ children }: { children?: React.ReactNode }) => (\n <Text as=\"span\" size=\"medium\" weight=\"semibold\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n strong: ({ children }: { children?: React.ReactNode }) => (\n <Text as=\"span\" size=\"medium\" weight=\"semibold\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n a: ({ href, children }: { href?: string; children?: React.ReactNode }) => (\n <Link\n href={href}\n size=\"medium\"\n variant=\"anchor\"\n color=\"primary\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {(children as unknown) as string}\n </Link>\n ),\n li: MarkdownListItemRenderer,\n ol: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownListContext.Provider value={{ ordered: true }}>\n <MarkdownOrderedList>{children}</MarkdownOrderedList>\n </MarkdownListContext.Provider>\n ),\n ul: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownListContext.Provider value={{ ordered: false }}>\n <MarkdownUnorderedList>{children}</MarkdownUnorderedList>\n </MarkdownListContext.Provider>\n ),\n hr: () => <Divider marginY=\"spacing.7\" />,\n code: ({\n inline,\n className,\n children,\n }: {\n inline?: boolean;\n className?: string;\n children?: React.ReactNode;\n }) =>\n inline || !className ? (\n <MarkdownInlineCode>{children}</MarkdownInlineCode>\n ) : (\n <code className={className}>{children}</code>\n ),\n pre: ({ children }: { children?: React.ReactNode }) => {\n const { code, language } = getMarkdownCodeBlockDetails(children);\n\n return (\n <MarkdownCodeBlock>\n <MarkdownCodeBlockHeader>\n {language ? <MarkdownCodeBlockLanguage>{language}</MarkdownCodeBlockLanguage> : null}\n <MarkdownCodeBlockCopyButton code={code} />\n </MarkdownCodeBlockHeader>\n <MarkdownCodeBlockCode>{code}</MarkdownCodeBlockCode>\n </MarkdownCodeBlock>\n );\n },\n blockquote: ({ children }: { children?: React.ReactNode }) => (\n <MarkdownBlockquote>{children}</MarkdownBlockquote>\n ),\n em: ({ children }: { children?: React.ReactNode }) => <MarkdownItalic>{children}</MarkdownItalic>,\n i: ({ children }: { children?: React.ReactNode }) => <MarkdownItalic>{children}</MarkdownItalic>,\n p: ({ children }: { children?: React.ReactNode }) => (\n <Text\n marginBottom={genUISpacingContract.textParagraphGap}\n size=\"medium\"\n color=\"surface.text.gray.subtle\"\n >\n {children}\n </Text>\n ),\n};\n\nconst RenderTextComponent = memo(({ content }: TextComponent) => {\n const { isAnimating, animateOptions } = useGenUIAnimation();\n\n const rehypePlugins = useMemo(() => {\n if (!isAnimating) return [];\n return [createRehypeAnimate(animateOptions)];\n }, [isAnimating, animateOptions]);\n\n if (!content) return null;\n\n return (\n <>\n {isAnimating ? <TextAnimationStyles /> : null}\n <ReactMarkdown skipHtml rehypePlugins={rehypePlugins} components={markdownComponents}>\n {content}\n </ReactMarkdown>\n </>\n );\n});\n\nconst RenderChartComponent = memo(\n ({\n chartType,\n title,\n xAxis,\n data,\n unit = '',\n variant = 'full',\n valueFormatter,\n }: ChartComponent) => {\n const isTiny = variant === 'tiny';\n const chartHeight = isTiny ? '100px' : '350px';\n const minHeight = isTiny ? '100px' : '350px';\n const isLoading =\n !chartType || !xAxis || !data || data.length === 0 || !valueFormatter || !valueFormatter.type;\n\n // Handle incomplete data during streaming\n if (isLoading) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n // Filter out empty objects and incomplete data from streaming\n const validData = data.filter((item) => {\n if (!item || Object.keys(item).length === 0) return false;\n\n // Check if xAxis key exists and has a valid value\n if (!item[xAxis] || item[xAxis] === '') return false;\n\n // Check if at least one numeric value exists\n const hasNumericValue = Object.keys(item).some(\n (key) => key !== xAxis && typeof item[key] === 'number' && !isNaN(Number(item[key])),\n );\n\n return hasNumericValue;\n });\n\n if (validData.length === 0) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n // Auto-detect all numeric keys except xAxis for plotting\n const firstItem = validData[0];\n const keysToPlot = Object.keys(firstItem).filter(\n (key) => key !== xAxis && typeof firstItem[key] === 'number',\n );\n\n if (keysToPlot.length === 0) {\n return <ChartSkeletonLoader title={title} isTiny={isTiny} chartHeight={chartHeight} />;\n }\n\n const tickFormatter = (value: number | string) => {\n const numValue = typeof value === 'string' ? parseFloat(value) : value;\n\n if (isNaN(numValue)) {\n return value.toString();\n }\n\n // Use valueFormatter if provided, otherwise fall back to unit\n if (valueFormatter) {\n const { type, currency: formatterCurrency, suffix: formatterSuffix } = valueFormatter;\n\n const buildPrefixSuffixString = (v: string) => {\n return `${v}${formatterSuffix ?? ''}`;\n };\n\n try {\n switch (type) {\n case 'currency': {\n const formatted = formatNumber(numValue, {\n currency: (formatterCurrency || 'INR') as 'INR',\n intlOptions: {\n notation: 'compact',\n maximumFractionDigits: 1,\n },\n });\n return buildPrefixSuffixString(formatted);\n }\n\n case 'percentage': {\n const formatted = formatNumber(numValue / 100, {\n intlOptions: {\n style: 'percent',\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n },\n });\n if (formatterSuffix === '%') {\n return formatted;\n } else {\n return buildPrefixSuffixString(formatted);\n }\n }\n\n case 'number': {\n const numberFormatted = formatNumber(numValue, {\n intlOptions: {\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n },\n });\n return buildPrefixSuffixString(numberFormatted);\n }\n\n case 'string': {\n return buildPrefixSuffixString(numValue.toString());\n }\n\n default:\n return numValue.toString();\n }\n } catch (error) {\n console.error('[GenUI Chart]: Error formatting value:', error);\n return numValue.toString();\n }\n }\n\n // Fallback to legacy unit formatting\n return `${numValue.toString()}${unit}`;\n };\n\n // TODO: Refactor into smaller components\n return (\n <ErrorBoundary FallbackComponent={ComponentErrorFallback}>\n <Box\n width=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap=\"spacing.3\"\n marginY=\"spacing.3\"\n minHeight={chartHeight}\n >\n {title && !isTiny ? (\n <Text\n size=\"large\"\n weight=\"regular\"\n color=\"surface.text.gray.subtle\"\n marginBottom=\"spacing.3\"\n >\n {title}\n </Text>\n ) : null}\n <Box width=\"100%\" height={chartHeight} minHeight={minHeight}>\n {chartType === 'bar' ? (\n <ChartBarWrapper\n width=\"100%\"\n height={chartHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartBar key={key} dataKey={key} name={key} />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartBarWrapper>\n ) : chartType === 'line' ? (\n <ChartLineWrapper\n width=\"100%\"\n height={chartHeight}\n minHeight={minHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartLine key={key} dataKey={key} name={key} />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartLineWrapper>\n ) : chartType === 'area' ? (\n <ChartAreaWrapper\n width=\"100%\"\n height={chartHeight}\n minHeight={minHeight}\n data={validData}\n colorTheme=\"categorical\"\n >\n {!isTiny ? <ChartCartesianGrid /> : null}\n {!isTiny ? <ChartXAxis dataKey={xAxis} /> : null}\n {!isTiny ? <ChartYAxis tickFormatter={tickFormatter} /> : null}\n {keysToPlot.map((key) => (\n <ChartArea key={key} dataKey={key} name={key} type=\"monotone\" />\n ))}\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartAreaWrapper>\n ) : chartType === 'pie' ? (\n <ChartDonutWrapper width=\"100%\" height={chartHeight} minHeight={minHeight}>\n <ChartDonut\n dataKey={keysToPlot[0]}\n nameKey={xAxis}\n data={validData}\n radius=\"medium\"\n type=\"circle\"\n />\n {!isTiny ? <ChartLegend /> : null}\n {!isTiny ? <ChartTooltip /> : null}\n </ChartDonutWrapper>\n ) : null}\n </Box>\n </Box>\n </ErrorBoundary>\n );\n },\n // Custom comparison - only re-render if data length or key fields change\n (prevProps, nextProps) => {\n return (\n prevProps.chartType === nextProps.chartType &&\n prevProps.title === nextProps.title &&\n prevProps.xAxis === nextProps.xAxis &&\n prevProps.variant === nextProps.variant &&\n prevProps.data?.length === nextProps.data?.length &&\n JSON.stringify(prevProps.data?.[prevProps.data.length - 1]) ===\n JSON.stringify(nextProps.data?.[nextProps.data.length - 1]) &&\n JSON.stringify(prevProps.valueFormatter) === JSON.stringify(nextProps.valueFormatter)\n );\n },\n);\n\n// Primitive copy button — just the icon + tooltip, no text label.\n// Compose this inside any cell that needs copy behaviour.\nconst Copyable = ({ value }: { value?: string }) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = () => {\n void navigator.clipboard.writeText(value ?? '');\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n return (\n <Tooltip content={copied ? 'Copied!' : 'Copy'} placement=\"top\">\n <TooltipInteractiveWrapper>\n <IconButton\n icon={CopyIcon}\n size=\"medium\"\n emphasis=\"intense\"\n accessibilityLabel={`Copy ${value}`}\n onClick={handleCopy}\n />\n </TooltipInteractiveWrapper>\n </Tooltip>\n );\n};\n\n// Text + copy icon\nconst CopyableText = ({ value }: { value?: string }) => (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.2\">\n <Text size=\"medium\">{value ?? '-'}</Text>\n <Copyable value={value} />\n </Box>\n);\n\n// Table cell link renderer - fires action for consumer to handle\nconst TableCellLinkRenderer = ({ cell }: { cell?: Partial<TableCellLink> }) => {\n const onActionClick = useGenUIAction();\n\n const linkNode = cell?.action ? (\n <Link\n variant=\"button\"\n onClick={() => {\n if (onActionClick && cell.action) {\n onActionClick(cell.action);\n }\n }}\n >\n {cell.text ?? ''}\n </Link>\n ) : (\n <Text size=\"medium\">{cell?.text}</Text>\n );\n\n if (cell?.copyable && cell?.text) {\n return (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.2\">\n {linkNode}\n <Copyable value={cell.text} />\n </Box>\n );\n }\n\n return linkNode;\n};\n\n// Helper to render a single table cell based on its component type\nconst RenderTableCellContent = ({ cell }: { cell?: Partial<TableCellType> }) => {\n if (!cell) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Handle incomplete cell object during streaming\n if (!cell.component) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Handle component-based cell types\n switch (cell.component) {\n case 'TEXT': {\n if (cell.copyable && cell.value) {\n return <CopyableText value={cell.value} />;\n }\n return <Text size=\"medium\">{cell.value ?? '-'}</Text>;\n }\n\n case 'AMOUNT': {\n const currency = cell.currency || 'INR';\n // Ensure value is a valid number (handle streaming where value might be string/undefined)\n const numValue = typeof cell.value === 'string' ? parseFloat(cell.value) : cell.value;\n if (typeof numValue !== 'number' || isNaN(numValue)) {\n return <Text size=\"medium\">-</Text>;\n }\n return <Amount value={numValue} currency={currency as 'INR' | 'MYR'} size=\"medium\" />;\n }\n\n case 'INDICATOR': {\n // Handle streaming where value might be incomplete\n if (!cell.value) {\n return <Text size=\"medium\">-</Text>;\n }\n const indicatorColor = getValidFeedbackColor(cell.color, 'neutral');\n return (\n <Box display=\"flex\" alignItems=\"center\" gap=\"spacing.3\">\n <Indicator accessibilityLabel={cell.value} color={indicatorColor} />\n <Text size=\"medium\">{cell.value}</Text>\n </Box>\n );\n }\n\n case 'BADGE': {\n const badgeColor = getValidFeedbackColor(cell.color, 'neutral');\n return (\n <Badge color={badgeColor} emphasis=\"subtle\">\n {cell.value || '-'}\n </Badge>\n );\n }\n\n case 'DATE': {\n // Handle streaming where value might be incomplete\n if (!cell.value) {\n return <Text size=\"medium\">-</Text>;\n }\n\n // Parse the date value using dayjs\n const dateValue = dayjs(cell.value);\n\n // Check if date is valid\n if (!dateValue.isValid()) {\n return <Text size=\"medium\">{cell.value}</Text>;\n }\n\n // Use custom dateFormat if provided, otherwise use default\n // Format tokens: https://day.js.org/docs/en/display/format\n const defaultFormat = 'DD MMM YYYY, HH:mm';\n const formatted = dateValue.format(cell.dateFormat || defaultFormat);\n\n return <Text size=\"medium\">{formatted}</Text>;\n }\n\n case 'LINK': {\n // Handle streaming where text might be incomplete\n if (!cell.text) {\n return <Text size=\"medium\">-</Text>;\n }\n\n return <TableCellLinkRenderer cell={cell} />;\n }\n\n default:\n // Handle unknown component types during streaming\n return <Text size=\"medium\">{String((cell as { value?: string }).value || '-')}</Text>;\n }\n};\n\n// Icon mapping for row actions\nconst rowActionIconMap = {\n check: CheckIcon,\n close: CloseIcon,\n edit: EditIcon,\n delete: TrashIcon,\n download: DownloadIcon,\n view: EyeIcon,\n copy: CopyIcon,\n} as const;\n\n// Separate component for table row hover actions to avoid render issues\nconst TableRowHoverActions = ({\n rowActions,\n rowIndex,\n rowData,\n}: {\n rowActions: TableRowAction[];\n rowIndex: number;\n rowData: TableCellType[];\n}) => {\n const onActionClick = useGenUIAction();\n\n const createActionEvent = (eventName: string): TableRowActionEvent => ({\n type: 'TABLE_ROW_ACTION',\n eventName,\n data: {\n rowIndex,\n rowData,\n },\n });\n\n return (\n <>\n {rowActions.map((rowAction, index) => {\n // Guard: Skip incomplete button actions during streaming\n if (rowAction.type === 'BUTTON') {\n if (!rowAction.text) return null;\n return (\n <Button\n key={index}\n variant=\"tertiary\"\n size=\"xsmall\"\n onClick={() => {\n if (rowAction.action?.eventName && onActionClick) {\n onActionClick(createActionEvent(rowAction.action.eventName));\n }\n }}\n >\n {rowAction.text}\n </Button>\n );\n }\n\n // Guard: Skip incomplete icon button actions during streaming\n if (rowAction.type === 'ICON_BUTTON') {\n const IconComponent = rowAction.icon ? rowActionIconMap[rowAction.icon] : null;\n if (!IconComponent || !rowAction.accessibilityLabel) return null;\n return (\n <IconButton\n key={index}\n icon={IconComponent}\n size=\"medium\"\n emphasis=\"intense\"\n accessibilityLabel={rowAction.accessibilityLabel}\n onClick={() => {\n if (rowAction.action?.eventName && onActionClick) {\n onActionClick(createActionEvent(rowAction.action.eventName));\n }\n }}\n />\n );\n }\n\n return null;\n })}\n </>\n );\n};\n\n// Produces column widths using minmax(max-content, 1fr) so columns:\n// 1. Never shrink below their content width (no text wrapping)\n// 2. Expand proportionally to fill available width when space permits\nconst calculateColumnWidths = (headers: string[], _rows: Partial<TableCellType>[][]): string[] => {\n return headers.map(() => 'minmax(max-content, 1fr)');\n};\n\nconst RenderTableComponent = memo(({ headers, rows, rowActions }: TableComponent) => {\n const columnWidths = useMemo(\n () => (headers && rows ? calculateColumnWidths(headers, rows) : []),\n [headers, rows],\n );\n\n if (!headers || !rows || headers.length === 0 || rows.length === 0) {\n return null;\n }\n\n // Transform rows into table data format with id\n const tableData = {\n nodes: rows.map((row, index) => ({\n id: `row-${index}`,\n cells: row,\n })),\n };\n\n return (\n <Box display=\"flex\" flexDirection=\"column\" gap={genUISpacingContract.compactCardRowGap}>\n <Table\n data={tableData}\n backgroundColor=\"transparent\"\n rowDensity=\"compact\"\n gridTemplateColumns={columnWidths.join(' ')}\n >\n {(data) => (\n <>\n <TableHeader>\n <TableHeaderRow>\n {headers.map((header, index) => (\n <TableHeaderCell key={index}>{header}</TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n <TableBody>\n {data.map((item, rowIndex) => (\n <TableRow\n key={rowIndex}\n item={item}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHover={rowActions && rowActions.length > 0 ? () => {} : undefined}\n hoverActions={\n rowActions && rowActions.length > 0 ? (\n <TableRowHoverActions\n rowActions={rowActions}\n rowIndex={rowIndex}\n rowData={item.cells}\n />\n ) : undefined\n }\n >\n {item.cells.map((cell, cellIndex) => (\n <TableCell key={cellIndex}>\n <RenderTableCellContent cell={cell} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </>\n )}\n </Table>\n </Box>\n );\n});\n\nconst RenderCardComponent = memo(({ title, description, footer, children }: CardComponent) => {\n const hasHeader = title || description;\n\n return (\n <Box\n height=\"100%\"\n display=\"flex\"\n flexDirection=\"column\"\n gap={genUISpacingContract.compactCardRowGap}\n >\n <Card width=\"100%\" height=\"100%\" padding={genUISpacingContract.compactCardPadding}>\n {hasHeader ? (\n <CardHeader>\n <CardHeaderLeading title={title || ''} subtitle={description || ''} />\n </CardHeader>\n ) : null}\n\n {children && children.length > 0 ? (\n <CardBody height=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" gap={genUISpacingContract.compactCardRowGap}>\n {children.map((child, index) => {\n return <GenUIComponentRenderer key={index} component={child} index={index} />;\n })}\n </Box>\n </CardBody>\n ) : null}\n\n {footer ? (\n <CardFooter\n showDivider={true}\n marginTop={genUISpacingContract.cardTableToFooterAction}\n paddingTop={genUISpacingContract.cardTableToFooterAction}\n >\n <CardFooterLeading subtitle={footer} />\n </CardFooter>\n ) : null}\n </Card>\n </Box>\n );\n});\n\nconst RenderBadgeComponent = memo(({ text, color }: BadgeComponent) => {\n if (!text) return null;\n\n return (\n <Badge color={color || 'neutral'} emphasis=\"subtle\">\n {text}\n </Badge>\n );\n});\n\nconst RenderSpacerComponent = memo(({ size }: SpacerComponent) => {\n if (!size) return null;\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return <Box height={sizeMap[size]} width={sizeMap[size]} />;\n});\n\nconst RenderDividerComponent = memo(({ orientation = 'horizontal' }: DividerComponent) => {\n return (\n <Box display=\"flex\" paddingY=\"spacing.7\">\n <Divider\n orientation={orientation}\n {...(orientation === 'vertical' ? { height: '24px' } : {})}\n />\n </Box>\n );\n});\n\nconst RenderStackComponent = memo(({ direction = 'vertical', gap, children }: StackComponent) => {\n if (!children || children.length === 0) {\n return null;\n }\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return (\n <Box\n display=\"flex\"\n width=\"100%\"\n paddingY=\"spacing.3\"\n flexDirection={direction === 'vertical' ? 'column' : 'row'}\n gap={sizeMap[gap ?? 'small']}\n >\n {children.map((child, index) => (\n <GenUIComponentRenderer key={index} component={child} index={index} />\n ))}\n </Box>\n );\n});\n\nconst RenderGridComponent = memo(({ columns, gap, children }: GridComponent) => {\n if (!columns || !children || children.length === 0) {\n return null;\n }\n\n const sizeMap = {\n small: 'spacing.2',\n medium: 'spacing.4',\n large: 'spacing.5',\n } as const;\n\n return (\n <Box\n display=\"grid\"\n width=\"100%\"\n marginY=\"spacing.3\"\n gridTemplateColumns={`repeat(${columns}, 1fr)`}\n gap={sizeMap[gap ?? 'small']}\n >\n {children.map((child, index) => (\n <GenUIComponentRenderer key={index} component={child} index={index} />\n ))}\n </Box>\n );\n});\n\nconst RenderInfoGroupComponent = memo(({ items }: InfoGroupComponent) => {\n if (!items || items.length === 0) {\n return null;\n }\n\n // Filter out invalid items during streaming\n // Filters out: null, undefined, and empty string children\n const validItems = items.filter((item) => {\n const children = item.value?.children;\n if (!item.key?.children || children == null) return false;\n return typeof children !== 'string' || children !== '';\n });\n\n if (validItems.length === 0) {\n return null;\n }\n\n return (\n <InfoGroup marginY=\"spacing.3\" itemOrientation=\"horizontal\" size=\"medium\" valueAlign=\"left\">\n {validItems.map((item, index) => {\n const value = item.value!;\n const isString = typeof value.children === 'string';\n\n if (isString) {\n return (\n <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={value.helpText}>{value.children as string}</InfoItemValue>\n </InfoItem>\n );\n }\n\n return (\n <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={value.helpText}>\n <GenUIComponentRenderer component={value.children as GenUIComponent} index={index} />\n </InfoItemValue>\n </InfoItem>\n );\n })}\n </InfoGroup>\n );\n});\n\nconst RenderButtonComponent = memo(({ text, action }: ButtonComponent) => {\n const onActionClick = useGenUIAction();\n\n if (!text) return null;\n\n const handleClick = () => {\n if (action && onActionClick) {\n onActionClick(action);\n }\n };\n\n return (\n <Button marginTop=\"spacing.2\" variant=\"tertiary\" onClick={handleClick}>\n {text}\n </Button>\n );\n});\n\nconst RenderLinkComponent = memo(({ text, action }: LinkComponent) => {\n const onActionClick = useGenUIAction();\n\n if (!text) return null;\n\n if (!action) {\n return (\n <Box marginBottom=\"spacing.2\">\n <Text size=\"medium\">{text}</Text>\n </Box>\n );\n }\n\n return (\n <Box marginBottom=\"spacing.2\">\n <Link\n variant=\"button\"\n onClick={() => {\n if (onActionClick) {\n onActionClick(action);\n }\n }}\n >\n {text}\n </Link>\n </Box>\n );\n});\n\nconst RenderAlertComponent = memo(\n ({ title, description, color = 'neutral', actions }: AlertComponent) => {\n const onActionClick = useGenUIAction();\n if (!title && !description) return null;\n\n // Validate color during streaming - show placeholder for invalid colors\n const validColor = getValidFeedbackColor(color);\n if (validColor !== color) {\n return <Box marginY=\"spacing.3\" width=\"100%\" />;\n }\n\n const iconMap = {\n information: InfoIcon,\n negative: AlertTriangleIcon,\n neutral: InfoIcon,\n notice: InfoIcon,\n positive: CheckCircleIcon,\n } as const;\n\n const Icon = iconMap[validColor];\n\n return (\n <Alert\n emphasis=\"subtle\"\n title={title}\n icon={Icon}\n description={description!}\n color={validColor}\n isDismissible={false}\n marginY=\"spacing.4\"\n actions={{\n primary: actions?.primary?.text\n ? {\n text: actions.primary.text,\n onClick: () => {\n if (actions.primary?.action && onActionClick) {\n onActionClick(actions.primary.action);\n }\n },\n }\n : undefined,\n secondary: actions?.secondary?.text\n ? {\n text: actions.secondary.text,\n onClick: () => {\n if (actions.secondary?.action && onActionClick) {\n onActionClick(actions.secondary.action);\n }\n },\n }\n : undefined,\n }}\n />\n );\n },\n);\n\nconst RenderAmountComponent = memo(({ value, currency }: AmountComponent) => {\n const resolvedCurrency = currency || 'INR';\n const numValue = typeof value === 'string' ? parseFloat(value) : value;\n if (typeof numValue !== 'number' || isNaN(numValue)) {\n return <Text size=\"medium\">-</Text>;\n }\n return <Amount value={numValue} currency={resolvedCurrency as 'INR' | 'MYR'} />;\n});\n\n// Alias for internal use in built-in renderers\nconst GenUIComponentRenderer = ComponentRenderer;\ntype GenUIComponentRenderer = React.ComponentType<GenUIBaseComponent & { index: number }>;\n\n/**\n * Default registry of built-in components\n */\nconst createBuiltInRegistry = (): GenUIComponentRegistry => ({\n [ComponentType.TEXT]: {\n renderer: RenderTextComponent as GenUIComponentRenderer,\n },\n [ComponentType.CHART]: {\n renderer: RenderChartComponent as GenUIComponentRenderer,\n },\n [ComponentType.TABLE]: {\n renderer: RenderTableComponent as GenUIComponentRenderer,\n },\n [ComponentType.CARD]: {\n renderer: RenderCardComponent as GenUIComponentRenderer,\n },\n [ComponentType.BADGE]: {\n renderer: RenderBadgeComponent as GenUIComponentRenderer,\n },\n [ComponentType.SPACER]: {\n renderer: RenderSpacerComponent as GenUIComponentRenderer,\n },\n [ComponentType.DIVIDER]: {\n renderer: RenderDividerComponent as GenUIComponentRenderer,\n },\n [ComponentType.STACK]: {\n renderer: RenderStackComponent as GenUIComponentRenderer,\n },\n [ComponentType.GRID]: {\n renderer: RenderGridComponent as GenUIComponentRenderer,\n },\n [ComponentType.INFO_GROUP]: {\n renderer: RenderInfoGroupComponent as GenUIComponentRenderer,\n },\n [ComponentType.BUTTON]: {\n renderer: RenderButtonComponent as GenUIComponentRenderer,\n },\n [ComponentType.LINK]: {\n renderer: RenderLinkComponent as GenUIComponentRenderer,\n },\n [ComponentType.ALERT]: {\n renderer: RenderAlertComponent as GenUIComponentRenderer,\n },\n [ComponentType.AMOUNT]: {\n renderer: RenderAmountComponent as GenUIComponentRenderer,\n },\n});\n\nexport {\n // Built-in registry creator (used by GenUIProvider)\n createBuiltInRegistry,\n // Markdown renderer overrides\n markdownComponents,\n // Spacing contract\n genUISpacingContract,\n getGenUIComponentTopSpacing,\n // Constants\n ComponentType,\n};\n\nexport type { GenUIComponent, TableComponent };\n"],"names":["TextAnimationStyles","createGlobalStyle","_templateObject","_taggedTemplateLiteral","MarkdownUnorderedList","styled","ul","withConfig","displayName","componentId","_ref","theme","spacing","_ref2","MarkdownOrderedList","ol","_ref3","_ref4","MarkdownHeadingContainer","div","_ref5","$level","marginTop","marginBottom","concat","_ref6","typography","fonts","family","text","size","lineHeights","MarkdownListItem","li","_ref7","$ordered","_ref8","colors","surface","gray","subtle","_ref9","_ref0","_ref1","_ref10","_ref11","_ref12","MarkdownListMarker","span","_ref13","muted","_ref14","MarkdownUnorderedListMarker","_ref15","_ref16","_ref17","_ref18","_ref19","border","radius","max","_ref20","MarkdownOrderedListMarker","_ref21","MarkdownListItemBody","_ref22","_ref23","MarkdownListContext","React","createContext","ordered","MarkdownInlineCode","code","_ref24","interactive","information","normal","_ref25","_ref26","_ref27","weight","regular","_ref28","_ref29","background","intense","_ref30","xsmall","_ref31","width","thin","_ref32","_ref33","_ref34","_ref35","MarkdownItalic","_ref36","_ref37","_ref38","_ref39","MarkdownBlockquote","blockquote","_ref40","thicker","_ref41","_ref42","_ref43","_ref44","MarkdownCodeBlock","pre","_ref45","_ref46","_ref47","faded","_ref48","_ref49","feedback","neutral","_ref50","medium","MarkdownCodeBlockHeader","_ref51","_ref52","_ref53","_ref54","_ref55","MarkdownCodeBlockActions","MarkdownCodeBlockCopyAnimation","_ref56","$copied","MarkdownCodeBlockLanguage","_ref57","_ref58","_ref59","_ref60","_ref61","letterSpacings","_ref62","MarkdownCodeBlockCode","_ref63","_ref64","_ref65","_ref66","_ref67","_ref68","MarkdownCodeBlockCopyButton","_ref69","_useState","useState","_useState2","_slicedToArray","copied","setCopied","handleCopy","navigator","clipboard","writeText","String","setTimeout","_jsx","children","Tooltip","content","placement","TooltipInteractiveWrapper","IconButton","icon","CheckIcon","CopyIcon","emphasis","accessibilityLabel","onClick","getMarkdownCodeBlockDetails","child","Children","toArray","isValidElement","_child$props$classNam","language","props","className","replace","ComponentType","TEXT","CHART","TABLE","CARD","BADGE","SPACER","DIVIDER","STACK","GRID","INFO_GROUP","BUTTON","LINK","ALERT","AMOUNT","FeedbackColors","getValidFeedbackColor","color","fallback","arguments","length","undefined","includes","ComponentErrorFallback","Box","textAlign","display","flexDirection","alignItems","justifyContent","height","Text","ChartSkeletonLoader","_ref70","title","isTiny","_ref70$chartHeight","chartHeight","_jsxs","gap","marginY","Skeleton","borderRadius","MarkdownListItemRenderer","_ref71","_React$useContext","useContext","markdownHeadingStyles","h1","level","as","h2","h3","h4","h5","h6","MarkdownHeadingRenderer","_ref72","tag","_markdownHeadingStyle","Heading","textTransform","markdownComponents","_ref73","_ref74","_ref75","_ref76","_ref77","_ref78","b","_ref79","strong","_ref80","a","_ref81","href","Link","variant","target","rel","_ref82","Provider","value","_ref83","hr","Divider","_ref84","inline","_ref85","_getMarkdownCodeBlock","_ref86","em","_ref87","i","_ref88","p","_ref89","genUISpacingContract","textParagraphGap","RenderTextComponent","memo","_ref90","_useGenUIAnimation","useGenUIAnimation","isAnimating","animateOptions","rehypePlugins","useMemo","createRehypeAnimate","_Fragment","ReactMarkdown","skipHtml","components","RenderChartComponent","_ref91","chartType","xAxis","data","_ref91$unit","unit","_ref91$variant","valueFormatter","minHeight","isLoading","type","validData","filter","item","Object","keys","hasNumericValue","some","key","isNaN","Number","firstItem","keysToPlot","tickFormatter","numValue","parseFloat","toString","formatterCurrency","currency","formatterSuffix","suffix","buildPrefixSuffixString","v","formatted","formatNumber","intlOptions","notation","maximumFractionDigits","style","minimumFractionDigits","numberFormatted","error","console","ErrorBoundary","FallbackComponent","ChartBarWrapper","colorTheme","ChartCartesianGrid","ChartXAxis","dataKey","ChartYAxis","map","ChartBar","name","ChartLegend","ChartTooltip","ChartLineWrapper","ChartLine","ChartAreaWrapper","ChartArea","ChartDonutWrapper","ChartDonut","nameKey","prevProps","nextProps","_prevProps$data","_nextProps$data","_prevProps$data2","_nextProps$data2","JSON","stringify","Copyable","_ref92","_useState3","_useState4","CopyableText","_ref93","TableCellLinkRenderer","_ref94","_cell$text","cell","onActionClick","useGenUIAction","linkNode","action","copyable","RenderTableCellContent","_ref95","component","_cell$value","Amount","indicatorColor","Indicator","badgeColor","Badge","dateValue","dayjs","isValid","defaultFormat","format","dateFormat","rowActionIconMap","check","close","CloseIcon","edit","EditIcon","TrashIcon","download","DownloadIcon","view","EyeIcon","copy","TableRowHoverActions","_ref96","rowActions","rowIndex","rowData","createActionEvent","eventName","rowAction","index","Button","_rowAction$action","IconComponent","_rowAction$action2","calculateColumnWidths","headers","_rows","RenderTableComponent","_ref97","rows","columnWidths","tableData","nodes","row","id","cells","compactCardRowGap","Table","backgroundColor","rowDensity","gridTemplateColumns","join","TableHeader","TableHeaderRow","header","TableHeaderCell","TableBody","TableRow","onHover","hoverActions","cellIndex","TableCell","RenderCardComponent","_ref98","description","footer","hasHeader","Card","padding","compactCardPadding","CardHeader","CardHeaderLeading","subtitle","CardBody","GenUIComponentRenderer","CardFooter","showDivider","cardTableToFooterAction","paddingTop","CardFooterLeading","RenderBadgeComponent","_ref99","RenderSpacerComponent","_ref100","sizeMap","small","large","RenderDividerComponent","_ref101","_ref101$orientation","orientation","paddingY","_objectSpread","RenderStackComponent","_ref102","_ref102$direction","direction","RenderGridComponent","_ref103","columns","RenderInfoGroupComponent","_ref104","items","validItems","_item$value","_item$key","InfoGroup","itemOrientation","valueAlign","_item$key4","_item$key5","isString","_item$key2","_item$key3","InfoItem","InfoItemKey","helpText","InfoItemValue","RenderButtonComponent","_ref105","handleClick","RenderLinkComponent","_ref106","RenderAlertComponent","_ref107","_actions$primary","_actions$secondary","_ref107$color","actions","validColor","iconMap","InfoIcon","negative","AlertTriangleIcon","notice","positive","CheckCircleIcon","Icon","Alert","isDismissible","primary","_actions$primary2","secondary","_actions$secondary2","RenderAmountComponent","_ref108","resolvedCurrency","ComponentRenderer","createBuiltInRegistry","_ref109","_defineProperty","renderer"],"mappings":"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"}