dara-core 1.19.0__py3-none-any.whl → 1.19.1__py3-none-any.whl

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.
@@ -1292,7 +1292,7 @@
1292
1292
  if (null == r2) return {};
1293
1293
  var t2 = {};
1294
1294
  for (var n2 in r2) if ({}.hasOwnProperty.call(r2, n2)) {
1295
- if (e2.includes(n2)) continue;
1295
+ if (-1 !== e2.indexOf(n2)) continue;
1296
1296
  t2[n2] = r2[n2];
1297
1297
  }
1298
1298
  return t2;
@@ -1830,7 +1830,7 @@
1830
1830
  invariant$1();
1831
1831
  };
1832
1832
  }
1833
- function noop$4() {
1833
+ function noop$5() {
1834
1834
  }
1835
1835
  var StaticRouter = /* @__PURE__ */ function(_React$Component) {
1836
1836
  _inheritsLoose$1(StaticRouter2, _React$Component);
@@ -1847,10 +1847,10 @@
1847
1847
  return _this.navigateTo(location2, "REPLACE");
1848
1848
  };
1849
1849
  _this.handleListen = function() {
1850
- return noop$4;
1850
+ return noop$5;
1851
1851
  };
1852
1852
  _this.handleBlock = function() {
1853
- return noop$4;
1853
+ return noop$5;
1854
1854
  };
1855
1855
  return _this;
1856
1856
  }
@@ -12446,14 +12446,14 @@
12446
12446
  function _nonIterableRest$2() {
12447
12447
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12448
12448
  }
12449
- var noop$3 = function noop2() {
12449
+ var noop$4 = function noop2() {
12450
12450
  };
12451
12451
  var _WINDOW = {};
12452
12452
  var _DOCUMENT = {};
12453
12453
  var _MUTATION_OBSERVER = null;
12454
12454
  var _PERFORMANCE = {
12455
- mark: noop$3,
12456
- measure: noop$3
12455
+ mark: noop$4,
12456
+ measure: noop$4
12457
12457
  };
12458
12458
  try {
12459
12459
  if (typeof window !== "undefined") _WINDOW = window;
@@ -15789,7 +15789,7 @@
15789
15789
  }
15790
15790
  });
15791
15791
  }
15792
- function noop$2() {
15792
+ function noop$3() {
15793
15793
  }
15794
15794
  function errorContext(cb) {
15795
15795
  {
@@ -15929,9 +15929,9 @@
15929
15929
  }
15930
15930
  var EMPTY_OBSERVER = {
15931
15931
  closed: true,
15932
- next: noop$2,
15932
+ next: noop$3,
15933
15933
  error: defaultErrorHandler,
15934
- complete: noop$2
15934
+ complete: noop$3
15935
15935
  };
15936
15936
  var observable = function() {
15937
15937
  return typeof Symbol === "function" && Symbol.observable || "@@observable";
@@ -19574,6 +19574,7 @@
19574
19574
  }
19575
19575
  return value instanceof ShadowRoot || value instanceof getWindow$1(value).ShadowRoot;
19576
19576
  }
19577
+ const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
19577
19578
  function isOverflowElement(element) {
19578
19579
  const {
19579
19580
  overflow,
@@ -19581,24 +19582,29 @@
19581
19582
  overflowY,
19582
19583
  display
19583
19584
  } = getComputedStyle$2(element);
19584
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display);
19585
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
19585
19586
  }
19587
+ const tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
19586
19588
  function isTableElement$1(element) {
19587
- return ["table", "td", "th"].includes(getNodeName$1(element));
19589
+ return tableElements.has(getNodeName$1(element));
19588
19590
  }
