@semcore/date-picker 2.5.3 → 2.6.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.
- package/CHANGELOG.md +24 -0
- package/lib/cjs/components/ButtonTrigger.js +2 -11
- package/lib/cjs/components/ButtonTrigger.js.map +1 -1
- package/lib/cjs/components/Calendar.js +17 -17
- package/lib/cjs/components/PickerAbstract.js +9 -7
- package/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/lib/cjs/components/RangePickerAbstract.js +13 -7
- package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/lib/cjs/components/index.js +6 -6
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/style/calendar.shadow.css +0 -1
- package/lib/es6/components/ButtonTrigger.js +2 -9
- package/lib/es6/components/ButtonTrigger.js.map +1 -1
- package/lib/es6/components/Calendar.js +17 -17
- package/lib/es6/components/PickerAbstract.js +9 -7
- package/lib/es6/components/PickerAbstract.js.map +1 -1
- package/lib/es6/components/RangePickerAbstract.js +13 -7
- package/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/lib/es6/components/index.js +4 -4
- package/lib/es6/components/index.js.map +1 -1
- package/lib/es6/style/calendar.shadow.css +0 -1
- package/package.json +2 -2
- package/src/components/ButtonTrigger.js +2 -10
- package/src/components/PickerAbstract.js +2 -1
- package/src/components/RangePickerAbstract.js +6 -2
- package/src/components/index.js +2 -2
- package/src/style/calendar.shadow.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [2.6.0] - 2022-01-18
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Up version icons and use new icon.
|
|
10
|
+
|
|
11
|
+
## [2.5.6] - 2021-10-22
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Fixed clear highlighted data after close popup in `DataRangePicker`.
|
|
16
|
+
|
|
17
|
+
## [2.5.5] - 2021-9-21
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Changed WeekDay styles from uppercase to capital case
|
|
22
|
+
|
|
23
|
+
## [2.5.4] - 2021-9-1
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Fixed change `displayedPeriod` after change `value` for family pickers.
|
|
28
|
+
|
|
5
29
|
## [2.5.3] - 2021-8-26
|
|
6
30
|
|
|
7
31
|
### Changed
|
|
@@ -19,26 +19,17 @@ var _flexBox = require("@semcore/flex-box");
|
|
|
19
19
|
|
|
20
20
|
var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
|
|
21
21
|
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _s = _interopRequireDefault(require("@semcore/icon/lib/Calendar/s"));
|
|
22
|
+
var _m = _interopRequireDefault(require("@semcore/icon/Calendar/m"));
|
|
25
23
|
|
|
26
24
|
var _this = void 0;
|
|
27
25
|
|
|
28
|
-
var MAP_SIZE_TO_CALENDAR_SIZE = {
|
|
29
|
-
m: _xs["default"],
|
|
30
|
-
l: _s["default"],
|
|
31
|
-
xl: _s["default"]
|
|
32
|
-
};
|
|
33
|
-
|
|
34
26
|
var ButtonTriggerRoot = function ButtonTriggerRoot(_ref2) {
|
|
35
27
|
var _ref = _this ? _this.asProps : arguments[0];
|
|
36
28
|
|
|
37
29
|
var Children = _ref2.Children,
|
|
38
30
|
size = _ref2.size;
|
|
39
|
-
var Icon = MAP_SIZE_TO_CALENDAR_SIZE[size || 'm'];
|
|
40
31
|
return /*#__PURE__*/_react["default"].createElement(_baseTrigger["default"], (0, _core.assignProps)({}, _ref), /*#__PURE__*/_react["default"].createElement(ButtonTrigger.Addon, {
|
|
41
|
-
tag:
|
|
32
|
+
tag: _m["default"]
|
|
42
33
|
}), (0, _addonTextChildren["default"])(Children, ButtonTrigger.Text, ButtonTrigger.Addon));
|
|
43
34
|
};
|
|
44
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ButtonTrigger.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ButtonTrigger.js"],"names":["ButtonTriggerRoot","Children","size","BaseTrigger","Calendar","ButtonTrigger","Text","Addon","displayName"],"mappings":";;;;;;;;;;;AAKA;;AALA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwB;AAAA;;AAAA,MAArBC,QAAqB,SAArBA,QAAqB;AAAA,MAAXC,IAAW,SAAXA,IAAW;AAChD,sBACE,gCAAcC,uBAAd,iDACE,gCAAC,aAAD,CAAe,KAAf;AAAqB,IAAA,GAAG,EAAEC;AAA1B,IADF,EAEG,mCAAkBH,QAAlB,EAA4BI,aAAa,CAACC,IAA1C,EAAgDD,aAAa,CAACE,KAA9D,CAFH,CADF;AAMD,CAPD;;AASAP,iBAAiB,CAACQ,WAAlB,GAAgC,eAAhC;AAEA,IAAMH,aAAa,GAAG,sBAAgBL,iBAAhB,EAAmC;AACvDM,EAAAA,IAAI,EAAEH,wBAAYG,IADqC;AAEvDC,EAAAA,KAAK,EAAEJ,wBAAYI;AAFoC,CAAnC,CAAtB;eAKeF,a","sourcesContent":["import React, { ComponentProps } from 'react';\nimport BaseTrigger from '@semcore/base-trigger';\nimport { Box } from '@semcore/flex-box';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport Calendar from '@semcore/icon/Calendar/m';\nimport createComponent, { Root } from '@semcore/core';\n\nconst ButtonTriggerRoot = ({ Children, size }) => {\n return (\n <Root render={BaseTrigger}>\n <ButtonTrigger.Addon tag={Calendar} />\n {addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon)}\n </Root>\n );\n};\n\nButtonTriggerRoot.displayName = 'ButtonTrigger';\n\nconst ButtonTrigger = createComponent(ButtonTriggerRoot, {\n Text: BaseTrigger.Text,\n Addon: BaseTrigger.Addon,\n});\n\nexport default ButtonTrigger;\n"],"file":"ButtonTrigger.js"}
|
|
@@ -59,26 +59,26 @@ var style = (
|
|
|
59
59
|
/*__reshadow_css_start__*/
|
|
60
60
|
_core.sstyled.insert(
|
|
61
61
|
/*__inner_css_start__*/
|
|
62
|
-
".
|
|
62
|
+
".___SCalendar_7wt21_gg_{display:flex;flex-direction:column}.___SGridDays_7wt21_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_7wt21_gg_{display:grid;grid-row-gap:8px;grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_7wt21_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SWeekDay_7wt21_gg_{color:#757575;overflow:hidden}.___SCalendarUnit_7wt21_gg_,.___SWeekDay_7wt21_gg_{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400}.___SCalendarUnit_7wt21_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_7wt21_gg_:hover{color:#333;background:rgba(166,176,179,.2)}.___SCalendarUnit_7wt21_gg_.focus-visible,.___SCalendarUnit_7wt21_gg_:focus-visible{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__today_7wt21_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_7wt21_gg_.__today_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_gg_:before,.___SCalendarUnit_7wt21_gg_.__today_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_gg_:before{border-color:hsla(0,0%,100%,.5)}.___SCalendarUnit_7wt21_gg_.__selected_7wt21_gg_{background:rgba(43,148,225,.1);border-radius:0;color:#333}.___SCalendarUnit_7wt21_gg_.__selected_7wt21_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__highlighted_7wt21_gg_{background:rgba(43,148,225,.2);border-radius:0;color:#333}.___SCalendarUnit_7wt21_gg_.__highlighted_7wt21_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_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_7wt21_gg_.__startSelected_7wt21_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_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_7wt21_gg_.__endSelected_7wt21_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_7wt21_gg_.__startHighlighted_7wt21_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0}.___SCalendarUnit_7wt21_gg_.__endHighlighted_7wt21_gg_{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.___SCalendarUnit_7wt21_gg_.__startHighlighted_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endHighlighted_7wt21_gg_,.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}.___SCalendarUnit_7wt21_gg_.__disabled_7wt21_gg_{opacity:.4;cursor:default;pointer-events:none}.___SCalendarUnit_7wt21_gg_.__outdated_7wt21_gg_{opacity:.2}"
|
|
63
63
|
/*__inner_css_end__*/
|
|
64
|
-
, "
|
|
64
|
+
, "1wiogkk_gg_")
|
|
65
65
|
/*__reshadow_css_end__*/
|
|
66
66
|
, {
|
|
67
|
-
"__SCalendar": "
|
|
68
|
-
"__SGridDays": "
|
|
69
|
-
"__SGridMonths": "
|
|
70
|
-
"__SWeekDays": "
|
|
71
|
-
"__SWeekDay": "
|
|
72
|
-
"__SCalendarUnit": "
|
|
73
|
-
"_today": "
|
|
74
|
-
"_endSelected": "
|
|
75
|
-
"_startSelected": "
|
|
76
|
-
"_selected": "
|
|
77
|
-
"_highlighted": "
|
|
78
|
-
"_startHighlighted": "
|
|
79
|
-
"_endHighlighted": "
|
|
80
|
-
"_disabled": "
|
|
81
|
-
"_outdated": "
|
|
67
|
+
"__SCalendar": "___SCalendar_7wt21_gg_",
|
|
68
|
+
"__SGridDays": "___SGridDays_7wt21_gg_",
|
|
69
|
+
"__SGridMonths": "___SGridMonths_7wt21_gg_",
|
|
70
|
+
"__SWeekDays": "___SWeekDays_7wt21_gg_",
|
|
71
|
+
"__SWeekDay": "___SWeekDay_7wt21_gg_",
|
|
72
|
+
"__SCalendarUnit": "___SCalendarUnit_7wt21_gg_",
|
|
73
|
+
"_today": "__today_7wt21_gg_",
|
|
74
|
+
"_endSelected": "__endSelected_7wt21_gg_",
|
|
75
|
+
"_startSelected": "__startSelected_7wt21_gg_",
|
|
76
|
+
"_selected": "__selected_7wt21_gg_",
|
|
77
|
+
"_highlighted": "__highlighted_7wt21_gg_",
|
|
78
|
+
"_startHighlighted": "__startHighlighted_7wt21_gg_",
|
|
79
|
+
"_endHighlighted": "__endHighlighted_7wt21_gg_",
|
|
80
|
+
"_disabled": "__disabled_7wt21_gg_",
|
|
81
|
+
"_outdated": "__outdated_7wt21_gg_"
|
|
82
82
|
});
|
|
83
83
|
|
|
84
84
|
_dayjs["default"].extend(_isBetween["default"]);
|
|
@@ -64,16 +64,16 @@ var style = (
|
|
|
64
64
|
/*__reshadow_css_start__*/
|
|
65
65
|
_core.sstyled.insert(
|
|
66
66
|
/*__inner_css_start__*/
|
|
67
|
-
".
|
|
67
|
+
".___SPopper_7dn2t_gg_{padding:16px;outline:0}.___SPopper_7dn2t_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_7dn2t_gg_:active,.___SPopper_7dn2t_gg_:focus,.___SPopper_7dn2t_gg_:hover{outline:0;text-decoration:none}.___SPopper_7dn2t_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_7dn2t_gg_{display:flex}.___STitle_7dn2t_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_7dn2t_gg_,.___SToday_7dn2t_gg_{display:flex;justify-content:center}.___SToday_7dn2t_gg_{margin-top:12px}.___SPeriod_7dn2t_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
|
|
68
68
|
/*__inner_css_end__*/
|
|
69
69
|
, "1olnti5_gg_")
|
|
70
70
|
/*__reshadow_css_end__*/
|
|
71
71
|
, {
|
|
72
|
-
"__SPopper": "
|
|
73
|
-
"__SHeader": "
|
|
74
|
-
"__STitle": "
|
|
75
|
-
"__SToday": "
|
|
76
|
-
"__SPeriod": "
|
|
72
|
+
"__SPopper": "___SPopper_7dn2t_gg_",
|
|
73
|
+
"__SHeader": "___SHeader_7dn2t_gg_",
|
|
74
|
+
"__STitle": "___STitle_7dn2t_gg_",
|
|
75
|
+
"__SToday": "___SToday_7dn2t_gg_",
|
|
76
|
+
"__SPeriod": "___SPeriod_7dn2t_gg_"
|
|
77
77
|
});
|
|
78
78
|
var i18n = {
|
|
79
79
|
de: _de["default"],
|
|
@@ -176,9 +176,11 @@ var PickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
176
176
|
}
|
|
177
177
|
}],
|
|
178
178
|
highlighted: null,
|
|
179
|
-
value: [null, function () {
|
|
179
|
+
value: [null, function (value) {
|
|
180
180
|
// TODO: работает только из-за new Date() !== new Date()
|
|
181
181
|
_this2.handlers.visible(false);
|
|
182
|
+
|
|
183
|
+
_this2.handlers.displayedPeriod(value);
|
|
182
184
|
}]
|
|
183
185
|
};
|
|
184
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/PickerAbstract.js"],"names":["i18n","de","en","es","fr","it","ja","ru","zh","pt","ko","vi","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","CORE_INSTANCE","tabIndex","children","onClick","bindHandlerNavigateClick","locale","onChange","renderOutdated","styles","Children","Dropdown","defaultValue","defaultVisible","defaultHighlighted","Component","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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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 () => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\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)\n [action](1, this.navigateStep)\n .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":["i18n","de","en","es","fr","it","ja","ru","zh","pt","ko","vi","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","CORE_INSTANCE","tabIndex","children","onClick","bindHandlerNavigateClick","locale","onChange","renderOutdated","styles","Children","Dropdown","defaultValue","defaultVisible","defaultHighlighted","Component","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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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)\n [action](1, this.navigateStep)\n .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"}
|
|
@@ -70,16 +70,16 @@ var style = (
|
|
|
70
70
|
/*__reshadow_css_start__*/
|
|
71
71
|
_core.sstyled.insert(
|
|
72
72
|
/*__inner_css_start__*/
|
|
73
|
-
".
|
|
73
|
+
".___SPopper_7dn2t_gg_{padding:16px;outline:0}.___SPopper_7dn2t_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_7dn2t_gg_:active,.___SPopper_7dn2t_gg_:focus,.___SPopper_7dn2t_gg_:hover{outline:0;text-decoration:none}.___SPopper_7dn2t_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_7dn2t_gg_{display:flex}.___STitle_7dn2t_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_7dn2t_gg_,.___SToday_7dn2t_gg_{display:flex;justify-content:center}.___SToday_7dn2t_gg_{margin-top:12px}.___SPeriod_7dn2t_gg_{display:flex;flex-direction:column;margin-bottom:8px}"
|
|
74
74
|
/*__inner_css_end__*/
|
|
75
75
|
, "1olnti5_gg_")
|
|
76
76
|
/*__reshadow_css_end__*/
|
|
77
77
|
, {
|
|
78
|
-
"__SPopper": "
|
|
79
|
-
"__SHeader": "
|
|
80
|
-
"__STitle": "
|
|
81
|
-
"__SToday": "
|
|
82
|
-
"__SPeriod": "
|
|
78
|
+
"__SPopper": "___SPopper_7dn2t_gg_",
|
|
79
|
+
"__SHeader": "___SHeader_7dn2t_gg_",
|
|
80
|
+
"__STitle": "___STitle_7dn2t_gg_",
|
|
81
|
+
"__SToday": "___SToday_7dn2t_gg_",
|
|
82
|
+
"__SPeriod": "___SPeriod_7dn2t_gg_"
|
|
83
83
|
});
|
|
84
84
|
var i18n = {
|
|
85
85
|
de: _de["default"],
|
|
@@ -244,13 +244,19 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
244
244
|
if (!visible) {
|
|
245
245
|
_this2.handlers.highlighted([]);
|
|
246
246
|
|
|
247
|
+
_this2.setState({
|
|
248
|
+
dirtyValue: []
|
|
249
|
+
});
|
|
250
|
+
|
|
247
251
|
_this2.handlers.displayedPeriod(getEndDate(_this2.asProps.value) || _this2.props.defaultDisplayedPeriod);
|
|
248
252
|
}
|
|
249
253
|
}],
|
|
250
254
|
highlighted: null,
|
|
251
|
-
value: [null, function () {
|
|
255
|
+
value: [null, function (value) {
|
|
252
256
|
// TODO: работает только из-за new Date() !== new Date()
|
|
253
257
|
_this2.handlers.visible(false);
|
|
258
|
+
|
|
259
|
+
_this2.handlers.displayedPeriod(getEndDate(value));
|
|
254
260
|
}]
|
|
255
261
|
};
|
|
256
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/RangePickerAbstract.js"],"names":["i18n","de","en","es","fr","it","ja","ru","zh","pt","ko","vi","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","CORE_INSTANCE","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","Dropdown","defaultValue","defaultHighlighted","defaultVisible","Component","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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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.handlers.displayedPeriod(getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n () => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\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)\n [action](1, this.navigateStep)\n .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 = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\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)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .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":["i18n","de","en","es","fr","it","ja","ru","zh","pt","ko","vi","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","CORE_INSTANCE","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","Dropdown","defaultValue","defaultHighlighted","defaultVisible","Component","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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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)\n [action](1, this.navigateStep)\n .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 = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\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)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .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"}
|
|
@@ -42,9 +42,9 @@ var _flexBox = require("@semcore/flex-box");
|
|
|
42
42
|
|
|
43
43
|
var _button = _interopRequireDefault(require("@semcore/button"));
|
|
44
44
|
|
|
45
|
-
var
|
|
45
|
+
var _m = _interopRequireDefault(require("@semcore/icon/ChevronLeft/m"));
|
|
46
46
|
|
|
47
|
-
var
|
|
47
|
+
var _m2 = _interopRequireDefault(require("@semcore/icon/ChevronRight/m"));
|
|
48
48
|
|
|
49
49
|
var _assignProps8 = require("@semcore/utils/lib/assignProps");
|
|
50
50
|
|
|
@@ -112,7 +112,7 @@ function Prev() {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
Prev.defaultProps = {
|
|
115
|
-
children: /*#__PURE__*/_react["default"].createElement(
|
|
115
|
+
children: /*#__PURE__*/_react["default"].createElement(_m["default"], null)
|
|
116
116
|
};
|
|
117
117
|
|
|
118
118
|
function Next() {
|
|
@@ -128,18 +128,18 @@ function Next() {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
Next.defaultProps = {
|
|
131
|
-
children: /*#__PURE__*/_react["default"].createElement(
|
|
131
|
+
children: /*#__PURE__*/_react["default"].createElement(_m2["default"], null)
|
|
132
132
|
};
|
|
133
133
|
var stylesBtn = (
|
|
134
134
|
/*__reshadow_css_start__*/
|
|
135
135
|
_core.sstyled.insert(
|
|
136
136
|
/*__inner_css_start__*/
|
|
137
|
-
".
|
|
137
|
+
".___SInner_1day0_gg_{justify-content:flex-start}"
|
|
138
138
|
/*__inner_css_end__*/
|
|
139
139
|
, "rfgf9b_gg_")
|
|
140
140
|
/*__reshadow_css_end__*/
|
|
141
141
|
, {
|
|
142
|
-
"__SInner": "
|
|
142
|
+
"__SInner": "___SInner_1day0_gg_"
|
|
143
143
|
});
|
|
144
144
|
|
|
145
145
|
var Period = /*#__PURE__*/function (_Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/index.js"],"names":["Trigger","Dropdown","ButtonTrigger","Popper","props","SPopper","styles","Header","SHeader","Box","Title","Children","STitle","Prev","Button","defaultProps","children","Next","stylesBtn","sstyled","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","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEO,SAASA,OAAT,GAAmB;AAAA;;AACxB,sBAAO,gCAAcC,qBAASD,OAAvB;AAAA,WAAqCE;AAArC,WAAP;AACD;;AAEM,SAASC,MAAT,CAAgBC,KAAhB,EAAuB;AAAA;AAAA;;AAC5B,MAAMC,OAAO,GAEMJ,qBAASE,MAF5B;AACA,iBAAO,mBAAQC,KAAK,CAACE,MAAd,CAAP,eACE,gCAAC,OAAD;AAAA,YAAuC,QAAvC;AAAA,kBAA2D;AAA3D,cADF;AAGD;;AAEM,SAASC,MAAT,CAAgBH,KAAhB,EAAuB;AAAA;AAAA;;AAC5B,MAAMI,OAAO,GACiCC,YAD9C;AACA,iBAAO,mBAAQL,KAAK,CAACE,MAAd,CAAP,eAA6B,gCAAC,OAAD,4EAA7B;AACD;;AAEM,IAAMI,KAAK,GAAG,SAARA,KAAQ,SAA0B;AAAA;AAAA;;AAAA,MAAvBC,QAAuB,UAAvBA,QAAuB;AAAA,MAAbL,MAAa,UAAbA,MAAa;AAC7C,MAAMM,MAAM,GAEMH,YAFlB;AACA,kBAAO,mBAAQH,MAAR,CAAP,eACE,gCAAC,MAAD,0FACE,gCAAC,QAAD,4BADF,CADF;AAKD,CAPM;;;;AASA,SAASO,IAAT,GAAgB;AAAA;;AACrB,sBACE,gCACUC,kBADV;AAAA,WAEM,UAFN;AAAA,aAGQ,OAHR;AAAA,YAIO,GAJP;AAAA,gBAKY,CAAC,CALb;AAAA,kBAMa;AANb,YADF;AAUD;;AAEDD,IAAI,CAACE,YAAL,GAAoB;AAClBC,EAAAA,QAAQ,eAAE,gCAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/index.js"],"names":["Trigger","Dropdown","ButtonTrigger","Popper","props","SPopper","styles","Header","SHeader","Box","Title","Children","STitle","Prev","Button","defaultProps","children","Next","stylesBtn","sstyled","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","Component"],"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"}
|
|
@@ -6,23 +6,16 @@ import React, { ComponentProps } from 'react';
|
|
|
6
6
|
import BaseTrigger from '@semcore/base-trigger';
|
|
7
7
|
import { Box } from '@semcore/flex-box';
|
|
8
8
|
import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
|
|
9
|
-
import
|
|
10
|
-
import CalendarS from '@semcore/icon/lib/Calendar/s';
|
|
9
|
+
import Calendar from '@semcore/icon/Calendar/m';
|
|
11
10
|
import createComponent, { Root } from '@semcore/core';
|
|
12
|
-
var MAP_SIZE_TO_CALENDAR_SIZE = {
|
|
13
|
-
m: CalendarXS,
|
|
14
|
-
l: CalendarS,
|
|
15
|
-
xl: CalendarS
|
|
16
|
-
};
|
|
17
11
|
|
|
18
12
|
var ButtonTriggerRoot = function ButtonTriggerRoot(_ref2) {
|
|
19
13
|
var _ref = _this ? _this.asProps : arguments[0];
|
|
20
14
|
|
|
21
15
|
var Children = _ref2.Children,
|
|
22
16
|
size = _ref2.size;
|
|
23
|
-
var Icon = MAP_SIZE_TO_CALENDAR_SIZE[size || 'm'];
|
|
24
17
|
return /*#__PURE__*/React.createElement(BaseTrigger, _assignProps({}, _ref), /*#__PURE__*/React.createElement(ButtonTrigger.Addon, {
|
|
25
|
-
tag:
|
|
18
|
+
tag: Calendar
|
|
26
19
|
}), addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon));
|
|
27
20
|
};
|
|
28
21
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ButtonTrigger.js"],"names":["React","ComponentProps","BaseTrigger","Box","addonTextChildren","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ButtonTrigger.js"],"names":["React","ComponentProps","BaseTrigger","Box","addonTextChildren","Calendar","createComponent","Root","ButtonTriggerRoot","Children","size","ButtonTrigger","Text","Addon","displayName"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,cAAhB,QAAsC,OAAtC;AACA,OAAOC,WAAP,MAAwB,uBAAxB;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,QAAP,MAAqB,0BAArB;AACA,OAAOC,eAAP,IAA0BC,IAA1B,QAAsC,eAAtC;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAwB;AAAA;;AAAA,MAArBC,QAAqB,SAArBA,QAAqB;AAAA,MAAXC,IAAW,SAAXA,IAAW;AAChD,sBACE,oBAAcR,WAAd,uCACE,oBAAC,aAAD,CAAe,KAAf;AAAqB,IAAA,GAAG,EAAEG;AAA1B,IADF,EAEGD,iBAAiB,CAACK,QAAD,EAAWE,aAAa,CAACC,IAAzB,EAA+BD,aAAa,CAACE,KAA7C,CAFpB,CADF;AAMD,CAPD;;AASAL,iBAAiB,CAACM,WAAlB,GAAgC,eAAhC;AAEA,IAAMH,aAAa,GAAGL,eAAe,CAACE,iBAAD,EAAoB;AACvDI,EAAAA,IAAI,EAAEV,WAAW,CAACU,IADqC;AAEvDC,EAAAA,KAAK,EAAEX,WAAW,CAACW;AAFoC,CAApB,CAArC;AAKA,eAAeF,aAAf","sourcesContent":["import React, { ComponentProps } from 'react';\nimport BaseTrigger from '@semcore/base-trigger';\nimport { Box } from '@semcore/flex-box';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport Calendar from '@semcore/icon/Calendar/m';\nimport createComponent, { Root } from '@semcore/core';\n\nconst ButtonTriggerRoot = ({ Children, size }) => {\n return (\n <Root render={BaseTrigger}>\n <ButtonTrigger.Addon tag={Calendar} />\n {addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon)}\n </Root>\n );\n};\n\nButtonTriggerRoot.displayName = 'ButtonTrigger';\n\nconst ButtonTrigger = createComponent(ButtonTriggerRoot, {\n Text: BaseTrigger.Text,\n Addon: BaseTrigger.Addon,\n});\n\nexport default ButtonTrigger;\n"],"file":"ButtonTrigger.js"}
|
|
@@ -37,26 +37,26 @@ var style = (
|
|
|
37
37
|
/*__reshadow_css_start__*/
|
|
38
38
|
_sstyled.insert(
|
|
39
39
|
/*__inner_css_start__*/
|
|
40
|
-
".
|
|
40
|
+
".___SCalendar_7wt21_gg_{display:flex;flex-direction:column}.___SGridDays_7wt21_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_7wt21_gg_{display:grid;grid-row-gap:8px;grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_7wt21_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SWeekDay_7wt21_gg_{color:#757575;overflow:hidden}.___SCalendarUnit_7wt21_gg_,.___SWeekDay_7wt21_gg_{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400}.___SCalendarUnit_7wt21_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_7wt21_gg_:hover{color:#333;background:rgba(166,176,179,.2)}.___SCalendarUnit_7wt21_gg_.focus-visible,.___SCalendarUnit_7wt21_gg_:focus-visible{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__today_7wt21_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_7wt21_gg_.__today_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_gg_:before,.___SCalendarUnit_7wt21_gg_.__today_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_gg_:before{border-color:hsla(0,0%,100%,.5)}.___SCalendarUnit_7wt21_gg_.__selected_7wt21_gg_{background:rgba(43,148,225,.1);border-radius:0;color:#333}.___SCalendarUnit_7wt21_gg_.__selected_7wt21_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__highlighted_7wt21_gg_{background:rgba(43,148,225,.2);border-radius:0;color:#333}.___SCalendarUnit_7wt21_gg_.__highlighted_7wt21_gg_:hover{background:rgba(43,148,225,.3)}.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_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_7wt21_gg_.__startSelected_7wt21_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_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_7wt21_gg_.__endSelected_7wt21_gg_:hover{color:#fff;background:#2682c6}.___SCalendarUnit_7wt21_gg_.__startHighlighted_7wt21_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:0}.___SCalendarUnit_7wt21_gg_.__endHighlighted_7wt21_gg_{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.___SCalendarUnit_7wt21_gg_.__startHighlighted_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endHighlighted_7wt21_gg_,.___SCalendarUnit_7wt21_gg_.__startSelected_7wt21_gg_.___SCalendarUnit_7wt21_gg_.__endSelected_7wt21_gg_{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}.___SCalendarUnit_7wt21_gg_.__disabled_7wt21_gg_{opacity:.4;cursor:default;pointer-events:none}.___SCalendarUnit_7wt21_gg_.__outdated_7wt21_gg_{opacity:.2}"
|
|
41
41
|
/*__inner_css_end__*/
|
|
42
|
-
, "
|
|
42
|
+
, "1wiogkk_gg_")
|
|
43
43
|
/*__reshadow_css_end__*/
|
|
44
44
|
, {
|
|
45
|
-
"__SCalendar": "
|
|
46
|
-
"__SGridDays": "
|
|
47
|
-
"__SGridMonths": "
|
|
48
|
-
"__SWeekDays": "
|
|
49
|
-
"__SWeekDay": "
|
|
50
|
-
"__SCalendarUnit": "
|
|
51
|
-
"_today": "
|
|
52
|
-
"_endSelected": "
|
|
53
|
-
"_startSelected": "
|
|
54
|
-
"_selected": "
|
|
55
|
-
"_highlighted": "
|
|
56
|
-
"_startHighlighted": "
|
|
57
|
-
"_endHighlighted": "
|
|
58
|
-
"_disabled": "
|
|
59
|
-
"_outdated": "
|
|
45
|
+
"__SCalendar": "___SCalendar_7wt21_gg_",
|
|
46
|
+
"__SGridDays": "___SGridDays_7wt21_gg_",
|
|
47
|
+
"__SGridMonths": "___SGridMonths_7wt21_gg_",
|
|
48
|
+
"__SWeekDays": "___SWeekDays_7wt21_gg_",
|
|
49
|
+
"__SWeekDay": "___SWeekDay_7wt21_gg_",
|
|
50
|
+
"__SCalendarUnit": "___SCalendarUnit_7wt21_gg_",
|
|
51
|
+
"_today": "__today_7wt21_gg_",
|
|
52
|
+
"_endSelected": "__endSelected_7wt21_gg_",
|
|
53
|
+
"_startSelected": "__startSelected_7wt21_gg_",
|
|
54
|
+
"_selected": "__selected_7wt21_gg_",
|
|
55
|
+
"_highlighted": "__highlighted_7wt21_gg_",
|
|
56
|
+
"_startHighlighted": "__startHighlighted_7wt21_gg_",
|
|
57
|
+
"_endHighlighted": "__endHighlighted_7wt21_gg_",
|
|
58
|
+
"_disabled": "__disabled_7wt21_gg_",
|
|
59
|
+
"_outdated": "__outdated_7wt21_gg_"
|
|
60
60
|
});
|
|
61
61
|
dayjs.extend(isBetween);
|
|
62
62
|
|
|
@@ -34,16 +34,16 @@ var style = (
|
|
|
34
34
|
/*__reshadow_css_start__*/
|
|
35
35
|
_sstyled.insert(
|
|
36
36
|
/*__inner_css_start__*/
|
|
37
|
-
".
|
|
37
|
+
".___SPopper_7dn2t_gg_{padding:16px;outline:0}.___SPopper_7dn2t_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_7dn2t_gg_:active,.___SPopper_7dn2t_gg_:focus,.___SPopper_7dn2t_gg_:hover{outline:0;text-decoration:none}.___SPopper_7dn2t_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_7dn2t_gg_{display:flex}.___STitle_7dn2t_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_7dn2t_gg_,.___SToday_7dn2t_gg_{display:flex;justify-content:center}.___SToday_7dn2t_gg_{margin-top:12px}.___SPeriod_7dn2t_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": "
|
|
43
|
-
"__SHeader": "
|
|
44
|
-
"__STitle": "
|
|
45
|
-
"__SToday": "
|
|
46
|
-
"__SPeriod": "
|
|
42
|
+
"__SPopper": "___SPopper_7dn2t_gg_",
|
|
43
|
+
"__SHeader": "___SHeader_7dn2t_gg_",
|
|
44
|
+
"__STitle": "___STitle_7dn2t_gg_",
|
|
45
|
+
"__SToday": "___SToday_7dn2t_gg_",
|
|
46
|
+
"__SPeriod": "___SPeriod_7dn2t_gg_"
|
|
47
47
|
});
|
|
48
48
|
import includesDate from '../utils/includesDate';
|
|
49
49
|
var i18n = {
|
|
@@ -154,9 +154,11 @@ var PickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
154
154
|
}
|
|
155
155
|
}],
|
|
156
156
|
highlighted: null,
|
|
157
|
-
value: [null, function () {
|
|
157
|
+
value: [null, function (value) {
|
|
158
158
|
// TODO: работает только из-за new Date() !== new Date()
|
|
159
159
|
_this2.handlers.visible(false);
|
|
160
|
+
|
|
161
|
+
_this2.handlers.displayedPeriod(value);
|
|
160
162
|
}]
|
|
161
163
|
};
|
|
162
164
|
}
|
|
@@ -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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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 () => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\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)\n [action](1, this.navigateStep)\n .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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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)\n [action](1, this.navigateStep)\n .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
|
-
".
|
|
41
|
+
".___SPopper_7dn2t_gg_{padding:16px;outline:0}.___SPopper_7dn2t_gg_::-moz-focus-inner{border:none;padding:0}.___SPopper_7dn2t_gg_:active,.___SPopper_7dn2t_gg_:focus,.___SPopper_7dn2t_gg_:hover{outline:0;text-decoration:none}.___SPopper_7dn2t_gg_:focus{box-shadow:0 0 0 3px rgba(43,148,225,.3)}.___SHeader_7dn2t_gg_{display:flex}.___STitle_7dn2t_gg_{font-size:12px;height:32px;width:100%;align-items:center}.___STitle_7dn2t_gg_,.___SToday_7dn2t_gg_{display:flex;justify-content:center}.___SToday_7dn2t_gg_{margin-top:12px}.___SPeriod_7dn2t_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": "
|
|
47
|
-
"__SHeader": "
|
|
48
|
-
"__STitle": "
|
|
49
|
-
"__SToday": "
|
|
50
|
-
"__SPeriod": "
|
|
46
|
+
"__SPopper": "___SPopper_7dn2t_gg_",
|
|
47
|
+
"__SHeader": "___SHeader_7dn2t_gg_",
|
|
48
|
+
"__STitle": "___STitle_7dn2t_gg_",
|
|
49
|
+
"__SToday": "___SToday_7dn2t_gg_",
|
|
50
|
+
"__SPeriod": "___SPeriod_7dn2t_gg_"
|
|
51
51
|
});
|
|
52
52
|
var i18n = {
|
|
53
53
|
de: de,
|
|
@@ -222,13 +222,19 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
222
222
|
if (!visible) {
|
|
223
223
|
_this2.handlers.highlighted([]);
|
|
224
224
|
|
|
225
|
+
_this2.setState({
|
|
226
|
+
dirtyValue: []
|
|
227
|
+
});
|
|
228
|
+
|
|
225
229
|
_this2.handlers.displayedPeriod(getEndDate(_this2.asProps.value) || _this2.props.defaultDisplayedPeriod);
|
|
226
230
|
}
|
|
227
231
|
}],
|
|
228
232
|
highlighted: null,
|
|
229
|
-
value: [null, function () {
|
|
233
|
+
value: [null, function (value) {
|
|
230
234
|
// TODO: работает только из-за new Date() !== new Date()
|
|
231
235
|
_this2.handlers.visible(false);
|
|
236
|
+
|
|
237
|
+
_this2.handlers.displayedPeriod(getEndDate(value));
|
|
232
238
|
}]
|
|
233
239
|
};
|
|
234
240
|
}
|
|
@@ -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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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.handlers.displayedPeriod(getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n () => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\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)\n [action](1, this.navigateStep)\n .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 = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\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)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .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)\n .add(amount, unit)\n .toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date)\n .subtract(amount, unit)\n .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)\n [action](1, this.navigateStep)\n .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 = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\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)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .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"}
|
|
@@ -31,8 +31,8 @@ import { Component, Root, sstyled } from '@semcore/core';
|
|
|
31
31
|
import Dropdown from '@semcore/dropdown';
|
|
32
32
|
import { Box } from '@semcore/flex-box';
|
|
33
33
|
import Button from '@semcore/button';
|
|
34
|
-
import ChevronLeft from '@semcore/icon/
|
|
35
|
-
import ChevronRight from '@semcore/icon/
|
|
34
|
+
import ChevronLeft from '@semcore/icon/ChevronLeft/m';
|
|
35
|
+
import ChevronRight from '@semcore/icon/ChevronRight/m';
|
|
36
36
|
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
37
37
|
import ButtonTrigger from './ButtonTrigger';
|
|
38
38
|
export function Trigger() {
|
|
@@ -100,12 +100,12 @@ var stylesBtn = (
|
|
|
100
100
|
/*__reshadow_css_start__*/
|
|
101
101
|
sstyled.insert(
|
|
102
102
|
/*__inner_css_start__*/
|
|
103
|
-
".
|
|
103
|
+
".___SInner_1day0_gg_{justify-content:flex-start}"
|
|
104
104
|
/*__inner_css_end__*/
|
|
105
105
|
, "rfgf9b_gg_")
|
|
106
106
|
/*__reshadow_css_end__*/
|
|
107
107
|
, {
|
|
108
|
-
"__SInner": "
|
|
108
|
+
"__SInner": "___SInner_1day0_gg_"
|
|
109
109
|
});
|
|
110
110
|
export var Period = /*#__PURE__*/function (_Component) {
|
|
111
111
|
_inherits(Period, _Component);
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,IAApB,EAA0BC,OAA1B,QAAyC,eAAzC;AACA,OAAOC,QAAP,MAAqB,mBAArB;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,WAAP,MAAwB,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/date-picker",
|
|
3
3
|
"description": "SEMRush DatePicker Component",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.6.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@semcore/flex-box": "^4",
|
|
19
19
|
"@semcore/button": "^3",
|
|
20
20
|
"@semcore/divider": "^2",
|
|
21
|
-
"@semcore/icon": "^2",
|
|
21
|
+
"@semcore/icon": "^2.16",
|
|
22
22
|
"@semcore/dropdown": "^2",
|
|
23
23
|
"@semcore/typography": "^3",
|
|
24
24
|
"dayjs": "^1.8"
|
|
@@ -2,21 +2,13 @@ import React, { ComponentProps } from 'react';
|
|
|
2
2
|
import BaseTrigger from '@semcore/base-trigger';
|
|
3
3
|
import { Box } from '@semcore/flex-box';
|
|
4
4
|
import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
|
|
5
|
-
import
|
|
6
|
-
import CalendarS from '@semcore/icon/lib/Calendar/s';
|
|
5
|
+
import Calendar from '@semcore/icon/Calendar/m';
|
|
7
6
|
import createComponent, { Root } from '@semcore/core';
|
|
8
7
|
|
|
9
|
-
const MAP_SIZE_TO_CALENDAR_SIZE = {
|
|
10
|
-
m: CalendarXS,
|
|
11
|
-
l: CalendarS,
|
|
12
|
-
xl: CalendarS,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
8
|
const ButtonTriggerRoot = ({ Children, size }) => {
|
|
16
|
-
const Icon = MAP_SIZE_TO_CALENDAR_SIZE[size || 'm'];
|
|
17
9
|
return (
|
|
18
10
|
<Root render={BaseTrigger}>
|
|
19
|
-
<ButtonTrigger.Addon tag={
|
|
11
|
+
<ButtonTrigger.Addon tag={Calendar} />
|
|
20
12
|
{addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon)}
|
|
21
13
|
</Root>
|
|
22
14
|
);
|
|
@@ -72,9 +72,10 @@ class PickerAbstract extends Component {
|
|
|
72
72
|
highlighted: null,
|
|
73
73
|
value: [
|
|
74
74
|
null,
|
|
75
|
-
() => {
|
|
75
|
+
(value) => {
|
|
76
76
|
// TODO: работает только из-за new Date() !== new Date()
|
|
77
77
|
this.handlers.visible(false);
|
|
78
|
+
this.handlers.displayedPeriod(value);
|
|
78
79
|
},
|
|
79
80
|
],
|
|
80
81
|
};
|
|
@@ -78,16 +78,20 @@ class RangePickerAbstract extends Component {
|
|
|
78
78
|
(visible) => {
|
|
79
79
|
if (!visible) {
|
|
80
80
|
this.handlers.highlighted([]);
|
|
81
|
-
this.
|
|
81
|
+
this.setState({ dirtyValue: [] });
|
|
82
|
+
this.handlers.displayedPeriod(
|
|
83
|
+
getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,
|
|
84
|
+
);
|
|
82
85
|
}
|
|
83
86
|
},
|
|
84
87
|
],
|
|
85
88
|
highlighted: null,
|
|
86
89
|
value: [
|
|
87
90
|
null,
|
|
88
|
-
() => {
|
|
91
|
+
(value) => {
|
|
89
92
|
// TODO: работает только из-за new Date() !== new Date()
|
|
90
93
|
this.handlers.visible(false);
|
|
94
|
+
this.handlers.displayedPeriod(getEndDate(value));
|
|
91
95
|
},
|
|
92
96
|
],
|
|
93
97
|
};
|
package/src/components/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import { Component, Root, sstyled } from '@semcore/core';
|
|
|
4
4
|
import Dropdown from '@semcore/dropdown';
|
|
5
5
|
import { Box } from '@semcore/flex-box';
|
|
6
6
|
import Button from '@semcore/button';
|
|
7
|
-
import ChevronLeft from '@semcore/icon/
|
|
8
|
-
import ChevronRight from '@semcore/icon/
|
|
7
|
+
import ChevronLeft from '@semcore/icon/ChevronLeft/m';
|
|
8
|
+
import ChevronRight from '@semcore/icon/ChevronRight/m';
|
|
9
9
|
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
10
10
|
import ButtonTrigger from './ButtonTrigger';
|
|
11
11
|
|