@titaui/pc 1.16.42 → 1.16.43-beta.10

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 (66) hide show
  1. package/lib/components/communication/index.js +98 -54
  2. package/lib/components/date-picker/BodyItem.js +3 -3
  3. package/lib/components/date-picker/CalendarHeader.js +3 -3
  4. package/lib/components/delete-confirm-pop/ConfirmPop.js +3 -3
  5. package/lib/components/eReport/eReportLists/reportList.js +3 -3
  6. package/lib/components/emotions-selector/selector-pop.js +3 -3
  7. package/lib/components/ereport-list/index.js +3 -3
  8. package/lib/components/mblog/components/MblogAction.js +3 -3
  9. package/lib/components/mblog/components/MblogContent.js +2 -0
  10. package/lib/components/mblog/index.js +3 -1
  11. package/lib/components/okr-detail/components/okr-tree/tree-node/kr-node/kr-score-editor/edit-pop.js +3 -3
  12. package/lib/components/okr-review/components/confirm-pop/ConfirmPop.js +3 -3
  13. package/lib/components/picker/components/panels/date-panel/date-body.js +27 -101
  14. package/lib/components/picker/components/panels/date-panel/date-head.js +8 -16
  15. package/lib/components/picker/components/panels/date-panel/date-rows.js +145 -0
  16. package/lib/components/picker/components/panels/date-panel/index.css +26 -7
  17. package/lib/components/picker/components/panels/date-panel/index.js +46 -11
  18. package/lib/components/picker/components/panels/date-panel/useRowsData.js +77 -0
  19. package/lib/components/picker/components/panels/month-panel/index.css +19 -9
  20. package/lib/components/picker/components/panels/month-panel/month-body.js +14 -56
  21. package/lib/components/picker/components/panels/month-panel/month-head.js +19 -2
  22. package/lib/components/picker/components/panels/month-panel/useRowsData.js +61 -0
  23. package/lib/components/picker/components/panels/panel-head/index.js +4 -0
  24. package/lib/components/picker/components/panels/week-panel/index.css +1 -1
  25. package/lib/components/picker/components/panels/year-panel/index.css +28 -6
  26. package/lib/components/picker/components/panels/year-panel/useRowsData.js +63 -0
  27. package/lib/components/picker/components/panels/year-panel/year-body.js +19 -48
  28. package/lib/components/picker/components/panels/year-panel/year-head.js +20 -1
  29. package/lib/components/picker/components/picker-trigger/index.js +1 -1
  30. package/lib/components/picker/context.js +19 -9
  31. package/lib/components/picker/index.css +16 -2
  32. package/lib/components/picker/picker-panels.js +14 -26
  33. package/lib/components/picker/picker.js +27 -28
  34. package/lib/components/picker/range-picker/components/picker-trigger/index.js +3 -3
  35. package/lib/components/picker/range-picker/components/select-input/index.js +3 -9
  36. package/lib/components/picker/range-picker/index.js +13 -18
  37. package/lib/components/picker/utils.js +11 -5
  38. package/lib/components/range-selector-pop/RangeSelectorPop.js +3 -3
  39. package/lib/components/rich-editor/models/schema.js +6 -6
  40. package/lib/components/rich-editor/plugins/block/block-quote/index.js +8 -8
  41. package/lib/components/rich-editor/plugins/block/heading/index.js +8 -8
  42. package/lib/components/rich-editor/plugins/block/lists/index.js +14 -14
  43. package/lib/components/rich-editor/plugins/block/paragraph/index.js +5 -5
  44. package/lib/components/rich-editor/plugins/core/index.js +4 -4
  45. package/lib/components/rich-editor/plugins/extension/alignment/index.js +5 -5
  46. package/lib/components/rich-editor/plugins/extension/placeholder/index.js +4 -4
  47. package/lib/components/rich-editor/plugins/inline/color/index.js +11 -11
  48. package/lib/components/rich-editor/plugins/inline/delete-line/index.js +8 -8
  49. package/lib/components/rich-editor/plugins/inline/em/index.js +5 -5
  50. package/lib/components/rich-editor/plugins/inline/link/index.js +8 -8
  51. package/lib/components/rich-editor/plugins/inline/strong/index.js +8 -8
  52. package/lib/components/rich-editor/plugins/inline/under-line/index.js +8 -8
  53. package/lib/components/rich-editor/react/uiProvider.js +3 -3
  54. package/lib/components/rich-editor/ui/Popup/index.js +3 -3
  55. package/lib/components/select/Option.js +3 -3
  56. package/lib/components/tita-chart/errorBoundary/index.js +3 -3
  57. package/lib/components-v1/animate/AnimateChild.js +3 -3
  58. package/lib/components-v1/avatar/index.js +3 -3
  59. package/lib/components-v1/dropDownSelector/StatelessDropdown.js +3 -3
  60. package/lib/components-v1/progress/CircleProgress.js +3 -3
  61. package/lib/components-v1/select/Option.js +3 -3
  62. package/lib/components-v1/userSelector/UserSelectorPop.js +3 -3
  63. package/lib/components-v1/userSelector/components/MultiMode/index.js +3 -3
  64. package/lib/components-v1/userSelector/components/UserItem.js +3 -3
  65. package/lib/utils/editor.js +7 -4
  66. package/package.json +2 -1