19591
+ const topLayerSelectors = [":popover-open", ":modal"];
19589
19592
  function isTopLayer(element) {
19590
- return [":popover-open", ":modal"].some((selector2) => {
19593
+ return topLayerSelectors.some((selector2) => {
19591
19594
  try {
19592
19595
  return element.matches(selector2);
19593
- } catch (e2) {
19596
+ } catch (_e2) {
19594
19597
  return false;
19595
19598
  }
19596
19599
  });
19597
19600
  }
19601
+ const transformProperties = ["transform", "translate", "scale", "rotate", "perspective"];
19602
+ const willChangeValues = ["transform", "translate", "scale", "rotate", "perspective", "filter"];
19603
+ const containValues = ["paint", "layout", "strict", "content"];
19598
19604
  function isContainingBlock(elementOrCss) {
19599
19605
  const webkit = isWebKit();
19600
19606
  const css2 = isElement$1(elementOrCss) ? getComputedStyle$2(elementOrCss) : elementOrCss;
19601
- return css2.transform !== "none" || css2.perspective !== "none" || (css2.containerType ? css2.containerType !== "normal" : false) || !webkit && (css2.backdropFilter ? css2.backdropFilter !== "none" : false) || !webkit && (css2.filter ? css2.filter !== "none" : false) || ["transform", "perspective", "filter"].some((value) => (css2.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css2.contain || "").includes(value));
19607
+ return transformProperties.some((value) => css2[value] ? css2[value] !== "none" : false) || (css2.containerType ? css2.containerType !== "normal" : false) || !webkit && (css2.backdropFilter ? css2.backdropFilter !== "none" : false) || !webkit && (css2.filter ? css2.filter !== "none" : false) || willChangeValues.some((value) => (css2.willChange || "").includes(value)) || containValues.some((value) => (css2.contain || "").includes(value));
19602
19608
  }
19603
19609
  function getContainingBlock$1(element) {
19604
19610
  let currentNode = getParentNode$1(element);
@@ -19616,8 +19622,9 @@
19616
19622
  if (typeof CSS === "undefined" || !CSS.supports) return false;
19617
19623
  return CSS.supports("-webkit-backdrop-filter", "none");
19618
19624
  }
19625
+ const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
19619
19626
  function isLastTraversableNode(node) {
19620
- return ["html", "body", "#document"].includes(getNodeName$1(node));
19627
+ return lastTraversableNodeNames.has(getNodeName$1(node));
19621
19628
  }
19622
19629
  function getComputedStyle$2(element) {
19623
19630
  return getWindow$1(element).getComputedStyle(element);
@@ -19817,8 +19824,9 @@
19817
19824
  function getAxisLength(axis) {
19818
19825
  return axis === "y" ? "height" : "width";
19819
19826
  }
19827
+ const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
19820
19828
  function getSideAxis(placement) {
19821
- return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
19829
+ return yAxisSides.has(getSide(placement)) ? "y" : "x";
19822
19830
  }
19823
19831
  function getAlignmentAxis(placement) {
19824
19832
  return getOppositeAxis(getSideAxis(placement));
@@ -19843,19 +19851,19 @@
19843
19851
  function getOppositeAlignmentPlacement(placement) {
19844
19852
  return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
19845
19853
  }
19854
+ const lrPlacement = ["left", "right"];
19855
+ const rlPlacement = ["right", "left"];
19856
+ const tbPlacement = ["top", "bottom"];
19857
+ const btPlacement = ["bottom", "top"];
19846
19858
  function getSideList(side, isStart, rtl) {
19847
- const lr = ["left", "right"];
19848
- const rl = ["right", "left"];
19849
- const tb = ["top", "bottom"];
19850
- const bt2 = ["bottom", "top"];
19851
19859
  switch (side) {
19852
19860
  case "top":
19853
19861
  case "bottom":
19854
- if (rtl) return isStart ? rl : lr;
19855
- return isStart ? lr : rl;
19862
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
19863
+ return isStart ? lrPlacement : rlPlacement;
19856
19864
  case "left":
19857
19865
  case "right":
19858
- return isStart ? tb : bt2;
19866
+ return isStart ? tbPlacement : btPlacement;
19859
19867
  default:
19860
19868
  return [];
19861
19869
  }
@@ -20617,15 +20625,20 @@
20617
20625
  const nextIndex2 = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
20618
20626
  const nextPlacement = placements2[nextIndex2];
20619
20627
  if (nextPlacement) {
20620
- return {
20621
- data: {
20622
- index: nextIndex2,
20623
- overflows: overflowsData
20624
- },
20625
- reset: {
20626
- placement: nextPlacement
20627
- }
20628
- };
20628
+ const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
20629
+ if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
20630
+ // overflows the main axis.
20631
+ overflowsData.every((d2) => d2.overflows[0] > 0 && getSideAxis(d2.placement) === initialSideAxis)) {
20632
+ return {
20633
+ data: {
20634
+ index: nextIndex2,
20635
+ overflows: overflowsData
20636
+ },
20637
+ reset: {
20638
+ placement: nextPlacement
20639
+ }
20640
+ };
20641
+ }
20629
20642
  }
20630
20643
  let resetPlacement = (_overflowsData$filter = overflowsData.filter((d2) => d2.overflows[0] <= 0).sort((a2, b2) => a2.overflows[1] - b2.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
20631
20644
  if (!resetPlacement) {
@@ -20663,6 +20676,7 @@
20663
20676
  }
20664
20677
  };
20665
20678
  };
20679
+ const originSides = /* @__PURE__ */ new Set(["left", "top"]);
20666
20680
  async function convertValueToCoords(state, options) {
20667
20681
  const {
20668
20682
  placement,
@@ -20673,7 +20687,7 @@
20673
20687
  const side = getSide(placement);
20674
20688
  const alignment = getAlignment(placement);
20675
20689
  const isVertical = getSideAxis(placement) === "y";
20676
- const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
20690
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
20677
20691
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
20678
20692
  const rawValue = evaluate(options, state);
20679
20693
  let {
@@ -21103,6 +21117,7 @@
21103
21117
  y
21104
21118
  };
21105
21119
  }
21120
+ const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
21106
21121
  function getInnerBoundingClientRect$1(element, strategy) {
21107
21122
  const clientRect = getBoundingClientRect$1(element, true, strategy === "fixed");
21108
21123
  const top2 = clientRect.top + element.clientTop;
@@ -21160,7 +21175,7 @@
21160
21175
  if (!currentNodeIsContaining && computedStyle.position === "fixed") {
21161
21176
  currentContainingBlockComputedStyle = null;
21162
21177
  }
21163
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
21178
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
21164
21179
  if (shouldDropCurrentNode) {
21165
21180
  result = result.filter((ancestor) => ancestor !== currentNode);
21166
21181
  } else {
@@ -21216,6 +21231,9 @@
21216
21231
  scrollTop: 0
21217
21232
  };
21218
21233
  const offsets = createCoords(0);
21234
+ function setLeftRTLScrollbarOffset() {
21235
+ offsets.x = getWindowScrollBarX$1(documentElement);
21236
+ }
21219
21237
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
21220
21238
  if (getNodeName$1(offsetParent) !== "body" || isOverflowElement(documentElement)) {
21221
21239
  scroll = getNodeScroll$1(offsetParent);
@@ -21225,9 +21243,12 @@
21225
21243
  offsets.x = offsetRect.x + offsetParent.clientLeft;
21226
21244
  offsets.y = offsetRect.y + offsetParent.clientTop;
21227
21245
  } else if (documentElement) {
21228
- offsets.x = getWindowScrollBarX$1(documentElement);
21246
+ setLeftRTLScrollbarOffset();
21229
21247
  }
21230
21248
  }
21249
+ if (isFixed && !isOffsetParentAnElement && documentElement) {
21250
+ setLeftRTLScrollbarOffset();
21251
+ }
21231
21252
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
21232
21253
  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
21233
21254
  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
@@ -21307,6 +21328,9 @@
21307
21328
  isElement: isElement$1,
21308
21329
  isRTL
21309
21330
  };
21331
+ function rectsAreEqual(a2, b2) {
21332
+ return a2.x === b2.x && a2.y === b2.y && a2.width === b2.width && a2.height === b2.height;
21333
+ }
21310
21334
  function observeMove(element, onMove) {
21311
21335
  let io = null;
21312
21336
  let timeoutId2;
@@ -21325,12 +21349,13 @@
21325
21349
  threshold = 1;
21326
21350
  }
21327
21351
  cleanup();
21352
+ const elementRectForRootMargin = element.getBoundingClientRect();
21328
21353
  const {
21329
21354
  left: left2,
21330
21355
  top: top2,
21331
21356
  width,
21332
21357
  height
21333
- } = element.getBoundingClientRect();
21358
+ } = elementRectForRootMargin;
21334
21359
  if (!skip) {
21335
21360
  onMove();
21336
21361
  }
@@ -21361,6 +21386,9 @@
21361
21386
  refresh(false, ratio);
21362
21387
  }
21363
21388
  }
21389
+ if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
21390
+ refresh();
21391
+ }
21364
21392
  isFirstUpdate = false;
