@razorpay/blade 12.89.0 → 12.89.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 (28) hide show
  1. package/build/lib/web/development/_virtual/cloneDeep.js +1 -1
  2. package/build/lib/web/development/_virtual/cloneDeep3.js +1 -1
  3. package/build/lib/web/development/components/GenUI/GenUIComponents.web.js +4 -21
  4. package/build/lib/web/development/components/GenUI/GenUIComponents.web.js.map +1 -1
  5. package/build/lib/web/development/components/GenUI/rehypeAnimate.js +2 -15
  6. package/build/lib/web/development/components/GenUI/rehypeAnimate.js.map +1 -1
  7. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  8. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  9. package/build/lib/web/development/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  10. package/build/lib/web/development/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  11. package/build/lib/web/production/_virtual/cloneDeep.js +1 -1
  12. package/build/lib/web/production/_virtual/cloneDeep3.js +1 -1
  13. package/build/lib/web/production/_virtual/flatten.js +1 -1
  14. package/build/lib/web/production/_virtual/flatten3.js +1 -1
  15. package/build/lib/web/production/components/GenUI/GenUIComponents.web.js +4 -21
  16. package/build/lib/web/production/components/GenUI/GenUIComponents.web.js.map +1 -1
  17. package/build/lib/web/production/components/GenUI/rehypeAnimate.js +2 -15
  18. package/build/lib/web/production/components/GenUI/rehypeAnimate.js.map +1 -1
  19. package/build/lib/web/production/node_modules/es-toolkit/dist/array/flatten.js +1 -1
  20. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/flatten.js +1 -1
  21. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/array/sortBy.js +2 -2
  22. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +1 -1
  23. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/object/omit.js +2 -2
  24. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/predicate/matches.js +2 -2
  25. package/build/lib/web/production/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +2 -2
  26. package/build/lib/web/production/node_modules/es-toolkit/dist/object/cloneDeep.js +1 -1
  27. package/build/types/components/index.d.ts +0 -2
  28. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import '../node_modules/es-toolkit/dist/compat/object/cloneDeep.js';
1
+ import '../node_modules/es-toolkit/dist/object/cloneDeep.js';
2
2
  //# sourceMappingURL=cloneDeep.js.map
@@ -1,2 +1,2 @@
1
- import '../node_modules/es-toolkit/dist/object/cloneDeep.js';
1
+ import '../node_modules/es-toolkit/dist/compat/object/cloneDeep.js';
2
2
  //# sourceMappingURL=cloneDeep3.js.map
@@ -1,8 +1,8 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
2
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
5
- import { memo, useRef, useMemo, useLayoutEffect, useState } from 'react';
5
+ import { memo, useMemo, useState } from 'react';
6
6
  import { ErrorBoundary } from 'react-error-boundary';
7
7
  import dayjs from 'dayjs';
8
8
  import { formatNumber } from '@razorpay/i18nify-js';
@@ -298,27 +298,10 @@ var RenderTextComponent = /*#__PURE__*/memo(function (_ref11) {
298
298
  var _useGenUIAnimation = useGenUIAnimation(),
299
299
  isAnimating = _useGenUIAnimation.isAnimating,
300
300
  animateOptions = _useGenUIAnimation.animateOptions;
301
- // Tracks how many words were already animated in the previous render.
302
- // Passed to rehypeAnimate as `skipWords` so only truly new words get spans.
303
- var prevWordCountRef = useRef(0);
304
-
305
- // useMemo reads prevWordCountRef.current (= previous render's count) at
306
- // render time, before useLayoutEffect updates it for the next render.
307
301
  var rehypePlugins = useMemo(function () {
308
302
  if (!isAnimating) return [];
309
- return [createRehypeAnimate(_objectSpread(_objectSpread({}, animateOptions), {}, {
310
- skipWords: prevWordCountRef.current
311
- }))];
312
- // `content` is intentionally listed so the memo re-runs per streaming
313
- // chunk, picking up the latest prevWordCountRef value each time.
314
- // eslint-disable-next-line react-hooks/exhaustive-deps
315
- }, [isAnimating, animateOptions, content]);
316
-
317
- // After each render, record the current word count so the next render
318
- // knows how many words to skip.
319
- useLayoutEffect(function () {
320
- prevWordCountRef.current = content ? content.split(/\s+/).filter(Boolean).length : 0;
321
- }, [content]);
303
+ return [createRehypeAnimate(animateOptions)];
304
+ }, [isAnimating, animateOptions]);
322
305
  if (!content) return null;
