wini-web-components 2.2.7 → 2.3.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.
Files changed (63) hide show
  1. package/dist/component/button/button.d.ts +16 -16
  2. package/dist/component/button/button.js +39 -39
  3. package/dist/component/calendar/calendar.d.ts +30 -46
  4. package/dist/component/calendar/calendar.js +437 -432
  5. package/dist/component/checkbox/checkbox.d.ts +22 -22
  6. package/dist/component/checkbox/checkbox.js +80 -81
  7. package/dist/component/component-status.d.ts +8 -8
  8. package/dist/component/component-status.js +39 -39
  9. package/dist/component/date-picker/date-picker.d.ts +25 -36
  10. package/dist/component/date-picker/date-picker.js +362 -359
  11. package/dist/component/dialog/dialog.d.ts +36 -34
  12. package/dist/component/dialog/dialog.js +99 -97
  13. package/dist/component/import-file/import-file.d.ts +24 -36
  14. package/dist/component/import-file/import-file.js +154 -119
  15. package/dist/component/infinite-scroll/infinite-scroll.d.ts +17 -17
  16. package/dist/component/infinite-scroll/infinite-scroll.js +103 -103
  17. package/dist/component/input-multi-select/input-multi-select.d.ts +21 -38
  18. package/dist/component/input-multi-select/input-multi-select.js +334 -323
  19. package/dist/component/input-opt/input-opt.d.ts +21 -0
  20. package/dist/component/input-opt/input-opt.js +157 -0
  21. package/dist/component/number-picker/number-picker.d.ts +19 -19
  22. package/dist/component/number-picker/number-picker.js +137 -127
  23. package/dist/component/pagination/pagination.d.ts +13 -13
  24. package/dist/component/pagination/pagination.js +93 -82
  25. package/dist/component/popup/popup.d.ts +33 -33
  26. package/dist/component/popup/popup.js +138 -105
  27. package/dist/component/progress-bar/progress-bar.d.ts +16 -16
  28. package/dist/component/progress-bar/progress-bar.js +35 -36
  29. package/dist/component/progress-circle/progress-circle.d.ts +14 -14
  30. package/dist/component/progress-circle/progress-circle.js +30 -31
  31. package/dist/component/radio-button/radio-button.d.ts +20 -20
  32. package/dist/component/radio-button/radio-button.js +64 -64
  33. package/dist/component/rating/rating.d.ts +23 -23
  34. package/dist/component/rating/rating.js +73 -74
  35. package/dist/component/select1/select1.d.ts +31 -50
  36. package/dist/component/select1/select1.js +320 -309
  37. package/dist/component/slider/slider.d.ts +31 -31
  38. package/dist/component/slider/slider.js +80 -81
  39. package/dist/component/switch/switch.d.ts +23 -23
  40. package/dist/component/switch/switch.js +80 -81
  41. package/dist/component/table/table.d.ts +51 -51
  42. package/dist/component/table/table.js +119 -119
  43. package/dist/component/tag/tag.d.ts +17 -17
  44. package/dist/component/tag/tag.js +39 -39
  45. package/dist/component/text/text.d.ts +16 -16
  46. package/dist/component/text/text.js +51 -51
  47. package/dist/component/text-area/text-area.d.ts +28 -28
  48. package/dist/component/text-area/text-area.js +83 -73
  49. package/dist/component/text-field/text-field.d.ts +33 -33
  50. package/dist/component/text-field/text-field.js +107 -97
  51. package/dist/component/toast-noti/toast-noti.d.ts +5 -5
  52. package/dist/component/toast-noti/toast-noti.js +28 -28
  53. package/dist/component/wini-icon/winicon.d.ts +16 -16
  54. package/dist/component/wini-icon/winicon.js +121 -112
  55. package/dist/form/login/view.d.ts +40 -40
  56. package/dist/form/login/view.js +66 -65
  57. package/dist/i18n.d.ts +2 -0
  58. package/dist/i18n.js +125 -0
  59. package/dist/index.d.ts +32 -30
  60. package/dist/index.js +1 -1
  61. package/dist/language/i18n.d.ts +2 -0
  62. package/dist/language/i18n.js +125 -0
  63. package/package.json +5 -3
