@uipath/apollo-wind 2.67.1 → 2.68.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.
@@ -44,7 +44,7 @@ const external_react_hook_form_namespaceObject = require("react-hook-form");
44
44
  const v4_namespaceObject = require("zod/v4");
45
45
  const accordion_cjs_namespaceObject = require("../ui/accordion.cjs");
46
46
  const button_cjs_namespaceObject = require("../ui/button.cjs");
47
- const tabs_cjs_namespaceObject = require("../ui/tabs.cjs");
47
+ const panel_tabs_cjs_namespaceObject = require("../ui/panel-tabs.cjs");
48
48
  const tooltip_cjs_namespaceObject = require("../ui/tooltip.cjs");
49
49
  const index_cjs_namespaceObject = require("../../lib/index.cjs");
50
50
  const external_data_fetcher_cjs_namespaceObject = require("./data-fetcher.cjs");
@@ -470,53 +470,48 @@ function TabbedStepForm({ schema, context, customComponents, disabled, sectionVa
470
470
  if (0 === visibleSteps.length) return null;
471
471
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
472
472
  children: [
473
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(tabs_cjs_namespaceObject.Tabs, {
473
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(panel_tabs_cjs_namespaceObject.PanelTabs, {
474
474
  value: currentTab,
475
475
  onValueChange: selectTab,
476
- className: "flex min-h-0 flex-1 flex-col gap-1",
477
476
  children: [
478
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
479
- className: "shrink-0 pt-3 [padding-inline:var(--mf-content-inset,0px)]",
480
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(tabs_cjs_namespaceObject.ScrollableTabsList, {
481
- className: "h-auto justify-start gap-0.5 rounded-lg bg-transparent px-0 py-0.5 text-muted-foreground",
482
- scrollButtonClassName: "size-6 hover:bg-surface-overlay",
483
- children: visibleSteps.map((step)=>{
484
- const errorCount = errorCountByStepId[step.id] ?? 0;
485
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(tabs_cjs_namespaceObject.TabsTrigger, {
486
- value: step.id,
487
- className: "inline-flex h-6 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2.5 text-xs font-medium text-muted-foreground shadow-none transition-colors hover:text-foreground data-[state=active]:bg-surface-overlay data-[state=active]:text-foreground data-[state=active]:shadow-sm",
488
- children: [
489
- step.title,
490
- errorCount > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
491
- role: "img",
492
- "aria-label": `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
493
- title: `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
494
- className: "grid h-4 min-w-4 place-items-center rounded-full bg-error px-1 text-[10px] font-semibold leading-none text-error-background",
495
- children: errorCount
496
- })
497
- ]
498
- }, step.id);
499
- })
477
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(panel_tabs_cjs_namespaceObject.PanelTabsList, {
478
+ children: visibleSteps.map((step)=>{
479
+ const errorCount = errorCountByStepId[step.id] ?? 0;
480
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(panel_tabs_cjs_namespaceObject.PanelTabsTrigger, {
481
+ value: step.id,
482
+ children: [
483
+ step.title,
484
+ errorCount > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
485
+ role: "img",
486
+ "aria-label": `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
487
+ title: `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
488
+ className: "grid h-4 min-w-4 place-items-center rounded-full bg-error px-1 text-[10px] font-semibold leading-none text-error-background",
489
+ children: errorCount
490
+ })
491
+ ]
492
+ }, step.id);
500
493
  })
501
494
  }),
502
495
  visibleSteps.map((step)=>{
503
496
  const stepSections = step.sections.filter((section)=>!section.conditions || context.evaluateConditions(section.conditions));
504
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(tabs_cjs_namespaceObject.TabsContent, {
497
+ const showEmptyState = 0 === stepSections.length && void 0 !== step.emptyState;
498
+ const selfPadded = !showEmptyState && 'plain' === sectionVariant;
499
+ const sections = stepSections.map((section, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(metadata_form_FormSection, {
500
+ section: section,
501
+ context: context,
502
+ customComponents: customComponents,
503
+ disabled: disabled,
504
+ sectionVariant: sectionVariant,
505
+ afterTabs: 0 === index
506
+ }, section.id));
507
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(panel_tabs_cjs_namespaceObject.PanelTabsContent, {
505
508
  value: step.id,
506
- className: "mt-0 min-h-0 flex-1 overflow-auto",
507
- children: 0 === stepSections.length && void 0 !== step.emptyState ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
508
- className: "pt-4 text-sm text-muted-foreground [padding-inline:var(--mf-content-inset,0px)]",
509
- children: step.emptyState
510
- }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
511
- className: 'plain' === sectionVariant ? 'pb-6 [padding-inline:var(--mf-content-inset,0px)]' : 'space-y-2 pb-6 pt-4 [padding-inline:var(--mf-content-inset,0px)]',
512
- children: stepSections.map((section)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(metadata_form_FormSection, {
513
- section: section,
514
- context: context,
515
- customComponents: customComponents,
516
- disabled: disabled,
517
- sectionVariant: sectionVariant
518
- }, section.id))
519
- })
509
+ padded: !selfPadded,
510
+ innerClassName: showEmptyState ? 'text-sm text-muted-foreground' : 'space-y-2',
511
+ children: showEmptyState ? step.emptyState : selfPadded ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
512
+ className: "pb-6 [padding-inline:var(--mf-content-inset,0px)]",
513
+ children: sections
514
+ }) : sections
520
515
  }, step.id);
521
516
  })
522
517
  ]
@@ -530,13 +525,14 @@ function TabbedStepForm({ schema, context, customComponents, disabled, sectionVa
530
525
  ]
531
526
  });
532
527
  }
533
- const metadata_form_FormSection = /*#__PURE__*/ external_react_default().memo(function({ section, context, customComponents, disabled, sectionVariant = 'card' }) {
528
+ const metadata_form_FormSection = /*#__PURE__*/ external_react_default().memo(function({ section, context, customComponents, disabled, sectionVariant = 'card', afterTabs = false }) {
534
529
  const gridColumns = context.schema.layout?.columns || 1;
535
530
  const gap = context.schema.layout?.gap || 4;
536
531
  const isPlain = 'plain' === sectionVariant;
537
532
  const dividerClassName = 'border-t first:border-t-0';
538
533
  const wrapperClassName = isPlain ? 'border-b-0' : 'border rounded-lg px-3';
539
- const triggerClassName = isPlain ? 'py-4 text-sm font-semibold hover:no-underline' : 'text-sm font-medium';
534
+ const plainTopClassName = afterTabs ? 'pt-1.5' : 'pt-4';
535
+ const triggerClassName = isPlain ? `${plainTopClassName} pb-4 text-sm font-semibold hover:no-underline` : 'text-sm font-medium';
540
536
  const fieldsGrid = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
541
537
  className: "grid",
542
538
  style: {
@@ -551,7 +547,7 @@ const metadata_form_FormSection = /*#__PURE__*/ external_react_default().memo(fu
551
547
  }, field.name))
552
548
  });
553
549
  if (!section.title) return isPlain ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
554
- className: `${dividerClassName} pb-4 pt-4`,
550
+ className: `${dividerClassName} pb-4 ${plainTopClassName}`,
555
551
  children: fieldsGrid
556
552
  }) : fieldsGrid;