21365
21393
  }
21366
21394
  try {
@@ -21369,7 +21397,7 @@
21369
21397
  // Handle <iframe>s
21370
21398
  root: root.ownerDocument
21371
21399
  });
21372
- } catch (e2) {
21400
+ } catch (_e2) {
21373
21401
  io = new IntersectionObserver(handleObserve, options);
21374
21402
  }
21375
21403
  io.observe(element);
@@ -21424,7 +21452,7 @@
21424
21452
  }
21425
21453
  function frameLoop() {
21426
21454
  const nextRefRect = getBoundingClientRect$1(reference2);
21427
- if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
21455
+ if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
21428
21456
  update();
21429
21457
  }
21430
21458
  prevRefRect = nextRefRect;
@@ -21466,7 +21494,10 @@
21466
21494
  platform: platformWithCache
21467
21495
  });
21468
21496
  };
21469
- var index$2 = typeof document !== "undefined" ? React$1.useLayoutEffect : React$1.useEffect;
21497
+ var isClient = typeof document !== "undefined";
21498
+ var noop$2 = function noop2() {
21499
+ };
21500
+ var index$2 = isClient ? React$1.useLayoutEffect : noop$2;
21470
21501
  function deepEqual(a2, b2) {
21471
21502
  if (a2 === b2) {
21472
21503
  return true;
@@ -22045,11 +22076,11 @@
22045
22076
  performedPointerEventsMutationRef.current = false;
22046
22077
  }
22047
22078
  });
22079
+ const isClickLikeOpenEvent = useEffectEvent(() => {
22080
+ return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
22081
+ });
22048
22082
  React__namespace.useEffect(() => {
22049
22083
  if (!enabled) return;
22050
- function isClickLikeOpenEvent() {
22051
- return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
22052
- }
22053
22084
  function onMouseEnter(event) {
22054
22085
  clearTimeout(timeoutRef.current);
22055
22086
  blockMouseMoveRef.current = false;
@@ -22063,7 +22094,7 @@
22063
22094
  onOpenChange(true, event, "hover");
22064
22095
  }
22065
22096
  }, openDelay);
22066
- } else {
22097
+ } else if (!open2) {
22067
22098
  onOpenChange(true, event, "hover");
22068
22099
  }
22069
22100
  }
@@ -22085,7 +22116,9 @@
22085
22116
  onClose() {
22086
22117
  clearPointerEvents();
22087
22118
  cleanupMouseMoveHandler();
22088
- closeWithDelay(event, true, "safe-polygon");
22119
+ if (!isClickLikeOpenEvent()) {
22120
+ closeWithDelay(event, true, "safe-polygon");
22121
+ }
22089
22122
  }
22090
22123
  });
22091
22124
  const handler = handlerRef.current;
@@ -22111,7 +22144,9 @@
22111
22144
  onClose() {
22112
22145
  clearPointerEvents();
22113
22146
  cleanupMouseMoveHandler();
22114
- closeWithDelay(event);
22147
+ if (!isClickLikeOpenEvent()) {
22148
+ closeWithDelay(event);
22149
+ }
22115
22150
  }
22116
22151
  })(event);
22117
22152
  }
@@ -22134,7 +22169,7 @@
22134
22169
  ref.removeEventListener("mouseleave", onMouseLeave);
22135
22170
  };
22136
22171
  }
