dtable-ui-component 6.0.110-hap.1 → 6.0.110-hum.4

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 (203) hide show
  1. package/lib/ActionSheet/index.js +35 -42
  2. package/lib/ActivityIndicator/index.js +9 -9
  3. package/lib/AsyncUserSelect/index.js +3 -3
  4. package/lib/Badge/index.js +31 -27
  5. package/lib/CheckboxEditor/index.js +14 -15
  6. package/lib/CollaboratorEditor/index.js +15 -16
  7. package/lib/CollaboratorEditor/pc-editor/index.js +1 -1
  8. package/lib/CollapsibleSettingLayout/index.js +1 -1
  9. package/lib/Comment/body/comment.js +1 -1
  10. package/lib/Comment/body/index.js +9 -7
  11. package/lib/Comment/footer/index.js +1 -1
  12. package/lib/Comment/footer/input/index.js +5 -5
  13. package/lib/Comment/footer/input/participant/index.js +1 -1
  14. package/lib/Comment/footer/participants/participant-select/index.js +2 -2
  15. package/lib/Comment/utils/utilities.js +1 -1
  16. package/lib/DTableColorPicker/ColorPickerPortal/index.js +6 -8
  17. package/lib/DTableColorPicker/index.js +12 -13
  18. package/lib/DTableColorPicker/utils.js +1 -1
  19. package/lib/DTableCommonAddTool/index.js +2 -2
  20. package/lib/DTableCustomizeSelect/index.css +30 -59
  21. package/lib/DTableCustomizeSelect/index.js +11 -10
  22. package/lib/DTableCustomizeSelect/select-option-group/KeyCodes.js +109 -0
  23. package/lib/DTableCustomizeSelect/select-option-group/index.css +130 -0
  24. package/lib/DTableCustomizeSelect/select-option-group/index.js +252 -0
  25. package/lib/DTableCustomizeSelect/select-option-group/option.js +48 -0
  26. package/lib/DTableCustomizeSelect/select-option-group/search-input.js +135 -0
  27. package/lib/DTableCustomizeSelect/util.js +12 -0
  28. package/lib/DTableFiltersPopover/index.js +1 -1
  29. package/lib/DTableFiltersPopover/utils/filter-item-utils.js +2 -2
  30. package/lib/DTableFiltersPopover/utils/index.js +1 -1
  31. package/lib/DTableFiltersPopover/widgets/collaborator-filter/index.js +1 -1
  32. package/lib/DTableFiltersPopover/widgets/filter-group.js +2 -2
  33. package/lib/DTableFiltersPopover/widgets/filter-item.js +1 -1
  34. package/lib/DTableFiltersPopover/widgets/filter-list/index.css +3 -3
  35. package/lib/DTableFiltersPopover/widgets/filter-list/index.js +1 -1
  36. package/lib/DTableFiltersPopover/widgets/rate-item.js +5 -5
  37. package/lib/DTableGroupSelect/index.css +3 -16
  38. package/lib/DTableGroupSelect/select-option-group.css +3 -3
  39. package/lib/DTableGroupSelect/select-option-group.js +10 -11
  40. package/lib/DTableIcon/index.js +4 -4
  41. package/lib/DTableIcon/svg-icon.js +4 -4
  42. package/lib/DTableModalHeader/index.js +8 -6
  43. package/lib/DTableRadioGroup/index.js +3 -3
  44. package/lib/DTableSelect/dtable-select-label.js +1 -1
  45. package/lib/DTableSelect/index.js +145 -44
  46. package/lib/DTableSelect/select-dropdown-indicator/index.css +12 -0
  47. package/lib/DTableSelect/select-dropdown-indicator/index.js +20 -0
  48. package/lib/DTableSelect/select-style.js +134 -0
  49. package/lib/DTableSelect/user-select.css +3 -50
  50. package/lib/DateEditor/index.js +10 -13
  51. package/lib/DateEditor/pc-editor.js +1 -1
  52. package/lib/DatePicker/utils.js +4 -4
  53. package/lib/DepartmentMultipleSelectEditor/index.js +3 -3
  54. package/lib/DepartmentSelectFilter/index.js +2 -5
  55. package/lib/DepartmentSingleSelectEditor/index.js +14 -15
  56. package/lib/DepartmentSingleSelectEditor/mb-editor/index.js +2 -2
  57. package/lib/DepartmentSingleSelectEditor/pc-editor/department-single-select.js +6 -6
  58. package/lib/DigitalSignEditor/index.js +14 -15
  59. package/lib/DigitalSignEditor/mb-editor/index.js +4 -4
  60. package/lib/DigitalSignEditor/pc-editor/index.js +6 -7
  61. package/lib/DigitalSignEditor/service.js +1 -1
  62. package/lib/DigitalSignEditor/signature-board/index.js +2 -2
  63. package/lib/DigitalSignFormatter/utils.js +1 -1
  64. package/lib/Drawer/index.js +2 -3
  65. package/lib/FieldDisplaySetting/field-item.js +1 -1
  66. package/lib/FieldDisplaySetting/index.js +9 -11
  67. package/lib/FileEditor/files-previewer/index.js +14 -15
  68. package/lib/FileEditor/files-previewer/mb-previewer/file-previewer/index.js +2 -2
  69. package/lib/FileEditor/files-previewer/pc-previewer/file-previewer/index.js +3 -3
  70. package/lib/FileEditor/index.js +14 -15
  71. package/lib/FileEditor/pc-editor/addition-previewer/index.js +1 -1
  72. package/lib/FileEditor/pc-editor/addition-previewer/local-file-addition/index.js +6 -6
  73. package/lib/FileEditor/pc-editor/index.js +3 -3
  74. package/lib/FileFormatter/index.js +1 -1
  75. package/lib/FileItemFormatter/index.js +1 -1
  76. package/lib/FileUploader/index.js +1 -1
  77. package/lib/FormulaFormatter/index.js +9 -15
  78. package/lib/GeolocationEditor/index.js +19 -23
  79. package/lib/GeolocationEditor/map-editor-utils.js +6 -10
  80. package/lib/GeolocationEditor/mb-editor/index.js +23 -27
  81. package/lib/GeolocationEditor/mb-editor/map-editor/index.js +6 -9
  82. package/lib/GeolocationEditor/pc-editor/country-editor.js +2 -2
  83. package/lib/GeolocationEditor/pc-editor/index.js +15 -21
  84. package/lib/GeolocationEditor/pc-editor/location-editor.js +2 -2
  85. package/lib/GeolocationEditor/pc-editor/map-editor/index.js +9 -13
  86. package/lib/GeolocationEditor/pc-editor/map-editor/large-editor/index.js +6 -9
  87. package/lib/GeolocationEditor/pc-editor/map-selection-editor/index.js +7 -24
  88. package/lib/GeolocationEditor/pc-editor/map-selection-editor/large-editor/index.js +3 -20
  89. package/lib/GeolocationEditor/pc-editor/province-city-editor.js +1 -1
  90. package/lib/GeolocationEditor/pc-editor/province-editor.js +2 -2
  91. package/lib/GeolocationEditor/pc-editor/selector-list.js +1 -1
  92. package/lib/HtmlLongTextFormatter/index.js +1 -1
  93. package/lib/Icon/index.js +17 -13
  94. package/lib/Icon/load-sprite.js +2 -13
  95. package/lib/IconButton/index.js +14 -11
  96. package/lib/ImageEditor/images-previewer/image-preview/index.js +1 -1
  97. package/lib/ImageEditor/index.js +14 -15
  98. package/lib/ImageEditor/pc-editor/addition-previewer/index.js +2 -2
  99. package/lib/ImageEditor/pc-editor/addition-previewer/local-image-addition/index.js +5 -5
  100. package/lib/ImageEditor/pc-editor/images-previewer/index.js +1 -1
  101. package/lib/ImageFormatter/index.js +1 -1
  102. package/lib/ImageThumbnail/index.js +2 -2
  103. package/lib/InputItem/custom-input.js +9 -9
  104. package/lib/InputItem/custom-keyboard.js +37 -34
  105. package/lib/InputItem/index.js +49 -52
  106. package/lib/InputItem/input.js +13 -9
  107. package/lib/LinkEditor/pc-popover/index.js +2 -3
  108. package/lib/List/index.js +21 -17
  109. package/lib/List/list-item.js +52 -50
  110. package/lib/MBEditorHeader/index.js +1 -1
  111. package/lib/MobileFullScreenPage/body/index.js +1 -1
  112. package/lib/MobileFullScreenPage/header/index.js +4 -4
  113. package/lib/MobileFullScreenPage/index.js +1 -1
  114. package/lib/MobileModal/index.js +10 -7
  115. package/lib/Modal/alert.js +2 -2
  116. package/lib/Modal/modal.js +31 -28
  117. package/lib/Modal/prompt.js +10 -10
  118. package/lib/MultipleSelectEditor/index.js +8 -6
  119. package/lib/MultipleSelectFormatter/index.js +1 -1
  120. package/lib/PhoneNumberLink/index.js +1 -1
  121. package/lib/Picker/AbstractPicker.js +28 -26
  122. package/lib/Popover/index.js +12 -9
  123. package/lib/Popover/item.js +26 -22
  124. package/lib/Progress/index.js +8 -10
  125. package/lib/Radio/Radio.js +15 -13
  126. package/lib/Radio/RadioItem.js +18 -18
  127. package/lib/RateFormatter/index.js +2 -2
  128. package/lib/RoleStatusEditor/index.js +1 -1
  129. package/lib/RowExpand/index.js +6 -7
  130. package/lib/RowExpandDialog/body/index.js +14 -14
  131. package/lib/RowExpandDialog/column-content/index.js +1 -1
  132. package/lib/RowExpandDialog/header/index.js +3 -4
  133. package/lib/RowExpandDialog/index.js +32 -43
  134. package/lib/RowExpandEditor/add-btn/index.js +6 -7
  135. package/lib/RowExpandEditor/checkbox-editor/index.js +6 -7
  136. package/lib/RowExpandEditor/collaborator-editor/index.js +6 -7
  137. package/lib/RowExpandEditor/date-editor/index.js +6 -7
  138. package/lib/RowExpandEditor/department-editor/index.js +6 -7
  139. package/lib/RowExpandEditor/digital-sign-editor/index.js +6 -7
  140. package/lib/RowExpandEditor/digital-sign-editor/mb-editor/index.js +4 -4
  141. package/lib/RowExpandEditor/digital-sign-editor/pc-editor/index.js +4 -4
  142. package/lib/RowExpandEditor/duration-editor/index.js +6 -7
  143. package/lib/RowExpandEditor/email-editor/index.js +6 -7
  144. package/lib/RowExpandEditor/email-editor/mb-editor/index.js +1 -1
  145. package/lib/RowExpandEditor/email-editor/pc-editor/index.js +1 -1
  146. package/lib/RowExpandEditor/file-editor/index.js +6 -7
  147. package/lib/RowExpandEditor/geolocation-editor/index.js +6 -7
  148. package/lib/RowExpandEditor/image-editor/index.js +6 -7
  149. package/lib/RowExpandEditor/image-editor/mb-editor/index.js +1 -1
  150. package/lib/RowExpandEditor/image-editor/pc-editor/index.js +1 -1
  151. package/lib/RowExpandEditor/index.js +10 -11
  152. package/lib/RowExpandEditor/long-text-editor/index.js +6 -7
  153. package/lib/RowExpandEditor/multiple-select-editor/index.js +6 -7
  154. package/lib/RowExpandEditor/multiple-select-editor/mb-editor/index.js +1 -1
  155. package/lib/RowExpandEditor/multiple-select-editor/pc-editor/index.js +5 -5
  156. package/lib/RowExpandEditor/number-editor/index.js +6 -7
  157. package/lib/RowExpandEditor/rate-editor/index.js +6 -7
  158. package/lib/RowExpandEditor/rate-editor/mb-editor.js +1 -1
  159. package/lib/RowExpandEditor/rate-editor/pc-editor.js +5 -5
  160. package/lib/RowExpandEditor/single-select-editor/index.js +6 -7
  161. package/lib/RowExpandEditor/single-select-editor/mb-editor/index.js +4 -4
  162. package/lib/RowExpandEditor/single-select-editor/pc-editor/index.js +3 -3
  163. package/lib/RowExpandEditor/text-editor/index.js +6 -7
  164. package/lib/RowExpandEditor/url-editor/index.js +6 -7
  165. package/lib/RowExpandEditor/url-editor/mb-editor/index.js +2 -2
  166. package/lib/RowExpandEditor/url-editor/pc-editor/index.js +2 -2
  167. package/lib/RowExpandFormatter/department-formatter/index.js +3 -6
  168. package/lib/RowExpandFormatter/email-formatter/index.js +1 -1
  169. package/lib/RowExpandFormatter/file-formatter/row-expand-file-item-formatter.js +2 -2
  170. package/lib/RowExpandFormatter/formula-formatter/index.js +11 -17
  171. package/lib/RowExpandFormatter/image-formatter/row-expand-image-item-formatter.js +2 -2
  172. package/lib/RowExpandFormatter/index.js +7 -11
  173. package/lib/RowExpandFormatter/link-formatter/collaborator-item-formatter.js +1 -1
  174. package/lib/RowExpandFormatter/link-formatter/index.js +6 -6
  175. package/lib/RowExpandFormatter/rate-formatter/index.js +2 -2
  176. package/lib/RowExpandFormatter/url-formatter/index.js +2 -2
  177. package/lib/RowExpandView/body/index.js +15 -13
  178. package/lib/RowExpandView/index.js +28 -39
  179. package/lib/SelectOptionGroup/index.css +35 -17
  180. package/lib/SelectOptionGroup/index.js +44 -6
  181. package/lib/SelectedDepartments/index.js +3 -3
  182. package/lib/SimpleLongTextFormatter/index.js +2 -2
  183. package/lib/SingleSelectEditor/index.js +8 -6
  184. package/lib/TabBar/Tab.js +10 -10
  185. package/lib/TabBar/index.js +6 -7
  186. package/lib/Tabs/index.js +9 -10
  187. package/lib/TextareaItem/index.js +45 -43
  188. package/lib/Toast/index.js +5 -5
  189. package/lib/assets/icons/close.svg +1 -0
  190. package/lib/formatterConfig/index.js +3 -3
  191. package/lib/select-editor/index.js +14 -15
  192. package/lib/select-editor/pc-editor/index.js +5 -5
  193. package/lib/toaster/alert.js +1 -1
  194. package/lib/toaster/toast.js +1 -1
  195. package/lib/toaster/toastManager.js +14 -12
  196. package/lib/toaster/toaster.js +9 -12
  197. package/lib/utils/class.js +3 -3
  198. package/lib/utils/departments.js +4 -3
  199. package/lib/utils/getLocale.js +5 -11
  200. package/lib/utils/object-utils.js +4 -5
  201. package/lib/utils/url.js +4 -4
  202. package/package.json +2 -2
  203. package/lib/DTableSelect/utils.js +0 -227
