@uipath/apollo-wind 2.75.0 → 2.76.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.
Files changed (42) hide show
  1. package/dist/components/forms/field-actions.cjs +53 -12
  2. package/dist/components/forms/field-actions.d.ts +47 -10
  3. package/dist/components/forms/field-actions.js +50 -12
  4. package/dist/components/forms/index.cjs +4 -0
  5. package/dist/components/forms/index.d.ts +2 -1
  6. package/dist/components/forms/index.js +2 -1
  7. package/dist/components/forms/metadata-form.cjs +1 -0
  8. package/dist/components/forms/metadata-form.js +1 -0
  9. package/dist/components/forms/variable-mode-control.cjs +65 -0
  10. package/dist/components/forms/variable-mode-control.d.ts +20 -0
  11. package/dist/components/forms/variable-mode-control.js +31 -0
  12. package/dist/components/ui/field-actions/ai-assist-action.cjs +57 -47
  13. package/dist/components/ui/field-actions/ai-assist-action.d.ts +14 -2
  14. package/dist/components/ui/field-actions/ai-assist-action.js +59 -49
  15. package/dist/components/ui/field-actions/index.d.ts +1 -1
  16. package/dist/components/ui/field-actions/insert-variable-action.cjs +5 -3
  17. package/dist/components/ui/field-actions/insert-variable-action.d.ts +20 -10
  18. package/dist/components/ui/field-actions/insert-variable-action.js +5 -3
  19. package/dist/components/ui/form-field.cjs +3 -2
  20. package/dist/components/ui/form-field.d.ts +11 -3
  21. package/dist/components/ui/form-field.js +3 -2
  22. package/dist/components/ui/index.cjs +16 -16
  23. package/dist/components/ui/json-tree-view/RowActions.cjs +1 -1
  24. package/dist/components/ui/json-tree-view/RowActions.js +1 -1
  25. package/dist/components/ui/panel-tabs.cjs +1 -0
  26. package/dist/components/ui/panel-tabs.d.ts +5 -1
  27. package/dist/components/ui/panel-tabs.js +1 -0
  28. package/dist/components/ui/reference-chip.cjs +1 -1
  29. package/dist/components/ui/reference-chip.d.ts +1 -1
  30. package/dist/components/ui/reference-chip.js +1 -1
  31. package/dist/components/ui/variable-picker/index.d.ts +1 -1
  32. package/dist/components/ui/variable-picker/variable-picker.cjs +17 -3
  33. package/dist/components/ui/variable-picker/variable-picker.d.ts +24 -1
  34. package/dist/components/ui/variable-picker/variable-picker.js +14 -3
  35. package/dist/components/ui/variable-value-control.cjs +23 -7
  36. package/dist/components/ui/variable-value-control.d.ts +27 -5
  37. package/dist/components/ui/variable-value-control.js +23 -7
  38. package/dist/index.cjs +4 -0
  39. package/dist/index.d.ts +6 -4
  40. package/dist/index.js +2 -1
  41. package/dist/styles.css +11 -12
  42. package/package.json +1 -1
@@ -34,7 +34,7 @@ const external_lucide_react_namespaceObject = require("lucide-react");
34
34
  const external_react_namespaceObject = require("react");
35
35
  const external_strings_cjs_namespaceObject = require("./strings.cjs");
36
36
  const external_JsonTreeTooltip_cjs_namespaceObject = require("./JsonTreeTooltip.cjs");
