@peak-ai/canvas 1.1.0 → 1.1.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import _extends from"@babel/runtime/helpers/extends";/* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import ReactDOM from"react-dom";import{getRenderers}from"./helpers/render-components";export function createGrapesjsShadcnGenericPlugin(mode){return function grapesjsShadcnGenericPlugin(editor){editor.DomComponents.addType("shadcn-generic",{model:{defaults:{tagName:"div",droppable:false,componentName:"Card",componentProps:{},traits:[]}},view:{events:{"input [data-slot]":"handleSlotInput"},handleSlotInput:function handleSlotInput(e){var target=e.target;var slot=target.dataset.slot;var text=target.innerText;
|
|
2
|
-
console.error("Invalid JSON in componentProps",err);compProps={}}}compProps.isEditable=mode==="editor";compProps.onChange=function(data){_this.model.set("componentProps",_extends({},_this.model.get("componentProps"),data))};var renderers=getRenderers();var renderer=renderers[compName];if(renderer){if(compName==="Tabs"){// eslint-disable-next-line
|
|
3
|
-
|
|
4
|
-
ReactDOM.render(renderer(compProps),this.el)}}else{this.el.innerHTML="<div>Unsupported component: "+compName+"</div>"}return this},createView:function createView(model){var _this$em$get$getType;var ComponentView=(_this$em$get$getType=this.em.get("DomComponents").getType(model.get("type")))==null?void 0:_this$em$get$getType.view;if(!ComponentView){// eslint-disable-next-line no-console
|
|
5
|
-
console.warn("No view found for component type:",model.get("type"));return null}var view=new ComponentView({model:model,config:this.config,componentTypes:this.componentTypes});return view},remove:function remove(){// eslint-disable-next-line import/no-named-as-default-member
|
|
6
|
-
ReactDOM.unmountComponentAtNode(this.el);return this}}})}}
|
|
1
|
+
import _extends from"@babel/runtime/helpers/extends";/* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import ReactDOM from"react-dom";import{getRenderers}from"./helpers/render-components";export function createGrapesjsShadcnGenericPlugin(mode){return function grapesjsShadcnGenericPlugin(editor){editor.DomComponents.addType("shadcn-generic",{model:{defaults:{tagName:"div",droppable:false,componentName:"Card",componentProps:{},traits:[]}},view:{events:{"input [data-slot]":"handleSlotInput"},handleSlotInput:function handleSlotInput(e){var _ref;var target=e.target;var slot=target.dataset.slot;var text=target.innerText;this.model.set("componentProps",_extends({},this.model.get("componentProps"),slot?(_ref={},_ref[slot]=text,_ref):{}))},render:function render(){var _this=this;var compName=this.model.get("componentName");var compProps=this.model.get("componentProps");if(typeof compProps==="string"){try{compProps=JSON.parse(compProps)}catch(err){// eslint-disable-next-line no-console
|
|
2
|
+
console.error("Invalid JSON in componentProps",err);compProps={}}}compProps.isEditable=mode==="editor";compProps.onChange=function(data){_this.model.set("componentProps",_extends({},_this.model.get("componentProps"),data))};var renderers=getRenderers();var renderer=renderers[compName];if(renderer){if(compName==="Tabs"){ReactDOM.render(renderer(compProps),this.el);var children=this.model.components();var tabsContent=this.el.querySelectorAll(".tabs-content");children.each(function(childModel,i){var childView=_this.createView(childModel);if(childView){childView.render();tabsContent[i].appendChild(childView.el)}})}else{ReactDOM.render(renderer(compProps),this.el)}}else{this.el.innerHTML="<div>Unsupported component: "+compName+"</div>"}return this},createView:function createView(model){var _this$em$get$getType;var ComponentView=(_this$em$get$getType=this.em.get("DomComponents").getType(model.get("type")))==null?void 0:_this$em$get$getType.view;if(!ComponentView){// eslint-disable-next-line no-console
|
|
3
|
+
console.warn("No view found for component type:",model.get("type"));return null}var view=new ComponentView({model:model,config:this.config,componentTypes:this.componentTypes});return view},remove:function remove(){ReactDOM.unmountComponentAtNode(this.el);return this}}})}}
|
|
7
4
|
//# sourceMappingURL=grapejs-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grapejs-plugin.js","names":["ReactDOM","getRenderers","createGrapesjsShadcnGenericPlugin","mode","grapesjsShadcnGenericPlugin","editor","DomComponents","addType","model","defaults","tagName","droppable","componentName","componentProps","traits","view","events","handleSlotInput","e","target","slot","dataset","text","innerText","
|
|
1
|
+
{"version":3,"file":"grapejs-plugin.js","names":["ReactDOM","getRenderers","createGrapesjsShadcnGenericPlugin","mode","grapesjsShadcnGenericPlugin","editor","DomComponents","addType","model","defaults","tagName","droppable","componentName","componentProps","traits","view","events","handleSlotInput","e","_ref","target","slot","dataset","text","innerText","set","_extends","get","render","_this","compName","compProps","JSON","parse","err","console","error","isEditable","onChange","data","renderers","renderer","el","children","components","tabsContent","querySelectorAll","each","childModel","i","childView","createView","appendChild","innerHTML","_this$em$get$getType","ComponentView","em","getType","warn","config","componentTypes","remove","unmountComponentAtNode"],"sources":["../../src/plugins/grapejs-plugin.tsx"],"sourcesContent":["/* eslint-disable func-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport ReactDOM from 'react-dom';\nimport { Editor } from 'grapesjs';\nimport { getRenderers } from './helpers/render-components';\n\nexport function createGrapesjsShadcnGenericPlugin(mode: 'editor' | 'preview') {\n return function grapesjsShadcnGenericPlugin(editor: Editor): void {\n editor.DomComponents.addType('shadcn-generic', {\n model: {\n defaults: {\n tagName: 'div',\n droppable: false,\n componentName: 'Card',\n componentProps: {},\n traits: [],\n },\n },\n view: {\n events: {\n 'input [data-slot]': 'handleSlotInput',\n } as any,\n handleSlotInput(e: Event) {\n const target = e.target as HTMLElement;\n const slot = target.dataset.slot;\n const text = target.innerText;\n this.model.set('componentProps', {\n ...this.model.get('componentProps'),\n ...(slot ? { [slot]: text } : {}),\n });\n },\n render: function () {\n const compName: string = this.model.get('componentName');\n let compProps: any = this.model.get('componentProps');\n\n if (typeof compProps === 'string') {\n try {\n compProps = JSON.parse(compProps);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Invalid JSON in componentProps', err);\n compProps = {};\n }\n }\n\n compProps.isEditable = mode === 'editor';\n\n compProps.onChange = (data: Record<string, string>) => {\n this.model.set('componentProps', {\n ...this.model.get('componentProps'),\n ...data,\n });\n };\n\n const renderers = getRenderers();\n const renderer = renderers[compName];\n\n if (renderer) {\n if (compName === 'Tabs') {\n ReactDOM.render(renderer(compProps), this.el);\n\n const children = this.model.components();\n const tabsContent = this.el.querySelectorAll('.tabs-content');\n children.each((childModel, i) => {\n const childView = this.createView(childModel);\n\n if (childView) {\n childView.render();\n tabsContent[i].appendChild(childView.el);\n }\n });\n } else {\n ReactDOM.render(renderer(compProps), this.el);\n }\n } else {\n this.el.innerHTML = `<div>Unsupported component: ${compName}</div>`;\n }\n\n return this;\n },\n createView(model: any) {\n const ComponentView = this.em.get('DomComponents').getType(model.get('type'))?.view;\n\n if (!ComponentView) {\n // eslint-disable-next-line no-console\n console.warn('No view found for component type:', model.get('type'));\n\n return null;\n }\n\n const view = new ComponentView({\n model,\n config: this.config,\n componentTypes: this.componentTypes,\n });\n\n return view;\n },\n remove: function () {\n ReactDOM.unmountComponentAtNode(this.el);\n\n return this;\n },\n },\n });\n };\n}"],"mappings":"qDAAA,+BACA,uDACA,MAAO,CAAAA,QAAQ,KAAM,WAAW,CAEhC,OAASC,YAAY,KAAQ,6BAA6B,CAE1D,MAAO,SAAS,CAAAC,iCAAiCA,CAACC,IAA0B,CAAE,CAC5E,MAAO,SAAS,CAAAC,2BAA2BA,CAACC,MAAc,CAAQ,CAChEA,MAAM,CAACC,aAAa,CAACC,OAAO,CAAC,gBAAgB,CAAE,CAC7CC,KAAK,CAAE,CACLC,QAAQ,CAAE,CACRC,OAAO,CAAE,KAAK,CACdC,SAAS,CAAE,KAAK,CAChBC,aAAa,CAAE,MAAM,CACrBC,cAAc,CAAE,CAAC,CAAC,CAClBC,MAAM,CAAE,EACV,CACF,CAAC,CACDC,IAAI,CAAE,CACJC,MAAM,CAAE,CACN,mBAAmB,CAAE,iBACvB,CAAQ,CACRC,eAAe,SAAf,CAAAA,eAAeA,CAACC,CAAQ,CAAE,KAAAC,IAAA,CACxB,GAAM,CAAAC,MAAM,CAAGF,CAAC,CAACE,MAAqB,CACtC,GAAM,CAAAC,IAAI,CAAGD,MAAM,CAACE,OAAO,CAACD,IAAI,CAChC,GAAM,CAAAE,IAAI,CAAGH,MAAM,CAACI,SAAS,CAC7B,IAAI,CAAChB,KAAK,CAACiB,GAAG,CAAC,gBAAgB,CAAAC,QAAA,IAC1B,IAAI,CAAClB,KAAK,CAACmB,GAAG,CAAC,gBAAgB,CAAC,CAC/BN,IAAI,EAAAF,IAAA,IAAAA,IAAA,CAAME,IAAI,EAAGE,IAAI,CAAAJ,IAAA,EAAK,CAAC,CAAC,CACjC,CACH,CAAC,CACDS,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,CAAc,KAAAC,KAAA,MAClB,GAAM,CAAAC,QAAgB,CAAG,IAAI,CAACtB,KAAK,CAACmB,GAAG,CAAC,eAAe,CAAC,CACxD,GAAI,CAAAI,SAAc,CAAG,IAAI,CAACvB,KAAK,CAACmB,GAAG,CAAC,gBAAgB,CAAC,CAErD,GAAI,MAAO,CAAAI,SAAS,GAAK,QAAQ,CAAE,CACjC,GAAI,CACFA,SAAS,CAAGC,IAAI,CAACC,KAAK,CAACF,SAAS,CAClC,CAAE,MAAOG,GAAG,CAAE,CACZ;AACAC,OAAO,CAACC,KAAK,CAAC,gCAAgC,CAAEF,GAAG,CAAC,CACpDH,SAAS,CAAG,CAAC,CACf,CACF,CAEAA,SAAS,CAACM,UAAU,CAAGlC,IAAI,GAAK,QAAQ,CAExC4B,SAAS,CAACO,QAAQ,CAAG,SAACC,IAA4B,CAAK,CACrDV,KAAI,CAACrB,KAAK,CAACiB,GAAG,CAAC,gBAAgB,CAAAC,QAAA,IAC1BG,KAAI,CAACrB,KAAK,CAACmB,GAAG,CAAC,gBAAgB,CAAC,CAChCY,IAAI,CACR,CACH,CAAC,CAED,GAAM,CAAAC,SAAS,CAAGvC,YAAY,CAAC,CAAC,CAChC,GAAM,CAAAwC,QAAQ,CAAGD,SAAS,CAACV,QAAQ,CAAC,CAEpC,GAAIW,QAAQ,CAAE,CACZ,GAAIX,QAAQ,GAAK,MAAM,CAAE,CACvB9B,QAAQ,CAAC4B,MAAM,CAACa,QAAQ,CAACV,SAAS,CAAC,CAAE,IAAI,CAACW,EAAE,CAAC,CAE7C,GAAM,CAAAC,QAAQ,CAAG,IAAI,CAACnC,KAAK,CAACoC,UAAU,CAAC,CAAC,CACxC,GAAM,CAAAC,WAAW,CAAG,IAAI,CAACH,EAAE,CAACI,gBAAgB,CAAC,eAAe,CAAC,CAC7DH,QAAQ,CAACI,IAAI,CAAC,SAACC,UAAU,CAAEC,CAAC,CAAK,CAC/B,GAAM,CAAAC,SAAS,CAAGrB,KAAI,CAACsB,UAAU,CAACH,UAAU,CAAC,CAE7C,GAAIE,SAAS,CAAE,CACbA,SAAS,CAACtB,MAAM,CAAC,CAAC,CAClBiB,WAAW,CAACI,CAAC,CAAC,CAACG,WAAW,CAACF,SAAS,CAACR,EAAE,CACzC,CACF,CAAC,CACH,CAAC,IAAM,CACL1C,QAAQ,CAAC4B,MAAM,CAACa,QAAQ,CAACV,SAAS,CAAC,CAAE,IAAI,CAACW,EAAE,CAC9C,CACF,CAAC,IAAM,CACL,IAAI,CAACA,EAAE,CAACW,SAAS,gCAAkCvB,QAAQ,SAC7D,CAEA,MAAO,KACT,CAAC,CACDqB,UAAU,SAAV,CAAAA,UAAUA,CAAC3C,KAAU,CAAE,KAAA8C,oBAAA,CACrB,GAAM,CAAAC,aAAa,EAAAD,oBAAA,CAAG,IAAI,CAACE,EAAE,CAAC7B,GAAG,CAAC,eAAe,CAAC,CAAC8B,OAAO,CAACjD,KAAK,CAACmB,GAAG,CAAC,MAAM,CAAC,CAAC,eAAvD2B,oBAAA,CAAyDvC,IAAI,CAEnF,GAAI,CAACwC,aAAa,CAAE,CAClB;AACApB,OAAO,CAACuB,IAAI,CAAC,mCAAmC,CAAElD,KAAK,CAACmB,GAAG,CAAC,MAAM,CAAC,CAAC,CAEpE,MAAO,KACT,CAEA,GAAM,CAAAZ,IAAI,CAAG,GAAI,CAAAwC,aAAa,CAAC,CAC7B/C,KAAK,CAALA,KAAK,CACLmD,MAAM,CAAE,IAAI,CAACA,MAAM,CACnBC,cAAc,CAAE,IAAI,CAACA,cACvB,CAAC,CAAC,CAEF,MAAO,CAAA7C,IACT,CAAC,CACD8C,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,CAAc,CAClB7D,QAAQ,CAAC8D,sBAAsB,CAAC,IAAI,CAACpB,EAAE,CAAC,CAExC,MAAO,KACT,CACF,CACF,CAAC,CACH,CACF","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["headerContent","icon","bodyContent"],_excluded2=["headerContent","headerDescription","bodyContent","footerContent","contentMetadata","className","isEditable"],_excluded3=["config","chartType","chartData","className","isEditable","title","subTitle"],_excluded4=["data","headerMapper","className","isEditable","title","subTitle"],_excluded5=["label","defaultChecked","className","isEditable"],_excluded6=["triggerContent","cardContent","className","isEditable"],_excluded7=["label","placeholder","value","className","isEditable"],_excluded8=["text","className","isEditable"],_excluded9=["className"],_excluded10=["label","placeholder","value","className","isEditable"],_excluded11=["triggerContent","tooltipContent","className","isEditable"];function _createForOfIteratorHelperLoose(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}/* eslint-disable react/no-array-index-key *//* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import chroma from"chroma-js";import{theme}from"@peak-ai/ais-components/theme";import Markdown from"markdown-to-jsx";import{Card,CardHeader,CardTitle,CardDescription,CardContent,CardFooter}from"../../shadcn/components/ui/card";import{ChartContainer,ChartTooltip,ChartTooltipContent}from"../../shadcn/components/ui/chart";import{Checkbox}from"../../shadcn/components/ui/checkbox";import{HoverCard,HoverCardTrigger,HoverCardContent}from"../../shadcn/components/ui/hover-card";import{Input}from"../../shadcn/components/ui/input";import{Label}from"../../shadcn/components/ui/label";import{Separator}from"../../shadcn/components/ui/separator";import{Textarea}from"../../shadcn/components/ui/textarea";import{Tooltip,TooltipTrigger,TooltipContent}from"../../shadcn/components/ui/tooltip";import{PieChart,Pie,BarChart,Bar,LineChart,Line,XAxis,YAxis,ResponsiveContainer,CartesianGrid,Legend}from"recharts";import{Table,TableHeader,TableRow,TableHead,TableBody,TableCell}from"../../shadcn/components/ui/table";import{cn}from"../../shadcn/utils";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{Tabs,TabsList,TabsTrigger,TabsContent}from"../../shadcn/components/ui/tabs";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var baseColors=[[theme.colors.Blue_100,theme.colors.Blue_30],[theme.colors.Purpley_100,theme.colors.Purpley_30],[theme.colors.Light_Bluish_Green,"#06601b"],[theme.colors.Wild_Strawberry,"#4d001c"]];function getNColors(n){var colors=[];// const pallette = pallettes[Math.floor(Math.random() * pallettes.length)];
|
|
1
|
+
import _extends from"@babel/runtime/helpers/extends";import _objectWithoutPropertiesLoose from"@babel/runtime/helpers/objectWithoutPropertiesLoose";var _excluded=["headerContent","icon","bodyContent"],_excluded2=["headerContent","headerDescription","bodyContent","footerContent","footerClass","footerIcon","contentMetadata","className","isEditable"],_excluded3=["config","chartType","chartData","className","isEditable","title","subTitle"],_excluded4=["data","headerMapper","className","isEditable","title","subTitle"],_excluded5=["label","defaultChecked","className","isEditable"],_excluded6=["triggerContent","cardContent","className","isEditable"],_excluded7=["label","placeholder","value","className","isEditable"],_excluded8=["text","className","isEditable"],_excluded9=["className"],_excluded10=["label","placeholder","value","className","isEditable"],_excluded11=["triggerContent","tooltipContent","className","isEditable"];function _createForOfIteratorHelperLoose(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return(t=t.call(r)).next.bind(t);if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var o=0;return function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}/* eslint-disable react/no-array-index-key *//* eslint-disable func-names *//* eslint-disable @typescript-eslint/no-explicit-any */import chroma from"chroma-js";import{theme}from"@peak-ai/ais-components/theme";import Markdown from"markdown-to-jsx";import{Card,CardHeader,CardTitle,CardDescription,CardContent,CardFooter}from"../../shadcn/components/ui/card";import{ChartContainer,ChartTooltip,ChartTooltipContent}from"../../shadcn/components/ui/chart";import{Checkbox}from"../../shadcn/components/ui/checkbox";import{HoverCard,HoverCardTrigger,HoverCardContent}from"../../shadcn/components/ui/hover-card";import{Input}from"../../shadcn/components/ui/input";import{Label}from"../../shadcn/components/ui/label";import{Separator}from"../../shadcn/components/ui/separator";import{Textarea}from"../../shadcn/components/ui/textarea";import{Tooltip,TooltipTrigger,TooltipContent}from"../../shadcn/components/ui/tooltip";import{PieChart,Pie,BarChart,Bar,LineChart,Line,XAxis,YAxis,ResponsiveContainer,CartesianGrid,Legend}from"recharts";import{Table,TableHeader,TableRow,TableHead,TableBody,TableCell}from"../../shadcn/components/ui/table";import{cn}from"../../shadcn/utils";import{ScrollArea,ScrollBar}from"../../shadcn/components/ui/scroll-area";import{Tabs,TabsList,TabsTrigger,TabsContent}from"../../shadcn/components/ui/tabs";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var baseColors=[[theme.colors.Blue_100,theme.colors.Blue_30],[theme.colors.Purpley_100,theme.colors.Purpley_30],[theme.colors.Light_Bluish_Green,"#06601b"],[theme.colors.Wild_Strawberry,"#4d001c"]];function getNColors(n){var colors=[];// const pallette = pallettes[Math.floor(Math.random() * pallettes.length)];
|
|
2
2
|
for(var _iterator=_createForOfIteratorHelperLoose(baseColors),_step;!(_step=_iterator()).done;){var baseColor=_step.value;// eslint-disable-next-line import/no-named-as-default-member
|
|
3
|
-
colors.push(chroma.scale(baseColor).mode("lab").colors(n))}function getOneColor(existing){var color=null;do{var base=colors[Math.floor(Math.random()*colors.length)];var selectedColorIndex=Math.floor(Math.random()*base.length);color=base[selectedColorIndex]}while(existing.includes(color));return color}var selectedColors=[];for(var i=0;i<n;i++){selectedColors.push(getOneColor(selectedColors))}return selectedColors}export function renderActionCard(props){var _props$headerContent=props.headerContent,headerContent=_props$headerContent===void 0?"Default Action Card Title":_props$headerContent,icon=props.icon,_props$bodyContent=props.bodyContent,bodyContent=_props$bodyContent===void 0?"Default body content. Click to edit.":_props$bodyContent,rest=_objectWithoutPropertiesLoose(props,_excluded);var defaultClasses="bg-white text-black p-4 rounded-lg shadow border w-full max-w-full min-h-[180px]";return/*#__PURE__*/_jsx(Card,_extends({className:defaultClasses,isEditable:false,contentEditable:false},rest,{children:/*#__PURE__*/_jsx(CardContent,{className:"p-0",isEditable:false,contentEditable:false,children:/*#__PURE__*/_jsx("div",{className:"px-4 py-3",children:/*#__PURE__*/_jsxs("div",{className:"flex items-start",children:[/*#__PURE__*/_jsx("span",{className:"text-5xl mr-2","aria-hidden":"true",children:icon}),/*#__PURE__*/_jsxs("div",{className:"flex-1",children:[/*#__PURE__*/_jsx("div",{className:"text-xl font-semibold",children:headerContent}),/*#__PURE__*/_jsx("div",{className:"text-base leading-relaxed mt-1",children:bodyContent})]})]})})})}))}export function renderCard(props){var _props$headerContent2=props.headerContent,headerContent=_props$headerContent2===void 0?"Default Card Title":_props$headerContent2,_props$headerDescript=props.headerDescription,headerDescription=_props$headerDescript===void 0?"Default header description":_props$headerDescript,_props$bodyContent2=props.bodyContent,bodyContent=_props$bodyContent2===void 0?"Default body content. Click to edit.":_props$bodyContent2,_props$footerContent=props.footerContent,footerContent=_props$footerContent===void 0?"":_props$footerContent,_props$contentMetadat=props.contentMetadata,contentMetadata=_props$contentMetadat===void 0?"":_props$contentMetadat,className=props.className,_props$isEditable=props.isEditable,isEditable=_props$isEditable===void 0?false:_props$isEditable,rest=_objectWithoutPropertiesLoose(props,_excluded2);var defaultClasses="bg-white text-black p-4 rounded-lg shadow border";var mergedCardClassName=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs(Card,_extends({},rest,{className:mergedCardClassName,children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"headerContent",contentEditable:isEditable,className:"text-lg",children:headerContent}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"headerDescription",contentEditable:isEditable,className:"text-sm",children:headerDescription})]}),/*#__PURE__*/_jsxs(CardContent,{"data-slot":"bodyContent",contentEditable:false,children:[/*#__PURE__*/_jsx("div",{className:"text-4xl font-semibold truncate",children:bodyContent}),contentMetadata&&/*#__PURE__*/_jsx("div",{className:"text-xs",style:{color:"#2A44D4"},children:contentMetadata})]}),/*#__PURE__*/_jsx(CardFooter,{"data-slot":"footerContent",contentEditable:isEditable,className:"text-sm",children:footerContent})]}))}function renderChartComponent(chartType,data,config){switch(chartType){case"pie":return/*#__PURE__*/_jsxs(PieChart,{children:[data.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:data,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:data.length<20?function(_ref){var name=_ref.name,percent=_ref.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]});case"bar":config.dataKeys=config.dataKeys||[];return/*#__PURE__*/_jsxs(BarChart,_extends({data:data},config.chartUi,{children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(Legend,{align:"left",wrapperStyle:{marginLeft:20}}),config.dataKeys.map(function(_ref2){var key=_ref2.key,name=_ref2.name,color=_ref2.color;return/*#__PURE__*/_jsx(Bar,{dataKey:key,fill:color!=null?color:"#4caf50",name:name,radius:2},key)}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})})]}));case"line":config.dataKeys=config.dataKeys||[];return/*#__PURE__*/_jsxs(LineChart,{data:data,children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})}),config.dataKeys.map(function(_ref3){var key=_ref3.key,name=_ref3.name,color=_ref3.color;return/*#__PURE__*/_jsx(Line,{type:"monotone",dataKey:key,stroke:color!=null?color:"#4caf50",name:name},key)}),/*#__PURE__*/_jsx(Legend,{align:"left"})]});default:return/*#__PURE__*/_jsxs(PieChart,{children:[data.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:data,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:data.length<20?function(_ref4){var name=_ref4.name,percent=_ref4.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]})}}export function renderChart(props){var _props$config=props.config,config=_props$config===void 0?{}:_props$config,_props$chartType=props.chartType,chartType=_props$chartType===void 0?"pie":_props$chartType,_props$chartData=props.chartData,chartData=_props$chartData===void 0?[]:_props$chartData,className=props.className,_props$isEditable2=props.isEditable,isEditable=_props$isEditable2===void 0?false:_props$isEditable2,_props$title=props.title,title=_props$title===void 0?"Title":_props$title,_props$subTitle=props.subTitle,subTitle=_props$subTitle===void 0?"Subtitle":_props$subTitle,rest=_objectWithoutPropertiesLoose(props,_excluded3);var defaultClasses="aspect-auto h-[250px] w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;if(chartType==="pie"){var colors=getNColors(chartData.length);for(var i=0;i<chartData.length;i++){var data=chartData[i];if(!data.fill){data.fill=colors[i]}}}else if(!config.color){config.color=baseColors[Math.floor(Math.random()*baseColors.length)]}var width=undefined;if(chartType==="bar"){var totalDataPoints=chartData.length*config.dataKeys.length;config.chartUi={};if(totalDataPoints>15){width=totalDataPoints*15+config.dataKeys.length*3*chartData.length+chartData.length*10;config.chartUi={barSize:15,barGap:3,barCategoryGap:0.5,width:width}}}return/*#__PURE__*/_jsxs(Card,{className:"shadow border mt-2 mb-2",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-3xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:false,className:"px-6",children:chartType==="bar"&&config.chartUi?/*#__PURE__*/_jsx(ResponsiveContainer,{width:"95%",height:250,children:/*#__PURE__*/_jsxs(ScrollArea,{children:[/*#__PURE__*/_jsx("div",{className:width?"min-w-["+width+"px] w-full":"w-full",children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))}),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]})}):/*#__PURE__*/_jsx(ResponsiveContainer,{width:"95%",height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))})})]})}export function renderTable(props){var _props$data=props.data,data=_props$data===void 0?[]:_props$data,_props$headerMapper=props.headerMapper,headerMapper=_props$headerMapper===void 0?{}:_props$headerMapper,className=props.className,_props$isEditable3=props.isEditable,isEditable=_props$isEditable3===void 0?false:_props$isEditable3,_props$title2=props.title,title=_props$title2===void 0?"Title":_props$title2,_props$subTitle2=props.subTitle,subTitle=_props$subTitle2===void 0?"Subtitle":_props$subTitle2,rest=_objectWithoutPropertiesLoose(props,_excluded4);var parsedData=data.map(function(datum){var newData=_extends({},datum);delete newData.id;return newData});var headers=Object.keys(parsedData[0]||{}).map(function(header){return headerMapper[header]||header});var rows=parsedData.map(function(datum){return Object.values(datum)});var defaultClasses="aspect-auto h-[250px] w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;var tableData=/*#__PURE__*/_jsxs(ScrollArea,{"data-slot":"table-container",className:mergedClasses,children:[/*#__PURE__*/_jsxs(Table,_extends({},rest,{className:"caption-bottom text-sm "+mergedClasses,"data-slot":"table",children:[/*#__PURE__*/_jsx(TableHeader,{"data-slot":"table-header",className:"sticky top-0",children:/*#__PURE__*/_jsx(TableRow,{children:headers.map(function(head,idx){return/*#__PURE__*/_jsx(TableHead,{"data-slot":"table-header-"+idx,contentEditable:isEditable,children:head},idx)})})}),/*#__PURE__*/_jsx(TableBody,{"data-slot":"table-body",children:rows.map(function(row,rIdx){return/*#__PURE__*/_jsx(TableRow,{"data-slot":"row-"+rIdx,className:"hover:bg-muted/50 border-b transition-colors",children:row.map(function(cell,cIdx){return/*#__PURE__*/_jsx(TableCell,{"data-slot":"cell-"+rIdx+"-"+cIdx,className:"p-2 align-middle whitespace-nowrap",contentEditable:false,children:cell},cIdx)})},rIdx)})})]})),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]});return/*#__PURE__*/_jsxs(Card,{className:"shadow border",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-3xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:false,children:tableData})]})}export function renderCheckbox(props){var _props$label=props.label,label=_props$label===void 0?"":_props$label,_props$defaultChecked=props.defaultChecked,defaultChecked=_props$defaultChecked===void 0?false:_props$defaultChecked,className=props.className,_props$isEditable4=props.isEditable,isEditable=_props$isEditable4===void 0?false:_props$isEditable4,rest=_objectWithoutPropertiesLoose(props,_excluded5);var defaultClasses="flex items-center";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(Checkbox,{defaultChecked:defaultChecked}),label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"ml-2",children:label})]}))}export function renderHoverCard(props){var _props$triggerContent=props.triggerContent,triggerContent=_props$triggerContent===void 0?"Hover over me":_props$triggerContent,_props$cardContent=props.cardContent,cardContent=_props$cardContent===void 0?"Additional information":_props$cardContent,className=props.className,_props$isEditable5=props.isEditable,isEditable=_props$isEditable5===void 0?false:_props$isEditable5,rest=_objectWithoutPropertiesLoose(props,_excluded6);var defaultClasses="w-[320px] max-w-[320px] shadow rounded-lg";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs(HoverCard,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(HoverCardTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(HoverCardContent,{children:/*#__PURE__*/_jsx("div",{"data-slot":"cardContent",contentEditable:isEditable,children:cardContent})})]}))}export function renderInput(props){var _props$label2=props.label,label=_props$label2===void 0?"":_props$label2,_props$placeholder=props.placeholder,placeholder=_props$placeholder===void 0?"":_props$placeholder,_props$value=props.value,value=_props$value===void 0?"":_props$value,className=props.className,_props$isEditable6=props.isEditable,isEditable=_props$isEditable6===void 0?false:_props$isEditable6,rest=_objectWithoutPropertiesLoose(props,_excluded7);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Input,{placeholder:placeholder,value:value})]}))}export function renderLabel(props){var _props$text=props.text,text=_props$text===void 0?"Label":_props$text,className=props.className,_props$isEditable7=props.isEditable,isEditable=_props$isEditable7===void 0?false:_props$isEditable7,rest=_objectWithoutPropertiesLoose(props,_excluded8);var defaultClasses="text-base font-semibold mb-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Label,_extends({"data-slot":"text",contentEditable:isEditable,className:merged},rest,{children:text}))}export function renderSeparator(props){var className=props.className,rest=_objectWithoutPropertiesLoose(props,_excluded9);var defaultClasses="my-4 border-t-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Separator,_extends({className:merged},rest))}export function renderTextarea(props){var _props$label3=props.label,label=_props$label3===void 0?"":_props$label3,_props$placeholder2=props.placeholder,placeholder=_props$placeholder2===void 0?"":_props$placeholder2,_props$value2=props.value,value=_props$value2===void 0?"":_props$value2,className=props.className,_props$isEditable8=props.isEditable,isEditable=_props$isEditable8===void 0?false:_props$isEditable8,rest=_objectWithoutPropertiesLoose(props,_excluded10);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Textarea,{placeholder:placeholder,value:value})]}))}export function renderTooltip(props){var _props$triggerContent2=props.triggerContent,triggerContent=_props$triggerContent2===void 0?"Hover here":_props$triggerContent2,_props$tooltipContent=props.tooltipContent,tooltipContent=_props$tooltipContent===void 0?"Tooltip information":_props$tooltipContent,className=props.className,_props$isEditable9=props.isEditable,isEditable=_props$isEditable9===void 0?false:_props$isEditable9,rest=_objectWithoutPropertiesLoose(props,_excluded11);var merged=className||"";return/*#__PURE__*/_jsxs(Tooltip,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(TooltipTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(TooltipContent,{"data-slot":"tooltipContent",contentEditable:isEditable,children:tooltipContent})]}))}export function renderTab(props){var tabsWidth=200;if(props.tabs.length>4){tabsWidth=150}return/*#__PURE__*/_jsxs(Tabs,{defaultValue:props.defaultValue,children:[/*#__PURE__*/_jsx("div",{className:"text-center mb-4",children:/*#__PURE__*/_jsx(TabsList,{className:"bg-gray-300",children:props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsTrigger,{value:tab,className:"text-md w-["+tabsWidth+"px]",children:tab},tab)})})}),props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsContent,{value:tab,className:"tabs-content"},tab)})]})}export function renderMarkdown(props){var _props$summaryText=props.summaryText,summaryText=_props$summaryText===void 0?"":_props$summaryText;return/*#__PURE__*/_jsx("div",{className:"px-[1em]",children:/*#__PURE__*/_jsx(Markdown,{options:{overrides:{ul:{props:{className:"list-disc"}},h1:{props:{className:"text-4xl font-bold leading-[4rem]"}},h2:{props:{className:"text-3xl font-bold leading-[3.5rem]"}},h3:{props:{className:"text-2xl font-bold leading-[3rem]"}},h4:{props:{className:"text-xl font-bold leading-[2.5rem]"}},h5:{props:{className:"text-lg font-bold leading-[2.5rem]"}},h6:{props:{className:"text-base font-bold leading-[2rem]"}}}},children:summaryText})})}export function getRenderers(){return{ActionCard:renderActionCard,Card:renderCard,Chart:renderChart,Checkbox:renderCheckbox,HoverCard:renderHoverCard,Input:renderInput,Label:renderLabel,Markdown:renderMarkdown,Separator:renderSeparator,Table:renderTable,Tabs:renderTab,Textarea:renderTextarea,Tooltip:renderTooltip}}
|
|
3
|
+
colors.push(chroma.scale(baseColor).mode("lab").colors(n))}function getOneColor(existing){var color=null;do{var base=colors[Math.floor(Math.random()*colors.length)];var selectedColorIndex=Math.floor(Math.random()*base.length);color=base[selectedColorIndex]}while(existing.includes(color));return color}var selectedColors=[];for(var i=0;i<n;i++){selectedColors.push(getOneColor(selectedColors))}return selectedColors}export function renderActionCard(props){var _props$headerContent=props.headerContent,headerContent=_props$headerContent===void 0?"Default Action Card Title":_props$headerContent,icon=props.icon,_props$bodyContent=props.bodyContent,bodyContent=_props$bodyContent===void 0?"Default body content. Click to edit.":_props$bodyContent,rest=_objectWithoutPropertiesLoose(props,_excluded);var defaultClasses="bg-white text-black p-4 rounded-lg shadow border w-full max-w-full min-h-[180px]";return/*#__PURE__*/_jsx(Card,_extends({className:defaultClasses,isEditable:false,contentEditable:false},rest,{children:/*#__PURE__*/_jsx(CardContent,{className:"p-0",isEditable:false,contentEditable:false,children:/*#__PURE__*/_jsx("div",{className:"px-4 py-3",children:/*#__PURE__*/_jsxs("div",{className:"flex items-start",children:[/*#__PURE__*/_jsx("span",{className:"text-5xl mr-2","aria-hidden":"true",children:icon}),/*#__PURE__*/_jsxs("div",{className:"flex-1",children:[/*#__PURE__*/_jsx("div",{className:"text-xl font-semibold",children:headerContent}),/*#__PURE__*/_jsx("div",{className:"text-base leading-relaxed mt-1",children:bodyContent})]})]})})})}))}export function renderCard(props){var _props$headerContent2=props.headerContent,headerContent=_props$headerContent2===void 0?"Default Card Title":_props$headerContent2,_props$headerDescript=props.headerDescription,headerDescription=_props$headerDescript===void 0?"Default header description":_props$headerDescript,_props$bodyContent2=props.bodyContent,bodyContent=_props$bodyContent2===void 0?"Default body content. Click to edit.":_props$bodyContent2,_props$footerContent=props.footerContent,footerContent=_props$footerContent===void 0?"":_props$footerContent,footerClass=props.footerClass,footerIcon=props.footerIcon,_props$contentMetadat=props.contentMetadata,contentMetadata=_props$contentMetadat===void 0?"":_props$contentMetadat,className=props.className,_props$isEditable=props.isEditable,isEditable=_props$isEditable===void 0?false:_props$isEditable,rest=_objectWithoutPropertiesLoose(props,_excluded2);var defaultClasses="bg-white text-black p-4 rounded-lg shadow border";var defaultFooterClasses="text-sm";var mergedCardClassName=className?cn(defaultClasses,className):defaultClasses;var mergedFooterClassName=footerClass?cn(defaultFooterClasses,footerClass):defaultFooterClasses;return/*#__PURE__*/_jsxs(Card,_extends({},rest,{className:mergedCardClassName,children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"headerContent",contentEditable:isEditable,className:"text-lg",children:headerContent}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"headerDescription",contentEditable:isEditable,className:"text-sm",children:headerDescription})]}),/*#__PURE__*/_jsxs(CardContent,{"data-slot":"bodyContent",contentEditable:false,children:[/*#__PURE__*/_jsx("div",{className:"text-4xl font-semibold truncate",children:bodyContent}),contentMetadata&&/*#__PURE__*/_jsx("div",{className:"text-xs",style:{color:"#2A44D4"},children:contentMetadata})]}),/*#__PURE__*/_jsxs(CardFooter,{"data-slot":"footerContent",contentEditable:isEditable,className:mergedFooterClassName,children:[footerIcon&&/*#__PURE__*/_jsx("span",{className:"mr-2","aria-hidden":"true",children:footerIcon}),footerContent]})]}))}function renderChartComponent(chartType,data,config){switch(chartType){case"pie":return/*#__PURE__*/_jsxs(PieChart,{children:[data.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:data,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:data.length<20?function(_ref){var name=_ref.name,percent=_ref.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]});case"bar":config.dataKeys=config.dataKeys||[];return/*#__PURE__*/_jsxs(BarChart,_extends({data:data},config.chartUi,{children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(Legend,{align:"left",wrapperStyle:{marginLeft:20}}),config.dataKeys.map(function(_ref2){var key=_ref2.key,name=_ref2.name,color=_ref2.color;return/*#__PURE__*/_jsx(Bar,{dataKey:key,fill:color!=null?color:"#4caf50",name:name,radius:2},key)}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})})]}));case"line":config.dataKeys=config.dataKeys||[];return/*#__PURE__*/_jsxs(LineChart,{data:data,children:[/*#__PURE__*/_jsx(CartesianGrid,{vertical:false}),/*#__PURE__*/_jsx(XAxis,{dataKey:config.xAxis}),/*#__PURE__*/_jsx(YAxis,{}),/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{indicator:"dashed"})}),config.dataKeys.map(function(_ref3){var key=_ref3.key,name=_ref3.name,color=_ref3.color;return/*#__PURE__*/_jsx(Line,{type:"monotone",dataKey:key,stroke:color!=null?color:"#4caf50",name:name},key)}),/*#__PURE__*/_jsx(Legend,{align:"left"})]});default:return/*#__PURE__*/_jsxs(PieChart,{children:[data.length>=20&&/*#__PURE__*/_jsx(ChartTooltip,{cursor:false,content:/*#__PURE__*/_jsx(ChartTooltipContent,{hideLabel:true})}),/*#__PURE__*/_jsx(Pie,{data:data,dataKey:config.dataKey,nameKey:config.nameKey,innerRadius:60,strokeWidth:10,label:data.length<20?function(_ref4){var name=_ref4.name,percent=_ref4.percent;return name+": "+(percent*100).toFixed(0)+"%"}:undefined,labelLine:false})]})}}export function renderChart(props){var _props$config=props.config,config=_props$config===void 0?{}:_props$config,_props$chartType=props.chartType,chartType=_props$chartType===void 0?"pie":_props$chartType,_props$chartData=props.chartData,chartData=_props$chartData===void 0?[]:_props$chartData,className=props.className,_props$isEditable2=props.isEditable,isEditable=_props$isEditable2===void 0?false:_props$isEditable2,_props$title=props.title,title=_props$title===void 0?"Title":_props$title,_props$subTitle=props.subTitle,subTitle=_props$subTitle===void 0?"Subtitle":_props$subTitle,rest=_objectWithoutPropertiesLoose(props,_excluded3);var defaultClasses="aspect-auto h-[250px] w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;if(chartType==="pie"){var colors=getNColors(chartData.length);for(var i=0;i<chartData.length;i++){var data=chartData[i];if(!data.fill){data.fill=colors[i]}}}else if(!config.color){config.color=baseColors[Math.floor(Math.random()*baseColors.length)]}var width=undefined;if(chartType==="bar"){var totalDataPoints=chartData.length*config.dataKeys.length;config.chartUi={};if(totalDataPoints>15){width=totalDataPoints*15+config.dataKeys.length*3*chartData.length+chartData.length*10;config.chartUi={barSize:15,barGap:3,barCategoryGap:0.5,width:width}}}return/*#__PURE__*/_jsxs(Card,{className:"shadow border mt-2 mb-2",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-3xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:false,className:"px-6",children:chartType==="bar"&&config.chartUi?/*#__PURE__*/_jsx(ResponsiveContainer,{width:"95%",height:250,children:/*#__PURE__*/_jsxs(ScrollArea,{children:[/*#__PURE__*/_jsx("div",{className:width?"min-w-["+width+"px] w-full":"w-full",children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))}),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]})}):/*#__PURE__*/_jsx(ResponsiveContainer,{width:"95%",height:250,children:/*#__PURE__*/_jsx(ChartContainer,_extends({},rest,{config:config,className:mergedClasses,children:renderChartComponent(chartType,chartData,config)}))})})]})}export function renderTable(props){var _props$data=props.data,data=_props$data===void 0?[]:_props$data,_props$headerMapper=props.headerMapper,headerMapper=_props$headerMapper===void 0?{}:_props$headerMapper,className=props.className,_props$isEditable3=props.isEditable,isEditable=_props$isEditable3===void 0?false:_props$isEditable3,_props$title2=props.title,title=_props$title2===void 0?"Title":_props$title2,_props$subTitle2=props.subTitle,subTitle=_props$subTitle2===void 0?"Subtitle":_props$subTitle2,rest=_objectWithoutPropertiesLoose(props,_excluded4);var parsedData=data.map(function(datum){var newData=_extends({},datum);delete newData.id;return newData});var headers=Object.keys(parsedData[0]||{}).map(function(header){return headerMapper[header]||header});var rows=parsedData.map(function(datum){return Object.values(datum)});var defaultClasses="aspect-auto h-[250px] w-full";var mergedClasses=className?cn(defaultClasses,className):defaultClasses;var tableData=/*#__PURE__*/_jsxs(ScrollArea,{"data-slot":"table-container",className:mergedClasses,children:[/*#__PURE__*/_jsxs(Table,_extends({},rest,{className:"caption-bottom text-sm "+mergedClasses,"data-slot":"table",children:[/*#__PURE__*/_jsx(TableHeader,{"data-slot":"table-header",className:"sticky top-0",children:/*#__PURE__*/_jsx(TableRow,{children:headers.map(function(head,idx){return/*#__PURE__*/_jsx(TableHead,{"data-slot":"header-"+idx,contentEditable:false,children:head},idx)})})}),/*#__PURE__*/_jsx(TableBody,{"data-slot":"table-body",children:rows.map(function(row,rIdx){return/*#__PURE__*/_jsx(TableRow,{"data-slot":"row-"+rIdx,className:"hover:bg-muted/50 border-b transition-colors",children:row.map(function(cell,cIdx){return/*#__PURE__*/_jsx(TableCell,{"data-slot":"cell-"+rIdx+"-"+cIdx,className:"p-2 align-middle whitespace-nowrap",contentEditable:false,children:cell},cIdx)})},rIdx)})})]})),/*#__PURE__*/_jsx(ScrollBar,{orientation:"horizontal"})]});return/*#__PURE__*/_jsxs(Card,{className:"shadow border",children:[/*#__PURE__*/_jsxs(CardHeader,{children:[/*#__PURE__*/_jsx(CardTitle,{"data-slot":"title",contentEditable:isEditable,className:"text-3xl",children:title}),/*#__PURE__*/_jsx(CardDescription,{"data-slot":"subTitle",contentEditable:isEditable,className:"text-sm",children:subTitle})]}),/*#__PURE__*/_jsx(CardContent,{"data-slot":"bodyContent",contentEditable:isEditable,children:tableData})]})}export function renderCheckbox(props){var _props$label=props.label,label=_props$label===void 0?"":_props$label,_props$defaultChecked=props.defaultChecked,defaultChecked=_props$defaultChecked===void 0?false:_props$defaultChecked,className=props.className,_props$isEditable4=props.isEditable,isEditable=_props$isEditable4===void 0?false:_props$isEditable4,rest=_objectWithoutPropertiesLoose(props,_excluded5);var defaultClasses="flex items-center";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(Checkbox,{defaultChecked:defaultChecked}),label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"ml-2",children:label})]}))}export function renderHoverCard(props){var _props$triggerContent=props.triggerContent,triggerContent=_props$triggerContent===void 0?"Hover over me":_props$triggerContent,_props$cardContent=props.cardContent,cardContent=_props$cardContent===void 0?"Additional information":_props$cardContent,className=props.className,_props$isEditable5=props.isEditable,isEditable=_props$isEditable5===void 0?false:_props$isEditable5,rest=_objectWithoutPropertiesLoose(props,_excluded6);var defaultClasses="w-[320px] max-w-[320px] shadow rounded-lg";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs(HoverCard,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(HoverCardTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(HoverCardContent,{children:/*#__PURE__*/_jsx("div",{"data-slot":"cardContent",contentEditable:isEditable,children:cardContent})})]}))}export function renderInput(props){var _props$label2=props.label,label=_props$label2===void 0?"":_props$label2,_props$placeholder=props.placeholder,placeholder=_props$placeholder===void 0?"":_props$placeholder,_props$value=props.value,value=_props$value===void 0?"":_props$value,className=props.className,_props$isEditable6=props.isEditable,isEditable=_props$isEditable6===void 0?false:_props$isEditable6,rest=_objectWithoutPropertiesLoose(props,_excluded7);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Input,{placeholder:placeholder,value:value})]}))}export function renderLabel(props){var _props$text=props.text,text=_props$text===void 0?"Label":_props$text,className=props.className,_props$isEditable7=props.isEditable,isEditable=_props$isEditable7===void 0?false:_props$isEditable7,rest=_objectWithoutPropertiesLoose(props,_excluded8);var defaultClasses="text-base font-semibold mb-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Label,_extends({"data-slot":"text",contentEditable:isEditable,className:merged},rest,{children:text}))}export function renderSeparator(props){var className=props.className,rest=_objectWithoutPropertiesLoose(props,_excluded9);var defaultClasses="my-4 border-t-2";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsx(Separator,_extends({className:merged},rest))}export function renderTextarea(props){var _props$label3=props.label,label=_props$label3===void 0?"":_props$label3,_props$placeholder2=props.placeholder,placeholder=_props$placeholder2===void 0?"":_props$placeholder2,_props$value2=props.value,value=_props$value2===void 0?"":_props$value2,className=props.className,_props$isEditable8=props.isEditable,isEditable=_props$isEditable8===void 0?false:_props$isEditable8,rest=_objectWithoutPropertiesLoose(props,_excluded10);var defaultClasses="w-[320px] p-2 border border-gray-300 rounded-md";var merged=className?cn(defaultClasses,className):defaultClasses;return/*#__PURE__*/_jsxs("div",_extends({className:"flex flex-col "+merged},rest,{children:[label&&/*#__PURE__*/_jsx(Label,{"data-slot":"label",contentEditable:isEditable,className:"mb-1",children:label}),/*#__PURE__*/_jsx(Textarea,{placeholder:placeholder,value:value})]}))}export function renderTooltip(props){var _props$triggerContent2=props.triggerContent,triggerContent=_props$triggerContent2===void 0?"Hover here":_props$triggerContent2,_props$tooltipContent=props.tooltipContent,tooltipContent=_props$tooltipContent===void 0?"Tooltip information":_props$tooltipContent,className=props.className,_props$isEditable9=props.isEditable,isEditable=_props$isEditable9===void 0?false:_props$isEditable9,rest=_objectWithoutPropertiesLoose(props,_excluded11);var merged=className||"";return/*#__PURE__*/_jsxs(Tooltip,_extends({className:merged},rest,{children:[/*#__PURE__*/_jsx(TooltipTrigger,{asChild:true,children:/*#__PURE__*/_jsx("span",{"data-slot":"triggerContent",contentEditable:isEditable,children:triggerContent})}),/*#__PURE__*/_jsx(TooltipContent,{"data-slot":"tooltipContent",contentEditable:isEditable,children:tooltipContent})]}))}export function renderTab(props){var tabsWidth=200;if(props.tabs.length>4){tabsWidth=150}return/*#__PURE__*/_jsxs(Tabs,{defaultValue:props.defaultValue,children:[/*#__PURE__*/_jsx("div",{className:"text-center mb-4",children:/*#__PURE__*/_jsx(TabsList,{className:"bg-gray-300",children:props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsTrigger,{value:tab,className:"text-md w-["+tabsWidth+"px]",children:tab},tab)})})}),props.tabs.map(function(tab){return/*#__PURE__*/_jsx(TabsContent,{value:tab,className:"tabs-content"},tab)})]})}export function renderMarkdown(props){var _props$summaryText=props.summaryText,summaryText=_props$summaryText===void 0?"":_props$summaryText;return/*#__PURE__*/_jsx("div",{className:"px-[1em]",children:/*#__PURE__*/_jsx(Markdown,{options:{overrides:{ul:{props:{className:"list-disc"}},h1:{props:{className:"text-4xl font-bold leading-[4rem]"}},h2:{props:{className:"text-3xl font-bold leading-[3.5rem]"}},h3:{props:{className:"text-2xl font-bold leading-[3rem]"}},h4:{props:{className:"text-xl font-bold leading-[2.5rem]"}},h5:{props:{className:"text-lg font-bold leading-[2.5rem]"}},h6:{props:{className:"text-base font-bold leading-[2rem]"}}}},children:summaryText})})}export function getRenderers(){return{ActionCard:renderActionCard,Card:renderCard,Chart:renderChart,Checkbox:renderCheckbox,HoverCard:renderHoverCard,Input:renderInput,Label:renderLabel,Markdown:renderMarkdown,Separator:renderSeparator,Table:renderTable,Tabs:renderTab,Textarea:renderTextarea,Tooltip:renderTooltip}}
|
|
4
4
|
//# sourceMappingURL=render-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-components.js","names":["chroma","theme","Markdown","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","ChartContainer","ChartTooltip","ChartTooltipContent","Checkbox","HoverCard","HoverCardTrigger","HoverCardContent","Input","Label","Separator","Textarea","Tooltip","TooltipTrigger","TooltipContent","PieChart","Pie","BarChart","Bar","LineChart","Line","XAxis","YAxis","ResponsiveContainer","CartesianGrid","Legend","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","cn","ScrollArea","ScrollBar","Tabs","TabsList","TabsTrigger","TabsContent","jsx","_jsx","jsxs","_jsxs","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","_props$headerContent","headerContent","icon","_props$bodyContent","bodyContent","rest","_objectWithoutPropertiesLoose","_excluded","defaultClasses","_extends","className","isEditable","contentEditable","children","renderCard","_props$headerContent2","_props$headerDescript","headerDescription","_props$bodyContent2","_props$footerContent","footerContent","_props$contentMetadat","contentMetadata","_props$isEditable","_excluded2","mergedCardClassName","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$config","_props$chartType","_props$chartData","chartData","_props$isEditable2","_props$title","title","_props$subTitle","subTitle","_excluded3","mergedClasses","width","totalDataPoints","barSize","barGap","barCategoryGap","height","orientation","renderTable","_props$data","_props$headerMapper","headerMapper","_props$isEditable3","_props$title2","_props$subTitle2","_excluded4","parsedData","datum","newData","id","headers","Object","keys","header","rows","values","tableData","head","idx","row","rIdx","cell","cIdx","renderCheckbox","_props$label","_props$defaultChecked","defaultChecked","_props$isEditable4","_excluded5","merged","renderHoverCard","_props$triggerContent","triggerContent","_props$cardContent","cardContent","_props$isEditable5","_excluded6","asChild","renderInput","_props$label2","_props$placeholder","placeholder","_props$value","_props$isEditable6","_excluded7","renderLabel","_props$text","text","_props$isEditable7","_excluded8","renderSeparator","_excluded9","renderTextarea","_props$label3","_props$placeholder2","_props$value2","_props$isEditable8","_excluded10","renderTooltip","_props$triggerContent2","_props$tooltipContent","tooltipContent","_props$isEditable9","_excluded11","renderTab","tabsWidth","tabs","defaultValue","tab","renderMarkdown","_props$summaryText","summaryText","options","overrides","ul","h1","h2","h3","h4","h5","h6","getRenderers","ActionCard","Chart"],"sources":["../../../src/plugins/helpers/render-components.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport chroma from 'chroma-js';\n\nimport { theme } from '@peak-ai/ais-components/theme';\nimport Markdown from 'markdown-to-jsx';\n\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 { Checkbox } from '../../shadcn/components/ui/checkbox';\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from '../../shadcn/components/ui/hover-card';\nimport { Input } from '../../shadcn/components/ui/input';\nimport { Label } from '../../shadcn/components/ui/label';\nimport { Separator } from '../../shadcn/components/ui/separator';\nimport { Textarea } from '../../shadcn/components/ui/textarea';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../../shadcn/components/ui/tooltip';\nimport {\n PieChart,\n Pie,\n BarChart,\n Bar,\n LineChart,\n Line,\n XAxis,\n YAxis,\n ResponsiveContainer,\n CartesianGrid,\n Legend,\n} from 'recharts';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n} from '../../shadcn/components/ui/table';\nimport { cn } from '../../shadcn/utils';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../shadcn/components/ui/tabs';\nimport { JSX } from 'react';\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 // const pallette = pallettes[Math.floor(Math.random() * pallettes.length)];\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\nexport function renderActionCard(props: any): JSX.Element {\n const {\n headerContent = 'Default Action Card Title',\n icon,\n bodyContent = 'Default body content. Click to edit.',\n ...rest\n } = props;\n\n const defaultClasses =\n 'bg-white text-black p-4 rounded-lg shadow border w-full max-w-full min-h-[180px]';\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\n <div className=\"flex-1\">\n <div className=\"text-xl font-semibold\">{headerContent}</div>\n <div className=\"text-base leading-relaxed mt-1\">{bodyContent}</div>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCard(props: any): JSX.Element {\n const {\n headerContent = 'Default Card Title',\n headerDescription = 'Default header description',\n bodyContent = 'Default body content. Click to edit.',\n footerContent = '',\n contentMetadata = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n\n const defaultClasses = 'bg-white text-black p-4 rounded-lg shadow border';\n const mergedCardClassName = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <Card {...rest} className={mergedCardClassName}>\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 <CardContent data-slot=\"bodyContent\" contentEditable={false}>\n <div className=\"text-4xl font-semibold truncate\">{bodyContent}</div>\n {contentMetadata && (\n <div className=\"text-xs\" style={{ color: '#2A44D4' }}>\n {contentMetadata}\n </div>\n )}\n </CardContent>\n\n <CardFooter data-slot=\"footerContent\" contentEditable={isEditable} className=\"text-sm\">\n {footerContent}\n </CardFooter>\n </Card>\n );\n}\n\nfunction renderChartComponent(chartType: string, data: any, config: any): JSX.Element {\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}: ${(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}: ${(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 {\n config = {},\n chartType = 'pie',\n chartData = [],\n className,\n isEditable = false,\n title = 'Title',\n subTitle = 'Subtitle',\n ...rest\n } = props;\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\n if (chartType === 'bar') {\n const totalDataPoints = chartData.length * config.dataKeys.length;\n config.chartUi = {};\n\n if (totalDataPoints > 15) {\n width =\n totalDataPoints * 15 +\n config.dataKeys.length * 3 * chartData.length +\n chartData.length * 10;\n config.chartUi = {\n barSize: 15,\n barGap: 3,\n barCategoryGap: 0.5,\n width,\n };\n }\n }\n\n return (\n <Card className=\"shadow border mt-2 mb-2\">\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-3xl\">\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} className=\"px-6\">\n {chartType === 'bar' && config.chartUi ? (\n <ResponsiveContainer width=\"95%\" height={250}>\n <ScrollArea>\n <div className={width ? `min-w-[${width}px] w-full` : 'w-full'}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </ResponsiveContainer>\n ) : (\n <ResponsiveContainer width=\"95%\" height={250}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </ResponsiveContainer>\n )}\n </CardContent>\n </Card>\n );\n}\n\nexport function renderTable(props: any): JSX.Element {\n const {\n data = [],\n headerMapper = {},\n className,\n isEditable = false,\n title = 'Title',\n subTitle = 'Subtitle',\n ...rest\n } = props;\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 const headers = Object.keys(parsedData[0] || {}).map((header) => headerMapper[header] || header);\n const rows = parsedData.map((datum: any) => Object.values(datum));\n\n const defaultClasses = 'aspect-auto h-[250px] w-full';\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n const tableData = (\n <ScrollArea data-slot=\"table-container\" className={mergedClasses}>\n <Table {...rest} className={`caption-bottom text-sm ${mergedClasses}`} data-slot=\"table\">\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0\">\n <TableRow>\n {headers.map((head: string, idx: number) => (\n <TableHead key={idx} data-slot={`table-header-${idx}`} contentEditable={isEditable}>\n {head}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n );\n\n return (\n <Card className=\"shadow border\">\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-3xl\">\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 {tableData}\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCheckbox(props: any): JSX.Element {\n const { label = '', defaultChecked = false, className, isEditable = false, ...rest } = props;\n const defaultClasses = 'flex items-center';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={merged} {...rest}>\n <Checkbox defaultChecked={defaultChecked} />\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"ml-2\">\n {label}\n </Label>\n )}\n </div>\n );\n}\n\nexport function renderHoverCard(props: any): JSX.Element {\n const {\n triggerContent = 'Hover over me',\n cardContent = 'Additional information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] max-w-[320px] shadow rounded-lg';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <HoverCard className={merged} {...rest}>\n <HoverCardTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </HoverCardTrigger>\n <HoverCardContent>\n <div data-slot=\"cardContent\" contentEditable={isEditable}>\n {cardContent}\n </div>\n </HoverCardContent>\n </HoverCard>\n );\n}\n\nexport function renderInput(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Input placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderLabel(props: any): JSX.Element {\n const { text = 'Label', className, isEditable = false, ...rest } = props;\n const defaultClasses = 'text-base font-semibold mb-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <Label data-slot=\"text\" contentEditable={isEditable} className={merged} {...rest}>\n {text}\n </Label>\n );\n}\n\nexport function renderSeparator(props: any): JSX.Element {\n const { className, ...rest } = props;\n const defaultClasses = 'my-4 border-t-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return <Separator className={merged} {...rest} />;\n}\n\nexport function renderTextarea(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Textarea placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderTooltip(props: any): JSX.Element {\n const {\n triggerContent = 'Hover here',\n tooltipContent = 'Tooltip information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const merged = className || '';\n\n return (\n <Tooltip className={merged} {...rest}>\n <TooltipTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </TooltipTrigger>\n <TooltipContent data-slot=\"tooltipContent\" contentEditable={isEditable}>\n {tooltipContent}\n </TooltipContent>\n </Tooltip>\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 { summaryText = '' } = props;\n\n return (\n <div className=\"px-[1em]\">\n <Markdown\n options={{\n overrides: {\n ul: {\n props: {\n className: 'list-disc',\n },\n },\n h1: {\n props: {\n className: 'text-4xl font-bold leading-[4rem]',\n },\n },\n h2: {\n props: {\n className: 'text-3xl font-bold leading-[3.5rem]',\n },\n },\n h3: {\n props: {\n className: 'text-2xl font-bold leading-[3rem]',\n },\n },\n h4: {\n props: {\n className: 'text-xl font-bold leading-[2.5rem]',\n },\n },\n h5: {\n props: {\n className: 'text-lg font-bold leading-[2.5rem]',\n },\n },\n h6: {\n props: {\n className: 'text-base font-bold leading-[2rem]',\n },\n },\n },\n }}\n >\n {summaryText}\n </Markdown>\n </div>\n );\n}\n\nexport function getRenderers(): Record<string, (props: any) => JSX.Element> {\n return {\n ActionCard: renderActionCard,\n Card: renderCard,\n Chart: renderChart,\n Checkbox: renderCheckbox,\n HoverCard: renderHoverCard,\n Input: renderInput,\n Label: renderLabel,\n Markdown: renderMarkdown,\n Separator: renderSeparator,\n Table: renderTable,\n Tabs: renderTab,\n Textarea: renderTextarea,\n Tooltip: renderTooltip,\n };\n}\n"],"mappings":"izDAAA,6CACA,+BACA,uDACA,MAAO,CAAAA,MAAM,KAAM,WAAW,CAE9B,OAASC,KAAK,KAAQ,+BAA+B,CACrD,MAAO,CAAAC,QAAQ,KAAM,iBAAiB,CAEtC,OACEC,IAAI,CACJC,UAAU,CACVC,SAAS,CACTC,eAAe,CACfC,WAAW,CACXC,UAAU,KACL,iCAAiC,CACxC,OACEC,cAAc,CACdC,YAAY,CACZC,mBAAmB,KACd,kCAAkC,CACzC,OAASC,QAAQ,KAAQ,qCAAqC,CAC9D,OACEC,SAAS,CACTC,gBAAgB,CAChBC,gBAAgB,KACX,uCAAuC,CAC9C,OAASC,KAAK,KAAQ,kCAAkC,CACxD,OAASC,KAAK,KAAQ,kCAAkC,CACxD,OAASC,SAAS,KAAQ,sCAAsC,CAChE,OAASC,QAAQ,KAAQ,qCAAqC,CAC9D,OAASC,OAAO,CAAEC,cAAc,CAAEC,cAAc,KAAQ,oCAAoC,CAC5F,OACEC,QAAQ,CACRC,GAAG,CACHC,QAAQ,CACRC,GAAG,CACHC,SAAS,CACTC,IAAI,CACJC,KAAK,CACLC,KAAK,CACLC,mBAAmB,CACnBC,aAAa,CACbC,MAAM,KACD,UAAU,CACjB,OACEC,KAAK,CACLC,WAAW,CACXC,QAAQ,CACRC,SAAS,CACTC,SAAS,CACTC,SAAS,KACJ,kCAAkC,CACzC,OAASC,EAAE,KAAQ,oBAAoB,CACvC,OAASC,UAAU,CAAEC,SAAS,KAAQ,wCAAwC,CAC9E,OAASC,IAAI,CAAEC,QAAQ,CAAEC,WAAW,CAAEC,WAAW,KAAQ,iCAAiC,CAAC,OAAAC,GAAA,IAAAC,IAAA,CAAAC,IAAA,IAAAC,KAAA,yBAG3F,GAAM,CAAAC,UAAU,CAAG,CACjB,CAAClD,KAAK,CAACmD,MAAM,CAACC,QAAQ,CAAEpD,KAAK,CAACmD,MAAM,CAACE,OAAO,CAAC,CAC7C,CAACrD,KAAK,CAACmD,MAAM,CAACG,WAAW,CAAEtD,KAAK,CAACmD,MAAM,CAACI,UAAU,CAAC,CACnD,CAACvD,KAAK,CAACmD,MAAM,CAACK,kBAAkB,CAAE,SAAS,CAAC,CAC5C,CAACxD,KAAK,CAACmD,MAAM,CAACM,eAAe,CAAE,SAAS,CAAC,CAC1C,CAED,QAAS,CAAAC,UAAUA,CAACC,CAAS,CAAE,CAC7B,GAAM,CAAAR,MAAuB,CAAG,EAAE,CAClC;AAEA,QAAAS,SAAA,CAAAC,+BAAA,CAAwBX,UAAU,EAAAY,KAAA,GAAAA,KAAA,CAAAF,SAAA,IAAAG,IAAA,EAAE,IAAzB,CAAAC,SAAS,CAAAF,KAAA,CAAAG,KAAA,CAClB;AACAd,MAAM,CAACe,IAAI,CAACnE,MAAM,CAACoE,KAAK,CAACH,SAAS,CAAC,CAACI,IAAI,CAAC,KAAK,CAAC,CAACjB,MAAM,CAACQ,CAAC,CAAC,CAC3D,CAEA,QAAS,CAAAU,WAAWA,CAACC,QAAuB,CAAE,CAC5C,GAAI,CAAAC,KAAoB,CAAG,IAAI,CAE/B,EAAG,CACD,GAAM,CAAAC,IAAI,CAAGrB,MAAM,CAACsB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAGxB,MAAM,CAACyB,MAAM,CAAC,CAAC,CAC9D,GAAM,CAAAC,kBAAkB,CAAGJ,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAGH,IAAI,CAACI,MAAM,CAAC,CAClEL,KAAK,CAAGC,IAAI,CAACK,kBAAkB,CACjC,CAAC,MAAQP,QAAQ,CAACQ,QAAQ,CAACP,KAAK,CAAC,EAEjC,MAAO,CAAAA,KACT,CAEA,GAAM,CAAAQ,cAA6B,CAAG,EAAE,CAExC,IAAK,GAAI,CAAAC,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGrB,CAAC,CAAEqB,CAAC,EAAE,CAAE,CAC1BD,cAAc,CAACb,IAAI,CAACG,WAAW,CAACU,cAAc,CAAC,CACjD,CAEA,MAAO,CAAAA,cACT,CAEA,MAAO,SAAS,CAAAE,gBAAgBA,CAACC,KAAU,CAAe,CACxD,IAAAC,oBAAA,CAKID,KAAK,CAJPE,aAAa,CAAbA,aAAa,CAAAD,oBAAA,UAAG,2BAA2B,CAAAA,oBAAA,CAC3CE,IAAI,CAGFH,KAAK,CAHPG,IAAI,CAAAC,kBAAA,CAGFJ,KAAK,CAFPK,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,sCAAsC,CAAAA,kBAAA,CACjDE,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAQ,SAAA,EAET,GAAM,CAAAC,cAAc,CAClB,kFAAkF,CAEpF,mBACE5C,IAAA,CAAC7C,IAAI,CAAA0F,QAAA,EAACC,SAAS,CAAEF,cAAe,CAACG,UAAU,CAAE,KAAM,CAACC,eAAe,CAAE,KAAM,EAAKP,IAAI,EAAAQ,QAAA,cAClFjD,IAAA,CAACzC,WAAW,EAACuF,SAAS,CAAC,KAAK,CAACC,UAAU,CAAE,KAAM,CAACC,eAAe,CAAE,KAAM,CAAAC,QAAA,cACrEjD,IAAA,QAAK8C,SAAS,CAAC,WAAW,CAAAG,QAAA,cACxB/C,KAAA,QAAK4C,SAAS,CAAC,kBAAkB,CAAAG,QAAA,eAC/BjD,IAAA,SAAM8C,SAAS,CAAC,eAAe,CAAC,cAAY,MAAM,CAAAG,QAAA,CAC/CX,IAAI,CACD,CAAC,cAEPpC,KAAA,QAAK4C,SAAS,CAAC,QAAQ,CAAAG,QAAA,eACrBjD,IAAA,QAAK8C,SAAS,CAAC,uBAAuB,CAAAG,QAAA,CAAEZ,aAAa,CAAM,CAAC,cAC5DrC,IAAA,QAAK8C,SAAS,CAAC,gCAAgC,CAAAG,QAAA,CAAET,WAAW,CAAM,CAAC,EAChE,CAAC,EACH,CAAC,CACH,CAAC,CACK,CAAC,EACV,CAEV,CAEA,MAAO,SAAS,CAAAU,UAAUA,CAACf,KAAU,CAAe,CAClD,IAAAgB,qBAAA,CASIhB,KAAK,CARPE,aAAa,CAAbA,aAAa,CAAAc,qBAAA,UAAG,oBAAoB,CAAAA,qBAAA,CAAAC,qBAAA,CAQlCjB,KAAK,CAPPkB,iBAAiB,CAAjBA,iBAAiB,CAAAD,qBAAA,UAAG,4BAA4B,CAAAA,qBAAA,CAAAE,mBAAA,CAO9CnB,KAAK,CANPK,WAAW,CAAXA,WAAW,CAAAc,mBAAA,UAAG,sCAAsC,CAAAA,mBAAA,CAAAC,oBAAA,CAMlDpB,KAAK,CALPqB,aAAa,CAAbA,aAAa,CAAAD,oBAAA,UAAG,EAAE,CAAAA,oBAAA,CAAAE,qBAAA,CAKhBtB,KAAK,CAJPuB,eAAe,CAAfA,eAAe,CAAAD,qBAAA,UAAG,EAAE,CAAAA,qBAAA,CACpBX,SAAS,CAGPX,KAAK,CAHPW,SAAS,CAAAa,iBAAA,CAGPxB,KAAK,CAFPY,UAAU,CAAVA,UAAU,CAAAY,iBAAA,UAAG,KAAK,CAAAA,iBAAA,CACflB,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAyB,UAAA,EAET,GAAM,CAAAhB,cAAc,CAAG,kDAAkD,CACzE,GAAM,CAAAiB,mBAAmB,CAAGf,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEtF,mBACE1C,KAAA,CAAC/C,IAAI,CAAA0F,QAAA,IAAKJ,IAAI,EAAEK,SAAS,CAAEe,mBAAoB,CAAAZ,QAAA,eAC7C/C,KAAA,CAAC9C,UAAU,EAAA6F,QAAA,eACTjD,IAAA,CAAC3C,SAAS,EAAC,YAAU,eAAe,CAAC2F,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,SAAS,CAAAG,QAAA,CAClFZ,aAAa,CACL,CAAC,cACZrC,IAAA,CAAC1C,eAAe,EACd,YAAU,mBAAmB,CAC7B0F,eAAe,CAAED,UAAW,CAC5BD,SAAS,CAAC,SAAS,CAAAG,QAAA,CAElBI,iBAAiB,CACH,CAAC,EACR,CAAC,cAEbnD,KAAA,CAAC3C,WAAW,EAAC,YAAU,aAAa,CAACyF,eAAe,CAAE,KAAM,CAAAC,QAAA,eAC1DjD,IAAA,QAAK8C,SAAS,CAAC,iCAAiC,CAAAG,QAAA,CAAET,WAAW,CAAM,CAAC,CACnEkB,eAAe,eACd1D,IAAA,QAAK8C,SAAS,CAAC,SAAS,CAACgB,KAAK,CAAE,CAAEtC,KAAK,CAAE,SAAU,CAAE,CAAAyB,QAAA,CAClDS,eAAe,CACb,CACN,EACU,CAAC,cAEd1D,IAAA,CAACxC,UAAU,EAAC,YAAU,eAAe,CAACwF,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,SAAS,CAAAG,QAAA,CACnFO,aAAa,CACJ,CAAC,GACT,CAEV,CAEA,QAAS,CAAAO,oBAAoBA,CAACC,SAAiB,CAAEC,IAAS,CAAEC,MAAW,CAAe,CACpF,OAAQF,SAAS,EACf,IAAK,KAAK,CACR,mBACE9D,KAAA,CAAC3B,QAAQ,EAAA0E,QAAA,EACNgB,IAAI,CAACpC,MAAM,EAAI,EAAE,eAChB7B,IAAA,CAACtC,YAAY,EAACyG,MAAM,CAAE,KAAM,CAACC,OAAO,cAAEpE,IAAA,CAACrC,mBAAmB,EAAC0G,SAAS,MAAE,CAAE,CAAE,CAC3E,cACDrE,IAAA,CAACxB,GAAG,EACFyF,IAAI,CAAEA,IAAK,CACXK,OAAO,CAAEJ,MAAM,CAACI,OAAQ,CACxBC,OAAO,CAAEL,MAAM,CAACK,OAAQ,CACxBC,WAAW,CAAE,EAAG,CAChBC,WAAW,CAAE,EAAG,CAChBC,KAAK,CACHT,IAAI,CAACpC,MAAM,CAAG,EAAE,CACZ,SAAA8C,IAAA,KAAG,CAAAC,IAAI,CAAAD,IAAA,CAAJC,IAAI,CAAEC,OAAO,CAAAF,IAAA,CAAPE,OAAO,OAAU,CAAAD,IAAI,MAAK,CAACC,OAAO,CAAG,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC,KAAG,CAChEC,SACL,CACDC,SAAS,CAAE,KAAM,CAClB,CAAC,EACM,CAAC,CAEf,IAAK,KAAK,CACRd,MAAM,CAACe,QAAQ,CAAGf,MAAM,CAACe,QAAQ,EAAI,EAAE,CAEvC,mBACE/E,KAAA,CAACzB,QAAQ,CAAAoE,QAAA,EAACoB,IAAI,CAAEA,IAAK,EAAKC,MAAM,CAACgB,OAAO,EAAAjC,QAAA,eACtCjD,IAAA,CAAChB,aAAa,EAACmG,QAAQ,CAAE,KAAM,CAAE,CAAC,cAClCnF,IAAA,CAACnB,KAAK,EAACyF,OAAO,CAAEJ,MAAM,CAACkB,KAAM,CAAE,CAAC,cAChCpF,IAAA,CAAClB,KAAK,GAAE,CAAC,cACTkB,IAAA,CAACf,MAAM,EAACoG,KAAK,CAAC,MAAM,CAACC,YAAY,CAAE,CAAEC,UAAU,CAAE,EAAG,CAAE,CAAE,CAAC,CACxDrB,MAAM,CAACe,QAAQ,CAACO,GAAG,CAClB,SAAAC,KAAA,CAAwE,IAArE,CAAAC,GAAG,CAAAD,KAAA,CAAHC,GAAG,CAAEd,IAAI,CAAAa,KAAA,CAAJb,IAAI,CAAEpD,KAAK,CAAAiE,KAAA,CAALjE,KAAK,CACjB,mBACExB,IAAA,CAACtB,GAAG,EAAC4F,OAAO,CAAEoB,GAAI,CAACC,IAAI,CAAEnE,KAAK,OAALA,KAAK,CAAI,SAAU,CAACoD,IAAI,CAAEA,IAAK,CAAWgB,MAAM,CAAE,CAAE,EAAfF,GAAiB,CAEnF,CACF,CAAC,cACD1F,IAAA,CAACtC,YAAY,EAACyG,MAAM,CAAE,KAAM,CAACC,OAAO,cAAEpE,IAAA,CAACrC,mBAAmB,EAACkI,SAAS,CAAC,QAAQ,CAAE,CAAE,CAAE,CAAC,GAC5E,CAAC,CAEf,IAAK,MAAM,CACT3B,MAAM,CAACe,QAAQ,CAAGf,MAAM,CAACe,QAAQ,EAAI,EAAE,CAEvC,mBACE/E,KAAA,CAACvB,SAAS,EAACsF,IAAI,CAAEA,IAAK,CAAAhB,QAAA,eACpBjD,IAAA,CAAChB,aAAa,EAACmG,QAAQ,CAAE,KAAM,CAAE,CAAC,cAClCnF,IAAA,CAACnB,KAAK,EAACyF,OAAO,CAAEJ,MAAM,CAACkB,KAAM,CAAE,CAAC,cAChCpF,IAAA,CAAClB,KAAK,GAAE,CAAC,cACTkB,IAAA,CAACtC,YAAY,EAACyG,MAAM,CAAE,KAAM,CAACC,OAAO,cAAEpE,IAAA,CAACrC,mBAAmB,EAACkI,SAAS,CAAC,QAAQ,CAAE,CAAE,CAAE,CAAC,CACnF3B,MAAM,CAACe,QAAQ,CAACO,GAAG,CAClB,SAAAM,KAAA,CAAwE,IAArE,CAAAJ,GAAG,CAAAI,KAAA,CAAHJ,GAAG,CAAEd,IAAI,CAAAkB,KAAA,CAAJlB,IAAI,CAAEpD,KAAK,CAAAsE,KAAA,CAALtE,KAAK,CACjB,mBACExB,IAAA,CAACpB,IAAI,EACHmH,IAAI,CAAC,UAAU,CACfzB,OAAO,CAAEoB,GAAI,CACbM,MAAM,CAAExE,KAAK,OAALA,KAAK,CAAI,SAAU,CAC3BoD,IAAI,CAAEA,IAAK,EACNc,GACN,CAEL,CACF,CAAC,cACD1F,IAAA,CAACf,MAAM,EAACoG,KAAK,CAAC,MAAM,CAAE,CAAC,EACd,CAAC,CAEhB,QACE,mBACEnF,KAAA,CAAC3B,QAAQ,EAAA0E,QAAA,EACNgB,IAAI,CAACpC,MAAM,EAAI,EAAE,eAChB7B,IAAA,CAACtC,YAAY,EAACyG,MAAM,CAAE,KAAM,CAACC,OAAO,cAAEpE,IAAA,CAACrC,mBAAmB,EAAC0G,SAAS,MAAE,CAAE,CAAE,CAC3E,cACDrE,IAAA,CAACxB,GAAG,EACFyF,IAAI,CAAEA,IAAK,CACXK,OAAO,CAAEJ,MAAM,CAACI,OAAQ,CACxBC,OAAO,CAAEL,MAAM,CAACK,OAAQ,CACxBC,WAAW,CAAE,EAAG,CAChBC,WAAW,CAAE,EAAG,CAChBC,KAAK,CACHT,IAAI,CAACpC,MAAM,CAAG,EAAE,CACZ,SAAAoE,KAAA,KAAG,CAAArB,IAAI,CAAAqB,KAAA,CAAJrB,IAAI,CAAEC,OAAO,CAAAoB,KAAA,CAAPpB,OAAO,OAAU,CAAAD,IAAI,MAAK,CAACC,OAAO,CAAG,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC,KAAG,CAChEC,SACL,CACDC,SAAS,CAAE,KAAM,CAClB,CAAC,EACM,CAEhB,CACF,CAEA,MAAO,SAAS,CAAAkB,WAAWA,CAAC/D,KAAU,CAAe,CACnD,IAAAgE,aAAA,CASIhE,KAAK,CARP+B,MAAM,CAANA,MAAM,CAAAiC,aAAA,UAAG,CAAC,CAAC,CAAAA,aAAA,CAAAC,gBAAA,CAQTjE,KAAK,CAPP6B,SAAS,CAATA,SAAS,CAAAoC,gBAAA,UAAG,KAAK,CAAAA,gBAAA,CAAAC,gBAAA,CAOflE,KAAK,CANPmE,SAAS,CAATA,SAAS,CAAAD,gBAAA,UAAG,EAAE,CAAAA,gBAAA,CACdvD,SAAS,CAKPX,KAAK,CALPW,SAAS,CAAAyD,kBAAA,CAKPpE,KAAK,CAJPY,UAAU,CAAVA,UAAU,CAAAwD,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAAC,YAAA,CAIhBrE,KAAK,CAHPsE,KAAK,CAALA,KAAK,CAAAD,YAAA,UAAG,OAAO,CAAAA,YAAA,CAAAE,eAAA,CAGbvE,KAAK,CAFPwE,QAAQ,CAARA,QAAQ,CAAAD,eAAA,UAAG,UAAU,CAAAA,eAAA,CAClBjE,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAyE,UAAA,EAET,GAAM,CAAAhE,cAAc,CAAG,8BAA8B,CACrD,GAAM,CAAAiE,aAAa,CAAG/D,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEhF,GAAIoB,SAAS,GAAK,KAAK,CAAE,CACvB,GAAM,CAAA5D,MAAM,CAAGO,UAAU,CAAC2F,SAAS,CAACzE,MAAM,CAAC,CAE3C,IAAK,GAAI,CAAAI,CAAC,CAAG,CAAC,CAAEA,CAAC,CAAGqE,SAAS,CAACzE,MAAM,CAAEI,CAAC,EAAE,CAAE,CACzC,GAAM,CAAAgC,IAAI,CAAGqC,SAAS,CAACrE,CAAC,CAAC,CAEzB,GAAI,CAACgC,IAAI,CAAC0B,IAAI,CAAE,CACd1B,IAAI,CAAC0B,IAAI,CAAGvF,MAAM,CAAC6B,CAAC,CACtB,CACF,CACF,CAAC,IAAM,IAAI,CAACiC,MAAM,CAAC1C,KAAK,CAAE,CACxB0C,MAAM,CAAC1C,KAAK,CAAGrB,UAAU,CAACuB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAGzB,UAAU,CAAC0B,MAAM,CAAC,CACzE,CAEA,GAAI,CAAAiF,KAAyB,CAAG/B,SAAS,CAEzC,GAAIf,SAAS,GAAK,KAAK,CAAE,CACvB,GAAM,CAAA+C,eAAe,CAAGT,SAAS,CAACzE,MAAM,CAAGqC,MAAM,CAACe,QAAQ,CAACpD,MAAM,CACjEqC,MAAM,CAACgB,OAAO,CAAG,CAAC,CAAC,CAEnB,GAAI6B,eAAe,CAAG,EAAE,CAAE,CACxBD,KAAK,CACHC,eAAe,CAAG,EAAE,CACpB7C,MAAM,CAACe,QAAQ,CAACpD,MAAM,CAAG,CAAC,CAAGyE,SAAS,CAACzE,MAAM,CAC7CyE,SAAS,CAACzE,MAAM,CAAG,EAAE,CACvBqC,MAAM,CAACgB,OAAO,CAAG,CACf8B,OAAO,CAAE,EAAE,CACXC,MAAM,CAAE,CAAC,CACTC,cAAc,CAAE,GAAG,CACnBJ,KAAK,CAALA,KACF,CACF,CACF,CAEA,mBACE5G,KAAA,CAAC/C,IAAI,EAAC2F,SAAS,CAAC,yBAAyB,CAAAG,QAAA,eACvC/C,KAAA,CAAC9C,UAAU,EAAA6F,QAAA,eACTjD,IAAA,CAAC3C,SAAS,EAAC,YAAU,OAAO,CAAC2F,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,UAAU,CAAAG,QAAA,CAC3EwD,KAAK,CACG,CAAC,cACZzG,IAAA,CAAC1C,eAAe,EAAC,YAAU,UAAU,CAAC0F,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,SAAS,CAAAG,QAAA,CACnF0D,QAAQ,CACM,CAAC,EACR,CAAC,cACb3G,IAAA,CAACzC,WAAW,EAAC,YAAU,aAAa,CAACyF,eAAe,CAAE,KAAM,CAACF,SAAS,CAAC,MAAM,CAAAG,QAAA,CAC1Ee,SAAS,GAAK,KAAK,EAAIE,MAAM,CAACgB,OAAO,cACpClF,IAAA,CAACjB,mBAAmB,EAAC+H,KAAK,CAAC,KAAK,CAACK,MAAM,CAAE,GAAI,CAAAlE,QAAA,cAC3C/C,KAAA,CAACT,UAAU,EAAAwD,QAAA,eACTjD,IAAA,QAAK8C,SAAS,CAAEgE,KAAK,WAAaA,KAAK,cAAe,QAAS,CAAA7D,QAAA,cAC7DjD,IAAA,CAACvC,cAAc,CAAAoF,QAAA,IAAKJ,IAAI,EAAEyB,MAAM,CAAEA,MAAO,CAACpB,SAAS,CAAE+D,aAAc,CAAA5D,QAAA,CAChEc,oBAAoB,CAACC,SAAS,CAAEsC,SAAS,CAAEpC,MAAM,CAAC,EACrC,CAAC,CACd,CAAC,cACNlE,IAAA,CAACN,SAAS,EAAC0H,WAAW,CAAC,YAAY,CAAE,CAAC,EAC5B,CAAC,CACM,CAAC,cAEtBpH,IAAA,CAACjB,mBAAmB,EAAC+H,KAAK,CAAC,KAAK,CAACK,MAAM,CAAE,GAAI,CAAAlE,QAAA,cAC3CjD,IAAA,CAACvC,cAAc,CAAAoF,QAAA,IAAKJ,IAAI,EAAEyB,MAAM,CAAEA,MAAO,CAACpB,SAAS,CAAE+D,aAAc,CAAA5D,QAAA,CAChEc,oBAAoB,CAACC,SAAS,CAAEsC,SAAS,CAAEpC,MAAM,CAAC,EACrC,CAAC,CACE,CACtB,CACU,CAAC,EACV,CAEV,CAEA,MAAO,SAAS,CAAAmD,WAAWA,CAAClF,KAAU,CAAe,CACnD,IAAAmF,WAAA,CAQInF,KAAK,CAPP8B,IAAI,CAAJA,IAAI,CAAAqD,WAAA,UAAG,EAAE,CAAAA,WAAA,CAAAC,mBAAA,CAOPpF,KAAK,CANPqF,YAAY,CAAZA,YAAY,CAAAD,mBAAA,UAAG,CAAC,CAAC,CAAAA,mBAAA,CACjBzE,SAAS,CAKPX,KAAK,CALPW,SAAS,CAAA2E,kBAAA,CAKPtF,KAAK,CAJPY,UAAU,CAAVA,UAAU,CAAA0E,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAAC,aAAA,CAIhBvF,KAAK,CAHPsE,KAAK,CAALA,KAAK,CAAAiB,aAAA,UAAG,OAAO,CAAAA,aAAA,CAAAC,gBAAA,CAGbxF,KAAK,CAFPwE,QAAQ,CAARA,QAAQ,CAAAgB,gBAAA,UAAG,UAAU,CAAAA,gBAAA,CAClBlF,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAyF,UAAA,EAET,GAAM,CAAAC,UAAU,CAAG5D,IAAI,CAACuB,GAAG,CAAC,SAACsC,KAAU,CAAK,CAC1C,GAAM,CAAAC,OAAO,CAAAlF,QAAA,IACRiF,KAAK,CACT,CAED,MAAO,CAAAC,OAAO,CAACC,EAAE,CAEjB,MAAO,CAAAD,OACT,CAAC,CAAC,CAEF,GAAM,CAAAE,OAAO,CAAGC,MAAM,CAACC,IAAI,CAACN,UAAU,CAAC,CAAC,CAAC,EAAI,CAAC,CAAC,CAAC,CAACrC,GAAG,CAAC,SAAC4C,MAAM,QAAK,CAAAZ,YAAY,CAACY,MAAM,CAAC,EAAIA,MAAM,EAAC,CAChG,GAAM,CAAAC,IAAI,CAAGR,UAAU,CAACrC,GAAG,CAAC,SAACsC,KAAU,QAAK,CAAAI,MAAM,CAACI,MAAM,CAACR,KAAK,CAAC,EAAC,CAEjE,GAAM,CAAAlF,cAAc,CAAG,8BAA8B,CACrD,GAAM,CAAAiE,aAAa,CAAG/D,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEhF,GAAM,CAAA2F,SAAS,cACbrI,KAAA,CAACT,UAAU,EAAC,YAAU,iBAAiB,CAACqD,SAAS,CAAE+D,aAAc,CAAA5D,QAAA,eAC/D/C,KAAA,CAAChB,KAAK,CAAA2D,QAAA,IAAKJ,IAAI,EAAEK,SAAS,2BAA4B+D,aAAgB,CAAC,YAAU,OAAO,CAAA5D,QAAA,eACtFjD,IAAA,CAACb,WAAW,EAAC,YAAU,cAAc,CAAC2D,SAAS,CAAC,cAAc,CAAAG,QAAA,cAC5DjD,IAAA,CAACZ,QAAQ,EAAA6D,QAAA,CACNgF,OAAO,CAACzC,GAAG,CAAC,SAACgD,IAAY,CAAEC,GAAW,qBACrCzI,IAAA,CAACX,SAAS,EAAW,4BAA2BoJ,GAAM,CAACzF,eAAe,CAAED,UAAW,CAAAE,QAAA,CAChFuF,IAAI,EADSC,GAEL,CAAC,CACb,CAAC,CACM,CAAC,CACA,CAAC,cACdzI,IAAA,CAACV,SAAS,EAAC,YAAU,YAAY,CAAA2D,QAAA,CAC9BoF,IAAI,CAAC7C,GAAG,CAAC,SAACkD,GAAU,CAAEC,IAAY,qBACjC3I,IAAA,CAACZ,QAAQ,EAEP,mBAAkBuJ,IAAO,CACzB7F,SAAS,CAAC,8CAA8C,CAAAG,QAAA,CAEvDyF,GAAG,CAAClD,GAAG,CAAC,SAACoD,IAAY,CAAEC,IAAY,qBAClC7I,IAAA,CAACT,SAAS,EAER,oBAAmBoJ,IAAI,KAAIE,IAAO,CAClC/F,SAAS,CAAC,oCAAoC,CAC9CE,eAAe,CAAE,KAAM,CAAAC,QAAA,CAEtB2F,IAAI,EALAC,IAMI,CAAC,CACb,CAAC,EAbGF,IAcG,CAAC,CACZ,CAAC,CACO,CAAC,GACP,CAAC,cACR3I,IAAA,CAACN,SAAS,EAAC0H,WAAW,CAAC,YAAY,CAAE,CAAC,EAC5B,CACb,CAED,mBACElH,KAAA,CAAC/C,IAAI,EAAC2F,SAAS,CAAC,eAAe,CAAAG,QAAA,eAC7B/C,KAAA,CAAC9C,UAAU,EAAA6F,QAAA,eACTjD,IAAA,CAAC3C,SAAS,EAAC,YAAU,OAAO,CAAC2F,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,UAAU,CAAAG,QAAA,CAC3EwD,KAAK,CACG,CAAC,cACZzG,IAAA,CAAC1C,eAAe,EAAC,YAAU,UAAU,CAAC0F,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,SAAS,CAAAG,QAAA,CACnF0D,QAAQ,CACM,CAAC,EACR,CAAC,cACb3G,IAAA,CAACzC,WAAW,EAAC,YAAU,aAAa,CAACyF,eAAe,CAAE,KAAM,CAAAC,QAAA,CACzDsF,SAAS,CACC,CAAC,EACV,CAEV,CAEA,MAAO,SAAS,CAAAO,cAAcA,CAAC3G,KAAU,CAAe,CACtD,IAAA4G,YAAA,CAAuF5G,KAAK,CAApFuC,KAAK,CAALA,KAAK,CAAAqE,YAAA,UAAG,EAAE,CAAAA,YAAA,CAAAC,qBAAA,CAAqE7G,KAAK,CAAxE8G,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,KAAK,CAAAA,qBAAA,CAAElG,SAAS,CAAkCX,KAAK,CAAhDW,SAAS,CAAAoG,kBAAA,CAAkC/G,KAAK,CAArCY,UAAU,CAAVA,UAAU,CAAAmG,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAKzG,IAAI,CAAAC,6BAAA,CAAKP,KAAK,CAAAgH,UAAA,EAC5F,GAAM,CAAAvG,cAAc,CAAG,mBAAmB,CAC1C,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBACE1C,KAAA,OAAA2C,QAAA,EAAKC,SAAS,CAAEsG,MAAO,EAAK3G,IAAI,EAAAQ,QAAA,eAC9BjD,IAAA,CAACpC,QAAQ,EAACqL,cAAc,CAAEA,cAAe,CAAE,CAAC,CAC3CvE,KAAK,eACJ1E,IAAA,CAAC/B,KAAK,EAAC,YAAU,OAAO,CAAC+E,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,MAAM,CAAAG,QAAA,CACnEyB,KAAK,CACD,CACR,GACE,CAET,CAEA,MAAO,SAAS,CAAA2E,eAAeA,CAAClH,KAAU,CAAe,CACvD,IAAAmH,qBAAA,CAMInH,KAAK,CALPoH,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,eAAe,CAAAA,qBAAA,CAAAE,kBAAA,CAK9BrH,KAAK,CAJPsH,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,wBAAwB,CAAAA,kBAAA,CACtC1G,SAAS,CAGPX,KAAK,CAHPW,SAAS,CAAA4G,kBAAA,CAGPvH,KAAK,CAFPY,UAAU,CAAVA,UAAU,CAAA2G,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACfjH,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAwH,UAAA,EACT,GAAM,CAAA/G,cAAc,CAAG,2CAA2C,CAClE,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBACE1C,KAAA,CAACrC,SAAS,CAAAgF,QAAA,EAACC,SAAS,CAAEsG,MAAO,EAAK3G,IAAI,EAAAQ,QAAA,eACpCjD,IAAA,CAAClC,gBAAgB,EAAC8L,OAAO,MAAA3G,QAAA,cACvBjD,IAAA,SAAM,YAAU,gBAAgB,CAACgD,eAAe,CAAED,UAAW,CAAAE,QAAA,CAC1DsG,cAAc,CACX,CAAC,CACS,CAAC,cACnBvJ,IAAA,CAACjC,gBAAgB,EAAAkF,QAAA,cACfjD,IAAA,QAAK,YAAU,aAAa,CAACgD,eAAe,CAAED,UAAW,CAAAE,QAAA,CACtDwG,WAAW,CACT,CAAC,CACU,CAAC,GACV,CAEf,CAEA,MAAO,SAAS,CAAAI,WAAWA,CAAC1H,KAAU,CAAe,CACnD,IAAA2H,aAAA,CAOI3H,KAAK,CANPuC,KAAK,CAALA,KAAK,CAAAoF,aAAA,UAAG,EAAE,CAAAA,aAAA,CAAAC,kBAAA,CAMR5H,KAAK,CALP6H,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,EAAE,CAAAA,kBAAA,CAAAE,YAAA,CAKd9H,KAAK,CAJPjB,KAAK,CAALA,KAAK,CAAA+I,YAAA,UAAG,EAAE,CAAAA,YAAA,CACVnH,SAAS,CAGPX,KAAK,CAHPW,SAAS,CAAAoH,kBAAA,CAGP/H,KAAK,CAFPY,UAAU,CAAVA,UAAU,CAAAmH,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACfzH,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAgI,UAAA,EACT,GAAM,CAAAvH,cAAc,CAAG,iDAAiD,CACxE,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBACE1C,KAAA,OAAA2C,QAAA,EAAKC,SAAS,kBAAmBsG,MAAS,EAAK3G,IAAI,EAAAQ,QAAA,EAChDyB,KAAK,eACJ1E,IAAA,CAAC/B,KAAK,EAAC,YAAU,OAAO,CAAC+E,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,MAAM,CAAAG,QAAA,CACnEyB,KAAK,CACD,CACR,cACD1E,IAAA,CAAChC,KAAK,EAACgM,WAAW,CAAEA,WAAY,CAAC9I,KAAK,CAAEA,KAAM,CAAE,CAAC,GAC9C,CAET,CAEA,MAAO,SAAS,CAAAkJ,WAAWA,CAACjI,KAAU,CAAe,CACnD,IAAAkI,WAAA,CAAmElI,KAAK,CAAhEmI,IAAI,CAAJA,IAAI,CAAAD,WAAA,UAAG,OAAO,CAAAA,WAAA,CAAEvH,SAAS,CAAkCX,KAAK,CAAhDW,SAAS,CAAAyH,kBAAA,CAAkCpI,KAAK,CAArCY,UAAU,CAAVA,UAAU,CAAAwH,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAK9H,IAAI,CAAAC,6BAAA,CAAKP,KAAK,CAAAqI,UAAA,EACxE,GAAM,CAAA5H,cAAc,CAAG,8BAA8B,CACrD,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBACE5C,IAAA,CAAC/B,KAAK,CAAA4E,QAAA,EAAC,YAAU,MAAM,CAACG,eAAe,CAAED,UAAW,CAACD,SAAS,CAAEsG,MAAO,EAAK3G,IAAI,EAAAQ,QAAA,CAC7EqH,IAAI,EACA,CAEX,CAEA,MAAO,SAAS,CAAAG,eAAeA,CAACtI,KAAU,CAAe,CACvD,GAAQ,CAAAW,SAAS,CAAcX,KAAK,CAA5BW,SAAS,CAAKL,IAAI,CAAAC,6BAAA,CAAKP,KAAK,CAAAuI,UAAA,EACpC,GAAM,CAAA9H,cAAc,CAAG,iBAAiB,CACxC,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBAAO5C,IAAA,CAAC9B,SAAS,CAAA2E,QAAA,EAACC,SAAS,CAAEsG,MAAO,EAAK3G,IAAI,CAAG,CAClD,CAEA,MAAO,SAAS,CAAAkI,cAAcA,CAACxI,KAAU,CAAe,CACtD,IAAAyI,aAAA,CAOIzI,KAAK,CANPuC,KAAK,CAALA,KAAK,CAAAkG,aAAA,UAAG,EAAE,CAAAA,aAAA,CAAAC,mBAAA,CAMR1I,KAAK,CALP6H,WAAW,CAAXA,WAAW,CAAAa,mBAAA,UAAG,EAAE,CAAAA,mBAAA,CAAAC,aAAA,CAKd3I,KAAK,CAJPjB,KAAK,CAALA,KAAK,CAAA4J,aAAA,UAAG,EAAE,CAAAA,aAAA,CACVhI,SAAS,CAGPX,KAAK,CAHPW,SAAS,CAAAiI,kBAAA,CAGP5I,KAAK,CAFPY,UAAU,CAAVA,UAAU,CAAAgI,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACftI,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAA6I,WAAA,EACT,GAAM,CAAApI,cAAc,CAAG,iDAAiD,CACxE,GAAM,CAAAwG,MAAM,CAAGtG,SAAS,CAAGtD,EAAE,CAACoD,cAAc,CAAEE,SAAS,CAAC,CAAGF,cAAc,CAEzE,mBACE1C,KAAA,OAAA2C,QAAA,EAAKC,SAAS,kBAAmBsG,MAAS,EAAK3G,IAAI,EAAAQ,QAAA,EAChDyB,KAAK,eACJ1E,IAAA,CAAC/B,KAAK,EAAC,YAAU,OAAO,CAAC+E,eAAe,CAAED,UAAW,CAACD,SAAS,CAAC,MAAM,CAAAG,QAAA,CACnEyB,KAAK,CACD,CACR,cACD1E,IAAA,CAAC7B,QAAQ,EAAC6L,WAAW,CAAEA,WAAY,CAAC9I,KAAK,CAAEA,KAAM,CAAE,CAAC,GACjD,CAET,CAEA,MAAO,SAAS,CAAA+J,aAAaA,CAAC9I,KAAU,CAAe,CACrD,IAAA+I,sBAAA,CAMI/I,KAAK,CALPoH,cAAc,CAAdA,cAAc,CAAA2B,sBAAA,UAAG,YAAY,CAAAA,sBAAA,CAAAC,qBAAA,CAK3BhJ,KAAK,CAJPiJ,cAAc,CAAdA,cAAc,CAAAD,qBAAA,UAAG,qBAAqB,CAAAA,qBAAA,CACtCrI,SAAS,CAGPX,KAAK,CAHPW,SAAS,CAAAuI,kBAAA,CAGPlJ,KAAK,CAFPY,UAAU,CAAVA,UAAU,CAAAsI,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CACf5I,IAAI,CAAAC,6BAAA,CACLP,KAAK,CAAAmJ,WAAA,EACT,GAAM,CAAAlC,MAAM,CAAGtG,SAAS,EAAI,EAAE,CAE9B,mBACE5C,KAAA,CAAC9B,OAAO,CAAAyE,QAAA,EAACC,SAAS,CAAEsG,MAAO,EAAK3G,IAAI,EAAAQ,QAAA,eAClCjD,IAAA,CAAC3B,cAAc,EAACuL,OAAO,MAAA3G,QAAA,cACrBjD,IAAA,SAAM,YAAU,gBAAgB,CAACgD,eAAe,CAAED,UAAW,CAAAE,QAAA,CAC1DsG,cAAc,CACX,CAAC,CACO,CAAC,cACjBvJ,IAAA,CAAC1B,cAAc,EAAC,YAAU,gBAAgB,CAAC0E,eAAe,CAAED,UAAW,CAAAE,QAAA,CACpEmI,cAAc,CACD,CAAC,GACV,CAEb,CAEA,MAAO,SAAS,CAAAG,SAASA,CAACpJ,KAAU,CAAe,CACjD,GAAI,CAAAqJ,SAAS,CAAG,GAAG,CAEnB,GAAIrJ,KAAK,CAACsJ,IAAI,CAAC5J,MAAM,CAAG,CAAC,CAAE,CACzB2J,SAAS,CAAG,GACd,CAEA,mBACEtL,KAAA,CAACP,IAAI,EAAC+L,YAAY,CAAEvJ,KAAK,CAACuJ,YAAa,CAAAzI,QAAA,eACrCjD,IAAA,QAAK8C,SAAS,CAAC,kBAAkB,CAAAG,QAAA,cAC/BjD,IAAA,CAACJ,QAAQ,EAACkD,SAAS,CAAC,aAAa,CAAAG,QAAA,CAC9Bd,KAAK,CAACsJ,IAAI,CAACjG,GAAG,CAAC,SAACmG,GAAW,qBAC1B3L,IAAA,CAACH,WAAW,EAACqB,KAAK,CAAEyK,GAAI,CAAW7I,SAAS,eAAgB0I,SAAS,MAAM,CAAAvI,QAAA,CACxE0I,GAAG,EADwBA,GAEjB,CAAC,CACf,CAAC,CACM,CAAC,CACR,CAAC,CACLxJ,KAAK,CAACsJ,IAAI,CAACjG,GAAG,CAAC,SAACmG,GAAW,qBAC1B3L,IAAA,CAACF,WAAW,EAACoB,KAAK,CAAEyK,GAAI,CAAC7I,SAAS,CAAC,cAAc,EAAM6I,GAAM,CAAC,CAC/D,CAAC,EACE,CAEV,CAEA,MAAO,SAAS,CAAAC,cAAcA,CAACzJ,KAAU,CAAe,CACtD,IAAA0J,kBAAA,CAA6B1J,KAAK,CAA1B2J,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,EAAE,CAAAA,kBAAA,CAExB,mBACE7L,IAAA,QAAK8C,SAAS,CAAC,UAAU,CAAAG,QAAA,cACvBjD,IAAA,CAAC9C,QAAQ,EACP6O,OAAO,CAAE,CACPC,SAAS,CAAE,CACTC,EAAE,CAAE,CACF9J,KAAK,CAAE,CACLW,SAAS,CAAE,WACb,CACF,CAAC,CACDoJ,EAAE,CAAE,CACF/J,KAAK,CAAE,CACLW,SAAS,CAAE,mCACb,CACF,CAAC,CACDqJ,EAAE,CAAE,CACFhK,KAAK,CAAE,CACLW,SAAS,CAAE,qCACb,CACF,CAAC,CACDsJ,EAAE,CAAE,CACFjK,KAAK,CAAE,CACLW,SAAS,CAAE,mCACb,CACF,CAAC,CACDuJ,EAAE,CAAE,CACFlK,KAAK,CAAE,CACLW,SAAS,CAAE,oCACb,CACF,CAAC,CACDwJ,EAAE,CAAE,CACFnK,KAAK,CAAE,CACLW,SAAS,CAAE,oCACb,CACF,CAAC,CACDyJ,EAAE,CAAE,CACFpK,KAAK,CAAE,CACLW,SAAS,CAAE,oCACb,CACF,CACF,CACF,CAAE,CAAAG,QAAA,CAED6I,WAAW,CACJ,CAAC,CACR,CAET,CAEA,MAAO,SAAS,CAAAU,YAAYA,CAAA,CAAgD,CAC1E,MAAO,CACLC,UAAU,CAAEvK,gBAAgB,CAC5B/E,IAAI,CAAE+F,UAAU,CAChBwJ,KAAK,CAAExG,WAAW,CAClBtI,QAAQ,CAAEkL,cAAc,CACxBjL,SAAS,CAAEwL,eAAe,CAC1BrL,KAAK,CAAE6L,WAAW,CAClB5L,KAAK,CAAEmM,WAAW,CAClBlN,QAAQ,CAAE0O,cAAc,CACxB1N,SAAS,CAAEuM,eAAe,CAC1BvL,KAAK,CAAEmI,WAAW,CAClB1H,IAAI,CAAE4L,SAAS,CACfpN,QAAQ,CAAEwM,cAAc,CACxBvM,OAAO,CAAE6M,aACX,CACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"render-components.js","names":["chroma","theme","Markdown","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","ChartContainer","ChartTooltip","ChartTooltipContent","Checkbox","HoverCard","HoverCardTrigger","HoverCardContent","Input","Label","Separator","Textarea","Tooltip","TooltipTrigger","TooltipContent","PieChart","Pie","BarChart","Bar","LineChart","Line","XAxis","YAxis","ResponsiveContainer","CartesianGrid","Legend","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","cn","ScrollArea","ScrollBar","Tabs","TabsList","TabsTrigger","TabsContent","jsx","_jsx","jsxs","_jsxs","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","_props$headerContent","headerContent","icon","_props$bodyContent","bodyContent","rest","_objectWithoutPropertiesLoose","_excluded","defaultClasses","_extends","className","isEditable","contentEditable","children","renderCard","_props$headerContent2","_props$headerDescript","headerDescription","_props$bodyContent2","_props$footerContent","footerContent","footerClass","footerIcon","_props$contentMetadat","contentMetadata","_props$isEditable","_excluded2","defaultFooterClasses","mergedCardClassName","mergedFooterClassName","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$config","_props$chartType","_props$chartData","chartData","_props$isEditable2","_props$title","title","_props$subTitle","subTitle","_excluded3","mergedClasses","width","totalDataPoints","barSize","barGap","barCategoryGap","height","orientation","renderTable","_props$data","_props$headerMapper","headerMapper","_props$isEditable3","_props$title2","_props$subTitle2","_excluded4","parsedData","datum","newData","id","headers","Object","keys","header","rows","values","tableData","head","idx","row","rIdx","cell","cIdx","renderCheckbox","_props$label","_props$defaultChecked","defaultChecked","_props$isEditable4","_excluded5","merged","renderHoverCard","_props$triggerContent","triggerContent","_props$cardContent","cardContent","_props$isEditable5","_excluded6","asChild","renderInput","_props$label2","_props$placeholder","placeholder","_props$value","_props$isEditable6","_excluded7","renderLabel","_props$text","text","_props$isEditable7","_excluded8","renderSeparator","_excluded9","renderTextarea","_props$label3","_props$placeholder2","_props$value2","_props$isEditable8","_excluded10","renderTooltip","_props$triggerContent2","_props$tooltipContent","tooltipContent","_props$isEditable9","_excluded11","renderTab","tabsWidth","tabs","defaultValue","tab","renderMarkdown","_props$summaryText","summaryText","options","overrides","ul","h1","h2","h3","h4","h5","h6","getRenderers","ActionCard","Chart"],"sources":["../../../src/plugins/helpers/render-components.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\n/* eslint-disable func-names */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport chroma from 'chroma-js';\n\nimport { theme } from '@peak-ai/ais-components/theme';\nimport Markdown from 'markdown-to-jsx';\n\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 { Checkbox } from '../../shadcn/components/ui/checkbox';\nimport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n} from '../../shadcn/components/ui/hover-card';\nimport { Input } from '../../shadcn/components/ui/input';\nimport { Label } from '../../shadcn/components/ui/label';\nimport { Separator } from '../../shadcn/components/ui/separator';\nimport { Textarea } from '../../shadcn/components/ui/textarea';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../../shadcn/components/ui/tooltip';\nimport {\n PieChart,\n Pie,\n BarChart,\n Bar,\n LineChart,\n Line,\n XAxis,\n YAxis,\n ResponsiveContainer,\n CartesianGrid,\n Legend,\n} from 'recharts';\nimport {\n Table,\n TableHeader,\n TableRow,\n TableHead,\n TableBody,\n TableCell,\n} from '../../shadcn/components/ui/table';\nimport { cn } from '../../shadcn/utils';\nimport { ScrollArea, ScrollBar } from '../../shadcn/components/ui/scroll-area';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../shadcn/components/ui/tabs';\nimport { JSX } from 'react';\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 // const pallette = pallettes[Math.floor(Math.random() * pallettes.length)];\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\nexport function renderActionCard(props: any): JSX.Element {\n const {\n headerContent = 'Default Action Card Title',\n icon,\n bodyContent = 'Default body content. Click to edit.',\n ...rest\n } = props;\n\n const defaultClasses =\n 'bg-white text-black p-4 rounded-lg shadow border w-full max-w-full min-h-[180px]';\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\n <div className=\"flex-1\">\n <div className=\"text-xl font-semibold\">{headerContent}</div>\n <div className=\"text-base leading-relaxed mt-1\">{bodyContent}</div>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCard(props: any): JSX.Element {\n const {\n headerContent = 'Default Card Title',\n headerDescription = 'Default header description',\n bodyContent = 'Default body content. Click to edit.',\n footerContent = '',\n footerClass,\n footerIcon,\n contentMetadata = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n\n const defaultClasses = 'bg-white text-black p-4 rounded-lg shadow border';\n const defaultFooterClasses = 'text-sm';\n const mergedCardClassName = className ? cn(defaultClasses, className) : defaultClasses;\n const mergedFooterClassName = footerClass ? cn(defaultFooterClasses, footerClass) : defaultFooterClasses;\n\n return (\n <Card {...rest} className={mergedCardClassName}>\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 <CardContent data-slot=\"bodyContent\" contentEditable={false}>\n <div className=\"text-4xl font-semibold truncate\">{bodyContent}</div>\n {contentMetadata && (\n <div className=\"text-xs\" style={{ color: '#2A44D4' }}>\n {contentMetadata}\n </div>\n )}\n </CardContent>\n\n <CardFooter\n data-slot=\"footerContent\"\n contentEditable={isEditable}\n className={mergedFooterClassName}\n >\n {footerIcon && (\n <span className=\"mr-2\" aria-hidden=\"true\">\n {footerIcon}\n </span>\n )}\n {footerContent}\n </CardFooter>\n </Card>\n );\n}\n\nfunction renderChartComponent(chartType: string, data: any, config: any): JSX.Element {\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}: ${(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}: ${(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 {\n config = {},\n chartType = 'pie',\n chartData = [],\n className,\n isEditable = false,\n title = 'Title',\n subTitle = 'Subtitle',\n ...rest\n } = props;\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\n if (chartType === 'bar') {\n const totalDataPoints = chartData.length * config.dataKeys.length;\n config.chartUi = {};\n\n if (totalDataPoints > 15) {\n width =\n totalDataPoints * 15 +\n config.dataKeys.length * 3 * chartData.length +\n chartData.length * 10;\n config.chartUi = {\n barSize: 15,\n barGap: 3,\n barCategoryGap: 0.5,\n width,\n };\n }\n }\n\n return (\n <Card className=\"shadow border mt-2 mb-2\">\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-3xl\">\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} className=\"px-6\">\n {chartType === 'bar' && config.chartUi ? (\n <ResponsiveContainer width=\"95%\" height={250}>\n <ScrollArea>\n <div className={width ? `min-w-[${width}px] w-full` : 'w-full'}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n </ResponsiveContainer>\n ) : (\n <ResponsiveContainer width=\"95%\" height={250}>\n <ChartContainer {...rest} config={config} className={mergedClasses}>\n {renderChartComponent(chartType, chartData, config)}\n </ChartContainer>\n </ResponsiveContainer>\n )}\n </CardContent>\n </Card>\n );\n}\n\nexport function renderTable(props: any): JSX.Element {\n const {\n data = [],\n headerMapper = {},\n className,\n isEditable = false,\n title = 'Title',\n subTitle = 'Subtitle',\n ...rest\n } = props;\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 const headers = Object.keys(parsedData[0] || {}).map((header) => headerMapper[header] || header);\n const rows = parsedData.map((datum: any) => Object.values(datum));\n\n const defaultClasses = 'aspect-auto h-[250px] w-full';\n const mergedClasses = className ? cn(defaultClasses, className) : defaultClasses;\n\n const tableData = (\n <ScrollArea data-slot=\"table-container\" className={mergedClasses}>\n <Table {...rest} className={`caption-bottom text-sm ${mergedClasses}`} data-slot=\"table\">\n <TableHeader data-slot=\"table-header\" className=\"sticky top-0\">\n <TableRow>\n {headers.map((head: string, idx: number) => (\n <TableHead key={idx} data-slot={`header-${idx}`} contentEditable={false}>\n {head}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody data-slot=\"table-body\">\n {rows.map((row: any[], rIdx: number) => (\n <TableRow\n key={rIdx}\n data-slot={`row-${rIdx}`}\n className=\"hover:bg-muted/50 border-b transition-colors\"\n >\n {row.map((cell: string, cIdx: number) => (\n <TableCell\n key={cIdx}\n data-slot={`cell-${rIdx}-${cIdx}`}\n className=\"p-2 align-middle whitespace-nowrap\"\n contentEditable={false}\n >\n {cell}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n );\n\n return (\n <Card className=\"shadow border\">\n <CardHeader>\n <CardTitle data-slot=\"title\" contentEditable={isEditable} className=\"text-3xl\">\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={isEditable}>\n {tableData}\n </CardContent>\n </Card>\n );\n}\n\nexport function renderCheckbox(props: any): JSX.Element {\n const { label = '', defaultChecked = false, className, isEditable = false, ...rest } = props;\n const defaultClasses = 'flex items-center';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={merged} {...rest}>\n <Checkbox defaultChecked={defaultChecked} />\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"ml-2\">\n {label}\n </Label>\n )}\n </div>\n );\n}\n\nexport function renderHoverCard(props: any): JSX.Element {\n const {\n triggerContent = 'Hover over me',\n cardContent = 'Additional information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] max-w-[320px] shadow rounded-lg';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <HoverCard className={merged} {...rest}>\n <HoverCardTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </HoverCardTrigger>\n <HoverCardContent>\n <div data-slot=\"cardContent\" contentEditable={isEditable}>\n {cardContent}\n </div>\n </HoverCardContent>\n </HoverCard>\n );\n}\n\nexport function renderInput(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Input placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderLabel(props: any): JSX.Element {\n const { text = 'Label', className, isEditable = false, ...rest } = props;\n const defaultClasses = 'text-base font-semibold mb-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <Label data-slot=\"text\" contentEditable={isEditable} className={merged} {...rest}>\n {text}\n </Label>\n );\n}\n\nexport function renderSeparator(props: any): JSX.Element {\n const { className, ...rest } = props;\n const defaultClasses = 'my-4 border-t-2';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return <Separator className={merged} {...rest} />;\n}\n\nexport function renderTextarea(props: any): JSX.Element {\n const {\n label = '',\n placeholder = '',\n value = '',\n className,\n isEditable = false,\n ...rest\n } = props;\n const defaultClasses = 'w-[320px] p-2 border border-gray-300 rounded-md';\n const merged = className ? cn(defaultClasses, className) : defaultClasses;\n\n return (\n <div className={`flex flex-col ${merged}`} {...rest}>\n {label && (\n <Label data-slot=\"label\" contentEditable={isEditable} className=\"mb-1\">\n {label}\n </Label>\n )}\n <Textarea placeholder={placeholder} value={value} />\n </div>\n );\n}\n\nexport function renderTooltip(props: any): JSX.Element {\n const {\n triggerContent = 'Hover here',\n tooltipContent = 'Tooltip information',\n className,\n isEditable = false,\n ...rest\n } = props;\n const merged = className || '';\n\n return (\n <Tooltip className={merged} {...rest}>\n <TooltipTrigger asChild>\n <span data-slot=\"triggerContent\" contentEditable={isEditable}>\n {triggerContent}\n </span>\n </TooltipTrigger>\n <TooltipContent data-slot=\"tooltipContent\" contentEditable={isEditable}>\n {tooltipContent}\n </TooltipContent>\n </Tooltip>\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 { summaryText = '' } = props;\n\n return (\n <div className=\"px-[1em]\">\n <Markdown\n options={{\n overrides: {\n ul: {\n props: {\n className: 'list-disc',\n },\n },\n h1: {\n props: {\n className: 'text-4xl font-bold leading-[4rem]',\n },\n },\n h2: {\n props: {\n className: 'text-3xl font-bold leading-[3.5rem]',\n },\n },\n h3: {\n props: {\n className: 'text-2xl font-bold leading-[3rem]',\n },\n },\n h4: {\n props: {\n className: 'text-xl font-bold leading-[2.5rem]',\n },\n },\n h5: {\n props: {\n className: 'text-lg font-bold leading-[2.5rem]',\n },\n },\n h6: {\n props: {\n className: 'text-base font-bold leading-[2rem]',\n },\n },\n },\n }}\n >\n {summaryText}\n </Markdown>\n </div>\n );\n}\n\nexport function getRenderers(): Record<string, (props: any) => JSX.Element> {\n return {\n ActionCard: renderActionCard,\n Card: renderCard,\n Chart: renderChart,\n Checkbox: renderCheckbox,\n HoverCard: renderHoverCard,\n Input: renderInput,\n Label: renderLabel,\n Markdown: renderMarkdown,\n Separator: renderSeparator,\n Table: renderTable,\n Tabs: renderTab,\n Textarea: renderTextarea,\n Tooltip: renderTooltip,\n };\n}"],"mappings":"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","ignoreList":[]}
|