@@ -154,9 +154,9 @@ class SelectOptionGroup extends _react.Component {
154
154
  title: option.label,
155
155
  children: option.label
156
156
  }), isSelected && /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
157
- className: "dtable-font dtable-icon-check-mark"
157
+ className: "dtable-font dtable-icon-check"
158
158
  })]
159
- }, `${option.id}-${index}`);
159
+ }, "".concat(option.id, "-").concat(index));
160
160
  });
161
161
  };
162
162
  this.state = {
@@ -220,7 +220,7 @@ class SelectOptionGroup extends _react.Component {
220
220
  style: style,
221
221
  onMouseDown: this.onMouseDown,
222
222
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
223
- className: "position-relative mb-1",
223
+ className: "position-relative",
224
224
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DTableSearchInput.default, {
225
225
  className: "option-search-control",
226
226
  placeholder: searchPlaceholder,
@@ -230,14 +230,13 @@ class SelectOptionGroup extends _react.Component {
230
230
  clearValue: this.clearValue,
231
231
  components: {
232
232
  ClearIndicator: props => {
233
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
234
- className: "clear-search-text",
235
- onClick: props.clearValue,
236
- title: (0, _lang.getLocale)('Clear_search_text'),
237
- "aria-label": (0, _lang.getLocale)('Clear_search_text'),
238
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
239
- icon: "x"
240
- })
233
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
234
+ className: (0, _classnames.default)('select-search-text-clear input-icon-addon seatable-icon dtable-font dtable-icon-x'),
235
+ onClick: e => {
236
+ e.stopPropagation();
237
+ e.nativeEvent.stopImmediatePropagation();
238
+ props.clearValue();
239
+ }
241
240
  });
242
241
  }
243
242
  }
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _classnames = _interopRequireDefault(require("classnames"));
9
10
  var _svgIcon = _interopRequireDefault(require("./svg-icon"));
