dtable-ui-component 7.0.1-beta.1 → 7.0.1-beta.5

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.
Files changed (39) hide show
  1. package/lib/AsyncUserSelect/index.css +38 -28
  2. package/lib/AsyncUserSelect/index.js +29 -18
  3. package/lib/DTableCustomizeSearchInput/index.css +75 -0
  4. package/lib/DTableCustomizeSearchInput/index.js +133 -0
  5. package/lib/DTableCustomizeSelect/index.css +120 -42
  6. package/lib/DTableCustomizeSelect/index.js +12 -6
  7. package/lib/DTableFiltersPopover/utils/filter-item-utils.js +7 -19
  8. package/lib/DTableFiltersPopover/widgets/collaborator-filter/index.js +5 -9
  9. package/lib/DTableFiltersPopover/widgets/filter-item.js +15 -7
  10. package/lib/DTableFiltersPopover/widgets/filter-list/index.css +3 -3
  11. package/lib/DTableSelect/dtable-select-label.css +8 -3
  12. package/lib/DTableSelect/dtable-select-label.js +1 -1
  13. package/lib/DTableSelect/index.js +3 -3
  14. package/lib/DTableSelect/select-dropdown-indicator/index.css +16 -0
  15. package/lib/DTableSelect/select-dropdown-indicator/index.js +24 -0
  16. package/lib/DTableSelect/user-select.css +7 -46
  17. package/lib/DTableSelect/utils.js +166 -79
  18. package/lib/ImageEditor/images-previewer/image-preview/index.js +1 -2
  19. package/lib/ImageEditor/pc-editor/addition-previewer/local-image-addition/index.js +2 -2
  20. package/lib/ImageFormatter/images-lazy-load.js +2 -2
  21. package/lib/ImageFormatter/index.js +2 -5
  22. package/lib/ImagePreviewerLightbox/index.js +1 -2
  23. package/lib/ImageThumbnail/index.js +1 -2
  24. package/lib/SelectOptionGroup/KeyCodes.js +96 -4
  25. package/lib/SelectOptionGroup/index.css +44 -54
  26. package/lib/SelectOptionGroup/index.js +35 -18
  27. package/lib/SelectOptionGroup/option.js +16 -4
  28. package/lib/assets/icons/close.svg +1 -0
  29. package/lib/assets/icons/down.svg +3 -0
  30. package/lib/index.js +3 -10
  31. package/lib/utils/url.js +35 -10
  32. package/package.json +2 -2
  33. package/lib/DTableCustomizeCollaboratorSelect/index.css +0 -86
  34. package/lib/DTableCustomizeCollaboratorSelect/index.js +0 -158
  35. package/lib/DTableGroupSelect/index.css +0 -96
  36. package/lib/DTableGroupSelect/index.js +0 -131
  37. package/lib/DTableGroupSelect/option.js +0 -42
  38. package/lib/DTableGroupSelect/select-option-group.css +0 -54
  39. package/lib/DTableGroupSelect/select-option-group.js +0 -227
@@ -4,116 +4,154 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.UserSelectStyle = exports.Option = exports.MenuSelectStyle = exports.MenuList = exports.DropdownIndicator = exports.ClearIndicator = void 0;
7
+ exports.processOptionsWithClear = exports.handleSelectChange = exports.createHandleChange = exports.Option = exports.MenuSelectStyle = exports.MenuList = exports.DropdownIndicator = exports.ClearIndicator = void 0;
8
8
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _reactSelect = require("react-select");
12
+ require("./dtable-select-label.css");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  const _excluded = ["innerProps"]; // DtableSelect is based on seatable-ui.css, so use the following content to override the default react-select style
14
15
  const DEFAULT_CONTROL_STYLE = {
15
- border: '1px solid rgba(0, 40, 100, 0.12) !important'
16
+ fontSize: '14px',
17
+ padding: '0 4px 0 8px',
18
+ border: '1px solid var(--bs-border-color) !important',
19
+ boxShadow: 'none',
20
+ backgroundColor: 'var(--bs-popover-bg)',
21
+ borderRadius: '4px',
22
+ outline: '0'
16
23
  };