557
553
  const innerContent = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
@@ -593,7 +589,7 @@ const metadata_form_FormSection = /*#__PURE__*/ external_react_default().memo(fu
593
589
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
594
590
  className: "flex",
595
591
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
596
- className: isPlain ? 'flex flex-1 items-center justify-start gap-2 py-4 text-sm font-semibold' : 'flex flex-1 items-center justify-between py-4 text-sm font-medium',
592
+ className: isPlain ? `flex flex-1 items-center justify-start gap-2 pb-4 text-sm font-semibold ${plainTopClassName}` : 'flex flex-1 items-center justify-between py-4 text-sm font-medium',
597
593
  children: section.title
598
594
  })
599
595
  }),
@@ -5,7 +5,7 @@ import { FormProvider, useForm, useFormState, useWatch } from "react-hook-form";
5
5
  import { z } from "zod/v4";
6
6
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "../ui/accordion.js";
7
7
  import { Button } from "../ui/button.js";
8
- import { ScrollableTabsList, Tabs, TabsContent, TabsTrigger } from "../ui/tabs.js";
8
+ import { PanelTabs, PanelTabsContent, PanelTabsList, PanelTabsTrigger } from "../ui/panel-tabs.js";
9
9
  import { TooltipProvider } from "../ui/tooltip.js";