10
11
  require("./index.css");
@@ -23,15 +24,14 @@ const DTableIcon = _ref => {
23
24
  if (ariaHidden) {
24
25
  customProps['aria-hidden'] = ariaHidden;
25
26
  }
26
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("i", {
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("i", (0, _objectSpread2.default)({
27
28
  className: (0, _classnames.default)(symbol, className, {
28
29
  'dtable-font': !symbol.includes('dtable-font')
29
30
  }),
30
31
  style: {
31
32
  color
32
- },
33
- ...customProps
34
- });
33
+ }
34
+ }, customProps));
35
35
  }
36
36
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_svgIcon.default, {
37
37
  symbol: symbol,
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _classnames = _interopRequireDefault(require("classnames"));
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  let svgIconComponents = null;
@@ -48,9 +49,8 @@ const SvgIcon = _ref => {
48
49
  IconComponent = getSvg(symbol);
49
50
  }
50
51
  if (!IconComponent) return null;
51
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
52
- className: (0, _classnames.default)('multicolor-icon', className, `multicolor-icon-${symbol}`),
53
- ...props
54
- });
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, (0, _objectSpread2.default)({
53
+ className: (0, _classnames.default)('multicolor-icon', className, "multicolor-icon-".concat(symbol))
54
+ }, props));
55
55
  };
