@semcore/date-picker 3.4.5 → 3.4.6

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 (43) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/lib/cjs/DatePicker.js +32 -9
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangePicker.js +23 -0
  5. package/lib/cjs/DateRangePicker.js.map +1 -1
  6. package/lib/cjs/MonthPicker.js +33 -3
  7. package/lib/cjs/MonthPicker.js.map +1 -1
  8. package/lib/cjs/MonthRangePicker.js +33 -3
  9. package/lib/cjs/MonthRangePicker.js.map +1 -1
  10. package/lib/cjs/components/Calendar.js +20 -18
  11. package/lib/cjs/components/Calendar.js.map +1 -1
  12. package/lib/cjs/components/InputTrigger.js +820 -0
  13. package/lib/cjs/components/InputTrigger.js.map +1 -0
  14. package/lib/cjs/components/PickerAbstract.js +36 -15
  15. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  16. package/lib/cjs/components/RangePickerAbstract.js +34 -13
  17. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  18. package/lib/cjs/components/index.js +52 -32
  19. package/lib/cjs/components/index.js.map +1 -1
  20. package/lib/cjs/index.d.js.map +1 -1
  21. package/lib/cjs/style/date-picker.shadow.css +48 -0
  22. package/lib/es6/DatePicker.js +33 -10
  23. package/lib/es6/DatePicker.js.map +1 -1
  24. package/lib/es6/DateRangePicker.js +24 -1
  25. package/lib/es6/DateRangePicker.js.map +1 -1
  26. package/lib/es6/MonthPicker.js +33 -4
  27. package/lib/es6/MonthPicker.js.map +1 -1
  28. package/lib/es6/MonthRangePicker.js +33 -4
  29. package/lib/es6/MonthRangePicker.js.map +1 -1
  30. package/lib/es6/components/Calendar.js +20 -18
  31. package/lib/es6/components/Calendar.js.map +1 -1
  32. package/lib/es6/components/InputTrigger.js +803 -0
  33. package/lib/es6/components/InputTrigger.js.map +1 -0
  34. package/lib/es6/components/PickerAbstract.js +36 -15
  35. package/lib/es6/components/PickerAbstract.js.map +1 -1
  36. package/lib/es6/components/RangePickerAbstract.js +34 -13
  37. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  38. package/lib/es6/components/index.js +48 -30
  39. package/lib/es6/components/index.js.map +1 -1
  40. package/lib/es6/index.d.js.map +1 -1
  41. package/lib/es6/style/date-picker.shadow.css +48 -0
  42. package/lib/types/index.d.ts +64 -2
  43. package/package.json +10 -5
package/CHANGELOG.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [3.4.5] - 2022-10-28
5
+ ## [3.4.6] - 2022-11-03
6
6
 
7
7
  ### Changed
8
8
 
9
- - Version patch update due to children dependencies update (`@semcore/utils` [3.40.0 ~> 3.40.0], `@semcore/base-trigger` [3.2.4 ~> 3.2.5], `@semcore/button` [4.2.2 ~> 4.2.3], `@semcore/icon` [3.1.1 ~> 3.1.2]).
9
+ - Version patch update due to children dependencies update (`@semcore/input-mask` [4.3.3 ~> 4.3.4]).
10
10
 
11
11
  ## [3.4.1] - 2022-10-17
12
12
 
@@ -99,6 +99,28 @@ var DatePickerRoot = /*#__PURE__*/function (_PickerAbstract) {
99
99
  children: value ? (0, _formatDate.getLocaleDate)(value, locale) : null
100
100
  });
101
101
  }
