@aigentyc/chat-sdk 0.2.5 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/bin/aigentyc.mjs +10 -4
  2. package/bin/lib/skill.mjs +84 -0
  3. package/claude-skill/README.md +32 -0
  4. package/claude-skill/aigentyc-chat-sdk/SKILL.md +339 -0
  5. package/context7.json +1 -1
  6. package/dist/ChatInterface-B0zbA3Lm.d.cts +64 -0
  7. package/dist/ChatInterface-f8ftS56n.d.ts +64 -0
  8. package/dist/{JsonRenderResult-Ftw4AKwb.d.cts → JsonRenderResult-D6ogds0_.d.cts} +8 -1
  9. package/dist/{JsonRenderResult-Ftw4AKwb.d.ts → JsonRenderResult-D6ogds0_.d.ts} +8 -1
  10. package/dist/JsonRenderResult-GCNFMZYP.js +6 -0
  11. package/dist/{JsonRenderResult-ZFJ6VWMS.js.map → JsonRenderResult-GCNFMZYP.js.map} +1 -1
  12. package/dist/JsonRenderResult-II3IBENS.cjs +15 -0
  13. package/dist/{JsonRenderResult-GQOYPLVH.cjs.map → JsonRenderResult-II3IBENS.cjs.map} +1 -1
  14. package/dist/{SlotsContext-CBtt36al.d.ts → SlotsContext-BjiX1mRx.d.ts} +17 -2
  15. package/dist/{SlotsContext-CHvISDJT.d.cts → SlotsContext-CEOBjzfh.d.cts} +17 -2
  16. package/dist/ai-elements.cjs +114 -393
  17. package/dist/ai-elements.cjs.map +1 -1
  18. package/dist/ai-elements.d.cts +2 -31
  19. package/dist/ai-elements.d.ts +2 -31
  20. package/dist/ai-elements.js +9 -291
  21. package/dist/ai-elements.js.map +1 -1
  22. package/dist/{chunk-5QSXB6UL.cjs → chunk-3HGOLNGG.cjs} +13 -4
  23. package/dist/chunk-3HGOLNGG.cjs.map +1 -0
  24. package/dist/{chunk-KVEJAPWA.js → chunk-3KSMOHNY.js} +48 -62
  25. package/dist/chunk-3KSMOHNY.js.map +1 -0
  26. package/dist/chunk-4WOBNRRB.cjs +540 -0
  27. package/dist/chunk-4WOBNRRB.cjs.map +1 -0
  28. package/dist/{chunk-MC6QDYB6.cjs → chunk-5XF7KH6B.cjs} +166 -67
  29. package/dist/chunk-5XF7KH6B.cjs.map +1 -0
  30. package/dist/chunk-7AZMWPKX.cjs +35 -0
  31. package/dist/chunk-7AZMWPKX.cjs.map +1 -0
  32. package/dist/{chunk-DMGYQ6NN.cjs → chunk-7IFBPXT3.cjs} +95 -8
  33. package/dist/chunk-7IFBPXT3.cjs.map +1 -0
  34. package/dist/{chunk-U3FXVLUK.js → chunk-AD6XWKWB.js} +93 -6
  35. package/dist/chunk-AD6XWKWB.js.map +1 -0
  36. package/dist/chunk-B27JIQ4Z.js +528 -0
  37. package/dist/chunk-B27JIQ4Z.js.map +1 -0
  38. package/dist/{chunk-J2K7EJYP.cjs → chunk-BPV66QNM.cjs} +6 -4
  39. package/dist/chunk-BPV66QNM.cjs.map +1 -0
  40. package/dist/{chunk-FYPJSHCL.js → chunk-FPQ3UCCJ.js} +6 -4
  41. package/dist/chunk-FPQ3UCCJ.js.map +1 -0
  42. package/dist/{chunk-J2H6MLQF.cjs → chunk-H7C3AGA2.cjs} +17 -6
  43. package/dist/chunk-H7C3AGA2.cjs.map +1 -0
  44. package/dist/{chunk-7L4FS6G7.js → chunk-JHWSG5IB.js} +17 -3
  45. package/dist/chunk-JHWSG5IB.js.map +1 -0
  46. package/dist/{chunk-4FBVV64J.js → chunk-M4YRNNGB.js} +13 -4
  47. package/dist/chunk-M4YRNNGB.js.map +1 -0
  48. package/dist/{chunk-QDFPJJ5Y.cjs → chunk-OU5OZKYH.cjs} +50 -65
  49. package/dist/chunk-OU5OZKYH.cjs.map +1 -0
  50. package/dist/{chunk-C24QG43M.cjs → chunk-TZ7EM3EG.cjs} +17 -2
  51. package/dist/chunk-TZ7EM3EG.cjs.map +1 -0
  52. package/dist/chunk-XEAAB5ZM.js +32 -0
  53. package/dist/chunk-XEAAB5ZM.js.map +1 -0
  54. package/dist/{chunk-FOZXDUSZ.js → chunk-YG2COKFR.js} +151 -54
  55. package/dist/chunk-YG2COKFR.js.map +1 -0
  56. package/dist/{chunk-RPDJXB3U.js → chunk-ZXP7IYRC.js} +17 -6
  57. package/dist/chunk-ZXP7IYRC.js.map +1 -0
  58. package/dist/components.cjs +31 -52
  59. package/dist/components.cjs.map +1 -1
  60. package/dist/components.d.cts +4 -34
  61. package/dist/components.d.ts +4 -34
  62. package/dist/components.js +18 -42
  63. package/dist/components.js.map +1 -1
  64. package/dist/core.d.cts +2 -2
  65. package/dist/core.d.ts +2 -2
  66. package/dist/hooks.cjs +6 -6
  67. package/dist/hooks.d.cts +2 -2
  68. package/dist/hooks.d.ts +2 -2
  69. package/dist/hooks.js +2 -2
  70. package/dist/i18n.d.cts +1 -1
  71. package/dist/i18n.d.ts +1 -1
  72. package/dist/index.cjs +45 -23
  73. package/dist/index.cjs.map +1 -1
  74. package/dist/index.d.cts +51 -6
  75. package/dist/index.d.ts +51 -6
  76. package/dist/index.js +17 -10
  77. package/dist/index.js.map +1 -1
  78. package/dist/json-render.cjs +4 -4
  79. package/dist/json-render.d.cts +1 -1
  80. package/dist/json-render.d.ts +1 -1
  81. package/dist/json-render.js +1 -1
  82. package/dist/llms-full.txt +195 -15
  83. package/dist/message-feedback-BFh3-qym.d.cts +92 -0
  84. package/dist/message-feedback-cWR0NVok.d.ts +92 -0
  85. package/dist/normalize-KzCLLqpU.d.cts +42 -0
  86. package/dist/normalize-KzCLLqpU.d.ts +42 -0
  87. package/dist/styles.css +1 -1
  88. package/dist/theme.d.cts +1 -1
  89. package/dist/theme.d.ts +1 -1
  90. package/dist/tools.cjs +16 -7
  91. package/dist/tools.d.cts +4 -3
  92. package/dist/tools.d.ts +4 -3
  93. package/dist/tools.js +4 -3
  94. package/dist/{types-DKJ_-nbG.d.ts → types-DlNwk-bG.d.cts} +33 -3
  95. package/dist/{types-DKJ_-nbG.d.cts → types-DlNwk-bG.d.ts} +33 -3
  96. package/dist/ui.cjs +45 -45
  97. package/dist/ui.js +2 -2
  98. package/llms.txt +175 -5
  99. package/package.json +2 -1
  100. package/dist/JsonRenderResult-GQOYPLVH.cjs +0 -15
  101. package/dist/JsonRenderResult-ZFJ6VWMS.js +0 -6
  102. package/dist/chunk-4FBVV64J.js.map +0 -1
  103. package/dist/chunk-5QSXB6UL.cjs.map +0 -1
  104. package/dist/chunk-7L4FS6G7.js.map +0 -1
  105. package/dist/chunk-A7PCSWIK.js +0 -219
  106. package/dist/chunk-A7PCSWIK.js.map +0 -1
  107. package/dist/chunk-C24QG43M.cjs.map +0 -1
  108. package/dist/chunk-DMGYQ6NN.cjs.map +0 -1
  109. package/dist/chunk-FOZXDUSZ.js.map +0 -1
  110. package/dist/chunk-FYPJSHCL.js.map +0 -1
  111. package/dist/chunk-J2H6MLQF.cjs.map +0 -1
  112. package/dist/chunk-J2K7EJYP.cjs.map +0 -1
  113. package/dist/chunk-KVEJAPWA.js.map +0 -1
  114. package/dist/chunk-MC6QDYB6.cjs.map +0 -1
  115. package/dist/chunk-QDFPJJ5Y.cjs.map +0 -1
  116. package/dist/chunk-RPDJXB3U.js.map +0 -1
  117. package/dist/chunk-RTVEBPAJ.cjs +0 -230
  118. package/dist/chunk-RTVEBPAJ.cjs.map +0 -1
  119. package/dist/chunk-U3FXVLUK.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/separator.tsx","../src/ui/tooltip.tsx","../src/ui/textarea.tsx","../src/ui/input.tsx","../src/ui/badge.tsx","../src/ui/carousel.tsx","../src/ui/scroll-area.tsx","../src/ui/progress.tsx","../src/ui/alert.tsx","../src/ui/dialog.tsx","../src/ui/dropdown-menu.tsx","../src/ui/select.tsx"],"names":["React","jsx","SeparatorPrimitive","cn","TooltipPrimitive","React2","React3","React4","cva","React5","useEmblaCarousel","api","jsxs","Button","ArrowLeft","ArrowRight","React6","ScrollAreaPrimitive","React7","ProgressPrimitive","React8","DialogPrimitive","React9","X","DropdownMenuPrimitive","React10","ChevronRight","Check","Circle","SelectPrimitive","React11","ChevronDown","ChevronUp"],"mappings":"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","file":"chunk-QDFPJJ5Y.cjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"../core/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","\"use client\";\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"../core/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\";\n\nimport * as React from \"react\"\n\nimport { cn } from \"../core/utils\"\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n})\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n","\"use client\";\n\nimport * as React from \"react\"\n\nimport { cn } from \"../core/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","\"use client\";\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../core/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","\"use client\";\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { cn } from \"../core/utils\"\nimport { Button } from \"./button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport { cn } from \"../core/utils\"\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport { cn } from \"../core/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n","\"use client\";\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../core/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }\n","\"use client\";\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"../core/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-start\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","\"use client\";\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\n\nimport { cn } from \"../core/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n","\"use client\";\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\"\n\nimport { cn } from \"../core/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/json-render/catalog.ts","../src/json-render/registry.tsx","../src/json-render/JsonRenderResult.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-RPDJXB3U.js","sourcesContent":["/**\n * json-render catalog for the widget.\n * Uses @json-render/shadcn standard component definitions.\n */\n\nimport { defineCatalog } from \"@json-render/core\";\nimport { schema } from \"@json-render/react/schema\";\nimport { shadcnComponentDefinitions } from \"@json-render/shadcn/catalog\";\nimport { z } from \"zod\";\n\n// ── Chart prop schemas ──────────────────────────────────────\nconst seriesSchema = z.object({\n dataKey: z.string(),\n label: z.string(),\n color: z.string().nullable().optional(),\n type: z.enum([\"line\", \"bar\", \"area\"]).nullable().optional(),\n});\n\nconst chartConfigSchema = z.object({\n xAxis: z.string().nullable().optional(),\n series: z.array(seriesSchema),\n showGrid: z.boolean().nullable().optional(),\n showLegend: z.boolean().nullable().optional(),\n stacked: z.boolean().nullable().optional(),\n valueFormatter: z\n .enum([\"currency\", \"percent\", \"number\", \"compact\"])\n .nullable()\n .optional(),\n});\n\nconst chartBaseProps = {\n title: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n data: z.array(z.record(z.string(), z.unknown())),\n config: chartConfigSchema,\n height: z.number().nullable().optional(),\n};\n\nexport const catalog = defineCatalog(schema, {\n components: {\n // ── Layout ──────────────────────────────────────────────\n Card: shadcnComponentDefinitions.Card,\n Stack: shadcnComponentDefinitions.Stack,\n Grid: shadcnComponentDefinitions.Grid,\n Separator: shadcnComponentDefinitions.Separator,\n Tabs: shadcnComponentDefinitions.Tabs,\n Accordion: shadcnComponentDefinitions.Accordion,\n Collapsible: shadcnComponentDefinitions.Collapsible,\n Dialog: shadcnComponentDefinitions.Dialog,\n Drawer: shadcnComponentDefinitions.Drawer,\n Carousel: shadcnComponentDefinitions.Carousel,\n\n // ── Typography ──────────────────────────────────────────\n Heading: shadcnComponentDefinitions.Heading,\n Text: shadcnComponentDefinitions.Text,\n Badge: shadcnComponentDefinitions.Badge,\n Link: shadcnComponentDefinitions.Link,\n Alert: shadcnComponentDefinitions.Alert,\n\n // ── Media ───────────────────────────────────────────────\n Image: shadcnComponentDefinitions.Image,\n Avatar: shadcnComponentDefinitions.Avatar,\n\n // ── Data ────────────────────────────────────────────────\n Table: shadcnComponentDefinitions.Table,\n\n // ── Charts & Visualization ────────────────────────────\n LineChart: {\n props: z.object(chartBaseProps),\n description: \"Line chart for trends over time. Provide data array + config.xAxis + config.series.\",\n example: {\n title: \"Monthly Sales\",\n data: [{ month: \"Jan\", sales: 100 }, { month: \"Feb\", sales: 150 }],\n config: { xAxis: \"month\", series: [{ dataKey: \"sales\", label: \"Sales\" }] },\n },\n },\n BarChart: {\n props: z.object(chartBaseProps),\n description: \"Bar chart for comparing categories. Provide data array + config.xAxis + config.series.\",\n example: {\n title: \"Product Comparison\",\n data: [{ product: \"A\", revenue: 500 }, { product: \"B\", revenue: 300 }],\n config: { xAxis: \"product\", series: [{ dataKey: \"revenue\", label: \"Revenue\" }] },\n },\n },\n PieChart: {\n props: z.object({\n title: z.string().nullable().optional(),\n description: z.string().nullable().optional(),\n data: z.array(z.record(z.string(), z.unknown())),\n dataKey: z.string(),\n nameKey: z.string().nullable().optional(),\n height: z.number().nullable().optional(),\n }),\n description: \"Pie chart for proportional breakdown. Each data item needs a name and a value field.\",\n example: {\n title: \"Market Share\",\n data: [{ name: \"Product A\", value: 60 }, { name: \"Product B\", value: 40 }],\n dataKey: \"value\",\n nameKey: \"name\",\n },\n },\n AreaChart: {\n props: z.object(chartBaseProps),\n description: \"Area chart for cumulative values over time with gradient fills.\",\n example: {\n title: \"Traffic Volume\",\n data: [{ day: \"Mon\", visits: 200 }, { day: \"Tue\", visits: 350 }],\n config: { xAxis: \"day\", series: [{ dataKey: \"visits\", label: \"Visits\" }] },\n },\n },\n MetricCards: {\n props: z.object({\n title: z.string().nullable().optional(),\n metrics: z.array(\n z.object({\n label: z.string(),\n value: z.string(),\n unit: z.string().nullable().optional(),\n trend: z.string().nullable().optional(),\n trendDirection: z.enum([\"up\", \"down\", \"neutral\"]).nullable().optional(),\n description: z.string().nullable().optional(),\n }),\n ),\n }),\n description: \"KPI metric cards grid with big numbers and optional trend indicators.\",\n example: {\n metrics: [\n { label: \"Revenue\", value: \"$1.2M\", trend: \"+12%\", trendDirection: \"up\" },\n { label: \"Users\", value: \"45K\", trend: \"-3%\", trendDirection: \"down\" },\n ],\n },\n },\n ComparisonTable: {\n props: z.object({\n title: z.string().nullable().optional(),\n items: z.array(\n z.object({\n name: z.string(),\n highlight: z.boolean().nullable().optional(),\n features: z.record(z.string(), z.union([z.string(), z.boolean(), z.number()])),\n }),\n ),\n fields: z.array(\n z.object({\n key: z.string(),\n label: z.string(),\n type: z.enum([\"text\", \"boolean\", \"rating\"]).nullable().optional(),\n }),\n ),\n }),\n description: \"Side-by-side comparison table. Items are columns, fields are rows.\",\n example: {\n title: \"Plan Comparison\",\n items: [\n { name: \"Basic\", features: { price: \"$9/mo\", storage: \"10GB\", support: true } },\n { name: \"Pro\", highlight: true, features: { price: \"$29/mo\", storage: \"100GB\", support: true } },\n ],\n fields: [\n { key: \"price\", label: \"Price\", type: \"text\" },\n { key: \"storage\", label: \"Storage\", type: \"text\" },\n { key: \"support\", label: \"Support\", type: \"boolean\" },\n ],\n },\n },\n Timeline: {\n props: z.object({\n title: z.string().nullable().optional(),\n events: z.array(\n z.object({\n date: z.string().nullable().optional(),\n title: z.string(),\n description: z.string().nullable().optional(),\n status: z.enum([\"completed\", \"current\", \"upcoming\"]).nullable().optional(),\n }),\n ),\n }),\n description: \"Vertical timeline for chronological events or process steps.\",\n example: {\n events: [\n { title: \"Order Placed\", date: \"Jan 1\", status: \"completed\" },\n { title: \"Shipped\", date: \"Jan 3\", status: \"current\" },\n { title: \"Delivered\", status: \"upcoming\" },\n ],\n },\n },\n ProgressBars: {\n props: z.object({\n title: z.string().nullable().optional(),\n goals: z.array(\n z.object({\n label: z.string(),\n current: z.number(),\n target: z.number(),\n unit: z.string().nullable().optional(),\n }),\n ),\n }),\n description: \"Progress bars for goal tracking with current/target values.\",\n example: {\n goals: [\n { label: \"Revenue\", current: 75000, target: 100000, unit: \"$\" },\n { label: \"Users\", current: 800, target: 1000 },\n ],\n },\n },\n\n // ── Form ────────────────────────────────────────────────\n Input: shadcnComponentDefinitions.Input,\n Textarea: shadcnComponentDefinitions.Textarea,\n Select: shadcnComponentDefinitions.Select,\n Checkbox: shadcnComponentDefinitions.Checkbox,\n Radio: shadcnComponentDefinitions.Radio,\n Switch: shadcnComponentDefinitions.Switch,\n Slider: shadcnComponentDefinitions.Slider,\n Button: shadcnComponentDefinitions.Button,\n ButtonGroup: shadcnComponentDefinitions.ButtonGroup,\n Toggle: shadcnComponentDefinitions.Toggle,\n ToggleGroup: shadcnComponentDefinitions.ToggleGroup,\n DropdownMenu: shadcnComponentDefinitions.DropdownMenu,\n\n // ── Feedback ────────────────────────────────────────────\n Progress: shadcnComponentDefinitions.Progress,\n Spinner: shadcnComponentDefinitions.Spinner,\n Skeleton: shadcnComponentDefinitions.Skeleton,\n Tooltip: shadcnComponentDefinitions.Tooltip,\n Popover: shadcnComponentDefinitions.Popover,\n\n // ── Navigation ──────────────────────────────────────────\n Pagination: shadcnComponentDefinitions.Pagination,\n },\n\n actions: {\n navigate_url: {\n params: z.object({\n url: z.string(),\n target: z.enum([\"_self\", \"_blank\"]).default(\"_blank\"),\n }),\n description: \"Open a URL in a new tab or the current tab.\",\n },\n send_message: {\n params: z.object({\n message: z.string(),\n }),\n description: \"Send a follow-up chat message on behalf of the user.\",\n },\n call_api: {\n params: z.object({\n endpoint: z.string(),\n method: z.enum([\"GET\", \"POST\", \"PUT\", \"DELETE\"]).default(\"POST\"),\n body: z.record(z.string(), z.unknown()).optional(),\n }),\n description: \"Make a proxied API call through the platform backend.\",\n },\n },\n});\n\nexport type PlatformCatalog = typeof catalog;\nexport type PlatformSpec = typeof catalog._specType;\n","\"use client\";\n\n/**\n * json-render registry for the widget.\n * Uses @json-render/shadcn standard component implementations.\n * Includes custom chart & visualization components.\n */\n\nimport { defineRegistry } from \"@json-render/react\";\nimport { shadcnComponents } from \"@json-render/shadcn\";\nimport { VisualizationRenderer } from \"../tools/VisualizationRenderer\";\nimport type { VisualizationSpec } from \"../tools/VisualizationRenderer\";\nimport { catalog } from \"./catalog\";\n\nexport const { registry, handlers: createActionHandlers } = defineRegistry(\n catalog,\n {\n components: {\n // ── Layout ──────────────────────────────────────────────\n Card: (p) => <div className=\"w-full [&>div]:border-0 [&>div]:shadow-none\">{shadcnComponents.Card(p)}</div>,\n Stack: shadcnComponents.Stack,\n Grid: shadcnComponents.Grid,\n Separator: shadcnComponents.Separator,\n Tabs: shadcnComponents.Tabs,\n Accordion: shadcnComponents.Accordion,\n Collapsible: shadcnComponents.Collapsible,\n Dialog: shadcnComponents.Dialog,\n Drawer: shadcnComponents.Drawer,\n Carousel: shadcnComponents.Carousel,\n\n // ── Typography ──────────────────────────────────────────\n Heading: shadcnComponents.Heading,\n Text: shadcnComponents.Text,\n Badge: shadcnComponents.Badge,\n Link: shadcnComponents.Link,\n Alert: shadcnComponents.Alert,\n\n // ── Media ───────────────────────────────────────────────\n Image: shadcnComponents.Image,\n Avatar: shadcnComponents.Avatar,\n\n // ── Data ────────────────────────────────────────────────\n Table: shadcnComponents.Table,\n\n // ── Charts & Visualization ────────────────────────────\n LineChart: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"line_chart\",\n title: props.title ?? undefined,\n description: props.description ?? undefined,\n data: props.data as VisualizationSpec[\"data\"],\n config: {\n xAxis: props.config?.xAxis ?? undefined,\n series: props.config?.series?.map((s) => ({\n dataKey: s.dataKey,\n label: s.label,\n color: s.color ?? undefined,\n })),\n showGrid: props.config?.showGrid ?? undefined,\n showLegend: props.config?.showLegend ?? undefined,\n stacked: props.config?.stacked ?? undefined,\n valueFormatter: props.config?.valueFormatter ?? undefined,\n },\n }}\n />\n ),\n BarChart: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"bar_chart\",\n title: props.title ?? undefined,\n description: props.description ?? undefined,\n data: props.data as VisualizationSpec[\"data\"],\n config: {\n xAxis: props.config?.xAxis ?? undefined,\n series: props.config?.series?.map((s) => ({\n dataKey: s.dataKey,\n label: s.label,\n color: s.color ?? undefined,\n })),\n showGrid: props.config?.showGrid ?? undefined,\n showLegend: props.config?.showLegend ?? undefined,\n stacked: props.config?.stacked ?? undefined,\n valueFormatter: props.config?.valueFormatter ?? undefined,\n },\n }}\n />\n ),\n PieChart: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"pie_chart\",\n title: props.title ?? undefined,\n description: props.description ?? undefined,\n data: props.data as VisualizationSpec[\"data\"],\n config: {\n series: [{ dataKey: props.dataKey, label: props.dataKey }],\n },\n }}\n />\n ),\n AreaChart: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"area_chart\",\n title: props.title ?? undefined,\n description: props.description ?? undefined,\n data: props.data as VisualizationSpec[\"data\"],\n config: {\n xAxis: props.config?.xAxis ?? undefined,\n series: props.config?.series?.map((s) => ({\n dataKey: s.dataKey,\n label: s.label,\n color: s.color ?? undefined,\n })),\n showGrid: props.config?.showGrid ?? undefined,\n showLegend: props.config?.showLegend ?? undefined,\n stacked: props.config?.stacked ?? undefined,\n valueFormatter: props.config?.valueFormatter ?? undefined,\n },\n }}\n />\n ),\n MetricCards: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"metric_cards\",\n title: props.title ?? undefined,\n metrics: props.metrics?.map((m) => ({\n label: m.label,\n value: m.value,\n unit: m.unit ?? undefined,\n trend: m.trend ?? undefined,\n trendDirection: m.trendDirection ?? undefined,\n description: m.description ?? undefined,\n })),\n }}\n />\n ),\n ComparisonTable: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"comparison\",\n title: props.title ?? undefined,\n items: props.items?.map((item) => ({\n name: item.name,\n highlight: item.highlight ?? undefined,\n features: item.features as Record<string, string | boolean | number>,\n })),\n comparisonFields: props.fields?.map((f) => ({\n key: f.key,\n label: f.label,\n type: f.type ?? undefined,\n })),\n }}\n />\n ),\n Timeline: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"timeline\",\n title: props.title ?? undefined,\n events: props.events?.map((e) => ({\n date: e.date ?? undefined,\n title: e.title,\n description: e.description ?? undefined,\n status: e.status ?? undefined,\n })),\n }}\n />\n ),\n ProgressBars: ({ props }) => (\n <VisualizationRenderer\n spec={{\n type: \"progress\",\n title: props.title ?? undefined,\n goals: props.goals?.map((g) => ({\n label: g.label,\n current: g.current,\n target: g.target,\n unit: g.unit ?? undefined,\n })),\n }}\n />\n ),\n\n // ── Form (wrapped with w-full for proper layout) ────────\n Input: (p) => <div className=\"w-full\">{shadcnComponents.Input(p)}</div>,\n Textarea: (p) => <div className=\"w-full\">{shadcnComponents.Textarea(p)}</div>,\n Select: (p) => <div className=\"w-full\">{shadcnComponents.Select(p)}</div>,\n Checkbox: shadcnComponents.Checkbox,\n Radio: shadcnComponents.Radio,\n Switch: shadcnComponents.Switch,\n Slider: shadcnComponents.Slider,\n Button: shadcnComponents.Button,\n ButtonGroup: shadcnComponents.ButtonGroup,\n Toggle: shadcnComponents.Toggle,\n ToggleGroup: shadcnComponents.ToggleGroup,\n DropdownMenu: shadcnComponents.DropdownMenu,\n\n // ── Feedback ────────────────────────────────────────────\n Progress: shadcnComponents.Progress,\n Spinner: shadcnComponents.Spinner,\n Skeleton: shadcnComponents.Skeleton,\n Tooltip: shadcnComponents.Tooltip,\n Popover: shadcnComponents.Popover,\n\n // ── Navigation ──────────────────────────────────────────\n Pagination: shadcnComponents.Pagination,\n },\n\n actions: {\n navigate_url: async (params) => {\n if (params?.url) {\n window.open(params.url, params.target ?? \"_blank\");\n }\n },\n send_message: async (params) => {\n console.log(\"[json-render] send_message action:\", params?.message);\n },\n call_api: async (params) => {\n const p = params as Record<string, unknown>;\n const url = (p?.endpoint || p?.url) as string | undefined;\n if (!url) {\n console.warn(\"[json-render] call_api: missing endpoint/url\");\n return;\n }\n const method = ((params?.method as string) || \"POST\").toUpperCase();\n try {\n const res = await fetch(url, {\n method,\n headers: { \"Content-Type\": \"application/json\" },\n ...(method !== \"GET\" && params?.body\n ? { body: JSON.stringify(params.body) }\n : {}),\n });\n const data = await res.json().catch(() => null);\n console.log(\"[json-render] call_api response:\", res.status, data);\n return data;\n } catch (err) {\n console.error(\"[json-render] call_api error:\", err);\n }\n },\n },\n },\n);\n","\"use client\";\n\n/**\n * JsonRenderResult — wrapper component for rendering json-render specs\n * inside tool results (both frontend dashboard and widget).\n */\n\nimport type { Spec } from \"@json-render/core\";\nimport {\n JSONUIProvider,\n Renderer,\n useStateValue,\n useValidation,\n} from \"@json-render/react\";\nimport { useMemo, useRef, useCallback, useEffect } from \"react\";\nimport { registry } from \"./registry\";\n\n/** Normalize a spec to the { root: string, elements: {...} } format. */\nfunction normalizeSpec(raw: Record<string, unknown>): Spec {\n if (typeof raw.root === \"string\" && raw.elements) {\n return raw as unknown as Spec;\n }\n const elements: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(raw)) {\n if (\n value &&\n typeof value === \"object\" &&\n \"type\" in (value as Record<string, unknown>)\n ) {\n elements[key] = value;\n }\n }\n return { root: \"root\", elements } as unknown as Spec;\n}\n\n/** Extract the `state` field from a spec and flatten into state paths. */\nfunction extractSpecState(\n raw: Record<string, unknown>,\n): Record<string, unknown> {\n const state = raw.state as Record<string, unknown> | undefined;\n if (!state || typeof state !== \"object\") return {};\n\n const result: Record<string, unknown> = {};\n function walk(obj: Record<string, unknown>, prefix: string) {\n for (const [key, value] of Object.entries(obj)) {\n const path = `${prefix}/${key}`;\n result[path] = value;\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n walk(value as Record<string, unknown>, path);\n }\n }\n }\n walk(state, \"\");\n return result;\n}\n\n/** Deeply resolve $state expressions in a value tree. */\nfunction deepResolve(\n value: unknown,\n stateMap: Record<string, unknown>,\n): unknown {\n if (value === null || value === undefined) return value;\n if (typeof value === \"object\" && !Array.isArray(value)) {\n const obj = value as Record<string, unknown>;\n if (Object.keys(obj).length === 1 && typeof obj.$state === \"string\") {\n return stateMap[obj.$state];\n }\n const resolved: Record<string, unknown> = {};\n for (const [key, val] of Object.entries(obj)) {\n resolved[key] = deepResolve(val, stateMap);\n }\n return resolved;\n }\n if (Array.isArray(value)) {\n return value.map((item) => deepResolve(item, stateMap));\n }\n return value;\n}\n\ninterface FormConfig {\n successMessage?: string;\n errorMessage?: string;\n hideFormAfter?: boolean;\n}\n\ninterface JsonRenderResultProps {\n spec: Spec;\n data: unknown;\n onSendMessage?: (message: string) => void;\n className?: string;\n conversationMessages?: Array<{ role: string; content: string }>;\n /** API key for authenticated requests (form submissions etc.) */\n apiKey?: string;\n}\n\nexport function JsonRenderResult({\n spec: rawSpec,\n data,\n onSendMessage,\n className,\n conversationMessages,\n apiKey,\n}: JsonRenderResultProps) {\n const rawSpecObj = rawSpec as unknown as Record<string, unknown>;\n const spec = useMemo(() => normalizeSpec(rawSpecObj), [rawSpecObj]);\n\n // Extract _formConfig from spec (set by the Form Settings panel)\n const formConfig = useMemo(\n () => (rawSpecObj._formConfig as FormConfig) || null,\n [rawSpecObj],\n );\n\n const initialState = useMemo(() => {\n const specState = extractSpecState(rawSpecObj);\n return {\n \"/data\": data,\n ...(conversationMessages\n ? { \"/conversationMessages\": conversationMessages }\n : {}),\n ...specState,\n };\n }, [data, rawSpecObj, conversationMessages]);\n\n // Ref for state tracking (updated via onStateChange)\n const stateRef = useRef<Record<string, unknown>>(initialState);\n const validateRef = useRef<(() => boolean) | null>(null);\n\n const handleStateChange = useCallback(\n (changes: Array<{ path: string; value: unknown }>) => {\n for (const { path, value } of changes) {\n stateRef.current[path] = value;\n }\n },\n [],\n );\n\n const handlers = useMemo(\n () => ({\n navigate_url: async (params: Record<string, unknown>) => {\n if (params?.url) {\n window.open(\n params.url as string,\n (params.target as string) ?? \"_blank\",\n );\n }\n },\n\n send_message: async (params: Record<string, unknown>) => {\n if (\n onSendMessage &&\n params?.message &&\n typeof params.message === \"string\"\n ) {\n onSendMessage(params.message);\n }\n },\n\n call_api: async (params: Record<string, unknown>) => {\n if (validateRef.current) {\n const isValid = validateRef.current();\n if (!isValid) {\n throw new Error(\"Validation failed\");\n }\n }\n\n const resolved = deepResolve(\n params,\n stateRef.current,\n ) as Record<string, unknown>;\n\n const url = (resolved?.endpoint || resolved?.url) as\n | string\n | undefined;\n if (!url) {\n throw new Error(\"Missing endpoint/url in call_api params\");\n }\n const method = (\n (resolved?.method as string) || \"POST\"\n ).toUpperCase();\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n if (apiKey) {\n headers.Authorization = `Bearer ${apiKey}`;\n }\n\n const res = await fetch(url, {\n method,\n headers,\n credentials: \"include\",\n ...(method !== \"GET\" && resolved?.body\n ? { body: JSON.stringify(resolved.body) }\n : {}),\n });\n\n if (!res.ok) {\n const errBody = await res.text().catch(() => \"\");\n throw new Error(\n errBody || `Request failed with status ${res.status}`,\n );\n }\n\n const responseData = await res.json().catch(() => null);\n return responseData;\n },\n }),\n [onSendMessage, apiKey],\n );\n\n return (\n <div className={className}>\n <JSONUIProvider\n registry={registry}\n initialState={initialState}\n handlers={handlers}\n onStateChange={handleStateChange}\n >\n <ValidationBridge validateRef={validateRef} />\n {formConfig ? (\n <FormFeedbackWrapper formConfig={formConfig}>\n <Renderer spec={spec} registry={registry} />\n </FormFeedbackWrapper>\n ) : (\n <Renderer spec={spec} registry={registry} />\n )}\n </JSONUIProvider>\n </div>\n );\n}\n\n/** Reads /formSubmitted and /formError from state and shows feedback UI.\n * Optionally hides form children after success. */\nfunction FormFeedbackWrapper({\n formConfig,\n children,\n}: {\n formConfig: FormConfig;\n children: React.ReactNode;\n}) {\n const formSubmitted = useStateValue(\"/formSubmitted\");\n const formError = useStateValue(\"/formError\");\n\n // Only show feedback when state has been explicitly set to truthy values\n const isSubmitted = formSubmitted === true;\n const hasError = !!formError && formError !== \"\" && formError !== false;\n\n if (isSubmitted && formConfig.hideFormAfter) {\n return (\n <div\n className=\"rounded-lg border border-green-200 bg-green-50 p-4 dark:border-green-800 dark:bg-green-950/30\"\n role=\"alert\"\n >\n <p className=\"text-sm font-medium text-green-800 dark:text-green-200\">\n {formConfig.successMessage || \"Submitted successfully!\"}\n </p>\n </div>\n );\n }\n\n return (\n <>\n {isSubmitted && formConfig.successMessage && (\n <div\n className=\"rounded-lg border border-green-200 bg-green-50 p-3 mb-3 dark:border-green-800 dark:bg-green-950/30\"\n role=\"alert\"\n >\n <p className=\"text-sm font-medium text-green-800 dark:text-green-200\">\n {formConfig.successMessage}\n </p>\n </div>\n )}\n {hasError && formConfig.errorMessage && (\n <div\n className=\"rounded-lg border border-red-200 bg-red-50 p-3 mb-3 dark:border-red-800 dark:bg-red-950/30\"\n role=\"alert\"\n >\n <p className=\"text-sm font-medium text-red-800 dark:text-red-200\">\n {formConfig.errorMessage}\n </p>\n </div>\n )}\n {children}\n </>\n );\n}\n\n/** Bridges the validation context to the parent's ref. */\nfunction ValidationBridge({\n validateRef,\n}: {\n validateRef: React.RefObject<(() => boolean) | null>;\n}) {\n const validation = useValidation();\n\n useEffect(() => {\n if (validation?.validateAll) {\n validateRef.current = () => validation.validateAll();\n }\n return () => {\n validateRef.current = null;\n };\n }, [validation, validateRef]);\n\n return null;\n}\n"]}
