@keboola/design 6.0.0 → 6.1.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/dist/index.js CHANGED
@@ -14,6 +14,7 @@ import { Root, Group, Trigger as Trigger$4 } from '@radix-ui/react-dropdown-menu
14
14
  import * as ScrollAreaPrimitive2 from '@radix-ui/react-scroll-area';
15
15
  import { Root as Root$7 } from '@radix-ui/react-toggle';
16
16
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
17
+ import * as RLabel from '@radix-ui/react-label';
17
18
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
18
19
  import { Root as Root$8, Trigger as Trigger$5, Portal as Portal$1, Content as Content$1, Cancel, Action, Overlay as Overlay$1, Title as Title$1 } from '@radix-ui/react-alert-dialog';
19
20
  import * as DialogPrimitive from '@radix-ui/react-dialog';
@@ -25,7 +26,6 @@ import { Root as Root$a, Trigger as Trigger$3, Portal as Portal$4, Content as Co
25
26
  import { Command as Command$1, CommandInput as CommandInput$1, defaultFilter, useCommandState } from 'cmdk';
26
27
  export { defaultFilter, useCommandState } from 'cmdk';
27
28
  import TextareaAutosize from 'react-textarea-autosize';
28
- import * as RLabel from '@radix-ui/react-label';
29
29
  import { Root as Root$3, Thumb } from '@radix-ui/react-switch';
30
30
  import * as RRadioGroup from '@radix-ui/react-radio-group';
31
31
  import { Item, Indicator as Indicator$2 } from '@radix-ui/react-radio-group';
@@ -2768,6 +2768,7 @@ var Clipboard = ({
2768
2768
  ] });
2769
2769
  };
2770
2770
  var DEFAULT_ICON = /* @__PURE__ */ jsx(icons_exports.Copy, {});
2771
+ var DEFAULT_ARIA_LABEL = "Copy";
2771
2772
  var ClipboardButton = ({
2772
2773
  // clipboard props
2773
2774
  text,
@@ -2779,20 +2780,24 @@ var ClipboardButton = ({
2779
2780
  variant = "outline",
2780
2781
  children,
2781
2782
  ...rest
2782
- }) => /* @__PURE__ */ jsx(
2783
- Clipboard,
2784
- {
2785
- asChild: true,
2786
- tooltip,
2787
- tooltipPlacement,
2788
- tooltipVariant,
2789
- text,
2790
- children: /* @__PURE__ */ jsxs(Button, { ...rest, variant, disabled: !text, children: [
2791
- icon,
2792
- children
2793
- ] })
2794
- }
2795
- );
2783
+ }) => {
2784
+ const defaultAriaLabel = typeof tooltip === "string" && tooltip.trim() ? tooltip : DEFAULT_ARIA_LABEL;
2785
+ const ariaLabel = rest["aria-label"] ?? (children == null ? defaultAriaLabel : void 0);
2786
+ return /* @__PURE__ */ jsx(
2787
+ Clipboard,
2788
+ {
2789
+ asChild: true,
2790
+ tooltip,
2791
+ tooltipPlacement,
2792
+ tooltipVariant,
2793
+ text,
2794
+ children: /* @__PURE__ */ jsxs(Button, { ...rest, "aria-label": ariaLabel, variant, disabled: !text, children: [
2795
+ icon,
2796
+ children
2797
+ ] })
2798
+ }
2799
+ );
2800
+ };
2796
2801
  var ClipboardInline = ({
2797
2802
  // clipboard props
2798
2803
  text,
@@ -2817,6 +2822,264 @@ var ClipboardInline = ({
2817
2822
  ] })
2818
2823
  }
2819
2824
  );
