@peak-ai/canvas 1.4.17-rc.16 → 1.4.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GrapesjsCanvas.d.ts +9 -1
- package/GrapesjsCanvas.js +5 -4
- package/GrapesjsCanvas.js.map +1 -1
- package/helpers/css.d.ts +1 -1
- package/helpers/css.js +1 -1
- package/helpers/css.js.map +1 -1
- package/helpers/filter-placeholder.d.ts +1 -0
- package/helpers/filter-placeholder.js +2 -0
- package/helpers/filter-placeholder.js.map +1 -0
- package/index.d.ts +5 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +6 -2
- package/plugins/grapejs-plugin.d.ts +1 -1
- package/plugins/grapejs-plugin.js +3 -2
- package/plugins/grapejs-plugin.js.map +1 -1
- package/plugins/helpers/custom-modal.d.ts +11 -0
- package/plugins/helpers/custom-modal.js +2 -0
- package/plugins/helpers/custom-modal.js.map +1 -0
- package/plugins/helpers/data-table.d.ts +2 -1
- package/plugins/helpers/data-table.js +1 -1
- package/plugins/helpers/data-table.js.map +1 -1
- package/plugins/helpers/extra.js +1 -1
- package/plugins/helpers/extra.js.map +1 -1
- package/plugins/helpers/query-details-modal.d.ts +17 -0
- package/plugins/helpers/query-details-modal.js +4 -0
- package/plugins/helpers/query-details-modal.js.map +1 -0
- package/plugins/helpers/query-loading-modal.d.ts +5 -0
- package/plugins/helpers/query-loading-modal.js +2 -0
- package/plugins/helpers/query-loading-modal.js.map +1 -0
- package/plugins/helpers/render-components.js +7 -7
- package/plugins/helpers/render-components.js.map +1 -1
- package/plugins/helpers/styled-info-button.d.ts +28 -0
- package/plugins/helpers/styled-info-button.js +2 -0
- package/plugins/helpers/styled-info-button.js.map +1 -0
- package/shadcn/components/icons/AiAvatarIcon.d.ts +7 -0
- package/shadcn/components/icons/AiAvatarIcon.js +2 -0
- package/shadcn/components/icons/AiAvatarIcon.js.map +1 -0
- package/shadcn/components/ui/button.d.ts +1 -1
- package/shadcn/components/ui/component-wrapper.d.ts +26 -0
- package/shadcn/components/ui/component-wrapper.js +2 -0
- package/shadcn/components/ui/component-wrapper.js.map +1 -0
- package/shadcn/components/ui/date-filter.js +1 -1
- package/shadcn/components/ui/date-filter.js.map +1 -1
- package/shadcn/components/ui/error-container.d.ts +22 -0
- package/shadcn/components/ui/error-container.js +2 -0
- package/shadcn/components/ui/error-container.js.map +1 -0
- package/shadcn/components/ui/error-wrapper.d.ts +20 -0
- package/shadcn/components/ui/error-wrapper.js +2 -0
- package/shadcn/components/ui/error-wrapper.js.map +1 -0
- package/shadcn/components/ui/filter.js +1 -1
- package/shadcn/components/ui/filter.js.map +1 -1
- package/shadcn/components/ui/search.js +1 -1
- package/shadcn/components/ui/search.js.map +1 -1
- package/shadcn/components/ui/table.js +1 -1
- package/shadcn/components/ui/table.js.map +1 -1
- package/types/grapesjs-tailwind.d.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-components.js","names":["chroma","React","useEffect","useState","useRef","renderNoDataFallback","CircleAlert","theme","Markdown","PieChart","Pie","BarChart","Bar","LineChart","Line","XAxis","YAxis","ResponsiveContainer","CartesianGrid","Legend","domutil","TooltipButton","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","ChartContainer","ChartTooltip","ChartTooltipContent","renderFilter","ScrollArea","ScrollBar","renderSearch","ChartLoader","CardLoader","Tabs","TabsList","TabsTrigger","TabsContent","cn","getAffectedComponentsWithLoader","DataTable","jsx","_jsx","jsxs","_jsxs","getOffset","el","html","ownerDocument","documentElement","box","top","left","getBoundingClientRect","iframe","document","querySelector","iframeWindow","contentWindow","pageYOffset","clientTop","pageXOffset","clientLeft","baseColors","colors","Blue_100","Blue_30","Purpley_100","Purpley_30","Light_Bluish_Green","Wild_Strawberry","getNColors","n","_iterator","_createForOfIteratorHelperLoose","_step","done","baseColor","value","push","scale","mode","getOneColor","existing","color","base","Math","floor","random","length","selectedColorIndex","includes","selectedColors","i","renderActionCard","props","gjsModel","rest","_objectWithoutPropertiesLoose","_excluded","_useState","_extends","allData","setAllData","_allData$headerConten","headerContent","icon","_allData$bodyContent","bodyContent","_useState2","interactionApiInProgress","setAttributes","on","get","defaultClasses","className","isEditable","contentEditable","children","renderCard","_props$isEditable","_excluded2","_useState3","headerDescription","footerContent","footerClass","footerIcon","contentMetadata","contentMetadataClass","_useState4","attributes","defaultFooterClasses","defaultContentMetadataClasses","mergedCardClassName","mergedFooterClassName","mergedContentMetadataClassName","getCardContent","Fragment","style","renderChartComponent","chartType","data","config","cursor","content","hideLabel","dataKey","nameKey","innerRadius","strokeWidth","label","_ref","name","percent","toFixed","undefined","labelLine","dataKeys","chartUi","vertical","xAxis","align","wrapperStyle","marginLeft","map","_ref2","key","fill","radius","indicator","_ref3","type","stroke","_ref4","renderChart","_props$isEditable2","_excluded3","_useState5","_useState6","containerRef","_useState7","containerWidth","setContainerWidth","updateContainerWidth","current","offsetWidth","window","addEventListener","removeEventListener","_allData$config","_allData$chartType","_allData$chartData","chartData","_allData$title","title","_allData$subTitle","subTitle","mergedClasses","width","totalDataPoints","getResponsiveConfig","barCategoryGap","minWidth","height","orientation","ref","renderTable","_props$performInterac","performInteraction","_excluded4","_useState8","cardRef","_useState9","_allData$data","_allData$headerMapper","headerMapper","_allData$isEditable","_allData$title2","_allData$subTitle2","_allData$actions","actions","pagination","sortConfig","_gjsModel$get","_ref6","_ref5","sortColumn","sortDirection","parsedData","datum","newData","id","onRowAction","_x","_x2","_onRowAction","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","rowIndex","actionId","wrap","_callee$","_context","prev","next","interactionType","payload","row","tableId","affectedComponents","stop","onPageChange","_x3","_x4","_onPageChange","_callee2","pageNumber","pageSize","_gjsModel$get2","_ref7","_callee2$","_context2","handleSort","_x5","_x6","_handleSort","_callee3","column","direction","currentProps","_callee3$","_context3","set","isLoading","onSort","otherProps","renderTab","tabsWidth","tabs","defaultValue","tab","renderMarkdown","_excluded5","_useState10","_useState11","_useState12","isEditing","setIsEditing","editRef","startEditing","setTimeout","setupEditor","editor","innerHTML","textContent","summaryText","focus","saveChanges","innerText","markdownStyles","ul","h1","h2","h3","h4","h5","h6","options","overrides","onBlur","suppressContentEditableWarning","whiteSpace","wordWrap","onClick","renderButton","_props$isEditable3","_props$performInterac2","_useState13","_useState14","text","_allData$variant","variant","_allData$size","size","tooltipContent","interact","concat","getRenderers","ActionCard","Button","Chart","Filter","Search","Table"],"sources":["../../../src/plugins/helpers/render-components.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable func-style */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable func-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport chroma from 'chroma-js';\nimport React, { useEffect, useState, JSX, useRef } from 'react';\nimport { renderNoDataFallback } from './extra'\nimport { CircleAlert } from 'lucide-react';\n\nimport { theme } from '@peak-ai/ais-components/theme';\n\nimport Markdown from 'markdown-to-jsx';\n\nimport {\n PieChart,\n Pie,\n BarChart,\n Bar,\n LineChart,\n Line,\n XAxis,\n YAxis,\n ResponsiveContainer,\n CartesianGrid,\n Legend,\n // @ts-ignore\n} from 'recharts/lib';\n\n// @ts-ignore\nimport * as domutil from 'recharts/lib/util/DOMUtils';\n\nimport { TooltipButton } from '../../shadcn/components/ui/button';\nimport {\n Card,\n CardHeader,\n CardTitle,\n CardDescription,\n CardContent,\n CardFooter,\n} from '../../shadcn/components/ui/card';\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n} from '../../shadcn/components/ui/chart';\nimport { renderFilter } from '../../shadcn/components/ui/filter';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport { renderSearch } from '../../shadcn/components/ui/search';\nimport { ChartLoader, CardLoader } from '../../shadcn/components/ui/skeleton';\nimport { SortDirection } from '../../shadcn/components/ui/table';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../shadcn/components/ui/tabs';\n\nimport { cn } from '../../shadcn/utils';\nimport { getAffectedComponentsWithLoader } from '../../helpers';\nimport { DataTable } from './data-table';\n\n// Monkey-patching the getOffset function to use iframe's window instead of global one\n// REMEMBER TO UDPATE THIS WHEN recharts IS UPGRADED\ndomutil.getOffset = (el: HTMLElement): {\n top: number;\n left: number;\n} => {\n const html = el.ownerDocument.documentElement;\n let box = { top: 0, left: 0 };\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n const iframe = document.querySelector('.gjs-frame');\n const iframeWindow = (iframe as any)?.contentWindow;\n\n return {\n top: box.top + iframeWindow.pageYOffset - html.clientTop,\n left: box.left + iframeWindow.pageXOffset - html.clientLeft,\n };\n};\n\n\nconst baseColors = [\n [theme.colors.Blue_100, theme.colors.Blue_30],\n [theme.colors.Purpley_100, theme.colors.Purpley_30],\n [theme.colors.Light_Bluish_Green, '#06601b'],\n [theme.colors.Wild_Strawberry, '#4d001c'],\n];\n\nfunction getNColors(n: number) {\n const colors: Array<string[]> = [];\n\n for (const baseColor of baseColors) {\n // eslint-disable-next-line import/no-named-as-default-member\n colors.push(chroma.scale(baseColor).mode('lab').colors(n));\n }\n\n function getOneColor(existing: Array<string>) {\n let color: null | string = null;\n\n do {\n const base = colors[Math.floor(Math.random() * colors.length)];\n const selectedColorIndex = Math.floor(Math.random() * base.length);\n color = base[selectedColorIndex];\n } while (existing.includes(color));\n\n return color as string;\n }\n\n const selectedColors: Array<string> = [];\n\n for (let i = 0; i < n; i++) {\n selectedColors.push(getOneColor(selectedColors));\n }\n\n return selectedColors;\n}\n\n/* TODO: Loader remains */\nexport function renderActionCard(props: any): JSX.Element {\n const { gjsModel, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const {\n headerContent = 'Default Action Card Title',\n icon,\n bodyContent = 'Default body content. Click to edit.',\n } = allData;\n\n const [, setAttributes] = useState({\n interactionApiInProgress: false,\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const defaultClasses = 'bg-white text-black p-4 rounded-lg shadow border flex flex-col h-full';\n\n return (\n <Card className={defaultClasses} isEditable={false} contentEditable={false} {...rest}>\n <CardContent className=\"p-0\" isEditable={false} contentEditable={false}>\n <div className=\"px-4 py-3\">\n <div className=\"flex items-start\">\n <span className=\"text-5xl mr-2\" aria-hidden=\"true\">\n {icon}\n </span>\n <div className=\"flex-1\">\n <div className=\"text-xl font-semibold\">{headerContent}</div>\n {!bodyContent ? (\n <span className=\"flex flex-row items-center px-3 py-2\">\n <CircleAlert className=\"w-3 h-3 text-gray-400 mr-1\" />\n <p className=\"text-sm text-gray-500 max-w-md text-center\">\n No data available for given filters\n </p>\n </span>\n ) : (\n <div className=\"text-base leading-relaxed mt-1\">{bodyContent}</div>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCard(props: any): JSX.Element {\n const { isEditable = false, gjsModel, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const {\n headerContent,\n headerDescription,\n bodyContent,\n footerContent,\n footerClass,\n footerIcon,\n contentMetadata,\n contentMetadataClass,\n className,\n } = allData;\n\n const [attributes, setAttributes] = useState({\n interactionApiInProgress: false,\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const defaultClasses = 'bg-white text-black p-4 rounded-lg shadow border flex flex-col h-full';\n const defaultFooterClasses = 'text-sm';\n const defaultContentMetadataClasses = 'text-xs';\n const mergedCardClassName = className ? cn(defaultClasses, className) : defaultClasses;\n const mergedFooterClassName = footerClass\n ? cn(defaultFooterClasses, footerClass)\n : defaultFooterClasses;\n const mergedContentMetadataClassName = contentMetadataClass\n ? cn(defaultContentMetadataClasses, contentMetadataClass)\n : defaultContentMetadataClasses;\n\n function getCardContent() {\n if (attributes.interactionApiInProgress) {\n return (\n <CardContent>\n <CardLoader />\n </CardContent>\n );\n }\n\n return (\n <React.Fragment>\n <CardHeader>\n <CardTitle data-slot=\"headerContent\" contentEditable={isEditable} className=\"text-lg\">\n {headerContent}\n </CardTitle>\n <CardDescription\n data-slot=\"headerDescription\"\n contentEditable={isEditable}\n className=\"text-sm\"\n >\n {headerDescription}\n </CardDescription>\n </CardHeader>\n\n {!bodyContent ? (\n <span className=\"flex flex-row items-center px-3 py-2\">\n <CircleAlert className=\"w-3 h-3 text-gray-400 mr-1\" />\n <p className=\"text-sm text-gray-500 max-w-md text-center\">\n No data available for given filters\n </p>\n </span>\n ) : (\n <CardContent data-slot=\"bodyContent\" contentEditable={false} className=\"flex-grow\">\n <div className=\"text-3xl font-semibold truncate\">{bodyContent}</div>\n {contentMetadata && (\n <div className={mergedContentMetadataClassName} style={{ color: '#2A44D4' }}>\n {contentMetadata}\n </div>\n )}\n </CardContent>\n )}\n\n <CardFooter\n data-slot=\"footerContent\"\n contentEditable={isEditable}\n className={cn(mergedFooterClassName)}\n >\n {footerIcon && (\n <span className=\"mr-2\" aria-hidden=\"true\">\n {footerIcon}\n </span>\n )}\n {footerContent}\n </CardFooter>\n </React.Fragment>\n );\n }\n\n return (\n <Card {...rest} className={mergedCardClassName}>\n {getCardContent()}\n </Card>\n );\n}\n\nfunction renderChartComponent(chartType: string, data: any, config: any): JSX.Element {\n if (!data || data.length === 0) {\n return renderNoDataFallback();\n }\n \n switch (chartType) {\n case 'pie':\n return (\n <PieChart>\n {data.length >= 20 && (\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n )}\n <Pie\n data={data}\n dataKey={config.dataKey}\n nameKey={config.nameKey}\n innerRadius={60}\n strokeWidth={10}\n label={\n data.length < 20\n ? ({ name, percent }: { name: string; percent: number; }) => `${name}: ${(percent * 100).toFixed(0)}%`\n : undefined\n }\n labelLine={false}\n />\n </PieChart>\n );\n case 'bar':\n config.dataKeys = config.dataKeys || [];\n\n return (\n <BarChart data={data} {...config.chartUi}>\n <CartesianGrid vertical={false} />\n <XAxis dataKey={config.xAxis} />\n <YAxis />\n <Legend align=\"left\" wrapperStyle={{ marginLeft: 20 }} />\n {config.dataKeys.map(\n ({ key, name, color }: { key: string; name: string; color: string }) => {\n return (\n <Bar dataKey={key} fill={color ?? '#4caf50'} name={name} key={key} radius={2} />\n );\n },\n )}\n <ChartTooltip cursor={false} content={<ChartTooltipContent indicator=\"dashed\" />} />\n </BarChart>\n );\n case 'line':\n config.dataKeys = config.dataKeys || [];\n\n return (\n <LineChart data={data}>\n <CartesianGrid vertical={false} />\n <XAxis dataKey={config.xAxis} />\n <YAxis />\n <ChartTooltip cursor={false} content={<ChartTooltipContent indicator=\"dashed\" />} />\n {config.dataKeys.map(\n ({ key, name, color }: { key: string; name: string; color: string }) => {\n return (\n <Line\n type=\"monotone\"\n dataKey={key}\n stroke={color ?? '#4caf50'}\n name={name}\n key={key}\n />\n );\n },\n )}\n <Legend align=\"left\" />\n </LineChart>\n );\n default:\n return (\n <PieChart>\n {data.length >= 20 && (\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n )}\n <Pie\n data={data}\n dataKey={config.dataKey}\n nameKey={config.nameKey}\n innerRadius={60}\n strokeWidth={10}\n label={\n data.length < 20\n ? ({ name, percent }: { name: string; percent: number; }) => `${name}: ${(percent * 100).toFixed(0)}%`\n : undefined\n }\n labelLine={false}\n />\n </PieChart>\n );\n }\n}\n\nexport function renderChart(props: any): JSX.Element {\n const { isEditable = false, gjsModel, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const [attributes, setAttributes] = useState({\n interactionApiInProgress: false,\n });\n\n const containerRef = useRef<HTMLDivElement>(null);\n const [containerWidth, setContainerWidth] = useState<number>(0);\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n useEffect(() => {\n const updateContainerWidth = () => {\n if (containerRef.current) {\n setContainerWidth(containerRef.current.offsetWidth);\n }\n };\n\n updateContainerWidth();\n window.addEventListener('resize', updateContainerWidth);\n\n return () => window.removeEventListener('resize', updateContainerWidth);\n }, []);\n\n const {\n config = {},\n chartType = 'pie',\n chartData = [],\n className,\n title = 'Title',\n subTitle = 'Subtitle',\n } = allData;\n\n const defaultClasses = 'aspect-auto h-[250px] w-full';\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n if (chartType === 'pie') {\n const colors = getNColors(chartData.length);\n\n for (let i = 0; i < chartData.length; i++) {\n const data = chartData[i];\n\n if (!data.fill) {\n data.fill = colors[i];\n }\n }\n } else if (!config.color) {\n config.color = baseColors[Math.floor(Math.random() * baseColors.length)];\n }\n\n let width: number | undefined = undefined;\n let totalDataPoints = 0;\n\n // Helper function to get responsive config\n const getResponsiveConfig = () => {\n if (\n chartType === 'bar' &&\n totalDataPoints > 15 &&\n containerWidth > 0 &&\n width &&\n width <= containerWidth\n ) {\n // If chart fits in container, use responsive behavior\n return { ...config, chartUi: {} };\n }\n\n return config;\n };\n\n if (chartType === 'bar') {\n totalDataPoints = chartData.length * config.dataKeys.length;\n\n if (totalDataPoints > 15) {\n width =\n totalDataPoints * 20 +\n config.dataKeys.length * 8 * chartData.length +\n chartData.length * 15;\n config.chartUi = {\n barCategoryGap: '10%',\n width,\n };\n } else {\n config.chartUi = {};\n }\n }\n\n const chartUi = attributes.interactionApiInProgress ? (\n <ChartLoader />\n ) : !chartData ? (\n renderNoDataFallback()\n ) : (\n <React.Fragment>\n {chartType === 'bar' &&\n totalDataPoints > 15 &&\n config.chartUi &&\n width &&\n (containerWidth === 0 || width > containerWidth) ? (\n <div className=\"w-full\">\n <ScrollArea className=\"w-full\">\n <div style={{ minWidth: `${width}px`, width: 'max-content' }}>\n <ResponsiveContainer width={width} height={250}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </ResponsiveContainer>\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n ) : (\n <ResponsiveContainer width=\"100%\" height={250}>\n <ChartContainer {...rest} config={getResponsiveConfig()} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, getResponsiveConfig())}\n </ChartContainer>\n </ResponsiveContainer>\n )}\n </React.Fragment>\n );\n\n return (\n <Card className=\"shadow border mt-2 mb-2\">\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-2xl\">\n {title}\n </CardTitle>\n <CardDescription data-slot=\"subTitle\" contentEditable={isEditable} className=\"text-sm\">\n {subTitle}\n </CardDescription>\n </CardHeader>\n <CardContent\n ref={containerRef}\n data-slot=\"bodyContent\"\n contentEditable={false}\n className=\"px-6\"\n >\n {chartUi}\n </CardContent>\n </Card>\n );\n}\n\nexport function renderTable(props: any): JSX.Element {\n const { gjsModel, performInteraction = () => {}, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [attributes, setAttributes] = useState({ interactionApiInProgress: false });\n\n const {\n data = [],\n headerMapper = {},\n className,\n isEditable = false,\n title = 'Title',\n subTitle = 'Subtitle',\n actions = [],\n pagination,\n } = allData;\n\n const sortConfig = (() => {\n const { sortColumn, sortDirection } = gjsModel.get('componentProps') ?? {};\n\n return sortColumn && sortDirection ? { [sortColumn]: sortDirection } : {};\n })();\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const parsedData = data.map((datum: any) => {\n const newData = {\n ...datum,\n };\n\n delete newData.id;\n\n return newData;\n });\n\n async function onRowAction(rowIndex: number, actionId: string) {\n const id = gjsModel.get('id');\n\n await performInteraction({\n id: actionId,\n interactionType: 'tableButton',\n payload: {\n row: data[rowIndex],\n tableId: id,\n },\n affectedComponents: [],\n });\n }\n\n async function onPageChange(pageNumber: number, pageSize: number) {\n const id = gjsModel.get('id');\n const { sortColumn, sortDirection } = gjsModel.get('componentProps') ?? {};\n\n await performInteraction({\n id,\n interactionType: 'pagination',\n payload: {\n pageNumber,\n pageSize,\n ...(sortColumn && sortDirection && { sortColumn, sortDirection }),\n },\n affectedComponents: getAffectedComponentsWithLoader([id], true),\n });\n }\n\n async function handleSort(column: string, direction: SortDirection) {\n const currentProps = gjsModel.get('componentProps');\n const id = gjsModel.get('id');\n\n gjsModel.set('componentProps', {\n ...currentProps,\n sortColumn: direction ? column : null,\n sortDirection: direction,\n });\n\n await performInteraction({\n id,\n interactionType: 'tableSort',\n payload: {\n sortColumn: direction ? column : null,\n sortDirection: direction,\n tableId: id,\n },\n affectedComponents: getAffectedComponentsWithLoader([id], true),\n });\n }\n\n return (\n <Card \n ref={cardRef}\n className=\"shadow border\"\n data-component-type=\"table\"\n >\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-2xl\">\n {title}\n </CardTitle>\n <CardDescription data-slot=\"subTitle\" contentEditable={isEditable} className=\"text-sm\">\n {subTitle}\n </CardDescription>\n </CardHeader>\n <CardContent data-slot=\"bodyContent\" contentEditable={false}>\n <DataTable\n data={parsedData}\n headerMapper={headerMapper}\n className={className}\n isEditable={isEditable}\n actions={actions}\n pagination={pagination}\n isLoading={attributes.interactionApiInProgress}\n onRowAction={onRowAction}\n onPageChange={onPageChange}\n onSort={handleSort}\n sortConfig={sortConfig}\n otherProps={rest}\n />\n </CardContent>\n </Card>\n );\n}\n\nexport function renderTab(props: any): JSX.Element {\n let tabsWidth = 200;\n\n if (props.tabs.length > 4) {\n tabsWidth = 150;\n }\n\n return (\n <Tabs defaultValue={props.defaultValue}>\n <div className=\"text-center mb-4\">\n <TabsList className=\"bg-gray-300\">\n {props.tabs.map((tab: string) => (\n <TabsTrigger value={tab} key={tab} className={`text-md w-[${tabsWidth}px]`}>\n {tab}\n </TabsTrigger>\n ))}\n </TabsList>\n </div>\n {props.tabs.map((tab: string) => (\n <TabsContent value={tab} className=\"tabs-content\" key={tab} />\n ))}\n </Tabs>\n );\n}\n\nexport function renderMarkdown(props: any): JSX.Element {\n const { gjsModel, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const [, setAttributes] = useState({\n interactionApiInProgress: false,\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const [isEditing, setIsEditing] = useState(false);\n const editRef = useRef<HTMLDivElement>(null);\n\n const startEditing = () => {\n setIsEditing(true);\n setTimeout(() => {\n setupEditor();\n }, 0);\n };\n\n const setupEditor = () => {\n if (!editRef.current) {\n return;\n }\n\n const editor = editRef.current;\n editor.innerHTML = '';\n editor.textContent = allData.summaryText;\n editor.focus();\n };\n\n // Save changes and exit editing mode\n const saveChanges = () => {\n if (!editRef.current) {\n return;\n }\n\n const content = editRef.current.innerText || '';\n setAllData((prev: Record<string, any>) => ({\n ...prev,\n summaryText: content,\n }));\n setIsEditing(false);\n editRef.current.innerHTML = '';\n };\n\n const markdownStyles = {\n ul: { props: { className: 'list-disc' } },\n h1: { props: { className: 'text-4xl font-bold leading-[4rem]' } },\n h2: { props: { className: 'text-3xl font-bold leading-[3rem]' } },\n h3: { props: { className: 'text-2xl font-bold leading-[2rem]' } },\n h4: { props: { className: 'text-xl font-bold leading-[2.5rem]' } },\n h5: { props: { className: 'text-lg font-bold leading-[2.5rem]' } },\n h6: { props: { className: 'text-base font-bold leading-[2rem]' } },\n };\n\n if (!allData.isEditable) {\n return (\n <div className=\"px-[1em]\" {...rest}>\n <h3 className=\"text-lg font-semibold mb-3\">Insights</h3>\n <div data-slot=\"summaryText\">\n <Markdown options={{ overrides: markdownStyles }}>{allData.summaryText}</Markdown>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"p-[1em]\" {...rest}>\n <h3 className=\"text-lg font-semibold mb-3\">Insights</h3>\n {isEditing ? (\n <div\n ref={editRef}\n contentEditable\n onBlur={saveChanges}\n data-slot=\"summaryText\"\n className=\"p-2 min-h-[100px] whitespace-pre-wrap\"\n suppressContentEditableWarning={true}\n style={{\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n />\n ) : (\n <div\n onClick={startEditing}\n data-slot=\"summaryText\"\n style={{\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n >\n <Markdown options={{ overrides: markdownStyles }}>{allData.summaryText}</Markdown>\n </div>\n )}\n </div>\n );\n}\n\nexport function renderButton(props: any): JSX.Element {\n const { isEditable = false, gjsModel, performInteraction = () => {} } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const [attributes, setAttributes] = useState({\n interactionApiInProgress: false,\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const {\n text,\n className,\n payload,\n variant = 'default',\n size = 'sm',\n affectedComponents,\n tooltipContent,\n } = allData;\n\n function interact() {\n const id = gjsModel.get('id');\n performInteraction({\n id,\n interactionType: 'button',\n affectedComponents: getAffectedComponentsWithLoader([id, ...affectedComponents], true),\n payload,\n });\n }\n\n return (\n <TooltipButton\n className={className}\n isEditable={isEditable}\n interact={interact}\n attributes={attributes}\n variant={variant}\n size={size}\n text={text}\n tooltipContent={tooltipContent}\n />\n );\n}\n\nexport function getRenderers(): Record<string, (props: any) => JSX.Element> {\n return {\n ActionCard: renderActionCard,\n Button: renderButton,\n Card: renderCard,\n Chart: renderChart,\n Filter: renderFilter,\n Markdown: renderMarkdown,\n Search: renderSearch,\n Table: renderTable,\n Tabs: renderTab,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"render-components.js","names":["chroma","React","useEffect","useState","useRef","renderNoDataFallback","CircleAlert","TrendingDown","TrendingUp","ShoppingCart","ChartBarBig","Tag","MapPin","StyledInfoButton","filterPlaceholders","theme","Markdown","Bar","BarChart","CartesianGrid","Legend","Line","LineChart","Pie","PieChart","ResponsiveContainer","XAxis","YAxis","domutil","TooltipButton","Card","CardContent","CardDescription","CardFooter","CardHeader","CardTitle","ChartContainer","ChartTooltip","ChartTooltipContent","renderFilter","ScrollArea","ScrollBar","renderSearch","CardLoader","ChartLoader","MarkdownLoader","Tabs","TabsContent","TabsList","TabsTrigger","cn","getAffectedComponentsWithLoader","DataTable","ComponentWrapper","jsx","_jsx","jsxs","_jsxs","getOffset","el","html","ownerDocument","documentElement","box","top","left","getBoundingClientRect","iframe","document","querySelector","iframeWindow","contentWindow","pageYOffset","clientTop","pageXOffset","clientLeft","baseColors","colors","Blue_100","Blue_30","Purpley_100","Purpley_30","Light_Bluish_Green","Wild_Strawberry","iconMap","getIconFromString","iconString","lowerIconString","toLowerCase","matchingKey","Object","keys","find","key","getNColors","n","safeBaseColors","Array","isArray","_iterator","_createForOfIteratorHelperLoose","_step","done","baseColor","value","push","scale","mode","getOneColor","existing","color","base","Math","floor","random","length","selectedColorIndex","includes","selectedColors","i","renderActionCard","props","_props$isEditable","isEditable","gjsModel","rest","_objectWithoutPropertiesLoose","_excluded","_useState","_extends","get","allData","setAllData","_allData$headerConten","headerContent","icon","_allData$bodyContent","bodyContent","_useState2","attributes","setAttributes","on","prevData","defaultClasses","className","style","backgroundColor","contentEditable","children","error","isMissing","renderCard","_props$isEditable2","_props$performInterac","performInteraction","Promise","resolve","_excluded2","_useState3","headerDescription","footerContent","footerClass","footerIcon","contentMetadata","contentMetadataClass","safeHeaderContent","JSON","stringify","safeHeaderDescription","safeBodyContent","safeFooterContent","safeContentMetadata","_useState4","defaultFooterClasses","defaultContentMetadataClasses","mergedCardClassName","mergedFooterClassName","mergedContentMetadataClassName","getCardContent","hasError","hasMissing","isLoading","interactionApiInProgress","loading","Fragment","componentId","position","isVisible","renderChartComponent","chartType","data","config","safeData","cursor","content","hideLabel","dataKey","nameKey","innerRadius","strokeWidth","label","_ref","name","percent","toFixed","undefined","labelLine","dataKeys","barDataKeys","chartUi","vertical","xAxis","align","wrapperStyle","marginLeft","map","_ref2","fill","radius","indicator","safeDataKeysLine","_ref3","type","stroke","_ref4","renderChart","_props$isEditable3","_props$performInterac2","_excluded3","_useState5","_useState6","containerRef","_useState7","containerWidth","setContainerWidth","handlePropsChange","newProps","off","handleAttributesChange","newAttributes","updateContainerWidth","current","offsetWidth","window","addEventListener","removeEventListener","_allData$config","_allData$chartType","_allData$chartData","chartData","_allData$title","title","_allData$subTitle","subTitle","mergedClasses","safeChartData","width","totalDataPoints","getResponsiveConfig","safeDataKeys","max","barCategoryGap","minWidth","height","orientation","ref","renderTable","_props$isEditable4","_props$performInterac3","_excluded4","_useState8","cardRef","_useState9","rawData","_allData$headerMapper","headerMapper","rawHeaderMapper","_allData$title2","_allData$subTitle2","_allData$actions","actions","pagination","cleaned","id","fromEntries","entries","filter","_ref5","sortConfig","_gjsModel$get","_ref7","_ref6","sortColumn","sortDirection","_useState10","viewportWidth","setViewportWidth","_useState11","scrollAreaHeight","setScrollAreaHeight","calculateTableHeight","tableWidth","rowCount","_gjsModel$collection","widthRatio","baseTableHeight","targetScrollAreaHeight","headerHeight","rowHeight","calculatedHeight","min","tableId","editor","em","collection","canvasDocument","Canvas","getDocument","tableElement","headerElement","offsetHeight","actualHeaderHeight","standardHeaderHeight","heightDifference","updateViewportWidth","iframeDocument","dashboardRoot","getElementById","effectiveViewportWidth","clientWidth","updateTableWidthAndApplyCSS","_gjsModel$collection2","parent","tableActualWidth","timeoutId","setTimeout","clearTimeout","parsedData","datum","newData","onRowAction","_x","_x2","_onRowAction","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","rowIndex","actionId","wrap","_callee$","_context","prev","next","interactionType","payload","row","affectedComponents","stop","onPageChange","_x3","_x4","_onPageChange","_callee2","pageNumber","pageSize","_gjsModel$get2","_ref8","_callee2$","_context2","handleSort","_x5","_x6","_handleSort","_callee3","column","direction","currentProps","_callee3$","_context3","set","onSort","otherProps","tableActions","firstRowData","renderTab","tabsWidth","safeTabs","tabs","showFallback","defaultValue","tab","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","disabled","renderMarkdown","_props$isEditable5","_excluded5","_useState12","_useState13","_useState14","isEditing","setIsEditing","editRef","startEditing","setupEditor","innerHTML","textContent","summaryText","focus","saveChanges","innerText","markdownStyles","ul","h1","h2","h3","h4","h5","h6","minHeight","options","overrides","onBlur","suppressContentEditableWarning","whiteSpace","wordWrap","onClick","renderButton","_props$isEditable6","_props$performInterac4","_useState15","_useState16","text","_allData$variant","variant","_allData$size","size","tooltipContent","interact","concat","renderActionCardWithWrapper","componentProps","componentType","renderButtonWithWrapper","renderCardWithWrapper","renderChartWithWrapper","renderFilterWithWrapper","renderMarkdownWithWrapper","renderSearchWithWrapper","renderTableWithWrapper","renderTabWithWrapper","getRenderers","ActionCard","Button","Chart","Filter","Search","Table"],"sources":["../../../src/plugins/helpers/render-components.tsx"],"sourcesContent":["/* eslint-disable no-nested-ternary */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable func-style */\n/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable func-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport chroma from 'chroma-js';\nimport React, { useEffect, useState, JSX, useRef } from 'react';\nimport { renderNoDataFallback } from './extra'\nimport { CircleAlert, TrendingDown, TrendingUp, ShoppingCart, ChartBarBig, Tag,MapPin } from 'lucide-react';\nimport { StyledInfoButton } from './styled-info-button';\nimport {filterPlaceholders} from \"../../helpers/filter-placeholder\";\n\nimport {theme} from '@peak-ai/ais-components/theme';\n\nimport Markdown from 'markdown-to-jsx';\n\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n Line,\n LineChart,\n Pie,\n PieChart,\n ResponsiveContainer,\n XAxis,\n YAxis,\n} from 'recharts/lib';\n\n// @ts-ignore\nimport * as domutil from 'recharts/lib/util/DOMUtils';\n\nimport {TooltipButton} from '../../shadcn/components/ui/button';\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from '../../shadcn/components/ui/card';\nimport {ChartContainer, ChartTooltip, ChartTooltipContent,} from '../../shadcn/components/ui/chart';\nimport {renderFilter} from '../../shadcn/components/ui/filter';\nimport {ScrollArea, ScrollBar} from '../../shadcn/components/ui/scroll-area';\nimport {renderSearch} from '../../shadcn/components/ui/search';\nimport {CardLoader, ChartLoader, MarkdownLoader} from '../../shadcn/components/ui/skeleton';\nimport {SortDirection} from '../../shadcn/components/ui/table';\nimport {Tabs, TabsContent, TabsList, TabsTrigger} from '../../shadcn/components/ui/tabs';\n\nimport {cn} from '../../shadcn/utils';\nimport {getAffectedComponentsWithLoader} from '../../helpers';\nimport {DataTable} from './data-table';\nimport { ComponentWrapper } from '../../shadcn/components/ui/error-wrapper';\n\n// Monkey-patching the getOffset function to use iframe's window instead of global one\n// REMEMBER TO UDPATE THIS WHEN recharts IS UPGRADED\n// @ts-ignore\ndomutil.getOffset = (el: HTMLElement): {\n top: number;\n left: number;\n} => {\n const html = el.ownerDocument.documentElement;\n let box = { top: 0, left: 0 };\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n const iframe = document.querySelector('.gjs-frame');\n const iframeWindow = (iframe as any)?.contentWindow;\n\n return {\n top: box.top + iframeWindow.pageYOffset - html.clientTop,\n left: box.left + iframeWindow.pageXOffset - html.clientLeft,\n };\n};\n\n\nconst baseColors = [\n [theme.colors.Blue_100, theme.colors.Blue_30],\n [theme.colors.Purpley_100, theme.colors.Purpley_30],\n [theme.colors.Light_Bluish_Green, '#06601b'],\n [theme.colors.Wild_Strawberry, '#4d001c'],\n];\n\nconst iconMap: Record<string, JSX.Element> = {\n 'TrendingUp': <TrendingUp />,\n 'TrendingDown': <TrendingDown />,\n 'ShoppingCart': <ShoppingCart />,\n 'Equalizer': <ChartBarBig />,\n 'Style': <Tag />,\n 'Place': <MapPin />\n};\n\nfunction getIconFromString(iconString: string): JSX.Element | null {\n if (!iconString){\n return null;\n }\n\n if (iconMap[iconString]) {\n return iconMap[iconString];\n }\n\n const lowerIconString = iconString.toLowerCase();\n const matchingKey = Object.keys(iconMap).find(key => key.toLowerCase() === lowerIconString);\n\n if (matchingKey) {\n return iconMap[matchingKey];\n }\n\n return null;\n}\n\nfunction getNColors(n: number) {\n const colors: Array<string[]> = [];\n const safeBaseColors = Array.isArray(baseColors) ? baseColors : [];\n\n for (const baseColor of safeBaseColors) {\n // eslint-disable-next-line import/no-named-as-default-member\n colors.push(chroma.scale(baseColor).mode('lab').colors(n));\n }\n\n function getOneColor(existing: Array<string>) {\n let color: null | string = null;\n\n do {\n const base = colors[Math.floor(Math.random() * colors.length)];\n const selectedColorIndex = Math.floor(Math.random() * base.length);\n color = base[selectedColorIndex];\n } while (existing.includes(color));\n\n return color as string;\n }\n\n const selectedColors: Array<string> = [];\n\n for (let i = 0; i < n; i++) {\n selectedColors.push(getOneColor(selectedColors));\n }\n\n return selectedColors;\n}\n\n/* TODO: Loader remains */\nexport function renderActionCard(props: any): JSX.Element {\n const { isEditable = false, gjsModel, ...rest } = props;\n\n\n const [allData, setAllData] = useState({\n ...filterPlaceholders(gjsModel.get('componentProps')),\n ...filterPlaceholders(props),\n });\n\n const {\n headerContent = 'Default action card title',\n icon,\n bodyContent = 'Default body content. Click to edit.',\n } = allData;\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData((prevData: any) => ({\n ...prevData,\n ...gjsModel.get('componentProps'),\n }));\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const defaultClasses = 'text-black p-4 rounded-lg shadow border flex flex-col h-full';\n\n return (\n <Card\n className={`${defaultClasses} relative`}\n style={{ backgroundColor: '#f9f9fe' }}\n isEditable={false}\n contentEditable={false}\n {...rest}\n >\n <CardContent className=\"p-0\" isEditable={false} contentEditable={false}>\n <div className=\"px-4 py-3\">\n <div className=\"flex items-start flex-col\">\n <div className=\"flex items-center justify-between w-full\">\n <div className=\"text-xl font-semibold\">{headerContent}</div>\n <div className=\"text-5xl ml-2 flex items-center\" aria-hidden=\"true\">\n {getIconFromString(icon)}\n </div>\n </div>\n <div className=\"w-full mt-1\">\n {attributes.error || allData.error || attributes.isMissing || allData.isMissing || !bodyContent ? (\n <span className=\"flex flex-row items-center px-3 py-2\">\n <CircleAlert className=\"w-3 h-3 text-gray-400 mr-1\" />\n <p className=\"text-sm text-gray-500 max-w-md text-center\">\n No data available for given filters\n </p>\n </span>\n ) : (\n <div className=\"text-base leading-relaxed\">{bodyContent}</div>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCard(props: any): JSX.Element {\n const { isEditable = false, gjsModel, performInteraction = () => Promise.resolve({}), ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...filterPlaceholders(gjsModel.get('componentProps')),\n ...filterPlaceholders(props),\n });\n\n const {\n headerContent,\n headerDescription,\n bodyContent,\n footerContent,\n footerClass,\n footerIcon,\n contentMetadata,\n contentMetadataClass,\n className,\n } = allData;\n\n\n const safeHeaderContent = typeof headerContent === 'string' ? headerContent : (headerContent ? JSON.stringify(headerContent) : '');\n const safeHeaderDescription = typeof headerDescription === 'string' ? headerDescription : (headerDescription ? JSON.stringify(headerDescription) : '');\n const safeBodyContent = typeof bodyContent === 'string' ? bodyContent : (bodyContent ? JSON.stringify(bodyContent) : '');\n const safeFooterContent = typeof footerContent === 'string' ? footerContent : (footerContent ? JSON.stringify(footerContent) : '');\n const safeContentMetadata = typeof contentMetadata === 'string' ? contentMetadata : (contentMetadata ? JSON.stringify(contentMetadata) : '');\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData((prevData: any) => ({\n ...prevData,\n ...gjsModel.get('componentProps'),\n }));\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const defaultClasses = 'bg-white text-black p-4 rounded-lg border flex flex-col h-full shadow-none';\n const defaultFooterClasses = footerContent ? 'text-sm bg-pink-50 text-pink-900 shadow-sm' : 'text-sm';\n const defaultContentMetadataClasses = 'text-xs';\n const mergedCardClassName = className ? cn(defaultClasses, className) : defaultClasses;\n const mergedFooterClassName = footerClass\n ? cn(defaultFooterClasses, footerClass)\n : defaultFooterClasses;\n const mergedContentMetadataClassName = contentMetadataClass\n ? cn(defaultContentMetadataClasses, contentMetadataClass)\n : defaultContentMetadataClasses;\n\n function getCardContent() {\n const hasError = attributes.error || allData.error;\n const hasMissing = attributes.isMissing || allData.isMissing;\n const isLoading = (attributes.interactionApiInProgress || attributes.loading) && !hasError && !hasMissing;\n\n if (isLoading) {\n return (\n <CardContent>\n <CardLoader />\n </CardContent>\n );\n }\n\n\n return (\n <React.Fragment>\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div className=\"flex-1\">\n <CardTitle data-slot=\"headerContent\" contentEditable={isEditable} className=\"text-lg\">\n {safeHeaderContent}\n </CardTitle>\n <CardDescription\n data-slot=\"headerDescription\"\n contentEditable={isEditable}\n className=\"text-sm\"\n >\n {safeHeaderDescription}\n </CardDescription>\n </div>\n </div>\n </CardHeader>\n\n {hasError || hasMissing || !safeBodyContent ? (\n <span className=\"flex flex-row items-center px-3 py-2\">\n <CircleAlert className=\"w-3 h-3 text-gray-400 mr-1\" />\n <p className=\"text-sm text-gray-500 max-w-md text-center\">\n No data available for given filters\n </p>\n </span>\n ) : (\n <CardContent data-slot=\"bodyContent\" contentEditable={false} className=\"flex-grow\">\n <div className=\"text-3xl font-semibold truncate\">{bodyContent}</div>\n {safeContentMetadata && (\n <div className={mergedContentMetadataClassName} style={{ color: '#2A44D4' }}>\n {safeContentMetadata}\n </div>\n )}\n </CardContent>\n )}\n\n <CardFooter\n data-slot=\"footerContent\"\n contentEditable={isEditable}\n className={cn(mergedFooterClassName)}\n >\n {footerIcon && typeof footerIcon === 'string' && (\n <span className=\"mr-2\" aria-hidden=\"true\">\n {footerIcon}\n </span>\n )}\n {safeFooterContent || ''}\n </CardFooter>\n </React.Fragment>\n );\n }\n\n return (\n <Card {...rest} className={`${mergedCardClassName} relative`}>\n {getCardContent()}\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={performInteraction}\n position=\"top-right\"\n isVisible={isEditable}\n />\n </Card>\n );\n}\n\nfunction renderChartComponent(chartType: string, data: any, config: any): JSX.Element {\n const safeData = Array.isArray(data) ? data : [];\n\n if (safeData.length === 0) {\n return renderNoDataFallback();\n }\n\n switch (chartType) {\n case 'pie':\n return (\n <PieChart>\n {safeData.length >= 20 && (\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n )}\n <Pie\n data={safeData}\n dataKey={config.dataKey}\n nameKey={config.nameKey}\n innerRadius={60}\n strokeWidth={10}\n label={\n safeData.length < 20\n ? ({ name, percent }: { name: string; percent: number; }) => `${name}: ${(percent * 100).toFixed(0)}%`\n : undefined\n }\n labelLine={false}\n />\n </PieChart>\n );\n\n case 'bar': {\n config.dataKeys = config.dataKeys || [];\n\n const barDataKeys = Array.isArray(config.dataKeys) ? config.dataKeys : [];\n\n return (\n <BarChart data={safeData} {...config.chartUi}>\n <CartesianGrid vertical={false}/>\n <XAxis dataKey={config.xAxis}/>\n <YAxis/>\n <Legend align=\"left\" wrapperStyle={{marginLeft: 20}}/>\n {barDataKeys.map(\n ({key, name, color}: { key: string; name: string; color: string }) => {\n return (\n <Bar dataKey={key} fill={color ?? '#4caf50'} name={name} key={key} radius={2}/>\n );\n },\n )}\n <ChartTooltip cursor={false} content={<ChartTooltipContent indicator=\"dashed\"/>}/>\n </BarChart>\n );\n }\n\n case 'line': {\n config.dataKeys = config.dataKeys || [];\n const safeDataKeysLine = Array.isArray(config.dataKeys) ? config.dataKeys : [];\n\n return (\n <LineChart data={safeData} {...config.chartUi}>\n <CartesianGrid vertical={false}/>\n <XAxis dataKey={config.xAxis}/>\n <YAxis/>\n <ChartTooltip cursor={false} content={<ChartTooltipContent indicator=\"dashed\"/>}/>\n {safeDataKeysLine.map(\n ({key, name, color}: { key: string; name: string; color: string }) => {\n return (\n <Line\n type=\"monotone\"\n dataKey={key}\n stroke={color ?? '#4caf50'}\n name={name}\n key={key}\n />\n );\n },\n )}\n <Legend align=\"left\"/>\n </LineChart>\n );\n }\n\n default:\n return (\n <PieChart>\n {safeData.length >= 20 && (\n <ChartTooltip cursor={false} content={<ChartTooltipContent hideLabel />} />\n )}\n <Pie\n data={safeData}\n dataKey={config.dataKey}\n nameKey={config.nameKey}\n innerRadius={60}\n strokeWidth={10}\n label={\n safeData.length < 20\n ? ({ name, percent }: { name: string; percent: number; }) => `${name}: ${(percent * 100).toFixed(0)}%`\n : undefined\n }\n labelLine={false}\n />\n </PieChart>\n );\n }\n}\n\nexport function renderChart(props: any): JSX.Element {\n const { isEditable = false, gjsModel, performInteraction = () => Promise.resolve({}), ...rest } = props;\n\n\n const [allData, setAllData] = useState({\n ...filterPlaceholders(gjsModel.get('componentProps')),\n ...filterPlaceholders(props),\n });\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n const containerRef = useRef<HTMLDivElement>(null);\n const [containerWidth, setContainerWidth] = useState<number>(0);\n\n useEffect(() => {\n const handlePropsChange = () => {\n const newProps = gjsModel.get('componentProps');\n setAllData((prevData: any) => ({\n ...prevData, // Preserve existing data (including __sql_query_params)\n ...newProps, // Merge in new componentProps\n }));\n };\n\n gjsModel.on('change:componentProps', handlePropsChange);\n\n return () => {\n gjsModel.off('change:componentProps', handlePropsChange);\n };\n }, [gjsModel]);\n\n useEffect(() => {\n const handleAttributesChange = () => {\n const newAttributes = gjsModel.get('attributes');\n setAttributes({\n ...newAttributes,\n });\n };\n\n\n gjsModel.on('change:attributes', handleAttributesChange);\n\n return () => {\n gjsModel.off('change:attributes', handleAttributesChange);\n };\n }, [gjsModel]);\n\n useEffect(() => {\n const updateContainerWidth = () => {\n if (containerRef.current) {\n setContainerWidth(containerRef.current.offsetWidth);\n }\n };\n\n updateContainerWidth();\n window.addEventListener('resize', updateContainerWidth);\n\n return () => window.removeEventListener('resize', updateContainerWidth);\n }, []);\n\n const {\n config = {},\n chartType = 'pie',\n chartData = [],\n className,\n title = 'Title',\n subTitle = 'Subtitle',\n } = allData;\n\n const defaultClasses = 'aspect-auto h-[250px] w-full';\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n if (chartType === 'pie') {\n const safeChartData = Array.isArray(chartData) ? chartData : [];\n const colors = getNColors(safeChartData.length);\n\n for (let i = 0; i < safeChartData.length; i++) {\n const data = safeChartData[i];\n\n if (!data.fill) {\n data.fill = colors[i];\n }\n }\n } else if (!config.color) {\n const safeBaseColors = Array.isArray(baseColors) ? baseColors : [];\n\n if (safeBaseColors.length > 0) {\n config.color = safeBaseColors[Math.floor(Math.random() * safeBaseColors.length)];\n }\n }\n\n let width: number | undefined = undefined;\n let totalDataPoints = 0;\n\n // Helper function to get responsive config\n const getResponsiveConfig = () => {\n if (\n chartType === 'bar' &&\n totalDataPoints > 15 &&\n containerWidth > 0 &&\n width &&\n width <= containerWidth\n ) {\n // If chart fits in container, use responsive behavior\n return { ...config, chartUi: {} };\n }\n\n return config;\n };\n\n if (chartType === 'bar') {\n config.dataKeys = config.dataKeys || [];\n const safeChartData = Array.isArray(chartData) ? chartData : [];\n const safeDataKeys = Array.isArray(config.dataKeys) ? config.dataKeys : [];\n\n totalDataPoints = safeChartData.length * Math.max(1, safeDataKeys.length);\n\n if (totalDataPoints > 15) {\n width =\n totalDataPoints * 20 +\n safeDataKeys.length * 8 * safeChartData.length +\n safeChartData.length * 15;\n config.chartUi = {\n barCategoryGap: '10%',\n width,\n };\n } else {\n config.chartUi = {};\n }\n } else if (chartType === 'line') {\n config.dataKeys = config.dataKeys || [];\n const safeChartData = Array.isArray(chartData) ? chartData : [];\n totalDataPoints = safeChartData.length;\n\n if (totalDataPoints > 15) {\n width = Math.max(800, totalDataPoints * 20);\n config.chartUi = {\n width,\n };\n } else {\n config.chartUi = {};\n }\n }\n\n const hasError = attributes.error || allData.error;\n const hasMissing = attributes.isMissing || allData.isMissing;\n const isLoading = (attributes.interactionApiInProgress || attributes.loading) && !hasError && !hasMissing;\n\n\n const chartUi = isLoading ? (\n <ChartLoader />\n ) : (hasError || hasMissing || !chartData) ? (\n renderNoDataFallback()\n ) : (\n <React.Fragment>\n {(chartType === 'bar' || chartType === 'line') && totalDataPoints > 15 && width && (containerWidth === 0 || width > containerWidth) ? (\n <div className=\"w-full h-[250px]\">\n <ScrollArea className=\"w-full h-full\">\n <div style={{ minWidth: `${width}px`, width: 'max-content', height: '250px' }}>\n <ResponsiveContainer width={width} height={250}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </ResponsiveContainer>\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </div>\n ) : (\n <ResponsiveContainer width=\"100%\" height={250}>\n <ChartContainer {...rest} config={getResponsiveConfig()} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, getResponsiveConfig())}\n </ChartContainer>\n </ResponsiveContainer>\n )}\n </React.Fragment>\n );\n\n return (\n <Card className=\"shadow border mt-2 mb-2 relative\">\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div className=\"flex-1\">\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-2xl\">\n {title}\n </CardTitle>\n <CardDescription data-slot=\"subTitle\" contentEditable={isEditable} className=\"text-sm\">\n {subTitle}\n </CardDescription>\n </div>\n </div>\n </CardHeader>\n <CardContent\n ref={containerRef}\n data-slot=\"bodyContent\"\n contentEditable={false}\n className=\"px-6\"\n >\n {chartUi}\n </CardContent>\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={performInteraction}\n position=\"top-right\"\n isVisible={isEditable}\n />\n </Card>\n );\n}\n\nexport function renderTable(props: any): JSX.Element {\n const { isEditable = false, gjsModel, performInteraction = () => {}, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...filterPlaceholders(gjsModel.get('componentProps')),\n ...filterPlaceholders(props),\n });\n\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n const {\n data: rawData,\n headerMapper: rawHeaderMapper = {},\n className,\n title = 'Title',\n subTitle = 'Subtitle',\n actions = [],\n pagination,\n } = allData;\n\n const data = Array.isArray(rawData) ? rawData : [];\n const headerMapper = (() => {\n const cleaned = { ...rawHeaderMapper };\n\n if ('id' in cleaned) {\n delete cleaned.id;\n }\n\n if (data.length > 0) {\n const dataKeys = Object.keys(data[0] || {});\n\n return Object.fromEntries(\n Object.entries(cleaned).filter(([key]) => dataKeys.includes(key))\n );\n }\n\n return cleaned;\n })();\n\n const sortConfig = (() => {\n const { sortColumn, sortDirection } = gjsModel.get('componentProps') ?? {};\n\n return sortColumn && sortDirection ? { [sortColumn]: sortDirection } : {};\n })();\n\n const [viewportWidth, setViewportWidth] = useState<number>(0);\n const [scrollAreaHeight, setScrollAreaHeight] = useState<number>(250);\n\n const calculateTableHeight = (tableWidth: number, rowCount: number) => {\n if (viewportWidth > 0) {\n const widthRatio = tableWidth / viewportWidth;\n const baseTableHeight = 250;\n let targetScrollAreaHeight = baseTableHeight;\n\n if (widthRatio >= 0.8) {\n const headerHeight = 48;\n const rowHeight = 40;\n const calculatedHeight = headerHeight + (rowCount * rowHeight);\n targetScrollAreaHeight = Math.min(calculatedHeight, baseTableHeight);\n }\n\n const tableId = gjsModel.get('id');\n const editor = gjsModel.em || gjsModel.collection?.em;\n const canvasDocument = editor.Canvas.getDocument() || document;\n const tableElement = canvasDocument.querySelector(`[data-table-id=\"${tableId}\"]`) as HTMLElement;\n\n if (tableElement) {\n const headerElement = tableElement.querySelector('[data-slot=\"card-header\"]') as HTMLElement;\n\n if (headerElement && headerElement.offsetHeight > 0) {\n const actualHeaderHeight = headerElement.offsetHeight;\n const standardHeaderHeight = 58;\n const heightDifference = actualHeaderHeight - standardHeaderHeight;\n\n if (heightDifference > 0) {\n targetScrollAreaHeight = targetScrollAreaHeight - heightDifference;\n }\n }\n }\n\n setScrollAreaHeight(targetScrollAreaHeight);\n }\n };\n\n useEffect(() => {\n const updateViewportWidth = () => {\n const iframe = document.querySelector('.gjs-frame');\n const iframeWindow = (iframe as any)?.contentWindow;\n const iframeDocument = iframeWindow?.document;\n\n if (iframeDocument) {\n const dashboardRoot = iframeDocument.getElementById('dashboard-root');\n const effectiveViewportWidth = dashboardRoot?.clientWidth || iframeDocument.documentElement.clientWidth;\n setViewportWidth(effectiveViewportWidth);\n }\n };\n\n updateViewportWidth();\n window.addEventListener('resize', updateViewportWidth);\n\n const iframe = document.querySelector('.gjs-frame');\n const iframeWindow = (iframe as any)?.contentWindow;\n\n if (iframeWindow) {\n iframeWindow.addEventListener('resize', updateViewportWidth);\n }\n\n return () => {\n window.removeEventListener('resize', updateViewportWidth);\n\n if (iframeWindow) {\n iframeWindow.removeEventListener('resize', updateViewportWidth);\n }\n };\n }, []);\n\n useEffect(() => {\n const updateTableWidthAndApplyCSS = () => {\n const tableId = gjsModel.get('id');\n const editor = gjsModel.em || gjsModel.collection?.em;\n const canvasDocument = editor.Canvas.getDocument() || document;\n\n let tableElement = canvasDocument.querySelector(`[data-table-id=\"${tableId}\"]`) as HTMLElement;\n\n if (!tableElement && window.parent !== window) {\n tableElement = window.parent.document.querySelector(`[data-table-id=\"${tableId}\"]`) as HTMLElement;\n }\n\n if (!tableElement) {\n return;\n }\n\n const tableActualWidth = tableElement.getBoundingClientRect().width;\n\n if (tableActualWidth > 0) {\n calculateTableHeight(tableActualWidth, Array.isArray(data) ? data.length : 0);\n }\n };\n\n const timeoutId = setTimeout(updateTableWidthAndApplyCSS, 150);\n window.addEventListener('resize', updateTableWidthAndApplyCSS);\n\n return () => {\n clearTimeout(timeoutId);\n window.removeEventListener('resize', updateTableWidthAndApplyCSS);\n };\n }, [allData, gjsModel, viewportWidth, data, calculateTableHeight]);\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData((prevData: any) => ({\n ...prevData, // Preserve existing data (including __sql_query_params)\n ...gjsModel.get('componentProps'), // Merge in new componentProps\n }));\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const parsedData = (() => {\n if (typeof data === 'object' && data !== null && !Array.isArray(data) && (data as any).name === '__peak_placeholder') {\n return [];\n }\n\n if (!Array.isArray(data)) {\n return [];\n }\n\n return data.map((datum: any) => {\n const newData = {\n ...datum,\n };\n\n delete newData.id;\n\n return newData;\n });\n })();\n\n async function onRowAction(rowIndex: number, actionId: string) {\n const id = gjsModel.get('id');\n\n await performInteraction({\n id: actionId,\n interactionType: 'tableButton',\n payload: {\n row: data[rowIndex],\n tableId: id,\n },\n affectedComponents: [],\n });\n }\n\n async function onPageChange(pageNumber: number, pageSize: number) {\n const id = gjsModel.get('id');\n const { sortColumn, sortDirection } = gjsModel.get('componentProps') ?? {};\n\n await performInteraction({\n id,\n interactionType: 'pagination',\n payload: {\n pageNumber,\n pageSize,\n ...(sortColumn && sortDirection && { sortColumn, sortDirection }),\n },\n affectedComponents: getAffectedComponentsWithLoader([id], true),\n });\n }\n\n async function handleSort(column: string, direction: SortDirection) {\n const currentProps = gjsModel.get('componentProps');\n const id = gjsModel.get('id');\n\n gjsModel.set('componentProps', {\n ...currentProps,\n sortColumn: direction ? column : null,\n sortDirection: direction,\n });\n\n await performInteraction({\n id,\n interactionType: 'tableSort',\n payload: {\n sortColumn: direction ? column : null,\n sortDirection: direction,\n tableId: id,\n },\n affectedComponents: getAffectedComponentsWithLoader([id], true),\n });\n }\n\n return (\n <Card\n ref={cardRef}\n className=\"shadow border relative flex flex-col h-fit overflow-hidden\"\n data-component-type=\"table\"\n data-table-id={gjsModel.get('id')}\n >\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div className=\"flex-1\">\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-2xl\">\n {title}\n </CardTitle>\n <CardDescription data-slot=\"subTitle\" contentEditable={isEditable} className=\"text-sm\">\n {subTitle}\n </CardDescription>\n </div>\n </div>\n </CardHeader>\n <CardContent data-slot=\"bodyContent\" contentEditable={false} className=\"flex-1 flex flex-col overflow-hidden\">\n {(attributes.error || allData.error || attributes.isMissing || allData.isMissing) ? (\n renderNoDataFallback()\n ) : (\n <DataTable\n data={parsedData}\n headerMapper={headerMapper}\n className={className}\n isEditable={isEditable}\n actions={actions}\n pagination={pagination}\n isLoading={attributes.interactionApiInProgress}\n onRowAction={onRowAction}\n onPageChange={onPageChange}\n onSort={handleSort}\n sortConfig={sortConfig}\n otherProps={rest}\n height={scrollAreaHeight}\n />\n )}\n </CardContent>\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={performInteraction}\n position=\"top-right\"\n tableActions={actions}\n firstRowData={Array.isArray(data) && data.length > 0 ? data[0] : {}}\n isVisible={isEditable}\n />\n </Card>\n );\n}\n\nexport function renderTab(props: any): JSX.Element {\n\n let tabsWidth = 157;\n const safeTabs = Array.isArray(props.tabs) ? props.tabs : [];\n const showFallback = safeTabs.length === 0;\n\n\n if (safeTabs.length > 4) {\n tabsWidth = 157;\n }\n\n const defaultValue = props.defaultValue || (safeTabs.length > 0 ? safeTabs[0] : undefined);\n\n return (\n <Tabs defaultValue={defaultValue}>\n <div className=\"text-center mb-4\">\n <TabsList className=\"bg-[#F9F9FE] border border-[#D4D5DE] p-1 rounded-lg h-auto\">\n {safeTabs.length > 0 ? (\n safeTabs.map((tab: string) => (\n <TabsTrigger\n value={tab}\n key={tab}\n className={`\n w-[${tabsWidth}px] h-[38px] gap-1 px-3 py-[11px]\n font-medium text-sm leading-4\n border-0 bg-[#F9F9FE] text-[#687387] rounded-none\n data-[state=active]:border data-[state=active]:border-solid data-[state=active]:border-[#2A44D4] data-[state=active]:bg-[#EAECFB] data-[state=active]:text-[#263DBF] data-[state=active]:shadow-none data-[state=active]:rounded-md\n transition-all duration-200\n `}\n style={{\n fontFamily: 'Helvetica Neue',\n fontWeight: 500,\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '0%'\n }}\n >\n {tab}\n </TabsTrigger>\n ))\n ) : (\n <TabsTrigger\n value=\"no-data\"\n className={`\n w-[${tabsWidth}px] h-[38px] gap-1 px-3 py-[11px]\n font-medium text-sm leading-4\n border-0 bg-[#F9F9FE] text-[#687387] rounded-none\n data-[state=active]:border data-[state=active]:border-solid data-[state=active]:border-[#2A44D4] data-[state=active]:bg-[#EAECFB] data-[state=active]:text-[#263DBF] data-[state=active]:shadow-none data-[state=active]:rounded-md\n transition-all duration-200\n `}\n style={{\n fontFamily: 'Helvetica Neue',\n fontWeight: 500,\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: '0%'\n }}\n disabled\n >\n No tabs\n </TabsTrigger>\n )}\n </TabsList>\n </div>\n {showFallback ? (\n <TabsContent value={defaultValue || 'no-data'} className=\"tabs-content\" data-fallback=\"true\">\n {renderNoDataFallback()}\n </TabsContent>\n ) : (\n safeTabs.map((tab: string) => (\n <TabsContent value={tab} className=\"tabs-content\" key={tab} />\n ))\n )}\n </Tabs>\n );\n}\n\nexport function renderMarkdown(props: any): JSX.Element {\n const { isEditable = false, gjsModel, ...rest } = props;\n\n const [allData, setAllData] = useState({\n ...filterPlaceholders(gjsModel.get('componentProps')),\n ...filterPlaceholders(props),\n });\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData((prevData: any) => ({\n ...prevData, // Preserve existing data (including __sql_query_params)\n ...gjsModel.get('componentProps'), // Merge in new componentProps\n }));\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const [isEditing, setIsEditing] = useState(false);\n const editRef = useRef<HTMLDivElement>(null);\n\n const startEditing = () => {\n setIsEditing(true);\n setTimeout(() => {\n setupEditor();\n }, 0);\n };\n\n const setupEditor = () => {\n if (!editRef.current) {\n return;\n }\n\n const editor = editRef.current;\n editor.innerHTML = '';\n editor.textContent = allData.summaryText;\n editor.focus();\n };\n\n // Save changes and exit editing mode\n const saveChanges = () => {\n if (!editRef.current) {\n return;\n }\n\n const content = editRef.current.innerText || '';\n setAllData((prev: Record<string, any>) => ({\n ...prev,\n summaryText: content,\n }));\n setIsEditing(false);\n editRef.current.innerHTML = '';\n };\n\n const markdownStyles = {\n ul: { props: { className: 'list-disc' } },\n h1: { props: { className: 'text-4xl font-bold leading-[4rem]' } },\n h2: { props: { className: 'text-3xl font-bold leading-[3rem]' } },\n h3: { props: { className: 'text-2xl font-bold leading-[2rem]' } },\n h4: { props: { className: 'text-xl font-bold leading-[2.5rem]' } },\n h5: { props: { className: 'text-lg font-bold leading-[2.5rem]' } },\n h6: { props: { className: 'text-base font-bold leading-[2rem]' } },\n };\n\n const hasError = attributes.error || allData.error;\n const hasMissing = attributes.isMissing || allData.isMissing;\n const isLoading = attributes.loading && !hasError && !hasMissing;\n\n if (isLoading) {\n return <MarkdownLoader />\n }\n\n if (hasError || hasMissing) {\n return (\n <div className=\"px-[1em] relative\" {...rest}>\n <h3 className=\"text-xl font-semibold text-left\">Insights</h3>\n <div className=\"w-full py-8 flex flex-col items-center justify-center px-6 text-center\" style={{ minHeight: '180px' }}>\n <CircleAlert className=\"w-12 h-12 text-gray-400 mb-2\" />\n <h3 className=\"text-lg font-medium text-gray-900\">No data available</h3>\n <p className=\"mt-2 text-sm text-gray-500 max-w-md\">\n Check your filters or try a different time range.\n </p>\n </div>\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={props.performInteraction}\n position=\"top-right\"\n isVisible={isEditable}\n />\n </div>\n );\n }\n\n if (!allData.isEditable) {\n return (\n <div className=\"px-[1em] relative\" {...rest}>\n <h3 className=\"text-xl font-semibold text-left\">Insights</h3>\n <div data-slot=\"summaryText\">\n <Markdown options={{ overrides: markdownStyles }}>{allData.summaryText}</Markdown>\n </div>\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={props.performInteraction}\n position=\"top-right\"\n isVisible={isEditable}\n />\n </div>\n );\n }\n\n return (\n <div className=\"p-[1em] relative\" {...rest}>\n <h3 className=\"text-xl font-semibold text-left\">Insights</h3>\n {isEditing ? (\n <div\n ref={editRef}\n contentEditable\n onBlur={saveChanges}\n data-slot=\"summaryText\"\n className=\"p-2 min-h-[100px] whitespace-pre-wrap\"\n suppressContentEditableWarning={true}\n style={{\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n />\n ) : (\n <div\n onClick={startEditing}\n data-slot=\"summaryText\"\n style={{\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n }}\n >\n <Markdown options={{ overrides: markdownStyles }}>{allData.summaryText}</Markdown>\n </div>\n )}\n <StyledInfoButton\n componentId={gjsModel.get('id')}\n performInteraction={props.performInteraction}\n position=\"top-right\"\n isVisible={isEditable}\n />\n </div>\n );\n}\n\nexport function renderButton(props: any): JSX.Element {\n const { isEditable = false, gjsModel, performInteraction = () => {} } = props;\n\n const [allData, setAllData] = useState({\n ...props,\n });\n\n const [attributes, setAttributes] = useState({\n ...gjsModel.get('attributes'),\n });\n\n useEffect(() => {\n gjsModel.on('change:componentProps', () => {\n setAllData({\n ...gjsModel.get('componentProps'),\n });\n });\n }, []);\n\n useEffect(() => {\n gjsModel.on('change:attributes', () => {\n setAttributes({\n ...gjsModel.get('attributes'),\n });\n });\n }, []);\n\n const {\n text,\n className,\n payload,\n variant = 'default',\n size = 'sm',\n affectedComponents,\n tooltipContent,\n } = allData;\n\n function interact() {\n const id = gjsModel.get('id');\n performInteraction({\n id,\n interactionType: 'button',\n affectedComponents: getAffectedComponentsWithLoader([id, ...affectedComponents], true),\n payload,\n });\n }\n\n return (\n <TooltipButton\n className={className}\n isEditable={isEditable}\n interact={interact}\n attributes={attributes}\n variant={variant}\n size={size}\n text={text}\n tooltipContent={tooltipContent}\n />\n );\n}\n\nconst renderActionCardWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'ActionCard' }}>\n {renderActionCard(props)}\n </ComponentWrapper>\n);\n\nconst renderButtonWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Button' }}>\n {renderButton(props)}\n </ComponentWrapper>\n);\n\nconst renderCardWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Card' }}>\n {renderCard(props)}\n </ComponentWrapper>\n);\n\nconst renderChartWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Chart' }}>\n {renderChart(props)}\n </ComponentWrapper>\n);\n\nconst renderFilterWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Filter' }}>\n {renderFilter(props)}\n </ComponentWrapper>\n);\n\nconst renderMarkdownWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Markdown' }}>\n {renderMarkdown(props)}\n </ComponentWrapper>\n);\n\nconst renderSearchWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Search' }}>\n {renderSearch(props)}\n </ComponentWrapper>\n);\n\nconst renderTableWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Table' }}>\n {renderTable(props)}\n </ComponentWrapper>\n);\n\nconst renderTabWithWrapper = (props: any) => (\n <ComponentWrapper componentProps={{ ...props, componentType: 'Tabs' }}>\n {renderTab(props)}\n </ComponentWrapper>\n);\n\n\nexport function getRenderers(): Record<string, (props: any) => JSX.Element> {\n return {\n ActionCard: renderActionCardWithWrapper,\n Button: renderButtonWithWrapper,\n Card: renderCardWithWrapper,\n Chart: renderChartWithWrapper,\n Filter: renderFilterWithWrapper,\n Markdown: renderMarkdownWithWrapper,\n Search: renderSearchWithWrapper,\n Table: renderTableWithWrapper,\n Tabs: renderTabWithWrapper,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type ButtonStyle = {
|
|
2
|
+
backgroundColor?: string;
|
|
3
|
+
color?: string;
|
|
4
|
+
border?: string;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
};
|
|
7
|
+
type TableAction = {
|
|
8
|
+
id: string;
|
|
9
|
+
text: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
type Position = 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right' | 'card-overlay';
|
|
14
|
+
type StyledInfoButtonProps = {
|
|
15
|
+
buttonStyle?: ButtonStyle;
|
|
16
|
+
onClick?: () => void;
|
|
17
|
+
isVisible?: boolean;
|
|
18
|
+
tableName?: string;
|
|
19
|
+
position?: Position;
|
|
20
|
+
componentId?: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
onSqlFetch?: (sql: string | string[]) => void;
|
|
23
|
+
performInteraction?: (payload: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
24
|
+
tableActions?: TableAction[];
|
|
25
|
+
firstRowData?: Record<string, unknown>;
|
|
26
|
+
};
|
|
27
|
+
export declare function StyledInfoButton({ position, componentId, className, isVisible, onSqlFetch, performInteraction, tableActions, firstRowData }: StyledInfoButtonProps): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _regeneratorRuntime from"@babel/runtime/regenerator";import React,{useState}from"react";import{QueryDetailsModal}from"./query-details-modal";import{QueryLoadingModal}from"./query-loading-modal";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";var POSITION_CLASSES={"top-right":"absolute top-0 right-0","top-left":"absolute top-2 left-2","bottom-left":"absolute bottom-0 left-1/2 transform -translate-x-1/2","bottom-right":"absolute bottom-0 right-0 ","card-overlay":"absolute bottom-0 right-0"};var ERROR_MESSAGES={FETCH_FAILED:"Failed to fetch query details from semantic layer",LOAD_FAILED:"Failed to load query information",SQL_NOT_AVAILABLE:"SQL not available"};export function StyledInfoButton(_ref){var _ref$position=_ref.position,position=_ref$position===void 0?"bottom-right":_ref$position,componentId=_ref.componentId,_ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,_ref$isVisible=_ref.isVisible,isVisible=_ref$isVisible===void 0?true:_ref$isVisible,onSqlFetch=_ref.onSqlFetch,_ref$performInteracti=_ref.performInteraction,performInteraction=_ref$performInteracti===void 0?function(){return Promise.resolve({})}:_ref$performInteracti,_ref$tableActions=_ref.tableActions,tableActions=_ref$tableActions===void 0?[]:_ref$tableActions,_ref$firstRowData=_ref.firstRowData,firstRowData=_ref$firstRowData===void 0?{}:_ref$firstRowData;var _useState=useState(false),isModalOpen=_useState[0],setIsModalOpen=_useState[1];var _useState2=useState(false),isLoadingModalOpen=_useState2[0],setIsLoadingModalOpen=_useState2[1];var _useState3=useState(""),sqlQuery=_useState3[0],setSqlQuery=_useState3[1];var _useState4=useState([]),tableButtonExplanations=_useState4[0],setTableButtonExplanations=_useState4[1];var _useState5=useState(false),isLoading=_useState5[0],setIsLoading=_useState5[1];var _useState6=useState(""),error=_useState6[0],setError=_useState6[1];function fetchTableButtonExplanations(){return _fetchTableButtonExplanations.apply(this,arguments)}function _fetchTableButtonExplanations(){_fetchTableButtonExplanations=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(){var buttonPromises,results;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;if(!(!tableActions||tableActions.length===0)){_context2.next=3;break}return _context2.abrupt("return",[]);case 3:buttonPromises=tableActions.map(/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(action){var result,response,buttonStyle,actionClassName,bgMatch,textMatch,borderMatch;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;_context.next=3;return performInteraction({id:action.id||componentId,interactionType:"tableButton",payload:{row:firstRowData,params:{isInfoButtonInteraction:true}},affectedComponents:[]});case 3:result=_context.sent;if(!(result&&typeof result==="object"&&"apiResponse"in result&&result.apiResponse&&typeof result.apiResponse==="object")){_context.next=11;break}response=result.apiResponse;if(!(response.request_url&&typeof response.request_url==="string")){_context.next=11;break}buttonStyle={};actionClassName=action.className||"";if(typeof actionClassName==="string"){bgMatch=actionClassName.match(/bg-\[(#[0-9A-Fa-f]{6})\]/);if(bgMatch){buttonStyle.backgroundColor=bgMatch[1]}textMatch=actionClassName.match(/text-\[(#[0-9A-Fa-f]{6})\]/);if(textMatch){buttonStyle.color=textMatch[1]}borderMatch=actionClassName.match(/border-\[(#[0-9A-Fa-f]{6})\]/);if(borderMatch){buttonStyle.border="1px solid "+borderMatch[1]}}return _context.abrupt("return",{action:action.text||action.id||"Button Action",explanation:response.request_url,operationName:response.operation_name,buttonClassName:actionClassName,buttonStyle:buttonStyle});case 11:return _context.abrupt("return",null);case 14:_context.prev=14;_context.t0=_context["catch"](0);return _context.abrupt("return",null);case 17:case"end":return _context.stop()}},_callee,null,[[0,14]])}));return function(_x2){return _ref2.apply(this,arguments)}}());_context2.next=6;return Promise.all(buttonPromises);case 6:results=_context2.sent;return _context2.abrupt("return",results.filter(function(result){return result!==null}));case 10:_context2.prev=10;_context2.t0=_context2["catch"](0);return _context2.abrupt("return",[]);case 13:case"end":return _context2.stop()}},_callee2,null,[[0,10]])}));return _fetchTableButtonExplanations.apply(this,arguments)}function fetchSemanticLayerQuery(){return _fetchSemanticLayerQuery.apply(this,arguments)}function _fetchSemanticLayerQuery(){_fetchSemanticLayerQuery=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(){var result,apiResponse,sqlResponse,successArray,hasAnyValidQuery,validQueries,uniqueQueries,sqlObjects,_validQueries,_uniqueQueries;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;setIsLoading(true);setError("");_context3.next=5;return performInteraction({id:componentId||"styled-info-button",interactionType:"semanticLayerQuery",affectedComponents:[]});case 5:result=_context3.sent;if(!(result&&typeof result==="object"&&"apiResponse"in result&&result.apiResponse&&typeof result.apiResponse==="object")){_context3.next=33;break}apiResponse=result.apiResponse;if("sql"in apiResponse){_context3.next=10;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 10:sqlResponse=apiResponse.sql;if(!(!sqlResponse||typeof sqlResponse!=="object")){_context3.next=13;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 13:if(!("success"in sqlResponse&&Array.isArray(sqlResponse.success))){_context3.next=23;break}successArray=sqlResponse.success;hasAnyValidQuery=successArray.some(function(item){return item&&typeof item==="object"&&item.error===false&&"sql"in item&&typeof item.sql==="string"&&item.sql.trim()});if(hasAnyValidQuery){_context3.next=18;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 18:validQueries=successArray.filter(function(item){return item&&typeof item==="object"&&item.error===false&&"sql"in item&&typeof item.sql==="string"&&item.sql.trim()}).map(function(item){return item.sql});if(!(validQueries.length===0)){_context3.next=21;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 21:uniqueQueries=Array.from(new Set(validQueries));return _context3.abrupt("return",uniqueQueries.length>1?uniqueQueries:uniqueQueries[0]);case 23:if(!("error"in sqlResponse&&typeof sqlResponse.error==="string")){_context3.next=25;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 25:if(!Array.isArray(sqlResponse)){_context3.next=32;break}sqlObjects=sqlResponse;_validQueries=sqlObjects.filter(function(obj){return obj&&typeof obj==="object"&&"sql"in obj&&"error"in obj&&!obj.error&&obj.sql&&obj.sql.trim()}).map(function(obj){return obj.sql});if(!(_validQueries.length===0)){_context3.next=30;break}return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 30:_uniqueQueries=Array.from(new Set(_validQueries));return _context3.abrupt("return",_uniqueQueries.length>1?_uniqueQueries:_uniqueQueries[0]);case 32:return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 33:return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 36:_context3.prev=36;_context3.t0=_context3["catch"](0);return _context3.abrupt("return",ERROR_MESSAGES.SQL_NOT_AVAILABLE);case 39:_context3.prev=39;setIsLoading(false);return _context3.finish(39);case 42:case"end":return _context3.stop()}},_callee3,null,[[0,36,39,42]])}));return _fetchSemanticLayerQuery.apply(this,arguments)}function handleInfoClick(_x){return _handleInfoClick.apply(this,arguments)}function _handleInfoClick(){_handleInfoClick=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(e){var _yield$Promise$all,sql,buttonExplanations;return _regeneratorRuntime.wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:e.stopPropagation();e.preventDefault();_context4.prev=2;setIsLoadingModalOpen(true);setError("");_context4.next=7;return Promise.all([fetchSemanticLayerQuery(),fetchTableButtonExplanations()]);case 7:_yield$Promise$all=_context4.sent;sql=_yield$Promise$all[0];buttonExplanations=_yield$Promise$all[1];setSqlQuery(sql||ERROR_MESSAGES.SQL_NOT_AVAILABLE);setTableButtonExplanations(buttonExplanations);setIsLoadingModalOpen(false);setIsModalOpen(true);if(onSqlFetch&&sql&&sql!==ERROR_MESSAGES.SQL_NOT_AVAILABLE){onSqlFetch(sql)}_context4.next=23;break;case 17:_context4.prev=17;_context4.t0=_context4["catch"](2);setSqlQuery(ERROR_MESSAGES.SQL_NOT_AVAILABLE);setTableButtonExplanations([]);setIsLoadingModalOpen(false);setIsModalOpen(true);case 23:case"end":return _context4.stop()}},_callee4,null,[[2,17]])}));return _handleInfoClick.apply(this,arguments)}function resetState(){setIsModalOpen(false);setIsLoadingModalOpen(false);setSqlQuery("");setTableButtonExplanations([]);setError("");setIsLoading(false)}function handleModalClose(){resetState()}function handleRetry(){resetState();var mockEvent={stopPropagation:function stopPropagation(){return void 0},preventDefault:function preventDefault(){return void 0}};handleInfoClick(mockEvent)}if(!isVisible){return null}return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx("button",{className:POSITION_CLASSES[position]+" "+className,onClick:handleInfoClick,title:"View Query Details",type:"button",style:{width:"60px",height:"60px",transform:"rotate(0deg)",opacity:1,border:"none",background:"transparent",padding:0},children:/*#__PURE__*/_jsxs("svg",{width:"50",height:"50",viewBox:"0 0 67 66",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[/*#__PURE__*/_jsxs("g",{filter:"url(#filter0_d_4766_2811)",children:[/*#__PURE__*/_jsx("rect",{x:"16.1667",y:"15.5",width:"35",height:"35",rx:"7.5",stroke:"#A601FF",strokeWidth:"1",shapeRendering:"crispEdges"}),/*#__PURE__*/_jsx("path",{d:"M33.0756 28.0171C33.3312 27.5498 34.0023 27.5498 34.2578 28.0171L35.7159 30.683C35.7777 30.7961 35.8706 30.889 35.9837 30.9508L38.6496 32.4089C39.1169 32.6644 39.1169 33.3355 38.6496 33.5911L35.9837 35.0491C35.8706 35.111 35.7777 35.2039 35.7159 35.317L34.2578 37.9829C34.0023 38.4501 33.3312 38.4501 33.0756 37.9829L31.6176 35.317C31.5557 35.2039 31.4628 35.111 31.3497 35.0491L28.6838 33.5911C28.2166 33.3355 28.2166 32.6644 28.6838 32.4089L31.3497 30.9508C31.4628 30.889 31.5557 30.7961 31.6176 30.683L33.0756 28.0171Z",fill:"#A601FF"}),/*#__PURE__*/_jsx("path",{d:"M29.0634 27.1601C29.1801 26.9466 29.4866 26.9466 29.6033 27.1601L29.9973 27.8804C30.0255 27.932 30.068 27.9745 30.1196 28.0027L30.84 28.3967C31.0534 28.5134 31.0534 28.8199 30.84 28.9367L30.1196 29.3306C30.068 29.3589 30.0255 29.4013 29.9973 29.4529L29.6033 30.1733C29.4866 30.3867 29.1801 30.3867 29.0634 30.1733L28.6694 29.4529C28.6412 29.4013 28.5987 29.3589 28.5471 29.3306L27.8268 28.9367C27.6133 28.8199 27.6133 28.5134 27.8268 28.3967L28.5471 28.0027C28.5987 27.9745 28.6412 27.932 28.6694 27.8804L29.0634 27.1601Z",fill:"#A601FF"}),/*#__PURE__*/_jsx("path",{d:"M38.0346 36.5104C38.1638 36.2743 38.5029 36.2743 38.6321 36.5105L38.8874 36.9773C38.9186 37.0344 38.9656 37.0814 39.0227 37.1126L39.4896 37.368C39.7257 37.4971 39.7257 37.8363 39.4896 37.9654L39.0227 38.2207C38.9656 38.252 38.9186 38.2989 38.8874 38.3561L38.6321 38.8229C38.5029 39.059 38.1638 39.059 38.0346 38.8229L37.7793 38.3561C37.748 38.2989 37.7011 38.252 37.6439 38.2207L37.1771 37.9654C36.941 37.8363 36.941 37.4971 37.1771 37.368L37.6439 37.1126C37.7011 37.0814 37.748 37.0344 37.7793 36.9773L38.0346 36.5104Z",fill:"#A601FF"})]}),/*#__PURE__*/_jsx("defs",{children:/*#__PURE__*/_jsxs("filter",{id:"filter0_d_4766_2811",x:"0.666687",y:"0",width:"66",height:"66",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[/*#__PURE__*/_jsx("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),/*#__PURE__*/_jsx("feColorMatrix",{"in":"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),/*#__PURE__*/_jsx("feMorphology",{radius:"5",operator:"dilate","in":"SourceAlpha",result:"effect1_dropShadow_4766_2811"}),/*#__PURE__*/_jsx("feOffset",{}),/*#__PURE__*/_jsx("feGaussianBlur",{stdDeviation:"5"}),/*#__PURE__*/_jsx("feComposite",{in2:"hardAlpha",operator:"out"}),/*#__PURE__*/_jsx("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.0317231 0 0 0 0 0.0834676 0 0 0 0 0.370052 0 0 0 0.05 0"}),/*#__PURE__*/_jsx("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_4766_2811"}),/*#__PURE__*/_jsx("feBlend",{mode:"normal","in":"SourceGraphic",in2:"effect1_dropShadow_4766_2811",result:"shape"})]})})]})}),/*#__PURE__*/_jsx(QueryLoadingModal,{isOpen:isLoadingModalOpen}),/*#__PURE__*/_jsx(QueryDetailsModal,{isOpen:isModalOpen,onClose:handleModalClose,isLoading:isLoading,error:error,sqlQuery:sqlQuery,tableButtonExplanations:tableButtonExplanations,onRetry:handleRetry})]})}
|
|
2
|
+
//# sourceMappingURL=styled-info-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled-info-button.js","names":["React","useState","QueryDetailsModal","QueryLoadingModal","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","POSITION_CLASSES","ERROR_MESSAGES","FETCH_FAILED","LOAD_FAILED","SQL_NOT_AVAILABLE","StyledInfoButton","_ref","_ref$position","position","componentId","_ref$className","className","_ref$isVisible","isVisible","onSqlFetch","_ref$performInteracti","performInteraction","Promise","resolve","_ref$tableActions","tableActions","_ref$firstRowData","firstRowData","_useState","isModalOpen","setIsModalOpen","_useState2","isLoadingModalOpen","setIsLoadingModalOpen","_useState3","sqlQuery","setSqlQuery","_useState4","tableButtonExplanations","setTableButtonExplanations","_useState5","isLoading","setIsLoading","_useState6","error","setError","fetchTableButtonExplanations","_fetchTableButtonExplanations","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","buttonPromises","results","wrap","_callee2$","_context2","prev","next","length","abrupt","map","_ref2","_callee","action","result","response","buttonStyle","actionClassName","bgMatch","textMatch","borderMatch","_callee$","_context","id","interactionType","payload","row","params","isInfoButtonInteraction","affectedComponents","sent","apiResponse","request_url","match","backgroundColor","color","border","text","explanation","operationName","operation_name","buttonClassName","t0","stop","_x2","all","filter","fetchSemanticLayerQuery","_fetchSemanticLayerQuery","_callee3","sqlResponse","successArray","hasAnyValidQuery","validQueries","uniqueQueries","sqlObjects","_validQueries","_uniqueQueries","_callee3$","_context3","sql","Array","isArray","success","some","item","trim","from","Set","obj","finish","handleInfoClick","_x","_handleInfoClick","_callee4","e","_yield$Promise$all","buttonExplanations","_callee4$","_context4","stopPropagation","preventDefault","resetState","handleModalClose","handleRetry","mockEvent","children","onClick","title","type","style","width","height","transform","opacity","background","padding","viewBox","fill","xmlns","x","y","rx","stroke","strokeWidth","shapeRendering","d","filterUnits","colorInterpolationFilters","floodOpacity","values","radius","operator","stdDeviation","in2","mode","isOpen","onClose","onRetry"],"sources":["../../../src/plugins/helpers/styled-info-button.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { QueryDetailsModal } from './query-details-modal';\nimport { QueryLoadingModal } from './query-loading-modal';\n\nconst POSITION_CLASSES = {\n 'top-right': 'absolute top-0 right-0',\n 'top-left': 'absolute top-2 left-2', \n 'bottom-left': 'absolute bottom-0 left-1/2 transform -translate-x-1/2',\n 'bottom-right': 'absolute bottom-0 right-0 ',\n 'card-overlay': 'absolute bottom-0 right-0'\n} as const;\n\nconst ERROR_MESSAGES = {\n FETCH_FAILED: 'Failed to fetch query details from semantic layer',\n LOAD_FAILED: 'Failed to load query information',\n SQL_NOT_AVAILABLE: 'SQL not available'\n} as const;\n\ntype ButtonStyle = {\n backgroundColor?: string;\n color?: string;\n border?: string;\n [key: string]: unknown;\n};\n\ntype TableButtonExplanation = {\n action: string;\n explanation: string;\n operationName?: string;\n buttonClassName?: string;\n buttonStyle?: ButtonStyle;\n};\n\ntype TableAction = {\n id: string;\n text: string;\n className?: string;\n [key: string]: unknown;\n};\n\ntype Position = 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right' | 'card-overlay';\n\ntype StyledInfoButtonProps = {\n buttonStyle?: ButtonStyle;\n onClick?: () => void;\n isVisible?: boolean;\n tableName?: string;\n position?: Position;\n componentId?: string;\n className?: string;\n onSqlFetch?: (sql: string | string[]) => void;\n performInteraction?: (payload: Record<string, unknown>) => Promise<Record<string, unknown>>;\n tableActions?: TableAction[];\n firstRowData?: Record<string, unknown>;\n}\n\n\nexport function StyledInfoButton({ \n position = 'bottom-right', \n componentId,\n className = '',\n isVisible = true,\n onSqlFetch,\n performInteraction = () => Promise.resolve({} as Record<string, unknown>),\n tableActions = [],\n firstRowData = {}\n}: StyledInfoButtonProps) {\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [isLoadingModalOpen, setIsLoadingModalOpen] = useState(false);\n \n const [sqlQuery, setSqlQuery] = useState<string | string[]>('');\n const [tableButtonExplanations, setTableButtonExplanations] = useState<TableButtonExplanation[]>([]);\n \n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string>('');\n\n async function fetchTableButtonExplanations(): Promise<TableButtonExplanation[]> {\n try {\n if (!tableActions || tableActions.length === 0) {\n return [];\n }\n \n\n const buttonPromises = tableActions.map(async (action) => {\n try {\n const result = await performInteraction({\n id: action.id || componentId,\n interactionType: 'tableButton',\n payload: {\n row: firstRowData,\n params: { isInfoButtonInteraction: true }\n },\n affectedComponents: []\n });\n\n if (result && typeof result === 'object' && 'apiResponse' in result && \n result.apiResponse && typeof result.apiResponse === 'object') {\n const response = result.apiResponse as Record<string, unknown>;\n \n if (response.request_url && typeof response.request_url === 'string') {\n const buttonStyle: ButtonStyle = {};\n const actionClassName = (action.className as string) || '';\n \n if (typeof actionClassName === 'string') {\n const bgMatch = actionClassName.match(/bg-\\[(#[0-9A-Fa-f]{6})\\]/);\n\n if (bgMatch) {\n buttonStyle.backgroundColor = bgMatch[1];\n }\n \n const textMatch = actionClassName.match(/text-\\[(#[0-9A-Fa-f]{6})\\]/);\n\n if (textMatch) {\n buttonStyle.color = textMatch[1];\n }\n \n const borderMatch = actionClassName.match(/border-\\[(#[0-9A-Fa-f]{6})\\]/);\n\n if (borderMatch) {\n buttonStyle.border = `1px solid ${borderMatch[1]}`;\n }\n }\n \n return {\n action: action.text || action.id || 'Button Action',\n explanation: response.request_url,\n operationName: response.operation_name as string,\n buttonClassName: actionClassName,\n buttonStyle\n };\n }\n }\n\n return null;\n } catch (err) {\n return null;\n }\n });\n\n const results = await Promise.all(buttonPromises);\n\n return results.filter((result) => result !== null) as TableButtonExplanation[];\n } catch (err) {\n return [];\n }\n }\n\n async function fetchSemanticLayerQuery(): Promise<string | string[]> {\n try {\n setIsLoading(true);\n setError('');\n \n const result = await performInteraction({\n id: componentId || 'styled-info-button',\n interactionType: 'semanticLayerQuery',\n affectedComponents: []\n });\n\n if (result && typeof result === 'object' && 'apiResponse' in result && \n result.apiResponse && typeof result.apiResponse === 'object') {\n const apiResponse = result.apiResponse as Record<string, unknown>;\n \n if (!('sql' in apiResponse)) {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n const sqlResponse = apiResponse.sql;\n \n if (!sqlResponse || (typeof sqlResponse !== 'object')) {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n if ('success' in sqlResponse && Array.isArray(sqlResponse.success)) {\n const successArray = sqlResponse.success as Array<{\n error: boolean;\n sql?: string;\n errorMessage?: string;\n }>;\n \n const hasAnyValidQuery = successArray.some(item => \n item && typeof item === 'object' && \n item.error === false && \n 'sql' in item && \n typeof item.sql === 'string' && \n item.sql.trim()\n );\n \n if (!hasAnyValidQuery) {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n const validQueries = successArray\n .filter(item => \n item && \n typeof item === 'object' && \n item.error === false && \n 'sql' in item && \n typeof item.sql === 'string' && \n item.sql.trim()\n )\n .map(item => item.sql as string);\n \n if (validQueries.length === 0) {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n const uniqueQueries = Array.from(new Set(validQueries));\n \n return uniqueQueries.length > 1 ? uniqueQueries : uniqueQueries[0];\n }\n \n if ('error' in sqlResponse && typeof sqlResponse.error === 'string') {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n if (Array.isArray(sqlResponse)) {\n const sqlObjects = sqlResponse as Array<{sql: string, error: boolean}>;\n \n const validQueries = sqlObjects\n .filter(obj => obj && typeof obj === 'object' && 'sql' in obj && 'error' in obj && !obj.error && obj.sql && obj.sql.trim())\n .map(obj => obj.sql);\n \n if (validQueries.length === 0) {\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n \n const uniqueQueries = Array.from(new Set(validQueries));\n \n return uniqueQueries.length > 1 ? uniqueQueries : uniqueQueries[0];\n }\n \n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n }\n\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n\n } catch (err) {\n\n return ERROR_MESSAGES.SQL_NOT_AVAILABLE;\n\n } finally {\n setIsLoading(false);\n }\n }\n\n async function handleInfoClick(e: React.MouseEvent) {\n e.stopPropagation();\n e.preventDefault();\n \n try {\n setIsLoadingModalOpen(true);\n setError('');\n\n const [sql, buttonExplanations] = await Promise.all([\n fetchSemanticLayerQuery(),\n fetchTableButtonExplanations()\n ]);\n \n setSqlQuery(sql || ERROR_MESSAGES.SQL_NOT_AVAILABLE);\n setTableButtonExplanations(buttonExplanations);\n \n setIsLoadingModalOpen(false);\n setIsModalOpen(true);\n \n if (onSqlFetch && sql && sql !== ERROR_MESSAGES.SQL_NOT_AVAILABLE) {\n onSqlFetch(sql);\n }\n } catch (err) {\n setSqlQuery(ERROR_MESSAGES.SQL_NOT_AVAILABLE);\n setTableButtonExplanations([]);\n setIsLoadingModalOpen(false);\n setIsModalOpen(true);\n }\n }\n\n function resetState() {\n setIsModalOpen(false);\n setIsLoadingModalOpen(false);\n setSqlQuery('');\n setTableButtonExplanations([]);\n setError('');\n setIsLoading(false);\n }\n\n function handleModalClose() {\n resetState();\n }\n\n function handleRetry() {\n resetState();\n const mockEvent = { \n stopPropagation: () => void 0,\n preventDefault: () => void 0\n } as React.MouseEvent;\n handleInfoClick(mockEvent);\n }\n\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <>\n <button\n className={`${POSITION_CLASSES[position]} ${className}`}\n onClick={handleInfoClick}\n title=\"View Query Details\"\n type=\"button\"\n style={{\n width: '60px',\n height: '60px',\n transform: 'rotate(0deg)',\n opacity: 1,\n border: 'none',\n background: 'transparent',\n padding: 0,\n }}\n >\n <svg \n width=\"50\" \n height=\"50\" \n viewBox=\"0 0 67 66\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g filter=\"url(#filter0_d_4766_2811)\">\n <rect x=\"16.1667\" y=\"15.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#A601FF\" strokeWidth=\"1\" shapeRendering=\"crispEdges\"/>\n <path d=\"M33.0756 28.0171C33.3312 27.5498 34.0023 27.5498 34.2578 28.0171L35.7159 30.683C35.7777 30.7961 35.8706 30.889 35.9837 30.9508L38.6496 32.4089C39.1169 32.6644 39.1169 33.3355 38.6496 33.5911L35.9837 35.0491C35.8706 35.111 35.7777 35.2039 35.7159 35.317L34.2578 37.9829C34.0023 38.4501 33.3312 38.4501 33.0756 37.9829L31.6176 35.317C31.5557 35.2039 31.4628 35.111 31.3497 35.0491L28.6838 33.5911C28.2166 33.3355 28.2166 32.6644 28.6838 32.4089L31.3497 30.9508C31.4628 30.889 31.5557 30.7961 31.6176 30.683L33.0756 28.0171Z\" fill=\"#A601FF\"/>\n <path d=\"M29.0634 27.1601C29.1801 26.9466 29.4866 26.9466 29.6033 27.1601L29.9973 27.8804C30.0255 27.932 30.068 27.9745 30.1196 28.0027L30.84 28.3967C31.0534 28.5134 31.0534 28.8199 30.84 28.9367L30.1196 29.3306C30.068 29.3589 30.0255 29.4013 29.9973 29.4529L29.6033 30.1733C29.4866 30.3867 29.1801 30.3867 29.0634 30.1733L28.6694 29.4529C28.6412 29.4013 28.5987 29.3589 28.5471 29.3306L27.8268 28.9367C27.6133 28.8199 27.6133 28.5134 27.8268 28.3967L28.5471 28.0027C28.5987 27.9745 28.6412 27.932 28.6694 27.8804L29.0634 27.1601Z\" fill=\"#A601FF\"/>\n <path d=\"M38.0346 36.5104C38.1638 36.2743 38.5029 36.2743 38.6321 36.5105L38.8874 36.9773C38.9186 37.0344 38.9656 37.0814 39.0227 37.1126L39.4896 37.368C39.7257 37.4971 39.7257 37.8363 39.4896 37.9654L39.0227 38.2207C38.9656 38.252 38.9186 38.2989 38.8874 38.3561L38.6321 38.8229C38.5029 39.059 38.1638 39.059 38.0346 38.8229L37.7793 38.3561C37.748 38.2989 37.7011 38.252 37.6439 38.2207L37.1771 37.9654C36.941 37.8363 36.941 37.4971 37.1771 37.368L37.6439 37.1126C37.7011 37.0814 37.748 37.0344 37.7793 36.9773L38.0346 36.5104Z\" fill=\"#A601FF\"/>\n </g>\n <defs>\n <filter id=\"filter0_d_4766_2811\" x=\"0.666687\" y=\"0\" width=\"66\" height=\"66\" filterUnits=\"userSpaceOnUse\" colorInterpolationFilters=\"sRGB\">\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\n <feMorphology radius=\"5\" operator=\"dilate\" in=\"SourceAlpha\" result=\"effect1_dropShadow_4766_2811\"/>\n <feOffset/>\n <feGaussianBlur stdDeviation=\"5\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0.0317231 0 0 0 0 0.0834676 0 0 0 0 0.370052 0 0 0 0.05 0\"/>\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_4766_2811\"/>\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_4766_2811\" result=\"shape\"/>\n </filter>\n </defs>\n </svg>\n </button>\n \n <QueryLoadingModal isOpen={isLoadingModalOpen} />\n \n <QueryDetailsModal\n isOpen={isModalOpen}\n onClose={handleModalClose}\n isLoading={isLoading}\n error={error}\n sqlQuery={sqlQuery}\n tableButtonExplanations={tableButtonExplanations}\n onRetry={handleRetry}\n />\n </>\n );\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type AiAvatarIconProps = {
|
|
2
|
+
className?: string;
|
|
3
|
+
width?: number | string;
|
|
4
|
+
height?: number | string;
|
|
5
|
+
};
|
|
6
|
+
export declare function AiAvatarIcon({ className, width, height }: AiAvatarIconProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default AiAvatarIcon;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import React from"react";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function AiAvatarIcon(_ref){var _ref$className=_ref.className,className=_ref$className===void 0?"":_ref$className,_ref$width=_ref.width,width=_ref$width===void 0?13:_ref$width,_ref$height=_ref.height,height=_ref$height===void 0?14:_ref$height;return/*#__PURE__*/_jsx("svg",{width:width,height:height,viewBox:"0 0 13 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:className,children:/*#__PURE__*/_jsxs("g",{id:"AI icon",children:[/*#__PURE__*/_jsx("path",{id:"Star 1",d:"M5.85957 1.57888C6.13643 1.07267 6.86346 1.07267 7.14032 1.57888L8.71985 4.46695C8.78683 4.58941 8.88753 4.69011 9.01 4.75709L11.8981 6.33663C12.4043 6.61348 12.4043 7.34051 11.8981 7.61737L9.01 9.19691C8.88753 9.26389 8.78683 9.36458 8.71985 9.48705L7.14032 12.3751C6.86346 12.8813 6.13643 12.8813 5.85957 12.3751L4.28004 9.48705C4.21306 9.36458 4.11236 9.26389 3.9899 9.19691L1.10183 7.61737C0.595615 7.34051 0.595615 6.61348 1.10183 6.33663L3.9899 4.75709C4.11236 4.69011 4.21306 4.58941 4.28004 4.46695L5.85957 1.57888Z",fill:"#560561"}),/*#__PURE__*/_jsx("path",{id:"Star 2",opacity:"0.6",d:"M1.51307 0.650459C1.63952 0.419248 1.97159 0.419248 2.09804 0.650459L2.52483 1.43081C2.55543 1.48675 2.60142 1.53274 2.65735 1.56333L3.4377 1.99012C3.66891 2.11657 3.66891 2.44864 3.4377 2.57509L2.65735 3.00188C2.60142 3.03248 2.55543 3.07847 2.52483 3.1344L2.09805 3.91475C1.97159 4.14596 1.63952 4.14596 1.51307 3.91475L1.08628 3.1344C1.05569 3.07847 1.0097 3.03248 0.953758 3.00188L0.173408 2.57509C-0.0578029 2.44864 -0.0578025 2.11657 0.173408 1.99012L0.953758 1.56333C1.00969 1.53274 1.05569 1.48675 1.08628 1.43081L1.51307 0.650459Z",fill:"#560561"}),/*#__PURE__*/_jsx("path",{id:"Star 5",opacity:"0.6",d:"M11.2322 10.7802C11.3721 10.5244 11.7395 10.5244 11.8794 10.7802L12.156 11.286C12.1898 11.3479 12.2407 11.3988 12.3026 11.4326L12.8084 11.7092C13.0642 11.8491 13.0642 12.2165 12.8084 12.3564L12.3026 12.633C12.2407 12.6669 12.1898 12.7178 12.156 12.7797L11.8794 13.2854C11.7395 13.5412 11.3721 13.5412 11.2322 13.2854L10.9556 12.7797C10.9217 12.7178 10.8708 12.6669 10.8089 12.633L10.3032 12.3564C10.0474 12.2165 10.0474 11.8491 10.3032 11.7092L10.8089 11.4326C10.8708 11.3988 10.9217 11.3479 10.9556 11.286L11.2322 10.7802Z",fill:"#560561"})]})})}export default AiAvatarIcon;
|
|
2
|
+
//# sourceMappingURL=AiAvatarIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiAvatarIcon.js","names":["React","jsx","_jsx","jsxs","_jsxs","AiAvatarIcon","_ref","_ref$className","className","_ref$width","width","_ref$height","height","viewBox","fill","xmlns","children","id","d","opacity"],"sources":["../../../../src/shadcn/components/icons/AiAvatarIcon.tsx"],"sourcesContent":["import React from 'react';\n\ntype AiAvatarIconProps = {\n className?: string;\n width?: number | string;\n height?: number | string;\n}\n\nexport function AiAvatarIcon({ \n className = '', \n width = 13, \n height = 14 \n}: AiAvatarIconProps) {\n return (\n <svg \n width={width} \n height={height} \n viewBox=\"0 0 13 14\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g id=\"AI icon\">\n <path \n id=\"Star 1\" \n d=\"M5.85957 1.57888C6.13643 1.07267 6.86346 1.07267 7.14032 1.57888L8.71985 4.46695C8.78683 4.58941 8.88753 4.69011 9.01 4.75709L11.8981 6.33663C12.4043 6.61348 12.4043 7.34051 11.8981 7.61737L9.01 9.19691C8.88753 9.26389 8.78683 9.36458 8.71985 9.48705L7.14032 12.3751C6.86346 12.8813 6.13643 12.8813 5.85957 12.3751L4.28004 9.48705C4.21306 9.36458 4.11236 9.26389 3.9899 9.19691L1.10183 7.61737C0.595615 7.34051 0.595615 6.61348 1.10183 6.33663L3.9899 4.75709C4.11236 4.69011 4.21306 4.58941 4.28004 4.46695L5.85957 1.57888Z\" \n fill=\"#560561\" \n />\n <path \n id=\"Star 2\" \n opacity=\"0.6\" \n d=\"M1.51307 0.650459C1.63952 0.419248 1.97159 0.419248 2.09804 0.650459L2.52483 1.43081C2.55543 1.48675 2.60142 1.53274 2.65735 1.56333L3.4377 1.99012C3.66891 2.11657 3.66891 2.44864 3.4377 2.57509L2.65735 3.00188C2.60142 3.03248 2.55543 3.07847 2.52483 3.1344L2.09805 3.91475C1.97159 4.14596 1.63952 4.14596 1.51307 3.91475L1.08628 3.1344C1.05569 3.07847 1.0097 3.03248 0.953758 3.00188L0.173408 2.57509C-0.0578029 2.44864 -0.0578025 2.11657 0.173408 1.99012L0.953758 1.56333C1.00969 1.53274 1.05569 1.48675 1.08628 1.43081L1.51307 0.650459Z\" \n fill=\"#560561\" \n />\n <path \n id=\"Star 5\" \n opacity=\"0.6\" \n d=\"M11.2322 10.7802C11.3721 10.5244 11.7395 10.5244 11.8794 10.7802L12.156 11.286C12.1898 11.3479 12.2407 11.3988 12.3026 11.4326L12.8084 11.7092C13.0642 11.8491 13.0642 12.2165 12.8084 12.3564L12.3026 12.633C12.2407 12.6669 12.1898 12.7178 12.156 12.7797L11.8794 13.2854C11.7395 13.5412 11.3721 13.5412 11.2322 13.2854L10.9556 12.7797C10.9217 12.7178 10.8708 12.6669 10.8089 12.633L10.3032 12.3564C10.0474 12.2165 10.0474 11.8491 10.3032 11.7092L10.8089 11.4326C10.8708 11.3988 10.9217 11.3479 10.9556 11.286L11.2322 10.7802Z\" \n fill=\"#560561\" \n />\n </g>\n </svg>\n );\n}\n\nexport default AiAvatarIcon;\n\n"],"mappings":"AAAA,MAAO,CAAAA,KAAK,KAAM,OAAO,CAAC,OAAAC,GAAA,IAAAC,IAAA,CAAAC,IAAA,IAAAC,KAAA,yBAQ1B,MAAO,SAAS,CAAAC,YAAYA,CAAAC,IAAA,CAIN,KAAAC,cAAA,CAAAD,IAAA,CAHpBE,SAAS,CAATA,SAAS,CAAAD,cAAA,UAAG,EAAE,CAAAA,cAAA,CAAAE,UAAA,CAAAH,IAAA,CACdI,KAAK,CAALA,KAAK,CAAAD,UAAA,UAAG,EAAE,CAAAA,UAAA,CAAAE,WAAA,CAAAL,IAAA,CACVM,MAAM,CAANA,MAAM,CAAAD,WAAA,UAAG,EAAE,CAAAA,WAAA,CAEX,mBACET,IAAA,QACEQ,KAAK,CAAEA,KAAM,CACbE,MAAM,CAAEA,MAAO,CACfC,OAAO,CAAC,WAAW,CACnBC,IAAI,CAAC,MAAM,CACXC,KAAK,CAAC,4BAA4B,CAClCP,SAAS,CAAEA,SAAU,CAAAQ,QAAA,cAErBZ,KAAA,MAAGa,EAAE,CAAC,SAAS,CAAAD,QAAA,eACbd,IAAA,SACEe,EAAE,CAAC,QAAQ,CACXC,CAAC,CAAC,6gBAA6gB,CAC/gBJ,IAAI,CAAC,SAAS,CACf,CAAC,cACFZ,IAAA,SACEe,EAAE,CAAC,QAAQ,CACXE,OAAO,CAAC,KAAK,CACbD,CAAC,CAAC,6hBAA6hB,CAC/hBJ,IAAI,CAAC,SAAS,CACf,CAAC,cACFZ,IAAA,SACEe,EAAE,CAAC,QAAQ,CACXE,OAAO,CAAC,KAAK,CACbD,CAAC,CAAC,6gBAA6gB,CAC/gBJ,IAAI,CAAC,SAAS,CACf,CAAC,EACD,CAAC,CACD,CAET,CAEA,cAAe,CAAAT,YAAY","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
-
size?: "default" | "
|
|
5
|
+
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
8
8
|
asChild?: boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type Size = 'small' | 'medium' | 'large';
|
|
2
|
+
type IssueType = 'error' | 'missing';
|
|
3
|
+
export declare const ComponentWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
4
|
+
hasIssue: boolean;
|
|
5
|
+
issueType: IssueType;
|
|
6
|
+
}, never>;
|
|
7
|
+
export declare const IssueBanner: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
8
|
+
size: Size;
|
|
9
|
+
issueType: IssueType;
|
|
10
|
+
}, never>;
|
|
11
|
+
export declare const IssueIcon: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
12
|
+
size: Size;
|
|
13
|
+
}, never>;
|
|
14
|
+
export declare const IssueContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
15
|
+
export declare const IssueMessage: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
16
|
+
size: Size;
|
|
17
|
+
}, never>;
|
|
18
|
+
export declare const IssueType: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
19
|
+
size: Size;
|
|
20
|
+
}, never>;
|
|
21
|
+
export declare const ComponentContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
|
|
22
|
+
hasIssue: boolean;
|
|
23
|
+
issueType: IssueType;
|
|
24
|
+
size: Size;
|
|
25
|
+
}, never>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import styled from"styled-components";export var ComponentWrapper=styled.div.withConfig({displayName:"component-wrapper__ComponentWrapper",componentId:"sc-gvskzb-0"})(["position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;"]);export var IssueBanner=styled.div.withConfig({displayName:"component-wrapper__IssueBanner",componentId:"sc-gvskzb-1"})(["background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#495057;display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:8px;padding:8px 12px;font-size:14px;"]);export var IssueIcon=styled.div.withConfig({displayName:"component-wrapper__IssueIcon",componentId:"sc-gvskzb-2"})(["font-size:16px;flex-shrink:0;"]);export var IssueContent=styled.div.withConfig({displayName:"component-wrapper__IssueContent",componentId:"sc-gvskzb-3"})(["flex:1;min-width:0;"]);export var IssueMessage=styled.div.withConfig({displayName:"component-wrapper__IssueMessage",componentId:"sc-gvskzb-4"})(["font-weight:500;line-height:1.4;"]);export var IssueType=styled.div.withConfig({displayName:"component-wrapper__IssueType",componentId:"sc-gvskzb-5"})(["opacity:0.9;font-size:",";text-transform:uppercase;letter-spacing:",";"],function(_ref){var size=_ref.size;switch(size){case"small":return"9px";case"medium":return"10px";case"large":return"11px";default:return"10px"}},function(_ref2){var size=_ref2.size;return size==="small"?"0.2px":"0.3px"});export var ComponentContent=styled.div.withConfig({displayName:"component-wrapper__ComponentContent",componentId:"sc-gvskzb-6"})(["flex:1;display:flex;flex-direction:column;"]);
|
|
2
|
+
//# sourceMappingURL=component-wrapper.js.map
|