dara-core 1.12.5__py3-none-any.whl → 1.12.7__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.
@@ -274,14 +274,16 @@ def apply_filters(
274
274
  order_by = order_by[1:]
275
275
  ascending = False
276
276
 
277
- new_data = new_data.sort_values(
278
- by=re.sub(COLUMN_PREFIX_REGEX, '', order_by), ascending=ascending, inplace=False
279
- )
277
+ col = re.sub(COLUMN_PREFIX_REGEX, '', order_by)
278
+ if col == 'index':
279
+ new_data = new_data.sort_index(ascending=ascending, inplace=False)
280
+ else:
281
+ new_data = new_data.sort_values(by=col, ascending=ascending, inplace=False)
280
282
 
281
283
  # PAGINATE
282
284
  start_index = pagination.offset if pagination.offset is not None else 0
283
285
  stop_index = start_index + pagination.limit if pagination.limit is not None else total_count
284
286
 
285
- new_data = new_data[start_index:stop_index]
287
+ new_data = new_data.iloc[start_index:stop_index]
286
288
 
287
289
  return new_data, total_count
@@ -85,7 +85,7 @@ class LRUCache(CacheStoreImpl[LruCachePolicy]):
85
85
  self.tail = node.prev
86
86
 
87
87
  # Delete from the dictionary
88
- del self.cache[key]
88
+ self.cache.pop(key, None)
89
89
  return node.value
90
90
 
91
91
  async def get(self, key: str, unpin: bool = False) -> Optional[Any]:
@@ -142,7 +142,8 @@ class LRUCache(CacheStoreImpl[LruCachePolicy]):
142
142
  self.tail = evict_node.prev
143
143
  if self.tail:
144
144
  self.tail.next = None
145
- del self.cache[evict_node.key]
145
+ # Use pop instead of delete just in case
146
+ self.cache.pop(evict_node.key, None)
146
147
  else:
147
148
  # all nodes are pinned, can't evict
148
149
  break
@@ -20681,7 +20681,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20681
20681
  var _a;
20682
20682
  return jsxRuntime.exports.jsxs(Wrapper$8, { className: props.className, style: props.style, children: [jsxRuntime.exports.jsxs(Loader, { color: props.color, size: props.size, children: [jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" }), jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" }), jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" }), jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" }), jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" }), jsxRuntime.exports.jsx("div", { className: "sk-chase-dot" })] }), (props.showText || props.text) && jsxRuntime.exports.jsx(LoadingText, { color: props.color, children: (_a = props.text) !== null && _a !== void 0 ? _a : "LOADING" })] });
20683
20683
  }
20684
- var __rest$7 = globalThis && globalThis.__rest || function(s, e3) {
20684
+ var __rest$8 = globalThis && globalThis.__rest || function(s, e3) {
20685
20685
  var t2 = {};
20686
20686
  for (var p2 in s)
20687
20687
  if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
@@ -20787,7 +20787,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
20787
20787
  secondary: SecondaryButton
20788
20788
  };
20789
20789
  function Button(_a, ref) {
20790
- var { autoFocus, children, className, disabled: disabled2, download, href, loading, id, onClick, outline = false, style, styling = "primary", type = "button" } = _a, props = __rest$7(_a, ["autoFocus", "children", "className", "disabled", "download", "href", "loading", "id", "onClick", "outline", "style", "styling", "type"]);
20790
+ var { autoFocus, children, className, disabled: disabled2, download, href, loading, id, onClick, outline = false, style, styling = "primary", type = "button" } = _a, props = __rest$8(_a, ["autoFocus", "children", "className", "disabled", "download", "href", "loading", "id", "onClick", "outline", "style", "styling", "type"]);
20791
20791
  const currentTheme = useClTheme();
20792
20792
  const Component = stylingMap[styling];
20793
20793
  const content = loading ? jsxRuntime.exports.jsx(StyledLoading, { color: outline ? currentTheme.colors.grey2 : currentTheme.colors.blue1 }) : children;
@@ -26438,7 +26438,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
26438
26438
 
26439
26439
  width: 100%;
26440
26440
  height: 100%;
26441
- min-height: 3.6rem;
26441
+ min-height: 3.4rem;
26442
26442
  padding: 1rem;
26443
26443
 
26444
26444
  font-size: 1rem;
@@ -26449,14 +26449,14 @@ var __privateWrapper = (obj, member, setter, getter) => ({
26449
26449
  border-radius: 0.25rem;
26450
26450
  outline: 0;
26451
26451
 
26452
- :focus:not(:disabled) {
26453
- border: 1px solid ${(props) => props.isErrored ? props.theme.colors.error : props.theme.colors.grey3};
26454
- }
26455
-
26456
26452
  :hover:not(:disabled) {
26457
26453
  border: 1px solid ${(props) => props.isErrored ? props.theme.colors.error : props.theme.colors.grey2};
26458
26454
  }
26459
26455
 
26456
+ :focus:not(:disabled) {
26457
+ border: 1px solid ${(props) => props.isErrored ? props.theme.colors.error : props.theme.colors.grey3};
26458
+ }
26459
+
26460
26460
  :active:not(:disabled) {
26461
26461
  border: 1px solid ${(props) => props.isErrored ? props.theme.colors.error : props.theme.colors.grey3};
26462
26462
  }
@@ -29685,8 +29685,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29685
29685
  }
29686
29686
 
29687
29687
  blockquote {
29688
- /* stylelint-disable-next-line */
29689
- quotes: '"\\201C""\\201D""\\2018""\\2019"';
29688
+ quotes: '\\201C' '\\201D' '\\2018' '\\2019';
29690
29689
 
29691
29690
  margin-top: 1.5rem;
29692
29691
  margin-bottom: 1.5rem;
@@ -29697,6 +29696,14 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29697
29696
  color: ${(props) => props.theme.colors.grey6};
29698
29697
 
29699
29698
  border-left: 0.25rem solid ${(props) => props.theme.colors.grey3};
29699
+
29700
+ p:first-of-type::before {
29701
+ content: open-quote;
29702
+ }
29703
+
29704
+ p:last-of-type::after {
29705
+ content: close-quote;
29706
+ }
29700
29707
  }
29701
29708
 
29702
29709
  h1 {
@@ -29709,7 +29716,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29709
29716
  }
29710
29717
 
29711
29718
  h2 {
29712
- margin-top: 1rem;
29719
+ margin-top: 2rem;
29713
29720
  margin-bottom: 1rem;
29714
29721
 
29715
29722
  font-size: 2rem;
@@ -29744,6 +29751,13 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29744
29751
  }
29745
29752
  }
29746
29753
 
29754
+ figcaption {
29755
+ margin-top: 0.875rem;
29756
+ color: ${(props) => props.theme.colors.grey5};
29757
+ font-size: 0.875rem;
29758
+ line-height: 1.5rem;
29759
+ }
29760
+
29747
29761
  h2 code {
29748
29762
  font-size: 0.875rem;
29749
29763
  }
@@ -29811,10 +29825,6 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29811
29825
  border-radius: 0.25rem;
29812
29826
  }
29813
29827
 
29814
- strong {
29815
- font-style: italic;
29816
- }
29817
-
29818
29828
  p {
29819
29829
  margin-top: 0.75rem;
29820
29830
  margin-bottom: 0.75rem;
@@ -29830,6 +29840,15 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29830
29840
  }
29831
29841
  }
29832
29842
 
29843
+ ol > li::marker {
29844
+ font-weight: 400;
29845
+ color: ${(props) => props.theme.colors.text};
29846
+ }
29847
+
29848
+ ul > li::marker {
29849
+ color: ${(props) => props.theme.colors.grey4};
29850
+ }
29851
+
29833
29852
  hr {
29834
29853
  margin-top: 3rem;
29835
29854
  margin-bottom: 3rem;
@@ -29838,12 +29857,22 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29838
29857
  table {
29839
29858
  font-size: 0.875rem;
29840
29859
  line-height: 1.7;
29860
+ margin-top: 2rem;
29861
+ margin-bottom: 2rem;
29862
+ table-layout: auto;
29863
+ width: 100%;
29864
+ border-collapse: collapse;
29841
29865
 
29842
29866
  thead {
29867
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey3};
29868
+
29843
29869
  th {
29844
29870
  padding-right: 0.5rem;
29845
29871
  padding-bottom: 0.5rem;
29846
29872
  padding-left: 0.5rem;
29873
+ vertical-align: bottom;
29874
+ font-weight: 600;
29875
+ text-align: start;
29847
29876
  }
29848
29877
 
29849
29878
  th:first-child {
@@ -29855,17 +29884,36 @@ var __privateWrapper = (obj, member, setter, getter) => ({
29855
29884
  }
29856
29885
  }
29857
29886
 
29858
- tbody {
29887
+ tfoot {
29888
+ border-top: 1px solid ${(props) => props.theme.colors.grey2};
29889
+
29859
29890
  td {
29860
- padding: 0.5rem;
29891
+ vertical-align: top;
29892
+ text-align: start;
29861
29893
  }
29894
+ }
29862
29895
 
29863
- td:first-child {
29864
- padding-left: 0;
29896
+ tbody {
29897
+ tr {
29898
+ border-bottom: 1px solid ${(props) => props.theme.colors.grey2};
29899
+
29900
+ &:last-child {
29901
+ border-bottom: 0;
29902
+ }
29865
29903
  }
29866
29904
 
29867
- td:last-child {
29868
- padding-right: 0;
29905
+ td {
29906
+ padding: 0.5rem;
29907
+ vertical-align: baseline;
29908
+ text-align: start;
29909
+
29910
+ &:first-child {
29911
+ padding-left: 0;
29912
+ }
29913
+
29914
+ &:last-child {
29915
+ padding-right: 0;
29916
+ }
29869
29917
  }
29870
29918
  }
29871
29919
  }
@@ -34222,7 +34270,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
34222
34270
  return jsxRuntime.exports.jsx(CheckboxWrapper, { "aria-disabled": props.disabled, children: jsxRuntime.exports.jsx(Checkbox, { disabled: isSelectPermitted ? props.disabled : ((_a = checkedState.find((option) => option.value === item.value)) === null || _a === void 0 ? void 0 : _a.state) === false, id: index2, isListStyle: props.isListStyle, label: item.label ? item.label : item.value, onChange: (checked, e3) => onChangeValue(e3), selected: (_b = checkedState.find((option) => option.value === item.value)) === null || _b === void 0 ? void 0 : _b.state }) }, `item-${index2}`);
34223
34271
  })] });
34224
34272
  }
34225
- var __rest$6 = globalThis && globalThis.__rest || function(s, e3) {
34273
+ var __rest$7 = globalThis && globalThis.__rest || function(s, e3) {
34226
34274
  var t2 = {};
34227
34275
  for (var p2 in s)
34228
34276
  if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
@@ -34278,35 +34326,25 @@ var __privateWrapper = (obj, member, setter, getter) => ({
34278
34326
  color: ${(props) => props.theme.colors.error};
34279
34327
  `;
34280
34328
  const Input$1 = React.forwardRef((_a, ref) => {
34281
- var { type = "text" } = _a, props = __rest$6(_a, ["type"]);
34282
- const onChange2 = (e3) => {
34329
+ var { type = "text", onChange: onChange2, onKeyDown, keydownFilter, onComplete, maxValue, minValue, errorMsg, className, style, initialValue } = _a, rest = __rest$7(_a, ["type", "onChange", "onKeyDown", "keydownFilter", "onComplete", "maxValue", "minValue", "errorMsg", "className", "style", "initialValue"]);
34330
+ const handleChange = (e3) => {
34283
34331
  const target = e3.target;
34284
- if (props.onChange) {
34285
- props.onChange(target.value, e3);
34332
+ if (onChange2) {
34333
+ onChange2(target.value, e3);
34286
34334
  }
34287
34335
  };
34288
- const onKeyDown = (e3) => {
34289
- if (props.onKeyDown) {
34290
- props.onKeyDown(e3);
34336
+ const handleKeyDown = (e3) => {
34337
+ if (onKeyDown) {
34338
+ onKeyDown(e3);
34291
34339
  }
34292
- if (props.keydownFilter && !props.keydownFilter(e3)) {
34340
+ if (keydownFilter && !keydownFilter(e3)) {
34293
34341
  e3.preventDefault();
34294
34342
  }
34295
- if (e3.key === Key.ENTER && props.onComplete) {
34296
- props.onComplete();
34297
- }
34298
- };
34299
- const addOptionalItems = () => {
34300
- const result = {};
34301
- if (props.minValue) {
34302
- result.minValue = props.minValue;
34343
+ if (e3.key === Key.ENTER && onComplete) {
34344
+ onComplete();
34303
34345
  }
34304
- if (props.maxValue) {
34305
- result.maxValue = props.minValue;
34306
- }
34307
- return result;
34308
34346
  };
34309
- return jsxRuntime.exports.jsxs(InputWrapper$3, { className: props.className, style: props.style, children: [jsxRuntime.exports.jsx(PrimaryInput, Object.assign({ autoFocus: props.autoFocus, defaultValue: props.initialValue, disabled: props.disabled, isErrored: !!props.errorMsg, maxLength: props.maxLength, onBlur: props.onBlur, onChange: onChange2, onClick: props.onClick, onKeyDown, placeholder: props.placeholder, ref, type, value: props.value }, addOptionalItems())), props.errorMsg && jsxRuntime.exports.jsxs(ErrorMessage$1, { children: [props.errorMsg, " "] })] });
34347
+ return jsxRuntime.exports.jsxs(InputWrapper$3, { className, style, children: [jsxRuntime.exports.jsx(PrimaryInput, Object.assign({}, rest, { defaultValue: initialValue, isErrored: !!errorMsg, onChange: handleChange, onKeyDown: handleKeyDown, ref, type, min: minValue, max: maxValue })), errorMsg && jsxRuntime.exports.jsx(ErrorMessage$1, { children: errorMsg })] });
34310
34348
  });
34311
34349
  Input$1.displayName = "Input";
34312
34350
  const Wrapper$7 = styled__default.default.div`
@@ -36572,7 +36610,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
36572
36610
  keyNavigationNext: "ArrowRight",
36573
36611
  keyNavigationPrevious: "ArrowLeft"
36574
36612
  });
36575
- var __rest$5 = globalThis && globalThis.__rest || function(s, e3) {
36613
+ var __rest$6 = globalThis && globalThis.__rest || function(s, e3) {
36576
36614
  var t2 = {};
36577
36615
  for (var p2 in s)
36578
36616
  if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
@@ -36593,11 +36631,11 @@ var __privateWrapper = (obj, member, setter, getter) => ({
36593
36631
  background-color: transparent !important;
36594
36632
  `;
36595
36633
  const ChevronButton = (_a) => {
36596
- var { getToggleButtonProps, disabled: disabled2, isOpen } = _a, props = __rest$5(_a, ["getToggleButtonProps", "disabled", "isOpen"]);
36634
+ var { getToggleButtonProps, disabled: disabled2, isOpen } = _a, props = __rest$6(_a, ["getToggleButtonProps", "disabled", "isOpen"]);
36597
36635
  return jsxRuntime.exports.jsx(StyledChevronButton, Object.assign({}, getToggleButtonProps(), props, { children: jsxRuntime.exports.jsx(Chevron$2, { disabled: disabled2, isOpen }) }));
36598
36636
  };
36599
36637
  const ChevronButton$1 = React__default.default.memo(ChevronButton);
36600
- var __rest$4 = globalThis && globalThis.__rest || function(s, e3) {
36638
+ var __rest$5 = globalThis && globalThis.__rest || function(s, e3) {
36601
36639
  var t2 = {};
36602
36640
  for (var p2 in s)
36603
36641
  if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
@@ -36650,7 +36688,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
36650
36688
  }
36651
36689
  `;
36652
36690
  const ListItem = ({ size: size2, title, item, index: index2, getItemProps, itemClass, children, isHighlighted, isSelected }) => {
36653
- const _a = getItemProps({ index: index2, item }), { itemClassName } = _a, itemProps = __rest$4(_a, ["itemClassName"]);
36691
+ const _a = getItemProps({ index: index2, item }), { itemClassName } = _a, itemProps = __rest$5(_a, ["itemClassName"]);
36654
36692
  return jsxRuntime.exports.jsx(StyledListItem, Object.assign({}, itemProps, { className: itemClass ? `${itemClassName} ${itemClass}` : itemClassName, title, size: size2, item, isHighlighted, isSelected, children }));
36655
36693
  };
36656
36694
  ListItem.displayName = "ListItem";
@@ -43240,7 +43278,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
43240
43278
  } }]), a2;
43241
43279
  }(), jt = "input", Ht = "navigate";
43242
43280
  const reactDatepicker = "";
43243
- var __rest$3 = globalThis && globalThis.__rest || function(s, e3) {
43281
+ var __rest$4 = globalThis && globalThis.__rest || function(s, e3) {
43244
43282
  var t2 = {};
43245
43283
  for (var p2 in s)
43246
43284
  if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
@@ -43372,7 +43410,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
43372
43410
  }
43373
43411
  `;
43374
43412
  const DatepickerListItem = React__namespace.memo(({ item, index: index2, getItemProps, isSelected, size: size2, isHighlighted }) => {
43375
- const _a = getItemProps({ index: index2, item }), itemProps = __rest$3(_a, ["itemClassName"]);
43413
+ const _a = getItemProps({ index: index2, item }), itemProps = __rest$4(_a, ["itemClassName"]);
43376
43414
  return jsxRuntime.exports.jsx(StyledDatepickerListItem, Object.assign({}, itemProps, { isSelected, title: item.label, item, index: index2, size: size2, isHighlighted, children: item.label }));
43377
43415
  });
43378
43416
  const StyledDropdownList = React__namespace.memo(styled__default.default(DropdownList$1)`
@@ -45466,6 +45504,18 @@ var __privateWrapper = (obj, member, setter, getter) => ({
45466
45504
  const stepDown = () => step(amountToStep * -1);
45467
45505
  return jsxRuntime.exports.jsxs(StepperWrapper, { disabled: disabled2, children: [jsxRuntime.exports.jsx(StepperButton, { disabled: disabled2, onClick: stepUp, styling: "ghost", tabIndex: -1, children: jsxRuntime.exports.jsx(ChevronUp, {}) }), jsxRuntime.exports.jsx(StepperButton, { disabled: disabled2, onClick: stepDown, styling: "ghost", tabIndex: -1, children: jsxRuntime.exports.jsx(ChevronDown, {}) })] });
45468
45506
  };
45507
+ var __rest$3 = globalThis && globalThis.__rest || function(s, e3) {
45508
+ var t2 = {};
45509
+ for (var p2 in s)
45510
+ if (Object.prototype.hasOwnProperty.call(s, p2) && e3.indexOf(p2) < 0)
45511
+ t2[p2] = s[p2];
45512
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
45513
+ for (var i2 = 0, p2 = Object.getOwnPropertySymbols(s); i2 < p2.length; i2++) {
45514
+ if (e3.indexOf(p2[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p2[i2]))
45515
+ t2[p2[i2]] = s[p2[i2]];
45516
+ }
45517
+ return t2;
45518
+ };
45469
45519
  const InputWrapper$1 = styled__default.default.div`
45470
45520
  display: flex;
45471
45521
  flex-direction: row;
@@ -45557,27 +45607,27 @@ var __privateWrapper = (obj, member, setter, getter) => ({
45557
45607
  }
45558
45608
  return "";
45559
45609
  };
45560
- React__namespace.forwardRef((props, ref) => {
45610
+ React__namespace.forwardRef((_a, ref) => {
45611
+ var { value, onChange: onChange2, initialValue } = _a, props = __rest$3(_a, ["value", "onChange", "initialValue"]);
45561
45612
  const keydownFilter = React.useMemo(() => numericFilter(props.integerOnly), [props.integerOnly]);
45562
- const [input, setInput] = React.useState(getInitialValue(props.value, props.initialValue));
45563
- const step = (value) => {
45564
- var _a;
45613
+ const [input, setInput] = React.useState(getInitialValue(value, initialValue));
45614
+ const step = (v2) => {
45565
45615
  if (!input || input === "-") {
45566
45616
  return;
45567
45617
  }
45568
45618
  const isFloat = input.includes(".");
45569
45619
  const parsedValue = isFloat ? parseFloat(input) : parseInt(input);
45570
- let nextValueNumber = parsedValue + value;
45620
+ let nextValueNumber = parsedValue + v2;
45571
45621
  let nextValueStr = String(nextValueNumber);
45572
45622
  if (isFloat) {
45573
45623
  const decimals = input.split(".")[1];
45574
45624
  if (decimals) {
45575
- nextValueStr = (parsedValue + value / Math.pow(10, decimals.length)).toFixed(decimals.length);
45625
+ nextValueStr = (parsedValue + v2 / Math.pow(10, decimals.length)).toFixed(decimals.length);
45576
45626
  nextValueNumber = parseFloat(nextValueStr);
45577
45627
  }
45578
45628
  }
45579
- if (props.value !== void 0) {
45580
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, nextValueNumber, {
45629
+ if (value !== void 0) {
45630
+ onChange2 === null || onChange2 === void 0 ? void 0 : onChange2(nextValueNumber, {
45581
45631
  target: {
45582
45632
  value: nextValueStr
45583
45633
  }
@@ -45587,8 +45637,8 @@ var __privateWrapper = (obj, member, setter, getter) => ({
45587
45637
  }
45588
45638
  };
45589
45639
  const onKeyDown = (e3) => {
45590
- var _a, _b;
45591
- (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, e3);
45640
+ var _a2, _b;
45641
+ (_a2 = props.onKeyDown) === null || _a2 === void 0 ? void 0 : _a2.call(props, e3);
45592
45642
  if (!props.stepper) {
45593
45643
  return;
45594
45644
  }
@@ -45600,35 +45650,34 @@ var __privateWrapper = (obj, member, setter, getter) => ({
45600
45650
  step(stepSkip * -1);
45601
45651
  }
45602
45652
  };
45603
- const onChange2 = React.useCallback(
45604
- (value, e3) => {
45605
- var _a, _b;
45606
- const parsed = props.integerOnly ? parseInt(value) : parseFloat(value);
45607
- if (props.value === void 0) {
45608
- setInput(value);
45609
- (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, parsed, e3);
45653
+ const handleOnChange = React.useCallback(
45654
+ (v2, e3) => {
45655
+ const parsed = props.integerOnly ? parseInt(v2) : parseFloat(v2);
45656
+ if (value === void 0) {
45657
+ setInput(v2);
45658
+ onChange2 === null || onChange2 === void 0 ? void 0 : onChange2(parsed, e3);
45610
45659
  return;
45611
45660
  }
45612
- if (value.endsWith(".")) {
45613
- setInput(value);
45661
+ if (v2.endsWith(".")) {
45662
+ setInput(v2);
45614
45663
  return;
45615
45664
  }
45616
- if (value.includes(".") && value.endsWith("0")) {
45617
- setInput(value);
45665
+ if (v2.includes(".") && v2.endsWith("0")) {
45666
+ setInput(v2);
45618
45667
  return;
45619
45668
  }
45620
- if (value === "-") {
45621
- setInput(value);
45669
+ if (v2 === "-") {
45670
+ setInput(v2);
45622
45671
  return;
45623
45672
  }
45624
- (_b = props.onChange) === null || _b === void 0 ? void 0 : _b.call(props, parsed, e3);
45673
+ onChange2 === null || onChange2 === void 0 ? void 0 : onChange2(parsed, e3);
45625
45674
  },
45626
- [props.integerOnly, props.value, props.onChange]
45675
+ [props.integerOnly, value, onChange2]
45627
45676
  );
45628
45677
  React.useEffect(() => {
45629
- setInput(getInitialValue(props.value, props.initialValue));
45630
- }, [props.value]);
45631
- return jsxRuntime.exports.jsxs("div", { children: [jsxRuntime.exports.jsxs(InputWrapper$1, { disabled: props.disabled, errorMsg: props.errorMsg, stepper: props.stepper, style: props.style, children: [jsxRuntime.exports.jsx(Input$1, { autoFocus: props.autoFocus, className: props.className, disabled: props.disabled, keydownFilter, maxValue: props.maxValue, minValue: props.minValue, onBlur: props.onBlur, onChange: onChange2, onComplete: props.onComplete, onKeyDown, placeholder: props.placeholder, ref, value: input }), props.stepper && jsxRuntime.exports.jsx(InputStepper, { disabled: props.disabled, step, stepSkip: props.stepSkip })] }), props.errorMsg && jsxRuntime.exports.jsx(ErrorMessage$1, { children: props.errorMsg })] });
45678
+ setInput(getInitialValue(value, initialValue));
45679
+ }, [value]);
45680
+ return jsxRuntime.exports.jsxs("div", { children: [jsxRuntime.exports.jsxs(InputWrapper$1, { disabled: props.disabled, errorMsg: props.errorMsg, stepper: props.stepper, style: props.style, children: [jsxRuntime.exports.jsx(Input$1, Object.assign({}, props, { keydownFilter, onChange: handleOnChange, onKeyDown, ref, value: input })), props.stepper && jsxRuntime.exports.jsx(InputStepper, { disabled: props.disabled, step, stepSkip: props.stepSkip })] }), props.errorMsg && jsxRuntime.exports.jsx(ErrorMessage$1, { children: props.errorMsg })] });
45632
45681
  });
45633
45682
  Input$1.displayName = "NumericInput";
45634
45683
  styled__default.default.div`
@@ -57572,12 +57621,12 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
57572
57621
  const eventBus = useEventBus();
57573
57622
  const extras = useRequestExtras();
57574
57623
  const dataCallback = React.useCallback(
57575
- async (filters, pagination, withSchema = false) => {
57624
+ async (filters, pagination, options) => {
57576
57625
  const mergedFilters = combineFilters("AND", [variable.filters, filters]);
57577
57626
  const data = await fetchDataVariable(variable.uid, extras, mergedFilters, pagination);
57578
57627
  const [totalCount, schema = null] = await Promise.all([
57579
57628
  fetchDataVariableCount(variable.uid, extras, mergedFilters),
57580
- ...withSchema ? [fetchDataVariableSchema(variable.uid, extras)] : []
57629
+ ...(options == null ? void 0 : options.schema) ? [fetchDataVariableSchema(variable.uid, extras)] : []
57581
57630
  ]);
57582
57631
  eventBus.publish("DATA_VARIABLE_LOADED", { variable, value: { data, totalCount } });
57583
57632
  return {
@@ -57595,7 +57644,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
57595
57644
  const extras = useRequestExtras();
57596
57645
  const previousResult = React.useRef({ data: null, totalCount: 0, schema: { fields: [], primaryKey: [] } });
57597
57646
  const dataCallback = React.useCallback(
57598
- async (filters, pagination, withSchema = false) => {
57647
+ async (filters, pagination, options) => {
57599
57648
  const mergedFilters = combineFilters("AND", [variable.filters, filters]);
57600
57649
  const dvValue = await dvValuePromise;
57601
57650
  const response = await fetchDerivedDataVariable(
@@ -57625,8 +57674,8 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
57625
57674
  data = response;
57626
57675
  }
57627
57676
  const [totalCount, schema = null] = await Promise.all([
57628
- fetchDataVariableCount(variable.uid, extras, mergedFilters),
57629
- ...withSchema ? [fetchDataVariableSchema(variable.uid, extras)] : []
57677
+ fetchDataVariableCount(variable.uid, extras, mergedFilters, dvValue.cache_key),
57678
+ ...(options == null ? void 0 : options.schema) ? [fetchDataVariableSchema(variable.uid, extras, dvValue.cache_key)] : []
57630
57679
  ]);
57631
57680
  previousResult.current = {
57632
57681
  data,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dara-core
3
- Version: 1.12.5
3
+ Version: 1.12.7
4
4
  Summary: Dara Framework Core
5
5
  Home-page: https://dara.causalens.com/
6
6
  License: Apache-2.0
@@ -20,10 +20,10 @@ Requires-Dist: async-asgi-testclient (>=1.4.11,<2.0.0)
20
20
  Requires-Dist: certifi (>=2024.7.4)
21
21
  Requires-Dist: click (==8.1.3)
22
22
  Requires-Dist: colorama (>=0.4.6,<0.5.0)
23
- Requires-Dist: create-dara-app (==1.12.5)
23
+ Requires-Dist: create-dara-app (==1.12.7)
24
24
  Requires-Dist: croniter (>=1.0.15,<2.0.0)
25
25
  Requires-Dist: cryptography (>=42.0.4)
26
- Requires-Dist: dara-components (==1.12.5) ; extra == "all"
26
+ Requires-Dist: dara-components (==1.12.7) ; extra == "all"
27
27
  Requires-Dist: exceptiongroup (>=1.1.3,<2.0.0)
28
28
  Requires-Dist: fastapi (==0.109.0)
29
29
  Requires-Dist: fastapi-vite (==0.3.1)
@@ -51,7 +51,7 @@ Description-Content-Type: text/markdown
51
51
 
52
52
  # Dara Application Framework
53
53
 
54
- <img src="https://github.com/causalens/dara/blob/v1.12.5/img/dara_light.svg?raw=true">
54
+ <img src="https://github.com/causalens/dara/blob/v1.12.7/img/dara_light.svg?raw=true">
55
55
 
56
56
  ![Master tests](https://github.com/causalens/dara/actions/workflows/tests.yml/badge.svg?branch=master)
57
57
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
@@ -96,7 +96,7 @@ source .venv/bin/activate
96
96
  dara start
97
97
  ```
98
98
 
99
- ![Dara App](https://github.com/causalens/dara/blob/v1.12.5/img/components_gallery.png?raw=true)
99
+ ![Dara App](https://github.com/causalens/dara/blob/v1.12.7/img/components_gallery.png?raw=true)
100
100
 
101
101
  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:
102
102
 
@@ -113,9 +113,9 @@ Explore some of our favorite apps - a great way of getting started and getting t
113
113
 
114
114
  | Dara App | Description |
115
115
  | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
116
- | ![Large Language Model](https://github.com/causalens/dara/blob/v1.12.5/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
117
- | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.12.5/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 |
118
- | ![Graph Editor](https://github.com/causalens/dara/blob/v1.12.5/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. |
116
+ | ![Large Language Model](https://github.com/causalens/dara/blob/v1.12.7/img/llm.png?raw=true) | Demonstrates how to use incorporate a LLM chat box into your decision app to understand model insights |
117
+ | ![Plot Interactivity](https://github.com/causalens/dara/blob/v1.12.7/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 |
118
+ | ![Graph Editor](https://github.com/causalens/dara/blob/v1.12.7/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. |
119
119
 
120
120
  Check out our [App Gallery](https://dara.causalens.com/gallery) for more inspiration!
121
121
 
@@ -127,9 +127,9 @@ This repository covers the Dara Application Framework first-party packages.
127
127
  - `dara-components`: Components for the Dara Framework.
128
128
  - `create-dara-app`: A CLI tool for creating new Dara applications.
129
129
 
130
- More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.12.5/CONTRIBUTING.md) file.
130
+ More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/v1.12.7/CONTRIBUTING.md) file.
131
131
 
132
132
  ## License
133
133
 
134
- Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.12.5/LICENSE).
134
+ Dara is open-source and licensed under the [Apache 2.0 License](https://github.com/causalens/dara/blob/v1.12.7/LICENSE).
135
135
 
@@ -22,7 +22,7 @@ dara/core/interactivity/condition.py,sha256=ynK53cGuVMC852X6kkbrgltcdpIX7Otw7j1D
22
22
  dara/core/interactivity/data_variable.py,sha256=KIN2V2ipESfhczBtmyPnZUi0iirlZXdN1S1P0aPPVRA,11099
23
23
  dara/core/interactivity/derived_data_variable.py,sha256=Y3Yw5gdnjvVIUrZhyHafCEaQZMyVT9S5SJ7sC8lcYxA,15176
24
24
  dara/core/interactivity/derived_variable.py,sha256=6xOv-E5wQj-fd9S2RVmRdE_DfkvxVGyptfZlDSj0fmY,21497
25
- dara/core/interactivity/filtering.py,sha256=RniL8Qq9HIzY0D3p6ZXFQD363ksqZ6b7uCxtklUILyo,9035
25
+ dara/core/interactivity/filtering.py,sha256=veQbDi4ogeDO5SODOp3hpx1FQGAYKFLwnhqmbfFDyJo,9168
26
26
  dara/core/interactivity/non_data_variable.py,sha256=ewPaNaTpMixR5YCVY1pjmyHgeC53K0CsjQxMusbJsiw,1147
27
27
  dara/core/interactivity/plain_variable.py,sha256=iuISw0x14ruOnZqrRg1Zay6ny7Ey0QImRUHVg0S11e0,8017
28
28
  dara/core/interactivity/url_variable.py,sha256=DEHEvg1mE7xXlK69p1D5iZZbf4emzNe6r_RH6DHcyoc,4219
@@ -31,7 +31,7 @@ dara/core/internal/cache_store/__init__.py,sha256=7JCmQwNIMzfyLZGnsk0BbT1EdDFO_P
31
31
  dara/core/internal/cache_store/base_impl.py,sha256=gQ3N2diA4QihkLctP82vxfsSBntQy4cbjsAmmcSEPP4,1237
32
32
  dara/core/internal/cache_store/cache_store.py,sha256=X6VMB-vFZkuxvYCS_mjmMuz8gs1Mqn49I5dXYqu9jHQ,8445
33
33
  dara/core/internal/cache_store/keep_all.py,sha256=hFT2jjkVtV2UFedYNjdzAw1VqZo4c0F7OoKWqocO_GA,2231
34
- dara/core/internal/cache_store/lru.py,sha256=nzWqV4hKy6xyRTdHXfLAwgVH88lVhcY5pLJR21MIFzE,5066
34
+ dara/core/internal/cache_store/lru.py,sha256=V0KkpsU9oJ_vJ2j7iKFTxxihF1zCxVTvKBfi3m9kDlU,5143
35
35
  dara/core/internal/cache_store/ttl.py,sha256=7zcVYR9a2M5qOTWuhor-TgKBKERPn6qsZsDnoUyazfM,4755
36
36
  dara/core/internal/cgroup.py,sha256=o1Qqn5LV3TOPK7lQ0xbQj01zYT1pv-X_edGx8VhFvEw,3218
37
37
  dara/core/internal/custom_response.py,sha256=aSPonh8AdRjioTk1MaPwdaJHkO4R4aG_osGAGCIHbtg,1341
@@ -81,7 +81,7 @@ dara/core/metrics/cache.py,sha256=ybofUhZO0TCHeyhB_AtldWk1QTmTKh7GucTXpOkeTFA,25
81
81
  dara/core/metrics/runtime.py,sha256=YP-6Dz0GeI9_Yr7bUk_-OqShyFySGH_AKpDO126l6es,1833
82
82
  dara/core/metrics/utils.py,sha256=rYlBinxFc7VehFT5cTNXLk8gC74UEj7ZGq6vLgIDpSg,2247
83
83
  dara/core/persistence.py,sha256=TO94rPAN7jxZKVCC5YA4eE7GGDoNlCPe-BkkItV2VUE,10379
84
- dara/core/umd/dara.core.umd.js,sha256=eAzeW0wT8sdeoYKEmTdPPlD_OsxRP9PHJUTko912TAM,4876798
84
+ dara/core/umd/dara.core.umd.js,sha256=dVItBDadKZ8c6QQ_z-vwUA1vDCuhpmf2hvGcKIiryG8,4878177
85
85
  dara/core/umd/style.css,sha256=YQtQ4veiSktnyONl0CU1iU1kKfcQhreH4iASi1MP7Ak,4095007
86
86
  dara/core/visual/__init__.py,sha256=QN0wbG9HPQ_vXh8BO8DnBXeYLIENVTNtRmYzZf1lx7c,577
87
87
  dara/core/visual/components/__init__.py,sha256=O-Em_glGdZNO0LLl2RWmJSrQiXKxliXg_PuhVXGT81I,1811
@@ -105,8 +105,8 @@ dara/core/visual/themes/__init__.py,sha256=aM4mgoIYo2neBSw5FRzswsht7PUKjLthiHLmF
105
105
  dara/core/visual/themes/dark.py,sha256=UQGDooOc8ric73eHs9E0ltYP4UCrwqQ3QxqN_fb4PwY,1942
106
106
  dara/core/visual/themes/definitions.py,sha256=m3oN0txs65MZepqjj7AKMMxybf2aq5fTjcTwJmHqEbk,2744
107
107
  dara/core/visual/themes/light.py,sha256=-Tviq8oEwGbdFULoDOqPuHO0UpAZGsBy8qFi0kAGolQ,1944
108
- dara_core-1.12.5.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
109
- dara_core-1.12.5.dist-info/METADATA,sha256=tVMv9uBzRnUMr8zkJch56lrN0WLyJF5KZqzffynj174,6771
110
- dara_core-1.12.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
111
- dara_core-1.12.5.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
112
- dara_core-1.12.5.dist-info/RECORD,,
108
+ dara_core-1.12.7.dist-info/LICENSE,sha256=r9u1w2RvpLMV6YjuXHIKXRBKzia3fx_roPwboGcLqCc,10944
109
+ dara_core-1.12.7.dist-info/METADATA,sha256=5ED4Hbk7NxAPv1eYQO3zB-jxb49mPTrYW3e2ar_hs9A,6771
110
+ dara_core-1.12.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
111
+ dara_core-1.12.7.dist-info/entry_points.txt,sha256=H__D5sNIGuPIhVam0DChNL-To5k8Y7nY7TAFz9Mz6cc,139
112
+ dara_core-1.12.7.dist-info/RECORD,,