@@ -34,7 +34,7 @@ function DatePanelHead(props) {
34
34
  }, /*#__PURE__*/_react["default"].createElement("button", {
35
35
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__year")),
36
36
  onClick: function onClick() {
37
- return onPanelChange && onPanelChange(viewDate, 'year');
37
+ return onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, 'year');
38
38
  },
39
39
  type: "button"
40
40
  }, yearText), /*#__PURE__*/_react["default"].createElement("span", {
@@ -42,7 +42,7 @@ function DatePanelHead(props) {
42
42
  }, "\xA0\u5E74"), /*#__PURE__*/_react["default"].createElement("button", {
43
43
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__month")),
44
44
  onClick: function onClick() {
45
- return onPanelChange && onPanelChange(viewDate, 'month');
45
+ return onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, 'month');
46
46
  },
47
47
  type: "button"
48
48
  }, monthText), /*#__PURE__*/_react["default"].createElement("span", {
@@ -52,7 +52,7 @@ function DatePanelHead(props) {
52
52
  }, /*#__PURE__*/_react["default"].createElement("button", {
53
53
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__month")),
54
54
  onClick: function onClick() {
55
- return onPanelChange && onPanelChange(viewDate, 'month');
55
+ return onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, 'month');
56
56
  },
57
57
  style: {
58
58
  marginRight: 4
@@ -61,25 +61,17 @@ function DatePanelHead(props) {
61
61
  }, _utils.MONTHDATAMAPEN[Number(monthText) - 1]), /*#__PURE__*/_react["default"].createElement("button", {
62
62
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__year")),
63
63
  onClick: function onClick() {
64
- return onPanelChange && onPanelChange(viewDate, 'year');
64
+ return onPanelChange === null || onPanelChange === void 0 ? void 0 : onPanelChange(viewDate, 'year');
65
65
  },
66
66
  type: "button"
67
67
  }, yearText)), /*#__PURE__*/_react["default"].createElement("div", {
68
68
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "__operation"))
69
- },
70
- /*#__PURE__*/
71
- // eslint-disable-next-line jsx-a11y/control-has-associated-label
72
- _react["default"].createElement("button", {
69
+ }, /*#__PURE__*/_react["default"].createElement("button", {
73
70
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__prev"), 'tu-icon-arrow-up1'),
74
- onClick: onPrev,
75
- type: "button"
76
- }),
77
- /*#__PURE__*/
78
- // eslint-disable-next-line jsx-a11y/control-has-associated-label
79
- _react["default"].createElement("button", {
71
+ onClick: onPrev
72
+ }), /*#__PURE__*/_react["default"].createElement("button", {
80
73
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__next"), 'tu-icon-arrow-down1'),
81
- onClick: onNext,
82
- type: "button"
74
+ onClick: onNext
83
75
  })));
84
76
  }
