dara-core 1.18.8__py3-none-any.whl → 1.18.10__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.
@@ -22,7 +22,6 @@ from typing import Optional, Union, cast
22
22
 
23
23
  from anyio.abc import TaskGroup
24
24
  from pandas import DataFrame
25
- from pandas.io.json._table_schema import build_table_schema
26
25
  from pydantic import (
27
26
  BaseModel,
28
27
  ConfigDict,
@@ -44,7 +43,7 @@ from dara.core.interactivity.filtering import (
44
43
  )
45
44
  from dara.core.internal.cache_store import CacheStore
46
45
  from dara.core.internal.hashing import hash_object
47
- from dara.core.internal.pandas_utils import append_index, df_convert_to_internal
46
+ from dara.core.internal.pandas_utils import append_index, df_convert_to_internal, get_schema
48
47
  from dara.core.internal.utils import call_async
49
48
  from dara.core.internal.websocket import WebsocketManager
50
49
  from dara.core.logging import eng_logger
@@ -230,7 +229,7 @@ class DataVariable(AnyDataVariable):
230
229
  store.set(
231
230
  var_entry,
232
231
  key=cls._get_schema_cache_key(var_entry.uid),
233
- value=build_table_schema(df_convert_to_internal(entry.data)),
232
+ value=get_schema(df_convert_to_internal(entry.data)),
234
233
  pin=True,
235
234
  ),
236
235
  )
@@ -23,7 +23,6 @@ from typing import Any, Callable, List, Optional, Union, cast
23
23
  from uuid import uuid4
24
24
 
25
25
  from pandas import DataFrame
26
- from pandas.io.json._table_schema import build_table_schema
27
26
  from pydantic import ConfigDict, SerializerFunctionWrapHandler, model_serializer
28
27
 