56
56
  var _default = exports.default = SvgIcon;
@@ -5,16 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
  var _reactstrap = require("reactstrap");
10
12
  var _IconButton = _interopRequireDefault(require("../IconButton"));
11
13
  require("./index.css");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ const _excluded = ["children"];
13
16
  const DTableModalHeader = _ref => {
14
17
  let {
15
- children,
16
- ...props
17
- } = _ref;
18
+ children
19
+ } = _ref,
20
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
18
21
  const customCloseBtn = /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
19
22
  type: "button",
20
23
  className: "close dtable-modal-close",
@@ -26,10 +29,9 @@ const DTableModalHeader = _ref => {
26
29
  className: "dtable-modal-close-inner"
27
30
  })
28
31
  });
29
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactstrap.ModalHeader, {
30
- ...props,
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactstrap.ModalHeader, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
31
33
  close: customCloseBtn,
32
34
  children: children
33
- });
35
+ }));
34
36
  };
35
37
  var _default = exports.default = DTableModalHeader;
@@ -49,7 +49,7 @@ class DTableRadioGroup extends _react.default.Component {
49
49
  options
50
50
  } = this.props;
51
51
  if (!this.btn || !this.slider || !Array.isArray(options)) return;
52
- this.slider.style.width = `${100 / options.length}%`;
52
+ this.slider.style.width = "".concat(100 / options.length, "%");
53
53
  this.setSliderTransition();