10
10
  import { deepEqual, get } from "../../lib/index.js";
11
11
  import { DataFetcher } from "./data-fetcher.js";
@@ -431,53 +431,48 @@ function TabbedStepForm({ schema, context, customComponents, disabled, sectionVa
431
431
  if (0 === visibleSteps.length) return null;
432
432
  return /*#__PURE__*/ jsxs(Fragment, {
433
433
  children: [
434
- /*#__PURE__*/ jsxs(Tabs, {
434
+ /*#__PURE__*/ jsxs(PanelTabs, {
435
435
  value: currentTab,
436
436
  onValueChange: selectTab,
437
- className: "flex min-h-0 flex-1 flex-col gap-1",
438
437
  children: [
439
- /*#__PURE__*/ jsx("div", {
440
- className: "shrink-0 pt-3 [padding-inline:var(--mf-content-inset,0px)]",
441
- children: /*#__PURE__*/ jsx(ScrollableTabsList, {
442
- className: "h-auto justify-start gap-0.5 rounded-lg bg-transparent px-0 py-0.5 text-muted-foreground",
443
- scrollButtonClassName: "size-6 hover:bg-surface-overlay",
444
- children: visibleSteps.map((step)=>{
445
- const errorCount = errorCountByStepId[step.id] ?? 0;
446
- return /*#__PURE__*/ jsxs(TabsTrigger, {
447
- value: step.id,
448
- className: "inline-flex h-6 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2.5 text-xs font-medium text-muted-foreground shadow-none transition-colors hover:text-foreground data-[state=active]:bg-surface-overlay data-[state=active]:text-foreground data-[state=active]:shadow-sm",
449
- children: [
450
- step.title,
451
- errorCount > 0 && /*#__PURE__*/ jsx("span", {
452
- role: "img",
453
- "aria-label": `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
454
- title: `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
455
- className: "grid h-4 min-w-4 place-items-center rounded-full bg-error px-1 text-[10px] font-semibold leading-none text-error-background",
456
- children: errorCount
457
- })
458
- ]
459
- }, step.id);
460
- })
438
+ /*#__PURE__*/ jsx(PanelTabsList, {
439
+ children: visibleSteps.map((step)=>{
440
+ const errorCount = errorCountByStepId[step.id] ?? 0;
441
+ return /*#__PURE__*/ jsxs(PanelTabsTrigger, {
442
+ value: step.id,
443
+ children: [
444
+ step.title,
445
+ errorCount > 0 && /*#__PURE__*/ jsx("span", {
446
+ role: "img",
447
+ "aria-label": `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
448
+ title: `${errorCount} ${1 === errorCount ? 'issue' : 'issues'}`,
449
+ className: "grid h-4 min-w-4 place-items-center rounded-full bg-error px-1 text-[10px] font-semibold leading-none text-error-background",
450
+ children: errorCount
451
+ })
452
+ ]
453
+ }, step.id);
461
454
  })
462
455
  }),
463
456
  visibleSteps.map((step)=>{
464
457
  const stepSections = step.sections.filter((section)=>!section.conditions || context.evaluateConditions(section.conditions));
465
- return /*#__PURE__*/ jsx(TabsContent, {
458
+ const showEmptyState = 0 === stepSections.length && void 0 !== step.emptyState;
459
+ const selfPadded = !showEmptyState && 'plain' === sectionVariant;
460
+ const sections = stepSections.map((section, index)=>/*#__PURE__*/ jsx(metadata_form_FormSection, {
461
+ section: section,
462
+ context: context,
463
+ customComponents: customComponents,
464
+ disabled: disabled,
465
+ sectionVariant: sectionVariant,
466
+ afterTabs: 0 === index
467
+ }, section.id));
468
+ return /*#__PURE__*/ jsx(PanelTabsContent, {
466
469
  value: step.id,
467
- className: "mt-0 min-h-0 flex-1 overflow-auto",
468
- children: 0 === stepSections.length && void 0 !== step.emptyState ? /*#__PURE__*/ jsx("div", {
469
- className: "pt-4 text-sm text-muted-foreground [padding-inline:var(--mf-content-inset,0px)]",
470
- children: step.emptyState
471
- }) : /*#__PURE__*/ jsx("div", {
472
- className: 'plain' === sectionVariant ? 'pb-6 [padding-inline:var(--mf-content-inset,0px)]' : 'space-y-2 pb-6 pt-4 [padding-inline:var(--mf-content-inset,0px)]',
473
- children: stepSections.map((section)=>/*#__PURE__*/ jsx(metadata_form_FormSection, {
474
- section: section,
475
- context: context,
476
- customComponents: customComponents,
477
- disabled: disabled,
478
- sectionVariant: sectionVariant
479
- }, section.id))
480
- })
470
+ padded: !selfPadded,
471
+ innerClassName: showEmptyState ? 'text-sm text-muted-foreground' : 'space-y-2',
472
+ children: showEmptyState ? step.emptyState : selfPadded ? /*#__PURE__*/ jsx("div", {
473
+ className: "pb-6 [padding-inline:var(--mf-content-inset,0px)]",
474
+ children: sections
475
+ }) : sections
481
476
  }, step.id);
482
477
  })
483
478
  ]
@@ -491,13 +486,14 @@ function TabbedStepForm({ schema, context, customComponents, disabled, sectionVa
491
486
  ]
492
487
  });
493
488
  }
494
- const metadata_form_FormSection = /*#__PURE__*/ react.memo(function({ section, context, customComponents, disabled, sectionVariant = 'card' }) {
489
+ const metadata_form_FormSection = /*#__PURE__*/ react.memo(function({ section, context, customComponents, disabled, sectionVariant = 'card', afterTabs = false }) {
495
490
  const gridColumns = context.schema.layout?.columns || 1;
496
491
  const gap = context.schema.layout?.gap || 4;
497
492
  const isPlain = 'plain' === sectionVariant;
498
493
  const dividerClassName = 'border-t first:border-t-0';
499
494
  const wrapperClassName = isPlain ? 'border-b-0' : 'border rounded-lg px-3';
500
- const triggerClassName = isPlain ? 'py-4 text-sm font-semibold hover:no-underline' : 'text-sm font-medium';
495
+ const plainTopClassName = afterTabs ? 'pt-1.5' : 'pt-4';
496
+ const triggerClassName = isPlain ? `${plainTopClassName} pb-4 text-sm font-semibold hover:no-underline` : 'text-sm font-medium';
501
497
  const fieldsGrid = /*#__PURE__*/ jsx("div", {
502
498
  className: "grid",
503
499
  style: {
@@ -512,7 +508,7 @@ const metadata_form_FormSection = /*#__PURE__*/ react.memo(function({ section, c
512
508
  }, field.name))
513
509
  });
514
510
  if (!section.title) return isPlain ? /*#__PURE__*/ jsx("div", {
515
- className: `${dividerClassName} pb-4 pt-4`,
511
+ className: `${dividerClassName} pb-4 ${plainTopClassName}`,
516
512
  children: fieldsGrid
517
513
  }) : fieldsGrid;
518
514
  const innerContent = /*#__PURE__*/ jsxs("div", {
@@ -554,7 +550,7 @@ const metadata_form_FormSection = /*#__PURE__*/ react.memo(function({ section, c
554
550
  /*#__PURE__*/ jsx("div", {
555
551
  className: "flex",
556
552
  children: /*#__PURE__*/ jsx("div", {
557
- className: isPlain ? 'flex flex-1 items-center justify-start gap-2 py-4 text-sm font-semibold' : 'flex flex-1 items-center justify-between py-4 text-sm font-medium',
553
+ className: isPlain ? `flex flex-1 items-center justify-start gap-2 pb-4 text-sm font-semibold ${plainTopClassName}` : 'flex flex-1 items-center justify-between py-4 text-sm font-medium',
558
554
  children: section.title
559
555
  })
560
556
  }),
@@ -36,10 +36,10 @@ var __webpack_modules__ = {
36
36
  "@/components/ui/button" (module) {
37
37
  module.exports = require("./button.cjs");
38
38
  },
39
- "./calendar" (module) {
39
+ "@/components/ui/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) {
@@ -48,7 +48,7 @@ var __webpack_modules__ = {
48
48
  "@/components/ui/checkbox" (module) {
49
49
  module.exports = require("./checkbox.cjs");
50
50
  },
51
- "./collapsible" (module) {
51
+ "@/components/ui/collapsible" (module) {
52
52
  module.exports = require("./collapsible.cjs");
53
53
  },
54
54
  "./combobox" (module) {
@@ -57,7 +57,7 @@ var __webpack_modules__ = {
57
57
  "@/components/ui/command" (module) {
58
58
  module.exports = require("./command.cjs");
59
59
  },
60
- "./context-menu" (module) {
60
+ "@/components/ui/context-menu" (module) {
61
61
  module.exports = require("./context-menu.cjs");
62
62
  },
63
63
  "./data-table" (module) {
@@ -96,7 +96,7 @@ var __webpack_modules__ = {
96
96
  "./form-field" (module) {
97
97
  module.exports = require("./form-field.cjs");
98
98
  },
99
- "./hover-card" (module) {
99
+ "@/components/ui/hover-card" (module) {
100
100
  module.exports = require("./hover-card.cjs");
101
101
  },
102
102
  "@/components/ui/info-tooltip" (module) {
@@ -105,13 +105,13 @@ var __webpack_modules__ = {
105
105
  "@/components/ui/input-group" (module) {
106
106
  module.exports = require("./input-group.cjs");
107
107
  },
108
- "./input" (module) {
108
+ "@/components/ui/input" (module) {
109
109
  module.exports = require("./input.cjs");
110
110
  },
111
111
  "./json-tree-view" (module) {
112
112
  module.exports = require("./json-tree-view/index.cjs");
113
113
  },
114
- "@/components/ui/label" (module) {
114
+ "./label" (module) {
115
115
  module.exports = require("./label.cjs");
116
116
  },
117
117
  "@/components/ui/layout" (module) {
@@ -138,6 +138,9 @@ var __webpack_modules__ = {
138
138
  "./pagination" (module) {
139
139
  module.exports = require("./pagination.cjs");
140
140
  },
141
+ "./panel-tabs" (module) {
142
+ module.exports = require("./panel-tabs.cjs");
143
+ },
141
144
  "@/components/ui/popover" (module) {
142
145
  module.exports = require("./popover.cjs");
143
146
  },
@@ -222,7 +225,7 @@ var __webpack_modules__ = {
222
225
  "./tree-view" (module) {
223
226
  module.exports = require("./tree-view.cjs");
224
227
  },
225
- "./variable-picker" (module) {
228
+ "@/components/ui/variable-picker" (module) {
226
229
  module.exports = require("./variable-picker/index.cjs");
227
230
  },
228
231
  "./variable-value-control" (module) {
@@ -273,8 +276,8 @@ var __webpack_exports__ = {};
273
276
  (()=>{
274
277
  __webpack_require__.r(__webpack_exports__);
275
278
  __webpack_require__.d(__webpack_exports__, {
276
- FileTreeView: ()=>_tree_view__rspack_import_73_default.a,
277
- TreeView: ()=>_tree_view__rspack_import_73.TreeView
279
+ FileTreeView: ()=>_tree_view__rspack_import_74_default.a,
280
+ TreeView: ()=>_tree_view__rspack_import_74.TreeView
278
281
  });
279
282
  var _accordion__rspack_import_0 = __webpack_require__("./accordion");
280
283
  var __rspack_reexport = {};
@@ -372,7 +375,7 @@ var __webpack_exports__ = {};
372
375
  "TreeView"
373
376
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_button_group__rspack_import_11[__rspack_import_key];
374
377
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
375
- var _calendar__rspack_import_12 = __webpack_require__("./calendar");
378
+ var _calendar__rspack_import_12 = __webpack_require__("@/components/ui/calendar");
376
379
  var __rspack_reexport = {};
377
380
  for(const __rspack_import_key in _calendar__rspack_import_12)if ([
378
381
  "default",
@@ -380,7 +383,7 @@ var __webpack_exports__ = {};
380
383
  "TreeView"
381
384
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_calendar__rspack_import_12[__rspack_import_key];
382
385
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
383
- var _card__rspack_import_13 = __webpack_require__("./card");
386
+ var _card__rspack_import_13 = __webpack_require__("@/components/ui/card");
384
387
  var __rspack_reexport = {};
385
388
  for(const __rspack_import_key in _card__rspack_import_13)if ([
386
389
  "default",
@@ -404,7 +407,7 @@ var __webpack_exports__ = {};
404
407
  "TreeView"
405
408
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_checkbox__rspack_import_15[__rspack_import_key];
406
409
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
407
- var _collapsible__rspack_import_16 = __webpack_require__("./collapsible");
410
+ var _collapsible__rspack_import_16 = __webpack_require__("@/components/ui/collapsible");
408
411
  var __rspack_reexport = {};
409
412
  for(const __rspack_import_key in _collapsible__rspack_import_16)if ([
410
413
  "default",
@@ -428,7 +431,7 @@ var __webpack_exports__ = {};
428
431
  "TreeView"
429
432
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_command__rspack_import_18[__rspack_import_key];
430
433
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
431
- var _context_menu__rspack_import_19 = __webpack_require__("./context-menu");
434
+ var _context_menu__rspack_import_19 = __webpack_require__("@/components/ui/context-menu");
432
435
  var __rspack_reexport = {};
433
436
  for(const __rspack_import_key in _context_menu__rspack_import_19)if ([
434
437
  "default",
@@ -532,7 +535,7 @@ var __webpack_exports__ = {};
532
535
  "TreeView"
533
536
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_form_field__rspack_import_31[__rspack_import_key];
534
537
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
535
- var _hover_card__rspack_import_32 = __webpack_require__("./hover-card");
538
+ var _hover_card__rspack_import_32 = __webpack_require__("@/components/ui/hover-card");
536
539
  var __rspack_reexport = {};
537
540
  for(const __rspack_import_key in _hover_card__rspack_import_32)if ([
538
541
  "default",
@@ -548,7 +551,7 @@ var __webpack_exports__ = {};
548
551
  "TreeView"
549
552
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_info_tooltip__rspack_import_33[__rspack_import_key];
550
553
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
551
- var _input__rspack_import_34 = __webpack_require__("./input");
554
+ var _input__rspack_import_34 = __webpack_require__("@/components/ui/input");
552
555
  var __rspack_reexport = {};
553
556
  for(const __rspack_import_key in _input__rspack_import_34)if ([
554
557
  "default",
@@ -572,7 +575,7 @@ var __webpack_exports__ = {};
572
575
  "TreeView"
573
576
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_json_tree_view__rspack_import_36[__rspack_import_key];
574
577
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
575
- var _label__rspack_import_37 = __webpack_require__("@/components/ui/label");
578
+ var _label__rspack_import_37 = __webpack_require__("./label");
576
579
  var __rspack_reexport = {};
577
580
  for(const __rspack_import_key in _label__rspack_import_37)if ([
578
581
  "default",
@@ -820,63 +823,71 @@ var __webpack_exports__ = {};
820
823
  "TreeView"
821
824
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_table__rspack_import_67[__rspack_import_key];
822
825
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
823
- var _tabs__rspack_import_68 = __webpack_require__("./tabs");
826
+ var _panel_tabs__rspack_import_68 = __webpack_require__("./panel-tabs");
827
+ var __rspack_reexport = {};
828
+ for(const __rspack_import_key in _panel_tabs__rspack_import_68)if ([
829
+ "default",
830
+ "FileTreeView",
831
+ "TreeView"
832
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_panel_tabs__rspack_import_68[__rspack_import_key];
833
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
834
+ var _tabs__rspack_import_69 = __webpack_require__("./tabs");
824
835
  var __rspack_reexport = {};
825
- for(const __rspack_import_key in _tabs__rspack_import_68)if ([
836
+ for(const __rspack_import_key in _tabs__rspack_import_69)if ([
826
837
  "default",
827
838
  "FileTreeView",
828
839
  "TreeView"
829
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tabs__rspack_import_68[__rspack_import_key];
840
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tabs__rspack_import_69[__rspack_import_key];
830
841
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
831
- var _textarea__rspack_import_69 = __webpack_require__("@/components/ui/textarea");
842
+ var _textarea__rspack_import_70 = __webpack_require__("@/components/ui/textarea");
832
843
  var __rspack_reexport = {};
833
- for(const __rspack_import_key in _textarea__rspack_import_69)if ([
844
+ for(const __rspack_import_key in _textarea__rspack_import_70)if ([
834
845
  "default",
835
846
  "FileTreeView",
836
847
  "TreeView"
837
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_textarea__rspack_import_69[__rspack_import_key];
848
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_textarea__rspack_import_70[__rspack_import_key];
838
849
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
839
- var _toggle__rspack_import_70 = __webpack_require__("@/components/ui/toggle");
850
+ var _toggle__rspack_import_71 = __webpack_require__("@/components/ui/toggle");
840
851
  var __rspack_reexport = {};
841
- for(const __rspack_import_key in _toggle__rspack_import_70)if ([
852
+ for(const __rspack_import_key in _toggle__rspack_import_71)if ([
842
853
  "default",
843
854
  "FileTreeView",
844
855
  "TreeView"
845
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle__rspack_import_70[__rspack_import_key];
856
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle__rspack_import_71[__rspack_import_key];
846
857
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
847
- var _toggle_group__rspack_import_71 = __webpack_require__("./toggle-group");
858
+ var _toggle_group__rspack_import_72 = __webpack_require__("./toggle-group");
848
859
  var __rspack_reexport = {};
849
- for(const __rspack_import_key in _toggle_group__rspack_import_71)if ([
860
+ for(const __rspack_import_key in _toggle_group__rspack_import_72)if ([
850
861
  "default",
851
862
  "FileTreeView",
852
863
  "TreeView"
853
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle_group__rspack_import_71[__rspack_import_key];
864
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_toggle_group__rspack_import_72[__rspack_import_key];
854
865
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
855
- var _tooltip__rspack_import_72 = __webpack_require__("@/components/ui/tooltip");
866
+ var _tooltip__rspack_import_73 = __webpack_require__("@/components/ui/tooltip");
856
867
  var __rspack_reexport = {};
857
- for(const __rspack_import_key in _tooltip__rspack_import_72)if ([
868
+ for(const __rspack_import_key in _tooltip__rspack_import_73)if ([
858
869
  "default",
859
870
  "FileTreeView",
860
871
  "TreeView"
861
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tooltip__rspack_import_72[__rspack_import_key];
872
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_tooltip__rspack_import_73[__rspack_import_key];
862
873
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
863
- var _tree_view__rspack_import_73 = __webpack_require__("./tree-view");
864
- var _tree_view__rspack_import_73_default = /*#__PURE__*/ __webpack_require__.n(_tree_view__rspack_import_73);
865
- var _variable_picker__rspack_import_74 = __webpack_require__("./variable-picker");
874
+ var _tree_view__rspack_import_74 = __webpack_require__("./tree-view");
875
+ var _tree_view__rspack_import_74_default = /*#__PURE__*/ __webpack_require__.n(_tree_view__rspack_import_74);
876
+ var _variable_picker__rspack_import_75 = __webpack_require__("@/components/ui/variable-picker");
866
877
  var __rspack_reexport = {};
867
- for(const __rspack_import_key in _variable_picker__rspack_import_74)if ([
878
+ for(const __rspack_import_key in _variable_picker__rspack_import_75)if ([
868
879
  "default",
869
880
  "FileTreeView",
870
881
  "TreeView"
871
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_picker__rspack_import_74[__rspack_import_key];
882
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_picker__rspack_import_75[__rspack_import_key];
872
883
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
873
- var _variable_value_control__rspack_import_75 = __webpack_require__("./variable-value-control");
884
+ var _variable_value_control__rspack_import_76 = __webpack_require__("./variable-value-control");
874
885
  var __rspack_reexport = {};
875
- for(const __rspack_import_key in _variable_value_control__rspack_import_75)if ([
886
+ for(const __rspack_import_key in _variable_value_control__rspack_import_76)if ([
876
887
  "default",
877
888
  "FileTreeView",
878
889
  "TreeView"
879
- ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_value_control__rspack_import_75[__rspack_import_key];
890
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_variable_value_control__rspack_import_76[__rspack_import_key];
880
891
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
881
892
  })();
882
893
  exports.FileTreeView = __webpack_exports__.FileTreeView;
@@ -66,6 +66,7 @@ export * from './stats-card';
66
66
  export * from './stepper';
67
67
  export * from './switch';
68
68
  export * from './table';
69
+ export * from './panel-tabs';
69
70
  export * from './tabs';
70
71
  export * from './textarea';
71
72
  export * from './toggle';
@@ -67,6 +67,7 @@ export * from "./stats-card.js";
67
67
  export * from "./stepper.js";
68
68
  export * from "./switch.js";
69
69
  export * from "./table.js";
70
+ export * from "./panel-tabs.js";
70
71
  export * from "./tabs.js";
71
72
  export * from "./textarea.js";
72
73
  export * from "./toggle.js";
@@ -127,6 +127,11 @@ export interface NodeDecoration {
127
127
  label?: string;
128
128
  /** Small muted text after the key label (e.g. an identifier). */
129
129
  sublabel?: string;
130
+ /**
131
+ * Shows the sublabel only while the row is hovered or holds focus. It sits
132
+ * in the row's flexible space, so revealing it never moves the trailing cluster.
133
+ */
134
+ sublabelOnHover?: boolean;
130
135
  /** Replaces the type badge's icon and/or color. */
131
136
  badge?: NodeDecorationBadge;
132
137
  /** Small pill rendered next to the key (e.g. "mocked"). */
@@ -135,6 +140,17 @@ export interface NodeDecoration {
135
140
  * Hides the built-in keys/items count on a container row.
136
141
  */
137
142
  hideCount?: boolean;
143
+ /**
144
+ * Hides the value cell on a scalar row, for a row that names something
145
+ * (e.g. a node with no output yet) rather than holding a value.
146
+ */
147
+ hideValue?: boolean;
148
+ /**
149
+ * Content in the row's trailing cluster, between the `start` and `end`
150
+ * actions (e.g. a count). The cluster never shrinks, so it stays in place
151
+ * while the key and sublabel truncate.
152
+ */
153
+ meta?: ReactNode;
138
154
  }
139
155
  /** Context passed to a custom value cell renderer. */
140
156
  export interface RenderValueContext {
@@ -176,6 +192,16 @@ export interface NodeAction {
176
192
  disabled?: boolean;
177
193
  /** Color tone; `error` tints a destructive action. Defaults to neutral. */
178
194
  tone?: NodeDecorationTone;
195
+ /**
196
+ * Keeps the action visible at rest instead of revealing it on row hover.
197
+ * For a row's primary action. Ignored once actions collapse into the menu.
198
+ */
199
+ persistent?: boolean;
200
+ /**
201
+ * Where the action sits in the row's trailing cluster: `start` renders it
202
+ * before the decoration `meta`, `end` (the default) after it.
203
+ */
204
+ placement?: 'start' | 'end';
179
205
  }
180
206
  /** Context passed to `nodeActions`, mirroring the value-cell edit context. */
181
207
  export interface NodeActionContext {