37
- const ACTION_BUTTON_CLASS = 'shrink-0 rounded text-foreground-subtle opacity-0 hover:text-foreground hover:bg-surface-raised group-hover:opacity-100 focus-visible:opacity-100';
37
+ const ACTION_BUTTON_CLASS = 'shrink-0 rounded text-foreground-subtle opacity-0 hover:text-foreground hover:bg-surface-raised group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100';
38
38
  const ACTION_TONE_CLASS = {
39
39
  neutral: '',
40
40
  info: 'text-info hover:text-info',
@@ -6,7 +6,7 @@ import { MoreHorizontal } from "lucide-react";
6
6
  import { useState } from "react";
7
7
  import { useJsonTreeViewStrings } from "./strings.js";
8
8
  import { JsonTreeTooltip } from "./JsonTreeTooltip.js";
9
- const ACTION_BUTTON_CLASS = 'shrink-0 rounded text-foreground-subtle opacity-0 hover:text-foreground hover:bg-surface-raised group-hover:opacity-100 focus-visible:opacity-100';
9
+ const ACTION_BUTTON_CLASS = 'shrink-0 rounded text-foreground-subtle opacity-0 hover:text-foreground hover:bg-surface-raised group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100';
10
10
  const ACTION_TONE_CLASS = {
11
11
  neutral: '',
12
12
  info: 'text-info hover:text-info',
@@ -75,6 +75,7 @@ const PanelTabsContent = /*#__PURE__*/ external_react_namespaceObject.forwardRef
75
75
  ref: ref,
76
76
  "data-slot": "panel-tabs-content",
77
77
  className: (0, index_cjs_namespaceObject.cn)('mt-0 min-h-0 flex-1 overflow-auto', className),
78
+ tabIndex: void 0,
78
79
  ...props,
79
80
  children: padded ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
80
81
  className: (0, index_cjs_namespaceObject.cn)('pt-1.5 pb-6 [padding-inline:var(--mf-content-inset,0px)]', innerClassName),
@@ -28,7 +28,11 @@ interface PanelTabsContentProps extends React.ComponentPropsWithoutRef<typeof Ta
28
28
  /** Classes for the padded wrapper (e.g. its own vertical rhythm). */
29
29
  innerClassName?: string;
30
30
  }
31
- /** The active tab's content. It is the scroll container, so the tab row stays pinned. */
31
+ /**
32
+ * The active tab's content. It is the scroll container, so the tab row stays pinned.
33
+ * It has no tabIndex, so the browser makes it a tab stop only when it scrolls with
34
+ * nothing focusable inside. Radix's default 0 would stop on every panel.
35
+ */
32
36
  declare const PanelTabsContent: React.ForwardRefExoticComponent<PanelTabsContentProps & React.RefAttributes<HTMLDivElement>>;
33
37
  export { PanelTabs, PanelTabsContent, PanelTabsList, PanelTabsStrip, PanelTabsTrigger };
34
38
  export type { PanelTabsContentProps, PanelTabsListProps };
@@ -43,6 +43,7 @@ const PanelTabsContent = /*#__PURE__*/ forwardRef(({ padded = true, innerClassNa
43
43
  ref: ref,
44
44
  "data-slot": "panel-tabs-content",
45
45
  className: cn('mt-0 min-h-0 flex-1 overflow-auto', className),
46
+ tabIndex: void 0,
46
47
  ...props,
47
48
  children: padded ? /*#__PURE__*/ jsx("div", {
48
49
  className: cn('pt-1.5 pb-6 [padding-inline:var(--mf-content-inset,0px)]', innerClassName),
@@ -65,7 +65,7 @@ const ReferenceChip = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRe
65
65
  onRemove && !readOnly && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
66
66
  type: "button",
67
67
  disabled: disabled,
68
- "aria-label": removeLabel ?? `Remove ${label}`,
68
+ "aria-label": removeLabel ?? ('string' == typeof label ? `Remove ${label}` : 'Remove'),
69
69
  className: "inline-flex shrink-0 items-center justify-center p-px border-0 bg-transparent cursor-pointer rounded-[2px] w-4 h-4 text-inherit focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-current disabled:cursor-default",
70
70
  onMouseDown: (event)=>{
71
71
  event.preventDefault();
@@ -1,7 +1,7 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  export interface ReferenceChipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
3
3
  /** Display name of the referenced variable, resource or connection. */
4
- label: string;
4
+ label: ReactNode;
5
5
  /** Decorative icon. Branded icons may preserve their original colors. */
6
6
  icon?: ReactNode;
7
7
  onRemove?: () => void;
@@ -37,7 +37,7 @@ const ReferenceChip = /*#__PURE__*/ forwardRef(({ label, icon, onRemove, removeL
37
37
  onRemove && !readOnly && /*#__PURE__*/ jsx("button", {
38
38
  type: "button",
39
39
  disabled: disabled,
40
- "aria-label": removeLabel ?? `Remove ${label}`,
40
+ "aria-label": removeLabel ?? ('string' == typeof label ? `Remove ${label}` : 'Remove'),
41
41
  className: "inline-flex shrink-0 items-center justify-center p-px border-0 bg-transparent cursor-pointer rounded-[2px] w-4 h-4 text-inherit focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-current disabled:cursor-default",
42
42
  onMouseDown: (event)=>{
43
43
  event.preventDefault();
@@ -1,2 +1,2 @@
1
- export type { VariablePickerContentProps, VariablePickerItem, VariablePickerProps, } from './variable-picker';
1
+ export type { RenderVariablePicker, VariablePickerContentProps, VariablePickerItem, VariablePickerProps, VariablePickerSlotProps, } from './variable-picker';
2
2
  export { VariablePicker, VariablePickerContent } from './variable-picker';
@@ -26,6 +26,7 @@ var __webpack_exports__ = {};
26
26
  __webpack_require__.r(__webpack_exports__);
27
27
  __webpack_require__.d(__webpack_exports__, {
28
28
  VariablePicker: ()=>VariablePicker,
29
+ VariablePickerSlot: ()=>VariablePickerSlot,
29
30
  VariablePickerContent: ()=>VariablePickerContent
30
31
  });
31
32
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
@@ -50,6 +51,9 @@ function VariableTypeBadge({ item }) {
50
51
  children: item.icon ?? TYPE_LABEL[type] ?? type
51
52
  });
52
53
  }
54
+ function VariablePickerSlot({ render, ...props }) {
55
+ return render(props);
56
+ }
53
57
  function itemMatches(item, normalizedQuery) {
54
58
  return item.label.toLowerCase().includes(normalizedQuery) || item.value?.toLowerCase().includes(normalizedQuery) === true;
55
59
  }
@@ -189,7 +193,7 @@ function VariablePickerContent({ items, onSelect, placeholder = 'Search variable
189
193
  ]
190
194
  });
191
195
  }
192
- function VariablePicker({ children, align = 'end', disabled = false, open: controlledOpen, onOpenChange, triggerLabel = 'Insert', triggerAriaLabel = 'Insert variable', className, onSelect, ...contentProps }) {
196
+ function VariablePicker({ children, align = 'end', disabled = false, open: controlledOpen, onOpenChange, triggerLabel = 'Insert', triggerAriaLabel = 'Insert variable', className, onSelect, renderPicker, ...contentProps }) {
193
197
  const [uncontrolledOpen, setUncontrolledOpen] = (0, external_react_namespaceObject.useState)(false);
194
198
  const open = controlledOpen ?? uncontrolledOpen;
195
199
  const setOpen = (nextOpen)=>{
@@ -227,7 +231,15 @@ function VariablePicker({ children, align = 'end', disabled = false, open: contr
227
231
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent, {
228
232
  align: align,
229
233
  className: (0, index_cjs_namespaceObject.cn)('w-[280px] max-w-[calc(100vw-1rem)] overflow-hidden p-0', className),
230
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(VariablePickerContent, {
234
+ children: renderPicker ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(VariablePickerSlot, {
235
+ render: renderPicker,
236
+ onSelect: (value)=>selectItem({
237
+ id: value,
238
+ label: value,
239
+ value
240
+ }),
241
+ close: ()=>setOpen(false)
242
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(VariablePickerContent, {
231
243
  ...contentProps,
232
244
  onSelect: selectItem
233
245
  })
@@ -237,9 +249,11 @@ function VariablePicker({ children, align = 'end', disabled = false, open: contr
237
249
  }
238
250
  exports.VariablePicker = __webpack_exports__.VariablePicker;
239
251
  exports.VariablePickerContent = __webpack_exports__.VariablePickerContent;
252
+ exports.VariablePickerSlot = __webpack_exports__.VariablePickerSlot;
240
253
  for(var __rspack_i in __webpack_exports__)if (-1 === [
241
254
  "VariablePicker",
242
- "VariablePickerContent"
255
+ "VariablePickerContent",
256
+ "VariablePickerSlot"
243
257
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
244
258
  Object.defineProperty(exports, '__esModule', {
245
259
  value: true
@@ -35,8 +35,31 @@ export interface VariablePickerProps extends VariablePickerContentProps {
35
35
  onOpenChange?: (open: boolean) => void;
36
36
  triggerLabel?: string;
37
37
  triggerAriaLabel?: string;
38
+ /**
39
+ * The host's own picker, rendered in the popover in place of the search and tree, whose `items`
40
+ * it then does not use. A pick reaches `onSelect` as an entry made from the picked value.
41
+ */
42
+ renderPicker?: RenderVariablePicker;
38
43
  }
44
+ /** What a host-rendered picker gets in place of the built-in search and tree. */
45
+ export interface VariablePickerSlotProps {
46
+ /** The reference already bound, when the pick replaces one. */
47
+ value?: string;
48
+ /** Commits `value` and closes the popover. */
49
+ onSelect(value: string): void;
50
+ /** Closes the popover without committing anything. */
51
+ close(): void;
52
+ }
53
+ /**
54
+ * Renders a host's own picker inside a wind-owned popover. Called only while the popover is open:
55
+ * the trigger, anchoring, focus return and strings stay with wind.
56
+ */
57
+ export type RenderVariablePicker = (props: VariablePickerSlotProps) => ReactNode;
58
+ /** Renders a slot as an element, so it is called only once its popover mounts the content. */
59
+ export declare function VariablePickerSlot({ render, ...props }: VariablePickerSlotProps & {
60
+ render: RenderVariablePicker;
61
+ }): ReactNode;
39
62
  /** Search and tree content for embedding in a consumer-owned popover or caret-anchored surface. */
40
63
  export declare function VariablePickerContent({ items, onSelect, placeholder, emptyText, query: controlledQuery, initialQuery, onQueryChange, defaultExpandedIds, insertLabel, className, }: VariablePickerContentProps): import("react/jsx-runtime").JSX.Element;
41
64
  /** Popover-wrapped convenience picker for inserting a variable into a consumer-owned value. */
42
- export declare function VariablePicker({ children, align, disabled, open: controlledOpen, onOpenChange, triggerLabel, triggerAriaLabel, className, onSelect, ...contentProps }: VariablePickerProps): import("react/jsx-runtime").JSX.Element;
65
+ export declare function VariablePicker({ children, align, disabled, open: controlledOpen, onOpenChange, triggerLabel, triggerAriaLabel, className, onSelect, renderPicker, ...contentProps }: VariablePickerProps): import("react/jsx-runtime").JSX.Element;
@@ -21,6 +21,9 @@ function VariableTypeBadge({ item }) {
21
21
  children: item.icon ?? TYPE_LABEL[type] ?? type
22
22
  });
23
23
  }
24
+ function VariablePickerSlot({ render, ...props }) {
25
+ return render(props);
26
+ }
24
27
  function itemMatches(item, normalizedQuery) {
25
28
  return item.label.toLowerCase().includes(normalizedQuery) || item.value?.toLowerCase().includes(normalizedQuery) === true;
26
29
  }
@@ -160,7 +163,7 @@ function VariablePickerContent({ items, onSelect, placeholder = 'Search variable
160
163
  ]
161
164
  });
162
165
  }
163
- function VariablePicker({ children, align = 'end', disabled = false, open: controlledOpen, onOpenChange, triggerLabel = 'Insert', triggerAriaLabel = 'Insert variable', className, onSelect, ...contentProps }) {
166
+ function VariablePicker({ children, align = 'end', disabled = false, open: controlledOpen, onOpenChange, triggerLabel = 'Insert', triggerAriaLabel = 'Insert variable', className, onSelect, renderPicker, ...contentProps }) {
164
167
  const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
165
168
  const open = controlledOpen ?? uncontrolledOpen;
166
169
  const setOpen = (nextOpen)=>{
@@ -198,7 +201,15 @@ function VariablePicker({ children, align = 'end', disabled = false, open: contr
198
201
  /*#__PURE__*/ jsx(PopoverContent, {
199
202
  align: align,
200
203
  className: cn('w-[280px] max-w-[calc(100vw-1rem)] overflow-hidden p-0', className),
201
- children: /*#__PURE__*/ jsx(VariablePickerContent, {
204
+ children: renderPicker ? /*#__PURE__*/ jsx(VariablePickerSlot, {
205
+ render: renderPicker,
206
+ onSelect: (value)=>selectItem({
207
+ id: value,
208
+ label: value,
209
+ value
210
+ }),
211
+ close: ()=>setOpen(false)
212
+ }) : /*#__PURE__*/ jsx(VariablePickerContent, {
202
213
  ...contentProps,
203
214
  onSelect: selectItem
204
215
  })
@@ -206,4 +217,4 @@ function VariablePicker({ children, align = 'end', disabled = false, open: contr
206
217
  ]
207
218
  });
208
219
  }
209
- export { VariablePicker, VariablePickerContent };
220
+ export { VariablePicker, VariablePickerContent, VariablePickerSlot };
@@ -35,8 +35,10 @@ const external_input_group_cjs_namespaceObject = require("./input-group.cjs");
35
35
  const external_popover_cjs_namespaceObject = require("./popover.cjs");
36
36
  const external_reference_chip_cjs_namespaceObject = require("./reference-chip.cjs");
37
37
  const index_cjs_namespaceObject = require("./variable-picker/index.cjs");
38
+ const variable_picker_cjs_namespaceObject = require("./variable-picker/variable-picker.cjs");
38
39
  const external_lib_index_cjs_namespaceObject = require("../../lib/index.cjs");
39
- const VariableValueControl = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ id, value, onChange, onBlur, inputRef, variables, disabled, placeholder, strings, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, controlProps }, ref)=>{
40
+ const NO_VARIABLES = [];
41
+ const VariableValueControl = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ id, value, onChange, onBlur, inputRef, variables = NO_VARIABLES, renderPicker, describeReference, disabled, placeholder, strings, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, controlProps }, ref)=>{
40
42
  const text = {
41
43
  ...value_mode_strings_cjs_namespaceObject.DEFAULT_VALUE_MODE_STRINGS,
42
44
  ...strings
@@ -48,18 +50,27 @@ const VariableValueControl = /*#__PURE__*/ external_react_namespaceObject.forwar
48
50
  ref,
49
51
  inputRef
50
52
  ]);
53
+ const described = external_react_namespaceObject.useMemo(()=>reference && describeReference ? describeReference(reference) : void 0, [
54
+ reference,
55
+ describeReference
56
+ ]);
51
57
  const changeOpen = external_react_namespaceObject.useCallback((next)=>{
52
- if (next) setItems('function' == typeof variables ? variables() : variables);
58
+ if (next && !renderPicker) setItems('function' == typeof variables ? variables() : variables);
53
59
  setOpen(next);
54
60
  }, [
61
+ renderPicker,
55
62
  variables
56
63
  ]);
57
- const select = external_react_namespaceObject.useCallback((item)=>{
58
- if (item.value) onChange(item.value);
64
+ const close = external_react_namespaceObject.useCallback(()=>setOpen(false), []);
65
+ const commit = external_react_namespaceObject.useCallback((next)=>{
66
+ if (next) onChange(next);
59
67
  setOpen(false);
60
68
  }, [
61
69
  onChange
62
70
  ]);
71
+ const select = external_react_namespaceObject.useCallback((item)=>commit(item.value ?? ''), [
72
+ commit
73
+ ]);
63
74
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_popover_cjs_namespaceObject.Popover, {
64
75
  open: open,
65
76
  onOpenChange: changeOpen,
@@ -75,14 +86,19 @@ const VariableValueControl = /*#__PURE__*/ external_react_namespaceObject.forwar
75
86
  "aria-labelledby": ariaLabelledBy,
76
87
  "aria-describedby": (0, aria_ids_cjs_namespaceObject.joinIds)(ariaDescribedBy, controlProps?.['aria-describedby']),
77
88
  children: reference && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_reference_chip_cjs_namespaceObject.ReferenceChip, {
78
- label: reference,
79
- icon: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Variable, {})
89
+ label: described?.label ?? reference,
90
+ icon: described?.icon ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Variable, {})
80
91
  })
81
92
  }),
82
93
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_popover_cjs_namespaceObject.PopoverContent, {
83
94
  align: "start",
84
95
  className: "w-(--radix-popover-trigger-width) p-0",
85
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.VariablePickerContent, {
96
+ children: renderPicker ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(variable_picker_cjs_namespaceObject.VariablePickerSlot, {
97
+ render: renderPicker,
98
+ value: reference || void 0,
99
+ onSelect: commit,
100
+ close: close
101
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.VariablePickerContent, {
86
102
  items: items,
87
103
  onSelect: select,
88
104
  placeholder: text.variableSearchPlaceholder,
@@ -1,7 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { type ValueModeStrings } from './field-addons/value-mode-strings';
3
- import { type VariablePickerItem } from './variable-picker';
4
- export interface VariableValueControlProps {
3
+ import { type RenderVariablePicker, type VariablePickerItem } from './variable-picker';
4
+ /** How a bound reference is shown: the host's display name and type icon for it. */
5
+ export interface VariableReferenceDescription {
6
+ label: React.ReactNode;
7
+ /** Defaults to the generic variable icon. */
8
+ icon?: React.ReactNode;
9
+ }
10
+ interface VariableValueControlBaseProps {
5
11
  id?: string;
6
12
  name?: string;
7
13
  /** The bound reference, such as `$vars.orderId`. */
@@ -12,10 +18,10 @@ export interface VariableValueControlProps {
12
18
  /** Also gets the trigger, as a form library's field ref does to focus an invalid field. */
13
19
  inputRef?: React.Ref<HTMLButtonElement>;
14
20
  /**
15
- * The variables to pick from, rendered as supplied. A function is called each time the picker
16
- * opens, never during render.
21
+ * Describes the bound reference for its chip and the trigger's text. Returning nothing shows the
22
+ * reference as it is stored.
17
23
  */
18
- variables: VariablePickerItem[] | (() => VariablePickerItem[]);
24
+ describeReference?: (reference: string) => VariableReferenceDescription | undefined;
19
25
  disabled?: boolean;
20
26
  /** Shown while no variable is bound. Defaults to `strings.variablePlaceholder`. */
21
27
  placeholder?: string;
@@ -30,6 +36,22 @@ export interface VariableValueControlProps {
30
36
  'aria-describedby'?: string;
31
37
  };
32
38
  }
39
+ export type VariableValueControlProps = VariableValueControlBaseProps & ({
40
+ /**
41
+ * The variables to pick from, rendered as supplied. A function is called each time the
42
+ * picker opens, never during render.
43
+ */
44
+ variables: VariablePickerItem[] | (() => VariablePickerItem[]);
45
+ renderPicker?: undefined;
46
+ } | {
47
+ /** Ignored while `renderPicker` is set. */
48
+ variables?: VariablePickerItem[] | (() => VariablePickerItem[]);
49
+ /**
50
+ * The host's own picker, rendered in the panel in place of the built-in one and handed the
51
+ * bound reference as `value`.
52
+ */
53
+ renderPicker: RenderVariablePicker;
54
+ });
33
55
  /**
34
56
  * A value bound to a variable, for an `InputGroup`: the whole control is a picker whose trigger
35
57
  * shows the bound reference, and picking a variable replaces it. The panel opens at the box's
@@ -7,8 +7,10 @@ import { InputGroupPopoverTrigger } from "./input-group.js";
7
7
  import { Popover, PopoverContent } from "./popover.js";
8
8
  import { ReferenceChip } from "./reference-chip.js";
9
9
  import { VariablePickerContent } from "./variable-picker/index.js";
10
+ import { VariablePickerSlot } from "./variable-picker/variable-picker.js";
10
11
  import { composeRefs } from "../../lib/index.js";
11
- const VariableValueControl = /*#__PURE__*/ forwardRef(({ id, value, onChange, onBlur, inputRef, variables, disabled, placeholder, strings, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, controlProps }, ref)=>{
12
+ const NO_VARIABLES = [];
13
+ const VariableValueControl = /*#__PURE__*/ forwardRef(({ id, value, onChange, onBlur, inputRef, variables = NO_VARIABLES, renderPicker, describeReference, disabled, placeholder, strings, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, controlProps }, ref)=>{
12
14
  const text = {
13
15
  ...DEFAULT_VALUE_MODE_STRINGS,
14
16
  ...strings
@@ -20,18 +22,27 @@ const VariableValueControl = /*#__PURE__*/ forwardRef(({ id, value, onChange, on
20
22
  ref,
21
23
  inputRef
22
24
  ]);
25
+ const described = useMemo(()=>reference && describeReference ? describeReference(reference) : void 0, [
26
+ reference,
27
+ describeReference
28
+ ]);
23
29
  const changeOpen = useCallback((next)=>{
24
- if (next) setItems('function' == typeof variables ? variables() : variables);
30
+ if (next && !renderPicker) setItems('function' == typeof variables ? variables() : variables);
25
31
  setOpen(next);
26
32
  }, [
33
+ renderPicker,
27
34
  variables
28
35
  ]);
29
- const select = useCallback((item)=>{
30
- if (item.value) onChange(item.value);
36
+ const close = useCallback(()=>setOpen(false), []);
37
+ const commit = useCallback((next)=>{
38
+ if (next) onChange(next);
31
39
  setOpen(false);
32
40
  }, [
33
41
  onChange
34
42
  ]);
43
+ const select = useCallback((item)=>commit(item.value ?? ''), [
44
+ commit
45
+ ]);
35
46
  return /*#__PURE__*/ jsxs(Popover, {
36
47
  open: open,
37
48
  onOpenChange: changeOpen,
@@ -47,14 +58,19 @@ const VariableValueControl = /*#__PURE__*/ forwardRef(({ id, value, onChange, on
47
58
  "aria-labelledby": ariaLabelledBy,
48
59
  "aria-describedby": joinIds(ariaDescribedBy, controlProps?.['aria-describedby']),
49
60
  children: reference && /*#__PURE__*/ jsx(ReferenceChip, {
50
- label: reference,
51
- icon: /*#__PURE__*/ jsx(Variable, {})
61
+ label: described?.label ?? reference,
62
+ icon: described?.icon ?? /*#__PURE__*/ jsx(Variable, {})
52
63
  })
53
64
  }),
54
65
  /*#__PURE__*/ jsx(PopoverContent, {
55
66
  align: "start",
56
67
  className: "w-(--radix-popover-trigger-width) p-0",
57
- children: /*#__PURE__*/ jsx(VariablePickerContent, {
68
+ children: renderPicker ? /*#__PURE__*/ jsx(VariablePickerSlot, {
69
+ render: renderPicker,
70
+ value: reference || void 0,
71
+ onSelect: commit,
72
+ close: close
73
+ }) : /*#__PURE__*/ jsx(VariablePickerContent, {
58
74
  items: items,
59
75
  onSelect: select,
60
76
  placeholder: text.variableSearchPlaceholder,
package/dist/index.cjs CHANGED
@@ -418,6 +418,7 @@ __webpack_require__.d(__webpack_exports__, {
418
418
  PopoverAnchor: ()=>popover_cjs_namespaceObject.PopoverAnchor,
419
419
  DrawerClose: ()=>drawer_cjs_namespaceObject.DrawerClose,
420
420
  PickerTrigger: ()=>model_picker_index_cjs_namespaceObject.PickerTrigger,
421
+ createVariableModeControl: ()=>variable_mode_control_cjs_namespaceObject.createVariableModeControl,
421
422
  ButtonGroupSeparator: ()=>button_group_cjs_namespaceObject.ButtonGroupSeparator,
422
423
  DropdownMenuSeparator: ()=>dropdown_menu_cjs_namespaceObject.DropdownMenuSeparator,
423
424
  JsonLeafValueEditor: ()=>json_tree_view_index_cjs_namespaceObject.JsonLeafValueEditor,
@@ -563,6 +564,7 @@ const mode_aware_field_cjs_namespaceObject = require("./components/forms/mode-aw
563
564
  const rules_engine_cjs_namespaceObject = require("./components/forms/rules-engine.cjs");
564
565
  const string_list_field_cjs_namespaceObject = require("./components/forms/string-list-field.cjs");
565
566
  const value_modes_cjs_namespaceObject = require("./components/forms/value-modes.cjs");
567
+ const variable_mode_control_cjs_namespaceObject = require("./components/forms/variable-mode-control.cjs");
566
568
  const accordion_cjs_namespaceObject = require("./components/ui/accordion.cjs");
567
569
  const alert_cjs_namespaceObject = require("./components/ui/alert.cjs");
568
570
  const alert_dialog_cjs_namespaceObject = require("./components/ui/alert-dialog.cjs");
@@ -1108,6 +1110,7 @@ exports.createOutputTokenNode = __webpack_exports__.createOutputTokenNode;
1108
1110
  exports.createResourceTokenNode = __webpack_exports__.createResourceTokenNode;
1109
1111
  exports.createStateTokenNode = __webpack_exports__.createStateTokenNode;
1110
1112
  exports.createTokenNodeForOption = __webpack_exports__.createTokenNodeForOption;
1113
+ exports.createVariableModeControl = __webpack_exports__.createVariableModeControl;
1111
1114
  exports.defaultCostTier = __webpack_exports__.defaultCostTier;
1112
1115
  exports.defaultRowActions = __webpack_exports__.defaultRowActions;
1113
1116
  exports.deriveModelTags = __webpack_exports__.deriveModelTags;
@@ -1624,6 +1627,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
1624
1627
  "createResourceTokenNode",
1625
1628
  "createStateTokenNode",
1626
1629
  "createTokenNodeForOption",
1630
+ "createVariableModeControl",
1627
1631
  "defaultCostTier",
1628
1632
  "defaultRowActions",
1629
1633
  "deriveModelTags",
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type { AdapterRequest, AdapterResponse, DataAdapter, } from './components/forms/data-fetcher';
2
2
  export { DataFetcher, DataSourceBuilder, DataTransformers, FetchAdapter, } from './components/forms/data-fetcher';
3
- export type { AiAssistActionOptions, ClearActionOptions, FieldActionContext, FieldActionGenerate, FieldActionRegistry, FieldActionsPluginConfig, FieldHeaderAction, FieldMenuAction, InsertVariableActionOptions, ValueModeVariable, } from './components/forms/field-actions';
3
+ export type { AiAssistActionOptions, AiAssistFieldContentProps, ClearActionOptions, FieldActionContext, FieldActionGenerate, FieldActionRegistry, FieldActionResult, FieldActionsPluginConfig, FieldHeaderAction, FieldMenuAction, FormVariablePicker, InsertVariableActionOptions, ValueModeVariable, } from './components/forms/field-actions';
4
4
  export { createAiAssistAction, createClearAction, createInsertVariableAction, resolveVariables, } from './components/forms/field-actions';
5
5
  export type { FieldControlFormField, FieldControlGeometry, FieldControlLabelTarget, FieldControlProps, } from './components/forms/field-control';
6
6
  export { FIELD_CONTROL_GEOMETRY, FieldControl } from './components/forms/field-control';
@@ -21,6 +21,8 @@ export type { StringListFieldProps } from './components/forms/string-list-field'
21
21
  export { formatTemplate, StringListField } from './components/forms/string-list-field';
22
22
  export type { CodecContext, ConvertResult, DecodedValue, FieldControlRegistration, ValueModeCodec, ValueModeControlHandle, ValueModeControlProps, ValueModeControlRegistration, ValueModeDefinition, ValueModeEnvelope, ValueModeRegistry, ValueModesPluginConfig, } from './components/forms/value-modes';
23
23
  export { envelopeCodec, isEmptyModeValue, isValueModeEnvelope, literalValues, VALUE_MODE_OPAQUE, } from './components/forms/value-modes';
24
+ export type { VariableModeControlOptions } from './components/forms/variable-mode-control';
25
+ export { createVariableModeControl } from './components/forms/variable-mode-control';
24
26
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from './components/ui/accordion';
25
27
  export { Alert, AlertDescription, AlertTitle } from './components/ui/alert';
26
28
  export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, } from './components/ui/alert-dialog';
@@ -75,7 +77,7 @@ export type { EditableCellMeta, EditableCellType, } from './components/ui/editab
75
77
  export { createEditableColumn, EditableCell, } from './components/ui/editable-cell';
76
78
  export type { EmptyStateProps } from './components/ui/empty-state';
77
79
  export { EmptyState } from './components/ui/empty-state';
78
- export type { AiAssistActionProps, AiAssistActionStrings, InsertVariableActionProps, InsertVariableActionStrings, } from './components/ui/field-actions';
80
+ export type { AiAssistActionProps, AiAssistActionStrings, AiAssistContentProps, InsertVariableActionProps, InsertVariableActionStrings, } from './components/ui/field-actions';
79
81
  export { AiAssistAction, DEFAULT_AI_ASSIST_ACTION_STRINGS, DEFAULT_INSERT_VARIABLE_ACTION_STRINGS, InsertVariableAction, } from './components/ui/field-actions';
80
82
  export type { BuiltInValueModesOptions, FieldMenuItem, FieldMenuMode, FieldMenuProps, ValueMode, ValueModeIndicatorProps, ValueModeOption, ValueModeStrings, ValueModeSwitchDialogProps, } from './components/ui/field-addons';
81
83
  export { BUILTIN_VALUE_MODES, builtInValueModes, DEFAULT_VALUE_MODE_STRINGS, FieldMenu, ValueModeIndicator, ValueModeSwitchDialog, } from './components/ui/field-addons';
@@ -179,8 +181,8 @@ export { DEFAULT_TOOL_CALL_STRINGS, ToolCall, ToolCallContent, ToolCallError, To
179
181
  export { Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, } from './components/ui/tooltip';
180
182
  export type { FileTreeViewIconMap, FileTreeViewItem, FileTreeViewItemAction, FileTreeViewMenuItem, FileTreeViewProps, FileTreeViewSelectionMode, TreeViewIconMap, TreeViewItem, TreeViewItemAction, TreeViewMenuItem, TreeViewProps, TreeViewSelectionMode, } from './components/ui/tree-view';
181
183
  export { default as FileTreeView, TreeView } from './components/ui/tree-view';
182
- export type { VariablePickerContentProps, VariablePickerItem, VariablePickerProps, } from './components/ui/variable-picker';
184
+ export type { RenderVariablePicker, VariablePickerContentProps, VariablePickerItem, VariablePickerProps, VariablePickerSlotProps, } from './components/ui/variable-picker';
183
185
  export { VariablePicker, VariablePickerContent, } from './components/ui/variable-picker';
184
- export type { VariableValueControlProps } from './components/ui/variable-value-control';
186
+ export type { VariableReferenceDescription, VariableValueControlProps, } from './components/ui/variable-value-control';
185
187
  export { VariableValueControl } from './components/ui/variable-value-control';
186
188
  export { cn } from './lib/utils';
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ import { ModeAwareField } from "./components/forms/mode-aware-field.js";
12
12
  import { ExpressionBuilder, RuleBuilder, RulesEngine } from "./components/forms/rules-engine.js";
13
13
  import { StringListField, formatTemplate } from "./components/forms/string-list-field.js";
14
14
  import { VALUE_MODE_OPAQUE, envelopeCodec, isEmptyModeValue, isValueModeEnvelope, literalValues } from "./components/forms/value-modes.js";
15
+ import { createVariableModeControl } from "./components/forms/variable-mode-control.js";
15
16
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./components/ui/accordion.js";
16
17
  import { Alert, AlertDescription, AlertTitle } from "./components/ui/alert.js";
17
18
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from "./components/ui/alert-dialog.js";
@@ -110,4 +111,4 @@ import tree_view, { TreeView } from "./components/ui/tree-view.js";
110
111
  import { VariablePicker, VariablePickerContent } from "./components/ui/variable-picker/index.js";
111
112
  import { VariableValueControl } from "./components/ui/variable-value-control.js";
112
113
  import { cn } from "./lib/utils.js";
113
- export { $insertTokenAtCursor, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AiAssistAction, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarFallback, AvatarImage, BUILTIN_VALUE_MODES, Badge, BooleanRadioGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatComposer, ChatComposerAttachButton, ChatComposerAttachments, ChatComposerError, ChatComposerFooter, ChatComposerInputGroup, ChatComposerSubmit, ChatComposerTextarea, ChatComposerToolbar, ChatHero, ChatHeroDescription, ChatHeroHeader, ChatHeroLogo, ChatHeroTitle, Checkbox, Citation, CodeBlock, CodeBlockHeader, Collapsible, CollapsibleContent, CollapsibleTrigger, Column, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_AI_ASSIST_ACTION_STRINGS, DEFAULT_BOOLEAN_RADIO_GROUP_STRINGS, DEFAULT_CHAT_COMPOSER_STRINGS, DEFAULT_CITATION_STRINGS, DEFAULT_CODE_BLOCK_STRINGS, DEFAULT_DIALOG_STRINGS, DEFAULT_DROPZONE_OVERLAY_STRINGS, DEFAULT_INSERT_VARIABLE_ACTION_STRINGS, DEFAULT_JSON_TREE_VIEW_STRINGS, DEFAULT_LOADING_DOTS_STRINGS, DEFAULT_MARKDOWN_STRINGS, DEFAULT_MESSAGE_ACTIONS_OVERFLOW_STRINGS, DEFAULT_MESSAGE_ACTIONS_STRINGS, DEFAULT_MESSAGE_ACTION_COPY_STRINGS, DEFAULT_MESSAGE_ACTION_FEEDBACK_STRINGS, DEFAULT_MESSAGE_SCROLLER_BUTTON_STRINGS, DEFAULT_MESSAGE_SCROLLER_VIEWPORT_STRINGS, DEFAULT_METADATA_FORM_STRINGS, DEFAULT_MODEL_PICKER_LABELS, DEFAULT_MULTI_SELECT_STRINGS, DEFAULT_PROMPT_EDITOR_STRINGS, DEFAULT_PROMPT_SUGGESTIONS_STRINGS, DEFAULT_QUICK_FORM_FIELD_STRINGS, DEFAULT_SEARCH_STRINGS, DEFAULT_SHEET_STRINGS, DEFAULT_SOURCES_STRINGS, DEFAULT_THINKING_INDICATOR_STRINGS, DEFAULT_TOOL_CALL_STRINGS, DEFAULT_VALUE_MODE_STRINGS, DataFetcher, DataSourceBuilder, DataTable, DataTableColumnHeader, DataTableSelectColumn, DataTransformers, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureTree, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropzoneOverlay, EditableCell, EmptyState, ExpressionBuilder, FIELD_CONTROL_GEOMETRY, FIELD_TYPE_META, FIELD_TYPE_ORDER, FetchAdapter, FieldControl, FieldMenu, tree_view as FileTreeView, FileUpload, FolderPicker, FolderPickerContent, FolderSwitcher, FormDesigner, FormField, FormFieldDescription, FormFieldError, FormFieldHeader, FormFieldLabel, FormFieldRenderer, FormStateViewer, Grid, GroupHeader, GroupedOptionList, HoverCard, HoverCardContent, HoverCardTrigger, InfoTooltip, Input, InputGroup, InputGroupAddon, InputGroupBody, InputGroupButton, InputGroupInput, InputGroupPopoverTrigger, InputGroupRow, InputGroupText, InputGroupTextarea, InputGroupTrigger, InputTokenNode, InsertVariableAction, JsonContainerEditor, JsonLeafValueEditor, JsonMultilineLeafEditor, JsonTreeToolbar, JsonTreeView, JsonTreeViewProvider, JsonTypeBadge, Label, LiveRegion, LoadingDots, LockableValueField, MODEL_BADGES, Markdown, Marker, MarkerContent, MarkerIcon, Message, MessageAction, MessageActionCopy, MessageActionFeedback, MessageActions, MessageActionsOverflow, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetadataForm, Modal, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, ModeAwareField, ModelOptionRow, ModelPicker, ModelTagChip, MultiSelect, OutputTokenNode, PROMPT_EDITOR_RICH_TRANSFORMERS, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelTabs, PanelTabsContent, PanelTabsList, PanelTabsStrip, PanelTabsTrigger, PickerPopup, PickerSearchInput, PickerTrigger, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, Progress, PromptEditor, PromptSuggestions, PromptValueControl, QuickFormField, RadioGroup, RadioGroupItem, ReferenceChip, RequiredIndicator, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResourceTokenNode, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, ScrollableTabsList, Search, SearchWithSuggestions, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SourceItem, Sources, SourcesList, Spinner, StateTokenNode, StatsCard, Stepper, StringListField, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThinkingIndicator, Toaster, Toggle, ToggleGroup, ToggleGroupItem, TokenPill, TokenPillWithTooltip, ToolCall, ToolCallContent, ToolCallError, ToolCallHeader, ToolCallInput, ToolCallOutput, ToolCallSection, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, TreeView, VALUE_MODE_OPAQUE, VARIABLE_DRAG_MIME, VARIABLE_PATH_REGEX, ValueModeIndicator, ValueModeSwitchDialog, VariablePicker, VariablePickerContent, VariableValueControl, VirtualOptionList, WORD_JOINER, analyticsPlugin, appendPathSegment, attachmentVariants, auditPlugin, autoSavePlugin, badgeVariants, bubbleVariants, buildJsonTree, builtInValueModes, buttonVariants, chatComposerErrorVariants, chatComposerVariants, chatHeroDescriptionVariants, chatHeroTitleVariants, chatHeroVariants, citationVariants, cn, collectContainerPaths, copyTextToClipboard, createAiAssistAction, createClearAction, createEditableColumn, createInputTokenNode, createInsertVariableAction, createOutputTokenNode, createResourceTokenNode, createStateTokenNode, createTokenNodeForOption, defaultCostTier, defaultRowActions, deriveModelTags, envelopeCodec, filterModels, flattenJsonTree, formatContextWindow, formatFileSize, formatLeafValue, formatTemplate, formattingPlugin, getAllPromptTokenNodes, getEditorTokens, getPromptEditorTokenColors, getPromptEditorTokenTypeLabel, getReferenceChipColors, getSubstitutionTarget, getValueAtPath, groupModels, hasMinMaxStep, hasOptions, inferTokenTypeFromPath, inferValueType, inputGroupVariants, isArrayItemTemplateRoot, isCustomField, isEmptyModeValue, isFileField, isFileTypeAccepted, isJsonObject, isPathCollapsed, isPromptTokenNode, isTextGenerationModel, isValueModeEnvelope, keepFolderSearchOnEscape, literalValues, loadingDotsVariants, markerVariants, messageActionsVariants, normalizeRichTextTokens, normalizeVariablePath, optionDomId, promptSuggestionVariants, promptSuggestionsListVariants, removeValueAtPath, resolveHomeGeography, resolveLabels, resolveVariables, schemaDisplayType, setEditorTokens, setValueAtPath, sidebarMenuButtonVariants, spinnerVariants, thinkingIndicatorVariants, toast, toggleVariants, toolCallVariants, useChatComposer, useInputGroup, useJsonTreeViewStrings, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useModelPickerState, useSidebar, useWatch, validateFiles, validationPlugin, workflowPlugin };
114
+ export { $insertTokenAtCursor, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AiAssistAction, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, Avatar, AvatarFallback, AvatarImage, BUILTIN_VALUE_MODES, Badge, BooleanRadioGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatComposer, ChatComposerAttachButton, ChatComposerAttachments, ChatComposerError, ChatComposerFooter, ChatComposerInputGroup, ChatComposerSubmit, ChatComposerTextarea, ChatComposerToolbar, ChatHero, ChatHeroDescription, ChatHeroHeader, ChatHeroLogo, ChatHeroTitle, Checkbox, Citation, CodeBlock, CodeBlockHeader, Collapsible, CollapsibleContent, CollapsibleTrigger, Column, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_AI_ASSIST_ACTION_STRINGS, DEFAULT_BOOLEAN_RADIO_GROUP_STRINGS, DEFAULT_CHAT_COMPOSER_STRINGS, DEFAULT_CITATION_STRINGS, DEFAULT_CODE_BLOCK_STRINGS, DEFAULT_DIALOG_STRINGS, DEFAULT_DROPZONE_OVERLAY_STRINGS, DEFAULT_INSERT_VARIABLE_ACTION_STRINGS, DEFAULT_JSON_TREE_VIEW_STRINGS, DEFAULT_LOADING_DOTS_STRINGS, DEFAULT_MARKDOWN_STRINGS, DEFAULT_MESSAGE_ACTIONS_OVERFLOW_STRINGS, DEFAULT_MESSAGE_ACTIONS_STRINGS, DEFAULT_MESSAGE_ACTION_COPY_STRINGS, DEFAULT_MESSAGE_ACTION_FEEDBACK_STRINGS, DEFAULT_MESSAGE_SCROLLER_BUTTON_STRINGS, DEFAULT_MESSAGE_SCROLLER_VIEWPORT_STRINGS, DEFAULT_METADATA_FORM_STRINGS, DEFAULT_MODEL_PICKER_LABELS, DEFAULT_MULTI_SELECT_STRINGS, DEFAULT_PROMPT_EDITOR_STRINGS, DEFAULT_PROMPT_SUGGESTIONS_STRINGS, DEFAULT_QUICK_FORM_FIELD_STRINGS, DEFAULT_SEARCH_STRINGS, DEFAULT_SHEET_STRINGS, DEFAULT_SOURCES_STRINGS, DEFAULT_THINKING_INDICATOR_STRINGS, DEFAULT_TOOL_CALL_STRINGS, DEFAULT_VALUE_MODE_STRINGS, DataFetcher, DataSourceBuilder, DataTable, DataTableColumnHeader, DataTableSelectColumn, DataTransformers, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureTree, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropzoneOverlay, EditableCell, EmptyState, ExpressionBuilder, FIELD_CONTROL_GEOMETRY, FIELD_TYPE_META, FIELD_TYPE_ORDER, FetchAdapter, FieldControl, FieldMenu, tree_view as FileTreeView, FileUpload, FolderPicker, FolderPickerContent, FolderSwitcher, FormDesigner, FormField, FormFieldDescription, FormFieldError, FormFieldHeader, FormFieldLabel, FormFieldRenderer, FormStateViewer, Grid, GroupHeader, GroupedOptionList, HoverCard, HoverCardContent, HoverCardTrigger, InfoTooltip, Input, InputGroup, InputGroupAddon, InputGroupBody, InputGroupButton, InputGroupInput, InputGroupPopoverTrigger, InputGroupRow, InputGroupText, InputGroupTextarea, InputGroupTrigger, InputTokenNode, InsertVariableAction, JsonContainerEditor, JsonLeafValueEditor, JsonMultilineLeafEditor, JsonTreeToolbar, JsonTreeView, JsonTreeViewProvider, JsonTypeBadge, Label, LiveRegion, LoadingDots, LockableValueField, MODEL_BADGES, Markdown, Marker, MarkerContent, MarkerIcon, Message, MessageAction, MessageActionCopy, MessageActionFeedback, MessageActions, MessageActionsOverflow, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MetadataForm, Modal, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, ModeAwareField, ModelOptionRow, ModelPicker, ModelTagChip, MultiSelect, OutputTokenNode, PROMPT_EDITOR_RICH_TRANSFORMERS, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelTabs, PanelTabsContent, PanelTabsList, PanelTabsStrip, PanelTabsTrigger, PickerPopup, PickerSearchInput, PickerTrigger, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, Progress, PromptEditor, PromptSuggestions, PromptValueControl, QuickFormField, RadioGroup, RadioGroupItem, ReferenceChip, RequiredIndicator, ResizableHandle, ResizablePanel, ResizablePanelGroup, ResourceTokenNode, Row, RuleBuilder, RulesEngine, ScrollArea, ScrollBar, ScrollableTabsList, Search, SearchWithSuggestions, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SourceItem, Sources, SourcesList, Spinner, StateTokenNode, StatsCard, Stepper, StringListField, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThinkingIndicator, Toaster, Toggle, ToggleGroup, ToggleGroupItem, TokenPill, TokenPillWithTooltip, ToolCall, ToolCallContent, ToolCallError, ToolCallHeader, ToolCallInput, ToolCallOutput, ToolCallSection, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, TreeView, VALUE_MODE_OPAQUE, VARIABLE_DRAG_MIME, VARIABLE_PATH_REGEX, ValueModeIndicator, ValueModeSwitchDialog, VariablePicker, VariablePickerContent, VariableValueControl, VirtualOptionList, WORD_JOINER, analyticsPlugin, appendPathSegment, attachmentVariants, auditPlugin, autoSavePlugin, badgeVariants, bubbleVariants, buildJsonTree, builtInValueModes, buttonVariants, chatComposerErrorVariants, chatComposerVariants, chatHeroDescriptionVariants, chatHeroTitleVariants, chatHeroVariants, citationVariants, cn, collectContainerPaths, copyTextToClipboard, createAiAssistAction, createClearAction, createEditableColumn, createInputTokenNode, createInsertVariableAction, createOutputTokenNode, createResourceTokenNode, createStateTokenNode, createTokenNodeForOption, createVariableModeControl, defaultCostTier, defaultRowActions, deriveModelTags, envelopeCodec, filterModels, flattenJsonTree, formatContextWindow, formatFileSize, formatLeafValue, formatTemplate, formattingPlugin, getAllPromptTokenNodes, getEditorTokens, getPromptEditorTokenColors, getPromptEditorTokenTypeLabel, getReferenceChipColors, getSubstitutionTarget, getValueAtPath, groupModels, hasMinMaxStep, hasOptions, inferTokenTypeFromPath, inferValueType, inputGroupVariants, isArrayItemTemplateRoot, isCustomField, isEmptyModeValue, isFileField, isFileTypeAccepted, isJsonObject, isPathCollapsed, isPromptTokenNode, isTextGenerationModel, isValueModeEnvelope, keepFolderSearchOnEscape, literalValues, loadingDotsVariants, markerVariants, messageActionsVariants, normalizeRichTextTokens, normalizeVariablePath, optionDomId, promptSuggestionVariants, promptSuggestionsListVariants, removeValueAtPath, resolveHomeGeography, resolveLabels, resolveVariables, schemaDisplayType, setEditorTokens, setValueAtPath, sidebarMenuButtonVariants, spinnerVariants, thinkingIndicatorVariants, toast, toggleVariants, toolCallVariants, useChatComposer, useInputGroup, useJsonTreeViewStrings, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useModelPickerState, useSidebar, useWatch, validateFiles, validationPlugin, workflowPlugin };
package/dist/styles.css CHANGED
@@ -708,9 +708,6 @@
708
708
  .right-5 {
709
709
  right: calc(var(--spacing) * 5);
710
710
  }
711
- .right-6 {
712
- right: calc(var(--spacing) * 6);
713
- }
714
711
  .-bottom-1 {
715
712
  bottom: calc(var(--spacing) * -1);
716
713
  }
@@ -720,9 +717,6 @@
720
717
  .bottom-3 {
721
718
  bottom: calc(var(--spacing) * 3);
722
719
  }
723
- .bottom-6 {
724
- bottom: calc(var(--spacing) * 6);
725
- }
726
720
  .bottom-auto {
727
721
  bottom: auto;
728
722
  }
@@ -5019,12 +5013,6 @@
5019
5013
  .text-muted-foreground {
5020
5014
  color: var(--muted-foreground);
5021
5015
  }
5022
- .text-muted-foreground\/50 {
5023
- color: var(--muted-foreground);
5024
- @supports (color: color-mix(in lab, red, red)) {
5025
- color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
5026
- }
5027
- }
5028
5016
  .text-orange-500 {
5029
5017
  color: var(--color-orange-500);
5030
5018
  }
@@ -5525,6 +5513,11 @@
5525
5513
  display: block;
5526
5514
  }
5527
5515
  }
5516
+ .group-focus-within\:opacity-100 {
5517
+ &:is(:where(.group):focus-within *) {
5518
+ opacity: 100%;
5519
+ }
5520
+ }
5528
5521
  .group-focus-within\/menu-item\:opacity-100 {
5529
5522
  &:is(:where(.group\/menu-item):focus-within *) {
5530
5523
  opacity: 100%;
@@ -7791,6 +7784,12 @@
7791
7784
  color: var(--muted-foreground);
7792
7785
  }
7793
7786
  }
7787
+ .aria-\[current\]\:font-semibold {
7788
+ &[aria-current] {
7789
+ --tw-font-weight: var(--font-weight-semibold);
7790
+ font-weight: var(--font-weight-semibold);
7791
+ }
7792
+ }
7794
7793
  .aria-\[orientation\=horizontal\]\:h-px {
7795
7794
  &[aria-orientation="horizontal"] {
7796
7795
  height: 1px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-wind",
3
- "version": "2.75.0",
3
+ "version": "2.76.0",
4
4
  "description": "UiPath wind design system - A Tailwind CSS based React component library",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",