@semcore/date-picker 2.7.0-0 → 2.7.0

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 (45) hide show
  1. package/lib/cjs/DatePicker.js +8 -4
  2. package/lib/cjs/DatePicker.js.map +1 -1
  3. package/lib/cjs/DateRangePicker.js +2 -2
  4. package/lib/cjs/DateRangePicker.js.map +1 -1
  5. package/lib/cjs/MonthPicker.js +2 -2
  6. package/lib/cjs/MonthPicker.js.map +1 -1
  7. package/lib/cjs/MonthRangePicker.js +2 -2
  8. package/lib/cjs/MonthRangePicker.js.map +1 -1
  9. package/lib/cjs/components/ButtonTrigger.js +6 -2
  10. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  11. package/lib/cjs/components/Calendar.js +29 -22
  12. package/lib/cjs/components/Calendar.js.map +1 -1
  13. package/lib/cjs/components/PickerAbstract.js +6 -6
  14. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  15. package/lib/cjs/components/RangePickerAbstract.js +6 -6
  16. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  17. package/lib/cjs/components/index.js +12 -9
  18. package/lib/cjs/components/index.js.map +1 -1
  19. package/lib/cjs/index.js +5 -1
  20. package/lib/cjs/utils/cronTabScheduler.js +1 -1
  21. package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
  22. package/lib/cjs/utils/includesDate.js.map +1 -1
  23. package/lib/cjs/utils/shortDateRangeFormat.js +5 -2
  24. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  25. package/lib/es6/DatePicker.js +2 -2
  26. package/lib/es6/DatePicker.js.map +1 -1
  27. package/lib/es6/DateRangePicker.js +2 -2
  28. package/lib/es6/DateRangePicker.js.map +1 -1
  29. package/lib/es6/MonthPicker.js +2 -2
  30. package/lib/es6/MonthPicker.js.map +1 -1
  31. package/lib/es6/MonthRangePicker.js +2 -2
  32. package/lib/es6/MonthRangePicker.js.map +1 -1
  33. package/lib/es6/components/Calendar.js +20 -19
  34. package/lib/es6/components/Calendar.js.map +1 -1
  35. package/lib/es6/components/PickerAbstract.js +6 -6
  36. package/lib/es6/components/PickerAbstract.js.map +1 -1
  37. package/lib/es6/components/RangePickerAbstract.js +6 -6
  38. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  39. package/lib/es6/components/index.js +6 -5
  40. package/lib/es6/components/index.js.map +1 -1
  41. package/lib/es6/utils/cronTabScheduler.js.map +1 -1
  42. package/lib/es6/utils/includesDate.js.map +1 -1
  43. package/lib/es6/utils/shortDateRangeFormat.js +4 -2
  44. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  45. package/package.json +1 -1
@@ -14,14 +14,15 @@ import { assignProps as _assignProps4 } from "@semcore/core";
14
14
  import { assignProps as _assignProps3 } from "@semcore/core";
15
15
  import { assignProps as _assignProps2 } from "@semcore/core";
16
16
  import { assignProps as _assignProps } from "@semcore/core";
17
+ var _excluded = ["date"];
17
18
 
18
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
19
20
 
20
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
22
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
24
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
26
 
26
27
  import React from 'react';
27
28
  import dayjs from 'dayjs';
