@uipath/apollo-wind 2.63.0 → 2.65.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 (71) hide show
  1. package/dist/components/forms/aria-ids.cjs +38 -0
  2. package/dist/components/forms/aria-ids.d.ts +2 -0
  3. package/dist/components/forms/aria-ids.js +4 -0
  4. package/dist/components/forms/demo-mocks.cjs +0 -448
  5. package/dist/components/forms/demo-mocks.js +0 -448
  6. package/dist/components/forms/field-control.cjs +21 -17
  7. package/dist/components/forms/field-control.d.ts +3 -1
  8. package/dist/components/forms/field-control.js +21 -17
  9. package/dist/components/forms/field-renderer.cjs +65 -37
  10. package/dist/components/forms/field-renderer.js +66 -38
  11. package/dist/components/forms/form-designer.cjs +204 -3
  12. package/dist/components/forms/form-designer.js +204 -3
  13. package/dist/components/forms/form-examples.cjs +3 -190
  14. package/dist/components/forms/form-examples.d.ts +0 -10
  15. package/dist/components/forms/form-examples.js +3 -184
  16. package/dist/components/forms/form-schema.d.ts +6 -0
  17. package/dist/components/forms/metadata-form.cjs +9 -1
  18. package/dist/components/forms/metadata-form.d.ts +8 -1
  19. package/dist/components/forms/metadata-form.js +9 -1
  20. package/dist/components/forms/mode-aware-field.cjs +11 -6
  21. package/dist/components/forms/mode-aware-field.d.ts +2 -0
  22. package/dist/components/forms/mode-aware-field.js +11 -6
  23. package/dist/components/forms/string-list-field.cjs +5 -4
  24. package/dist/components/forms/string-list-field.d.ts +4 -2
  25. package/dist/components/forms/string-list-field.js +5 -4
  26. package/dist/components/ui/index.cjs +77 -66
  27. package/dist/components/ui/index.d.ts +1 -0
  28. package/dist/components/ui/index.js +1 -0
  29. package/dist/components/ui/json-tree-view/JsonTree.types.d.ts +13 -0
  30. package/dist/components/ui/json-tree-view/JsonTreeRow.cjs +2 -1
  31. package/dist/components/ui/json-tree-view/JsonTreeRow.js +2 -1
  32. package/dist/components/ui/json-tree-view/JsonTypeBadge.cjs +43 -6
  33. package/dist/components/ui/json-tree-view/JsonTypeBadge.d.ts +6 -3
  34. package/dist/components/ui/json-tree-view/JsonTypeBadge.js +44 -7
  35. package/dist/components/ui/json-tree-view/index.d.ts +1 -1
  36. package/dist/components/ui/json-tree-view/strings.cjs +1 -0
  37. package/dist/components/ui/json-tree-view/strings.d.ts +10 -2
  38. package/dist/components/ui/json-tree-view/strings.js +1 -0
  39. package/dist/components/ui/prompt-value-control.cjs +3 -1
  40. package/dist/components/ui/prompt-value-control.d.ts +5 -0
  41. package/dist/components/ui/prompt-value-control.js +3 -1
  42. package/dist/components/ui/sidebar/index.cjs +113 -0
  43. package/dist/components/ui/sidebar/index.d.ts +10 -0
  44. package/dist/components/ui/sidebar/index.js +7 -0
  45. package/dist/components/ui/sidebar/sidebar-context.cjs +151 -0
  46. package/dist/components/ui/sidebar/sidebar-context.d.ts +39 -0
  47. package/dist/components/ui/sidebar/sidebar-context.js +108 -0
  48. package/dist/components/ui/sidebar/sidebar-group.cjs +87 -0
  49. package/dist/components/ui/sidebar/sidebar-group.d.ts +10 -0
  50. package/dist/components/ui/sidebar/sidebar-group.js +44 -0
  51. package/dist/components/ui/sidebar/sidebar-layout.cjs +92 -0
  52. package/dist/components/ui/sidebar/sidebar-layout.d.ts +7 -0
  53. package/dist/components/ui/sidebar/sidebar-layout.js +46 -0
  54. package/dist/components/ui/sidebar/sidebar-menu-sub.cjs +79 -0
  55. package/dist/components/ui/sidebar/sidebar-menu-sub.d.ts +11 -0
  56. package/dist/components/ui/sidebar/sidebar-menu-sub.js +39 -0
  57. package/dist/components/ui/sidebar/sidebar-menu.cjs +185 -0
  58. package/dist/components/ui/sidebar/sidebar-menu.d.ts +26 -0
  59. package/dist/components/ui/sidebar/sidebar-menu.js +133 -0
  60. package/dist/components/ui/sidebar/sidebar.cjs +220 -0
  61. package/dist/components/ui/sidebar/sidebar.d.ts +22 -0
  62. package/dist/components/ui/sidebar/sidebar.js +177 -0
  63. package/dist/components/ui/variable-value-control.cjs +3 -1
  64. package/dist/components/ui/variable-value-control.d.ts +5 -0
  65. package/dist/components/ui/variable-value-control.js +3 -1
  66. package/dist/index.cjs +94 -18
  67. package/dist/index.d.ts +3 -1
  68. package/dist/index.js +2 -1
  69. package/dist/styles.css +647 -0
  70. package/package.json +1 -1
  71. package/dist/templates/Forms/form-builder-example.d.ts +0 -1