54
54
  }
55
55
  componentDidUpdate(prevProps) {
@@ -77,13 +77,13 @@ class DTableRadioGroup extends _react.default.Component {
77
77
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
78
78
  className: "radio-group-wrapper",
79
79
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
80
- className: `radio-group-options ${readOnly ? 'read-only' : ''}`,
80
+ className: "radio-group-options ".concat(readOnly ? 'read-only' : ''),
81
81
  children: [options.map(option => {
82
82
  const isActive = activeOption === option ? true : false;
83
83
  const displayOption = optionsDisplay && optionsDisplay[option] || '';
84
84
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
85
85
  ref: ref => this.btn = ref,
86
- className: `radio-group-button ${isActive ? 'active' : ''}`,
86
+ className: "radio-group-button ".concat(isActive ? 'active' : ''),
87
87
  "data-option": option,
88
88
  onClick: this.onSelectChanged,
89
89
  children: displayOption
@@ -15,7 +15,7 @@ function DTableSelectLabel(_ref) {
15
15
  isSelect = false
16
16
  } = _ref;
17
17
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
18
- className: `${classname} w-100 d-flex justify-content-between`,
18
+ className: "".concat(classname, " w-100 d-flex justify-content-between"),
19
19
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
20
20
  children: name
21
21
  }), isSelect && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -1,82 +1,183 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
11
  var _react = _interopRequireDefault(require("react"));
9
- var _reactSelect = _interopRequireDefault(require("react-select"));
10
- var _utils = require("./utils");
12
+ var _reactSelect = _interopRequireWildcard(require("react-select"));
13
+ var _selectStyle = require("./select-style");
14
+ var _selectDropdownIndicator = _interopRequireDefault(require("./select-dropdown-indicator"));
11
15
  var _jsxRuntime = require("react/jsx-runtime");
16
+ const _excluded = ["innerProps"],
17
+ _excluded2 = ["children"];
18
+ const DropdownIndicator = props => {
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.DropdownIndicator, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_selectDropdownIndicator.default, {})
21
+ }));
22
+ };
23
+ const ClearIndicator = _ref => {
24
+ let {
25
+ innerProps
26
+ } = _ref,
27
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
28
+ const onMouseDown = e => {
29
+ e.nativeEvent.stopImmediatePropagation();
30
+ innerProps.onMouseDown(e);
31
+ };
32
+ props.innerProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, innerProps), {}, {
33
+ onMouseDown
34
+ });
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.ClearIndicator, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
37
+ className: "d-flex align-items-center",
38
+ style: {
39
+ marginLeft: '-2px'
40
+ },
41
+ "aria-hidden": "true",
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
43
+ className: "dtable-font dtable-icon-fork-number",
44
+ style: {
45
+ width: '12px',
46
+ height: '12px'
47
+ }
48
+ })
49
+ })
50
+ }));
51
+ };
52
+ const MenuList = props => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ onClick: e => e.nativeEvent.stopImmediatePropagation(),
54
+ onMouseDown: e => e.nativeEvent.stopImmediatePropagation(),
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.MenuList, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
56
+ children: props.children
57
+ }))
58
+ });
59
+ const Option = props => {
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
+ style: props.data.style,
62
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.Option, (0, _objectSpread2.default)({}, props))
63
+ });
64
+ };
65
+ const ValueContainer = _ref2 => {
66
+ var _props$selectProps$va;
67
+ let {
68
+ children
69
+ } = _ref2,
70
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
71
+ // Do not show '--'
72
+ const isClearOption = ((_props$selectProps$va = props.selectProps.value) === null || _props$selectProps$va === void 0 ? void 0 : _props$selectProps$va.value) === null;
73
+ if (isClearOption) {
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.ValueContainer, (0, _objectSpread2.default)({}, props));
75
+ }
76
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.components.ValueContainer, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
77
+ className: "seatable-select-value-container",
78
+ children: children
79
+ }));
80
+ };
12
81
  class DTableSelect extends _react.default.Component {
82
+ constructor() {
83
+ super(...arguments);
84
+ this.getMenuPortalTarget = () => {
85
+ const {
86
+ menuPortalTarget = '.modal'
87
+ } = this.props;
88
+ return document.querySelector(menuPortalTarget);
89
+ };
90
+ this.handleSelectChange = val => {
91
+ const {
92
+ onChange
93
+ } = this.props;
94
+ if (!val.value) {
95
+ onChange('');
96
+ return;
97
+ }
98
+ onChange(val);
99
+ };
100
+ }
13
101
  render() {
14
102
  const {
15
- options,
16
- onChange,
17
- value,
18
- isSearchable,
19
- placeholder,
20
- isMulti,
103
+ options = [],
104
+ value = {},
105
+ isSearchable = false,
106
+ placeholder = '',
107
+ isMulti = false,
21
108
  menuPosition,
22
- isClearable,
23
- noOptionsMessage,
109
+ isClearable = true,
110
+ noOptionsMessage = () => {
111
+ return null;
112
+ },
24
113
  classNamePrefix,
25
- style,
26
114
  innerRef,
27
- isDisabled,
115
+ isDisabled = false,
28
116
  form,
117
+ className = '',
29
118
  customFilterOption,
30
- autoFocus,
31
- className
119
+ autoFocus
32
120
  } = this.props;
121
+ if (isClearable) {
122
+ if (value && value.label !== '--' && options[0].label !== '--') {
123
+ options.unshift({
124
+ value: null,
125
+ label: '--'
126
+ });
127
+ }
128
+ if (value && value.label === '--' && options[0].label === '--') {
129
+ options.shift();
130
+ }
131
+ }
132
+ const optionsWithCheck = options.map(option => {
133
+ const isSelected = value && value.value === option.value;
134
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, option), {}, {
135
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
136
+ className: "d-flex align-items-center justify-content-between",
137
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
138
+ className: "select-option-label",
139
+ children: option.label
140
+ }), isSelected && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
141
+ className: "dtable-font dtable-icon-check",
142
+ style: {
143
+ width: '12px',
144
+ height: '12px'
145
+ }
146
+ })]
147
+ })
148
+ });
149
+ });
33
150
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSelect.default, {
34
151
  value: value,
35
- onChange: onChange,
36
- options: options,
152
+ isDisabled: isDisabled,
153
+ ref: innerRef,
154
+ onChange: this.handleSelectChange,
155
+ options: optionsWithCheck,
37
156
  isMulti: isMulti,
38
157
  className: className,
39
158
  classNamePrefix: classNamePrefix,
40
- styles: style || _utils.MenuSelectStyle,
159
+ styles: _selectStyle.MenuSelectStyle,
41
160
  components: {
42
- Option: _utils.Option,
43
- DropdownIndicator: _utils.DropdownIndicator,
44
- MenuList: _utils.MenuList,
45
- ClearIndicator: _utils.ClearIndicator
161
+ Option,
162
+ DropdownIndicator,
163
+ MenuList,
164
+ ClearIndicator,
165
+ ValueContainer
46
166
  },
47
167
  placeholder: placeholder,
48
168
  isSearchable: isSearchable,
49
- isClearable: isClearable,
169
+ isClearable: false,
50
170
  menuPosition: menuPosition || 'fixed' // when use default menuPosition(absolute), menuPortalTarget is unnecessary.
51
171
  ,
52
172
  menuShouldScrollIntoView: true,
53
- menuPortalTarget: document.querySelector(this.props.menuPortalTarget),
173
+ menuPortalTarget: this.getMenuPortalTarget(),
54
174
  captureMenuScroll: false,
55
175
  hideSelectedOptions: false,
56
176
  noOptionsMessage: noOptionsMessage,
57
- isDisabled: isDisabled,
58
- ref: innerRef,
59
177
  filterOption: customFilterOption,
60
- form: form,
61
178
  autoFocus: autoFocus,
62
- menuIsOpen: true,
63
- onMenuClose: () => {},
64
- onMenuOpen: () => {}
179
+ form: form
65
180
  });