@@ -1,230 +0,0 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var chunkC24QG43M_cjs = require('./chunk-C24QG43M.cjs');
5
- var chunk525KS5HM_cjs = require('./chunk-525KS5HM.cjs');
6
- var lucideReact = require('lucide-react');
7
- var react = require('react');
8
- var useStickToBottom = require('use-stick-to-bottom');
9
- var jsxRuntime = require('react/jsx-runtime');
10
-
11
- var Conversation = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
12
- useStickToBottom.StickToBottom,
13
- {
14
- className: chunk525KS5HM_cjs.cn("relative flex-1 overflow-y-hidden", className),
15
- initial: "smooth",
16
- resize: "smooth",
17
- role: "log",
18
- ...props
19
- }
20
- );
21
- var ConversationContent = ({
22
- className,
23
- ...props
24
- }) => /* @__PURE__ */ jsxRuntime.jsx(
25
- useStickToBottom.StickToBottom.Content,
26
- {
27
- className: chunk525KS5HM_cjs.cn("flex flex-col gap-8", className),
28
- ...props
29
- }
30
- );
31
- var ConversationEmptyState = ({
32
- className,
33
- title = "No messages yet",
34
- description = "Start a conversation to see messages here",
35
- icon,
36
- children,
37
- ...props
38
- }) => /* @__PURE__ */ jsxRuntime.jsx(
39
- "div",
40
- {
41
- className: chunk525KS5HM_cjs.cn(
42
- "flex size-full flex-col items-center justify-center gap-3 p-8 text-center",
43
- className
44
- ),
45
- ...props,
46
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
47
- icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", children: icon }),
48
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
49
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-medium text-sm", children: title }),
50
- description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: description })
51
- ] })
52
- ] })
53
- }
54
- );
55
- var ConversationScrollButton = ({
56
- className,
57
- ...props
58
- }) => {
59
- const { isAtBottom, scrollToBottom } = useStickToBottom.useStickToBottomContext();
60
- const handleScrollToBottom = react.useCallback(() => {
61
- scrollToBottom();
62
- }, [scrollToBottom]);
63
- return !isAtBottom && /* @__PURE__ */ jsxRuntime.jsx(
64
- chunkC24QG43M_cjs.Button,
65
- {
66
- className: chunk525KS5HM_cjs.cn(
67
- "absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full",
68
- className
69
- ),
70
- onClick: handleScrollToBottom,
71
- size: "icon",
72
- type: "button",
73
- variant: "outline",
74
- ...props,
75
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowDownIcon, { className: "size-4" })
76
- }
77
- );
78
- };
79
- var Loader = ({ className, text = "Thinking...", ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(
80
- "div",
81
- {
82
- className: chunk525KS5HM_cjs.cn(
83
- "flex items-center gap-2 w-full py-3",
84
- className
85
- ),
86
- style: { color: "var(--ac-loader-color, var(--ac-primary, #2f80ed))" },
87
- ...props,
88
- children: [
89
- /* @__PURE__ */ jsxRuntime.jsxs(
90
- "svg",
91
- {
92
- className: "animate-spin",
93
- width: "20",
94
- height: "20",
95
- viewBox: "0 0 20 20",
96
- fill: "none",
97
- xmlns: "http://www.w3.org/2000/svg",
98
- children: [
99
- /* @__PURE__ */ jsxRuntime.jsx(
100
- "circle",
101
- {
102
- cx: "10",
103
- cy: "10",
104
- r: "8",
105
- stroke: "#E5E5E5",
106
- strokeWidth: "2",
107
- fill: "none"
108
- }
109
- ),
110
- /* @__PURE__ */ jsxRuntime.jsx(
111
- "path",
112
- {
113
- d: "M10 2C14.4183 2 18 5.58172 18 10",
114
- stroke: "currentColor",
115
- strokeWidth: "2",
116
- strokeLinecap: "round",
117
- fill: "none"
118
- }
119
- )
120
- ]
121
- }
122
- ),
123
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-foreground", children: text })
124
- ]
125
- }
126
- );
127
- var SpinnerLoader = ({ className, size = 16, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
128
- "div",
129
- {
130
- className: chunk525KS5HM_cjs.cn(
131
- "inline-flex animate-spin items-center justify-center",
132
- className
133
- ),
134
- ...props,
135
- children: /* @__PURE__ */ jsxRuntime.jsxs(
136
- "svg",
137
- {
138
- height: size,
139
- strokeLinejoin: "round",
140
- style: { color: "currentcolor" },
141
- viewBox: "0 0 16 16",
142
- width: size,
143
- children: [
144
- /* @__PURE__ */ jsxRuntime.jsx("title", { children: "Loader" }),
145
- /* @__PURE__ */ jsxRuntime.jsxs("g", { clipPath: "url(#clip0_2393_1490)", children: [
146
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 0V4", stroke: "currentColor", strokeWidth: "1.5" }),
147
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 16V12", opacity: "0.5", stroke: "currentColor", strokeWidth: "1.5" }),
148
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.29773 1.52783L5.64887 4.7639", opacity: "0.9", stroke: "currentColor", strokeWidth: "1.5" }),
149
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12.7023 1.52783L10.3511 4.7639", opacity: "0.1", stroke: "currentColor", strokeWidth: "1.5" }),
150
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12.7023 14.472L10.3511 11.236", opacity: "0.4", stroke: "currentColor", strokeWidth: "1.5" }),
151
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.29773 14.472L5.64887 11.236", opacity: "0.6", stroke: "currentColor", strokeWidth: "1.5" }),
152
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.6085 5.52783L11.8043 6.7639", opacity: "0.2", stroke: "currentColor", strokeWidth: "1.5" }),
153
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0.391602 10.472L4.19583 9.23598", opacity: "0.7", stroke: "currentColor", strokeWidth: "1.5" }),
154
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.6085 10.4722L11.8043 9.2361", opacity: "0.3", stroke: "currentColor", strokeWidth: "1.5" }),
155
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0.391602 5.52783L4.19583 6.7639", opacity: "0.8", stroke: "currentColor", strokeWidth: "1.5" })
156
- ] }),
157
- /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx("clipPath", { id: "clip0_2393_1490", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { fill: "white", height: "16", width: "16" }) }) })
158
- ]
159
- }
160
- )
161
- }
162
- );
163
- var Sources = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
164
- chunkC24QG43M_cjs.Collapsible,
165
- {
166
- className: chunk525KS5HM_cjs.cn("not-prose mb-4 text-primary text-xs", className),
167
- ...props
168
- }
169
- );
170
- var SourcesTrigger = ({
171
- className,
172
- count,
173
- children,
174
- ...props
175
- }) => /* @__PURE__ */ jsxRuntime.jsx(
176
- chunkC24QG43M_cjs.CollapsibleTrigger,
177
- {
178
- className: chunk525KS5HM_cjs.cn("flex items-center gap-2", className),
179
- ...props,
180
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
181
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "font-medium", children: [
182
- "Used ",
183
- count,
184
- " sources"
185
- ] }),
186
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "h-4 w-4" })
187
- ] })
188
- }
189
- );
190
- var SourcesContent = ({
191
- className,
192
- ...props
193
- }) => /* @__PURE__ */ jsxRuntime.jsx(
194
- chunkC24QG43M_cjs.CollapsibleContent,
195
- {
196
- className: chunk525KS5HM_cjs.cn(
197
- "mt-3 flex w-fit flex-col gap-2",
198
- "data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",
199
- className
200
- ),
201
- ...props
202
- }
203
- );
204
- var Source = ({ href, title, children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
205
- "a",
206
- {
207
- className: "flex items-center gap-2",
208
- href,
209
- rel: "noreferrer",
210
- target: "_blank",
211
- ...props,
212
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
213
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BookIcon, { className: "h-4 w-4" }),
214
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block font-medium", children: title })
215
- ] })
216
- }
217
- );
218
-
219
- exports.Conversation = Conversation;
220
- exports.ConversationContent = ConversationContent;
221
- exports.ConversationEmptyState = ConversationEmptyState;
222
- exports.ConversationScrollButton = ConversationScrollButton;
223
- exports.Loader = Loader;
224
- exports.Source = Source;
225
- exports.Sources = Sources;
226
- exports.SourcesContent = SourcesContent;
227
- exports.SourcesTrigger = SourcesTrigger;
228
- exports.SpinnerLoader = SpinnerLoader;
229
- //# sourceMappingURL=chunk-RTVEBPAJ.cjs.map
230
- //# sourceMappingURL=chunk-RTVEBPAJ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ai-elements/conversation.tsx","../src/ai-elements/loader.tsx","../src/ai-elements/sources.tsx"],"names":["jsx","StickToBottom","cn","jsxs","Fragment","useStickToBottomContext","useCallback","Button","ArrowDownIcon","Collapsible","CollapsibleTrigger","ChevronDownIcon","CollapsibleContent","BookIcon"],"mappings":"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","file":"chunk-RTVEBPAJ.cjs","sourcesContent":["\"use client\";\n\nimport { Button } from \"../ui/button\";\nimport { cn } from \"../core/utils\";\nimport { ArrowDownIcon } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { useCallback } from \"react\";\nimport { StickToBottom, useStickToBottomContext } from \"use-stick-to-bottom\";\n\nexport type ConversationProps = ComponentProps<typeof StickToBottom>;\n\nexport const Conversation = ({ className, ...props }: ConversationProps) => (\n <StickToBottom\n className={cn(\"relative flex-1 overflow-y-hidden\", className)}\n initial=\"smooth\"\n resize=\"smooth\"\n role=\"log\"\n {...props}\n />\n);\n\nexport type ConversationContentProps = ComponentProps<\n typeof StickToBottom.Content\n>;\n\nexport const ConversationContent = ({\n className,\n ...props\n}: ConversationContentProps) => (\n <StickToBottom.Content\n className={cn(\"flex flex-col gap-8\", className)}\n {...props}\n />\n);\n\nexport type ConversationEmptyStateProps = ComponentProps<\"div\"> & {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n};\n\nexport const ConversationEmptyState = ({\n className,\n title = \"No messages yet\",\n description = \"Start a conversation to see messages here\",\n icon,\n children,\n ...props\n}: ConversationEmptyStateProps) => (\n <div\n className={cn(\n \"flex size-full flex-col items-center justify-center gap-3 p-8 text-center\",\n className\n )}\n {...props}\n >\n {children ?? (\n <>\n {icon && <div className=\"text-muted-foreground\">{icon}</div>}\n <div className=\"space-y-1\">\n <h3 className=\"font-medium text-sm\">{title}</h3>\n {description && (\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n )}\n </div>\n </>\n )}\n </div>\n);\n\nexport type ConversationScrollButtonProps = ComponentProps<typeof Button>;\n\nexport const ConversationScrollButton = ({\n className,\n ...props\n}: ConversationScrollButtonProps) => {\n const { isAtBottom, scrollToBottom } = useStickToBottomContext();\n\n const handleScrollToBottom = useCallback(() => {\n scrollToBottom();\n }, [scrollToBottom]);\n\n return (\n !isAtBottom && (\n <Button\n className={cn(\n \"absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full\",\n className\n )}\n onClick={handleScrollToBottom}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n <ArrowDownIcon className=\"size-4\" />\n </Button>\n )\n );\n};\n","\"use client\";\n\nimport { cn } from \"../core/utils\";\nimport type { HTMLAttributes } from \"react\";\n\nexport type LoaderProps = HTMLAttributes<HTMLDivElement> & {\n text?: string;\n};\n\nexport const Loader = ({ className, text = \"Thinking...\", ...props }: LoaderProps) => (\n <div\n className={cn(\n \"flex items-center gap-2 w-full py-3\",\n className\n )}\n style={{ color: \"var(--ac-loader-color, var(--ac-primary, #2f80ed))\" }}\n {...props}\n >\n {/* Circular spinner */}\n <svg\n className=\"animate-spin\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"10\"\n cy=\"10\"\n r=\"8\"\n stroke=\"#E5E5E5\"\n strokeWidth=\"2\"\n fill=\"none\"\n />\n <path\n d=\"M10 2C14.4183 2 18 5.58172 18 10\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </svg>\n <span className=\"text-sm text-foreground\">{text}</span>\n </div>\n);\n\n// Spinner loader for other use cases\nexport type SpinnerLoaderProps = HTMLAttributes<HTMLDivElement> & {\n size?: number;\n};\n\nexport const SpinnerLoader = ({ className, size = 16, ...props }: SpinnerLoaderProps) => (\n <div\n className={cn(\n \"inline-flex animate-spin items-center justify-center\",\n className\n )}\n {...props}\n >\n <svg\n height={size}\n strokeLinejoin=\"round\"\n style={{ color: \"currentcolor\" }}\n viewBox=\"0 0 16 16\"\n width={size}\n >\n <title>Loader</title>\n <g clipPath=\"url(#clip0_2393_1490)\">\n <path d=\"M8 0V4\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M8 16V12\" opacity=\"0.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M3.29773 1.52783L5.64887 4.7639\" opacity=\"0.9\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M12.7023 1.52783L10.3511 4.7639\" opacity=\"0.1\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M12.7023 14.472L10.3511 11.236\" opacity=\"0.4\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M3.29773 14.472L5.64887 11.236\" opacity=\"0.6\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M15.6085 5.52783L11.8043 6.7639\" opacity=\"0.2\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M0.391602 10.472L4.19583 9.23598\" opacity=\"0.7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M15.6085 10.4722L11.8043 9.2361\" opacity=\"0.3\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path d=\"M0.391602 5.52783L4.19583 6.7639\" opacity=\"0.8\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n </g>\n <defs>\n <clipPath id=\"clip0_2393_1490\">\n <rect fill=\"white\" height=\"16\" width=\"16\" />\n </clipPath>\n </defs>\n </svg>\n </div>\n);\n","\"use client\";\n\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"../ui/collapsible\";\nimport { cn } from \"../core/utils\";\nimport { BookIcon, ChevronDownIcon } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\n\nexport type SourcesProps = ComponentProps<\"div\">;\n\nexport const Sources = ({ className, ...props }: SourcesProps) => (\n <Collapsible\n className={cn(\"not-prose mb-4 text-primary text-xs\", className)}\n {...props}\n />\n);\n\nexport type SourcesTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {\n count: number;\n};\n\nexport const SourcesTrigger = ({\n className,\n count,\n children,\n ...props\n}: SourcesTriggerProps) => (\n <CollapsibleTrigger\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n >\n {children ?? (\n <>\n <p className=\"font-medium\">Used {count} sources</p>\n <ChevronDownIcon className=\"h-4 w-4\" />\n </>\n )}\n </CollapsibleTrigger>\n);\n\nexport type SourcesContentProps = ComponentProps<typeof CollapsibleContent>;\n\nexport const SourcesContent = ({\n className,\n ...props\n}: SourcesContentProps) => (\n <CollapsibleContent\n className={cn(\n \"mt-3 flex w-fit flex-col gap-2\",\n \"data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in\",\n className\n )}\n {...props}\n />\n);\n\nexport type SourceProps = ComponentProps<\"a\">;\n\nexport const Source = ({ href, title, children, ...props }: SourceProps) => (\n <a\n className=\"flex items-center gap-2\"\n href={href}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...props}\n >\n {children ?? (\n <>\n <BookIcon className=\"h-4 w-4\" />\n <span className=\"block font-medium\">{title}</span>\n </>\n )}\n </a>\n);\n"]}