17
- const FOCUS_CONTROL_STYLE = {
24
+ const DISABLED_CONTROL_STYLE = {
18
25
  fontSize: '14px',
19
- backgroundColor: '#ffffff',
20
- borderColor: '#1991eb',
26
+ padding: '0 4px 0 8px',
27
+ border: '1px solid rgba(0, 40, 100, 0.12)',
28
+ boxShadow: 'none',
29
+ backgroundColor: 'var(--bs-bg-color)',
30
+ borderRadius: '4px',
21
31
  outline: '0',
22
- boxShadow: '0 0 0 2px rgba(70, 127, 207, 0.25)'
32
+ cursor: 'default',
33
+ opacity: 0.65
34
+ };
35
+ const FOCUS_CONTROL_STYLE = {
36
+ fontSize: '14px',
37
+ padding: '0 4px 0 8px',
38
+ border: '1px solid var(--bs-bg-border-color)',
39
+ boxShadow: 'none',
40
+ backgroundColor: 'var(--bs-popover-bg)',
41
+ borderRadius: '4px',
42
+ outline: '0'
43
+ };
44
+ const HEADER_ICON_STYLE = {
45
+ padding: '0 0.5rem !important'
23
46
  };
24
- const noneCallback = () => ({
25
- display: 'none'
26
- });
27
47
  const controlCallback = (provided, state) => {
28
48
  const isDisabled = state.isDisabled,
29
49
  isFocused = state.isFocused;
30
- if (isFocused && !isDisabled) {
31
- return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), FOCUS_CONTROL_STYLE), {}, {
32
- '&:hover': (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), FOCUS_CONTROL_STYLE)
33
- });
50
+ const headerIconStyle = {
51
+ '.header-icon': HEADER_ICON_STYLE,
52
+ '.header-icon .dtable-font': {
53
+ color: 'var(--bs-icon-secondary-color) !important'
54
+ }
55
+ };
56
+ if (isDisabled) {
57
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), DISABLED_CONTROL_STYLE), {}, {
58
+ ':active': {
59
+ border: '1px solid var(--bs-bg-border-color)'
60
+ }
61
+ }, headerIconStyle);
62
+ }
63
+ if (isFocused) {
64
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), FOCUS_CONTROL_STYLE), headerIconStyle);
34
65
  }
35
66
  return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
36
67
  fontSize: '14px',
37
68
  lineHeight: '1.5',
38
69
  cursor: 'pointer'
39
- }, DEFAULT_CONTROL_STYLE), {}, {
40
- '&:hover': (0, _objectSpread2.default)({}, DEFAULT_CONTROL_STYLE)
41
- });
70
+ }, DEFAULT_CONTROL_STYLE), headerIconStyle);
42
71
  };
43
- const UserSelectStyle = exports.UserSelectStyle = {
72
+ const MenuSelectStyle = exports.MenuSelectStyle = {
73
+ menu: base => {
74
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base), {}, {
75
+ backgroundColor: 'var(--bs-popover-bg)',
76
+ border: '1px solid var(--bs-border-secondary-color)',
77
+ borderRadius: '4px',
78
+ boxShadow: 'var(--bs-border-secondary-shadow)',
79
+ marginTop: '4px',
80
+ marginBottom: 0
81
+ });
82
+ },
83
+ menuList: provided => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
84
+ padding: '8px'
85
+ }),
44
86
  option: (provided, state) => {
45
- const isDisabled = state.isDisabled,
46
- isFocused = state.isFocused;
87
+ const isDisabled = state.isDisabled;
47
88
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
89
+ color: 'var(--bs-body-color)',
90
+ borderRadius: '4px',
91
+ minHeight: '32px',
92
+ padding: '8px',
48
93
  cursor: isDisabled ? 'default' : 'pointer',
49
- backgroundColor: isFocused ? '#f5f5f5' : '#fff'
94
+ backgroundColor: 'var(--bs-popover-bg)',
95
+ overflow: 'hidden',
96
+ whiteSpace: 'nowrap',
97
+ textOverflow: 'ellipsis',
98
+ ':hover': {
99
+ backgroundColor: 'var(--bs-btn-background-hover)'
100
+ },
101
+ '.header-icon': HEADER_ICON_STYLE
50
102
  });