66
181
  }
67
182
  }
68
- exports.default = DTableSelect;
69
- DTableSelect.defaultProps = {
70
- options: [],
71
- value: {},
72
- isDisabled: false,
73
- isSearchable: false,
74
- isClearable: false,
75
- placeholder: '',
76
- isMulti: false,
77
- autoFocus: false,
78
- menuPortalTarget: '.modal',
79
- noOptionsMessage: () => {
80
- return null;
81
- }
82
- };
183
+ exports.default = DTableSelect;
@@ -0,0 +1,12 @@
1
+ .select-dropdown-indicator {
2
+ position: absolute;
3
+ top: 50%;
4
+ right: 16px;
5
+ transform: translateY(-50%);
6
+ margin-left: -2px;
7
+ }
8
+
9
+ .select-dropdown-indicator svg {
10
+ width: 12px;
11
+ height: 12px;
12
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ require("./index.css");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ const SelectDropdownIndicator = () => {
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
13
+ className: "select-dropdown-indicator d-flex align-items-center",
14
+ "aria-hidden": "true",
15
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
16
+ className: "dtable-font dtable-icon-down3"
17
+ })
18
+ });
19
+ };
20
+ var _default = exports.default = SelectDropdownIndicator;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MenuSelectStyle = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
+ // Seahub select is based on seafile-ui.css, so use the following content to override the default react-select style
10
+ const DEFAULT_CONTROL_STYLE = {
11
+ fontSize: '14px',
12
+ padding: '0 4px',
13
+ border: '1px solid var(--bs-border-color) !important',
14
+ boxShadow: 'none',
15
+ backgroundColor: 'var(--bs-popover-bg)',
16
+ borderRadius: '4px',
17
+ outline: '0'
18
+ };
19
+ const FOCUS_CONTROL_STYLE = {
20
+ fontSize: '14px',
21
+ padding: '0 4px',
22
+ border: '1px solid #3e84f7',
23
+ boxShadow: 'none',
24
+ backgroundColor: 'var(--bs-popover-bg)',
25
+ borderRadius: '4px',
26
+ outline: '0'
27
+ };
28
+ const controlCallback = (provided, state) => {
29
+ const {
30
+ isDisabled,
31
+ isFocused
32
+ } = state;
33
+ if (isDisabled) {
34
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), DEFAULT_CONTROL_STYLE), {}, {
35
+ cursor: 'default',
36
+ backgroundColor: '#f5f5f5',
37
+ opacity: 0.65
38
+ });
39
+ }
40
+ if (isFocused) {
41
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), FOCUS_CONTROL_STYLE), {}, {
42
+ '&:hover': (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), FOCUS_CONTROL_STYLE)
43
+ });
44
+ }
45
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
46
+ fontSize: '14px',
47
+ lineHeight: '1.5',
48
+ cursor: 'pointer'
49
+ }, DEFAULT_CONTROL_STYLE), {}, {
50
+ '&:hover': (0, _objectSpread2.default)({}, DEFAULT_CONTROL_STYLE)
51
+ });
52
+ };
53
+ const MenuSelectStyle = exports.MenuSelectStyle = {
54
+ // .react-select__menu / react-select-2-listbox
55
+ menu: base => {
56
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base), {}, {
57
+ padding: '4px 0 4px 8px',
58
+ backgroundColor: 'var(--bs-popover-bg)',
59
+ border: '1px solid var(--bs-border-secondary-color)',
60
+ borderRadius: '4px',
61
+ boxShadow: '0px 6px 14px rgba(0, 0, 0, 0.1)',
62
+ marginTop: '4px'
63
+ });
64
+ },
65
+ // .react-select__menu-list)
66
+ menuList: provided => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
67
+ paddingRight: '8px'
68
+ }),
69
+ option: (provided, state) => {
70
+ const {
71
+ isDisabled,
72
+ isFocused,
73
+ isActive,
74
+ isVisited
75
+ } = state;
76
+ let bgColor;
77
+ if (isActive || isVisited) {
78
+ bgColor = 'rgba(0, 0, 0, 0.06)';
79
+ } else if (isFocused) {
80
+ bgColor = 'var(--bs-bg-color)';
81
+ } else {
82
+ bgColor = 'var(--bs-popover-bg)';
83
+ }
84
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
85
+ color: 'var(--bs-body-color)',
86
+ borderRadius: '4px',
87
+ minHeight: '32px',
88
+ padding: '6px 12px 6px 8px',
89
+ cursor: isDisabled ? 'default' : 'pointer',
90
+ backgroundColor: "".concat(bgColor, " !important")
91
+ });
92
+ },
93
+ control: controlCallback,
94
+ menuPortal: base => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, base), {}, {
95
+ zIndex: 9999,
96
+ backgroundColor: 'var(--bs-popover-bg)',
97
+ color: 'var(--bs-body-color)',
98
+ borderColor: 'var(--bs-border-secondary-color)'
99
+ }),
100
+ singleValue: provided => {
101
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
102
+ color: 'var(--bs-body-color)'
103
+ });
104
+ },
105
+ multiValue: provided => {
106
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
107
+ color: 'var(--bs-body-color)'
108
+ });
109
+ },
110
+ multiValueRemove: styles => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, styles), {}, {
111
+ color: '#909090',
112
+ ':hover': {
113
+ backgroundColor: 'transparent',
114
+ color: 'var(--bs-icon-color)'
115
+ }
116
+ }),
117
+ input: styles => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, styles), {}, {
118
+ color: 'var(--bs-body-color)'
119
+ }),
120
+ placeholder: (provided, state) => {
121
+ const {
122
+ isDisabled
123
+ } = state;
124
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, provided), {}, {
125
+ color: '#868e96',
126
+ opacity: isDisabled ? 0.65 : 1
127
+ });
128
+ },
129
+ indicatorSeparator: (styles, state) => {
130
+ return {
131
+ 'display': 'none'
132
+ };
133
+ }
134
+ };
@@ -1,51 +1,4 @@
1
- .user-select .select-module-container {
2
- display: flex;
3
- align-items: center;
4
- }
5
-
6
- .user-select .select-module.select-module-avatar {
7
- height: 24px;
8
- width: 24px;
9
- border-radius: 50%;
10
- }
11
-
12
- .user-select .select-module.select-module-name {
13
- color: #212529;
14
- font-size: 14px;
15
- }
16
-
17
- .user-select .true__value-container .select-module-container {
18
- display: block;
19
- }
20
-
21
- .user-select .true__value-container .select-module.select-module-avatar {
22
- height: 16px;
23
- width: 16px;
24
- border-radius: 50%;
25
- }
26
-
27
- .user-select .true__value-container .true__multi-value__label {
28
- padding: 0px;
29
- }
30
-
31
- .user-select .true__value-container .true__multi-value__label .select-module.select-module-avatar {
32
- transform: translateY(-2px);
33
- }
34
-
35
- .user-select .true__value-container .select-module.select-module-name {
36
- font-size: 13px;
37
- overflow: hidden;
38
- text-overflow: ellipsis;
39
- white-space: nowrap;
40
- flex: 1 1;
41
- line-height: 20px;
42
- margin-left: 5px;
43
- }
44
-
45
- .user-select .true__control.true__control--is-focused,
46
- .user-select .true__control.true__control--is-focused:hover {
47
- background-color: #ffffff;
48
- border-color: #1991eb;
49
- outline: 0;
50
- box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
1
+ /* hide checkbox in select value container */
2
+ .seatable-select-value-container .seatable-multicolor-icon-check {
3
+ display: none;
51
4
  }
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _reactResponsive = _interopRequireDefault(require("react-responsive"));
11
12
  var _dtableUtils = require("dtable-utils");
@@ -59,33 +60,29 @@ const DateEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
59
60
  onCommit: handelCommit,
60
61
  onClose: hideCalendar
61
62
  };
62
- if (isMobile === false) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_pcEditor.default, {
63
- ...props,
63
+ if (isMobile === false) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_pcEditor.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
64
64
  isInModal: isInModal,
65
65
  ref: ref
66
- });
67
- if (isMobile === true) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_mbEditor.default, {
68
- ...props,
66
+ }));
67
+ if (isMobile === true) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_mbEditor.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
69
68
  isReadOnly: isReadOnly,
70
69
  column: column,
71
70
  ref: ref
72
- });
71
+ }));
73
72
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
74
73
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactResponsive.default, {
75
74
  query: '(min-width: 768px)',
76
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_pcEditor.default, {
77
- ...props,
75
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_pcEditor.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
78
76
  isInModal: isInModal,
79
77
  ref: ref
80
- })
78
+ }))
81
79
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactResponsive.default, {
82
80
  query: '(max-width: 768px)',
83
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_mbEditor.default, {
84
- ...props,
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_mbEditor.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
85
82
  isReadOnly: isReadOnly,
86
83
  column: column,
87
84
  ref: ref
88
- })
85
+ }))
89
86
  })]
90
87
  });
91
88
  });