22137
- }, [elements, enabled, context2, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open2, openRef, tree, delayRef, handleCloseRef, dataRef]);
22172
+ }, [elements, enabled, context2, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open2, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent]);
22138
22173
  index$1(() => {
22139
22174
  var _handleCloseRef$curre;
22140
22175
  if (!enabled) return;
@@ -22217,9 +22252,11 @@
22217
22252
  clearTimeout(timeoutRef.current);
22218
22253
  },
22219
22254
  onMouseLeave(event) {
22220
- closeWithDelay(event.nativeEvent, false);
22255
+ if (!isClickLikeOpenEvent()) {
22256
+ closeWithDelay(event.nativeEvent, false);
22257
+ }
22221
22258
  }
22222
- }), [closeWithDelay]);
22259
+ }), [closeWithDelay, isClickLikeOpenEvent]);
22223
22260
  return React__namespace.useMemo(() => enabled ? {
22224
22261
  reference: reference2,
22225
22262
  floating
@@ -22503,7 +22540,8 @@
22503
22540
  event: eventOption = "click",
22504
22541
  toggle = true,
22505
22542
  ignoreMouse = false,
22506
- keyboardHandlers = true
22543
+ keyboardHandlers = true,
22544
+ stickIfOpen = true
22507
22545
  } = props;
22508
22546
  const pointerTypeRef = React__namespace.useRef();
22509
22547
  const didKeyDownRef = React__namespace.useRef(false);
@@ -22516,7 +22554,7 @@
22516
22554
  if (event.button !== 0) return;
22517
22555
  if (eventOption === "click") return;
22518
22556
  if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
22519
- if (open2 && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "mousedown" : true)) {
22557
+ if (open2 && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "mousedown" : true)) {
22520
22558
  onOpenChange(false, event.nativeEvent, "click");
22521
22559
  } else {
22522
22560
  event.preventDefault();
@@ -22530,7 +22568,7 @@
22530
22568
  return;
22531
22569
  }
22532
22570
  if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;
22533
- if (open2 && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "click" : true)) {
22571
+ if (open2 && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "click" : true)) {
22534
22572
  onOpenChange(false, event.nativeEvent, "click");
22535
22573
  } else {
22536
22574
  onOpenChange(true, event.nativeEvent, "click");
@@ -22566,7 +22604,7 @@
22566
22604
  }
22567
22605
  }
22568
22606
  }
22569
- }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open2, toggle]);
22607
+ }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open2, stickIfOpen, toggle]);
22570
22608
  return React__namespace.useMemo(() => enabled ? {
22571
22609
  reference: reference2
22572
22610
  } : {}, [enabled, reference2]);
@@ -23906,6 +23944,10 @@
23906
23944
 
23907
23945
  border: none;
23908
23946
  border-radius: 0.25rem;
23947
+
23948
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
23949
+ transition-duration: 150ms;
23950
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
23909
23951
  `;
23910
23952
  function getOutlinedButtonStyle(buttonColor, disabled2, theme2) {
23911
23953
  return `
@@ -32390,6 +32432,112 @@
32390
32432
  cursor: not-allowed;
32391
32433
  color: ${(props) => props.theme.colors.grey2};
32392
32434
  }