2825
+ var CopyContext = createContext(null);
2826
+ var useCopyContext = () => {
2827
+ const ctx = use(CopyContext);
2828
+ if (!ctx) throw new Error("CopyField.* components must be used within a CopyField.Root");
2829
+ return ctx;
2830
+ };
2831
+ var LINE_HEIGHT_REM = 1.25;
2832
+ var VERTICAL_PADDING_REM = 1.25;
2833
+ var CopyBox = ({ className, children }) => {
2834
+ const { copied, handleCopy, mono, minLines, maxLines, boxId, labelId, hasLabel } = useCopyContext();
2835
+ const multiline = maxLines > 1;
2836
+ const multilineStyle = multiline ? {
2837
+ minHeight: `${minLines * LINE_HEIGHT_REM + VERTICAL_PADDING_REM}rem`,
2838
+ maxHeight: `${maxLines * LINE_HEIGHT_REM + VERTICAL_PADDING_REM}rem`
2839
+ } : void 0;
2840
+ const handleKeyDown2 = (event) => {
2841
+ if (event.target !== event.currentTarget) return;
2842
+ if (event.key !== "Enter" && event.key !== " ") return;
2843
+ event.preventDefault();
2844
+ handleCopy();
2845
+ };
2846
+ return /* @__PURE__ */ jsx(Tooltip, { triggerAsChild: true, placement: "top", tooltip: copied ? "Copied" : "Copy", forceShow: copied, children: /* @__PURE__ */ jsx(
2847
+ "div",
2848
+ {
2849
+ role: "button",
2850
+ tabIndex: 0,
2851
+ id: boxId,
2852
+ "aria-labelledby": hasLabel ? labelId : void 0,
2853
+ onClick: handleCopy,
2854
+ onKeyDown: handleKeyDown2,
2855
+ style: multilineStyle,
2856
+ className: cn(
2857
+ "tw-group tw-relative tw-flex tw-w-fit tw-max-w-full tw-cursor-pointer tw-gap-2 tw-rounded-2xl [corner-shape:superellipse(2)] tw-border tw-border-[#e4e4e4] tw-bg-[#fafafa] tw-px-3 tw-py-2.5 tw-text-left tw-shadow-sm tw-transition-colors hover:tw-bg-[#f2f2f2]",
2858
+ multiline ? "tw-items-start tw-overflow-auto" : "tw-items-center tw-overflow-hidden",
2859
+ mono && "tw-font-mono tw-text-[13px]",
2860
+ className
2861
+ ),
2862
+ children
2863
+ }
2864
+ ) });
2865
+ };
2866
+ var CopyButton = ({ className }) => {
2867
+ const { copied, maxLines } = useCopyContext();
2868
+ return /* @__PURE__ */ jsx(
2869
+ "span",
2870
+ {
2871
+ "aria-hidden": true,
2872
+ className: cn(
2873
+ "tw-pointer-events-none tw-flex tw-shrink-0 tw-items-center tw-text-[#8b8b8b] group-hover:tw-text-[#5c5c5c]",
2874
+ maxLines > 1 && "tw-self-start tw-pt-0.5",
2875
+ className
2876
+ ),
2877
+ children: copied ? /* @__PURE__ */ jsx(icons_exports.Check, { className: "tw-size-4" }) : /* @__PURE__ */ jsx(icons_exports.Copy, { className: "tw-size-4" })
2878
+ }
2879
+ );
2880
+ };
2881
+ var CopyChildren = ({ children, className }) => {
2882
+ const { maxLines } = useCopyContext();
2883
+ const multiline = maxLines > 1;
2884
+ return /* @__PURE__ */ jsx(
2885
+ "span",
2886
+ {
2887
+ className: cn(
2888
+ "tw-min-w-0 tw-flex-1 tw-select-text tw-text-[#3f3f3f]",
2889
+ multiline ? "tw-whitespace-pre-wrap tw-break-words" : "tw-truncate",
2890
+ className
2891
+ ),
2892
+ children
2893
+ }
2894
+ );
2895
+ };
2896
+ var CopyFooter = ({ children, className }) => {
2897
+ if (!children) return null;
2898
+ return /* @__PURE__ */ jsx("p", { className: cn("tw-m-0 tw-text-xs tw-text-muted-foreground", className), children });
2899
+ };
2900
+ var MASK = "*".repeat(12);
2901
+ var CopyHidden = ({ children, revealable = true, className }) => {
2902
+ const { hidden, registerRevealable } = useCopyContext();
2903
+ useEffect(() => {
2904
+ if (!revealable) return void 0;
2905
+ return registerRevealable();
2906
+ }, [revealable, registerRevealable]);
2907
+ const masked = revealable ? hidden : true;
2908
+ return /* @__PURE__ */ jsx("span", { className: cn("tw-select-none", className), children: masked ? MASK : children });
2909
+ };
2910
+ var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-muted-foreground", className), children: "(optional)" });
2911
+ var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-primary", className), children: "*" });
2912
+ var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsx(
2913
+ RLabel.Root,
2914
+ {
2915
+ ...rest,
2916
+ id: id?.toString(),
2917
+ htmlFor: htmlFor?.toString(),
2918
+ className: cn(
2919
+ "tw-m-0 tw-text-foreground tw-font-normal peer-disabled:tw-opacity-50",
2920
+ className
2921
+ ),
2922
+ children
2923
+ }
2924
+ );
2925
+ Label2.Optional = Optional;
2926
+ Label2.Required = Required;
2927
+ var CopyLabel = ({ children, leading, trailing, className }) => {
2928
+ const { labelId, registerLabel } = useCopyContext();
2929
+ useEffect(() => registerLabel(), [registerLabel]);
2930
+ return /* @__PURE__ */ jsxs("div", { className: cn("tw-flex tw-items-center tw-gap-1", className), children: [
2931
+ /* @__PURE__ */ jsx(Label2, { id: labelId, children }),
2932
+ leading,
2933
+ trailing != null && /* @__PURE__ */ jsx("span", { className: "tw-ml-auto tw-flex tw-items-center", children: trailing })
2934
+ ] });
2935
+ };
2936
+ var CopyPrefix = ({ children, className }) => /* @__PURE__ */ jsx(
2937
+ "span",
2938
+ {
2939
+ "aria-hidden": true,
2940
+ className: cn(
2941
+ "tw-shrink-0 tw-select-none tw-self-stretch tw-border-r tw-border-[#e4e4e4] tw-pr-2 tw-text-[#6b6b6b]",
2942
+ className
2943
+ ),
2944
+ children
2945
+ }
2946
+ );
2947
+ var CopyReveal = ({ className }) => {
2948
+ const { hidden, toggleHidden, hasRevealable, maxLines } = useCopyContext();
2949
+ if (!hasRevealable) return null;
2950
+ const handleClick = (event) => {
2951
+ event.stopPropagation();
2952
+ toggleHidden();
2953
+ };
2954
+ return /* @__PURE__ */ jsx(
2955
+ "button",
2956
+ {
2957
+ type: "button",
2958
+ onClick: handleClick,
2959
+ "aria-label": hidden ? "Show value" : "Hide value",
2960
+ className: cn(
2961
+ "tw-flex tw-shrink-0 tw-items-center tw-text-[#8b8b8b] hover:tw-text-[#5c5c5c]",
2962
+ maxLines > 1 && "tw-self-start tw-pt-0.5",
2963
+ className
2964
+ ),
2965
+ children: hidden ? /* @__PURE__ */ jsx(icons_exports.Eye, { className: "tw-size-4" }) : /* @__PURE__ */ jsx(icons_exports.EyeOff, { className: "tw-size-4" })
2966
+ }
2967
+ );
2968
+ };
2969
+ var CopyRoot = ({
2970
+ value,
2971
+ mono = false,
2972
+ onCopy,
2973
+ hiddenByDefault = false,
2974
+ minLines = 1,
2975
+ maxLines,
2976
+ className,
2977
+ children
2978
+ }) => {
2979
+ const [copied, setCopied] = useState(false);
2980
+ const [hidden, setHidden] = useState(hiddenByDefault);
2981
+ const [revealableCount, setRevealableCount] = useState(0);
2982
+ const [labelCount, setLabelCount] = useState(0);
2983
+ const resetTimerRef = useRef(void 0);
2984
+ const generatedId = useId();
2985
+ const labelId = `${generatedId}-label`;
2986
+ const boxId = `${generatedId}-box`;
2987
+ useEffect(() => () => clearTimeout(resetTimerRef.current), []);
2988
+ const handleCopy = useCallback(() => {
2989
+ const selection = window.getSelection();
2990
+ const boxEl = document.getElementById(boxId);
2991
+ if (selection && !selection.isCollapsed && selection.anchorNode && boxEl?.contains(selection.anchorNode)) {
2992
+ return;
2993
+ }
2994
+ copyToClipboard(value).then(() => {
2995
+ onCopy?.();
2996
+ setCopied(true);
2997
+ clearTimeout(resetTimerRef.current);
2998
+ resetTimerRef.current = setTimeout(() => setCopied(false), 1500);
2999
+ }).catch((error) => {
3000
+ console.error("Copy to clipboard failed", error);
3001
+ });
3002
+ }, [value, onCopy, boxId]);
3003
+ const toggleHidden = useCallback(() => setHidden((prev) => !prev), []);
3004
+ const registerRevealable = useCallback(() => {
3005
+ setRevealableCount((count) => count + 1);
3006
+ return () => setRevealableCount((count) => count - 1);
3007
+ }, []);
3008
+ const registerLabel = useCallback(() => {
3009
+ setLabelCount((count) => count + 1);
3010
+ return () => setLabelCount((count) => count - 1);
3011
+ }, []);
3012
+ const contextValue = useMemo(
3013
+ () => ({
3014
+ copied,
3015
+ handleCopy,
3016
+ value,
3017
+ mono,
3018
+ hidden,
3019
+ toggleHidden,
3020
+ registerRevealable,
3021
+ hasRevealable: revealableCount > 0,
3022
+ registerLabel,
3023
+ hasLabel: labelCount > 0,
3024
+ minLines,
3025
+ maxLines: maxLines ?? minLines,
3026
+ labelId,
3027
+ boxId
3028
+ }),
3029
+ [
3030
+ copied,
3031
+ handleCopy,
3032
+ value,
3033
+ mono,
3034
+ hidden,
3035
+ toggleHidden,
3036
+ registerRevealable,
3037
+ revealableCount,
3038
+ registerLabel,
3039
+ labelCount,
3040
+ minLines,
3041
+ maxLines,
3042
+ labelId,
3043
+ boxId
3044
+ ]
3045
+ );
3046
+ return /* @__PURE__ */ jsx(CopyContext, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: cn("tw-flex tw-w-fit tw-max-w-full tw-flex-col tw-gap-1", className), children }) });
3047
+ };
3048
+ var CopySuffix = ({ children, className }) => /* @__PURE__ */ jsx(
3049
+ "span",
3050
+ {
3051
+ "aria-hidden": true,
3052
+ className: cn(
3053
+ "tw-shrink-0 tw-select-none tw-self-stretch tw-border-l tw-border-[#e4e4e4] tw-pl-2 tw-text-[#6b6b6b]",
3054
+ className
3055
+ ),
3056
+ children
3057
+ }
3058
+ );
3059
+
3060
+ // src/blocks/CopyField/CopyField.tsx
3061
+ var CopyField = {
3062
+ /** Container. Owns the copied `value`, mask state, and copy context. */
3063
+ Root: CopyRoot,
3064
+ /** Visible label above the box, with optional `leading`/`trailing` slots. */
3065
+ Label: CopyLabel,
3066
+ /** The clickable copy target row. */
3067
+ Box: CopyBox,
3068
+ /** Muted, non-selectable prefix addon (not copied). */
3069
+ Prefix: CopyPrefix,
3070
+ /** Displayed value (truncates single-line, wraps multi-line). */
3071
+ Children: CopyChildren,
3072
+ /** Muted, non-selectable suffix addon (not copied). */
3073
+ Suffix: CopySuffix,
3074
+ /** Masks its children with dots; copy still copies the real value. */
3075
+ Hidden: CopyHidden,
3076
+ /** Eye toggle that reveals/masks revealable `CopyField.Hidden` content. */
3077
+ Reveal: CopyReveal,
3078
+ /** Copy affordance icon — shows Copy/Check with feedback. */
3079
+ Button: CopyButton,
3080
+ /** Small helper text below the box. */
3081
+ Footer: CopyFooter
3082
+ };
2820
3083
  var Link = ({
2821
3084
  ref,
2822
3085
  children,
@@ -6751,7 +7014,7 @@ __export(custom_components_exports, {
6751
7014
  NextMonthButton: () => NextMonthButton,
6752
7015
  Option: () => Option,
6753
7016
  PreviousMonthButton: () => PreviousMonthButton,
6754
- Root: () => Root16,
7017
+ Root: () => Root17,
6755
7018
  Select: () => Select,
6756
7019
  Week: () => Week,
6757
7020
  WeekNumber: () => WeekNumber,
@@ -6931,7 +7194,7 @@ function Option(props) {
6931
7194
  function PreviousMonthButton(props) {
6932
7195
  return React26.createElement("button", { ...props });
6933
7196
  }
6934
- function Root16(props) {
7197
+ function Root17(props) {
6935
7198
  const { rootRef, ...rest } = props;
6936
7199
  return React26.createElement("div", { ...rest, ref: rootRef });
6937
7200
  }
@@ -9999,23 +10262,6 @@ var TimePicker = ({
9999
10262
  )
10000
10263
  ] });
10001
10264
  };
10002
- var Optional = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-muted-foreground", className), children: "(optional)" });
10003
- var Required = ({ className, ...props }) => /* @__PURE__ */ jsx("span", { ...props, "aria-hidden": true, className: cn("tw-ml-0.5", "tw-text-primary", className), children: "*" });
10004
- var Label2 = ({ className, children, id, htmlFor, ...rest }) => /* @__PURE__ */ jsx(
10005
- RLabel.Root,
10006
- {
10007
- ...rest,
10008
- id: id?.toString(),
10009
- htmlFor: htmlFor?.toString(),
10010
- className: cn(
10011
- "tw-m-0 tw-text-foreground tw-font-normal peer-disabled:tw-opacity-50",
10012
- className
10013
- ),
10014
- children
10015
- }
10016
- );
10017
- Label2.Optional = Optional;
10018
- Label2.Required = Required;
10019
10265
  var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsx(
10020
10266
  "span",
10021
10267
  {
@@ -16368,6 +16614,12 @@ var PromptInputCommands = ({ items, open, onSelect, filterValue, children }) =>
16368
16614
  children
16369
16615
  ] });
16370
16616
  };
16617
+ var ARIA_LABEL_BY_STATUS = {
16618
+ ready: "Send message",
16619
+ streaming: "Stop",
16620
+ interrupted: "Continue",
16621
+ submitted: "Sending\u2026"
16622
+ };
16371
16623
  var PromptInputSubmit = ({
16372
16624
  ref,
16373
16625
  disabled,
@@ -16390,6 +16642,7 @@ var PromptInputSubmit = ({
16390
16642
  ref,
16391
16643
  type: "submit",
16392
16644
  disabled,
16645
+ "aria-label": ARIA_LABEL_BY_STATUS[status],
16393
16646
  size: "icon-sm",
16394
16647
  variant: "invisible",
16395
16648
  isLoading: status === "submitted",
@@ -17836,7 +18089,7 @@ var cardTitleClassnames = cn(
17836
18089
  "tw-text-base",
17837
18090
  "tw-text-card-foreground"
17838
18091
  );
17839
- var CardTitle = ({ children, className, ...rest }) => /* @__PURE__ */ jsx("h3", { className: cn(cardTitleClassnames, className), ...rest, children });
18092
+ var CardTitle = ({ children, className, as: Tag = "h3", ...rest }) => /* @__PURE__ */ jsx(Tag, { className: cn(cardTitleClassnames, className), ...rest, children });
17840
18093
  var Card = ({
17841
18094
  children,
17842
18095
  className,
@@ -23417,6 +23670,6 @@ object-assign/index.js:
23417
23670
  *)
23418
23671
  */
23419
23672
 
23420
- export { Alert, AlertModal, AnswerSummary, AppShell, ArgoDesignContext, AutoSaveTextarea, Avatar, Badge, BrandLogo, Breadcrumb, Button, ButtonGroup, ButtonInline, Calendar, Card, Checkbox, Clipboard, ClipboardButton, ClipboardInline, Collapse, Collapsible, CollapsiblePanel, CollapsibleStepHeader, ColorInput, ColorModeSwitch, Combobox, Command, CommandGroup, CommandInput, CommandItem, CommandList, ConflictStatusIndicator, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, DateInput, DatePicker, DateRangeInput, DateRangePicker, DiffType, DiffView, DotsLoader, DropdownMenu, EmptyConfigurationActionCard, EmptySearchContent, EmptyState, ErrorState, FileUpload, FormGroup, FullScreenModal, FullScreenModalBody, FullScreenModalHeader, HelpBlock, HoverCard, InlineStepDetail, InlineStepLabel, InputGroup, Kbd, Label2 as Label, Link, Markdown, MarkedText, MessageBubble, Modal, MultiActionButtonGroup, MultiCombobox, Navbar, NumberInput, OtpInput, PageHeader, PageLayout, PageToolbar, Pagination, PaneHeader, PanelWithDetails, PasswordInput, PlanApproval, PlanRewritingIndicator, Popconfirm, Popover, Progress, PromptInput, Question, QuestionBlock, RadioGroup2 as RadioGroup, ResizableHandle, ResizablePanelGroup, ScrollArea, ScrollBar, Search, SearchForm, SearchInput, SearchInputWithNavigation, Select2 as Select, Separator2 as Separator, Sheet, Sidebar, SidebarProvider, Skeleton, SkeletonList, Slider, SplitButton, SpotlightBackdrop, Stepper, SuggestedPrompt, Switch, Table, Tabs2 as Tabs, TabsContent, Tagger, TextInput, Textarea, ThemeProvider, ThinkingIndicator, TimeInput, TimePicker, Timeline, Toaster, Toggle, ToggleGroup, ToolCallApproval, ToolCallChip, Tooltip, TooltipProvider, Truncated, UsageStats, UsageStatsRing, ZoomableSvg, argoVariants, cn, computeDiffRows, computeLineInformation, copyToClipboard, isMac, kbdVariants, keys, mergeRefs, setServerFieldErrors, toast, useAppForm, useArgoDesign, useAutosizeInput, useMergeDiff, useNotification, useScrollbarPosition, useSidebar, useTargetRect, useTheme, withForm };
23673
+ export { Alert, AlertModal, AnswerSummary, AppShell, ArgoDesignContext, AutoSaveTextarea, Avatar, Badge, BrandLogo, Breadcrumb, Button, ButtonGroup, ButtonInline, Calendar, Card, Checkbox, Clipboard, ClipboardButton, ClipboardInline, Collapse, Collapsible, CollapsiblePanel, CollapsibleStepHeader, ColorInput, ColorModeSwitch, Combobox, Command, CommandGroup, CommandInput, CommandItem, CommandList, ConflictStatusIndicator, CopyField, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID as DEFAULT_KEBOOLA_BRAND_ID, DateInput, DatePicker, DateRangeInput, DateRangePicker, DiffType, DiffView, DotsLoader, DropdownMenu, EmptyConfigurationActionCard, EmptySearchContent, EmptyState, ErrorState, FileUpload, FormGroup, FullScreenModal, FullScreenModalBody, FullScreenModalHeader, HelpBlock, HoverCard, InlineStepDetail, InlineStepLabel, InputGroup, Kbd, Label2 as Label, Link, Markdown, MarkedText, MessageBubble, Modal, MultiActionButtonGroup, MultiCombobox, Navbar, NumberInput, OtpInput, PageHeader, PageLayout, PageToolbar, Pagination, PaneHeader, PanelWithDetails, PasswordInput, PlanApproval, PlanRewritingIndicator, Popconfirm, Popover, Progress, PromptInput, Question, QuestionBlock, RadioGroup2 as RadioGroup, ResizableHandle, ResizablePanelGroup, ScrollArea, ScrollBar, Search, SearchForm, SearchInput, SearchInputWithNavigation, Select2 as Select, Separator2 as Separator, Sheet, Sidebar, SidebarProvider, Skeleton, SkeletonList, Slider, SplitButton, SpotlightBackdrop, Stepper, SuggestedPrompt, Switch, Table, Tabs2 as Tabs, TabsContent, Tagger, TextInput, Textarea, ThemeProvider, ThinkingIndicator, TimeInput, TimePicker, Timeline, Toaster, Toggle, ToggleGroup, ToolCallApproval, ToolCallChip, Tooltip, TooltipProvider, Truncated, UsageStats, UsageStatsRing, ZoomableSvg, argoVariants, cn, computeDiffRows, computeLineInformation, copyToClipboard, isMac, kbdVariants, keys, mergeRefs, setServerFieldErrors, toast, useAppForm, useArgoDesign, useAutosizeInput, useMergeDiff, useNotification, useScrollbarPosition, useSidebar, useTargetRect, useTheme, withForm };
23421
23674
  //# sourceMappingURL=index.js.map
23422
23675
  //# sourceMappingURL=index.js.map