@vuu-ui/vuu-data-react 0.8.14-debug → 0.8.15-debug

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/index.js CHANGED
@@ -964,11 +964,11 @@ var require_react_dom_development = __commonJS({
964
964
  if (true) {
965
965
  (function() {
966
966
  "use strict";
967
- var React36 = __require("react");
967
+ var React35 = __require("react");
968
968
  var _assign = require_object_assign();
969
969
  var Scheduler = require_scheduler();
970
970
  var tracing = require_tracing();
971
- var ReactSharedInternals = React36.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
971
+ var ReactSharedInternals = React35.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
972
972
  function warn(format) {
973
973
  {
974
974
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -1000,7 +1000,7 @@ var require_react_dom_development = __commonJS({
1000
1000
  Function.prototype.apply.call(console[level], console, argsWithFormat);
1001
1001
  }
1002
1002
  }
1003
- if (!React36) {
1003
+ if (!React35) {
1004
1004
  {
1005
1005
  throw Error("ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM.");
1006
1006
  }
@@ -2420,7 +2420,7 @@ var require_react_dom_development = __commonJS({
2420
2420
  var didWarnInvalidChild = false;
2421
2421
  function flattenChildren(children) {
2422
2422
  var content2 = "";
2423
- React36.Children.forEach(children, function(child) {
2423
+ React35.Children.forEach(children, function(child) {
2424
2424
  if (child == null) {
2425
2425
  return;
2426
2426
  }
@@ -2431,7 +2431,7 @@ var require_react_dom_development = __commonJS({
2431
2431
  function validateProps(element, props) {
2432
2432
  {
2433
2433
  if (typeof props.children === "object" && props.children !== null) {
2434
- React36.Children.forEach(props.children, function(child) {
2434
+ React35.Children.forEach(props.children, function(child) {
2435
2435
  if (child == null) {
2436
2436
  return;
2437
2437
  }
@@ -9823,7 +9823,7 @@ var require_react_dom_development = __commonJS({
9823
9823
  }
9824
9824
  var fakeInternalInstance = {};
9825
9825
  var isArray = Array.isArray;
9826
- var emptyRefsObject = new React36.Component().refs;
9826
+ var emptyRefsObject = new React35.Component().refs;
9827
9827
  var didWarnAboutStateAssignmentForComponent;
9828
9828
  var didWarnAboutUninitializedState;
9829
9829
  var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
@@ -19682,7 +19682,7 @@ import { RemoteDataSource as RemoteDataSource3 } from "@vuu-ui/vuu-data";
19682
19682
 
19683
19683
  // ../vuu-shell/src/app-header/AppHeader.tsx
19684
19684
  var import_classnames70 = __toESM(require_classnames());
19685
- import { useCallback as useCallback133 } from "react";
19685
+ import { useCallback as useCallback134 } from "react";
19686
19686
 
19687
19687
  // ../vuu-layout/src/dock-layout/DockLayout.tsx
19688
19688
  var import_classnames2 = __toESM(require_classnames());
@@ -22536,7 +22536,8 @@ var Tooltip = ({
22536
22536
  onMouseEnter,
22537
22537
  onMouseLeave,
22538
22538
  placement,
22539
- status
22539
+ status,
22540
+ style: styleProp
22540
22541
  }) => {
22541
22542
  const position = useAnchoredPosition2({ anchorElement, placement });
22542
22543
  if (position === void 0) {
@@ -22550,7 +22551,7 @@ var Tooltip = ({
22550
22551
  }),
22551
22552
  "data-align": placement,
22552
22553
  id,
22553
- style: position,
22554
+ style: { ...styleProp, ...position },
22554
22555
  children: /* @__PURE__ */ jsx34(
22555
22556
  "span",
22556
22557
  {
@@ -24435,7 +24436,7 @@ var useCollectionItems = ({
24435
24436
  // revealSelected = false,
24436
24437
  source
24437
24438
  }) => {
24438
- var _a4;
24439
+ var _a4, _b;
24439
24440
  const { getItemId } = options;
24440
24441
  const [, forceUpdate] = useState21(null);
24441
24442
  const inheritedCollectionHook = useCollection();
@@ -24443,6 +24444,7 @@ var useCollectionItems = ({
24443
24444
  const flattenedDataRef = useRef22([]);
24444
24445
  const EMPTY_COLLECTION = useMemo17(() => [], []);
24445
24446
  const filterPattern = useRef22((_a4 = options.filterPattern) != null ? _a4 : "");
24447
+ const disableFilter = (_b = options.disableFilter) != null ? _b : false;
24446
24448
  const {
24447
24449
  getFilterRegex = getDefaultFilterRegex,
24448
24450
  noChildrenLabel,
@@ -24454,14 +24456,14 @@ var useCollectionItems = ({
24454
24456
  const addMetadataToItems = useCallback26(
24455
24457
  (items, indexer, level = 1, path = "", results = [], flattenedCollection2 = [], flattenedSource2 = []) => {
24456
24458
  items.forEach((item, i, all) => {
24457
- var _a5, _b;
24459
+ var _a5, _b2;
24458
24460
  const isCollapsibleHeader = item.header && options.collapsibleHeaders;
24459
24461
  const isNonCollapsibleGroupNode = item.childNodes && options.collapsibleHeaders === false;
24460
24462
  const isLeaf3 = !item.childNodes || item.childNodes.length === 0;
24461
24463
  const nonCollapsible = isNonCollapsibleGroupNode || isLeaf3 && !isCollapsibleHeader;
24462
24464
  const childPath = path ? `${path}.${i}` : `item-${i}`;
24463
24465
  const id = (_a5 = item.id) != null ? _a5 : getItemId ? getItemId(i) : `${idRoot}-${childPath}`;
24464
- const expanded = nonCollapsible ? void 0 : (_b = item.expanded) != null ? _b : isExpanded2();
24466
+ const expanded = nonCollapsible ? void 0 : (_b2 = item.expanded) != null ? _b2 : isExpanded2();
24465
24467
  const normalisedItem = {
24466
24468
  ...item,
24467
24469
  childNodes: void 0,
@@ -24496,12 +24498,12 @@ var useCollectionItems = ({
24496
24498
  [options.collapsibleHeaders, getItemId, idRoot, isExpanded2]
24497
24499
  );
24498
24500
  const getFilter = useCallback26(() => {
24499
- if (filterPattern.current) {
24501
+ if (filterPattern.current && !disableFilter) {
24500
24502
  return getDefaultFilter(filterPattern.current, getFilterRegex);
24501
24503
  } else {
24502
24504
  return null;
24503
24505
  }
24504
- }, [getFilterRegex]);
24506
+ }, [disableFilter, getFilterRegex]);
24505
24507
  const collectVisibleItems = useCallback26(
24506
24508
  (items, filter = getFilter(), results = [], idx = { value: 0 }) => {
24507
24509
  let skipToNextHeader = false;
@@ -25759,7 +25761,7 @@ var useSelection = ({
25759
25761
  onSelectionChange,
25760
25762
  selected: selectedProp,
25761
25763
  selectionStrategy,
25762
- selectionKeys = defaultSelectionKeys,
25764
+ selectionKeys: selectionKeys2 = defaultSelectionKeys,
25763
25765
  tabToSelect
25764
25766
  }) => {
25765
25767
  const isDeselectable = selectionStrategy === "deselectable";
@@ -25767,8 +25769,8 @@ var useSelection = ({
25767
25769
  const isExtendedSelect = selectionStrategy === "extended";
25768
25770
  const lastActive = useRef29(-1);
25769
25771
  const isSelectionEvent = useCallback32(
25770
- (evt) => selectionKeys.includes(evt.key),
25771
- [selectionKeys]
25772
+ (evt) => selectionKeys2.includes(evt.key),
25773
+ [selectionKeys2]
25772
25774
  );
25773
25775
  const [selected, setSelected] = useControlled2({
25774
25776
  controlled: selectedProp,
@@ -26160,13 +26162,13 @@ import { forwardRef as forwardRef22 } from "react";
26160
26162
 
26161
26163
  // ../vuu-ui-controls/src/list/CheckboxIcon.tsx
26162
26164
  var import_classnames21 = __toESM(require_classnames());
26163
- import React19 from "react";
26165
+ import { jsx as jsx51 } from "react/jsx-runtime";
26164
26166
  var classBase13 = "vuuCheckboxIcon";
26165
26167
  var CheckboxIcon2 = ({
26166
26168
  checked = false,
26167
26169
  disabled = false,
26168
26170
  ...htmlAttributes
26169
- }) => /* @__PURE__ */ React19.createElement(
26171
+ }) => /* @__PURE__ */ jsx51(
26170
26172
  "span",
26171
26173
  {
26172
26174
  ...htmlAttributes,
@@ -26177,13 +26179,13 @@ var CheckboxIcon2 = ({
26177
26179
  );
26178
26180
 
26179
26181
  // ../vuu-ui-controls/src/list/ListItem.tsx
26180
- import { jsx as jsx51, jsxs as jsxs14 } from "react/jsx-runtime";
26182
+ import { jsx as jsx52, jsxs as jsxs14 } from "react/jsx-runtime";
26181
26183
  var classBase14 = "vuuListItem";
26182
26184
  var ListItemProxy = forwardRef22(function ListItemNextProxy({
26183
26185
  height,
26184
26186
  ...htmlAttributes
26185
26187
  }, forwardedRef) {
26186
- return /* @__PURE__ */ jsx51(
26188
+ return /* @__PURE__ */ jsx52(
26187
26189
  "div",
26188
26190
  {
26189
26191
  ...htmlAttributes,
@@ -26228,8 +26230,8 @@ var ListItem = forwardRef22(
26228
26230
  ref: forwardedRef,
26229
26231
  style,
26230
26232
  children: [
26231
- showCheckbox && /* @__PURE__ */ jsx51(CheckboxIcon2, { "aria-hidden": true, checked: selected }),
26232
- children && typeof children !== "string" ? children : itemTextHighlightPattern == null ? /* @__PURE__ */ jsx51("span", { className: `${classBase14}-textWrapper`, children: label || children }) : /* @__PURE__ */ jsx51(
26233
+ showCheckbox && /* @__PURE__ */ jsx52(CheckboxIcon2, { "aria-hidden": true, checked: selected }),
26234
+ children && typeof children !== "string" ? children : itemTextHighlightPattern == null ? /* @__PURE__ */ jsx52("span", { className: `${classBase14}-textWrapper`, children: label || children }) : /* @__PURE__ */ jsx52(
26233
26235
  Highlighter,
26234
26236
  {
26235
26237
  matchPattern: itemTextHighlightPattern,
@@ -26273,7 +26275,7 @@ import { boxContainsPoint as boxContainsPoint2, dispatchCustomEvent } from "@vuu
26273
26275
  import { useCallback as useCallback35, useRef as useRef32 } from "react";
26274
26276
 
26275
26277
  // ../vuu-ui-controls/src/drag-drop/DragDropProvider.tsx
26276
- import { jsx as jsx52 } from "react/jsx-runtime";
26278
+ import { jsx as jsx53 } from "react/jsx-runtime";
26277
26279
  var NO_DRAG_CONTEXT = {
26278
26280
  isDragSource: void 0,
26279
26281
  isDropTarget: void 0,
@@ -26350,7 +26352,7 @@ import {
26350
26352
  useCallback as useCallback37,
26351
26353
  useMemo as useMemo21
26352
26354
  } from "react";
26353
- import { jsx as jsx53 } from "react/jsx-runtime";
26355
+ import { jsx as jsx54 } from "react/jsx-runtime";
26354
26356
  var makeClassNames = (classNames2) => classNames2.split(" ").map((className) => `vuuDraggable-${className}`);
26355
26357
  var Draggable2 = forwardRef23(
26356
26358
  function Draggable3({ wrapperClassName, element, onDropped, onTransitionEnd, style, scale = 1 }, forwardedRef) {
@@ -26378,13 +26380,13 @@ var Draggable2 = forwardRef23(
26378
26380
  }),
26379
26381
  []
26380
26382
  );
26381
- return /* @__PURE__ */ jsx53(Portal, { children: /* @__PURE__ */ jsx53(
26383
+ return /* @__PURE__ */ jsx54(Portal, { children: /* @__PURE__ */ jsx54(
26382
26384
  PopupComponent,
26383
26385
  {
26384
26386
  anchorElement: { current: document.body },
26385
26387
  placement: "absolute",
26386
26388
  position,
26387
- children: /* @__PURE__ */ jsx53(
26389
+ children: /* @__PURE__ */ jsx54(
26388
26390
  "div",
26389
26391
  {
26390
26392
  className: (0, import_classnames23.default)("vuuDraggable", ...makeClassNames(wrapperClassName)),
@@ -26758,7 +26760,7 @@ var useDropIndicator = () => {
26758
26760
  };
26759
26761
 
26760
26762
  // ../vuu-ui-controls/src/drag-drop/useDragDropIndicator.tsx
26761
- import { jsx as jsx54 } from "react/jsx-runtime";
26763
+ import { jsx as jsx55 } from "react/jsx-runtime";
26762
26764
  var NOT_OVERFLOWED2 = ':not([data-overflowed="true"])';
26763
26765
  var NOT_HIDDEN2 = ':not([aria-hidden="true"])';
26764
26766
  var useDragDropIndicator = ({
@@ -26880,7 +26882,7 @@ var useDragDropIndicator = ({
26880
26882
  height: 2
26881
26883
  };
26882
26884
  setDropIndicator(
26883
- /* @__PURE__ */ jsx54(
26885
+ /* @__PURE__ */ jsx55(
26884
26886
  Draggable2,
26885
26887
  {
26886
26888
  wrapperClassName: "dropIndicatorContainer",
@@ -27407,7 +27409,7 @@ var useDragDropNaturalMovement = ({
27407
27409
  };
27408
27410
 
27409
27411
  // ../vuu-ui-controls/src/drag-drop/useDragDropNext.tsx
27410
- import { jsx as jsx55 } from "react/jsx-runtime";
27412
+ import { jsx as jsx56 } from "react/jsx-runtime";
27411
27413
  var NULL_DRAG_DROP_RESULT = {
27412
27414
  beginDrag: () => void 0,
27413
27415
  drag: () => void 0,
@@ -27752,7 +27754,7 @@ var useDragDropNext = ({
27752
27754
  } = dragElement;
27753
27755
  setDraggableStatus({
27754
27756
  isDragging: true,
27755
- draggable: /* @__PURE__ */ jsx55(
27757
+ draggable: /* @__PURE__ */ jsx56(
27756
27758
  Draggable2,
27757
27759
  {
27758
27760
  element: cloneElement7(dragElement),
@@ -27991,7 +27993,7 @@ var useList = ({
27991
27993
  scrollContainerRef,
27992
27994
  selected,
27993
27995
  selectionStrategy,
27994
- selectionKeys,
27996
+ selectionKeys: selectionKeys2,
27995
27997
  stickyHeaders,
27996
27998
  tabToSelect,
27997
27999
  viewportRange
@@ -28089,7 +28091,7 @@ var useList = ({
28089
28091
  onSelectionChange: handleSelectionChange,
28090
28092
  selected,
28091
28093
  selectionStrategy,
28092
- selectionKeys,
28094
+ selectionKeys: selectionKeys2,
28093
28095
  tabToSelect
28094
28096
  });
28095
28097
  const { handleDrop, onDropSettle } = useListDrop({
@@ -28368,7 +28370,7 @@ var useScrollPosition = ({
28368
28370
  };
28369
28371
 
28370
28372
  // ../vuu-ui-controls/src/list/List.tsx
28371
- import { Fragment as Fragment6, jsx as jsx56, jsxs as jsxs15 } from "react/jsx-runtime";
28373
+ import { Fragment as Fragment6, jsx as jsx57, jsxs as jsxs15 } from "react/jsx-runtime";
28372
28374
  import { createElement as createElement3 } from "react";
28373
28375
  var defaultEmptyMessage = "No data to display";
28374
28376
  var classBase15 = "vuuList";
@@ -28414,7 +28416,7 @@ var List = forwardRef24(function List2({
28414
28416
  checkable = selectionStrategy === "multiple",
28415
28417
  scrollingApiRef,
28416
28418
  // TODO do we still need these ?
28417
- selectionKeys,
28419
+ selectionKeys: selectionKeys2,
28418
28420
  showEmptyMessage = false,
28419
28421
  source,
28420
28422
  style: styleProp,
@@ -28505,7 +28507,7 @@ var List = forwardRef24(function List2({
28505
28507
  scrollContainerRef,
28506
28508
  selected: collectionHook.itemToCollectionItemId(selectedProp),
28507
28509
  selectionStrategy,
28508
- selectionKeys,
28510
+ selectionKeys: selectionKeys2,
28509
28511
  stickyHeaders,
28510
28512
  tabToSelect,
28511
28513
  viewportRange
@@ -28565,7 +28567,7 @@ var List = forwardRef24(function List2({
28565
28567
  showCheckbox: checkable
28566
28568
  };
28567
28569
  list.push(
28568
- isChildItem ? cloneElement8(value, listItemProps) : /* @__PURE__ */ jsx56(ListItem4, { ...listItemProps })
28570
+ isChildItem ? cloneElement8(value, listItemProps) : /* @__PURE__ */ jsx57(ListItem4, { ...listItemProps })
28569
28571
  );
28570
28572
  idx.value += 1;
28571
28573
  }
@@ -28576,7 +28578,7 @@ var List = forwardRef24(function List2({
28576
28578
  renderCollectionItems(items, idx, idx.value + count) || []
28577
28579
  ) : header;
28578
28580
  list.push(
28579
- /* @__PURE__ */ jsx56("div", { role: "group", children: childItems2 }, id2)
28581
+ /* @__PURE__ */ jsx57("div", { role: "group", children: childItems2 }, id2)
28580
28582
  );
28581
28583
  };
28582
28584
  const renderCollectionItems = (items, idx = { value: 0 }, end = items.length) => {
@@ -28597,7 +28599,7 @@ var List = forwardRef24(function List2({
28597
28599
  };
28598
28600
  function renderEmpty() {
28599
28601
  if (emptyMessage || showEmptyMessage) {
28600
- return /* @__PURE__ */ jsx56("span", { className: `${classBase15}-empty-message`, children: emptyMessage != null ? emptyMessage : defaultEmptyMessage });
28602
+ return /* @__PURE__ */ jsx57("span", { className: `${classBase15}-empty-message`, children: emptyMessage != null ? emptyMessage : defaultEmptyMessage });
28601
28603
  } else {
28602
28604
  return null;
28603
28605
  }
@@ -28643,8 +28645,8 @@ var List = forwardRef24(function List2({
28643
28645
  style: { ...styleProp, ...sizeStyles },
28644
28646
  tabIndex: listDisabled || disableFocus ? void 0 : tabIndex,
28645
28647
  children: [
28646
- /* @__PURE__ */ jsx56(ListItemProxy, { ref: rowHeightProxyRef, height: itemHeightProp }),
28647
- collectionHook.data.length === 0 && ListPlaceholder !== void 0 ? /* @__PURE__ */ jsx56(Fragment6, { children: /* @__PURE__ */ jsx56(ListPlaceholder, {}) }) : /* @__PURE__ */ jsx56("div", { className: `${classBase15}-viewport`, ref: scrollContainerRef, children: /* @__PURE__ */ jsxs15(
28648
+ /* @__PURE__ */ jsx57(ListItemProxy, { ref: rowHeightProxyRef, height: itemHeightProp }),
28649
+ collectionHook.data.length === 0 && ListPlaceholder !== void 0 ? /* @__PURE__ */ jsx57(Fragment6, { children: /* @__PURE__ */ jsx57(ListPlaceholder, {}) }) : /* @__PURE__ */ jsx57("div", { className: `${classBase15}-viewport`, ref: scrollContainerRef, children: /* @__PURE__ */ jsxs15(
28648
28650
  "div",
28649
28651
  {
28650
28652
  className: `${classBase15}-scrollingContentContainer`,
@@ -28752,7 +28754,7 @@ var useVirtualization = ({
28752
28754
  };
28753
28755
 
28754
28756
  // ../vuu-ui-controls/src/list/VirtualizedList.tsx
28755
- import { jsx as jsx57, jsxs as jsxs16 } from "react/jsx-runtime";
28757
+ import { jsx as jsx58, jsxs as jsxs16 } from "react/jsx-runtime";
28756
28758
  var defaultEmptyMessage2 = "No data to display";
28757
28759
  var withBaseName11 = makePrefixer("saltList");
28758
28760
  var ListItem3 = memo(ListItem);
@@ -28792,7 +28794,7 @@ var VirtualizedList = forwardRef25(function List3({
28792
28794
  selectionStrategy,
28793
28795
  scrollingApiRef,
28794
28796
  // TODO do we still need these ?
28795
- selectionKeys,
28797
+ selectionKeys: selectionKeys2,
28796
28798
  showEmptyMessage = false,
28797
28799
  source,
28798
28800
  style: styleProp,
@@ -28850,7 +28852,7 @@ var VirtualizedList = forwardRef25(function List3({
28850
28852
  restoreLastFocus,
28851
28853
  selected: collectionHook.itemToCollectionItemId(selectedProp),
28852
28854
  selectionStrategy,
28853
- selectionKeys,
28855
+ selectionKeys: selectionKeys2,
28854
28856
  stickyHeaders,
28855
28857
  tabToSelect
28856
28858
  });
@@ -28877,7 +28879,7 @@ var VirtualizedList = forwardRef25(function List3({
28877
28879
  const [key, offset, pos, item] = row;
28878
28880
  const index = pos - 1;
28879
28881
  list.push(
28880
- /* @__PURE__ */ jsx57(
28882
+ /* @__PURE__ */ jsx58(
28881
28883
  ListItem3,
28882
28884
  {
28883
28885
  "aria-setsize": collectionHook.data.length,
@@ -28910,7 +28912,7 @@ var VirtualizedList = forwardRef25(function List3({
28910
28912
  }
28911
28913
  function renderEmpty() {
28912
28914
  if (emptyMessage || showEmptyMessage) {
28913
- return /* @__PURE__ */ jsx57("span", { className: withBaseName11("empty-message"), children: emptyMessage != null ? emptyMessage : defaultEmptyMessage2 });
28915
+ return /* @__PURE__ */ jsx58("span", { className: withBaseName11("empty-message"), children: emptyMessage != null ? emptyMessage : defaultEmptyMessage2 });
28914
28916
  } else {
28915
28917
  return null;
28916
28918
  }
@@ -28931,7 +28933,7 @@ var VirtualizedList = forwardRef25(function List3({
28931
28933
  maxWidth: maxWidth != null ? maxWidth : width,
28932
28934
  maxHeight: maxHeight != null ? maxHeight : listHeight
28933
28935
  };
28934
- return /* @__PURE__ */ jsx57(
28936
+ return /* @__PURE__ */ jsx58(
28935
28937
  "div",
28936
28938
  {
28937
28939
  ...htmlAttributes,
@@ -28950,7 +28952,7 @@ var VirtualizedList = forwardRef25(function List3({
28950
28952
  className: withBaseName11("scrollingContentContainer"),
28951
28953
  style: { height: contentHeight },
28952
28954
  children: [
28953
- /* @__PURE__ */ jsx57(ListItemProxy, { ref: rowHeightProxyRef }),
28955
+ /* @__PURE__ */ jsx58(ListItemProxy, { ref: rowHeightProxyRef }),
28954
28956
  renderContent()
28955
28957
  ]
28956
28958
  }
@@ -28961,7 +28963,7 @@ var VirtualizedList = forwardRef25(function List3({
28961
28963
 
28962
28964
  // ../vuu-ui-controls/src/list/RadioIcon.tsx
28963
28965
  var import_classnames25 = __toESM(require_classnames());
28964
- import { jsx as jsx58 } from "react/jsx-runtime";
28966
+ import { jsx as jsx59 } from "react/jsx-runtime";
28965
28967
 
28966
28968
  // ../vuu-ui-controls/src/dropdown/useDropdown.ts
28967
28969
  import { useCallback as useCallback50, useMemo as useMemo29 } from "react";
@@ -29062,7 +29064,7 @@ var useDropdown = ({
29062
29064
  };
29063
29065
 
29064
29066
  // ../vuu-ui-controls/src/dropdown/Dropdown.tsx
29065
- import { jsx as jsx59, jsxs as jsxs17 } from "react/jsx-runtime";
29067
+ import { jsx as jsx60, jsxs as jsxs17 } from "react/jsx-runtime";
29066
29068
  var Dropdown2 = forwardRef26(function Dropdown3({
29067
29069
  "aria-label": ariaLabel,
29068
29070
  children,
@@ -29079,7 +29081,7 @@ var Dropdown2 = forwardRef26(function Dropdown3({
29079
29081
  source,
29080
29082
  triggerComponent,
29081
29083
  ListItem: ListItem4,
29082
- ListProps: ListProps5,
29084
+ ListProps: ListProps6,
29083
29085
  width = 180,
29084
29086
  ...props
29085
29087
  }, forwardedRef) {
@@ -29104,14 +29106,14 @@ var Dropdown2 = forwardRef26(function Dropdown3({
29104
29106
  ...dropdownListHook
29105
29107
  } = useDropdown({
29106
29108
  collectionHook,
29107
- defaultHighlightedIndex: ListProps5 == null ? void 0 : ListProps5.defaultHighlightedIndex,
29109
+ defaultHighlightedIndex: ListProps6 == null ? void 0 : ListProps6.defaultHighlightedIndex,
29108
29110
  defaultIsOpen,
29109
29111
  defaultSelected: collectionHook.itemToCollectionItemId(defaultSelected),
29110
- highlightedIndex: ListProps5 == null ? void 0 : ListProps5.highlightedIndex,
29112
+ highlightedIndex: ListProps6 == null ? void 0 : ListProps6.highlightedIndex,
29111
29113
  isOpen: isOpenProp,
29112
29114
  itemToString: itemToString2,
29113
29115
  listRef,
29114
- onHighlight: ListProps5 == null ? void 0 : ListProps5.onHighlight,
29116
+ onHighlight: ListProps6 == null ? void 0 : ListProps6.onHighlight,
29115
29117
  onOpenChange,
29116
29118
  onSelectionChange,
29117
29119
  onSelect,
@@ -29144,7 +29146,7 @@ var Dropdown2 = forwardRef26(function Dropdown3({
29144
29146
  })
29145
29147
  );
29146
29148
  } else {
29147
- return /* @__PURE__ */ jsx59(
29149
+ return /* @__PURE__ */ jsx60(
29148
29150
  DropdownButton,
29149
29151
  {
29150
29152
  label: triggerLabel,
@@ -29154,24 +29156,24 @@ var Dropdown2 = forwardRef26(function Dropdown3({
29154
29156
  );
29155
29157
  }
29156
29158
  };
29157
- return /* @__PURE__ */ jsx59(CollectionProvider, { collectionHook, children: /* @__PURE__ */ jsxs17(
29159
+ return /* @__PURE__ */ jsx60(CollectionProvider, { collectionHook, children: /* @__PURE__ */ jsxs17(
29158
29160
  DropdownBase,
29159
29161
  {
29160
29162
  ...props,
29161
29163
  id,
29162
29164
  isOpen: dropdownListHook.isOpen,
29163
29165
  onOpenChange: dropdownListHook.onOpenChange,
29164
- placement: (ListProps5 == null ? void 0 : ListProps5.width) === void 0 ? "below-full-width" : "below",
29166
+ placement: (ListProps6 == null ? void 0 : ListProps6.width) === void 0 ? "below-full-width" : "below",
29165
29167
  ref: forkedRef,
29166
29168
  width,
29167
29169
  children: [
29168
29170
  getTriggerComponent(),
29169
- /* @__PURE__ */ jsx59(
29171
+ /* @__PURE__ */ jsx60(
29170
29172
  List,
29171
29173
  {
29172
29174
  ListItem: ListItem4,
29173
29175
  itemToString: itemToString2,
29174
- ...ListProps5,
29176
+ ...ListProps6,
29175
29177
  highlightedIndex,
29176
29178
  listHandlers,
29177
29179
  onSelectionChange,
@@ -29194,6 +29196,7 @@ import {
29194
29196
  } from "react";
29195
29197
  var EnterOnly = ["Enter"];
29196
29198
  var useCombobox = ({
29199
+ allowBackspaceClearsSelection,
29197
29200
  allowFreeText,
29198
29201
  ariaLabel,
29199
29202
  collectionHook,
@@ -29203,6 +29206,7 @@ var useCombobox = ({
29203
29206
  onBlur,
29204
29207
  onFocus,
29205
29208
  onChange,
29209
+ onDeselect,
29206
29210
  onSelect,
29207
29211
  id,
29208
29212
  initialHighlightedIndex = -1,
@@ -29215,6 +29219,7 @@ var useCombobox = ({
29215
29219
  onSelectionChange,
29216
29220
  onSetSelectedText,
29217
29221
  selected: selectedProp,
29222
+ selectionKeys: selectionKeys2 = EnterOnly,
29218
29223
  selectionStrategy,
29219
29224
  value: valueProp,
29220
29225
  InputProps: inputProps = {
@@ -29225,7 +29230,7 @@ var useCombobox = ({
29225
29230
  }
29226
29231
  }) => {
29227
29232
  const isMultiSelect = isMultiSelection(selectionStrategy);
29228
- const { setFilterPattern } = collectionHook;
29233
+ const { data, setFilterPattern } = collectionHook;
29229
29234
  const setHighlightedIndexRef = useRef46(null);
29230
29235
  const selectedRef = useRef46(isMultiSelect ? [] : null);
29231
29236
  const ignoreSelectOnFocus = useRef46(true);
@@ -29244,7 +29249,6 @@ var useCombobox = ({
29244
29249
  const highlightSelectedItem = useCallback52((selected2) => {
29245
29250
  var _a4;
29246
29251
  if (Array.isArray(selected2)) {
29247
- console.log("TODO multi selection");
29248
29252
  } else if (selected2 == null) {
29249
29253
  (_a4 = setHighlightedIndexRef.current) == null ? void 0 : _a4.call(setHighlightedIndexRef, -1);
29250
29254
  }
@@ -29342,7 +29346,7 @@ var useCombobox = ({
29342
29346
  setTextValue("", false);
29343
29347
  }
29344
29348
  setIsOpen(open);
29345
- onOpenChange == null ? void 0 : onOpenChange(open);
29349
+ onOpenChange == null ? void 0 : onOpenChange(open, closeReason);
29346
29350
  if (!open && closeReason !== "Escape") {
29347
29351
  if (!selectFreeTextInputValue()) {
29348
29352
  applySelection();
@@ -29385,11 +29389,11 @@ var useCombobox = ({
29385
29389
  disableAriaActiveDescendant,
29386
29390
  disableHighlightOnFocus: true,
29387
29391
  disableTypeToSelect: true,
29392
+ label: "combobox",
29388
29393
  onKeyboardNavigation: handleKeyboardNavigation,
29389
- // onKeyDown: handleInputKeyDown,
29390
29394
  onSelectionChange: handleSelectionChange,
29391
29395
  selected: collectionHook.itemToCollectionItemId(selectedProp),
29392
- selectionKeys: EnterOnly,
29396
+ selectionKeys: selectionKeys2,
29393
29397
  selectionStrategy,
29394
29398
  tabToSelect: !isMultiSelect
29395
29399
  });
@@ -29416,6 +29420,15 @@ var useCombobox = ({
29416
29420
  },
29417
29421
  [setFilterPattern, setIsOpen, setValue]
29418
29422
  );
29423
+ const handleInputKeyDown = useCallback52(
29424
+ (e) => {
29425
+ if (e.key === "Backspace" && allowBackspaceClearsSelection) {
29426
+ selectedRef.current = null;
29427
+ onDeselect == null ? void 0 : onDeselect();
29428
+ }
29429
+ },
29430
+ [allowBackspaceClearsSelection, onDeselect]
29431
+ );
29419
29432
  const { onFocus: inputOnFocus = onFocus } = inputProps;
29420
29433
  const { onFocus: listOnFocus } = listControlProps;
29421
29434
  const handleInputFocus = useCallback52(
@@ -29477,7 +29490,8 @@ var useCombobox = ({
29477
29490
  ...inputProps.inputProps,
29478
29491
  // "aria-owns": listId,
29479
29492
  "aria-label": ariaLabel,
29480
- autoComplete: "off"
29493
+ autoComplete: "off",
29494
+ onKeyDown: handleInputKeyDown
29481
29495
  };
29482
29496
  return {
29483
29497
  focusVisible,
@@ -29509,27 +29523,29 @@ var useCombobox = ({
29509
29523
 
29510
29524
  // ../vuu-ui-controls/src/list/ChevronIcon.tsx
29511
29525
  var import_classnames26 = __toESM(require_classnames());
29512
- import { jsx as jsx60 } from "react/jsx-runtime";
29526
+ import { jsx as jsx61 } from "react/jsx-runtime";
29513
29527
  var classBase16 = "vuuChevronIcon";
29514
29528
  var ChevronIcon = (props) => {
29515
29529
  const { direction, ...htmlAttributes } = props;
29516
- return /* @__PURE__ */ jsx60("span", { ...htmlAttributes, className: (0, import_classnames26.default)(classBase16, direction) });
29530
+ return /* @__PURE__ */ jsx61("span", { ...htmlAttributes, className: (0, import_classnames26.default)(classBase16, direction) });
29517
29531
  };
29518
29532
 
29519
29533
  // ../vuu-ui-controls/src/combo-box/ComboBox.tsx
29520
- import { jsx as jsx61, jsxs as jsxs18 } from "react/jsx-runtime";
29534
+ import { jsx as jsx62, jsxs as jsxs18 } from "react/jsx-runtime";
29521
29535
  var ComboBox = forwardRef27(function Combobox({
29522
29536
  InputProps: InputProps4,
29523
- ListProps: ListProps5,
29537
+ ListProps: ListProps6,
29524
29538
  PopupProps,
29525
29539
  ListItem: ListItem4,
29526
29540
  "aria-label": ariaLabel,
29541
+ allowBackspaceClearsSelection,
29527
29542
  allowFreeText,
29528
29543
  children,
29529
29544
  defaultIsOpen,
29530
29545
  defaultSelected,
29531
29546
  defaultValue,
29532
29547
  disabled,
29548
+ disableFilter,
29533
29549
  onBlur,
29534
29550
  onFocus,
29535
29551
  onChange,
@@ -29541,9 +29557,11 @@ var ComboBox = forwardRef27(function Combobox({
29541
29557
  isOpen: isOpenProp,
29542
29558
  itemToString: itemToString2 = itemToString,
29543
29559
  itemsToString,
29560
+ onDeselect,
29544
29561
  onOpenChange: onOpenChangeProp,
29545
29562
  onSelectionChange,
29546
29563
  selected: selectedProp,
29564
+ selectionKeys: selectionKeys2,
29547
29565
  selectionStrategy,
29548
29566
  source,
29549
29567
  value: valueProp,
@@ -29565,6 +29583,7 @@ var ComboBox = forwardRef27(function Combobox({
29565
29583
  source,
29566
29584
  children,
29567
29585
  options: {
29586
+ disableFilter,
29568
29587
  filterPattern: initialValue,
29569
29588
  getFilterRegex,
29570
29589
  itemToString: itemToString2
@@ -29581,6 +29600,7 @@ var ComboBox = forwardRef27(function Combobox({
29581
29600
  selected
29582
29601
  } = useCombobox({
29583
29602
  InputProps: InputProps4,
29603
+ allowBackspaceClearsSelection,
29584
29604
  allowFreeText,
29585
29605
  ariaLabel,
29586
29606
  collectionHook,
@@ -29593,6 +29613,7 @@ var ComboBox = forwardRef27(function Combobox({
29593
29613
  label: props.title,
29594
29614
  listRef,
29595
29615
  onBlur,
29616
+ onDeselect,
29596
29617
  onFocus,
29597
29618
  onChange,
29598
29619
  onSelect,
@@ -29604,6 +29625,7 @@ var ComboBox = forwardRef27(function Combobox({
29604
29625
  onSelectionChange,
29605
29626
  onSetSelectedText,
29606
29627
  selected: selectedProp,
29628
+ selectionKeys: selectionKeys2,
29607
29629
  selectionStrategy,
29608
29630
  value: initialValue
29609
29631
  });
@@ -29614,14 +29636,14 @@ var ComboBox = forwardRef27(function Combobox({
29614
29636
  onOpenChange(true);
29615
29637
  }
29616
29638
  }, [isOpen, onOpenChange]);
29617
- const endAdornment = endAdornmentProp === null ? null : /* @__PURE__ */ jsx61(
29639
+ const endAdornment = endAdornmentProp === null ? null : /* @__PURE__ */ jsx62(
29618
29640
  ChevronIcon,
29619
29641
  {
29620
29642
  direction: isOpen ? "up" : "down",
29621
29643
  onClick: handleDropdownIconClick
29622
29644
  }
29623
29645
  );
29624
- return /* @__PURE__ */ jsx61(CollectionProvider, { collectionHook, children: /* @__PURE__ */ jsxs18(
29646
+ return /* @__PURE__ */ jsx62(CollectionProvider, { collectionHook, children: /* @__PURE__ */ jsxs18(
29625
29647
  DropdownBase,
29626
29648
  {
29627
29649
  ...props,
@@ -29633,7 +29655,7 @@ var ComboBox = forwardRef27(function Combobox({
29633
29655
  ref: forwardedRef,
29634
29656
  width,
29635
29657
  children: [
29636
- /* @__PURE__ */ jsx61(
29658
+ /* @__PURE__ */ jsx62(
29637
29659
  Input,
29638
29660
  {
29639
29661
  ...inputProps,
@@ -29642,16 +29664,15 @@ var ComboBox = forwardRef27(function Combobox({
29642
29664
  endAdornment
29643
29665
  }
29644
29666
  ),
29645
- /* @__PURE__ */ jsx61(
29667
+ /* @__PURE__ */ jsx62(
29646
29668
  List,
29647
29669
  {
29648
- ...ListProps5,
29670
+ ...ListProps6,
29649
29671
  ListItem: ListItem4,
29650
29672
  defaultSelected: void 0,
29651
29673
  focusVisible,
29652
29674
  highlightedIndex,
29653
29675
  itemTextHighlightPattern: String(inputProps.value) || void 0,
29654
- id: `${id}-list`,
29655
29676
  listHandlers,
29656
29677
  onSelectionChange,
29657
29678
  ref: listRef,
@@ -29668,7 +29689,7 @@ var ComboBox = forwardRef27(function Combobox({
29668
29689
  // ../vuu-ui-controls/src/cycle-state-button/CycleStateButton.tsx
29669
29690
  var import_classnames27 = __toESM(require_classnames());
29670
29691
  import { forwardRef as forwardRef28, useCallback as useCallback54 } from "react";
29671
- import { jsx as jsx62 } from "react/jsx-runtime";
29692
+ import { jsx as jsx63 } from "react/jsx-runtime";
29672
29693
  var classBase17 = "vuuCycleStateButton";
29673
29694
  var getNextValue = (value, valueList) => {
29674
29695
  const index = valueList.indexOf(value.toUpperCase());
@@ -29696,7 +29717,7 @@ var CycleStateButton = forwardRef28(function CycleStateButton2({
29696
29717
  },
29697
29718
  [onCommit, value, values]
29698
29719
  );
29699
- return /* @__PURE__ */ jsx62(
29720
+ return /* @__PURE__ */ jsx63(
29700
29721
  Button,
29701
29722
  {
29702
29723
  ...buttonProps,
@@ -29858,7 +29879,7 @@ import {
29858
29879
  forwardRef as forwardRef29,
29859
29880
  useRef as useRef49
29860
29881
  } from "react";
29861
- import { jsx as jsx63 } from "react/jsx-runtime";
29882
+ import { jsx as jsx64 } from "react/jsx-runtime";
29862
29883
  var classBase18 = "vuuEditableLabel";
29863
29884
  var EditableLabel = forwardRef29(function EditableLabel2({
29864
29885
  className: classNameProp,
@@ -29945,7 +29966,7 @@ var EditableLabel = forwardRef29(function EditableLabel2({
29945
29966
  const className = (0, import_classnames28.default)(classBase18, classNameProp, {
29946
29967
  [`${classBase18}-editing`]: editing
29947
29968
  });
29948
- return /* @__PURE__ */ jsx63(
29969
+ return /* @__PURE__ */ jsx64(
29949
29970
  "div",
29950
29971
  {
29951
29972
  ...restProps,
@@ -29953,7 +29974,7 @@ var EditableLabel = forwardRef29(function EditableLabel2({
29953
29974
  onDoubleClick: handleDoubleClick,
29954
29975
  "data-text": value,
29955
29976
  ref: forwardedRef,
29956
- children: editing ? /* @__PURE__ */ jsx63(
29977
+ children: editing ? /* @__PURE__ */ jsx64(
29957
29978
  Input,
29958
29979
  {
29959
29980
  inputProps: { className: `${classBase18}-input`, spellCheck: false },
@@ -29966,7 +29987,7 @@ var EditableLabel = forwardRef29(function EditableLabel2({
29966
29987
  textAlign: "left",
29967
29988
  variant: "secondary"
29968
29989
  }
29969
- ) : /* @__PURE__ */ jsx63("span", { className: `${classBase18}-label`, children: value })
29990
+ ) : /* @__PURE__ */ jsx64("span", { className: `${classBase18}-label`, children: value })
29970
29991
  }
29971
29992
  );
29972
29993
  });
@@ -29974,7 +29995,7 @@ var EditableLabel = forwardRef29(function EditableLabel2({
29974
29995
  // ../vuu-ui-controls/src/expando-input/ExpandoInput.tsx
29975
29996
  var import_classnames29 = __toESM(require_classnames());
29976
29997
  import { forwardRef as forwardRef30 } from "react";
29977
- import { jsx as jsx64 } from "react/jsx-runtime";
29998
+ import { jsx as jsx65 } from "react/jsx-runtime";
29978
29999
  var classBase19 = "vuuExpandoInput";
29979
30000
  var noop2 = () => void 0;
29980
30001
  var ExpandoInput = forwardRef30(function ExpandoInput2({
@@ -29985,14 +30006,14 @@ var ExpandoInput = forwardRef30(function ExpandoInput2({
29985
30006
  onCommit = noop2,
29986
30007
  ...props
29987
30008
  }, forwardedRef) {
29988
- return /* @__PURE__ */ jsx64(
30009
+ return /* @__PURE__ */ jsx65(
29989
30010
  "div",
29990
30011
  {
29991
30012
  className: (0, import_classnames29.default)(classBase19, classNameProp, {
29992
30013
  [`${classBase19}-error`]: errorMessage
29993
30014
  }),
29994
30015
  "data-text": value,
29995
- children: /* @__PURE__ */ jsx64(
30016
+ children: /* @__PURE__ */ jsx65(
29996
30017
  VuuInput,
29997
30018
  {
29998
30019
  ...props,
@@ -30011,10 +30032,10 @@ var ExpandoInput = forwardRef30(function ExpandoInput2({
30011
30032
  });
30012
30033
 
30013
30034
  // ../vuu-ui-controls/src/inputs/Checkbox.tsx
30014
- import { jsx as jsx65, jsxs as jsxs19 } from "react/jsx-runtime";
30035
+ import { jsx as jsx66, jsxs as jsxs19 } from "react/jsx-runtime";
30015
30036
 
30016
30037
  // ../vuu-ui-controls/src/inputs/RadioButton.tsx
30017
- import { jsx as jsx66, jsxs as jsxs20 } from "react/jsx-runtime";
30038
+ import { jsx as jsx67, jsxs as jsxs20 } from "react/jsx-runtime";
30018
30039
 
30019
30040
  // ../vuu-table/src/header-cell/GroupHeaderCellNext.tsx
30020
30041
  var import_classnames32 = __toESM(require_classnames());
@@ -30022,7 +30043,7 @@ import { useCallback as useCallback60, useRef as useRef52, useState as useState3
30022
30043
 
30023
30044
  // ../vuu-table/src/column-resizing/ColumnResizer.tsx
30024
30045
  import { useCallback as useCallback57, useRef as useRef50 } from "react";
30025
- import { jsx as jsx67 } from "react/jsx-runtime";
30046
+ import { jsx as jsx68 } from "react/jsx-runtime";
30026
30047
  var NOOP = () => void 0;
30027
30048
  var baseClass = "vuuColumnResizerNext";
30028
30049
  var ColumnResizer = ({
@@ -30071,7 +30092,7 @@ var ColumnResizer = ({
30071
30092
  },
30072
30093
  [onDragStart, onMouseMove, onMouseUp]
30073
30094
  );
30074
- return /* @__PURE__ */ jsx67("div", { className: baseClass, onMouseDown: handleMouseDown });
30095
+ return /* @__PURE__ */ jsx68("div", { className: baseClass, onMouseDown: handleMouseDown });
30075
30096
  };
30076
30097
 
30077
30098
  // ../vuu-table/src/column-resizing/useTableColumnResize.tsx
@@ -30150,7 +30171,7 @@ var useCell = (column, classBase50, isHeader3) => (
30150
30171
  // ../vuu-table/src/column-header-pill/ColumnHeaderPill.tsx
30151
30172
  var import_classnames31 = __toESM(require_classnames());
30152
30173
  import { useCallback as useCallback59 } from "react";
30153
- import { jsx as jsx68, jsxs as jsxs21 } from "react/jsx-runtime";
30174
+ import { jsx as jsx69, jsxs as jsxs21 } from "react/jsx-runtime";
30154
30175
  var classBase20 = "vuuColumnHeaderPill";
30155
30176
  var ColumnHeaderPill = ({
30156
30177
  children,
@@ -30175,7 +30196,7 @@ var ColumnHeaderPill = ({
30175
30196
  );
30176
30197
  return /* @__PURE__ */ jsxs21("div", { ...htmlAttributes, className: (0, import_classnames31.default)(classBase20, className), children: [
30177
30198
  children,
30178
- removable ? /* @__PURE__ */ jsx68(
30199
+ removable ? /* @__PURE__ */ jsx69(
30179
30200
  "span",
30180
30201
  {
30181
30202
  className: `${classBase20}-removeButton`,
@@ -30188,7 +30209,7 @@ var ColumnHeaderPill = ({
30188
30209
  };
30189
30210
 
30190
30211
  // ../vuu-table/src/column-header-pill/GroupColumnPill.tsx
30191
- import { jsx as jsx69, jsxs as jsxs22 } from "react/jsx-runtime";
30212
+ import { jsx as jsx70, jsxs as jsxs22 } from "react/jsx-runtime";
30192
30213
  var GroupColumnPill = ({
30193
30214
  column,
30194
30215
  ...columnHeaderProps
@@ -30196,27 +30217,27 @@ var GroupColumnPill = ({
30196
30217
  const { name: name3, sorted } = column;
30197
30218
  const icon = typeof sorted === "number" ? sorted < 0 ? "arrow-down" : "arrow-up" : sorted === "A" ? "arrow-up" : sorted === "D" ? "arrow-down" : void 0;
30198
30219
  return /* @__PURE__ */ jsxs22(ColumnHeaderPill, { ...columnHeaderProps, column, children: [
30199
- /* @__PURE__ */ jsx69("span", { className: "vuuGroupColumnPill-label", children: name3 }),
30200
- icon !== void 0 ? /* @__PURE__ */ jsx69("span", { "data-icon": icon }) : null,
30201
- typeof sorted === "number" ? /* @__PURE__ */ jsx69("span", { className: "vuuSortPosition", children: Math.abs(sorted) }) : null
30220
+ /* @__PURE__ */ jsx70("span", { className: "vuuGroupColumnPill-label", children: name3 }),
30221
+ icon !== void 0 ? /* @__PURE__ */ jsx70("span", { "data-icon": icon }) : null,
30222
+ typeof sorted === "number" ? /* @__PURE__ */ jsx70("span", { className: "vuuSortPosition", children: Math.abs(sorted) }) : null
30202
30223
  ] });
30203
30224
  };
30204
30225
 
30205
30226
  // ../vuu-table/src/column-header-pill/SortIndicator.tsx
30206
- import { jsx as jsx70, jsxs as jsxs23 } from "react/jsx-runtime";
30227
+ import { jsx as jsx71, jsxs as jsxs23 } from "react/jsx-runtime";
30207
30228
  var SortIndicator = ({ column }) => {
30208
30229
  if (!column.sorted) {
30209
30230
  return null;
30210
30231
  }
30211
30232
  const icon = typeof column.sorted === "number" ? column.sorted < 0 ? "arrow-down" : "arrow-up" : column.sorted === "A" ? "arrow-up" : "arrow-down";
30212
30233
  return /* @__PURE__ */ jsxs23(ColumnHeaderPill, { column, children: [
30213
- /* @__PURE__ */ jsx70("span", { "data-icon": icon }),
30214
- typeof column.sorted === "number" ? /* @__PURE__ */ jsx70("span", { className: "vuuSortPosition", children: Math.abs(column.sorted) }) : null
30234
+ /* @__PURE__ */ jsx71("span", { "data-icon": icon }),
30235
+ typeof column.sorted === "number" ? /* @__PURE__ */ jsx71("span", { className: "vuuSortPosition", children: Math.abs(column.sorted) }) : null
30215
30236
  ] });
30216
30237
  };
30217
30238
 
30218
30239
  // ../vuu-table/src/header-cell/GroupHeaderCellNext.tsx
30219
- import { jsx as jsx71, jsxs as jsxs24 } from "react/jsx-runtime";
30240
+ import { jsx as jsx72, jsxs as jsxs24 } from "react/jsx-runtime";
30220
30241
  import { createElement as createElement4 } from "react";
30221
30242
  var classBase21 = "vuuTableGroupHeaderCell";
30222
30243
  var switchIfChanged = (columns, newColumns) => {
@@ -30278,7 +30299,7 @@ var GroupHeaderCellNext = ({
30278
30299
  role: "columnheader",
30279
30300
  style,
30280
30301
  children: [
30281
- /* @__PURE__ */ jsx71(
30302
+ /* @__PURE__ */ jsx72(
30282
30303
  OverflowContainer,
30283
30304
  {
30284
30305
  allowDragDrop: true,
@@ -30298,7 +30319,7 @@ var GroupHeaderCellNext = ({
30298
30319
  })
30299
30320
  }
30300
30321
  ),
30301
- /* @__PURE__ */ jsx71(
30322
+ /* @__PURE__ */ jsx72(
30302
30323
  ColumnHeaderPill,
30303
30324
  {
30304
30325
  column: groupColumn,
@@ -30306,7 +30327,7 @@ var GroupHeaderCellNext = ({
30306
30327
  onRemove: onRemoveColumn
30307
30328
  }
30308
30329
  ),
30309
- groupColumn.resizeable !== false ? /* @__PURE__ */ jsx71(ColumnResizer, { ...resizeProps }) : null
30330
+ groupColumn.resizeable !== false ? /* @__PURE__ */ jsx72(ColumnResizer, { ...resizeProps }) : null
30310
30331
  ]
30311
30332
  }
30312
30333
  );
@@ -30322,7 +30343,7 @@ import {
30322
30343
  useRef as useRef53,
30323
30344
  useState as useState35
30324
30345
  } from "react";
30325
- import { jsx as jsx72 } from "react/jsx-runtime";
30346
+ import { jsx as jsx73 } from "react/jsx-runtime";
30326
30347
  var getPosition4 = (element) => {
30327
30348
  if (element) {
30328
30349
  const { bottom, left } = element.getBoundingClientRect();
@@ -30353,7 +30374,7 @@ var ColumnMenu = ({
30353
30374
  },
30354
30375
  [column, handleMenuClose, showContextMenu2]
30355
30376
  );
30356
- return /* @__PURE__ */ jsx72(
30377
+ return /* @__PURE__ */ jsx73(
30357
30378
  "span",
30358
30379
  {
30359
30380
  ...props,
@@ -30369,7 +30390,7 @@ var ColumnMenu = ({
30369
30390
 
30370
30391
  // ../vuu-table/src/header-cell/HeaderCell.tsx
30371
30392
  var import_classnames34 = __toESM(require_classnames());
30372
- import { jsx as jsx73, jsxs as jsxs25 } from "react/jsx-runtime";
30393
+ import { jsx as jsx74, jsxs as jsxs25 } from "react/jsx-runtime";
30373
30394
  var classBase22 = "vuuTableHeaderCell";
30374
30395
  var HeaderCell = ({
30375
30396
  className: classNameProp,
@@ -30393,10 +30414,10 @@ var HeaderCell = ({
30393
30414
  [isResizing, onClick]
30394
30415
  );
30395
30416
  const { className, style } = useCell(column, classBase22, true);
30396
- const columnMenu = /* @__PURE__ */ jsx73(ColumnMenu, { column });
30397
- const columnLabel = HeaderCellLabelRenderer ? /* @__PURE__ */ jsx73(HeaderCellLabelRenderer, { className: `${classBase22}-label`, column }) : /* @__PURE__ */ jsx73("div", { className: `${classBase22}-label`, children: (_a4 = column.label) != null ? _a4 : column.name });
30398
- const columnContent = HeaderCellContentRenderer ? [/* @__PURE__ */ jsx73(HeaderCellContentRenderer, { column }, "content")] : [];
30399
- const sortIndicator = /* @__PURE__ */ jsx73(SortIndicator, { column });
30417
+ const columnMenu = /* @__PURE__ */ jsx74(ColumnMenu, { column });
30418
+ const columnLabel = HeaderCellLabelRenderer ? /* @__PURE__ */ jsx74(HeaderCellLabelRenderer, { className: `${classBase22}-label`, column }) : /* @__PURE__ */ jsx74("div", { className: `${classBase22}-label`, children: (_a4 = column.label) != null ? _a4 : column.name });
30419
+ const columnContent = HeaderCellContentRenderer ? [/* @__PURE__ */ jsx74(HeaderCellContentRenderer, { column }, "content")] : [];
30420
+ const sortIndicator = /* @__PURE__ */ jsx74(SortIndicator, { column });
30400
30421
  const headerItems = column.align === "right" ? [sortIndicator, columnLabel].concat(columnContent).concat(columnMenu) : [columnMenu, columnLabel, sortIndicator].concat(columnContent);
30401
30422
  return /* @__PURE__ */ jsxs25(
30402
30423
  "div",
@@ -30411,7 +30432,7 @@ var HeaderCell = ({
30411
30432
  style,
30412
30433
  children: [
30413
30434
  ...headerItems,
30414
- column.resizeable !== false ? /* @__PURE__ */ jsx73(ColumnResizer, { ...resizeProps }) : null
30435
+ column.resizeable !== false ? /* @__PURE__ */ jsx74(ColumnResizer, { ...resizeProps }) : null
30415
30436
  ]
30416
30437
  }
30417
30438
  );
@@ -30441,7 +30462,7 @@ import { memo as memo2, useCallback as useCallback65 } from "react";
30441
30462
  // ../vuu-table/src/table-cell/TableCell.tsx
30442
30463
  import { isNumericColumn } from "@vuu-ui/vuu-utils";
30443
30464
  import { useCallback as useCallback63 } from "react";
30444
- import { jsx as jsx74 } from "react/jsx-runtime";
30465
+ import { jsx as jsx75 } from "react/jsx-runtime";
30445
30466
  var classBase23 = "vuuTableCell";
30446
30467
  var TableCell = ({
30447
30468
  column,
@@ -30475,14 +30496,14 @@ var TableCell = ({
30475
30496
  },
30476
30497
  [column, onClick]
30477
30498
  );
30478
- return /* @__PURE__ */ jsx74(
30499
+ return /* @__PURE__ */ jsx75(
30479
30500
  "div",
30480
30501
  {
30481
30502
  className,
30482
30503
  onClick: onClick ? handleClick : void 0,
30483
30504
  role: "cell",
30484
30505
  style,
30485
- children: CellRenderer ? /* @__PURE__ */ jsx74(
30506
+ children: CellRenderer ? /* @__PURE__ */ jsx75(
30486
30507
  CellRenderer,
30487
30508
  {
30488
30509
  column,
@@ -30499,7 +30520,7 @@ var TableCell = ({
30499
30520
  import { getGroupValueAndOffset, metadataKeys as metadataKeys2 } from "@vuu-ui/vuu-utils";
30500
30521
  import { useCallback as useCallback64 } from "react";
30501
30522
  var import_classnames35 = __toESM(require_classnames());
30502
- import { jsx as jsx75, jsxs as jsxs26 } from "react/jsx-runtime";
30523
+ import { jsx as jsx76, jsxs as jsxs26 } from "react/jsx-runtime";
30503
30524
  var { IS_LEAF } = metadataKeys2;
30504
30525
  var classBase24 = "vuuTableGroupCell";
30505
30526
  var TableGroupCell = ({ column, onClick, row }) => {
@@ -30513,7 +30534,7 @@ var TableGroupCell = ({ column, onClick, row }) => {
30513
30534
  [column, onClick]
30514
30535
  );
30515
30536
  const isLeaf3 = row[IS_LEAF];
30516
- const spacers = Array(offset).fill(0).map((n, i) => /* @__PURE__ */ jsx75("span", { className: `${classBase24}-spacer` }, i));
30537
+ const spacers = Array(offset).fill(0).map((n, i) => /* @__PURE__ */ jsx76("span", { className: `${classBase24}-spacer` }, i));
30517
30538
  return /* @__PURE__ */ jsxs26(
30518
30539
  "div",
30519
30540
  {
@@ -30523,15 +30544,15 @@ var TableGroupCell = ({ column, onClick, row }) => {
30523
30544
  onClick: isLeaf3 ? void 0 : handleClick,
30524
30545
  children: [
30525
30546
  spacers,
30526
- isLeaf3 ? null : /* @__PURE__ */ jsx75("span", { className: `${classBase24}-toggle`, "data-icon": "triangle-right" }),
30527
- /* @__PURE__ */ jsx75("span", { children: value })
30547
+ isLeaf3 ? null : /* @__PURE__ */ jsx76("span", { className: `${classBase24}-toggle`, "data-icon": "triangle-right" }),
30548
+ /* @__PURE__ */ jsx76("span", { children: value })
30528
30549
  ]
30529
30550
  }
30530
30551
  );
30531
30552
  };
30532
30553
 
30533
30554
  // ../vuu-table/src/Row.tsx
30534
- import { jsx as jsx76 } from "react/jsx-runtime";
30555
+ import { jsx as jsx77 } from "react/jsx-runtime";
30535
30556
  import { createElement as createElement5 } from "react";
30536
30557
  var { IDX, IS_EXPANDED, SELECTED: SELECTED2 } = metadataKeys3;
30537
30558
  var classBase25 = "vuuTableRow";
@@ -30592,12 +30613,12 @@ var Row2 = memo2(
30592
30613
  onClick: handleRowClick,
30593
30614
  style
30594
30615
  },
30595
- /* @__PURE__ */ jsx76("span", { className: `${classBase25}-selectionDecorator vuuStickyLeft` }),
30616
+ /* @__PURE__ */ jsx77("span", { className: `${classBase25}-selectionDecorator vuuStickyLeft` }),
30596
30617
  columns.filter(isNotHidden).map((column) => {
30597
30618
  const isGroup = isGroupColumn(column);
30598
30619
  const isJsonCell = isJsonColumn(column);
30599
30620
  const Cell = isGroup ? TableGroupCell : TableCell;
30600
- return /* @__PURE__ */ jsx76(
30621
+ return /* @__PURE__ */ jsx77(
30601
30622
  Cell,
30602
30623
  {
30603
30624
  column,
@@ -30609,7 +30630,7 @@ var Row2 = memo2(
30609
30630
  column.key
30610
30631
  );
30611
30632
  }),
30612
- /* @__PURE__ */ jsx76("span", { className: `${classBase25}-selectionDecorator vuuStickyRight` })
30633
+ /* @__PURE__ */ jsx77("span", { className: `${classBase25}-selectionDecorator vuuStickyRight` })
30613
30634
  );
30614
30635
  }
30615
30636
  );
@@ -30665,7 +30686,7 @@ import {
30665
30686
  isValidNumber as isValidNumber3,
30666
30687
  registerComponent as registerComponent4
30667
30688
  } from "@vuu-ui/vuu-utils";
30668
- import { jsx as jsx77, jsxs as jsxs27 } from "react/jsx-runtime";
30689
+ import { jsx as jsx78, jsxs as jsxs27 } from "react/jsx-runtime";
30669
30690
  var classBase26 = "vuuProgressCell";
30670
30691
  var ProgressCell = ({ column, columnMap, row }) => {
30671
30692
  const { type } = column;
@@ -30700,8 +30721,8 @@ var ProgressCell = ({ column, columnMap, row }) => {
30700
30721
  const className = (0, import_classnames37.default)(classBase26, {});
30701
30722
  return /* @__PURE__ */ jsxs27("div", { className, tabIndex: -1, children: [
30702
30723
  showProgress ? /* @__PURE__ */ jsxs27("span", { className: `${classBase26}-track`, children: [
30703
- /* @__PURE__ */ jsx77("span", { className: `${classBase26}-bg` }),
30704
- /* @__PURE__ */ jsx77(
30724
+ /* @__PURE__ */ jsx78("span", { className: `${classBase26}-bg` }),
30725
+ /* @__PURE__ */ jsx78(
30705
30726
  "span",
30706
30727
  {
30707
30728
  className: `${classBase26}-bar`,
@@ -30709,7 +30730,7 @@ var ProgressCell = ({ column, columnMap, row }) => {
30709
30730
  }
30710
30731
  )
30711
30732
  ] }) : null,
30712
- /* @__PURE__ */ jsx77("span", { className: `${classBase26}-text`, children: `${percentage} %` })
30733
+ /* @__PURE__ */ jsx78("span", { className: `${classBase26}-text`, children: `${percentage} %` })
30713
30734
  ] });
30714
30735
  };
30715
30736
  registerComponent4("vuu.progress", ProgressCell, "cell-renderer", {
@@ -30752,7 +30773,7 @@ function useDirection(key, value, column) {
30752
30773
  }
30753
30774
 
30754
30775
  // ../vuu-table-extras/src/cell-renderers-next/background-cell/BackgroundCell.tsx
30755
- import { jsx as jsx78, jsxs as jsxs28 } from "react/jsx-runtime";
30776
+ import { jsx as jsx79, jsxs as jsxs28 } from "react/jsx-runtime";
30756
30777
  var CHAR_ARROW_UP = String.fromCharCode(11014);
30757
30778
  var CHAR_ARROW_DOWN = String.fromCharCode(11015);
30758
30779
  var { KEY } = metadataKeys4;
@@ -30784,7 +30805,7 @@ var BackgroundCell = ({ column, columnMap, row }) => {
30784
30805
  [`${classBase27}-arrowBackground`]: flashStyle === FlashStyle.ArrowBackground
30785
30806
  });
30786
30807
  return /* @__PURE__ */ jsxs28("div", { className, tabIndex: -1, children: [
30787
- /* @__PURE__ */ jsx78("div", { className: `${classBase27}-flasher`, children: arrow }),
30808
+ /* @__PURE__ */ jsx79("div", { className: `${classBase27}-flasher`, children: arrow }),
30788
30809
  valueFormatter(row[dataIdx])
30789
30810
  ] });
30790
30811
  };
@@ -30805,7 +30826,7 @@ import {
30805
30826
  registerConfigurationEditor
30806
30827
  } from "@vuu-ui/vuu-utils";
30807
30828
  import { useCallback as useCallback66, useState as useState36 } from "react";
30808
- import { jsx as jsx79, jsxs as jsxs29 } from "react/jsx-runtime";
30829
+ import { jsx as jsx80, jsxs as jsxs29 } from "react/jsx-runtime";
30809
30830
  var classBase28 = "vuuBackgroundCellConfiguration";
30810
30831
  var flashOptions = [
30811
30832
  { label: "Background Only", value: "bg-only" },
@@ -30837,8 +30858,8 @@ var BackgroundCellConfigurationEditor = ({
30837
30858
  [column.type, onChangeRendering]
30838
30859
  );
30839
30860
  return /* @__PURE__ */ jsxs29(FormField, { children: [
30840
- /* @__PURE__ */ jsx79(FormFieldLabel, { children: "Flash Style" }),
30841
- /* @__PURE__ */ jsx79(
30861
+ /* @__PURE__ */ jsx80(FormFieldLabel, { children: "Flash Style" }),
30862
+ /* @__PURE__ */ jsx80(
30842
30863
  Dropdown2,
30843
30864
  {
30844
30865
  className: `${classBase28}-flashStyle`,
@@ -30861,7 +30882,7 @@ import {
30861
30882
  useCallback as useCallback67
30862
30883
  } from "react";
30863
30884
  import { getColumnLabel } from "@vuu-ui/vuu-utils";
30864
- import { jsx as jsx80, jsxs as jsxs30 } from "react/jsx-runtime";
30885
+ import { jsx as jsx81, jsxs as jsxs30 } from "react/jsx-runtime";
30865
30886
 
30866
30887
  // ../vuu-table-extras/src/column-settings/ColumnSettingsPanel.tsx
30867
30888
  import {
@@ -50786,7 +50807,7 @@ var useColumnExpressionEditor = ({
50786
50807
  };
50787
50808
 
50788
50809
  // ../vuu-table-extras/src/column-expression-input/ColumnExpressionInput.tsx
50789
- import { jsx as jsx81 } from "react/jsx-runtime";
50810
+ import { jsx as jsx82 } from "react/jsx-runtime";
50790
50811
  var classBase29 = "vuuColumnExpressionInput";
50791
50812
  var ColumnExpressionInput = memo3(
50792
50813
  ({
@@ -50801,7 +50822,7 @@ var ColumnExpressionInput = memo3(
50801
50822
  source,
50802
50823
  suggestionProvider
50803
50824
  });
50804
- return /* @__PURE__ */ jsx81("div", { className: `${classBase29}`, onBlur, ref: editorRef });
50825
+ return /* @__PURE__ */ jsx82("div", { className: `${classBase29}`, onBlur, ref: editorRef });
50805
50826
  },
50806
50827
  (prevProps, newProps) => {
50807
50828
  return prevProps.source === newProps.source;
@@ -51173,7 +51194,7 @@ import {
51173
51194
  import { useCallback as useCallback71, useRef as useRef58, useState as useState37 } from "react";
51174
51195
 
51175
51196
  // ../vuu-table-extras/src/column-expression-panel/ColumnExpressionPanel.tsx
51176
- import { jsx as jsx82, jsxs as jsxs31 } from "react/jsx-runtime";
51197
+ import { jsx as jsx83, jsxs as jsxs31 } from "react/jsx-runtime";
51177
51198
 
51178
51199
  // ../vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.tsx
51179
51200
  import {
@@ -51191,10 +51212,10 @@ import {
51191
51212
  useCallback as useCallback73,
51192
51213
  useState as useState38
51193
51214
  } from "react";
51194
- import { jsx as jsx83, jsxs as jsxs32 } from "react/jsx-runtime";
51215
+ import { jsx as jsx84, jsxs as jsxs32 } from "react/jsx-runtime";
51195
51216
 
51196
51217
  // ../vuu-table-extras/src/column-formatting-settings/ColumnFormattingPanel.tsx
51197
- import { jsx as jsx84, jsxs as jsxs33 } from "react/jsx-runtime";
51218
+ import { jsx as jsx85, jsxs as jsxs33 } from "react/jsx-runtime";
51198
51219
 
51199
51220
  // ../vuu-table-extras/src/column-settings/ColumnNameLabel.tsx
51200
51221
  var import_classnames41 = __toESM(require_classnames(), 1);
@@ -51202,7 +51223,7 @@ import {
51202
51223
  getCalculatedColumnDetails as getCalculatedColumnDetails2,
51203
51224
  isCalculatedColumn
51204
51225
  } from "@vuu-ui/vuu-utils";
51205
- import { jsx as jsx85, jsxs as jsxs34 } from "react/jsx-runtime";
51226
+ import { jsx as jsx86, jsxs as jsxs34 } from "react/jsx-runtime";
51206
51227
 
51207
51228
  // ../vuu-table-extras/src/column-settings/useColumnSettings.ts
51208
51229
  import {
@@ -51246,12 +51267,12 @@ var stringCellRenderers = [
51246
51267
  ];
51247
51268
 
51248
51269
  // ../vuu-table-extras/src/column-settings/ColumnSettingsPanel.tsx
51249
- import { jsx as jsx86, jsxs as jsxs35 } from "react/jsx-runtime";
51270
+ import { jsx as jsx87, jsxs as jsxs35 } from "react/jsx-runtime";
51250
51271
 
51251
51272
  // ../vuu-table-extras/src/datasource-stats/DatasourceStats.tsx
51252
51273
  var import_classnames43 = __toESM(require_classnames(), 1);
51253
51274
  import { useEffect as useEffect17, useState as useState40 } from "react";
51254
- import { jsx as jsx87, jsxs as jsxs36 } from "react/jsx-runtime";
51275
+ import { jsx as jsx88, jsxs as jsxs36 } from "react/jsx-runtime";
51255
51276
  var numberFormatter = new Intl.NumberFormat();
51256
51277
 
51257
51278
  // ../vuu-table-extras/src/table-settings/useTableSettings.ts
@@ -51268,7 +51289,7 @@ import {
51268
51289
  } from "react";
51269
51290
 
51270
51291
  // ../vuu-table-extras/src/table-settings/TableSettingsPanel.tsx
51271
- import { jsx as jsx88, jsxs as jsxs37 } from "react/jsx-runtime";
51292
+ import { jsx as jsx89, jsxs as jsxs37 } from "react/jsx-runtime";
51272
51293
 
51273
51294
  // ../vuu-table-extras/src/useTableAndColumnSettings.ts
51274
51295
  import { getCalculatedColumnType as getCalculatedColumnType2 } from "@vuu-ui/vuu-utils";
@@ -51442,26 +51463,6 @@ var buildContextMenuDescriptors = (dataSource) => (location, options) => {
51442
51463
  label: `DataGrid Settings`,
51443
51464
  options
51444
51465
  });
51445
- } else if (location === "filter") {
51446
- const { column, filter } = options;
51447
- const colIsOnlyFilter = (filter == null ? void 0 : filter.column) === (column == null ? void 0 : column.name);
51448
- descriptors.push({
51449
- label: "Edit filter",
51450
- action: "filter-edit",
51451
- options
51452
- });
51453
- descriptors.push({
51454
- label: "Remove filter",
51455
- action: "filter-remove-column",
51456
- options
51457
- });
51458
- if (column && !colIsOnlyFilter) {
51459
- descriptors.push({
51460
- label: `Remove all filters`,
51461
- action: "remove-filters",
51462
- options
51463
- });
51464
- }
51465
51466
  }
51466
51467
  return descriptors;
51467
51468
  };
@@ -52398,7 +52399,7 @@ var NO_SELECTION = [];
52398
52399
  var defaultSelectionKeys2 = ["Enter", " "];
52399
52400
  var useSelection2 = ({
52400
52401
  highlightedIndexRef,
52401
- selectionKeys = defaultSelectionKeys2,
52402
+ selectionKeys: selectionKeys2 = defaultSelectionKeys2,
52402
52403
  selectionModel,
52403
52404
  onSelect,
52404
52405
  onSelectionChange
@@ -52407,8 +52408,8 @@ var useSelection2 = ({
52407
52408
  const lastActiveRef = useRef65(-1);
52408
52409
  const selectedRef = useRef65(NO_SELECTION);
52409
52410
  const isSelectionEvent = useCallback81(
52410
- (evt) => selectionKeys.includes(evt.key),
52411
- [selectionKeys]
52411
+ (evt) => selectionKeys2.includes(evt.key),
52412
+ [selectionKeys2]
52412
52413
  );
52413
52414
  const handleRowClick = useCallback81(
52414
52415
  (row, rangeSelect, keepExistingSelection) => {
@@ -53725,7 +53726,7 @@ var useTableHeader = ({
53725
53726
  };
53726
53727
 
53727
53728
  // ../vuu-table/src/table-header/TableHeader.tsx
53728
- import { jsx as jsx89, jsxs as jsxs38 } from "react/jsx-runtime";
53729
+ import { jsx as jsx90, jsxs as jsxs38 } from "react/jsx-runtime";
53729
53730
  var TableHeader = ({
53730
53731
  classBase: classBase50 = "vuuTable",
53731
53732
  columns,
@@ -53751,10 +53752,10 @@ var TableHeader = ({
53751
53752
  tableConfig
53752
53753
  });
53753
53754
  return /* @__PURE__ */ jsxs38("div", { className: `${classBase50}-col-headings`, ref: containerRef, children: [
53754
- headings.map((colHeaders, i) => /* @__PURE__ */ jsx89("div", { className: "vuuTable-heading", children: colHeaders.map(({ label, width }, j) => /* @__PURE__ */ jsx89("div", { className: "vuuTable-headingCell", style: { width }, children: label }, j)) }, i)),
53755
+ headings.map((colHeaders, i) => /* @__PURE__ */ jsx90("div", { className: "vuuTable-heading", children: colHeaders.map(({ label, width }, j) => /* @__PURE__ */ jsx90("div", { className: "vuuTable-headingCell", style: { width }, children: label }, j)) }, i)),
53755
53756
  /* @__PURE__ */ jsxs38("div", { className: `${classBase50}-col-headers`, role: "row", children: [
53756
53757
  columns.filter(isNotHidden2).map(
53757
- (col, i) => isGroupColumn4(col) ? /* @__PURE__ */ jsx89(
53758
+ (col, i) => isGroupColumn4(col) ? /* @__PURE__ */ jsx90(
53758
53759
  GroupHeaderCellNext,
53759
53760
  {
53760
53761
  column: col,
@@ -53764,7 +53765,7 @@ var TableHeader = ({
53764
53765
  onResize: onResizeColumn
53765
53766
  },
53766
53767
  col.name
53767
- ) : /* @__PURE__ */ jsx89(
53768
+ ) : /* @__PURE__ */ jsx90(
53768
53769
  HeaderCell,
53769
53770
  {
53770
53771
  className: (0, import_classnames44.default)({
@@ -53786,7 +53787,7 @@ var TableHeader = ({
53786
53787
  };
53787
53788
 
53788
53789
  // ../vuu-table/src/Table.tsx
53789
- import { jsx as jsx90, jsxs as jsxs39 } from "react/jsx-runtime";
53790
+ import { jsx as jsx91, jsxs as jsxs39 } from "react/jsx-runtime";
53790
53791
  var classBase30 = "vuuTable";
53791
53792
  var { IDX: IDX3, RENDER_IDX } = metadataKeys9;
53792
53793
  var TableCore = ({
@@ -53889,16 +53890,16 @@ var TableCore = ({
53889
53890
  menuActionHandler: handleContextMenuAction,
53890
53891
  menuBuilder,
53891
53892
  children: [
53892
- /* @__PURE__ */ jsx90(
53893
+ /* @__PURE__ */ jsx91(
53893
53894
  "div",
53894
53895
  {
53895
53896
  className: `${classBase30}-scrollbarContainer`,
53896
53897
  ref: scrollProps.scrollbarContainerRef,
53897
53898
  style: cssVariables,
53898
- children: /* @__PURE__ */ jsx90("div", { className: `${classBase30}-scrollbarContent` })
53899
+ children: /* @__PURE__ */ jsx91("div", { className: `${classBase30}-scrollbarContent` })
53899
53900
  }
53900
53901
  ),
53901
- /* @__PURE__ */ jsx90(
53902
+ /* @__PURE__ */ jsx91(
53902
53903
  "div",
53903
53904
  {
53904
53905
  className,
@@ -53911,7 +53912,7 @@ var TableCore = ({
53911
53912
  className: `${classBase30}-table`,
53912
53913
  tabIndex: disableFocus ? void 0 : -1,
53913
53914
  children: [
53914
- showColumnHeaders ? /* @__PURE__ */ jsx90(
53915
+ showColumnHeaders ? /* @__PURE__ */ jsx91(
53915
53916
  TableHeader,
53916
53917
  {
53917
53918
  columns,
@@ -53925,7 +53926,7 @@ var TableCore = ({
53925
53926
  tableId: id
53926
53927
  }
53927
53928
  ) : null,
53928
- /* @__PURE__ */ jsx90("div", { className: `${classBase30}-body`, children: data.map((data2) => /* @__PURE__ */ jsx90(
53929
+ /* @__PURE__ */ jsx91("div", { className: `${classBase30}-body`, children: data.map((data2) => /* @__PURE__ */ jsx91(
53929
53930
  Row3,
53930
53931
  {
53931
53932
  columnMap,
@@ -53980,7 +53981,7 @@ var Table = forwardRef31(function TableNext({
53980
53981
  }, forwardedRef) {
53981
53982
  const containerRef = useRef70(null);
53982
53983
  const [size, setSize] = useState45();
53983
- return /* @__PURE__ */ jsx90(
53984
+ return /* @__PURE__ */ jsx91(
53984
53985
  MeasuredContainer,
53985
53986
  {
53986
53987
  ...htmlAttributes,
@@ -53988,7 +53989,7 @@ var Table = forwardRef31(function TableNext({
53988
53989
  id,
53989
53990
  onResize: setSize,
53990
53991
  ref: useForkRef(containerRef, forwardedRef),
53991
- children: size ? /* @__PURE__ */ jsx90(
53992
+ children: size ? /* @__PURE__ */ jsx91(
53992
53993
  TableCore,
53993
53994
  {
53994
53995
  Row: Row3,
@@ -54030,7 +54031,7 @@ var dataAndColumnUnchanged = (p, p1) => p.column === p1.column && p.row[p.column
54030
54031
 
54031
54032
  // ../vuu-table/src/cell-renderers/checkbox-cell/CheckboxCell.tsx
54032
54033
  import { dispatchCustomEvent as dispatchCustomEvent4, registerComponent as registerComponent6 } from "@vuu-ui/vuu-utils";
54033
- import { jsx as jsx91 } from "react/jsx-runtime";
54034
+ import { jsx as jsx92 } from "react/jsx-runtime";
54034
54035
  var CheckboxCell = memo4(
54035
54036
  ({ column, columnMap, onCommit = WarnCommit, row }) => {
54036
54037
  const dataIdx = columnMap[column.name];
@@ -54045,7 +54046,7 @@ var CheckboxCell = memo4(
54045
54046
  },
54046
54047
  [onCommit]
54047
54048
  );
54048
- return !!column.editable ? /* @__PURE__ */ jsx91(Checkbox, { checked: isChecked, onClick: handleCommit(!isChecked) }) : /* @__PURE__ */ jsx91(CheckboxIcon2, { checked: isChecked, disabled: true });
54049
+ return !!column.editable ? /* @__PURE__ */ jsx92(Checkbox, { checked: isChecked, onClick: handleCommit(!isChecked) }) : /* @__PURE__ */ jsx92(CheckboxIcon2, { checked: isChecked, disabled: true });
54049
54050
  },
54050
54051
  dataAndColumnUnchanged
54051
54052
  );
@@ -54057,7 +54058,7 @@ registerComponent6("checkbox-cell", CheckboxCell, "cell-renderer", {
54057
54058
  // ../vuu-table/src/cell-renderers/dropdown-cell/DropdownCell.tsx
54058
54059
  import { dispatchCustomEvent as dispatchCustomEvent5, registerComponent as registerComponent7 } from "@vuu-ui/vuu-utils";
54059
54060
  import { memo as memo5, useCallback as useCallback89, useState as useState46 } from "react";
54060
- import { jsx as jsx92 } from "react/jsx-runtime";
54061
+ import { jsx as jsx93 } from "react/jsx-runtime";
54061
54062
  var classBase31 = "vuuTableDropdownCell";
54062
54063
  var openKeys = ["Enter", " "];
54063
54064
  var DropdownCell = memo5(
@@ -54083,7 +54084,7 @@ var DropdownCell = memo5(
54083
54084
  },
54084
54085
  [onCommit]
54085
54086
  );
54086
- return /* @__PURE__ */ jsx92(
54087
+ return /* @__PURE__ */ jsx93(
54087
54088
  Dropdown2,
54088
54089
  {
54089
54090
  className: classBase31,
@@ -54102,7 +54103,7 @@ registerComponent7("dropdown-cell", DropdownCell, "cell-renderer", {});
54102
54103
  // ../vuu-table/src/cell-renderers/input-cell/InputCell.tsx
54103
54104
  import { registerComponent as registerComponent8 } from "@vuu-ui/vuu-utils";
54104
54105
  var import_classnames46 = __toESM(require_classnames());
54105
- import { jsx as jsx93 } from "react/jsx-runtime";
54106
+ import { jsx as jsx94 } from "react/jsx-runtime";
54106
54107
  var classBase32 = "vuuTableInputCell";
54107
54108
  var WarnCommit2 = () => {
54108
54109
  console.warn(
@@ -54127,9 +54128,9 @@ var InputCell = ({
54127
54128
  onCommit,
54128
54129
  clientSideEditValidationCheck
54129
54130
  });
54130
- const endAdornment = warningMessage && align === "left" ? /* @__PURE__ */ jsx93("span", { className: `${classBase32}-icon`, "data-icon": "error" }) : void 0;
54131
- const startAdornment = warningMessage && align === "right" ? /* @__PURE__ */ jsx93("span", { className: `${classBase32}-icon`, "data-icon": "error" }) : void 0;
54132
- return /* @__PURE__ */ jsx93(
54131
+ const endAdornment = warningMessage && align === "left" ? /* @__PURE__ */ jsx94("span", { className: `${classBase32}-icon`, "data-icon": "error" }) : void 0;
54132
+ const startAdornment = warningMessage && align === "right" ? /* @__PURE__ */ jsx94("span", { className: `${classBase32}-icon`, "data-icon": "error" }) : void 0;
54133
+ return /* @__PURE__ */ jsx94(
54133
54134
  Input,
54134
54135
  {
54135
54136
  ...editProps,
@@ -54146,7 +54147,7 @@ registerComponent8("input-cell", InputCell, "cell-renderer", {});
54146
54147
  // ../vuu-table/src/cell-renderers/lookup-cell/LookupCell.tsx
54147
54148
  import { registerComponent as registerComponent9 } from "@vuu-ui/vuu-utils";
54148
54149
  import { memo as memo6 } from "react";
54149
- import { jsx as jsx94 } from "react/jsx-runtime";
54150
+ import { jsx as jsx95 } from "react/jsx-runtime";
54150
54151
  var LookupCell = memo6(
54151
54152
  function LookupCell2({
54152
54153
  column,
@@ -54155,7 +54156,7 @@ var LookupCell = memo6(
54155
54156
  }) {
54156
54157
  const dataIdx = columnMap[column.name];
54157
54158
  const { initialValue: value } = useLookupValues(column, row[dataIdx]);
54158
- return /* @__PURE__ */ jsx94("span", { children: value == null ? void 0 : value.label });
54159
+ return /* @__PURE__ */ jsx95("span", { children: value == null ? void 0 : value.label });
54159
54160
  },
54160
54161
  dataAndColumnUnchanged
54161
54162
  );
@@ -54170,7 +54171,7 @@ import {
54170
54171
  registerComponent as registerComponent10
54171
54172
  } from "@vuu-ui/vuu-utils";
54172
54173
  import { memo as memo7, useCallback as useCallback90 } from "react";
54173
- import { jsx as jsx95 } from "react/jsx-runtime";
54174
+ import { jsx as jsx96 } from "react/jsx-runtime";
54174
54175
  var classBase33 = "vuuTableToggleCell";
54175
54176
  var getValueList = ({ name: name3, type }) => {
54176
54177
  if (isTypeDescriptor5(type) && isValueListRenderer(type.renderer)) {
@@ -54202,7 +54203,7 @@ var ToggleCell = memo7(
54202
54203
  },
54203
54204
  [onCommit]
54204
54205
  );
54205
- return /* @__PURE__ */ jsx95(
54206
+ return /* @__PURE__ */ jsx96(
54206
54207
  CycleStateButton,
54207
54208
  {
54208
54209
  className: (0, import_classnames47.default)(classBase33, `${classBase33}-${column.name}`),
@@ -54262,7 +54263,7 @@ import { forwardRef as forwardRef32, useMemo as useMemo40 } from "react";
54262
54263
 
54263
54264
  // ../vuu-ui-controls/src/instrument-picker/SearchCell.tsx
54264
54265
  import { registerComponent as registerComponent11 } from "@vuu-ui/vuu-utils";
54265
- import { jsx as jsx96, jsxs as jsxs40 } from "react/jsx-runtime";
54266
+ import { jsx as jsx97, jsxs as jsxs40 } from "react/jsx-runtime";
54266
54267
  var classBase34 = "vuuSearchCell";
54267
54268
  var SearchCell = ({
54268
54269
  column,
@@ -54272,7 +54273,7 @@ var SearchCell = ({
54272
54273
  const key = columnMap[column.name];
54273
54274
  const value = row[key];
54274
54275
  return /* @__PURE__ */ jsxs40("div", { className: classBase34, tabIndex: -1, children: [
54275
- /* @__PURE__ */ jsx96("span", { "data-icon": "draggable" }),
54276
+ /* @__PURE__ */ jsx97("span", { "data-icon": "draggable" }),
54276
54277
  value
54277
54278
  ] });
54278
54279
  };
@@ -54364,7 +54365,7 @@ var useInstrumentPicker = ({
54364
54365
  };
54365
54366
 
54366
54367
  // ../vuu-ui-controls/src/instrument-picker/InstrumentPicker.tsx
54367
- import { jsx as jsx97, jsxs as jsxs41 } from "react/jsx-runtime";
54368
+ import { jsx as jsx98, jsxs as jsxs41 } from "react/jsx-runtime";
54368
54369
  var classBase35 = "vuuInstrumentPicker";
54369
54370
  var InstrumentPicker = forwardRef32(function InstrumentPicker2({
54370
54371
  TableProps: { dataSource, ...TableProps3 },
@@ -54398,7 +54399,7 @@ var InstrumentPicker = forwardRef32(function InstrumentPicker2({
54398
54399
  onSelect,
54399
54400
  searchColumns
54400
54401
  });
54401
- const endAdornment = useMemo40(() => /* @__PURE__ */ jsx97("span", { "data-icon": "chevron-down" }), []);
54402
+ const endAdornment = useMemo40(() => /* @__PURE__ */ jsx98("span", { "data-icon": "chevron-down" }), []);
54402
54403
  const tableProps = {
54403
54404
  ...TableProps3,
54404
54405
  config: {
@@ -54419,7 +54420,7 @@ var InstrumentPicker = forwardRef32(function InstrumentPicker2({
54419
54420
  ref: forwardedRef,
54420
54421
  width,
54421
54422
  children: [
54422
- /* @__PURE__ */ jsx97(
54423
+ /* @__PURE__ */ jsx98(
54423
54424
  Input,
54424
54425
  {
54425
54426
  ...inputProps,
@@ -54428,7 +54429,7 @@ var InstrumentPicker = forwardRef32(function InstrumentPicker2({
54428
54429
  value
54429
54430
  }
54430
54431
  ),
54431
- /* @__PURE__ */ jsx97(
54432
+ /* @__PURE__ */ jsx98(
54432
54433
  Table,
54433
54434
  {
54434
54435
  rowHeight: 25,
@@ -54455,7 +54456,7 @@ import { useCallback as useCallback94 } from "react";
54455
54456
 
54456
54457
  // ../vuu-ui-controls/src/instrument-search/SearchCell.tsx
54457
54458
  import { registerComponent as registerComponent12 } from "@vuu-ui/vuu-utils";
54458
- import { jsx as jsx98, jsxs as jsxs42 } from "react/jsx-runtime";
54459
+ import { jsx as jsx99, jsxs as jsxs42 } from "react/jsx-runtime";
54459
54460
  var classBase36 = "vuuSearchCell";
54460
54461
  var SearchCell2 = ({
54461
54462
  column,
@@ -54465,7 +54466,7 @@ var SearchCell2 = ({
54465
54466
  const key = columnMap[column.name];
54466
54467
  const value = row[key];
54467
54468
  return /* @__PURE__ */ jsxs42("div", { className: classBase36, tabIndex: -1, children: [
54468
- /* @__PURE__ */ jsx98("span", { "data-icon": "draggable" }),
54469
+ /* @__PURE__ */ jsx99("span", { "data-icon": "draggable" }),
54469
54470
  value
54470
54471
  ] });
54471
54472
  };
@@ -54538,7 +54539,7 @@ var useInstrumentSearch = ({
54538
54539
  };
54539
54540
 
54540
54541
  // ../vuu-ui-controls/src/instrument-search/InstrumentSearch.tsx
54541
- import { jsx as jsx99, jsxs as jsxs43 } from "react/jsx-runtime";
54542
+ import { jsx as jsx100, jsxs as jsxs43 } from "react/jsx-runtime";
54542
54543
  var classBase37 = "vuuInstrumentSearch";
54543
54544
  var defaultTableConfig = {
54544
54545
  columns: [
@@ -54556,7 +54557,7 @@ var defaultTableConfig = {
54556
54557
  ],
54557
54558
  rowSeparators: true
54558
54559
  };
54559
- var searchIcon = /* @__PURE__ */ jsx99("span", { "data-icon": "search" });
54560
+ var searchIcon = /* @__PURE__ */ jsx100("span", { "data-icon": "search" });
54560
54561
  var InstrumentSearch = ({
54561
54562
  TableProps: TableProps3,
54562
54563
  autoFocus = false,
@@ -54581,7 +54582,7 @@ var InstrumentSearch = ({
54581
54582
  }, 100);
54582
54583
  }, []);
54583
54584
  return /* @__PURE__ */ jsxs43("div", { ...htmlAttributes, className: (0, import_classnames48.default)(classBase37, className), children: [
54584
- /* @__PURE__ */ jsx99("div", { className: `${classBase37}-inputField`, children: /* @__PURE__ */ jsx99(
54585
+ /* @__PURE__ */ jsx100("div", { className: `${classBase37}-inputField`, children: /* @__PURE__ */ jsx100(
54585
54586
  Input,
54586
54587
  {
54587
54588
  inputProps: { onKeyDown },
@@ -54592,7 +54593,7 @@ var InstrumentSearch = ({
54592
54593
  onChange
54593
54594
  }
54594
54595
  ) }),
54595
- dataSource ? /* @__PURE__ */ jsx99(
54596
+ dataSource ? /* @__PURE__ */ jsx100(
54596
54597
  Table,
54597
54598
  {
54598
54599
  disableFocus: true,
@@ -54623,7 +54624,7 @@ import {
54623
54624
  numericFormatter
54624
54625
  } from "@vuu-ui/vuu-utils";
54625
54626
  import { memo as memo8, useMemo as useMemo42, useRef as useRef72 } from "react";
54626
- import { jsx as jsx100, jsxs as jsxs44 } from "react/jsx-runtime";
54627
+ import { jsx as jsx101, jsxs as jsxs44 } from "react/jsx-runtime";
54627
54628
  var classBase38 = "vuuPriceTicker";
54628
54629
  var getValueFormatter2 = (decimals) => numericFormatter({
54629
54630
  type: {
@@ -54650,7 +54651,7 @@ var PriceTicker = memo8(
54650
54651
  ref.current = [price, direction];
54651
54652
  return /* @__PURE__ */ jsxs44("div", { ...htmlAttributes, className: (0, import_classnames49.default)(classBase38, className, direction), children: [
54652
54653
  formatNumber(price),
54653
- showArrow ? /* @__PURE__ */ jsx100("span", { "data-icon": "price-arrow" }) : null
54654
+ showArrow ? /* @__PURE__ */ jsx101("span", { "data-icon": "price-arrow" }) : null
54654
54655
  ] });
54655
54656
  }
54656
54657
  );
@@ -54658,7 +54659,7 @@ PriceTicker.displayName = "PriceTicker";
54658
54659
 
54659
54660
  // ../vuu-ui-controls/src/tabstrip/Tabstrip.tsx
54660
54661
  var import_classnames50 = __toESM(require_classnames());
54661
- import React22, { useMemo as useMemo44, useRef as useRef76 } from "react";
54662
+ import React21, { useMemo as useMemo44, useRef as useRef76 } from "react";
54662
54663
 
54663
54664
  // ../vuu-ui-controls/src/tabstrip/useTabstrip.ts
54664
54665
  import { dispatchMouseEvent as dispatchMouseEvent5 } from "@vuu-ui/vuu-utils";
@@ -55341,7 +55342,7 @@ var useTabstrip = ({
55341
55342
  };
55342
55343
 
55343
55344
  // ../vuu-ui-controls/src/tabstrip/Tabstrip.tsx
55344
- import { Fragment as Fragment7, jsx as jsx101, jsxs as jsxs45 } from "react/jsx-runtime";
55345
+ import { Fragment as Fragment7, jsx as jsx102, jsxs as jsxs45 } from "react/jsx-runtime";
55345
55346
  import { createElement as createElement6 } from "react";
55346
55347
  var classBase39 = "vuuTabstrip";
55347
55348
  var Tabstrip = ({
@@ -55406,7 +55407,7 @@ var Tabstrip = ({
55406
55407
  showMenuButton = showTabMenuButton
55407
55408
  } = child.props;
55408
55409
  const selected = index === activeTabIndex;
55409
- return React22.cloneElement(child, {
55410
+ return React21.cloneElement(child, {
55410
55411
  ...tabProps,
55411
55412
  ...tabstripHook.navigationProps,
55412
55413
  className: (0, import_classnames50.default)(className2, tabClassName),
@@ -55457,7 +55458,7 @@ var Tabstrip = ({
55457
55458
  ]
55458
55459
  );
55459
55460
  return /* @__PURE__ */ jsxs45(Fragment7, { children: [
55460
- /* @__PURE__ */ jsx101(
55461
+ /* @__PURE__ */ jsx102(
55461
55462
  OverflowContainer,
55462
55463
  {
55463
55464
  ...htmlAttributes,
@@ -55487,7 +55488,7 @@ import {
55487
55488
  // ../vuu-ui-controls/src/tabstrip/TabMenu.tsx
55488
55489
  var import_classnames51 = __toESM(require_classnames());
55489
55490
  import { useMemo as useMemo45 } from "react";
55490
- import { jsx as jsx102 } from "react/jsx-runtime";
55491
+ import { jsx as jsx103 } from "react/jsx-runtime";
55491
55492
  var classBase40 = "vuuTabMenu";
55492
55493
  var TabMenu = ({
55493
55494
  allowClose,
@@ -55519,7 +55520,7 @@ var TabMenu = ({
55519
55520
  ],
55520
55521
  [allowClose, allowRename, controlledComponentId, index]
55521
55522
  );
55522
- return /* @__PURE__ */ jsx102(
55523
+ return /* @__PURE__ */ jsx103(
55523
55524
  PopupMenu,
55524
55525
  {
55525
55526
  className: classBase40,
@@ -55534,7 +55535,7 @@ var TabMenu = ({
55534
55535
  };
55535
55536
 
55536
55537
  // ../vuu-ui-controls/src/tabstrip/Tab.tsx
55537
- import { jsx as jsx103, jsxs as jsxs46 } from "react/jsx-runtime";
55538
+ import { jsx as jsx104, jsxs as jsxs46 } from "react/jsx-runtime";
55538
55539
  var classBase41 = "vuuTab";
55539
55540
  var noop4 = () => void 0;
55540
55541
  var Tab = forwardRef33(function Tab2({
@@ -55594,7 +55595,7 @@ var Tab = forwardRef33(function Tab2({
55594
55595
  };
55595
55596
  const getLabel2 = () => {
55596
55597
  if (editable2) {
55597
- return /* @__PURE__ */ jsx103(
55598
+ return /* @__PURE__ */ jsx104(
55598
55599
  EditableLabel,
55599
55600
  {
55600
55601
  editing,
@@ -55640,7 +55641,7 @@ var Tab = forwardRef33(function Tab2({
55640
55641
  role: "tab",
55641
55642
  tabIndex,
55642
55643
  children: [
55643
- /* @__PURE__ */ jsx103("div", { className: `${classBase41}-main`, children: /* @__PURE__ */ jsx103(
55644
+ /* @__PURE__ */ jsx104("div", { className: `${classBase41}-main`, children: /* @__PURE__ */ jsx104(
55644
55645
  "span",
55645
55646
  {
55646
55647
  className: `${classBase41}-text`,
@@ -55648,7 +55649,7 @@ var Tab = forwardRef33(function Tab2({
55648
55649
  children: children != null ? children : getLabel2()
55649
55650
  }
55650
55651
  ) }),
55651
- showMenuButton ? /* @__PURE__ */ jsx103(
55652
+ showMenuButton ? /* @__PURE__ */ jsx104(
55652
55653
  TabMenu,
55653
55654
  {
55654
55655
  allowClose: closeable,
@@ -55808,15 +55809,15 @@ var useSelection4 = ({
55808
55809
  onChange,
55809
55810
  selected: selectedProp,
55810
55811
  selection = SINGLE,
55811
- selectionKeys = defaultSelectionKeys4
55812
+ selectionKeys: selectionKeys2 = defaultSelectionKeys4
55812
55813
  }) => {
55813
55814
  const singleSelect = selection === SINGLE;
55814
55815
  const multiSelect = selection === MULTI || selection.startsWith(CHECKBOX);
55815
55816
  const extendedSelect = selection === EXTENDED;
55816
55817
  const lastActive = useRef78(-1);
55817
55818
  const isSelectionEvent = useCallback101(
55818
- (evt) => selectionKeys.includes(evt.key),
55819
- [selectionKeys]
55819
+ (evt) => selectionKeys2.includes(evt.key),
55820
+ [selectionKeys2]
55820
55821
  );
55821
55822
  const [selected, setSelected] = useControlled({
55822
55823
  controlled: selectedProp,
@@ -56530,12 +56531,12 @@ var useTree = ({
56530
56531
  };
56531
56532
 
56532
56533
  // ../vuu-ui-controls/src/tree/Tree.tsx
56533
- import { jsx as jsx104, jsxs as jsxs47 } from "react/jsx-runtime";
56534
+ import { jsx as jsx105, jsxs as jsxs47 } from "react/jsx-runtime";
56534
56535
  import { createElement as createElement7 } from "react";
56535
56536
  var classBase42 = "vuuTree";
56536
56537
  var isExpanded = (node) => node.expanded === true;
56537
56538
  var TreeNode2 = ({ children, idx, ...props }) => {
56538
- return /* @__PURE__ */ jsx104("li", { ...props, children });
56539
+ return /* @__PURE__ */ jsx105("li", { ...props, children });
56539
56540
  };
56540
56541
  var Tree2 = forwardRef34(function Tree3({
56541
56542
  allowDragDrop,
@@ -56602,8 +56603,8 @@ var Tree2 = forwardRef34(function Tree3({
56602
56603
  ...propsCommonToAllListItems,
56603
56604
  ...getListItemProps(item, idx, highlightedIdx, selected, focusVisible),
56604
56605
  children: [
56605
- item.icon ? /* @__PURE__ */ jsx104("span", { className: `${classBase42}Node-icon`, "data-icon": item.icon }) : null,
56606
- /* @__PURE__ */ jsx104("span", { children: item.label })
56606
+ item.icon ? /* @__PURE__ */ jsx105("span", { className: `${classBase42}Node-icon`, "data-icon": item.icon }) : null,
56607
+ /* @__PURE__ */ jsx105("span", { children: item.label })
56607
56608
  ]
56608
56609
  }
56609
56610
  )
@@ -56632,19 +56633,19 @@ var Tree2 = forwardRef34(function Tree3({
56632
56633
  key: `header-${i}`
56633
56634
  },
56634
56635
  allowGroupSelect ? /* @__PURE__ */ jsxs47("div", { className: `${classBase42}Node-label`, children: [
56635
- /* @__PURE__ */ jsx104("span", { className: `${classBase42}Node-toggle` }),
56636
+ /* @__PURE__ */ jsx105("span", { className: `${classBase42}Node-toggle` }),
56636
56637
  title
56637
56638
  ] }) : /* @__PURE__ */ jsxs47("div", { className: `${classBase42}Node-label`, children: [
56638
- child.icon ? /* @__PURE__ */ jsx104(
56639
+ child.icon ? /* @__PURE__ */ jsx105(
56639
56640
  "span",
56640
56641
  {
56641
56642
  className: `${classBase42}Node-icon`,
56642
56643
  "data-icon": child.icon
56643
56644
  }
56644
56645
  ) : null,
56645
- /* @__PURE__ */ jsx104("span", { children: title })
56646
+ /* @__PURE__ */ jsx105("span", { children: title })
56646
56647
  ] }),
56647
- /* @__PURE__ */ jsx104("ul", { role: "group", children: isExpanded(child) ? renderSourceContent(child.childNodes, idx) : "" })
56648
+ /* @__PURE__ */ jsx105("ul", { role: "group", children: isExpanded(child) ? renderSourceContent(child.childNodes, idx) : "" })
56648
56649
  )
56649
56650
  );
56650
56651
  }
@@ -56661,7 +56662,7 @@ var Tree2 = forwardRef34(function Tree3({
56661
56662
  return listItems;
56662
56663
  }
56663
56664
  }
56664
- return /* @__PURE__ */ jsx104(
56665
+ return /* @__PURE__ */ jsx105(
56665
56666
  "ul",
56666
56667
  {
56667
56668
  ...htmlAttributes,
@@ -56695,7 +56696,7 @@ import {
56695
56696
  forwardRef as forwardRef35,
56696
56697
  useCallback as useCallback107
56697
56698
  } from "react";
56698
- import { Fragment as Fragment8, jsx as jsx105, jsxs as jsxs48 } from "react/jsx-runtime";
56699
+ import { Fragment as Fragment8, jsx as jsx106, jsxs as jsxs48 } from "react/jsx-runtime";
56699
56700
  var classBase43 = "vuuInput";
56700
56701
  var constantInputProps = {
56701
56702
  autoComplete: "off"
@@ -56750,7 +56751,7 @@ var VuuInput = forwardRef35(function VuuInput2({
56750
56751
  },
56751
56752
  [commitValue]
56752
56753
  );
56753
- const endAdornment = errorMessage ? /* @__PURE__ */ jsx105(
56754
+ const endAdornment = errorMessage ? /* @__PURE__ */ jsx106(
56754
56755
  "span",
56755
56756
  {
56756
56757
  ...anchorProps,
@@ -56759,7 +56760,7 @@ var VuuInput = forwardRef35(function VuuInput2({
56759
56760
  }
56760
56761
  ) : void 0;
56761
56762
  return /* @__PURE__ */ jsxs48(Fragment8, { children: [
56762
- /* @__PURE__ */ jsx105(
56763
+ /* @__PURE__ */ jsx106(
56763
56764
  Input,
56764
56765
  {
56765
56766
  ...props,
@@ -56777,7 +56778,7 @@ var VuuInput = forwardRef35(function VuuInput2({
56777
56778
  onKeyDown: handleKeyDown
56778
56779
  }
56779
56780
  ),
56780
- tooltipProps ? /* @__PURE__ */ jsx105(Tooltip, { ...tooltipProps, status: "error" }) : null
56781
+ tooltipProps ? /* @__PURE__ */ jsx106(Tooltip, { ...tooltipProps, status: "error" }) : null
56781
56782
  ] });
56782
56783
  });
56783
56784
 
@@ -56894,7 +56895,7 @@ var useViewActionDispatcher = (id, root, viewPath, dropTargets) => {
56894
56895
 
56895
56896
  // ../vuu-layout/src/layout-view/View.tsx
56896
56897
  var import_classnames55 = __toESM(require_classnames());
56897
- import React24, {
56898
+ import React23, {
56898
56899
  forwardRef as forwardRef36,
56899
56900
  useCallback as useCallback111,
56900
56901
  useMemo as useMemo49,
@@ -57027,9 +57028,9 @@ var useViewResize = ({
57027
57028
  };
57028
57029
 
57029
57030
  // ../vuu-layout/src/layout-view/ViewContext.ts
57030
- import React23, { useContext as useContext11 } from "react";
57031
+ import React22, { useContext as useContext11 } from "react";
57031
57032
  var NO_CONTEXT = { dispatch: null };
57032
- var ViewContext = React23.createContext(NO_CONTEXT);
57033
+ var ViewContext = React22.createContext(NO_CONTEXT);
57033
57034
  var useViewDispatch = () => {
57034
57035
  var _a4;
57035
57036
  const context = useContext11(ViewContext);
@@ -57038,7 +57039,7 @@ var useViewDispatch = () => {
57038
57039
  var useViewContext = () => useContext11(ViewContext);
57039
57040
 
57040
57041
  // ../vuu-layout/src/layout-view/View.tsx
57041
- import { jsx as jsx106, jsxs as jsxs49 } from "react/jsx-runtime";
57042
+ import { jsx as jsx107, jsxs as jsxs49 } from "react/jsx-runtime";
57042
57043
  var classBase44 = "vuuView";
57043
57044
  var getProps2 = (state, props) => {
57044
57045
  if (state && props) {
@@ -57072,7 +57073,7 @@ var View = forwardRef36(function View2(props, forwardedRef) {
57072
57073
  title: titleProp,
57073
57074
  ...restProps
57074
57075
  } = props;
57075
- const id = useIdMemo(idProp);
57076
+ const id = useId2(idProp);
57076
57077
  const rootRef = useRef86(null);
57077
57078
  const mainRef = useRef86(null);
57078
57079
  const [componentProps, _setComponentProps] = useState52();
@@ -57100,8 +57101,8 @@ var View = forwardRef36(function View2(props, forwardedRef) {
57100
57101
  _setComponentProps(props2);
57101
57102
  }, []);
57102
57103
  const getContent = () => {
57103
- if (React24.isValidElement(children) && (restoredState || componentProps)) {
57104
- return React24.cloneElement(
57104
+ if (React23.isValidElement(children) && (restoredState || componentProps)) {
57105
+ return React23.cloneElement(
57105
57106
  children,
57106
57107
  getProps2(restoredState, componentProps)
57107
57108
  );
@@ -57137,7 +57138,7 @@ var View = forwardRef36(function View2(props, forwardedRef) {
57137
57138
  ]
57138
57139
  );
57139
57140
  const headerProps = typeof header === "object" ? header : {};
57140
- return /* @__PURE__ */ jsx106(
57141
+ return /* @__PURE__ */ jsx107(
57141
57142
  "div",
57142
57143
  {
57143
57144
  ...restProps,
@@ -57152,7 +57153,7 @@ var View = forwardRef36(function View2(props, forwardedRef) {
57152
57153
  style,
57153
57154
  tabIndex: -1,
57154
57155
  children: /* @__PURE__ */ jsxs49(ViewContext.Provider, { value: viewContextValue, children: [
57155
- header ? /* @__PURE__ */ jsx106(
57156
+ header ? /* @__PURE__ */ jsx107(
57156
57157
  Header2,
57157
57158
  {
57158
57159
  ...headerProps,
@@ -57166,18 +57167,18 @@ var View = forwardRef36(function View2(props, forwardedRef) {
57166
57167
  title
57167
57168
  }
57168
57169
  ) : null,
57169
- /* @__PURE__ */ jsx106("div", { className: `${classBase44}-main`, ref: mainRef, children: getContent() })
57170
+ /* @__PURE__ */ jsx107("div", { className: `${classBase44}-main`, ref: mainRef, children: getContent() })
57170
57171
  ] })
57171
57172
  }
57172
57173
  );
57173
57174
  });
57174
57175
  View.displayName = "View";
57175
- var MemoView = React24.memo(View);
57176
+ var MemoView = React23.memo(View);
57176
57177
  MemoView.displayName = "View";
57177
57178
  registerComponent("View", MemoView, "view");
57178
57179
 
57179
57180
  // ../vuu-layout/src/layout-header/Header.tsx
57180
- import { jsx as jsx107 } from "react/jsx-runtime";
57181
+ import { jsx as jsx108 } from "react/jsx-runtime";
57181
57182
  var classBase45 = "vuuHeader";
57182
57183
  var Header = ({
57183
57184
  className: classNameProp,
@@ -57246,7 +57247,7 @@ var Header = ({
57246
57247
  }
57247
57248
  });
57248
57249
  title && toolbarItems.push(
57249
- /* @__PURE__ */ jsx107(
57250
+ /* @__PURE__ */ jsx108(
57250
57251
  EditableLabel,
57251
57252
  {
57252
57253
  className: `${classBase45}-title`,
@@ -57264,7 +57265,7 @@ var Header = ({
57264
57265
  )
57265
57266
  );
57266
57267
  closeable && actionButtons.push(
57267
- /* @__PURE__ */ jsx107(
57268
+ /* @__PURE__ */ jsx108(
57268
57269
  Button,
57269
57270
  {
57270
57271
  "data-icon": "close",
@@ -57276,12 +57277,12 @@ var Header = ({
57276
57277
  )
57277
57278
  );
57278
57279
  postTitleContributedItems.length > 0 && toolbarItems.push(
57279
- /* @__PURE__ */ jsx107("div", { className: "vuuTooltrayProxy", "data-align": "end", children: postTitleContributedItems }, "contributions")
57280
+ /* @__PURE__ */ jsx108("div", { className: "vuuTooltrayProxy", "data-align": "end", children: postTitleContributedItems }, "contributions")
57280
57281
  );
57281
57282
  actionButtons.length > 0 && toolbarItems.push(
57282
- /* @__PURE__ */ jsx107("div", { className: "vuuTooltrayProxy", "data-align": "end", children: actionButtons }, "actions")
57283
+ /* @__PURE__ */ jsx108("div", { className: "vuuTooltrayProxy", "data-align": "end", children: actionButtons }, "actions")
57283
57284
  );
57284
- return /* @__PURE__ */ jsx107(
57285
+ return /* @__PURE__ */ jsx108(
57285
57286
  "div",
57286
57287
  {
57287
57288
  className: (0, import_classnames56.default)("vuuToolbarProxy", className),
@@ -57329,7 +57330,7 @@ import { useRef as useRef93 } from "react";
57329
57330
 
57330
57331
  // ../vuu-filters/src/filter-builder-menu/FilterBuilderMenu.tsx
57331
57332
  import { useCallback as useCallback112, useRef as useRef88 } from "react";
57332
- import { Fragment as Fragment9, jsx as jsx108, jsxs as jsxs50 } from "react/jsx-runtime";
57333
+ import { Fragment as Fragment9, jsx as jsx109, jsxs as jsxs50 } from "react/jsx-runtime";
57333
57334
 
57334
57335
  // ../vuu-filters/src/filter-clause/ExpandoCombobox.tsx
57335
57336
  import { itemToString as defaultToString } from "@vuu-ui/vuu-utils";
@@ -57341,7 +57342,7 @@ import {
57341
57342
  useRef as useRef89,
57342
57343
  useState as useState54
57343
57344
  } from "react";
57344
- import { jsx as jsx109 } from "react/jsx-runtime";
57345
+ import { jsx as jsx110 } from "react/jsx-runtime";
57345
57346
  var classBase46 = "vuuExpandoCombobox";
57346
57347
  var NO_INPUT_PROPS = {};
57347
57348
  var ExpandoCombobox = forwardRef37(function ExpandoCombobox2({
@@ -57355,7 +57356,6 @@ var ExpandoCombobox = forwardRef37(function ExpandoCombobox2({
57355
57356
  value = "",
57356
57357
  ...props
57357
57358
  }, forwardedRef) {
57358
- var _a4;
57359
57359
  const [text, setText] = useState54(value);
57360
57360
  const { itemToString: itemToString2 = defaultToString } = props;
57361
57361
  const initialValue = useRef89(value);
@@ -57373,7 +57373,6 @@ var ExpandoCombobox = forwardRef37(function ExpandoCombobox2({
57373
57373
  const handleInputChange = useCallback113(
57374
57374
  (evt) => {
57375
57375
  const { value: value2 } = evt.target;
57376
- console.log(`onInputChange ${value2}`);
57377
57376
  setText(value2);
57378
57377
  onInputChange == null ? void 0 : onInputChange(evt);
57379
57378
  },
@@ -57382,7 +57381,7 @@ var ExpandoCombobox = forwardRef37(function ExpandoCombobox2({
57382
57381
  const handleSetSelectedText = useCallback113((text2) => {
57383
57382
  setText(text2);
57384
57383
  }, []);
57385
- const [InputProps4, ListProps5] = useMemo50(() => {
57384
+ const [InputProps4, ListProps6] = useMemo50(() => {
57386
57385
  const { inputProps, ...restInputProps } = InputPropsProp;
57387
57386
  return [
57388
57387
  {
@@ -57429,21 +57428,21 @@ var ExpandoCombobox = forwardRef37(function ExpandoCombobox2({
57429
57428
  const popupProps = {
57430
57429
  minWidth: "fit-content"
57431
57430
  };
57432
- return ((_a4 = props.source) == null ? void 0 : _a4.length) === 0 ? null : /* @__PURE__ */ jsx109(
57431
+ return /* @__PURE__ */ jsx110(
57433
57432
  "div",
57434
57433
  {
57435
57434
  className: (0, import_classnames57.default)(classBase46, classNameProp),
57436
57435
  "data-text": text,
57437
57436
  ref: forwardedRef,
57438
57437
  style,
57439
- children: /* @__PURE__ */ jsx109(
57438
+ children: /* @__PURE__ */ jsx110(
57440
57439
  ComboBox,
57441
57440
  {
57442
57441
  ...props,
57443
57442
  PopupProps: popupProps,
57444
57443
  defaultValue: initialValue.current,
57445
57444
  fullWidth: true,
57446
- ListProps: ListProps5,
57445
+ ListProps: ListProps6,
57447
57446
  InputProps: InputProps4,
57448
57447
  itemsToString,
57449
57448
  onSelectionChange: handleSelectionChange,
@@ -57466,7 +57465,7 @@ import {
57466
57465
  useCallback as useCallback114
57467
57466
  } from "react";
57468
57467
  import { isValidNumber as isValidNumber9 } from "@vuu-ui/vuu-utils";
57469
- import { jsx as jsx110 } from "react/jsx-runtime";
57468
+ import { jsx as jsx111 } from "react/jsx-runtime";
57470
57469
  var NumericInput = forwardRef38(function NumericInput2({
57471
57470
  InputProps: InputProps4,
57472
57471
  className,
@@ -57499,7 +57498,7 @@ var NumericInput = forwardRef38(function NumericInput2({
57499
57498
  },
57500
57499
  [onInputComplete]
57501
57500
  );
57502
- return /* @__PURE__ */ jsx110(
57501
+ return /* @__PURE__ */ jsx111(
57503
57502
  ExpandoInput,
57504
57503
  {
57505
57504
  ...InputProps4,
@@ -57523,11 +57522,15 @@ import {
57523
57522
  useMemo as useMemo51,
57524
57523
  useState as useState56
57525
57524
  } from "react";
57526
- import { jsx as jsx111 } from "react/jsx-runtime";
57525
+ import { jsx as jsx112 } from "react/jsx-runtime";
57526
+ var selectionKeys = ["Enter", " "];
57527
+ var NO_DATA_MATCH = ["No matching data"];
57527
57528
  var TextInput = forwardRef39(function TextInput2({
57528
57529
  InputProps: InputPropsProp = {},
57529
57530
  className,
57530
57531
  column,
57532
+ "data-field": dataField,
57533
+ onDeselect,
57531
57534
  onInputComplete,
57532
57535
  operator: operator2,
57533
57536
  suggestionProvider = useTypeaheadSuggestions,
@@ -57557,7 +57560,11 @@ var TextInput = forwardRef39(function TextInput2({
57557
57560
  if (table) {
57558
57561
  const params = valueInputValue ? [table, column.name, valueInputValue] : [table, column.name];
57559
57562
  getSuggestions(params).then((suggestions) => {
57560
- setTypeaheadValues(suggestions);
57563
+ if (suggestions.length === 0 && valueInputValue) {
57564
+ setTypeaheadValues(NO_DATA_MATCH);
57565
+ } else {
57566
+ setTypeaheadValues(suggestions);
57567
+ }
57561
57568
  }).catch((err) => {
57562
57569
  console.error("Error getting suggestions", err);
57563
57570
  });
@@ -57591,24 +57598,29 @@ var TextInput = forwardRef39(function TextInput2({
57591
57598
  }
57592
57599
  }, [InputPropsProp, onInputComplete, operator2, valueInputValue]);
57593
57600
  const getValueInputField = useCallback115(() => {
57601
+ if (typeaheadValues.length === 0) {
57602
+ return null;
57603
+ }
57594
57604
  switch (operator2) {
57595
57605
  case "in":
57596
- return /* @__PURE__ */ jsx111(
57606
+ return /* @__PURE__ */ jsx112(
57597
57607
  ExpandoCombobox,
57598
57608
  {
57599
57609
  InputProps: InputProps4,
57600
57610
  className,
57611
+ "data-field": dataField,
57601
57612
  initialHighlightedIndex: 0,
57602
57613
  source: typeaheadValues,
57603
57614
  onInputChange: handleInputChange,
57604
57615
  onSelectionChange: handleMultiValueSelectionChange,
57605
57616
  ref: forwardedRef,
57606
57617
  selectionStrategy: "multiple",
57618
+ selectionKeys,
57607
57619
  value
57608
57620
  }
57609
57621
  );
57610
- case "starts":
57611
- return /* @__PURE__ */ jsx111(
57622
+ case "starts": {
57623
+ return /* @__PURE__ */ jsx112(
57612
57624
  ExpandoCombobox,
57613
57625
  {
57614
57626
  InputProps: InputProps4,
@@ -57618,7 +57630,9 @@ var TextInput = forwardRef39(function TextInput2({
57618
57630
  },
57619
57631
  allowFreeText: true,
57620
57632
  className,
57633
+ "data-field": dataField,
57621
57634
  initialHighlightedIndex: 0,
57635
+ disableFilter: typeaheadValues === NO_DATA_MATCH && (valueInputValue == null ? void 0 : valueInputValue.length) > 0,
57622
57636
  source: typeaheadValues,
57623
57637
  onInputChange: handleInputChange,
57624
57638
  onSelectionChange: handleSingleValueSelectionChange,
@@ -57626,27 +57640,32 @@ var TextInput = forwardRef39(function TextInput2({
57626
57640
  value
57627
57641
  }
57628
57642
  );
57643
+ }
57629
57644
  case "ends":
57630
- return /* @__PURE__ */ jsx111(
57645
+ return /* @__PURE__ */ jsx112(
57631
57646
  ExpandoInput,
57632
57647
  {
57633
57648
  ...InputProps4,
57634
57649
  className,
57650
+ "data-field": dataField,
57635
57651
  value: valueInputValue,
57636
57652
  ref: forwardedRef,
57637
57653
  onChange: handleInputChange
57638
57654
  }
57639
57655
  );
57640
57656
  default:
57641
- return /* @__PURE__ */ jsx111(
57657
+ return /* @__PURE__ */ jsx112(
57642
57658
  ExpandoCombobox,
57643
57659
  {
57644
57660
  InputProps: InputProps4,
57661
+ allowBackspaceClearsSelection: true,
57645
57662
  className,
57663
+ "data-field": dataField,
57646
57664
  initialHighlightedIndex: 0,
57647
57665
  source: typeaheadValues,
57648
57666
  title: "value",
57649
57667
  onInputChange: handleInputChange,
57668
+ onDeselect,
57650
57669
  onSelectionChange: handleSingleValueSelectionChange,
57651
57670
  ref: forwardedRef,
57652
57671
  value
@@ -57657,13 +57676,15 @@ var TextInput = forwardRef39(function TextInput2({
57657
57676
  operator2,
57658
57677
  InputProps4,
57659
57678
  className,
57679
+ dataField,
57660
57680
  typeaheadValues,
57661
57681
  handleInputChange,
57662
57682
  handleMultiValueSelectionChange,
57663
57683
  forwardedRef,
57664
57684
  value,
57665
- handleSingleValueSelectionChange,
57666
- valueInputValue
57685
+ valueInputValue,
57686
+ onDeselect,
57687
+ handleSingleValueSelectionChange
57667
57688
  ]);
57668
57689
  return getValueInputField();
57669
57690
  });
@@ -57684,23 +57705,22 @@ import {
57684
57705
  } from "react";
57685
57706
 
57686
57707
  // ../vuu-filters/src/filter-clause/FilterClauseEditor.tsx
57687
- import { jsx as jsx112, jsxs as jsxs51 } from "react/jsx-runtime";
57708
+ import { jsx as jsx113, jsxs as jsxs51 } from "react/jsx-runtime";
57688
57709
 
57689
57710
  // ../vuu-filters/src/filter-pill/FilterPill.tsx
57690
57711
  var import_classnames60 = __toESM(require_classnames(), 1);
57691
- import { filterAsQuery, isMultiClauseFilter as isMultiClauseFilter2 } from "@vuu-ui/vuu-utils";
57712
+ import { filterAsQuery, isMultiClauseFilter as isMultiClauseFilter3 } from "@vuu-ui/vuu-utils";
57692
57713
  import { useCallback as useCallback118, useRef as useRef91 } from "react";
57693
57714
 
57694
57715
  // ../vuu-filters/src/filter-pill-menu/FilterPillMenu.tsx
57695
57716
  var import_classnames59 = __toESM(require_classnames(), 1);
57696
57717
  import { useMemo as useMemo53 } from "react";
57697
- import { jsx as jsx113 } from "react/jsx-runtime";
57718
+ import { jsx as jsx114 } from "react/jsx-runtime";
57698
57719
 
57699
57720
  // ../vuu-filters/src/filter-utils.ts
57700
57721
  import {
57701
57722
  extractFilterForColumn,
57702
57723
  isAndFilter,
57703
- isCompleteFilter,
57704
57724
  isInFilter,
57705
57725
  isMultiClauseFilter,
57706
57726
  isMultiValueFilter as isMultiValueFilter2,
@@ -57709,11 +57729,24 @@ import {
57709
57729
  partition as partition2
57710
57730
  } from "@vuu-ui/vuu-utils";
57711
57731
 
57732
+ // ../vuu-filters/src/filter-pill/filterAsReactNode.tsx
57733
+ import {
57734
+ filterValue,
57735
+ isMultiClauseFilter as isMultiClauseFilter2,
57736
+ isMultiValueFilter as isMultiValueFilter3,
57737
+ quotedStrings
57738
+ } from "@vuu-ui/vuu-utils";
57739
+ import { jsx as jsx115, jsxs as jsxs52 } from "react/jsx-runtime";
57740
+
57712
57741
  // ../vuu-filters/src/filter-pill/FilterPill.tsx
57713
- import { jsx as jsx114, jsxs as jsxs52 } from "react/jsx-runtime";
57742
+ import { jsx as jsx116, jsxs as jsxs53 } from "react/jsx-runtime";
57714
57743
 
57715
57744
  // ../vuu-filters/src/filter-bar/useFilterBar.ts
57716
- import { dispatchMouseEvent as dispatchMouseEvent6, filterAsQuery as filterAsQuery2 } from "@vuu-ui/vuu-utils";
57745
+ import {
57746
+ dispatchMouseEvent as dispatchMouseEvent6,
57747
+ filterAsQuery as filterAsQuery2,
57748
+ isMultiClauseFilter as isMultiClauseFilter4
57749
+ } from "@vuu-ui/vuu-utils";
57717
57750
  import {
57718
57751
  useCallback as useCallback120,
57719
57752
  useEffect as useEffect25,
@@ -57725,14 +57758,20 @@ import {
57725
57758
  // ../vuu-filters/src/filter-bar/useFilters.ts
57726
57759
  import { useCallback as useCallback119 } from "react";
57727
57760
 
57761
+ // ../vuu-filters/src/filter-bar/useFilterBarMenu.ts
57762
+ import { useCallback as useCallback121, useMemo as useMemo55 } from "react";
57763
+
57764
+ // ../vuu-filters/src/filter-bar/FilterBarMenu.tsx
57765
+ import { jsx as jsx117 } from "react/jsx-runtime";
57766
+
57728
57767
  // ../vuu-filters/src/filter-bar/FilterBar.tsx
57729
- import { jsx as jsx115, jsxs as jsxs53 } from "react/jsx-runtime";
57768
+ import { jsx as jsx118, jsxs as jsxs54 } from "react/jsx-runtime";
57730
57769
  import { createElement as createElement8 } from "react";
57731
57770
 
57732
57771
  // ../vuu-filters/src/filter-input/useCodeMirrorEditor.ts
57733
57772
  var import_classnames62 = __toESM(require_classnames(), 1);
57734
57773
  import { walkTree as walkTree2 } from "@vuu-ui/vuu-filter-parser";
57735
- import { useEffect as useEffect26, useMemo as useMemo55, useRef as useRef94 } from "react";
57774
+ import { useEffect as useEffect26, useMemo as useMemo56, useRef as useRef94 } from "react";
57736
57775
 
57737
57776
  // ../vuu-filters/src/filter-input/FilterLanguage.ts
57738
57777
  import { parser as parser2 } from "@vuu-ui/vuu-filter-parser";
@@ -57832,13 +57871,13 @@ var vuuTheme2 = EditorView.theme(
57832
57871
  );
57833
57872
 
57834
57873
  // ../vuu-filters/src/filter-input/useFilterAutoComplete.ts
57835
- import { useCallback as useCallback121 } from "react";
57874
+ import { useCallback as useCallback122 } from "react";
57836
57875
 
57837
57876
  // ../vuu-filters/src/filter-input/FilterInput.tsx
57838
- import { jsx as jsx116, jsxs as jsxs54 } from "react/jsx-runtime";
57877
+ import { jsx as jsx119, jsxs as jsxs55 } from "react/jsx-runtime";
57839
57878
 
57840
57879
  // ../vuu-filters/src/filter-input/useFilterSuggestionProvider.ts
57841
- import { useCallback as useCallback122, useRef as useRef95 } from "react";
57880
+ import { useCallback as useCallback123, useRef as useRef95 } from "react";
57842
57881
 
57843
57882
  // ../vuu-filters/src/filter-input/filterInfo.ts
57844
57883
  import { createEl as createEl3 } from "@vuu-ui/vuu-utils";
@@ -57877,7 +57916,7 @@ var LocalLayoutPersistenceManager = class {
57877
57916
  const newMetadata = {
57878
57917
  ...metadata,
57879
57918
  id,
57880
- created: formatDate(/* @__PURE__ */ new Date(), "dd.mm.yyyy")
57919
+ created: formatDate("dd.mm.yyyy")(/* @__PURE__ */ new Date())
57881
57920
  };
57882
57921
  this.saveLayoutsWithMetadata(
57883
57922
  [...existingLayouts, { id, json: layout }],
@@ -58006,8 +58045,8 @@ var LocalLayoutPersistenceManager = class {
58006
58045
  _urlKey = new WeakMap();
58007
58046
 
58008
58047
  // ../vuu-layout/src/layout-persistence/useLayoutContextMenuItems.tsx
58009
- import { useCallback as useCallback123, useMemo as useMemo56 } from "react";
58010
- import { jsx as jsx117 } from "react/jsx-runtime";
58048
+ import { useCallback as useCallback124, useMemo as useMemo57 } from "react";
58049
+ import { jsx as jsx120 } from "react/jsx-runtime";
58011
58050
 
58012
58051
  // ../vuu-layout/src/measured-container/MeasuredContainer.tsx
58013
58052
  import { forwardRef as forwardRef40 } from "react";
@@ -58015,15 +58054,15 @@ import { forwardRef as forwardRef40 } from "react";
58015
58054
  // ../vuu-layout/src/measured-container/useMeasuredContainer.ts
58016
58055
  import { isValidNumber as isValidNumber10 } from "@vuu-ui/vuu-utils";
58017
58056
  import {
58018
- useCallback as useCallback125,
58057
+ useCallback as useCallback126,
58019
58058
  useEffect as useEffect28,
58020
- useMemo as useMemo57,
58059
+ useMemo as useMemo58,
58021
58060
  useRef as useRef97,
58022
58061
  useState as useState59
58023
58062
  } from "react";
58024
58063
 
58025
58064
  // ../vuu-layout/src/measured-container/useResizeObserver.ts
58026
- import { useCallback as useCallback124, useEffect as useEffect27, useRef as useRef96 } from "react";
58065
+ import { useCallback as useCallback125, useEffect as useEffect27, useRef as useRef96 } from "react";
58027
58066
  var observedMap3 = /* @__PURE__ */ new Map();
58028
58067
  var getTargetSize3 = (element, size, dimension3) => {
58029
58068
  switch (dimension3) {
@@ -58075,7 +58114,7 @@ var resizeObserver3 = new ResizeObserver((entries) => {
58075
58114
  });
58076
58115
  function useResizeObserver3(ref, dimensions2, onResize, reportInitialSize = false) {
58077
58116
  const dimensionsRef = useRef96(dimensions2);
58078
- const measure = useCallback124((target) => {
58117
+ const measure = useCallback125((target) => {
58079
58118
  const { width, height } = target.getBoundingClientRect();
58080
58119
  const { clientWidth: contentWidth, clientHeight: contentHeight } = target;
58081
58120
  const flooredHeight = Math.floor(height);
@@ -58197,7 +58236,7 @@ var useMeasuredContainer = ({
58197
58236
  const fixedHeight = typeof height === "number";
58198
58237
  const fixedWidth = typeof width === "number";
58199
58238
  const dimensions2 = fixedHeight && fixedWidth ? NO_MEASUREMENT2 : fixedHeight ? WidthOnly2 : fixedWidth ? HeightOnly4 : ClientWidthHeight;
58200
- useMemo57(() => {
58239
+ useMemo58(() => {
58201
58240
  setSize((currentSize) => {
58202
58241
  const { inner, outer } = currentSize;
58203
58242
  if (isValidNumber10(height) && isValidNumber10(width) && inner && outer) {
@@ -58216,7 +58255,7 @@ var useMeasuredContainer = ({
58216
58255
  return currentSize;
58217
58256
  });
58218
58257
  }, [height, width]);
58219
- const onResize = useCallback125(
58258
+ const onResize = useCallback126(
58220
58259
  ({ clientWidth, clientHeight }) => {
58221
58260
  const { css, inner, outer } = size;
58222
58261
  let newState = size;
@@ -58270,7 +58309,7 @@ var useMeasuredContainer = ({
58270
58309
 
58271
58310
  // ../vuu-layout/src/measured-container/MeasuredContainer.tsx
58272
58311
  var import_classnames63 = __toESM(require_classnames());
58273
- import { jsx as jsx118 } from "react/jsx-runtime";
58312
+ import { jsx as jsx121 } from "react/jsx-runtime";
58274
58313
  var baseClass2 = "vuuMeasuredContainer";
58275
58314
  var MeasuredContainer = forwardRef40(function MeasuredContainer2({
58276
58315
  children,
@@ -58301,7 +58340,7 @@ var MeasuredContainer = forwardRef40(function MeasuredContainer2({
58301
58340
  };
58302
58341
  };
58303
58342
  const forkedRef = useForkRef(containerRef, forwardedRef);
58304
- return unmeasured ? /* @__PURE__ */ jsx118(
58343
+ return unmeasured ? /* @__PURE__ */ jsx121(
58305
58344
  "div",
58306
58345
  {
58307
58346
  ...htmlAttributes,
@@ -58309,7 +58348,7 @@ var MeasuredContainer = forwardRef40(function MeasuredContainer2({
58309
58348
  style: getStyle2(),
58310
58349
  ref: containerRef
58311
58350
  }
58312
- ) : /* @__PURE__ */ jsx118(
58351
+ ) : /* @__PURE__ */ jsx121(
58313
58352
  "div",
58314
58353
  {
58315
58354
  ...htmlAttributes,
@@ -58323,13 +58362,13 @@ var MeasuredContainer = forwardRef40(function MeasuredContainer2({
58323
58362
 
58324
58363
  // ../vuu-layout/src/overflow-container/OverflowContainer.tsx
58325
58364
  var import_classnames64 = __toESM(require_classnames());
58326
- import React25, {
58365
+ import React24, {
58327
58366
  forwardRef as forwardRef41
58328
58367
  } from "react";
58329
58368
 
58330
58369
  // ../vuu-layout/src/overflow-container/useOverflowContainer.ts
58331
58370
  import { isValidNumber as isValidNumber11, MEASURES as MEASURES2 } from "@vuu-ui/vuu-utils";
58332
- import { useCallback as useCallback126, useMemo as useMemo58, useRef as useRef98, useState as useState60 } from "react";
58371
+ import { useCallback as useCallback127, useMemo as useMemo59, useRef as useRef98, useState as useState60 } from "react";
58333
58372
 
58334
58373
  // ../vuu-layout/src/overflow-container/overflow-utils.ts
58335
58374
  import { getElementByDataIndex as getElementByDataIndex3 } from "@vuu-ui/vuu-utils";
@@ -58596,13 +58635,13 @@ var useOverflowContainer = ({
58596
58635
  const [container, setContainer] = useState60(null);
58597
58636
  const wrappedItemsRef = useRef98(NO_WRAPPED_ITEMS);
58598
58637
  const containerRef = useRef98(null);
58599
- const setOverflowTabIndex = useCallback126((tabIndex) => {
58638
+ const setOverflowTabIndex = useCallback127((tabIndex) => {
58600
58639
  var _a4;
58601
58640
  if (containerRef.current) {
58602
58641
  (_a4 = containerRef.current.querySelector(".vuuOverflowContainer-OverflowIndicator button")) == null ? void 0 : _a4.setAttribute("tabindex", tabIndex);
58603
58642
  }
58604
58643
  }, []);
58605
- const handleResize = useCallback126(async () => {
58644
+ const handleResize = useCallback127(async () => {
58606
58645
  if (container) {
58607
58646
  let [nonWrapped, wrapped] = getNonWrappedAndWrappedItems(
58608
58647
  container,
@@ -58637,7 +58676,7 @@ var useOverflowContainer = ({
58637
58676
  }
58638
58677
  }, [container, orientation, setOverflowTabIndex]);
58639
58678
  const hasOverflowItem = (opt) => typeof opt === "object" && opt !== null && "overflowItem" in opt;
58640
- const [menuBuilder, menuActionHandler] = useMemo58(() => {
58679
+ const [menuBuilder, menuActionHandler] = useMemo59(() => {
58641
58680
  return [
58642
58681
  () => {
58643
58682
  const { current: menuItems } = wrappedItemsRef;
@@ -58664,7 +58703,7 @@ var useOverflowContainer = ({
58664
58703
  }
58665
58704
  ];
58666
58705
  }, [container, onSwitchWrappedItemIntoView]);
58667
- const resizeObserver4 = useMemo58(() => {
58706
+ const resizeObserver4 = useMemo59(() => {
58668
58707
  const { sizeProp } = MEASURES2[orientation];
58669
58708
  let currentSize = 0;
58670
58709
  return new ResizeObserver((entries) => {
@@ -58681,15 +58720,15 @@ var useOverflowContainer = ({
58681
58720
  useLayoutEffectSkipFirst(() => {
58682
58721
  handleResize();
58683
58722
  }, [handleResize, itemCount]);
58684
- useMemo58(() => {
58723
+ useMemo59(() => {
58685
58724
  if (container) {
58686
58725
  resizeObserver4.observe(container);
58687
58726
  }
58688
58727
  }, [container, resizeObserver4]);
58689
- const callbackRef = useCallback126((el) => {
58728
+ const callbackRef = useCallback127((el) => {
58690
58729
  setContainer(containerRef.current = el);
58691
58730
  }, []);
58692
- const handleDrop = useCallback126(
58731
+ const handleDrop = useCallback127(
58693
58732
  (fromIndex, toIndex) => {
58694
58733
  onMoveItem == null ? void 0 : onMoveItem(fromIndex, toIndex);
58695
58734
  },
@@ -58715,9 +58754,9 @@ var useOverflowContainer = ({
58715
58754
  };
58716
58755
 
58717
58756
  // ../vuu-layout/src/overflow-container/OverflowContainer.tsx
58718
- import { jsx as jsx119, jsxs as jsxs55 } from "react/jsx-runtime";
58757
+ import { jsx as jsx122, jsxs as jsxs56 } from "react/jsx-runtime";
58719
58758
  var classBase47 = "vuuOverflowContainer";
58720
- var WrapContainer = React25.memo(
58759
+ var WrapContainer = React24.memo(
58721
58760
  ({
58722
58761
  PopupMenuProps: PopupMenuProps2,
58723
58762
  allowDragDrop,
@@ -58761,7 +58800,7 @@ var WrapContainer = React25.memo(
58761
58800
  id: itemId = `${id}-${i}`,
58762
58801
  label = `Item ${i + 1}`
58763
58802
  } = childEl.props;
58764
- return /* @__PURE__ */ jsx119(
58803
+ return /* @__PURE__ */ jsx122(
58765
58804
  "div",
58766
58805
  {
58767
58806
  className: (0, import_classnames64.default)(`${classBase47}-item`, {
@@ -58778,12 +58817,12 @@ var WrapContainer = React25.memo(
58778
58817
  i
58779
58818
  );
58780
58819
  });
58781
- const overflowIndicator = /* @__PURE__ */ jsx119(
58820
+ const overflowIndicator = /* @__PURE__ */ jsx122(
58782
58821
  "div",
58783
58822
  {
58784
58823
  className: `${classBase47}-OverflowIndicator`,
58785
58824
  "data-index": "overflow",
58786
- children: /* @__PURE__ */ jsx119(
58825
+ children: /* @__PURE__ */ jsx122(
58787
58826
  PopupMenu,
58788
58827
  {
58789
58828
  ...PopupMenuProps2,
@@ -58797,7 +58836,7 @@ var WrapContainer = React25.memo(
58797
58836
  "overflow"
58798
58837
  );
58799
58838
  content2.push(overflowIndicator);
58800
- return /* @__PURE__ */ jsxs55("div", { className, ref: rootRef, style, children: [
58839
+ return /* @__PURE__ */ jsxs56("div", { className, ref: rootRef, style, children: [
58801
58840
  content2,
58802
58841
  draggable
58803
58842
  ] });
@@ -58819,14 +58858,14 @@ var OverflowContainer = forwardRef41(function OverflowContainer2({
58819
58858
  ...htmlAttributes
58820
58859
  }, forwardedRef) {
58821
58860
  const id = useId2(idProp);
58822
- return /* @__PURE__ */ jsx119(
58861
+ return /* @__PURE__ */ jsx122(
58823
58862
  "div",
58824
58863
  {
58825
58864
  ...htmlAttributes,
58826
58865
  className: (0, import_classnames64.default)((0, import_classnames64.default)(className, classBase47)),
58827
58866
  id,
58828
58867
  ref: forwardedRef,
58829
- children: /* @__PURE__ */ jsx119(
58868
+ children: /* @__PURE__ */ jsx122(
58830
58869
  WrapContainer,
58831
58870
  {
58832
58871
  PopupMenuProps: PopupMenuProps2,
@@ -58852,7 +58891,7 @@ import {
58852
58891
  cloneElement as cloneElement11,
58853
58892
  memo as memo9
58854
58893
  } from "react";
58855
- import { jsx as jsx120 } from "react/jsx-runtime";
58894
+ import { jsx as jsx123 } from "react/jsx-runtime";
58856
58895
  var clonePaletteItem = (paletteItem) => {
58857
58896
  const dolly = paletteItem.cloneNode(true);
58858
58897
  dolly.id = "";
@@ -58869,7 +58908,7 @@ var PaletteItem = memo9(
58869
58908
  closeable,
58870
58909
  ...props
58871
58910
  }) => {
58872
- return /* @__PURE__ */ jsx120(
58911
+ return /* @__PURE__ */ jsx123(
58873
58912
  ListItem,
58874
58913
  {
58875
58914
  className: (0, import_classnames65.default)("vuuPaletteItem", className),
@@ -58882,7 +58921,7 @@ var PaletteItem = memo9(
58882
58921
  );
58883
58922
  PaletteItem.displayName = "PaletteItem";
58884
58923
  var Palette = ({
58885
- ListProps: ListProps5,
58924
+ ListProps: ListProps6,
58886
58925
  ViewProps: ViewProps4,
58887
58926
  children,
58888
58927
  className,
@@ -58904,7 +58943,7 @@ var Palette = ({
58904
58943
  const { height, left, top: top2, width } = listItemElement.getBoundingClientRect();
58905
58944
  const id = uuid5();
58906
58945
  const identifiers = { id, key: id };
58907
- const component = template ? payload : /* @__PURE__ */ jsx120(
58946
+ const component = template ? payload : /* @__PURE__ */ jsx123(
58908
58947
  MemoView,
58909
58948
  {
58910
58949
  ...ViewProps4,
@@ -58938,10 +58977,10 @@ var Palette = ({
58938
58977
  type: "drag-start"
58939
58978
  });
58940
58979
  }
58941
- return /* @__PURE__ */ jsx120(
58980
+ return /* @__PURE__ */ jsx123(
58942
58981
  List,
58943
58982
  {
58944
- ...ListProps5,
58983
+ ...ListProps6,
58945
58984
  ...props,
58946
58985
  className: (0, import_classnames65.default)(classBase50, className, `${classBase50}-${orientation}`),
58947
58986
  itemHeight,
@@ -58959,18 +58998,18 @@ registerComponent("Palette", Palette, "view");
58959
58998
 
58960
58999
  // ../vuu-layout/src/stack/Stack.tsx
58961
59000
  var import_classnames66 = __toESM(require_classnames());
58962
- import React26, {
59001
+ import React25, {
58963
59002
  forwardRef as forwardRef42,
58964
- useCallback as useCallback127,
59003
+ useCallback as useCallback128,
58965
59004
  useRef as useRef99
58966
59005
  } from "react";
58967
- import { jsx as jsx121, jsxs as jsxs56 } from "react/jsx-runtime";
58968
- var classBase48 = "Tabs";
59006
+ import { jsx as jsx124, jsxs as jsxs57 } from "react/jsx-runtime";
59007
+ var classBase48 = "vuuTabs";
58969
59008
  var getDefaultTabIcon = () => void 0;
58970
59009
  var getChildElements = (children) => {
58971
59010
  const elements = [];
58972
- React26.Children.forEach(children, (child) => {
58973
- if (React26.isValidElement(child)) {
59011
+ React25.Children.forEach(children, (child) => {
59012
+ if (React25.isValidElement(child)) {
58974
59013
  elements.push(child);
58975
59014
  } else {
58976
59015
  console.warn(`Stack has unexpected child element type`);
@@ -59009,7 +59048,7 @@ var Stack2 = forwardRef42(function Stack3({
59009
59048
  allowRenameTab,
59010
59049
  className: tabstripClassName
59011
59050
  } = TabstripProps2;
59012
- const handleExitEditMode = useCallback127(
59051
+ const handleExitEditMode = useCallback128(
59013
59052
  (_oldText, newText, _allowDeactivation, tabIndex) => {
59014
59053
  onTabEdit == null ? void 0 : onTabEdit(tabIndex, newText);
59015
59054
  },
@@ -59017,7 +59056,7 @@ var Stack2 = forwardRef42(function Stack3({
59017
59056
  );
59018
59057
  const activeChild = () => {
59019
59058
  var _a5;
59020
- if (React26.isValidElement(children)) {
59059
+ if (React25.isValidElement(children)) {
59021
59060
  return children;
59022
59061
  }
59023
59062
  if (Array.isArray(children)) {
@@ -59033,7 +59072,7 @@ var Stack2 = forwardRef42(function Stack3({
59033
59072
  } = child2.props;
59034
59073
  const label = getTabLabel(child2, idx, tabLabels.current);
59035
59074
  tabLabels.current.push(label);
59036
- return /* @__PURE__ */ jsx121(
59075
+ return /* @__PURE__ */ jsx124(
59037
59076
  Tab,
59038
59077
  {
59039
59078
  ariaControls: childId,
@@ -59051,7 +59090,7 @@ var Stack2 = forwardRef42(function Stack3({
59051
59090
  const child = activeChild();
59052
59091
  const isHorizontal = showTabs === "left" || showTabs === "right";
59053
59092
  const tabstripOrientation = isHorizontal ? "vertical" : "horizontal";
59054
- return /* @__PURE__ */ jsxs56(
59093
+ return /* @__PURE__ */ jsxs57(
59055
59094
  "div",
59056
59095
  {
59057
59096
  className: (0, import_classnames66.default)(classBase48, classNameProp, {
@@ -59061,7 +59100,7 @@ var Stack2 = forwardRef42(function Stack3({
59061
59100
  id,
59062
59101
  ref,
59063
59102
  children: [
59064
- showTabs ? /* @__PURE__ */ jsx121(
59103
+ showTabs ? /* @__PURE__ */ jsx124(
59065
59104
  Tabstrip,
59066
59105
  {
59067
59106
  ...TabstripProps2,
@@ -59079,7 +59118,7 @@ var Stack2 = forwardRef42(function Stack3({
59079
59118
  children: renderTabs()
59080
59119
  }
59081
59120
  ) : null,
59082
- /* @__PURE__ */ jsx121(
59121
+ /* @__PURE__ */ jsx124(
59083
59122
  "div",
59084
59123
  {
59085
59124
  "aria-labelledby": `${id}-${active}`,
@@ -59095,9 +59134,9 @@ var Stack2 = forwardRef42(function Stack3({
59095
59134
  Stack2.displayName = "Stack";
59096
59135
 
59097
59136
  // ../vuu-layout/src/stack/StackLayout.tsx
59098
- import React27, { useCallback as useCallback128, useRef as useRef100 } from "react";
59099
- import { jsx as jsx122 } from "react/jsx-runtime";
59100
- var defaultCreateNewChild = () => /* @__PURE__ */ jsx122(
59137
+ import React26, { useCallback as useCallback129, useRef as useRef100 } from "react";
59138
+ import { jsx as jsx125 } from "react/jsx-runtime";
59139
+ var defaultCreateNewChild = () => /* @__PURE__ */ jsx125(
59101
59140
  Placeholder,
59102
59141
  {
59103
59142
  resizeable: true,
@@ -59127,7 +59166,7 @@ var StackLayout = (props) => {
59127
59166
  onTabSelectionChanged == null ? void 0 : onTabSelectionChanged(nextIdx);
59128
59167
  }
59129
59168
  };
59130
- const handleTabClose = useCallback128(
59169
+ const handleTabClose = useCallback129(
59131
59170
  (tabIndex) => {
59132
59171
  if (Array.isArray(children)) {
59133
59172
  const {
@@ -59138,9 +59177,9 @@ var StackLayout = (props) => {
59138
59177
  },
59139
59178
  [children, dispatch]
59140
59179
  );
59141
- const handleTabAdd = useCallback128(() => {
59180
+ const handleTabAdd = useCallback129(() => {
59142
59181
  if (path) {
59143
- const tabIndex = React27.Children.count(children);
59182
+ const tabIndex = React26.Children.count(children);
59144
59183
  const component = createNewChild(tabIndex);
59145
59184
  dispatch({
59146
59185
  type: "add",
@@ -59149,7 +59188,7 @@ var StackLayout = (props) => {
59149
59188
  });
59150
59189
  }
59151
59190
  }, [children, createNewChild, dispatch, path]);
59152
- const handleMoveTab = useCallback128(
59191
+ const handleMoveTab = useCallback129(
59153
59192
  (fromIndex, toIndex) => {
59154
59193
  if (path) {
59155
59194
  dispatch({
@@ -59184,7 +59223,7 @@ var StackLayout = (props) => {
59184
59223
  return loadState(id2, "view-title") || title || // This will normally never be called as title is always assigned in layout model
59185
59224
  getDefaultTabLabel(component, idx, existingLabels);
59186
59225
  };
59187
- return /* @__PURE__ */ jsx122(
59226
+ return /* @__PURE__ */ jsx125(
59188
59227
  Stack2,
59189
59228
  {
59190
59229
  ...restProps,
@@ -59205,12 +59244,12 @@ registerComponent("Stack", StackLayout, "container");
59205
59244
 
59206
59245
  // ../vuu-layout/src/toolbar/Toolbar.tsx
59207
59246
  var import_classnames67 = __toESM(require_classnames());
59208
- import React28, { useMemo as useMemo59, useRef as useRef103 } from "react";
59247
+ import React27, { useMemo as useMemo60, useRef as useRef103 } from "react";
59209
59248
 
59210
59249
  // ../vuu-layout/src/toolbar/useToolbar.ts
59211
59250
  import { isValidNumber as isValidNumber12 } from "@vuu-ui/vuu-utils";
59212
59251
  import {
59213
- useCallback as useCallback131,
59252
+ useCallback as useCallback132,
59214
59253
  useRef as useRef102
59215
59254
  } from "react";
59216
59255
 
@@ -59222,7 +59261,7 @@ import {
59222
59261
  getFocusableElement as getFocusableElement2
59223
59262
  } from "@vuu-ui/vuu-utils";
59224
59263
  import {
59225
- useCallback as useCallback129,
59264
+ useCallback as useCallback130,
59226
59265
  useRef as useRef101,
59227
59266
  useState as useState61
59228
59267
  } from "react";
@@ -59256,65 +59295,65 @@ var navigation2 = {
59256
59295
 
59257
59296
  // ../vuu-layout/src/toolbar/useSelection.ts
59258
59297
  import { isSelectableElement as isSelectableElement2, getClosestIndexItem } from "@vuu-ui/vuu-utils";
59259
- import { useCallback as useCallback130 } from "react";
59298
+ import { useCallback as useCallback131 } from "react";
59260
59299
 
59261
59300
  // ../vuu-layout/src/toolbar/Toolbar.tsx
59262
- import { jsx as jsx123 } from "react/jsx-runtime";
59301
+ import { jsx as jsx126 } from "react/jsx-runtime";
59263
59302
 
59264
59303
  // ../vuu-layout/src/tools/config-wrapper/ConfigWrapper.tsx
59265
- import React29, { useState as useState62 } from "react";
59266
- import { jsx as jsx124, jsxs as jsxs57 } from "react/jsx-runtime";
59304
+ import React28, { useState as useState62 } from "react";
59305
+ import { jsx as jsx127, jsxs as jsxs58 } from "react/jsx-runtime";
59267
59306
 
59268
59307
  // ../vuu-layout/src/tools/devtools-box/layout-configurator.jsx
59269
- import { jsx as jsx125, jsxs as jsxs58 } from "react/jsx-runtime";
59308
+ import { jsx as jsx128, jsxs as jsxs59 } from "react/jsx-runtime";
59270
59309
  var CSS_DIGIT = "(\\d+)(?:px)?";
59271
59310
  var CSS_MEASURE = `^(?:${CSS_DIGIT}(?:\\s${CSS_DIGIT}(?:\\s${CSS_DIGIT}(?:\\s${CSS_DIGIT})?)?)?)$`;
59272
59311
  var CSS_REX = new RegExp(CSS_MEASURE);
59273
59312
 
59274
59313
  // ../vuu-layout/src/tools/devtools-tree/layout-tree-viewer.jsx
59275
59314
  var import_classnames68 = __toESM(require_classnames());
59276
- import React30 from "react";
59277
- import { jsx as jsx126 } from "react/jsx-runtime";
59315
+ import React29 from "react";
59316
+ import { jsx as jsx129 } from "react/jsx-runtime";
59278
59317
 
59279
59318
  // ../vuu-shell/src/login/LoginPanel.tsx
59280
59319
  import {
59281
- useCallback as useCallback132,
59320
+ useCallback as useCallback133,
59282
59321
  useEffect as useEffect29,
59283
59322
  useRef as useRef104,
59284
59323
  useState as useState63
59285
59324
  } from "react";
59286
59325
 
59287
59326
  // ../vuu-shell/src/login/VuuLogo.tsx
59288
- import { useMemo as useMemo60 } from "react";
59289
- import { jsx as jsx127, jsxs as jsxs59 } from "react/jsx-runtime";
59327
+ import { useMemo as useMemo61 } from "react";
59328
+ import { jsx as jsx130, jsxs as jsxs60 } from "react/jsx-runtime";
59290
59329
 
59291
59330
  // ../vuu-shell/src/login/LoginPanel.tsx
59292
59331
  var import_classnames69 = __toESM(require_classnames());
59293
- import { jsx as jsx128, jsxs as jsxs60 } from "react/jsx-runtime";
59332
+ import { jsx as jsx131, jsxs as jsxs61 } from "react/jsx-runtime";
59294
59333
 
59295
59334
  // ../vuu-shell/src/login/login-utils.ts
59296
59335
  import { getCookieValue } from "@vuu-ui/vuu-utils";
59297
59336
 
59298
59337
  // ../vuu-shell/src/app-header/AppHeader.tsx
59299
- import { jsx as jsx129, jsxs as jsxs61 } from "react/jsx-runtime";
59338
+ import { jsx as jsx132, jsxs as jsxs62 } from "react/jsx-runtime";
59300
59339
 
59301
59340
  // ../vuu-shell/src/connection-status/ConnectionStatusIcon.tsx
59302
59341
  var import_classnames71 = __toESM(require_classnames());
59303
- import React31, { useEffect as useEffect30, useState as useState64 } from "react";
59304
- import { Fragment as Fragment10, jsx as jsx130, jsxs as jsxs62 } from "react/jsx-runtime";
59342
+ import React30, { useEffect as useEffect30, useState as useState64 } from "react";
59343
+ import { Fragment as Fragment10, jsx as jsx133, jsxs as jsxs63 } from "react/jsx-runtime";
59305
59344
 
59306
59345
  // ../vuu-shell/src/density-switch/DensitySwitch.tsx
59307
59346
  var import_classnames72 = __toESM(require_classnames());
59308
- import { useCallback as useCallback134 } from "react";
59309
- import { jsx as jsx131 } from "react/jsx-runtime";
59347
+ import { useCallback as useCallback135 } from "react";
59348
+ import { jsx as jsx134 } from "react/jsx-runtime";
59310
59349
 
59311
59350
  // ../vuu-shell/src/feature/Feature.tsx
59312
- import React33, { Suspense, useEffect as useEffect31 } from "react";
59351
+ import React32, { Suspense, useEffect as useEffect31 } from "react";
59313
59352
 
59314
59353
  // ../vuu-shell/src/feature/FeatureErrorBoundary.tsx
59315
- import React32 from "react";
59316
- import { Fragment as Fragment11, jsx as jsx132, jsxs as jsxs63 } from "react/jsx-runtime";
59317
- var FeatureErrorBoundary = class extends React32.Component {
59354
+ import React31 from "react";
59355
+ import { Fragment as Fragment11, jsx as jsx135, jsxs as jsxs64 } from "react/jsx-runtime";
59356
+ var FeatureErrorBoundary = class extends React31.Component {
59318
59357
  constructor(props) {
59319
59358
  super(props);
59320
59359
  this.state = { errorMessage: null };
@@ -59328,9 +59367,9 @@ var FeatureErrorBoundary = class extends React32.Component {
59328
59367
  }
59329
59368
  render() {
59330
59369
  if (this.state.errorMessage) {
59331
- return /* @__PURE__ */ jsxs63(Fragment11, { children: [
59332
- /* @__PURE__ */ jsx132("h1", { children: "An error occured while creating component." }),
59333
- /* @__PURE__ */ jsx132("p", { children: this.state.errorMessage })
59370
+ return /* @__PURE__ */ jsxs64(Fragment11, { children: [
59371
+ /* @__PURE__ */ jsx135("h1", { children: "An error occured while creating component." }),
59372
+ /* @__PURE__ */ jsx135("p", { children: this.state.errorMessage })
59334
59373
  ] });
59335
59374
  }
59336
59375
  return this.props.children;
@@ -59338,8 +59377,8 @@ var FeatureErrorBoundary = class extends React32.Component {
59338
59377
  };
59339
59378
 
59340
59379
  // ../vuu-shell/src/feature/Loader.tsx
59341
- import { jsx as jsx133 } from "react/jsx-runtime";
59342
- var Loader = () => /* @__PURE__ */ jsx133("div", { className: "hwLoader" });
59380
+ import { jsx as jsx136 } from "react/jsx-runtime";
59381
+ var Loader = () => /* @__PURE__ */ jsx136("div", { className: "hwLoader" });
59343
59382
 
59344
59383
  // ../vuu-shell/src/feature/css-module-loader.ts
59345
59384
  var importCSS = async (path) => {
@@ -59348,7 +59387,7 @@ var importCSS = async (path) => {
59348
59387
  };
59349
59388
 
59350
59389
  // ../vuu-shell/src/feature/Feature.tsx
59351
- import { jsx as jsx134 } from "react/jsx-runtime";
59390
+ import { jsx as jsx137 } from "react/jsx-runtime";
59352
59391
  var componentsMap = /* @__PURE__ */ new Map();
59353
59392
  var useCachedFeature = (url) => {
59354
59393
  useEffect31(
@@ -59360,7 +59399,7 @@ var useCachedFeature = (url) => {
59360
59399
  if (!componentsMap.has(url)) {
59361
59400
  componentsMap.set(
59362
59401
  url,
59363
- React33.lazy(() => import(
59402
+ React32.lazy(() => import(
59364
59403
  /* @vite-ignore */
59365
59404
  url
59366
59405
  ))
@@ -59388,29 +59427,30 @@ function RawFeature({
59388
59427
  });
59389
59428
  }
59390
59429
  const LazyFeature = useCachedFeature(url);
59391
- return /* @__PURE__ */ jsx134(FeatureErrorBoundary, { url, children: /* @__PURE__ */ jsx134(Suspense, { fallback: /* @__PURE__ */ jsx134(Loader, {}), children: /* @__PURE__ */ jsx134(LazyFeature, { ...props, ...params }) }) });
59430
+ return /* @__PURE__ */ jsx137(FeatureErrorBoundary, { url, children: /* @__PURE__ */ jsx137(Suspense, { fallback: /* @__PURE__ */ jsx137(Loader, {}), children: /* @__PURE__ */ jsx137(LazyFeature, { ...props, ...params }) }) });
59392
59431
  }
59393
- var Feature = React33.memo(RawFeature);
59432
+ var Feature = React32.memo(RawFeature);
59394
59433
  Feature.displayName = "Feature";
59395
59434
  registerComponent("Feature", Feature, "view");
59396
59435
 
59397
59436
  // ../vuu-shell/src/layout-management/SaveLayoutPanel.tsx
59398
59437
  import { useEffect as useEffect32, useState as useState65 } from "react";
59399
59438
  import { takeScreenshot } from "@vuu-ui/vuu-utils";
59400
- import { jsx as jsx135, jsxs as jsxs64 } from "react/jsx-runtime";
59439
+ import { jsx as jsx138, jsxs as jsxs65 } from "react/jsx-runtime";
59401
59440
  var classBase49 = "saveLayoutPanel";
59402
59441
  var formField = `${classBase49}-formField`;
59403
59442
 
59404
59443
  // ../vuu-shell/src/layout-management/useLayoutManager.tsx
59405
- import React34, {
59406
- useCallback as useCallback135,
59444
+ import React33, {
59445
+ useCallback as useCallback136,
59407
59446
  useContext as useContext12,
59408
59447
  useEffect as useEffect33,
59409
59448
  useRef as useRef105,
59410
59449
  useState as useState66
59411
59450
  } from "react";
59412
- import { jsx as jsx136 } from "react/jsx-runtime";
59413
- var LayoutManagementContext = React34.createContext({
59451
+ import { jsx as jsx139 } from "react/jsx-runtime";
59452
+ var LayoutManagementContext = React33.createContext({
59453
+ getApplicationSettings: () => void 0,
59414
59454
  layoutMetadata: [],
59415
59455
  saveLayout: () => void 0,
59416
59456
  // The default Application JSON will be served if no LayoutManagementProvider
@@ -59421,13 +59461,13 @@ var LayoutManagementContext = React34.createContext({
59421
59461
  });
59422
59462
 
59423
59463
  // ../vuu-shell/src/layout-management/LayoutList.tsx
59424
- import { Fragment as Fragment12, jsx as jsx137, jsxs as jsxs65 } from "react/jsx-runtime";
59464
+ import { Fragment as Fragment12, jsx as jsx140, jsxs as jsxs66 } from "react/jsx-runtime";
59425
59465
 
59426
59466
  // ../vuu-icons/src/VuuLogo.tsx
59427
59467
  import { memo as memo10 } from "react";
59428
- import { jsx as jsx138, jsxs as jsxs66 } from "react/jsx-runtime";
59468
+ import { jsx as jsx141, jsxs as jsxs67 } from "react/jsx-runtime";
59429
59469
  var VuuLogo2 = memo10(() => {
59430
- return /* @__PURE__ */ jsxs66(
59470
+ return /* @__PURE__ */ jsxs67(
59431
59471
  "svg",
59432
59472
  {
59433
59473
  width: "44",
@@ -59436,44 +59476,44 @@ var VuuLogo2 = memo10(() => {
59436
59476
  fill: "none",
59437
59477
  xmlns: "http://www.w3.org/2000/svg",
59438
59478
  children: [
59439
- /* @__PURE__ */ jsxs66("g", { clipPath: "url(#clip0_217_6990)", children: [
59440
- /* @__PURE__ */ jsx138(
59479
+ /* @__PURE__ */ jsxs67("g", { clipPath: "url(#clip0_217_6990)", children: [
59480
+ /* @__PURE__ */ jsx141(
59441
59481
  "path",
59442
59482
  {
59443
59483
  d: "M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",
59444
59484
  fill: "url(#paint0_linear_217_6990)"
59445
59485
  }
59446
59486
  ),
59447
- /* @__PURE__ */ jsx138(
59487
+ /* @__PURE__ */ jsx141(
59448
59488
  "path",
59449
59489
  {
59450
59490
  d: "M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",
59451
59491
  fill: "url(#paint1_linear_217_6990)"
59452
59492
  }
59453
59493
  ),
59454
- /* @__PURE__ */ jsx138(
59494
+ /* @__PURE__ */ jsx141(
59455
59495
  "path",
59456
59496
  {
59457
59497
  d: "M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",
59458
59498
  fill: "#F37880"
59459
59499
  }
59460
59500
  ),
59461
- /* @__PURE__ */ jsxs66("g", { opacity: "0.86", children: [
59462
- /* @__PURE__ */ jsx138(
59501
+ /* @__PURE__ */ jsxs67("g", { opacity: "0.86", children: [
59502
+ /* @__PURE__ */ jsx141(
59463
59503
  "path",
59464
59504
  {
59465
59505
  d: "M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",
59466
59506
  fill: "white"
59467
59507
  }
59468
59508
  ),
59469
- /* @__PURE__ */ jsx138(
59509
+ /* @__PURE__ */ jsx141(
59470
59510
  "path",
59471
59511
  {
59472
59512
  d: "M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",
59473
59513
  fill: "white"
59474
59514
  }
59475
59515
  ),
59476
- /* @__PURE__ */ jsx138(
59516
+ /* @__PURE__ */ jsx141(
59477
59517
  "path",
59478
59518
  {
59479
59519
  d: "M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",
@@ -59482,8 +59522,8 @@ var VuuLogo2 = memo10(() => {
59482
59522
  )
59483
59523
  ] })
59484
59524
  ] }),
59485
- /* @__PURE__ */ jsxs66("defs", { children: [
59486
- /* @__PURE__ */ jsxs66(
59525
+ /* @__PURE__ */ jsxs67("defs", { children: [
59526
+ /* @__PURE__ */ jsxs67(
59487
59527
  "linearGradient",
59488
59528
  {
59489
59529
  id: "paint0_linear_217_6990",
@@ -59493,12 +59533,12 @@ var VuuLogo2 = memo10(() => {
59493
59533
  y2: "18.7363",
59494
59534
  gradientUnits: "userSpaceOnUse",
59495
59535
  children: [
59496
- /* @__PURE__ */ jsx138("stop", { stopColor: "#4906A5" }),
59497
- /* @__PURE__ */ jsx138("stop", { offset: "1", stopColor: "#D3423A" })
59536
+ /* @__PURE__ */ jsx141("stop", { stopColor: "#4906A5" }),
59537
+ /* @__PURE__ */ jsx141("stop", { offset: "1", stopColor: "#D3423A" })
59498
59538
  ]
59499
59539
  }
59500
59540
  ),
59501
- /* @__PURE__ */ jsxs66(
59541
+ /* @__PURE__ */ jsxs67(
59502
59542
  "linearGradient",
59503
59543
  {
59504
59544
  id: "paint1_linear_217_6990",
@@ -59508,12 +59548,12 @@ var VuuLogo2 = memo10(() => {
59508
59548
  y2: "22.5009",
59509
59549
  gradientUnits: "userSpaceOnUse",
59510
59550
  children: [
59511
- /* @__PURE__ */ jsx138("stop", { stopColor: "#7C06A5" }),
59512
- /* @__PURE__ */ jsx138("stop", { offset: "1", stopColor: "#D3423A" })
59551
+ /* @__PURE__ */ jsx141("stop", { stopColor: "#7C06A5" }),
59552
+ /* @__PURE__ */ jsx141("stop", { offset: "1", stopColor: "#D3423A" })
59513
59553
  ]
59514
59554
  }
59515
59555
  ),
59516
- /* @__PURE__ */ jsx138("clipPath", { id: "clip0_217_6990", children: /* @__PURE__ */ jsx138("rect", { width: "44", height: "45", fill: "white" }) })
59556
+ /* @__PURE__ */ jsx141("clipPath", { id: "clip0_217_6990", children: /* @__PURE__ */ jsx141("rect", { width: "44", height: "45", fill: "white" }) })
59517
59557
  ] })
59518
59558
  ]
59519
59559
  }
@@ -59523,10 +59563,10 @@ VuuLogo2.displayName = "VuuLogo";
59523
59563
 
59524
59564
  // ../vuu-shell/src/left-nav/LeftNav.tsx
59525
59565
  var import_classnames74 = __toESM(require_classnames());
59526
- import { useCallback as useCallback136, useState as useState67 } from "react";
59566
+ import { useCallback as useCallback137, useState as useState67 } from "react";
59527
59567
 
59528
59568
  // ../vuu-shell/src/feature-list/FeatureList.tsx
59529
- import { jsx as jsx139, jsxs as jsxs67 } from "react/jsx-runtime";
59569
+ import { jsx as jsx142, jsxs as jsxs68 } from "react/jsx-runtime";
59530
59570
 
59531
59571
  // ../vuu-shell/src/theme-provider/ThemeProvider.tsx
59532
59572
  var import_classnames73 = __toESM(require_classnames());
@@ -59536,7 +59576,7 @@ import {
59536
59576
  cloneElement as cloneElement12,
59537
59577
  useContext as useContext13
59538
59578
  } from "react";
59539
- import { jsx as jsx140 } from "react/jsx-runtime";
59579
+ import { jsx as jsx143 } from "react/jsx-runtime";
59540
59580
  var DEFAULT_DENSITY2 = "medium";
59541
59581
  var DEFAULT_THEME = "salt-theme";
59542
59582
  var DEFAULT_THEME_MODE = "light";
@@ -59607,19 +59647,19 @@ var ThemeProvider = ({
59607
59647
  const themeMode = (_b = themeModeProp != null ? themeModeProp : inheritedThemeMode) != null ? _b : DEFAULT_THEME_MODE;
59608
59648
  const theme2 = (_c = themeProp != null ? themeProp : inheritedTheme) != null ? _c : DEFAULT_THEME;
59609
59649
  const themedChildren = applyThemeClasses ? createThemedChildren(children, theme2, themeMode, density) : children;
59610
- return /* @__PURE__ */ jsx140(ThemeContext2.Provider, { value: { themeMode, density, theme: theme2 }, children: themedChildren });
59650
+ return /* @__PURE__ */ jsx143(ThemeContext2.Provider, { value: { themeMode, density, theme: theme2 }, children: themedChildren });
59611
59651
  };
59612
59652
  ThemeProvider.displayName = "ThemeProvider";
59613
59653
 
59614
59654
  // ../vuu-shell/src/left-nav/LeftNav.tsx
59615
- import { jsx as jsx141, jsxs as jsxs68 } from "react/jsx-runtime";
59655
+ import { jsx as jsx144, jsxs as jsxs69 } from "react/jsx-runtime";
59616
59656
 
59617
59657
  // ../vuu-shell/src/session-editing-form/SessionEditingForm.tsx
59618
59658
  var import_classnames75 = __toESM(require_classnames());
59619
59659
  import {
59620
- useCallback as useCallback137,
59660
+ useCallback as useCallback138,
59621
59661
  useEffect as useEffect34,
59622
- useMemo as useMemo61,
59662
+ useMemo as useMemo62,
59623
59663
  useRef as useRef106,
59624
59664
  useState as useState68
59625
59665
  } from "react";
@@ -59633,42 +59673,42 @@ import {
59633
59673
  isValidNumber as isValidNumber13,
59634
59674
  shallowEquals
59635
59675
  } from "@vuu-ui/vuu-utils";
59636
- import { jsx as jsx142, jsxs as jsxs69 } from "react/jsx-runtime";
59676
+ import { jsx as jsx145, jsxs as jsxs70 } from "react/jsx-runtime";
59637
59677
 
59638
59678
  // ../vuu-shell/src/shell.tsx
59639
59679
  import { connectToServer } from "@vuu-ui/vuu-data";
59640
59680
  var import_classnames78 = __toESM(require_classnames());
59641
59681
  import { logger as logger2 } from "@vuu-ui/vuu-utils";
59642
59682
  import {
59643
- useCallback as useCallback140,
59683
+ useCallback as useCallback141,
59644
59684
  useEffect as useEffect35,
59645
59685
  useRef as useRef108
59646
59686
  } from "react";
59647
59687
 
59648
59688
  // ../vuu-shell/src/shell-layouts/context-panel/ContextPanel.tsx
59649
59689
  var import_classnames76 = __toESM(require_classnames());
59650
- import { useCallback as useCallback138, useMemo as useMemo62 } from "react";
59651
- import { jsx as jsx143, jsxs as jsxs70 } from "react/jsx-runtime";
59690
+ import { useCallback as useCallback139, useMemo as useMemo63 } from "react";
59691
+ import { jsx as jsx146, jsxs as jsxs71 } from "react/jsx-runtime";
59652
59692
 
59653
59693
  // ../vuu-shell/src/shell-layouts/side-panel/SidePanel.tsx
59654
59694
  var import_classnames77 = __toESM(require_classnames());
59655
- import { useMemo as useMemo63 } from "react";
59656
- import { jsx as jsx144 } from "react/jsx-runtime";
59695
+ import { useMemo as useMemo64 } from "react";
59696
+ import { jsx as jsx147 } from "react/jsx-runtime";
59657
59697
 
59658
59698
  // ../vuu-shell/src/shell-layouts/useFullHeightLeftPanel.tsx
59659
- import { jsx as jsx145, jsxs as jsxs71 } from "react/jsx-runtime";
59699
+ import { jsx as jsx148, jsxs as jsxs72 } from "react/jsx-runtime";
59660
59700
 
59661
59701
  // ../vuu-shell/src/shell-layouts/useInlayLeftPanel.tsx
59662
- import { useCallback as useCallback139, useRef as useRef107, useState as useState69 } from "react";
59663
- import { jsx as jsx146, jsxs as jsxs72 } from "react/jsx-runtime";
59702
+ import { useCallback as useCallback140, useRef as useRef107, useState as useState69 } from "react";
59703
+ import { jsx as jsx149, jsxs as jsxs73 } from "react/jsx-runtime";
59664
59704
 
59665
59705
  // ../vuu-shell/src/shell.tsx
59666
- import { jsx as jsx147, jsxs as jsxs73 } from "react/jsx-runtime";
59706
+ import { jsx as jsx150, jsxs as jsxs74 } from "react/jsx-runtime";
59667
59707
  var { error } = logger2("Shell");
59668
59708
 
59669
59709
  // ../vuu-shell/src/ShellContextProvider.tsx
59670
59710
  import { createContext as createContext11, useContext as useContext14 } from "react";
59671
- import { jsx as jsx148 } from "react/jsx-runtime";
59711
+ import { jsx as jsx151 } from "react/jsx-runtime";
59672
59712
  var defaultConfig = {};
59673
59713
  var ShellContext = createContext11(defaultConfig);
59674
59714
  var useShellContext = () => {
@@ -59677,8 +59717,8 @@ var useShellContext = () => {
59677
59717
 
59678
59718
  // ../vuu-shell/src/theme-switch/ThemeSwitch.tsx
59679
59719
  var import_classnames79 = __toESM(require_classnames());
59680
- import { useCallback as useCallback141 } from "react";
59681
- import { jsx as jsx149, jsxs as jsxs74 } from "react/jsx-runtime";
59720
+ import { useCallback as useCallback142 } from "react";
59721
+ import { jsx as jsx152, jsxs as jsxs75 } from "react/jsx-runtime";
59682
59722
 
59683
59723
  // src/hooks/useLookupValues.ts
59684
59724
  import {
@@ -59686,7 +59726,7 @@ import {
59686
59726
  isLookupRenderer,
59687
59727
  isTypeDescriptor as isTypeDescriptor6
59688
59728
  } from "@vuu-ui/vuu-utils";
59689
- import { useMemo as useMemo64, useState as useState70 } from "react";
59729
+ import { useMemo as useMemo65, useState as useState70 } from "react";
59690
59730
  var NO_VALUES = [];
59691
59731
  var lookupValueMap = /* @__PURE__ */ new Map();
59692
59732
  var loadLookupValues = ({
@@ -59748,7 +59788,7 @@ var getLookupDetails = ({ name: name3, type }) => {
59748
59788
  var useLookupValues = (column, initialValueProp) => {
59749
59789
  const lookupDetails = getLookupDetails(column);
59750
59790
  const { getLookupValues } = useShellContext();
59751
- const initialState = useMemo64(() => {
59791
+ const initialState = useMemo65(() => {
59752
59792
  var _a4;
59753
59793
  const values2 = (_a4 = getLookupValues == null ? void 0 : getLookupValues(lookupDetails.table)) != null ? _a4 : NO_VALUES;
59754
59794
  return {
@@ -59757,7 +59797,7 @@ var useLookupValues = (column, initialValueProp) => {
59757
59797
  };
59758
59798
  }, [getLookupValues, initialValueProp, lookupDetails.table]);
59759
59799
  const [{ initialValue, values }, setLookupState] = useState70(initialState);
59760
- useMemo64(() => {
59800
+ useMemo65(() => {
59761
59801
  if (values === NO_VALUES) {
59762
59802
  loadLookupValues(lookupDetails).then(
59763
59803
  (values2) => setLookupState({
@@ -59774,11 +59814,11 @@ var useLookupValues = (column, initialValueProp) => {
59774
59814
  };
59775
59815
 
59776
59816
  // src/hooks/useServerConnectionStatus.ts
59777
- import { useCallback as useCallback142, useEffect as useEffect36, useState as useState71 } from "react";
59817
+ import { useCallback as useCallback143, useEffect as useEffect36, useState as useState71 } from "react";
59778
59818
  import { ConnectionManager } from "@vuu-ui/vuu-data";
59779
59819
  var useServerConnectionStatus = () => {
59780
59820
  const [connectionStatus, setConnectionStatus] = useState71("disconnected");
59781
- const handleStatusChange = useCallback142(
59821
+ const handleStatusChange = useCallback143(
59782
59822
  ({ status }) => {
59783
59823
  setConnectionStatus(status);
59784
59824
  },
@@ -59794,11 +59834,11 @@ var useServerConnectionStatus = () => {
59794
59834
  };
59795
59835
 
59796
59836
  // src/hooks/useServerConnectionQuality.ts
59797
- import { useCallback as useCallback143, useEffect as useEffect37, useState as useState72 } from "react";
59837
+ import { useCallback as useCallback144, useEffect as useEffect37, useState as useState72 } from "react";
59798
59838
  import { ConnectionManager as ConnectionManager2 } from "@vuu-ui/vuu-data";
59799
59839
  var useServerConnectionQuality = () => {
59800
59840
  const [messagesPerSecond, setMessagesPerSecond] = useState72(0);
59801
- const handleConnectivityMessage = useCallback143(({ messages }) => {
59841
+ const handleConnectivityMessage = useCallback144(({ messages }) => {
59802
59842
  setMessagesPerSecond(messages.messagesLength);
59803
59843
  }, []);
59804
59844
  useEffect37(() => {
@@ -59814,7 +59854,7 @@ var useServerConnectionQuality = () => {
59814
59854
  };
59815
59855
 
59816
59856
  // src/hooks/useTypeaheadSuggestions.ts
59817
- import { useCallback as useCallback144 } from "react";
59857
+ import { useCallback as useCallback145 } from "react";
59818
59858
  import { makeRpcCall } from "@vuu-ui/vuu-data";
59819
59859
  var TYPEAHEAD_MESSAGE_CONSTANTS = {
59820
59860
  type: "RPC_CALL",
@@ -59826,7 +59866,7 @@ var getTypeaheadParams = (table, column, text = "", selectedValues = []) => {
59826
59866
  }
59827
59867
  return [table, column];
59828
59868
  };
59829
- var useTypeaheadSuggestions = () => useCallback144(async (params) => {
59869
+ var useTypeaheadSuggestions = () => useCallback145(async (params) => {
59830
59870
  const rpcMessage = params.length === 2 ? {
59831
59871
  method: "getUniqueFieldValues",
59832
59872
  params,
@@ -59846,7 +59886,7 @@ import {
59846
59886
  isGroupMenuItemDescriptor as isGroupMenuItemDescriptor2,
59847
59887
  metadataKeys as metadataKeys10
59848
59888
  } from "@vuu-ui/vuu-utils";
59849
- import { useCallback as useCallback145 } from "react";
59889
+ import { useCallback as useCallback146 } from "react";
59850
59890
  var addRowsFromInstruments = "addRowsFromInstruments";
59851
59891
  var { KEY: KEY3 } = metadataKeys10;
59852
59892
  var NO_CONFIG = {};
@@ -59991,7 +60031,7 @@ var useVuuMenuActions = ({
59991
60031
  menuActionConfig = NO_CONFIG,
59992
60032
  onRpcResponse
59993
60033
  }) => {
59994
- const buildViewserverMenuOptions = useCallback145(
60034
+ const buildViewserverMenuOptions = useCallback146(
59995
60035
  (location, options) => {
59996
60036
  const { links, menu } = dataSource;
59997
60037
  const { visualLink } = menuActionConfig;
@@ -60023,7 +60063,7 @@ var useVuuMenuActions = ({
60023
60063
  },
60024
60064
  [dataSource, menuActionConfig]
60025
60065
  );
60026
- const handleMenuAction = useCallback145(
60066
+ const handleMenuAction = useCallback146(
60027
60067
  ({ menuId, options }) => {
60028
60068
  if (clientSideMenuActionHandler == null ? void 0 : clientSideMenuActionHandler(menuId, options)) {
60029
60069
  return true;
@@ -60054,10 +60094,10 @@ var useVuuMenuActions = ({
60054
60094
 
60055
60095
  // src/hooks/useVuuTables.ts
60056
60096
  import { getServerAPI } from "@vuu-ui/vuu-data";
60057
- import { useCallback as useCallback146, useEffect as useEffect38, useState as useState73 } from "react";
60097
+ import { useCallback as useCallback147, useEffect as useEffect38, useState as useState73 } from "react";
60058
60098
  var useVuuTables = () => {
60059
60099
  const [tables, setTables] = useState73();
60060
- const buildTables = useCallback146((schemas) => {
60100
+ const buildTables = useCallback147((schemas) => {
60061
60101
  const vuuTables = /* @__PURE__ */ new Map();
60062
60102
  schemas.forEach((schema) => {
60063
60103
  vuuTables.set(schema.table.table, schema);