@cloudtower/eagle 0.33.23 → 0.33.25

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.
@@ -48,7 +48,7 @@ const AddRowButton = (props) => {
48
48
  const {
49
49
  config: { maximum, className, CustomizedButton, buttonProps, text },
50
50
  columns,
51
- updateData,
51
+ addData,
52
52
  data
53
53
  } = props;
54
54
  const { t } = useParrotTranslation();
@@ -63,7 +63,7 @@ const AddRowButton = (props) => {
63
63
  const newData = [...data2];
64
64
  const newRow = utils.genEmptyRow(columns);
65
65
  newData.push(newRow);
66
- updateData(newData);
66
+ addData(newData);
67
67
  onClick == null ? void 0 : onClick(e);
68
68
  };
69
69
  const disabled = React.useMemo(
@@ -52,6 +52,7 @@ const TableForm = React__default.default.forwardRef(
52
52
  onHeaderChange,
53
53
  onHeaderBlur,
54
54
  onBodyChange,
55
+ onBodyAdd,
55
56
  onBodyBlur,
56
57
  row,
57
58
  errors,
@@ -72,6 +73,16 @@ const TableForm = React__default.default.forwardRef(
72
73
  },
73
74
  [onBodyChange]
74
75
  );
76
+ const addData = React.useCallback(
77
+ (value) => {
78
+ setLatestData(value);
79
+ setData(value);
80
+ onBodyChange == null ? void 0 : onBodyChange(value);
81
+ const rowIndex = value.length - 1;
82
+ onBodyAdd == null ? void 0 : onBodyAdd(value, rowIndex);
83
+ },
84
+ [onBodyChange, onBodyAdd]
85
+ );
75
86
  const handleBatchChange = React.useCallback(
76
87
  (newData, columnKey, shouldUpdateData) => {
77
88
  setLatestData(newData);
@@ -84,19 +95,19 @@ const TableForm = React__default.default.forwardRef(
84
95
  [onHeaderChange, onBodyChange]
85
96
  );
86
97
  const handleBatchBlur = React.useCallback(
87
- (key, error) => {
98
+ (columnKey, error) => {
88
99
  if (error) {
89
100
  const newData = latestData.map((cell) => {
90
101
  return __spreadProps(__spreadValues({}, cell), {
91
- [key]: ""
102
+ [columnKey]: ""
92
103
  });
93
104
  });
94
105
  setLatestData(newData);
95
- onHeaderBlur == null ? void 0 : onHeaderBlur(newData);
106
+ onHeaderBlur == null ? void 0 : onHeaderBlur(newData, columnKey);
96
107
  } else {
97
108
  setData(latestData);
98
- onBodyChange == null ? void 0 : onBodyChange(latestData, void 0, key);
99
- onHeaderBlur == null ? void 0 : onHeaderBlur(latestData);
109
+ onBodyChange == null ? void 0 : onBodyChange(latestData, void 0, columnKey);
110
+ onHeaderBlur == null ? void 0 : onHeaderBlur(latestData, columnKey);
100
111
  }
101
112
  },
102
113
  [latestData, onHeaderBlur, onBodyChange]
@@ -107,6 +118,10 @@ const TableForm = React__default.default.forwardRef(
107
118
  setData: (data2) => {
108
119
  updateData(data2);
109
120
  },
121
+ setDataWithoutTriggerChange: (data2) => {
122
+ setLatestData(data2);
123
+ setData(data2);
124
+ },
110
125
  validateWholeFields() {
111
126
  formValidMapRef.current = {};
112
127
  setValidateAll(true);
@@ -185,7 +200,7 @@ const TableForm = React__default.default.forwardRef(
185
200
  AddRowButton,
186
201
  {
187
202
  config: rowAddConfig,
188
- updateData,
203
+ addData,
189
204
  columns,
190
205
  data
191
206
  }
@@ -146,7 +146,7 @@ const Time = React__default.default.forwardRef((props, ref) => {
146
146
  });
147
147
  const AbsoluteDate = React__default.default.forwardRef(
148
148
  (props, ref) => {
149
- const { range, minDate, maxDate, onChange, onOk } = props;
149
+ const { range, minDate, maxDate, maxRange, onChange, onOk } = props;
150
150
  const timeRef = React.useRef(null);
151
151
  React.useImperativeHandle(ref, () => {
152
152
  var _a;
@@ -165,6 +165,7 @@ const AbsoluteDate = React__default.default.forwardRef(
165
165
  range,
166
166
  minDate,
167
167
  maxDate,
168
+ maxRange,
168
169
  onChange
169
170
  }
170
171
  ), /* @__PURE__ */ React__default.default.createElement(
@@ -9,6 +9,7 @@ var index$1 = require('../../core/Input/index.js');
9
9
  var index = require('../../core/Typo/index.js');
10
10
  var useElementIntersectionRatio = require('../../hooks/useElementIntersectionRatio.js');
11
11
  var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
12
+ var unit = require('../../utils/unit.js');
12
13
  var dayjs = require('dayjs');
13
14
  var React = require('react');
14
15
  var common = require('./common.js');
@@ -84,6 +85,7 @@ const MonthItem = (props) => {
84
85
  highlightDay,
85
86
  minDate,
86
87
  maxDate,
88
+ maxRange,
87
89
  parentElement,
88
90
  onRangeChange,
89
91
  onMouseEnter
@@ -133,6 +135,74 @@ const MonthItem = (props) => {
133
135
  }
134
136
  onRangeChange(_range);
135
137
  }
138
+ const datesElements = React.useMemo(() => {
139
+ return initMonth.dates.map((date) => {
140
+ const _date = common.getTime(initYear, initMonth.month, date);
141
+ const { number: maxRangeNumber, unit: maxRangeUnit } = unit.parseNumberAndUnit(maxRange || "") || {};
142
+ const dateNotIncludeInRange = common.checkDateNotInRange(
143
+ _date,
144
+ minDate,
145
+ maxDate
146
+ );
147
+ const isLimitRangeEnd = !!rangeStart && !rangeEnd;
148
+ const isDateBeforeRangeStart = isLimitRangeEnd ? _date.valueOf() < rangeStart.valueOf() : false;
149
+ const isDateNotIncludeInMaxRange = isLimitRangeEnd && maxRangeNumber && maxRangeUnit ? rangeStart.add(maxRangeNumber, maxRangeUnit).valueOf() <= _date.valueOf() : false;
150
+ const disabled = Boolean(isDateBeforeRangeStart || isDateNotIncludeInMaxRange) || !dateNotIncludeInRange;
151
+ const dateClassName = common.getClassNameForDateBlock(
152
+ range,
153
+ _date,
154
+ mapOfHighlightDay,
155
+ disabled
156
+ );
157
+ const highlightIndex = mapOfHighlightDay.get(_date.format("YYYY-MM-DD"));
158
+ const isFirstDayInWeek = _date.day() === 1;
159
+ const isLastDayInWeek = _date.day() === 0;
160
+ const isFirstDayInMonth = _date.date() === 1;
161
+ const isLastDayInMonth = _date.date() === _date.daysInMonth();
162
+ const isLastDayIsSingleDayInWeek = isLastDayInMonth && isFirstDayInWeek;
163
+ const isFirstHighlight = highlightIndex === 0 || isFirstDayInWeek || isFirstDayInMonth || isLastDayIsSingleDayInWeek;
164
+ const isLastHighlight = highlightIndex === Math.max(mapOfHighlightDay.size - 1, 0) || isLastDayInWeek || isLastDayInMonth;
165
+ return /* @__PURE__ */ React__default.default.createElement(
166
+ "span",
167
+ {
168
+ key: `date-${date}`,
169
+ className: core.cx(
170
+ "date-block",
171
+ dateClassName,
172
+ isFirstHighlight && "first-highlight",
173
+ isLastHighlight && "last-highlight"
174
+ ),
175
+ onClick: () => {
176
+ if (disabled) {
177
+ return;
178
+ }
179
+ clickDate(date);
180
+ },
181
+ onMouseEnter: () => {
182
+ if (disabled) {
183
+ onMouseEnter(null);
184
+ } else if (rangeStart && !rangeEnd) {
185
+ onMouseEnter(_date);
186
+ }
187
+ }
188
+ },
189
+ /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("date-text", dateClassName) }, date)
190
+ );
191
+ });
192
+ }, [
193
+ initMonth.dates,
194
+ initMonth.month,
195
+ initYear,
196
+ maxRange,
197
+ minDate,
198
+ maxDate,
199
+ rangeStart,
200
+ rangeEnd,
201
+ range,
202
+ mapOfHighlightDay,
203
+ clickDate,
204
+ onMouseEnter
205
+ ]);
136
206
  return /* @__PURE__ */ React__default.default.createElement("li", { className: "month-container", ref: containerRef }, /* @__PURE__ */ React__default.default.createElement(
137
207
  "header",
138
208
  {
@@ -140,62 +210,10 @@ const MonthItem = (props) => {
140
210
  ref: headerRef
141
211
  },
142
212
  getCalendarTitle.getCalendarTitle(initMonth.month.toString(), parrot.parrotI18n.t, parrot.parrotI18n)
143
- ), /* @__PURE__ */ React__default.default.createElement("div", { className: "dates-in-month", ref: datesContainerRef }, new Array(initMonth.firstDateOfDay).fill(null).map((value, index) => /* @__PURE__ */ React__default.default.createElement("span", { key: `blank-date-${index}`, className: "blank" })), initMonth.dates.map((date) => {
144
- const _date = common.getTime(initYear, initMonth.month, date);
145
- const dateNotIncludeInRange = common.checkDateNotInRange(
146
- _date,
147
- minDate,
148
- maxDate
149
- );
150
- const disabled = Boolean(
151
- rangeStart && !rangeEnd && rangeStart.valueOf() > _date.valueOf()
152
- ) || !dateNotIncludeInRange;
153
- const dateClassName = common.getClassNameForDateBlock(
154
- range,
155
- _date,
156
- mapOfHighlightDay,
157
- disabled
158
- );
159
- const highlightIndex = mapOfHighlightDay.get(
160
- _date.format("YYYY-MM-DD")
161
- );
162
- const isFirstDayInWeek = _date.day() === 1;
163
- const isLastDayInWeek = _date.day() === 0;
164
- const isFirstDayInMonth = _date.date() === 1;
165
- const isLastDayInMonth = _date.date() === _date.daysInMonth();
166
- const isLastDayIsSingleDayInWeek = isLastDayInMonth && isFirstDayInWeek;
167
- const isFirstHighlight = highlightIndex === 0 || isFirstDayInWeek || isFirstDayInMonth || isLastDayIsSingleDayInWeek;
168
- const isLastHighlight = highlightIndex === Math.max(mapOfHighlightDay.size - 1, 0) || isLastDayInWeek || isLastDayInMonth;
169
- return /* @__PURE__ */ React__default.default.createElement(
170
- "span",
171
- {
172
- key: `date-${date}`,
173
- className: core.cx(
174
- "date-block",
175
- dateClassName,
176
- isFirstHighlight && "first-highlight",
177
- isLastHighlight && "last-highlight"
178
- ),
179
- onClick: () => {
180
- if (disabled) {
181
- return;
182
- }
183
- clickDate(date);
184
- },
185
- onMouseEnter: () => {
186
- if (disabled) {
187
- onMouseEnter(null);
188
- } else if (rangeStart && !rangeEnd) {
189
- onMouseEnter(_date);
190
- }
191
- }
192
- },
193
- /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("date-text", dateClassName) }, date)
194
- );
195
- })));
213
+ ), /* @__PURE__ */ React__default.default.createElement("div", { className: "dates-in-month", ref: datesContainerRef }, new Array(initMonth.firstDateOfDay).fill(null).map((value, index) => /* @__PURE__ */ React__default.default.createElement("span", { key: `blank-date-${index}`, className: "blank" })), datesElements));
196
214
  };
197
215
  const Month = (props) => {
198
- const { year, range, minDate, maxDate, onRangeChange } = props;
216
+ const { year, range, minDate, maxDate, maxRange, onRangeChange } = props;
199
217
  const monthContainerRef = React.useRef(null);
200
218
  const [month, setMonth] = React.useState([]);
201
219
  const [highlightDay, setHighlightDay] = React.useState(() => {
@@ -253,6 +271,7 @@ const Month = (props) => {
253
271
  range,
254
272
  minDate,
255
273
  maxDate,
274
+ maxRange,
256
275
  highlightDay: highlightDay || controlHighlightDay || [],
257
276
  parentElement: monthContainerRef,
258
277
  onRangeChange,
@@ -266,7 +285,7 @@ const Week = () => {
266
285
  return /* @__PURE__ */ React__default.default.createElement(DateRangePicker_style.CalendarStyle.Week, null, /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.monday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.tuesday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.wednesday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.thursday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.friday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.saturday-simple")), /* @__PURE__ */ React__default.default.createElement("li", { className: index.Typo.Label.l1_regular }, t("components.sunday-simple")));
267
286
  };
268
287
  const Calendar = (props) => {
269
- const { range: initRange, minDate, maxDate, onChange } = props;
288
+ const { range: initRange, minDate, maxDate, maxRange, onChange } = props;
270
289
  const [year, setYear] = React.useState(dayjs__default.default().year());
271
290
  const [range, setRange] = React.useState(
272
291
  initRange || [null, null]
@@ -285,6 +304,7 @@ const Calendar = (props) => {
285
304
  range,
286
305
  minDate,
287
306
  maxDate,
307
+ maxRange,
288
308
  onRangeChange: handleRangeChange
289
309
  }
290
310
  ));
@@ -51,6 +51,7 @@ const TimeRange = (props) => {
51
51
  mode = ["relative", "absolute"],
52
52
  minDate,
53
53
  maxDate,
54
+ maxRange,
54
55
  onTypeChange,
55
56
  onRelativeTimeChange,
56
57
  onAbsoluteTimeOk,
@@ -110,6 +111,7 @@ const TimeRange = (props) => {
110
111
  range: range || [null, null],
111
112
  minDate,
112
113
  maxDate,
114
+ maxRange,
113
115
  onChange: (range2) => onAbsoluteTimeChange == null ? void 0 : onAbsoluteTimeChange(range2),
114
116
  onOk: (range2) => onAbsoluteTimeOk == null ? void 0 : onAbsoluteTimeOk(range2)
115
117
  }
@@ -161,6 +163,7 @@ const DateRangePicker = (props) => {
161
163
  mode = ["relative", "absolute"],
162
164
  minDate,
163
165
  maxDate,
166
+ maxRange,
164
167
  onChange,
165
168
  relativeTimeSelectOptions
166
169
  } = props;
@@ -295,6 +298,7 @@ const DateRangePicker = (props) => {
295
298
  mode,
296
299
  minDate,
297
300
  maxDate,
301
+ maxRange,
298
302
  onTypeChange: setType,
299
303
  onRelativeTimeChange: (time) => {
300
304
  handleChange("relative", time);