@@ -1,432 +1,437 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __importDefault = (this && this.__importDefault) || function (mod) {
29
- return (mod && mod.__esModule) ? mod : { "default": mod };
30
- };
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.Calendar = exports.CalendarType = exports.inRangeTime = exports.endDate = exports.startDate = exports.today = void 0;
33
- var react_1 = __importDefault(require("react"));
34
- var calendar_module_css_1 = __importDefault(require("./calendar.module.css"));
35
- var date_fns_1 = require("date-fns");
36
- var winicon_1 = require("../wini-icon/winicon");
37
- exports.today = new Date();
38
- exports.startDate = new Date(exports.today.getFullYear() - 100, exports.today.getMonth(), exports.today.getDate());
39
- exports.endDate = new Date(exports.today.getFullYear() + 100, exports.today.getMonth(), exports.today.getDate());
40
- var inRangeTime = function (date, startDate, endDate) { return ((0, date_fns_1.differenceInCalendarDays)(date, startDate) > -1 && (0, date_fns_1.differenceInCalendarDays)(endDate, date) > -1); };
41
- exports.inRangeTime = inRangeTime;
42
- var CalendarType;
43
- (function (CalendarType) {
44
- CalendarType[CalendarType["DATE"] = 0] = "DATE";
45
- CalendarType[CalendarType["MONTH"] = 1] = "MONTH";
46
- CalendarType[CalendarType["YEAR"] = 2] = "YEAR";
47
- CalendarType[CalendarType["DATETIME"] = 3] = "DATETIME";
48
- })(CalendarType = exports.CalendarType || (exports.CalendarType = {}));
49
- var Calendar = /** @class */ (function (_super) {
50
- __extends(Calendar, _super);
51
- function Calendar() {
52
- var _this = this;
53
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
54
- _this = _super.apply(this, arguments) || this;
55
- _this.state = {
56
- value: (_a = _this.props.value) !== null && _a !== void 0 ? _a : exports.today,
57
- selectDate: (_b = _this.props.value) !== null && _b !== void 0 ? _b : exports.today,
58
- selectMonth: ((_c = _this.props.value) !== null && _c !== void 0 ? _c : exports.today).getMonth(),
59
- selectYear: ((_d = _this.props.value) !== null && _d !== void 0 ? _d : exports.today).getFullYear(),
60
- type: CalendarType.DATE,
61
- selectHours: (_f = (_e = _this.props.value) === null || _e === void 0 ? void 0 : _e.getHours()) !== null && _f !== void 0 ? _f : 0,
62
- selectMinutes: (_h = (_g = _this.props.value) === null || _g === void 0 ? void 0 : _g.getMinutes()) !== null && _h !== void 0 ? _h : 0,
63
- selectSeconds: (_k = (_j = _this.props.value) === null || _j === void 0 ? void 0 : _j.getSeconds()) !== null && _k !== void 0 ? _k : 0,
64
- };
65
- return _this;
66
- }
67
- Calendar.prototype.showDateInMonth = function () {
68
- var _this = this;
69
- var firstDayOfMonth = new Date(this.state.selectYear, this.state.selectMonth, 1);
70
- return react_1.default.createElement(react_1.default.Fragment, null,
71
- Array.from({ length: 7 }).map(function (_, i) {
72
- switch (i) {
73
- case 0:
74
- var weekdayTitle = 'Su';
75
- break;
76
- case 1:
77
- weekdayTitle = 'Mo';
78
- break;
79
- case 2:
80
- weekdayTitle = 'Tu';
81
- break;
82
- case 3:
83
- weekdayTitle = 'We';
84
- break;
85
- case 4:
86
- weekdayTitle = 'Th';
87
- break;
88
- case 5:
89
- weekdayTitle = 'Fr';
90
- break;
91
- case 6:
92
- weekdayTitle = 'Sa';
93
- break;
94
- default:
95
- weekdayTitle = '';
96
- break;
97
- }
98
- return react_1.default.createElement("div", { key: 'dtwk-' + i, className: "".concat(calendar_module_css_1.default['date-picker-circle'], " label-4"), style: { color: 'var(--neutral-text-title-color)' } }, weekdayTitle);
99
- }),
100
- Array.from({ length: 42 }).map(function (_, i) {
101
- var _a, _b;
102
- var dateNumber = (i % 7) + (Math.floor(i / 7) * 7) - firstDayOfMonth.getDay();
103
- var timeValue = new Date(_this.state.selectYear, _this.state.selectMonth, dateNumber + 1, _this.state.selectHours, _this.state.selectMinutes, _this.state.selectSeconds);
104
- var style = {};
105
- var additionProps = {};
106
- var selected = false;
107
- if (dateNumber + 1 === exports.today.getDate() && _this.state.selectMonth === exports.today.getMonth() && _this.state.selectYear === exports.today.getFullYear()) {
108
- style = { borderColor: 'var(--infor-main-color)' };
109
- }
110
- if (!(0, exports.inRangeTime)(timeValue, exports.startDate, exports.endDate)) {
111
- additionProps = { 'in-range': 'false' };
112
- }
113
- else if (!(0, exports.inRangeTime)(timeValue, (_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate, (_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate)) {
114
- style = __assign(__assign({}, style), { color: 'var(--neutral-text-disabled-color)', pointerEvents: 'none' });
115
- }
116
- else if (_this.state.value.valueOf() === timeValue.valueOf()) {
117
- additionProps = __assign({}, additionProps);
118
- selected = true;
119
- }
120
- else if (timeValue.getMonth() !== _this.state.selectMonth) {
121
- style = __assign(__assign({}, style), { color: 'var(--neutral-text-subtitle-color)' });
122
- }
123
- return react_1.default.createElement("button", __assign({ type: "button", key: timeValue.toString(), className: "".concat(calendar_module_css_1.default['date-picker-circle'], " date-picker-circle body-3 ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
124
- _this.setState(__assign(__assign({}, _this.state), { value: timeValue }));
125
- if (_this.props.onSelect)
126
- _this.props.onSelect(timeValue);
127
- } }), timeValue.getDate());
128
- }));
129
- };
130
- Calendar.prototype.showMonthInYear = function () {
131
- var _this = this;
132
- return react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 12 }).map(function (_, i) {
133
- var _a, _b, _c;
134
- var monthTitle = '';
135
- switch (i) {
136
- case 0:
137
- monthTitle = 'Jan';
138
- break;
139
- case 1:
140
- monthTitle = 'Feb';
141
- break;
142
- case 2:
143
- monthTitle = 'Mar';
144
- break;
145
- case 3:
146
- monthTitle = 'Apr';
147
- break;
148
- case 4:
149
- monthTitle = 'May';
150
- break;
151
- case 5:
152
- monthTitle = 'Jun';
153
- break;
154
- case 6:
155
- monthTitle = 'Jul';
156
- break;
157
- case 7:
158
- monthTitle = 'Aug';
159
- break;
160
- case 8:
161
- monthTitle = 'Sep';
162
- break;
163
- case 9:
164
- monthTitle = 'Oct';
165
- break;
166
- case 10:
167
- monthTitle = 'Nov';
168
- break;
169
- case 11:
170
- monthTitle = 'Dec';
171
- break;
172
- default:
173
- break;
174
- }
175
- var timeValue = new Date(_this.state.selectYear, i, exports.today.getDate());
176
- var additionProps = {};
177
- var style = {};
178
- var selected = false;
179
- if (_this.state.selectYear === exports.today.getFullYear() && exports.today.getMonth() === i) {
180
- style = { borderColor: 'var(--infor-main-color)' };
181
- }
182
- if (!(0, exports.inRangeTime)(timeValue, exports.startDate, exports.endDate)) {
183
- additionProps = { 'in-range': 'false' };
184
- }
185
- else if (!(0, exports.inRangeTime)(new Date(_this.state.selectYear, _this.state.selectMonth), (_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate, (_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate)) {
186
- if (_this.state.selectYear === ((_c = _this.state.selectDate) === null || _c === void 0 ? void 0 : _c.getFullYear()) && _this.state.selectDate.getMonth() === i) {
187
- style = {
188
- color: 'var(--neutral-text-disabled-color)',
189
- pointerEvents: 'none'
190
- };
191
- }
192
- }
193
- if (_this.state.selectYear === _this.state.value.getFullYear() && i === _this.state.value.getMonth()) {
194
- selected = true;
195
- }
196
- return react_1.default.createElement("button", __assign({ type: "button", key: timeValue.toString(), className: "".concat(calendar_module_css_1.default['month-picker-circle'], " month-picker-circle body-3 row ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
197
- if (_this.props.type === CalendarType.MONTH) {
198
- _this.setState(__assign(__assign({}, _this.state), { value: timeValue }));
199
- if (_this.props.onSelect)
200
- _this.props.onSelect(timeValue);
201
- }
202
- else {
203
- _this.setState(__assign(__assign({}, _this.state), { selectMonth: i, type: CalendarType.DATE }));
204
- }
205
- } }), monthTitle);
206
- }));
207
- };
208
- Calendar.prototype.showYearInRange = function () {
209
- var _this = this;
210
- return react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 12 }).map(function (_, i) {
211
- var _a, _b;
212
- var firstYearInTable = _this.state.selectYear - ((_this.state.selectYear - exports.startDate.getFullYear()) % 12);
213
- var yearNumber = i + firstYearInTable;
214
- var additionProps = {};
215
- var style = {};
216
- var selected = false;
217
- if (yearNumber === exports.today.getFullYear()) {
218
- style = { borderColor: 'var(--infor-main-color)' };
219
- }
220
- else if (yearNumber < (((_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate).getFullYear()) || yearNumber > (((_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate).getFullYear())) {
221
- additionProps = { 'in-range': 'false' };
222
- }
223
- if (yearNumber === _this.state.value.getFullYear()) {
224
- selected = true;
225
- }
226
- return react_1.default.createElement("button", __assign({ type: "button", key: yearNumber.toString(), className: "".concat(calendar_module_css_1.default['year-picker-circle'], " year-picker-circle body-3 row ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
227
- if (_this.props.type === CalendarType.YEAR) {
228
- _this.setState(__assign(__assign({}, _this.state), { value: new Date(yearNumber) }));
229
- if (_this.props.onSelect)
230
- _this.props.onSelect(new Date(yearNumber));
231
- }
232
- else {
233
- _this.setState(__assign(__assign({}, _this.state), { type: CalendarType.MONTH, selectYear: yearNumber }));
234
- }
235
- } }), yearNumber);
236
- }));
237
- };
238
- Calendar.prototype.getTitle = function () {
239
- switch (this.state.type) {
240
- case CalendarType.YEAR:
241
- var firstYearInTable = this.state.selectYear - ((this.state.selectYear - exports.startDate.getFullYear()) % 12);
242
- return "".concat(firstYearInTable, "-").concat(firstYearInTable + 11);
243
- case CalendarType.MONTH:
244
- return this.state.selectYear;
245
- default:
246
- switch (this.state.selectMonth) {
247
- case 0:
248
- var monthName = 'January';
249
- break;
250
- case 1:
251
- monthName = 'February';
252
- break;
253
- case 2:
254
- monthName = 'March';
255
- break;
256
- case 3:
257
- monthName = 'April';
258
- break;
259
- case 4:
260
- monthName = 'May';
261
- break;
262
- case 5:
263
- monthName = 'June';
264
- break;
265
- case 6:
266
- monthName = 'July';
267
- break;
268
- case 7:
269
- monthName = 'August';
270
- break;
271
- case 8:
272
- monthName = 'September';
273
- break;
274
- case 9:
275
- monthName = 'October';
276
- break;
277
- case 10:
278
- monthName = 'November';
279
- break;
280
- case 11:
281
- monthName = 'December';
282
- break;
283
- default:
284
- monthName = '';
285
- break;
286
- }
287
- return "".concat(monthName, " ").concat(this.state.selectYear);
288
- }
289
- };
290
- Calendar.prototype.render = function () {
291
- var _this = this;
292
- return react_1.default.createElement("div", { id: this.props.id, className: "row ".concat(calendar_module_css_1.default['calendar-container'], " ").concat(this.props.className), style: this.props.style },
293
- this.props.showSidebar ? react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['calendar-sidebar-options'], " col") },
294
- react_1.default.createElement("button", { type: "button", onClick: function () { }, className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, "Yesterday"),
295
- react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, "Last week"),
296
- react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, "Last month"),
297
- react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, "Last year")) : null,
298
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['calendar-body'], " col") },
299
- react_1.default.createElement("div", { className: "row", style: { alignItems: 'start' } },
300
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-container'], " col") },
301
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-header'], " row") },
302
- react_1.default.createElement("button", { type: 'button', onClick: function () {
303
- switch (_this.state.type) {
304
- case CalendarType.YEAR:
305
- if (_this.state.selectYear - 20 < exports.startDate.getFullYear()) {
306
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
307
- }
308
- else {
309
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 20 }));
310
- }
311
- break;
312
- case CalendarType.MONTH:
313
- if (_this.state.selectYear - 10 < exports.startDate.getFullYear()) {
314
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
315
- }
316
- else {
317
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 10 }));
318
- }
319
- break;
320
- default:
321
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 1 }));
322
- break;
323
- }
324
- } },
325
- react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/double-arrow-left", size: '1.4rem' })),
326
- react_1.default.createElement("button", { type: 'button', onClick: function () {
327
- switch (_this.state.type) {
328
- case CalendarType.YEAR:
329
- if (_this.state.selectYear - 10 < exports.startDate.getFullYear()) {
330
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
331
- }
332
- else {
333
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 10 }));
334
- }
335
- break;
336
- case CalendarType.MONTH:
337
- if (_this.state.selectYear - 1 >= exports.startDate.getFullYear()) {
338
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 1 }));
339
- }
340
- break;
341
- default:
342
- var newDataVl = new Date(_this.state.selectYear, _this.state.selectMonth - 1, 1);
343
- _this.setState(__assign(__assign({}, _this.state), { selectMonth: newDataVl.getMonth(), selectYear: newDataVl.getFullYear() }));
344
- break;
345
- }
346
- } },
347
- react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/left-arrow", size: '1.4rem' })),
348
- react_1.default.createElement("span", { className: "heading-7", onClick: function () {
349
- if (_this.state.type !== CalendarType.YEAR)
350
- _this.setState(__assign(__assign({}, _this.state), { type: _this.state.type === CalendarType.DATE ? CalendarType.MONTH : CalendarType.YEAR }));
351
- } }, this.getTitle()),
352
- react_1.default.createElement("button", { type: 'button', onClick: function () {
353
- switch (_this.state.type) {
354
- case CalendarType.YEAR:
355
- if (_this.state.selectYear + 10 > exports.endDate.getFullYear()) {
356
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
357
- }
358
- else {
359
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 10 }));
360
- }
361
- break;
362
- case CalendarType.MONTH:
363
- if (_this.state.selectYear + 1 <= exports.endDate.getFullYear()) {
364
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 1 }));
365
- }
366
- break;
367
- default:
368
- var newDataVl = new Date(_this.state.selectYear, _this.state.selectMonth + 1, 1);
369
- _this.setState(__assign(__assign({}, _this.state), { selectMonth: newDataVl.getMonth(), selectYear: newDataVl.getFullYear() }));
370
- break;
371
- }
372
- } },
373
- react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/right-arrow", size: '1.4rem' })),
374
- react_1.default.createElement("button", { type: 'button', onClick: function () {
375
- switch (_this.state.type) {
376
- case CalendarType.YEAR:
377
- if (_this.state.selectYear + 20 > exports.endDate.getFullYear()) {
378
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
379
- }
380
- else {
381
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 20 }));
382
- }
383
- break;
384
- case CalendarType.MONTH:
385
- if (_this.state.selectYear + 10 < exports.endDate.getFullYear()) {
386
- _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
387
- }
388
- else {
389
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 10 }));
390
- }
391
- break;
392
- default:
393
- _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 1 }));
394
- break;
395
- }
396
- } },
397
- react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/double-arrow-right", size: '1.4rem' }))),
398
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-body'], " row") }, this.state.type === CalendarType.YEAR ? this.showYearInRange() : this.state.type === CalendarType.MONTH ? this.showMonthInYear() : this.showDateInMonth())),
399
- this.props.type === CalendarType.DATETIME ? react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-time-container'], " col") },
400
- react_1.default.createElement("div", { className: "heading-7" },
401
- this.state.selectHours < 10 ? "0".concat(this.state.selectHours) : this.state.selectHours,
402
- ":",
403
- this.state.selectMinutes < 10 ? "0".concat(this.state.selectMinutes) : this.state.selectMinutes,
404
- ":",
405
- this.state.selectSeconds < 10 ? "0".concat(this.state.selectSeconds) : this.state.selectSeconds),
406
- react_1.default.createElement("div", { className: "row", style: { alignItems: 'start', flex: 1, height: '100%' } },
407
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-hours'], " scroll-picker-hours col") }, Array.from({ length: 24 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
408
- var newValue = _this.state.value;
409
- newValue.setHours(i);
410
- _this.setState(__assign(__assign({}, _this.state), { selectHours: i, value: newValue }));
411
- if (_this.props.onSelect)
412
- _this.props.onSelect(newValue);
413
- }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectHours === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })),
414
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-minutes'], " scroll-picker-minutes col") }, Array.from({ length: 60 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
415
- var newValue = _this.state.value;
416
- newValue.setMinutes(i);
417
- _this.setState(__assign(__assign({}, _this.state), { selectMinutes: i, value: newValue }));
418
- if (_this.props.onSelect)
419
- _this.props.onSelect(newValue);
420
- }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectMinutes === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })),
421
- react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-seconds'], " scroll-picker-seconds col") }, Array.from({ length: 60 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
422
- var newValue = _this.state.value;
423
- newValue.setSeconds(i);
424
- _this.setState(__assign(__assign({}, _this.state), { selectSeconds: i, value: newValue }));
425
- if (_this.props.onSelect)
426
- _this.props.onSelect(newValue);
427
- }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectSeconds === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })))) : null),
428
- this.props.footer));
429
- };
430
- return Calendar;
431
- }(react_1.default.Component));
432
- exports.Calendar = Calendar;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Calendar = exports.CalendarType = exports.inRangeTime = exports.endDate = exports.startDate = exports.today = void 0;
33
+ var react_1 = __importDefault(require("react"));
34
+ var calendar_module_css_1 = __importDefault(require("./calendar.module.css"));
35
+ var date_fns_1 = require("date-fns");
36
+ var winicon_1 = require("../wini-icon/winicon");
37
+ var react_i18next_1 = require("react-i18next");
38
+ exports.today = new Date();
39
+ exports.startDate = new Date(exports.today.getFullYear() - 100, exports.today.getMonth(), exports.today.getDate());
40
+ exports.endDate = new Date(exports.today.getFullYear() + 100, exports.today.getMonth(), exports.today.getDate());
41
+ var inRangeTime = function (date, startDate, endDate) { return ((0, date_fns_1.differenceInCalendarDays)(date, startDate) > -1 && (0, date_fns_1.differenceInCalendarDays)(endDate, date) > -1); };
42
+ exports.inRangeTime = inRangeTime;
43
+ var CalendarType;
44
+ (function (CalendarType) {
45
+ CalendarType[CalendarType["DATE"] = 0] = "DATE";
46
+ CalendarType[CalendarType["MONTH"] = 1] = "MONTH";
47
+ CalendarType[CalendarType["YEAR"] = 2] = "YEAR";
48
+ CalendarType[CalendarType["DATETIME"] = 3] = "DATETIME";
49
+ })(CalendarType || (exports.CalendarType = CalendarType = {}));
50
+ var TCalendar = /** @class */ (function (_super) {
51
+ __extends(TCalendar, _super);
52
+ function TCalendar(props) {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
54
+ var _this = _super.call(this, props) || this;
55
+ _this.state = {
56
+ value: (_a = _this.props.value) !== null && _a !== void 0 ? _a : exports.today,
57
+ selectDate: (_b = _this.props.value) !== null && _b !== void 0 ? _b : exports.today,
58
+ selectMonth: ((_c = _this.props.value) !== null && _c !== void 0 ? _c : exports.today).getMonth(),
59
+ selectYear: ((_d = _this.props.value) !== null && _d !== void 0 ? _d : exports.today).getFullYear(),
60
+ type: CalendarType.DATE,
61
+ selectHours: (_f = (_e = _this.props.value) === null || _e === void 0 ? void 0 : _e.getHours()) !== null && _f !== void 0 ? _f : 0,
62
+ selectMinutes: (_h = (_g = _this.props.value) === null || _g === void 0 ? void 0 : _g.getMinutes()) !== null && _h !== void 0 ? _h : 0,
63
+ selectSeconds: (_k = (_j = _this.props.value) === null || _j === void 0 ? void 0 : _j.getSeconds()) !== null && _k !== void 0 ? _k : 0,
64
+ };
65
+ _this.showDateInMonth = _this.showDateInMonth.bind(_this);
66
+ _this.showMonthInYear = _this.showMonthInYear.bind(_this);
67
+ _this.showYearInRange = _this.showYearInRange.bind(_this);
68
+ _this.getTitle = _this.getTitle.bind(_this);
69
+ return _this;
70
+ }
71
+ TCalendar.prototype.showDateInMonth = function () {
72
+ var _this = this;
73
+ var firstDayOfMonth = new Date(this.state.selectYear, this.state.selectMonth, 1);
74
+ return react_1.default.createElement(react_1.default.Fragment, null,
75
+ Array.from({ length: 7 }).map(function (_, i) {
76
+ switch (i) {
77
+ case 0:
78
+ var weekdayTitle = _this.props.t("su");
79
+ break;
80
+ case 1:
81
+ weekdayTitle = _this.props.t("mo");
82
+ break;
83
+ case 2:
84
+ weekdayTitle = _this.props.t("tu");
85
+ break;
86
+ case 3:
87
+ weekdayTitle = _this.props.t("we");
88
+ break;
89
+ case 4:
90
+ weekdayTitle = _this.props.t("th");
91
+ break;
92
+ case 5:
93
+ weekdayTitle = _this.props.t("fr");
94
+ break;
95
+ case 6:
96
+ weekdayTitle = _this.props.t("sa");
97
+ break;
98
+ default:
99
+ weekdayTitle = '';
100
+ break;
101
+ }
102
+ return react_1.default.createElement("div", { key: 'dtwk-' + i, className: "".concat(calendar_module_css_1.default['date-picker-circle'], " label-4"), style: { color: 'var(--neutral-text-title-color)' } }, weekdayTitle);
103
+ }),
104
+ Array.from({ length: 42 }).map(function (_, i) {
105
+ var _a, _b;
106
+ var dateNumber = (i % 7) + (Math.floor(i / 7) * 7) - firstDayOfMonth.getDay();
107
+ var timeValue = new Date(_this.state.selectYear, _this.state.selectMonth, dateNumber + 1, _this.state.selectHours, _this.state.selectMinutes, _this.state.selectSeconds);
108
+ var style = {};
109
+ var additionProps = {};
110
+ var selected = false;
111
+ if (dateNumber + 1 === exports.today.getDate() && _this.state.selectMonth === exports.today.getMonth() && _this.state.selectYear === exports.today.getFullYear()) {
112
+ style = { borderColor: 'var(--infor-main-color)' };
113
+ }
114
+ if (!(0, exports.inRangeTime)(timeValue, exports.startDate, exports.endDate)) {
115
+ additionProps = { 'in-range': 'false' };
116
+ }
117
+ else if (!(0, exports.inRangeTime)(timeValue, (_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate, (_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate)) {
118
+ style = __assign(__assign({}, style), { color: 'var(--neutral-text-disabled-color)', pointerEvents: 'none' });
119
+ }
120
+ else if (_this.state.value.valueOf() === timeValue.valueOf()) {
121
+ additionProps = __assign({}, additionProps);
122
+ selected = true;
123
+ }
124
+ else if (timeValue.getMonth() !== _this.state.selectMonth) {
125
+ style = __assign(__assign({}, style), { color: 'var(--neutral-text-subtitle-color)' });
126
+ }
127
+ return react_1.default.createElement("button", __assign({ type: "button", key: timeValue.toString(), className: "".concat(calendar_module_css_1.default['date-picker-circle'], " date-picker-circle body-3 ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
128
+ _this.setState(__assign(__assign({}, _this.state), { value: timeValue }));
129
+ if (_this.props.onSelect)
130
+ _this.props.onSelect(timeValue);
131
+ } }), timeValue.getDate());
132
+ }));
133
+ };
134
+ TCalendar.prototype.showMonthInYear = function () {
135
+ var _this = this;
136
+ return react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 12 }).map(function (_, i) {
137
+ var _a, _b, _c;
138
+ switch (i) {
139
+ case 0:
140
+ var monthTitle = _this.props.i18n.language === "en" ? "Jan" : _this.props.t('january');
141
+ break;
142
+ case 1:
143
+ monthTitle = _this.props.i18n.language === "en" ? "Feb" : _this.props.t('february');
144
+ break;
145
+ case 2:
146
+ monthTitle = _this.props.i18n.language === "en" ? "Mar" : _this.props.t('march');
147
+ break;
148
+ case 3:
149
+ monthTitle = _this.props.i18n.language === "en" ? "Apr" : _this.props.t('april');
150
+ break;
151
+ case 4:
152
+ monthTitle = _this.props.i18n.language === "en" ? "May" : _this.props.t('may');
153
+ break;
154
+ case 5:
155
+ monthTitle = _this.props.i18n.language === "en" ? "Jun" : _this.props.t('june');
156
+ break;
157
+ case 6:
158
+ monthTitle = _this.props.i18n.language === "en" ? "Jul" : _this.props.t('july');
159
+ break;
160
+ case 7:
161
+ monthTitle = _this.props.i18n.language === "en" ? "Aug" : _this.props.t('august');
162
+ break;
163
+ case 8:
164
+ monthTitle = _this.props.i18n.language === "en" ? "Sep" : _this.props.t('september');
165
+ break;
166
+ case 9:
167
+ monthTitle = _this.props.i18n.language === "en" ? "Oct" : _this.props.t('october');
168
+ break;
169
+ case 10:
170
+ monthTitle = _this.props.i18n.language === "en" ? "Nov" : _this.props.t('november');
171
+ break;
172
+ case 11:
173
+ monthTitle = _this.props.i18n.language === "en" ? "Dec" : _this.props.t('december');
174
+ break;
175
+ default:
176
+ monthTitle = '';
177
+ break;
178
+ }
179
+ var timeValue = new Date(_this.state.selectYear, i, exports.today.getDate());
180
+ var additionProps = {};
181
+ var style = {};
182
+ var selected = false;
183
+ if (_this.state.selectYear === exports.today.getFullYear() && exports.today.getMonth() === i) {
184
+ style = { borderColor: 'var(--infor-main-color)' };
185
+ }
186
+ if (!(0, exports.inRangeTime)(timeValue, exports.startDate, exports.endDate)) {
187
+ additionProps = { 'in-range': 'false' };
188
+ }
189
+ else if (!(0, exports.inRangeTime)(new Date(_this.state.selectYear, _this.state.selectMonth), (_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate, (_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate)) {
190
+ if (_this.state.selectYear === ((_c = _this.state.selectDate) === null || _c === void 0 ? void 0 : _c.getFullYear()) && _this.state.selectDate.getMonth() === i) {
191
+ style = {
192
+ color: 'var(--neutral-text-disabled-color)',
193
+ pointerEvents: 'none'
194
+ };
195
+ }
196
+ }
197
+ if (_this.state.selectYear === _this.state.value.getFullYear() && i === _this.state.value.getMonth()) {
198
+ selected = true;
199
+ }
200
+ return react_1.default.createElement("button", __assign({ type: "button", key: timeValue.toString(), className: "".concat(calendar_module_css_1.default['month-picker-circle'], " month-picker-circle body-3 row ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
201
+ if (_this.props.type === CalendarType.MONTH) {
202
+ _this.setState(__assign(__assign({}, _this.state), { value: timeValue }));
203
+ if (_this.props.onSelect)
204
+ _this.props.onSelect(timeValue);
205
+ }
206
+ else {
207
+ _this.setState(__assign(__assign({}, _this.state), { selectMonth: i, type: CalendarType.DATE }));
208
+ }
209
+ } }), monthTitle);
210
+ }));
211
+ };
212
+ TCalendar.prototype.showYearInRange = function () {
213
+ var _this = this;
214
+ return react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 12 }).map(function (_, i) {
215
+ var _a, _b;
216
+ var firstYearInTable = _this.state.selectYear - ((_this.state.selectYear - exports.startDate.getFullYear()) % 12);
217
+ var yearNumber = i + firstYearInTable;
218
+ var additionProps = {};
219
+ var style = {};
220
+ var selected = false;
221
+ if (yearNumber === exports.today.getFullYear()) {
222
+ style = { borderColor: 'var(--infor-main-color)' };
223
+ }
224
+ else if (yearNumber < (((_a = _this.props.min) !== null && _a !== void 0 ? _a : exports.startDate).getFullYear()) || yearNumber > (((_b = _this.props.max) !== null && _b !== void 0 ? _b : exports.endDate).getFullYear())) {
225
+ additionProps = { 'in-range': 'false' };
226
+ }
227
+ if (yearNumber === _this.state.value.getFullYear()) {
228
+ selected = true;
229
+ }
230
+ return react_1.default.createElement("button", __assign({ type: "button", key: yearNumber.toString(), className: "".concat(calendar_module_css_1.default['year-picker-circle'], " year-picker-circle body-3 row ").concat(selected ? calendar_module_css_1.default['selected'] : ''), style: style }, additionProps, { onClick: function () {
231
+ if (_this.props.type === CalendarType.YEAR) {
232
+ _this.setState(__assign(__assign({}, _this.state), { value: new Date(yearNumber) }));
233
+ if (_this.props.onSelect)
234
+ _this.props.onSelect(new Date(yearNumber));
235
+ }
236
+ else {
237
+ _this.setState(__assign(__assign({}, _this.state), { type: CalendarType.MONTH, selectYear: yearNumber }));
238
+ }
239
+ } }), yearNumber);
240
+ }));
241
+ };
242
+ TCalendar.prototype.getTitle = function () {
243
+ switch (this.state.type) {
244
+ case CalendarType.YEAR:
245
+ var firstYearInTable = this.state.selectYear - ((this.state.selectYear - exports.startDate.getFullYear()) % 12);
246
+ return "".concat(firstYearInTable, "-").concat(firstYearInTable + 11);
247
+ case CalendarType.MONTH:
248
+ return this.state.selectYear;
249
+ default:
250
+ switch (this.state.selectMonth) {
251
+ case 0:
252
+ var monthName = this.props.t('january');
253
+ break;
254
+ case 1:
255
+ monthName = this.props.t('february');
256
+ break;
257
+ case 2:
258
+ monthName = this.props.t('march');
259
+ break;
260
+ case 3:
261
+ monthName = this.props.t('april');
262
+ break;
263
+ case 4:
264
+ monthName = this.props.t('may');
265
+ break;
266
+ case 5:
267
+ monthName = this.props.t('june');
268
+ break;
269
+ case 6:
270
+ monthName = this.props.t('july');
271
+ break;
272
+ case 7:
273
+ monthName = this.props.t('august');
274
+ break;
275
+ case 8:
276
+ monthName = this.props.t('september');
277
+ break;
278
+ case 9:
279
+ monthName = this.props.t('october');
280
+ break;
281
+ case 10:
282
+ monthName = this.props.t('november');
283
+ break;
284
+ case 11:
285
+ monthName = this.props.t('december');
286
+ break;
287
+ default:
288
+ monthName = '';
289
+ break;
290
+ }
291
+ return "".concat(monthName).concat(this.props.i18n.language === 'en' ? ' ' : '/').concat(this.state.selectYear);
292
+ }
293
+ };
294
+ TCalendar.prototype.render = function () {
295
+ var _this = this;
296
+ var t = this.props.t;
297
+ return react_1.default.createElement("div", { id: this.props.id, className: "row ".concat(calendar_module_css_1.default['calendar-container'], " ").concat(this.props.className), style: this.props.style },
298
+ this.props.showSidebar ? react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['calendar-sidebar-options'], " col") },
299
+ react_1.default.createElement("button", { type: "button", onClick: function () { }, className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, t("yesterday")),
300
+ react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, t("lastWeek")),
301
+ react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, t("lastMonth")),
302
+ react_1.default.createElement("button", { type: "button", className: "label-4 ".concat(calendar_module_css_1.default['calendar-sidebar-option-buttton']) }, t("lastYear"))) : null,
303
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['calendar-body'], " col") },
304
+ react_1.default.createElement("div", { className: "row", style: { alignItems: 'start' } },
305
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-container'], " col") },
306
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-header'], " row") },
307
+ react_1.default.createElement("button", { type: 'button', onClick: function () {
308
+ switch (_this.state.type) {
309
+ case CalendarType.YEAR:
310
+ if (_this.state.selectYear - 20 < exports.startDate.getFullYear()) {
311
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
312
+ }
313
+ else {
314
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 20 }));
315
+ }
316
+ break;
317
+ case CalendarType.MONTH:
318
+ if (_this.state.selectYear - 10 < exports.startDate.getFullYear()) {
319
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
320
+ }
321
+ else {
322
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 10 }));
323
+ }
324
+ break;
325
+ default:
326
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 1 }));
327
+ break;
328
+ }
329
+ } },
330
+ react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/double-arrow-left", size: '1.4rem' })),
331
+ react_1.default.createElement("button", { type: 'button', onClick: function () {
332
+ switch (_this.state.type) {
333
+ case CalendarType.YEAR:
334
+ if (_this.state.selectYear - 10 < exports.startDate.getFullYear()) {
335
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.startDate.getFullYear() }));
336
+ }
337
+ else {
338
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 10 }));
339
+ }
340
+ break;
341
+ case CalendarType.MONTH:
342
+ if (_this.state.selectYear - 1 >= exports.startDate.getFullYear()) {
343
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear - 1 }));
344
+ }
345
+ break;
346
+ default:
347
+ var newDataVl = new Date(_this.state.selectYear, _this.state.selectMonth - 1, 1);
348
+ _this.setState(__assign(__assign({}, _this.state), { selectMonth: newDataVl.getMonth(), selectYear: newDataVl.getFullYear() }));
349
+ break;
350
+ }
351
+ } },
352
+ react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/left-arrow", size: '1.4rem' })),
353
+ react_1.default.createElement("span", { className: "heading-7", onClick: function () {
354
+ if (_this.state.type !== CalendarType.YEAR)
355
+ _this.setState(__assign(__assign({}, _this.state), { type: _this.state.type === CalendarType.DATE ? CalendarType.MONTH : CalendarType.YEAR }));
356
+ } }, this.getTitle()),
357
+ react_1.default.createElement("button", { type: 'button', onClick: function () {
358
+ switch (_this.state.type) {
359
+ case CalendarType.YEAR:
360
+ if (_this.state.selectYear + 10 > exports.endDate.getFullYear()) {
361
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
362
+ }
363
+ else {
364
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 10 }));
365
+ }
366
+ break;
367
+ case CalendarType.MONTH:
368
+ if (_this.state.selectYear + 1 <= exports.endDate.getFullYear()) {
369
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 1 }));
370
+ }
371
+ break;
372
+ default:
373
+ var newDataVl = new Date(_this.state.selectYear, _this.state.selectMonth + 1, 1);
374
+ _this.setState(__assign(__assign({}, _this.state), { selectMonth: newDataVl.getMonth(), selectYear: newDataVl.getFullYear() }));
375
+ break;
376
+ }
377
+ } },
378
+ react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/right-arrow", size: '1.4rem' })),
379
+ react_1.default.createElement("button", { type: 'button', onClick: function () {
380
+ switch (_this.state.type) {
381
+ case CalendarType.YEAR:
382
+ if (_this.state.selectYear + 20 > exports.endDate.getFullYear()) {
383
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
384
+ }
385
+ else {
386
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 20 }));
387
+ }
388
+ break;
389
+ case CalendarType.MONTH:
390
+ if (_this.state.selectYear + 10 < exports.endDate.getFullYear()) {
391
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: exports.endDate.getFullYear() }));
392
+ }
393
+ else {
394
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 10 }));
395
+ }
396
+ break;
397
+ default:
398
+ _this.setState(__assign(__assign({}, _this.state), { selectYear: _this.state.selectYear + 1 }));
399
+ break;
400
+ }
401
+ } },
402
+ react_1.default.createElement(winicon_1.Winicon, { src: "fill/arrows/double-arrow-right", size: '1.4rem' }))),
403
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-date-body'], " row") }, this.state.type === CalendarType.YEAR ? this.showYearInRange() : this.state.type === CalendarType.MONTH ? this.showMonthInYear() : this.showDateInMonth())),
404
+ this.props.type === CalendarType.DATETIME ? react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['picker-time-container'], " col") },
405
+ react_1.default.createElement("div", { className: "heading-7" },
406
+ this.state.selectHours < 10 ? "0".concat(this.state.selectHours) : this.state.selectHours,
407
+ ":",
408
+ this.state.selectMinutes < 10 ? "0".concat(this.state.selectMinutes) : this.state.selectMinutes,
409
+ ":",
410
+ this.state.selectSeconds < 10 ? "0".concat(this.state.selectSeconds) : this.state.selectSeconds),
411
+ react_1.default.createElement("div", { className: "row", style: { alignItems: 'start', flex: 1, height: '100%' } },
412
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-hours'], " scroll-picker-hours col") }, Array.from({ length: 24 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
413
+ var newValue = _this.state.value;
414
+ newValue.setHours(i);
415
+ _this.setState(__assign(__assign({}, _this.state), { selectHours: i, value: newValue }));
416
+ if (_this.props.onSelect)
417
+ _this.props.onSelect(newValue);
418
+ }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectHours === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })),
419
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-minutes'], " scroll-picker-minutes col") }, Array.from({ length: 60 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
420
+ var newValue = _this.state.value;
421
+ newValue.setMinutes(i);
422
+ _this.setState(__assign(__assign({}, _this.state), { selectMinutes: i, value: newValue }));
423
+ if (_this.props.onSelect)
424
+ _this.props.onSelect(newValue);
425
+ }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectMinutes === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })),
426
+ react_1.default.createElement("div", { className: "".concat(calendar_module_css_1.default['scroll-picker-seconds'], " scroll-picker-seconds col") }, Array.from({ length: 60 }).map(function (_, i) { return react_1.default.createElement("button", { type: "button", onClick: function () {
427
+ var newValue = _this.state.value;
428
+ newValue.setSeconds(i);
429
+ _this.setState(__assign(__assign({}, _this.state), { selectSeconds: i, value: newValue }));
430
+ if (_this.props.onSelect)
431
+ _this.props.onSelect(newValue);
432
+ }, key: "hours-".concat(i), className: "label-4 ".concat(_this.state.selectSeconds === (i) ? calendar_module_css_1.default['selected'] : '') }, i < 10 ? "0".concat(i) : i); })))) : null),
433
+ this.props.footer));
434
+ };
435
+ return TCalendar;
436
+ }(react_1.default.Component));
437
+ exports.Calendar = (0, react_i18next_1.withTranslation)()(TCalendar);