51
103
  },
52
104
  control: controlCallback,
53
- indicatorSeparator: noneCallback,
54
- dropdownIndicator: noneCallback,
55
- clearIndicator: noneCallback,
56
- multiValue: provided => {
105
+ menuPortal: base => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base), {}, {
106
+ zIndex: 9999,
107
+ backgroundColor: 'var(--bs-popover-bg)',
108
+ color: 'var(--bs-body-color)',
109
+ borderColor: 'var(--bs-border-secondary-color)'
110
+ }),
111
+ singleValue: provided => {
57
112
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
58
- display: 'inline-flex',
59
- alignItems: 'center',
60
- background: '#eaeaea',
61
- borderRadius: '10px',
62
- margin: '0 10px 0 0',
63
- padding: '0 0 0 2px'
113
+ color: 'var(--bs-body-color)'
64
114
  });
65
115
  },
66
- multiValueLabel: provided => {
116
+ multiValue: provided => {
67
117
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
68
- padding: '0px'
118
+ color: 'var(--bs-body-color)'
69
119
  });
70
120
  },
71
- multiValueRemove: provided => {
121
+ multiValueRemove: styles => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, styles), {}, {
122
+ '.dtable-font': {
123
+ color: 'var(--bs-icon-color)'
124
+ },
125
+ '.dtable-font:hover': {
126
+ backgroundColor: 'transparent',
127
+ color: 'var(--bs-icon-color)'
128
+ }
129
+ }),
130
+ input: styles => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, styles), {}, {
131
+ color: 'var(--bs-body-color)'
132
+ }),
133
+ placeholder: (provided, state) => {
134
+ const isDisabled = state.isDisabled;
72
135
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
73
- color: '#666',
74
- ':hover': {
75
- backgroundColor: 'transparent',
76
- color: '#555555'
77
- }
136
+ color: 'var(--bs-bg-placeholder-color)',
137
+ opacity: isDisabled ? 0.65 : 1
78
138
  });
79
139
  },
80
- singleValue: provided => {
81
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
82
- display: 'inline-flex',
83
- alignItems: 'center',
84
- background: '#eaeaea',
85
- borderRadius: '10px',
86
- margin: '0',
87
- padding: '0 2px',
88
- width: 'fit-content'
89
- });
90
- }
91
- };
92
- const MenuSelectStyle = exports.MenuSelectStyle = {
93
- option: (provided, state) => {
94
- const isDisabled = state.isDisabled,
95
- isFocused = state.isFocused;
140
+ indicatorSeparator: (styles, state) => {
141
+ return {
142
+ 'display': 'none'
143
+ };
144
+ },
145
+ dropdownIndicator: (provided, state) => {
146
+ const isDisabled = state.isDisabled;
96
147
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
97
- fontSize: '13px',
98
- color: '#212529',
99
- cursor: isDisabled ? 'default' : 'pointer',
100
- backgroundColor: isFocused ? '#f5f5f5' : '#fff',
101
- ':active': {
102
- backgroundColor: '#f5f5f5'
103
- },
104
- '.header-icon .dtable-font': {
105
- color: '#aaa'
106
- },
107
- '.header-icon .multicolor-icon': {
108
- color: '#aaa'
148
+ paddingRight: '12px',
149
+ '.dtable-font': {
150
+ color: 'var(--bs-icon-color) !important',
151
+ opacity: isDisabled ? 0.65 : 1
109
152
  }
110
153
  });
111
- },
112
- control: controlCallback,
113
- menuPortal: base => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base), {}, {
114
- zIndex: 9999
115
- }),
116
- indicatorSeparator: noneCallback
154
+ }
117
155
  };