@@ -10,6 +10,7 @@ import { Input } from "../ui/input.js";
10
10
  import { InputGroup, InputGroupAddon } from "../ui/input-group.js";
11
11
  import { PromptValueControl } from "../ui/prompt-value-control.js";
12
12
  import { VariableValueControl } from "../ui/variable-value-control.js";
13
+ import { joinIds } from "./aria-ids.js";
13
14
  import { DEFAULT_FIELD_ACTION_REGISTRY, resolveFieldActions, resolveVariables } from "./field-actions.js";
14
15
  import { FIELD_CONTROL_GEOMETRY, FieldControl } from "./field-control.js";
15
16
  import { DEFAULT_METADATA_FORM_STRINGS } from "./form-strings.js";
@@ -67,7 +68,7 @@ const TEXT_GEOMETRY = {
67
68
  labelTarget: 'control',
68
69
  insertable: true
69
70
  };
70
- function FieldAnatomy({ field, context, customComponents, disabled, required, options, formField, error }) {
71
+ function FieldAnatomy({ field, context, customComponents, disabled, required, options, formField, error, describedBy }) {
71
72
  const form = useFormContext();
72
73
  const registry = context.valueModes ?? DEFAULT_VALUE_MODE_REGISTRY;
73
74
  const actionRegistry = context.fieldActions ?? DEFAULT_FIELD_ACTION_REGISTRY;
@@ -76,6 +77,7 @@ function FieldAnatomy({ field, context, customComponents, disabled, required, op
76
77
  const { name } = field;
77
78
  const errorId = `${name}-error`;
78
79
  const labelId = `${name}-label`;
80
+ const controlDescribedBy = joinIds(error && errorId, describedBy);
79
81
  const formVariables = context.variables;
80
82
  const variables = useCallback(()=>resolveVariables(formVariables, field), [
81
83
  formVariables,
@@ -235,6 +237,7 @@ function FieldAnatomy({ field, context, customComponents, disabled, required, op
235
237
  required,
236
238
  error,
237
239
  errorId,
240
+ describedBy,
238
241
  valueModeProps: ()=>({
239
242
  value: inner,
240
243
  onChange: (next)=>writeInner(next),
@@ -258,7 +261,7 @@ function FieldAnatomy({ field, context, customComponents, disabled, required, op
258
261
  controlProps: {
259
262
  'data-slot': 'input-group-control',
260
263
  'aria-invalid': error ? true : void 0,
261
- 'aria-describedby': error ? errorId : void 0,
264
+ 'aria-describedby': controlDescribedBy,
262
265
  'aria-errormessage': error ? errorId : void 0
263
266
  }
264
267
  })
@@ -492,7 +495,7 @@ function resolveControl(input) {
492
495
  source: 'fallback'
493
496
  };
494
497
  }
495
- function FallbackControl({ field, binding, disabled, error, errorId }) {
498
+ function FallbackControl({ field, binding, disabled, error, errorId, describedBy }) {
496
499
  const { value } = binding;
497
500
  return /*#__PURE__*/ jsx(Input, {
498
501
  id: field.name,
@@ -504,7 +507,7 @@ function FallbackControl({ field, binding, disabled, error, errorId }) {
504
507
  placeholder: field.placeholder,
505
508
  disabled: disabled,
506
509
  "aria-invalid": error ? true : void 0,
507
- "aria-describedby": error ? errorId : void 0,
510
+ "aria-describedby": joinIds(error && errorId, describedBy),
508
511
  "aria-errormessage": error ? errorId : void 0
509
512
  });
510
513
  }
@@ -533,7 +536,8 @@ function builtInLiteral(input) {
533
536
  required: required,
534
537
  error: error,
535
538
  controlRef: input.controlRef,
536
- labelId: input.labelId
539
+ labelId: input.labelId,
540
+ "aria-describedby": joinIds(field.componentProps?.['aria-describedby'], input.describedBy)
537
541
  }),
538
542
  geometry: registrationGeometry(registration),
539
543
  source: 'custom'
@@ -546,7 +550,8 @@ function builtInLiteral(input) {
546
550
  options: options,
547
551
  disabled: disabled,
548
552
  invalid: !!error,
549
- strings: strings.boolean
553
+ strings: strings.boolean,
554
+ describedBy: input.describedBy
550
555
  }),
551
556
  geometry: FIELD_CONTROL_GEOMETRY[field.type] ?? unfittedGeometry(field),
552
557
  source: 'field-type'
@@ -37,7 +37,7 @@ const textarea_cjs_namespaceObject = require("../ui/textarea.cjs");
37
37
  function formatTemplate(template, values) {
38
38
  return template.replace(/\{\{(\w+)\}\}/g, (match, token)=>token in values ? String(values[token]) : match);
39
39
  }
40
- function StringListField({ field, value, onChange, onBlur, error, disabled = false, required = false, inputRef }) {
40
+ function StringListField({ field, value, onChange, onBlur, error, disabled = false, required = false, inputRef, ariaDescribedBy = error ? `${field.name}-error` : void 0 }) {
41
41
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(form_field_cjs_namespaceObject.FormField, {
42
42
  "data-slot": "string-list-field",
43
43
  children: [
@@ -54,7 +54,8 @@ function StringListField({ field, value, onChange, onBlur, error, disabled = fal
54
54
  onBlur: onBlur,
55
55
  invalid: !!error,
56
56
  disabled: disabled,
57
- inputRef: inputRef
57
+ inputRef: inputRef,
58
+ ariaDescribedBy: ariaDescribedBy
58
59
  }),
59
60
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(form_field_cjs_namespaceObject.FormFieldDescription, {
60
61
  children: field.description
@@ -66,7 +67,7 @@ function StringListField({ field, value, onChange, onBlur, error, disabled = fal
66
67
  ]
67
68
  });
68
69
  }
69
- function StringListControl({ field, value, onChange, onBlur, invalid = false, disabled = false, inputRef }) {
70
+ function StringListControl({ field, value, onChange, onBlur, invalid = false, disabled = false, inputRef, ariaDescribedBy = invalid ? `${field.name}-error` : void 0 }) {
70
71
  const items = value ?? [];
71
72
  const maxItems = field.maxItems ?? 1 / 0;
72
73
  const canAdd = !disabled && items.length < maxItems;
@@ -126,7 +127,7 @@ function StringListControl({ field, value, onChange, onBlur, invalid = false, di
126
127
  disabled: disabled,
127
128
  "aria-label": `${field.label} ${index + 1}`,
128
129
  "aria-invalid": invalid || void 0,
129
- "aria-describedby": invalid ? `${field.name}-error` : void 0,
130
+ "aria-describedby": ariaDescribedBy,
130
131
  "aria-errormessage": invalid ? `${field.name}-error` : void 0,
131
132
  className: "flex-1"
132
133
  }),
@@ -18,6 +18,8 @@ export interface StringListFieldProps {
18
18
  * indication of where it is.
19
19
  */
20
20
  inputRef?: React.Ref<HTMLTextAreaElement>;
21
+ /** Every row's aria-describedby. Defaults to the error message's id while there is an error. */
22
+ ariaDescribedBy?: string;
21
23
  }
22
24
  /**
23
25
  * Repeated multiline rows with Add / Remove — the `string-list` field type.
@@ -26,10 +28,10 @@ export interface StringListFieldProps {
26
28
  * the info trigger is a Radix tooltip, which throws without one. Inside `MetadataForm` this
27
29
  * is handled for you — it mounts a provider for schemas that use tooltip metadata.
28
30
  */
29
- export declare function StringListField({ field, value, onChange, onBlur, error, disabled, required, inputRef, }: StringListFieldProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function StringListField({ field, value, onChange, onBlur, error, disabled, required, inputRef, ariaDescribedBy, }: StringListFieldProps): import("react/jsx-runtime").JSX.Element;
30
32
  export interface StringListControlProps extends Omit<StringListFieldProps, 'error' | 'required'> {
31
33
  /** Marks every row invalid and points it at the `${field.name}-error` message. */
32
34
  invalid?: boolean;
33
35
  }
34
36
  /** The rows and Add button of a string list, without its label, description or error. */
35
- export declare function StringListControl({ field, value, onChange, onBlur, invalid, disabled, inputRef, }: StringListControlProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function StringListControl({ field, value, onChange, onBlur, invalid, disabled, inputRef, ariaDescribedBy, }: StringListControlProps): import("react/jsx-runtime").JSX.Element;
@@ -7,7 +7,7 @@ import { Textarea } from "../ui/textarea.js";
7
7
  function formatTemplate(template, values) {
8
8
  return template.replace(/\{\{(\w+)\}\}/g, (match, token)=>token in values ? String(values[token]) : match);
9
9
  }
10
- function StringListField({ field, value, onChange, onBlur, error, disabled = false, required = false, inputRef }) {
10
+ function StringListField({ field, value, onChange, onBlur, error, disabled = false, required = false, inputRef, ariaDescribedBy = error ? `${field.name}-error` : void 0 }) {
11
11
  return /*#__PURE__*/ jsxs(FormField, {
12
12
  "data-slot": "string-list-field",
13
13
  children: [
@@ -24,7 +24,8 @@ function StringListField({ field, value, onChange, onBlur, error, disabled = fal
24
24
  onBlur: onBlur,
25
25
  invalid: !!error,
26
26
  disabled: disabled,
27
- inputRef: inputRef
27
+ inputRef: inputRef,
28
+ ariaDescribedBy: ariaDescribedBy
28
29
  }),
29
30
  /*#__PURE__*/ jsx(FormFieldDescription, {
30
31
  children: field.description
@@ -36,7 +37,7 @@ function StringListField({ field, value, onChange, onBlur, error, disabled = fal
36
37
  ]
37
38
  });
38
39
  }
39
- function StringListControl({ field, value, onChange, onBlur, invalid = false, disabled = false, inputRef }) {
40
+ function StringListControl({ field, value, onChange, onBlur, invalid = false, disabled = false, inputRef, ariaDescribedBy = invalid ? `${field.name}-error` : void 0 }) {
40
41
  const items = value ?? [];
41
42
  const maxItems = field.maxItems ?? 1 / 0;
42
43
  const canAdd = !disabled && items.length < maxItems;
@@ -96,7 +97,7 @@ function StringListControl({ field, value, onChange, onBlur, invalid = false, di
96
97
  disabled: disabled,
97
98
  "aria-label": `${field.label} ${index + 1}`,
98
99
  "aria-invalid": invalid || void 0,
99
- "aria-describedby": invalid ? `${field.name}-error` : void 0,
100
+ "aria-describedby": ariaDescribedBy,
100
101
  "aria-errormessage": invalid ? `${field.name}-error` : void 0,
101
102
  className: "flex-1"
102
103
  }),
@@ -39,7 +39,7 @@ var __webpack_modules__ = {
39
39
  "./chart" (module) {
40
40
  module.exports = require("./chart.cjs");
41
41
  },
42
- "@/components/ui/checkbox" (module) {
42
+ "./checkbox" (module) {
43
43
  module.exports = require("./checkbox.cjs");
44
44
  },
45
45
  "./collapsible" (module) {
@@ -51,7 +51,7 @@ var __webpack_modules__ = {
51
51
  "@/components/ui/command" (module) {
52
52
  module.exports = require("./command.cjs");
53
53
  },
54
- "./context-menu" (module) {
54
+ "@/components/ui/context-menu" (module) {
55
55
  module.exports = require("./context-menu.cjs");
56
56
  },
57
57
  "./data-table" (module) {
@@ -63,13 +63,13 @@ var __webpack_modules__ = {
63
63
  "./datetime-picker" (module) {
64
64
  module.exports = require("./datetime-picker.cjs");
65
65
  },
66
- "./dialog" (module) {
66
+ "@/components/ui/dialog" (module) {
67
67
  module.exports = require("./dialog.cjs");
68
68
  },
69
69
  "./drawer" (module) {
70
70
  module.exports = require("./drawer.cjs");
71
71
  },
72
- "./dropdown-menu" (module) {
72
+ "@/components/ui/dropdown-menu" (module) {
73
73
  module.exports = require("./dropdown-menu.cjs");
74
74
  },
75
75
  "./editable-cell" (module) {
@@ -105,7 +105,7 @@ var __webpack_modules__ = {
105
105
  "./json-tree-view" (module) {
106
106
  module.exports = require("./json-tree-view/index.cjs");
107
107
  },
108
- "@/components/ui/label" (module) {
108
+ "./label" (module) {
109
109
  module.exports = require("./label.cjs");
110
110
  },
111
111
  "./layout" (module) {
@@ -162,6 +162,9 @@ var __webpack_modules__ = {
162
162
  "./sheet" (module) {
163
163
  module.exports = require("./sheet.cjs");
164
164
  },
165
+ "./sidebar" (module) {
166
+ module.exports = require("./sidebar/index.cjs");
167
+ },
165
168
  "./skeleton" (module) {
166
169
  module.exports = require("./skeleton.cjs");
167
170
  },
@@ -183,19 +186,19 @@ var __webpack_modules__ = {
183
186
  "./switch" (module) {
184
187
  module.exports = require("./switch.cjs");
185
188
  },
186
- "./table" (module) {
189
+ "@/components/ui/table" (module) {
187
190
  module.exports = require("./table.cjs");
188
191
  },
189
192
  "./tabs" (module) {
190
193
  module.exports = require("./tabs.cjs");
191
194
  },
192
- "./textarea" (module) {
195
+ "@/components/ui/textarea" (module) {
193
196
  module.exports = require("./textarea.cjs");
194
197
  },
195
198
  "./toggle-group" (module) {
196
199
  module.exports = require("./toggle-group.cjs");
197
200
  },
198
- "./toggle" (module) {
201
+ "@/components/ui/toggle" (module) {
199
202
  module.exports = require("./toggle.cjs");
200
203
  },
201
204
  "./tooltip" (module) {
@@ -204,7 +207,7 @@ var __webpack_modules__ = {
204
207
  "./tree-view" (module) {
205
208
  module.exports = require("./tree-view.cjs");
206
209
  },
207
- "./variable-picker" (module) {
210
+ "@/components/ui/variable-picker" (module) {
208
211
  module.exports = require("./variable-picker/index.cjs");
209
212
  },
210
213
  "./variable-value-control" (module) {
@@ -255,8 +258,8 @@ var __webpack_exports__ = {};
255
258
  (()=>{
256
259
  __webpack_require__.r(__webpack_exports__);
257
260
  __webpack_require__.d(__webpack_exports__, {
258
- FileTreeView: ()=>_tree_view__rspack_import_67_default.a,
259
- TreeView: ()=>_tree_view__rspack_import_67.TreeView
261
+ FileTreeView: ()=>_tree_view__rspack_import_68_default.a,
262
+ TreeView: ()=>_tree_view__rspack_import_68.TreeView
260
263
  });
261
264
  var _accordion__rspack_import_0 = __webpack_require__("./accordion");
262
265
  var __rspack_reexport = {};
@@ -362,7 +365,7 @@ var __webpack_exports__ = {};
362
365
  "TreeView"
363
366
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_chart__rspack_import_12[__rspack_import_key];
364
367
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
365
- var _checkbox__rspack_import_13 = __webpack_require__("@/components/ui/checkbox");
368
+ var _checkbox__rspack_import_13 = __webpack_require__("./checkbox");
366
369
  var __rspack_reexport = {};
367
370
  for(const __rspack_import_key in _checkbox__rspack_import_13)if ([
368
371
  "default",
@@ -394,7 +397,7 @@ var __webpack_exports__ = {};
394
397
  "TreeView"
395
398
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_command__rspack_import_16[__rspack_import_key];
396
399
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
397
- var _context_menu__rspack_import_17 = __webpack_require__("./context-menu");
400
+ var _context_menu__rspack_import_17 = __webpack_require__("@/components/ui/context-menu");
398
401
  var __rspack_reexport = {};
399
402
  for(const __rspack_import_key in _context_menu__rspack_import_17)if ([
400
403
  "default",
@@ -426,7 +429,7 @@ var __webpack_exports__ = {};
426
429
  "TreeView"
427
430
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_datetime_picker__rspack_import_20[__rspack_import_key];
428
431
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
429
- var _dialog__rspack_import_21 = __webpack_require__("./dialog");
432
+ var _dialog__rspack_import_21 = __webpack_require__("@/components/ui/dialog");
430
433
  var __rspack_reexport = {};
431
434
  for(const __rspack_import_key in _dialog__rspack_import_21)if ([
432
435
  "default",
@@ -442,7 +445,7 @@ var __webpack_exports__ = {};
442
445
  "TreeView"
443
446
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_drawer__rspack_import_22[__rspack_import_key];
444
447
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
445
- var _dropdown_menu__rspack_import_23 = __webpack_require__("./dropdown-menu");
448
+ var _dropdown_menu__rspack_import_23 = __webpack_require__("@/components/ui/dropdown-menu");
446
449
  var __rspack_reexport = {};
447
450
  for(const __rspack_import_key in _dropdown_menu__rspack_import_23)if ([
448
451
  "default",
@@ -538,7 +541,7 @@ var __webpack_exports__ = {};
538
541
  "TreeView"
539
542
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_input_group__rspack_import_34[__rspack_import_key];
540
543
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
541
- var _label__rspack_import_35 = __webpack_require__("@/components/ui/label");
544
+ var _label__rspack_import_35 = __webpack_require__("./label");
542
545
  var __rspack_reexport = {};
543
546
  for(const __rspack_import_key in _label__rspack_import_35)if ([
544
547
  "default",
@@ -682,135 +685,143 @@ var __webpack_exports__ = {};
682
685
  "TreeView"
683
686
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_separator__rspack_import_52[__rspack_import_key];
684
687
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
685
- var _sheet__rspack_import_53 = __webpack_require__("./sheet");
688
+ var _sidebar__rspack_import_53 = __webpack_require__("./sidebar");
689
+ var __rspack_reexport = {};
690
+ for(const __rspack_import_key in _sidebar__rspack_import_53)if ([
691
+ "default",
692
+ "FileTreeView",
693
+ "TreeView"
694
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_sidebar__rspack_import_53[__rspack_import_key];
695
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
696
+ var _sheet__rspack_import_54 = __webpack_require__("./sheet");
686
697
  var __rspack_reexport = {};
687
- for(const __rspack_import_key in _sheet__rspack_import_53)if ([
698
+ for(const __rspack_import_key in _sheet__rspack_import_54)if ([
688
699
  "default",
689
700
  "FileTreeView",
690
701
  "TreeView"
691
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_sheet__rspack_import_53[__rspack_import_key];
702
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_sheet__rspack_import_54[__rspack_import_key];
692
703
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
693
- var _skeleton__rspack_import_54 = __webpack_require__("./skeleton");
704
+ var _skeleton__rspack_import_55 = __webpack_require__("./skeleton");
694
705
  var __rspack_reexport = {};
695
- for(const __rspack_import_key in _skeleton__rspack_import_54)if ([
706
+ for(const __rspack_import_key in _skeleton__rspack_import_55)if ([
696
707
  "default",
697
708
  "FileTreeView",
698
709
  "TreeView"
699
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_skeleton__rspack_import_54[__rspack_import_key];
710
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_skeleton__rspack_import_55[__rspack_import_key];
700
711
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
701
- var _slider__rspack_import_55 = __webpack_require__("./slider");
712
+ var _slider__rspack_import_56 = __webpack_require__("./slider");
702
713
  var __rspack_reexport = {};
703
- for(const __rspack_import_key in _slider__rspack_import_55)if ([
714
+ for(const __rspack_import_key in _slider__rspack_import_56)if ([
704
715
  "default",
705
716
  "FileTreeView",
706
717
  "TreeView"
707
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_slider__rspack_import_55[__rspack_import_key];
718
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_slider__rspack_import_56[__rspack_import_key];
708
719
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
709
- var _sonner__rspack_import_56 = __webpack_require__("./sonner");
720
+ var _sonner__rspack_import_57 = __webpack_require__("./sonner");
710
721
  var __rspack_reexport = {};
711
- for(const __rspack_import_key in _sonner__rspack_import_56)if ([
722
+ for(const __rspack_import_key in _sonner__rspack_import_57)if ([
712
723
  "default",
713
724
  "FileTreeView",
714
725
  "TreeView"
715
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_sonner__rspack_import_56[__rspack_import_key];
726
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_sonner__rspack_import_57[__rspack_import_key];
716
727
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
717
- var _spinner__rspack_import_57 = __webpack_require__("./spinner");
728
+ var _spinner__rspack_import_58 = __webpack_require__("./spinner");
718
729
  var __rspack_reexport = {};
719
- for(const __rspack_import_key in _spinner__rspack_import_57)if ([
730
+ for(const __rspack_import_key in _spinner__rspack_import_58)if ([
720
731
  "default",
721
732
  "FileTreeView",
722
733
  "TreeView"
723
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_spinner__rspack_import_57[__rspack_import_key];
734
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_spinner__rspack_import_58[__rspack_import_key];
724
735
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
725
- var _stats_card__rspack_import_58 = __webpack_require__("./stats-card");
736
+ var _stats_card__rspack_import_59 = __webpack_require__("./stats-card");
726
737
  var __rspack_reexport = {};
727
- for(const __rspack_import_key in _stats_card__rspack_import_58)if ([
738
+ for(const __rspack_import_key in _stats_card__rspack_import_59)if ([
728
739
  "default",
729
740
  "FileTreeView",
730
741
  "TreeView"
731
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_stats_card__rspack_import_58[__rspack_import_key];
742
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_stats_card__rspack_import_59[__rspack_import_key];
732
743
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
733
- var _stepper__rspack_import_59 = __webpack_require__("./stepper");
744
+ var _stepper__rspack_import_60 = __webpack_require__("./stepper");
734
745
  var __rspack_reexport = {};
735
- for(const __rspack_import_key in _stepper__rspack_import_59)if ([
746
+ for(const __rspack_import_key in _stepper__rspack_import_60)if ([
736
747
  "default",
737
748
  "FileTreeView",
738
749
  "TreeView"
739
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_stepper__rspack_import_59[__rspack_import_key];
750
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_stepper__rspack_import_60[__rspack_import_key];
740
751
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
741
- var _switch__rspack_import_60 = __webpack_require__("./switch");
752
+ var _switch__rspack_import_61 = __webpack_require__("./switch");
742
753
  var __rspack_reexport = {};
743
- for(const __rspack_import_key in _switch__rspack_import_60)if ([
754
+ for(const __rspack_import_key in _switch__rspack_import_61)if ([
744
755
  "default",
745
756
  "FileTreeView",
746
757
  "TreeView"
747
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_switch__rspack_import_60[__rspack_import_key];
758
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_switch__rspack_import_61[__rspack_import_key];
748
759
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
749
- var _table__rspack_import_61 = __webpack_require__("./table");
760
+ var _table__rspack_import_62 = __webpack_require__("@/components/ui/table");
750
761
  var __rspack_reexport = {};
751
- for(const __rspack_import_key in _table__rspack_import_61)if ([
762
+ for(const __rspack_import_key in _table__rspack_import_62)if ([
752
763
  "default",
753
764
  "FileTreeView",
754
765
  "TreeView"
755
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_table__rspack_import_61[__rspack_import_key];
766
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_table__rspack_import_62[__rspack_import_key];
756
767
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
757
- var _tabs__rspack_import_62 = __webpack_require__("./tabs");
768
+ var _tabs__rspack_import_63 = __webpack_require__("./tabs");
758
769
  var __rspack_reexport = {};
759
- for(const __rspack_import_key in _tabs__rspack_import_62)if ([
770
+ for(const __rspack_import_key in _tabs__rspack_import_63)if ([
760
771
  "default",
761
772
  "FileTreeView",
762
773
  "TreeView"
763
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tabs__rspack_import_62[__rspack_import_key];
774
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tabs__rspack_import_63[__rspack_import_key];
764
775
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
765
- var _textarea__rspack_import_63 = __webpack_require__("./textarea");
776
+ var _textarea__rspack_import_64 = __webpack_require__("@/components/ui/textarea");
766
777
  var __rspack_reexport = {};
767
- for(const __rspack_import_key in _textarea__rspack_import_63)if ([
778
+ for(const __rspack_import_key in _textarea__rspack_import_64)if ([
768
779
  "default",
769
780
  "FileTreeView",
770
781
  "TreeView"
771
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_textarea__rspack_import_63[__rspack_import_key];
782
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_textarea__rspack_import_64[__rspack_import_key];
772
783
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
773
- var _toggle__rspack_import_64 = __webpack_require__("./toggle");
784
+ var _toggle__rspack_import_65 = __webpack_require__("@/components/ui/toggle");
774
785
  var __rspack_reexport = {};
775
- for(const __rspack_import_key in _toggle__rspack_import_64)if ([
786
+ for(const __rspack_import_key in _toggle__rspack_import_65)if ([
776
787
  "default",
777
788
  "FileTreeView",
778
789
  "TreeView"
779
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle__rspack_import_64[__rspack_import_key];
790
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle__rspack_import_65[__rspack_import_key];
780
791
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
781
- var _toggle_group__rspack_import_65 = __webpack_require__("./toggle-group");
792
+ var _toggle_group__rspack_import_66 = __webpack_require__("./toggle-group");
782
793
  var __rspack_reexport = {};
783
- for(const __rspack_import_key in _toggle_group__rspack_import_65)if ([
794
+ for(const __rspack_import_key in _toggle_group__rspack_import_66)if ([
784
795
  "default",
785
796
  "FileTreeView",
786
797
  "TreeView"
787
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle_group__rspack_import_65[__rspack_import_key];
798
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle_group__rspack_import_66[__rspack_import_key];
788
799
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
789
- var _tooltip__rspack_import_66 = __webpack_require__("./tooltip");
800
+ var _tooltip__rspack_import_67 = __webpack_require__("./tooltip");
790
801
  var __rspack_reexport = {};
791
- for(const __rspack_import_key in _tooltip__rspack_import_66)if ([
802
+ for(const __rspack_import_key in _tooltip__rspack_import_67)if ([
792
803
  "default",
793
804
  "FileTreeView",
794
805
  "TreeView"
795
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tooltip__rspack_import_66[__rspack_import_key];
806
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tooltip__rspack_import_67[__rspack_import_key];
796
807
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
797
- var _tree_view__rspack_import_67 = __webpack_require__("./tree-view");
798
- var _tree_view__rspack_import_67_default = /*#__PURE__*/ __webpack_require__.n(_tree_view__rspack_import_67);
799
- var _variable_picker__rspack_import_68 = __webpack_require__("./variable-picker");
808
+ var _tree_view__rspack_import_68 = __webpack_require__("./tree-view");
809
+ var _tree_view__rspack_import_68_default = /*#__PURE__*/ __webpack_require__.n(_tree_view__rspack_import_68);
810
+ var _variable_picker__rspack_import_69 = __webpack_require__("@/components/ui/variable-picker");
800
811
  var __rspack_reexport = {};
801
- for(const __rspack_import_key in _variable_picker__rspack_import_68)if ([
812
+ for(const __rspack_import_key in _variable_picker__rspack_import_69)if ([
802
813
  "default",
803
814
  "FileTreeView",
804
815
  "TreeView"
805
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_picker__rspack_import_68[__rspack_import_key];
816
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_picker__rspack_import_69[__rspack_import_key];
806
817
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
807
- var _variable_value_control__rspack_import_69 = __webpack_require__("./variable-value-control");
818
+ var _variable_value_control__rspack_import_70 = __webpack_require__("./variable-value-control");
808
819
  var __rspack_reexport = {};
809
- for(const __rspack_import_key in _variable_value_control__rspack_import_69)if ([
820
+ for(const __rspack_import_key in _variable_value_control__rspack_import_70)if ([
810
821
  "default",
811
822
  "FileTreeView",
812
823
  "TreeView"
813
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_value_control__rspack_import_69[__rspack_import_key];
824
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_value_control__rspack_import_70[__rspack_import_key];
814
825
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
815
826
  })();
816
827
  exports.FileTreeView = __webpack_exports__.FileTreeView;
@@ -51,6 +51,7 @@ export * from './scroll-area';
51
51
  export * from './search';
52
52
  export * from './select';
53
53
  export * from './separator';
54
+ export * from './sidebar';
54
55
  export * from './sheet';
55
56
  export * from './skeleton';
56
57
  export * from './slider';
@@ -52,6 +52,7 @@ export * from "./scroll-area.js";
52
52
  export * from "./search.js";
53
53
  export * from "./select.js";
54
54
  export * from "./separator.js";
55
+ export * from "./sidebar/index.js";
55
56
  export * from "./sheet.js";
56
57
  export * from "./skeleton.js";
57
58
  export * from "./slider.js";
@@ -104,6 +104,19 @@ export interface NodeDecorationBadge {
104
104
  * neutral default, e.g. `'border-info/30 bg-info/10 text-info'`.
105
105
  */
106
106
  className?: string;
107
+ /**
108
+ * Marks the node as a reference to another variable. The badge gets a
109
+ * corner tab with an arrow, and its tooltip names the reference.
110
+ */
111
+ reference?: NodeBadgeReference;
112
+ }
113
+ /** A reference marker on a row's type badge. */
114
+ export interface NodeBadgeReference {
115
+ /**
116
+ * Where the value comes from, shown under the tooltip title
117
+ * (e.g. `'Live from Read customer · output.email'`).
118
+ */
119
+ source?: string;
107
120
  }
108
121
  /** Consumer-provided visual annotation for a tree node. */
109
122
  export interface NodeDecoration {
@@ -151,7 +151,8 @@ function JsonTreeRow({ node, depth }) {
151
151
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTypeBadge_cjs_namespaceObject.JsonTypeBadge, {
152
152
  type: node.type,
153
153
  icon: decoration?.badge?.icon ?? deriveTypeIcon?.(node),
154
- className: decoration?.badge?.className
154
+ className: decoration?.badge?.className,
155
+ reference: decoration?.badge?.reference
155
156
  }),
156
157
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeKey_cjs_namespaceObject.NodeKey, {
157
158
  node: node,
@@ -121,7 +121,8 @@ function JsonTreeRow({ node, depth }) {
121
121
  /*#__PURE__*/ jsx(JsonTypeBadge, {
122
122
  type: node.type,
123
123
  icon: decoration?.badge?.icon ?? deriveTypeIcon?.(node),
124
- className: decoration?.badge?.className
124
+ className: decoration?.badge?.className,
125
+ reference: decoration?.badge?.reference
125
126
  }),
126
127
  /*#__PURE__*/ jsx(NodeKey, {
127
128
  node: node,
@@ -27,9 +27,10 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  JsonTypeBadge: ()=>JsonTypeBadge
28
28
  });
29
29
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
- const index_cjs_namespaceObject = require("../../../lib/index.cjs");
31
30
  const external_lucide_react_namespaceObject = require("lucide-react");
31
+ const index_cjs_namespaceObject = require("../../../lib/index.cjs");
32
32
  const external_JsonTreeTooltip_cjs_namespaceObject = require("./JsonTreeTooltip.cjs");
33
+ const external_strings_cjs_namespaceObject = require("./strings.cjs");
33
34
  const TYPE_ICON = {
34
35
  string: external_lucide_react_namespaceObject.Type,
35
36
  number: external_lucide_react_namespaceObject.Hash,
@@ -46,18 +47,54 @@ const TYPE_LABEL = {
46
47
  array: 'Array',
47
48
  null: 'Null'
48
49
  };
49
- function JsonTypeBadge({ type, icon, className, tooltip }) {
50
+ function JsonTypeBadge({ type, icon, className, tooltip, reference }) {
51
+ const strings = (0, external_strings_cjs_namespaceObject.useJsonTreeViewStrings)();
50
52
  const DefaultIcon = TYPE_ICON[type];
51
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
53
+ const box = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
54
+ className: (0, index_cjs_namespaceObject.cn)('inline-flex h-4.5 min-w-4.5 shrink-0 items-center justify-center rounded border border-border bg-surface-overlay px-0.5 text-foreground-muted [&_svg]:size-2.75', className),
55
+ children: icon ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DefaultIcon, {})
56
+ });
57
+ if (!reference) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
52
58
  content: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
53
59
  className: "break-all font-mono text-xs font-semibold leading-4",
54
60
  children: tooltip ?? TYPE_LABEL[type]
55
61
  }),
56
62
  placement: "top",
57
63
  delay: true,
58
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
59
- className: (0, index_cjs_namespaceObject.cn)('inline-flex h-4.5 min-w-4.5 shrink-0 items-center justify-center rounded border border-border bg-surface-overlay px-0.5 text-foreground-muted [&_svg]:size-2.75', className),
60
- children: icon ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DefaultIcon, {})
64
+ children: box
65
+ });
66
+ const title = strings.referenceType(TYPE_LABEL[type]);
67
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeTooltip_cjs_namespaceObject.JsonTreeTooltip, {
68
+ content: tooltip ?? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
69
+ className: "flex flex-col gap-0.5 leading-4",
70
+ children: [
71
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
72
+ className: "text-xs font-semibold",
73
+ children: title
74
+ }),
75
+ reference.source && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
76
+ className: "break-all text-xs text-foreground-muted",
77
+ children: reference.source
78
+ })
79
+ ]
80
+ }),
81
+ placement: "top",
82
+ delay: true,
83
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
84
+ className: "relative inline-flex shrink-0 rounded outline-none focus-visible:ring-2 focus-visible:ring-ring",
85
+ role: "img",
86
+ tabIndex: 0,
87
+ "aria-label": reference.source ? `${title}, ${reference.source}` : title,
88
+ children: [
89
+ box,
90
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
91
+ className: "absolute -right-1 -bottom-1 grid size-3 place-items-center rounded-[3px] border border-border bg-surface-overlay text-foreground-muted",
92
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ArrowUpRight, {
93
+ className: "size-2.5",
94
+ strokeWidth: 3
95
+ })
96
+ })
97
+ ]
61
98
  })
62
99
  });
63
100
  }