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 CHANGED
@@ -3215,14 +3215,70 @@ var WaitScreen = function WaitScreen() {
3215
3215
 
3216
3216
  moment__default["default"].locale('es');
3217
3217
  var moment = momentRange.extendMoment(moment__default["default"]);
3218
+
3219
+ /**
3220
+ * Calendar
3221
+ */
3218
3222
  var Calendar = function Calendar(props) {
3219
3223
  var _props$events = props.events,
3220
3224
  events = _props$events === void 0 ? [] : _props$events,
3221
3225
  children = props.children,
3222
3226
  onChange = props.onChange;
3223
- var _useState = React.useState(),
3224
- position = _useState[0],
3225
- setPosition = _useState[1];
3227
+ var _useState = React.useState(props.range || "year"),
3228
+ range = _useState[0],
3229
+ setRange = _useState[1];
3230
+ function onChangeRange(range) {
3231
+ setRange(range);
3232
+ }
3233
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3234
+ className: "calendar"
3235
+ }, /*#__PURE__*/React__default["default"].createElement(CalendarRangeControl, {
3236
+ range: range,
3237
+ onChange: onChangeRange
3238
+ }), range === "year" && /*#__PURE__*/React__default["default"].createElement(YearCalendar, {
3239
+ events: events,
3240
+ onChange: onChange
3241
+ }, children), range === "month" && /*#__PURE__*/React__default["default"].createElement(MonthCalendar, {
3242
+ events: events,
3243
+ onChange: onChange,
3244
+ onRange: onChangeRange
3245
+ }, children));
3246
+ };
3247
+
3248
+ /**
3249
+ * CalendarRangeControl
3250
+ */
3251
+ var CalendarRangeControl = function CalendarRangeControl(props) {
3252
+ var range = props.range,
3253
+ onChange = props.onChange;
3254
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3255
+ className: "calendar-range-control"
3256
+ }, /*#__PURE__*/React__default["default"].createElement(Button, {
3257
+ label: "Year",
3258
+ outlined: range == "year",
3259
+ action: function action() {
3260
+ return onChange("year");
3261
+ }
3262
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3263
+ label: "Month",
3264
+ outlined: range == "month",
3265
+ action: function action() {
3266
+ return onChange("month");
3267
+ }
3268
+ }));
3269
+ };
3270
+
3271
+ /**
3272
+ * MonthCalendar
3273
+ */
3274
+ var MonthCalendar = function MonthCalendar(props) {
3275
+ var _props$events2 = props.events,
3276
+ events = _props$events2 === void 0 ? [] : _props$events2,
3277
+ children = props.children,
3278
+ onChange = props.onChange;
3279
+ var _useState2 = React.useState(),
3280
+ position = _useState2[0],
3281
+ setPosition = _useState2[1];
3226
3282
  React.useEffect(function () {
3227
3283
  var today = moment();
3228
3284
  setPosition(today);
@@ -3260,44 +3316,43 @@ var Calendar = function Calendar(props) {
3260
3316
  var days = Array.from(range.by('days'));
3261
3317
  var cells = days.map(function (day) {
3262
3318
  var eventsOfDay = events.filter(function (event) {
3263
- console.log(event.date, day.format("YYYY-MM-DD"));
3264
3319
  var eventDay = moment(event.date);
3265
3320
  return eventDay.isSame(day, 'day');
3266
3321
  });
3322
+ var sameMonthStyle = day.isSame(moment(position), 'month') ? '' : 'other-month';
3267
3323
  return {
3268
3324
  day: day,
3269
- events: eventsOfDay
3325
+ events: eventsOfDay,
3326
+ sameMonthStyle: sameMonthStyle
3270
3327
  };
3271
3328
  });
3272
3329
  return /*#__PURE__*/React__default["default"].createElement("div", {
3273
- className: "calendar"
3274
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("label", null, " ", monthName, " ", year), /*#__PURE__*/React__default["default"].createElement(Button, {
3330
+ className: "month-calendar"
3331
+ }, /*#__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, {
3275
3332
  icon: "chevron_left",
3276
- raised: true,
3277
3333
  action: prev
3278
3334
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
3279
- label: "Hoy",
3335
+ label: "Today",
3280
3336
  outlined: true,
3281
3337
  action: today
3282
3338
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
3283
3339
  icon: "chevron_right",
3284
- raised: true,
3285
3340
  action: next
3286
3341
  })), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3287
3342
  className: "week-day-cell"
3288
- }, "Lun"), /*#__PURE__*/React__default["default"].createElement("div", {
3343
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3289
3344
  className: "week-day-cell"
3290
- }, "Mar"), /*#__PURE__*/React__default["default"].createElement("div", {
3345
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3291
3346
  className: "week-day-cell"
3292
- }, "Mi\xE9"), /*#__PURE__*/React__default["default"].createElement("div", {
3347
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3293
3348
  className: "week-day-cell"
3294
- }, "Jue"), /*#__PURE__*/React__default["default"].createElement("div", {
3349
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3295
3350
  className: "week-day-cell"
3296
- }, "Vie"), /*#__PURE__*/React__default["default"].createElement("div", {
3351
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3297
3352
  className: "week-day-cell"
3298
- }, "Sab"), /*#__PURE__*/React__default["default"].createElement("div", {
3353
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3299
3354
  className: "week-day-cell"
3300
- }, "Dom")), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3355
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3301
3356
  return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3302
3357
  key: cell.day,
3303
3358
  cell: cell
@@ -3309,9 +3364,9 @@ var DayCell = function DayCell(props) {
3309
3364
  cell = _props$cell === void 0 ? [] : _props$cell,
3310
3365
  children = props.children;
3311
3366
  var day = cell.day,
3312
- events = cell.events;
3367
+ events = cell.events,
3368
+ sameMonthStyle = cell.sameMonthStyle;
3313
3369
  var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
3314
- var sameMonthStyle = day.isSame(moment(), 'month') ? '' : 'other-month';
3315
3370
  return /*#__PURE__*/React__default["default"].createElement("div", {
3316
3371
  className: "day-cell " + todayStyle + " " + sameMonthStyle
3317
3372
  }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
@@ -3321,6 +3376,10 @@ var DayCell = function DayCell(props) {
3321
3376
  }, children);
3322
3377
  })));
3323
3378
  };
3379
+
3380
+ /**
3381
+ * Event
3382
+ */
3324
3383
  var Event = function Event(props) {
3325
3384
  var event = props.event,
3326
3385
  children = props.children;
@@ -3338,6 +3397,129 @@ var Event = function Event(props) {
3338
3397
  }
3339
3398
  };
3340
3399
 
3400
+ /**
3401
+ * YearCalendar
3402
+ */
3403
+ var YearCalendar = function YearCalendar(props) {
3404
+ var _props$events3 = props.events,
3405
+ events = _props$events3 === void 0 ? [] : _props$events3,
3406
+ children = props.children,
3407
+ onChange = props.onChange;
3408
+ var _useState3 = React.useState(),
3409
+ position = _useState3[0],
3410
+ setPosition = _useState3[1];
3411
+ React.useEffect(function () {
3412
+ var today = moment();
3413
+ setPosition(today);
3414
+ }, []);
3415
+ React.useEffect(function () {
3416
+ if (position && onChange) {
3417
+ var _firstDayOfYear = position.clone().startOf('year');
3418
+ var firstDayOfRange = _firstDayOfYear.clone().startOf('isoweek');
3419
+ var _lastDayOfYear = position.clone().endOf('year');
3420
+ var lastDayOfRange = _lastDayOfYear.clone().endOf('isoweek');
3421
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3422
+ onChange(position, range);
3423
+ }
3424
+ }, [position]);
3425
+ function next() {
3426
+ var next = position.clone().add(1, 'year');
3427
+ setPosition(next);
3428
+ }
3429
+ function prev() {
3430
+ var prev = position.clone().subtract(1, 'year');
3431
+ setPosition(prev);
3432
+ }
3433
+ function today() {
3434
+ var today = moment();
3435
+ setPosition(today);
3436
+ }
3437
+ if (!position) return "...";
3438
+ var year = position.format("YYYY");
3439
+ var firstDayOfYear = moment(position).startOf('year');
3440
+ var lastDayOfYear = moment(position).endOf('year');
3441
+ var months = [];
3442
+ for (var currentMonth = moment(firstDayOfYear); currentMonth.isBefore(lastDayOfYear); currentMonth.add(1, 'month')) {
3443
+ months.push(moment(currentMonth));
3444
+ }
3445
+ var cells = months.map(function (month) {
3446
+ var firstDayOfMonth = month.clone().startOf('month');
3447
+ var firstDayOfRange = firstDayOfMonth.clone().startOf('isoweek');
3448
+ var lastDayOfMonth = month.clone().endOf('month');
3449
+ var lastDayOfRange = lastDayOfMonth.clone().endOf('isoweek');
3450
+ var range = moment.range(firstDayOfRange, lastDayOfRange);
3451
+ var days = Array.from(range.by('days'));
3452
+ var cells = days.map(function (day) {
3453
+ var eventsOfDay = events.filter(function (event) {
3454
+ var eventDay = moment(event.date);
3455
+ return eventDay.isSame(day, 'day');
3456
+ });
3457
+ var sameMonthStyle = day.isSame(moment(month), 'month') ? '' : 'other-month';
3458
+ return {
3459
+ day: day,
3460
+ events: eventsOfDay,
3461
+ sameMonthStyle: sameMonthStyle
3462
+ };
3463
+ });
3464
+ return {
3465
+ month: month,
3466
+ cells: cells
3467
+ };
3468
+ });
3469
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3470
+ className: "year-calendar"
3471
+ }, /*#__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, {
3472
+ icon: "chevron_left",
3473
+ action: prev
3474
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3475
+ label: "Today",
3476
+ outlined: true,
3477
+ action: today
3478
+ }), /*#__PURE__*/React__default["default"].createElement(Button, {
3479
+ icon: "chevron_right",
3480
+ action: next
3481
+ })), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3482
+ return /*#__PURE__*/React__default["default"].createElement(MonthCell, {
3483
+ key: cell.month,
3484
+ cell: cell
3485
+ }, children);
3486
+ })));
3487
+ };
3488
+
3489
+ /**
3490
+ * MonthCell
3491
+ */
3492
+ var MonthCell = function MonthCell(props) {
3493
+ var _props$cell2 = props.cell,
3494
+ cell = _props$cell2 === void 0 ? [] : _props$cell2,
3495
+ children = props.children;
3496
+ var month = cell.month,
3497
+ cells = cell.cells;
3498
+ var monthName = month.format("MMMM");
3499
+ return /*#__PURE__*/React__default["default"].createElement("div", {
3500
+ className: "month-cell"
3501
+ }, /*#__PURE__*/React__default["default"].createElement("nav", null, monthName), /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement("div", {
3502
+ className: "week-day-cell"
3503
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Mon")), /*#__PURE__*/React__default["default"].createElement("div", {
3504
+ className: "week-day-cell"
3505
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Tue")), /*#__PURE__*/React__default["default"].createElement("div", {
3506
+ className: "week-day-cell"
3507
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Wed")), /*#__PURE__*/React__default["default"].createElement("div", {
3508
+ className: "week-day-cell"
3509
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Thu")), /*#__PURE__*/React__default["default"].createElement("div", {
3510
+ className: "week-day-cell"
3511
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Fri")), /*#__PURE__*/React__default["default"].createElement("div", {
3512
+ className: "week-day-cell"
3513
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sat")), /*#__PURE__*/React__default["default"].createElement("div", {
3514
+ className: "week-day-cell"
3515
+ }, /*#__PURE__*/React__default["default"].createElement(Text, null, "Sun"))), /*#__PURE__*/React__default["default"].createElement("main", null, cells.map(function (cell) {
3516
+ return /*#__PURE__*/React__default["default"].createElement(DayCell, {
3517
+ key: cell.day,
3518
+ cell: cell
3519
+ }, children);
3520
+ })));
3521
+ };
3522
+
3341
3523
  var ranges = momentRange.extendMoment(moment__default["default"]);
3342
3524
  var DATE_RANGE = [{
3343
3525
  label: "Week",
@@ -11375,6 +11557,7 @@ exports.Menu = Menu;
11375
11557
  exports.MenuIcon = MenuIcon;
11376
11558
  exports.MenuItem = MenuItem;
11377
11559
  exports.MenuSeparator = MenuSeparator;
11560
+ exports.MonthCalendar = MonthCalendar;
11378
11561
  exports.MultiSelector = MultiSelector;
11379
11562
  exports.Page = Page;
11380
11563
  exports.PageContext = PageContext;