@pezeshk-book/modules 0.2.20 → 0.2.22
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/date-time-picker/date-time-picker.d.ts +3 -0
- package/date-time-picker/date-time-picker.js +61 -0
- package/date-time-picker/date-time-picker.js.map +1 -0
- package/date-time-picker/date-time-picker.props.d.ts +25 -0
- package/date-time-picker/date-time-picker.props.js +3 -0
- package/date-time-picker/date-time-picker.props.js.map +1 -0
- package/date-time-picker/index.d.ts +2 -0
- package/date-time-picker/index.js +6 -0
- package/date-time-picker/index.js.map +1 -0
- package/index.d.ts +3 -1
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/time-picker/index.d.ts +2 -0
- package/time-picker/index.js +6 -0
- package/time-picker/index.js.map +1 -0
- package/time-picker/time-picker.d.ts +3 -0
- package/time-picker/time-picker.js +95 -0
- package/time-picker/time-picker.js.map +1 -0
- package/time-picker/time-picker.props.d.ts +9 -0
- package/time-picker/time-picker.props.js +3 -0
- package/time-picker/time-picker.props.js.map +1 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DateTimePickerProps } from './date-time-picker.props';
|
|
2
|
+
declare const DateTimePicker: ({ dateValue, timeValue, onDateChange, onTimeChange, onDateTimeSelect, onCancel, dateFormat, calendarType, disablePreviousDays, disableSubsequentDays, holidays, timeFormat, periodLabels, className, size, hasConfirmation, onConfirm, }: DateTimePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default DateTimePicker;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var ui_kit_1 = require("@pezeshk-book/ui-kit");
|
|
8
|
+
var calendar_1 = tslib_1.__importDefault(require("../calendar"));
|
|
9
|
+
var time_picker_1 = tslib_1.__importDefault(require("../time-picker"));
|
|
10
|
+
var DateTimePicker = function (_a) {
|
|
11
|
+
var dateValue = _a.dateValue, _b = _a.timeValue, timeValue = _b === void 0 ? '' : _b, onDateChange = _a.onDateChange, onTimeChange = _a.onTimeChange, onDateTimeSelect = _a.onDateTimeSelect, onCancel = _a.onCancel, dateFormat = _a.dateFormat, _c = _a.calendarType, calendarType = _c === void 0 ? 'jalali' : _c, _d = _a.disablePreviousDays, disablePreviousDays = _d === void 0 ? false : _d, _e = _a.disableSubsequentDays, disableSubsequentDays = _e === void 0 ? false : _e, _f = _a.holidays, holidays = _f === void 0 ? [] : _f, _g = _a.timeFormat, timeFormat = _g === void 0 ? '24' : _g, _h = _a.periodLabels, periodLabels = _h === void 0 ? 'fa' : _h, _j = _a.className, className = _j === void 0 ? '' : _j, _k = _a.size, size = _k === void 0 ? 'medium' : _k, _l = _a.hasConfirmation, hasConfirmation = _l === void 0 ? false : _l, onConfirm = _a.onConfirm;
|
|
12
|
+
var _m = (0, react_1.useState)(0), calendarHeight = _m[0], setCalendarHeight = _m[1];
|
|
13
|
+
var calendarRef = (0, react_1.useRef)(null);
|
|
14
|
+
(0, react_1.useEffect)(function () {
|
|
15
|
+
var measureHeight = function () {
|
|
16
|
+
if (calendarRef.current) {
|
|
17
|
+
var height = calendarRef.current.offsetHeight;
|
|
18
|
+
setCalendarHeight(height);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
measureHeight();
|
|
22
|
+
var resizeObserver = new ResizeObserver(function () {
|
|
23
|
+
measureHeight();
|
|
24
|
+
});
|
|
25
|
+
if (calendarRef.current) {
|
|
26
|
+
resizeObserver.observe(calendarRef.current);
|
|
27
|
+
}
|
|
28
|
+
return function () {
|
|
29
|
+
resizeObserver.disconnect();
|
|
30
|
+
};
|
|
31
|
+
}, [dateValue, size, calendarType]);
|
|
32
|
+
var handleDateChange = function (date) {
|
|
33
|
+
onDateChange === null || onDateChange === void 0 ? void 0 : onDateChange(date);
|
|
34
|
+
if (!hasConfirmation) {
|
|
35
|
+
onDateTimeSelect === null || onDateTimeSelect === void 0 ? void 0 : onDateTimeSelect({ date: date, time: timeValue });
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var handleTimeChange = function (time) {
|
|
39
|
+
onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange(time);
|
|
40
|
+
if (!hasConfirmation) {
|
|
41
|
+
onDateTimeSelect === null || onDateTimeSelect === void 0 ? void 0 : onDateTimeSelect({ date: dateValue, time: time });
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var handleConfirm = function () {
|
|
45
|
+
if (dateValue && timeValue) {
|
|
46
|
+
var dateTime = { date: dateValue, time: timeValue };
|
|
47
|
+
onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(dateTime);
|
|
48
|
+
onDateTimeSelect === null || onDateTimeSelect === void 0 ? void 0 : onDateTimeSelect(dateTime);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var getTimePickerMaxHeight = function () {
|
|
52
|
+
if (calendarHeight === 0) {
|
|
53
|
+
return 'max-h-96';
|
|
54
|
+
}
|
|
55
|
+
return "".concat(calendarHeight, "px");
|
|
56
|
+
};
|
|
57
|
+
var isDateTimeSelected = dateValue && timeValue;
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)(ui_kit_1.Div, tslib_1.__assign({ className: (0, ui_kit_1.classNames)('bg-white border border-gray-300 rounded-md shadow-sm w-fit flex-col', className) }, { children: [(0, jsx_runtime_1.jsxs)(ui_kit_1.Div, tslib_1.__assign({ className: "items-start" }, { children: [(0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ className: "overflow-hidden flex", style: { height: calendarHeight > 0 ? "".concat(calendarHeight, "px") : 'auto' } }, { children: (0, jsx_runtime_1.jsx)(time_picker_1["default"], { value: timeValue, onChange: handleTimeChange, format: timeFormat, periodLabels: periodLabels, className: "border-0 shadow-none h-full", maxHeight: getTimePickerMaxHeight(), size: size }) })), (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ ref: calendarRef, className: "border-l border-gray-200" }, { children: (0, jsx_runtime_1.jsx)(calendar_1["default"], { selected: dateValue, onChange: handleDateChange, dateFormat: dateFormat, type: calendarType, disablePreviousDays: disablePreviousDays, disableSubsequentDays: disableSubsequentDays, holidays: holidays, variant: "simple", size: size }) }))] })), hasConfirmation && ((0, jsx_runtime_1.jsxs)(ui_kit_1.Div, tslib_1.__assign({ className: "border-t border-gray-200 p-3 gap-2" }, { children: [(0, jsx_runtime_1.jsx)(ui_kit_1.Button, tslib_1.__assign({ className: 'w-full', size: 'small', disabled: !isDateTimeSelected, onClick: isDateTimeSelected ? handleConfirm : undefined }, { children: "\u062A\u0627\u06CC\u06CC\u062F" })), (0, jsx_runtime_1.jsx)(ui_kit_1.Button, tslib_1.__assign({ className: 'w-full', variant: "outlined", color: 'danger', size: 'small', onClick: function () { return onCancel === null || onCancel === void 0 ? void 0 : onCancel(); } }, { children: "\u0627\u0646\u0635\u0631\u0627\u0641" }))] })))] })));
|
|
59
|
+
};
|
|
60
|
+
exports["default"] = DateTimePicker;
|
|
61
|
+
//# sourceMappingURL=date-time-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-picker.js","sourceRoot":"","sources":["../../date-time-picker/date-time-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface DateTimePickerProps {
|
|
2
|
+
dateValue?: string | Date;
|
|
3
|
+
timeValue?: string;
|
|
4
|
+
onDateChange?: (date: any) => void;
|
|
5
|
+
onTimeChange?: (time: string) => void;
|
|
6
|
+
onDateTimeSelect?: (dateTime: {
|
|
7
|
+
date: any;
|
|
8
|
+
time: string;
|
|
9
|
+
}) => void;
|
|
10
|
+
onCancel?: () => void;
|
|
11
|
+
dateFormat?: string;
|
|
12
|
+
calendarType?: 'gregorian' | 'jalali';
|
|
13
|
+
disablePreviousDays?: boolean;
|
|
14
|
+
disableSubsequentDays?: boolean;
|
|
15
|
+
holidays?: Array<string>;
|
|
16
|
+
timeFormat?: '12' | '24';
|
|
17
|
+
periodLabels?: 'en' | 'fa';
|
|
18
|
+
className?: string;
|
|
19
|
+
size?: 'tiny' | 'small' | 'medium' | 'large' | 'huge';
|
|
20
|
+
hasConfirmation?: boolean;
|
|
21
|
+
onConfirm?: (dateTime: {
|
|
22
|
+
date: any;
|
|
23
|
+
time: string;
|
|
24
|
+
}) => void;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-picker.props.js","sourceRoot":"","sources":["../../date-time-picker/date-time-picker.props.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../date-time-picker/index.ts"],"names":[],"mappings":";;;AAAA,gFAAgD;AAEhD,qBAAe,6BAAc,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ import Calendar from './calendar/calendar';
|
|
|
3
3
|
import Pagination from './pagination/pagination';
|
|
4
4
|
import CountDown from './countdown-timer/countdown';
|
|
5
5
|
import DataTable from './data-table/data-table';
|
|
6
|
-
|
|
6
|
+
import TimePicker from './time-picker/time-picker';
|
|
7
|
+
import DateTimePicker from './date-time-picker/date-time-picker';
|
|
8
|
+
export { Slider, Calendar, Pagination, CountDown, DataTable, TimePicker, DateTimePicker, };
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.DataTable = exports.CountDown = exports.Pagination = exports.Calendar = exports.Slider = void 0;
|
|
3
|
+
exports.DateTimePicker = exports.TimePicker = exports.DataTable = exports.CountDown = exports.Pagination = exports.Calendar = exports.Slider = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var slider_1 = tslib_1.__importDefault(require("./slider/slider"));
|
|
6
6
|
exports.Slider = slider_1["default"];
|
|
@@ -12,4 +12,8 @@ var countdown_1 = tslib_1.__importDefault(require("./countdown-timer/countdown")
|
|
|
12
12
|
exports.CountDown = countdown_1["default"];
|
|
13
13
|
var data_table_1 = tslib_1.__importDefault(require("./data-table/data-table"));
|
|
14
14
|
exports.DataTable = data_table_1["default"];
|
|
15
|
+
var time_picker_1 = tslib_1.__importDefault(require("./time-picker/time-picker"));
|
|
16
|
+
exports.TimePicker = time_picker_1["default"];
|
|
17
|
+
var date_time_picker_1 = tslib_1.__importDefault(require("./date-time-picker/date-time-picker"));
|
|
18
|
+
exports.DateTimePicker = date_time_picker_1["default"];
|
|
15
19
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,mEAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,mEAAqC;AASnC,iBATK,mBAAM,CASL;AARR,yEAA2C;AASzC,mBATK,qBAAQ,CASL;AARV,+EAAiD;AAS/C,qBATK,uBAAU,CASL;AARZ,kFAAoD;AASlD,oBATK,sBAAS,CASL;AARX,+EAAgD;AAS9C,oBATK,uBAAS,CASL;AARX,kFAAmD;AASjD,qBATK,wBAAU,CASL;AARZ,iGAAiE;AAS/D,yBATK,6BAAc,CASL"}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../time-picker/index.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AAEvC,qBAAe,wBAAU,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var ui_kit_1 = require("@pezeshk-book/ui-kit");
|
|
8
|
+
var TimePicker = function (_a) {
|
|
9
|
+
var _b = _a.value, value = _b === void 0 ? '' : _b, onChange = _a.onChange, _c = _a.format, format = _c === void 0 ? '24' : _c, _d = _a.className, className = _d === void 0 ? '' : _d, _e = _a.periodLabels, periodLabels = _e === void 0 ? 'fa' : _e, _f = _a.maxHeight, maxHeight = _f === void 0 ? 'max-h-48' : _f, _g = _a.size, size = _g === void 0 ? 'medium' : _g;
|
|
10
|
+
var _h = (0, react_1.useState)(null), selectedHour = _h[0], setSelectedHour = _h[1];
|
|
11
|
+
var _j = (0, react_1.useState)(null), selectedMinute = _j[0], setSelectedMinute = _j[1];
|
|
12
|
+
var _k = (0, react_1.useState)(''), selectedPeriod = _k[0], setSelectedPeriod = _k[1];
|
|
13
|
+
var getPeriodLabels = function () {
|
|
14
|
+
if (periodLabels === 'en') {
|
|
15
|
+
return { morning: 'AM', evening: 'PM' };
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return { morning: 'ق.ظ', evening: 'ب.ظ' };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var periodLabelMap = getPeriodLabels();
|
|
22
|
+
(0, react_1.useEffect)(function () {
|
|
23
|
+
setSelectedPeriod(periodLabelMap.morning);
|
|
24
|
+
}, [periodLabels]);
|
|
25
|
+
(0, react_1.useEffect)(function () {
|
|
26
|
+
if (value) {
|
|
27
|
+
var _a = value.split(':').map(Number), hours = _a[0], minutes = _a[1];
|
|
28
|
+
if (!isNaN(hours) && !isNaN(minutes)) {
|
|
29
|
+
if (format === '12') {
|
|
30
|
+
if (hours === 0) {
|
|
31
|
+
setSelectedHour(12);
|
|
32
|
+
setSelectedPeriod(periodLabelMap.morning);
|
|
33
|
+
}
|
|
34
|
+
else if (hours > 12) {
|
|
35
|
+
setSelectedHour(hours - 12);
|
|
36
|
+
setSelectedPeriod(periodLabelMap.evening);
|
|
37
|
+
}
|
|
38
|
+
else if (hours === 12) {
|
|
39
|
+
setSelectedHour(12);
|
|
40
|
+
setSelectedPeriod(periodLabelMap.evening);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
setSelectedHour(hours);
|
|
44
|
+
setSelectedPeriod(periodLabelMap.morning);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
setSelectedHour(hours);
|
|
49
|
+
}
|
|
50
|
+
setSelectedMinute(minutes);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, [value, format, periodLabelMap]);
|
|
54
|
+
var handleTimeSelect = function (hour, minute, period) {
|
|
55
|
+
var newHour = hour !== undefined ? hour : selectedHour;
|
|
56
|
+
var newMinute = minute !== undefined ? minute : selectedMinute;
|
|
57
|
+
var newPeriod = period !== undefined ? period : selectedPeriod;
|
|
58
|
+
if (hour !== undefined) {
|
|
59
|
+
setSelectedHour(hour);
|
|
60
|
+
}
|
|
61
|
+
if (minute !== undefined) {
|
|
62
|
+
setSelectedMinute(minute);
|
|
63
|
+
}
|
|
64
|
+
if (period !== undefined) {
|
|
65
|
+
setSelectedPeriod(period);
|
|
66
|
+
}
|
|
67
|
+
if (newHour !== null && newMinute !== null) {
|
|
68
|
+
var hour24 = newHour;
|
|
69
|
+
if (format === '12') {
|
|
70
|
+
if (newPeriod === periodLabelMap.morning && newHour === 12) {
|
|
71
|
+
hour24 = 0;
|
|
72
|
+
}
|
|
73
|
+
else if (newPeriod === periodLabelMap.evening && newHour !== 12) {
|
|
74
|
+
hour24 = newHour + 12;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
var timeString = "".concat(hour24.toString().padStart(2, '0'), ":").concat(newMinute.toString().padStart(2, '0'));
|
|
78
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(timeString);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
var generateHours = function () {
|
|
82
|
+
if (format === '12') {
|
|
83
|
+
return Array.from({ length: 12 }, function (_, i) { return i + 1; });
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return Array.from({ length: 24 }, function (_, i) { return i; });
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var generateMinutes = function () {
|
|
90
|
+
return Array.from({ length: 60 }, function (_, i) { return i; }).filter(function (m) { return m % 5 === 0; });
|
|
91
|
+
};
|
|
92
|
+
return ((0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ className: (0, ui_kit_1.classNames)('bg-white border border-gray-300 rounded-md shadow-sm w-fit flex-col', className) }, { children: (0, jsx_runtime_1.jsxs)(ui_kit_1.Div, tslib_1.__assign({ className: "flex" }, { children: [format === '12' && ((0, jsx_runtime_1.jsx)(ui_kit_1.Div, { children: (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ className: (0, ui_kit_1.classNames)('flex-col', maxHeight) }, { children: [periodLabelMap.morning, periodLabelMap.evening].map(function (period) { return ((0, jsx_runtime_1.jsx)(ui_kit_1.Button, tslib_1.__assign({ size: size, variant: selectedPeriod === period ? 'filled' : 'text', color: selectedPeriod === period ? 'primary' : 'control', rounded: 'none', className: 'w-full hover:bg-primary-100', onClick: function () { return handleTimeSelect(undefined, undefined, period); } }, { children: period }), period)); }) })) })), (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ className: (0, ui_kit_1.classNames)('w-full', format === '12' ? 'border-r border-gray-200' : '') }, { children: (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ style: { maxHeight: maxHeight }, className: (0, ui_kit_1.classNames)('overflow-y-auto flex-col w-full', maxHeight) }, { children: generateMinutes().map(function (minute) { return ((0, jsx_runtime_1.jsx)(ui_kit_1.Button, tslib_1.__assign({ size: size, variant: selectedMinute === minute ? 'filled' : 'text', rounded: 'none', color: selectedMinute === minute ? 'primary' : 'control', className: 'w-14 hover:bg-primary-100', onClick: function () { return handleTimeSelect(undefined, minute); } }, { children: minute.toString().padStart(2, '0') }), minute)); }) })) })), (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ className: "border-r w-full border-gray-200" }, { children: (0, jsx_runtime_1.jsx)(ui_kit_1.Div, tslib_1.__assign({ style: { maxHeight: maxHeight }, className: (0, ui_kit_1.classNames)('overflow-y-auto flex-col w-full', maxHeight) }, { children: generateHours().map(function (hour) { return ((0, jsx_runtime_1.jsx)(ui_kit_1.Button, tslib_1.__assign({ size: size, variant: selectedHour === hour ? 'filled' : 'text', rounded: 'none', color: selectedHour === hour ? 'primary' : 'control', className: 'hover:bg-primary-100 w-14', onClick: function () { return handleTimeSelect(hour); } }, { children: format === '24' ? hour.toString().padStart(2, '0') : hour }), hour)); }) })) }))] })) })));
|
|
93
|
+
};
|
|
94
|
+
exports["default"] = TimePicker;
|
|
95
|
+
//# sourceMappingURL=time-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-picker.js","sourceRoot":"","sources":["../../time-picker/time-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-picker.props.js","sourceRoot":"","sources":["../../time-picker/time-picker.props.ts"],"names":[],"mappings":""}
|