85
77
 
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _lodash = _interopRequireDefault(require("lodash.throttle"));
15
+
16
+ var _moment = _interopRequireDefault(require("moment"));
17
+
18
+ var _reactVirtualized = require("react-virtualized");
19
+
20
+ var _context = _interopRequireDefault(require("../../../context"));
21
+
22
+ var _utils = require("../../../utils");
23
+
24
+ var _useRowsData = _interopRequireDefault(require("./useRowsData"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+
38
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
39
+
40
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
41
+
42
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ var DATE_ROW_NUM = 6;
47
+ var DATE_CELL_HEIGHT = 32;
48
+ var DATE_PANEL_WIDTH = 240;
49
+
50
+ var DatePanelRows = function DatePanelRows(props) {
51
+ var mergeDate = props.mergeDate,
52
+ onSelect = props.onSelect,
53
+ setMergeDate = props.setMergeDate;
54
+
55
+ var _useContext = (0, _react.useContext)(_context["default"]),
56
+ format = _useContext.format,
57
+ max = _useContext.max,
58
+ min = _useContext.min,
59
+ value = _useContext.value;
60
+
61
+ var _useState = (0, _react.useState)(true),
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ enableScroll = _useState2[0],
64
+ setEnableScroll = _useState2[1];
65
+
66
+ var _useState3 = (0, _react.useState)(0),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ prevScrollTop = _useState4[0],
69
+ setPrevScrollTop = _useState4[1];
70
+
71
+ var rowsData = (0, _useRowsData["default"])({
72
+ format: format,
73
+ max: max,
74
+ min: min
75
+ });
76
+
77
+ var onScrollHandler = function onScrollHandler(data) {
78
+ setEnableScroll(true);
79
+ if (!enableScroll) return;
80
+ var scrollTop = data.scrollTop;
81
+ var scrollToTop = prevScrollTop - scrollTop > 0;
82
+ var rowDiff = scrollToTop ? DATE_CELL_HEIGHT * 5 : DATE_CELL_HEIGHT;
83
+ var rowIndex = Math.ceil((scrollTop + rowDiff) / DATE_CELL_HEIGHT);
84
+ var rowData = rowsData[rowIndex];
85
+ setMergeDate(rowData ? (0, _moment["default"])(rowData === null || rowData === void 0 ? void 0 : rowData[0]).date(scrollToTop ? 1 : 28) : mergeDate);
86
+ setPrevScrollTop(scrollTop);
87
+ };
88
+
89
+ var rowRenderer = (0, _react.useCallback)(function (_ref) {
90
+ var key = _ref.key,
91
+ index = _ref.index,
92
+ isScrolling = _ref.isScrolling,
93
+ isVisible = _ref.isVisible,
94
+ style = _ref.style;
95
+ var rowData = rowsData[index];
96
+ return /*#__PURE__*/_react["default"].createElement("div", {
97
+ className: (0, _classnames["default"])("".concat(_utils.PickerBodyClass, "__calendar-item")),
98
+ key: key,
99
+ style: style
100
+ }, rowData.map(function (d) {
101
+ var _classNames;
102
+
103
+ var currentDate = (0, _moment["default"])(d);
104
+
105
+ var _isCurrentDateInRange = (0, _utils.isCurrentDateInRanges)({
106
+ nowDate: d,
107
+ values: value
108
+ }),
109
+ inRanges = _isCurrentDateInRange.inRanges,
110
+ rangeStart = _isCurrentDateInRange.rangeStart,
111
+ rangeEnd = _isCurrentDateInRange.rangeEnd;
112
+
113
+ var classes = (0, _classnames["default"])(_utils.PickerCellClass, (_classNames = {}, _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--today"), currentDate.isSame((0, _moment["default"])(), 'date')), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--in-view"), currentDate.format('YYYY/MM') == (0, _moment["default"])(mergeDate).format('YYYY/MM') && isVisible), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--in-ranges"), inRanges), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--in-ranges--start"), rangeStart), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--in-ranges--end"), rangeEnd), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--selected"), value === null || value === void 0 ? void 0 : value.some(function (v) {
114
+ return currentDate.isSame((0, _moment["default"])(v).format(_utils.PickerFormat), 'date');
115
+ })), _classNames));
116
+ return /*#__PURE__*/_react["default"].createElement("div", {
117
+ className: classes,
118
+ key: currentDate.format(_utils.PickerFormat)
119
+ }, /*#__PURE__*/_react["default"].createElement("div", {
120
+ className: (0, _classnames["default"])("".concat(_utils.PickerCellClass, "__inner")),
121
+ title: (0, _moment["default"])(currentDate).format('YYYY-MM-DD'),
122
+ onClick: function onClick() {
123
+ return onSelect === null || onSelect === void 0 ? void 0 : onSelect(currentDate, 'date');
124
+ }
125
+ }, currentDate.date()));
126
+ }));
127
+ }, [mergeDate, rowsData, value]);
128
+ (0, _react.useEffect)(function () {
129
+ setEnableScroll(false);
130
+ }, [mergeDate]);
131
+ return /*#__PURE__*/_react["default"].createElement(_reactVirtualized.List, {
132
+ height: DATE_CELL_HEIGHT * DATE_ROW_NUM,
133
+ overscanRowCount: DATE_ROW_NUM,
134
+ onScroll: (0, _lodash["default"])(onScrollHandler, 300),
135
+ rowCount: rowsData.length,
136
+ rowHeight: DATE_CELL_HEIGHT,
137
+ rowRenderer: rowRenderer,
138
+ scrollToIndex: (0, _moment["default"])(mergeDate).diff((0, _moment["default"])(min), 'weeks'),
139
+ width: DATE_PANEL_WIDTH
140
+ });
141
+ };
142
+
143
+ var _default = /*#__PURE__*/(0, _react.memo)(DatePanelRows);
144
+
145
+ exports["default"] = _default;
@@ -1,14 +1,33 @@
1
- .tita-ui__picker-panel__date {
2
- max-height: 252px;
3
- overflow: hidden;
1
+ .tita-ui__picker-panel__date .tita-ui__picker-head {
2
+ margin-bottom: 15px;
4
3
  }
5
4
 
6
5
  .tita-ui__picker-panel__date .tita-ui__picker-head-btn__prev {
7
6
  margin-right: 8px;
8
7
  }
9
8
 
10
- .tita-ui__picker-panel__date .tita-ui__picker-content thead {
11
- background: #fff;
12
- position: relative;
13
- z-index: 1;
9
+ .tita-ui__picker-panel__date .tita-ui__picker-body__cell-container {
10
+ display: flex;
11
+ }
12
+
13
+ .tita-ui__picker-panel__date .tita-ui__picker-body__cell-container .tita-ui__picker-cell {
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ }
18
+
19
+ .tita-ui__picker-panel__date .tita-ui__picker-body__calendar {
20
+ height: 192px;
21
+ }
22
+
23
+ .tita-ui__picker-panel__date .tita-ui__picker-body__calendar-item {
24
+ display: flex;
25
+ }
26
+
27
+ .tita-ui__picker-panel__date .tita-ui__picker-body__calendar .ReactVirtualized__List::-webkit-scrollbar {
28
+ display: none;
29
+ }
30
+
31
+ .tita-ui__picker-panel__date .tita-ui__picker-content {
32
+ margin-top: 0;
14
33
  }
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
@@ -21,28 +23,61 @@ require("./index.css");
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
25
 
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
24
30
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
31
 
32
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
+
34
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
+
36
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
+
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
+
40
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
41
+
42
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
+
26
44
  var DatePanel = function DatePanel(props) {
27
- var viewDate = props.viewDate,
28
- onViewDateChange = props.onViewDateChange;
45
+ var viewDate = props.viewDate;
46
+
47
+ var _useState = (0, _react.useState)(viewDate),
48
+ _useState2 = _slicedToArray(_useState, 2),
49
+ mergeDate = _useState2[0],
50
+ setMergeDate = _useState2[1];
29
51
 
30
- var onMonthChange = function onMonthChange(diff) {
31
- if (onViewDateChange) {
32
- onViewDateChange((0, _moment["default"])(viewDate).add(diff, 'M'));
33
- }
52
+ var onMonthChange = function onMonthChange(method) {
53
+ return setMergeDate(function (prevDate) {
54
+ return (0, _moment["default"])(prevDate)[method](1, 'M').date(method === 'subtract' ? 1 : 28);
55
+ });
34
56
  };
35
57
 
58
+ var onSelect = function onSelect(date, type) {
59
+ setMergeDate(date);
60
+ props.onSelect(date, type);
61
+ };
62
+
63
+ (0, _react.useEffect)(function () {
64
+ setMergeDate(viewDate);
65
+ }, [viewDate]);
36
66
  return /*#__PURE__*/_react["default"].createElement("div", {
37
67
  className: (0, _classnames["default"])("".concat(_utils.PickerPanelClass, "__date"))
38
68
  }, /*#__PURE__*/_react["default"].createElement(_dateHead["default"], _extends({}, props, {
39
69
  onPrev: function onPrev() {
40
- return onMonthChange(-1);
70
+ return onMonthChange('subtract');
41
71
  },
42
72
  onNext: function onNext() {
43
- return onMonthChange(1);
44
- }
45
- })), /*#__PURE__*/_react["default"].createElement(_dateBody["default"], props));
73
+ return onMonthChange('add');
74
+ },
75
+ viewDate: mergeDate
76
+ })), /*#__PURE__*/_react["default"].createElement(_dateBody["default"], _extends({}, props, {
77
+ mergeDate: mergeDate,
78
+ onSelect: onSelect,
79
+ setMergeDate: setMergeDate
80
+ })));
46
81
  };
