@darajs/core 1.25.0 → 1.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4227,7 +4227,7 @@
4227
4227
  let recoilValue = null;
4228
4228
  const {
4229
4229
  key,
4230
- get,
4230
+ get: get2,
4231
4231
  cachePolicy_UNSTABLE: cachePolicy
4232
4232
  } = options;
4233
4233
  const set2 = options.set != null ? options.set : void 0;
@@ -4423,7 +4423,7 @@
4423
4423
  };
4424
4424
  };
4425
4425
  try {
4426
- result = get({
4426
+ result = get2({
4427
4427
  get: getRecoilValue,
4428
4428
  getCallback
4429
4429
  });
@@ -5028,9 +5028,9 @@
5028
5028
  const sel = Recoil_selector({
5029
5029
  key: `${options.key}__withFallback`,
5030
5030
  get: ({
5031
- get
5031
+ get: get2
5032
5032
  }) => {
5033
- const baseValue = get(base);
5033
+ const baseValue = get2(base);
5034
5034
  return baseValue instanceof DefaultValue$2$1 ? options.default : baseValue;
5035
5035
  },
5036
5036
  // $FlowFixMe[incompatible-call]
@@ -5312,10 +5312,10 @@
5312
5312
  Recoil_selectorFamily({
5313
5313
  key: "__waitForNone",
5314
5314
  get: (dependencies) => ({
5315
- get
5315
+ get: get2
5316
5316
  }) => {
5317
5317
  const deps = unwrapDependencies(dependencies);
5318
- const [results, exceptions] = concurrentRequests(get, deps);
5318
+ const [results, exceptions] = concurrentRequests(get2, deps);
5319
5319
  return wrapLoadables(dependencies, results, exceptions);
5320
5320
  },
5321
5321
  dangerouslyAllowMutability: true
@@ -5323,10 +5323,10 @@
5323
5323
  Recoil_selectorFamily({
5324
5324
  key: "__waitForAny",
5325
5325
  get: (dependencies) => ({
5326
- get
5326
+ get: get2
5327
5327
  }) => {
5328
5328
  const deps = unwrapDependencies(dependencies);
5329
- const [results, exceptions] = concurrentRequests(get, deps);
5329
+ const [results, exceptions] = concurrentRequests(get2, deps);
5330
5330
  if (exceptions.some((exp) => !Recoil_isPromise(exp))) {
5331
5331
  return wrapLoadables(dependencies, results, exceptions);
5332
5332
  }
@@ -5350,10 +5350,10 @@
5350
5350
  Recoil_selectorFamily({
5351
5351
  key: "__waitForAll",
5352
5352
  get: (dependencies) => ({
5353
- get
5353
+ get: get2
5354
5354
  }) => {
5355
5355
  const deps = unwrapDependencies(dependencies);
5356
- const [results, exceptions] = concurrentRequests(get, deps);
5356
+ const [results, exceptions] = concurrentRequests(get2, deps);
5357
5357
  if (exceptions.every((exp) => exp == null)) {
5358
5358
  return wrapResults(dependencies, results);
5359
5359
  }
@@ -5368,10 +5368,10 @@
5368
5368
  Recoil_selectorFamily({
5369
5369
  key: "__waitForAllSettled",
5370
5370
  get: (dependencies) => ({
5371
- get
5371
+ get: get2
5372
5372
  }) => {
5373
5373
  const deps = unwrapDependencies(dependencies);
5374
- const [results, exceptions] = concurrentRequests(get, deps);
5374
+ const [results, exceptions] = concurrentRequests(get2, deps);
5375
5375
  if (exceptions.every((exp) => !Recoil_isPromise(exp))) {
5376
5376
  return wrapLoadables(dependencies, results, exceptions);
5377
5377
  }
@@ -5388,10 +5388,10 @@
5388
5388
  Recoil_selectorFamily({
5389
5389
  key: "__noWait",
5390
5390
  get: (dependency) => ({
5391
- get
5391
+ get: get2
5392
5392
  }) => {
5393
5393
  try {
5394
- return Recoil_selector.value(loadableWithValue$4(get(dependency)));
5394
+ return Recoil_selector.value(loadableWithValue$4(get2(dependency)));
5395
5395
  } catch (exception) {
5396
5396
  return Recoil_selector.value(Recoil_isPromise(exception) ? loadableWithPromise$3(exception) : loadableWithError$3(exception));
5397
5397
  }
@@ -6651,7 +6651,7 @@
6651
6651
  return cb(config$2);
6652
6652
  });
6653
6653
  },
6654
- get: function get() {
6654
+ get: function get2() {
6655
6655
  return _config.cssPrefix;
6656
6656
  }
6657
6657
  });
@@ -13387,11 +13387,11 @@
13387
13387
  if (hasRequiredGet) return get_1;
13388
13388
  hasRequiredGet = 1;
13389
13389
  var baseGet = require_baseGet();
13390
- function get(object2, path, defaultValue) {
13390
+ function get2(object2, path, defaultValue) {
13391
13391
  var result = object2 == null ? void 0 : baseGet(object2, path);
13392
13392
  return result === void 0 ? defaultValue : result;
13393
13393
  }
13394
- get_1 = get;
13394
+ get_1 = get2;
13395
13395
  return get_1;
13396
13396
  }
13397
13397
  var _baseHasIn;
@@ -13447,14 +13447,14 @@
13447
13447
  function require_baseMatchesProperty() {
13448
13448
  if (hasRequired_baseMatchesProperty) return _baseMatchesProperty;
13449
13449
  hasRequired_baseMatchesProperty = 1;
13450
- var baseIsEqual = require_baseIsEqual(), get = requireGet(), hasIn = requireHasIn(), isKey = require_isKey(), isStrictComparable = require_isStrictComparable(), matchesStrictComparable = require_matchesStrictComparable(), toKey = require_toKey();
13450
+ var baseIsEqual = require_baseIsEqual(), get2 = requireGet(), hasIn = requireHasIn(), isKey = require_isKey(), isStrictComparable = require_isStrictComparable(), matchesStrictComparable = require_matchesStrictComparable(), toKey = require_toKey();
13451
13451
  var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
13452
13452
  function baseMatchesProperty(path, srcValue) {
13453
13453
  if (isKey(path) && isStrictComparable(srcValue)) {
13454
13454
  return matchesStrictComparable(toKey(path), srcValue);
13455
13455
  }
13456
13456
  return function(object2) {
13457
- var objValue = get(object2, path);
13457
+ var objValue = get2(object2, path);
13458
13458
  return objValue === void 0 && objValue === srcValue ? hasIn(object2, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
13459
13459
  };
13460
13460
  }
@@ -28021,7 +28021,7 @@
28021
28021
  }
28022
28022
  var passive2 = false;
28023
28023
  var options = Object.defineProperty({}, "passive", {
28024
- get: function get() {
28024
+ get: function get2() {
28025
28025
  passive2 = true;
28026
28026
  }
28027
28027
  });
@@ -33484,6 +33484,7 @@
33484
33484
  overflow: hidden;
33485
33485
  text-overflow: ellipsis;
33486
33486
  white-space: nowrap;
33487
+ font-size: ${(props) => props.size ? `${props.size}rem` : "1rem"};
33487
33488
  `;
33488
33489
  const SelectedItem = styled.div`
33489
33490
  overflow: hidden;
@@ -34529,6 +34530,7 @@
34529
34530
 
34530
34531
  font-weight: ${(props) => (props === null || props === void 0 ? void 0 : props.heading) ? "bold" : "normal"};
34531
34532
  color: ${(props) => getTextColor(props === null || props === void 0 ? void 0 : props.heading, props.isSelected, props.theme)};
34533
+ font-size: ${(props) => props.size ? `${props.size}rem` : "1rem"};
34532
34534
 
34533
34535
  ${(props) => {
34534
34536
  if (props.heading) {
@@ -34554,13 +34556,13 @@
34554
34556
  return [...acc, item];
34555
34557
  }, []);
34556
34558
  }
34557
- const SectionedListItem = ({ item, index: index2, getItemProps, isSelected, isHighlighted }) => {
34559
+ const SectionedListItem = ({ item, index: index2, getItemProps, isSelected, isHighlighted, size: size2 }) => {
34558
34560
  const theme2 = useClTheme();
34559
34561
  const _a = getItemProps({ index: index2, item }), { itemClassName } = _a, itemProps = __rest$3(_a, ["itemClassName"]);
34560
34562
  if (item.heading) {
34561
34563
  delete itemProps.onClick;
34562
34564
  }
34563
- return jsxRuntimeExports.jsxs(ListItemSpan, Object.assign({}, itemProps, { heading: item.heading, section: item.section, isSelected, title: item.label, item, index: index2, isHighlighted, children: [item.label || item.section, item.badge && jsxRuntimeExports.jsx(Badge, { color: item.badge.color || theme2.colors.primary, children: item.badge.label })] }));
34565
+ return jsxRuntimeExports.jsxs(ListItemSpan, Object.assign({}, itemProps, { heading: item.heading, section: item.section, isSelected, title: item.label, item, index: index2, size: size2, isHighlighted, children: [item.label || item.section, item.badge && jsxRuntimeExports.jsx(Badge, { color: item.badge.color || theme2.colors.primary, children: item.badge.label })] }));
34564
34566
  };
34565
34567
  function SectionedList(props) {
34566
34568
  var _a, _b, _c;
@@ -34652,8 +34654,8 @@
34652
34654
  const role = useRole(context, { role: "listbox" });
34653
34655
  const { getReferenceProps, getFloatingProps } = useInteractions([role]);
34654
34656
  const dropdownStyle = React$1.useMemo(() => Object.assign(Object.assign({}, floatingStyles), { marginLeft: -1 }), [floatingStyles]);
34655
- const renderListItem = React$1.useCallback((item, index2) => jsxRuntimeExports.jsx(SectionedListItem, { item, index: index2, getItemProps, isSelected: (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value) === item.value, isHighlighted: isOpen && kbdHighlightIdx !== void 0 && kbdHighlightIdx === index2 }, `item-${index2}-${isOpen && (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) === item.label}`), [getItemProps, selectedItem, isOpen, kbdHighlightIdx]);
34656
- return jsxRuntimeExports.jsxs(Wrapper$6, { className: props.className, isDisabled: props.disabled, isErrored: false, isOpen, style: props.style, id: props.id, children: [jsxRuntimeExports.jsxs(InputWrapper$2, { disabled: props.disabled, isOpen, ref: refs.setReference, children: [jsxRuntimeExports.jsx(Input, Object.assign({}, getInputProps({ value: inputValue }), getReferenceProps())), jsxRuntimeExports.jsx(ChevronButton$1, { disabled: props.disabled, isOpen, getToggleButtonProps })] }), ReactDOM.createPortal(jsxRuntimeExports.jsx(DropdownList$1, { items, getItemProps, getFloatingProps, style: dropdownStyle, isOpen, getMenuProps, ref: refs.setFloating, kbdHighlightIdx, children: renderListItem }), document.body)] });
34657
+ const renderListItem = React$1.useCallback((item, index2) => jsxRuntimeExports.jsx(SectionedListItem, { item, index: index2, getItemProps, size: props.size, isSelected: (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value) === item.value, isHighlighted: isOpen && kbdHighlightIdx !== void 0 && kbdHighlightIdx === index2 }, `item-${index2}-${isOpen && (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) === item.label}`), [getItemProps, selectedItem, isOpen, kbdHighlightIdx, props.size]);
34658
+ return jsxRuntimeExports.jsxs(Wrapper$6, { className: props.className, isDisabled: props.disabled, isErrored: false, isOpen, style: props.style, id: props.id, children: [jsxRuntimeExports.jsxs(InputWrapper$2, { disabled: props.disabled, isOpen, ref: refs.setReference, children: [jsxRuntimeExports.jsx(Input, Object.assign({}, getInputProps({ value: inputValue }), getReferenceProps(), { size: props.size })), jsxRuntimeExports.jsx(ChevronButton$1, { disabled: props.disabled, isOpen, getToggleButtonProps })] }), ReactDOM.createPortal(jsxRuntimeExports.jsx(DropdownList$1, { items, getItemProps, getFloatingProps, style: dropdownStyle, isOpen, size: props.size, getMenuProps, ref: refs.setFloating, kbdHighlightIdx, children: renderListItem }), document.body)] });
34657
34659
  }
34658
34660
  var toInteger_1;
34659
34661
  var hasRequiredToInteger;
@@ -39081,6 +39083,8 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39081
39083
  style: Object.assign(Object.assign(Object.assign({}, floatingStyles), { maxHeight: 800, minWidth: 150, zIndex: 9999 }), style)
39082
39084
  }), { isOpen, children: jsxRuntimeExports.jsx(SectionedList, { items: allowColumnHiding ? [resetFunctions, columnToggles] : [resetFunctions], onSelect: onOptionSelect }, isOpen ? "open" : "closed") })), document.body)] });
39083
39085
  };
39086
+ const { fontSize } = window.getComputedStyle(document.documentElement);
39087
+ const DEFAULT_ROW_HEIGHT = parseFloat(fontSize) * 2.5;
39084
39088
  var __rest$2 = function(s, e2) {
39085
39089
  var t2 = {};
39086
39090
  for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2) && e2.indexOf(p2) < 0)
@@ -39092,8 +39096,6 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39092
39096
  }
39093
39097
  return t2;
39094
39098
  };
39095
- const { fontSize } = window.getComputedStyle(document.documentElement);
39096
- const ROW_HEIGHT = parseFloat(fontSize) * 2.5;
39097
39099
  const shouldForwardProp$2 = (prop) => !["isSorted", "onClickRow"].includes(prop);
39098
39100
  const Row = styled.div.withConfig({ shouldForwardProp: shouldForwardProp$2 })`
39099
39101
  cursor: ${(props) => props.onClickRow ? "pointer" : "default"};
@@ -39149,7 +39151,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39149
39151
  align-items: center;
39150
39152
 
39151
39153
  min-width: 80px;
39152
- height: ${() => `${ROW_HEIGHT}px`};
39154
+ height: ${({ rowHeight }) => `${rowHeight}px`};
39153
39155
 
39154
39156
  color: ${(props) => props.theme.colors.grey6};
39155
39157
 
@@ -39161,19 +39163,19 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39161
39163
  }
39162
39164
  `;
39163
39165
  const CellContent = styled.span`
39164
- overflow: hidden;
39166
+ overflow: ${({ hasRowHeight }) => hasRowHeight ? "unset" : "hidden"};
39165
39167
 
39166
39168
  width: 100%;
39167
39169
  padding: 0 1rem;
39168
39170
 
39169
- text-overflow: ellipsis;
39170
- white-space: nowrap;
39171
+ text-overflow: ${({ hasRowHeight }) => hasRowHeight ? "unset" : "ellipsis"};
39172
+ white-space: ${({ hasRowHeight }) => hasRowHeight ? "normal" : "nowrap"};
39171
39173
  `;
39172
39174
  const arePropsEqual = (prevProps, nextProps) => {
39173
39175
  var _a;
39174
39176
  return areEqual(prevProps, nextProps) && !(((_a = nextProps.data) === null || _a === void 0 ? void 0 : _a.headerGroups) || []).some((headerGroup) => ((headerGroup === null || headerGroup === void 0 ? void 0 : headerGroup.headers) || []).some((header) => header.isResizing));
39175
39177
  };
39176
- const RenderRow = React__namespace.memo(({ data: { width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns }, index: index2, style: renderRowStyle }) => {
39178
+ const RenderRow = React__namespace.memo(({ data: { width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns, rowHeight }, index: index2, style: renderRowStyle }) => {
39177
39179
  let row = rows[index2];
39178
39180
  if (getItem) {
39179
39181
  const value = getItem(index2);
@@ -39186,8 +39188,8 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39186
39188
  }
39187
39189
  if (!row) {
39188
39190
  return jsxRuntimeExports.jsx("div", { children: headerGroups.map((headerGroup, gidx) => jsxRuntimeExports.jsx(RowPlaceholder, { style: {
39189
- height: ROW_HEIGHT,
39190
- top: (index2 + 1) * ROW_HEIGHT,
39191
+ height: rowHeight,
39192
+ top: (index2 + 1) * rowHeight,
39191
39193
  width: totalColumnsWidth > width ? totalColumnsWidth : "100%"
39192
39194
  }, children: headerGroup === null || headerGroup === void 0 ? void 0 : headerGroup.headers.map((col, cidx) => {
39193
39195
  const headerProps = col.getHeaderProps();
@@ -39205,16 +39207,24 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39205
39207
  }
39206
39208
  };
39207
39209
  const _a = row.getRowProps({ style: renderRowStyle }), { style: rowStyle } = _a, restRow = __rest$2(_a, ["style"]);
39208
- return React$1.createElement(Row, Object.assign({}, restRow, { key: `row-${index2}`, onClick, onClickRow, style: Object.assign(Object.assign({}, rowStyle), { top: (index2 + 1) * ROW_HEIGHT, width: totalColumnsWidth > width ? totalColumnsWidth : "100%" }) }), row.cells.map((cell, colIdx) => {
39209
- var _a2;
39210
+ return React$1.createElement(Row, Object.assign({}, restRow, { key: `row-${index2}`, onClick, onClickRow, style: Object.assign(Object.assign({}, rowStyle), {
39211
+ // The first row is the header row which is not controlled by this rowHeight prop so it needs to be part of the calculation.
39212
+ top: index2 === 0 ? DEFAULT_ROW_HEIGHT : index2 * rowHeight + DEFAULT_ROW_HEIGHT,
39213
+ width: totalColumnsWidth > width ? totalColumnsWidth : "100%"
39214
+ }) }), row.cells.map((cell, colIdx) => {
39215
+ var _a2, _b, _c, _d, _e2;
39210
39216
  const cellProps = cell.getCellProps();
39211
39217
  return React$1.createElement(
39212
39218
  Cell,
39213
- Object.assign({}, cellProps, { key: `cell-${index2}-${colIdx}`, style: Object.assign(Object.assign({}, cellProps.style), { backgroundColor, justifyContent: mappedColumns[colIdx].align, maxWidth: (_a2 = cell.column) === null || _a2 === void 0 ? void 0 : _a2.maxWidth, width: (
39219
+ Object.assign({}, cellProps, { rowHeight, key: `cell-${index2}-${colIdx}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, cellProps.style), { backgroundColor, justifyContent: mappedColumns[colIdx].align, maxWidth: (_a2 = cell.column) === null || _a2 === void 0 ? void 0 : _a2.maxWidth, width: (
39214
39220
  // If width calc has messed up then use the raw width from the column
39215
39221
  cellProps.style.width === "NaNpx" ? mappedColumns[colIdx].width : cellProps.style.width
39216
- ) }) }),
39217
- jsxRuntimeExports.jsx(CellContent, { children: cell.render("Cell", {
39222
+ ) }), ((_b = mappedColumns[colIdx]) === null || _b === void 0 ? void 0 : _b.sticky) === "left" && typeof ((_c = mappedColumns[colIdx]) === null || _c === void 0 ? void 0 : _c.stickyOffset) === "number" ? {
39223
+ left: `${mappedColumns[colIdx].stickyOffset}px`
39224
+ } : {}), ((_d = mappedColumns[colIdx]) === null || _d === void 0 ? void 0 : _d.sticky) === "right" && typeof ((_e2 = mappedColumns[colIdx]) === null || _e2 === void 0 ? void 0 : _e2.stickyOffset) === "number" ? {
39225
+ right: `${mappedColumns[colIdx].stickyOffset}px`
39226
+ } : {}) }),
39227
+ jsxRuntimeExports.jsx(CellContent, { hasRowHeight: rowHeight !== DEFAULT_ROW_HEIGHT, children: cell.render("Cell", {
39218
39228
  colIdx,
39219
39229
  currentEditCell,
39220
39230
  rowIdx: index2
@@ -39294,7 +39304,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39294
39304
  justify-content: space-between;
39295
39305
 
39296
39306
  min-width: 80px;
39297
- height: ${ROW_HEIGHT}px;
39307
+ height: ${DEFAULT_ROW_HEIGHT}px;
39298
39308
 
39299
39309
  color: ${(props) => props.theme.colors.text};
39300
39310
 
@@ -39379,6 +39389,26 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39379
39389
  });
39380
39390
  return [...leftStickyCols, ...nonStickyCols, ...rightStickyCols];
39381
39391
  };
39392
+ const appendStickyOffsets = (columns) => {
39393
+ let leftOffset = 0;
39394
+ let rightOffset = 0;
39395
+ const rightStickyColumnWidths = columns.filter((col) => col.sticky === "right").slice(1).map((col) => parseInt(col.width) || 150);
39396
+ return columns.map((col) => {
39397
+ if (col.sticky === "left") {
39398
+ const nextCol = Object.assign(Object.assign({}, col), { stickyOffset: leftOffset });
39399
+ const width = parseInt(col.width) || 150;
39400
+ leftOffset += width;
39401
+ return nextCol;
39402
+ }
39403
+ if (col.sticky === "right") {
39404
+ rightOffset = rightStickyColumnWidths.reduce((acc, width) => acc + width, 0);
39405
+ const nextCol = Object.assign(Object.assign({}, col), { stickyOffset: rightOffset });
39406
+ rightStickyColumnWidths.shift();
39407
+ return nextCol;
39408
+ }
39409
+ return col;
39410
+ });
39411
+ };
39382
39412
  const filterComponentMap = {
39383
39413
  categorical: CategoricalFilter,
39384
39414
  datetime: DatetimeFilter,
@@ -39396,12 +39426,26 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39396
39426
  return Object.assign(Object.assign({}, col), { Filter: filterComponentMap[col.filter] });
39397
39427
  });
39398
39428
  };
39429
+ const createActionColumn = (actions, accessor, sticky, disableSelectAll = false) => {
39430
+ const width = actions.includes(Actions.SELECT) ? 52 : actions.length * 24 + 24;
39431
+ return {
39432
+ Cell: ActionCell,
39433
+ Header: actions.includes(Actions.SELECT) && !disableSelectAll ? SelectHeader : "",
39434
+ accessor: accessor || "actions",
39435
+ actions,
39436
+ disableSortBy: true,
39437
+ maxWidth: width,
39438
+ minWidth: actions.includes(Actions.SELECT) ? 52 : 48,
39439
+ sticky: sticky || null,
39440
+ width
39441
+ };
39442
+ };
39399
39443
  const cells = {
39400
39444
  DATETIME: DatetimeCell,
39401
39445
  EDIT_INPUT: EditInputCell,
39402
39446
  EDIT_SELECT: EditSelectCell
39403
39447
  };
39404
- const createItemData$1 = memoizeOne$1((width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns) => ({
39448
+ const createItemData$1 = memoizeOne$1((width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns, rowHeight) => ({
39405
39449
  backgroundColor,
39406
39450
  currentEditCell,
39407
39451
  getItem,
@@ -39410,12 +39454,14 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39410
39454
  onClickRow,
39411
39455
  prepareRow,
39412
39456
  rows,
39457
+ rowHeight,
39413
39458
  throttledClickRow,
39414
39459
  totalColumnsWidth,
39415
39460
  width
39416
39461
  }));
39417
- const Table = React$1.forwardRef(({ allowHiding, backgroundColor, className, columns, data: data2, getItem, initialSort = [], itemCount, maxRows, onAction, onChange: onChange2, onClickRow, onItemsRendered, onFilter, onSort, showTableOptions, style, tableOptionsStyle }, ref) => {
39462
+ const Table = React$1.forwardRef(({ allowHiding, actions, backgroundColor, className, columns, data: data2, getItem, initialSort = [], itemCount, maxRows, onAction, onChange: onChange2, onClickRow, onItemsRendered, onFilter, onSort, rowHeight, showTableOptions, style, tableOptionsStyle }, ref) => {
39418
39463
  const [currentSortBy, setCurrentSortBy] = React$1.useState(initialSort);
39464
+ const tableRowHeight = rowHeight || DEFAULT_ROW_HEIGHT;
39419
39465
  React$1.useEffect(
39420
39466
  () => {
39421
39467
  setCurrentSortBy(initialSort);
@@ -39445,7 +39491,14 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39445
39491
  throttledSetEditCell([Number(cell[0]), cell[1]]);
39446
39492
  };
39447
39493
  const infiniteData = React$1.useMemo(() => Array(itemCount).fill(0), [itemCount]);
39448
- const mappedColumns = React$1.useMemo(() => appendFilterComponents(orderStickyCols(columns)), [columns]);
39494
+ const mappedColumns = React$1.useMemo(() => {
39495
+ let processedColumns = columns;
39496
+ if (actions && actions.length > 0) {
39497
+ const actionColumn = createActionColumn(actions);
39498
+ processedColumns = [...columns, actionColumn];
39499
+ }
39500
+ return appendStickyOffsets(appendFilterComponents(orderStickyCols(processedColumns)));
39501
+ }, [columns, actions]);
39449
39502
  const hasFixedColumns = React$1.useMemo(() => mappedColumns.some((column) => "sticky" in column), [mappedColumns]);
39450
39503
  const totalColumnsWidth = React$1.useMemo(() => mappedColumns.reduce((acc, column) => acc + (parseInt(column.width) || 150), 0), [mappedColumns]);
39451
39504
  const filterTypes = React$1.useMemo(() => ({
@@ -39501,11 +39554,15 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39501
39554
  const showHeaderCellButtonContainer = showSort || showFilter || showOptions;
39502
39555
  return React$1.createElement(
39503
39556
  HeaderCell,
39504
- Object.assign({}, headerProps, { key: `col-${gidx}-${cidx}`, style: Object.assign(Object.assign({}, headerProps.style), {
39557
+ Object.assign({}, headerProps, { key: `col-${gidx}-${cidx}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, headerProps.style), {
39505
39558
  maxWidth: col.maxWidth,
39506
39559
  // If width calc has messed up then use the raw width from the column
39507
39560
  width: headerProps.style.width === "NaNpx" ? mappedColumns[cidx].width : headerProps.style.width
39508
- }) }),
39561
+ }), col.sticky === "left" && typeof col.stickyOffset === "number" ? {
39562
+ left: `${col.stickyOffset}px`
39563
+ } : {}), col.sticky === "right" && typeof col.stickyOffset === "number" ? {
39564
+ right: `${col.stickyOffset}px`
39565
+ } : {}) }),
39509
39566
  jsxRuntimeExports.jsxs(HeaderTooltipContainer, { isPrimitiveHeader: typeof headerContent === "string", children: [jsxRuntimeExports.jsx(HeaderContentWrapper, Object.assign({}, sortProps, { isPrimitiveHeader: typeof headerContent === "string", title: typeof headerContent === "string" ? headerContent : "", children: headerContent })), col.tooltip && jsxRuntimeExports.jsx(Tooltip, { content: col.tooltip, children: jsxRuntimeExports.jsx(TooltipIcon, { icon: faCircleQuestion }) })] }),
39510
39567
  showHeaderCellButtonContainer && jsxRuntimeExports.jsxs(HeaderCellButtonContainer, { children: [jsxRuntimeExports.jsxs(HeaderIconsWrapper, { children: [showSort && jsxRuntimeExports.jsx(HeaderIconWrapper, { children: jsxRuntimeExports.jsx(SortIcon, Object.assign({}, sortProps, { className: "tableSortArrow", icon: getSortIcon(col.isSorted, col.isSortedDesc), isSorted: col.isSorted })) }), showFilter ? jsxRuntimeExports.jsx(FilterContainer, { col }) : null, showOptions && jsxRuntimeExports.jsx(OptionsMenu, { allColumns, allowColumnHiding: allowHiding, numVisibleColumns, resetResizing, setAllFilters, style: tableOptionsStyle })] }), jsxRuntimeExports.jsx(ResizeBorder, Object.assign({}, resizerProps))] })
39511
39568
  );
@@ -39514,28 +39571,15 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
39514
39571
  // eslint-disable-next-line react-hooks/exhaustive-deps
39515
39572
  useDeepCompare([tableProps, totalColumnsWidth, headerGroups])
39516
39573
  );
39517
- return jsxRuntimeExports.jsx(Wrapper$2, Object.assign({}, getTableProps(), { "$hasMaxRows": !!maxRows, className: `${className} ${hasFixedColumns ? "sticky" : ""}`, style: Object.assign({ height: maxRows ? (Math.min(rows.length, maxRows) + 1) * ROW_HEIGHT : "100%" }, style), children: jsxRuntimeExports.jsx(AutoSizer, { children: ({ height, width }) => {
39518
- return jsxRuntimeExports.jsx(StyledFixedSizeList, { height, innerElementType: renderTable, itemCount: itemCount || rows.length, itemData: createItemData$1(width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns), itemSize: ROW_HEIGHT, onItemsRendered, style: {
39574
+ return jsxRuntimeExports.jsx(Wrapper$2, Object.assign({}, getTableProps(), { "$hasMaxRows": !!maxRows, className: `${className} ${hasFixedColumns ? "sticky" : ""}`, style: Object.assign({ height: maxRows ? (Math.min(rows.length, maxRows) + 1) * tableRowHeight : "100%" }, style), children: jsxRuntimeExports.jsx(AutoSizer, { children: ({ height, width }) => {
39575
+ return jsxRuntimeExports.jsx(StyledFixedSizeList, { height, innerElementType: renderTable, itemCount: itemCount || rows.length, itemData: createItemData$1(width, currentEditCell, headerGroups, rows, prepareRow, getItem, totalColumnsWidth, onClickRow, throttledClickRow, backgroundColor, mappedColumns, tableRowHeight), itemSize: tableRowHeight, onItemsRendered, style: {
39519
39576
  overflowX: width < totalColumnsWidth ? "auto" : "hidden",
39520
- overflowY: height < (rows.length + 1) * ROW_HEIGHT ? "auto" : "hidden"
39577
+ overflowY: height < (rows.length + 1) * tableRowHeight ? "auto" : "hidden"
39521
39578
  }, width, children: RenderRow }, "table-list");
39522
39579
  } }) }));
39523
39580
  });
39524
39581
  Table.displayName = "Table";
39525
- Table.ActionColumn = (actions, accessor, sticky, disableSelectAll = false) => {
39526
- const width = actions.includes(Actions.SELECT) ? 52 : actions.length * 24 + 24;
39527
- return {
39528
- Cell: ActionCell,
39529
- Header: actions.includes(Actions.SELECT) && !disableSelectAll ? SelectHeader : "",
39530
- accessor: accessor || "actions",
39531
- actions,
39532
- disableSortBy: true,
39533
- maxWidth: width,
39534
- minWidth: actions.includes(Actions.SELECT) ? 52 : 48,
39535
- sticky: sticky || null,
39536
- width
39537
- };
39538
- };
39582
+ Table.ActionColumn = createActionColumn;
39539
39583
  Table.Actions = Actions;
39540
39584
  Table.cells = cells;
39541
39585
  styled.div`
@@ -45171,7 +45215,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
45171
45215
  function baseAt(object2, paths) {
45172
45216
  var index2 = -1, length = paths.length, result2 = Array2(length), skip = object2 == null;
45173
45217
  while (++index2 < length) {
45174
- result2[index2] = skip ? undefined$1 : get(object2, paths[index2]);
45218
+ result2[index2] = skip ? undefined$1 : get2(object2, paths[index2]);
45175
45219
  }
45176
45220
  return result2;
45177
45221
  }
@@ -45616,7 +45660,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
45616
45660
  return matchesStrictComparable(toKey(path), srcValue);
45617
45661
  }
45618
45662
  return function(object2) {
45619
- var objValue = get(object2, path);
45663
+ var objValue = get2(object2, path);
45620
45664
  return objValue === undefined$1 && objValue === srcValue ? hasIn(object2, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
45621
45665
  };
45622
45666
  }
@@ -48371,7 +48415,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
48371
48415
  function functionsIn(object2) {
48372
48416
  return object2 == null ? [] : baseFunctions(object2, keysIn(object2));
48373
48417
  }
48374
- function get(object2, path, defaultValue) {
48418
+ function get2(object2, path, defaultValue) {
48375
48419
  var result2 = object2 == null ? undefined$1 : baseGet(object2, path);
48376
48420
  return result2 === undefined$1 ? defaultValue : result2;
48377
48421
  }
@@ -49229,7 +49273,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
49229
49273
  lodash2.forInRight = forInRight;
49230
49274
  lodash2.forOwn = forOwn;
49231
49275
  lodash2.forOwnRight = forOwnRight;
49232
- lodash2.get = get;
49276
+ lodash2.get = get2;
49233
49277
  lodash2.gt = gt2;
49234
49278
  lodash2.gte = gte;
49235
49279
  lodash2.has = has;
@@ -50930,12 +50974,22 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
50930
50974
  await validateResponse(res, `Failed to cancel task with id: ${taskId}`);
50931
50975
  return true;
50932
50976
  }
50977
+ function serializeNestedKey$1(key) {
50978
+ if (typeof key === "string") {
50979
+ return key;
50980
+ }
50981
+ if (isLoopVariable(key)) {
50982
+ const loopNested = key.nested.join(",");
50983
+ return `LoopVar:${key.uid}:${loopNested}`;
50984
+ }
50985
+ return String(key);
50986
+ }
50933
50987
  function getUniqueIdentifier(variable, opts = {
50934
50988
  useNested: true
50935
50989
  }) {
50936
50990
  let identifier = variable.uid;
50937
50991
  if (opts.useNested && "nested" in variable) {
50938
- identifier += variable.nested.join(",");
50992
+ identifier += variable.nested.map(serializeNestedKey$1).join(",");
50939
50993
  }
50940
50994
  return identifier;
50941
50995
  }
@@ -64524,22 +64578,15 @@ ${String(error)}`;
64524
64578
  selectorFamilyRegistry.set(
64525
64579
  key,
64526
64580
  Recoil_index_11({
64527
- get: (currentExtras) => ({ get }) => {
64528
- const variableValue = get(family(currentExtras));
64529
- return resolveNested(
64530
- variableValue,
64531
- variable.nested.map((n2) => String(n2))
64532
- );
64581
+ get: (currentExtras) => ({ get: get2 }) => {
64582
+ const variableValue = get2(family(currentExtras));
64583
+ return resolveNested(variableValue, variable.nested);
64533
64584
  },
64534
64585
  key,
64535
64586
  set: (currentExtras) => ({ set: set2 }, newValue) => {
64536
64587
  set2(
64537
64588
  family(currentExtras),
64538
- (v) => setNested(
64539
- v,
64540
- variable.nested.map((n2) => String(n2)),
64541
- newValue
64542
- )
64589
+ (v) => setNested(v, variable.nested, newValue)
64543
64590
  );
64544
64591
  }
64545
64592
  })
@@ -64570,10 +64617,20 @@ ${String(error)}`;
64570
64617
  function isPlaceholder(value) {
64571
64618
  return typeof value === "object" && "__ref" in value;
64572
64619
  }
64620
+ function serializeNestedKey(key) {
64621
+ if (typeof key === "string") {
64622
+ return key;
64623
+ }
64624
+ if (isLoopVariable(key)) {
64625
+ const loopNested = key.nested.join(",");
64626
+ return `LoopVar:${key.uid}:${loopNested}`;
64627
+ }
64628
+ return String(key);
64629
+ }
64573
64630
  function getIdentifier$1(variable) {
64574
64631
  let id = `${variable.__typename}:${variable.uid}`;
64575
64632
  if ("nested" in variable && variable.nested.length > 0) {
64576
- id += `:${variable.nested.join(",")}`;
64633
+ id += `:${variable.nested.map(serializeNestedKey).join(",")}`;
64577
64634
  }
64578
64635
  return id;
64579
64636
  }
@@ -69825,7 +69882,7 @@ ${String(error)}`;
69825
69882
  cachePolicy_UNSTABLE: {
69826
69883
  eviction: "most-recent"
69827
69884
  },
69828
- get: (extrasSerializable) => async ({ get }) => {
69885
+ get: (extrasSerializable) => async ({ get: get2 }) => {
69829
69886
  const resolvedVariables = await Promise.all(
69830
69887
  variable.variables.map(async (v) => {
69831
69888
  if (!isVariable(v)) {
@@ -69834,17 +69891,17 @@ ${String(error)}`;
69834
69891
  return resolveVariable(v, wsClient, taskContext, extrasSerializable.extras);
69835
69892
  })
69836
69893
  );
69837
- const selfTrigger = get(getOrRegisterTrigger(variable));
69894
+ const selfTrigger = get2(getOrRegisterTrigger(variable));
69838
69895
  const selectorKey = key + extrasSerializable.toJSON();
69839
69896
  const triggerList = buildTriggerList(variable.variables);
69840
- const triggers = registerChildTriggers(triggerList, get);
69897
+ const triggers = registerChildTriggers(triggerList, get2);
69841
69898
  triggers.unshift(selfTrigger);
69842
69899
  const derivedResult = resolveDerivedValue({
69843
69900
  key: selectorKey,
69844
69901
  variables: variable.variables,
69845
69902
  deps: variable.deps,
69846
69903
  resolvedVariables,
69847
- resolutionStrategy: { name: "get", get },
69904
+ resolutionStrategy: { name: "get", get: get2 },
69848
69905
  triggerList,
69849
69906
  triggers
69850
69907
  });
@@ -69874,7 +69931,7 @@ ${String(error)}`;
69874
69931
  cachePolicy_UNSTABLE: {
69875
69932
  eviction: "most-recent"
69876
69933
  },
69877
- get: (extrasSerializable) => async ({ get }) => {
69934
+ get: (extrasSerializable) => async ({ get: get2 }) => {
69878
69935
  const selectorKey = key + extrasSerializable.toJSON();
69879
69936
  const throwError = (error) => {
69880
69937
  error.selectorId = key;
@@ -69894,7 +69951,7 @@ ${String(error)}`;
69894
69951
  taskContext,
69895
69952
  extrasSerializable.extras
69896
69953
  );
69897
- let derivedResult = get(dvResultSelector);
69954
+ let derivedResult = get2(dvResultSelector);
69898
69955
  if (derivedResult.type === "previous") {
69899
69956
  return derivedResult.entry.result;
69900
69957
  }
@@ -69991,14 +70048,14 @@ ${String(error)}`;
69991
70048
  selectorFamilyRegistry.set(
69992
70049
  key,
69993
70050
  Recoil_index_11({
69994
- get: (extrasSerializable) => ({ get }) => {
70051
+ get: (extrasSerializable) => ({ get: get2 }) => {
69995
70052
  const dvSelector = getOrRegisterDerivedVariableValue(
69996
70053
  variable,
69997
70054
  wsClient,
69998
70055
  taskContext,
69999
70056
  extrasSerializable.extras
70000
70057
  );
70001
- const value = get(dvSelector);
70058
+ const value = get2(dvSelector);
70002
70059
  return "nested" in variable ? resolveNested(value, variable.nested) : value;
70003
70060
  },
70004
70061
  key: nanoid$1()
@@ -70890,12 +70947,12 @@ ${String(error)}`;
70890
70947
  unescapePathComponent
70891
70948
  });
70892
70949
  var getExports = requireGet();
70893
- const getPath = /* @__PURE__ */ getDefaultExportFromCjs(getExports);
70950
+ const get = /* @__PURE__ */ getDefaultExportFromCjs(getExports);
70894
70951
  function extractKey(item, keyAccessor) {
70895
70952
  if (item === null || item === void 0) {
70896
70953
  return void 0;
70897
70954
  }
70898
- const key = getPath(item, keyAccessor);
70955
+ const key = get(item, keyAccessor);
70899
70956
  if (typeof key === "string" || typeof key === "number") {
70900
70957
  return key;
70901
70958
  }
@@ -71187,7 +71244,7 @@ ${String(error)}`;
71187
71244
  key,
71188
71245
  Recoil_index_11({
71189
71246
  key: nanoid$1(),
71190
- get: (extrasSerializable) => async ({ get }) => {
71247
+ get: (extrasSerializable) => async ({ get: get2 }) => {
71191
71248
  const resolvedVariables = await Promise.all(
71192
71249
  variable.variables.map(async (v) => {
71193
71250
  if (!isVariable(v)) {
@@ -71197,8 +71254,8 @@ ${String(error)}`;
71197
71254
  })
71198
71255
  );
71199
71256
  const triggerList = buildTriggerList(variable.variables);
71200
- registerChildTriggers(triggerList, get);
71201
- const resolvedValues = resolvedVariables.map((v) => resolveValue(v, get));
71257
+ registerChildTriggers(triggerList, get2);
71258
+ const resolvedValues = resolvedVariables.map((v) => resolveValue(v, get2));
71202
71259
  const params = {
71203
71260
  uid: variable.uid,
71204
71261
  resolvedValues,
@@ -71227,19 +71284,19 @@ ${String(error)}`;
71227
71284
  key,
71228
71285
  Recoil_index_11({
71229
71286
  key: nanoid$1(),
71230
- get: (extrasSerializable) => ({ get }) => {
71287
+ get: (extrasSerializable) => ({ get: get2 }) => {
71231
71288
  const paramsSelector = getOrRegisterStreamVariableParams(
71232
71289
  variable,
71233
71290
  client2,
71234
71291
  taskContext,
71235
71292
  extrasSerializable.extras
71236
71293
  );
71237
- const atomKey = get(paramsSelector);
71294
+ const atomKey = get2(paramsSelector);
71238
71295
  const atom2 = streamAtomFamily(atomKey);
71239
71296
  if (!streamAtomRegistry.has(atomKey)) {
71240
71297
  streamAtomRegistry.set(atomKey, atom2);
71241
71298
  }
71242
- const streamState = get(atom2);
71299
+ const streamState = get2(atom2);
71243
71300
  return getStreamValue(streamState, variable.key_accessor);
71244
71301
  }
71245
71302
  })
@@ -71261,14 +71318,14 @@ ${String(error)}`;
71261
71318
  key,
71262
71319
  Recoil_index_11({
71263
71320
  key: nanoid$1(),
71264
- get: (extrasSerializable) => ({ get }) => {
71321
+ get: (extrasSerializable) => ({ get: get2 }) => {
71265
71322
  const valueSelector = getOrRegisterStreamVariableValue(
71266
71323
  variable,
71267
71324
  client2,
71268
71325
  taskContext,
71269
71326
  extrasSerializable.extras
71270
71327
  );
71271
- const value = get(valueSelector);
71328
+ const value = get2(valueSelector);
71272
71329
  return "nested" in variable ? resolveNested(value, variable.nested) : value;
71273
71330
  }
71274
71331
  })
@@ -71307,10 +71364,11 @@ ${String(error)}`;
71307
71364
  }
71308
71365
  let returnVal = obj;
71309
71366
  for (const key of nested) {
71310
- if (!Object.keys(returnVal).includes(key)) {
71367
+ const stringKey = key;
71368
+ if (!Object.keys(returnVal).includes(stringKey)) {
71311
71369
  return null;
71312
71370
  }
71313
- returnVal = returnVal[key];
71371
+ returnVal = returnVal[stringKey];
71314
71372
  }
71315
71373
  return returnVal;
71316
71374
  }
@@ -71347,6 +71405,7 @@ ${String(error)}`;
71347
71405
  type: "derived",
71348
71406
  uid: variable.uid,
71349
71407
  values,
71408
+ // After templating, nested should be all strings
71350
71409
  nested: variable.nested
71351
71410
  };
71352
71411
  }
@@ -71391,6 +71450,7 @@ ${String(error)}`;
71391
71450
  type: "derived",
71392
71451
  uid: variable.uid,
71393
71452
  values,
71453
+ // After templating, nested should be all strings
71394
71454
  nested: variable.nested
71395
71455
  };
71396
71456
  }
@@ -72444,7 +72504,7 @@ Inferred class string: "${iconClasses}."`
72444
72504
  cachePolicy_UNSTABLE: {
72445
72505
  eviction: "most-recent"
72446
72506
  },
72447
- get: (extrasSerializable) => async ({ get }) => {
72507
+ get: (extrasSerializable) => async ({ get: get2 }) => {
72448
72508
  const throwError = (error) => {
72449
72509
  error.selectorId = key;
72450
72510
  error.selectorExtras = extrasSerializable.toJSON();
@@ -72466,9 +72526,9 @@ Inferred class string: "${iconClasses}."`
72466
72526
  const resolvedKwargsList = Object.values(resolvedKwargs);
72467
72527
  const kwargsList = Object.values(dynamicKwargs);
72468
72528
  const triggerAtom = getOrRegisterComponentTrigger(uid2, loop_instance_uid);
72469
- const selfTrigger = get(triggerAtom);
72529
+ const selfTrigger = get2(triggerAtom);
72470
72530
  const triggerList = buildTriggerList(kwargsList);
72471
- const triggers = registerChildTriggers(triggerList, get);
72531
+ const triggers = registerChildTriggers(triggerList, get2);
72472
72532
  triggers.unshift(selfTrigger);
72473
72533
  const { extras } = extrasSerializable;
72474
72534
  let derivedResult = resolveDerivedValue({
@@ -72476,7 +72536,7 @@ Inferred class string: "${iconClasses}."`
72476
72536
  variables: kwargsList,
72477
72537
  deps: kwargsList,
72478
72538
  resolvedVariables: resolvedKwargsList,
72479
- resolutionStrategy: { name: "get", get },
72539
+ resolutionStrategy: { name: "get", get: get2 },
72480
72540
  triggerList,
72481
72541
  triggers
72482
72542
  });
@@ -72768,6 +72828,9 @@ Inferred class string: "${iconClasses}."`
72768
72828
  }
72769
72829
  var isPlainObjectExports = requireIsPlainObject();
72770
72830
  const isPlainObject = /* @__PURE__ */ getDefaultExportFromCjs(isPlainObjectExports);
72831
+ function isVariableWithNested(value) {
72832
+ return value && typeof value === "object" && "__typename" in value && typeof value.__typename === "string" && value.__typename.includes("Variable") && "nested" in value && Array.isArray(value.nested);
72833
+ }
72771
72834
  function createMarkers(scope, loopInstanceUid) {
72772
72835
  const markers = [];
72773
72836
  if (scope.action) {
@@ -72807,6 +72870,33 @@ Inferred class string: "${iconClasses}."`
72807
72870
  );
72808
72871
  continue;
72809
72872
  }
72873
+ if (isVariableWithNested(value) && !isLoopVariable(value)) {
72874
+ for (let i2 = 0; i2 < value.nested.length; i2++) {
72875
+ const nestedKey = value.nested[i2];
72876
+ if (isLoopVariable(nestedKey)) {
72877
+ markers.push({
72878
+ type: "nested_loop_var",
72879
+ path: dotPath,
72880
+ nestedIndex: i2,
72881
+ loopVarNested: nestedKey.nested
72882
+ });
72883
+ if (isDerivedVariable(value)) {
72884
+ markers.push({
72885
+ type: "derived_var",
72886
+ path: dotPath,
72887
+ loopInstanceUid: nestedKey.uid
72888
+ });
72889
+ }
72890
+ if (isPyComponent(value)) {
72891
+ markers.push({
72892
+ type: "server_component",
72893
+ path: dotPath,
72894
+ loopInstanceUid: nestedKey.uid
72895
+ });
72896
+ }
72897
+ }
72898
+ }
72899
+ }
72810
72900
  if (isPlainObject(value) || Array.isArray(value)) {
72811
72901
  const newScope = updateScope(scope, value, dotPath);
72812
72902
  walk(value, [...pathSegments, key], newScope);
@@ -72847,6 +72937,14 @@ Inferred class string: "${iconClasses}."`
72847
72937
  set(clonedRenderer, marker.path, value);
72848
72938
  break;
72849
72939
  }
72940
+ case "nested_loop_var": {
72941
+ const resolvedKey = resolveNested(loopValue, marker.loopVarNested);
72942
+ const variable = get(clonedRenderer, marker.path);
72943
+ if (variable && Array.isArray(variable.nested)) {
72944
+ variable.nested[marker.nestedIndex] = String(resolvedKey);
72945
+ }
72946
+ break;
72947
+ }
72850
72948
  case "action": {
72851
72949
  set(clonedRenderer, `${marker.path}.loading.uid`, nanoid$1());
72852
72950
  break;