@keboola/design 11.3.0 → 11.4.0
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/AGENTS.md +17 -0
- package/CHANGELOG.md +170 -0
- package/COMPONENT-API.md +32 -31
- package/dist/{AIKit-DaFT7p92.js → AIKit-DDg5DBCG.js} +142 -63
- package/dist/AIKit-DDg5DBCG.js.map +1 -0
- package/dist/{Alert-CseY3yAj.js → Alert-DHJFrWnS.js} +3 -3
- package/dist/{Alert-CseY3yAj.js.map → Alert-DHJFrWnS.js.map} +1 -1
- package/dist/{AlertModal-DQAGpsEy.js → AlertModal-BGJdaRRj.js} +3 -3
- package/dist/{AlertModal-DQAGpsEy.js.map → AlertModal-BGJdaRRj.js.map} +1 -1
- package/dist/{AppShell-BUoxM3fv.js → AppShell-DRgJxpXW.js} +2 -2
- package/dist/{AppShell-BUoxM3fv.js.map → AppShell-DRgJxpXW.js.map} +1 -1
- package/dist/{BrandEditor-BnTLMRMp.js → BrandEditor-Go7w8Zj2.js} +7 -7
- package/dist/{BrandEditor-BnTLMRMp.js.map → BrandEditor-Go7w8Zj2.js.map} +1 -1
- package/dist/{BrandLogo-V2pRUAeO.js → BrandLogo-Dmi7jo21.js} +2 -2
- package/dist/{BrandLogo-V2pRUAeO.js.map → BrandLogo-Dmi7jo21.js.map} +1 -1
- package/dist/{Breadcrumb-CQTPn_KB.js → Breadcrumb-uEkM6adI.js} +3 -3
- package/dist/{Breadcrumb-CQTPn_KB.js.map → Breadcrumb-uEkM6adI.js.map} +1 -1
- package/dist/{Button-CPsEQuTN.js → Button-DsRrU5F1.js} +6 -5
- package/dist/Button-DsRrU5F1.js.map +1 -0
- package/dist/{Card-Cd5HSBmv.js → Card-Dyo7055Q.js} +2 -2
- package/dist/{Card-Cd5HSBmv.js.map → Card-Dyo7055Q.js.map} +1 -1
- package/dist/{Checkbox-5VNCcV7E.js → Checkbox-fC0BuO2B.js} +3 -3
- package/dist/{Checkbox-5VNCcV7E.js.map → Checkbox-fC0BuO2B.js.map} +1 -1
- package/dist/{Clipboard-B7rckqV_.js → Clipboard-ChPdiUy3.js} +2 -2
- package/dist/{Clipboard-B7rckqV_.js.map → Clipboard-ChPdiUy3.js.map} +1 -1
- package/dist/{ClipboardButton-CQ6Aewpg.js → ClipboardButton-D9pDjgkB.js} +3 -3
- package/dist/{ClipboardButton-CQ6Aewpg.js.map → ClipboardButton-D9pDjgkB.js.map} +1 -1
- package/dist/{CodeEditor-CUse8znx.js → CodeEditor-Cxy3HnKH.js} +15 -26
- package/dist/CodeEditor-Cxy3HnKH.js.map +1 -0
- package/dist/{ColorInput-Q1D9Vcc_.js → ColorInput-Bxj-1eLT.js} +3 -3
- package/dist/{ColorInput-Q1D9Vcc_.js.map → ColorInput-Bxj-1eLT.js.map} +1 -1
- package/dist/{ColorModeSwitch-B5PXCVqB.js → ColorModeSwitch-CsWLiTBX.js} +3 -3
- package/dist/{ColorModeSwitch-B5PXCVqB.js.map → ColorModeSwitch-CsWLiTBX.js.map} +1 -1
- package/dist/{Combobox-CyoRA7oY.js → Combobox-Cs_1pj2q.js} +29 -22
- package/dist/Combobox-Cs_1pj2q.js.map +1 -0
- package/dist/{Command-Ds68v2rX.js → Command-B7ML9YMv.js} +6 -6
- package/dist/{Command-Ds68v2rX.js.map → Command-B7ML9YMv.js.map} +1 -1
- package/dist/{CopyField-DI66uY_g.js → CopyField-BO_sh-HO.js} +2 -2
- package/dist/{CopyField-DI66uY_g.js.map → CopyField-BO_sh-HO.js.map} +1 -1
- package/dist/{DateInput-BPj2pzsn.js → DateInput-ZdaMQo5i.js} +4 -4
- package/dist/{DateInput-BPj2pzsn.js.map → DateInput-ZdaMQo5i.js.map} +1 -1
- package/dist/{DatePicker-DyEGuW9m.js → DatePicker-nA8YdE84.js} +2 -2
- package/dist/{DatePicker-DyEGuW9m.js.map → DatePicker-nA8YdE84.js.map} +1 -1
- package/dist/{DateRangeInput-u9DxNbHW.js → DateRangeInput-DkvNh_sT.js} +4 -4
- package/dist/{DateRangeInput-u9DxNbHW.js.map → DateRangeInput-DkvNh_sT.js.map} +1 -1
- package/dist/{DateRangePicker-CYYhX6S7.js → DateRangePicker-DjSUFjh4.js} +5 -5
- package/dist/{DateRangePicker-CYYhX6S7.js.map → DateRangePicker-DjSUFjh4.js.map} +1 -1
- package/dist/{DropdownMenu-DpMEcyCq.js → DropdownMenu-CASr-jgl.js} +2 -2
- package/dist/{DropdownMenu-DpMEcyCq.js.map → DropdownMenu-CASr-jgl.js.map} +1 -1
- package/dist/{FieldItem-qQKGU9lF.js → FieldItem-CCd9-xnp.js} +3 -3
- package/dist/{FieldItem-qQKGU9lF.js.map → FieldItem-CCd9-xnp.js.map} +1 -1
- package/dist/{FileUpload-C336MVnU.js → FileUpload-ABThVZyg.js} +2 -2
- package/dist/{FileUpload-C336MVnU.js.map → FileUpload-ABThVZyg.js.map} +1 -1
- package/dist/{Form-CTygENDc.js → Form-k6PH-em3.js} +8 -8
- package/dist/{Form-CTygENDc.js.map → Form-k6PH-em3.js.map} +1 -1
- package/dist/{FormGroup-BnwP0jNu.js → FormGroup-DbcDtrgU.js} +3 -3
- package/dist/{FormGroup-BnwP0jNu.js.map → FormGroup-DbcDtrgU.js.map} +1 -1
- package/dist/{FullScreenModal-j-M4aPFd.js → FullScreenModal-BvPuYibe.js} +3 -3
- package/dist/{FullScreenModal-j-M4aPFd.js.map → FullScreenModal-BvPuYibe.js.map} +1 -1
- package/dist/{HoverCard-yQq-O49c.js → HoverCard-B9ZMJxjn.js} +2 -2
- package/dist/{HoverCard-yQq-O49c.js.map → HoverCard-B9ZMJxjn.js.map} +1 -1
- package/dist/{InputGroup-D7zlmqPB.js → InputGroup-BnLHY0eq.js} +3 -3
- package/dist/{InputGroup-D7zlmqPB.js.map → InputGroup-BnLHY0eq.js.map} +1 -1
- package/dist/{Kbd-D6LpR7G2.js → Kbd-CvSM3D3-.js} +2 -2
- package/dist/{Kbd-D6LpR7G2.js.map → Kbd-CvSM3D3-.js.map} +1 -1
- package/dist/MarkedText-DNGEUVWc.js +67 -0
- package/dist/MarkedText-DNGEUVWc.js.map +1 -0
- package/dist/{MermaidDiagram-JlvuGcY-.js → MermaidDiagram-WkonYErO.js} +3 -3
- package/dist/{MermaidDiagram-JlvuGcY-.js.map → MermaidDiagram-WkonYErO.js.map} +1 -1
- package/dist/{Modal-o4ATIexE.js → Modal-Coj-H02o.js} +16 -4
- package/dist/Modal-Coj-H02o.js.map +1 -0
- package/dist/{MultiActionButtonGroup-GTeFk-L8.js → MultiActionButtonGroup-CxWH7yWK.js} +3 -3
- package/dist/{MultiActionButtonGroup-GTeFk-L8.js.map → MultiActionButtonGroup-CxWH7yWK.js.map} +1 -1
- package/dist/{Navbar-CAQs4BZz.js → Navbar-B2UsolVU.js} +3 -3
- package/dist/{Navbar-CAQs4BZz.js.map → Navbar-B2UsolVU.js.map} +1 -1
- package/dist/{PageToolbar-bG2YtSa3.js → PageToolbar-DnbFt14Q.js} +3 -3
- package/dist/{PageToolbar-bG2YtSa3.js.map → PageToolbar-DnbFt14Q.js.map} +1 -1
- package/dist/{Pagination-BB3X7ooY.js → Pagination-C_b7Xhey.js} +2 -2
- package/dist/{Pagination-BB3X7ooY.js.map → Pagination-C_b7Xhey.js.map} +1 -1
- package/dist/{Popconfirm-C2Ky5hJO.js → Popconfirm-CILjmzKI.js} +3 -3
- package/dist/{Popconfirm-C2Ky5hJO.js.map → Popconfirm-CILjmzKI.js.map} +1 -1
- package/dist/{Popover-DsbI2HKu.js → Popover-BEbQrC_P.js} +22 -19
- package/dist/Popover-BEbQrC_P.js.map +1 -0
- package/dist/{RadioGroup-BMxuZEbT.js → RadioGroup-XFzFd1ti.js} +3 -3
- package/dist/{RadioGroup-BMxuZEbT.js.map → RadioGroup-XFzFd1ti.js.map} +1 -1
- package/dist/{Search-DFeECt5D.js → Search-4Bxtt8hS.js} +2 -2
- package/dist/{Search-DFeECt5D.js.map → Search-4Bxtt8hS.js.map} +1 -1
- package/dist/{SearchInput-CCpdUego.js → SearchInput-f_oY9T4Z.js} +3 -3
- package/dist/{SearchInput-CCpdUego.js.map → SearchInput-f_oY9T4Z.js.map} +1 -1
- package/dist/{SectionNav-Bw_MVL0_.js → SectionNav-BpJlisbT.js} +4 -4
- package/dist/{SectionNav-Bw_MVL0_.js.map → SectionNav-BpJlisbT.js.map} +1 -1
- package/dist/{Select-D6IZVvwL.js → Select-DpcgKqKB.js} +31 -20
- package/dist/Select-DpcgKqKB.js.map +1 -0
- package/dist/{Sheet-BIzs2K2H.js → Sheet-Chf0kX1E.js} +3 -3
- package/dist/{Sheet-BIzs2K2H.js.map → Sheet-Chf0kX1E.js.map} +1 -1
- package/dist/{Sidebar-r1TW4g_b.js → Sidebar-Cm6I4dE1.js} +9 -7
- package/dist/{Sidebar-r1TW4g_b.js.map → Sidebar-Cm6I4dE1.js.map} +1 -1
- package/dist/{Slider-CjxyfEty.js → Slider-pPC_3gz9.js} +3 -3
- package/dist/{Slider-CjxyfEty.js.map → Slider-pPC_3gz9.js.map} +1 -1
- package/dist/{Switch-BueTV03C.js → Switch-ChfPKcTE.js} +2 -2
- package/dist/{Switch-BueTV03C.js.map → Switch-ChfPKcTE.js.map} +1 -1
- package/dist/{Tabs-l72-WuhK.js → Tabs-eB974xJf.js} +2 -2
- package/dist/{Tabs-l72-WuhK.js.map → Tabs-eB974xJf.js.map} +1 -1
- package/dist/{TextInput-DhdRk8qm.js → TextInput-DHM6dHmn.js} +3 -3
- package/dist/{TextInput-DhdRk8qm.js.map → TextInput-DHM6dHmn.js.map} +1 -1
- package/dist/{ThemeProvider-DZfGdf1v.js → ThemeProvider-DrQJtzpd.js} +90 -15
- package/dist/ThemeProvider-DrQJtzpd.js.map +1 -0
- package/dist/{TimePicker-B6d2rAbX.js → TimePicker-BGeqc-Ed.js} +2 -2
- package/dist/{TimePicker-B6d2rAbX.js.map → TimePicker-BGeqc-Ed.js.map} +1 -1
- package/dist/{Toast-CxXUulYN.js → Toast-Dr6Uw7ao.js} +2 -2
- package/dist/{Toast-CxXUulYN.js.map → Toast-Dr6Uw7ao.js.map} +1 -1
- package/dist/{ZoomableSvg-CNIzRHKH.js → ZoomableSvg-BWnDkR61.js} +4 -4
- package/dist/{ZoomableSvg-CNIzRHKH.js.map → ZoomableSvg-BWnDkR61.js.map} +1 -1
- package/dist/{context-BrNtMc1H.js → context-D7X470dy.js} +4 -3
- package/dist/context-D7X470dy.js.map +1 -0
- package/dist/{defaults-CTfvj2KB.js → defaults-i_xG2F_1.js} +2 -4
- package/dist/defaults-i_xG2F_1.js.map +1 -0
- package/dist/editors.js +4 -4
- package/dist/findLiteralMatches-BGBw8Vbl.js +62 -0
- package/dist/findLiteralMatches-BGBw8Vbl.js.map +1 -0
- package/dist/flint.js +3 -3
- package/dist/index.d.ts +677 -527
- package/dist/index.js +59 -58
- package/dist/internal/blocks/AIKit.js +2 -2
- package/dist/internal/blocks/AppShell.js +1 -1
- package/dist/internal/blocks/BrandEditor.js +1 -1
- package/dist/internal/blocks/ChartPanel.js +1 -1
- package/dist/internal/blocks/ClipboardButton.js +1 -1
- package/dist/internal/blocks/ColorInput.js +1 -1
- package/dist/internal/blocks/ColorModeSwitch.js +1 -1
- package/dist/internal/blocks/Command.js +1 -1
- package/dist/internal/blocks/CopyField.js +1 -1
- package/dist/internal/blocks/DateInput.js +1 -1
- package/dist/internal/blocks/DateRangeInput.js +1 -1
- package/dist/internal/blocks/EmptyConfigurationActionCard.js +1 -1
- package/dist/internal/blocks/ErrorState.js +1 -1
- package/dist/internal/blocks/ExportMenu.js +5 -5
- package/dist/internal/blocks/ExportMenu.js.map +1 -1
- package/dist/internal/blocks/Form/connectors/MultiComboboxField.js +1 -1
- package/dist/internal/blocks/Form.js +1 -1
- package/dist/internal/blocks/FormGroup.js +1 -1
- package/dist/internal/blocks/MultiActionButtonGroup.js +1 -1
- package/dist/internal/blocks/MultiCombobox.js +14 -11
- package/dist/internal/blocks/MultiCombobox.js.map +1 -1
- package/dist/internal/blocks/NumberInput.js +1 -1
- package/dist/internal/blocks/PageToolbar.js +1 -1
- package/dist/internal/blocks/PasswordInput.js +2 -2
- package/dist/internal/blocks/SearchInput.js +1 -1
- package/dist/internal/blocks/SearchInputWithNavigation.js +3 -3
- package/dist/internal/blocks/SectionNav.js +1 -1
- package/dist/internal/blocks/SplitButton.js +2 -2
- package/dist/internal/blocks/StatCard.js +1 -1
- package/dist/internal/blocks/TextInput.js +1 -1
- package/dist/internal/blocks/Textarea.js +1 -1
- package/dist/internal/blocks/TimeInput.js +3 -3
- package/dist/internal/components/Alert.js +1 -1
- package/dist/internal/components/AlertModal.js +1 -1
- package/dist/internal/components/Avatar.js +1 -1
- package/dist/internal/components/BrandLogo.js +1 -1
- package/dist/internal/components/Breadcrumb.js +1 -1
- package/dist/internal/components/Button.js +1 -1
- package/dist/internal/components/Card.js +1 -1
- package/dist/internal/components/Checkbox.js +1 -1
- package/dist/internal/components/Clipboard.js +1 -1
- package/dist/internal/components/CollapsiblePanel.js +1 -1
- package/dist/internal/components/Combobox.js +1 -1
- package/dist/internal/components/DatePicker.js +1 -1
- package/dist/internal/components/DateRangePicker.js +1 -1
- package/dist/internal/components/DropdownMenu.js +1 -1
- package/dist/internal/components/FileUpload.js +1 -1
- package/dist/internal/components/FullScreenModal.js +1 -1
- package/dist/internal/components/HoverCard.js +1 -1
- package/dist/internal/components/InputGroup.js +1 -1
- package/dist/internal/components/Kbd.js +1 -1
- package/dist/internal/components/MarkedText.js +1 -1
- package/dist/internal/components/Modal.js +1 -1
- package/dist/internal/components/Navbar.js +1 -1
- package/dist/internal/components/Pagination.js +1 -1
- package/dist/internal/components/Popconfirm.js +1 -1
- package/dist/internal/components/Popover.js +1 -1
- package/dist/internal/components/RadioGroup.js +1 -1
- package/dist/internal/components/Search.js +1 -1
- package/dist/internal/components/Select.js +1 -1
- package/dist/internal/components/Sheet.js +1 -1
- package/dist/internal/components/Sidebar.js +1 -1
- package/dist/internal/components/Slider.js +1 -1
- package/dist/internal/components/Switch.js +1 -1
- package/dist/internal/components/Tabs.js +1 -1
- package/dist/internal/components/ThemeProvider.js +4 -4
- package/dist/internal/components/TimePicker.js +1 -1
- package/dist/internal/components/Toast.js +2 -2
- package/dist/internal/components/Toggle.js +3 -3
- package/dist/internal/components/Toggle.js.map +1 -1
- package/dist/internal/components/Tooltip.js +1 -1
- package/dist/internal/components/Truncated.js +1 -1
- package/dist/internal/components/ZoomableSvg.js +1 -1
- package/dist/internal/utils.js +3 -3
- package/dist/markdown-editor.js +7 -7
- package/dist/mermaid.js +1 -1
- package/dist/rjsf.js +11 -11
- package/dist/styles.css +1 -1
- package/dist/testing.js +4 -4
- package/dist/testing.js.map +1 -1
- package/dist/{themeTokens-7T1AFLhq.js → themeTokens-D70HeNVF.js} +3 -3
- package/dist/{themeTokens-7T1AFLhq.js.map → themeTokens-D70HeNVF.js.map} +1 -1
- package/dist/{toast-BweSoKn3.js → toast-DIC0iNRf.js} +2 -2
- package/dist/{toast-BweSoKn3.js.map → toast-DIC0iNRf.js.map} +1 -1
- package/dist/{useColorSchemeState-BJEk6esG.js → useColorSchemeState-klihG9-i.js} +2 -2
- package/dist/{useColorSchemeState-BJEk6esG.js.map → useColorSchemeState-klihG9-i.js.map} +1 -1
- package/dist/{utils-B-g7d_Jb.js → utils-B5Z52hYs.js} +2 -2
- package/dist/{utils-B-g7d_Jb.js.map → utils-B5Z52hYs.js.map} +1 -1
- package/dist/vega.js +2 -2
- package/dist/{vegaTheme-FBXgAdHK.js → vegaTheme-DfoEQhOy.js} +2 -2
- package/dist/{vegaTheme-FBXgAdHK.js.map → vegaTheme-DfoEQhOy.js.map} +1 -1
- package/package.json +5 -5
- package/dist/AIKit-DaFT7p92.js.map +0 -1
- package/dist/Button-CPsEQuTN.js.map +0 -1
- package/dist/CodeEditor-CUse8znx.js.map +0 -1
- package/dist/Combobox-CyoRA7oY.js.map +0 -1
- package/dist/MarkedText-Ckbft5mw.js +0 -44
- package/dist/MarkedText-Ckbft5mw.js.map +0 -1
- package/dist/Modal-o4ATIexE.js.map +0 -1
- package/dist/Popover-DsbI2HKu.js.map +0 -1
- package/dist/Select-D6IZVvwL.js.map +0 -1
- package/dist/ThemeProvider-DZfGdf1v.js.map +0 -1
- package/dist/context-BrNtMc1H.js.map +0 -1
- package/dist/defaults-CTfvj2KB.js.map +0 -1
- package/dist/escapeStringRegexp-8MxP2knR.js +0 -6
- package/dist/escapeStringRegexp-8MxP2knR.js.map +0 -1
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { cn } from "./classNames-BzrkDnOD.js";
|
|
2
|
-
import { Tooltip, TooltipProvider } from "./utils-
|
|
3
|
-
import { AlertCircle, ChevronDown, ChevronLeft, ChevronRight, CircleCheck, CirclePause, CircleX,
|
|
4
|
-
import { Button } from "./Button-
|
|
5
|
-
import { ClipboardButton } from "./ClipboardButton-
|
|
6
|
-
import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-
|
|
2
|
+
import { Tooltip, TooltipProvider } from "./utils-B5Z52hYs.js";
|
|
3
|
+
import { AlertCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleCheck, CirclePause, CircleX, Loader2, Maximize2, Minimize2, Play, Send, Sparkles, TriangleAlert, X, XCircle } from "./icons-Cek151jC.js";
|
|
4
|
+
import { Button } from "./Button-DsRrU5F1.js";
|
|
5
|
+
import { ClipboardButton } from "./ClipboardButton-D9pDjgkB.js";
|
|
6
|
+
import { FullScreenModal, FullScreenModalBody, FullScreenModalHeader } from "./FullScreenModal-BvPuYibe.js";
|
|
7
7
|
import { Truncated } from "./internal/components/Truncated.js";
|
|
8
|
-
import { HoverCard } from "./HoverCard-
|
|
9
|
-
import { Command } from "./Command-
|
|
10
|
-
import { TextInput } from "./TextInput-
|
|
11
|
-
import { Checkbox } from "./Checkbox-
|
|
8
|
+
import { HoverCard } from "./HoverCard-B9ZMJxjn.js";
|
|
9
|
+
import { Command } from "./Command-B7ML9YMv.js";
|
|
10
|
+
import { TextInput } from "./TextInput-DHM6dHmn.js";
|
|
11
|
+
import { Checkbox } from "./Checkbox-fC0BuO2B.js";
|
|
12
12
|
import { Badge } from "./Badge-Ch26CXoP.js";
|
|
13
13
|
import { Textarea } from "./internal/blocks/Textarea.js";
|
|
14
14
|
import { Table } from "./Table-CvYuTuNU.js";
|
|
15
15
|
import { DiagramSkeleton } from "./internal/blocks/DiagramShared/DiagramSkeleton.js";
|
|
16
|
-
import { Avatar } from "./internal/components/Avatar.js";
|
|
17
16
|
import { Progress } from "./internal/components/Progress.js";
|
|
18
17
|
import { Slot } from "@radix-ui/react-slot";
|
|
19
18
|
import { Suspense, isValidElement, lazy, useEffect, useId, useRef, useState } from "react";
|
|
@@ -24,12 +23,12 @@ import ReactMarkdown from "react-markdown";
|
|
|
24
23
|
import remarkGfm from "remark-gfm";
|
|
25
24
|
//#region src/blocks/AIKit/CollapsibleStepHeader.tsx
|
|
26
25
|
const variantClasses = {
|
|
27
|
-
success: "tw:text-
|
|
28
|
-
error: "tw:text-
|
|
29
|
-
processing: "tw:text-
|
|
30
|
-
dismissed: "tw:text-
|
|
26
|
+
success: "tw:text-muted-foreground tw:focus-visible:outline-ring tw:not-disabled:hover:text-foreground",
|
|
27
|
+
error: "tw:text-destructive tw:focus-visible:outline-destructive tw:not-disabled:hover:text-destructive",
|
|
28
|
+
processing: "tw:text-muted-foreground tw:focus-visible:outline-ring tw:not-disabled:hover:text-foreground",
|
|
29
|
+
dismissed: "tw:text-muted-foreground tw:focus-visible:outline-ring tw:not-disabled:hover:text-foreground"
|
|
31
30
|
};
|
|
32
|
-
const iconClasses = "tw:size-
|
|
31
|
+
const iconClasses = "tw:size-3.5 tw:shrink-0 tw:basis-3.5 tw:opacity-70";
|
|
33
32
|
const renderVariantIcon$1 = (variant) => {
|
|
34
33
|
if (variant === "processing") return /* @__PURE__ */ jsx(Loader2, { className: cn(iconClasses, "tw:animate-spin") });
|
|
35
34
|
if (variant === "error") return /* @__PURE__ */ jsx(XCircle, { className: iconClasses });
|
|
@@ -41,12 +40,12 @@ const CollapsibleStepHeader = ({ isExpanded, onToggle, label, variant = "success
|
|
|
41
40
|
type: "button",
|
|
42
41
|
"aria-expanded": isExpanded,
|
|
43
42
|
onClick: onToggle,
|
|
44
|
-
className: cn("tw:flex tw:w-fit tw:items-
|
|
43
|
+
className: cn("tw:flex tw:w-fit tw:items-center tw:gap-1.5 tw:text-left tw:text-xs tw:font-medium tw:transition-colors tw:focus-visible:outline tw:focus-visible:outline-2 tw:focus-visible:outline-offset-2 tw:disabled:opacity-40", variantClasses[variant]),
|
|
45
44
|
children: [renderVariantIcon$1(variant), /* @__PURE__ */ jsxs("span", {
|
|
46
45
|
className: "tw:min-w-0",
|
|
47
46
|
children: [label, /* @__PURE__ */ jsxs("span", {
|
|
48
47
|
className: "tw:whitespace-nowrap",
|
|
49
|
-
children: ["", /* @__PURE__ */ jsx(ChevronDown, { className: cn("tw:ml-
|
|
48
|
+
children: ["", /* @__PURE__ */ jsx(ChevronDown, { className: cn("tw:ml-1.5 tw:inline-block tw:size-3.5 tw:align-middle tw:transition-transform", isExpanded && "tw:rotate-180") })]
|
|
50
49
|
})]
|
|
51
50
|
})]
|
|
52
51
|
});
|
|
@@ -54,24 +53,24 @@ const CollapsibleStepHeader = ({ isExpanded, onToggle, label, variant = "success
|
|
|
54
53
|
//#endregion
|
|
55
54
|
//#region src/blocks/AIKit/InlineStepDetail.tsx
|
|
56
55
|
const InlineStepDetail = ({ children }) => /* @__PURE__ */ jsx("div", {
|
|
57
|
-
className: "tw:ml-2.5 tw:whitespace-pre-wrap tw:border-l tw:border-
|
|
56
|
+
className: "tw:ml-2.5 tw:whitespace-pre-wrap tw:border-l tw:border-border tw:pl-3 tw:text-xs tw:text-muted-foreground",
|
|
58
57
|
children
|
|
59
58
|
});
|
|
60
59
|
//#endregion
|
|
61
60
|
//#region src/blocks/AIKit/InlineStepLabel.tsx
|
|
62
61
|
const renderVariantIcon = (variant) => {
|
|
63
|
-
if (variant === "processing") return /* @__PURE__ */ jsx(Loader2, { className: "tw:size-
|
|
64
|
-
if (variant === "error") return /* @__PURE__ */ jsx(XCircle, { className: "tw:size-
|
|
65
|
-
if (variant === "dismissed") return /* @__PURE__ */ jsx(XCircle, { className: "tw:size-
|
|
66
|
-
return /* @__PURE__ */ jsx(CircleCheck, { className: "tw:size-
|
|
62
|
+
if (variant === "processing") return /* @__PURE__ */ jsx(Loader2, { className: "tw:size-3.5 tw:animate-spin tw:text-muted-foreground" });
|
|
63
|
+
if (variant === "error") return /* @__PURE__ */ jsx(XCircle, { className: "tw:size-3.5 tw:text-destructive" });
|
|
64
|
+
if (variant === "dismissed") return /* @__PURE__ */ jsx(XCircle, { className: "tw:size-3.5 tw:text-muted-foreground/50" });
|
|
65
|
+
return /* @__PURE__ */ jsx(CircleCheck, { className: "tw:size-3.5 tw:text-muted-foreground/50" });
|
|
67
66
|
};
|
|
68
67
|
const InlineStepLabel = ({ variant, children }) => /* @__PURE__ */ jsxs("div", {
|
|
69
68
|
className: "tw:flex tw:min-w-0 tw:items-center tw:gap-1",
|
|
70
69
|
children: [/* @__PURE__ */ jsx("div", {
|
|
71
|
-
className: "tw:flex tw:size-5 tw:shrink-0 tw:items-center tw:justify-center",
|
|
70
|
+
className: "tw:relative tw:flex tw:size-5 tw:shrink-0 tw:items-center tw:justify-center tw:[background:var(--inline-step-surface,transparent)]",
|
|
72
71
|
children: renderVariantIcon(variant)
|
|
73
72
|
}), /* @__PURE__ */ jsx("div", {
|
|
74
|
-
className: "tw:flex tw:min-w-0 tw:flex-wrap tw:items-center tw:gap-x-1.5 tw:gap-y-1 tw:text-
|
|
73
|
+
className: "tw:flex tw:min-w-0 tw:flex-wrap tw:items-center tw:gap-x-1.5 tw:gap-y-1 tw:text-xs tw:font-medium tw:text-muted-foreground",
|
|
75
74
|
children
|
|
76
75
|
})]
|
|
77
76
|
});
|
|
@@ -128,7 +127,15 @@ const getLanguage = (element) => {
|
|
|
128
127
|
if (typeof props.className !== "string") return void 0;
|
|
129
128
|
return props.className.match(/language-(\S+)/)?.[1];
|
|
130
129
|
};
|
|
131
|
-
|
|
130
|
+
/**
|
|
131
|
+
* The plugins this renderer always runs.
|
|
132
|
+
*
|
|
133
|
+
* - GFM is part of its contract: tables route through the design `Table`, and autolinks and
|
|
134
|
+
* task lists are what an assistant answer is written in.
|
|
135
|
+
* - A caller's own plugins are appended to these, never substituted for them.
|
|
136
|
+
*/
|
|
137
|
+
const baseRemarkPlugins = [remarkGfm];
|
|
138
|
+
const baseComponents = {
|
|
132
139
|
pre({ children, ...props }) {
|
|
133
140
|
const child = Array.isArray(children) ? children[0] : children;
|
|
134
141
|
if (getLanguage(child) === "mermaid") {
|
|
@@ -207,13 +214,16 @@ const components = {
|
|
|
207
214
|
* `MessageBubble` to render an assistant message body. Code blocks expose a
|
|
208
215
|
* copy button, so mount a `TooltipProvider` once at the app root.
|
|
209
216
|
*/
|
|
210
|
-
const Markdown = ({ children, className }) => {
|
|
217
|
+
const Markdown = ({ children, className, remarkPlugins, components: componentOverrides }) => {
|
|
211
218
|
return /* @__PURE__ */ jsx("div", {
|
|
212
219
|
"data-prose": true,
|
|
213
220
|
className: cn(proseClass, className),
|
|
214
221
|
children: /* @__PURE__ */ jsx(ReactMarkdown, {
|
|
215
|
-
remarkPlugins: [
|
|
216
|
-
components
|
|
222
|
+
remarkPlugins: remarkPlugins === void 0 ? baseRemarkPlugins : [...baseRemarkPlugins, ...remarkPlugins],
|
|
223
|
+
components: componentOverrides === void 0 ? baseComponents : {
|
|
224
|
+
...baseComponents,
|
|
225
|
+
...componentOverrides
|
|
226
|
+
},
|
|
217
227
|
children
|
|
218
228
|
})
|
|
219
229
|
});
|
|
@@ -223,22 +233,31 @@ const Markdown = ({ children, className }) => {
|
|
|
223
233
|
const containerClasses = cva([
|
|
224
234
|
"tw:flex",
|
|
225
235
|
"tw:max-w-full",
|
|
226
|
-
"tw:gap-
|
|
236
|
+
"tw:gap-3"
|
|
227
237
|
], {
|
|
228
238
|
variants: { variant: {
|
|
229
|
-
user: ["tw:justify-
|
|
230
|
-
assistant: [
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
239
|
+
user: ["tw:justify-end"],
|
|
240
|
+
assistant: ["tw:justify-start", "tw:w-full"]
|
|
241
|
+
} },
|
|
242
|
+
defaultVariants: { variant: "assistant" }
|
|
243
|
+
});
|
|
244
|
+
const stackClasses = cva([
|
|
245
|
+
"tw:flex",
|
|
246
|
+
"tw:min-w-0",
|
|
247
|
+
"tw:flex-1",
|
|
248
|
+
"tw:flex-col",
|
|
249
|
+
"tw:gap-2"
|
|
250
|
+
], {
|
|
251
|
+
variants: { variant: {
|
|
252
|
+
user: ["tw:items-end"],
|
|
253
|
+
assistant: []
|
|
235
254
|
} },
|
|
236
255
|
defaultVariants: { variant: "assistant" }
|
|
237
256
|
});
|
|
238
257
|
const contentClasses = cva([
|
|
239
258
|
"tw:flex",
|
|
240
259
|
"tw:flex-col",
|
|
241
|
-
"tw:gap-
|
|
260
|
+
"tw:gap-3",
|
|
242
261
|
"tw:break-words",
|
|
243
262
|
"tw:leading-relaxed",
|
|
244
263
|
"tw:text-foreground",
|
|
@@ -252,33 +271,30 @@ const contentClasses = cva([
|
|
|
252
271
|
"tw:[&>*]:min-w-0"
|
|
253
272
|
],
|
|
254
273
|
user: [
|
|
255
|
-
"tw:max-w-
|
|
274
|
+
"tw:max-w-[min(85%,40rem)]",
|
|
256
275
|
"tw:w-fit",
|
|
257
276
|
"tw:bg-muted",
|
|
258
|
-
"tw:
|
|
259
|
-
"tw:
|
|
260
|
-
"tw:
|
|
277
|
+
"tw:px-3",
|
|
278
|
+
"tw:py-2",
|
|
279
|
+
"tw:rounded-xl",
|
|
261
280
|
"tw:overflow-hidden",
|
|
262
281
|
"tw:break-anywhere"
|
|
263
282
|
]
|
|
264
283
|
} },
|
|
265
284
|
defaultVariants: { variant: "assistant" }
|
|
266
285
|
});
|
|
267
|
-
const MessageBubble = ({ variant, children,
|
|
268
|
-
return /* @__PURE__ */
|
|
286
|
+
const MessageBubble = ({ variant, children, actions, createdAt }) => {
|
|
287
|
+
return /* @__PURE__ */ jsx("div", {
|
|
269
288
|
className: containerClasses({ variant }),
|
|
270
289
|
"data-testid": `chat-message-${variant}`,
|
|
271
|
-
children:
|
|
272
|
-
|
|
273
|
-
size: 30,
|
|
274
|
-
title: createdAt
|
|
275
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
276
|
-
className: "tw:flex tw:min-w-0 tw:flex-1 tw:flex-col tw:gap-2",
|
|
290
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
291
|
+
className: stackClasses({ variant }),
|
|
277
292
|
children: [/* @__PURE__ */ jsx("div", {
|
|
278
293
|
className: contentClasses({ variant }),
|
|
294
|
+
title: variant === "user" ? createdAt : void 0,
|
|
279
295
|
children
|
|
280
296
|
}), actions]
|
|
281
|
-
})
|
|
297
|
+
})
|
|
282
298
|
});
|
|
283
299
|
};
|
|
284
300
|
//#endregion
|
|
@@ -665,7 +681,7 @@ const PromptInputSubmit = ({ ref, disabled, status = "ready" }) => {
|
|
|
665
681
|
const icon = (() => {
|
|
666
682
|
if (status === "streaming") return /* @__PURE__ */ jsx(CirclePause, { className: "tw:size-4" });
|
|
667
683
|
if (status === "interrupted") return /* @__PURE__ */ jsx(Play, { className: "tw:size-4" });
|
|
668
|
-
return /* @__PURE__ */ jsx(Send, { className: "tw:size-4" });
|
|
684
|
+
return /* @__PURE__ */ jsx(Send, { className: "tw:size-4 tw:translate-x-[-1px] tw:translate-y-[1px]" });
|
|
669
685
|
})();
|
|
670
686
|
const getTooltipText = () => {
|
|
671
687
|
if (status === "streaming") return "Stop";
|
|
@@ -679,9 +695,9 @@ const PromptInputSubmit = ({ ref, disabled, status = "ready" }) => {
|
|
|
679
695
|
disabled,
|
|
680
696
|
"aria-label": ARIA_LABEL_BY_STATUS[status],
|
|
681
697
|
size: "icon-sm",
|
|
682
|
-
variant: "
|
|
698
|
+
variant: "primary",
|
|
683
699
|
isLoading: status === "submitted",
|
|
684
|
-
className: "tw:ml-auto tw:flex tw:items-center tw:rounded-
|
|
700
|
+
className: cn("tw:ml-auto tw:flex tw:items-center tw:rounded-full", "tw:bg-gradient-to-br tw:from-[#61E4FF] tw:via-[#1F8FFF] tw:to-[#7C5CFF]", "tw:hover:not-disabled:brightness-110"),
|
|
685
701
|
children: status !== "submitted" && icon
|
|
686
702
|
}) })
|
|
687
703
|
}), getTooltipText() && /* @__PURE__ */ jsx(Tooltip.Content, {
|
|
@@ -742,12 +758,16 @@ const wrapperVariants = cva(null, {
|
|
|
742
758
|
inline: ""
|
|
743
759
|
} }
|
|
744
760
|
});
|
|
745
|
-
const PromptInput = ({ onSend, onAbort, onContinue, prefix, variant, suffix, disabled, disableSubmit, value = "", onValueChange, status = "ready", maxRows = 6, minRows, commands, ...textareaProps }) => {
|
|
761
|
+
const PromptInput = ({ onSend, onAbort, onContinue, prefix, variant, suffix, disabled, disableSubmit, value = "", onValueChange, status = "ready", maxRows = 6, minRows, commands, autoFocus, ...textareaProps }) => {
|
|
746
762
|
const defaultMinRows = variant === "inline" ? 1 : 2;
|
|
747
763
|
const isDisabled = (disabled || disableSubmit || !value.trim()) && status !== "streaming" && status !== "interrupted";
|
|
748
764
|
const textareaId = useId();
|
|
749
765
|
const textareaRef = useRef(null);
|
|
750
766
|
const [dismissedValue, setDismissedValue] = useState(null);
|
|
767
|
+
const autoFocusRef = useRef(autoFocus);
|
|
768
|
+
useEffect(() => {
|
|
769
|
+
if (autoFocusRef.current) textareaRef.current?.focus({ preventScroll: true });
|
|
770
|
+
}, []);
|
|
751
771
|
if (dismissedValue !== null && value !== dismissedValue) setDismissedValue(null);
|
|
752
772
|
const hasCommands = !!commands && commands.length > 0;
|
|
753
773
|
const valueLooksLikeSlashCommand = value.startsWith("/") && !/\s/.test(value);
|
|
@@ -1093,9 +1113,9 @@ const SuggestedPrompt = ({ label, disabled, onClick, icon, className }) => {
|
|
|
1093
1113
|
return /* @__PURE__ */ jsxs("button", {
|
|
1094
1114
|
type: "button",
|
|
1095
1115
|
disabled,
|
|
1096
|
-
className: cn("tailwindcss-preflight tw:flex tw:items-center tw:justify-start tw:gap-2 tw:whitespace-nowrap tw:rounded-lg tw:
|
|
1116
|
+
className: cn("tailwindcss-preflight tw:flex tw:items-center tw:justify-start tw:gap-2.5 tw:whitespace-nowrap", "tw:rounded-lg tw:px-3 tw:py-2", "tw:text-left tw:text-sm tw:font-medium tw:text-foreground", "tw:transition-colors tw:not-disabled:hover:bg-accent", "tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-ring tw:focus-visible:ring-offset-1", "tw:disabled:cursor-not-allowed tw:disabled:opacity-50", className),
|
|
1097
1117
|
onClick,
|
|
1098
|
-
children: [icon ?? /* @__PURE__ */ jsx(
|
|
1118
|
+
children: [icon ?? /* @__PURE__ */ jsx(Sparkles, { className: "tw:size-4 tw:shrink-0 tw:basis-4 tw:[&_*]:stroke-aigradient-600" }), /* @__PURE__ */ jsx("div", {
|
|
1099
1119
|
className: "tw:whitespace-normal tw:text-left",
|
|
1100
1120
|
children: label
|
|
1101
1121
|
})]
|
|
@@ -1105,10 +1125,10 @@ const SuggestedPrompt = ({ label, disabled, onClick, icon, className }) => {
|
|
|
1105
1125
|
//#region src/blocks/AIKit/ThinkingIndicator.tsx
|
|
1106
1126
|
const ThinkingIndicator = ({ label = "Thinking..." }) => {
|
|
1107
1127
|
return /* @__PURE__ */ jsxs("div", {
|
|
1108
|
-
className: "tw:flex tw:items-center tw:gap-
|
|
1128
|
+
className: "tw:flex tw:items-center tw:gap-1.5",
|
|
1109
1129
|
"data-testid": "chat-thinking-indicator",
|
|
1110
|
-
children: [/* @__PURE__ */ jsx(Loader2, { className: "tw:size-
|
|
1111
|
-
className: "tw:text-
|
|
1130
|
+
children: [/* @__PURE__ */ jsx(Loader2, { className: "tw:size-3.5 tw:animate-spin tw:text-muted-foreground" }), /* @__PURE__ */ jsx("span", {
|
|
1131
|
+
className: "tw:text-xs tw:font-medium tw:text-muted-foreground",
|
|
1112
1132
|
children: label
|
|
1113
1133
|
})]
|
|
1114
1134
|
});
|
|
@@ -1259,6 +1279,63 @@ const ToolCallChip = ({ label, state, icon, trailing, onClick, className }) => {
|
|
|
1259
1279
|
});
|
|
1260
1280
|
};
|
|
1261
1281
|
//#endregion
|
|
1282
|
+
//#region src/blocks/AIKit/ToolCallStatusHeader.tsx
|
|
1283
|
+
const headerVariants = cva("tw:flex tw:items-center tw:justify-between tw:gap-2 tw:px-2.5 tw:py-1.5", {
|
|
1284
|
+
variants: { status: {
|
|
1285
|
+
processing: "tw:border-b tw:border-border/60",
|
|
1286
|
+
warning: "tw:bg-warning/10",
|
|
1287
|
+
success: "tw:border-b tw:border-border/60",
|
|
1288
|
+
error: "tw:bg-destructive/10"
|
|
1289
|
+
} },
|
|
1290
|
+
defaultVariants: { status: "success" }
|
|
1291
|
+
});
|
|
1292
|
+
const statusInk = {
|
|
1293
|
+
processing: "tw:text-muted-foreground",
|
|
1294
|
+
warning: "tw:text-warning",
|
|
1295
|
+
success: "tw:text-muted-foreground",
|
|
1296
|
+
error: "tw:text-destructive"
|
|
1297
|
+
};
|
|
1298
|
+
const statusIconInk = {
|
|
1299
|
+
processing: "tw:text-muted-foreground",
|
|
1300
|
+
warning: "tw:text-warning",
|
|
1301
|
+
success: "tw:text-success/70",
|
|
1302
|
+
error: "tw:text-destructive"
|
|
1303
|
+
};
|
|
1304
|
+
const ToolCallStatusHeader = ({ icon: IconComponent, iconSpin, status, text, needsConfirmation, isCollapsible, isCollapsed, onToggleCollapse }) => {
|
|
1305
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
1306
|
+
role: isCollapsible ? "button" : void 0,
|
|
1307
|
+
tabIndex: isCollapsible ? 0 : void 0,
|
|
1308
|
+
"aria-expanded": isCollapsible ? !isCollapsed : void 0,
|
|
1309
|
+
"data-status": status,
|
|
1310
|
+
className: cn(headerVariants({ status }), isCollapsible && "tw:cursor-pointer"),
|
|
1311
|
+
onClick: isCollapsible ? onToggleCollapse : void 0,
|
|
1312
|
+
onKeyDown: isCollapsible ? (e) => {
|
|
1313
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
1314
|
+
e.preventDefault();
|
|
1315
|
+
onToggleCollapse?.();
|
|
1316
|
+
}
|
|
1317
|
+
} : void 0,
|
|
1318
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
1319
|
+
className: "tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:gap-1.5",
|
|
1320
|
+
children: [/* @__PURE__ */ jsx(IconComponent, { className: cn("tw:size-3.5 tw:shrink-0", statusIconInk[status], iconSpin && "tw:animate-spin") }), /* @__PURE__ */ jsx("span", {
|
|
1321
|
+
"data-testid": "tool-status-text",
|
|
1322
|
+
className: cn("tw:truncate tw:pr-0.5 tw:text-xs tw:font-medium", statusInk[status]),
|
|
1323
|
+
children: text
|
|
1324
|
+
})]
|
|
1325
|
+
}), (needsConfirmation || isCollapsible) && /* @__PURE__ */ jsxs("div", {
|
|
1326
|
+
className: "tw:flex tw:shrink-0 tw:items-center tw:gap-2",
|
|
1327
|
+
children: [needsConfirmation && /* @__PURE__ */ jsxs("div", {
|
|
1328
|
+
className: "tw:flex tw:items-center tw:gap-1",
|
|
1329
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
1330
|
+
"data-testid": "tool-confirmation-required",
|
|
1331
|
+
className: "tw:text-xs tw:font-medium tw:text-warning",
|
|
1332
|
+
children: "Confirmation required"
|
|
1333
|
+
}), /* @__PURE__ */ jsx(TriangleAlert, { className: "tw:size-3.5 tw:text-warning" })]
|
|
1334
|
+
}), isCollapsible && (isCollapsed ? /* @__PURE__ */ jsx(ChevronDown, { className: "tw:size-3.5 tw:shrink-0 tw:text-muted-foreground" }) : /* @__PURE__ */ jsx(ChevronUp, { className: "tw:size-3.5 tw:shrink-0 tw:text-muted-foreground" }))]
|
|
1335
|
+
})]
|
|
1336
|
+
});
|
|
1337
|
+
};
|
|
1338
|
+
//#endregion
|
|
1262
1339
|
//#region src/blocks/AIKit/usageStatsHelpers.ts
|
|
1263
1340
|
/** Clamp a percentage to 0–100 and normalize non-finite input to 0. */
|
|
1264
1341
|
const clampPercentage = (value) => Number.isFinite(value) ? Math.min(100, Math.max(0, value)) : 0;
|
|
@@ -1297,15 +1374,17 @@ const UsageStatsRing = ({ value, size = 16, strokeWidth = 2.5, className }) => {
|
|
|
1297
1374
|
//#endregion
|
|
1298
1375
|
//#region src/blocks/AIKit/UsageStats.tsx
|
|
1299
1376
|
const UsageStats = ({ value, alert = false, children, className, ariaLabel, align = "end", side = "top", sideOffset = 8 }) => {
|
|
1300
|
-
const
|
|
1377
|
+
const hasAlert = Boolean(alert);
|
|
1378
|
+
const isWarning = alert === "warning";
|
|
1379
|
+
const defaultLabel = `Usage: ${Math.round(clampPercentage(value))}%${hasAlert ? " (usage alert)" : ""}`;
|
|
1301
1380
|
return /* @__PURE__ */ jsxs(HoverCard, { children: [/* @__PURE__ */ jsx(HoverCard.Trigger, {
|
|
1302
1381
|
asChild: true,
|
|
1303
1382
|
children: /* @__PURE__ */ jsxs("span", {
|
|
1304
1383
|
"aria-label": ariaLabel ?? defaultLabel,
|
|
1305
1384
|
className: cn("tw:relative tw:inline-flex tw:size-8 tw:items-center tw:justify-center", className),
|
|
1306
|
-
children: [/* @__PURE__ */ jsx(UsageStatsRing, { value }),
|
|
1385
|
+
children: [/* @__PURE__ */ jsx(UsageStatsRing, { value }), hasAlert && /* @__PURE__ */ jsx(AlertCircle, {
|
|
1307
1386
|
"data-testid": "usage-stats-alert",
|
|
1308
|
-
className: "tw:absolute tw:-right-0.5 tw:-top-0.5 tw:size-3 tw:text-error-500"
|
|
1387
|
+
className: cn("tw:absolute tw:-right-0.5 tw:-top-0.5 tw:size-3", isWarning ? "tw:text-warning-500" : "tw:text-error-500")
|
|
1309
1388
|
})]
|
|
1310
1389
|
})
|
|
1311
1390
|
}), /* @__PURE__ */ jsx(HoverCard.Content, {
|
|
@@ -1316,6 +1395,6 @@ const UsageStats = ({ value, alert = false, children, className, ariaLabel, alig
|
|
|
1316
1395
|
})] });
|
|
1317
1396
|
};
|
|
1318
1397
|
//#endregion
|
|
1319
|
-
export { AnswerSummary, CollapsibleStepHeader, InlineStepDetail, InlineStepLabel, Markdown, MessageBubble, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, UsageStats, UsageStatsRing };
|
|
1398
|
+
export { AnswerSummary, CollapsibleStepHeader, InlineStepDetail, InlineStepLabel, Markdown, MessageBubble, PlanApproval, PlanRewritingIndicator, PromptInput, Question, QuestionBlock, SuggestedPrompt, ThinkingIndicator, ToolCallApproval, ToolCallChip, ToolCallStatusHeader, UsageStats, UsageStatsRing };
|
|
1320
1399
|
|
|
1321
|
-
//# sourceMappingURL=AIKit-
|
|
1400
|
+
//# sourceMappingURL=AIKit-DDg5DBCG.js.map
|