32435
+ `;
32436
+ styled.div`
32437
+ overflow: hidden;
32438
+ display: flex;
32439
+ flex-direction: column;
32440
+
32441
+ background-color: ${(props) => props.theme.colors.blue1};
32442
+ border-radius: 4px;
32443
+ outline: none;
32444
+ box-shadow: rgb(0 0 0 / 10%) 0 2px 5px;
32445
+
32446
+ & > button:first-child {
32447
+ border-radius: 4px;
32448
+ }
32449
+
32450
+ &.enter {
32451
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
32452
+ transition-duration: 100ms;
32453
+ transition-property: opacity, transform;
32454
+ }
32455
+
32456
+ &.enter-from {
32457
+ transform: scale(0.95);
32458
+ opacity: 0;
32459
+ }
32460
+
32461
+ &.enter-to {
32462
+ transform: scale(1);
32463
+ opacity: 1;
32464
+ }
32465
+
32466
+ &.leave {
32467
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
32468
+ transition-duration: 75ms;
32469
+ transition-property: opacity, transform;
32470
+ }
32471
+
32472
+ &.leave-from {
32473
+ transform: scale(1);
32474
+ opacity: 1;
32475
+ }
32476
+
32477
+ &.leave-to {
32478
+ transform: scale(0.95);
32479
+ opacity: 0;
32480
+ }
32481
+ `;
32482
+ styled.button`
32483
+ cursor: pointer;
32484
+
32485
+ display: flex;
32486
+ gap: 0.25rem;
32487
+ align-items: center;
32488
+ justify-content: space-between;
32489
+
32490
+ width: 100%;
32491
+ min-width: 160px;
32492
+ height: fit-content;
32493
+ padding: 5px 8px;
32494
+
32495
+ font-size: 0.9rem;
32496
+ color: ${(props) => props.theme.colors.text};
32497
+ white-space: nowrap;
32498
+
32499
+ background-color: ${(props) => props.theme.colors.blue1};
32500
+ border: none;
32501
+ border-radius: 4px;
32502
+ box-shadow: none;
32503
+
32504
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
32505
+ transition-duration: 150ms;
32506
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
32507
+
32508
+ &:hover {
32509
+ background-color: ${(props) => props.theme.colors.grey1};
32510
+ }
32511
+
32512
+ &:active {
32513
+ background-color: ${(props) => props.theme.colors.grey2};
32514
+ }
32515
+
32516
+ &:disabled {
32517
+ cursor: not-allowed;
32518
+ color: ${(props) => props.theme.colors.grey3};
32519
+
32520
+ svg {
32521
+ color: ${(props) => props.theme.colors.grey3};
32522
+ }
32523
+ }
32524
+ `;
32525
+ styled.div`
32526
+ padding: 4px;
32527
+ `;
32528
+ styled.hr`
32529
+ width: 100%;
32530
+ margin: 0.25rem 0;
32531
+ border: none;
32532
+ border-top: 1px solid ${(props) => props.theme.colors.grey2};
32533
+ `;
32534
+ styled.div`
32535
+ display: flex;
32536
+ gap: 0.5rem;
32537
+ width: 100%;
32538
+ `;
32539
+ styled.div`
32540
+ color: ${(props) => props.theme.colors.grey3};
32393
32541
  `;
32394
32542
  var locale$1 = {
32395
32543
  localize: localize$1
@@ -43639,9 +43787,11 @@
43639
43787
  requireRound();
43640
43788
  const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== "undefined" ? React$1.useLayoutEffect : () => {
43641
43789
  };
43790
+ var $8ae05eaa5c114e9c$var$_React_useInsertionEffect;
43791
+ const $8ae05eaa5c114e9c$var$useEarlyEffect = ($8ae05eaa5c114e9c$var$_React_useInsertionEffect = React$1["useInsertionEffect"]) !== null && $8ae05eaa5c114e9c$var$_React_useInsertionEffect !== void 0 ? $8ae05eaa5c114e9c$var$_React_useInsertionEffect : $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c;
43642
43792
  function $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {
43643
43793
  const ref = React$1.useRef(null);
43644
- $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
43794
+ $8ae05eaa5c114e9c$var$useEarlyEffect(() => {
43645
43795
  ref.current = fn;
43646
43796
  }, [
43647
43797
  fn
@@ -43881,11 +44031,54 @@
43881
44031
  "ping",
43882
44032
  "referrerPolicy"
43883
44033
  ]);
44034
+ const $65484d02dcb7eb3e$var$globalAttrs = /* @__PURE__ */ new Set([
44035
+ "dir",
44036
+ "lang",
44037
+ "hidden",
44038
+ "inert",
44039
+ "translate"
44040
+ ]);
44041
+ const $65484d02dcb7eb3e$var$globalEvents = /* @__PURE__ */ new Set([
44042
+ "onClick",
44043
+ "onAuxClick",
44044
+ "onContextMenu",
44045
+ "onDoubleClick",
44046
+ "onMouseDown",
44047
+ "onMouseEnter",
44048
+ "onMouseLeave",
44049
+ "onMouseMove",
44050
+ "onMouseOut",
44051
+ "onMouseOver",
44052
+ "onMouseUp",
44053
+ "onTouchCancel",
44054
+ "onTouchEnd",
44055
+ "onTouchMove",
44056
+ "onTouchStart",
44057
+ "onPointerDown",
44058
+ "onPointerMove",
44059
+ "onPointerUp",
44060
+ "onPointerCancel",
44061
+ "onPointerEnter",
44062
+ "onPointerLeave",
44063
+ "onPointerOver",
44064
+ "onPointerOut",
44065
+ "onGotPointerCapture",
44066
+ "onLostPointerCapture",
44067
+ "onScroll",
44068
+ "onWheel",
44069
+ "onAnimationStart",
44070
+ "onAnimationEnd",
44071
+ "onAnimationIteration",
44072
+ "onTransitionCancel",
44073
+ "onTransitionEnd",
44074
+ "onTransitionRun",
44075
+ "onTransitionStart"
44076
+ ]);
43884
44077
  const $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;
43885
44078
  function $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {
43886
- let { labelable, isLink, propNames } = opts;
44079
+ let { labelable, isLink, global: global2, events = global2, propNames } = opts;
43887
44080
  let filteredProps = {};
43888
- for (const prop in props) if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];
44081
+ for (const prop in props) if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || global2 && $65484d02dcb7eb3e$var$globalAttrs.has(prop) || events && $65484d02dcb7eb3e$var$globalEvents.has(prop) || prop.endsWith("Capture") && $65484d02dcb7eb3e$var$globalEvents.has(prop.slice(0, -7)) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];
43889
44082
  return filteredProps;
43890
44083
  }
43891
44084
  function $7215afc6de606d6b$export$de79e2c695e052f3(element) {
@@ -43943,7 +44136,8 @@
43943
44136
  function $c87311424ea30a05$var$testUserAgent(re) {
43944
44137
  var _window_navigator_userAgentData;
43945
44138
  if (typeof window === "undefined" || window.navigator == null) return false;
43946
- return ((_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand) => re.test(brand.brand))) || re.test(window.navigator.userAgent);
44139
+ let brands = (_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;
44140
+ return Array.isArray(brands) && brands.some((brand) => re.test(brand.brand)) || re.test(window.navigator.userAgent);
43947
44141
  }
43948
44142
  function $c87311424ea30a05$var$testPlatform(re) {
43949
44143
  var _window_navigator_userAgentData;
@@ -44133,9 +44327,8 @@
44133
44327
  return event.detail === 0 && !event.pointerType;
44134
44328
  }
44135
44329
  function $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {
44136
- let resetValue = React$1.useRef(initialValue);
44137
44330
  let handleReset2 = $8ae05eaa5c114e9c$export$7f54fc3180508a52(() => {
44138
- if (onReset) onReset(resetValue.current);
44331
+ if (onReset) onReset(initialValue);
44139
44332
  });
44140
44333
  React$1.useEffect(() => {
44141
44334
  var _ref_current;
@@ -44196,9 +44389,14 @@
44196
44389
  }
44197
44390
  function $9446cca9a3875146$export$e1a7b8e69ef6c52f(value, step) {
44198
44391
  let roundedValue = value;
44392
+ let precision = 0;
44199
44393
  let stepString = step.toString();
44200
- let pointIndex = stepString.indexOf(".");
44201
- let precision = pointIndex >= 0 ? stepString.length - pointIndex : 0;
44394
+ let eIndex = stepString.toLowerCase().indexOf("e-");
44395
+ if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;
44396
+ else {
44397
+ let pointIndex = stepString.indexOf(".");
44398
+ if (pointIndex >= 0) precision = stepString.length - pointIndex;
44399
+ }
44202
44400
  if (precision > 0) {
44203
44401
  let pow = Math.pow(10, precision);
44204
44402
  roundedValue = Math.round(roundedValue * pow) / pow;
@@ -44785,7 +44983,9 @@
44785
44983
  }
44786
44984
  function $6179b936705e76d3$var$setupGlobalTouchEvents() {
44787
44985
  if (typeof document === "undefined") return;
44788
- if (typeof PointerEvent !== "undefined") document.addEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
44986
+ if ($6179b936705e76d3$var$hoverCount === 0) {
44987
+ if (typeof PointerEvent !== "undefined") document.addEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
44988
+ }
44789
44989
  $6179b936705e76d3$var$hoverCount++;
44790
44990
  return () => {
44791
44991
  $6179b936705e76d3$var$hoverCount--;
@@ -45320,7 +45520,8 @@
45320
45520
  step
45321
45521
  ]);
45322
45522
  let value = React$1.useMemo(() => restrictValues($28f99e3e86e6ec45$var$convertValue(props.value)), [
45323
- props.value
45523
+ props.value,
45524
+ restrictValues
45324
45525
  ]);
45325
45526
  let defaultValue = React$1.useMemo(() => {
45326
45527
  var _convertValue;
@@ -45329,11 +45530,13 @@
45329
45530
  ]);
45330
45531
  }, [
45331
45532
  props.defaultValue,
45332
- minValue
45533
+ minValue,
45534
+ restrictValues
45333
45535
  ]);
45334
45536
  let onChange2 = $28f99e3e86e6ec45$var$createOnChange(props.value, props.defaultValue, props.onChange);
45335
45537
  let onChangeEnd = $28f99e3e86e6ec45$var$createOnChange(props.value, props.defaultValue, props.onChangeEnd);
45336
45538
  const [values, setValuesState] = $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange2);
45539
+ let [initialValues] = React$1.useState(values);
45337
45540
  const [isDraggings, setDraggingsState] = React$1.useState(new Array(values.length).fill(false));
45338
45541
  const isEditablesRef = React$1.useRef(new Array(values.length).fill(true));
45339
45542
  const [focusedIndex, setFocusedIndex] = React$1.useState(void 0);
@@ -45401,6 +45604,7 @@
45401
45604
  }
45402
45605
  return {
45403
45606
  values,
45607
+ defaultValues: props.defaultValue !== void 0 ? defaultValue : initialValues,
45404
45608
  getThumbValue: (index2) => values[index2],
45405
45609
  setThumbValue: updateValue,
45406
45610
  setThumbPercent,
@@ -45619,7 +45823,7 @@
45619
45823
  };
45620
45824
  }
45621
45825
  function $47b897dc8cdb026b$export$8d15029008292ae(opts, state) {
45622
- let { index: index2 = 0, isRequired, validationState, isInvalid, trackRef, inputRef, orientation = state.orientation, name } = opts;
45826
+ let { index: index2 = 0, isRequired, validationState, isInvalid, trackRef, inputRef, orientation = state.orientation, name, form } = opts;
45623
45827
  let isDisabled = opts.isDisabled || state.isDisabled;
45624
45828
  let isVertical = orientation === "vertical";
45625
45829
  let { direction } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
@@ -45738,7 +45942,7 @@
45738
45942
  onDown(e2.changedTouches[0].identifier);
45739
45943
  }
45740
45944
  }) : {};
45741
- $99facab73266f662$export$5add1d006293d136(inputRef, value, (v) => {
45945
+ $99facab73266f662$export$5add1d006293d136(inputRef, state.defaultValues[index2], (v) => {
45742
45946
  state.setThumbValue(index2, v);
45743
45947
  });
45744
45948
  return {
@@ -45750,6 +45954,7 @@
45750
45954
  step: state.step,
45751
45955
  value,
45752
45956
  name,
45957
+ form,
45753
45958
  disabled: isDisabled,
45754
45959
  "aria-orientation": orientation,
45755
45960
  "aria-valuetext": state.getThumbValueLabel(index2),
@@ -45810,7 +46015,9 @@
45810
46015
  },
45811
46016
  defaultClassName: "react-aria-Slider"
45812
46017
  });
45813
- let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
46018
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
46019
+ global: true
46020
+ });
45814
46021
  delete DOMProps.id;
45815
46022
  return /* @__PURE__ */ React$1.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
45816
46023
  values: [
@@ -45838,9 +46045,7 @@
45838
46045
  ]
45839
46046
  ]
45840
46047
  }, /* @__PURE__ */ React$1.createElement("div", {
45841
- ...DOMProps,
45842
- ...groupProps,
45843
- ...renderProps,
46048
+ ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, renderProps, groupProps),
45844
46049
  ref,
45845
46050
  slot: props.slot || void 0,
45846
46051
  "data-orientation": state.orientation,
@@ -45904,7 +46109,9 @@
45904
46109
  isDisabled
45905
46110
  }
45906
46111
  });
45907
- let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
46112
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
46113
+ global: true
46114
+ });
45908
46115
  delete DOMProps.id;
45909
46116
  return /* @__PURE__ */ React$1.createElement("div", {
45910
46117
  ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, thumbProps, hoverProps),
@@ -56656,6 +56863,9 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
56656
56863
  function isSwitchVariable(variable) {
56657
56864
  return isVariable(variable) && variable.__typename === "SwitchVariable";
56658
56865
  }
56866
+ function isStateVariable(variable) {
56867
+ return isVariable(variable) && variable.__typename === "StateVariable";
56868
+ }
56659
56869
  function isResolvedDerivedVariable(value) {
56660
56870
  return value && typeof value === "object" && "values" in value && "type" in value && value.type === "derived" && "uid" in value;
56661
56871
  }
@@ -58095,8 +58305,9 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
58095
58305
  console.warn("No valid theme was found. Defaulting to light theme.");
58096
58306
  return theme;
58097
58307
  }
58098
- function useDeferLoadable(loadable) {
58099
- const { suspend } = useFallbackCtx();
58308
+ function useDeferLoadable(loadable, suspendOverride) {
58309
+ const { suspend: ctxSuspend } = useFallbackCtx();
58310
+ const suspend = suspendOverride ?? ctxSuspend;
58100
58311
  const [availableState, setAvailableState] = React$1.useState(() => loadable.getValue());
58101
58312
  const timerId = React$1.useRef(null);
58102
58313
  const isFirstRender = React$1.useRef(true);
@@ -59472,6 +59683,9 @@ Inferred class string: "${iconClasses}."`
59472
59683
  default: resolvedDefault