29
28
  from dara.core.base_definitions import (
@@ -52,7 +51,7 @@ from dara.core.interactivity.filtering import (
52
51
  )
53
52
  from dara.core.internal.cache_store import CacheStore
54
53
  from dara.core.internal.hashing import hash_object
55
- from dara.core.internal.pandas_utils import append_index, df_convert_to_internal
54
+ from dara.core.internal.pandas_utils import append_index, df_convert_to_internal, get_schema
56
55
  from dara.core.internal.tasks import MetaTask, Task, TaskManager
57
56
  from dara.core.logging import eng_logger
58
57
 
@@ -210,7 +209,7 @@ class DerivedDataVariable(AnyDataVariable, DerivedVariable):
210
209
  store.set(
211
210
  registry_entry=var_entry,
212
211
  key=cls._get_schema_cache_key(value['cache_key']),
213
- value=build_table_schema(
212
+ value=get_schema(
214
213
  df_convert_to_internal(cast(DataFrame, value['value'])),
215
214
  )
216
215
  if isinstance(value['value'], DataFrame)
@@ -65,6 +65,9 @@ def df_convert_to_internal(original_df: DataFrame) -> DataFrame:
65
65
  if any(isinstance(c, str) and c.startswith('__col__') for c in df.columns):
66
66
  return df
67
67
 
68
+ # Append index to match the way we process the original DataFrame
69
+ df = cast(DataFrame, append_index(df))
70
+
68
71
  # Handle hierarchical columns: [(A, B), (A, C)] -> ['A_B', 'A_C']
69
72
  if isinstance(df.columns, MultiIndex):
70
73
  df.columns = ['_'.join(col).strip() if col[0] != INDEX else INDEX for col in df.columns.values]
@@ -90,4 +93,19 @@ def df_convert_to_internal(original_df: DataFrame) -> DataFrame:
90
93
 
91
94
 
92
95
  def df_to_json(df: DataFrame) -> str:
93
- return df_convert_to_internal(df).to_json(orient='records') or ''
96
+ return df_convert_to_internal(df).to_json(orient='records', date_unit='ns') or ''
97
+
98
+
99
+ def get_schema(df: DataFrame):
100
+ from pandas.io.json._table_schema import build_table_schema
101
+
102
+ raw_schema = build_table_schema(df)
103
+
104
+ for field_data in cast(list, raw_schema['fields']):
105
+ if field_data.get('type') == 'datetime':
106
+ # for datetime fields we need to know the resolution, so we get the actual e.g. `datetime64[ns]` string
107
+ column_name = field_data.get('name')
108
+ dtype_str = str(df[column_name].dtype)
109
+ field_data['type'] = dtype_str
110
+
111
+ return raw_schema
@@ -1295,7 +1295,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
1295
1295
  var t2 = {};
1296
1296
  for (var n2 in r2)
1297
1297
  if ({}.hasOwnProperty.call(r2, n2)) {
1298
- if (e2.includes(n2))
1298
+ if (-1 !== e2.indexOf(n2))
1299
1299
  continue;
1300
1300
  t2[n2] = r2[n2];
1301
1301
  }
@@ -1833,7 +1833,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
1833
1833
  invariant$1(false);
1834
1834
  };
1835
1835
  }
1836
- function noop$6() {
1836
+ function noop$7() {
1837
1837
  }
1838
1838
  var StaticRouter = /* @__PURE__ */ function(_React$Component) {
1839
1839
  _inheritsLoose$1(StaticRouter2, _React$Component);
@@ -1850,10 +1850,10 @@ var __privateWrapper = (obj, member, setter, getter) => ({
1850
1850
  return _this.navigateTo(location2, "REPLACE");
1851
1851
  };
1852
1852
  _this.handleListen = function() {
1853
- return noop$6;
1853
+ return noop$7;
1854
1854
  };
1855
1855
  _this.handleBlock = function() {
1856
- return noop$6;
1856
+ return noop$7;
1857
1857
  };
1858
1858
  return _this;
1859
1859
  }
@@ -12987,14 +12987,14 @@ var __privateWrapper = (obj, member, setter, getter) => ({
12987
12987
  function _nonIterableRest$2() {
12988
12988
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12989
12989
  }
12990
- var noop$5 = function noop2() {
12990
+ var noop$6 = function noop2() {
12991
12991
  };
12992
12992
  var _WINDOW = {};
12993
12993
  var _DOCUMENT = {};
12994
12994
  var _MUTATION_OBSERVER = null;
12995
12995
  var _PERFORMANCE = {
12996
- mark: noop$5,
12997
- measure: noop$5
12996
+ mark: noop$6,
12997
+ measure: noop$6
12998
12998
  };
12999
12999
  try {
13000
13000
  if (typeof window !== "undefined")
@@ -17510,6 +17510,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17510
17510
  }
17511
17511
  return value instanceof ShadowRoot || value instanceof getWindow$1(value).ShadowRoot;
17512
17512
  }
17513
+ const invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
17513
17514
  function isOverflowElement(element) {
17514
17515
  const {
17515
17516
  overflow,
@@ -17517,24 +17518,29 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17517
17518
  overflowY,
17518
17519
  display
17519
17520
  } = getComputedStyle$2(element);
17520
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display);
17521
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
17521
17522
  }
17523
+ const tableElements = /* @__PURE__ */ new Set(["table", "td", "th"]);
17522
17524
  function isTableElement$1(element) {
17523
- return ["table", "td", "th"].includes(getNodeName$1(element));
17525
+ return tableElements.has(getNodeName$1(element));
17524
17526
  }
17527
+ const topLayerSelectors = [":popover-open", ":modal"];
17525
17528
  function isTopLayer(element) {
17526
- return [":popover-open", ":modal"].some((selector2) => {
17529
+ return topLayerSelectors.some((selector2) => {
17527
17530
  try {
17528
17531
  return element.matches(selector2);
17529
- } catch (e2) {
17532
+ } catch (_e2) {
17530
17533
  return false;
17531
17534
  }
17532
17535
  });
17533
17536
  }
17537
+ const transformProperties = ["transform", "translate", "scale", "rotate", "perspective"];
17538
+ const willChangeValues = ["transform", "translate", "scale", "rotate", "perspective", "filter"];
17539
+ const containValues = ["paint", "layout", "strict", "content"];
17534
17540
  function isContainingBlock(elementOrCss) {
17535
17541
  const webkit = isWebKit();
17536
17542
  const css2 = isElement$1(elementOrCss) ? getComputedStyle$2(elementOrCss) : elementOrCss;
17537
- 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));
17543
+ 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));
17538
17544
  }
17539
17545
  function getContainingBlock$1(element) {
17540
17546
  let currentNode = getParentNode$1(element);
@@ -17553,8 +17559,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17553
17559
  return false;
17554
17560
  return CSS.supports("-webkit-backdrop-filter", "none");
17555
17561
  }
17562
+ const lastTraversableNodeNames = /* @__PURE__ */ new Set(["html", "body", "#document"]);
17556
17563
  function isLastTraversableNode(node) {
17557
- return ["html", "body", "#document"].includes(getNodeName$1(node));
17564
+ return lastTraversableNodeNames.has(getNodeName$1(node));
17558
17565
  }
17559
17566
  function getComputedStyle$2(element) {
17560
17567
  return getWindow$1(element).getComputedStyle(element);
@@ -17748,8 +17755,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17748
17755
  function getAxisLength(axis) {
17749
17756
  return axis === "y" ? "height" : "width";
17750
17757
  }
17758
+ const yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
17751
17759
  function getSideAxis(placement) {
17752
- return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
17760
+ return yAxisSides.has(getSide(placement)) ? "y" : "x";
17753
17761
  }
17754
17762
  function getAlignmentAxis(placement) {
17755
17763
  return getOppositeAxis(getSideAxis(placement));
@@ -17774,20 +17782,20 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17774
17782
  function getOppositeAlignmentPlacement(placement) {
17775
17783
  return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
17776
17784
  }
17785
+ const lrPlacement = ["left", "right"];
17786
+ const rlPlacement = ["right", "left"];
17787
+ const tbPlacement = ["top", "bottom"];
17788
+ const btPlacement = ["bottom", "top"];
17777
17789
  function getSideList(side, isStart, rtl) {
17778
- const lr = ["left", "right"];
17779
- const rl = ["right", "left"];
17780
- const tb = ["top", "bottom"];
17781
- const bt2 = ["bottom", "top"];
17782
17790
  switch (side) {
17783
17791
  case "top":
17784
17792
  case "bottom":
17785
17793
  if (rtl)
17786
- return isStart ? rl : lr;
17787
- return isStart ? lr : rl;
17794
+ return isStart ? rlPlacement : lrPlacement;
17795
+ return isStart ? lrPlacement : rlPlacement;
17788
17796
  case "left":
17789
17797
  case "right":
17790
- return isStart ? tb : bt2;
17798
+ return isStart ? tbPlacement : btPlacement;
17791
17799
  default:
17792
17800
  return [];
17793
17801
  }
@@ -18536,15 +18544,18 @@ var __privateWrapper = (obj, member, setter, getter) => ({
18536
18544
  const nextIndex2 = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
18537
18545
  const nextPlacement = placements2[nextIndex2];
18538
18546
  if (nextPlacement) {
18539
- return {
18540
- data: {
18541
- index: nextIndex2,
18542
- overflows: overflowsData
18543
- },
18544
- reset: {
18545
- placement: nextPlacement
18546
- }
18547
- };
18547
+ const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
18548
+ if (!ignoreCrossAxisOverflow || overflowsData.every((d2) => d2.overflows[0] > 0 && getSideAxis(d2.placement) === initialSideAxis)) {
18549
+ return {
18550
+ data: {
18551
+ index: nextIndex2,
18552
+ overflows: overflowsData
18553
+ },
18554
+ reset: {
18555
+ placement: nextPlacement
18556
+ }
18557
+ };
18558
+ }
18548
18559
  }
18549
18560
  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;
18550
18561
  if (!resetPlacement) {
@@ -18758,6 +18769,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
18758
18769
  }
18759
18770
  };
18760
18771
  };
18772
+ const originSides = /* @__PURE__ */ new Set(["left", "top"]);
18761
18773
  async function convertValueToCoords(state, options) {
18762
18774
  const {
18763
18775
  placement,
@@ -18768,7 +18780,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
18768
18780
  const side = getSide(placement);
18769
18781
  const alignment = getAlignment(placement);
18770
18782
  const isVertical = getSideAxis(placement) === "y";
18771
- const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
18783
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
18772
18784
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
18773
18785
  const rawValue = evaluate(options, state);
18774
18786
  let {
@@ -18946,7 +18958,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
18946
18958
  if (checkCrossAxis) {
18947
18959
  var _middlewareData$offse, _middlewareData$offse2;
18948
18960
  const len = mainAxis === "y" ? "width" : "height";
18949
- const isOriginSide = ["top", "left"].includes(getSide(placement));
18961
+ const isOriginSide = originSides.has(getSide(placement));
18950
18962
  const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
18951
18963
  const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
18952
18964
  if (crossAxisCoord < limitMin) {
@@ -19260,6 +19272,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19260
19272
  y: y2
19261
19273
  };
19262
19274
  }
19275
+ const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
19263
19276
  function getInnerBoundingClientRect$1(element, strategy) {
19264
19277
  const clientRect = getBoundingClientRect$1(element, true, strategy === "fixed");
19265
19278
  const top2 = clientRect.top + element.clientTop;
@@ -19317,7 +19330,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19317
19330
  if (!currentNodeIsContaining && computedStyle.position === "fixed") {
19318
19331
  currentContainingBlockComputedStyle = null;
19319
19332
  }
19320
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
19333
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
19321
19334
  if (shouldDropCurrentNode) {
19322
19335
  result = result.filter((ancestor) => ancestor !== currentNode);
19323
19336
  } else {
@@ -19373,6 +19386,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19373
19386
  scrollTop: 0
19374
19387
  };
19375
19388
  const offsets = createCoords(0);
19389
+ function setLeftRTLScrollbarOffset() {
19390
+ offsets.x = getWindowScrollBarX$1(documentElement);
19391
+ }
19376
19392
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
19377
19393
  if (getNodeName$1(offsetParent) !== "body" || isOverflowElement(documentElement)) {
19378
19394
  scroll = getNodeScroll$1(offsetParent);
@@ -19382,9 +19398,12 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19382
19398
  offsets.x = offsetRect.x + offsetParent.clientLeft;
19383
19399
  offsets.y = offsetRect.y + offsetParent.clientTop;
19384
19400
  } else if (documentElement) {
19385
- offsets.x = getWindowScrollBarX$1(documentElement);
19401
+ setLeftRTLScrollbarOffset();
19386
19402
  }
19387
19403
  }
19404
+ if (isFixed && !isOffsetParentAnElement && documentElement) {
19405
+ setLeftRTLScrollbarOffset();
19406
+ }
19388
19407
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
19389
19408
  const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
19390
19409
  const y2 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
@@ -19464,6 +19483,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19464
19483
  isElement: isElement$1,
19465
19484
  isRTL
19466
19485
  };
19486
+ function rectsAreEqual(a2, b2) {
19487
+ return a2.x === b2.x && a2.y === b2.y && a2.width === b2.width && a2.height === b2.height;
19488
+ }
19467
19489
  function observeMove(element, onMove) {
19468
19490
  let io = null;
19469
19491
  let timeoutId2;
@@ -19482,12 +19504,13 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19482
19504
  threshold = 1;
19483
19505
  }
19484
19506
  cleanup();
19507
+ const elementRectForRootMargin = element.getBoundingClientRect();
19485
19508
  const {
19486
19509
  left: left2,
19487
19510
  top: top2,
19488
19511
  width,
19489
19512
  height
19490
- } = element.getBoundingClientRect();
19513
+ } = elementRectForRootMargin;
19491
19514
  if (!skip) {
19492
19515
  onMove();
19493
19516
  }
@@ -19518,6 +19541,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19518
19541
  refresh(false, ratio);
19519
19542
  }
19520
19543
  }
19544
+ if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
19545
+ refresh();
19546
+ }
19521
19547
  isFirstUpdate = false;
19522
19548
  }
19523
19549
  try {
@@ -19525,7 +19551,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19525
19551
  ...options,
19526
19552
  root: root2.ownerDocument
19527
19553
  });
19528
- } catch (e2) {
19554
+ } catch (_e2) {
19529
19555
  io = new IntersectionObserver(handleObserve, options);
19530
19556
  }
