ztxkui 4.3.1 → 4.3.2

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.
package/dist/App.js CHANGED
@@ -1209,7 +1209,7 @@ function App() {
1209
1209
  React.createElement(DetailList, { records: inspectionDetail, labelWidth: 10, labelAlign: "center", apiBaseUrl: "http://192.168.0.83:8888", fileBaseUrl: "http://192.168.0.83:88", previewBtnDisable: true, hasManOrDate: true, hasSignArea: true }),
1210
1210
  React.createElement(DetailList, { records: inspectionDetail, labelWidth: 10, labelAlign: "right", apiBaseUrl: "http://192.168.0.83:8888", fileBaseUrl: "http://192.168.0.83:88", previewBtnDisable: true, hasManOrDate: true, hasSignArea: true }),
1211
1211
  React.createElement(DetailList, { apiBaseUrl: "http://192.168.0.83:8888", fileBaseUrl: "http://192.168.0.83:88", hasSignArea: true, isDark: true, labelWidth: 10 }),
1212
- inspectionData.map(function (item) {
1212
+ inspectionData.map(function (item, index) {
1213
1213
  var inspectionDesc = [
1214
1214
  { title: '巡检人', content: item.inspectionMan },
1215
1215
  { title: '上传时间', content: item.inspectionTime },
@@ -1228,7 +1228,7 @@ function App() {
1228
1228
  return itemObj;
1229
1229
  });
1230
1230
  }
1231
- return (React.createElement(DetailCard, { title: item.inspectionName, desc: inspectionDesc, records: records }));
1231
+ return (React.createElement(DetailCard, { title: item.inspectionName, desc: inspectionDesc, records: records, key: index }));
1232
1232
  }),
1233
1233
  React.createElement(Upload, { method: "post", headers: {
1234
1234
  'Zmdms-Auth': 'bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJtZW1iZXJfdHlwZSI6MSwiaGFuZGxlX2hyX3Bob25lIjpudWxsLCJpbmR1Y3Rpb25fc291cmNlX3R5cGUiOm51bGwsInJlc3VtZV9kYXRlIjpudWxsLCJ1c2VyX25hbWUiOiJZRzIxMDE0IiwiaW10X2lkIjpudWxsLCJyZWFsX25hbWUiOiLpmYjkuprpm4QiLCJjbGllbnRfdHlwZSI6IndlYiIsImRhdGFfcm9sZV9pZCI6IjEzNDM0OTA2ODYyNjAyMjgwOTcsMTM0NTk3ODUwNTMwMjA1Njk2MiIsImNsaWVudF9pZCI6InN3b3JkIiwiZW1wbG95bWVudF9mb3JtX3R5cGUiOm51bGwsInVzZXJfdHlwZSI6IndlYiIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxLDEzNDM0OTA0MjUwMDEyMjYyNDIiLCJwb3N0X25hbWUiOm51bGwsInNjb3BlIjpbImFsbCJdLCJpbnRlcnZpZXdfaWQiOm51bGwsImV4cCI6MTYzMjQ2NzEyNSwianRpIjoiZmNiZTYwYWEtOTJjOC00ODhjLTgxYTUtOTQ2ZDJiYzJiNDM4IiwibWVtYmVyX2lkIjoxMzQ1OTkyODc4MTYyNjQ5MDkwLCJjb21wYW55X2lkIjoxMjk1OTA4NjI3OTg0NjcwNzIyLCJzeXN0ZW1faWQiOiIyIiwiZGVwdF9uYW1lIjoi5rWL6K-V6YOo6ZeoMjIxMjEyMTIiLCJhdmF0YXIiOiIiLCJkYXRhX3JvbGVfbmFtZSI6Im51bGwsbnVsbCIsImF1dGhvcml0aWVzIjpbIuWGheWLpCIsImFkbWluaXN0cmF0b3IiXSwicm9sZV9uYW1lIjoiYWRtaW5pc3RyYXRvcizlhoXli6QiLCJsaWNlbnNlIjoicG93ZXJlZCBieSB6bWRtcyIsInBvc3RfaWQiOiIiLCJ1c2VyX2lkIjoiMTM0NTk5OTc3MDM4NTU4MDAzNCIsIm5pY2tfbmFtZSI6IumZiOS6mumbhCIsImNvbXBhbnlfbmFtZSI6Iua1meWVhuS4reaLk-mbhuWbou-8iOmHjeW6hu-8ieaciemZkOWFrOWPuGxjeSIsImRlcHRfaWQiOiIxMjk1OTA5NDg4MDAxNTQwMDk3IiwiaGFuZGxlX2hyX25hbWUiOm51bGwsImFjY291bnQiOiJZRzIxMDE0IiwicmVzdW1lX2lkIjpudWxsfQ.uWW6lWQyAPWeQmTNw9w4PMYPNWHPGvhCxquaA958J5o',
@@ -1298,11 +1298,17 @@ function App() {
1298
1298
  React.createElement(Checkbox, { value: "2" }, "\u5426"))),
1299
1299
  React.createElement(SearchItem, { name: "sss", label: "", noLabelShowBg: true },
1300
1300
  React.createElement(Checkbox, { value: "1" }, "\u662F")),
1301
- React.createElement(SearchItem, { name: "sss1", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6E", noLabelShowBg: true },
1301
+ React.createElement(SearchItem, { name: "sss2d1", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6Esssd1sss2d1", noLabelShowBg: true, dynamicdisabled: "1" },
1302
+ React.createElement(Checkbox, { value: "1" }, "\u662Fsa")),
1303
+ React.createElement(SearchItem, { name: "sssd1", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6Esssd1", noLabelShowBg: true, dynamicdisabled: "1" },
1304
+ React.createElement(Checkbox, { value: "1" }, "\u662Fa")),
1305
+ React.createElement(SearchItem, { name: "sss1", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6E", noLabelShowBg: true, dynamicdisabled: "1" },
1302
1306
  React.createElement(Checkbox, { value: "1" }, "\u662F")),
1303
- React.createElement(SearchItem, { name: "sss2", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6E", noLabelShowBg: true },
1307
+ React.createElement(SearchItem, { name: "ssss1", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6Es1", noLabelShowBg: true, dynamicdisabled: "1" },
1304
1308
  React.createElement(Checkbox, { value: "1" }, "\u662F")),
1305
1309
  React.createElement(SearchItem, { name: "sss2", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6E", noLabelShowBg: true },
1310
+ React.createElement(Checkbox, { value: "1" }, "\u662F")),
1311
+ React.createElement(SearchItem, { name: "sss3", label: "", hiddenLabelName: "\u52A8\u6001\u8868\u5355\u914D\u7F6E", noLabelShowBg: true },
1306
1312
  React.createElement(Radio, { value: "1" }, "\u662F")),
1307
1313
  React.createElement(SearchItem, { name: "test2", label: "\u90E8\u95E8\u540D\u79F0", rules: [{ required: true, message: '请选择仓库名称' }] },
1308
1314
  React.createElement(Radio.Group, null,
package/dist/Demo.js CHANGED
@@ -121,8 +121,8 @@ function Demo() {
121
121
  // defaultList={defaultList}
122
122
  isClickRequest: true }),
123
123
  React.createElement("p", null, "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E"),
124
- React.createElement(EnhanceSelect, { style: selectStyle, placeholder: "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E", url: "http://192.168.0.83:8000/api/zmdms-system/company/list", request: request, dataKey: "id", titleKey: "name", isClickRequest: true, isPaste: true, mode: "multiple", value: value3, onChange: function (value, option, fullData) {
125
- console.log(value);
124
+ React.createElement(EnhanceSelect, { style: selectStyle, placeholder: "\u4E00\u6B21\u6027\u52A0\u8F7D\u6570\u636E", url: "http://192.168.0.83:8000/api/zmdms-system/company/list", request: request, dataKey: "id", titleKey: "name", isClickRequest: true, isPaste: true, mode: "multiple", isHandAddItem: true, value: value3, onChange: function (value, option, fullData) {
125
+ console.log(value, fullData);
126
126
  setValue3(value);
127
127
  } }),
128
128
  React.createElement("p", null, "\u5F02\u6B65\u83B7\u53D6\u6570\u636E"),
@@ -619,7 +619,7 @@ var EditableTable = function () {
619
619
  // tableValidate
620
620
  tableHandleRef: tableHandleRef, tableName: "\u6211\u662F\u4E00\u4E2A\u8868\u683C",
621
621
  // 显隐配置
622
- configInfo: tableConfig, showColumnDynamic: true, showColumnDynamicKey: "test-o-0011", onTableChange: onTableChange, showInnerPagination: true, defaultInnerPageSize: 30, expandable: {
622
+ configInfo: tableConfig, showColumnDynamic: true, showColumnDynamicKey: "test-o-0011", onTableChange: onTableChange, showInnerPagination: true, defaultInnerPageSize: 10, expandable: {
623
623
  expandedRowRender: function (record) { return React.createElement("p", { style: { margin: 0 } }, "111"); },
624
624
  rowExpandable: function (record) { return true; },
625
625
  }, scroll: { x: 1000, y: 600 }, showDelAllBtn: true, delAllChange: onDelAllChange, rowSelection: {
@@ -335,7 +335,7 @@ var ModalTable = function () {
335
335
  setLoading(false);
336
336
  }, 5000);
337
337
  } }, "\u6253\u5F00\u6A21\u6001\u6846"),
338
- React.createElement(Modal, { title: "\u6D4B\u8BD5", loading: loading, visible: visible, onCancel: function () { return setVisible(false); } },
338
+ React.createElement(Modal, { title: "\u6D4B\u8BD5", loading: loading, visible: visible, width: "80%", style: { height: '80%' }, onCancel: function () { return setVisible(false); } },
339
339
  React.createElement(Table, { dataSource: records, columns: columns, rowKey: "id",
340
340
  // 表格项可输入
341
341
  onEditableSave: onEditableSaveHandle,
@@ -346,6 +346,6 @@ var ModalTable = function () {
346
346
  // tableValidate
347
347
  tableHandleRef: tableHandleRef, tableName: "\u6211\u662F\u4E00\u4E2A\u8868\u683C",
348
348
  // 显隐配置
349
- configInfo: tableConfig, showColumnDynamic: true, showColumnDynamicKey: "test-o-0011" }))));
349
+ configInfo: tableConfig, showColumnDynamic: true, showColumnDynamicKey: "test-o-0011", scroll: { x: 1000, y: 600 } }))));
350
350
  };
351
351
  export default ModalTable;
@@ -2,12 +2,49 @@ import { Dayjs } from 'dayjs';
2
2
  import 'antd/es/date-picker/style/index';
3
3
  declare const DatePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
4
4
  status?: "" | "error" | "warning";
5
+ dropdownClassName?: string;
6
+ popupClassName?: string;
5
7
  }, unknown> & {
6
- WeekPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerDateProps<Dayjs>, "picker">, unknown>;
7
- MonthPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerDateProps<Dayjs>, "picker">, unknown>;
8
- YearPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerDateProps<Dayjs>, "picker">, unknown>;
9
- RangePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<import("antd/es/date-picker/generatePicker").RangePickerProps<Dayjs>, unknown>;
10
- TimePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerTimeProps<Dayjs>, "picker">, unknown>;
11
- QuarterPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerTimeProps<Dayjs>, "picker">, unknown>;
8
+ WeekPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
9
+ status?: "" | "error" | "warning";
10
+ dropdownClassName?: string;
11
+ popupClassName?: string;
12
+ }, "picker">, unknown>;
13
+ MonthPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
14
+ status?: "" | "error" | "warning";
15
+ dropdownClassName?: string;
16
+ popupClassName?: string;
17
+ }, "picker">, unknown>;
18
+ YearPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<import("antd/es/date-picker/generatePicker").PickerProps<Dayjs> & {
19
+ status?: "" | "error" | "warning";
20
+ dropdownClassName?: string;
21
+ popupClassName?: string;
22
+ }, "picker">, unknown>;
23
+ RangePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<import("antd/es/date-picker/generatePicker").RangePickerProps<Dayjs> & {
24
+ dropdownClassName?: string;
25
+ popupClassName?: string;
26
+ }, unknown>;
27
+ TimePicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<Omit<import("rc-picker/lib/Picker").PickerTimeProps<Dayjs>, "hideHeader" | "locale" | "generateConfig" | "components"> & {
28
+ locale?: import("antd/es/date-picker/generatePicker").PickerLocale;
29
+ size?: import("antd/es/button").ButtonSize;
30
+ placement?: "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
31
+ bordered?: boolean;
32
+ status?: "" | "error" | "warning";
33
+ } & {
34
+ status?: "" | "error" | "warning";
35
+ dropdownClassName?: string;
36
+ popupClassName?: string;
37
+ }, "picker">, unknown>;
38
+ QuarterPicker: import("antd/es/date-picker/generatePicker/interface").PickerComponentClass<Omit<Omit<import("rc-picker/lib/Picker").PickerTimeProps<Dayjs>, "hideHeader" | "locale" | "generateConfig" | "components"> & {
39
+ locale?: import("antd/es/date-picker/generatePicker").PickerLocale;
40
+ size?: import("antd/es/button").ButtonSize;
41
+ placement?: "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
42
+ bordered?: boolean;
43
+ status?: "" | "error" | "warning";
44
+ } & {
45
+ status?: "" | "error" | "warning";
46
+ dropdownClassName?: string;
47
+ popupClassName?: string;
48
+ }, "picker">, unknown>;
12
49
  };
13
50
  export default DatePicker;
@@ -167,31 +167,33 @@ function concatData(originalData, newData, otherParams) {
167
167
  if (item.__is_hand_add) {
168
168
  resultData.push(item);
169
169
  }
170
- // 如果源数组中找到了该条数据,那么不添加
171
- // 否则添加
172
- // if (
173
- // !resultData.find(
174
- // (resultItem) =>
175
- // resultItem && item && resultItem[dataKey] === item[dataKey]
176
- // )
177
- // ) {
178
- // resultData.push(item);
179
- // }
180
- // 2022-03-01修改此处逻辑,外部参数可能会传递一些不同的逻辑,可能需要禁用此项
181
- var index = resultData.findIndex(function (resultItem) {
182
- return resultItem && item && resultItem[dataKey] === item[dataKey];
183
- });
184
- if (index === -1) {
185
- // 没有找到直接添加
186
- resultData.push(item);
187
- }
188
170
  else {
189
- // 找到了,需要替换
190
- var newItem = __assign({}, item);
191
- if (!newItem[titleKey]) {
192
- Reflect.deleteProperty(newItem, titleKey);
171
+ // 如果源数组中找到了该条数据,那么不添加
172
+ // 否则添加
173
+ // if (
174
+ // !resultData.find(
175
+ // (resultItem) =>
176
+ // resultItem && item && resultItem[dataKey] === item[dataKey]
177
+ // )
178
+ // ) {
179
+ // resultData.push(item);
180
+ // }
181
+ // 2022-03-01修改此处逻辑,外部参数可能会传递一些不同的逻辑,可能需要禁用此项
182
+ var index = resultData.findIndex(function (resultItem) {
183
+ return resultItem && item && resultItem[dataKey] === item[dataKey];
184
+ });
185
+ if (index === -1) {
186
+ // 没有找到直接添加
187
+ resultData.push(item);
188
+ }
189
+ else {
190
+ // 找到了,需要替换
191
+ var newItem = __assign({}, item);
192
+ if (!newItem[titleKey]) {
193
+ Reflect.deleteProperty(newItem, titleKey);
194
+ }
195
+ resultData.splice(index, 1, __assign(__assign({}, resultData[index]), newItem));
193
196
  }
194
- resultData.splice(index, 1, __assign(__assign({}, resultData[index]), newItem));
195
197
  }
196
198
  });
197
199
  }
@@ -458,7 +460,7 @@ function EnhanceSelect(_a) {
458
460
  }
459
461
  // const _defaultList = Array.isArray(defaultList) ? defaultList : [];
460
462
  var _defaultList = clearNullData(Array.isArray(defaultList) ? defaultList : [], dataKey, titleKey);
461
- var currentList = concatData(concatData(concatData(selectList || [], _defaultList, { dataKey: dataKey, titleKey: titleKey }), multipleList || [], { dataKey: dataKey, titleKey: titleKey }), autoPasteListRef.current, { dataKey: dataKey, titleKey: titleKey });
463
+ var currentList = concatData(concatData(concatData(concatData(selectList || [], _defaultList, { dataKey: dataKey, titleKey: titleKey }), multipleList || [], { dataKey: dataKey, titleKey: titleKey }), handleAddItems, { dataKey: dataKey, titleKey: titleKey }), autoPasteListRef.current, { dataKey: dataKey, titleKey: titleKey });
462
464
  if (currentList && Array.isArray(currentList)) {
463
465
  var key_1 = dataKey;
464
466
  // 支持多选模式
@@ -480,7 +482,7 @@ function EnhanceSelect(_a) {
480
482
  });
481
483
  currentData = currentData === null || currentData === void 0 ? void 0 : currentData.filter(function (item) { return item; });
482
484
  if (remoteSearch) {
483
- setMultipleList(currentData);
485
+ setMultipleList(currentData === null || currentData === void 0 ? void 0 : currentData.filter(function (item) { return !item.__is_hand_add; }));
484
486
  }
485
487
  }
486
488
  else {
@@ -547,6 +549,7 @@ function EnhanceSelect(_a) {
547
549
  setMultipleList,
548
550
  showAll,
549
551
  titleKey,
552
+ handleAddItems,
550
553
  ]);
551
554
  // 分词粘贴
552
555
  var pasteHandle = useCallback(function (value) {
@@ -50,8 +50,8 @@ export declare function setPositionDom(value: any): void;
50
50
  * @description 设置打印pdf偏移量
51
51
  */
52
52
  export declare function setPositionDeviation(value: any): {
53
- top: any;
54
- left: any;
53
+ top: number;
54
+ left: number;
55
55
  };
56
56
  export declare function setMinusPosition(dom: any, style: any): void;
57
57
  export declare function initMinusPosition(dom: any): void;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import { TabsProps } from 'antd/lib/tabs';
3
3
  interface IProps extends TabsProps {
4
4
  isHeader?: boolean;
@@ -8,6 +8,6 @@ interface IProps extends TabsProps {
8
8
  }
9
9
  declare function Tabs(props: IProps): JSX.Element;
10
10
  declare namespace Tabs {
11
- var TabPane: typeof import("rc-tabs").TabPane;
11
+ var TabPane: React.FC<import("antd").TabPaneProps>;
12
12
  }
13
13
  export default Tabs;
@@ -212,10 +212,10 @@ dynamicStorageKey // 动态列配置的key值
212
212
  _currentDynamicList_1 = _currentDynamicList_1.concat(addDynamicList.map(function (item) { return ({
213
213
  name: item.name,
214
214
  label: item.label,
215
- hiddenLabelName: item.hiddenLabelName,
215
+ hiddenLabelName: item.hiddenlabelname || item.hiddenLabelName,
216
216
  show: true,
217
217
  disabled: item.disabled,
218
- dynamicDisabled: item.dynamicdisabled,
218
+ dynamicDisabled: item.dynamicdisabled || item.dynamicDisabled,
219
219
  }); }));
220
220
  // 将删除的数据剔除出去
221
221
  _currentDynamicList_1 = _currentDynamicList_1.filter(function (item) {
@@ -16,6 +16,7 @@ export interface ISearchItem extends FormItemProps {
16
16
  noauto?: string;
17
17
  /**不显示label,但是作为动态表单配置启用 */
18
18
  hiddenLabelName?: string;
19
+ hiddenlabelname?: string;
19
20
  /** 没有lable显示边框 */
20
21
  noLabelShowBg?: boolean;
21
22
  /** 动态列禁用隐藏 */
@@ -51,13 +51,16 @@ function getWidthStr(width) {
51
51
  }
52
52
  }
53
53
  var SearchItem = function (_a) {
54
- var children = _a.children, className = _a.className, width = _a.width, disabled = _a.disabled, style = _a.style, noBorder = _a.noBorder, noLabel = _a.noLabel, noLabelShowBg = _a.noLabelShowBg, restProps = __rest(_a, ["children", "className", "width", "disabled", "style", "noBorder", "noLabel", "noLabelShowBg"]);
54
+ var children = _a.children, className = _a.className, width = _a.width, disabled = _a.disabled, style = _a.style, noBorder = _a.noBorder, noLabel = _a.noLabel, noLabelShowBg = _a.noLabelShowBg, hiddenLabelName = _a.hiddenLabelName, dynamicdisabled = _a.dynamicdisabled, restProps = __rest(_a, ["children", "className", "width", "disabled", "style", "noBorder", "noLabel", "noLabelShowBg", "hiddenLabelName", "dynamicdisabled"]);
55
55
  var classes = classNames('zt-search__left__item', className, {
56
56
  'zt-search__left__item--disabled': disabled,
57
57
  'zt-search__left__item--noborder': noBorder,
58
58
  'zt-search__left__item--nolabel': noLabel,
59
59
  'zt-search__left__item--nolabelshowbg': noLabelShowBg,
60
60
  });
61
+ restProps.hiddenlabelname = restProps.hiddenlabelname
62
+ ? restProps.hiddenlabelname
63
+ : hiddenLabelName;
61
64
  return (React.createElement("div", { className: classes, style: __assign({ width: getWidthStr(width) }, style) },
62
65
  React.createElement(Item, __assign({}, restProps), children)));
63
66
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "4.3.1",
3
+ "version": "4.3.2",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",
@@ -12,7 +12,7 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "antd": "4.22.8",
15
+ "antd": "4.24.7",
16
16
  "axios": "^0.21.1",
17
17
  "classnames": "^2.2.6",
18
18
  "dayjs": "^1.11.7",
@@ -23,7 +23,8 @@
23
23
  "react-dnd-html5-backend": "^14.0.0",
24
24
  "react-infinite-scroll-component": "^6.1.0",
25
25
  "react-resizable": "^3.0.4",
26
- "react-to-print": "^2.14.7"
26
+ "react-to-print": "^2.14.7",
27
+ "ztxkutils": "^2.10.23"
27
28
  },
28
29
  "scripts": {
29
30
  "analyze": "source-map-explorer 'dist/static/js/*.js'",