ywana-core8 0.0.909 → 0.0.911
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/dist/index.cjs +202 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +131 -10
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +202 -20
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +202 -19
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/widgets/calendar/Calendar.css +131 -10
- package/src/widgets/calendar/Calendar.js +188 -19
package/dist/index.umd.js
CHANGED
@@ -3208,14 +3208,70 @@
|
|
3208
3208
|
|
3209
3209
|
moment__default["default"].locale('es');
|
3210
3210
|
var moment = momentRange.extendMoment(moment__default["default"]);
|
3211
|
+
|
3212
|
+
/**
|
3213
|
+
* Calendar
|
3214
|
+
*/
|
3211
3215
|
var Calendar = function Calendar(props) {
|
3212
3216
|
var _props$events = props.events,
|
3213
3217
|
events = _props$events === void 0 ? [] : _props$events,
|
3214
3218
|
children = props.children,
|
3215
3219
|
onChange = props.onChange;
|
3216
|
-
var _useState = React.useState(),
|
3217
|
-
|
3218
|
-
|
3220
|
+
var _useState = React.useState(props.range || "year"),
|
3221
|
+
range = _useState[0],
|
3222
|
+
setRange = _useState[1];
|
3223
|
+
function onChangeRange(range) {
|
3224
|
+
setRange(range);
|
3225
|
+
}
|
3226
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3227
|
+
className: "calendar"
|
3228
|
+
}, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
|
3229
|
+
range: range,
|
3230
|
+
onChange: onChangeRange
|
3231
|
+
}), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
|
3232
|
+
events: events,
|
3233
|
+
onChange: onChange
|
3234
|
+
}, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
|
3235
|
+
events: events,
|
3236
|
+
onChange: onChange,
|
3237
|
+
onRange: onChangeRange
|
3238
|
+
}, children));
|
3239
|
+
};
|
3240
|
+
|
3241
|
+
/**
|
3242
|
+
* CalendarRangeControl
|
3243
|
+
*/
|
3244
|
+
var CalendarRangeControl = function CalendarRangeControl(props) {
|
3245
|
+
var range = props.range,
|
3246
|
+
onChange = props.onChange;
|
3247
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3248
|
+
className: "calendar-range-control"
|
3249
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button, {
|
3250
|
+
label: "Year",
|
3251
|
+
outlined: range == "year",
|
3252
|
+
action: function action() {
|
3253
|
+
return onChange("year");
|
3254
|
+
}
|
3255
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3256
|
+
label: "Month",
|
3257
|
+
outlined: range == "month",
|
3258
|
+
action: function action() {
|
3259
|
+
return onChange("month");
|
3260
|
+
}
|
3261
|
+
}));
|
3262
|
+
};
|
3263
|
+
|
3264
|
+
/**
|
3265
|
+
* MonthCalendar
|
3266
|
+
*/
|
3267
|
+
var MonthCalendar = function MonthCalendar(props) {
|
3268
|
+
var _props$events2 = props.events,
|
3269
|
+
events = _props$events2 === void 0 ? [] : _props$events2,
|
3270
|
+
children = props.children,
|
3271
|
+
onChange = props.onChange;
|
3272
|
+
var _useState2 = React.useState(),
|
3273
|
+
position = _useState2[0],
|
3274
|
+
setPosition = _useState2[1];
|
3219
3275
|
React.useEffect(function () {
|
3220
3276
|
var today = moment();
|
3221
3277
|
setPosition(today);
|
@@ -3253,44 +3309,43 @@
|
|
3253
3309
|
var days = Array.from(range.by('days'));
|
3254
3310
|
var cells = days.map(function (day) {
|
3255
3311
|
var eventsOfDay = events.filter(function (event) {
|
3256
|
-
console.log(event.date, day.format("YYYY-MM-DD"));
|
3257
3312
|
var eventDay = moment(event.date);
|
3258
3313
|
return eventDay.isSame(day, 'day');
|
3259
3314
|
});
|
3315
|
+
var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
|
3260
3316
|
return {
|
3261
3317
|
day: day,
|
3262
|
-
events: eventsOfDay
|
3318
|
+
events: eventsOfDay,
|
3319
|
+
sameMonthStyle: sameMonthStyle
|
3263
3320
|
};
|
3264
3321
|
});
|
3265
3322
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3266
|
-
className: "calendar"
|
3267
|
-
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", monthName, " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3323
|
+
className: "month-calendar"
|
3324
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, monthName), " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3268
3325
|
icon: "chevron_left",
|
3269
|
-
raised: true,
|
3270
3326
|
action: prev
|
3271
3327
|
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3272
|
-
label: "
|
3328
|
+
label: "Today",
|
3273
3329
|
outlined: true,
|
3274
3330
|
action: today
|
3275
3331
|
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3276
3332
|
icon: "chevron_right",
|
3277
|
-
raised: true,
|
3278
3333
|
action: next
|
3279
3334
|
})), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
3280
3335
|
className: "week-day-cell"
|
3281
|
-
}, "
|
3336
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3282
3337
|
className: "week-day-cell"
|
3283
|
-
}, "
|
3338
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3284
3339
|
className: "week-day-cell"
|
3285
|
-
}, "
|
3340
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3286
3341
|
className: "week-day-cell"
|
3287
|
-
}, "
|
3342
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3288
3343
|
className: "week-day-cell"
|
3289
|
-
}, "
|
3344
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3290
3345
|
className: "week-day-cell"
|
3291
|
-
}, "
|
3346
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3292
3347
|
className: "week-day-cell"
|
3293
|
-
}, "
|
3348
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
|
3294
3349
|
return /*#__PURE__*/React__default["default"].createElement(DayCell, {
|
3295
3350
|
key: cell.day,
|
3296
3351
|
cell: cell
|
@@ -3302,9 +3357,9 @@
|
|
3302
3357
|
cell = _props$cell === void 0 ? [] : _props$cell,
|
3303
3358
|
children = props.children;
|
3304
3359
|
var day = cell.day,
|
3305
|
-
events = cell.events
|
3360
|
+
events = cell.events,
|
3361
|
+
sameMonthStyle = cell.sameMonthStyle;
|
3306
3362
|
var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
|
3307
|
-
var sameMonthStyle = day.isSame(moment(), 'month') ? '' : 'other-month';
|
3308
3363
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3309
3364
|
className: "day-cell " + todayStyle + " " + sameMonthStyle
|
3310
3365
|
}, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
|
@@ -3314,6 +3369,10 @@
|
|
3314
3369
|
}, children);
|
3315
3370
|
})));
|
3316
3371
|
};
|
3372
|
+
|
3373
|
+
/**
|
3374
|
+
* Event
|
3375
|
+
*/
|
3317
3376
|
var Event = function Event(props) {
|
3318
3377
|
var event = props.event,
|
3319
3378
|
children = props.children;
|
@@ -3331,6 +3390,129 @@
|
|
3331
3390
|
}
|
3332
3391
|
};
|
3333
3392
|
|
3393
|
+
/**
|
3394
|
+
* YearCalendar
|
3395
|
+
*/
|
3396
|
+
var YearCalendar = function YearCalendar(props) {
|
3397
|
+
var _props$events3 = props.events,
|
3398
|
+
events = _props$events3 === void 0 ? [] : _props$events3,
|
3399
|
+
children = props.children,
|
3400
|
+
onChange = props.onChange;
|
3401
|
+
var _useState3 = React.useState(),
|
3402
|
+
position = _useState3[0],
|
3403
|
+
setPosition = _useState3[1];
|
3404
|
+
React.useEffect(function () {
|
3405
|
+
var today = moment();
|
3406
|
+
setPosition(today);
|
3407
|
+
}, []);
|
3408
|
+
React.useEffect(function () {
|
3409
|
+
if (position && onChange) {
|
3410
|
+
var _firstDayOfYear = position.clone().startOf('year');
|
3411
|
+
var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
|
3412
|
+
var _lastDayOfYear = position.clone().endOf('year');
|
3413
|
+
var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
|
3414
|
+
var range = moment.range(firstDayOfRange, lastDayOfRange);
|
3415
|
+
onChange(position, range);
|
3416
|
+
}
|
3417
|
+
}, [position]);
|
3418
|
+
function next() {
|
3419
|
+
var next = position.clone().add(1, 'year');
|
3420
|
+
setPosition(next);
|
3421
|
+
}
|
3422
|
+
function prev() {
|
3423
|
+
var prev = position.clone().subtract(1, 'year');
|
3424
|
+
setPosition(prev);
|
3425
|
+
}
|
3426
|
+
function today() {
|
3427
|
+
var today = moment();
|
3428
|
+
setPosition(today);
|
3429
|
+
}
|
3430
|
+
if (!position) return "...";
|
3431
|
+
var year = position.format("YYYY");
|
3432
|
+
var firstDayOfYear = moment(position).startOf('year');
|
3433
|
+
var lastDayOfYear = moment(position).endOf('year');
|
3434
|
+
var months = [];
|
3435
|
+
for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
|
3436
|
+
months.push(moment(currentMonth));
|
3437
|
+
}
|
3438
|
+
var cells = months.map(function (month) {
|
3439
|
+
var firstDayOfMonth = month.clone().startOf('month');
|
3440
|
+
var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
|
3441
|
+
var lastDayOfMonth = month.clone().endOf('month');
|
3442
|
+
var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
|
3443
|
+
var range = moment.range(firstDayOfRange, lastDayOfRange);
|
3444
|
+
var days = Array.from(range.by('days'));
|
3445
|
+
var cells = days.map(function (day) {
|
3446
|
+
var eventsOfDay = events.filter(function (event) {
|
3447
|
+
var eventDay = moment(event.date);
|
3448
|
+
return eventDay.isSame(day, 'day');
|
3449
|
+
});
|
3450
|
+
var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
|
3451
|
+
return {
|
3452
|
+
day: day,
|
3453
|
+
events: eventsOfDay,
|
3454
|
+
sameMonthStyle: sameMonthStyle
|
3455
|
+
};
|
3456
|
+
});
|
3457
|
+
return {
|
3458
|
+
month: month,
|
3459
|
+
cells: cells
|
3460
|
+
};
|
3461
|
+
});
|
3462
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3463
|
+
className: "year-calendar"
|
3464
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", /*#__PURE__*/React__default["default"].createElement(Text, null, year)), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3465
|
+
icon: "chevron_left",
|
3466
|
+
action: prev
|
3467
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3468
|
+
label: "Today",
|
3469
|
+
outlined: true,
|
3470
|
+
action: today
|
3471
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
3472
|
+
icon: "chevron_right",
|
3473
|
+
action: next
|
3474
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
|
3475
|
+
return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
|
3476
|
+
key: cell.month,
|
3477
|
+
cell: cell
|
3478
|
+
}, children);
|
3479
|
+
})));
|
3480
|
+
};
|
3481
|
+
|
3482
|
+
/**
|
3483
|
+
* MonthCell
|
3484
|
+
*/
|
3485
|
+
var MonthCell = function MonthCell(props) {
|
3486
|
+
var _props$cell2 = props.cell,
|
3487
|
+
cell = _props$cell2 === void 0 ? [] : _props$cell2,
|
3488
|
+
children = props.children;
|
3489
|
+
var month = cell.month,
|
3490
|
+
cells = cell.cells;
|
3491
|
+
var monthName = month.format("MMMM");
|
3492
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3493
|
+
className: "month-cell"
|
3494
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
3495
|
+
className: "week-day-cell"
|
3496
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3497
|
+
className: "week-day-cell"
|
3498
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3499
|
+
className: "week-day-cell"
|
3500
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3501
|
+
className: "week-day-cell"
|
3502
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3503
|
+
className: "week-day-cell"
|
3504
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3505
|
+
className: "week-day-cell"
|
3506
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
|
3507
|
+
className: "week-day-cell"
|
3508
|
+
}, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
|
3509
|
+
return /*#__PURE__*/React__default["default"].createElement(DayCell, {
|
3510
|
+
key: cell.day,
|
3511
|
+
cell: cell
|
3512
|
+
}, children);
|
3513
|
+
})));
|
3514
|
+
};
|
3515
|
+
|
3334
3516
|
var ranges = momentRange.extendMoment(moment__default["default"]);
|
3335
3517
|
var DATE_RANGE = [{
|
3336
3518
|
label: "Week",
|
@@ -11368,6 +11550,7 @@
|
|
11368
11550
|
exports.MenuIcon = MenuIcon;
|
11369
11551
|
exports.MenuItem = MenuItem;
|
11370
11552
|
exports.MenuSeparator = MenuSeparator;
|
11553
|
+
exports.MonthCalendar = MonthCalendar;
|
11371
11554
|
exports.MultiSelector = MultiSelector;
|
11372
11555
|
exports.Page = Page;
|
11373
11556
|
exports.PageContext = PageContext;
|