19531
19557
  io.observe(element);
@@ -19580,7 +19606,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19580
19606
  }
19581
19607
  function frameLoop() {
19582
19608
  const nextRefRect = getBoundingClientRect$1(reference2);
19583
- if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
19609
+ if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
19584
19610
  update();
19585
19611
  }
19586
19612
  prevRefRect = nextRefRect;
@@ -19625,7 +19651,10 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19625
19651
  platform: platformWithCache
19626
19652
  });
19627
19653
  };
19628
- var index$3 = typeof document !== "undefined" ? React.useLayoutEffect : React.useEffect;
19654
+ var isClient = typeof document !== "undefined";
19655
+ var noop$5 = function noop2() {
19656
+ };
19657
+ var index$3 = isClient ? React.useLayoutEffect : noop$5;
19629
19658
  function deepEqual(a2, b2) {
19630
19659
  if (a2 === b2) {
19631
19660
  return true;
@@ -20204,12 +20233,12 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20204
20233
  performedPointerEventsMutationRef.current = false;
20205
20234
  }
20206
20235
  });
20236
+ const isClickLikeOpenEvent = useEffectEvent(() => {
20237
+ return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
20238
+ });
20207
20239
  React__namespace.useEffect(() => {
20208
20240
  if (!enabled)
20209
20241
  return;
20210
- function isClickLikeOpenEvent() {
20211
- return dataRef.current.openEvent ? ["click", "mousedown"].includes(dataRef.current.openEvent.type) : false;
20212
- }
20213
20242
  function onMouseEnter(event) {
20214
20243
  clearTimeout(timeoutRef.current);
20215
20244
  blockMouseMoveRef.current = false;
@@ -20223,7 +20252,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20223
20252
  onOpenChange(true, event, "hover");
20224
20253
  }
20225
20254
  }, openDelay);
20226
- } else {
20255
+ } else if (!open2) {
20227
20256
  onOpenChange(true, event, "hover");
20228
20257
  }
20229
20258
  }
@@ -20246,7 +20275,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20246
20275
  onClose() {
20247
20276
  clearPointerEvents();
20248
20277
  cleanupMouseMoveHandler();
20249
- closeWithDelay(event, true, "safe-polygon");
20278
+ if (!isClickLikeOpenEvent()) {
20279
+ closeWithDelay(event, true, "safe-polygon");
20280
+ }
20250
20281
  }
20251
20282
  });
20252
20283
  const handler = handlerRef.current;
@@ -20274,7 +20305,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20274
20305
  onClose() {
20275
20306
  clearPointerEvents();
20276
20307
  cleanupMouseMoveHandler();
20277
- closeWithDelay(event);
20308
+ if (!isClickLikeOpenEvent()) {
20309
+ closeWithDelay(event);
20310
+ }
20278
20311
  }
20279
20312
  })(event);
20280
20313
  }
@@ -20297,7 +20330,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20297
20330
  ref.removeEventListener("mouseleave", onMouseLeave);
20298
20331
  };
20299
20332
  }
20300
- }, [elements, enabled, context2, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open2, openRef, tree, delayRef, handleCloseRef, dataRef]);
20333
+ }, [elements, enabled, context2, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open2, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent]);
20301
20334
  index$2(() => {
20302
20335
  var _handleCloseRef$curre;
20303
20336
  if (!enabled)
@@ -20381,9 +20414,11 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20381
20414
  clearTimeout(timeoutRef.current);
20382
20415
  },
20383
20416
  onMouseLeave(event) {
20384
- closeWithDelay(event.nativeEvent, false);
20417
+ if (!isClickLikeOpenEvent()) {
20418
+ closeWithDelay(event.nativeEvent, false);
20419
+ }
20385
20420
  }
20386
- }), [closeWithDelay]);
20421
+ }), [closeWithDelay, isClickLikeOpenEvent]);
20387
20422
  return React__namespace.useMemo(() => enabled ? {
20388
20423
  reference: reference2,
20389
20424
  floating
@@ -20664,7 +20699,8 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20664
20699
  event: eventOption = "click",
20665
20700
  toggle = true,
20666
20701
  ignoreMouse = false,
20667
- keyboardHandlers = true
20702
+ keyboardHandlers = true,
20703
+ stickIfOpen = true
20668
20704
  } = props;
20669
20705
  const pointerTypeRef = React__namespace.useRef();
20670
20706
  const didKeyDownRef = React__namespace.useRef(false);
@@ -20680,7 +20716,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20680
20716
  return;
20681
20717
  if (isMouseLikePointerType(pointerType, true) && ignoreMouse)
20682
20718
  return;
20683
- if (open2 && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "mousedown" : true)) {
20719
+ if (open2 && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "mousedown" : true)) {
20684
20720
  onOpenChange(false, event.nativeEvent, "click");
20685
20721
  } else {
20686
20722
  event.preventDefault();
@@ -20695,7 +20731,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20695
20731
  }
20696
20732
  if (isMouseLikePointerType(pointerType, true) && ignoreMouse)
20697
20733
  return;
20698
- if (open2 && toggle && (dataRef.current.openEvent ? dataRef.current.openEvent.type === "click" : true)) {
20734
+ if (open2 && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === "click" : true)) {
20699
20735
  onOpenChange(false, event.nativeEvent, "click");
20700
20736
  } else {
20701
20737
  onOpenChange(true, event.nativeEvent, "click");
@@ -20731,7 +20767,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20731
20767
  }
20732
20768
  }
20733
20769
  }
20734
- }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open2, toggle]);
20770
+ }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open2, stickIfOpen, toggle]);
20735
20771
  return React__namespace.useMemo(() => enabled ? {
20736
20772
  reference: reference2
20737
20773
  } : {}, [enabled, reference2]);