59473
59684
  };
59474
59685
  }
59686
+ if (isStateVariable(variable)) {
59687
+ throw new Error("StateVariable should not be resolved - it should be handled by useVariable hook");
59688
+ }
59475
59689
  return resolver(getOrRegisterPlainVariable(variable, client2, taskContext, extras));
59476
59690
  }
59477
59691
  function cleanValue(value, forceKeyOverride) {
@@ -60427,25 +60641,25 @@ Inferred class string: "${iconClasses}."`
60427
60641
  }
60428
60642
  throw new Error(`Unexpected operator ${String(operator)} passed to conditional (If) component`);
60429
60643
  }
60430
- function useConditionOrVariable(arg) {
60644
+ function useConditionOrVariable(arg, opts = {}) {
60431
60645
  if (isCondition(arg)) {
60432
- const value = useVariable(arg.variable)[0];
60433
- const other = useVariable(arg.other)[0];
60646
+ const value = useVariable(arg.variable, opts)[0];
60647
+ const other = useVariable(arg.other, opts)[0];
60434
60648
  return isConditionTrue(arg.operator, value, other);
60435
60649
  }
60436
- return useVariable(arg)[0];
60650
+ return useVariable(arg, opts)[0];
60437
60651
  }
60438
60652
  function useSwitchVariable(variable) {
60439
- const value = useConditionOrVariable(variable.value);
60440
- const [valueMap] = useVariable(variable.value_map);
60441
- const [defaultValue] = useVariable(variable.default);
60653
+ const value = useConditionOrVariable(variable.value, { suspend: false });
60654
+ const [valueMap] = useVariable(variable.value_map, { suspend: false });
60655
+ const [defaultValue] = useVariable(variable.default, { suspend: false });
60442
60656
  const lookupKey = String(value);
60443
60657
  return valueMap[lookupKey] ?? defaultValue;
60444
60658
  }
60445
60659
  function warnUpdateOnDerivedState() {
60446
60660
  console.warn("You tried to call update on variable with derived state, this is a noop and will be ignored.");
60447
60661
  }
60448
- function useVariable(variable) {
60662
+ function useVariable(variable, opts = {}) {
60449
60663
  const extras = useRequestExtras();
60450
60664
  const { client: wsClient } = React$1.useContext(websocketCtx);
60451
60665
  const taskContext = useTaskContext();
@@ -60477,7 +60691,7 @@ Inferred class string: "${iconClasses}."`
60477
60691
  bus.publish("DERIVED_VARIABLE_LOADED", { variable, value: selectorLoadable.contents });
60478
60692
  }
