@king-design/react 3.1.0 → 3.1.1-beta.1

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.
@@ -39,7 +39,8 @@ export default function ($props, $blocks, $__proto__) {
39
39
  return block ? block.call($this, callBlock, data) : callBlock();
40
40
  }, __$blocks['title'](_$no)), _$cc(Icon, {
41
41
  'className': _$cn((_$cn2 = {}, _$cn2[k + "-collapse-arrow"] = true, _$cn2[k + "-icon-right"] = true, _$cn2)),
42
- 'hoverable': !disabled
42
+ 'hoverable': true,
43
+ 'disabled': disabled
43
44
  })], 0, _$cn(k + "-collapse-title"), {
44
45
  'ev-click': this.toggle
45
46
  }), _$cc(Transition, _extends({
@@ -32,5 +32,5 @@ export function makeStyles(k) {
32
32
  }
33
33
  export function makeItemStyles(k) {
34
34
  var collapseItem = collapse.item;
35
- return /*#__PURE__*/css("border-bottom:", collapseItem.borderBottom, ";&:last-of-type{border-bottom-color:transparent;}.", k, "-collapse-title{cursor:pointer;font-weight:bold;height:", collapseItem.titleHeight, ";line-height:", collapseItem.titleHeight, ";transition:color ", collapse.transition, ";}.", k, "-collapse-arrow{float:right;transition:transform ", collapse.transition, ";line-height:", collapseItem.titleHeight, ";height:", collapseItem.titleHeight, ";}&:not(.", k, "-disabled){.", k, "-collapse-title{&:hover{color:", theme.color.primary, ";}}}&.", k, "-active{.", k, "-collapse-arrow{transform:rotate(90deg);}}&.", k, "-disabled{color:", theme.color.disabledBorder, ";.", k, "-collapse-title{cursor:not-allowed;}}");
35
+ return /*#__PURE__*/css("border-bottom:", collapseItem.borderBottom, ";&:last-of-type{border-bottom-color:transparent;}>.", k, "-collapse-title{cursor:pointer;font-weight:bold;height:", collapseItem.titleHeight, ";line-height:", collapseItem.titleHeight, ";transition:color ", collapse.transition, ";.", k, "-collapse-arrow{float:right;transition:transform ", collapse.transition, ";line-height:", collapseItem.titleHeight, ";height:", collapseItem.titleHeight, ";}}&:not(.", k, "-disabled){>.", k, "-collapse-title{&:hover{color:", theme.color.primary, ";}}}&.", k, "-active{>.", k, "-collapse-title .", k, "-collapse-arrow{transform:rotate(90deg);}}&.", k, "-disabled{color:", theme.color.disabledBorder, ";>.", k, "-collapse-title{cursor:not-allowed;}}");
36
36
  }
@@ -87,7 +87,7 @@ export function makeDialogStyles(k) {
87
87
 
88
88
  return /*#__PURE__*/css("position:absolute;width:", dialog.width, ";border-radius:", dialog.borderRadius, ";background:", dialog.bgColor, ";font-size:", dialog.fontSize, ";color:", dialog.color, ";box-shadow:", dialog.boxShadow, ";max-width:100%;z-index:", theme.maxZIndex, ";&.", k, "-dragging{cursor:move;user-select:none;}&.transition-enter-active,&.transition-leave-active,&.transition-appear-active{transition:all ", dialog.transition, ";}&.transition-enter-from,&.transition-leave-to,&.transition-appear-from{transform:", dialog.transform, ";opacity:0;}", _mapInstanceProperty(_context = ['large', 'small', 'mini']).call(_context, function (size) {
89
89
  return /*#__PURE__*/css("&.", k, "-", size, "{width:", dialog[size + "Width"], ";}");
90
- }), ".", k, "-dialog-header{padding:0 ", dialog.padding, ";margin:", dialog.margin, ";border-bottom:", dialog.header.border, ";height:", dialog.header.height, ";line-height:", dialog.header.height, ";font-size:", dialog.header.fontSize, ";color:", dialog.header.color, ";position:relative;font-weight:", dialog.header.fontWeight, ";}.", k, "-dialog-title{display:inline-block;}.", k, "-dialog-close{position:absolute;right:", dialog.header.closeRight, ";top:", dialog.header.closeTop, ";.", k, "-icon{font-size:", dialog.header.closeIconFontSize, ";}}.", k, "-dialog-body{padding:", dialog.body.padding, ";}.", k, "-dialog-footer{text-align:right;padding:", dialog.footer.padding, ";margin:", dialog.margin, ";border-top:", dialog.footer.border, ";.", k, "-btn{margin-left:", dialog.footer.btnGap, ";}}");
90
+ }), ".", k, "-dialog-header{padding:0 ", dialog.padding, ";margin:", dialog.margin, ";border-bottom:", dialog.header.border, ";height:", dialog.header.height, ";line-height:", dialog.header.height, ";font-size:", dialog.header.fontSize, ";color:", dialog.header.color, ";position:relative;font-weight:", dialog.header.fontWeight, ";}.", k, "-dialog-title{display:inline-block;}.", k, "-dialog-close{position:absolute;right:", dialog.header.closeRight, ";top:", dialog.header.closeTop, ";.", k, "-icon{font-size:", dialog.header.closeIconFontSize, ";}}.", k, "-dialog-body{padding:", dialog.body.padding, ";position:relative;}.", k, "-dialog-footer{text-align:right;padding:", dialog.footer.padding, ";margin:", dialog.margin, ";border-top:", dialog.footer.border, ";.", k, "-btn{margin-left:", dialog.footer.btnGap, ";}}");
91
91
  }
