ywana-core8 0.0.910 → 0.0.912

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.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
- position = _useState[0],
3218
- setPosition = _useState[1];
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,17 +3309,18 @@
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"
3323
+ className: "month-calendar"
3267
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
3326
  action: prev
@@ -3300,9 +3357,9 @@
3300
3357
  cell = _props$cell === void 0 ? [] : _props$cell,
3301
3358
  children = props.children;
3302
3359
  var day = cell.day,
3303
- events = cell.events;
3360
+ events = cell.events,
3361
+ sameMonthStyle = cell.sameMonthStyle;
3304
3362
  var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
3305
- var sameMonthStyle = day.isSame(moment(), 'month') ? '' : 'other-month';
3306
3363
  return /*#__PURE__*/React__default["default"].createElement("div", {
3307
3364
  className: "day-cell " + todayStyle + " " + sameMonthStyle
3308
3365
  }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
@@ -3312,6 +3369,10 @@
3312
3369
  }, children);
3313
3370
  })));
3314
3371
  };
3372
+
3373
+ /**
3374
+ * Event
3375
+ */
3315
3376
  var Event = function Event(props) {
3316
3377
  var event = props.event,
3317
3378
  children = props.children;
@@ -3329,6 +3390,129 @@
3329
3390
  }
3330
3391
  };
3331
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
+
3332
3516
  var ranges = momentRange.extendMoment(moment__default["default"]);
3333
3517
  var DATE_RANGE = [{
3334
3518
  label: "Week",
@@ -6814,7 +6998,7 @@
6814
6998
  /**
6815
6999
  * Collection API
6816
7000
  */
6817
- var CollectionAPI$1 = function CollectionAPI(url, host) {
7001
+ var CollectionAPI$1 = function CollectionAPI(url, host, params) {
6818
7002
  var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
6819
7003
 
6820
7004
  /**
@@ -6839,8 +7023,8 @@
6839
7023
  }).join("&");
6840
7024
  return "" + query + values + "&";
6841
7025
  } else if (typeof value === "object") {
6842
- var params = objectToQueryParamString(value, likes);
6843
- params.split("&").forEach(function (param) {
7026
+ var _params = objectToQueryParamString(value, likes);
7027
+ _params.split("&").forEach(function (param) {
6844
7028
  query = query.concat(key + "." + param + "&");
6845
7029
  });
6846
7030
  return query;
@@ -6855,9 +7039,17 @@
6855
7039
  if (likes === void 0) {
6856
7040
  likes = [];
6857
7041
  }
7042
+ // build query params
6858
7043
  var queryParams = page ? "?page=" + page + "&" : "?";
7044
+
7045
+ // concat optional params to queryparams
7046
+ queryParams = "" + queryParams + params;
7047
+
7048
+ // concat filters to queryparams
6859
7049
  var filterQuery = objectToQueryParamString(filters, likes);
6860
7050
  queryParams = "" + queryParams + filterQuery;
7051
+
7052
+ // remove last &
6861
7053
  queryParams = queryParams.substring(0, queryParams.length - 1);
6862
7054
  return http.GET("" + url + queryParams);
6863
7055
  },
@@ -6937,6 +7129,7 @@
6937
7129
  page = props.page,
6938
7130
  _props$fetching = props.fetching,
6939
7131
  fetching = _props$fetching === void 0 ? false : _props$fetching,
7132
+ params = props.params,
6940
7133
  _props$actions = props.actions,
6941
7134
  actions = _props$actions === void 0 ? [] : _props$actions,
6942
7135
  onSelect = props.onSelect,
@@ -6971,7 +7164,7 @@
6971
7164
  filters = props.filters,
6972
7165
  footer = props.footer,
6973
7166
  children = props.children;
6974
- var context = CollectionContext$1(url, field, host, page, fetching, versioning);
7167
+ var context = CollectionContext$1(url, field, host, page, fetching, versioning, params);
6975
7168
  var _useContext = React.useContext(PageContext),
6976
7169
  pageContext = _useContext[0],
6977
7170
  setPageContext = _useContext[1];
@@ -7524,11 +7717,11 @@
7524
7717
  /**
7525
7718
  * Collection Context
7526
7719
  */
7527
- var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning) {
7720
+ var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning, params) {
7528
7721
  if (versioning === void 0) {
7529
7722
  versioning = false;
7530
7723
  }
7531
- var API = CollectionAPI$1(url, host);
7724
+ var API = CollectionAPI$1(url, host, params);
7532
7725
  return {
7533
7726
  all: [],
7534
7727
  filters: {},
@@ -11366,6 +11559,7 @@
11366
11559
  exports.MenuIcon = MenuIcon;
11367
11560
  exports.MenuItem = MenuItem;
11368
11561
  exports.MenuSeparator = MenuSeparator;
11562
+ exports.MonthCalendar = MonthCalendar;
11369
11563
  exports.MultiSelector = MultiSelector;
11370
11564
  exports.Page = Page;
11371
11565
  exports.PageContext = PageContext;