118
156
  const DropdownIndicator = props => {
119
157
  return _reactSelect.components.DropdownIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.DropdownIndicator, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
@@ -121,7 +159,9 @@ const DropdownIndicator = props => {
121
159
  className: "dtable-font dtable-icon-down3",
122
160
  style: {
123
161
  fontSize: '12px',
124
- marginLeft: '-2px'
162
+ marginLeft: '-2px',
163
+ color: 'var(--bs-icon-color)',
164
+ paddingRight: 0
125
165
  }
126
166
  })
127
167
  }));
@@ -142,7 +182,8 @@ const ClearIndicator = _ref => {
142
182
  className: "dtable-font dtable-icon-fork-number",
143
183
  style: {
144
184
  fontSize: '12px',
145
- marginRight: '-2px'
185
+ marginRight: '-2px',
186
+ color: 'var(--bs-icon-color)'
146
187
  }
147
188
  })
148
189
  }));
@@ -157,9 +198,55 @@ const MenuList = props => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
157
198
  });
158
199
  exports.MenuList = MenuList;
159
200
  const Option = props => {
160
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
- style: props.data.style,
162
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.Option, (0, _objectSpread2.default)({}, props))
163
- });
201
+ const isSelected = props.isSelected,
202
+ label = props.label;
203
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.Option, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
204
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
205
+ style: {
206
+ display: 'flex',
207
+ alignItems: 'center',
208
+ justifyContent: 'space-between',
209
+ width: '100%',
210
+ whiteSpace: 'pre-line'
211
+ },
212
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
213
+ className: "seatable-option",
214
+ children: label
215
+ }), isSelected && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
216
+ className: "dtable-font dtable-icon-check",
217
+ style: {
218
+ fontSize: '14px',
219
+ color: 'var(--bs-icon-color)',
220
+ paddingLeft: '16px'
221
+ }
222
+ })]
223
+ })
224
+ }));
225
+ };
226
+ exports.Option = Option;
227
+ const processOptionsWithClear = (options, isClearable) => {
228
+ if (isClearable && options && options.length > 0) {
229
+ return [{
230
+ label: '--',
231
+ value: '__clear__'
232
+ }, ...options];
233
+ }
234
+ return options;
235
+ };
236
+ exports.processOptionsWithClear = processOptionsWithClear;
237
+ const handleSelectChange = (selectedOption, actionMeta, onChangeCallback) => {
238
+ if (selectedOption && selectedOption.value === '__clear__') {
239
+ onChangeCallback(null, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, actionMeta), {}, {
240
+ action: 'clear'
241
+ }));
242
+ } else {
243
+ onChangeCallback(selectedOption, actionMeta);
244
+ }
245
+ };
246
+ exports.handleSelectChange = handleSelectChange;
247
+ const createHandleChange = onChange => {
248
+ return (selectedOption, actionMeta) => {
249
+ handleSelectChange(selectedOption, actionMeta, onChange);
250
+ };
164
251
  };
165
- exports.Option = Option;
252
+ exports.createHandleChange = createHandleChange;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _dtableUtils = require("dtable-utils");
11
10
  var _DTableToolTip = _interopRequireDefault(require("../../../DTableToolTip"));
12
11
  var _DeleteTip = _interopRequireDefault(require("../../../DeleteTip"));
13
12
  var _url = require("../../../utils/url");
@@ -100,7 +99,7 @@ class ImagePreviewer extends _react.default.Component {
100
99
  });
101
100
  return;
102
101
  }