60479
60693
  }, [selectorLoadable]);
60480
- const deferred2 = useDeferLoadable(selectorLoadable);
60694
+ const deferred2 = useDeferLoadable(selectorLoadable, opts.suspend);
60481
60695
  return [deferred2.value, warnUpdateOnDerivedState];
60482
60696
  }
60483
60697
  if (isUrlVariable(variable)) {
@@ -60490,6 +60704,25 @@ Inferred class string: "${iconClasses}."`
60490
60704
  if (isSwitchVariable(variable)) {
60491
60705
  return [useSwitchVariable(variable), warnUpdateOnDerivedState];
60492
60706
  }
60707
+ if (isStateVariable(variable)) {
60708
+ const parentSelector = useDerivedVariable(variable.parent_variable, wsClient, taskContext, extras);
60709
+ const parentLoadable = Recoil_index_28(parentSelector);
60710
+ let stateValue;
60711
+ switch (variable.property_name) {
60712
+ case "loading":
60713
+ stateValue = parentLoadable.state === "loading";
60714
+ break;
60715
+ case "error":
60716
+ stateValue = parentLoadable.state === "hasError";
60717
+ break;
60718
+ case "hasValue":
60719
+ stateValue = parentLoadable.state === "hasValue";
60720
+ break;
60721
+ default:
60722
+ stateValue = false;
60723
+ }
60724
+ return [stateValue, warnUpdateOnDerivedState];
60725
+ }
60493
60726
  const recoilState = getOrRegisterPlainVariable(variable, wsClient, taskContext, extras);
60494
60727
  if (!isDerivedVariable(variable.default)) {
60495
60728
  const [value, setValue] = Recoil_index_22(recoilState);
@@ -60504,7 +60737,7 @@ Inferred class string: "${iconClasses}."`
60504
60737
  bus.publish("PLAIN_VARIABLE_LOADED", { variable, value: loadable.contents });
60505
60738
  }