102
+ }, {
103
+ key: "getInputTriggerProps",
104
+ value: function getInputTriggerProps() {
105
+ var _this$asProps2 = this.asProps,
106
+ value = _this$asProps2.value,
107
+ onChange = _this$asProps2.onChange,
108
+ onDisplayedPeriodChange = _this$asProps2.onDisplayedPeriodChange,
109
+ locale = _this$asProps2.locale,
110
+ disabled = _this$asProps2.disabled,
111
+ size = _this$asProps2.size;
112
+ return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(DatePickerRoot.prototype), "getTriggerProps", this).call(this)), {}, {
113
+ value: value,
114
+ onChange: onChange,
115
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
116
+ locale: locale,
117
+ w: size === 'm' ? 145 : 160,
118
+ disabledDates: disabled,
119
+ children: function children() {
120
+ return /*#__PURE__*/_react["default"].createElement(_components.InputTrigger.SingleDateInput, null);
121
+ }
122
+ });
123
+ }
102
124
  }, {
103
125
  key: "getPopperProps",
104
126
  value: function getPopperProps() {
@@ -113,9 +135,9 @@ var DatePickerRoot = /*#__PURE__*/function (_PickerAbstract) {
113
135
  }, {
114
136
  key: "getTitleProps",
115
137
  value: function getTitleProps() {
116
- var _this$asProps2 = this.asProps,
117
- displayedPeriod = _this$asProps2.displayedPeriod,
118
- locale = _this$asProps2.locale;
138
+ var _this$asProps3 = this.asProps,
139
+ displayedPeriod = _this$asProps3.displayedPeriod,
140
+ locale = _this$asProps3.locale;
119
141
  return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(DatePickerRoot.prototype), "getTitleProps", this).call(this)), {}, {
120
142
  children: new Intl.DateTimeFormat(locale, {
121
143
  month: 'long',
@@ -126,9 +148,9 @@ var DatePickerRoot = /*#__PURE__*/function (_PickerAbstract) {
126
148
  }, {
127
149
  key: "getTodayProps",
128
150
  value: function getTodayProps() {
129
- var _this$asProps3 = this.asProps,
130
- i18n = _this$asProps3.i18n,
131
- locale = _this$asProps3.locale;
151
+ var _this$asProps4 = this.asProps,
152
+ i18n = _this$asProps4.i18n,
153
+ locale = _this$asProps4.locale;
132
154
  return {
133
155
  i18n: i18n,
134
156
  locale: locale,
@@ -164,9 +186,9 @@ var Today = /*#__PURE__*/function (_Component) {
164
186
  _ref2;
165
187
 
166
188
  var SToday = _flexBox.Box;
167
- var _this$asProps4 = this.asProps,
168
- styles = _this$asProps4.styles,
169
- getI18nText = _this$asProps4.getI18nText;
189
+ var _this$asProps5 = this.asProps,
190
+ styles = _this$asProps5.styles,
191
+ getI18nText = _this$asProps5.getI18nText;
170
192
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SToday, _ref2.cn("SToday", _objectSpread({}, (0, _core.assignProps)({}, _ref))), /*#__PURE__*/_react["default"].createElement(_button["default"], _ref2.cn("Button", {
171
193
  "use": "tertiary",
172
194
  "children": getI18nText('today')
@@ -179,6 +201,7 @@ var Today = /*#__PURE__*/function (_Component) {
179
201
  (0, _defineProperty2["default"])(Today, "enhance", [(0, _i18nEnhance["default"])()]);
180
202
  var DatePicker = (0, _core["default"])(DatePickerRoot, {
181
203
  Trigger: _components.Trigger,
204
+ InputTrigger: _components.InputTrigger,
182
205
  Popper: _components.Popper,
183
206
  Header: _components.Header,
184
207
  Title: _components.Title,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["DatePickerRoot","handlers","value","Date","setHours","asProps","locale","placeholder","children","getLocaleDate","displayedPeriod","Intl","DateTimeFormat","month","year","format","dayjs","startOf","toDate","i18n","onClick","handlerToday","PickerAbstract","props","defaultProps","Today","SToday","Box","styles","getI18nText","sstyled","Component","i18nEnhance","DatePicker","createComponent","Trigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"sources":["../../src/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport Divider from '@semcore/divider';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Header, Next, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\nimport { getLocaleDate } from './utils/formatDate';\n\nexport class DatePickerRoot extends PickerAbstract {\n static displayName = 'DatePicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <DatePicker.Trigger />\n <DatePicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n handlerToday = () => {\n this.handlers.value(new Date(new Date().setHours(0, 0, 0, 0)));\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date',\n children: value ? getLocaleDate(value, locale) : null,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DatePicker.Header />\n <DatePicker.Calendar />\n <Divider ml={-4} mt={4} w=\"calc(100% + 32px)\" />\n <DatePicker.Today />\n </>\n ),\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('month').toDate(),\n ),\n };\n }\n\n getTodayProps() {\n const { i18n, locale } = this.asProps;\n return {\n i18n,\n locale,\n onClick: this.handlerToday,\n };\n }\n}\n\nclass Today extends Component {\n static enhance = [i18nEnhance()];\n\n render() {\n const SToday = Root;\n const { styles, getI18nText } = this.asProps;\n return sstyled(styles)(\n <SToday render={Box}>\n <Button use=\"tertiary\" children={getI18nText('today')} />\n </SToday>,\n );\n }\n}\n\nconst DatePicker = createComponent(\n DatePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Today,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DatePicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","names":["DatePickerRoot","handlers","value","Date","setHours","asProps","locale","placeholder","children","getLocaleDate","onChange","onDisplayedPeriodChange","disabled","size","w","disabledDates","displayedPeriod","Intl","DateTimeFormat","month","year","format","dayjs","startOf","toDate","i18n","onClick","handlerToday","PickerAbstract","props","defaultProps","Today","SToday","Box","styles","getI18nText","sstyled","Component","i18nEnhance","DatePicker","createComponent","Trigger","InputTrigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"sources":["../../src/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport Divider from '@semcore/divider';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Header, Next, Popper, Prev, Title, Trigger, InputTrigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\nimport { getLocaleDate } from './utils/formatDate';\n\nexport class DatePickerRoot extends PickerAbstract {\n static displayName = 'DatePicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <DatePicker.Trigger />\n <DatePicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n handlerToday = () => {\n this.handlers.value(new Date(new Date().setHours(0, 0, 0, 0)));\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date',\n children: value ? getLocaleDate(value, locale) : null,\n };\n }\n\n getInputTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size } = this.asProps;\n\n return {\n ...super.getTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 145 : 160,\n disabledDates: disabled,\n children: () => <InputTrigger.SingleDateInput />,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DatePicker.Header />\n <DatePicker.Calendar />\n <Divider ml={-4} mt={4} w=\"calc(100% + 32px)\" />\n <DatePicker.Today />\n </>\n ),\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('month').toDate(),\n ),\n };\n }\n\n getTodayProps() {\n const { i18n, locale } = this.asProps;\n return {\n i18n,\n locale,\n onClick: this.handlerToday,\n };\n }\n}\n\nclass Today extends Component {\n static enhance = [i18nEnhance()];\n\n render() {\n const SToday = Root;\n const { styles, getI18nText } = this.asProps;\n return sstyled(styles)(\n <SToday render={Box}>\n <Button use=\"tertiary\" children={getI18nText('today')} />\n </SToday>,\n );\n }\n}\n\nconst DatePicker = createComponent(\n DatePickerRoot,\n {\n Trigger,\n InputTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Today,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DatePicker;\n"],"mappings":"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"}
@@ -115,6 +115,28 @@ var DateRangePickerRoot = /*#__PURE__*/function (_RangePickerAbstract) {
115
115
  })
116
116
  });
117
117
  }
118
+ }, {
119
+ key: "getInputTriggerProps",
120
+ value: function getInputTriggerProps() {
121
+ var _this$asProps2 = this.asProps,
122
+ value = _this$asProps2.value,
123
+ onChange = _this$asProps2.onChange,
124
+ onDisplayedPeriodChange = _this$asProps2.onDisplayedPeriodChange,
125
+ locale = _this$asProps2.locale,
126
+ disabled = _this$asProps2.disabled,
127
+ size = _this$asProps2.size;
128
+ return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(DateRangePickerRoot.prototype), "getTriggerProps", this).call(this)), {}, {
129
+ value: value,
130
+ onChange: onChange,
131
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
132
+ locale: locale,
133
+ w: size === 'm' ? 270 : 300,
134
+ disabledDates: disabled,
135
+ children: function children() {
136
+ return /*#__PURE__*/_react["default"].createElement(_components.InputTrigger.DateRange, null);
137
+ }
138
+ });
139
+ }
118
140
  }]);
119
141
  return DateRangePickerRoot;
120
142
  }(_RangePickerAbstract2["default"]);
@@ -127,6 +149,7 @@ var DateRangePickerRoot = /*#__PURE__*/function (_RangePickerAbstract) {
127
149
  });
128
150
  var DateRangePicker = (0, _core["default"])(DateRangePickerRoot, {
129
151
  Trigger: _components.Trigger,
152
+ InputTrigger: _components.InputTrigger,
130
153
  Popper: _components.Popper,
131
154
  Header: _components.Header,
132
155
  Title: _components.Title,
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.js","names":["DateRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","dayjs","subtract","toDate","locale","placeholder","shortDateRangeFormat","day","month","year","RangePickerAbstract","props","defaultProps","DateRangePicker","createComponent","Trigger","Popper","Header","Title","Prev","Next","Calendar","Period","Apply","Reset","parent"],"sources":["../../src/DateRangePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport RangePickerAbstract, { Apply, Reset } from './components/RangePickerAbstract';\n\nclass DateRangePickerRoot extends RangePickerAbstract {\n static displayName = 'DateRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <DateRangePicker.Trigger />\n <DateRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('last2Days'),\n value: [dayjs(today).subtract(1, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastWeek'),\n value: [dayjs(today).subtract(6, 'day').toDate(), today],\n },\n {\n children: getI18nText('last2Weeks'),\n value: [dayjs(today).subtract(13, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastMonth'),\n value: [dayjs(today).subtract(1, 'month').toDate(), today],\n },\n {\n children: getI18nText('last2Months'),\n value: [dayjs(today).subtract(2, 'month').toDate(), today],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date period',\n children: shortDateRangeFormat(value, {\n locale,\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n}\n\nconst DateRangePicker = createComponent(\n DateRangePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangePicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangePicker.js","names":["DateRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","dayjs","subtract","toDate","locale","placeholder","shortDateRangeFormat","day","month","year","onChange","onDisplayedPeriodChange","disabled","size","w","disabledDates","RangePickerAbstract","props","defaultProps","DateRangePicker","createComponent","Trigger","InputTrigger","Popper","Header","Title","Prev","Next","Calendar","Period","Apply","Reset","parent"],"sources":["../../src/DateRangePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger, InputTrigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport RangePickerAbstract, { Apply, Reset } from './components/RangePickerAbstract';\n\nclass DateRangePickerRoot extends RangePickerAbstract {\n static displayName = 'DateRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <DateRangePicker.Trigger />\n <DateRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('last2Days'),\n value: [dayjs(today).subtract(1, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastWeek'),\n value: [dayjs(today).subtract(6, 'day').toDate(), today],\n },\n {\n children: getI18nText('last2Weeks'),\n value: [dayjs(today).subtract(13, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastMonth'),\n value: [dayjs(today).subtract(1, 'month').toDate(), today],\n },\n {\n children: getI18nText('last2Months'),\n value: [dayjs(today).subtract(2, 'month').toDate(), today],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date period',\n children: shortDateRangeFormat(value, {\n locale,\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n\n getInputTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size } = this.asProps;\n\n return {\n ...super.getTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 270 : 300,\n disabledDates: disabled,\n children: () => <InputTrigger.DateRange />,\n };\n }\n}\n\nconst DateRangePicker = createComponent(\n DateRangePickerRoot,\n {\n Trigger,\n InputTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangePicker;\n"],"mappings":"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"}
@@ -43,6 +43,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
43
43
 
44
44
  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; } }
45
45
 
46
+ var dateParts = {
47
+ day: false,
48
+ month: true,
49
+ year: true
50
+ };
51
+
46
52
  var MonthPickerRoot = /*#__PURE__*/function (_PickerAbstract) {
47
53
  (0, _inherits2["default"])(MonthPickerRoot, _PickerAbstract);
48
54
 
@@ -83,12 +89,35 @@ var MonthPickerRoot = /*#__PURE__*/function (_PickerAbstract) {
83
89
  }).format((0, _dayjs["default"])(value).toDate()) : null
84
90
  });
85
91
  }
92
+ }, {
93
+ key: "getInputTriggerProps",
94
+ value: function getInputTriggerProps() {
95
+ var _this$asProps2 = this.asProps,
96
+ value = _this$asProps2.value,
97
+ onChange = _this$asProps2.onChange,
98
+ onDisplayedPeriodChange = _this$asProps2.onDisplayedPeriodChange,
99
+ locale = _this$asProps2.locale,
100
+ disabled = _this$asProps2.disabled,
101
+ size = _this$asProps2.size;
102
+ return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthPickerRoot.prototype), "getTriggerProps", this).call(this)), {}, {
103
+ value: value,
104
+ onChange: onChange,
105
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
106
+ locale: locale,
107
+ w: size === 'm' ? 120 : 135,
108
+ parts: dateParts,
109
+ disabledDates: disabled,
110
+ children: function children() {
111
+ return /*#__PURE__*/_react["default"].createElement(_components.InputTrigger.SingleDateInput, null);
112
+ }
113
+ });
114
+ }
86
115
  }, {
87
116
  key: "getTitleProps",
88
117
  value: function getTitleProps() {
89
- var _this$asProps2 = this.asProps,
90
- displayedPeriod = _this$asProps2.displayedPeriod,
91
- locale = _this$asProps2.locale;
118
+ var _this$asProps3 = this.asProps,
119
+ displayedPeriod = _this$asProps3.displayedPeriod,
120
+ locale = _this$asProps3.locale;
92
121
  return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthPickerRoot.prototype), "getTitleProps", this).call(this)), {}, {
93
122
  children: new Intl.DateTimeFormat(locale, {
94
123
  year: 'numeric'
@@ -107,6 +136,7 @@ var MonthPickerRoot = /*#__PURE__*/function (_PickerAbstract) {
107
136
  });
108
137
  var MonthPicker = (0, _core["default"])(MonthPickerRoot, {
109
138
  Trigger: _components.Trigger,
139
+ InputTrigger: _components.InputTrigger,
110
140
  Popper: _components.Popper,
111
141
  Header: _components.Header,
112
142
  Title: _components.Title,
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPicker.js","names":["MonthPickerRoot","asProps","value","locale","placeholder","children","Intl","DateTimeFormat","month","year","format","dayjs","toDate","displayedPeriod","startOf","PickerAbstract","props","defaultProps","MonthPicker","createComponent","Trigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"sources":["../../src/MonthPicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport { Header, Next, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\n\nclass MonthPickerRoot extends PickerAbstract {\n static displayName = 'MonthPicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthPicker.Trigger />\n <MonthPicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month',\n children: value\n ? new Intl.DateTimeFormat(locale, {\n month: 'short',\n year: 'numeric',\n }).format(dayjs(value).toDate())\n : null,\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('year').toDate(),\n ),\n };\n }\n}\n\nconst MonthPicker = createComponent(\n MonthPickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthPicker;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEMA,e;;;;;;;;;;;;;;;qGAaW,M;gGACL,O;gGACA;MACR,IAAI,CAAC,CADG;MAER,IAAI,CAAC,CAFG;MAGR,IAAI,CAHI;MAIR,IAAI;IAJI,C;;;;;;WAOV,2BAAkB;MAChB,oBAA0B,KAAKC,OAA/B;MAAA,IAAQC,KAAR,iBAAQA,KAAR;MAAA,IAAeC,MAAf,iBAAeA,MAAf;MACA;QAEEC,WAAW,EAAE,cAFf;QAGEC,QAAQ,EAAEH,KAAK,GACX,IAAII,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;UAC9BK,KAAK,EAAE,OADuB;UAE9BC,IAAI,EAAE;QAFwB,CAAhC,EAGGC,MAHH,CAGU,IAAAC,iBAAA,EAAMT,KAAN,EAAaU,MAAb,EAHV,CADW,GAKX;MARN;IAUD;;;WAED,yBAAgB;MACd,qBAAoC,KAAKX,OAAzC;MAAA,IAAQY,eAAR,kBAAQA,eAAR;MAAA,IAAyBV,MAAzB,kBAAyBA,MAAzB;MACA;QAEEE,QAAQ,EAAE,IAAIC,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;UAAEM,IAAI,EAAE;QAAR,CAAhC,EAAqDC,MAArD,CACR,IAAAC,iBAAA,EAAME,eAAN,EAAuBC,OAAvB,CAA+B,MAA/B,EAAuCF,MAAvC,EADQ;MAFZ;IAMD;;;EA5C2BG,2B;;iCAAxBf,e,iBACiB,a;iCADjBA,e,kBAGkB,UAACgB,KAAD;EAAA,uCACjBD,2BAAA,CAAeE,YAAf,CAA4BD,KAA5B,CADiB;IAEpBX,QAAQ,eACN,+EACE,gCAAC,WAAD,CAAa,OAAb,OADF,eAEE,gCAAC,WAAD,CAAa,MAAb,OAFF;EAHkB;AAAA,C;AA4CxB,IAAMa,WAAW,GAAG,IAAAC,gBAAA,EAClBnB,eADkB,EAElB;EACEoB,OAAO,EAAPA,mBADF;EAEEC,MAAM,EAANA,kBAFF;EAGEC,MAAM,EAANA,kBAHF;EAIEC,KAAK,EAALA,iBAJF;EAKEC,IAAI,EAAJA,gBALF;EAMEC,IAAI,EAAJA,gBANF;EAOEC,QAAQ,EAARA;AAPF,CAFkB,EAWlB;EACEC,MAAM,EAAED;AADV,CAXkB,CAApB;eAgBeR,W"}
1
+ {"version":3,"file":"MonthPicker.js","names":["dateParts","day","month","year","MonthPickerRoot","asProps","value","locale","placeholder","children","Intl","DateTimeFormat","format","dayjs","toDate","onChange","onDisplayedPeriodChange","disabled","size","w","parts","disabledDates","displayedPeriod","startOf","PickerAbstract","props","defaultProps","MonthPicker","createComponent","Trigger","InputTrigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"sources":["../../src/MonthPicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport { Header, Next, Popper, Prev, Title, Trigger, InputTrigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\n\nconst dateParts = { day: false, month: true, year: true };\n\nclass MonthPickerRoot extends PickerAbstract {\n static displayName = 'MonthPicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthPicker.Trigger />\n <MonthPicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month',\n children: value\n ? new Intl.DateTimeFormat(locale, {\n month: 'short',\n year: 'numeric',\n }).format(dayjs(value).toDate())\n : null,\n };\n }\n\n getInputTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size } = this.asProps;\n\n return {\n ...super.getTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 120 : 135,\n parts: dateParts,\n disabledDates: disabled,\n children: () => <InputTrigger.SingleDateInput />,\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('year').toDate(),\n ),\n };\n }\n}\n\nconst MonthPicker = createComponent(\n MonthPickerRoot,\n {\n Trigger,\n InputTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthPicker;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG;EAAEC,GAAG,EAAE,KAAP;EAAcC,KAAK,EAAE,IAArB;EAA2BC,IAAI,EAAE;AAAjC,CAAlB;;IAEMC,e;;;;;;;;;;;;;;;qGAaW,M;gGACL,O;gGACA;MACR,IAAI,CAAC,CADG;MAER,IAAI,CAAC,CAFG;MAGR,IAAI,CAHI;MAIR,IAAI;IAJI,C;;;;;;WAOV,2BAAkB;MAChB,oBAA0B,KAAKC,OAA/B;MAAA,IAAQC,KAAR,iBAAQA,KAAR;MAAA,IAAeC,MAAf,iBAAeA,MAAf;MACA;QAEEC,WAAW,EAAE,cAFf;QAGEC,QAAQ,EAAEH,KAAK,GACX,IAAII,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;UAC9BL,KAAK,EAAE,OADuB;UAE9BC,IAAI,EAAE;QAFwB,CAAhC,EAGGS,MAHH,CAGU,IAAAC,iBAAA,EAAMP,KAAN,EAAaQ,MAAb,EAHV,CADW,GAKX;MARN;IAUD;;;WAED,gCAAuB;MACrB,qBAA6E,KAAKT,OAAlF;MAAA,IAAQC,KAAR,kBAAQA,KAAR;MAAA,IAAeS,QAAf,kBAAeA,QAAf;MAAA,IAAyBC,uBAAzB,kBAAyBA,uBAAzB;MAAA,IAAkDT,MAAlD,kBAAkDA,MAAlD;MAAA,IAA0DU,QAA1D,kBAA0DA,QAA1D;MAAA,IAAoEC,IAApE,kBAAoEA,IAApE;MAEA;QAEEZ,KAAK,EAALA,KAFF;QAGES,QAAQ,EAARA,QAHF;QAIEC,uBAAuB,EAAvBA,uBAJF;QAKET,MAAM,EAANA,MALF;QAMEY,CAAC,EAAED,IAAI,KAAK,GAAT,GAAe,GAAf,GAAqB,GAN1B;QAOEE,KAAK,EAAEpB,SAPT;QAQEqB,aAAa,EAAEJ,QARjB;QASER,QAAQ,EAAE;UAAA,oBAAM,gCAAC,wBAAD,CAAc,eAAd,OAAN;QAAA;MATZ;IAWD;;;WAED,yBAAgB;MACd,qBAAoC,KAAKJ,OAAzC;MAAA,IAAQiB,eAAR,kBAAQA,eAAR;MAAA,IAAyBf,MAAzB,kBAAyBA,MAAzB;MACA;QAEEE,QAAQ,EAAE,IAAIC,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;UAAEJ,IAAI,EAAE;QAAR,CAAhC,EAAqDS,MAArD,CACR,IAAAC,iBAAA,EAAMS,eAAN,EAAuBC,OAAvB,CAA+B,MAA/B,EAAuCT,MAAvC,EADQ;MAFZ;IAMD;;;EA5D2BU,2B;;iCAAxBpB,e,iBACiB,a;iCADjBA,e,kBAGkB,UAACqB,KAAD;EAAA,uCACjBD,2BAAA,CAAeE,YAAf,CAA4BD,KAA5B,CADiB;IAEpBhB,QAAQ,eACN,+EACE,gCAAC,WAAD,CAAa,OAAb,OADF,eAEE,gCAAC,WAAD,CAAa,MAAb,OAFF;EAHkB;AAAA,C;AA4DxB,IAAMkB,WAAW,GAAG,IAAAC,gBAAA,EAClBxB,eADkB,EAElB;EACEyB,OAAO,EAAPA,mBADF;EAEEC,YAAY,EAAZA,wBAFF;EAGEC,MAAM,EAANA,kBAHF;EAIEC,MAAM,EAANA,kBAJF;EAKEC,KAAK,EAALA,iBALF;EAMEC,IAAI,EAAJA,gBANF;EAOEC,IAAI,EAAJA,gBAPF;EAQEC,QAAQ,EAARA;AARF,CAFkB,EAYlB;EACEC,MAAM,EAAED;AADV,CAZkB,CAApB;eAiBeT,W"}
@@ -51,6 +51,12 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
51
51
 
52
52
  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; } }
53
53
 
54
+ var dateParts = {
55
+ day: false,
56
+ month: true,
57
+ year: true
58
+ };
59
+
54
60
  var MonthRangePickerRoot = /*#__PURE__*/function (_RangePickerAbstract) {
55
61
  (0, _inherits2["default"])(MonthRangePickerRoot, _RangePickerAbstract);
56
62
 
@@ -111,12 +117,35 @@ var MonthRangePickerRoot = /*#__PURE__*/function (_RangePickerAbstract) {
111
117
  })
112
118
  });
113
119
  }