@@ -39787,9 +39823,11 @@ var __privateWrapper = (obj, member, setter, getter) => ({
39787
39823
  root$4.isFinite;
39788
39824
  const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== "undefined" ? React__default.default.useLayoutEffect : () => {
39789
39825
  };
39826
+ var $8ae05eaa5c114e9c$var$_React_useInsertionEffect;
39827
+ const $8ae05eaa5c114e9c$var$useEarlyEffect = ($8ae05eaa5c114e9c$var$_React_useInsertionEffect = React__default.default["useInsertionEffect"]) !== null && $8ae05eaa5c114e9c$var$_React_useInsertionEffect !== void 0 ? $8ae05eaa5c114e9c$var$_React_useInsertionEffect : $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c;
39790
39828
  function $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {
39791
39829
  const ref = React.useRef(null);
39792
- $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
39830
+ $8ae05eaa5c114e9c$var$useEarlyEffect(() => {
39793
39831
  ref.current = fn;
39794
39832
  }, [
39795
39833
  fn
@@ -39799,65 +39837,65 @@ var __privateWrapper = (obj, member, setter, getter) => ({
39799
39837
  return f2 === null || f2 === void 0 ? void 0 : f2(...args);
39800
39838
  }, []);
39801
39839
  }
39802
- const $b5e257d569688ac6$var$defaultContext$1 = {
39840
+ const $b5e257d569688ac6$var$defaultContext = {
39803
39841
  prefix: String(Math.round(Math.random() * 1e10)),
39804
39842
  current: 0
39805
39843
  };
39806
- const $b5e257d569688ac6$var$SSRContext$1 = /* @__PURE__ */ React__default.default.createContext($b5e257d569688ac6$var$defaultContext$1);
39807
- const $b5e257d569688ac6$var$IsSSRContext$1 = /* @__PURE__ */ React__default.default.createContext(false);
39808
- let $b5e257d569688ac6$var$canUseDOM$1 = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
39809
- let $b5e257d569688ac6$var$componentIds$1 = /* @__PURE__ */ new WeakMap();
39810
- function $b5e257d569688ac6$var$useCounter$1(isDisabled = false) {
39811
- let ctx = React.useContext($b5e257d569688ac6$var$SSRContext$1);
39844
+ const $b5e257d569688ac6$var$SSRContext = /* @__PURE__ */ React__default.default.createContext($b5e257d569688ac6$var$defaultContext);
39845
+ const $b5e257d569688ac6$var$IsSSRContext = /* @__PURE__ */ React__default.default.createContext(false);
39846
+ let $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
39847
+ let $b5e257d569688ac6$var$componentIds = /* @__PURE__ */ new WeakMap();
39848
+ function $b5e257d569688ac6$var$useCounter(isDisabled = false) {
39849
+ let ctx = React.useContext($b5e257d569688ac6$var$SSRContext);
39812
39850
  let ref = React.useRef(null);
39813
39851
  if (ref.current === null && !isDisabled) {
39814
39852
  var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
39815
39853
  let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = React__default.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;
39816
39854
  if (currentOwner) {
39817
- let prevComponentValue = $b5e257d569688ac6$var$componentIds$1.get(currentOwner);
39855
+ let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);
39818
39856
  if (prevComponentValue == null)
39819
- $b5e257d569688ac6$var$componentIds$1.set(currentOwner, {
39857
+ $b5e257d569688ac6$var$componentIds.set(currentOwner, {
39820
39858
  id: ctx.current,
39821
39859
  state: currentOwner.memoizedState
39822
39860
  });
39823
39861
  else if (currentOwner.memoizedState !== prevComponentValue.state) {
39824
39862
  ctx.current = prevComponentValue.id;
39825
- $b5e257d569688ac6$var$componentIds$1.delete(currentOwner);
39863
+ $b5e257d569688ac6$var$componentIds.delete(currentOwner);
39826
39864
  }
39827
39865
  }
39828
39866
  ref.current = ++ctx.current;
39829
39867
  }
39830
39868
  return ref.current;
39831
39869
  }
39832
- function $b5e257d569688ac6$var$useLegacySSRSafeId$1(defaultId) {
39833
- let ctx = React.useContext($b5e257d569688ac6$var$SSRContext$1);
39834
- if (ctx === $b5e257d569688ac6$var$defaultContext$1 && !$b5e257d569688ac6$var$canUseDOM$1 && false)
39870
+ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
39871
+ let ctx = React.useContext($b5e257d569688ac6$var$SSRContext);
39872
+ if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM && false)
39835
39873
  console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");
39836
- let counter = $b5e257d569688ac6$var$useCounter$1(!!defaultId);
39837
- let prefix2 = ctx === $b5e257d569688ac6$var$defaultContext$1 && false ? "react-aria" : `react-aria${ctx.prefix}`;
39874
+ let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);
39875
+ let prefix2 = ctx === $b5e257d569688ac6$var$defaultContext && false ? "react-aria" : `react-aria${ctx.prefix}`;
39838
39876
  return defaultId || `${prefix2}-${counter}`;
39839
39877
  }
39840
- function $b5e257d569688ac6$var$useModernSSRSafeId$1(defaultId) {
39878
+ function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
39841
39879
  let id = React__default.default.useId();
39842
- let [didSSR] = React.useState($b5e257d569688ac6$export$535bd6ca7f90a273$1());
39843
- let prefix2 = didSSR || false ? "react-aria" : `react-aria${$b5e257d569688ac6$var$defaultContext$1.prefix}`;
39880
+ let [didSSR] = React.useState($b5e257d569688ac6$export$535bd6ca7f90a273());
39881
+ let prefix2 = didSSR || false ? "react-aria" : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
39844
39882
  return defaultId || `${prefix2}-${id}`;
39845
39883
  }
39846
- const $b5e257d569688ac6$export$619500959fc48b26 = typeof React__default.default["useId"] === "function" ? $b5e257d569688ac6$var$useModernSSRSafeId$1 : $b5e257d569688ac6$var$useLegacySSRSafeId$1;
39847
- function $b5e257d569688ac6$var$getSnapshot$1() {
39884
+ const $b5e257d569688ac6$export$619500959fc48b26 = typeof React__default.default["useId"] === "function" ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;
39885
+ function $b5e257d569688ac6$var$getSnapshot() {
39848
39886
  return false;
39849
39887
  }
39850
- function $b5e257d569688ac6$var$getServerSnapshot$1() {
39888
+ function $b5e257d569688ac6$var$getServerSnapshot() {
39851
39889
  return true;
39852
39890
  }
39853
- function $b5e257d569688ac6$var$subscribe$1(onStoreChange) {
39891
+ function $b5e257d569688ac6$var$subscribe(onStoreChange) {
39854
39892
  return () => {
39855
39893
  };
39856
39894
  }
39857
- function $b5e257d569688ac6$export$535bd6ca7f90a273$1() {
39895
+ function $b5e257d569688ac6$export$535bd6ca7f90a273() {
39858
39896
  if (typeof React__default.default["useSyncExternalStore"] === "function")
39859
- return React__default.default["useSyncExternalStore"]($b5e257d569688ac6$var$subscribe$1, $b5e257d569688ac6$var$getSnapshot$1, $b5e257d569688ac6$var$getServerSnapshot$1);
39860
- return React.useContext($b5e257d569688ac6$var$IsSSRContext$1);
39897
+ return React__default.default["useSyncExternalStore"]($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);
39898
+ return React.useContext($b5e257d569688ac6$var$IsSSRContext);
39861
39899
  }
39862
39900
  let $bdb11010cef70236$var$canUseDOM = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
39863
39901
  let $bdb11010cef70236$export$d41a04c74483c6ef = /* @__PURE__ */ new Map();
@@ -40064,12 +40102,55 @@ var __privateWrapper = (obj, member, setter, getter) => ({
40064
40102
  "ping",
40065
40103
  "referrerPolicy"
40066
40104
  ]);
40105
+ const $65484d02dcb7eb3e$var$globalAttrs = /* @__PURE__ */ new Set([
40106
+ "dir",
40107
+ "lang",
40108
+ "hidden",
40109
+ "inert",
40110
+ "translate"
40111
+ ]);
40112
+ const $65484d02dcb7eb3e$var$globalEvents = /* @__PURE__ */ new Set([
40113
+ "onClick",
40114
+ "onAuxClick",
40115
+ "onContextMenu",
40116
+ "onDoubleClick",
40117
+ "onMouseDown",
40118
+ "onMouseEnter",
40119
+ "onMouseLeave",
40120
+ "onMouseMove",
40121
+ "onMouseOut",
40122
+ "onMouseOver",
40123
+ "onMouseUp",
40124
+ "onTouchCancel",
40125
+ "onTouchEnd",
40126
+ "onTouchMove",
40127
+ "onTouchStart",
40128
+ "onPointerDown",
40129
+ "onPointerMove",
40130
+ "onPointerUp",
40131
+ "onPointerCancel",
40132
+ "onPointerEnter",
40133
+ "onPointerLeave",
40134
+ "onPointerOver",
40135
+ "onPointerOut",
40136
+ "onGotPointerCapture",
40137
+ "onLostPointerCapture",
40138
+ "onScroll",
40139
+ "onWheel",
40140
+ "onAnimationStart",
40141
+ "onAnimationEnd",
40142
+ "onAnimationIteration",
40143
+ "onTransitionCancel",
40144
+ "onTransitionEnd",
40145
+ "onTransitionRun",
40146
+ "onTransitionStart"
40147
+ ]);
40067
40148
  const $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;
40068
40149
  function $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {
40069
- let { labelable, isLink, propNames } = opts;
40150
+ let { labelable, isLink, global: global2, events = global2, propNames } = opts;
40070
40151
  let filteredProps = {};
40071
40152
  for (const prop in props)
40072
- 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)))
40153
+ 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)))
40073
40154
  filteredProps[prop] = props[prop];
40074
40155
  return filteredProps;
40075
40156
  }
@@ -40132,7 +40213,8 @@ var __privateWrapper = (obj, member, setter, getter) => ({
40132
40213
  var _window_navigator_userAgentData;
40133
40214
  if (typeof window === "undefined" || window.navigator == null)
40134
40215
  return false;
40135
- 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);
40216
+ let brands = (_window_navigator_userAgentData = window.navigator["userAgentData"]) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands;
40217
+ return Array.isArray(brands) && brands.some((brand) => re.test(brand.brand)) || re.test(window.navigator.userAgent);
40136
40218
  }
40137
40219
  function $c87311424ea30a05$var$testPlatform(re) {
40138
40220
  var _window_navigator_userAgentData;
@@ -40340,10 +40422,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
40340
40422
  return event.detail === 0 && !event.pointerType;
40341
40423
  }
40342
40424
  function $99facab73266f662$export$5add1d006293d136(ref, initialValue, onReset) {
40343
- let resetValue = React.useRef(initialValue);
40344
40425
  let handleReset2 = $8ae05eaa5c114e9c$export$7f54fc3180508a52(() => {
40345
40426
  if (onReset)
40346
- onReset(resetValue.current);
40427
+ onReset(initialValue);
40347
40428
  });
40348
40429
  React.useEffect(() => {
40349
40430
  var _ref_current;
@@ -40357,10 +40438,89 @@ var __privateWrapper = (obj, member, setter, getter) => ({
40357
40438
  handleReset2
40358
40439
  ]);
40359
40440
  }
40360
- function $9446cca9a3875146$export$7d15b64cf5a3a4c4$1(value, min2 = -Infinity, max2 = Infinity) {
40441
+ function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange2) {
40442
+ let [stateValue, setStateValue] = React.useState(value || defaultValue);
40443
+ let isControlledRef = React.useRef(value !== void 0);
40444
+ let isControlled = value !== void 0;
40445
+ React.useEffect(() => {
40446
+ let wasControlled = isControlledRef.current;
40447
+ if (wasControlled !== isControlled && false)
40448
+ console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`);
40449
+ isControlledRef.current = isControlled;
40450
+ }, [
40451
+ isControlled
40452
+ ]);
40453
+ let currentValue = isControlled ? value : stateValue;
40454
+ let setValue = React.useCallback((value2, ...args) => {
40455
+ let onChangeCaller = (value3, ...onChangeArgs) => {
40456
+ if (onChange2) {
40457
+ if (!Object.is(currentValue, value3))
40458
+ onChange2(value3, ...onChangeArgs);
40459
+ }
40460
+ if (!isControlled)
40461
+ currentValue = value3;
40462
+ };
40463
+ if (typeof value2 === "function") {
40464
+ let updateFunction = (oldValue, ...functionArgs) => {
40465
+ let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
40466
+ onChangeCaller(interceptedValue, ...args);
40467
+ if (!isControlled)
40468
+ return interceptedValue;
40469
+ return oldValue;
40470
+ };
40471
+ setStateValue(updateFunction);
40472
+ } else {
40473
+ if (!isControlled)
40474
+ setStateValue(value2);
40475
+ onChangeCaller(value2, ...args);
40476
+ }
40477
+ }, [
40478
+ isControlled,
40479
+ currentValue,
40480
+ onChange2
40481
+ ]);
40482
+ return [
40483
+ currentValue,
40484
+ setValue
40485
+ ];
40486
+ }
40487
+ function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min2 = -Infinity, max2 = Infinity) {
40361
40488
  let newValue = Math.min(Math.max(value, min2), max2);
40362
40489
  return newValue;
40363
40490
  }
40491
+ function $9446cca9a3875146$export$e1a7b8e69ef6c52f(value, step) {
40492
+ let roundedValue = value;
40493
+ let precision = 0;
40494
+ let stepString = step.toString();
40495
+ let eIndex = stepString.toLowerCase().indexOf("e-");
40496
+ if (eIndex > 0)
40497
+ precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;
40498
+ else {
40499
+ let pointIndex = stepString.indexOf(".");
40500
+ if (pointIndex >= 0)
40501
+ precision = stepString.length - pointIndex;
40502
+ }
40503
+ if (precision > 0) {
40504
+ let pow = Math.pow(10, precision);
40505
+ roundedValue = Math.round(roundedValue * pow) / pow;
40506
+ }
40507
+ return roundedValue;
40508
+ }
40509
+ function $9446cca9a3875146$export$cb6e0bb50bc19463(value, min2, max2, step) {
40510
+ min2 = Number(min2);
40511
+ max2 = Number(max2);
40512
+ let remainder = (value - (isNaN(min2) ? 0 : min2)) % step;
40513
+ let snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);
40514
+ if (!isNaN(min2)) {
40515
+ if (snappedValue < min2)
40516
+ snappedValue = min2;
40517
+ else if (!isNaN(max2) && snappedValue > max2)
40518
+ snappedValue = min2 + Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f((max2 - min2) / step, step)) * step;
40519
+ } else if (!isNaN(max2) && snappedValue > max2)
40520
+ snappedValue = Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f(max2 / step, step)) * step;
40521
+ snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(snappedValue, step);
40522
+ return snappedValue;
40523
+ }
40364
40524
  const $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol("default");
40365
40525
  function $64fa3d84918910a7$export$2881499e37b75b9a({ values, children }) {
40366
40526
  for (let [Context, value] of values)
@@ -40607,66 +40767,6 @@ var __privateWrapper = (obj, member, setter, getter) => ({
40607
40767
  }
40608
40768
  }
40609
40769
  }
40610
- const $b5e257d569688ac6$var$defaultContext = {
40611
- prefix: String(Math.round(Math.random() * 1e10)),
40612
- current: 0
40613
- };
40614
- const $b5e257d569688ac6$var$SSRContext = /* @__PURE__ */ React__default.default.createContext($b5e257d569688ac6$var$defaultContext);
40615
- const $b5e257d569688ac6$var$IsSSRContext = /* @__PURE__ */ React__default.default.createContext(false);
40616
- let $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
40617
- let $b5e257d569688ac6$var$componentIds = /* @__PURE__ */ new WeakMap();
40618
- function $b5e257d569688ac6$var$useCounter(isDisabled = false) {
40619
- let ctx = React.useContext($b5e257d569688ac6$var$SSRContext);
40620
- let ref = React.useRef(null);
40621
- if (ref.current === null && !isDisabled) {
40622
- var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
40623
- let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = React__default.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;
40624
- if (currentOwner) {
40625
- let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);
40626
- if (prevComponentValue == null)
40627
- $b5e257d569688ac6$var$componentIds.set(currentOwner, {
40628
- id: ctx.current,
40629
- state: currentOwner.memoizedState
40630
- });
40631
- else if (currentOwner.memoizedState !== prevComponentValue.state) {
40632
- ctx.current = prevComponentValue.id;
40633
- $b5e257d569688ac6$var$componentIds.delete(currentOwner);
40634
- }
40635
- }
40636
- ref.current = ++ctx.current;
40637
- }
40638
- return ref.current;
40639
- }
40640
- function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
40641
- let ctx = React.useContext($b5e257d569688ac6$var$SSRContext);
40642
- if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM && false)
40643
- console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");
40644
- let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);
40645
- let prefix2 = ctx === $b5e257d569688ac6$var$defaultContext && false ? "react-aria" : `react-aria${ctx.prefix}`;
40646
- return defaultId || `${prefix2}-${counter}`;
40647
- }
40648
- function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
40649
- let id = React__default.default.useId();
40650
- let [didSSR] = React.useState($b5e257d569688ac6$export$535bd6ca7f90a273());
40651
- let prefix2 = didSSR || false ? "react-aria" : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
40652
- return defaultId || `${prefix2}-${id}`;
40653
- }
40654
- typeof React__default.default["useId"] === "function" ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;
40655
- function $b5e257d569688ac6$var$getSnapshot() {
40656
- return false;
40657
- }
40658
- function $b5e257d569688ac6$var$getServerSnapshot() {
40659
- return true;
40660
- }
40661
- function $b5e257d569688ac6$var$subscribe(onStoreChange) {
40662
- return () => {
40663
- };
40664
- }
40665
- function $b5e257d569688ac6$export$535bd6ca7f90a273() {
40666
- if (typeof React__default.default["useSyncExternalStore"] === "function")
40667
- return React__default.default["useSyncExternalStore"]($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);
40668
- return React.useContext($b5e257d569688ac6$var$IsSSRContext);
40669
- }
40670
40770
  let $507fabe10e71c6fb$var$currentModality = null;
40671
40771
  let $507fabe10e71c6fb$var$changeHandlers = /* @__PURE__ */ new Set();
40672
40772
  let $507fabe10e71c6fb$export$d90243b58daecda7 = /* @__PURE__ */ new Map();
@@ -41030,8 +41130,10 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41030
41130
  function $6179b936705e76d3$var$setupGlobalTouchEvents() {
41031
41131
  if (typeof document === "undefined")
41032
41132
  return;
41033
- if (typeof PointerEvent !== "undefined")
41034
- document.addEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
41133
+ if ($6179b936705e76d3$var$hoverCount === 0) {
41134
+ if (typeof PointerEvent !== "undefined")
41135
+ document.addEventListener("pointerup", $6179b936705e76d3$var$handleGlobalPointerEvent);
41136
+ }
41035
41137
  $6179b936705e76d3$var$hoverCount++;
41036
41138
  return () => {
41037
41139
  $6179b936705e76d3$var$hoverCount--;
@@ -41653,82 +41755,6 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41653
41755
  fieldProps
41654
41756
  };
41655
41757
  }
41656
- function $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange2) {
41657
- let [stateValue, setStateValue] = React.useState(value || defaultValue);
41658
- let isControlledRef = React.useRef(value !== void 0);
41659
- let isControlled = value !== void 0;
41660
- React.useEffect(() => {
41661
- let wasControlled = isControlledRef.current;
41662
- if (wasControlled !== isControlled && false)
41663
- console.warn(`WARN: A component changed from ${wasControlled ? "controlled" : "uncontrolled"} to ${isControlled ? "controlled" : "uncontrolled"}.`);
41664
- isControlledRef.current = isControlled;
41665
- }, [
41666
- isControlled
41667
- ]);
41668
- let currentValue = isControlled ? value : stateValue;
41669
- let setValue = React.useCallback((value2, ...args) => {
41670
- let onChangeCaller = (value3, ...onChangeArgs) => {
41671
- if (onChange2) {
41672
- if (!Object.is(currentValue, value3))
41673
- onChange2(value3, ...onChangeArgs);
41674
- }
41675
- if (!isControlled)
41676
- currentValue = value3;
41677
- };
41678
- if (typeof value2 === "function") {
41679
- let updateFunction = (oldValue, ...functionArgs) => {
41680
- let interceptedValue = value2(isControlled ? currentValue : oldValue, ...functionArgs);
41681
- onChangeCaller(interceptedValue, ...args);
41682
- if (!isControlled)
41683
- return interceptedValue;
41684
- return oldValue;
41685
- };
41686
- setStateValue(updateFunction);
41687
- } else {
41688
- if (!isControlled)
41689
- setStateValue(value2);
41690
- onChangeCaller(value2, ...args);
41691
- }
41692
- }, [
41693
- isControlled,
41694
- currentValue,
41695
- onChange2
41696
- ]);
41697
- return [
41698
- currentValue,
41699
- setValue
41700
- ];
41701
- }
41702
- function $9446cca9a3875146$export$7d15b64cf5a3a4c4(value, min2 = -Infinity, max2 = Infinity) {
41703
- let newValue = Math.min(Math.max(value, min2), max2);
41704
- return newValue;
41705
- }
41706
- function $9446cca9a3875146$export$e1a7b8e69ef6c52f(value, step) {
41707
- let roundedValue = value;
41708
- let stepString = step.toString();
41709
- let pointIndex = stepString.indexOf(".");
41710
- let precision = pointIndex >= 0 ? stepString.length - pointIndex : 0;
41711
- if (precision > 0) {
41712
- let pow = Math.pow(10, precision);
41713
- roundedValue = Math.round(roundedValue * pow) / pow;
41714
- }
41715
- return roundedValue;
41716
- }
41717
- function $9446cca9a3875146$export$cb6e0bb50bc19463(value, min2, max2, step) {
41718
- min2 = Number(min2);
41719
- max2 = Number(max2);
41720
- let remainder = (value - (isNaN(min2) ? 0 : min2)) % step;
41721
- let snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);
41722
- if (!isNaN(min2)) {
41723
- if (snappedValue < min2)
41724
- snappedValue = min2;
41725
- else if (!isNaN(max2) && snappedValue > max2)
41726
- snappedValue = min2 + Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f((max2 - min2) / step, step)) * step;
41727
- } else if (!isNaN(max2) && snappedValue > max2)
41728
- snappedValue = Math.floor($9446cca9a3875146$export$e1a7b8e69ef6c52f(max2 / step, step)) * step;
41729
- snappedValue = $9446cca9a3875146$export$e1a7b8e69ef6c52f(snappedValue, step);
41730
- return snappedValue;
41731
- }
41732
41758
  const $28f99e3e86e6ec45$var$DEFAULT_MIN_VALUE = 0;
41733
41759
  const $28f99e3e86e6ec45$var$DEFAULT_MAX_VALUE = 100;
41734
41760
  const $28f99e3e86e6ec45$var$DEFAULT_STEP_VALUE = 1;
@@ -41753,7 +41779,8 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41753
41779
  step
41754
41780
  ]);
41755
41781
  let value = React.useMemo(() => restrictValues($28f99e3e86e6ec45$var$convertValue(props.value)), [
41756
- props.value
41782
+ props.value,
41783
+ restrictValues
41757
41784
  ]);
41758
41785
  let defaultValue = React.useMemo(() => {
41759
41786
  var _convertValue;
@@ -41762,11 +41789,13 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41762
41789
  ]);
41763
41790
  }, [
41764
41791
  props.defaultValue,
41765
- minValue
41792
+ minValue,
41793
+ restrictValues
41766
41794
  ]);
41767
41795
  let onChange2 = $28f99e3e86e6ec45$var$createOnChange(props.value, props.defaultValue, props.onChange);
41768
41796
  let onChangeEnd = $28f99e3e86e6ec45$var$createOnChange(props.value, props.defaultValue, props.onChangeEnd);
41769
41797
  const [values, setValuesState] = $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange2);
41798
+ let [initialValues] = React.useState(values);
41770
41799
  const [isDraggings, setDraggingsState] = React.useState(new Array(values.length).fill(false));
41771
41800
  const isEditablesRef = React.useRef(new Array(values.length).fill(true));
41772
41801
  const [focusedIndex, setFocusedIndex] = React.useState(void 0);
@@ -41838,6 +41867,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41838
41867
  }
41839
41868
  return {
41840
41869
  values,
41870
+ defaultValues: props.defaultValue !== void 0 ? defaultValue : initialValues,
41841
41871
  getThumbValue: (index2) => values[index2],
41842
41872
  setThumbValue: updateValue,
41843
41873
  setThumbPercent,
@@ -41967,7 +41997,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
41967
41997
  delta = -delta;
41968
41998
  currentPosition.current += delta;
41969
41999
  if (realTimeTrackDraggingIndex.current != null && trackRef.current) {
41970
- const percent = $9446cca9a3875146$export$7d15b64cf5a3a4c4$1(currentPosition.current / size2, 0, 1);
42000
+ const percent = $9446cca9a3875146$export$7d15b64cf5a3a4c4(currentPosition.current / size2, 0, 1);
41971
42001
  state.setThumbPercent(realTimeTrackDraggingIndex.current, percent);
41972
42002
  }
41973
42003
  },
@@ -42072,7 +42102,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42072
42102
  };
42073
42103
  }
42074
42104
  function $47b897dc8cdb026b$export$8d15029008292ae(opts, state) {
42075
- let { index: index2 = 0, isRequired, validationState, isInvalid, trackRef, inputRef, orientation = state.orientation, name } = opts;
42105
+ let { index: index2 = 0, isRequired, validationState, isInvalid, trackRef, inputRef, orientation = state.orientation, name, form } = opts;
42076
42106
  let isDisabled = opts.isDisabled || state.isDisabled;
42077
42107
  let isVertical = orientation === "vertical";
42078
42108
  let { direction } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
@@ -42150,7 +42180,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42150
42180
  if (isVertical || reverseX)
42151
42181
  delta = -delta;
42152
42182
  currentPosition.current += delta;
42153
- setThumbPercent(index2, $9446cca9a3875146$export$7d15b64cf5a3a4c4$1(currentPosition.current / size2, 0, 1));
42183
+ setThumbPercent(index2, $9446cca9a3875146$export$7d15b64cf5a3a4c4(currentPosition.current / size2, 0, 1));
42154
42184
  }
42155
42185
  },
42156
42186
  onMoveEnd() {
@@ -42201,7 +42231,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42201
42231
  onDown(e2.changedTouches[0].identifier);
42202
42232
  }
42203
42233
  }) : {};
42204
- $99facab73266f662$export$5add1d006293d136(inputRef, value, (v2) => {
42234
+ $99facab73266f662$export$5add1d006293d136(inputRef, state.defaultValues[index2], (v2) => {
42205
42235
  state.setThumbValue(index2, v2);
42206
42236
  });
42207
42237
  return {
@@ -42213,6 +42243,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42213
42243
  step: state.step,
42214
42244
  value,
42215
42245
  name,
42246
+ form,
42216
42247
  disabled: isDisabled,
42217
42248
  "aria-orientation": orientation,
42218
42249
  "aria-valuetext": state.getThumbValueLabel(index2),
@@ -42273,7 +42304,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42273
42304
  },
42274
42305
  defaultClassName: "react-aria-Slider"
42275
42306
  });
42276
- let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
42307
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
42308
+ global: true
42309
+ });
42277
42310
  delete DOMProps.id;
42278
42311
  return /* @__PURE__ */ React__default.default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
42279
42312
  values: [
@@ -42301,9 +42334,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42301
42334
  ]
42302
42335
  ]
42303
42336
  }, /* @__PURE__ */ React__default.default.createElement("div", {
42304
- ...DOMProps,
42305
- ...groupProps,
42306
- ...renderProps,
42337
+ ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, renderProps, groupProps),
42307
42338
  ref,
42308
42339
  slot: props.slot || void 0,
42309
42340
  "data-orientation": state.orientation,
@@ -42367,7 +42398,9 @@ var __privateWrapper = (obj, member, setter, getter) => ({
42367
42398
  isDisabled
42368
42399
  }
42369
42400
  });
42370
- let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
42401
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
42402
+ global: true
42403
+ });
42371
42404
  delete DOMProps.id;
42372
42405
  return /* @__PURE__ */ React__default.default.createElement("div", {
42373
42406
  ...$3ef42575df84b30b$export$9d1611c77c2fe928(DOMProps, thumbProps, hoverProps),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.18.8
3
+ Version: 1.18.10
4
4
  Summary: Dara Framework Core
5
5
  Home-page: https://dara.causalens.com/
6
6
  License: Apache-2.0
@@ -21,10 +21,10 @@ Requires-Dist: cachetools (>=5.0.0,<6.0.0)
21
21
  Requires-Dist: certifi (>=2024.7.4)
22
22
  Requires-Dist: click (==8.1.3)
23
23
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
24
- Requires-Dist: create-dara-app (==1.18.8)
24
+ Requires-Dist: create-dara-app (==1.18.10)
25
25
  Requires-Dist: croniter (>=1.0.15,<3.0.0)
26
26
  Requires-Dist: cryptography (>=42.0.4)
27
- Requires-Dist: dara-components (==1.18.8) ; extra == "all"
27
+ Requires-Dist: dara-components (==1.18.10) ; extra == "all"
28
28
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0)
29
29
  Requires-Dist: fastapi (>=0.115.0,<0.116.0)
30
30
  Requires-Dist: fastapi_vite_dara (==0.4.0)
@@ -55,7 +55,7 @@ Description-Content-Type: text/markdown
55
55
 
56
56
  # Dara Application Framework
57
57
 
58
- <img src="https://github.com/causalens/dara/blob/v1.18.8/img/dara_light.svg?raw=true">
58
+ <img src="https://github.com/causalens/dara/blob/v1.18.10/img/dara_light.svg?raw=true">
59
59
 
60
60
  ![Master tests](https://github.com/causalens/dara/actions/workflows/tests.yml/badge.svg?branch=master)
61
61
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
@@ -100,7 +100,7 @@ source .venv/bin/activate
100
100
  dara start
101
101
  ```
102
102
 
103
- ![Dara App](https://github.com/causalens/dara/blob/v1.18.8/img/components_gallery.png?raw=true)
103
+ ![Dara App](https://github.com/causalens/dara/blob/v1.18.10/img/components_gallery.png?raw=true)
104
104
 
105
105
  Note: `pip` installation uses [PEP 660](https://peps.python.org/pep-0660/) `pyproject.toml`-based editable installs which require `pip >= 21.3` and `setuptools >= 64.0.0`. You can upgrade both with:
106
106
 
@@ -117,9 +117,9 @@ Explore some of our favorite apps - a great way of getting started and getting t
117
117
 
118
118
  | Dara App | Description |
119
119
  | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
120
- | ![Large Language Model](https://github.com/causalens/dara/blob/v1.18.8/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
- | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.18.8/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
- | ![Graph Editor](https://github.com/causalens/dara/blob/v1.18.8/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
120
+ | ![Large Language Model](https://github.com/causalens/dara/blob/v1.18.10/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
121
+ | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.18.10/img/plot_interactivity.png?raw=true) | Demonstrates how to enable the user to interact with plots, trigger actions based on clicks, mouse movements and other interactions with `Bokeh` or `Plotly` plots |
122
+ | ![Graph Editor](https://github.com/causalens/dara/blob/v1.18.10/img/graph_viewer.png?raw=true) | Demonstrates how to use the `CausalGraphViewer` component to display your graphs or networks, customising the displayed information through colors and tooltips, and updating the page based on user interaction. |
123
123
 
124
124
  Check out our [App Gallery](https://dara.causalens.com/gallery) for more inspiration!
125
125
 
@@ -146,9 +146,9 @@ And the supporting UI packages and tools.
146
146
  - `ui-utils` - miscellaneous utility functions
147
147
  - `ui-widgets` - widget components
148
148
 
149
- More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.18.8/CONTRIBUTING.md) file.
149
+ More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.18.10/CONTRIBUTING.md) file.
150
150
 
151
151
  ## License
152
152
 
153
- Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.18.8/LICENSE).
153
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.18.10/LICENSE).
154
154
 
@@ -19,8 +19,8 @@ dara/core/interactivity/actions.py,sha256=7CwHN2gmdzffQzggsWqWW7ppNfdJ0MGSChZiVP
19
19
  dara/core/interactivity/any_data_variable.py,sha256=BftnTPSDjOAqxTz_p4L0n5ngk8dvDip8nu9RZeBDI-c,5323
20
20
  dara/core/interactivity/any_variable.py,sha256=8r9AIu6kBBFYsnTlYprEH8pxUM8RYXs0B2Hr09TrAuw,13678
21
21
  dara/core/interactivity/condition.py,sha256=69tdxgLqNbU-AlwHTWFdp-hvxGDugNnb_McDrz0mDtE,1575
22
- dara/core/interactivity/data_variable.py,sha256=VM1QSU1LBfzp-kOt80v6c4jKtTRwLko8R3UcoXDOuR0,11833
23
- dara/core/interactivity/derived_data_variable.py,sha256=XYAp3o6rAmGzrLBdrxvlgDSjqE7mzLcmxeiq6eQmCMA,15435
22
+ dara/core/interactivity/data_variable.py,sha256=qnk6RNY2f4QkLsy5D-Eq-NF6rySmRDsTWie-yLBCdAk,11777
23
+ dara/core/interactivity/derived_data_variable.py,sha256=liPA_zr7R2dJUaeAFHvopSxxdia0zO_MRULbPKstWyg,15379
24
24
  dara/core/interactivity/derived_variable.py,sha256=fU0IE6u8mLJyozYl2s0jmxjwPmU0J_Z7vO7KMsYkCTg,24262
25
25
  dara/core/interactivity/filtering.py,sha256=Lce3YnBcC8T-DaLimH06zNcLun2iLm6dVTZerTJRrpA,9022
26
26
  dara/core/interactivity/loop_variable.py,sha256=EqZX3bMCwKmI2Yu4pQ7TJG9hf3PY2AlAIBLxEzHFbTw,2998
@@ -45,7 +45,7 @@ dara/core/internal/execute_action.py,sha256=V5JmAkh-PoXHCNr0xcTtdw4UMOeY6VEOVvW_
45
45
  dara/core/internal/hashing.py,sha256=Iz3FyiroHc_bC8AEtSUFFAIHh6j4Bq_EvxLqInIkAUM,1124
46
46
  dara/core/internal/import_discovery.py,sha256=oyBZayWhfZma4bg-8bamnS4QO1Oba9geGtez_BHut38,8128
47
47
  dara/core/internal/normalization.py,sha256=NDrj3QyqxSLL6sVgATYFehLAJp8IXSBul0h8kG2McAM,6265
48
- dara/core/internal/pandas_utils.py,sha256=SQ6IzsphfSUYheOJSA-zzITRO8zVwVcjfQvsfxpIdr4,2953
48
+ dara/core/internal/pandas_utils.py,sha256=V_cQp1IARrqMJJ0n9r3qFQ8KrKlAgZmpPrbmzlKpQP0,3609
49
49
  dara/core/internal/pool/__init__.py,sha256=pBbXE5GR3abVC9Lg3i0QxfdmsrBDMJUYAYb0SiAEBkk,657
50
50
  dara/core/internal/pool/channel.py,sha256=TbyIE-PnfzzsQYhl3INOs5UIHHbF_h9bMFne5FjbWlQ,4948
51
51
  dara/core/internal/pool/definitions.py,sha256=ICw_Krf-ziVGkzKl4qvvIgKC0Z06bvUehELH5-VMjV0,4645
@@ -83,7 +83,7 @@ dara/core/metrics/cache.py,sha256=c1PSst_oZZvuVzBXYWdpf8Sbb97u6q0HS2dlsEVLpQU,26
83
83
  dara/core/metrics/runtime.py,sha256=YP-6Dz0GeI9_Yr7bUk_-OqShyFySGH_AKpDO126l6es,1833
84
84
  dara/core/metrics/utils.py,sha256=inR1Ab5hmWZY2lsgGwLCQOEdyhCD9PumU52X2JbwlKY,2251
85
85
  dara/core/persistence.py,sha256=qINdOxpyvlPGBB9Vy09TPWQnmk0ej4SzUx03AV1YbX0,18561
86
- dara/core/umd/dara.core.umd.js,sha256=nMQ-tal0tJbvu9e3fVqzoF0_UEyY8LYrR8o4ser2390,4735977
86
+ dara/core/umd/dara.core.umd.js,sha256=FdsaYHATm4kvD8FwBFj-Sx9sMuegFudl8tWhfArJfVo,4735810
87
87
  dara/core/umd/style.css,sha256=YQtQ4veiSktnyONl0CU1iU1kKfcQhreH4iASi1MP7Ak,4095007
88
88
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
89
89
  dara/core/visual/components/__init__.py,sha256=wuGRk8bogiLWPOXAF-Fo4F6_L__0tBrI2p2SqgH2lnE,2385
@@ -107,8 +107,8 @@ dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmF
107
107
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
108
108
  dara/core/visual/themes/definitions.py,sha256=nS_gQvOzCt5hTmj74d0_siq_9QWuj6wNuir4VCHy0Dk,2779
109
109
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
110
- dara_core-1.18.8.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
111
- dara_core-1.18.8.dist-info/METADATA,sha256=_mtmCFczpHKcj6MB8J1AOGvfTYTLyCpjjXpeFMMSXWk,7540
112
- dara_core-1.18.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
113
- dara_core-1.18.8.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
114
- dara_core-1.18.8.dist-info/RECORD,,
110
+ dara_core-1.18.10.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
111
+ dara_core-1.18.10.dist-info/METADATA,sha256=3tXEH5e1C_BNR-Qm044hrTJe0IL2jGWbeFNUZ56vV1A,7550
112
+ dara_core-1.18.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
113
+ dara_core-1.18.10.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
114
+ dara_core-1.18.10.dist-info/RECORD,,