@semcore/date-picker 2.8.1 → 2.8.4
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 +18 -0
- package/lib/cjs/DatePicker.js +1 -1
- package/lib/cjs/DatePicker.js.map +1 -1
- package/lib/cjs/DateRangePicker.js.map +1 -1
- package/lib/cjs/MonthPicker.js.map +1 -1
- package/lib/cjs/MonthRangePicker.js.map +1 -1
- package/lib/cjs/components/ButtonTrigger.js +3 -9
- package/lib/cjs/components/ButtonTrigger.js.map +1 -1
- package/lib/cjs/components/Calendar.js +5 -5
- package/lib/cjs/components/Calendar.js.map +1 -1
- package/lib/cjs/components/PickerAbstract.js +1 -2
- package/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/lib/cjs/components/RangePickerAbstract.js +2 -4
- package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/lib/cjs/components/index.js +15 -20
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/index.d.ts +355 -0
- package/lib/cjs/index.js +5 -39
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/utils/shortDateRangeFormat.js +1 -0
- package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
- package/lib/es6/DatePicker.js +1 -1
- package/lib/es6/DatePicker.js.map +1 -1
- package/lib/es6/DateRangePicker.js.map +1 -1
- package/lib/es6/MonthPicker.js.map +1 -1
- package/lib/es6/MonthRangePicker.js.map +1 -1
- package/lib/es6/components/ButtonTrigger.js +3 -9
- package/lib/es6/components/ButtonTrigger.js.map +1 -1
- package/lib/es6/components/Calendar.js +5 -5
- package/lib/es6/components/Calendar.js.map +1 -1
- package/lib/es6/components/PickerAbstract.js +1 -2
- package/lib/es6/components/PickerAbstract.js.map +1 -1
- package/lib/es6/components/RangePickerAbstract.js +2 -4
- package/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/lib/es6/components/index.js +15 -20
- package/lib/es6/components/index.js.map +1 -1
- package/lib/es6/index.d.ts +355 -0
- package/lib/es6/index.js +0 -3
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/utils/shortDateRangeFormat.js +1 -0
- package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
- package/package.json +5 -2
- package/src/{DatePicker.js → DatePicker.jsx} +0 -0
- package/src/{DateRangePicker.js → DateRangePicker.jsx} +0 -0
- package/src/{MonthPicker.js → MonthPicker.jsx} +0 -0
- package/src/{MonthRangePicker.js → MonthRangePicker.jsx} +0 -0
- package/src/components/{ButtonTrigger.js → ButtonTrigger.jsx} +2 -3
- package/src/components/{Calendar.js → Calendar.jsx} +0 -0
- package/src/components/{PickerAbstract.js → PickerAbstract.jsx} +0 -1
- package/src/components/{RangePickerAbstract.js → RangePickerAbstract.jsx} +2 -8
- package/src/components/{index.js → index.jsx} +2 -8
- package/src/index.js +0 -3
- package/src/utils/shortDateRangeFormat.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [2.8.4] - 2022-04-28
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/base-trigger` [2.6.3 ~> 2.6.4], `@semcore/icon` [2.20.0 ~> 2.21.0]).
|
|
10
|
+
|
|
11
|
+
## [2.8.3] - 2022-03-21
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Version patch update due to children dependencies update (`@semcore/base-trigger` [2.6.2 ~> 2.6.3], `@semcore/icon` [2.19.4 ~> 2.20.0]).
|
|
16
|
+
|
|
17
|
+
## [2.8.2] - 2022-03-14
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Version patch update due to children dependencies update (`@semcore/utils` [3.31.2 ~> 3.31.2], `@semcore/base-trigger` [2.6.1 ~> 2.6.2], `@semcore/button` [3.3.6 ~> 3.3.7]).
|
|
22
|
+
|
|
5
23
|
## [2.8.1] - 2022-03-05
|
|
6
24
|
|
|
7
25
|
### Changed
|
package/lib/cjs/DatePicker.js
CHANGED
|
@@ -159,7 +159,7 @@ var Today = /*#__PURE__*/function (_Component) {
|
|
|
159
159
|
(0, _createClass2["default"])(Today, [{
|
|
160
160
|
key: "render",
|
|
161
161
|
value: function render() {
|
|
162
|
-
var _ref = this
|
|
162
|
+
var _ref = this.asProps,
|
|
163
163
|
_ref2;
|
|
164
164
|
|
|
165
165
|
var SToday = _flexBox.Box;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/DatePicker.
|
|
1
|
+
{"version":3,"sources":["../../src/DatePicker.jsx"],"names":["DatePickerRoot","handlers","value","Date","setHours","asProps","locale","placeholder","children","displayedPeriod","Intl","DateTimeFormat","month","year","format","startOf","toDate","i18n","onClick","handlerToday","PickerAbstract","props","defaultProps","Today","SToday","Box","styles","getI18nText","Component","DatePicker","Trigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport Divider from '@semcore/divider';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { Header, Next, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\nimport { getLocaleDate } from './utils/formatDate';\n\nexport class DatePickerRoot extends PickerAbstract {\n static displayName = 'DatePicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <DatePicker.Trigger />\n <DatePicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n handlerToday = () => {\n this.handlers.value(new Date(new Date().setHours(0, 0, 0, 0)));\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date',\n children: value ? getLocaleDate(value, locale) : null,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DatePicker.Header />\n <DatePicker.Calendar />\n <Divider ml={-4} w=\"calc(100% + 32px)\" />\n <DatePicker.Today />\n </>\n ),\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('month').toDate(),\n ),\n };\n }\n\n getTodayProps() {\n const { i18n, locale } = this.asProps;\n return {\n i18n,\n locale,\n onClick: this.handlerToday,\n };\n }\n}\n\nclass Today extends Component {\n static enhance = [i18nEnhance()];\n\n render() {\n const SToday = Root;\n const { styles, getI18nText } = this.asProps;\n return sstyled(styles)(\n <SToday render={Box}>\n <Button use=\"tertiary\" children={getI18nText('today')} />\n </SToday>,\n );\n }\n}\n\nconst DatePicker = createComponent(\n DatePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Today,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DatePicker;\n"],"file":"DatePicker.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/DateRangePicker.
|
|
1
|
+
{"version":3,"sources":["../../src/DateRangePicker.jsx"],"names":["DateRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","subtract","toDate","locale","placeholder","day","month","year","RangePickerAbstract","props","defaultProps","DateRangePicker","Trigger","Popper","Header","Title","Prev","Next","Calendar","Period","parent"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport RangePickerAbstract from './components/RangePickerAbstract';\n\nclass DateRangePickerRoot extends RangePickerAbstract {\n static displayName = 'DateRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <DateRangePicker.Trigger />\n <DateRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('last2Days'),\n value: [dayjs(today).subtract(1, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastWeek'),\n value: [dayjs(today).subtract(6, 'day').toDate(), today],\n },\n {\n children: getI18nText('last2Weeks'),\n value: [dayjs(today).subtract(13, 'day').toDate(), today],\n },\n {\n children: getI18nText('lastMonth'),\n value: [dayjs(today).subtract(1, 'month').toDate(), today],\n },\n {\n children: getI18nText('last2Months'),\n value: [dayjs(today).subtract(2, 'month').toDate(), today],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select date period',\n children: shortDateRangeFormat(value, {\n locale,\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n}\n\nconst DateRangePicker = createComponent(\n DateRangePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangePicker;\n"],"file":"DateRangePicker.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MonthPicker.
|
|
1
|
+
{"version":3,"sources":["../../src/MonthPicker.jsx"],"names":["MonthPickerRoot","asProps","value","locale","placeholder","children","Intl","DateTimeFormat","month","year","format","toDate","displayedPeriod","startOf","PickerAbstract","props","defaultProps","MonthPicker","Trigger","Popper","Header","Title","Prev","Next","Calendar","parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEMA,e;;;;;;;;;;;;;;;qGAaW,M;gGACL,O;gGACA;AACR,UAAI,CAAC,CADG;AAER,UAAI,CAAC,CAFG;AAGR,UAAI,CAHI;AAIR,UAAI;AAJI,K;;;;;;WAOV,2BAAkB;AAChB,0BAA0B,KAAKC,OAA/B;AAAA,UAAQC,KAAR,iBAAQA,KAAR;AAAA,UAAeC,MAAf,iBAAeA,MAAf;AACA;AAEEC,QAAAA,WAAW,EAAE,cAFf;AAGEC,QAAAA,QAAQ,EAAEH,KAAK,GACX,IAAII,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;AAC9BK,UAAAA,KAAK,EAAE,OADuB;AAE9BC,UAAAA,IAAI,EAAE;AAFwB,SAAhC,EAGGC,MAHH,CAGU,uBAAMR,KAAN,EAAaS,MAAb,EAHV,CADW,GAKX;AARN;AAUD;;;WAED,yBAAgB;AACd,2BAAoC,KAAKV,OAAzC;AAAA,UAAQW,eAAR,kBAAQA,eAAR;AAAA,UAAyBT,MAAzB,kBAAyBA,MAAzB;AACA;AAEEE,QAAAA,QAAQ,EAAE,IAAIC,IAAI,CAACC,cAAT,CAAwBJ,MAAxB,EAAgC;AAAEM,UAAAA,IAAI,EAAE;AAAR,SAAhC,EAAqDC,MAArD,CACR,uBAAME,eAAN,EAAuBC,OAAvB,CAA+B,MAA/B,EAAuCF,MAAvC,EADQ;AAFZ;AAMD;;;EA5C2BG,2B;;iCAAxBd,e,iBACiB,a;iCADjBA,e,kBAGkB,UAACe,KAAD;AAAA,yCACjBD,4BAAeE,YAAf,CAA4BD,KAA5B,CADiB;AAEpBV,IAAAA,QAAQ,eACN,+EACE,gCAAC,WAAD,CAAa,OAAb,OADF,eAEE,gCAAC,WAAD,CAAa,MAAb,OAFF;AAHkB;AAAA,C;AA4CxB,IAAMY,WAAW,GAAG,sBAClBjB,eADkB,EAElB;AACEkB,EAAAA,OAAO,EAAPA,mBADF;AAEEC,EAAAA,MAAM,EAANA,kBAFF;AAGEC,EAAAA,MAAM,EAANA,kBAHF;AAIEC,EAAAA,KAAK,EAALA,iBAJF;AAKEC,EAAAA,IAAI,EAAJA,gBALF;AAMEC,EAAAA,IAAI,EAAJA,gBANF;AAOEC,EAAAA,QAAQ,EAARA;AAPF,CAFkB,EAWlB;AACEC,EAAAA,MAAM,EAAED;AADV,CAXkB,CAApB;eAgBeP,W","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport { Header, Next, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport PickerAbstract from './components/PickerAbstract';\n\nclass MonthPickerRoot extends PickerAbstract {\n static displayName = 'MonthPicker';\n\n static defaultProps = (props) => ({\n ...PickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthPicker.Trigger />\n <MonthPicker.Popper />\n </>\n ),\n });\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month',\n children: value\n ? new Intl.DateTimeFormat(locale, {\n month: 'short',\n year: 'numeric',\n }).format(dayjs(value).toDate())\n : null,\n };\n }\n\n getTitleProps() {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).startOf('year').toDate(),\n ),\n };\n }\n}\n\nconst MonthPicker = createComponent(\n MonthPickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthPicker;\n"],"file":"MonthPicker.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MonthRangePicker.
|
|
1
|
+
{"version":3,"sources":["../../src/MonthRangePicker.jsx"],"names":["MonthRangePickerRoot","getI18nText","asProps","today","Date","setHours","children","value","subtract","startOf","toDate","locale","placeholder","month","year","props","index","displayedPeriod","Intl","DateTimeFormat","format","add","navigateStep","RangePickerAbstract","defaultProps","MonthRangePicker","Trigger","Popper","Header","Title","Prev","Next","Calendar","Period","parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEMA,oB;;;;;;;;;;;;;;;qGAcW,M;gGACL,O;gGACA;AACR,UAAI,CAAC,CADG;AAER,UAAI,CAAC,CAFG;AAGR,UAAI,CAHI;AAIR,UAAI;AAJI,K;;;;;;WAOV,6BAAoB;AAClB,UAAQC,WAAR,GAAwB,KAAKC,OAA7B,CAAQD,WAAR;AACA,UAAME,KAAK,GAAG,IAAIC,IAAJ,CAAS,IAAIA,IAAJ,GAAWC,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,EAA6B,CAA7B,CAAT,CAAd;AACA,aAAO,CACL;AACEC,QAAAA,QAAQ,EAAEL,WAAW,CAAC,WAAD,CADvB;AAEEM,QAAAA,KAAK,EAAE,CACL,uBAAMJ,KAAN,EAAaK,QAAb,CAAsB,CAAtB,EAAyB,OAAzB,EAAkCC,OAAlC,CAA0C,OAA1C,EAAmDC,MAAnD,EADK,EAEL,uBAAMP,KAAN,EAAaM,OAAb,CAAqB,OAArB,EAA8BC,MAA9B,EAFK;AAFT,OADK,EAQL;AACEJ,QAAAA,QAAQ,EAAEL,WAAW,CAAC,aAAD,CADvB;AAEEM,QAAAA,KAAK,EAAE,CACL,uBAAMJ,KAAN,EAAaK,QAAb,CAAsB,CAAtB,EAAyB,OAAzB,EAAkCC,OAAlC,CAA0C,OAA1C,EAAmDC,MAAnD,EADK,EAEL,uBAAMP,KAAN,EAAaM,OAAb,CAAqB,OAArB,EAA8BC,MAA9B,EAFK;AAFT,OARK,EAeL;AACEJ,QAAAA,QAAQ,EAAEL,WAAW,CAAC,aAAD,CADvB;AAEEM,QAAAA,KAAK,EAAE,CACL,uBAAMJ,KAAN,EAAaK,QAAb,CAAsB,CAAtB,EAAyB,OAAzB,EAAkCC,OAAlC,CAA0C,OAA1C,EAAmDC,MAAnD,EADK,EAEL,uBAAMP,KAAN,EAAaM,OAAb,CAAqB,OAArB,EAA8BC,MAA9B,EAFK;AAFT,OAfK,EAsBL;AACEJ,QAAAA,QAAQ,EAAEL,WAAW,CAAC,cAAD,CADvB;AAEEM,QAAAA,KAAK,EAAE,CACL,uBAAMJ,KAAN,EAAaK,QAAb,CAAsB,EAAtB,EAA0B,OAA1B,EAAmCC,OAAnC,CAA2C,OAA3C,EAAoDC,MAApD,EADK,EAEL,uBAAMP,KAAN,EAAaM,OAAb,CAAqB,OAArB,EAA8BC,MAA9B,EAFK;AAFT,OAtBK,CAAP;AA8BD;;;WAED,2BAAkB;AAChB,0BAA0B,KAAKR,OAA/B;AAAA,UAAQK,KAAR,iBAAQA,KAAR;AAAA,UAAeI,MAAf,iBAAeA,MAAf;AACA;AAEEC,QAAAA,WAAW,EAAE,qBAFf;AAGEN,QAAAA,QAAQ,EAAE,sCAAqBC,KAArB,EAA4B;AACpCI,UAAAA,MAAM,EAANA,MADoC;AAEpCE,UAAAA,KAAK,EAAE,OAF6B;AAGpCC,UAAAA,IAAI,EAAE;AAH8B,SAA5B;AAHZ;AASD;;;WAED,uBAAcC,KAAd,EAAqBC,KAArB,EAA4B;AAC1B,2BAAoC,KAAKd,OAAzC;AAAA,UAAQe,eAAR,kBAAQA,eAAR;AAAA,UAAyBN,MAAzB,kBAAyBA,MAAzB;AACA,uKACyBI,KADzB,EACgCC,KADhC;AAEEV,QAAAA,QAAQ,EAAE,IAAIY,IAAI,CAACC,cAAT,CAAwBR,MAAxB,EAAgC;AAAEG,UAAAA,IAAI,EAAE;AAAR,SAAhC,EAAqDM,MAArD,CACR,uBAAMH,eAAN,EAAuBI,GAAvB,CAA2BL,KAA3B,EAAkC,KAAKM,YAAvC,EAAqDb,OAArD,CAA6D,KAAKa,YAAlE,EAAgFZ,MAAhF,EADQ;AAFZ;AAMD;;;EA/EgCa,gC;;iCAA7BvB,oB,iBACiB,kB;iCADjBA,oB,kBAEkB,UAACe,KAAD,EAAW;AAC/B,yCACKQ,iCAAoBC,YAApB,CAAiCT,KAAjC,CADL;AAEET,IAAAA,QAAQ,eACN,+EACE,gCAAC,gBAAD,CAAkB,OAAlB,OADF,eAEE,gCAAC,gBAAD,CAAkB,MAAlB,OAFF;AAHJ;AASD,C;AAsEH,IAAMmB,gBAAgB,GAAG,sBACvBzB,oBADuB,EAEvB;AACE0B,EAAAA,OAAO,EAAPA,mBADF;AAEEC,EAAAA,MAAM,EAANA,kBAFF;AAGEC,EAAAA,MAAM,EAANA,kBAHF;AAIEC,EAAAA,KAAK,EAALA,iBAJF;AAKEC,EAAAA,IAAI,EAAJA,gBALF;AAMEC,EAAAA,IAAI,EAAJA,gBANF;AAOEC,EAAAA,QAAQ,EAARA,wBAPF;AAQEC,EAAAA,MAAM,EAANA;AARF,CAFuB,EAYvB;AACEC,EAAAA,MAAM,EAAEF;AADV,CAZuB,CAAzB;eAiBeP,gB","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport createComponent from '@semcore/core';\nimport shortDateRangeFormat from './utils/shortDateRangeFormat';\nimport { Header, Next, Period, Popper, Prev, Title, Trigger } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport RangePickerAbstract from './components/RangePickerAbstract';\n\nclass MonthRangePickerRoot extends RangePickerAbstract {\n static displayName = 'MonthRangePicker';\n static defaultProps = (props) => {\n return {\n ...RangePickerAbstract.defaultProps(props),\n children: (\n <>\n <MonthRangePicker.Trigger />\n <MonthRangePicker.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('lastMonth'),\n value: [\n dayjs(today).subtract(1, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last3Months'),\n value: [\n dayjs(today).subtract(2, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last6Months'),\n value: [\n dayjs(today).subtract(5, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last12Months'),\n value: [\n dayjs(today).subtract(11, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n ];\n }\n\n getTriggerProps() {\n const { value, locale } = this.asProps;\n return {\n ...super.getTriggerProps(),\n placeholder: 'Select month period',\n children: shortDateRangeFormat(value, {\n locale,\n month: 'short',\n year: 'numeric',\n }),\n };\n }\n\n getTitleProps(props, index) {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(props, index),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n}\n\nconst MonthRangePicker = createComponent(\n MonthRangePickerRoot,\n {\n Trigger,\n Popper,\n Header,\n Title,\n Prev,\n Next,\n Calendar,\n Period,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthRangePicker;\n"],"file":"MonthRangePicker.js"}
|
|
@@ -11,27 +11,21 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _core = _interopRequireWildcard(require("@semcore/core"));
|
|
13
13
|
|
|
14
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
16
|
var _baseTrigger = _interopRequireDefault(require("@semcore/base-trigger"));
|
|
17
17
|
|
|
18
|
-
var _flexBox = require("@semcore/flex-box");
|
|
19
|
-
|
|
20
18
|
var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
|
|
21
19
|
|
|
22
20
|
var _m = _interopRequireDefault(require("@semcore/icon/Calendar/m"));
|
|
23
21
|
|
|
24
|
-
var _this = void 0;
|
|
25
|
-
|
|
26
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
23
|
|
|
28
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
25
|
|
|
30
26
|
var ButtonTriggerRoot = function ButtonTriggerRoot(_ref2) {
|
|
31
|
-
var _ref =
|
|
32
|
-
|
|
33
|
-
var Children = _ref2.Children,
|
|
34
|
-
size = _ref2.size;
|
|
27
|
+
var _ref = arguments[0];
|
|
28
|
+
var Children = _ref2.Children;
|
|
35
29
|
return /*#__PURE__*/_react["default"].createElement(_baseTrigger["default"], (0, _core.assignProps)({}, _ref), /*#__PURE__*/_react["default"].createElement(ButtonTrigger.Addon, {
|
|
36
30
|
tag: _m["default"]
|
|
37
31
|
}), (0, _addonTextChildren["default"])(Children, ButtonTrigger.Text, ButtonTrigger.Addon));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ButtonTrigger.
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ButtonTrigger.jsx"],"names":["ButtonTriggerRoot","Children","BaseTrigger","Calendar","ButtonTrigger","Text","Addon","displayName"],"mappings":";;;;;;;;;;;AAIA;;AAJA;;AACA;;AACA;;AACA;;;;;;AAGA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,QAAkB;AAAA;AAAA,MAAfC,QAAe,SAAfA,QAAe;AAC1C,sBACE,gCAAcC,uBAAd,iDACE,gCAAC,aAAD,CAAe,KAAf;AAAqB,IAAA,GAAG,EAAEC;AAA1B,IADF,EAEG,mCAAkBF,QAAlB,EAA4BG,aAAa,CAACC,IAA1C,EAAgDD,aAAa,CAACE,KAA9D,CAFH,CADF;AAMD,CAPD;;AASAN,iBAAiB,CAACO,WAAlB,GAAgC,eAAhC;AAEA,IAAMH,aAAa,GAAG,sBAAgBJ,iBAAhB,EAAmC;AACvDK,EAAAA,IAAI,EAAEH,wBAAYG,IADqC;AAEvDC,EAAAA,KAAK,EAAEJ,wBAAYI;AAFoC,CAAnC,CAAtB;eAKeF,a","sourcesContent":["import React from 'react';\nimport BaseTrigger from '@semcore/base-trigger';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport Calendar from '@semcore/icon/Calendar/m';\nimport createComponent, { Root } from '@semcore/core';\n\nconst ButtonTriggerRoot = ({ Children }) => {\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"}
|
|
@@ -145,7 +145,7 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
|
|
|
145
145
|
}, {
|
|
146
146
|
key: "render",
|
|
147
147
|
value: function render() {
|
|
148
|
-
var _ref = this
|
|
148
|
+
var _ref = this.asProps,
|
|
149
149
|
_ref6;
|
|
150
150
|
|
|
151
151
|
var SWeekDays = _flexBox.Box;
|
|
@@ -173,7 +173,7 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
|
|
|
173
173
|
});
|
|
174
174
|
|
|
175
175
|
function CalendarWeekUnit(props) {
|
|
176
|
-
var _ref2 =
|
|
176
|
+
var _ref2 = arguments[0],
|
|
177
177
|
_ref7;
|
|
178
178
|
|
|
179
179
|
var SWeekDay = _flexBox.Box;
|
|
@@ -294,7 +294,7 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
|
|
|
294
294
|
(0, _defineProperty2["default"])(CalendarAbstract, "style", style);
|
|
295
295
|
|
|
296
296
|
function CalendarUnit(_ref14) {
|
|
297
|
-
var _ref3 =
|
|
297
|
+
var _ref3 = arguments[0],
|
|
298
298
|
_ref8;
|
|
299
299
|
|
|
300
300
|
var styles = _ref14.styles,
|
|
@@ -385,7 +385,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
|
|
|
385
385
|
}, {
|
|
386
386
|
key: "render",
|
|
387
387
|
value: function render() {
|
|
388
|
-
var _ref4 = this
|
|
388
|
+
var _ref4 = this.asProps,
|
|
389
389
|
_ref9;
|
|
390
390
|
|
|
391
391
|
var SCalendar = _flexBox.Box;
|
|
@@ -461,7 +461,7 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
|
|
|
461
461
|
}, {
|
|
462
462
|
key: "render",
|
|
463
463
|
value: function render() {
|
|
464
|
-
var _ref5 = this
|
|
464
|
+
var _ref5 = this.asProps,
|
|
465
465
|
_ref10;
|
|
466
466
|
|
|
467
467
|
var SCalendar = _flexBox.Box;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Calendar.js"],"names":["dayjs","extend","isBetween","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","weekStart","Ls","CalendarWeekDaysRoot","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","days","getDaysByWeek","SWeekDays","Box","Children","styles","Component","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","today","onClick","toDate","onMouseEnter","startDate","CalendarUnit","SCalendarUnit","CalendarDaysRoot","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","createUnit","outdated","String","slice","monthDays","nextMonthDays","getDaysByMonth","SCalendar","SGridDays","handleMouseLeave","CalendarMonthsRoot","month","months","getMonthsByYear","SGridMonths","CalendarWeekDays","Unit","CalendarDays","CalendarMonths"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { getLocaleDate } from '../utils/formatDate';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: weekday,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit(props) {\n const SWeekDay = Root;\n return sstyled(props.styles)(<SWeekDay render={Box} />);\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const { disabled: _disabled, value, locale, highlighted: _highlighted } = this.asProps;\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n let highlighted0 = _highlighted[0] ? dayjs(_highlighted[0]) : null;\n let highlighted1 = _highlighted[1] ? dayjs(_highlighted[1]) : highlighted0;\n let startHighlighted, endHighlighted, highlighted;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n highlighted = date.isBetween(highlighted0, highlighted1, unit, '[]');\n startHighlighted = highlighted0 && date.isSame(highlighted0, 'date');\n endHighlighted = highlighted1 && date.isSame(highlighted1, 'date');\n }\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: getLocaleDate(date, locale),\n children: '',\n startSelected,\n endSelected,\n selected,\n disabled,\n highlighted,\n startHighlighted,\n endHighlighted,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n fire(this, 'onHighlightedChange', highlighted);\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { value, highlighted: _highlighted } = this.asProps;\n if (_highlighted[0] || value.length === 1) {\n const startDate = _highlighted[0] || value[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n fire(this, 'onHighlightedChange', highlighted);\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n}\n\nfunction CalendarUnit({ styles, date }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit render={Box} tag=\"button\" aria-hidden={!date} aria-label={date} tabIndex={-1} />,\n );\n}\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"file":"Calendar.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar.jsx"],"names":["dayjs","extend","isBetween","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","weekStart","Ls","CalendarWeekDaysRoot","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","days","getDaysByWeek","SWeekDays","Box","Children","styles","Component","style","map","data","i","CalendarWeekUnit","props","SWeekDay","CalendarAbstract","Date","setHours","highlighted","unit","other","self","_disabled","disabled","value","_highlighted","value0","value1","selected","startSelected","isSame","endSelected","highlighted0","highlighted1","startHighlighted","endHighlighted","some","today","onClick","toDate","onMouseEnter","startDate","CalendarUnit","SCalendarUnit","CalendarDaysRoot","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","createUnit","outdated","String","slice","monthDays","nextMonthDays","getDaysByMonth","SCalendar","SGridDays","handleMouseLeave","CalendarMonthsRoot","month","months","getMonthsByYear","SGridMonths","CalendarWeekDays","Unit","CalendarDays","CalendarMonths"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { getLocaleDate } from '../utils/formatDate';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: weekday,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit(props) {\n const SWeekDay = Root;\n return sstyled(props.styles)(<SWeekDay render={Box} />);\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const { disabled: _disabled, value, locale, highlighted: _highlighted } = this.asProps;\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n let highlighted0 = _highlighted[0] ? dayjs(_highlighted[0]) : null;\n let highlighted1 = _highlighted[1] ? dayjs(_highlighted[1]) : highlighted0;\n let startHighlighted, endHighlighted, highlighted;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n highlighted = date.isBetween(highlighted0, highlighted1, unit, '[]');\n startHighlighted = highlighted0 && date.isSame(highlighted0, 'date');\n endHighlighted = highlighted1 && date.isSame(highlighted1, 'date');\n }\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: getLocaleDate(date, locale),\n children: '',\n startSelected,\n endSelected,\n selected,\n disabled,\n highlighted,\n startHighlighted,\n endHighlighted,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n fire(this, 'onHighlightedChange', highlighted);\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { value, highlighted: _highlighted } = this.asProps;\n if (_highlighted[0] || value.length === 1) {\n const startDate = _highlighted[0] || value[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n fire(this, 'onHighlightedChange', highlighted);\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n}\n\nfunction CalendarUnit({ styles, date }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit render={Box} tag=\"button\" aria-hidden={!date} aria-label={date} tabIndex={-1} />,\n );\n}\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"file":"Calendar.js"}
|
|
@@ -199,7 +199,6 @@ var PickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
199
199
|
}, {
|
|
200
200
|
key: "getPopperProps",
|
|
201
201
|
value: function getPopperProps() {
|
|
202
|
-
var interaction = this.asProps.interaction;
|
|
203
202
|
var Picker = this[_core.CORE_INSTANCE];
|
|
204
203
|
return {
|
|
205
204
|
tabIndex: 0,
|
|
@@ -257,7 +256,7 @@ var PickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
257
256
|
}, {
|
|
258
257
|
key: "render",
|
|
259
258
|
value: function render() {
|
|
260
|
-
var _ref = this
|
|
259
|
+
var _ref = this.asProps,
|
|
261
260
|
_ref2;
|
|
262
261
|
|
|
263
262
|
var _this$asProps4 = this.asProps,
|
|
@@ -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).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.displayedPeriod(this.asProps.value || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(value);\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => {\n this.navigateView(direction);\n };\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { value, displayedPeriod, highlighted, disabled: _disabled } = this.asProps;\n const day = this.keyDiff[e.keyCode];\n\n const getCurrentHighlightedDay = (day) => {\n const current_day = day.toDate();\n const isDisabledDay = _disabled.some(includesDate(dayjs(current_day), 'date'));\n return isDisabledDay ? null : current_day;\n };\n\n if (e.keyCode === 32 || (e.keyCode === 13 && highlighted.length)) {\n this.handlers.value(highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n const current_highlighted =\n !highlighted[0] && !value\n ? dayjs(highlighted[0] || displayedPeriod)\n : dayjs(displayedPeriod).add(day, this.keyStep);\n const current_day =\n getCurrentHighlightedDay(current_highlighted) ||\n getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));\n\n if (current_day) {\n this.handlers.highlighted([current_day]);\n this.handlers.displayedPeriod(current_day);\n e.preventDefault();\n }\n }\n };\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const { interaction } = this.asProps;\n const Picker = this[CORE_INSTANCE];\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Picker.Header />\n <Picker.Calendar />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps() {\n return {};\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps() {\n const { locale, displayedPeriod, disabled, value, onChange, highlighted } = this.asProps;\n return {\n locale,\n displayedPeriod,\n disabled,\n onChange,\n highlighted,\n value: [value, value],\n renderOutdated: true,\n };\n }\n\n render() {\n const { styles, Children } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default PickerAbstract;\n"],"file":"PickerAbstract.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/PickerAbstract.jsx"],"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","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).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.displayedPeriod(this.asProps.value || this.props.defaultDisplayedPeriod);\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(value);\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => {\n this.navigateView(direction);\n };\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { value, displayedPeriod, highlighted, disabled: _disabled } = this.asProps;\n const day = this.keyDiff[e.keyCode];\n\n const getCurrentHighlightedDay = (day) => {\n const current_day = day.toDate();\n const isDisabledDay = _disabled.some(includesDate(dayjs(current_day), 'date'));\n return isDisabledDay ? null : current_day;\n };\n\n if (e.keyCode === 32 || (e.keyCode === 13 && highlighted.length)) {\n this.handlers.value(highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n const current_highlighted =\n !highlighted[0] && !value\n ? dayjs(highlighted[0] || displayedPeriod)\n : dayjs(displayedPeriod).add(day, this.keyStep);\n const current_day =\n getCurrentHighlightedDay(current_highlighted) ||\n getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));\n\n if (current_day) {\n this.handlers.highlighted([current_day]);\n this.handlers.displayedPeriod(current_day);\n e.preventDefault();\n }\n }\n };\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value,\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const 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"}
|
|
@@ -151,7 +151,6 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
151
151
|
|
|
152
152
|
var setNextDisplayedPeriod = function setNextDisplayedPeriod(next_highlighted) {
|
|
153
153
|
var _next_highlighted = (0, _slicedToArray2["default"])(next_highlighted, 2),
|
|
154
|
-
_ = _next_highlighted[0],
|
|
155
154
|
right_period = _next_highlighted[1];
|
|
156
155
|
|
|
157
156
|
if (right_period) {
|
|
@@ -288,8 +287,7 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
288
287
|
_this$asProps3$period = _this$asProps3.periods,
|
|
289
288
|
periods = _this$asProps3$period === void 0 ? this.getDefaultPeriods() : _this$asProps3$period,
|
|
290
289
|
unclearable = _this$asProps3.unclearable,
|
|
291
|
-
getI18nText = _this$asProps3.getI18nText
|
|
292
|
-
interaction = _this$asProps3.interaction;
|
|
290
|
+
getI18nText = _this$asProps3.getI18nText;
|
|
293
291
|
var dirtyValue = this.state.dirtyValue;
|
|
294
292
|
|
|
295
293
|
var buttons = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
@@ -405,7 +403,7 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
|
|
|
405
403
|
}, {
|
|
406
404
|
key: "render",
|
|
407
405
|
value: function render() {
|
|
408
|
-
var _ref = this
|
|
406
|
+
var _ref = this.asProps,
|
|
409
407
|
_ref2;
|
|
410
408
|
|
|
411
409
|
var _this$asProps7 = this.asProps,
|
|
@@ -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).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [_, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const {\n value,\n periods = this.getDefaultPeriods(),\n unclearable,\n getI18nText,\n interaction,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n const buttons = (\n <>\n <Button\n use=\"primary\"\n children={getI18nText('apply')}\n onClick={() => this.handlerApply(dirtyValue.length ? dirtyValue : value)}\n />\n {!unclearable && (\n <Button\n ml={2}\n use=\"tertiary\"\n theme=\"muted\"\n children={getI18nText('reset')}\n onClick={() => this.handlerApply([])}\n />\n )}\n </>\n );\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Flex>\n <Box mr={2}>\n <Picker.Header>\n <Picker.Prev />\n <Picker.Title />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n <Box ml={2}>\n <Picker.Header>\n <Picker.Title />\n <Picker.Next />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n {Boolean(periods.length) && (\n <>\n <Divider m=\"-16px 16px\" orientation=\"vertical\" h=\"auto\" />\n <Flex direction=\"column\">\n <Picker.Period />\n <Flex mt=\"auto\">{buttons}</Flex>\n </Flex>\n </>\n )}\n </Flex>\n {!Boolean(periods.length) && <Flex mt={4}>{buttons}</Flex>}\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps(props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps(props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n highlighted,\n onHighlightedChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n highlighted,\n onHighlightedChange,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerChange,\n };\n }\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n value,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n return {\n periods,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerApply,\n onHighlightedChange,\n onDisplayedPeriodChange,\n };\n }\n\n render() {\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default RangePickerAbstract;\n"],"file":"RangePickerAbstract.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/RangePickerAbstract.jsx"],"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","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":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,IAAI,GAAG;AAAEC,EAAAA,EAAE,EAAFA,cAAF;AAAMC,EAAAA,EAAE,EAAFA,cAAN;AAAUC,EAAAA,EAAE,EAAFA,cAAV;AAAcC,EAAAA,EAAE,EAAFA,cAAd;AAAkBC,EAAAA,EAAE,EAAFA,cAAlB;AAAsBC,EAAAA,EAAE,EAAFA,cAAtB;AAA0BC,EAAAA,EAAE,EAAFA,cAA1B;AAA8BC,EAAAA,EAAE,EAAFA,cAA9B;AAAkCC,EAAAA,EAAE,EAAFA,cAAlC;AAAsCC,EAAAA,EAAE,EAAFA,cAAtC;AAA0CC,EAAAA,EAAE,EAAFA;AAA1C,CAAb;AAEA,IAAMC,gBAAgB,GAAG,CAAC,OAAD,CAAzB;AAEA,IAAMC,sBAAsB,GAAG,IAAIC,IAAJ,CAAS,IAAIA,IAAJ,GAAWC,QAAX,CAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,EAA6B,CAA7B,CAAT,CAA/B;;AAEA,SAASC,UAAT,CAAoBC,KAApB,EAA2B;AACzB,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAL,EAA2B,OAAO,IAAP;;AAC3B,+CAAyCA,KAAzC;AAAA,MAAOG,SAAP;AAAA;AAAA,MAAkBC,OAAlB,wBAA4BD,SAA5B;;AACA,SAAOC,OAAP;AACD;;IAEKC,mB;;;;;;;;;;;;;;;;;;8FA8BI;AACNC,MAAAA,UAAU,EAAE;AADN,K;qGA+BO,UAACC,SAAD,EAAe;AAC5B,UAAQC,eAAR,GAA4B,MAAKC,OAAjC,CAAQD,eAAR;AACA,UAAME,MAAM,GAAGH,SAAS,IAAI,CAAb,GAAiB,KAAjB,GAAyB,UAAxC;AACA,UAAMI,IAAI,GAAG,uBAAMH,eAAN,EAAuBE,MAAvB,EAA+B,CAA/B,EAAkC,MAAKE,YAAvC,EAAqDC,MAArD,EAAb;;AACA,YAAKC,QAAL,CAAcN,eAAd,CAA8BG,IAA9B;AACD,K;iHAE0B,UAACJ,SAAD;AAAA,aAAe;AAAA,eAAM,MAAKQ,YAAL,CAAkBR,SAAlB,CAAN;AAAA,OAAf;AAAA,K;uGAEV,UAACS,CAAD,EAAO;AACtB,UAAIA,CAAC,CAACC,MAAF,KAAaD,CAAC,CAACE,aAAnB,EAAkC;AAClC,0BAAyC,MAAKT,OAA9C;AAAA,UAAQD,eAAR,iBAAQA,eAAR;AAAA,UAAyBW,WAAzB,iBAAyBA,WAAzB;AACA,UAAQb,UAAR,GAAuB,MAAKc,KAA5B,CAAQd,UAAR;AACA,UAAMe,GAAG,GAAG,MAAKC,OAAL,CAAaN,CAAC,CAACO,OAAf,CAAZ;;AAEA,UAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,gBAAD,EAAsB;AACnD,gEAAyBA,gBAAzB;AAAA,YAASC,YAAT;;AAEA,YAAIA,YAAJ,EAAkB;AAChB,cAAMC,kBAAkB,GAAGD,YAAY,CAACE,QAAb,EAA3B;AACA,cAAMC,sBAAsB,GAAGrB,eAAe,CAACoB,QAAhB,EAA/B;;AACA,cAAID,kBAAkB,GAAGE,sBAArB,GAA8C,CAAlD,EAAqD;AACnD,mBAAOxB,mBAAmB,CAACyB,QAApB,CAA6BJ,YAA7B,EAA2C,CAA3C,EAA8C,OAA9C,CAAP;AACD,WAFD,MAEO,IAAIC,kBAAkB,GAAGE,sBAArB,GAA8C,CAAlD,EAAqD;AAC1D,mBAAOH,YAAP;AACD;AACF;;AACD,eAAOlB,eAAP;AACD,OAbD;;AAeA,UAAIQ,CAAC,CAACO,OAAF,KAAc,EAAd,IAAoBJ,WAAW,CAACY,MAApC,EAA4C;AAC1C,cAAKC,aAAL,CAAmBb,WAAW,CAAC,CAAD,CAAX,IAAkBA,WAAW,CAAC,CAAD,CAAhD;;AACAH,QAAAA,CAAC,CAACiB,cAAF;AACD;;AACD,UAAIZ,GAAJ,EAAS;AACP,YAAI1B,gBAAgB,CAACuC,QAAjB,CAA0BlB,CAAC,CAACC,MAAF,CAASkB,OAAnC,CAAJ,EAAiD;;AACjD,YAAIhB,WAAW,CAACY,MAAhB,EAAwB;AACtB,cAAIN,gBAAJ;;AACA,cAAInB,UAAU,CAACyB,MAAX,KAAsB,CAA1B,EAA6B;AAC3BN,YAAAA,gBAAgB,GAAG,CACjBnB,UAAU,CAAC,CAAD,CADO,EAEjB,uBAAMa,WAAW,CAAC,CAAD,CAAX,IAAkBA,WAAW,CAAC,CAAD,CAAnC,EACGiB,GADH,CACOf,GADP,EACY,MAAKgB,OADjB,EAEGxB,MAFH,EAFiB,CAAnB;AAMD,WAPD,MAOO;AACLY,YAAAA,gBAAgB,GAAG,CAAC,uBAAMN,WAAW,CAAC,CAAD,CAAjB,EAAsBiB,GAAtB,CAA0Bf,GAA1B,EAA+B,MAAKgB,OAApC,EAA6CxB,MAA7C,EAAD,CAAnB;AACD;;AACD,gBAAKC,QAAL,CAAcK,WAAd,CAA0BM,gBAA1B;;AACA,gBAAKX,QAAL,CAAcN,eAAd,CAA8BgB,sBAAsB,CAACC,gBAAD,CAApD;AACD,SAdD,MAcO;AACL,gBAAKX,QAAL,CAAcK,WAAd,CAA0B,CAACX,eAAD,CAA1B;AACD;;AACDQ,QAAAA,CAAC,CAACiB,cAAF;AACD;AACF,K;qGAEc,UAACjC,KAAD,EAAW;AACxB,oDAAyCA,KAAzC;AAAA,UAAOG,SAAP;AAAA;AAAA,UAAkBC,OAAlB,yBAA4BD,SAA5B;;AACA,YAAK6B,aAAL,CAAmB,EAAnB;;AACA,YAAKlB,QAAL,CAAcd,KAAd,CAAoB,CAACG,SAAD,EAAYC,OAAZ,CAApB;AACD,K;sGAEe,UAACO,IAAD,EAAU;AACxB,UAAML,UAAN,GAAqB,MAAKc,KAA1B,CAAMd,UAAN;AACA,UAAIa,WAAW,GAAG,EAAlB;;AACA,UAAIlB,KAAK,CAACC,OAAN,CAAcS,IAAd,CAAJ,EAAyB;AACvBL,QAAAA,UAAU,GAAGK,IAAb;AACD,OAFD,MAEO,IAAI,CAACL,UAAU,CAACyB,MAAhB,EAAwB;AAC7BzB,QAAAA,UAAU,GAAG,CAACK,IAAD,CAAb;AACAQ,QAAAA,WAAW,GAAG,CAACR,IAAD,CAAd;AACD,OAHM,MAGA,IAAIL,UAAU,CAACyB,MAAX,IAAqB,CAAzB,EAA4B;AACjCzB,QAAAA,UAAU,GAAG,CAACK,IAAD,CAAb;AACAQ,QAAAA,WAAW,GAAG,CAACR,IAAD,CAAd;AACD,OAHM,MAGA,IAAIL,UAAU,CAAC,CAAD,CAAV,GAAgBK,IAApB,EAA0B;AAC/BL,QAAAA,UAAU,GAAG,CAACK,IAAD,EAAOL,UAAU,CAAC,CAAD,CAAjB,CAAb;AACD,OAFM,MAEA;AACLA,QAAAA,UAAU,GAAG,CAACA,UAAU,CAAC,CAAD,CAAX,EAAgBK,IAAhB,CAAb;AACD;;AAED,YAAK2B,QAAL,CAAc;AAAEhC,QAAAA,UAAU,EAAVA;AAAF,OAAd,EAA8B,YAAM;AAClC,cAAKQ,QAAL,CAAcK,WAAd,CAA0BA,WAA1B;AACD,OAFD;AAGD,K;;;;;;WA9GD,6BAAoB;AAAA;;AAClB,aAAO;AACLX,QAAAA,eAAe,EAAE,IADZ;AAEL+B,QAAAA,OAAO,EAAE,CACP,IADO,EAEP,UAACA,OAAD,EAAa;AACX,cAAI,CAACA,OAAL,EAAc;AACZ,YAAA,MAAI,CAACzB,QAAL,CAAcK,WAAd,CAA0B,EAA1B;;AACA,YAAA,MAAI,CAACmB,QAAL,CAAc;AAAEhC,cAAAA,UAAU,EAAE;AAAd,aAAd;;AACA,YAAA,MAAI,CAACQ,QAAL,CAAcN,eAAd,CACET,UAAU,CAAC,MAAI,CAACU,OAAL,CAAaT,KAAd,CAAV,IAAkC,MAAI,CAACwC,KAAL,CAAW5C,sBAD/C;AAGD;AACF,SAVM,CAFJ;AAcLuB,QAAAA,WAAW,EAAE,IAdR;AAeLnB,QAAAA,KAAK,EAAE,CACL,IADK,EAEL,UAACA,KAAD,EAAW;AACT;AACA,UAAA,MAAI,CAACc,QAAL,CAAcyB,OAAd,CAAsB,KAAtB;;AACA,UAAA,MAAI,CAACzB,QAAL,CAAcN,eAAd,CAA8BT,UAAU,CAACC,KAAD,CAAxC;AACD,SANI;AAfF,OAAP;AAwBD;;;WAuFD,6BAAoB;AAClB,aAAO,EAAP;AACD;;;WAED,2BAAkB;AAChB,2BAAwB,KAAKS,OAA7B;AAAA,UAAQT,KAAR,kBAAQA,KAAR;AAAA,UAAeyC,IAAf,kBAAeA,IAAf;AACA,aAAO;AACLA,QAAAA,IAAI,EAAJA,IADK;AAELC,QAAAA,KAAK,EAAE,CAAC1C,KAAK,CAAC,CAAD,CAAN,IAAa,CAACA,KAAK,CAAC,CAAD,CAFrB;AAGL2C,QAAAA,SAAS,EAAE,KAAKC;AAHX,OAAP;AAKD;;;WAED,0BAAiB;AAAA;;AACf,UAAMC,MAAM,GAAG,KAAKC,mBAAL,CAAf;AACA,2BAAgF,KAAKrC,OAArF;AAAA,UAAQT,KAAR,kBAAQA,KAAR;AAAA,iDAAe+C,OAAf;AAAA,UAAeA,OAAf,sCAAyB,KAAKC,iBAAL,EAAzB;AAAA,UAAmDC,WAAnD,kBAAmDA,WAAnD;AAAA,UAAgEC,WAAhE,kBAAgEA,WAAhE;AACA,UAAQ5C,UAAR,GAAuB,KAAKc,KAA5B,CAAQd,UAAR;;AAEA,UAAM6C,OAAO,gBACX,+EACE,gCAAC,kBAAD;AACE,QAAA,GAAG,EAAC,SADN;AAEE,QAAA,QAAQ,EAAED,WAAW,CAAC,OAAD,CAFvB;AAGE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACE,YAAL,CAAkB9C,UAAU,CAACyB,MAAX,GAAoBzB,UAApB,GAAiCN,KAAnD,CAAN;AAAA;AAHX,QADF,EAMG,CAACiD,WAAD,iBACC,gCAAC,kBAAD;AACE,QAAA,EAAE,EAAE,CADN;AAEE,QAAA,GAAG,EAAC,UAFN;AAGE,QAAA,KAAK,EAAC,OAHR;AAIE,QAAA,QAAQ,EAAEC,WAAW,CAAC,OAAD,CAJvB;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,MAAI,CAACE,YAAL,CAAkB,EAAlB,CAAN;AAAA;AALX,QAPJ,CADF;;AAmBA,aAAO;AACLC,QAAAA,QAAQ,EAAE,CADL;AAELV,QAAAA,SAAS,EAAE,KAAKC,cAFX;AAGLU,QAAAA,QAAQ,eACN,+EACE,gCAAC,aAAD,qBACE,gCAAC,YAAD;AAAK,UAAA,EAAE,EAAE;AAAT,wBACE,gCAAC,MAAD,CAAQ,MAAR,qBACE,gCAAC,MAAD,CAAQ,IAAR,OADF,eAEE,gCAAC,MAAD,CAAQ,KAAR,OAFF,CADF,eAKE,gCAAC,MAAD,CAAQ,QAAR,OALF,CADF,eAQE,gCAAC,YAAD;AAAK,UAAA,EAAE,EAAE;AAAT,wBACE,gCAAC,MAAD,CAAQ,MAAR,qBACE,gCAAC,MAAD,CAAQ,KAAR,OADF,eAEE,gCAAC,MAAD,CAAQ,IAAR,OAFF,CADF,eAKE,gCAAC,MAAD,CAAQ,QAAR,OALF,CARF,EAeGC,OAAO,CAACR,OAAO,CAAChB,MAAT,CAAP,iBACC,+EACE,gCAAC,mBAAD;AAAS,UAAA,CAAC,EAAC,YAAX;AAAwB,UAAA,WAAW,EAAC,UAApC;AAA+C,UAAA,CAAC,EAAC;AAAjD,UADF,eAEE,gCAAC,aAAD;AAAM,UAAA,SAAS,EAAC;AAAhB,wBACE,gCAAC,MAAD,CAAQ,MAAR,OADF,eAEE,gCAAC,aAAD;AAAM,UAAA,EAAE,EAAC;AAAT,WAAiBoB,OAAjB,CAFF,CAFF,CAhBJ,CADF,EA0BG,CAACI,OAAO,CAACR,OAAO,CAAChB,MAAT,CAAR,iBAA4B,gCAAC,aAAD;AAAM,UAAA,EAAE,EAAE;AAAV,WAAcoB,OAAd,CA1B/B;AAJG,OAAP;AAkCD;;;WAED,0BAAiB;AACf,UAAMN,MAAM,GAAG,KAAKC,mBAAL,CAAf;AACA,aAAO;AACLQ,QAAAA,QAAQ,eACN,+EACE,gCAAC,MAAD,CAAQ,IAAR,OADF,eAEE,gCAAC,MAAD,CAAQ,KAAR,OAFF,eAGE,gCAAC,MAAD,CAAQ,IAAR,OAHF;AAFG,OAAP;AASD;;;WAED,uBAAcd,KAAd,EAAqBgB,KAArB,EAA4B;AAC1B,2BAAoC,KAAK/C,OAAzC;AAAA,UAAQgD,MAAR,kBAAQA,MAAR;AAAA,UAAgBjD,eAAhB,kBAAgBA,eAAhB;AACA,aAAO;AACL8C,QAAAA,QAAQ,EAAE,IAAII,IAAI,CAACC,cAAT,CAAwBF,MAAxB,EAAgC;AAAEG,UAAAA,KAAK,EAAE,MAAT;AAAiBC,UAAAA,IAAI,EAAE;AAAvB,SAAhC,EAAoEC,MAApE,CACR,uBAAMtD,eAAN,EAAuB4B,GAAvB,CAA2BoB,KAA3B,EAAkC,KAAK5C,YAAvC,EAAqDmD,OAArD,CAA6D,KAAKnD,YAAlE,EAAgFC,MAAhF,EADQ;AADL,OAAP;AAKD;;;WAED,wBAAe;AACb,aAAO;AACLmD,QAAAA,OAAO,EAAE,KAAKC,wBAAL,CAA8B,CAA9B;AADJ,OAAP;AAGD;;;WAED,wBAAe;AACb,aAAO;AACLD,QAAAA,OAAO,EAAE,KAAKC,wBAAL,CAA8B,CAAC,CAA/B;AADJ,OAAP;AAGD;;;WAED,0BAAiBzB,KAAjB,EAAwBgB,KAAxB,EAA+B;AAC7B,2BAOI,KAAK/C,OAPT;AAAA,UACEgD,MADF,kBACEA,MADF;AAAA,UAEEjD,eAFF,kBAEEA,eAFF;AAAA,UAGE0D,QAHF,kBAGEA,QAHF;AAAA,UAIElE,KAJF,kBAIEA,KAJF;AAAA,UAKEmB,WALF,kBAKEA,WALF;AAAA,UAMEgD,mBANF,kBAMEA,mBANF;AAQA,UAAQ7D,UAAR,GAAuB,KAAKc,KAA5B,CAAQd,UAAR;AAEA,aAAO;AACLmD,QAAAA,MAAM,EAANA,MADK;AAELjD,QAAAA,eAAe,EAAE,uBAAMA,eAAN,EACd4B,GADc,CACVoB,KADU,EACH,KAAK5C,YADF,EAEdmD,OAFc,CAEN,KAAKnD,YAFC,EAGdC,MAHc,EAFZ;AAMLqD,QAAAA,QAAQ,EAARA,QANK;AAOL/C,QAAAA,WAAW,EAAXA,WAPK;AAQLgD,QAAAA,mBAAmB,EAAnBA,mBARK;AASLnE,QAAAA,KAAK,EAAEM,UAAU,CAACyB,MAAX,GAAoBzB,UAApB,GAAiCN,KATnC;AAULoE,QAAAA,QAAQ,EAAE,KAAKpC;AAVV,OAAP;AAYD;;;WAED,0BAAiB;AACf,2BAKI,KAAKvB,OALT;AAAA,iDACEsC,OADF;AAAA,UACEA,OADF,sCACY,KAAKC,iBAAL,EADZ;AAAA,UAEEhD,KAFF,kBAEEA,KAFF;AAAA,UAGEmE,mBAHF,kBAGEA,mBAHF;AAAA,UAIEE,uBAJF,kBAIEA,uBAJF;AAMA,UAAQ/D,UAAR,GAAuB,KAAKc,KAA5B,CAAQd,UAAR;AACA,aAAO;AACLyC,QAAAA,OAAO,EAAPA,OADK;AAEL/C,QAAAA,KAAK,EAAEM,UAAU,CAACyB,MAAX,GAAoBzB,UAApB,GAAiCN,KAFnC;AAGLoE,QAAAA,QAAQ,EAAE,KAAKhB,YAHV;AAILe,QAAAA,mBAAmB,EAAnBA,mBAJK;AAKLE,QAAAA,uBAAuB,EAAvBA;AALK,OAAP;AAOD;;;WAED,kBAAS;AAAA;AAAA;;AACP,2BAA6B,KAAK5D,OAAlC;AAAA,UAAQ6D,QAAR,kBAAQA,QAAR;AAAA,UAAkBC,MAAlB,kBAAkBA,MAAlB;AACA,qBAAO,mBAAQA,MAAR,CAAP,eACE,gCAAcC,oBAAd,iDACE,gCAAC,QAAD,2BADF,CADF;AAKD;;;WA3SD,6BAA6C;AAAA,UAAvBxE,KAAuB,SAAvBA,KAAuB;AAAA,UAAhByE,YAAgB,SAAhBA,YAAgB;AAC3C,aAAO;AACL1F,QAAAA,IAAI,EAAJA,IADK;AAEL0E,QAAAA,MAAM,EAAE,IAFH;AAGL7D,QAAAA,sBAAsB,EACpBG,UAAU,CAACC,KAAD,CAAV,IAAqBD,UAAU,CAAC0E,YAAD,CAA/B,IAAiD7E,sBAJ9C;AAKL6E,QAAAA,YAAY,EAAE,EALT;AAMLC,QAAAA,kBAAkB,EAAE,EANf;AAOLC,QAAAA,cAAc,EAAE,KAPX;AAQLT,QAAAA,QAAQ,EAAE,EARL;AASLzB,QAAAA,IAAI,EAAE;AATD,OAAP;AAWD;;;EAf+BmC,e;;iCAA5BvE,mB,iBACiB,Y;iCADjBA,mB,WAEWwE,K;iCAFXxE,mB,aAgBa,CAAC,8BAAD,C;iCAhBbA,mB,SAkBS,UAACM,IAAD,EAAOmE,MAAP,EAAeC,IAAf,EAAwB;AACnC,SAAO,uBAAMpE,IAAN,EAAYyB,GAAZ,CAAgB0C,MAAhB,EAAwBC,IAAxB,EAA8BlE,MAA9B,EAAP;AACD,C;iCApBGR,mB,cAsBc,UAACM,IAAD,EAAOmE,MAAP,EAAeC,IAAf,EAAwB;AACxC,SAAO,uBAAMpE,IAAN,EAAYmB,QAAZ,CAAqBgD,MAArB,EAA6BC,IAA7B,EAAmClE,MAAnC,EAAP;AACD,C;eAyRYR,mB","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nfunction getEndDate(value) {\n if (!Array.isArray(value)) return null;\n const [startDate, endDate = startDate] = value;\n return endDate;\n}\n\nclass RangePickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod:\n getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,\n defaultValue: [],\n defaultHighlighted: [],\n defaultVisible: false,\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const { value, periods = this.getDefaultPeriods(), unclearable, getI18nText } = this.asProps;\n const { dirtyValue } = this.state;\n\n const buttons = (\n <>\n <Button\n use=\"primary\"\n children={getI18nText('apply')}\n onClick={() => this.handlerApply(dirtyValue.length ? dirtyValue : value)}\n />\n {!unclearable && (\n <Button\n ml={2}\n use=\"tertiary\"\n theme=\"muted\"\n children={getI18nText('reset')}\n onClick={() => this.handlerApply([])}\n />\n )}\n </>\n );\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Flex>\n <Box mr={2}>\n <Picker.Header>\n <Picker.Prev />\n <Picker.Title />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n <Box ml={2}>\n <Picker.Header>\n <Picker.Title />\n <Picker.Next />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n {Boolean(periods.length) && (\n <>\n <Divider m=\"-16px 16px\" orientation=\"vertical\" h=\"auto\" />\n <Flex direction=\"column\">\n <Picker.Period />\n <Flex mt=\"auto\">{buttons}</Flex>\n </Flex>\n </>\n )}\n </Flex>\n {!Boolean(periods.length) && <Flex mt={4}>{buttons}</Flex>}\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps(props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps(props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n highlighted,\n onHighlightedChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n highlighted,\n onHighlightedChange,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerChange,\n };\n }\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n value,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n const { dirtyValue } = this.state;\n return {\n periods,\n value: dirtyValue.length ? dirtyValue : value,\n onChange: this.handlerApply,\n onHighlightedChange,\n onDisplayedPeriodChange,\n };\n }\n\n render() {\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <Root render={Dropdown}>\n <Children />\n </Root>,\n );\n }\n}\n\nexport default RangePickerAbstract;\n"],"file":"RangePickerAbstract.js"}
|