60506
60739
  }, [loadable]);
60507
- const deferred = useDeferLoadable(loadable);
60740
+ const deferred = useDeferLoadable(loadable, opts.suspend);
60508
60741
  return [deferred, setLoadable];
60509
60742
  }
60510
60743
  function flexStyles(props, displayCtx2, useDisplayContext) {
@@ -61090,7 +61323,9 @@ Inferred class string: "${iconClasses}."`
61090
61323
  }, [getData]);
61091
61324
  return data ?? void 0;
61092
61325
  }
61093
- return useVariable(variable)[0];
61326
+ return useVariable(variable, {
61327
+ suspend: false
61328
+ })[0];
61094
61329
  }
61095
61330
  function getVariableValue(variable, shouldFetchVariable = false, ctx) {
61096
61331
  const resolved = resolveVariable(
@@ -62960,6 +63195,7 @@ Inferred class string: "${iconClasses}."`
62960
63195
  ctx.eventBus.publish("URL_VARIABLE_LOADED", { variable, value: variable.default });
62961
63196
  } else if (isDataVariable(variable)) ;
62962
63197
  else if (isSwitchVariable(variable)) ;
63198
+ else if (isStateVariable(variable)) ;
62963
63199
  else {
62964
63200
  const plainAtom = getOrRegisterPlainVariable(variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
62965
63201
  ctx.reset(plainAtom);
@@ -86205,10 +86441,34 @@ Inferred class string: "${iconClasses}."`
86205
86441
  return FileSaver_min$1.exports;
86206
86442
  }
86207
86443
  var FileSaver_minExports = requireFileSaver_min();
86444
+ const restoreColumnName = (colName) => {
86445
+ const colMatch = colName.match(/^__col__\d+__(.+)$/);
86446
+ if (colMatch) {
86447
+ return colMatch[1];
86448
+ }
86449
+ if (colName.startsWith("__index__")) {
86450
+ return colName;
86451
+ }
86452
+ return colName;
86453
+ };
86454
+ const processDataForDownload = (content) => {
86455
+ return content.map((row) => {
86456
+ const processedRow = {};
86457
+ Object.entries(row).forEach(([key, value]) => {
86458
+ if (key === "__index__" || key.startsWith("__index__")) {
86459
+ return;
86460
+ }
86461
+ const restoredKey = restoreColumnName(key);
86462
+ processedRow[restoredKey] = value;
86463
+ });
86464
+ return processedRow;
86465
+ });
86466
+ };
86208
86467
  const createMatrixFromArrayOfObjects = (content) => {
86468
+ const processedContent = processDataForDownload(content);
86209
86469
  const headings = [];
86210
86470
  const indexes = {};
86211
- content.forEach((c) => {
86471
+ processedContent.forEach((c) => {
86212
86472
  Object.keys(c).forEach((k) => {
86213
86473
  if (!headings.includes(k)) {
86214
86474
  headings.push(k);
@@ -86218,7 +86478,7 @@ Inferred class string: "${iconClasses}."`
86218
86478
  });
86219
86479
  const headingsLength = headings.length;
86220
86480
  const matrix = [];
86221
- content.forEach((c) => {
86481
+ processedContent.forEach((c) => {
86222
86482
  const row = new Array(headingsLength);
86223
86483
  Object.entries(c).forEach(([k, v]) => {
86224
86484
  row[indexes[k]] = v;
@@ -86301,11 +86561,7 @@ Inferred class string: "${iconClasses}."`
86301
86561
  value = await value;
86302
86562
  }
86303
86563
  if (actionImpl.variable.__typename === "DataVariable" || actionImpl.variable.__typename === "DerivedDataVariable") {
86304
- for (const row of value) {
86305
- if ("__index__" in row) {
86306
- delete row.__index__;
86307
- }
86308
- }
86564
+ value = processDataForDownload(value);
86309
86565
  }
86310
86566
  const fileName = actionImpl.file_name || "Data";
86311
86567
  const fileNameWithExt = `${fileName}.${actionImpl.type}`;
@@ -86747,6 +87003,7 @@ Inferred class string: "${iconClasses}."`
86747
87003
  exports.isResolvedDerivedDataVariable = isResolvedDerivedDataVariable;
86748
87004
  exports.isResolvedDerivedVariable = isResolvedDerivedVariable;
86749
87005
  exports.isResolvedSwitchVariable = isResolvedSwitchVariable;
87006
+ exports.isStateVariable = isStateVariable;
86750
87007
  exports.isSwitchVariable = isSwitchVariable;
86751
87008
  exports.isTaskResponse = isTaskResponse$1;
86752
87009
  exports.isUrlVariable = isUrlVariable;