datastake-daf 0.6.308 → 0.6.309

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.
@@ -3226,7 +3226,7 @@ const config$3 = {
3226
3226
  MagicWand: config$4
3227
3227
  };
3228
3228
 
3229
- const _excluded$w = ["width", "height", "size", "name", "fill"];
3229
+ const _excluded$z = ["width", "height", "size", "name", "fill"];
3230
3230
  const CustomIcon = _ref => {
3231
3231
  let {
3232
3232
  width = 14,
@@ -3235,7 +3235,7 @@ const CustomIcon = _ref => {
3235
3235
  name = "",
3236
3236
  fill = "none"
3237
3237
  } = _ref,
3238
- props = _objectWithoutProperties(_ref, _excluded$w);
3238
+ props = _objectWithoutProperties(_ref, _excluded$z);
3239
3239
  const conf = config$3[name];
3240
3240
  if (conf) {
3241
3241
  return /*#__PURE__*/jsxRuntime.jsx("svg", _objectSpread2(_objectSpread2({}, props), {}, {
@@ -9437,7 +9437,7 @@ createCommonjsModule(function (module, exports) {
9437
9437
  !function(e,n){module.exports=n();}(commonjsGlobal,(function(){return {name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var n=["th","st","nd","rd"],t=e%100;return "["+e+(n[(t-20)%10]||n[t]||n[0])+"]"}}}));
9438
9438
  });
9439
9439
 
9440
- const _excluded$v = ["view", "module", "scope", "form", "meta"];
9440
+ const _excluded$y = ["view", "module", "scope", "form", "meta"];
9441
9441
  dayjs__default["default"].extend(customParseFormat);
9442
9442
  dayjs__default["default"].extend(utc);
9443
9443
  dayjs__default["default"].extend(utc);
@@ -9811,7 +9811,7 @@ const filterCreateData = data => {
9811
9811
  form,
9812
9812
  meta
9813
9813
  } = data,
9814
- rest = _objectWithoutProperties(data, _excluded$v);
9814
+ rest = _objectWithoutProperties(data, _excluded$y);
9815
9815
  const _meta = isObjectEmpty(meta) ? undefined : meta;
9816
9816
  return _objectSpread2(_objectSpread2({}, rest), {}, {
9817
9817
  meta: _meta
@@ -10191,7 +10191,7 @@ SelectFilters.propTypes = {
10191
10191
  apiUrl: PropTypes__default["default"].string
10192
10192
  };
10193
10193
 
10194
- const _excluded$u = ["columns", "data", "defaultFilters", "style", "pagination", "loading", "onChange", "onFilterChange", "selectOptions", "filtersConfig", "rowSelection", "setShowFilters", "rowKey", "showFilters", "hideOnLoading", "sourcesKey", "className", "projects", "t", "selectedProject", "sourceId", "projectSources", "language", "scrollX", "apiUrl", "app", "doEmptyRows"];
10194
+ const _excluded$x = ["columns", "data", "defaultFilters", "style", "pagination", "loading", "onChange", "onFilterChange", "selectOptions", "filtersConfig", "rowSelection", "setShowFilters", "rowKey", "showFilters", "hideOnLoading", "sourcesKey", "className", "projects", "t", "selectedProject", "sourceId", "projectSources", "language", "scrollX", "apiUrl", "app", "doEmptyRows"];
10195
10195
  function DAFTable(_ref) {
10196
10196
  let {
10197
10197
  columns = [],
@@ -10222,7 +10222,7 @@ function DAFTable(_ref) {
10222
10222
  app,
10223
10223
  doEmptyRows
10224
10224
  } = _ref,
10225
- rest = _objectWithoutProperties(_ref, _excluded$u);
10225
+ rest = _objectWithoutProperties(_ref, _excluded$x);
10226
10226
  const [source, setSource] = React.useState([]);
10227
10227
  const projectData = (projects || []).find(p => p.id === selectedProject);
10228
10228
  const [filtersInit, setFiltersInit] = React.useState(!loading);
@@ -11139,7 +11139,7 @@ function ComponentWithFocus(_ref) {
11139
11139
  }
11140
11140
 
11141
11141
  var _templateObject$c;
11142
- const _excluded$t = ["size", "maxHeight", "containerHeight", "dataSource", "columns", "pagination", "doEmptyRows"];
11142
+ const _excluded$w = ["size", "maxHeight", "containerHeight", "dataSource", "columns", "pagination", "doEmptyRows"];
11143
11143
  function StickyTable(_ref) {
11144
11144
  let {
11145
11145
  size = "small",
@@ -11150,7 +11150,7 @@ function StickyTable(_ref) {
11150
11150
  pagination = false,
11151
11151
  doEmptyRows = true
11152
11152
  } = _ref,
11153
- props = _objectWithoutProperties(_ref, _excluded$t);
11153
+ props = _objectWithoutProperties(_ref, _excluded$w);
11154
11154
  const data = React__default["default"].useMemo(() => {
11155
11155
  if (!doEmptyRows) {
11156
11156
  return dataSource;
@@ -11646,7 +11646,7 @@ const BTN_SIZE = {
11646
11646
  LG: 'large'
11647
11647
  };
11648
11648
 
11649
- const _excluded$s = ["content", "size", "type", "icon", "onClick", "disabled", "loading", "title", "style", "className"];
11649
+ const _excluded$v = ["content", "size", "type", "icon", "onClick", "disabled", "loading", "title", "style", "className"];
11650
11650
  function DafButton(_ref) {
11651
11651
  let {
11652
11652
  content = '',
@@ -11660,7 +11660,7 @@ function DafButton(_ref) {
11660
11660
  style = {},
11661
11661
  className = ''
11662
11662
  } = _ref,
11663
- restProps = _objectWithoutProperties(_ref, _excluded$s);
11663
+ restProps = _objectWithoutProperties(_ref, _excluded$v);
11664
11664
  return /*#__PURE__*/jsxRuntime.jsx(antd.Button, _objectSpread2(_objectSpread2({
11665
11665
  icon: icon,
11666
11666
  type: type,
@@ -11779,12 +11779,12 @@ const Style$I = dt.div`
11779
11779
  }
11780
11780
  `;
11781
11781
 
11782
- const _excluded$r = ["children"];
11782
+ const _excluded$u = ["children"];
11783
11783
  const BorderedButton = _ref => {
11784
11784
  let {
11785
11785
  children
11786
11786
  } = _ref,
11787
- props = _objectWithoutProperties(_ref, _excluded$r);
11787
+ props = _objectWithoutProperties(_ref, _excluded$u);
11788
11788
  return /*#__PURE__*/jsxRuntime.jsx(Style$I, {
11789
11789
  className: "d-btn-cont",
11790
11790
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Button, _objectSpread2(_objectSpread2({}, props), {}, {
@@ -11924,12 +11924,12 @@ Badge.propTypes = {
11924
11924
  props: PropTypes__default["default"].object
11925
11925
  };
11926
11926
 
11927
- const _excluded$q = ["icon"];
11927
+ const _excluded$t = ["icon"];
11928
11928
  function GetIcon(_ref) {
11929
11929
  let {
11930
11930
  icon
11931
11931
  } = _ref,
11932
- props = _objectWithoutProperties(_ref, _excluded$q);
11932
+ props = _objectWithoutProperties(_ref, _excluded$t);
11933
11933
  let Icon = Icons__namespace.CloseOutlined;
11934
11934
  if (Icons__namespace[icon]) {
11935
11935
  Icon = Icons__namespace[icon];
@@ -12248,7 +12248,7 @@ GoToSelect.propTypes = {
12248
12248
  t: PropTypes__default["default"].func
12249
12249
  };
12250
12250
 
12251
- const _excluded$p = ["options", "defaultSelected", "onChange", "textWhenMultiple", "withCount", "oneAlwaysSelected", "canUnselectLast", "isAvatarGroup", "maxAvatarCount", "dropDownWidth", "topAvatarValue", "isSingle", "selectionType"];
12251
+ const _excluded$s = ["options", "defaultSelected", "onChange", "textWhenMultiple", "withCount", "oneAlwaysSelected", "canUnselectLast", "isAvatarGroup", "maxAvatarCount", "dropDownWidth", "topAvatarValue", "isSingle", "selectionType"];
12252
12252
  const {
12253
12253
  useToken: useToken$l
12254
12254
  } = antd.theme;
@@ -12341,7 +12341,7 @@ function Multiselect(_ref) {
12341
12341
  isSingle = false,
12342
12342
  selectionType = SELECTION_TYPES.DEFAULT
12343
12343
  } = _ref,
12344
- restProps = _objectWithoutProperties(_ref, _excluded$p);
12344
+ restProps = _objectWithoutProperties(_ref, _excluded$s);
12345
12345
  const {
12346
12346
  token
12347
12347
  } = useToken$l();
@@ -13057,7 +13057,7 @@ DAFHeader.propTypes = {
13057
13057
  filtersConfig: PropTypes__default["default"].any
13058
13058
  };
13059
13059
 
13060
- const _excluded$o = ["tabs", "onChange", "value", "className"];
13060
+ const _excluded$r = ["tabs", "onChange", "value", "className"];
13061
13061
  function TabsHeader(_ref) {
13062
13062
  let {
13063
13063
  tabs = [],
@@ -13065,7 +13065,7 @@ function TabsHeader(_ref) {
13065
13065
  value = '',
13066
13066
  className = 'mt-2'
13067
13067
  } = _ref,
13068
- rest = _objectWithoutProperties(_ref, _excluded$o);
13068
+ rest = _objectWithoutProperties(_ref, _excluded$r);
13069
13069
  return /*#__PURE__*/jsxRuntime.jsx("div", {
13070
13070
  className: formatClassname(['daf-tabs-header pl-6 pr-6', className]),
13071
13071
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Tabs, _objectSpread2({
@@ -13162,7 +13162,7 @@ DrawerHeader.propTypes = {
13162
13162
  tabsConfig: PropTypes__default["default"].any
13163
13163
  };
13164
13164
 
13165
- const _excluded$n = ["label", "onClick", "icon", "type", "tooltip", "disabled", "loading", "style", "className"];
13165
+ const _excluded$q = ["label", "onClick", "icon", "type", "tooltip", "disabled", "loading", "style", "className"];
13166
13166
  const useFooter = _ref => {
13167
13167
  let {
13168
13168
  leftContent,
@@ -13197,7 +13197,7 @@ const useFooter = _ref => {
13197
13197
  style = {},
13198
13198
  className = ""
13199
13199
  } = button,
13200
- restProps = _objectWithoutProperties(button, _excluded$n);
13200
+ restProps = _objectWithoutProperties(button, _excluded$q);
13201
13201
  return /*#__PURE__*/jsxRuntime.jsx(DafButton, _objectSpread2({
13202
13202
  content: label,
13203
13203
  type: type,
@@ -16102,7 +16102,7 @@ Widget.propTypes = {
16102
16102
  description: PropTypes__default["default"].string
16103
16103
  };
16104
16104
 
16105
- const _excluded$m = ["loading", "title", "image", "description", "imgAlt", "noDescriptionText"];
16105
+ const _excluded$p = ["loading", "title", "image", "description", "imgAlt", "noDescriptionText", "isPdf"];
16106
16106
  function ImageWidget(_ref) {
16107
16107
  let {
16108
16108
  loading = false,
@@ -16110,9 +16110,10 @@ function ImageWidget(_ref) {
16110
16110
  image,
16111
16111
  description,
16112
16112
  imgAlt,
16113
- noDescriptionText
16113
+ noDescriptionText,
16114
+ isPdf = false
16114
16115
  } = _ref,
16115
- props = _objectWithoutProperties(_ref, _excluded$m);
16116
+ props = _objectWithoutProperties(_ref, _excluded$p);
16116
16117
  return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
16117
16118
  loading: loading,
16118
16119
  title: title,
@@ -16144,7 +16145,7 @@ function ImageWidget(_ref) {
16144
16145
  })
16145
16146
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
16146
16147
  style: {
16147
- maxHeight: "195px",
16148
+ maxHeight: isPdf ? "100%" : "195px",
16148
16149
  paddingRight: "20px",
16149
16150
  overflowY: "auto",
16150
16151
  scrollbarWidth: "thin",
@@ -16169,7 +16170,7 @@ function ImageWidget(_ref) {
16169
16170
  }
16170
16171
 
16171
16172
  var _templateObject$9;
16172
- const _excluded$l = ["title", "loading", "data", "current", "defaultActiveTab", "widgetClassname", "className", "direction"];
16173
+ const _excluded$o = ["title", "loading", "data", "current", "defaultActiveTab", "widgetClassname", "className", "direction"];
16173
16174
  function FlowWidget(_ref) {
16174
16175
  let {
16175
16176
  title,
@@ -16181,7 +16182,7 @@ function FlowWidget(_ref) {
16181
16182
  className,
16182
16183
  direction = "horizontal"
16183
16184
  } = _ref,
16184
- rest = _objectWithoutProperties(_ref, _excluded$l);
16185
+ rest = _objectWithoutProperties(_ref, _excluded$o);
16185
16186
  const [activeTab, setActiveTab] = React.useState();
16186
16187
  React.useEffect(() => {
16187
16188
  if (defaultActiveTab) {
@@ -19240,7 +19241,7 @@ Map$3.propTypes = {
19240
19241
  nameAsSiderTitle: PropTypes__default["default"].bool
19241
19242
  };
19242
19243
 
19243
- const _excluded$k = ["isExpanded", "shouldRenderMap", "renderKey", "title", "loading", "t", "user", "data", "height", "widgetConfig"];
19244
+ const _excluded$n = ["isExpanded", "shouldRenderMap", "renderKey", "title", "loading", "t", "user", "data", "height", "widgetConfig"];
19244
19245
  function InExpandableWidgetMap(_ref) {
19245
19246
  let {
19246
19247
  isExpanded,
@@ -19254,7 +19255,7 @@ function InExpandableWidgetMap(_ref) {
19254
19255
  height,
19255
19256
  widgetConfig
19256
19257
  } = _ref,
19257
- rest = _objectWithoutProperties(_ref, _excluded$k);
19258
+ rest = _objectWithoutProperties(_ref, _excluded$n);
19258
19259
  const [mapKey, setMapKey] = React.useState(0);
19259
19260
  const [isMapReady, setIsMapReady] = React.useState(false);
19260
19261
  React.useEffect(() => {
@@ -21454,14 +21455,14 @@ const MapConfig = ({
21454
21455
  });
21455
21456
  };
21456
21457
 
21457
- const _excluded$j = ["config", "title", "loading"];
21458
+ const _excluded$m = ["config", "title", "loading"];
21458
21459
  const Details = _ref => {
21459
21460
  let {
21460
21461
  config = [],
21461
21462
  title,
21462
21463
  loading = false
21463
21464
  } = _ref,
21464
- rest = _objectWithoutProperties(_ref, _excluded$j);
21465
+ rest = _objectWithoutProperties(_ref, _excluded$m);
21465
21466
  return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
21466
21467
  className: "with-border-header h-w-btn-header card",
21467
21468
  loading: loading,
@@ -21477,14 +21478,14 @@ const Details = _ref => {
21477
21478
  }));
21478
21479
  };
21479
21480
 
21480
- const _excluded$i = ["config", "title", "loading"];
21481
+ const _excluded$l = ["config", "title", "loading"];
21481
21482
  const KeyIndicatorsDetails = _ref => {
21482
21483
  let {
21483
21484
  config,
21484
21485
  title,
21485
21486
  loading = false
21486
21487
  } = _ref,
21487
- rest = _objectWithoutProperties(_ref, _excluded$i);
21488
+ rest = _objectWithoutProperties(_ref, _excluded$l);
21488
21489
  return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
21489
21490
  className: "with-border-header h-w-btn-header",
21490
21491
  title: title,
@@ -21514,7 +21515,7 @@ const Style$y = dt.div`
21514
21515
  }
21515
21516
  `;
21516
21517
 
21517
- const _excluded$h = ["children", "config", "detailsTitle", "firstColumnWidth"];
21518
+ const _excluded$k = ["children", "config", "detailsTitle", "firstColumnWidth"];
21518
21519
  const DetailsSection = _ref => {
21519
21520
  let {
21520
21521
  children,
@@ -21522,7 +21523,7 @@ const DetailsSection = _ref => {
21522
21523
  detailsTitle,
21523
21524
  firstColumnWidth = "250px"
21524
21525
  } = _ref,
21525
- rest = _objectWithoutProperties(_ref, _excluded$h);
21526
+ rest = _objectWithoutProperties(_ref, _excluded$k);
21526
21527
  return /*#__PURE__*/jsxRuntime.jsx(Style$y, {
21527
21528
  firstColumnWidth: firstColumnWidth,
21528
21529
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -21698,14 +21699,14 @@ const getGoalConfig = () => {
21698
21699
  };
21699
21700
 
21700
21701
  var _templateObject$8;
21701
- const _excluded$g = ["title", "activeSdgGoals", "t"];
21702
+ const _excluded$j = ["title", "activeSdgGoals", "t"];
21702
21703
  function SDGWidget(_ref) {
21703
21704
  let {
21704
21705
  title = "Sustainable Development Goals",
21705
21706
  activeSdgGoals = [],
21706
21707
  t = key => key
21707
21708
  } = _ref,
21708
- props = _objectWithoutProperties(_ref, _excluded$g);
21709
+ props = _objectWithoutProperties(_ref, _excluded$j);
21709
21710
  const sdgConfig = getGoalConfig();
21710
21711
  return /*#__PURE__*/jsxRuntime.jsx(Widget, _objectSpread2(_objectSpread2({
21711
21712
  title: title,
@@ -21923,7 +21924,7 @@ function SdgList({
21923
21924
  });
21924
21925
  }
21925
21926
 
21926
- const _excluded$f = ["title", "description", "onLinkClick", "image", "linkIcon", "sdgList", "items", "onCardClick", "hideSDGList", "t"];
21927
+ const _excluded$i = ["title", "description", "onLinkClick", "image", "linkIcon", "sdgList", "items", "onCardClick", "hideSDGList", "t"];
21927
21928
  const {
21928
21929
  Meta
21929
21930
  } = antd.Card;
@@ -21943,7 +21944,7 @@ function ProjectWidget(_ref) {
21943
21944
  hideSDGList = false,
21944
21945
  t = x => x
21945
21946
  } = _ref,
21946
- props = _objectWithoutProperties(_ref, _excluded$f);
21947
+ props = _objectWithoutProperties(_ref, _excluded$i);
21947
21948
  const [isHovered, setIsHovered] = React__default["default"].useState(false);
21948
21949
  const {
21949
21950
  token
@@ -22188,13 +22189,13 @@ const WidgetCard = _ref => {
22188
22189
  });
22189
22190
  };
22190
22191
 
22191
- const _excluded$e = ["title", "children"];
22192
+ const _excluded$h = ["title", "children"];
22192
22193
  const CarouselWidget = /*#__PURE__*/React.forwardRef((_ref, ref) => {
22193
22194
  let {
22194
22195
  title,
22195
22196
  children
22196
22197
  } = _ref,
22197
- rest = _objectWithoutProperties(_ref, _excluded$e);
22198
+ rest = _objectWithoutProperties(_ref, _excluded$h);
22198
22199
  /**
22199
22200
  * Handles carousel slide change events
22200
22201
  * @param {number} currentSlide - The index of the current slide after change
@@ -22315,7 +22316,7 @@ const StyledCarouselWrapper = dt.div`
22315
22316
 
22316
22317
  `;
22317
22318
 
22318
- const _excluded$d = ["title", "images", "height", "fallback", "activeDotColor", "inactiveDotColor", "arrowIconColor", "arrowHoverIconColor", "customArrows"];
22319
+ const _excluded$g = ["title", "images", "height", "fallback", "activeDotColor", "inactiveDotColor", "arrowIconColor", "arrowHoverIconColor", "customArrows"];
22319
22320
  function ImageCarousel(_ref) {
22320
22321
  let {
22321
22322
  title,
@@ -22328,7 +22329,7 @@ function ImageCarousel(_ref) {
22328
22329
  arrowHoverIconColor = "#1890ff",
22329
22330
  customArrows = false
22330
22331
  } = _ref,
22331
- rest = _objectWithoutProperties(_ref, _excluded$d);
22332
+ rest = _objectWithoutProperties(_ref, _excluded$g);
22332
22333
  const [previewVisible, setPreviewVisible] = React.useState(false);
22333
22334
  const [current, setCurrent] = React.useState(0);
22334
22335
  const carouselRef = React.useRef(null);
@@ -27676,7 +27677,7 @@ const RepeatableModals = ({
27676
27677
  }) : null;
27677
27678
  };
27678
27679
 
27679
- const _excluded$c = ["viewGroup"],
27680
+ const _excluded$f = ["viewGroup"],
27680
27681
  _excluded2 = ["label", "icon", "position"];
27681
27682
  const Content = _ref => {
27682
27683
  let {
@@ -27745,7 +27746,7 @@ const Content = _ref => {
27745
27746
  if (groups[gKey].viewGroup === key) {
27746
27747
  // eslint-disable-next-line no-unused-vars
27747
27748
  const _groups$gKey = groups[gKey],
27748
- gCfg = _objectWithoutProperties(_groups$gKey, _excluded$c);
27749
+ gCfg = _objectWithoutProperties(_groups$gKey, _excluded$f);
27749
27750
  items[gKey] = gCfg;
27750
27751
  }
27751
27752
  return items;
@@ -43924,7 +43925,7 @@ const getGrouContent = (form, values, i, formId, excludedKeys, getData, setValue
43924
43925
  });
43925
43926
  };
43926
43927
 
43927
- const _excluded$b = ["icon"];
43928
+ const _excluded$e = ["icon"];
43928
43929
  function DynamicForm(_ref) {
43929
43930
  var _data$meta;
43930
43931
  let {
@@ -44479,7 +44480,7 @@ function DynamicForm(_ref) {
44479
44480
  let {
44480
44481
  icon: Icon
44481
44482
  } = _ref3,
44482
- form = _objectWithoutProperties(_ref3, _excluded$b);
44483
+ form = _objectWithoutProperties(_ref3, _excluded$e);
44483
44484
  return /*#__PURE__*/jsxRuntime.jsxs(antd.Button, {
44484
44485
  type: "link",
44485
44486
  size: "large",
@@ -44755,7 +44756,7 @@ function MultiBarProgress(_ref) {
44755
44756
  }
44756
44757
  const Style$r = dt.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n\theight: 6px;\n\twidth: 100%;\n\tbackground: var(--base-gray-40);\n\tborder-radius: 8px;\n\tdisplay: flex;\n\toverflow: hidden;\n\tdiv {\n\t\theight: 100%;\n\t}\n"])));
44757
44758
 
44758
- const _excluded$a = ["tooltipTitle", "percentage", "strokeColor", "showInfo"];
44759
+ const _excluded$d = ["tooltipTitle", "percentage", "strokeColor", "showInfo"];
44759
44760
  function MultiColorProgressBar(_ref) {
44760
44761
  let {
44761
44762
  tooltipTitle,
@@ -44767,7 +44768,7 @@ function MultiColorProgressBar(_ref) {
44767
44768
  },
44768
44769
  showInfo = false
44769
44770
  } = _ref,
44770
- rest = _objectWithoutProperties(_ref, _excluded$a);
44771
+ rest = _objectWithoutProperties(_ref, _excluded$d);
44771
44772
  return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
44772
44773
  title: tooltipTitle,
44773
44774
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Progress, _objectSpread2({
@@ -44814,7 +44815,7 @@ const SideIcon = _ref3 => {
44814
44815
  });
44815
44816
  };
44816
44817
 
44817
- const _excluded$9 = ["value", "options", "onChange", "className", "width"];
44818
+ const _excluded$c = ["value", "options", "onChange", "className", "width"];
44818
44819
  const ProgressTabs = _ref => {
44819
44820
  let {
44820
44821
  value = 'setup',
@@ -44835,7 +44836,7 @@ const ProgressTabs = _ref => {
44835
44836
  className = '',
44836
44837
  width = '100%'
44837
44838
  } = _ref,
44838
- rest = _objectWithoutProperties(_ref, _excluded$9);
44839
+ rest = _objectWithoutProperties(_ref, _excluded$c);
44839
44840
  // Transform options to include icons and handle disabled state
44840
44841
  const transformedOptions = options.map(option => _objectSpread2(_objectSpread2({}, option), {}, {
44841
44842
  label: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -45742,6 +45743,30 @@ dt.div`
45742
45743
  }
45743
45744
 
45744
45745
  `;
45746
+ const LegendStyle = dt.ul`
45747
+ list-style: none;
45748
+ margin: var(--size-lg) 0 0;
45749
+ padding: 0;
45750
+ display: flex;
45751
+ flex-wrap: wrap;
45752
+ gap: 12px;
45753
+ justify-content: center;
45754
+
45755
+ li {
45756
+ display: flex;
45757
+ align-items: center;
45758
+ gap: 8px;
45759
+ font-size: 14px;
45760
+ color: #344054;
45761
+ white-space: nowrap;
45762
+
45763
+ .legend-marker {
45764
+ width: 12px;
45765
+ height: 12px;
45766
+ border-radius: 50%;
45767
+ }
45768
+ }
45769
+ `;
45745
45770
 
45746
45771
  const Chart = _ref => {
45747
45772
  let {
@@ -45756,7 +45781,8 @@ const Chart = _ref => {
45756
45781
  xOffset = 230,
45757
45782
  mouseXOffset = 30,
45758
45783
  mouseYOffset = 50,
45759
- children = null
45784
+ children = null,
45785
+ legend
45760
45786
  } = _ref;
45761
45787
  const [hoveredGroup, setHoveredGroup] = React.useState(null);
45762
45788
  const svgRef = React.useRef();
@@ -45782,10 +45808,36 @@ const Chart = _ref => {
45782
45808
  setMouseX(x);
45783
45809
  if (hoveredGroup === null) {
45784
45810
  setHoveredGroup(_objectSpread2(_objectSpread2({}, hG), {}, {
45785
- id
45811
+ id,
45812
+ fromLegend: false
45786
45813
  }));
45787
45814
  }
45788
45815
  }, [svgRef, containerRef, hoveredGroup, mouseLocked]);
45816
+ const legendConfig = React.useMemo(() => {
45817
+ if (legend === undefined || legend === null || legend === false) {
45818
+ return null;
45819
+ }
45820
+ if (legend === true) {
45821
+ return {};
45822
+ }
45823
+ if (typeof legend === 'object') {
45824
+ return legend;
45825
+ }
45826
+ return null;
45827
+ }, [legend]);
45828
+ const legendItems = React.useMemo(() => {
45829
+ const items = Array.isArray(data) ? data : [];
45830
+ if (!legendConfig) {
45831
+ return [];
45832
+ }
45833
+ const {
45834
+ itemName
45835
+ } = legendConfig;
45836
+ const getName = typeof (itemName === null || itemName === void 0 ? void 0 : itemName.formatter) === 'function' ? (item, index) => itemName.formatter(item.name || item.label || "Item ".concat(index + 1), item, index) : (item, index) => item.name || item.label || "Item ".concat(index + 1);
45837
+ return items.map((item, index) => _objectSpread2(_objectSpread2({}, item), {}, {
45838
+ label: getName(item, index)
45839
+ }));
45840
+ }, [data, legendConfig]);
45789
45841
  const dataToShow = React.useMemo(() => {
45790
45842
  let cumulativePercent = 0;
45791
45843
  return data.map((d, i) => {
@@ -45870,7 +45922,60 @@ const Chart = _ref => {
45870
45922
  onMouseMove: e => onMouseLeaveHandler(e, {}, 0)
45871
45923
  } : {}), {}, {
45872
45924
  children: dataToShow
45873
- })), tooltip, children]
45925
+ })), tooltip, !!legendConfig && legendItems.length > 0 && /*#__PURE__*/jsxRuntime.jsx(LegendStyle, {
45926
+ className: legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.className,
45927
+ "data-position": (legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.position) || 'bottom',
45928
+ children: legendItems.map((item, index) => {
45929
+ var _item$id;
45930
+ const markerStyle = (legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.marker) || {};
45931
+ return /*#__PURE__*/jsxRuntime.jsxs("li", {
45932
+ className: item.className,
45933
+ onMouseEnter: () => {
45934
+ if (mouseLocked) {
45935
+ return;
45936
+ }
45937
+ setHoveredGroup(_objectSpread2(_objectSpread2({}, item), {}, {
45938
+ id: index,
45939
+ fromLegend: true
45940
+ }));
45941
+ },
45942
+ onMouseLeave: () => {
45943
+ if (mouseLocked) {
45944
+ return;
45945
+ }
45946
+ setHoveredGroup(null);
45947
+ },
45948
+ onClick: () => {
45949
+ if (!changeOpacityOnHover) {
45950
+ return;
45951
+ }
45952
+ if ((hoveredGroup === null || hoveredGroup === void 0 ? void 0 : hoveredGroup.id) === index && hoveredGroup !== null && hoveredGroup !== void 0 && hoveredGroup.fromLegend) {
45953
+ setHoveredGroup(null);
45954
+ setMouseLocked(false);
45955
+ return;
45956
+ }
45957
+ setHoveredGroup(_objectSpread2(_objectSpread2({}, item), {}, {
45958
+ id: index,
45959
+ fromLegend: true
45960
+ }));
45961
+ setMouseLocked(prev => !prev);
45962
+ },
45963
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
45964
+ className: "legend-marker",
45965
+ style: {
45966
+ backgroundColor: item.color,
45967
+ width: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.size) || 12,
45968
+ height: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.size) || 12,
45969
+ borderRadius: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.shape) === 'square' ? 2 : '50%',
45970
+ border: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.style) === 'line' ? "2px solid ".concat(item.color) : undefined,
45971
+ background: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.style) === 'line' ? 'transparent' : item.color
45972
+ }
45973
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
45974
+ children: item.label
45975
+ })]
45976
+ }, (_item$id = item.id) !== null && _item$id !== void 0 ? _item$id : index);
45977
+ })
45978
+ }), children]
45874
45979
  });
45875
45980
  };
45876
45981
  Chart.propTypes = {
@@ -47148,7 +47253,7 @@ const renderRows = ({
47148
47253
  });
47149
47254
  };
47150
47255
 
47151
- const _excluded$8 = ["page", "pageSize"];
47256
+ const _excluded$b = ["page", "pageSize"];
47152
47257
  function DataStoreTable$1(_ref) {
47153
47258
  let {
47154
47259
  mod,
@@ -47246,7 +47351,7 @@ function DataStoreTable$1(_ref) {
47246
47351
  page,
47247
47352
  pageSize
47248
47353
  } = activeFilters,
47249
- rest = _objectWithoutProperties(activeFilters, _excluded$8);
47354
+ rest = _objectWithoutProperties(activeFilters, _excluded$b);
47250
47355
  const params = _objectSpread2({
47251
47356
  pagination: {
47252
47357
  page,
@@ -47566,7 +47671,7 @@ const getLinkedColumns = ({
47566
47671
  ellipsis: true
47567
47672
  }];
47568
47673
 
47569
- const _excluded$7 = ["administrativeLevel1", "administrativeLevel2"];
47674
+ const _excluded$a = ["administrativeLevel1", "administrativeLevel2"];
47570
47675
  function DataStoreView(_ref) {
47571
47676
  let {
47572
47677
  mod,
@@ -47629,7 +47734,7 @@ function DataStoreView(_ref) {
47629
47734
  administrativeLevel1,
47630
47735
  administrativeLevel2
47631
47736
  } = _ref2,
47632
- rest = _objectWithoutProperties(_ref2, _excluded$7);
47737
+ rest = _objectWithoutProperties(_ref2, _excluded$a);
47633
47738
  const levels = [administrativeLevel1, administrativeLevel2].filter(p => !!p);
47634
47739
  let levelsRes = {
47635
47740
  data: []
@@ -49107,14 +49212,14 @@ const TabsStyled = dt(antd.Tabs)`
49107
49212
 
49108
49213
  `;
49109
49214
 
49110
- const _excluded$6 = ["defaultActiveKey", "items", "onChange"];
49215
+ const _excluded$9 = ["defaultActiveKey", "items", "onChange"];
49111
49216
  const StyledTabs = _ref => {
49112
49217
  let {
49113
49218
  defaultActiveKey,
49114
49219
  items,
49115
49220
  onChange
49116
49221
  } = _ref,
49117
- rest = _objectWithoutProperties(_ref, _excluded$6);
49222
+ rest = _objectWithoutProperties(_ref, _excluded$9);
49118
49223
  return /*#__PURE__*/jsxRuntime.jsx(TabsStyled, _objectSpread2({
49119
49224
  defaultActiveKey: defaultActiveKey,
49120
49225
  items: items,
@@ -49180,7 +49285,7 @@ function AvatarGroup(_ref) {
49180
49285
  });
49181
49286
  }
49182
49287
 
49183
- const _excluded$5 = ["t", "open", "title", "children", "onClose", "onSuccess", "cancelBtnText", "saveBtnText", "className", "loading", "disabled", "withModalFormWrapper"];
49288
+ const _excluded$8 = ["t", "open", "title", "children", "onClose", "onSuccess", "cancelBtnText", "saveBtnText", "className", "loading", "disabled", "withModalFormWrapper"];
49184
49289
  function Modal(_ref) {
49185
49290
  let {
49186
49291
  t = text => text,
@@ -49196,7 +49301,7 @@ function Modal(_ref) {
49196
49301
  disabled = false,
49197
49302
  withModalFormWrapper = true
49198
49303
  } = _ref,
49199
- props = _objectWithoutProperties(_ref, _excluded$5);
49304
+ props = _objectWithoutProperties(_ref, _excluded$8);
49200
49305
  return /*#__PURE__*/jsxRuntime.jsxs(antd.Modal, _objectSpread2(_objectSpread2({
49201
49306
  width: 650,
49202
49307
  footer: null,
@@ -49239,6 +49344,7 @@ const Container$1 = dt.div`
49239
49344
  width: calc(100% - 48px);
49240
49345
  `;
49241
49346
 
49347
+ const _excluded$7 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "isPercentage", "seriesField", "formattedYAxis", "formattedXAxis", "color", "height", "t", "isPdf", "extraLegendConfig"];
49242
49348
  const {
49243
49349
  useToken: useToken$e
49244
49350
  } = antd.theme;
@@ -49308,26 +49414,31 @@ const {
49308
49414
 
49309
49415
  function BarChart(_ref) {
49310
49416
  let {
49311
- data = [],
49312
- xFieldKey = "value",
49313
- yFieldKey = "label",
49314
- renderTooltipContent,
49315
- tooltipConfig = {},
49316
- animated = false,
49317
- isStack = false,
49318
- isGroup = false,
49319
- isPercentage = false,
49320
- seriesField,
49321
- formattedYAxis = s => s,
49322
- formattedXAxis = s => s,
49323
- color,
49324
- height
49325
- } = _ref;
49417
+ data = [],
49418
+ xFieldKey = "value",
49419
+ yFieldKey = "label",
49420
+ renderTooltipContent,
49421
+ tooltipConfig = {},
49422
+ animated = false,
49423
+ isStack = false,
49424
+ isGroup = false,
49425
+ isPercentage = false,
49426
+ seriesField,
49427
+ formattedYAxis = s => s,
49428
+ formattedXAxis = s => s,
49429
+ color,
49430
+ height,
49431
+ t = s => s,
49432
+ isPdf = false,
49433
+ extraLegendConfig = {}
49434
+ } = _ref;
49435
+ _objectWithoutProperties(_ref, _excluded$7);
49326
49436
  const containerRef = React__default["default"].useRef(null);
49327
49437
  const chartRef = React__default["default"].useRef(null);
49328
49438
  const {
49329
49439
  token
49330
49440
  } = useToken$e();
49441
+ const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49331
49442
  React__default["default"].useEffect(() => {
49332
49443
  if (!containerRef.current) {
49333
49444
  return;
@@ -49358,7 +49469,12 @@ function BarChart(_ref) {
49358
49469
  isStack,
49359
49470
  color: color || token.colorPrimary7,
49360
49471
  seriesField,
49361
- legend: false,
49472
+ legend: isPdf ? _objectSpread2({
49473
+ itemName: {
49474
+ formatter: text => t(text)
49475
+ },
49476
+ position: 'bottom'
49477
+ }, extraLegendConfig) : hasLegendConfig || false,
49362
49478
  animation: animated
49363
49479
  };
49364
49480
  if (!chartRef.current) {
@@ -49388,6 +49504,7 @@ function BarChart(_ref) {
49388
49504
  });
49389
49505
  }
49390
49506
 
49507
+ const _excluded$6 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isSmooth", "seriesField", "isArea", "formattedYAxis", "formattedXAxis", "color", "isPercentage", "height", "autoHideXLabel", "t", "isPdf", "extraLegendConfig"];
49391
49508
  const {
49392
49509
  useToken: useToken$d
49393
49510
  } = antd.theme;
@@ -49454,27 +49571,32 @@ const {
49454
49571
 
49455
49572
  function LineChart(_ref) {
49456
49573
  let {
49457
- data = [],
49458
- xFieldKey = "label",
49459
- yFieldKey = "value",
49460
- renderTooltipContent,
49461
- tooltipConfig = {},
49462
- animated = false,
49463
- isSmooth = false,
49464
- seriesField,
49465
- isArea = false,
49466
- formattedYAxis = s => s,
49467
- formattedXAxis = s => s,
49468
- color,
49469
- isPercentage = false,
49470
- height,
49471
- autoHideXLabel = true
49472
- } = _ref;
49574
+ data = [],
49575
+ xFieldKey = "label",
49576
+ yFieldKey = "value",
49577
+ renderTooltipContent,
49578
+ tooltipConfig = {},
49579
+ animated = false,
49580
+ isSmooth = false,
49581
+ seriesField,
49582
+ isArea = false,
49583
+ formattedYAxis = s => s,
49584
+ formattedXAxis = s => s,
49585
+ color,
49586
+ isPercentage = false,
49587
+ height,
49588
+ autoHideXLabel = true,
49589
+ t = s => s,
49590
+ isPdf = false,
49591
+ extraLegendConfig = {}
49592
+ } = _ref;
49593
+ _objectWithoutProperties(_ref, _excluded$6);
49473
49594
  const containerRef = React__default["default"].useRef(null);
49474
49595
  const chartRef = React__default["default"].useRef(null);
49475
49596
  const {
49476
49597
  token
49477
49598
  } = useToken$d();
49599
+ const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49478
49600
  React__default["default"].useEffect(() => {
49479
49601
  if (!containerRef.current) {
49480
49602
  return;
@@ -49518,7 +49640,12 @@ function LineChart(_ref) {
49518
49640
  fillOpacity: isArea ? 0.15 : 0
49519
49641
  }
49520
49642
  },
49521
- legend: false
49643
+ legend: isPdf ? _objectSpread2({
49644
+ itemName: {
49645
+ formatter: text => t(text)
49646
+ },
49647
+ position: 'bottom'
49648
+ }, extraLegendConfig) : hasLegendConfig || false
49522
49649
  };
49523
49650
  if (!chartRef.current) {
49524
49651
  chartRef.current = new g2plot.Line(containerRef.current, config);
@@ -49526,7 +49653,7 @@ function LineChart(_ref) {
49526
49653
  } else {
49527
49654
  chartRef.current.update(config);
49528
49655
  }
49529
- }, [data, containerRef.current, isSmooth, animated, xFieldKey, yFieldKey, seriesField, isArea, color, token.colorPrimary7, formattedXAxis, formattedYAxis, isPercentage, renderTooltipContent, tooltipConfig]);
49656
+ }, [data, containerRef.current, isSmooth, animated, xFieldKey, yFieldKey, seriesField, isArea, color, token.colorPrimary7, formattedXAxis, formattedYAxis, isPercentage, renderTooltipContent, tooltipConfig, isPdf, extraLegendConfig, t]);
49530
49657
  React__default["default"].useEffect(() => {
49531
49658
  return () => {
49532
49659
  if (chartRef.current) {
@@ -49547,6 +49674,7 @@ function LineChart(_ref) {
49547
49674
  });
49548
49675
  }
49549
49676
 
49677
+ const _excluded$5 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "seriesField", "isPercentage", "showBackground", "formattedYAxis", "formattedXAxis", "color", "height", "groupField", "t", "isPdf", "extraLegendConfig"];
49550
49678
  const {
49551
49679
  useToken: useToken$c
49552
49680
  } = antd.theme;
@@ -49615,28 +49743,33 @@ const {
49615
49743
 
49616
49744
  function ColumnChart(_ref) {
49617
49745
  let {
49618
- data = [],
49619
- xFieldKey = "label",
49620
- yFieldKey = "value",
49621
- renderTooltipContent,
49622
- tooltipConfig = {},
49623
- animated = false,
49624
- isStack = false,
49625
- isGroup = false,
49626
- seriesField,
49627
- isPercentage = false,
49628
- showBackground = false,
49629
- formattedYAxis = s => s,
49630
- formattedXAxis = s => s,
49631
- color,
49632
- height,
49633
- groupField
49634
- } = _ref;
49746
+ data = [],
49747
+ xFieldKey = "label",
49748
+ yFieldKey = "value",
49749
+ renderTooltipContent,
49750
+ tooltipConfig = {},
49751
+ animated = false,
49752
+ isStack = false,
49753
+ isGroup = false,
49754
+ seriesField,
49755
+ isPercentage = false,
49756
+ showBackground = false,
49757
+ formattedYAxis = s => s,
49758
+ formattedXAxis = s => s,
49759
+ color,
49760
+ height,
49761
+ groupField,
49762
+ t = s => s,
49763
+ isPdf = false,
49764
+ extraLegendConfig = {}
49765
+ } = _ref;
49766
+ _objectWithoutProperties(_ref, _excluded$5);
49635
49767
  const containerRef = React__default["default"].useRef(null);
49636
49768
  const chartRef = React__default["default"].useRef(null);
49637
49769
  const {
49638
49770
  token
49639
49771
  } = useToken$c();
49772
+ const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49640
49773
  React__default["default"].useEffect(() => {
49641
49774
  if (!containerRef.current) {
49642
49775
  return;
@@ -49671,7 +49804,12 @@ function ColumnChart(_ref) {
49671
49804
  formatter: isPercentage ? v => "".concat(v).replace(/\d{1,3}(?=(\d{3})+$)/g, s => "".concat(s, ",")) + " %" : formattedYAxis
49672
49805
  }
49673
49806
  }),
49674
- legend: false
49807
+ legend: isPdf ? _objectSpread2({
49808
+ itemName: {
49809
+ formatter: text => t(text)
49810
+ },
49811
+ position: 'bottom'
49812
+ }, extraLegendConfig) : hasLegendConfig || false
49675
49813
  }, showBackground && isPercentage && {
49676
49814
  columnBackground: {
49677
49815
  style: {}
@@ -49859,7 +49997,7 @@ function RadialBarChart(_ref) {
49859
49997
  });
49860
49998
  }
49861
49999
 
49862
- const _excluded$4 = ["data", "angleField", "colorField", "color", "height", "innerRadius", "radius", "legend", "label", "statistic", "tooltip", "renderTooltipContent", "tooltipConfig", "meta", "animation"];
50000
+ const _excluded$4 = ["data", "angleField", "colorField", "color", "height", "innerRadius", "radius", "legend", "label", "statistic", "tooltip", "renderTooltipContent", "tooltipConfig", "meta", "animation", "t", "isPdf", "extraLegendConfig"];
49863
50001
  const {
49864
50002
  useToken: useToken$a
49865
50003
  } = antd.theme;
@@ -49929,7 +50067,10 @@ function DonutPie(_ref) {
49929
50067
  renderTooltipContent,
49930
50068
  tooltipConfig = {},
49931
50069
  meta,
49932
- animation = false
50070
+ animation = false,
50071
+ t = s => s,
50072
+ isPdf = false,
50073
+ extraLegendConfig = {}
49933
50074
  } = _ref,
49934
50075
  rest = _objectWithoutProperties(_ref, _excluded$4);
49935
50076
  const containerRef = React.useRef(null);
@@ -49937,6 +50078,7 @@ function DonutPie(_ref) {
49937
50078
  const {
49938
50079
  token
49939
50080
  } = useToken$a();
50081
+ const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49940
50082
 
49941
50083
  // Memoize processed data for progress mode
49942
50084
  const processedData = React.useMemo(() => {
@@ -49962,7 +50104,12 @@ function DonutPie(_ref) {
49962
50104
  color: color || [token.colorPrimary7, "#E8EDF3"],
49963
50105
  radius,
49964
50106
  innerRadius,
49965
- legend,
50107
+ legend: isPdf ? _objectSpread2({
50108
+ itemName: {
50109
+ formatter: text => t(text)
50110
+ },
50111
+ position: 'bottom'
50112
+ }, extraLegendConfig) : hasLegendConfig || false,
49966
50113
  label,
49967
50114
  statistic,
49968
50115
  tooltip: tooltipOption,
@@ -50391,7 +50538,7 @@ function StackChart(_ref) {
50391
50538
  }));
50392
50539
  }
50393
50540
 
50394
- const _excluded$3 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "fillOpacity", "height"];
50541
+ const _excluded$3 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "fillOpacity", "height", "t", "isPdf", "extraLegendConfig"];
50395
50542
  const {
50396
50543
  useToken: useToken$8
50397
50544
  } = antd.theme;
@@ -50462,7 +50609,10 @@ const AreaChart = _ref => {
50462
50609
  formattedYAxis = s => s,
50463
50610
  formattedXAxis = s => s,
50464
50611
  fillOpacity = 0.7,
50465
- height
50612
+ height,
50613
+ t = s => s,
50614
+ isPdf = false,
50615
+ extraLegendConfig = {}
50466
50616
  } = _ref,
50467
50617
  rest = _objectWithoutProperties(_ref, _excluded$3);
50468
50618
  const containerRef = React.useRef(null);
@@ -50470,6 +50620,7 @@ const AreaChart = _ref => {
50470
50620
  const {
50471
50621
  token
50472
50622
  } = useToken$8();
50623
+ const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
50473
50624
  React.useEffect(() => {
50474
50625
  if (!containerRef.current) {
50475
50626
  return;
@@ -50504,7 +50655,12 @@ const AreaChart = _ref => {
50504
50655
  areaStyle: {
50505
50656
  fillOpacity
50506
50657
  },
50507
- legend: false,
50658
+ legend: isPdf ? _objectSpread2({
50659
+ itemName: {
50660
+ formatter: text => t(text)
50661
+ },
50662
+ position: 'bottom'
50663
+ }, extraLegendConfig) : hasLegendConfig || false,
50508
50664
  line: false
50509
50665
  }, rest);
50510
50666
  if (!chartRef.current) {