47
82
 
48
83
  var _default = DatePanel;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _moment = _interopRequireDefault(require("moment"));
11
+
12
+ var _utils = require("../../../utils");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ function useRowsData(props) {
29
+ var _props$format = props.format,
30
+ format = _props$format === void 0 ? _utils.PickerFormat : _props$format,
31
+ _props$max = props.max,
32
+ max = _props$max === void 0 ? _utils.PickerMaxDate : _props$max,
33
+ _props$min = props.min,
34
+ min = _props$min === void 0 ? _utils.PickerMinDate : _props$min,
35
+ _props$weekStartDay = props.weekStartDay,
36
+ weekStartDay = _props$weekStartDay === void 0 ? 'SUNDAY' : _props$weekStartDay;
37
+
38
+ var _useState = (0, _react.useState)([]),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ rowsData = _useState2[0],
41
+ setRowsData = _useState2[1];
42
+
43
+ var getDateCells = function getDateCells(sunday) {
44
+ var dates = [];
45
+
46
+ for (var day = 0; day < _utils.WEEK_DAYS_COUNT; day += 1) {
47
+ var date = (0, _moment["default"])(sunday).add(day, 'd');
48
+ dates.push(date);
49
+ }
50
+
51
+ return dates;
52
+ };
53
+
54
+ var getDateRows = function getDateRows() {
55
+ var currentDate = (0, _moment["default"])(min);
56
+ var weeksDiff = (0, _moment["default"])((0, _moment["default"])(max).format(format)).diff((0, _moment["default"])(min).format(format), 'weeks');
57
+ var monthFirstDay = currentDate.date(1);
58
+ var daysDiff = weekStartDay === 'SUNDAY' ? 0 : 1;
59
+ var weekend = monthFirstDay.subtract(monthFirstDay.day() - daysDiff, 'days');
60
+ var rows = [];
61
+
62
+ for (var row = 0; row < weeksDiff; row += 1) {
63
+ rows.push(getDateCells(weekend));
64
+ weekend = weekend.add(1, 'w');
65
+ }
66
+
67
+ return rows;
68
+ };
69
+
70
+ (0, _react.useEffect)(function () {
71
+ setRowsData(getDateRows());
72
+ }, []);
73
+ return rowsData;
74
+ }
75
+
76
+ var _default = useRowsData;
77
+ exports["default"] = _default;
@@ -1,32 +1,42 @@
1
- .tita-ui__picker-panel__month .tita-ui__picker-head {
2
- margin-bottom: 6px;
1
+ .tita-ui__picker-panel__month {
2
+ display: grid;
3
+ grid-template: auto 1fr / 100%;
4
+ gap: 17px;
3
5
  }
4
6
 
5
7
  .tita-ui__picker-panel__month .tita-ui__picker-head__view {
6
8
  text-align: center;
7
9
  }
8
10
 
11
+ .tita-ui__picker-panel__month .tita-ui__picker-body {
12
+ display: grid;
13
+ grid-template: repeat(4, 1fr)/repeat(3, 1fr);
14
+ gap: 22px 42px;
15
+ }
16
+
9
17
  .tita-ui__picker-panel__month .tita-ui__picker-cell {
10
18
  width: 52px;
11
19
  height: 28px;
12
- padding: 11px 21px;
13
- }
14
-
15
- .tita-ui__picker-panel__month .tita-ui__picker-cell__inner {
20
+ padding: 5px 0;
21
+ border-radius: 8px;
22
+ transition: all .3s ease;
23
+ background-color: transparent;
24
+ border: none;
25
+ box-sizing: border-box;
16
26
  color: #141c28;
17
27
  }
18
28
 
19
- .tita-ui__picker-panel__month .tita-ui__picker-cell--this-month .tita-ui__picker-cell__inner, .tita-ui__picker-panel__month .tita-ui__picker-cell:hover .tita-ui__picker-cell__inner {
29
+ .tita-ui__picker-panel__month .tita-ui__picker-cell--this-month, .tita-ui__picker-panel__month .tita-ui__picker-cell:hover {
20
30
  background-color: #f0f4fa;
21
31
  color: #2879ff;
22
32
  }
23
33
 
24
- .tita-ui__picker-panel__month .tita-ui__picker-cell--selected .tita-ui__picker-cell__inner {
34
+ .tita-ui__picker-panel__month .tita-ui__picker-cell--selected {
25
35
  background-color: #2879ff;
26
36
  color: #ffffff;
27
37
  }
28
38
 
29
- .tita-ui__picker-panel__month .tita-ui__picker-cell--selected:hover .tita-ui__picker-cell__inner {
39
+ .tita-ui__picker-panel__month .tita-ui__picker-cell--selected:hover {
30
40
  background-color: #5c8eff;
31
41
  color: #ffffff;
32
42
  }
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports["default"] = void 0;
9
7
 
10
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
11
9
 
12
10
  var _classnames = _interopRequireDefault(require("classnames"));
13
11
 
@@ -17,71 +15,31 @@ var _getLocale = require("../../../../../utils/getLocale");
17
15
 
18
16
  var _utils = require("../../../utils");
19
17
 
20
- var _context = _interopRequireDefault(require("../../../context"));
18
+ var _useRowsData = _interopRequireDefault(require("./useRowsData"));
21
19
 
22
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
21
 
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
23
 
30
- var MONTH_ROW_NUM = 4;
31
- var MONTH_COL_NUM = 3;
32
-
33
24
  var MonthPanelBody = function MonthPanelBody(props) {
34
25
  var viewDate = props.viewDate,
35
26
  onSelect = props.onSelect;
36
-
37
- var _useContext = (0, _react.useContext)(_context["default"]),
38
- value = _useContext.value;
39
-
40
- var getCells = function getCells(baseMonth) {
41
- var cols = [];
42
-
43
- var _loop = function _loop(col) {
27
+ var rowsData = (0, _useRowsData["default"])();
28
+ return /*#__PURE__*/_react["default"].createElement("div", {
29
+ className: (0, _classnames["default"])(_utils.PickerBodyClass)
30
+ }, rowsData.map(function (row) {
31
+ return row.map(function (month) {
44
32
  var _classNames;
45
33
 
46
- var month = col + baseMonth;
47
- cols.push( /*#__PURE__*/_react["default"].createElement("td", {
34
+ return /*#__PURE__*/_react["default"].createElement("button", {
48
35
  className: (0, _classnames["default"])(_utils.PickerCellClass, "".concat(_utils.PickerCellClass, "--in-view"), (_classNames = {}, _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--this-month"), month === (0, _moment["default"])().month()), _defineProperty(_classNames, "".concat(_utils.PickerCellClass, "--selected"), month === (0, _moment["default"])(viewDate).month()), _classNames)),
49
- key: month
50
- }, /*#__PURE__*/_react["default"].createElement("div", {
36
+ key: month,
51
37
  onClick: function onClick() {
52
- return onSelect && onSelect((0, _moment["default"])(viewDate).month(month), 'month');
53
- },
54
- className: (0, _classnames["default"])("".concat(_utils.PickerCellClass, "__inner")),
55
- title: (0, _moment["default"])(viewDate).month(month).format('YYYY-MM')
56
- }, _getLocale.isEn ? _utils.MONTHDATAMAPEN[month] : _utils.MONTHDATAMAP[month])));
57
- };
58
-
59
- for (var col = 0; col < MONTH_COL_NUM; col += 1) {
60
- _loop(col);
61
- }
62
-
63
- return cols;
64
- };
65
-
66
- var getRows = function getRows() {
67
- var rows = [];
68
- var baseMonth = 0;
69
-
70
- for (var row = 0; row < MONTH_ROW_NUM; row += 1) {
71
- rows.push( /*#__PURE__*/_react["default"].createElement("tr", {
72
- key: row
73
- }, getCells(baseMonth)));
74
- baseMonth += MONTH_COL_NUM;
75
- }
76
-
77
- return rows;
78
- };
79
-
80
- return /*#__PURE__*/_react["default"].createElement("div", {
81
- className: (0, _classnames["default"])(_utils.PickerBodyClass)
82
- }, /*#__PURE__*/_react["default"].createElement("table", {
83
- className: (0, _classnames["default"])("".concat(_utils.PickerClass, "-content"))
84
- }, /*#__PURE__*/_react["default"].createElement("tbody", null, getRows())));
38
+ return onSelect === null || onSelect === void 0 ? void 0 : onSelect((0, _moment["default"])(viewDate).month(month), 'month');
39
+ }
40
+ }, _getLocale.isEn ? _utils.MONTHDATAMAPEN[month] : _utils.MONTHDATAMAP[month]);
41
+ });
42
+ }));
85
43
  };
86
44
 
87
45
  var _default = MonthPanelBody;
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _classnames = _interopRequireDefault(require("classnames"));
11
13
 
12
14
  var _moment = _interopRequireDefault(require("moment"));
13
15
 
16
+ var _context = _interopRequireDefault(require("../../../context"));
17
+
14
18
  var _utils = require("../../../utils");
15
19
 
16
20
  var _panelHead = _interopRequireDefault(require("../panel-head"));
@@ -19,6 +23,10 @@ var _excluded = ["viewDate", "onPrevYear", "onNextYear", "onYearClick"];
19
23
 
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
25
 
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
22
30
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
31
 
24
32
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -33,14 +41,23 @@ var MonthPanelHead = function MonthPanelHead(props) {
33
41
  onYearClick = props.onYearClick,
34
42
  restProps = _objectWithoutProperties(props, _excluded);
35
43
 
44
+ var _useContext = (0, _react.useContext)(_context["default"]),
45
+ max = _useContext.max,
46
+ min = _useContext.min;
47
+
48
+ var maxYear = (0, _moment["default"])(max).year();
49
+ var minYear = (0, _moment["default"])(min).year();
50
+ var year = (0, _moment["default"])(viewDate).year();
36
51
  return /*#__PURE__*/_react["default"].createElement(_panelHead["default"], _extends({}, restProps, {
52
+ prevBtnDisabled: year === minYear,
53
+ nextBtnDisabled: year === maxYear,
37
54
  onPrev: onPrevYear,
38
55
  onNext: onNextYear
39
56
  }), /*#__PURE__*/_react["default"].createElement("button", {
40
57
  className: (0, _classnames["default"])("".concat(_utils.PickerHeadClass, "-btn__year")),
41
58
  onClick: onYearClick,
42
59
  type: "button"
43
- }, (0, _moment["default"])(viewDate).year()));
60
+ }, year));
44
61
  };
45
62
 
46
63
  var _default = MonthPanelHead;