@uipath/apollo-wind 2.78.0 → 2.79.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/components/ui/index.cjs +32 -32
  2. package/dist/components/ui/input.cjs +1 -1
  3. package/dist/components/ui/input.d.ts +2 -1
  4. package/dist/components/ui/input.js +1 -1
  5. package/dist/components/ui/json-tree-view/EditorChrome.cjs +5 -2
  6. package/dist/components/ui/json-tree-view/EditorChrome.js +5 -2
  7. package/dist/components/ui/json-tree-view/JsonLeafValueEditor.cjs +6 -3
  8. package/dist/components/ui/json-tree-view/JsonLeafValueEditor.js +6 -3
  9. package/dist/components/ui/json-tree-view/JsonTree.cjs +66 -38
  10. package/dist/components/ui/json-tree-view/JsonTree.d.ts +6 -1
  11. package/dist/components/ui/json-tree-view/JsonTree.js +66 -38
  12. package/dist/components/ui/json-tree-view/JsonTree.types.d.ts +6 -1
  13. package/dist/components/ui/json-tree-view/JsonTreeRow.cjs +116 -81
  14. package/dist/components/ui/json-tree-view/JsonTreeRow.d.ts +16 -8
  15. package/dist/components/ui/json-tree-view/JsonTreeRow.js +116 -81
  16. package/dist/components/ui/json-tree-view/NodeKey.cjs +2 -2
  17. package/dist/components/ui/json-tree-view/NodeKey.js +2 -2
  18. package/dist/components/ui/json-tree-view/RowActions.cjs +6 -6
  19. package/dist/components/ui/json-tree-view/RowActions.js +6 -6
  20. package/dist/components/ui/json-tree-view/buildJsonTree.cjs +20 -1
  21. package/dist/components/ui/json-tree-view/buildJsonTree.d.ts +4 -0
  22. package/dist/components/ui/json-tree-view/buildJsonTree.js +20 -1
  23. package/dist/components/ui/json-tree-view/strings.cjs +2 -0
  24. package/dist/components/ui/json-tree-view/strings.d.ts +12 -0
  25. package/dist/components/ui/json-tree-view/strings.js +2 -0
  26. package/dist/components/ui/json-tree-view/treeGrid.cjs +306 -0
  27. package/dist/components/ui/json-tree-view/treeGrid.d.ts +36 -0
  28. package/dist/components/ui/json-tree-view/treeGrid.js +269 -0
  29. package/dist/components/ui/tool-call.cjs +2 -2
  30. package/dist/components/ui/tool-call.js +2 -2
  31. package/dist/lib/clipboard.cjs +4 -0
  32. package/dist/lib/clipboard.js +4 -0
  33. package/dist/lib/use-ancestor-density.cjs +2 -2
  34. package/dist/lib/use-ancestor-density.js +2 -2
  35. package/dist/lib/use-isomorphic-layout-effect.cjs +37 -0
  36. package/dist/lib/use-isomorphic-layout-effect.d.ts +3 -0
  37. package/dist/lib/use-isomorphic-layout-effect.js +3 -0
  38. package/dist/styles.css +16 -13
  39. package/package.json +1 -1