103
- let imageThumbnailUrl = (0, _dtableUtils.getImageThumbnailUrl)(imageItemUrl, config);
102
+ let imageThumbnailUrl = (0, _url.getImageThumbnailUrl)(imageItemUrl, config);
104
103
  (0, _url.checkImgExists)(imageThumbnailUrl).then(() => {
105
104
  this.setState({
106
105
  imageThumbnailUrl: imageThumbnailUrl
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactstrap = require("reactstrap");
11
- var _dtableUtils = require("dtable-utils");
12
11
  var _UploadProgress = _interopRequireDefault(require("../../../../UploadProgress"));
12
+ var _url = require("../../../../utils/url");
13
13
  var _FileUploader = _interopRequireDefault(require("../../../../FileUploader"));
14
14
  var _lang = require("../../../../lang");
15
15
  require("./index.css");
@@ -163,7 +163,7 @@ class LocalImageAddition extends _react.default.Component {
163
163
  const uploadLocalImageValue = this.props.uploadLocalImageValue;
164
164
  let uploadedFileList = [];
165
165
  uploadedFileList = uploadLocalImageValue.length > 0 && uploadLocalImageValue.map((imgSrc, index) => {
166
- let imageThumbnailUrl = (0, _dtableUtils.getImageThumbnailUrl)(imgSrc);
166
+ let imageThumbnailUrl = (0, _url.getImageThumbnailUrl)(imgSrc);
167
167
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
168
168
  className: "dtable-ui-image-wrapper",
169
169
  onMouseEnter: event => this.showDeleteIcon(event, index),
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _dtableUtils = require("dtable-utils");
12
11
  var _Loading = _interopRequireDefault(require("../Loading"));
12
+ var _url = require("../utils/url");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  const ImagesLazyLoad = _ref => {
15
15
  let images = _ref.images,
@@ -52,7 +52,7 @@ const ImagesLazyLoad = _ref => {
52
52
  setLoadedImages([]);
53
53
  setLoadedCount(0);
54
54
  currentImages.forEach((item, index) => {
55
- const url = (0, _dtableUtils.getImageThumbnailUrl)(item, {
55
+ const url = (0, _url.getImageThumbnailUrl)(item, {
56
56
  server,
57
57
  dtableUuid
58
58
  });
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
- var _dtableUtils = require("dtable-utils");
12
11
  var _imagesLazyLoad = _interopRequireDefault(require("./images-lazy-load"));
13
12
  var _ImagePreviewerLightbox = _interopRequireDefault(require("../ImagePreviewerLightbox"));
13
+ var _url = require("../utils/url");
14
14
  require("./index.css");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  class ImageFormatter extends _react.default.Component {
@@ -80,10 +80,7 @@ class ImageFormatter extends _react.default.Component {
80
80
  }
81
81
  if (isSample) {
82
82
  let item = value[0];
83
- let url = (0, _dtableUtils.getImageThumbnailUrl)(item, {
84
- server,
85
- dtableUuid
86
- });
83
+ let url = (0, _url.getImageThumbnailUrl)(item, server);
87
84
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
88
85
  className: className,
89
86
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
@@ -9,7 +9,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _reactImageLightbox = _interopRequireDefault(require("@seafile/react-image-lightbox"));
12
- var _dtableUtils = require("dtable-utils");
13
12
  var _url = require("../utils/url");
14
13
  var _lang = require("../lang");
15
14
  require("@seafile/react-image-lightbox/style.css");
@@ -71,7 +70,7 @@ function ImagePreviewerLightbox(props) {
71
70
  const canRotateImage = onRotateImage && !readOnly && !['gif', 'heic', 'heif'].includes((0, _url.getFileSuffix)(URL)) && (0, _url.isInternalImg)(URL, server);
72
71
  let mainSrc = URL;
73
72
  if ((0, _url.needUseThumbnailImage)(URL)) {
74
- mainSrc = (0, _dtableUtils.getImageThumbnailUrl)(URL, {
73
+ mainSrc = (0, _url.getImageThumbnailUrl)(URL, {
75
74
  server,
76
75
  dtableUuid,
77
76
  workspaceID,
@@ -8,7 +8,6 @@ exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _DTableToolTip = _interopRequireDefault(require("../DTableToolTip"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
- var _dtableUtils = require("dtable-utils");
12
11
  var _DeleteTip = _interopRequireDefault(require("../DeleteTip"));
13
12
  var _url = require("../utils/url");
14
13
  var _lang = require("../lang");
@@ -25,7 +24,7 @@ class ImageThumbnail extends _react.default.Component {
25
24
  });
26
25
  return;
27
26
  }
28
- const imageThumbnailUrl = (0, _dtableUtils.getImageThumbnailUrl)(src);
27
+ const imageThumbnailUrl = (0, _url.getImageThumbnailUrl)(src);
29
28
  (0, _url.checkImgExists)(imageThumbnailUrl).then(() => {
30
29
  this.setState({
31
30
  imageThumbnailUrl
@@ -5,13 +5,105 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  const KeyCodes = {
8
+ Backspace: 8,
9
+ Tab: 9,
10
+ Enter: 13,
11
+ Shift: 16,
12
+ Ctrl: 17,
13
+ Alt: 18,
14
+ PauseBreak: 19,
15
+ CapsLock: 20,
16
+ Escape: 27,
17
+ Esc: 27,
18
+ Space: 32,
19
+ PageUp: 33,
20
+ PageDown: 34,
21
+ End: 35,
22
+ Home: 36,
8
23
  LeftArrow: 37,
9
24
  UpArrow: 38,
10
25
  RightArrow: 39,
11
26
  DownArrow: 40,
12
- Enter: 13,
13
- Tab: 9,
14
- Escape: 27,
15
- Esc: 27
27
+ Insert: 45,
28
+ Delete: 46,
29
+ 0: 48,
30
+ 1: 49,
31
+ 2: 50,
32
+ 3: 51,
33
+ 4: 52,
34
+ 5: 53,
35
+ 6: 54,
36
+ 7: 55,
37
+ 8: 56,
38
+ 9: 57,
39
+ a: 65,
40
+ b: 66,
41
+ c: 67,
42
+ d: 68,
43
+ e: 69,
44
+ f: 70,
45
+ g: 71,
46
+ h: 72,
47
+ i: 73,
48
+ j: 74,
49
+ k: 75,
50
+ l: 76,
51
+ m: 77,
52
+ n: 78,
53
+ o: 79,
54
+ p: 80,
55
+ q: 81,
56
+ r: 82,
57
+ s: 83,
58
+ t: 84,
59
+ u: 85,
60
+ v: 86,
61
+ w: 87,
62
+ x: 88,
63
+ y: 89,
64
+ z: 90,
65
+ LeftWindowKey: 91,
66
+ RightWindowKey: 92,
67
+ SelectKey: 93,
68
+ NumPad0: 96,
69
+ NumPad1: 97,
70
+ NumPad2: 98,
71
+ NumPad3: 99,
72
+ NumPad4: 100,
73
+ NumPad5: 101,
74
+ NumPad6: 102,
75
+ NumPad7: 103,
76
+ NumPad8: 104,
77
+ NumPad9: 105,
78
+ Multiply: 106,
79
+ Add: 107,
80
+ Subtract: 109,
81
+ DecimalPoint: 110,
82
+ Divide: 111,
83
+ F1: 112,
84
+ F2: 113,
85
+ F3: 114,
86
+ F4: 115,
87
+ F5: 116,
88
+ F6: 117,
89
+ F7: 118,
90
+ F8: 119,
91
+ F9: 120,
92
+ F10: 121,
93
+ F12: 123,
94
+ NumLock: 144,
95
+ ScrollLock: 145,
96
+ SemiColon: 186,
97
+ EqualSign: 187,
98
+ Comma: 188,
99
+ Dash: 189,
100
+ Period: 190,
101
+ ForwardSlash: 191,
102
+ GraveAccent: 192,
103
+ OpenBracket: 219,
104
+ BackSlash: 220,
105
+ CloseBracket: 221,
106
+ SingleQuote: 222,
107
+ ChineseInputMethod: 229
16
108
  };
17
109
  var _default = exports.default = KeyCodes;