92
92
  export function makeWrapperStyles(k) {
93
93
  //.${k}-fade-leave-active will add position absolute to the styles
@@ -97,7 +97,7 @@ export function makeWrapperStyles(k) {
97
97
  export function makeAlertStyles(k) {
98
98
  var _context2;
99
99
 
100
- return /*#__PURE__*/css("&.", k, "-alert-dialog{.", k, "-dialog-body{margin-top:", dialog.alert.bodyMarginTop, ";padding:", dialog.alert.padding, ";text-align:center;position:relative;z-index:1;}.", k, "-dialog-header,.", k, "-dialog-footer{border:none;}.", k, "-dialog-tip-icon{margin-bottom:", dialog.alert.tipIconMarginBottom, ";.", k, "-icon{font-size:", dialog.alert.tipIconFontSize, ";line-height:", dialog.alert.tipIconLineHeight, ";}}", _mapInstanceProperty(_context2 = ['success', 'warning', 'error', 'confirm']).call(_context2, function (type) {
100
+ return /*#__PURE__*/css("&.", k, "-alert-dialog{.", k, "-dialog-body{margin-top:", dialog.alert.bodyMarginTop, ";padding:", dialog.alert.padding, ";text-align:center;z-index:1;}.", k, "-dialog-header,.", k, "-dialog-footer{border:none;}.", k, "-dialog-tip-icon{margin-bottom:", dialog.alert.tipIconMarginBottom, ";.", k, "-icon{font-size:", dialog.alert.tipIconFontSize, ";line-height:", dialog.alert.tipIconLineHeight, ";}}", _mapInstanceProperty(_context2 = ['success', 'warning', 'error', 'confirm']).call(_context2, function (type) {
101
101
  var color = type === 'error' ? theme.color.danger : type === 'confirm' ? theme.color.primary : theme.color[type];
102
102
  return /*#__PURE__*/css("&.", k, "-", type, "{.", k, "-dialog-tip-icon{color:", color, ";}}");
103
103
  }), " &:not(.", k, "-confirm){.", k, "-dialog-cancel{display:none;}}&.", k, "-with-title{.", k, "-dialog-body{margin-top:", dialog.alert.titleBodyMarginTop, ";text-align:left;}.", k, "-dialog-tip-icon{float:left;.", k, "-icon{font-size:", dialog.alert.titleTipIconFontSize, ";}}.", k, "-alert-dialog-wrapper{overflow:hidden;padding-left:", dialog.alert.wrapperPaddingLeft, ";}.", k, "-alert-dialog-title{line-height:", dialog.alert.tipIconLineHeight, ";font-size:", dialog.alert.titleFontSize, ";font-weight:", dialog.alert.titleFontWeight, ";}}}");
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
- import { createVNode as _$cv, className as _$cn, createUnknownComponentVNode as _$cc, createElementVNode as _$ce } from 'intact-react';
2
+ import { createVNode as _$cv, className as _$cn, createElementVNode as _$ce, createUnknownComponentVNode as _$cc } from 'intact-react';
3
3
  import { getRestProps } from '../utils';
4
4
  import { Input } from '../input';
5
5
  import { Icon } from '../icon';
@@ -26,21 +26,22 @@ export default function ($props, $blocks, $__proto__) {
26
26
  var classNameObj = (_classNameObj = {}, _classNameObj[k + "-editable"] = true, _classNameObj[k + "-editing"] = editing, _classNameObj[k + "-disabled"] = disabled, _classNameObj[k + "-invalid"] = invalid, _classNameObj[className] = className, _classNameObj[makeStyles(k)] = true, _classNameObj);
27
27
  return _$cv('div', _extends({}, getRestProps(this), {
28
28
  'className': _$cn(classNameObj)
29
- }), [!disabled && !editing ? _$cc(Tooltip, {
29
+ }), [_$ce(2, 'div', !editing ? children : _$cc(Input, {
30
+ 'size': 'mini',
31
+ 'defaultValue': value,
32
+ 'ev-blur': this.onBlur,
33
+ 'ev-keydown': this.onKeydown,
34
+ 'ref': this.inputRef,
35
+ 'frozenOnInput': true,
36
+ 'ev-$mounted': this.select,
37
+ 'autoWidth': true
38
+ }, null, this.inputRef), 0, 'c-ellipsis'), !disabled && !editing ? _$cc(Tooltip, {
30
39
  'content': tip,
31
40
  'children': _$cc(Icon, {
32
41
  'className': _$cn(k + "-icon-edit " + k + "-editable-icon"),
33
42
  'ev-click': this.edit,
34
43
  'hoverable': true
35
44
  })
36
- }) : undefined, _$ce(2, 'div', !editing ? children : _$cc(Input, {
37
- 'size': 'small',
38
- 'defaultValue': value,
39
- 'ev-blur': this.onBlur,
40
- 'ev-keydown': this.onKeydown,
41
- 'ref': this.inputRef,
42
- 'frozenOnInput': true,
43
- 'ev-$mounted': this.select
44
- }, null, this.inputRef), 0, 'c-ellipsis')]);
45
+ }) : undefined]);
45
46
  }
46
47
  ;
@@ -1,7 +1,6 @@
1
1
  import '../../styles/global';
2
2
  declare const defaults: {
3
3
  iconGap: string;
4
- lineHeight: string;
5
4
  invalid: {
6
5
  readonly border: string;
7
6
  };
@@ -4,7 +4,6 @@ import { deepDefaults } from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
  var defaults = {
6
6
  iconGap: '0 0 0 8px',
7
- lineHeight: '30px',
8
7
  // invalid
9
8
  invalid: {
10
9
  get border() {
@@ -21,5 +20,5 @@ setDefault(function () {
21
20
  });
22
21
  export { editable };
23
22
  export function makeStyles(k) {
24
- return /*#__PURE__*/css("display:inline-block;line-height:", editable.lineHeight, ";.", k, "-editable-icon{float:right;cursor:pointer;margin:", editable.iconGap, ";line-height:unset;}&.", k, "-invalid{.", k, "-input-inner{border:", editable.invalid.border, "!important;}}");
23
+ return /*#__PURE__*/css("display:inline-flex;align-items:center;.", k, "-editable-icon{margin:", editable.iconGap, ";}&.", k, "-invalid{.", k, "-input-inner{border:", editable.invalid.border, "!important;}}");
25
24
  }
@@ -1,3 +1,4 @@
1
1
  import { ComponentClass } from 'intact-react';
2
2
  import type { useColumns } from './useColumns';
3
3
  export declare function exportTable(getData: ReturnType<typeof useColumns>['getData'], data: any[] | undefined, childrenKey: string | undefined, parentComponet: ComponentClass, filename: string): Promise<string>;
4
+ export declare function download(content: string, filename: string): void;
@@ -1,6 +1,7 @@
1
1
  import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
2
2
  import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
3
3
  import _trimInstanceProperty from "@babel/runtime-corejs3/core-js/instance/trim";
4
+ import _URL from "@babel/runtime-corejs3/core-js/url";
4
5
  import { findDomFromVNode, createVNode as h, mount } from 'intact-react';
5
6
  import { loopDataWithChildrenKey } from './useTree';
6
7
  import { get, noop, isNullOrUndefined } from 'intact-shared';
@@ -10,17 +11,12 @@ export function exportTable(_x, _x2, _x3, _x4, _x5) {
10
11
 
11
12
  function _exportTable() {
12
13
  _exportTable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getData, data, childrenKey, parentComponet, filename) {
13
- var download, collection, _getData, columns, cols, content;
14
+ var collection, _getData, columns, cols, content;
14
15
 
15
16
  return _regeneratorRuntime.wrap(function _callee$(_context) {
16
17
  while (1) {
17
18
  switch (_context.prev = _context.next) {
18
19
  case 0:
19
- _context.next = 2;
20
- return import('downloadjs');
21
-
22
- case 2:
23
- download = _context.sent.default;
24
20
  collection = [];
25
21
  _getData = getData(), columns = _getData.columns, cols = _getData.cols; // head
26
22
 
@@ -60,10 +56,10 @@ function _exportTable() {
60
56
  collection.push(rows.join(','));
61
57
  }, false);
62
58
  content = collection.join('\r\n');
63
- download("\uFEFF" + content, filename + '.csv', 'text/comma-separated-values;charset=utf-8');
59
+ download(content, filename + '.csv');
64
60
  return _context.abrupt("return", content);
65
61
 
66
- case 10:
62
+ case 7:
67
63
  case "end":
68
64
  return _context.stop();
69
65
  }
@@ -77,4 +73,33 @@ function pushTextContext(rows, dom, content) {
77
73
  var text = isNullOrUndefined(content) ? dom.textContent : content;
78
74
  text = '"' + String(_trimInstanceProperty(text).call(text)).replace(/"/g, '""') + '"';
79
75
  rows.push(text);
76
+ }
77
+
78
+ export function download(content, filename) {
79
+ if (navigator.msSaveBlob) {
80
+ // IE10+
81
+ var blob = new Blob([content], {
82
+ type: 'text/csv;charset=utf-8'
83
+ });
84
+ navigator.msSaveBlob(blob, filename);
85
+ } else {
86
+ var link = document.createElement('a');
87
+
88
+ if ('download' in link) {
89
+ var _blob = new Blob([content], {
90
+ type: 'text/csv;charset=utf-8'
91
+ });
92
+
93
+ var url = _URL.createObjectURL(_blob);
94
+
95
+ link.setAttribute('href', url);
96
+ link.setAttribute('download', filename);
97
+ link.style.display = 'none';
98
+ document.body.appendChild(link);
99
+ link.click();
100
+ document.body.removeChild(link);
101
+ } else {
102
+ window.open("data:text/csv,charset=utf-8,%EF%BB%BF" + encodeURI(content));
103
+ }
104
+ }
80
105
  }
@@ -24,6 +24,7 @@ import DraggableTable from '~/components/table/demos/draggable';
24
24
  import MergeCellDemo from '~/components/table/demos/mergeCell';
25
25
  import { AllCheckedStatus } from './useChecked';
26
26
  import PaginationDemo from '~/components/table/demos/pagination';
27
+ import { download } from './exportTable';
27
28
  describe('Table', function () {
28
29
  afterEach(function () {
29
30
  unmount();
@@ -682,7 +683,7 @@ describe('Table', function () {
682
683
  }, _callee13);
683
684
  })));
684
685
  it('export', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {
685
- var _mount15, instance, element, content, content1;
686
+ var _mount15, instance, element, content, content1, csv;
686
687
 
687
688
  return _regeneratorRuntime.wrap(function _callee14$(_context14) {
688
689
  while (1) {
@@ -705,9 +706,13 @@ describe('Table', function () {
705
706
 
706
707
  case 8:
707
708
  content1 = _context14.sent;
708
- expect(content1.replace(/\r\n|\r/g, '\n')).to.matchSnapshot();
709
+ expect(content1.replace(/\r\n|\r/g, '\n')).to.matchSnapshot(); // it will be error codes if downloadjs exports below contents
710
+ // use custom download function instead
709
711
 
710
- case 10:
712
+ csv = '"镜像名称","系统大小","镜像类型","状态","操作系统","创建时间","是否支持快速开机","可用区","镜像描述","关联快照"\r\n"a12321","20GB","普通镜像","错误 详情","centos-7","2023-11-23 15:54:10","否","--","--","q"';
713
+ download(csv, 'test.csv');
714
+
715
+ case 12:
711
716
  case "end":
712
717
  return _context14.stop();
713
718
  }
@@ -105,7 +105,7 @@ setDefault(function () {
105
105
  export function makeStyles(k) {
106
106
  return /*#__PURE__*/css("font-size:", table.fontSize, ";color:", table.color, ";position:relative;z-index:0;.", k, "-table-wrapper{border-bottom:", table.border, ";overflow:auto;border-radius:", table.borderRadius, ";}table{width:100%;border-spacing:0;table-layout:fixed;td,th{transition:all ", table.transition, ";}}thead{text-align:", table.thead.textAlign, ";font-size:", table.thead.fontSize, ";font-weight:", table.thead.fontWeight, ";position:sticky;top:0;z-index:2;tr{height:", table.thead.height, ";&:not(:last-of-type) th{border-bottom:", table.border, ";}}}th{padding:", table.thead.padding, ";position:relative;background:", table.thead.bgColor, ";line-height:normal;&:before{content:'';height:", table.thead.delimiterHeight, ";position:absolute;background-color:", table.thead.delimiterColor, ";width:1px;left:1px;top:50%;transform:translateY(-50%);}&:first-of-type:before{display:none;}}.", k, "-table-title{display:inline-flex;align-items:center;max-width:100%;color:", table.thead.color, ";}.", k, "-table-title-text{flex:1;display:inline-flex;line-height:1.4;}tbody{tr{&:hover td{background:", table.tbody.hoverBgcolor, ";}&:last-of-type td{border-bottom-color:transparent;}}}td{padding:", table.tbody.padding, ";border-bottom:", table.border, ";background:", table.bgColor, ";word-wrap:break-word;}.", k, "-fixed-left,.", k, "-fixed-right{position:sticky;z-index:1;&:after{content:'';display:block;transition:box-shadow ", table.transition, ";position:absolute;top:0;bottom:0px;width:10px;pointer-events:none;}}.", k, "-fixed-left:after{right:-11px;}.", k, "-fixed-right:after{left:-11px;}&.", k, "-scroll-left .", k, "-fixed-right:after{box-shadow:", table.fixRightShadow, ";}&.", k, "-scroll-right .", k, "-fixed-left:after{box-shadow:", table.fixLeftShadow, ";}&.", k, "-scroll-middle{.", k, "-fixed-left:after{box-shadow:", table.fixLeftShadow, ";}.", k, "-fixed-right:after{box-shadow:", table.fixRightShadow, ";}}.", k, "-fixed-right+.", k, "-fixed-right:after{display:none;}.", k, "-table-affix-header{position:sticky;top:0;left:0;.", k, "-affix-wrapper{overflow:hidden;}&.", k, "-fixed{position:relative;}}&.", k, "-border,&.", k, "-grid{.", k, "-table-wrapper{border-top:", table.border, ";border-left:", table.border, ";border-right:", table.border, ";}}&.", k, "-grid{td:not(:last-of-type),th:not(:last-of-type){border-right:", table.border, ";}th:before{display:none;}}&.", k, "-stripe{tr:nth-child(even):not(:hover) td{background:", table.stripeBgColor, ";}}.", k, "-table-group{margin-left:", table.group.gap, ";}.", k, "-table-check{.", k, "-checkbox,.", k, "-radio{position:relative;top:-1px;}}.", k, "-column-sortable{cursor:pointer;}.", k, "-column-sort{.", k, "-icon{display:block;height:", _sortInstanceProperty(table).iconHeight, ";line-height:", _sortInstanceProperty(table).iconHeight, ";margin:0 0 1px ", _sortInstanceProperty(table).gap, ";}&.", k, "-desc .", k, "-icon.", k, "-desc,&.", k, "-asc .", k, "-icon.", k, "-asc{color:", _sortInstanceProperty(table).enabledColor, ";}}.", k, "-table-spin.", k, "-overlay{z-index:2;}.", k, "-table-empty{text-align:center;}tr.", k, "-expand{td{padding:0;background:#fdfcff;}}&.", k, "-with-expand{tr:not(.", k, "-expand){td{border-bottom:none;}}}.", k, "-table-expand{border-top:", table.border, ";box-sizing:content-box;}tbody tr.", k, "-selected td{background:", table.selectedBgColor, ";}.", k, "-table-arrow{width:", table.arrow.width, "!important;margin-right:", table.arrow.gap, ";transition:transform ", table.transition, ";position:relative;top:-1px;}tr.", k, "-spreaded{.", k, "-table-arrow{transform:rotate(90deg);}}.", k, "-table-resize{height:100%;width:", table.resizeWidth, ";position:absolute;top:0;left:-1px;cursor:ew-resize;}tr.", k, "-dragging{opacity:", table.draggingOpacity, ";}.", k, "-table-scrollbar{overflow-x:auto;overflow-y:hidden;}.", k, "-table-scrollbar-inner{height:1px;}", _mapInstanceProperty(aligns).call(aligns, function (type) {
107
107
  return /*#__PURE__*/css(".", k, "-align-", type, "{text-align:", type, ";}");
108
- }), ">.", k, "-pagination{margin:16px 0;}");
108
+ }), ">.", k, "-pagination{margin:16px 0;}&.", k, "-fix-header{min-height:0;.", k, "-table-wrapper{height:100%;}}");
109
109
  }
110
110
  export function makeGroupMenuStyles(k) {
111
111
  return /*#__PURE__*/css("min-width:", table.group.menuMinWidth, "!important;.", k, "-dropdown-item.", k, "-active{color:", table.group.activeColor, ";}.", k, "-table-group-header{padding:", table.group.headerPadding, ";border-bottom:", table.group.headerBorder, ";}.", k, "-table-group-body{max-height:", table.group.menuMaxHeight, ";overflow:auto;}.", k, "-table-group-footer{text-align:right;border-top:", table.group.headerBorder, ";padding:8px;.", k, "-btn{margin-left:8px;}}");
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @king-design v3.1.0
2
+ * @king-design v3.1.1-beta.1
3
3
  *
4
4
  * Copyright (c) Kingsoft Cloud
5
5
  * Released under the MIT License
@@ -60,7 +60,7 @@ export * from './components/tree';
60
60
  export * from './components/treeSelect';
61
61
  export * from './components/upload';
62
62
  export * from './components/wave';
63
- export declare const version = "3.1.0";
63
+ export declare const version = "3.1.1-beta.1";
64
64
 
65
65
 
66
66
  export {normalize} from 'intact-react';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @king-design v3.1.0
2
+ * @king-design v3.1.1-beta.1
3
3
  *
4
4
  * Copyright (c) Kingsoft Cloud
5
5
  * Released under the MIT License
@@ -62,7 +62,7 @@ export * from './components/tree';
62
62
  export * from './components/treeSelect';
63
63
  export * from './components/upload';
64
64
  export * from './components/wave';
65
- export var version = '3.1.0';
65
+ export var version = '3.1.1-beta.1';
66
66
  /* generate end */
67
67
 
68
68
  export {normalize} from 'intact-react';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@king-design/react",
3
- "version": "3.1.0",
3
+ "version": "3.1.1-beta.1",
4
4
  "description": "King-Design UI components for React.",
5
5
  "keywords": [
6
6
  "component",
@@ -35,7 +35,6 @@
35
35
  "@babel/runtime-corejs3": "^7.16.0",
36
36
  "@emotion/css": "^11.5.0",
37
37
  "dayjs": "^1.10.7",
38
- "downloadjs": "^1.4.7",
39
38
  "enquire.js": "^2.1.6",
40
39
  "intact-react": "3.0.22",
41
40
  "monaco-editor": "^0.26.1",