@@ -33,13 +33,13 @@ var __webpack_modules__ = {
33
33
  "./button-group" (module) {
34
34
  module.exports = require("./button-group.cjs");
35
35
  },
36
- "@/components/ui/button" (module) {
36
+ "./button" (module) {
37
37
  module.exports = require("./button.cjs");
38
38
  },
39
- "@/components/ui/calendar" (module) {
39
+ "./calendar" (module) {
40
40
  module.exports = require("./calendar.cjs");
41
41
  },
42
- "./card" (module) {
42
+ "@/components/ui/card" (module) {
43
43
  module.exports = require("./card.cjs");
44
44
  },
45
45
  "./chart" (module) {
@@ -51,16 +51,16 @@ var __webpack_modules__ = {
51
51
  "./chat-hero" (module) {
52
52
  module.exports = require("./chat-hero.cjs");
53
53
  },
54
- "@/components/ui/checkbox" (module) {
54
+ "./checkbox" (module) {
55
55
  module.exports = require("./checkbox.cjs");
56
56
  },
57
57
  "./citation" (module) {
58
58
  module.exports = require("./citation.cjs");
59
59
  },
60
- "./code-block" (module) {
60
+ "@/components/ui/code-block" (module) {
61
61
  module.exports = require("./code-block.cjs");
62
62
  },
63
- "./collapsible" (module) {
63
+ "@/components/ui/collapsible" (module) {
64
64
  module.exports = require("./collapsible.cjs");
65
65
  },
66
66
  "./combobox" (module) {
@@ -81,7 +81,7 @@ var __webpack_modules__ = {
81
81
  "./datetime-picker" (module) {
82
82
  module.exports = require("./datetime-picker.cjs");
83
83
  },
84
- "./dialog" (module) {
84
+ "@/components/ui/dialog" (module) {
85
85
  module.exports = require("./dialog.cjs");
86
86
  },
87
87
  "./disclosure-tree" (module) {
@@ -90,13 +90,13 @@ var __webpack_modules__ = {
90
90
  "./drawer" (module) {
91
91
  module.exports = require("./drawer.cjs");
92
92
  },
93
- "./dropdown-menu" (module) {
93
+ "@/components/ui/dropdown-menu" (module) {
94
94
  module.exports = require("./dropdown-menu.cjs");
95
95
  },
96
96
  "./dropzone-overlay" (module) {
97
97
  module.exports = require("./dropzone-overlay.cjs");
98
98
  },
99
- "./editable-cell" (module) {
99
+ "@/components/ui/editable-cell" (module) {
100
100
  module.exports = require("./editable-cell.cjs");
101
101
  },
102
102
  "./empty-state" (module) {
@@ -120,13 +120,13 @@ var __webpack_modules__ = {
120
120
  "@/components/ui/hover-card" (module) {
121
121
  module.exports = require("./hover-card.cjs");
122
122
  },
123
- "./info-tooltip" (module) {
123
+ "@/components/ui/info-tooltip" (module) {
124
124
  module.exports = require("./info-tooltip.cjs");
125
125
  },
126
126
  "@/components/ui/input-group" (module) {
127
127
  module.exports = require("./input-group.cjs");
128
128
  },
129
- "@/components/ui/input" (module) {
129
+ "./input" (module) {
130
130
  module.exports = require("./input.cjs");
131
131
  },
132
132
  "./json-tree-view" (module) {
@@ -135,7 +135,7 @@ var __webpack_modules__ = {
135
135
  "@/components/ui/label" (module) {
136
136
  module.exports = require("./label.cjs");
137
137
  },
138
- "./layout" (module) {
138
+ "@/components/ui/layout" (module) {
139
139
  module.exports = require("./layout/index.cjs");
140
140
  },
141
141
  "./live-region" (module) {
@@ -174,7 +174,7 @@ var __webpack_modules__ = {
174
174
  "./panel-tabs" (module) {
175
175
  module.exports = require("./panel-tabs.cjs");
176
176
  },
177
- "@/components/ui/popover" (module) {
177
+ "./popover" (module) {
178
178
  module.exports = require("./popover.cjs");
179
179
  },
180
180
  "@/components/ui/portal-container" (module) {
@@ -201,7 +201,7 @@ var __webpack_modules__ = {
201
201
  "./reference-chip-colors" (module) {
202
202
  module.exports = require("./reference-chip-colors.cjs");
203
203
  },
204
- "./reference-chip" (module) {
204
+ "@/components/ui/reference-chip" (module) {
205
205
  module.exports = require("./reference-chip.cjs");
206
206
  },
207
207
  "./resizable" (module) {
@@ -255,7 +255,7 @@ var __webpack_modules__ = {
255
255
  "./tabs" (module) {
256
256
  module.exports = require("./tabs.cjs");
257
257
  },
258
- "./textarea" (module) {
258
+ "@/components/ui/textarea" (module) {
259
259
  module.exports = require("./textarea.cjs");
260
260
  },
261
261
  "./thinking-indicator" (module) {
@@ -276,7 +276,7 @@ var __webpack_modules__ = {
276
276
  "./tree-view" (module) {
277
277
  module.exports = require("./tree-view.cjs");
278
278
  },
279
- "./variable-picker" (module) {
279
+ "@/components/ui/variable-picker" (module) {
280
280
  module.exports = require("./variable-picker/index.cjs");
281
281
  },
282
282
  "./variable-value-control" (module) {
@@ -432,7 +432,7 @@ var __webpack_exports__ = {};
432
432
  "ReferenceChip"
433
433
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_bubble__rspack_import_9[__rspack_import_key];
434
434
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
435
- var _button__rspack_import_10 = __webpack_require__("@/components/ui/button");
435
+ var _button__rspack_import_10 = __webpack_require__("./button");
436
436
  var __rspack_reexport = {};
437
437
  for(const __rspack_import_key in _button__rspack_import_10)if ([
438
438
  "getReferenceChipColors",
@@ -452,7 +452,7 @@ var __webpack_exports__ = {};
452
452
  "ReferenceChip"
453
453
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_button_group__rspack_import_11[__rspack_import_key];
454
454
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
455
- var _calendar__rspack_import_12 = __webpack_require__("@/components/ui/calendar");
455
+ var _calendar__rspack_import_12 = __webpack_require__("./calendar");
456
456
  var __rspack_reexport = {};
457
457
  for(const __rspack_import_key in _calendar__rspack_import_12)if ([
458
458
  "getReferenceChipColors",
@@ -462,7 +462,7 @@ var __webpack_exports__ = {};
462
462
  "ReferenceChip"
463
463
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_calendar__rspack_import_12[__rspack_import_key];
464
464
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
465
- var _card__rspack_import_13 = __webpack_require__("./card");
465
+ var _card__rspack_import_13 = __webpack_require__("@/components/ui/card");
466
466
  var __rspack_reexport = {};
467
467
  for(const __rspack_import_key in _card__rspack_import_13)if ([
468
468
  "getReferenceChipColors",
@@ -502,7 +502,7 @@ var __webpack_exports__ = {};
502
502
  "ReferenceChip"
503
503
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_chat_hero__rspack_import_16[__rspack_import_key];
504
504
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
505
- var _checkbox__rspack_import_17 = __webpack_require__("@/components/ui/checkbox");
505
+ var _checkbox__rspack_import_17 = __webpack_require__("./checkbox");
506
506
  var __rspack_reexport = {};
507
507
  for(const __rspack_import_key in _checkbox__rspack_import_17)if ([
508
508
  "getReferenceChipColors",
@@ -522,7 +522,7 @@ var __webpack_exports__ = {};
522
522
  "ReferenceChip"
523
523
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_citation__rspack_import_18[__rspack_import_key];
524
524
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
525
- var _code_block__rspack_import_19 = __webpack_require__("./code-block");
525
+ var _code_block__rspack_import_19 = __webpack_require__("@/components/ui/code-block");
526
526
  var __rspack_reexport = {};
527
527
  for(const __rspack_import_key in _code_block__rspack_import_19)if ([
528
528
  "getReferenceChipColors",
@@ -532,7 +532,7 @@ var __webpack_exports__ = {};
532
532
  "ReferenceChip"
533
533
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_code_block__rspack_import_19[__rspack_import_key];
534
534
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
535
- var _collapsible__rspack_import_20 = __webpack_require__("./collapsible");
535
+ var _collapsible__rspack_import_20 = __webpack_require__("@/components/ui/collapsible");
536
536
  var __rspack_reexport = {};
537
537
  for(const __rspack_import_key in _collapsible__rspack_import_20)if ([
538
538
  "getReferenceChipColors",
@@ -602,7 +602,7 @@ var __webpack_exports__ = {};
602
602
  "ReferenceChip"
603
603
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_datetime_picker__rspack_import_26[__rspack_import_key];
604
604
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
605
- var _dialog__rspack_import_27 = __webpack_require__("./dialog");
605
+ var _dialog__rspack_import_27 = __webpack_require__("@/components/ui/dialog");
606
606
  var __rspack_reexport = {};
607
607
  for(const __rspack_import_key in _dialog__rspack_import_27)if ([
608
608
  "getReferenceChipColors",
@@ -632,7 +632,7 @@ var __webpack_exports__ = {};
632
632
  "ReferenceChip"
633
633
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_drawer__rspack_import_29[__rspack_import_key];
634
634
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
635
- var _dropdown_menu__rspack_import_30 = __webpack_require__("./dropdown-menu");
635
+ var _dropdown_menu__rspack_import_30 = __webpack_require__("@/components/ui/dropdown-menu");
636
636
  var __rspack_reexport = {};
637
637
  for(const __rspack_import_key in _dropdown_menu__rspack_import_30)if ([
638
638
  "getReferenceChipColors",
@@ -652,7 +652,7 @@ var __webpack_exports__ = {};
652
652
  "ReferenceChip"
653
653
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_dropzone_overlay__rspack_import_31[__rspack_import_key];
654
654
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
655
- var _editable_cell__rspack_import_32 = __webpack_require__("./editable-cell");
655
+ var _editable_cell__rspack_import_32 = __webpack_require__("@/components/ui/editable-cell");
656
656
  var __rspack_reexport = {};
657
657
  for(const __rspack_import_key in _editable_cell__rspack_import_32)if ([
658
658
  "getReferenceChipColors",
@@ -732,7 +732,7 @@ var __webpack_exports__ = {};
732
732
  "ReferenceChip"
733
733
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_hover_card__rspack_import_39[__rspack_import_key];
734
734
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
735
- var _info_tooltip__rspack_import_40 = __webpack_require__("./info-tooltip");
735
+ var _info_tooltip__rspack_import_40 = __webpack_require__("@/components/ui/info-tooltip");
736
736
  var __rspack_reexport = {};
737
737
  for(const __rspack_import_key in _info_tooltip__rspack_import_40)if ([
738
738
  "getReferenceChipColors",
@@ -742,7 +742,7 @@ var __webpack_exports__ = {};
742
742
  "ReferenceChip"
743
743
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_info_tooltip__rspack_import_40[__rspack_import_key];
744
744
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
745
- var _input__rspack_import_41 = __webpack_require__("@/components/ui/input");
745
+ var _input__rspack_import_41 = __webpack_require__("./input");
746
746
  var __rspack_reexport = {};
747
747
  for(const __rspack_import_key in _input__rspack_import_41)if ([
748
748
  "getReferenceChipColors",
@@ -782,7 +782,7 @@ var __webpack_exports__ = {};
782
782
  "ReferenceChip"
783
783
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_label__rspack_import_44[__rspack_import_key];
784
784
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
785
- var _layout__rspack_import_45 = __webpack_require__("./layout");
785
+ var _layout__rspack_import_45 = __webpack_require__("@/components/ui/layout");
786
786
  var __rspack_reexport = {};
787
787
  for(const __rspack_import_key in _layout__rspack_import_45)if ([
788
788
  "getReferenceChipColors",
@@ -912,7 +912,7 @@ var __webpack_exports__ = {};
912
912
  "ReferenceChip"
913
913
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_panel_tabs__rspack_import_57[__rspack_import_key];
914
914
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
915
- var _popover__rspack_import_58 = __webpack_require__("@/components/ui/popover");
915
+ var _popover__rspack_import_58 = __webpack_require__("./popover");
916
916
  var __rspack_reexport = {};
917
917
  for(const __rspack_import_key in _popover__rspack_import_58)if ([
918
918
  "getReferenceChipColors",
@@ -992,7 +992,7 @@ var __webpack_exports__ = {};
992
992
  "ReferenceChip"
993
993
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_radio_group__rspack_import_65[__rspack_import_key];
994
994
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
995
- var _reference_chip__rspack_import_66 = __webpack_require__("./reference-chip");
995
+ var _reference_chip__rspack_import_66 = __webpack_require__("@/components/ui/reference-chip");
996
996
  var _reference_chip_colors__rspack_import_67 = __webpack_require__("./reference-chip-colors");
997
997
  var _resizable__rspack_import_68 = __webpack_require__("./resizable");
998
998
  var __rspack_reexport = {};
@@ -1164,7 +1164,7 @@ var __webpack_exports__ = {};
1164
1164
  "ReferenceChip"
1165
1165
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tabs__rspack_import_84[__rspack_import_key];
1166
1166
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
1167
- var _textarea__rspack_import_85 = __webpack_require__("./textarea");
1167
+ var _textarea__rspack_import_85 = __webpack_require__("@/components/ui/textarea");
1168
1168
  var __rspack_reexport = {};
1169
1169
  for(const __rspack_import_key in _textarea__rspack_import_85)if ([
1170
1170
  "getReferenceChipColors",
@@ -1226,7 +1226,7 @@ var __webpack_exports__ = {};
1226
1226
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
1227
1227
  var _tree_view__rspack_import_91 = __webpack_require__("./tree-view");
1228
1228
  var _tree_view__rspack_import_91_default = /*#__PURE__*/ __webpack_require__.n(_tree_view__rspack_import_91);
1229
- var _variable_picker__rspack_import_92 = __webpack_require__("./variable-picker");
1229
+ var _variable_picker__rspack_import_92 = __webpack_require__("@/components/ui/variable-picker");
1230
1230
  var __rspack_reexport = {};
1231
1231
  for(const __rspack_import_key in _variable_picker__rspack_import_92)if ([
1232
1232
  "getReferenceChipColors",
@@ -52,7 +52,7 @@ const Input = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ 'aria-d
52
52
  ...props,
53
53
  ...validation.aria,
54
54
  disabled: props.disabled || group.disabled,
55
- className: (0, utils_cjs_namespaceObject.cn)('flex w-full transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring read-only:cursor-default disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-error aria-invalid:focus-visible:ring-error', 'future:focus-visible:ring-primary future:aria-invalid:focus-visible:ring-error', 'default' === size && 'h-9 rounded-md px-3 py-1 text-base placeholder:text-muted-foreground md:text-sm', 'xs' === size && 'h-6 rounded px-2 text-xs placeholder:text-muted-foreground', 'default' === variant && 'border border-input bg-transparent', 'ghost' === variant && 'border-0 bg-surface-overlay', 'default' === variant && 'default' === size && 'future:h-10 future:rounded-xl future:border-0 future:bg-surface-overlay future:py-2 future:text-sm future:placeholder:text-foreground-muted future:placeholder:font-normal future:focus-visible:ring-offset-2 future:focus-visible:ring-offset-background future:aria-invalid:ring-1 future:aria-invalid:ring-error/40', group.inGroup && IN_GROUP_CLASS, className),
55
+ className: (0, utils_cjs_namespaceObject.cn)('flex w-full transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring read-only:cursor-default disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-error aria-invalid:focus-visible:ring-error', 'future:focus-visible:ring-primary future:aria-invalid:focus-visible:ring-error', 'default' === size && 'h-9 rounded-md px-3 py-1 text-base placeholder:text-muted-foreground md:text-sm', 'xs' === size && 'h-6 rounded px-2 text-xs placeholder:text-muted-foreground', 'default' === variant && 'border border-input bg-transparent', 'ghost' === variant && 'border-0 bg-surface-overlay', 'none' === variant && 'border-0 bg-transparent shadow-none', 'default' === variant && 'default' === size && 'future:h-10 future:rounded-xl future:border-0 future:bg-surface-overlay future:py-2 future:text-sm future:placeholder:text-foreground-muted future:placeholder:font-normal future:focus-visible:ring-offset-2 future:focus-visible:ring-offset-background future:aria-invalid:ring-1 future:aria-invalid:ring-error/40', group.inGroup && IN_GROUP_CLASS, className),
56
56
  ref: ref
57
57
  });
58
58
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
3
- variant?: 'default' | 'ghost';
3
+ /** `none` paints no box in any theme, for a caller whose `className` draws its own. */
4
+ variant?: 'default' | 'ghost' | 'none';
4
5
  size?: 'default' | 'xs';
5
6
  /**
6
7
  * Field-specific feedback rendered immediately below the input.
@@ -24,7 +24,7 @@ const Input = /*#__PURE__*/ forwardRef(({ 'aria-describedby': ariaDescribedBy, '
24
24
  ...props,
25
25
  ...validation.aria,
26
26
  disabled: props.disabled || group.disabled,
27
- className: cn('flex w-full transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring read-only:cursor-default disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-error aria-invalid:focus-visible:ring-error', 'future:focus-visible:ring-primary future:aria-invalid:focus-visible:ring-error', 'default' === size && 'h-9 rounded-md px-3 py-1 text-base placeholder:text-muted-foreground md:text-sm', 'xs' === size && 'h-6 rounded px-2 text-xs placeholder:text-muted-foreground', 'default' === variant && 'border border-input bg-transparent', 'ghost' === variant && 'border-0 bg-surface-overlay', 'default' === variant && 'default' === size && 'future:h-10 future:rounded-xl future:border-0 future:bg-surface-overlay future:py-2 future:text-sm future:placeholder:text-foreground-muted future:placeholder:font-normal future:focus-visible:ring-offset-2 future:focus-visible:ring-offset-background future:aria-invalid:ring-1 future:aria-invalid:ring-error/40', group.inGroup && IN_GROUP_CLASS, className),
27
+ className: cn('flex w-full transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring read-only:cursor-default disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-error aria-invalid:focus-visible:ring-error', 'future:focus-visible:ring-primary future:aria-invalid:focus-visible:ring-error', 'default' === size && 'h-9 rounded-md px-3 py-1 text-base placeholder:text-muted-foreground md:text-sm', 'xs' === size && 'h-6 rounded px-2 text-xs placeholder:text-muted-foreground', 'default' === variant && 'border border-input bg-transparent', 'ghost' === variant && 'border-0 bg-surface-overlay', 'none' === variant && 'border-0 bg-transparent shadow-none', 'default' === variant && 'default' === size && 'future:h-10 future:rounded-xl future:border-0 future:bg-surface-overlay future:py-2 future:text-sm future:placeholder:text-foreground-muted future:placeholder:font-normal future:focus-visible:ring-offset-2 future:focus-visible:ring-offset-background future:aria-invalid:ring-1 future:aria-invalid:ring-error/40', group.inGroup && IN_GROUP_CLASS, className),
28
28
  ref: ref
29
29
  });
30
30
  return /*#__PURE__*/ jsxs(Fragment, {
@@ -28,9 +28,9 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  EditorTextarea: ()=>EditorTextarea
29
29
  });
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
+ const external_react_namespaceObject = require("react");
31
32
  const external_button_cjs_namespaceObject = require("../button.cjs");
32
33
  const index_cjs_namespaceObject = require("../../../lib/index.cjs");
33
- const external_react_namespaceObject = require("react");
34
34
  const external_strings_cjs_namespaceObject = require("./strings.cjs");
35
35
  function EditorActions({ onApply, onCancel, applyDisabled = false }) {
36
36
  const strings = (0, external_strings_cjs_namespaceObject.useJsonTreeViewStrings)();
@@ -67,7 +67,10 @@ function EditorTextarea({ value, onChange, onApply, onCancel, invalid, rows, ari
67
67
  e.stopPropagation();
68
68
  onCancel();
69
69
  }
70
- if ('Enter' === e.key && (e.metaKey || e.ctrlKey)) onApply();
70
+ if ('Enter' === e.key && (e.metaKey || e.ctrlKey)) {
71
+ e.preventDefault();
72
+ onApply();
73
+ }
71
74
  },
72
75
  rows: rows,
73
76
  spellCheck: false,
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from "react";
2
3
  import { Button } from "../button.js";
3
4
  import { cn } from "../../../lib/index.js";
4
- import { useEffect, useRef } from "react";
5
5
  import { useJsonTreeViewStrings } from "./strings.js";
6
6
  function EditorActions({ onApply, onCancel, applyDisabled = false }) {
7
7
  const strings = useJsonTreeViewStrings();
@@ -38,7 +38,10 @@ function EditorTextarea({ value, onChange, onApply, onCancel, invalid, rows, ari
38
38
  e.stopPropagation();
39
39
  onCancel();
40
40
  }
41
- if ('Enter' === e.key && (e.metaKey || e.ctrlKey)) onApply();
41
+ if ('Enter' === e.key && (e.metaKey || e.ctrlKey)) {
42
+ e.preventDefault();
43
+ onApply();
44
+ }
42
45
  },
43
46
  rows: rows,
44
47
  spellCheck: false,
@@ -27,10 +27,10 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  JsonLeafValueEditor: ()=>JsonLeafValueEditor
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_react_namespaceObject = require("react");
32
- const external_strings_cjs_namespaceObject = require("./strings.cjs");
31
+ const index_cjs_namespaceObject = require("../../../lib/index.cjs");
33
32
  const external_leafEditTypes_cjs_namespaceObject = require("./leafEditTypes.cjs");
33
+ const external_strings_cjs_namespaceObject = require("./strings.cjs");
34
34
  function JsonLeafValueEditor({ node, onCommit, onCancel, className }) {
35
35
  const strings = (0, external_strings_cjs_namespaceObject.useJsonTreeViewStrings)();
36
36
  const editType = (0, external_leafEditTypes_cjs_namespaceObject.resolveLeafEditType)(node.type, node.schema);
@@ -63,7 +63,10 @@ function JsonLeafValueEditor({ node, onCommit, onCancel, className }) {
63
63
  else commit();
64
64
  },
65
65
  onKeyDown: (e)=>{
66
- if ('Enter' === e.key) commit();
66
+ if ('Enter' === e.key) {
67
+ e.preventDefault();
68
+ commit();
69
+ }
67
70
  if ('Escape' === e.key) {
68
71
  e.preventDefault();
69
72
  e.stopPropagation();
@@ -1,8 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../../../lib/index.js";
3
2
  import { useEffect, useRef, useState } from "react";
4
- import { useJsonTreeViewStrings } from "./strings.js";
3
+ import { cn } from "../../../lib/index.js";
5
4
  import { isNumericEdit, parseLeafValue, resolveLeafEditType } from "./leafEditTypes.js";
5
+ import { useJsonTreeViewStrings } from "./strings.js";
6
6
  function JsonLeafValueEditor({ node, onCommit, onCancel, className }) {
7
7
  const strings = useJsonTreeViewStrings();
8
8
  const editType = resolveLeafEditType(node.type, node.schema);
@@ -35,7 +35,10 @@ function JsonLeafValueEditor({ node, onCommit, onCancel, className }) {
35
35
  else commit();
36
36
  },
37
37
  onKeyDown: (e)=>{
38
- if ('Enter' === e.key) commit();
38
+ if ('Enter' === e.key) {
39
+ e.preventDefault();
40
+ commit();
41
+ }
39
42
  if ('Escape' === e.key) {
40
43
  e.preventDefault();
41
44
  e.stopPropagation();
@@ -31,16 +31,17 @@ const react_virtual_namespaceObject = require("@tanstack/react-virtual");
31
31
  const external_react_namespaceObject = require("react");
32
32
  const index_cjs_namespaceObject = require("../../../lib/index.cjs");
33
33
  const clipboard_cjs_namespaceObject = require("../../../lib/clipboard.cjs");
34
+ const use_isomorphic_layout_effect_cjs_namespaceObject = require("../../../lib/use-isomorphic-layout-effect.cjs");
34
35
  const external_buildJsonTree_cjs_namespaceObject = require("./buildJsonTree.cjs");
35
36
  const external_JsonTreeRow_cjs_namespaceObject = require("./JsonTreeRow.cjs");
36
37
  const external_JsonTreeTooltip_cjs_namespaceObject = require("./JsonTreeTooltip.cjs");
37
38
  const external_strings_cjs_namespaceObject = require("./strings.cjs");
38
- const useIsomorphicLayoutEffect = "u" < typeof window ? external_react_namespaceObject.useEffect : external_react_namespaceObject.useLayoutEffect;
39
+ const external_treeGrid_cjs_namespaceObject = require("./treeGrid.cjs");
39
40
  const VIRTUAL_OVERSCAN = 10;
40
41
  function scrollMarginOf(element, scrollElement) {
41
42
  return Math.round(element.getBoundingClientRect().top - scrollElement.getBoundingClientRect().top + scrollElement.scrollTop);
42
43
  }
43
- function VirtualRows({ rows, container, scrollElement, pinnedPaths }) {
44
+ function VirtualRows({ rows, indexByPath, container, scrollElement, pinnedPaths, gridProps }) {
44
45
  const [scrollMargin, setScrollMargin] = (0, external_react_namespaceObject.useState)(0);
45
46
  const getItemKey = (0, external_react_namespaceObject.useCallback)((index)=>rows[index]?.node.path ?? index, [
46
47
  rows
@@ -53,7 +54,7 @@ function VirtualRows({ rows, container, scrollElement, pinnedPaths }) {
53
54
  overscan: VIRTUAL_OVERSCAN,
54
55
  scrollMargin
55
56
  });
56
- useIsomorphicLayoutEffect(()=>{
57
+ (0, use_isomorphic_layout_effect_cjs_namespaceObject.useIsomorphicLayoutEffect)(()=>{
57
58
  if (!container || !scrollElement) {
58
59
  if (0 !== scrollMargin) setScrollMargin(0);
59
60
  return;
@@ -62,21 +63,11 @@ function VirtualRows({ rows, container, scrollElement, pinnedPaths }) {
62
63
  const next = scrollMarginOf(container, scrollElement);
63
64
  if (next !== scrollMargin) setScrollMargin(next);
64
65
  });
65
- const isPinning = pinnedPaths.length > 0;
66
- const indexByPath = (0, external_react_namespaceObject.useMemo)(()=>{
67
- if (!isPinning) return;
68
- const byPath = new Map();
69
- for (const [index, row] of rows.entries())byPath.set(row.node.path, index);
70
- return byPath;
71
- }, [
72
- isPinning,
73
- rows
74
- ]);
75
66
  const items = virtualizer.getVirtualItems();
76
67
  const firstWindowed = items[0]?.index ?? -1;
77
68
  const lastWindowed = items[items.length - 1]?.index ?? -2;
78
69
  const pinnedItems = [];
79
- if (indexByPath) for (const path of pinnedPaths){
70
+ for (const path of pinnedPaths){
80
71
  const index = indexByPath.get(path);
81
72
  if (void 0 === index || index >= firstWindowed && index <= lastWindowed) continue;
82
73
  const measurement = virtualizer.measurementsCache[index];
@@ -88,6 +79,7 @@ function VirtualRows({ rows, container, scrollElement, pinnedPaths }) {
88
79
  ...pinnedItems.filter((item)=>item.index > lastWindowed)
89
80
  ];
90
81
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
82
+ ...gridProps,
91
83
  className: "relative",
92
84
  style: {
93
85
  height: virtualizer.getTotalSize()
@@ -103,8 +95,8 @@ function VirtualRows({ rows, container, scrollElement, pinnedPaths }) {
103
95
  transform: `translateY(${item.start - virtualizer.options.scrollMargin}px)`
104
96
  },
105
97
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeRow_cjs_namespaceObject.JsonTreeRow, {
106
- node: row.node,
107
- depth: row.depth
98
+ row: row,
99
+ index: item.index
108
100
  })
109
101
  }, item.key);
110
102
  })
@@ -130,7 +122,7 @@ function JsonTreeView({ strings, tooltipContentClassName, ...props }) {
130
122
  })
131
123
  });
132
124
  }
133
- function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query, filterPredicate, readOnly = false, onEdit, rowWrapper, decorateNode, deriveTypeIcon, renderValue, nodeActions, maxInlineActions = 3, renderCodeEditor, pathForCopy, onCopy, virtualized = false, scrollElement, emptyMessage, className }) {
125
+ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query, filterPredicate, readOnly = false, onEdit, rowWrapper, decorateNode, deriveTypeIcon, renderValue, nodeActions, maxInlineActions = 3, renderCodeEditor, pathForCopy, onCopy, virtualized = false, scrollElement, emptyMessage, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, className }) {
134
126
  const strings = (0, external_strings_cjs_namespaceObject.useJsonTreeViewStrings)();
135
127
  const [container, setContainer] = (0, external_react_namespaceObject.useState)(null);
136
128
  const usesAncestorScroller = virtualized && !!scrollElement;
@@ -138,15 +130,6 @@ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query,
138
130
  const [editingPath, setEditingPath] = (0, external_react_namespaceObject.useState)(null);
139
131
  const [jsonEditingPath, setJsonEditingPath] = (0, external_react_namespaceObject.useState)(null);
140
132
  const [wrappedPaths, setWrappedPaths] = (0, external_react_namespaceObject.useState)({});
141
- const pinnedPaths = (0, external_react_namespaceObject.useMemo)(()=>[
142
- ...new Set([
143
- editingPath,
144
- jsonEditingPath
145
- ].filter((path)=>null !== path))
146
- ], [
147
- editingPath,
148
- jsonEditingPath
149
- ]);
150
133
  const [copied, setCopied] = (0, external_react_namespaceObject.useState)(null);
151
134
  const copyTimerRef = (0, external_react_namespaceObject.useRef)(null);
152
135
  (0, external_react_namespaceObject.useEffect)(()=>()=>{
@@ -155,10 +138,11 @@ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query,
155
138
  const copy = (node, kind, text)=>{
156
139
  (0, clipboard_cjs_namespaceObject.copyTextToClipboard)(text).then((ok)=>{
157
140
  if (!ok) return;
158
- setCopied({
159
- path: node.path,
160
- kind
161
- });
141
+ setCopied((prev)=>({
142
+ path: node.path,
143
+ kind,
144
+ id: (prev?.id ?? 0) + 1
145
+ }));
162
146
  if (copyTimerRef.current) clearTimeout(copyTimerRef.current);
163
147
  copyTimerRef.current = setTimeout(()=>setCopied(null), 1500);
164
148
  onCopy?.({
@@ -191,6 +175,37 @@ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query,
191
175
  filterPredicate,
192
176
  decorateNode
193
177
  ]);
178
+ const indexByPath = (0, external_react_namespaceObject.useMemo)(()=>new Map(rows.map((row, index)=>[
179
+ row.node.path,
180
+ index
181
+ ])), [
182
+ rows
183
+ ]);
184
+ const { activePath, gridHandlers, trackEditor } = (0, external_treeGrid_cjs_namespaceObject.useTreeGrid)({
185
+ rows,
186
+ indexByPath,
187
+ collapsed,
188
+ toggle: onToggleCollapsed
189
+ });
190
+ const pinnedPaths = (0, external_react_namespaceObject.useMemo)(()=>[
191
+ ...new Set([
192
+ editingPath,
193
+ jsonEditingPath,
194
+ activePath
195
+ ].filter((path)=>null !== path))
196
+ ], [
197
+ editingPath,
198
+ jsonEditingPath,
199
+ activePath
200
+ ]);
201
+ const gridProps = {
202
+ ...gridHandlers,
203
+ role: 'treegrid',
204
+ 'aria-label': ariaLabelledBy ? void 0 : ariaLabel ?? strings.treeLabel,
205
+ 'aria-labelledby': ariaLabelledBy,
206
+ 'aria-readonly': !canEdit || void 0,
207
+ 'aria-rowcount': rows.length
208
+ };
194
209
  const templateItemLabel = strings.arrayItem;
195
210
  const filtering = !!query?.trim() || !!filterPredicate;
196
211
  const resolvedEmptyMessage = filtering ? strings.emptySearch : emptyMessage ?? strings.emptyDefault;
@@ -212,8 +227,9 @@ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query,
212
227
  jsonEditingPath,
213
228
  wrappedPaths,
214
229
  copied,
215
- setEditingPath,
216
- setJsonEditingPath,
230
+ activePath,
231
+ setEditingPath: trackEditor('leaf', setEditingPath),
232
+ setJsonEditingPath: trackEditor('json', setJsonEditingPath),
217
233
  copyPath,
218
234
  copyValue,
219
235
  toggleWrapped,
@@ -226,15 +242,27 @@ function JsonTreeViewContent({ nodes, collapsed = {}, onToggleCollapsed, query,
226
242
  ref: setContainer,
227
243
  className: (0, index_cjs_namespaceObject.cn)(usesAncestorScroller ? 'overflow-x-clip' : 'h-full overflow-y-auto overflow-x-hidden', virtualized && !usesAncestorScroller && 'max-h-screen', virtualized && '[overflow-anchor:none]', className),
228
244
  children: [
229
- virtualized ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(VirtualRows, {
245
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
246
+ role: "status",
247
+ className: "sr-only",
248
+ children: copied && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
249
+ children: 'path' === copied.kind ? strings.pathCopied : strings.valueCopied
250
+ }, copied.id)
251
+ }),
252
+ rows.length > 0 && (virtualized ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(VirtualRows, {
230
253
  rows: rows,
254
+ indexByPath: indexByPath,
231
255
  container: container,
232
256
  scrollElement: scrollElement,
233
- pinnedPaths: pinnedPaths
234
- }) : rows.map(({ node, depth })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeRow_cjs_namespaceObject.JsonTreeRow, {
235
- node: node,
236
- depth: depth
237
- }, node.path)),
257
+ pinnedPaths: pinnedPaths,
258
+ gridProps: gridProps
259
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
260
+ ...gridProps,
261
+ children: rows.map((row, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_JsonTreeRow_cjs_namespaceObject.JsonTreeRow, {
262
+ row: row,
263
+ index: index
264
+ }, row.node.path))
265
+ })),
238
266
  0 === rows.length && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
239
267
  className: "p-4 text-center text-xs text-foreground-subtle",
240
268
  children: resolvedEmptyMessage
@@ -51,7 +51,8 @@ export interface JsonTreeViewProps {
51
51
  * for values with thousands of fields. Rows are measured, so wrapped values
52
52
  * and inline editors keep their height. The tree scrolls inside its own box,
53
53
  * capped at the viewport height, unless `scrollElement` names the scroller.
54
- * Off by default.
54
+ * Also keeps arrow-key navigation quick in large trees, since each focus move
55
+ * re-renders the mounted rows. Off by default.
55
56
  */
56
57
  virtualized?: boolean;
57
58
  /**
@@ -70,6 +71,10 @@ export interface JsonTreeViewProps {
70
71
  strings?: Partial<JsonTreeViewStrings>;
71
72
  /** Extra classes for every tooltip panel (e.g. a z-index above a host's overlays). */
72
73
  tooltipContentClassName?: string;
74
+ /** Accessible name of the tree grid. Defaults to the `treeLabel` string. */
75
+ 'aria-label'?: string;
76
+ /** Id of a visible heading naming the tree grid; takes precedence over `aria-label`. */
77
+ 'aria-labelledby'?: string;
73
78
  className?: string;
74
79
  }
75
80
  /**