323
306
  return /*#__PURE__*/jsxs(Fragment, {
324
307
  children: [isAnimating ? /*#__PURE__*/jsx(TextAnimationStyles, {}) : null, /*#__PURE__*/jsx(ReactMarkdown, {
@@ -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, useLayoutEffect, useMemo, useRef, 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 { 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 { Box } from '~components/Box';\nimport { Text, Heading } 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 DotIcon,\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\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 InfoGroupComponent = GenUIBaseComponent & {\n component: typeof ComponentType.INFO_GROUP;\n items?: Array<{\n key?: {\n helpText?: string;\n children: string;\n };\n value?: {\n helpText?: string;\n children: string;\n };\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=\"semibold\">\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\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 <Heading marginBottom=\"spacing.4\" size=\"large\">\n {children}\n </Heading>\n ),\n h2: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"medium\">\n {children}\n </Heading>\n ),\n h3: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"small\">\n {children}\n </Heading>\n ),\n h4: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"small\">\n {children}\n </Heading>\n ),\n b: ({ children }: { children?: React.ReactNode }) => (\n <Text 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: ({ children }: { children?: React.ReactNode }) => (\n <Text marginY=\"spacing.3\" size=\"medium\">\n <DotIcon marginBottom=\"1px\" size=\"xsmall\" /> {children}\n </Text>\n ),\n ol: ({ children }: { children?: React.ReactNode }) => (\n <Box display=\"flex\" flexDirection=\"column\" marginLeft=\"spacing.4\">\n {children}\n </Box>\n ),\n ul: ({ children }: { children?: React.ReactNode }) => (\n <Box display=\"flex\" flexDirection=\"column\" marginLeft=\"spacing.4\">\n {children}\n </Box>\n ),\n hr: () => <Divider marginY=\"spacing.4\" />,\n i: ({ children }: { children?: React.ReactNode }) => (\n <Text size=\"medium\" variant=\"caption\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n p: ({ children }: { children?: React.ReactNode }) => (\n <Text marginY=\"spacing.2\" size=\"medium\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n};\n\nconst RenderTextComponent = memo(({ content }: TextComponent) => {\n const { isAnimating, animateOptions } = useGenUIAnimation();\n // Tracks how many words were already animated in the previous render.\n // Passed to rehypeAnimate as `skipWords` so only truly new words get spans.\n const prevWordCountRef = useRef(0);\n\n // useMemo reads prevWordCountRef.current (= previous render's count) at\n // render time, before useLayoutEffect updates it for the next render.\n const rehypePlugins = useMemo(() => {\n if (!isAnimating) return [];\n return [createRehypeAnimate({ ...animateOptions, skipWords: prevWordCountRef.current })];\n // `content` is intentionally listed so the memo re-runs per streaming\n // chunk, picking up the latest prevWordCountRef value each time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAnimating, animateOptions, content]);\n\n // After each render, record the current word count so the next render\n // knows how many words to skip.\n useLayoutEffect(() => {\n prevWordCountRef.current = content ? content.split(/\\s+/).filter(Boolean).length : 0;\n }, [content]);\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=\"semibold\"\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// px per average character at ~14px font size\nconst CHAR_WIDTH = 7.5;\n// horizontal cell padding (left + right)\nconst CELL_H_PADDING = 8;\n\n// Returns the minimum pixel width hint for a cell based on its content type.\n// Used as the `min` track in `minmax(min, max-content)` so columns never\n// collapse below a sensible floor while still growing to fit real content.\nconst getCellMinWidth = (cell?: Partial<TableCellType>): number => {\n if (!cell?.component) return 80;\n switch (cell.component) {\n case 'TEXT':\n return Math.max(80, Math.min(300, (cell.value?.length ?? 1) * CHAR_WIDTH + CELL_H_PADDING));\n case 'AMOUNT':\n // currency symbol + digits + separators\n return Math.max(\n 100,\n (String(cell.value?.toString() ?? 0).length + 2) * CHAR_WIDTH + CELL_H_PADDING,\n );\n case 'INDICATOR':\n return Math.max(100, (cell.value?.length ?? 1) * CHAR_WIDTH);\n case 'BADGE':\n return Math.max(80, (cell.value?.length ?? 1) * CHAR_WIDTH);\n case 'DATE': {\n const dateValue = dayjs(cell.value);\n if (!dateValue.isValid()) {\n return (cell.value?.length ?? 0) * CHAR_WIDTH;\n }\n const defaultFormat = 'DD MMM YYYY, HH:mm';\n const formatted = dateValue.format(cell.dateFormat || defaultFormat);\n return formatted.length * CHAR_WIDTH;\n }\n case 'LINK':\n return Math.max(80, Math.min(250, (cell.text?.length ?? 1) * CHAR_WIDTH + CELL_H_PADDING));\n default:\n return 80;\n }\n};\n\n// Produces one CSS grid track per column as a `fr` value proportional to\n// the estimated content width so columns fill the full table width while\n// still reflecting relative content size (wider content → more space).\nconst calculateColumnWidths = (headers: string[], rows: Partial<TableCellType>[][]): string[] => {\n const weights = headers.map((header, colIndex) => {\n const headerWeight = header.length * CHAR_WIDTH + CELL_H_PADDING;\n const cellWeight = rows.reduce((max, row) => {\n const cell = row[colIndex];\n return Math.max(max, getCellMinWidth(cell));\n }, 80);\n return Math.max(headerWeight, cellWeight);\n });\n\n // Normalise to smallest weight so fr numbers stay small and readable\n const minWeight = Math.min(...weights);\n return weights.map((w) => `${Math.round((w / minWeight) * 10) / 10}fr`);\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=\"spacing.3\">\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 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 if (!title && !description) {\n return null;\n }\n\n return (\n <Box height=\"100%\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n <Card width=\"100%\" height=\"100%\" padding=\"spacing.7\">\n <CardHeader showDivider={false}>\n <CardHeaderLeading title={title || ''} subtitle={description || ''} />\n </CardHeader>\n\n {children && children.length > 0 ? (\n <CardBody height=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\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 showDivider={true}>\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.4\">\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 const validItems = items.filter((item) => item.key?.children && item.value?.children);\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 <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={item?.value?.helpText}>{item?.value?.children}</InfoItemValue>\n </InfoItem>\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 // Constants\n ComponentType,\n};\n\nexport type { GenUIComponent };\n"],"names":["TextAnimationStyles","createGlobalStyle","_templateObject","_taggedTemplateLiteral","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","_jsx","Box","textAlign","display","flexDirection","alignItems","justifyContent","height","width","children","Text","size","weight","ChartSkeletonLoader","_ref","title","isTiny","_ref$chartHeight","chartHeight","_jsxs","gap","marginY","Skeleton","borderRadius","marginBottom","markdownComponents","h1","_ref2","Heading","h2","_ref3","h3","_ref4","h4","_ref5","b","_ref6","a","_ref7","href","Link","variant","target","rel","li","_ref8","DotIcon","ol","_ref9","marginLeft","ul","_ref0","hr","Divider","i","_ref1","p","_ref10","RenderTextComponent","memo","_ref11","content","_useGenUIAnimation","useGenUIAnimation","isAnimating","animateOptions","prevWordCountRef","useRef","rehypePlugins","useMemo","createRehypeAnimate","_objectSpread","skipWords","current","useLayoutEffect","split","filter","Boolean","_Fragment","ReactMarkdown","skipHtml","components","RenderChartComponent","_ref12","chartType","xAxis","data","_ref12$unit","unit","_ref12$variant","valueFormatter","minHeight","isLoading","type","validData","item","Object","keys","hasNumericValue","some","key","isNaN","Number","firstItem","keysToPlot","tickFormatter","value","numValue","parseFloat","toString","formatterCurrency","currency","formatterSuffix","suffix","buildPrefixSuffixString","v","concat","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","radius","prevProps","nextProps","_prevProps$data","_nextProps$data","_prevProps$data2","_nextProps$data2","JSON","stringify","Copyable","_ref13","_useState","useState","_useState2","_slicedToArray","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","Tooltip","placement","TooltipInteractiveWrapper","IconButton","icon","CopyIcon","emphasis","accessibilityLabel","onClick","CopyableText","_ref14","TableCellLinkRenderer","_ref15","_cell$text","cell","onActionClick","useGenUIAction","linkNode","action","text","copyable","RenderTableCellContent","_ref16","component","_cell$value","Amount","indicatorColor","Indicator","badgeColor","Badge","dateValue","dayjs","isValid","defaultFormat","format","dateFormat","String","rowActionIconMap","check","CheckIcon","close","CloseIcon","edit","EditIcon","TrashIcon","download","DownloadIcon","view","EyeIcon","copy","TableRowHoverActions","_ref17","rowActions","rowIndex","rowData","createActionEvent","eventName","rowAction","index","Button","_rowAction$action","IconComponent","_rowAction$action2","CHAR_WIDTH","CELL_H_PADDING","getCellMinWidth","_cell$value$length","_cell$value2","_cell$value$toString","_cell$value3","_cell$value$length2","_cell$value4","_cell$value$length3","_cell$value5","_cell$text$length","_cell$text2","Math","max","min","_cell$value$length4","_cell$value6","calculateColumnWidths","headers","rows","weights","header","colIndex","headerWeight","cellWeight","reduce","row","minWeight","apply","_toConsumableArray","w","round","RenderTableComponent","_ref18","columnWidths","tableData","nodes","id","cells","Table","backgroundColor","rowDensity","gridTemplateColumns","join","TableHeader","TableHeaderRow","TableHeaderCell","TableBody","TableRow","hoverActions","cellIndex","TableCell","RenderCardComponent","_ref19","description","footer","Card","padding","CardHeader","showDivider","CardHeaderLeading","subtitle","CardBody","child","GenUIComponentRenderer","CardFooter","CardFooterLeading","RenderBadgeComponent","_ref20","RenderSpacerComponent","_ref21","sizeMap","small","medium","large","RenderDividerComponent","_ref22","_ref22$orientation","orientation","paddingY","RenderStackComponent","_ref23","_ref23$direction","direction","RenderGridComponent","_ref24","columns","RenderInfoGroupComponent","_ref25","items","validItems","_item$key","_item$value","InfoGroup","itemOrientation","valueAlign","_item$key2","_item$key3","_item$value2","_item$value3","InfoItem","InfoItemKey","helpText","InfoItemValue","RenderButtonComponent","_ref26","handleClick","marginTop","RenderLinkComponent","_ref27","RenderAlertComponent","_ref28","_actions$primary","_actions$secondary","_ref28$color","actions","validColor","iconMap","information","InfoIcon","negative","AlertTriangleIcon","neutral","notice","positive","CheckCircleIcon","Icon","Alert","isDismissible","primary","_actions$primary2","secondary","_actions$secondary2","RenderAmountComponent","_ref29","resolvedCurrency","ComponentRenderer","createBuiltInRegistry","_ref30","_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 { 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 { Box } from '~components/Box';\nimport { Text, Heading } 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 DotIcon,\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\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 InfoGroupComponent = GenUIBaseComponent & {\n component: typeof ComponentType.INFO_GROUP;\n items?: Array<{\n key?: {\n helpText?: string;\n children: string;\n };\n value?: {\n helpText?: string;\n children: string;\n };\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=\"semibold\">\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\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 <Heading marginBottom=\"spacing.4\" size=\"large\">\n {children}\n </Heading>\n ),\n h2: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"medium\">\n {children}\n </Heading>\n ),\n h3: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"small\">\n {children}\n </Heading>\n ),\n h4: ({ children }: { children?: React.ReactNode }) => (\n <Heading marginBottom=\"spacing.3\" size=\"small\">\n {children}\n </Heading>\n ),\n b: ({ children }: { children?: React.ReactNode }) => (\n <Text 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: ({ children }: { children?: React.ReactNode }) => (\n <Text marginY=\"spacing.3\" size=\"medium\">\n <DotIcon marginBottom=\"1px\" size=\"xsmall\" /> {children}\n </Text>\n ),\n ol: ({ children }: { children?: React.ReactNode }) => (\n <Box display=\"flex\" flexDirection=\"column\" marginLeft=\"spacing.4\">\n {children}\n </Box>\n ),\n ul: ({ children }: { children?: React.ReactNode }) => (\n <Box display=\"flex\" flexDirection=\"column\" marginLeft=\"spacing.4\">\n {children}\n </Box>\n ),\n hr: () => <Divider marginY=\"spacing.4\" />,\n i: ({ children }: { children?: React.ReactNode }) => (\n <Text size=\"medium\" variant=\"caption\" color=\"surface.text.gray.subtle\">\n {children}\n </Text>\n ),\n p: ({ children }: { children?: React.ReactNode }) => (\n <Text marginY=\"spacing.2\" size=\"medium\" color=\"surface.text.gray.subtle\">\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=\"semibold\"\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// px per average character at ~14px font size\nconst CHAR_WIDTH = 7.5;\n// horizontal cell padding (left + right)\nconst CELL_H_PADDING = 8;\n\n// Returns the minimum pixel width hint for a cell based on its content type.\n// Used as the `min` track in `minmax(min, max-content)` so columns never\n// collapse below a sensible floor while still growing to fit real content.\nconst getCellMinWidth = (cell?: Partial<TableCellType>): number => {\n if (!cell?.component) return 80;\n switch (cell.component) {\n case 'TEXT':\n return Math.max(80, Math.min(300, (cell.value?.length ?? 1) * CHAR_WIDTH + CELL_H_PADDING));\n case 'AMOUNT':\n // currency symbol + digits + separators\n return Math.max(\n 100,\n (String(cell.value?.toString() ?? 0).length + 2) * CHAR_WIDTH + CELL_H_PADDING,\n );\n case 'INDICATOR':\n return Math.max(100, (cell.value?.length ?? 1) * CHAR_WIDTH);\n case 'BADGE':\n return Math.max(80, (cell.value?.length ?? 1) * CHAR_WIDTH);\n case 'DATE': {\n const dateValue = dayjs(cell.value);\n if (!dateValue.isValid()) {\n return (cell.value?.length ?? 0) * CHAR_WIDTH;\n }\n const defaultFormat = 'DD MMM YYYY, HH:mm';\n const formatted = dateValue.format(cell.dateFormat || defaultFormat);\n return formatted.length * CHAR_WIDTH;\n }\n case 'LINK':\n return Math.max(80, Math.min(250, (cell.text?.length ?? 1) * CHAR_WIDTH + CELL_H_PADDING));\n default:\n return 80;\n }\n};\n\n// Produces one CSS grid track per column as a `fr` value proportional to\n// the estimated content width so columns fill the full table width while\n// still reflecting relative content size (wider content → more space).\nconst calculateColumnWidths = (headers: string[], rows: Partial<TableCellType>[][]): string[] => {\n const weights = headers.map((header, colIndex) => {\n const headerWeight = header.length * CHAR_WIDTH + CELL_H_PADDING;\n const cellWeight = rows.reduce((max, row) => {\n const cell = row[colIndex];\n return Math.max(max, getCellMinWidth(cell));\n }, 80);\n return Math.max(headerWeight, cellWeight);\n });\n\n // Normalise to smallest weight so fr numbers stay small and readable\n const minWeight = Math.min(...weights);\n return weights.map((w) => `${Math.round((w / minWeight) * 10) / 10}fr`);\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=\"spacing.3\">\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 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 if (!title && !description) {\n return null;\n }\n\n return (\n <Box height=\"100%\" display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n <Card width=\"100%\" height=\"100%\" padding=\"spacing.7\">\n <CardHeader showDivider={false}>\n <CardHeaderLeading title={title || ''} subtitle={description || ''} />\n </CardHeader>\n\n {children && children.length > 0 ? (\n <CardBody height=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.5\">\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 showDivider={true}>\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.4\">\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 const validItems = items.filter((item) => item.key?.children && item.value?.children);\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 <InfoItem key={index}>\n <InfoItemKey helpText={item?.key?.helpText}>{item?.key?.children}</InfoItemKey>\n <InfoItemValue helpText={item?.value?.helpText}>{item?.value?.children}</InfoItemValue>\n </InfoItem>\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 // Constants\n ComponentType,\n};\n\nexport type { GenUIComponent };\n"],"names":["TextAnimationStyles","createGlobalStyle","_templateObject","_taggedTemplateLiteral","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","_jsx","Box","textAlign","display","flexDirection","alignItems","justifyContent","height","width","children","Text","size","weight","ChartSkeletonLoader","_ref","title","isTiny","_ref$chartHeight","chartHeight","_jsxs","gap","marginY","Skeleton","borderRadius","marginBottom","markdownComponents","h1","_ref2","Heading","h2","_ref3","h3","_ref4","h4","_ref5","b","_ref6","a","_ref7","href","Link","variant","target","rel","li","_ref8","DotIcon","ol","_ref9","marginLeft","ul","_ref0","hr","Divider","i","_ref1","p","_ref10","RenderTextComponent","memo","_ref11","content","_useGenUIAnimation","useGenUIAnimation","isAnimating","animateOptions","rehypePlugins","useMemo","createRehypeAnimate","_Fragment","ReactMarkdown","skipHtml","components","RenderChartComponent","_ref12","chartType","xAxis","data","_ref12$unit","unit","_ref12$variant","valueFormatter","minHeight","isLoading","type","validData","filter","item","Object","keys","hasNumericValue","some","key","isNaN","Number","firstItem","keysToPlot","tickFormatter","value","numValue","parseFloat","toString","formatterCurrency","currency","formatterSuffix","suffix","buildPrefixSuffixString","v","concat","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","radius","prevProps","nextProps","_prevProps$data","_nextProps$data","_prevProps$data2","_nextProps$data2","JSON","stringify","Copyable","_ref13","_useState","useState","_useState2","_slicedToArray","copied","setCopied","handleCopy","navigator","clipboard","writeText","setTimeout","Tooltip","placement","TooltipInteractiveWrapper","IconButton","icon","CopyIcon","emphasis","accessibilityLabel","onClick","CopyableText","_ref14","TableCellLinkRenderer","_ref15","_cell$text","cell","onActionClick","useGenUIAction","linkNode","action","text","copyable","RenderTableCellContent","_ref16","component","_cell$value","Amount","indicatorColor","Indicator","badgeColor","Badge","dateValue","dayjs","isValid","defaultFormat","format","dateFormat","String","rowActionIconMap","check","CheckIcon","close","CloseIcon","edit","EditIcon","TrashIcon","download","DownloadIcon","view","EyeIcon","copy","TableRowHoverActions","_ref17","rowActions","rowIndex","rowData","createActionEvent","eventName","rowAction","index","Button","_rowAction$action","IconComponent","_rowAction$action2","CHAR_WIDTH","CELL_H_PADDING","getCellMinWidth","_cell$value$length","_cell$value2","_cell$value$toString","_cell$value3","_cell$value$length2","_cell$value4","_cell$value$length3","_cell$value5","_cell$text$length","_cell$text2","Math","max","min","_cell$value$length4","_cell$value6","calculateColumnWidths","headers","rows","weights","header","colIndex","headerWeight","cellWeight","reduce","row","minWeight","apply","_toConsumableArray","w","round","RenderTableComponent","_ref18","columnWidths","tableData","nodes","id","cells","Table","backgroundColor","rowDensity","gridTemplateColumns","join","TableHeader","TableHeaderRow","TableHeaderCell","TableBody","TableRow","hoverActions","cellIndex","TableCell","RenderCardComponent","_ref19","description","footer","Card","padding","CardHeader","showDivider","CardHeaderLeading","subtitle","CardBody","child","GenUIComponentRenderer","CardFooter","CardFooterLeading","RenderBadgeComponent","_ref20","RenderSpacerComponent","_ref21","sizeMap","small","medium","large","RenderDividerComponent","_ref22","_ref22$orientation","orientation","paddingY","_objectSpread","RenderStackComponent","_ref23","_ref23$direction","direction","RenderGridComponent","_ref24","columns","RenderInfoGroupComponent","_ref25","items","validItems","_item$key","_item$value","InfoGroup","itemOrientation","valueAlign","_item$key2","_item$key3","_item$value2","_item$value3","InfoItem","InfoItemKey","helpText","InfoItemValue","RenderButtonComponent","_ref26","handleClick","marginTop","RenderLinkComponent","_ref27","RenderAlertComponent","_ref28","_actions$primary","_actions$secondary","_ref28$color","actions","validColor","iconMap","information","InfoIcon","negative","AlertTriangleIcon","neutral","notice","positive","CheckCircleIcon","Icon","Alert","isDismissible","primary","_actions$primary2","secondary","_actions$secondary2","RenderAmountComponent","_ref29","resolvedCurrency","ComponentRenderer","createBuiltInRegistry","_ref30","_defineProperty","renderer"],"mappings":"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"}
@@ -92,17 +92,12 @@ var makeSpan = function makeSpan(word, duration, easing) {
92
92
  * @returns A rehype plugin function
93
93
  */
94
94
  function createRehypeAnimate(options) {
95
- var _options$duration, _options$easing, _options$sep, _options$skipWords;
95
+ var _options$duration, _options$easing, _options$sep;
96
96
  var duration = (_options$duration = options === null || options === void 0 ? void 0 : options.duration) !== null && _options$duration !== void 0 ? _options$duration : 300;
97
97
  var easing = (_options$easing = options === null || options === void 0 ? void 0 : options.easing) !== null && _options$easing !== void 0 ? _options$easing : 'ease-in-out';
98
98
  var sep = (_options$sep = options === null || options === void 0 ? void 0 : options.sep) !== null && _options$sep !== void 0 ? _options$sep : 'word';
99
- var skipWords = (_options$skipWords = options === null || options === void 0 ? void 0 : options.skipWords) !== null && _options$skipWords !== void 0 ? _options$skipWords : 0;
100
99
  return function () {
101
100
  return function (tree) {
102
- // Counts non-whitespace words seen so far across all text nodes.
103
- // Words below `skipWords` were already animated in a previous render —
104
- // emit them as plain text nodes to avoid re-creating their DOM nodes.
105
- var wordsSeen = 0;
106
101
  visitParents(tree, 'text', function (node, ancestors) {
107
102
  var _parent$children;
108
103
  var parent = ancestors[ancestors.length - 1];
@@ -128,15 +123,7 @@ function createRehypeAnimate(options) {
128
123
  value: part
129
124
  };
130
125
  }
131
- var shouldAnimate = wordsSeen >= skipWords;
132
- wordsSeen++;
133
- if (shouldAnimate) {
134
- return makeSpan(part, duration, easing);
135
- }
136
- return {
137
- type: 'text',
138
- value: part
139
- };
126
+ return makeSpan(part, duration, easing);
140
127
  });
141
128
  (_parent$children = parent.children).splice.apply(_parent$children, [index, 1].concat(_toConsumableArray(nodes)));
142
129
  return index + nodes.length;