120
+ }, {
121
+ key: "getInputTriggerProps",
122
+ value: function getInputTriggerProps() {
123
+ var _this$asProps2 = this.asProps,
124
+ value = _this$asProps2.value,
125
+ onChange = _this$asProps2.onChange,
126
+ onDisplayedPeriodChange = _this$asProps2.onDisplayedPeriodChange,
127
+ locale = _this$asProps2.locale,
128
+ disabled = _this$asProps2.disabled,
129
+ size = _this$asProps2.size;
130
+ return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthRangePickerRoot.prototype), "getTriggerProps", this).call(this)), {}, {
131
+ value: value,
132
+ onChange: onChange,
133
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
134
+ locale: locale,
135
+ w: size === 'm' ? 215 : 235,
136
+ parts: dateParts,
137
+ disabledDates: disabled,
138
+ children: function children() {
139
+ return /*#__PURE__*/_react["default"].createElement(_components.InputTrigger.DateRange, null);
140
+ }
141
+ });
142
+ }
114
143
  }, {
115
144
  key: "getTitleProps",
116
145
  value: function getTitleProps(props, index) {
117
- var _this$asProps2 = this.asProps,
118
- displayedPeriod = _this$asProps2.displayedPeriod,
119
- locale = _this$asProps2.locale;
146
+ var _this$asProps3 = this.asProps,
147
+ displayedPeriod = _this$asProps3.displayedPeriod,
148
+ locale = _this$asProps3.locale;
120
149
  return _objectSpread(_objectSpread({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthRangePickerRoot.prototype), "getTitleProps", this).call(this, props, index)), {}, {
121
150
  children: new Intl.DateTimeFormat(locale, {
122
151
  year: 'numeric'
@@ -135,6 +164,7 @@ var MonthRangePickerRoot = /*#__PURE__*/function (_RangePickerAbstract) {
135
164
  });
136
165
  var MonthRangePicker = (0, _core["default"])(MonthRangePickerRoot, {
137
166
  Trigger: _components.Trigger,
167
+ InputTrigger: _components.InputTrigger,
138
168
  Popper: _components.Popper,
139
169
  Header: _components.Header,
140
170
  Title: _components.Title,
@@ -1 +1 @@
1
- {"version":3,"file":"MonthRangePicker.js","names":["MonthRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","dayjs","subtract","startOf","toDate","locale","placeholder","shortDateRangeFormat","month","year","props","index","displayedPeriod","Intl","DateTimeFormat","format","add","navigateStep","RangePickerAbstract","defaultProps","MonthRangePicker","createComponent","Trigger","Popper","Header","Title","Prev","Next","Calendar","Period","Apply","Reset","parent"],"sources":["../../src/MonthRangePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport RangePickerAbstract, { Apply, Reset } from './components/RangePickerAbstract';\n\nclass MonthRangePickerRoot extends RangePickerAbstract {\n static displayName = 'MonthRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthRangePicker.Trigger />\n <MonthRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('lastMonth'),\n value: [\n dayjs(today).subtract(1, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last3Months'),\n value: [\n dayjs(today).subtract(2, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last6Months'),\n value: [\n dayjs(today).subtract(5, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last12Months'),\n value: [\n dayjs(today).subtract(11, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month period',\n children: shortDateRangeFormat(value, {\n locale,\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n\n getTitleProps(props, index) {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(props, index),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n}\n\nconst MonthRangePicker = createComponent(\n MonthRangePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthRangePicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MonthRangePicker.js","names":["dateParts","day","month","year","MonthRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","dayjs","subtract","startOf","toDate","locale","placeholder","shortDateRangeFormat","onChange","onDisplayedPeriodChange","disabled","size","w","parts","disabledDates","props","index","displayedPeriod","Intl","DateTimeFormat","format","add","navigateStep","RangePickerAbstract","defaultProps","MonthRangePicker","createComponent","Trigger","InputTrigger","Popper","Header","Title","Prev","Next","Calendar","Period","Apply","Reset","parent"],"sources":["../../src/MonthRangePicker.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger, InputTrigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport RangePickerAbstract, { Apply, Reset } from './components/RangePickerAbstract';\n\nconst dateParts = { day: false, month: true, year: true };\n\nclass MonthRangePickerRoot extends RangePickerAbstract {\n static displayName = 'MonthRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthRangePicker.Trigger />\n <MonthRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('lastMonth'),\n value: [\n dayjs(today).subtract(1, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last3Months'),\n value: [\n dayjs(today).subtract(2, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last6Months'),\n value: [\n dayjs(today).subtract(5, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last12Months'),\n value: [\n dayjs(today).subtract(11, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month period',\n children: shortDateRangeFormat(value, {\n locale,\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n\n getInputTriggerProps() {\n const { value, onChange, onDisplayedPeriodChange, locale, disabled, size } = this.asProps;\n\n return {\n ...super.getTriggerProps(),\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: size === 'm' ? 215 : 235,\n parts: dateParts,\n disabledDates: disabled,\n children: () => <InputTrigger.DateRange />,\n };\n }\n\n getTitleProps(props, index) {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(props, index),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n}\n\nconst MonthRangePicker = createComponent(\n MonthRangePickerRoot,\n {\n Trigger,\n InputTrigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthRangePicker;\n"],"mappings":"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"}
@@ -66,26 +66,26 @@ var style = (
66
66
  /*__reshadow_css_start__*/
67
67
  _core.sstyled.insert(
68
68
  /*__inner_css_start__*/
69
- ":root {\n\n /* DEPRECATED START\n Deprecated variables should never be used in\n components styles but preserved for backward\n compatibility if they used in projects\n like `<Badge bg=\"red\">alpha</Badge>`\n */\n /* DEPRECATED END */\n}\n\n.___SCalendar_xomep_gg_ {\n display: flex;\n flex-direction: column;\n}\n\n.___SGridDays_xomep_gg_ {\n display: grid;\n grid-template-columns: repeat(7, minmax(32px, auto));\n grid-template-rows: repeat(auto-fit, minmax(32px, auto));\n}\n\n.___SGridMonths_xomep_gg_ {\n display: grid;\n grid-row-gap: 8px;\n grid-template-columns: repeat(3, minmax(60px, auto));\n grid-template-rows: repeat(4, minmax(32px, auto));\n}\n\n.___SWeekDays_xomep_gg_ {\n display: grid;\n grid-template-columns: repeat(7, minmax(32px, auto));\n}\n\n.___SWeekDay_xomep_gg_ {\n min-width: 32px;\n min-height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #6c6e79;\n font-size: 14px;\n font-weight: 400;\n overflow: hidden;\n}\n\n.___SCalendarUnit_xomep_gg_ {\n font-family: inherit;\n font-weight: normal;\n line-height: normal;\n text-decoration: none;\n text-align: center;\n vertical-align: middle;\n border: 1px solid transparent;\n color: #191b23;\n outline: 0;\n box-shadow: none;\n overflow: visible;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n touch-action: manipulation;\n -webkit-tap-highlight-color: transparent;\n background: transparent;\n\n align-items: center;\n border-radius: 6px;\n box-sizing: border-box;\n cursor: pointer;\n display: flex;\n font-size: 14px;\n justify-content: center;\n min-height: 32px;\n min-width: 32px;\n position: relative;\n transition: color 0.15s, background 0.15s;\n outline: none;\n margin: 0\n}\n\n.___SCalendarUnit_xomep_gg_:hover {\n color: #191b23;\n background: #e0e1e9;\n }\n\n.___SCalendarUnit_xomep_gg_.focus-visible {\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n }\n\n.___SCalendarUnit_xomep_gg_:focus-visible {\n box-shadow: 0 0 0 3px rgba(0, 143, 248, 0.2);\n }\n\n.___SCalendarUnit_xomep_gg_.__today_xomep_gg_:before {\n content: '';\n position: absolute;\n display: block;\n top: 1px;\n left: 1px;\n border-radius: 6px;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n box-sizing: border-box;\n border: 1px solid #c4c7cf;\n }\n\n.___SCalendarUnit_xomep_gg_.__today_xomep_gg_.___SCalendarUnit_xomep_gg_.__startSelected_xomep_gg_:before, .___SCalendarUnit_xomep_gg_.__today_xomep_gg_.___SCalendarUnit_xomep_gg_.__endSelected_xomep_gg_:before {\n border-color: rgba(255, 255, 255, 0.5);\n }\n\n.___SCalendarUnit_xomep_gg_.__selected_xomep_gg_ {\n background: #c4e5fe;\n border-radius: 0;\n color: #191b23\n}\n\n.___SCalendarUnit_xomep_gg_.__selected_xomep_gg_:hover {\n background: #008ff8;\n }\n\n.___SCalendarUnit_xomep_gg_.__highlighted_xomep_gg_ {\n background: rgba(0, 143, 248, 0.2);\n border-radius: 0;\n color: #191b23\n}\n\n.___SCalendarUnit_xomep_gg_.__highlighted_xomep_gg_:hover {\n background: rgba(0, 143, 248, 0.3);\n }\n\n.___SCalendarUnit_xomep_gg_.__startSelected_xomep_gg_ {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 0;\n border-top-left-radius: 6px;\n border-top-right-radius: 0;\n color: white;\n background: #2bb3ff\n}\n\n.___SCalendarUnit_xomep_gg_.__startSelected_xomep_gg_:hover {\n color: white;\n background: #008ff8;\n }\n\n.___SCalendarUnit_xomep_gg_.__endSelected_xomep_gg_ {\n background: #2bb3ff;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 6px;\n border-top-left-radius: 0;\n border-top-right-radius: 6px;\n color: white\n}\n\n.___SCalendarUnit_xomep_gg_.__endSelected_xomep_gg_:hover {\n color: white;\n background: #008ff8;\n }\n\n.___SCalendarUnit_xomep_gg_.__startHighlighted_xomep_gg_ {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 0;\n border-top-left-radius: 6px;\n border-top-right-radius: 0;\n}\n\n.___SCalendarUnit_xomep_gg_.__endHighlighted_xomep_gg_ {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 6px;\n border-top-left-radius: 0;\n border-top-right-radius: 6px;\n}\n\n.___SCalendarUnit_xomep_gg_.__startHighlighted_xomep_gg_.___SCalendarUnit_xomep_gg_.__endHighlighted_xomep_gg_ {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n\n.___SCalendarUnit_xomep_gg_.__startSelected_xomep_gg_.___SCalendarUnit_xomep_gg_.__endSelected_xomep_gg_ {\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n border-top-left-radius: 6px;\n border-top-right-radius: 6px;\n}\n\n.___SCalendarUnit_xomep_gg_.__outdated_xomep_gg_ {\n opacity: 0.2;\n}\n\n.___SCalendarUnit_xomep_gg_.__disabled_xomep_gg_ {\n opacity: 0.4;\n cursor: default;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion) {\n .___SCalendarUnit_xomep_gg_ {\n transition: none;\n }\n}\n"
69
+ ".___SCalendar_159q0_gg_{display:flex;flex-direction:column}.___SGridDays_159q0_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_159q0_gg_{display:grid;grid-row-gap:8px;grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_159q0_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SWeekDay_159q0_gg_{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;color:#6c6e79;font-size:14px;font-weight:400;overflow:hidden}.___SCalendarUnit_159q0_gg_{font-family:inherit;font-weight:400;line-height:normal;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:#191b23;outline:0;box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:transparent;align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;justify-content:center;min-height:32px;min-width:32px;position:relative;transition:color .15s,background .15s;outline:none;margin:0}.___SCalendarUnit_159q0_gg_:hover{color:#191b23;background:#e0e1e9}.___SCalendarUnit_159q0_gg_.focus-visible{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SCalendarUnit_159q0_gg_:focus-visible{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}.___SCalendarUnit_159q0_gg_.__today_159q0_gg_:before{content:\"\";position:absolute;display:block;top:1px;left:1px;border-radius:6px;width:calc(100% - 2px);height:calc(100% - 2px);box-sizing:border-box;border:1px solid #c4c7cf}.___SCalendarUnit_159q0_gg_.__today_159q0_gg_.___SCalendarUnit_159q0_gg_.__endSelected_159q0_gg_:before,.___SCalendarUnit_159q0_gg_.__today_159q0_gg_.___SCalendarUnit_159q0_gg_.__startSelected_159q0_gg_:before{border-color:hsla(0,0%,100%,.5)}.___SCalendarUnit_159q0_gg_.__selected_159q0_gg_{background:#c4e5fe;border-radius:0;color:#191b23}.___SCalendarUnit_159q0_gg_.__selected_159q0_gg_:hover{background:#008ff8}.___SCalendarUnit_159q0_gg_.__highlighted_159q0_gg_{background:rgba(0,143,248,.2);border-radius:0;color:#191b23}.___SCalendarUnit_159q0_gg_.__highlighted_159q0_gg_:hover{background:rgba(0,143,248,.3)}.___SCalendarUnit_159q0_gg_.__startSelected_159q0_gg_{border-bottom-left-radius:6px;border-bottom-right-radius:0;border-top-left-radius:6px;border-top-right-radius:0;color:#fff;background:#2bb3ff}.___SCalendarUnit_159q0_gg_.__startSelected_159q0_gg_:hover{color:#fff;background:#008ff8}.___SCalendarUnit_159q0_gg_.__endSelected_159q0_gg_{background:#2bb3ff;border-bottom-left-radius:0;border-bottom-right-radius:6px;border-top-left-radius:0;border-top-right-radius:6px;color:#fff}.___SCalendarUnit_159q0_gg_.__endSelected_159q0_gg_:hover{color:#fff;background:#008ff8}.___SCalendarUnit_159q0_gg_.__startHighlighted_159q0_gg_{border-bottom-left-radius:6px;border-bottom-right-radius:0;border-top-left-radius:6px;border-top-right-radius:0}.___SCalendarUnit_159q0_gg_.__endHighlighted_159q0_gg_{border-bottom-left-radius:0;border-bottom-right-radius:6px;border-top-left-radius:0;border-top-right-radius:6px}.___SCalendarUnit_159q0_gg_.__startHighlighted_159q0_gg_.___SCalendarUnit_159q0_gg_.__endHighlighted_159q0_gg_{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px}.___SCalendarUnit_159q0_gg_.__startSelected_159q0_gg_.___SCalendarUnit_159q0_gg_.__endSelected_159q0_gg_{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px}.___SCalendarUnit_159q0_gg_.__outdated_159q0_gg_{opacity:.2}.___SCalendarUnit_159q0_gg_.__disabled_159q0_gg_{opacity:.4;cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SCalendarUnit_159q0_gg_{transition:none}}"
70
70
  /*__inner_css_end__*/
71
- , "xomep_gg_")
71
+ , "159q0_gg_")
72
72
  /*__reshadow_css_end__*/
73
73
  , {
74
- "__SCalendar": "___SCalendar_xomep_gg_",
75
- "__SGridDays": "___SGridDays_xomep_gg_",
76
- "__SGridMonths": "___SGridMonths_xomep_gg_",
77
- "__SWeekDays": "___SWeekDays_xomep_gg_",
78
- "__SWeekDay": "___SWeekDay_xomep_gg_",
79
- "__SCalendarUnit": "___SCalendarUnit_xomep_gg_",
80
- "_today": "__today_xomep_gg_",
81
- "_startSelected": "__startSelected_xomep_gg_",
82
- "_endSelected": "__endSelected_xomep_gg_",
83
- "_selected": "__selected_xomep_gg_",
84
- "_highlighted": "__highlighted_xomep_gg_",
85
- "_startHighlighted": "__startHighlighted_xomep_gg_",
86
- "_endHighlighted": "__endHighlighted_xomep_gg_",
87
- "_outdated": "__outdated_xomep_gg_",
88
- "_disabled": "__disabled_xomep_gg_"
74
+ "__SCalendar": "___SCalendar_159q0_gg_",
75
+ "__SGridDays": "___SGridDays_159q0_gg_",
76
+ "__SGridMonths": "___SGridMonths_159q0_gg_",
77
+ "__SWeekDays": "___SWeekDays_159q0_gg_",
78
+ "__SWeekDay": "___SWeekDay_159q0_gg_",
79
+ "__SCalendarUnit": "___SCalendarUnit_159q0_gg_",
80
+ "_today": "__today_159q0_gg_",
81
+ "_endSelected": "__endSelected_159q0_gg_",
82
+ "_startSelected": "__startSelected_159q0_gg_",
83
+ "_selected": "__selected_159q0_gg_",
84
+ "_highlighted": "__highlighted_159q0_gg_",
85
+ "_startHighlighted": "__startHighlighted_159q0_gg_",
86
+ "_endHighlighted": "__endHighlighted_159q0_gg_",
87
+ "_outdated": "__outdated_159q0_gg_",
88
+ "_disabled": "__disabled_159q0_gg_"
89
89
  });
90
90
 
91
91
  _dayjs["default"].extend(_isBetween["default"]);
@@ -394,7 +394,9 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
394
394
  Children = _this$asProps4.Children,
395
395
  styles = _this$asProps4.styles,
396
396
  locale = _this$asProps4.locale;
397
- return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref9.cn("SCalendar", _objectSpread({}, (0, _core.assignProps)({}, _ref4))), /*#__PURE__*/_react["default"].createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
397
+ return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref9.cn("SCalendar", _objectSpread({}, (0, _core.assignProps)({
398
+ "aria-hidden": "true"
399
+ }, _ref4))), /*#__PURE__*/_react["default"].createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
398
400
  "locale": locale
399
401
  })), /*#__PURE__*/_react["default"].createElement(SGridDays, _ref9.cn("SGridDays", {
400
402
  "onMouseLeave": this.handleMouseLeave
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["dayjs","extend","isBetween","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","Box","Children","styles","sstyled","Component","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","fire","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","includesDate","getLocaleDate","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","createComponent","Unit","CalendarDays","CalendarMonths"],"sources":["../../../src/components/Calendar.jsx"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","names":["dayjs","extend","isBetween","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","Box","Children","styles","sstyled","Component","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","fire","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","includesDate","getLocaleDate","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","createComponent","Unit","CalendarDays","CalendarMonths"],"sources":["../../../src/components/Calendar.jsx"],"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} aria-hidden=\"true\">\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"],"mappings":"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"}