@react-fabric/date 1.0.0-beta.8 → 1.0.1
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/README.md +2 -9
- package/{src/components/Date.module.css → css/_date.css} +5 -5
- package/{src/superdate/SuperDate.module.css → css/styles.css} +2 -8
- package/dist/cjs/components/DateCell.js +5 -7
- package/dist/cjs/components/DateHeader.js +27 -20
- package/dist/cjs/components/DatePage.js +10 -12
- package/dist/cjs/components/DecadePage.js +3 -3
- package/dist/cjs/components/MonthPage.js +3 -3
- package/dist/cjs/components/TimeSliders.js +36 -35
- package/dist/cjs/components/YearPage.js +3 -3
- package/dist/cjs/display/DateDisplay.js +25 -8
- package/dist/cjs/display/DateDuration.js +155 -0
- package/dist/cjs/hijri/DateConverter.js +154 -0
- package/dist/cjs/hijri/FormatDate.js +116 -0
- package/dist/cjs/hijri/HijriDate.js +531 -0
- package/dist/cjs/hijri/StringDateParser.js +74 -0
- package/dist/cjs/hijri/index.js +15 -1025
- package/dist/cjs/hijri/initializer.js +113 -0
- package/dist/cjs/hijri/locales.js +19 -0
- package/dist/cjs/hijri/safe.js +17 -0
- package/dist/cjs/i18n/ar/date.json.js +213 -0
- package/dist/cjs/i18n/en/date.json.js +83 -0
- package/dist/cjs/i18n/index.js +4 -10
- package/dist/cjs/index.js +41 -2
- package/dist/cjs/panels/BasePanel.js +6 -5
- package/dist/cjs/panels/DatePanel.js +45 -21
- package/dist/cjs/{superdate → panels}/EventPanel.js +28 -12
- package/dist/cjs/panels/RangePanel.js +49 -19
- package/dist/cjs/utils/dateUtil.js +3 -5
- package/dist/esm/components/DateCell.js +6 -8
- package/dist/esm/components/DateHeader.js +28 -21
- package/dist/esm/components/DatePage.js +11 -13
- package/dist/esm/components/DecadePage.js +3 -3
- package/dist/esm/components/MonthPage.js +3 -3
- package/dist/esm/components/TimeSliders.js +38 -37
- package/dist/esm/components/YearPage.js +3 -3
- package/dist/esm/display/DateDisplay.js +26 -9
- package/dist/esm/display/DateDuration.js +155 -0
- package/dist/esm/hijri/DateConverter.js +152 -0
- package/dist/esm/hijri/FormatDate.js +113 -0
- package/dist/esm/hijri/HijriDate.js +528 -0
- package/dist/esm/hijri/StringDateParser.js +74 -0
- package/dist/esm/hijri/index.js +15 -1025
- package/dist/esm/hijri/initializer.js +113 -0
- package/dist/esm/hijri/locales.js +18 -0
- package/dist/esm/hijri/safe.js +14 -0
- package/dist/esm/i18n/ar/date.json.js +209 -0
- package/dist/esm/i18n/en/date.json.js +79 -0
- package/dist/esm/i18n/index.js +2 -8
- package/dist/esm/index.js +36 -1
- package/dist/esm/panels/BasePanel.js +6 -5
- package/dist/esm/panels/DatePanel.js +48 -24
- package/dist/esm/{superdate → panels}/EventPanel.js +29 -13
- package/dist/esm/panels/RangePanel.js +52 -22
- package/dist/esm/utils/dateUtil.js +4 -6
- package/dist/types/components/DateCell.d.ts +1 -1
- package/dist/types/components/DateHeader.d.ts +1 -1
- package/dist/types/components/DatePage.d.ts +1 -1
- package/dist/types/components/DecadePage.d.ts +1 -1
- package/dist/types/components/MonthPage.d.ts +1 -1
- package/dist/types/components/TimeSliders.d.ts +1 -1
- package/dist/types/components/YearPage.d.ts +1 -1
- package/dist/types/display/DateDisplay.d.ts +17 -4
- package/dist/types/display/DateDuration.d.ts +25 -0
- package/dist/types/hijri/DateConverter.d.ts +13 -0
- package/dist/types/hijri/FormatDate.d.ts +19 -0
- package/dist/types/hijri/HijriDate.d.ts +214 -0
- package/dist/types/hijri/StringDateParser.d.ts +11 -0
- package/dist/types/hijri/index.d.ts +2 -2
- package/dist/types/hijri/initializer.d.ts +129 -0
- package/dist/types/hijri/locales.d.ts +19 -0
- package/dist/types/hijri/safe.d.ts +3 -0
- package/dist/types/index.d.ts +32 -1
- package/dist/types/panels/BasePanel.d.ts +1 -1
- package/dist/types/panels/DatePanel.d.ts +22 -1
- package/dist/types/panels/EventPanel.d.ts +17 -0
- package/dist/types/panels/RangePanel.d.ts +19 -1
- package/dist/types/types/index.d.ts +8 -40
- package/package.json +14 -21
- package/src/components/DateCell.tsx +20 -75
- package/src/components/DateHeader.tsx +27 -78
- package/src/components/DatePage.tsx +11 -36
- package/src/components/DecadePage.tsx +2 -2
- package/src/components/MonthPage.tsx +2 -2
- package/src/components/TimeSliders.tsx +20 -60
- package/src/components/YearPage.tsx +2 -2
- package/src/display/DateDisplay.tsx +26 -38
- package/src/display/DateDuration.tsx +170 -0
- package/src/hijri/DateConverter.js +175 -0
- package/src/hijri/FormatDate.js +134 -0
- package/src/hijri/HijriDate.js +477 -0
- package/src/hijri/StringDateParser.js +68 -0
- package/src/hijri/index.js +16 -1535
- package/src/hijri/initializer.js +96 -0
- package/src/hijri/locales.js +109 -0
- package/src/hijri/safe.js +16 -0
- package/src/i18n/ar/date.json +203 -0
- package/src/i18n/en/date.json +73 -0
- package/src/i18n/index.ts +2 -5
- package/src/index.ts +29 -18
- package/src/panels/BasePanel.tsx +7 -10
- package/src/panels/DatePanel.tsx +41 -33
- package/src/{superdate → panels}/EventPanel.tsx +52 -53
- package/src/panels/RangePanel.tsx +54 -60
- package/src/types/index.ts +8 -43
- package/src/utils/dateUtil.ts +26 -82
- package/dist/cjs/components/Date.module.css +0 -1
- package/dist/cjs/i18n/ar.json.js +0 -25
- package/dist/cjs/i18n/en.json.js +0 -21
- package/dist/cjs/i18n/superdate/ar.json.js +0 -86
- package/dist/cjs/i18n/superdate/en.json.js +0 -93
- package/dist/cjs/superdate/QuickSelect.js +0 -134
- package/dist/cjs/superdate/RelativeInput.js +0 -79
- package/dist/cjs/superdate/RelativePanel.js +0 -91
- package/dist/cjs/superdate/SuperDate.module.css +0 -1
- package/dist/cjs/superdate/Superdate.js +0 -177
- package/dist/esm/components/Date.module.css +0 -1
- package/dist/esm/i18n/ar.json.js +0 -21
- package/dist/esm/i18n/en.json.js +0 -18
- package/dist/esm/i18n/superdate/ar.json.js +0 -79
- package/dist/esm/i18n/superdate/en.json.js +0 -85
- package/dist/esm/superdate/QuickSelect.js +0 -134
- package/dist/esm/superdate/RelativeInput.js +0 -79
- package/dist/esm/superdate/RelativePanel.js +0 -91
- package/dist/esm/superdate/SuperDate.module.css +0 -1
- package/dist/esm/superdate/Superdate.js +0 -176
- package/dist/types/superdate/EventPanel.d.ts +0 -4
- package/dist/types/superdate/QuickSelect.d.ts +0 -1
- package/dist/types/superdate/RelativeInput.d.ts +0 -1
- package/dist/types/superdate/RelativePanel.d.ts +0 -1
- package/dist/types/superdate/Superdate.d.ts +0 -17
- package/src/i18n/ar.json +0 -14
- package/src/i18n/en.json +0 -13
- package/src/i18n/superdate/ar.json +0 -70
- package/src/i18n/superdate/en.json +0 -75
- package/src/superdate/QuickSelect.tsx +0 -121
- package/src/superdate/RelativeInput.tsx +0 -64
- package/src/superdate/RelativePanel.tsx +0 -103
- package/src/superdate/Superdate.tsx +0 -198
|
@@ -5,7 +5,6 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
5
5
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
6
|
var core = require('@react-fabric/core');
|
|
7
7
|
var utilities = require('@react-fabric/utilities');
|
|
8
|
-
var classNames = require('classnames');
|
|
9
8
|
var dateFns = require('date-fns');
|
|
10
9
|
var react = require('react');
|
|
11
10
|
var reactI18next = require('react-i18next');
|
|
@@ -16,8 +15,29 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
16
15
|
|
|
17
16
|
var _excluded = ["className", "max", "min", "dateDisabled", "onChange", "showHijriToggle", "value", "withTime"];
|
|
18
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
20
|
-
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
/**
|
|
20
|
+
* DatePanel component to display a date picker with options for selecting a date and time.
|
|
21
|
+
* It allows switching between Gregorian and Hijri calendars, and includes buttons for selecting today or canceling the selection.
|
|
22
|
+
* It uses the current calendar and locale from the global context.
|
|
23
|
+
* It handles date selection, time changes, and page navigation within the date picker.
|
|
24
|
+
* It also supports disabling specific dates and setting minimum and maximum date limits.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```jsx
|
|
28
|
+
* <DatePanel
|
|
29
|
+
* className="my-date-panel"
|
|
30
|
+
* max="2025-12-31"
|
|
31
|
+
* min="2020-01-01"
|
|
32
|
+
* dateDisabled={["2023-01-01", "2023-12-25"]}
|
|
33
|
+
* onChange={(date) => console.log("Selected date:", date)}
|
|
34
|
+
* showHijriToggle={true}
|
|
35
|
+
* value={new Date()}
|
|
36
|
+
* withTime={true}
|
|
37
|
+
* />
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
function DatePanel(_ref) {
|
|
21
41
|
var className = _ref.className,
|
|
22
42
|
max = _ref.max,
|
|
23
43
|
min = _ref.min,
|
|
@@ -29,20 +49,17 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
29
49
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
30
50
|
var _useTranslation = reactI18next.useTranslation("date"),
|
|
31
51
|
t = _useTranslation.t;
|
|
32
|
-
var
|
|
33
|
-
currentCalendar =
|
|
34
|
-
var
|
|
52
|
+
var _useApplicationContex = core.useApplicationContext(),
|
|
53
|
+
currentCalendar = _useApplicationContex.currentCalendar;
|
|
54
|
+
var _usePropState = core.usePropState(currentCalendar === "hijri"),
|
|
55
|
+
_usePropState2 = _slicedToArray(_usePropState, 2),
|
|
56
|
+
isHijri = _usePropState2[0],
|
|
57
|
+
setIsHijri = _usePropState2[1];
|
|
58
|
+
var _useState = react.useState(true),
|
|
35
59
|
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var _useState3 = react.useState(true),
|
|
39
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
40
|
-
canSelectToday = _useState4[0],
|
|
41
|
-
setCanSelectToday = _useState4[1];
|
|
60
|
+
canSelectToday = _useState2[0],
|
|
61
|
+
setCanSelectToday = _useState2[1];
|
|
42
62
|
var fireChange = core.useDebounce(onChange, [onChange]);
|
|
43
|
-
react.useEffect(function () {
|
|
44
|
-
setHijri(currentCalendar === "hijri");
|
|
45
|
-
}, [currentCalendar]);
|
|
46
63
|
var _useReducer = react.useReducer(function (state, action) {
|
|
47
64
|
if (action.type === "reset") {
|
|
48
65
|
if (!utilities.isEmpty(action.date)) {
|
|
@@ -76,7 +93,7 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
76
93
|
}
|
|
77
94
|
if (action.type === "changePageDate") {
|
|
78
95
|
state.pageDate = action.date;
|
|
79
|
-
action.pageChange
|
|
96
|
+
if (action.pageChange) state.page = Math.max(state.page - 1, 0);
|
|
80
97
|
}
|
|
81
98
|
if (action.type === "changeDate" || action.type === "changeTime") {
|
|
82
99
|
if (min && state.selected && dateFns.isBefore(state.selected, new Date(min))) {
|
|
@@ -89,14 +106,20 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
89
106
|
state.hour = state.selected.getHours();
|
|
90
107
|
state.minute = state.selected.getMinutes();
|
|
91
108
|
}
|
|
92
|
-
state.selected
|
|
109
|
+
if (state.selected) fireChange === null || fireChange === void 0 || fireChange(state.selected.toISOString());
|
|
93
110
|
}
|
|
94
111
|
return _objectSpread({}, state);
|
|
95
112
|
}, {
|
|
96
113
|
page: index.PageType.DATE,
|
|
97
|
-
pageDate: new Date(),
|
|
98
114
|
hour: 0,
|
|
99
115
|
minute: 0
|
|
116
|
+
}, function () {
|
|
117
|
+
return {
|
|
118
|
+
page: index.PageType.DATE,
|
|
119
|
+
pageDate: new Date(),
|
|
120
|
+
hour: 0,
|
|
121
|
+
minute: 0
|
|
122
|
+
};
|
|
100
123
|
}),
|
|
101
124
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
102
125
|
state = _useReducer2[0],
|
|
@@ -109,6 +132,7 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
109
132
|
if (max && canSelect) {
|
|
110
133
|
canSelect = dateFns.isBefore(new Date(), max);
|
|
111
134
|
}
|
|
135
|
+
// eslint-disable-next-line @eslint-react/set-state-in-effect
|
|
112
136
|
setCanSelectToday(canSelect);
|
|
113
137
|
}, [min, max]);
|
|
114
138
|
react.useEffect(function () {
|
|
@@ -142,7 +166,7 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
142
166
|
});
|
|
143
167
|
}, []);
|
|
144
168
|
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
|
|
145
|
-
className:
|
|
169
|
+
className: utilities.cn("block overflow-hidden bg-default rounded-capped", className)
|
|
146
170
|
}, rest), {}, {
|
|
147
171
|
children: [/*#__PURE__*/jsxRuntime.jsx(BasePanel.BasePanel, _objectSpread(_objectSpread({}, state), {}, {
|
|
148
172
|
max: max,
|
|
@@ -172,7 +196,7 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
172
196
|
color: "primary",
|
|
173
197
|
className: "my-1",
|
|
174
198
|
onClick: function onClick() {
|
|
175
|
-
|
|
199
|
+
setIsHijri(!isHijri);
|
|
176
200
|
},
|
|
177
201
|
children: t(isHijri ? "label.gregorian" : "label.hijri")
|
|
178
202
|
})
|
|
@@ -200,6 +224,6 @@ var DatePanel = function DatePanel(_ref) {
|
|
|
200
224
|
})]
|
|
201
225
|
})]
|
|
202
226
|
}));
|
|
203
|
-
}
|
|
227
|
+
}
|
|
204
228
|
|
|
205
229
|
exports.DatePanel = DatePanel;
|
|
@@ -17,8 +17,8 @@ var dateUtil = require('../utils/dateUtil.js');
|
|
|
17
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
18
18
|
|
|
19
19
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
21
|
-
|
|
20
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
21
|
+
function makeList(year) {
|
|
22
22
|
var recurring = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
23
23
|
var predefined = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
24
24
|
var list = _toConsumableArray(predefined);
|
|
@@ -56,8 +56,8 @@ var makeList = function makeList(year) {
|
|
|
56
56
|
return list.sort(function (a, b) {
|
|
57
57
|
return a.start.getTime() < b.start.getTime() ? -1 : 1;
|
|
58
58
|
});
|
|
59
|
-
}
|
|
60
|
-
|
|
59
|
+
}
|
|
60
|
+
function EventPanel(_ref) {
|
|
61
61
|
var isHijri = _ref.isHijri,
|
|
62
62
|
onChange = _ref.onChange,
|
|
63
63
|
_ref$events = _ref.events,
|
|
@@ -66,7 +66,9 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
66
66
|
recurringEvents = _ref$recurringEvents === void 0 ? utilities.EMPTY_ARRAY : _ref$recurringEvents;
|
|
67
67
|
var _useTranslation = reactI18next.useTranslation(),
|
|
68
68
|
t = _useTranslation.t;
|
|
69
|
-
var _useState = react.useState({
|
|
69
|
+
var _useState = react.useState(function () {
|
|
70
|
+
return {};
|
|
71
|
+
}),
|
|
70
72
|
_useState2 = _slicedToArray(_useState, 2),
|
|
71
73
|
predefined = _useState2[0],
|
|
72
74
|
setPredefined = _useState2[1];
|
|
@@ -82,7 +84,7 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
82
84
|
if (action.type === "changePageDate") {
|
|
83
85
|
resetList = true;
|
|
84
86
|
state.pageDate = action.date;
|
|
85
|
-
if (action.changePage
|
|
87
|
+
if (action.changePage) {
|
|
86
88
|
state.page = Math.max(state.page - 1, index.PageType.MONTH);
|
|
87
89
|
}
|
|
88
90
|
}
|
|
@@ -93,9 +95,14 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
93
95
|
}
|
|
94
96
|
return _objectSpread({}, state);
|
|
95
97
|
}, {
|
|
96
|
-
pageDate: new Date(),
|
|
97
98
|
page: index.PageType.MONTH,
|
|
98
99
|
events: []
|
|
100
|
+
}, function () {
|
|
101
|
+
return {
|
|
102
|
+
pageDate: new Date(),
|
|
103
|
+
page: index.PageType.MONTH,
|
|
104
|
+
events: []
|
|
105
|
+
};
|
|
99
106
|
}),
|
|
100
107
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
101
108
|
state = _useReducer2[0],
|
|
@@ -110,16 +117,24 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
110
117
|
events.forEach(function (evt) {
|
|
111
118
|
var start = dateFns.startOfDay(new Date(evt.start));
|
|
112
119
|
var end = dateFns.endOfDay(new Date(evt.end));
|
|
113
|
-
|
|
114
|
-
predefined[
|
|
120
|
+
var startYear = start.getFullYear();
|
|
121
|
+
if (!predefined[startYear]) predefined[startYear] = [];
|
|
122
|
+
predefined[startYear].push(_objectSpread(_objectSpread({}, evt), {}, {
|
|
123
|
+
start: start,
|
|
124
|
+
end: end
|
|
125
|
+
}));
|
|
115
126
|
if (start.getFullYear() !== end.getFullYear()) {
|
|
116
127
|
if (!predefined[end.getFullYear()]) predefined[end.getFullYear()] = [];
|
|
117
|
-
predefined[end.getFullYear()].push(evt)
|
|
128
|
+
predefined[end.getFullYear()].push(_objectSpread(_objectSpread({}, evt), {}, {
|
|
129
|
+
start: start,
|
|
130
|
+
end: end
|
|
131
|
+
}));
|
|
118
132
|
}
|
|
119
133
|
});
|
|
134
|
+
// eslint-disable-next-line @eslint-react/set-state-in-effect
|
|
120
135
|
setPredefined(predefined);
|
|
121
136
|
}, [events]);
|
|
122
|
-
return /*#__PURE__*/jsxRuntime.jsxs(core.
|
|
137
|
+
return /*#__PURE__*/jsxRuntime.jsxs(core.Layout, {
|
|
123
138
|
children: [/*#__PURE__*/jsxRuntime.jsx(DateHeader.DateHeader, {
|
|
124
139
|
page: state.page,
|
|
125
140
|
pageDate: state.pageDate,
|
|
@@ -141,6 +156,7 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
141
156
|
children: state.events.map(function (evt) {
|
|
142
157
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
143
158
|
role: "none",
|
|
159
|
+
"data-dropdown-dismiss": "true",
|
|
144
160
|
onClick: function onClick() {
|
|
145
161
|
onChange === null || onChange === void 0 || onChange("".concat(evt.start.toISOString(), "|").concat(evt.end.toISOString()), [evt.start.toISOString(), evt.end.toISOString()]);
|
|
146
162
|
},
|
|
@@ -180,6 +196,6 @@ var EventPanel = function EventPanel(_ref) {
|
|
|
180
196
|
}
|
|
181
197
|
})]
|
|
182
198
|
});
|
|
183
|
-
}
|
|
199
|
+
}
|
|
184
200
|
|
|
185
201
|
exports.EventPanel = EventPanel;
|
|
@@ -5,7 +5,6 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
5
5
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
6
|
var core = require('@react-fabric/core');
|
|
7
7
|
var utilities = require('@react-fabric/utilities');
|
|
8
|
-
var classNames = require('classnames');
|
|
9
8
|
var dateFns = require('date-fns');
|
|
10
9
|
var react = require('react');
|
|
11
10
|
var reactI18next = require('react-i18next');
|
|
@@ -16,8 +15,26 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
16
15
|
|
|
17
16
|
var _excluded = ["className", "max", "min", "dateDisabled", "onChange", "showHijriToggle", "value", "withTime", "showApply"];
|
|
18
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
20
|
-
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
/**
|
|
20
|
+
* RangePanel component to display a date range picker with options for selecting a start and end date.
|
|
21
|
+
* It allows switching between Gregorian and Hijri calendars, and includes buttons for applying or canceling the selection.
|
|
22
|
+
* It uses the current calendar and locale from the global context.
|
|
23
|
+
* It handles date selection, time changes, and page navigation within the date picker.
|
|
24
|
+
* It also supports disabling specific dates and setting minimum and maximum date limits.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```jsx
|
|
28
|
+
* <RangePanel
|
|
29
|
+
* className="my-range-panel"
|
|
30
|
+
* max="2025-12-31"
|
|
31
|
+
* min="2020-01-01"
|
|
32
|
+
* dateDisabled={["2023-01-01", "2023-12-25"]}
|
|
33
|
+
* onChange={(dateRange) => console.log("Selected date range:", dateRange)}
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
function RangePanel(_ref) {
|
|
21
38
|
var className = _ref.className,
|
|
22
39
|
max = _ref.max,
|
|
23
40
|
min = _ref.min,
|
|
@@ -31,16 +48,13 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
31
48
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
49
|
var _useTranslation = reactI18next.useTranslation("date"),
|
|
33
50
|
t = _useTranslation.t;
|
|
34
|
-
var
|
|
35
|
-
currentCalendar =
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
isHijri =
|
|
39
|
-
|
|
51
|
+
var _useApplicationContex = core.useApplicationContext(),
|
|
52
|
+
currentCalendar = _useApplicationContex.currentCalendar;
|
|
53
|
+
var _usePropState = core.usePropState(currentCalendar === "hijri"),
|
|
54
|
+
_usePropState2 = _slicedToArray(_usePropState, 2),
|
|
55
|
+
isHijri = _usePropState2[0],
|
|
56
|
+
setIsHijri = _usePropState2[1];
|
|
40
57
|
var fireChange = core.useDebounce(onChange, [onChange]);
|
|
41
|
-
react.useEffect(function () {
|
|
42
|
-
setHijri(currentCalendar === "hijri");
|
|
43
|
-
}, [currentCalendar]);
|
|
44
58
|
var _useReducer = react.useReducer(function (state, action) {
|
|
45
59
|
if (action.type === "reset") {
|
|
46
60
|
if (!utilities.isEmpty(action.date)) {
|
|
@@ -119,7 +133,7 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
119
133
|
state[action.range].pageDate = action.date;
|
|
120
134
|
if (action.pageChange) {
|
|
121
135
|
state[action.range].page = Math.max(state[action.range].page - 1, 0);
|
|
122
|
-
action.range === "start" && state.start.page === index.PageType.DATE
|
|
136
|
+
if (action.range === "start" && state.start.page === index.PageType.DATE) state.end.pageDate = dateFns.addMonths(action.date, 1);
|
|
123
137
|
}
|
|
124
138
|
}
|
|
125
139
|
if (action.type === "changeDate" || action.type === "changeTime") {
|
|
@@ -133,22 +147,37 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
133
147
|
state.end.hour = state.selected[1].getHours();
|
|
134
148
|
state.end.minute = state.selected[1].getMinutes();
|
|
135
149
|
}
|
|
136
|
-
!showApply && state.selected && !state.hilight
|
|
150
|
+
if (!showApply && state.selected && !state.hilight) fireChange === null || fireChange === void 0 || fireChange([state.selected[0].toISOString(), state.selected[1].toISOString()]);
|
|
137
151
|
}
|
|
138
152
|
return _objectSpread({}, state);
|
|
139
153
|
}, {
|
|
140
154
|
start: {
|
|
141
155
|
page: index.PageType.DATE,
|
|
142
|
-
pageDate: new Date(),
|
|
143
156
|
hour: 0,
|
|
144
157
|
minute: 0
|
|
145
158
|
},
|
|
146
159
|
end: {
|
|
147
160
|
page: index.PageType.DATE,
|
|
148
|
-
pageDate: dateUtil.DateUtil.addMonths(new Date(), 1, isHijri),
|
|
149
161
|
hour: 0,
|
|
150
162
|
minute: 0
|
|
151
163
|
}
|
|
164
|
+
}, function () {
|
|
165
|
+
return {
|
|
166
|
+
start: {
|
|
167
|
+
page: index.PageType.DATE,
|
|
168
|
+
pageDate: new Date(),
|
|
169
|
+
hour: 0,
|
|
170
|
+
minute: 0
|
|
171
|
+
},
|
|
172
|
+
end: {
|
|
173
|
+
page: index.PageType.DATE,
|
|
174
|
+
pageDate: dateUtil.DateUtil.addMonths(new Date(), 1, isHijri),
|
|
175
|
+
hour: 0,
|
|
176
|
+
minute: 0
|
|
177
|
+
},
|
|
178
|
+
hilight: undefined,
|
|
179
|
+
selected: undefined
|
|
180
|
+
};
|
|
152
181
|
}),
|
|
153
182
|
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
154
183
|
state = _useReducer2[0],
|
|
@@ -204,7 +233,7 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
204
233
|
});
|
|
205
234
|
}, []);
|
|
206
235
|
return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
|
|
207
|
-
className:
|
|
236
|
+
className: utilities.cn("block overflow-hidden bg-default rounded-capped", className)
|
|
208
237
|
}, rest), {}, {
|
|
209
238
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
210
239
|
className: "flex flex-nowrap",
|
|
@@ -280,7 +309,7 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
280
309
|
color: "primary",
|
|
281
310
|
className: "my-1",
|
|
282
311
|
onClick: function onClick() {
|
|
283
|
-
|
|
312
|
+
setIsHijri(!isHijri);
|
|
284
313
|
},
|
|
285
314
|
children: t(isHijri ? "label.gregorian" : "label.hijri")
|
|
286
315
|
})
|
|
@@ -326,6 +355,7 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
326
355
|
variant: "solid",
|
|
327
356
|
color: "primary",
|
|
328
357
|
disabled: !state.selected,
|
|
358
|
+
"data-dropdown-dismiss": "true",
|
|
329
359
|
className: "my-1",
|
|
330
360
|
onClick: function onClick() {
|
|
331
361
|
var _state$selected, _state$selected2;
|
|
@@ -335,6 +365,6 @@ var RangePanel = function RangePanel(_ref) {
|
|
|
335
365
|
})]
|
|
336
366
|
})]
|
|
337
367
|
}));
|
|
338
|
-
}
|
|
368
|
+
}
|
|
339
369
|
|
|
340
370
|
exports.RangePanel = RangePanel;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
|
-
var dateFns = require('date-fns');
|
|
5
|
-
var index = require('../types/index.js');
|
|
6
4
|
var utilities = require('@react-fabric/utilities');
|
|
5
|
+
var dateFns = require('date-fns');
|
|
7
6
|
var locale = require('date-fns/locale');
|
|
8
7
|
var i18next = require('i18next');
|
|
8
|
+
var index = require('../types/index.js');
|
|
9
9
|
|
|
10
10
|
var Locales = {
|
|
11
11
|
ar: locale.arSA,
|
|
@@ -21,8 +21,6 @@ var Locales = {
|
|
|
21
21
|
ru: locale.ru,
|
|
22
22
|
zh: locale.zhCN
|
|
23
23
|
};
|
|
24
|
-
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
26
24
|
exports.DateUtil = void 0;
|
|
27
25
|
(function (_DateUtil) {
|
|
28
26
|
var translateNumber = function translateNumber(d) {
|
|
@@ -257,7 +255,7 @@ exports.DateUtil = void 0;
|
|
|
257
255
|
};
|
|
258
256
|
_DateUtil.getWeek = function (date, locale) {
|
|
259
257
|
var isHijri = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
260
|
-
var ret
|
|
258
|
+
var ret;
|
|
261
259
|
if (isHijri) {
|
|
262
260
|
var start = startOfYear(date, isHijri);
|
|
263
261
|
ret = format(new Date(date.getTime() - start.getTime()), "ww");
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
4
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
|
-
import { isArray } from '@react-fabric/utilities';
|
|
6
|
-
import classNames from 'classnames';
|
|
5
|
+
import { isArray, cn } from '@react-fabric/utilities';
|
|
7
6
|
import { isSameDay, isSameYear, startOfDecade, isSameMonth, isBefore, isAfter } from 'date-fns';
|
|
8
7
|
import i18next from 'i18next';
|
|
9
8
|
import { useMemo } from 'react';
|
|
@@ -12,9 +11,8 @@ import { DateUtil } from '../utils/dateUtil.js';
|
|
|
12
11
|
import { jsxs } from 'react/jsx-runtime';
|
|
13
12
|
|
|
14
13
|
var _excluded = ["date", "isMuted"];
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
date = _ref$date === void 0 ? new Date() : _ref$date,
|
|
14
|
+
function DateCell(_ref) {
|
|
15
|
+
var date = _ref.date,
|
|
18
16
|
_ref$isMuted = _ref.isMuted,
|
|
19
17
|
isMuted = _ref$isMuted === void 0 ? false : _ref$isMuted,
|
|
20
18
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -32,7 +30,7 @@ var DateCell = function DateCell(_ref) {
|
|
|
32
30
|
}, [date]);
|
|
33
31
|
var isSelected = useMemo(function () {
|
|
34
32
|
return selected && !isArray(selected) && isSameDay(date, selected);
|
|
35
|
-
}, [date,
|
|
33
|
+
}, [date, selected]);
|
|
36
34
|
var isMarked = useMemo(function () {
|
|
37
35
|
switch (page) {
|
|
38
36
|
case PageType.MONTH:
|
|
@@ -81,7 +79,7 @@ var DateCell = function DateCell(_ref) {
|
|
|
81
79
|
}, [date, dateDisabled, isSelected]);
|
|
82
80
|
return /*#__PURE__*/jsxs("div", {
|
|
83
81
|
role: "none",
|
|
84
|
-
className:
|
|
82
|
+
className: cn("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
83
|
onFocus: function onFocus() {
|
|
86
84
|
return hilight && page === PageType.DATE && (mouseOver === null || mouseOver === void 0 ? void 0 : mouseOver(date));
|
|
87
85
|
},
|
|
@@ -93,6 +91,6 @@ var DateCell = function DateCell(_ref) {
|
|
|
93
91
|
},
|
|
94
92
|
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
93
|
});
|
|
96
|
-
}
|
|
94
|
+
}
|
|
97
95
|
|
|
98
96
|
export { DateCell };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
-
import { Button
|
|
5
|
-
import
|
|
4
|
+
import { Button } from '@react-fabric/core';
|
|
5
|
+
import { cn } from '@react-fabric/utilities';
|
|
6
6
|
import { addDays, isBefore, isAfter } from 'date-fns';
|
|
7
7
|
import i18next from 'i18next';
|
|
8
8
|
import { useMemo } from 'react';
|
|
@@ -10,10 +10,9 @@ import { PageType } from '../types/index.js';
|
|
|
10
10
|
import { DateUtil } from '../utils/dateUtil.js';
|
|
11
11
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
function DateHeader(props) {
|
|
14
14
|
var page = props.page,
|
|
15
|
-
|
|
16
|
-
pageDate = _props$pageDate === void 0 ? new Date() : _props$pageDate,
|
|
15
|
+
pageDate = props.pageDate,
|
|
17
16
|
changePage = props.changePage,
|
|
18
17
|
changePageDate = props.changePageDate,
|
|
19
18
|
hideNext = props.hideNext,
|
|
@@ -33,7 +32,7 @@ var DateHeader = function DateHeader(props) {
|
|
|
33
32
|
case PageType.DECADE:
|
|
34
33
|
return "".concat(DateUtil.format(DateUtil.startOfCentury(pageDate, isHijri), "yyyy", i18next.language, isHijri), " - ").concat(DateUtil.format(DateUtil.endOfCentury(pageDate, isHijri), "yyyy", i18next.language, isHijri));
|
|
35
34
|
}
|
|
36
|
-
}, [
|
|
35
|
+
}, [isHijri, page, pageDate]);
|
|
37
36
|
var _useMemo = useMemo(function () {
|
|
38
37
|
if (page === PageType.DATE) {
|
|
39
38
|
var dateBefore = addDays(DateUtil.startOfYear(pageDate, isHijri), -1);
|
|
@@ -82,27 +81,31 @@ var DateHeader = function DateHeader(props) {
|
|
|
82
81
|
previousPage = _useMemo4[0],
|
|
83
82
|
nextPage = _useMemo4[1];
|
|
84
83
|
return /*#__PURE__*/jsxs("div", {
|
|
85
|
-
className: "flex flex-nowrap items-center area-
|
|
84
|
+
className: "flex flex-nowrap items-center area-header",
|
|
86
85
|
"data-page": page,
|
|
87
86
|
children: [startPage !== undefined && /*#__PURE__*/jsx(Button, {
|
|
88
|
-
icon:
|
|
89
|
-
|
|
87
|
+
icon: {
|
|
88
|
+
icon: "icon-[mdi--chevron-double-left]",
|
|
89
|
+
rtlFlip: true
|
|
90
|
+
},
|
|
90
91
|
size: "sm",
|
|
91
92
|
variant: "link",
|
|
92
93
|
"aria-label": "start",
|
|
93
94
|
disabled: !startPage,
|
|
94
|
-
className:
|
|
95
|
+
className: cn(hidePrevious && "invisible"),
|
|
95
96
|
onClick: function onClick() {
|
|
96
97
|
return startPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(startPage));
|
|
97
98
|
}
|
|
98
99
|
}), /*#__PURE__*/jsx(Button, {
|
|
99
|
-
icon:
|
|
100
|
-
|
|
100
|
+
icon: {
|
|
101
|
+
icon: "icon-[mdi--chevron-left]",
|
|
102
|
+
rtlFlip: true
|
|
103
|
+
},
|
|
101
104
|
size: "sm",
|
|
102
105
|
variant: "link",
|
|
103
106
|
"aria-label": "prev",
|
|
104
107
|
disabled: !previousPage,
|
|
105
|
-
className:
|
|
108
|
+
className: cn(hidePrevious && "invisible"),
|
|
106
109
|
onClick: function onClick() {
|
|
107
110
|
return previousPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(previousPage));
|
|
108
111
|
}
|
|
@@ -111,32 +114,36 @@ var DateHeader = function DateHeader(props) {
|
|
|
111
114
|
onClick: function onClick() {
|
|
112
115
|
return changePage(page + 1);
|
|
113
116
|
},
|
|
114
|
-
className:
|
|
117
|
+
className: cn("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
118
|
children: headLabel
|
|
116
119
|
}), /*#__PURE__*/jsx(Button, {
|
|
117
|
-
icon:
|
|
118
|
-
|
|
120
|
+
icon: {
|
|
121
|
+
icon: "icon-[mdi--chevron-right]",
|
|
122
|
+
rtlFlip: true
|
|
123
|
+
},
|
|
119
124
|
size: "sm",
|
|
120
125
|
variant: "link",
|
|
121
126
|
"aria-label": "next",
|
|
122
127
|
disabled: !nextPage,
|
|
123
|
-
className:
|
|
128
|
+
className: cn(hideNext && "invisible"),
|
|
124
129
|
onClick: function onClick() {
|
|
125
130
|
return nextPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(nextPage));
|
|
126
131
|
}
|
|
127
132
|
}), endPage !== undefined && /*#__PURE__*/jsx(Button, {
|
|
128
|
-
icon:
|
|
129
|
-
|
|
133
|
+
icon: {
|
|
134
|
+
icon: "icon-[mdi--chevron-double-right]",
|
|
135
|
+
rtlFlip: true
|
|
136
|
+
},
|
|
130
137
|
size: "sm",
|
|
131
138
|
variant: "link",
|
|
132
139
|
"aria-label": "end",
|
|
133
140
|
disabled: !endPage,
|
|
134
|
-
className:
|
|
141
|
+
className: cn(hideNext && "invisible"),
|
|
135
142
|
onClick: function onClick() {
|
|
136
143
|
return endPage && (changePageDate === null || changePageDate === void 0 ? void 0 : changePageDate(endPage));
|
|
137
144
|
}
|
|
138
145
|
})]
|
|
139
146
|
});
|
|
140
|
-
}
|
|
147
|
+
}
|
|
141
148
|
|
|
142
149
|
export { DateHeader };
|
|
@@ -2,22 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
|
+
import { cn } from '@react-fabric/utilities';
|
|
5
6
|
import { getDay } from 'date-fns';
|
|
6
7
|
import i18next from 'i18next';
|
|
7
|
-
import { useMemo, Fragment
|
|
8
|
+
import { useMemo, Fragment } from 'react';
|
|
9
|
+
import { PageType } from '../types/index.js';
|
|
8
10
|
import { DateUtil } from '../utils/dateUtil.js';
|
|
9
11
|
import { DateCell } from './DateCell.js';
|
|
10
|
-
import classNames from 'classnames';
|
|
11
|
-
import { PageType } from '../types/index.js';
|
|
12
|
-
import classes from './Date.module.css';
|
|
13
12
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
14
13
|
|
|
15
14
|
var _excluded = ["pageDate", "isHijri"];
|
|
16
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
17
|
var rows = [0, 1, 2, 3, 4, 5];
|
|
19
18
|
var cols = [0, 1, 2, 3, 4, 5, 6];
|
|
20
|
-
|
|
19
|
+
function DatePage(_ref) {
|
|
21
20
|
var pageDate = _ref.pageDate,
|
|
22
21
|
isHijri = _ref.isHijri,
|
|
23
22
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -27,13 +26,13 @@ var DatePage = function DatePage(_ref) {
|
|
|
27
26
|
return DateUtil.addDays(first, (current < 3 ? -7 : 0) + current * -1, isHijri);
|
|
28
27
|
}, [isHijri, pageDate]);
|
|
29
28
|
return /*#__PURE__*/jsxs("div", {
|
|
30
|
-
className:
|
|
29
|
+
className: cn("grid grid-cols-8 area-content", props.page !== PageType.DATE && "invisible"),
|
|
31
30
|
children: [/*#__PURE__*/jsx("div", {
|
|
32
|
-
className:
|
|
31
|
+
className: cn("fabric-dateHeader", "px-1 text-center bg-tint-50 h-7")
|
|
33
32
|
}), cols.map(function (col) {
|
|
34
33
|
var dt = DateUtil.addDays(startDate, col, isHijri);
|
|
35
34
|
return /*#__PURE__*/jsx("div", {
|
|
36
|
-
className:
|
|
35
|
+
className: cn("fabric-dateHeader", "font-medium text-sm p-1 mx-px text-center text-muted bg-tint-50 h-7"),
|
|
37
36
|
children: DateUtil.format(dt, "eeeeee", i18next.language, isHijri)
|
|
38
37
|
}, dt.toISOString());
|
|
39
38
|
}), rows.map(function (row) {
|
|
@@ -43,17 +42,16 @@ var DatePage = function DatePage(_ref) {
|
|
|
43
42
|
children: DateUtil.getWeek(DateUtil.addDays(startDate, row * 7, isHijri), i18next.language, isHijri)
|
|
44
43
|
}, row), cols.map(function (col) {
|
|
45
44
|
var dt = DateUtil.addDays(startDate, row * 7 + col, isHijri);
|
|
46
|
-
return /*#__PURE__*/
|
|
45
|
+
return /*#__PURE__*/jsx(DateCell, _objectSpread(_objectSpread({}, props), {}, {
|
|
47
46
|
date: dt,
|
|
48
47
|
page: PageType.DATE,
|
|
49
48
|
isHijri: isHijri,
|
|
50
|
-
key: dt.toISOString(),
|
|
51
49
|
isMuted: !DateUtil.isSameMonth(dt, pageDate, isHijri)
|
|
52
|
-
}));
|
|
50
|
+
}), dt.toISOString());
|
|
53
51
|
})]
|
|
54
52
|
}, row);
|
|
55
53
|
})]
|
|
56
54
|
});
|
|
57
|
-
}
|
|
55
|
+
}
|
|
58
56
|
|
|
59
57
|
export { DatePage };
|