@@ -37,26 +38,26 @@ var style = (
37
38
  /*__reshadow_css_start__*/
38
39
  _sstyled.insert(
39
40
  /*__inner_css_start__*/
40
- ".___SCalendar_1rj7i_gg_{display:flex;flex-direction:column}.___SGridDays_1rj7i_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_1rj7i_gg_{display:grid;grid-row-gap:8px;grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_1rj7i_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SWeekDay_1rj7i_gg_{color:#757575;overflow:hidden}.___SCalendarUnit_1rj7i_gg_,.___SWeekDay_1rj7i_gg_{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400}.___SCalendarUnit_1rj7i_gg_{font-family:inherit;line-height:normal;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:#333;outline:0;box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:transparent;border-radius:4px;box-sizing:border-box;cursor:pointer;position:relative;transition:color .15s,background .15s;outline:none}.___SCalendarUnit_1rj7i_gg_:hover{color:#333;background:rgba(166,176,179,.2)}.___SCalendarUnit_1rj7i_gg_.focus-visible,.___SCalendarUnit_1rj7i_gg_:focus-visible{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SCalendarUnit_1rj7i_gg_.__today_1rj7i_gg_:before{content:\"\";position:absolute;display:block;top:2px;left:2px;border-radius:3px;width:calc(100% - 4px);height:calc(100% - 4px);box-sizing:border-box;border:1px solid rgba(0,0,0,.2)}.___SCalendarUnit_1rj7i_gg_.__today_1rj7i_gg_.___SCalendarUnit_1rj7i_gg_.__endSelected_1rj7i_gg_:before,.___SCalendarUnit_1rj7i_gg_.__today_1rj7i_gg_.___SCalendarUnit_1rj7i_gg_.__startSelected_1rj7i_gg_:before{border-color:hsla(0,0%,100%,.5)}.___SCalendarUnit_1rj7i_gg_.__selected_1rj7i_gg_{background:rgba(43,148,225,.1);border-radius:0;color:#333}.___SCalendarUnit_1rj7i_gg_.__selected_1rj7i_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_1rj7i_gg_.__highlighted_1rj7i_gg_{background:rgba(43,148,225,.2);border-radius:0;color:#333}.___SCalendarUnit_1rj7i_gg_.__highlighted_1rj7i_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_1rj7i_gg_.__startSelected_1rj7i_gg_{background:#2b94e1;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0;color:#fff}.___SCalendarUnit_1rj7i_gg_.__startSelected_1rj7i_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_1rj7i_gg_.__endSelected_1rj7i_gg_{background:#2b94e1;border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px;color:#fff}.___SCalendarUnit_1rj7i_gg_.__endSelected_1rj7i_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_1rj7i_gg_.__startHighlighted_1rj7i_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0}.___SCalendarUnit_1rj7i_gg_.__endHighlighted_1rj7i_gg_{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.___SCalendarUnit_1rj7i_gg_.__startHighlighted_1rj7i_gg_.___SCalendarUnit_1rj7i_gg_.__endHighlighted_1rj7i_gg_,.___SCalendarUnit_1rj7i_gg_.__startSelected_1rj7i_gg_.___SCalendarUnit_1rj7i_gg_.__endSelected_1rj7i_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}.___SCalendarUnit_1rj7i_gg_.__disabled_1rj7i_gg_{opacity:.4;cursor:default;pointer-events:none}.___SCalendarUnit_1rj7i_gg_.__outdated_1rj7i_gg_{opacity:.2}"
41
+ ".___SCalendar_1h8ht_gg_{display:flex;flex-direction:column}.___SGridDays_1h8ht_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_1h8ht_gg_{display:grid;grid-row-gap:8px;grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_1h8ht_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SWeekDay_1h8ht_gg_{color:#757575;font-size:12px;overflow:hidden}.___SCalendarUnit_1h8ht_gg_,.___SWeekDay_1h8ht_gg_{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;font-weight:400}.___SCalendarUnit_1h8ht_gg_{font-family:inherit;line-height:normal;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:#333333;outline:0;box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:transparent;border-radius:4px;box-sizing:border-box;cursor:pointer;font-size:12px;position:relative;transition:color .15s,background .15s;outline:none}.___SCalendarUnit_1h8ht_gg_:hover{color:#333333;background:rgba(166,176,179,.2)}.___SCalendarUnit_1h8ht_gg_.focus-visible,.___SCalendarUnit_1h8ht_gg_:focus-visible{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SCalendarUnit_1h8ht_gg_.__today_1h8ht_gg_:before{content:\"\";position:absolute;display:block;top:2px;left:2px;border-radius:3px;width:calc(100% - 4px);height:calc(100% - 4px);box-sizing:border-box;border:1px solid rgba(0,0,0,.2)}.___SCalendarUnit_1h8ht_gg_.__today_1h8ht_gg_.___SCalendarUnit_1h8ht_gg_.__endSelected_1h8ht_gg_:before,.___SCalendarUnit_1h8ht_gg_.__today_1h8ht_gg_.___SCalendarUnit_1h8ht_gg_.__startSelected_1h8ht_gg_:before{border-color:hsla(0,0%,100%,.5)}.___SCalendarUnit_1h8ht_gg_.__selected_1h8ht_gg_{background:rgba(43,148,225,.1);border-radius:0;color:#333333}.___SCalendarUnit_1h8ht_gg_.__selected_1h8ht_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_1h8ht_gg_.__highlighted_1h8ht_gg_{background:rgba(43,148,225,.2);border-radius:0;color:#333333}.___SCalendarUnit_1h8ht_gg_.__highlighted_1h8ht_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_1h8ht_gg_.__startSelected_1h8ht_gg_{background:#2b94e1;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0;color:#fff}.___SCalendarUnit_1h8ht_gg_.__startSelected_1h8ht_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_1h8ht_gg_.__endSelected_1h8ht_gg_{background:#2b94e1;border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px;color:#fff}.___SCalendarUnit_1h8ht_gg_.__endSelected_1h8ht_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_1h8ht_gg_.__startHighlighted_1h8ht_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0}.___SCalendarUnit_1h8ht_gg_.__endHighlighted_1h8ht_gg_{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.___SCalendarUnit_1h8ht_gg_.__startHighlighted_1h8ht_gg_.___SCalendarUnit_1h8ht_gg_.__endHighlighted_1h8ht_gg_,.___SCalendarUnit_1h8ht_gg_.__startSelected_1h8ht_gg_.___SCalendarUnit_1h8ht_gg_.__endSelected_1h8ht_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}.___SCalendarUnit_1h8ht_gg_.__disabled_1h8ht_gg_{opacity:.4;cursor:default;pointer-events:none}.___SCalendarUnit_1h8ht_gg_.__outdated_1h8ht_gg_{opacity:.2}"
41
42
  /*__inner_css_end__*/
42
43
  , "1wiogkk_gg_")
43
44
  /*__reshadow_css_end__*/
44
45
  , {
45
- "__SCalendar": "___SCalendar_1rj7i_gg_",
46
- "__SGridDays": "___SGridDays_1rj7i_gg_",
47
- "__SGridMonths": "___SGridMonths_1rj7i_gg_",
48
- "__SWeekDays": "___SWeekDays_1rj7i_gg_",
49
- "__SWeekDay": "___SWeekDay_1rj7i_gg_",
50
- "__SCalendarUnit": "___SCalendarUnit_1rj7i_gg_",
51
- "_today": "__today_1rj7i_gg_",
52
- "_endSelected": "__endSelected_1rj7i_gg_",
53
- "_startSelected": "__startSelected_1rj7i_gg_",
54
- "_selected": "__selected_1rj7i_gg_",
55
- "_highlighted": "__highlighted_1rj7i_gg_",
56
- "_startHighlighted": "__startHighlighted_1rj7i_gg_",
57
- "_endHighlighted": "__endHighlighted_1rj7i_gg_",
58
- "_disabled": "__disabled_1rj7i_gg_",
59
- "_outdated": "__outdated_1rj7i_gg_"
46
+ "__SCalendar": "___SCalendar_1h8ht_gg_",
47
+ "__SGridDays": "___SGridDays_1h8ht_gg_",
48
+ "__SGridMonths": "___SGridMonths_1h8ht_gg_",
49
+ "__SWeekDays": "___SWeekDays_1h8ht_gg_",
50
+ "__SWeekDay": "___SWeekDay_1h8ht_gg_",
51
+ "__SCalendarUnit": "___SCalendarUnit_1h8ht_gg_",
52
+ "_today": "__today_1h8ht_gg_",
53
+ "_endSelected": "__endSelected_1h8ht_gg_",
54
+ "_startSelected": "__startSelected_1h8ht_gg_",
55
+ "_selected": "__selected_1h8ht_gg_",
56
+ "_highlighted": "__highlighted_1h8ht_gg_",
57
+ "_startHighlighted": "__startHighlighted_1h8ht_gg_",
58
+ "_endHighlighted": "__endHighlighted_1h8ht_gg_",
59
+ "_disabled": "__disabled_1h8ht_gg_",
60
+ "_outdated": "__outdated_1h8ht_gg_"
60
61
  });
61
62
  dayjs.extend(isBetween);
62
63
 
@@ -186,7 +187,7 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
186
187
  var _this2 = this;
187
188
 
188
189
  var date = _ref11.date,
189
- other = _objectWithoutProperties(_ref11, ["date"]);
190
+ other = _objectWithoutProperties(_ref11, _excluded);
190
191
 
191
192
  var self = this;
