@react-fabric/date 1.0.0-beta.0
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.
- package/LICENSE +21 -0
- package/README.md +10 -0
- package/dist/cjs/components/Date.module.css +1 -0
- package/dist/cjs/components/DateCell.js +98 -0
- package/dist/cjs/components/DateHeader.js +142 -0
- package/dist/cjs/components/DatePage.js +59 -0
- package/dist/cjs/components/DecadePage.js +34 -0
- package/dist/cjs/components/MonthPage.js +33 -0
- package/dist/cjs/components/TimeSliders.js +131 -0
- package/dist/cjs/components/YearPage.js +34 -0
- package/dist/cjs/display/DateDisplay.js +35 -0
- package/dist/cjs/hijri/index.js +1029 -0
- package/dist/cjs/i18n/ar.json.js +25 -0
- package/dist/cjs/i18n/en.json.js +21 -0
- package/dist/cjs/i18n/index.js +39 -0
- package/dist/cjs/i18n/superdate/ar.json.js +86 -0
- package/dist/cjs/i18n/superdate/en.json.js +93 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/panels/BasePanel.js +73 -0
- package/dist/cjs/panels/DatePanel.js +205 -0
- package/dist/cjs/panels/RangePanel.js +340 -0
- package/dist/cjs/superdate/EventPanel.js +173 -0
- package/dist/cjs/superdate/QuickSelect.js +134 -0
- package/dist/cjs/superdate/RelativeInput.js +79 -0
- package/dist/cjs/superdate/RelativePanel.js +91 -0
- package/dist/cjs/superdate/SuperDate.module.css +1 -0
- package/dist/cjs/superdate/Superdate.js +169 -0
- package/dist/cjs/types/index.js +61 -0
- package/dist/cjs/utils/dateUtil.js +436 -0
- package/dist/esm/components/Date.module.css +1 -0
- package/dist/esm/components/DateCell.js +98 -0
- package/dist/esm/components/DateHeader.js +142 -0
- package/dist/esm/components/DatePage.js +59 -0
- package/dist/esm/components/DecadePage.js +34 -0
- package/dist/esm/components/MonthPage.js +33 -0
- package/dist/esm/components/TimeSliders.js +131 -0
- package/dist/esm/components/YearPage.js +34 -0
- package/dist/esm/display/DateDisplay.js +35 -0
- package/dist/esm/hijri/index.js +1029 -0
- package/dist/esm/i18n/ar.json.js +21 -0
- package/dist/esm/i18n/en.json.js +18 -0
- package/dist/esm/i18n/index.js +39 -0
- package/dist/esm/i18n/superdate/ar.json.js +79 -0
- package/dist/esm/i18n/superdate/en.json.js +85 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/panels/BasePanel.js +73 -0
- package/dist/esm/panels/DatePanel.js +205 -0
- package/dist/esm/panels/RangePanel.js +340 -0
- package/dist/esm/superdate/EventPanel.js +173 -0
- package/dist/esm/superdate/QuickSelect.js +134 -0
- package/dist/esm/superdate/RelativeInput.js +79 -0
- package/dist/esm/superdate/RelativePanel.js +91 -0
- package/dist/esm/superdate/SuperDate.module.css +1 -0
- package/dist/esm/superdate/Superdate.js +168 -0
- package/dist/esm/types/index.js +60 -0
- package/dist/esm/utils/dateUtil.js +438 -0
- package/dist/types/components/DateCell.d.ts +15 -0
- package/dist/types/components/DateHeader.d.ts +14 -0
- package/dist/types/components/DatePage.d.ts +6 -0
- package/dist/types/components/DecadePage.d.ts +6 -0
- package/dist/types/components/MonthPage.d.ts +6 -0
- package/dist/types/components/TimeSliders.d.ts +10 -0
- package/dist/types/components/YearPage.d.ts +6 -0
- package/dist/types/display/DateDisplay.d.ts +15 -0
- package/dist/types/hijri/index.d.ts +2 -0
- package/dist/types/i18n/index.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/panels/BasePanel.d.ts +25 -0
- package/dist/types/panels/DatePanel.d.ts +2 -0
- package/dist/types/panels/RangePanel.d.ts +2 -0
- package/dist/types/superdate/EventPanel.d.ts +4 -0
- package/dist/types/superdate/QuickSelect.d.ts +1 -0
- package/dist/types/superdate/RelativeInput.d.ts +1 -0
- package/dist/types/superdate/RelativePanel.d.ts +1 -0
- package/dist/types/superdate/Superdate.d.ts +17 -0
- package/dist/types/types/index.d.ts +70 -0
- package/dist/types/utils/dateUtil.d.ts +30 -0
- package/package.json +58 -0
- package/src/components/Date.module.css +75 -0
- package/src/components/DateCell.tsx +181 -0
- package/src/components/DateHeader.tsx +223 -0
- package/src/components/DatePage.tsx +107 -0
- package/src/components/DecadePage.tsx +53 -0
- package/src/components/MonthPage.tsx +52 -0
- package/src/components/TimeSliders.tsx +196 -0
- package/src/components/YearPage.tsx +53 -0
- package/src/display/DateDisplay.tsx +88 -0
- package/src/hijri/index.js +1540 -0
- package/src/i18n/ar.json +14 -0
- package/src/i18n/en.json +13 -0
- package/src/i18n/index.ts +31 -0
- package/src/i18n/superdate/ar.json +70 -0
- package/src/i18n/superdate/en.json +75 -0
- package/src/index.ts +32 -0
- package/src/panels/BasePanel.tsx +130 -0
- package/src/panels/DatePanel.tsx +235 -0
- package/src/panels/RangePanel.tsx +400 -0
- package/src/superdate/EventPanel.tsx +200 -0
- package/src/superdate/QuickSelect.tsx +121 -0
- package/src/superdate/RelativeInput.tsx +64 -0
- package/src/superdate/RelativePanel.tsx +103 -0
- package/src/superdate/SuperDate.module.css +30 -0
- package/src/superdate/Superdate.tsx +186 -0
- package/src/types/index.ts +121 -0
- package/src/utils/dateUtil.ts +551 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
|
+
var dateFns = require('date-fns');
|
|
5
|
+
var index = require('../types/index.js');
|
|
6
|
+
var utilities = require('@react-fabric/utilities');
|
|
7
|
+
var locale = require('date-fns/locale');
|
|
8
|
+
var i18next = require('i18next');
|
|
9
|
+
|
|
10
|
+
var Locales = {
|
|
11
|
+
ar: locale.arSA,
|
|
12
|
+
en: locale.enUS,
|
|
13
|
+
de: locale.de,
|
|
14
|
+
es: locale.es,
|
|
15
|
+
fr: locale.fr,
|
|
16
|
+
hi: locale.hi,
|
|
17
|
+
it: locale.it,
|
|
18
|
+
ja: locale.ja,
|
|
19
|
+
ko: locale.ko,
|
|
20
|
+
pt: locale.pt,
|
|
21
|
+
ru: locale.ru,
|
|
22
|
+
zh: locale.zhCN
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
26
|
+
exports.DateUtil = void 0;
|
|
27
|
+
(function (_DateUtil) {
|
|
28
|
+
var translateNumber = function translateNumber(d) {
|
|
29
|
+
return d.replace(/0/g, "٠").replace(/1/g, "١").replace(/2/g, "٢").replace(/3/g, "٣").replace(/4/g, "٤").replace(/5/g, "٥").replace(/6/g, "٦").replace(/7/g, "٧").replace(/8/g, "٨").replace(/9/g, "٩");
|
|
30
|
+
};
|
|
31
|
+
var formatGregorian = function formatGregorian(dt) {
|
|
32
|
+
var _Locales$loc;
|
|
33
|
+
var fmt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
34
|
+
var loc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "en";
|
|
35
|
+
var ret = dateFns.format(dt, fmt, {
|
|
36
|
+
locale: (_Locales$loc = Locales[loc]) !== null && _Locales$loc !== void 0 ? _Locales$loc : Locales.en
|
|
37
|
+
});
|
|
38
|
+
return loc && loc === "ar" ? translateNumber(ret) : ret;
|
|
39
|
+
};
|
|
40
|
+
var formatHijri = function formatHijri(dt) {
|
|
41
|
+
var fmt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
42
|
+
var loc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "en";
|
|
43
|
+
var hdate = dt.toHijri();
|
|
44
|
+
var ret = hdate.format(fmt, {
|
|
45
|
+
locale: loc
|
|
46
|
+
});
|
|
47
|
+
return loc && loc === "ar" ? translateNumber(ret) : ret;
|
|
48
|
+
};
|
|
49
|
+
var addHijriDays = function addHijriDays(dt, d) {
|
|
50
|
+
var hdate = dt.toHijri().ignoreTime();
|
|
51
|
+
if (d < 0) {
|
|
52
|
+
return hdate.subtractDays(d);
|
|
53
|
+
} else {
|
|
54
|
+
return hdate.addDays(d);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var addHijriMonth = function addHijriMonth(dt, d) {
|
|
58
|
+
var hdate = dt.toHijri().ignoreTime();
|
|
59
|
+
if (hdate.month + d > 12) {
|
|
60
|
+
hdate.year += 1;
|
|
61
|
+
hdate.month = 1;
|
|
62
|
+
} else if (hdate.month + d < 1) {
|
|
63
|
+
hdate.year -= 1;
|
|
64
|
+
hdate.month = 12;
|
|
65
|
+
} else {
|
|
66
|
+
hdate.month += d;
|
|
67
|
+
}
|
|
68
|
+
return hdate;
|
|
69
|
+
};
|
|
70
|
+
var format = _DateUtil.format = function (date) {
|
|
71
|
+
var fmt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "dd MMM yyyy";
|
|
72
|
+
var locale = arguments.length > 2 ? arguments[2] : undefined;
|
|
73
|
+
var isHijri = arguments.length > 3 ? arguments[3] : undefined;
|
|
74
|
+
var formatted = "";
|
|
75
|
+
if (!utilities.isNil(date)) {
|
|
76
|
+
var dt = isRelative(date) ? parseDate(date) : new Date(date);
|
|
77
|
+
if (dt != null) {
|
|
78
|
+
formatted = isHijri ? formatHijri(dt, fmt, locale) : formatGregorian(dt, fmt, locale);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return formatted;
|
|
82
|
+
};
|
|
83
|
+
var isRelative = _DateUtil.isRelative = function (date) {
|
|
84
|
+
return utilities.isString(date) && date.match(/^(\$\w+)([+-])(\d+)?$/) !== null;
|
|
85
|
+
};
|
|
86
|
+
_DateUtil.isRelativeRange = function (date) {
|
|
87
|
+
return utilities.isString(date) && date.match(/^(\$\w+)([+-])(\d+)?\|(\$\w+)([+-])(\d+)?$/) !== null;
|
|
88
|
+
};
|
|
89
|
+
var startOfDay = _DateUtil.startOfDay = function (date) {
|
|
90
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
91
|
+
if (!date) return new Date();
|
|
92
|
+
if (isHijri) {
|
|
93
|
+
var hdate = date.toHijri().ignoreTime();
|
|
94
|
+
return hdate.toGregorian();
|
|
95
|
+
} else {
|
|
96
|
+
return dateFns.startOfDay(date);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var startOfWeek = _DateUtil.startOfWeek = function (date) {
|
|
100
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
101
|
+
if (isHijri) {
|
|
102
|
+
var hdate = date.toHijri().ignoreTime();
|
|
103
|
+
hdate.subtractDays(hdate.day);
|
|
104
|
+
return hdate.toGregorian();
|
|
105
|
+
} else {
|
|
106
|
+
return dateFns.startOfWeek(date);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
var startOfMonth = _DateUtil.startOfMonth = function (date) {
|
|
110
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
111
|
+
if (isHijri) {
|
|
112
|
+
var hdate = date.toHijri().ignoreTime();
|
|
113
|
+
hdate.date = 1;
|
|
114
|
+
return hdate.toGregorian();
|
|
115
|
+
} else {
|
|
116
|
+
return dateFns.startOfMonth(date);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var startOfYear = _DateUtil.startOfYear = function (date) {
|
|
120
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
121
|
+
if (isHijri) {
|
|
122
|
+
var hdate = date.toHijri().ignoreTime();
|
|
123
|
+
hdate.date = 1;
|
|
124
|
+
hdate.month = 1;
|
|
125
|
+
return hdate.toGregorian();
|
|
126
|
+
} else {
|
|
127
|
+
return dateFns.startOfYear(date);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
var startOfDecade = _DateUtil.startOfDecade = function (date) {
|
|
131
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
132
|
+
if (isHijri) {
|
|
133
|
+
var hdate = date.toHijri().ignoreTime();
|
|
134
|
+
hdate.date = 1;
|
|
135
|
+
hdate.month = 1;
|
|
136
|
+
hdate.year -= hdate.year % 10;
|
|
137
|
+
return hdate.toGregorian();
|
|
138
|
+
} else {
|
|
139
|
+
return dateFns.startOfDecade(date);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
_DateUtil.startOfCentury = function (date) {
|
|
143
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
144
|
+
if (isHijri) {
|
|
145
|
+
var hdate = date.toHijri().ignoreTime();
|
|
146
|
+
hdate.date = 1;
|
|
147
|
+
hdate.month = 1;
|
|
148
|
+
hdate.year -= hdate.year % 100;
|
|
149
|
+
return hdate.toGregorian();
|
|
150
|
+
} else {
|
|
151
|
+
return dateFns.addYears(dateFns.startOfYear(date), -1 * (date.getFullYear() % 100));
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var endOfDay = _DateUtil.endOfDay = function (date) {
|
|
155
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
156
|
+
if (!date) return new Date();
|
|
157
|
+
if (isHijri) {
|
|
158
|
+
var hdate = date.toHijri().ignoreTime();
|
|
159
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
160
|
+
} else {
|
|
161
|
+
return dateFns.endOfDay(date);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
var endOfWeek = _DateUtil.endOfWeek = function (date) {
|
|
165
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
166
|
+
if (isHijri) {
|
|
167
|
+
var hdate = date.toHijri().ignoreTime();
|
|
168
|
+
hdate.addDays(6 - hdate.day);
|
|
169
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
170
|
+
} else {
|
|
171
|
+
return dateFns.endOfWeek(date);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
var endOfMonth = _DateUtil.endOfMonth = function (date) {
|
|
175
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
176
|
+
if (isHijri) {
|
|
177
|
+
var hdate = addHijriMonth(date, 1);
|
|
178
|
+
hdate.date = 1;
|
|
179
|
+
hdate.subtractDay();
|
|
180
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
181
|
+
} else {
|
|
182
|
+
return dateFns.endOfMonth(date);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
var endOfYear = _DateUtil.endOfYear = function (date) {
|
|
186
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
187
|
+
if (isHijri) {
|
|
188
|
+
var hdate = date.toHijri().ignoreTime();
|
|
189
|
+
hdate.year += 1;
|
|
190
|
+
hdate.month = 1;
|
|
191
|
+
hdate.date = 1;
|
|
192
|
+
hdate.subtractDay();
|
|
193
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
194
|
+
} else {
|
|
195
|
+
return dateFns.endOfYear(date);
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
var endOfDecade = _DateUtil.endOfDecade = function (date) {
|
|
199
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
200
|
+
if (isHijri) {
|
|
201
|
+
var hdate = date.toHijri().ignoreTime();
|
|
202
|
+
hdate.year += 10 - hdate.year % 10;
|
|
203
|
+
hdate.month = 1;
|
|
204
|
+
hdate.date = 1;
|
|
205
|
+
hdate.subtractDay();
|
|
206
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
207
|
+
} else {
|
|
208
|
+
return dateFns.endOfDecade(date);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
_DateUtil.endOfCentury = function (date) {
|
|
212
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
213
|
+
if (isHijri) {
|
|
214
|
+
var hdate = date.toHijri().ignoreTime();
|
|
215
|
+
hdate.year += 100 - hdate.year % 100;
|
|
216
|
+
hdate.month = 1;
|
|
217
|
+
hdate.date = 1;
|
|
218
|
+
hdate.subtractDay();
|
|
219
|
+
return dateFns.endOfDay(hdate.toGregorian());
|
|
220
|
+
} else {
|
|
221
|
+
return dateFns.addYears(dateFns.endOfYear(date), 100 - date.getFullYear() % 100);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
var addDays = _DateUtil.addDays = function (date, d) {
|
|
225
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
226
|
+
if (isHijri) {
|
|
227
|
+
return addHijriDays(date, d).toGregorian();
|
|
228
|
+
} else {
|
|
229
|
+
return dateFns.addDays(date, d);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
var addWeeks = _DateUtil.addWeeks = function (date, d) {
|
|
233
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
234
|
+
if (isHijri) {
|
|
235
|
+
return addHijriDays(date, d * 7).toGregorian();
|
|
236
|
+
} else {
|
|
237
|
+
return dateFns.addWeeks(date, d);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
var addMonths = _DateUtil.addMonths = function (date, d) {
|
|
241
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
242
|
+
if (isHijri) {
|
|
243
|
+
return addHijriMonth(date, d).toGregorian();
|
|
244
|
+
} else {
|
|
245
|
+
return dateFns.addMonths(date, d);
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
var addYears = _DateUtil.addYears = function (date, d) {
|
|
249
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
250
|
+
if (isHijri) {
|
|
251
|
+
var hdate = date.toHijri().ignoreTime();
|
|
252
|
+
hdate.year += d;
|
|
253
|
+
return hdate.toGregorian();
|
|
254
|
+
} else {
|
|
255
|
+
return dateFns.addYears(date, d);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
_DateUtil.getWeek = function (date, locale) {
|
|
259
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
260
|
+
var ret = "";
|
|
261
|
+
if (isHijri) {
|
|
262
|
+
var start = startOfYear(date, isHijri);
|
|
263
|
+
ret = format(new Date(date.getTime() - start.getTime()), "ww");
|
|
264
|
+
} else {
|
|
265
|
+
ret = format(date, "ww");
|
|
266
|
+
}
|
|
267
|
+
if (locale === "ar") {
|
|
268
|
+
return translateNumber(ret);
|
|
269
|
+
}
|
|
270
|
+
return ret;
|
|
271
|
+
};
|
|
272
|
+
var isSameMonth = _DateUtil.isSameMonth = function (date, compare) {
|
|
273
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
274
|
+
if (isHijri) {
|
|
275
|
+
var hdate = date.toHijri().ignoreTime();
|
|
276
|
+
var hcompare = compare.toHijri().ignoreTime();
|
|
277
|
+
return hdate.month === hcompare.month;
|
|
278
|
+
} else {
|
|
279
|
+
return dateFns.isSameMonth(date, compare);
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
var isSameYear = _DateUtil.isSameYear = function (date, compare) {
|
|
283
|
+
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
284
|
+
if (isHijri) {
|
|
285
|
+
var hdate = date.toHijri().ignoreTime();
|
|
286
|
+
var hcompare = compare.toHijri().ignoreTime();
|
|
287
|
+
return hdate.year === hcompare.year;
|
|
288
|
+
} else {
|
|
289
|
+
return dateFns.isSameYear(date, compare);
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
_DateUtil.isDisabled = function (date, page, min, max) {
|
|
293
|
+
var methods = [dateFns.startOfDay, dateFns.endOfDay];
|
|
294
|
+
if (page === index.PageType.MONTH) {
|
|
295
|
+
methods = [dateFns.startOfMonth, dateFns.endOfMonth];
|
|
296
|
+
} else if (page === index.PageType.YEAR) {
|
|
297
|
+
methods = [dateFns.startOfYear, dateFns.endOfYear];
|
|
298
|
+
} else if (page === index.PageType.DECADE) {
|
|
299
|
+
methods = [dateFns.startOfDecade, dateFns.endOfDecade];
|
|
300
|
+
}
|
|
301
|
+
var _methods = methods,
|
|
302
|
+
_methods2 = _slicedToArray(_methods, 2),
|
|
303
|
+
start = _methods2[0],
|
|
304
|
+
end = _methods2[1];
|
|
305
|
+
return !(min == null) && dateFns.isBefore(start(date), start(min)) || !(max == null) && dateFns.isAfter(end(date), end(max));
|
|
306
|
+
};
|
|
307
|
+
var parseDate = _DateUtil.parseDate = function (datelike) {
|
|
308
|
+
return _parse(datelike);
|
|
309
|
+
};
|
|
310
|
+
var parseRange = _DateUtil.parseRange = function (datelike) {
|
|
311
|
+
var _datelike$split = datelike.split("|"),
|
|
312
|
+
_datelike$split2 = _slicedToArray(_datelike$split, 2),
|
|
313
|
+
start = _datelike$split2[0],
|
|
314
|
+
end = _datelike$split2[1];
|
|
315
|
+
var parseStart = _parse(start, !end ? "start" : undefined);
|
|
316
|
+
var parseEnd = _parse(end !== null && end !== void 0 ? end : start, !end ? "end" : undefined);
|
|
317
|
+
return dateFns.isBefore(parseStart, parseEnd) ? [parseStart, parseEnd] : [parseEnd, parseStart];
|
|
318
|
+
};
|
|
319
|
+
_DateUtil.relativeTooltip = function (datelike) {
|
|
320
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
321
|
+
if (!datelike) return "";
|
|
322
|
+
var _parseRange = parseRange(datelike),
|
|
323
|
+
_parseRange2 = _slicedToArray(_parseRange, 2),
|
|
324
|
+
start = _parseRange2[0],
|
|
325
|
+
end = _parseRange2[1];
|
|
326
|
+
return end ? [format(start, "MMM dd yyyy, HH:mm:ss aaa", i18next.language, isHijri), format(end, "MMM dd yyyy, HH:mm:ss aaa", i18next.language, isHijri)].join(" ".concat(i18next.t("superdate:separator", "→"), " ")) : format(start, "MMM dd yyyy, HH:mm:ss aaa", i18next.language, isHijri);
|
|
327
|
+
};
|
|
328
|
+
_DateUtil.relativeLabel = function (datelike) {
|
|
329
|
+
var isHijri = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
330
|
+
if (!datelike) return "";
|
|
331
|
+
var _datelike$split3 = datelike.split("|"),
|
|
332
|
+
_datelike$split4 = _slicedToArray(_datelike$split3, 2),
|
|
333
|
+
start = _datelike$split4[0],
|
|
334
|
+
end = _datelike$split4[1];
|
|
335
|
+
var labels = [_parseLabel(start), _parseLabel(end)];
|
|
336
|
+
if (start && end && !start.match(/^\$\w+/) && !end.match(/^\$\w+/)) {
|
|
337
|
+
var parseStart = _parse(start);
|
|
338
|
+
var parseEnd = _parse(end);
|
|
339
|
+
if (isSameYear(parseStart, parseEnd)) {
|
|
340
|
+
labels = [format(parseStart, isSameMonth(parseStart, parseEnd) ? "dd" : "dd MMM", i18next.language, isHijri), format(parseEnd, "dd MMM yyyy", i18next.language, isHijri)];
|
|
341
|
+
} else {
|
|
342
|
+
labels = [format(parseStart, "dd MMM yyyy", i18next.language, isHijri), format(parseEnd, "dd MMM yyyy", i18next.language, isHijri)];
|
|
343
|
+
}
|
|
344
|
+
} else if (start && !start.match(/^\$\w+/)) {
|
|
345
|
+
var _parseStart = _parse(start);
|
|
346
|
+
labels = [format(_parseStart, "dd MMM yyyy", i18next.language, isHijri)];
|
|
347
|
+
}
|
|
348
|
+
return end ? labels.join(" ".concat(i18next.t("superdate:separator", "→"), " ")) : labels[0];
|
|
349
|
+
};
|
|
350
|
+
var _parseLabel = function _parseLabel(dt) {
|
|
351
|
+
var _dt$match;
|
|
352
|
+
if (!dt) return "";
|
|
353
|
+
var _ref = (_dt$match = dt.match(/^(\$\w+)([+-])?(\d+)?$/)) !== null && _dt$match !== void 0 ? _dt$match : [],
|
|
354
|
+
_ref2 = _slicedToArray(_ref, 4),
|
|
355
|
+
part = _ref2[1],
|
|
356
|
+
_ref2$ = _ref2[2],
|
|
357
|
+
op = _ref2$ === void 0 ? "+" : _ref2$,
|
|
358
|
+
_ref2$2 = _ref2[3],
|
|
359
|
+
diff = _ref2$2 === void 0 ? 0 : _ref2$2;
|
|
360
|
+
if (part) {
|
|
361
|
+
var t = function t(k, o) {
|
|
362
|
+
return i18next.t("superdate:".concat(k), o);
|
|
363
|
+
};
|
|
364
|
+
if (part === index.DatePart.NOW) {
|
|
365
|
+
return t("label.".concat(index.DatePart.NOW));
|
|
366
|
+
}
|
|
367
|
+
if (diff === 0) {
|
|
368
|
+
return t("now.".concat(part));
|
|
369
|
+
} else {
|
|
370
|
+
return t("".concat(op === "+" ? "next" : "prev", ".").concat(part), {
|
|
371
|
+
count: parseInt(diff, 10)
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
var _parse = function _parse(dt, rounded) {
|
|
377
|
+
var _dt$match2;
|
|
378
|
+
var _ref3 = (_dt$match2 = dt.match(/^(\$\w+)([+-]\d+)?$/)) !== null && _dt$match2 !== void 0 ? _dt$match2 : [],
|
|
379
|
+
_ref4 = _slicedToArray(_ref3, 3),
|
|
380
|
+
part = _ref4[1],
|
|
381
|
+
_ref4$ = _ref4[2],
|
|
382
|
+
diff = _ref4$ === void 0 ? "0" : _ref4$;
|
|
383
|
+
if (part) {
|
|
384
|
+
var date = dateFns.startOfMinute(new Date());
|
|
385
|
+
switch (part) {
|
|
386
|
+
case index.DatePart.NOW:
|
|
387
|
+
if (rounded) {
|
|
388
|
+
date = (rounded === "start" ? startOfDay : endOfDay)(date);
|
|
389
|
+
}
|
|
390
|
+
return date;
|
|
391
|
+
case index.DatePart.MINUTE:
|
|
392
|
+
if (rounded) {
|
|
393
|
+
date = (rounded === "start" ? dateFns.startOfMinute : dateFns.endOfMinute)(date);
|
|
394
|
+
}
|
|
395
|
+
return dateFns.addMinutes(date, parseInt(diff, 10));
|
|
396
|
+
case index.DatePart.HOUR:
|
|
397
|
+
if (rounded) {
|
|
398
|
+
date = (rounded === "start" ? dateFns.startOfHour : dateFns.endOfHour)(date);
|
|
399
|
+
}
|
|
400
|
+
return dateFns.addHours(date, parseInt(diff, 10));
|
|
401
|
+
case index.DatePart.DAY:
|
|
402
|
+
if (rounded) {
|
|
403
|
+
date = (rounded === "start" ? startOfDay : endOfDay)(date);
|
|
404
|
+
}
|
|
405
|
+
return addDays(date, parseInt(diff, 10));
|
|
406
|
+
case index.DatePart.WEEK:
|
|
407
|
+
if (rounded) {
|
|
408
|
+
date = (rounded === "start" ? startOfWeek : endOfWeek)(date);
|
|
409
|
+
}
|
|
410
|
+
return addWeeks(date, parseInt(diff, 10));
|
|
411
|
+
case index.DatePart.MONTH:
|
|
412
|
+
if (rounded) {
|
|
413
|
+
date = (rounded === "start" ? startOfMonth : endOfMonth)(date);
|
|
414
|
+
}
|
|
415
|
+
return addMonths(date, parseInt(diff, 10));
|
|
416
|
+
case index.DatePart.QUARTER:
|
|
417
|
+
if (rounded) {
|
|
418
|
+
date = (rounded === "start" ? dateFns.startOfQuarter : dateFns.endOfQuarter)(date);
|
|
419
|
+
}
|
|
420
|
+
return dateFns.addQuarters(date, parseInt(diff, 10));
|
|
421
|
+
case index.DatePart.YEAR:
|
|
422
|
+
if (rounded) {
|
|
423
|
+
date = (rounded === "start" ? startOfYear : endOfYear)(date);
|
|
424
|
+
}
|
|
425
|
+
return addYears(date, parseInt(diff, 10));
|
|
426
|
+
case index.DatePart.DECADE:
|
|
427
|
+
if (rounded) {
|
|
428
|
+
date = (rounded === "start" ? startOfDecade : endOfDecade)(date);
|
|
429
|
+
}
|
|
430
|
+
return addYears(date, parseInt(diff, 10) * 10);
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
return new Date(dt);
|
|
434
|
+
};
|
|
435
|
+
})(exports.DateUtil || (exports.DateUtil = {})); // @ts-expect-error ignore
|
|
436
|
+
window.DateUtil = exports.DateUtil;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer comp{.dateHeader{box-shadow:inset 0 -1px 0 theme(colors.tint.200/50%)}.timeSlider{height:11.25rem;&:after,&:before{box-shadow:0 0 3rem .25rem theme(colors.tint.600);content:"";display:block;z-index:10}&:before{position:sticky;top:0}&:after{bottom:0;position:sticky}&>:first-child,&>:last-child{height:calc(50% - .75rem)}& [data-skew="1"]>div{opacity:.9;transform:scaleY(.9)}& [data-skew="2"]>div{opacity:.75;transform:scaleY(.75)}& [data-skew="3"]>div{opacity:.65;transform:scaleY(.65)}& [data-skew="4"]>div{opacity:.5;transform:scaleY(.5)}}}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
|
+
import { isArray } from '@react-fabric/utilities';
|
|
6
|
+
import classNames from 'classnames';
|
|
7
|
+
import { isSameDay, isSameYear, startOfDecade, isSameMonth, isBefore, isAfter } from 'date-fns';
|
|
8
|
+
import i18next from 'i18next';
|
|
9
|
+
import { useMemo } from 'react';
|
|
10
|
+
import { PageType } from '../types/index.js';
|
|
11
|
+
import { DateUtil } from '../utils/dateUtil.js';
|
|
12
|
+
import { jsxs } from 'react/jsx-runtime';
|
|
13
|
+
|
|
14
|
+
var _excluded = ["date", "isMuted"];
|
|
15
|
+
var DateCell = function DateCell(_ref) {
|
|
16
|
+
var _ref$date = _ref.date,
|
|
17
|
+
date = _ref$date === void 0 ? new Date() : _ref$date,
|
|
18
|
+
_ref$isMuted = _ref.isMuted,
|
|
19
|
+
isMuted = _ref$isMuted === void 0 ? false : _ref$isMuted,
|
|
20
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
21
|
+
var page = props.page,
|
|
22
|
+
selected = props.selected,
|
|
23
|
+
hilight = props.hilight,
|
|
24
|
+
isHijri = props.isHijri,
|
|
25
|
+
className = props.className,
|
|
26
|
+
selectDate = props.selectDate,
|
|
27
|
+
changePageDate = props.changePageDate,
|
|
28
|
+
mouseOver = props.mouseOver,
|
|
29
|
+
dateDisabled = props.dateDisabled;
|
|
30
|
+
var isToday = useMemo(function () {
|
|
31
|
+
return isSameDay(date, new Date());
|
|
32
|
+
}, [date]);
|
|
33
|
+
var isSelected = useMemo(function () {
|
|
34
|
+
return selected && !isArray(selected) && isSameDay(date, selected);
|
|
35
|
+
}, [date, page, selected]);
|
|
36
|
+
var isMarked = useMemo(function () {
|
|
37
|
+
switch (page) {
|
|
38
|
+
case PageType.MONTH:
|
|
39
|
+
return selected && !isArray(selected) && isSameMonth(date, selected);
|
|
40
|
+
case PageType.YEAR:
|
|
41
|
+
return selected && !isArray(selected) && isSameYear(date, selected);
|
|
42
|
+
case PageType.DECADE:
|
|
43
|
+
return selected && !isArray(selected) && isSameYear(startOfDecade(date), startOfDecade(selected));
|
|
44
|
+
}
|
|
45
|
+
}, [date, page, selected]);
|
|
46
|
+
var isHilightEdge = useMemo(function () {
|
|
47
|
+
if (!isMuted) {
|
|
48
|
+
if (hilight) {
|
|
49
|
+
return isSameDay(date, hilight[0]);
|
|
50
|
+
} else if (Array.isArray(selected)) {
|
|
51
|
+
var _selected = _slicedToArray(selected, 2),
|
|
52
|
+
start = _selected[0],
|
|
53
|
+
end = _selected[1];
|
|
54
|
+
var _hilight = false;
|
|
55
|
+
if (isSameDay(date, start) && isSameDay(date, end)) _hilight = "startend";else if (isSameDay(date, start)) _hilight = "start";else if (isSameDay(date, end)) _hilight = "end";
|
|
56
|
+
return _hilight;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, [date, hilight, selected, isMuted]);
|
|
60
|
+
var isHilight = useMemo(function () {
|
|
61
|
+
if (!isMuted) {
|
|
62
|
+
if (hilight) {
|
|
63
|
+
var _hilight2 = _slicedToArray(hilight, 2),
|
|
64
|
+
start = _hilight2[0],
|
|
65
|
+
end = _hilight2[1];
|
|
66
|
+
if (isBefore(start, end)) {
|
|
67
|
+
return isAfter(date, start) && isBefore(date, DateUtil.addDays(end, 1, isHijri));
|
|
68
|
+
} else {
|
|
69
|
+
return isBefore(date, start) && isAfter(date, DateUtil.addDays(end, -1, isHijri));
|
|
70
|
+
}
|
|
71
|
+
} else if (Array.isArray(selected)) {
|
|
72
|
+
var _selected2 = _slicedToArray(selected, 2),
|
|
73
|
+
_start = _selected2[0],
|
|
74
|
+
_end = _selected2[1];
|
|
75
|
+
return isAfter(date, DateUtil.startOfDay(_start, isHijri)) && isBefore(date, DateUtil.startOfDay(_end, isHijri));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, [isMuted, hilight, selected, date, isHijri]);
|
|
79
|
+
var isDisabled = useMemo(function () {
|
|
80
|
+
return !!isSelected || (dateDisabled === null || dateDisabled === void 0 ? void 0 : dateDisabled(date));
|
|
81
|
+
}, [date, dateDisabled, isSelected]);
|
|
82
|
+
return /*#__PURE__*/jsxs("div", {
|
|
83
|
+
role: "none",
|
|
84
|
+
className: classNames("p-1 m-px text-sm text-center rounded", className, !isDisabled && isMuted && "text-tint-500", (isToday || isMarked) && "underline underline-offset-4 text-primary-700", (!!isSelected || isHilightEdge) && "bg-primary-400 text-white", isHilightEdge === "start" && "rounded-e-none", isHilightEdge === "end" && "rounded-s-none", isHilight && "bg-primary-50 rounded-none", !isDisabled && "cursor-pointer hover:bg-primary-100 hover:text-primary-700", isDisabled && "text-tint-100 cursor-not-allowed"),
|
|
85
|
+
onFocus: function onFocus() {
|
|
86
|
+
return hilight && page === PageType.DATE && (mouseOver === null || mouseOver === void 0 ? void 0 : mouseOver(date));
|
|
87
|
+
},
|
|
88
|
+
onMouseOver: function onMouseOver() {
|
|
89
|
+
return hilight && page === PageType.DATE && (mouseOver === null || mouseOver === void 0 ? void 0 : mouseOver(date));
|
|
90
|
+
},
|
|
91
|
+
onClick: function onClick() {
|
|
92
|
+
return !isDisabled && (page === PageType.DATE ? selectDate === null || selectDate === void 0 ? void 0 : selectDate(date) : changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(date));
|
|
93
|
+
},
|
|
94
|
+
children: [page === PageType.DATE && DateUtil.format(date, "d", i18next.language, isHijri), page === PageType.MONTH && DateUtil.format(date, "MMM", i18next.language, isHijri), page === PageType.YEAR && DateUtil.format(date, "yyyy", i18next.language, isHijri), page === PageType.DECADE && "".concat(DateUtil.format(DateUtil.startOfDecade(date, isHijri), "yyyy", i18next.language, isHijri), "-").concat(DateUtil.format(DateUtil.endOfDecade(date, isHijri), "yy", i18next.language, isHijri))]
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export { DateCell };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import { Button, CoreIcons } from '@react-fabric/core';
|
|
5
|
+
import classNames from 'classnames';
|
|
6
|
+
import { addDays, isBefore, isAfter } from 'date-fns';
|
|
7
|
+
import i18next from 'i18next';
|
|
8
|
+
import { useMemo } from 'react';
|
|
9
|
+
import { PageType } from '../types/index.js';
|
|
10
|
+
import { DateUtil } from '../utils/dateUtil.js';
|
|
11
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
var DateHeader = function DateHeader(props) {
|
|
14
|
+
var page = props.page,
|
|
15
|
+
_props$pageDate = props.pageDate,
|
|
16
|
+
pageDate = _props$pageDate === void 0 ? new Date() : _props$pageDate,
|
|
17
|
+
changePage = props.changePage,
|
|
18
|
+
changePageDate = props.changePageDate,
|
|
19
|
+
hideNext = props.hideNext,
|
|
20
|
+
hidePrevious = props.hidePrevious,
|
|
21
|
+
min = props.min,
|
|
22
|
+
max = props.max,
|
|
23
|
+
_props$isHijri = props.isHijri,
|
|
24
|
+
isHijri = _props$isHijri === void 0 ? false : _props$isHijri;
|
|
25
|
+
var headLabel = useMemo(function () {
|
|
26
|
+
switch (page) {
|
|
27
|
+
case PageType.DATE:
|
|
28
|
+
return DateUtil.format(pageDate, "MMM yyyy", i18next.language, isHijri);
|
|
29
|
+
case PageType.MONTH:
|
|
30
|
+
return DateUtil.format(pageDate, "yyyy", i18next.language, isHijri);
|
|
31
|
+
case PageType.YEAR:
|
|
32
|
+
return "".concat(DateUtil.format(DateUtil.startOfDecade(pageDate, isHijri), "yyyy", i18next.language, isHijri), " - ").concat(DateUtil.format(DateUtil.endOfDecade(pageDate, isHijri), "yyyy", i18next.language, isHijri));
|
|
33
|
+
case PageType.DECADE:
|
|
34
|
+
return "".concat(DateUtil.format(DateUtil.startOfCentury(pageDate, isHijri), "yyyy", i18next.language, isHijri), " - ").concat(DateUtil.format(DateUtil.endOfCentury(pageDate, isHijri), "yyyy", i18next.language, isHijri));
|
|
35
|
+
}
|
|
36
|
+
}, [i18next.language, isHijri, page, pageDate]);
|
|
37
|
+
var _useMemo = useMemo(function () {
|
|
38
|
+
if (page === PageType.DATE) {
|
|
39
|
+
var dateBefore = addDays(DateUtil.startOfYear(pageDate, isHijri), -1);
|
|
40
|
+
var dateAfter = addDays(DateUtil.endOfYear(pageDate, isHijri), 1);
|
|
41
|
+
return [min && isBefore(dateBefore, min) ? null : dateBefore, max && isAfter(dateAfter, max) ? null : dateAfter];
|
|
42
|
+
}
|
|
43
|
+
if (page === PageType.MONTH) {
|
|
44
|
+
var _dateBefore = addDays(DateUtil.startOfDecade(pageDate, isHijri), -1);
|
|
45
|
+
var _dateAfter = addDays(DateUtil.endOfDecade(pageDate, isHijri), 1);
|
|
46
|
+
return [min && isBefore(_dateBefore, min) ? null : _dateBefore, max && isAfter(_dateAfter, max) ? null : _dateAfter];
|
|
47
|
+
}
|
|
48
|
+
if (page === PageType.YEAR) {
|
|
49
|
+
var _dateBefore2 = addDays(DateUtil.startOfCentury(pageDate, isHijri), -1);
|
|
50
|
+
var _dateAfter2 = addDays(DateUtil.endOfCentury(pageDate, isHijri), 1);
|
|
51
|
+
return [min && isBefore(_dateBefore2, min) ? null : _dateBefore2, max && isAfter(_dateAfter2, max) ? null : _dateAfter2];
|
|
52
|
+
}
|
|
53
|
+
return [];
|
|
54
|
+
}, [page, min, max, pageDate, isHijri]),
|
|
55
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
56
|
+
startPage = _useMemo2[0],
|
|
57
|
+
endPage = _useMemo2[1];
|
|
58
|
+
var _useMemo3 = useMemo(function () {
|
|
59
|
+
if (page === PageType.DATE) {
|
|
60
|
+
var dateBefore = addDays(DateUtil.startOfMonth(pageDate, isHijri), -1);
|
|
61
|
+
var dateAfter = addDays(DateUtil.endOfMonth(pageDate, isHijri), 1);
|
|
62
|
+
return [min && isBefore(dateBefore, min) ? null : dateBefore, max && isAfter(dateAfter, max) ? null : dateAfter];
|
|
63
|
+
}
|
|
64
|
+
if (page === PageType.MONTH) {
|
|
65
|
+
var _dateBefore3 = addDays(DateUtil.startOfYear(pageDate, isHijri), -1);
|
|
66
|
+
var _dateAfter3 = addDays(DateUtil.endOfYear(pageDate, isHijri), 1);
|
|
67
|
+
return [min && isBefore(_dateBefore3, min) ? null : _dateBefore3, max && isAfter(_dateAfter3, max) ? null : _dateAfter3];
|
|
68
|
+
}
|
|
69
|
+
if (page === PageType.YEAR) {
|
|
70
|
+
var _dateBefore4 = addDays(DateUtil.startOfDecade(pageDate, isHijri), -1);
|
|
71
|
+
var _dateAfter4 = addDays(DateUtil.endOfDecade(pageDate, isHijri), 1);
|
|
72
|
+
return [min && isBefore(_dateBefore4, min) ? null : _dateBefore4, max && isAfter(_dateAfter4, max) ? null : _dateAfter4];
|
|
73
|
+
}
|
|
74
|
+
if (page === PageType.DECADE) {
|
|
75
|
+
var _dateBefore5 = addDays(DateUtil.startOfCentury(pageDate, isHijri), -1);
|
|
76
|
+
var _dateAfter5 = addDays(DateUtil.endOfCentury(pageDate, isHijri), 1);
|
|
77
|
+
return [min && isBefore(_dateBefore5, min) ? null : _dateBefore5, max && isAfter(_dateAfter5, max) ? null : _dateAfter5];
|
|
78
|
+
}
|
|
79
|
+
return [];
|
|
80
|
+
}, [page, min, max, pageDate, isHijri]),
|
|
81
|
+
_useMemo4 = _slicedToArray(_useMemo3, 2),
|
|
82
|
+
previousPage = _useMemo4[0],
|
|
83
|
+
nextPage = _useMemo4[1];
|
|
84
|
+
return /*#__PURE__*/jsxs("div", {
|
|
85
|
+
className: "flex flex-nowrap items-center area-head",
|
|
86
|
+
"data-page": page,
|
|
87
|
+
children: [startPage !== undefined && /*#__PURE__*/jsx(Button, {
|
|
88
|
+
icon: CoreIcons.chevronsLeft,
|
|
89
|
+
rtlFlip: true,
|
|
90
|
+
size: "sm",
|
|
91
|
+
variant: "link",
|
|
92
|
+
"aria-label": "start",
|
|
93
|
+
disabled: !startPage,
|
|
94
|
+
className: classNames(hidePrevious && "invisible"),
|
|
95
|
+
onClick: function onClick() {
|
|
96
|
+
return startPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(startPage));
|
|
97
|
+
}
|
|
98
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
99
|
+
icon: CoreIcons.chevronLeft,
|
|
100
|
+
rtlFlip: true,
|
|
101
|
+
size: "sm",
|
|
102
|
+
variant: "link",
|
|
103
|
+
"aria-label": "prev",
|
|
104
|
+
disabled: !previousPage,
|
|
105
|
+
className: classNames(hidePrevious && "invisible"),
|
|
106
|
+
onClick: function onClick() {
|
|
107
|
+
return previousPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(previousPage));
|
|
108
|
+
}
|
|
109
|
+
}), /*#__PURE__*/jsx("div", {
|
|
110
|
+
role: "none",
|
|
111
|
+
onClick: function onClick() {
|
|
112
|
+
return changePage(page + 1);
|
|
113
|
+
},
|
|
114
|
+
className: classNames("flex-1 px-2 py-1 text-primary-600 text-center text-sm font-medium truncate", page === PageType.DECADE ? "pointer-events-none" : "cursor-pointer"),
|
|
115
|
+
children: headLabel
|
|
116
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
117
|
+
icon: CoreIcons.chevronRight,
|
|
118
|
+
rtlFlip: true,
|
|
119
|
+
size: "sm",
|
|
120
|
+
variant: "link",
|
|
121
|
+
"aria-label": "next",
|
|
122
|
+
disabled: !nextPage,
|
|
123
|
+
className: classNames(hideNext && "invisible"),
|
|
124
|
+
onClick: function onClick() {
|
|
125
|
+
return nextPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(nextPage));
|
|
126
|
+
}
|
|
127
|
+
}), endPage !== undefined && /*#__PURE__*/jsx(Button, {
|
|
128
|
+
icon: CoreIcons.chevronsRight,
|
|
129
|
+
rtlFlip: true,
|
|
130
|
+
size: "sm",
|
|
131
|
+
variant: "link",
|
|
132
|
+
"aria-label": "end",
|
|
133
|
+
disabled: !endPage,
|
|
134
|
+
className: classNames(hideNext && "invisible"),
|
|
135
|
+
onClick: function onClick() {
|
|
136
|
+
return endPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(endPage));
|
|
137
|
+
}
|
|
138
|
+
})]
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export { DateHeader };
|