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.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,17 +3316,18 @@ 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"
3330
+ className: "month-calendar"
3274
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
3333
  action: prev
@@ -3307,9 +3364,9 @@ var DayCell = function DayCell(props) {
3307
3364
  cell = _props$cell === void 0 ? [] : _props$cell,
3308
3365
  children = props.children;
3309
3366
  var day = cell.day,
3310
- events = cell.events;
3367
+ events = cell.events,
3368
+ sameMonthStyle = cell.sameMonthStyle;
3311
3369
  var todayStyle = day.isSame(moment(), 'day') ? 'today' : '';
3312
- var sameMonthStyle = day.isSame(moment(), 'month') ? '' : 'other-month';
3313
3370
  return /*#__PURE__*/React__default["default"].createElement("div", {
3314
3371
  className: "day-cell " + todayStyle + " " + sameMonthStyle
3315
3372
  }, /*#__PURE__*/React__default["default"].createElement("header", null, day.format("DD")), /*#__PURE__*/React__default["default"].createElement("main", null, events.map(function (event) {
@@ -3319,6 +3376,10 @@ var DayCell = function DayCell(props) {
3319
3376
  }, children);
3320
3377
  })));
3321
3378
  };
3379
+
3380
+ /**
3381
+ * Event
3382
+ */
3322
3383
  var Event = function Event(props) {
3323
3384
  var event = props.event,
3324
3385
  children = props.children;
@@ -3336,6 +3397,129 @@ var Event = function Event(props) {
3336
3397
  }
3337
3398
  };
3338
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
+
3339
3523
  var ranges = momentRange.extendMoment(moment__default["default"]);
3340
3524
  var DATE_RANGE = [{
3341
3525
  label: "Week",
@@ -6821,7 +7005,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
6821
7005
  /**
6822
7006
  * Collection API
6823
7007
  */
6824
- var CollectionAPI$1 = function CollectionAPI(url, host) {
7008
+ var CollectionAPI$1 = function CollectionAPI(url, host, params) {
6825
7009
  var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
6826
7010
 
6827
7011
  /**
@@ -6846,8 +7030,8 @@ var CollectionAPI$1 = function CollectionAPI(url, host) {
6846
7030
  }).join("&");
6847
7031
  return "" + query + values + "&";
6848
7032
  } else if (typeof value === "object") {
6849
- var params = objectToQueryParamString(value, likes);
6850
- params.split("&").forEach(function (param) {
7033
+ var _params = objectToQueryParamString(value, likes);
7034
+ _params.split("&").forEach(function (param) {
6851
7035
  query = query.concat(key + "." + param + "&");
6852
7036
  });
6853
7037
  return query;
@@ -6862,9 +7046,17 @@ var CollectionAPI$1 = function CollectionAPI(url, host) {
6862
7046
  if (likes === void 0) {
6863
7047
  likes = [];
6864
7048
  }
7049
+ // build query params
6865
7050
  var queryParams = page ? "?page=" + page + "&" : "?";
7051
+
7052
+ // concat optional params to queryparams
7053
+ queryParams = "" + queryParams + params;
7054
+
7055
+ // concat filters to queryparams
6866
7056
  var filterQuery = objectToQueryParamString(filters, likes);
6867
7057
  queryParams = "" + queryParams + filterQuery;
7058
+
7059
+ // remove last &
6868
7060
  queryParams = queryParams.substring(0, queryParams.length - 1);
6869
7061
  return http.GET("" + url + queryParams);
6870
7062
  },
@@ -6944,6 +7136,7 @@ var CollectionPage$1 = function CollectionPage(props) {
6944
7136
  page = props.page,
6945
7137
  _props$fetching = props.fetching,
6946
7138
  fetching = _props$fetching === void 0 ? false : _props$fetching,
7139
+ params = props.params,
6947
7140
  _props$actions = props.actions,
6948
7141
  actions = _props$actions === void 0 ? [] : _props$actions,
6949
7142
  onSelect = props.onSelect,
@@ -6978,7 +7171,7 @@ var CollectionPage$1 = function CollectionPage(props) {
6978
7171
  filters = props.filters,
6979
7172
  footer = props.footer,
6980
7173
  children = props.children;
6981
- var context = CollectionContext$1(url, field, host, page, fetching, versioning);
7174
+ var context = CollectionContext$1(url, field, host, page, fetching, versioning, params);
6982
7175
  var _useContext = React.useContext(PageContext),
6983
7176
  pageContext = _useContext[0],
6984
7177
  setPageContext = _useContext[1];
@@ -7531,11 +7724,11 @@ var CollectionEditor$1 = function CollectionEditor(props) {
7531
7724
  /**
7532
7725
  * Collection Context
7533
7726
  */
7534
- var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning) {
7727
+ var CollectionContext$1 = function CollectionContext(url, field, host, page, fetching, versioning, params) {
7535
7728
  if (versioning === void 0) {
7536
7729
  versioning = false;
7537
7730
  }
7538
- var API = CollectionAPI$1(url, host);
7731
+ var API = CollectionAPI$1(url, host, params);
7539
7732
  return {
7540
7733
  all: [],
7541
7734
  filters: {},
@@ -11373,6 +11566,7 @@ exports.Menu = Menu;
11373
11566
  exports.MenuIcon = MenuIcon;
11374
11567
  exports.MenuItem = MenuItem;
11375
11568
  exports.MenuSeparator = MenuSeparator;
11569
+ exports.MonthCalendar = MonthCalendar;
11376
11570
  exports.MultiSelector = MultiSelector;
11377
11571
  exports.Page = Page;
11378
11572
  exports.PageContext = PageContext;