192
193
  var _this$asProps2 = this.asProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Calendar.js"],"names":["React","dayjs","isBetween","createComponent","Component","Root","sstyled","Box","fire","includesDate","getLocaleDate","extend","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","weekStart","Ls","CalendarWeekDaysRoot","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","days","getDaysByWeek","SWeekDays","Children","styles","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","today","onClick","toDate","onMouseEnter","startDate","CalendarUnit","SCalendarUnit","CalendarDaysRoot","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","createUnit","outdated","String","slice","monthDays","nextMonthDays","getDaysByMonth","SCalendar","SGridDays","handleMouseLeave","CalendarMonthsRoot","month","months","getMonthsByYear","SGridMonths","CalendarWeekDays","Unit","CalendarDays","CalendarMonths"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { getLocaleDate } from '../utils/formatDate';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: weekday,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit(props) {\n const SWeekDay = Root;\n return sstyled(props.styles)(<SWeekDay render={Box} />);\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const { disabled: _disabled, value, locale, highlighted: _highlighted } = this.asProps;\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n let highlighted0 = _highlighted[0] ? dayjs(_highlighted[0]) : null;\n let highlighted1 = _highlighted[1] ? dayjs(_highlighted[1]) : highlighted0;\n let startHighlighted, endHighlighted, highlighted;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n highlighted = date.isBetween(highlighted0, highlighted1, unit, '[]');\n startHighlighted = highlighted0 && date.isSame(highlighted0, 'date');\n endHighlighted = highlighted1 && date.isSame(highlighted1, 'date');\n }\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: getLocaleDate(date, locale),\n children: '',\n startSelected,\n endSelected,\n selected,\n disabled,\n highlighted,\n startHighlighted,\n endHighlighted,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n fire(this, 'onHighlightedChange', highlighted);\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { value, highlighted: _highlighted } = this.asProps;\n if (_highlighted[0] || value.length === 1) {\n const startDate = _highlighted[0] || value[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n fire(this, 'onHighlightedChange', highlighted);\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n}\n\nfunction CalendarUnit({ styles, date }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit render={Box} tag=\"button\" aria-hidden={!date} aria-label={date} tabIndex={-1} />,\n );\n}\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"file":"Calendar.js"}
1
+ {"version":3,"sources":["../../../src/components/Calendar.js"],"names":["React","dayjs","isBetween","createComponent","Component","Root","sstyled","Box","fire","includesDate","getLocaleDate","extend","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","weekStart","Ls","CalendarWeekDaysRoot","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","days","getDaysByWeek","SWeekDays","Children","styles","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","today","onClick","toDate","onMouseEnter","startDate","CalendarUnit","SCalendarUnit","CalendarDaysRoot","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","createUnit","outdated","String","slice","monthDays","nextMonthDays","getDaysByMonth","SCalendar","SGridDays","handleMouseLeave","CalendarMonthsRoot","month","months","getMonthsByYear","SGridMonths","CalendarWeekDays","Unit","CalendarDays","CalendarMonths"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { getLocaleDate } from '../utils/formatDate';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: weekday,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit(props) {\n const SWeekDay = Root;\n return sstyled(props.styles)(<SWeekDay render={Box} />);\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const { disabled: _disabled, value, locale, highlighted: _highlighted } = this.asProps;\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n let highlighted0 = _highlighted[0] ? dayjs(_highlighted[0]) : null;\n let highlighted1 = _highlighted[1] ? dayjs(_highlighted[1]) : highlighted0;\n let startHighlighted, endHighlighted, highlighted;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n highlighted = date.isBetween(highlighted0, highlighted1, unit, '[]');\n startHighlighted = highlighted0 && date.isSame(highlighted0, 'date');\n endHighlighted = highlighted1 && date.isSame(highlighted1, 'date');\n }\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: getLocaleDate(date, locale),\n children: '',\n startSelected,\n endSelected,\n selected,\n disabled,\n highlighted,\n startHighlighted,\n endHighlighted,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n fire(this, 'onHighlightedChange', highlighted);\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { value, highlighted: _highlighted } = this.asProps;\n if (_highlighted[0] || value.length === 1) {\n const startDate = _highlighted[0] || value[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n fire(this, 'onHighlightedChange', highlighted);\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n}\n\nfunction CalendarUnit({ styles, date }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit render={Box} tag=\"button\" aria-hidden={!date} aria-label={date} tabIndex={-1} />,\n );\n}\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"file":"Calendar.js"}
@@ -34,16 +34,16 @@ var style = (
34
34
  /*__reshadow_css_start__*/
35
35
  _sstyled.insert(
36
36
  /*__inner_css_start__*/
37
- ".___SPopper_tqjxo_gg_{padding:16px;outline:0}.___SPopper_tqjxo_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_tqjxo_gg_:active,.___SPopper_tqjxo_gg_:focus,.___SPopper_tqjxo_gg_:hover{outline:0;text-decoration:none}.___SPopper_tqjxo_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_tqjxo_gg_{display:flex}.___STitle_tqjxo_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_tqjxo_gg_,.___SToday_tqjxo_gg_{display:flex;justify-content:center}.___SToday_tqjxo_gg_{margin-top:12px}.___SPeriod_tqjxo_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
37
+ ".___SPopper_5lh5h_gg_{padding:16px;outline:0}.___SPopper_5lh5h_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_5lh5h_gg_:active,.___SPopper_5lh5h_gg_:focus,.___SPopper_5lh5h_gg_:hover{outline:0;text-decoration:none}.___SPopper_5lh5h_gg_:focus{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SHeader_5lh5h_gg_{display:flex}.___STitle_5lh5h_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_5lh5h_gg_,.___SToday_5lh5h_gg_{display:flex;justify-content:center}.___SToday_5lh5h_gg_{margin-top:12px}.___SPeriod_5lh5h_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
38
38
  /*__inner_css_end__*/
39
39
  , "1olnti5_gg_")
40
40
  /*__reshadow_css_end__*/
41
41
  , {
42
- "__SPopper": "___SPopper_tqjxo_gg_",
43
- "__SHeader": "___SHeader_tqjxo_gg_",
44
- "__STitle": "___STitle_tqjxo_gg_",
45
- "__SToday": "___SToday_tqjxo_gg_",
46
- "__SPeriod": "___SPeriod_tqjxo_gg_"
42
+ "__SPopper": "___SPopper_5lh5h_gg_",
43
+ "__SHeader": "___SHeader_5lh5h_gg_",
44
+ "__STitle": "___STitle_5lh5h_gg_",
45
+ "__SToday": "___SToday_5lh5h_gg_",
46
+ "__SPeriod": "___SPeriod_5lh5h_gg_"
47
47
  });
48
48
  import includesDate from '../utils/includesDate';
49
49
  var i18n = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PickerAbstract.js"],"names":["React","dayjs","Component","Root","CORE_INSTANCE","sstyled","Dropdown","i18nEnhance","de","en","es","fr","it","ja","pt","ru","zh","ko","vi","includesDate","i18n","INTERACTION_TAGS","defaultDisplayedPeriod","Date","setHours","PickerAbstract","direction","displayedPeriod","asProps","action","date","navigateStep","toDate","handlers","navigateView","e","target","currentTarget","value","highlighted","_disabled","disabled","day","keyDiff","keyCode","getCurrentHighlightedDay","current_day","isDisabledDay","some","length","preventDefault","includes","tagName","current_highlighted","add","keyStep","visible","props","size","empty","onKeyDown","handlerKeyDown","interaction","Picker","tabIndex","children","onClick","bindHandlerNavigateClick","locale","onChange","renderOutdated","styles","Children","defaultValue","defaultVisible","defaultHighlighted","style","amount","unit","subtract"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\nimport includesDate from '../utils/includesDate';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nclass PickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod: value || defaultValue || defaultDisplayedPeriod,\n defaultValue: null,\n defaultVisible: false,\n defaultHighlighted: [],\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.displayedPeriod(this.asProps.value || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(value);\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => {\n this.navigateView(direction);\n };\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { value, displayedPeriod, highlighted, disabled: _disabled } = this.asProps;\n const day = this.keyDiff[e.keyCode];\n\n const getCurrentHighlightedDay = (day) => {\n const current_day = day.toDate();\n const isDisabledDay = _disabled.some(includesDate(dayjs(current_day), 'date'));\n return isDisabledDay ? null : current_day;\n };\n\n if (e.keyCode === 32 || (e.keyCode === 13 && highlighted.length)) {\n this.handlers.value(highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n const current_highlighted =\n !highlighted[0] && !value\n ? dayjs(highlighted[0] || displayedPeriod)\n : dayjs(displayedPeriod).add(day, this.keyStep);\n const current_day =\n getCurrentHighlightedDay(current_highlighted) ||\n getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));\n\n if (current_day) {\n this.handlers.highlighted([current_day]);\n this.handlers.displayedPeriod(current_day);\n e.preventDefault();\n }\n }\n };\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const { interaction } = this.asProps;\n const Picker = this[CORE_INSTANCE];\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Picker.Header />\n <Picker.Calendar />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps() {\n return {};\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps() {\n const { locale, displayedPeriod, disabled, value, onChange, highlighted } = this.asProps;\n return {\n locale,\n displayedPeriod,\n disabled,\n onChange,\n highlighted,\n value: [value, value],\n renderOutdated: true,\n };\n }\n\n render() {\n const { styles, Children } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default PickerAbstract;\n"],"file":"PickerAbstract.js"}
1
+ {"version":3,"sources":["../../../src/components/PickerAbstract.js"],"names":["React","dayjs","Component","Root","CORE_INSTANCE","sstyled","Dropdown","i18nEnhance","de","en","es","fr","it","ja","pt","ru","zh","ko","vi","includesDate","i18n","INTERACTION_TAGS","defaultDisplayedPeriod","Date","setHours","PickerAbstract","direction","displayedPeriod","asProps","action","date","navigateStep","toDate","handlers","navigateView","e","target","currentTarget","value","highlighted","_disabled","disabled","day","keyDiff","keyCode","getCurrentHighlightedDay","current_day","isDisabledDay","some","length","preventDefault","includes","tagName","current_highlighted","add","keyStep","visible","props","size","empty","onKeyDown","handlerKeyDown","interaction","Picker","tabIndex","children","onClick","bindHandlerNavigateClick","locale","onChange","renderOutdated","styles","Children","defaultValue","defaultVisible","defaultHighlighted","style","amount","unit","subtract"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\nimport includesDate from '../utils/includesDate';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nclass PickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod: value || defaultValue || defaultDisplayedPeriod,\n defaultValue: null,\n defaultVisible: false,\n defaultHighlighted: [],\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.displayedPeriod(this.asProps.value || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(value);\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => {\n this.navigateView(direction);\n };\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { value, displayedPeriod, highlighted, disabled: _disabled } = this.asProps;\n const day = this.keyDiff[e.keyCode];\n\n const getCurrentHighlightedDay = (day) => {\n const current_day = day.toDate();\n const isDisabledDay = _disabled.some(includesDate(dayjs(current_day), 'date'));\n return isDisabledDay ? null : current_day;\n };\n\n if (e.keyCode === 32 || (e.keyCode === 13 && highlighted.length)) {\n this.handlers.value(highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n const current_highlighted =\n !highlighted[0] && !value\n ? dayjs(highlighted[0] || displayedPeriod)\n : dayjs(displayedPeriod).add(day, this.keyStep);\n const current_day =\n getCurrentHighlightedDay(current_highlighted) ||\n getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));\n\n if (current_day) {\n this.handlers.highlighted([current_day]);\n this.handlers.displayedPeriod(current_day);\n e.preventDefault();\n }\n }\n };\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const { interaction } = this.asProps;\n const Picker = this[CORE_INSTANCE];\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Picker.Header />\n <Picker.Calendar />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps() {\n return {};\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps() {\n const { locale, displayedPeriod, disabled, value, onChange, highlighted } = this.asProps;\n return {\n locale,\n displayedPeriod,\n disabled,\n onChange,\n highlighted,\n value: [value, value],\n renderOutdated: true,\n };\n }\n\n render() {\n const { styles, Children } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default PickerAbstract;\n"],"file":"PickerAbstract.js"}
@@ -38,16 +38,16 @@ var style = (
38
38
  /*__reshadow_css_start__*/
39
39
  _sstyled.insert(
40
40
  /*__inner_css_start__*/
41
- ".___SPopper_tqjxo_gg_{padding:16px;outline:0}.___SPopper_tqjxo_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_tqjxo_gg_:active,.___SPopper_tqjxo_gg_:focus,.___SPopper_tqjxo_gg_:hover{outline:0;text-decoration:none}.___SPopper_tqjxo_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_tqjxo_gg_{display:flex}.___STitle_tqjxo_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_tqjxo_gg_,.___SToday_tqjxo_gg_{display:flex;justify-content:center}.___SToday_tqjxo_gg_{margin-top:12px}.___SPeriod_tqjxo_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
41
+ ".___SPopper_5lh5h_gg_{padding:16px;outline:0}.___SPopper_5lh5h_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_5lh5h_gg_:active,.___SPopper_5lh5h_gg_:focus,.___SPopper_5lh5h_gg_:hover{outline:0;text-decoration:none}.___SPopper_5lh5h_gg_:focus{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SHeader_5lh5h_gg_{display:flex}.___STitle_5lh5h_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_5lh5h_gg_,.___SToday_5lh5h_gg_{display:flex;justify-content:center}.___SToday_5lh5h_gg_{margin-top:12px}.___SPeriod_5lh5h_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
42
42
  /*__inner_css_end__*/
43
43
  , "1olnti5_gg_")
44
44
  /*__reshadow_css_end__*/
45
45
  , {
46
- "__SPopper": "___SPopper_tqjxo_gg_",
47
- "__SHeader": "___SHeader_tqjxo_gg_",
48
- "__STitle": "___STitle_tqjxo_gg_",
49
- "__SToday": "___SToday_tqjxo_gg_",
50
- "__SPeriod": "___SPeriod_tqjxo_gg_"
46
+ "__SPopper": "___SPopper_5lh5h_gg_",
47
+ "__SHeader": "___SHeader_5lh5h_gg_",
48
+ "__STitle": "___STitle_5lh5h_gg_",
49
+ "__SToday": "___SToday_5lh5h_gg_",
50
+ "__SPeriod": "___SPeriod_5lh5h_gg_"
51
51
  });
52
52
  var i18n = {
53
53
  de: de,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RangePickerAbstract.js"],"names":["React","dayjs","Component","Root","CORE_INSTANCE","sstyled","Button","Box","Flex","Divider","Dropdown","i18nEnhance","de","en","es","fr","it","ja","pt","ru","zh","ko","vi","i18n","INTERACTION_TAGS","defaultDisplayedPeriod","Date","setHours","getEndDate","value","Array","isArray","startDate","endDate","RangePickerAbstract","dirtyValue","direction","displayedPeriod","asProps","action","date","navigateStep","toDate","handlers","navigateView","e","target","currentTarget","highlighted","state","day","keyDiff","keyCode","setNextDisplayedPeriod","next_highlighted","_","right_period","month_right_period","getMonth","month_displayed_Period","subtract","length","handlerChange","preventDefault","includes","tagName","add","keyStep","setState","visible","props","size","empty","onKeyDown","handlerKeyDown","Picker","periods","getDefaultPeriods","unclearable","getI18nText","interaction","buttons","handlerApply","tabIndex","children","Boolean","index","locale","Intl","DateTimeFormat","month","year","format","startOf","onClick","bindHandlerNavigateClick","disabled","onHighlightedChange","onChange","onDisplayedPeriodChange","Children","styles","defaultValue","defaultHighlighted","defaultVisible","style","amount","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nfunction getEndDate(value) {\n if (!Array.isArray(value)) return null;\n const [startDate, endDate = startDate] = value;\n return endDate;\n}\n\nclass RangePickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod:\n getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,\n defaultValue: [],\n defaultHighlighted: [],\n defaultVisible: false,\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [_, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const {\n value,\n periods = this.getDefaultPeriods(),\n unclearable,\n getI18nText,\n interaction,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n const buttons = (\n <>\n <Button\n use=\"primary\"\n children={getI18nText('apply')}\n onClick={() => this.handlerApply(dirtyValue.length ? dirtyValue : value)}\n />\n {!unclearable && (\n <Button\n ml={2}\n use=\"tertiary\"\n theme=\"muted\"\n children={getI18nText('reset')}\n onClick={() => this.handlerApply([])}\n />\n )}\n </>\n );\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Flex>\n <Box mr={2}>\n <Picker.Header>\n <Picker.Prev />\n <Picker.Title />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n <Box ml={2}>\n <Picker.Header>\n <Picker.Title />\n <Picker.Next />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n {Boolean(periods.length) && (\n <>\n <Divider m=\"-16px 16px\" orientation=\"vertical\" h=\"auto\" />\n <Flex direction=\"column\">\n <Picker.Period />\n <Flex mt=\"auto\">{buttons}</Flex>\n </Flex>\n </>\n )}\n </Flex>\n {!Boolean(periods.length) && <Flex mt={4}>{buttons}</Flex>}\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps(props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps(props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n highlighted,\n onHighlightedChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n highlighted,\n onHighlightedChange,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerChange,\n };\n }\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n value,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n return {\n periods,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerApply,\n onHighlightedChange,\n onDisplayedPeriodChange,\n };\n }\n\n render() {\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default RangePickerAbstract;\n"],"file":"RangePickerAbstract.js"}
1
+ {"version":3,"sources":["../../../src/components/RangePickerAbstract.js"],"names":["React","dayjs","Component","Root","CORE_INSTANCE","sstyled","Button","Box","Flex","Divider","Dropdown","i18nEnhance","de","en","es","fr","it","ja","pt","ru","zh","ko","vi","i18n","INTERACTION_TAGS","defaultDisplayedPeriod","Date","setHours","getEndDate","value","Array","isArray","startDate","endDate","RangePickerAbstract","dirtyValue","direction","displayedPeriod","asProps","action","date","navigateStep","toDate","handlers","navigateView","e","target","currentTarget","highlighted","state","day","keyDiff","keyCode","setNextDisplayedPeriod","next_highlighted","_","right_period","month_right_period","getMonth","month_displayed_Period","subtract","length","handlerChange","preventDefault","includes","tagName","add","keyStep","setState","visible","props","size","empty","onKeyDown","handlerKeyDown","Picker","periods","getDefaultPeriods","unclearable","getI18nText","interaction","buttons","handlerApply","tabIndex","children","Boolean","index","locale","Intl","DateTimeFormat","month","year","format","startOf","onClick","bindHandlerNavigateClick","disabled","onHighlightedChange","onChange","onDisplayedPeriodChange","Children","styles","defaultValue","defaultHighlighted","defaultVisible","style","amount","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nfunction getEndDate(value) {\n if (!Array.isArray(value)) return null;\n const [startDate, endDate = startDate] = value;\n return endDate;\n}\n\nclass RangePickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod:\n getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,\n defaultValue: [],\n defaultHighlighted: [],\n defaultVisible: false,\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [_, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const {\n value,\n periods = this.getDefaultPeriods(),\n unclearable,\n getI18nText,\n interaction,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n const buttons = (\n <>\n <Button\n use=\"primary\"\n children={getI18nText('apply')}\n onClick={() => this.handlerApply(dirtyValue.length ? dirtyValue : value)}\n />\n {!unclearable && (\n <Button\n ml={2}\n use=\"tertiary\"\n theme=\"muted\"\n children={getI18nText('reset')}\n onClick={() => this.handlerApply([])}\n />\n )}\n </>\n );\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Flex>\n <Box mr={2}>\n <Picker.Header>\n <Picker.Prev />\n <Picker.Title />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n <Box ml={2}>\n <Picker.Header>\n <Picker.Title />\n <Picker.Next />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n {Boolean(periods.length) && (\n <>\n <Divider m=\"-16px 16px\" orientation=\"vertical\" h=\"auto\" />\n <Flex direction=\"column\">\n <Picker.Period />\n <Flex mt=\"auto\">{buttons}</Flex>\n </Flex>\n </>\n )}\n </Flex>\n {!Boolean(periods.length) && <Flex mt={4}>{buttons}</Flex>}\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps(props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps(props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n highlighted,\n onHighlightedChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n highlighted,\n onHighlightedChange,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerChange,\n };\n }\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n value,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n return {\n periods,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerApply,\n onHighlightedChange,\n onDisplayedPeriodChange,\n };\n }\n\n render() {\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default RangePickerAbstract;\n"],"file":"RangePickerAbstract.js"}
@@ -14,6 +14,7 @@ import { assignProps as _assignProps4 } from "@semcore/core";
14
14
  import { assignProps as _assignProps3 } from "@semcore/core";
15
15
  import { assignProps as _assignProps2 } from "@semcore/core";
16
16
  import { assignProps as _assignProps } from "@semcore/core";
17
+ var _excluded = ["value", "onClick", "onMouseEnter", "onMouseLeave"];
17
18
 
18
19
  var _this = this;
19
20
 
@@ -21,9 +22,9 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
21
22
 
22
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
24
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
25
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
26
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
28
 
28
29
  import React from 'react';
29
30
  import dayjs from 'dayjs';
@@ -100,12 +101,12 @@ var stylesBtn = (
100
101
  /*__reshadow_css_start__*/
101
102
  sstyled.insert(
102
103
  /*__inner_css_start__*/
103
- ".___SInner_b02dy_gg_{justify-content:flex-start}"
104
+ ".___SInner_135s4_gg_{justify-content:flex-start}"
104
105
  /*__inner_css_end__*/
105
106
  , "rfgf9b_gg_")
106
107
  /*__reshadow_css_end__*/
107
108
  , {
108
- "__SInner": "___SInner_b02dy_gg_"
109
+ "__SInner": "___SInner_135s4_gg_"
109
110
  });
110
111
  export var Period = /*#__PURE__*/function (_Component) {
111
112
  _inherits(Period, _Component);
@@ -164,7 +165,7 @@ export var Period = /*#__PURE__*/function (_Component) {
164
165
  onClick = _ref13.onClick,
165
166
  onMouseEnter = _ref13.onMouseEnter,
166
167
  onMouseLeave = _ref13.onMouseLeave,
167
- other = _objectWithoutProperties(_ref13, ["value", "onClick", "onMouseEnter", "onMouseLeave"]);
168
+ other = _objectWithoutProperties(_ref13, _excluded);
168
169
 
169
170
  return /*#__PURE__*/React.createElement(Button, _extends({
170
171
  use: "tertiary",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.js"],"names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","Trigger","Popper","props","SPopper","styles","Header","SHeader","Title","Children","STitle","Prev","defaultProps","children","Next","stylesBtn","Period","period","value","compareMonth","monthOne","monthTwo","isSame","Array","isArray","length","SPeriod","asProps","onChange","periods","onHighlightedChange","onDisplayedPeriodChange","map","i","onClick","onMouseEnter","onMouseLeave","other","getActiveControl","toDate","Date"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/m';\nimport ChevronRight from '@semcore/icon/ChevronRight/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ButtonTrigger from './ButtonTrigger';\n\nexport function Trigger() {\n return <Root render={Dropdown.Trigger} tag={ButtonTrigger} />;\n}\n\nexport function Popper(props) {\n const SPopper = Root;\n return sstyled(props.styles)(\n <SPopper render={Dropdown.Popper} role=\"region\" aria-label=\"calendar-container\" />,\n );\n}\n\nexport function Header(props) {\n const SHeader = Root;\n return sstyled(props.styles)(<SHeader render={Box} />);\n}\n\nexport const Title = ({ Children, styles }) => {\n const STitle = Root;\n return sstyled(styles)(\n <STitle render={Box}>\n <Children />\n </STitle>,\n );\n};\n\nexport function Prev() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Prev period\"\n />\n );\n}\n\nPrev.defaultProps = {\n children: <ChevronLeft />,\n};\n\nexport function Next() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Next period\"\n />\n );\n}\n\nNext.defaultProps = {\n children: <ChevronRight />,\n};\n\nconst stylesBtn = sstyled.css`\n SInner {\n justify-content: flex-start;\n }\n`;\n\nexport class Period extends Component {\n getActiveControl = (period = [], value) => {\n function compareMonth(monthOne, monthTwo) {\n return dayjs(monthOne).isSame(dayjs(monthTwo), 'date');\n }\n\n if (!period || !value) return false;\n if (Array.isArray(value) && period.length !== value.length) return false;\n if (Array.isArray(value)) {\n return compareMonth(period[0], value[0]) && compareMonth(period[1], value[1]);\n }\n\n return compareMonth(period[0], value);\n };\n\n render() {\n const SPeriod = Root;\n const {\n styles,\n value,\n onChange,\n periods,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n\n return sstyled(styles)(\n <SPeriod render={Box}>\n {periods.map(({ value: period, onClick, onMouseEnter, onMouseLeave, ...other }, i) => (\n <Button\n use=\"tertiary\"\n theme=\"muted\"\n styles={stylesBtn}\n key={i}\n active={this.getActiveControl(period, value)}\n onClick={callAllEventHandlers(onClick, () => onChange(period))}\n onMouseEnter={callAllEventHandlers(onMouseEnter, () => {\n onHighlightedChange(period);\n onDisplayedPeriodChange(dayjs(period[0]).toDate());\n })}\n onMouseLeave={callAllEventHandlers(onMouseLeave, () => {\n onHighlightedChange([]);\n onDisplayedPeriodChange(value[0] ? dayjs(value[0]).toDate() : new Date());\n })}\n {...other}\n />\n ))}\n </SPeriod>,\n );\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/components/index.js"],"names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","Trigger","Popper","props","SPopper","styles","Header","SHeader","Title","Children","STitle","Prev","defaultProps","children","Next","stylesBtn","Period","period","value","compareMonth","monthOne","monthTwo","isSame","Array","isArray","length","SPeriod","asProps","onChange","periods","onHighlightedChange","onDisplayedPeriodChange","map","i","onClick","onMouseEnter","onMouseLeave","other","getActiveControl","toDate","Date"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/m';\nimport ChevronRight from '@semcore/icon/ChevronRight/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ButtonTrigger from './ButtonTrigger';\n\nexport function Trigger() {\n return <Root render={Dropdown.Trigger} tag={ButtonTrigger} />;\n}\n\nexport function Popper(props) {\n const SPopper = Root;\n return sstyled(props.styles)(\n <SPopper render={Dropdown.Popper} role=\"region\" aria-label=\"calendar-container\" />,\n );\n}\n\nexport function Header(props) {\n const SHeader = Root;\n return sstyled(props.styles)(<SHeader render={Box} />);\n}\n\nexport const Title = ({ Children, styles }) => {\n const STitle = Root;\n return sstyled(styles)(\n <STitle render={Box}>\n <Children />\n </STitle>,\n );\n};\n\nexport function Prev() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Prev period\"\n />\n );\n}\n\nPrev.defaultProps = {\n children: <ChevronLeft />,\n};\n\nexport function Next() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Next period\"\n />\n );\n}\n\nNext.defaultProps = {\n children: <ChevronRight />,\n};\n\nconst stylesBtn = sstyled.css`\n SInner {\n justify-content: flex-start;\n }\n`;\n\nexport class Period extends Component {\n getActiveControl = (period = [], value) => {\n function compareMonth(monthOne, monthTwo) {\n return dayjs(monthOne).isSame(dayjs(monthTwo), 'date');\n }\n\n if (!period || !value) return false;\n if (Array.isArray(value) && period.length !== value.length) return false;\n if (Array.isArray(value)) {\n return compareMonth(period[0], value[0]) && compareMonth(period[1], value[1]);\n }\n\n return compareMonth(period[0], value);\n };\n\n render() {\n const SPeriod = Root;\n const {\n styles,\n value,\n onChange,\n periods,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n\n return sstyled(styles)(\n <SPeriod render={Box}>\n {periods.map(({ value: period, onClick, onMouseEnter, onMouseLeave, ...other }, i) => (\n <Button\n use=\"tertiary\"\n theme=\"muted\"\n styles={stylesBtn}\n key={i}\n active={this.getActiveControl(period, value)}\n onClick={callAllEventHandlers(onClick, () => onChange(period))}\n onMouseEnter={callAllEventHandlers(onMouseEnter, () => {\n onHighlightedChange(period);\n onDisplayedPeriodChange(dayjs(period[0]).toDate());\n })}\n onMouseLeave={callAllEventHandlers(onMouseLeave, () => {\n onHighlightedChange([]);\n onDisplayedPeriodChange(value[0] ? dayjs(value[0]).toDate() : new Date());\n })}\n {...other}\n />\n ))}\n </SPeriod>,\n );\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/cronTabScheduler.js"],"names":["cronUnitToArray","unit","includes","split","start","end","Array","from","length","parseInt","_","idx","isValidSchedule","pattern","isValidUnit","min","max","unitValues","CRON_REG","every","item","intItem","test","isValidMonth","month","isValidWeekDay","weekDay","isValidMonthDay","monthDay","validate","validateFn","msg","console","warn","patternArr","isInPeriod","date","period","dateMethod","monthInPeriod","monthDayInPeriod","weekDayInPeriod","units","testFn","some"],"mappings":"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","sourcesContent":["function cronUnitToArray(unit) {\n if (unit.includes('-')) {\n const [start, end] = unit.split('-');\n return Array.from(\n { length: parseInt(end, 10) - parseInt(start, 10) + 1 },\n (_, idx) => parseInt(start, 10) + idx,\n );\n }\n return unit.split(/[,\\/]/);\n}\n\nexport function isValidSchedule(pattern) {\n if (typeof pattern !== 'string') return false;\n\n function isValidUnit(unit, min, max) {\n const unitValues = cronUnitToArray(unit);\n const CRON_REG = /^\\d+$|^\\*$|^\\*\\/\\d+$/;\n return unitValues.every((item) => {\n const intItem = parseInt(item, 10);\n return !(intItem < min || intItem > max || !CRON_REG.test(item));\n });\n }\n\n function isValidMonth(month) {\n return isValidUnit(month, 1, 12);\n }\n\n function isValidWeekDay(weekDay) {\n return isValidUnit(weekDay, 1, 7);\n }\n\n function isValidMonthDay(monthDay) {\n return isValidUnit(monthDay, 1, 31);\n }\n\n function validate(pattern, validateFn, msg) {\n if (validateFn(pattern)) return true;\n // eslint-disable-next-line no-console\n console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);\n return false;\n }\n\n const patternArr = pattern.split(' ');\n\n if (patternArr.length < 3) return false;\n\n return patternArr.every((pattern, idx) => {\n switch (idx) {\n case 0:\n return validate(pattern, isValidMonthDay, 'day of month');\n case 1:\n return validate(pattern, isValidMonth, 'month');\n case 2:\n return validate(pattern, isValidWeekDay, 'day of week');\n default:\n return false;\n }\n });\n}\n\nexport function isInPeriod(pattern, date) {\n const patternArr = pattern.split(' ');\n\n function isInPeriod(date, period, dateMethod) {\n if (period === '*') return true;\n return date[dateMethod]() === parseInt(period, 10);\n }\n\n function monthInPeriod(date, period) {\n return isInPeriod(date, period, 'getMonth');\n }\n\n function monthDayInPeriod(date, period) {\n return isInPeriod(date, period, 'getDate');\n }\n\n function weekDayInPeriod(date, period) {\n if (period == 7) period = 0;\n return isInPeriod(date, period, 'getDay');\n }\n\n function test(units, date, testFn) {\n return units.some((unit) => testFn(date, unit));\n }\n\n return patternArr.every((unit, idx) => {\n const unitValues = cronUnitToArray(unit);\n switch (idx) {\n case 0:\n return test(unitValues, date, monthDayInPeriod);\n case 1:\n return test(unitValues, date, monthInPeriod);\n case 2:\n return test(unitValues, date, weekDayInPeriod);\n default:\n return false;\n }\n });\n}\n"],"file":"cronTabScheduler.js"}
1
+ {"version":3,"sources":["../../../src/utils/cronTabScheduler.js"],"names":["cronUnitToArray","unit","includes","split","start","end","Array","from","length","parseInt","_","idx","isValidSchedule","pattern","isValidUnit","min","max","unitValues","CRON_REG","every","item","intItem","test","isValidMonth","month","isValidWeekDay","weekDay","isValidMonthDay","monthDay","validate","validateFn","msg","console","warn","patternArr","isInPeriod","date","period","dateMethod","monthInPeriod","monthDayInPeriod","weekDayInPeriod","units","testFn","some"],"mappings":"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","sourcesContent":["function cronUnitToArray(unit) {\n if (unit.includes('-')) {\n const [start, end] = unit.split('-');\n return Array.from(\n { length: parseInt(end, 10) - parseInt(start, 10) + 1 },\n (_, idx) => parseInt(start, 10) + idx,\n );\n }\n return unit.split(/[,\\/]/);\n}\n\nexport function isValidSchedule(pattern) {\n if (typeof pattern !== 'string') return false;\n\n function isValidUnit(unit, min, max) {\n const unitValues = cronUnitToArray(unit);\n const CRON_REG = /^\\d+$|^\\*$|^\\*\\/\\d+$/;\n return unitValues.every((item) => {\n const intItem = parseInt(item, 10);\n return !(intItem < min || intItem > max || !CRON_REG.test(item));\n });\n }\n\n function isValidMonth(month) {\n return isValidUnit(month, 1, 12);\n }\n\n function isValidWeekDay(weekDay) {\n return isValidUnit(weekDay, 1, 7);\n }\n\n function isValidMonthDay(monthDay) {\n return isValidUnit(monthDay, 1, 31);\n }\n\n function validate(pattern, validateFn, msg) {\n if (validateFn(pattern)) return true;\n // eslint-disable-next-line no-console\n console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);\n return false;\n }\n\n const patternArr = pattern.split(' ');\n\n if (patternArr.length < 3) return false;\n\n return patternArr.every((pattern, idx) => {\n switch (idx) {\n case 0:\n return validate(pattern, isValidMonthDay, 'day of month');\n case 1:\n return validate(pattern, isValidMonth, 'month');\n case 2:\n return validate(pattern, isValidWeekDay, 'day of week');\n default:\n return false;\n }\n });\n}\n\nexport function isInPeriod(pattern, date) {\n const patternArr = pattern.split(' ');\n\n function isInPeriod(date, period, dateMethod) {\n if (period === '*') return true;\n return date[dateMethod]() === parseInt(period, 10);\n }\n\n function monthInPeriod(date, period) {\n return isInPeriod(date, period, 'getMonth');\n }\n\n function monthDayInPeriod(date, period) {\n return isInPeriod(date, period, 'getDate');\n }\n\n function weekDayInPeriod(date, period) {\n if (period == 7) period = 0;\n return isInPeriod(date, period, 'getDay');\n }\n\n function test(units, date, testFn) {\n return units.some((unit) => testFn(date, unit));\n }\n\n return patternArr.every((unit, idx) => {\n const unitValues = cronUnitToArray(unit);\n switch (idx) {\n case 0:\n return test(unitValues, date, monthDayInPeriod);\n case 1:\n return test(unitValues, date, monthInPeriod);\n case 2:\n return test(unitValues, date, weekDayInPeriod);\n default:\n return false;\n }\n });\n}\n"],"file":"cronTabScheduler.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/includesDate.js"],"names":["isInPeriod","isValidSchedule","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","start","end","isBetween","toDate","isSame"],"mappings":";AAAA,SAASA,UAAT,EAAqBC,eAArB,QAA4C,oBAA5C;AAEA,gBAAe,UAACC,IAAD,EAAOC,IAAP;AAAA,SAAgB,UAACC,YAAD,EAAkB;AAC/C,QAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC/B,UAAMG,kBAAkB,GAAG,gBAA3B;;AAD+B,yCAEVH,YAFU;AAAA,UAExBI,KAFwB;AAAA,UAEjBC,GAFiB;;AAG/B,aAAOP,IAAI,CAACQ,SAAL,CAAeF,KAAK,IAAI,CAACD,kBAAzB,EAA6CE,GAAG,IAAIF,kBAApD,EAAwEJ,IAAxE,EAA8E,IAA9E,CAAP;AACD;;AACD,QAAIF,eAAe,CAACG,YAAD,CAAnB,EAAmC;AACjC,aAAOJ,UAAU,CAACI,YAAD,EAAeF,IAAI,CAACS,MAAL,EAAf,CAAjB;AACD;;AACD,WAAOT,IAAI,CAACU,MAAL,CAAYR,YAAZ,EAA0B,MAA1B,CAAP;AACD,GAVc;AAAA,CAAf","sourcesContent":["import { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nexport default (date, unit) => (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const MAX_DATE_TIMESTAMP = 8640000000000000;\n const [start, end] = disabled_day;\n return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, date.toDate());\n }\n return date.isSame(disabled_day, 'date');\n};\n"],"file":"includesDate.js"}
1
+ {"version":3,"sources":["../../../src/utils/includesDate.js"],"names":["isInPeriod","isValidSchedule","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","start","end","isBetween","toDate","isSame"],"mappings":";AAAA,SAASA,UAAT,EAAqBC,eAArB,QAA4C,oBAA5C;AAEA,gBAAe,UAACC,IAAD,EAAOC,IAAP;AAAA,SAAgB,UAACC,YAAD,EAAkB;AAC/C,QAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC/B,UAAMG,kBAAkB,GAAG,gBAA3B;;AACA,yCAAqBH,YAArB;AAAA,UAAOI,KAAP;AAAA,UAAcC,GAAd;;AACA,aAAOP,IAAI,CAACQ,SAAL,CAAeF,KAAK,IAAI,CAACD,kBAAzB,EAA6CE,GAAG,IAAIF,kBAApD,EAAwEJ,IAAxE,EAA8E,IAA9E,CAAP;AACD;;AACD,QAAIF,eAAe,CAACG,YAAD,CAAnB,EAAmC;AACjC,aAAOJ,UAAU,CAACI,YAAD,EAAeF,IAAI,CAACS,MAAL,EAAf,CAAjB;AACD;;AACD,WAAOT,IAAI,CAACU,MAAL,CAAYR,YAAZ,EAA0B,MAA1B,CAAP;AACD,GAVc;AAAA,CAAf","sourcesContent":["import { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nexport default (date, unit) => (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const MAX_DATE_TIMESTAMP = 8640000000000000;\n const [start, end] = disabled_day;\n return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, date.toDate());\n }\n return date.isSame(disabled_day, 'date');\n};\n"],"file":"includesDate.js"}
@@ -1,4 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ var _excluded = ["locale"],
3
+ _excluded2 = ["year"];
2
4
  import dayjs from 'dayjs';
3
5
 
4
6
  function getDayJSLocale(locale) {
@@ -12,7 +14,7 @@ function getDayJSLocale(locale) {
12
14
  export default function shortDateRangeFormat(dates, _ref) {
13
15
  var _ref$locale = _ref.locale,
14
16
  locale = _ref$locale === void 0 ? 'en-US' : _ref$locale,
15
- options = _objectWithoutProperties(_ref, ["locale"]);
17
+ options = _objectWithoutProperties(_ref, _excluded);
16
18
 
17
19
  var _Intl$DateTimeFormat = new Intl.DateTimeFormat(locale, options),
18
20
  format = _Intl$DateTimeFormat.format;
@@ -59,7 +61,7 @@ export default function shortDateRangeFormat(dates, _ref) {
59
61
 
60
62
  if (isSimilarYear) {
61
63
  var year = options.year,
62
- newOptions = _objectWithoutProperties(options, ["year"]);
64
+ newOptions = _objectWithoutProperties(options, _excluded2);
63
65
 
64
66
  if (getDayJSLocale(locale) === 'en') {
65
67
  return "".concat(new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[0]), " - ").concat(new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[1]), ", ").concat(normalizeDates[0].getFullYear());